diff --git a/custom_components/houseplan/frontend/houseplan-assets.json b/custom_components/houseplan/frontend/houseplan-assets.json index 5ef035b6..3db80533 100644 --- a/custom_components/houseplan/frontend/houseplan-assets.json +++ b/custom_components/houseplan/frontend/houseplan-assets.json @@ -1,114 +1,114 @@ { "schema": 1, - "fingerprint": "82d67fade42d86838ff98dbd4ec9c8d6f19dcc50bb4cfc5a31368dc008f58c3e", + "fingerprint": "34d1dbfc181acaf58842dfced0e6aa3a899aef6b8d1eeba53732ef729a63137e", "entry": "houseplan-card.js", "panelEntry": "houseplan-panel.js", "initialViewFiles": [ - "houseplan-assets/houseplan-card-CwdwKGP9.js", + "houseplan-assets/houseplan-card-BKJrmMEj.js", "houseplan-card.js" ], - "initialViewGzipBytes": 291156, + "initialViewGzipBytes": 291346, "initialPanelFiles": [ - "houseplan-assets/houseplan-card-CwdwKGP9.js", + "houseplan-assets/houseplan-card-BKJrmMEj.js", "houseplan-panel.js" ], - "initialPanelGzipBytes": 292678, + "initialPanelGzipBytes": 292868, "initialPanelOnlyFiles": [ "houseplan-panel.js" ], - "initialPanelOnlyGzipBytes": 2325, + "initialPanelOnlyGzipBytes": 2323, "lazyFiles": [ - "houseplan-assets/backdrop-pick-CfVEE1c3.js", - "houseplan-assets/de-BIKFm0nu.js", - "houseplan-assets/editor-Btih960P.js", - "houseplan-assets/fr-Dj-Pk_jJ.js", - "houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js", - "houseplan-assets/houseplan-editor-runtime-CSKyBQUJ.js", - "houseplan-assets/houseplan-onboarding-runtime-BVbVJSvL.js", - "houseplan-assets/hp-zigbee-topology-overlay-DryrwG8G.js", - "houseplan-assets/iso-scene-render-CALxqRmU.js", - "houseplan-assets/live-interaction-runtime-C_kbCgWS.js", - "houseplan-assets/pdf-export-BSpK2TsR.js", - "houseplan-assets/summary-panel-runtime-loaded-Crai8dhf.js", - "houseplan-assets/zigbee-topology-De4vOxpt.js", - "houseplan-assets/zigbee-topology-runtime-j85exgxX.js" + "houseplan-assets/backdrop-pick-eS5vEdSu.js", + "houseplan-assets/de-JnsB57l8.js", + "houseplan-assets/editor-CAGtS_SG.js", + "houseplan-assets/fr-BAV7hmLH.js", + "houseplan-assets/furniture-plan-art.generated-BfO1XOcD.js", + "houseplan-assets/houseplan-editor-runtime-BmdEXc9r.js", + "houseplan-assets/houseplan-onboarding-runtime-DE7rHApS.js", + "houseplan-assets/hp-zigbee-topology-overlay-Dn1oMTHf.js", + "houseplan-assets/iso-scene-render-CCE-TeKM.js", + "houseplan-assets/live-interaction-runtime-Ba7Bs1o7.js", + "houseplan-assets/pdf-export-BbdvUxVO.js", + "houseplan-assets/summary-panel-runtime-loaded-B6QGWMyY.js", + "houseplan-assets/zigbee-topology-CW_HKDoT.js", + "houseplan-assets/zigbee-topology-runtime-DU0yDsuI.js" ], - "lazyGzipBytes": 433641, + "lazyGzipBytes": 433790, "lazyEditorFiles": [ - "houseplan-assets/backdrop-pick-CfVEE1c3.js", - "houseplan-assets/editor-Btih960P.js", - "houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js", - "houseplan-assets/houseplan-editor-runtime-CSKyBQUJ.js", - "houseplan-assets/zigbee-topology-De4vOxpt.js" + "houseplan-assets/backdrop-pick-eS5vEdSu.js", + "houseplan-assets/editor-CAGtS_SG.js", + "houseplan-assets/furniture-plan-art.generated-BfO1XOcD.js", + "houseplan-assets/houseplan-editor-runtime-BmdEXc9r.js", + "houseplan-assets/zigbee-topology-CW_HKDoT.js" ], - "lazyEditorGzipBytes": 218068, + "lazyEditorGzipBytes": 218093, "lazyOnboardingFiles": [ - "houseplan-assets/backdrop-pick-CfVEE1c3.js", - "houseplan-assets/houseplan-onboarding-runtime-BVbVJSvL.js" + "houseplan-assets/backdrop-pick-eS5vEdSu.js", + "houseplan-assets/houseplan-onboarding-runtime-DE7rHApS.js" ], - "lazyOnboardingGzipBytes": 13918, + "lazyOnboardingGzipBytes": 13912, "lazyLocaleFiles": [ - "houseplan-assets/de-BIKFm0nu.js", - "houseplan-assets/fr-Dj-Pk_jJ.js" + "houseplan-assets/de-JnsB57l8.js", + "houseplan-assets/fr-BAV7hmLH.js" ], - "lazyLocaleGzipBytes": 54913, + "lazyLocaleGzipBytes": 55046, "lazyIsometricFiles": [ - "houseplan-assets/iso-scene-render-CALxqRmU.js" + "houseplan-assets/iso-scene-render-CCE-TeKM.js" ], - "lazyIsometricGzipBytes": 15015, + "lazyIsometricGzipBytes": 15011, "lazyFurnitureArtFiles": [ - "houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js" + "houseplan-assets/furniture-plan-art.generated-BfO1XOcD.js" ], "lazyFurnitureArtGzipBytes": 23353, "lazyPdfFiles": [ - "houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js", - "houseplan-assets/pdf-export-BSpK2TsR.js" + "houseplan-assets/furniture-plan-art.generated-BfO1XOcD.js", + "houseplan-assets/pdf-export-BbdvUxVO.js" ], - "lazyPdfGzipBytes": 133225, + "lazyPdfGzipBytes": 133223, "files": [ { - "path": "houseplan-assets/backdrop-pick-CfVEE1c3.js", - "sha256": "aa81af28bf4f25fe2b3765b741a6b6981c6c8e5b8acf20eb2692961ca9e4c0d9", + "path": "houseplan-assets/backdrop-pick-eS5vEdSu.js", + "sha256": "7c243ec99dc24ad4ef2151c37bc44635af0f6c06bbd8268b1641ab7db50b1228", "rawBytes": 19956, - "gzipBytes": 6883, + "gzipBytes": 6880, "isEntry": false, "imports": [ - "houseplan-assets/houseplan-card-CwdwKGP9.js" + "houseplan-assets/houseplan-card-BKJrmMEj.js" ], "dynamicImports": [] }, { - "path": "houseplan-assets/de-BIKFm0nu.js", - "sha256": "0ae2f5d0afbf485c035cbde94094ce6d99d7fdd9870437af1d90c39fff776170", - "rawBytes": 91590, - "gzipBytes": 27739, + "path": "houseplan-assets/de-JnsB57l8.js", + "sha256": "91f902f727bec6af4a0b8fac380f904eb9f5094f721c0fb402035e395da463da", + "rawBytes": 91971, + "gzipBytes": 27815, "isEntry": false, "imports": [], "dynamicImports": [] }, { - "path": "houseplan-assets/editor-Btih960P.js", - "sha256": "692281371a9603f7647c653c320edaafa9f1f446c6eacff7495dfad8dd36bf51", + "path": "houseplan-assets/editor-CAGtS_SG.js", + "sha256": "4166246b90475646d572f6d3626f60508c03c6b5db6fd0a89a204634f6129491", "rawBytes": 3831, "gzipBytes": 1582, "isEntry": false, "imports": [ - "houseplan-assets/houseplan-card-CwdwKGP9.js" + "houseplan-assets/houseplan-card-BKJrmMEj.js" ], "dynamicImports": [] }, { - "path": "houseplan-assets/fr-Dj-Pk_jJ.js", - "sha256": "3bdaf2b6bb4eb18b7b6afaf65a238e7c31c6ffba540b11a7d13f89a272a282e5", - "rawBytes": 93884, - "gzipBytes": 27174, + "path": "houseplan-assets/fr-BAV7hmLH.js", + "sha256": "2360732a1b796fd6f888de25d792f30bfc963d57b28f49cb03b0734647f0e1b9", + "rawBytes": 94305, + "gzipBytes": 27231, "isEntry": false, "imports": [], "dynamicImports": [] }, { - "path": "houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js", - "sha256": "a0e124957c5d81e089bbdacf7619965157b1c28860a5cf6bedc1918d43982825", + "path": "houseplan-assets/furniture-plan-art.generated-BfO1XOcD.js", + "sha256": "c61b80a3df3afdaa1a1afc1f5329bfec6c34ce964a2d0bc50dd631a1633d6a23", "rawBytes": 90517, "gzipBytes": 23353, "isEntry": false, @@ -116,180 +116,180 @@ "dynamicImports": [] }, { - "path": "houseplan-assets/houseplan-card-CwdwKGP9.js", - "sha256": "c5ad243829110642e76f2b9caeff58e354d9bdd2484d6ba3aeda0a66354fb4b7", - "rawBytes": 1034131, - "gzipBytes": 290353, + "path": "houseplan-assets/houseplan-card-BKJrmMEj.js", + "sha256": "cb5f49f3de3f06b8c88b247f4aa601124f78a48369a7836e229bbc851df458ae", + "rawBytes": 1035084, + "gzipBytes": 290545, "isEntry": false, "imports": [], "dynamicImports": [ - "houseplan-assets/de-BIKFm0nu.js", - "houseplan-assets/editor-Btih960P.js", - "houseplan-assets/fr-Dj-Pk_jJ.js", - "houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js", - "houseplan-assets/houseplan-editor-runtime-CSKyBQUJ.js", - "houseplan-assets/houseplan-onboarding-runtime-BVbVJSvL.js", - "houseplan-assets/hp-zigbee-topology-overlay-DryrwG8G.js", - "houseplan-assets/iso-scene-render-CALxqRmU.js", - "houseplan-assets/live-interaction-runtime-C_kbCgWS.js", - "houseplan-assets/pdf-export-BSpK2TsR.js", - "houseplan-assets/summary-panel-runtime-loaded-Crai8dhf.js" + "houseplan-assets/de-JnsB57l8.js", + "houseplan-assets/editor-CAGtS_SG.js", + "houseplan-assets/fr-BAV7hmLH.js", + "houseplan-assets/furniture-plan-art.generated-BfO1XOcD.js", + "houseplan-assets/houseplan-editor-runtime-BmdEXc9r.js", + "houseplan-assets/houseplan-onboarding-runtime-DE7rHApS.js", + "houseplan-assets/hp-zigbee-topology-overlay-Dn1oMTHf.js", + "houseplan-assets/iso-scene-render-CCE-TeKM.js", + "houseplan-assets/live-interaction-runtime-Ba7Bs1o7.js", + "houseplan-assets/pdf-export-BbdvUxVO.js", + "houseplan-assets/summary-panel-runtime-loaded-B6QGWMyY.js" ] }, { - "path": "houseplan-assets/houseplan-editor-runtime-CSKyBQUJ.js", - "sha256": "393529f4d7b2bda81deb3cb478e6c8d7e5a940316e71ed8acd32e58ab13328d3", - "rawBytes": 670161, - "gzipBytes": 178821, + "path": "houseplan-assets/houseplan-editor-runtime-BmdEXc9r.js", + "sha256": "dd6b9eb38ff60c997cd860c27d377c7a1880f10116832188fc6d9b6912ac2056", + "rawBytes": 670235, + "gzipBytes": 178853, "isEntry": false, "imports": [ - "houseplan-assets/backdrop-pick-CfVEE1c3.js", - "houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js", - "houseplan-assets/houseplan-card-CwdwKGP9.js", - "houseplan-assets/zigbee-topology-De4vOxpt.js" + "houseplan-assets/backdrop-pick-eS5vEdSu.js", + "houseplan-assets/furniture-plan-art.generated-BfO1XOcD.js", + "houseplan-assets/houseplan-card-BKJrmMEj.js", + "houseplan-assets/zigbee-topology-CW_HKDoT.js" ], "dynamicImports": [ - "houseplan-assets/zigbee-topology-runtime-j85exgxX.js" + "houseplan-assets/zigbee-topology-runtime-DU0yDsuI.js" ] }, { - "path": "houseplan-assets/houseplan-onboarding-runtime-BVbVJSvL.js", - "sha256": "b301cf1f4a91250ca6163fb05c5421d1613dc65557ec6510d61ccc85ab258cc4", + "path": "houseplan-assets/houseplan-onboarding-runtime-DE7rHApS.js", + "sha256": "40c1aa5283e0ddaad87a412ce7ada42c2a7ef2b72d0b69611fa17ac8c1cfca84", "rawBytes": 28287, - "gzipBytes": 7035, + "gzipBytes": 7032, "isEntry": false, "imports": [ - "houseplan-assets/backdrop-pick-CfVEE1c3.js", - "houseplan-assets/houseplan-card-CwdwKGP9.js" + "houseplan-assets/backdrop-pick-eS5vEdSu.js", + "houseplan-assets/houseplan-card-BKJrmMEj.js" ], "dynamicImports": [] }, { - "path": "houseplan-assets/hp-zigbee-topology-overlay-DryrwG8G.js", - "sha256": "b9891e1d96dec35723cbf35955a5e75fa19292fd8398097aa46020595899e6e1", + "path": "houseplan-assets/hp-zigbee-topology-overlay-Dn1oMTHf.js", + "sha256": "19cec6f0e9a185acbfaacc56cff85cfe52974b8d152e59009d22aab0096b9bab", "rawBytes": 10756, "gzipBytes": 3683, "isEntry": false, "imports": [ - "houseplan-assets/houseplan-card-CwdwKGP9.js", - "houseplan-assets/zigbee-topology-De4vOxpt.js", - "houseplan-assets/zigbee-topology-runtime-j85exgxX.js" + "houseplan-assets/houseplan-card-BKJrmMEj.js", + "houseplan-assets/zigbee-topology-CW_HKDoT.js", + "houseplan-assets/zigbee-topology-runtime-DU0yDsuI.js" ], "dynamicImports": [] }, { - "path": "houseplan-assets/iso-scene-render-CALxqRmU.js", - "sha256": "f4f66222fd36572fc34c694474daf248c040c5fb635160301bb4dd39ceaec446", + "path": "houseplan-assets/iso-scene-render-CCE-TeKM.js", + "sha256": "d3ffcf53f84db6a8c510a5001af1b2b53aa9b18781c09c56ebf4bd25d6db442c", "rawBytes": 44439, - "gzipBytes": 15015, + "gzipBytes": 15011, "isEntry": false, "imports": [ - "houseplan-assets/houseplan-card-CwdwKGP9.js" + "houseplan-assets/houseplan-card-BKJrmMEj.js" ], "dynamicImports": [] }, { - "path": "houseplan-assets/live-interaction-runtime-C_kbCgWS.js", - "sha256": "7a6aacdb402472213bd6997f0bbb3fdbde4e25f8c9f0881e2bb0907fa2cd8108", + "path": "houseplan-assets/live-interaction-runtime-Ba7Bs1o7.js", + "sha256": "ec5125376ea07c2226e195f680bb96282fc0663254ab1f8b8cf192872243e4e5", "rawBytes": 8216, - "gzipBytes": 3205, + "gzipBytes": 3208, "isEntry": false, "imports": [ - "houseplan-assets/houseplan-card-CwdwKGP9.js" + "houseplan-assets/houseplan-card-BKJrmMEj.js" ], "dynamicImports": [] }, { - "path": "houseplan-assets/pdf-export-BSpK2TsR.js", - "sha256": "7e4b945d5a45e438dd7ef484651f182c09f6d3e40a3db72c52bd853bd8ba445e", + "path": "houseplan-assets/pdf-export-BbdvUxVO.js", + "sha256": "c72e1b5276c2b14a7af50aa5a61e9f10ddeb42b63e9e6e8b16883193edb7e43c", "rawBytes": 236244, - "gzipBytes": 109872, + "gzipBytes": 109870, "isEntry": false, "imports": [ - "houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js", - "houseplan-assets/houseplan-card-CwdwKGP9.js" + "houseplan-assets/furniture-plan-art.generated-BfO1XOcD.js", + "houseplan-assets/houseplan-card-BKJrmMEj.js" ], "dynamicImports": [] }, { - "path": "houseplan-assets/summary-panel-editor-QJQxYKiA.js", - "sha256": "97cecc2b4589331ca3b691705fcc637beff63fb02b152af66987803546a2d2d6", + "path": "houseplan-assets/summary-panel-editor-AdqXisOL.js", + "sha256": "b2b06fd3d05fb9f0e0b968b2db06382a70138d2cc15eab633683ced152087581", "rawBytes": 14824, - "gzipBytes": 3395, + "gzipBytes": 3400, "isEntry": false, "imports": [ - "houseplan-assets/houseplan-card-CwdwKGP9.js", - "houseplan-assets/summary-panel-runtime-loaded-Crai8dhf.js" + "houseplan-assets/houseplan-card-BKJrmMEj.js", + "houseplan-assets/summary-panel-runtime-loaded-B6QGWMyY.js" ], "dynamicImports": [] }, { - "path": "houseplan-assets/summary-panel-metrics-CuoIyiO4.js", - "sha256": "ed3919d2ce63a029335b4a079821139cd365a860c0fb8e09c05eb9cc0e344b16", + "path": "houseplan-assets/summary-panel-metrics-Opp08Jxc.js", + "sha256": "85a3a361187bee8843f3cb0831e361d381ed15846120c5680d5bda85e6858137", "rawBytes": 2610, - "gzipBytes": 1304, + "gzipBytes": 1305, "isEntry": false, "imports": [ - "houseplan-assets/houseplan-card-CwdwKGP9.js" + "houseplan-assets/houseplan-card-BKJrmMEj.js" ], "dynamicImports": [] }, { - "path": "houseplan-assets/summary-panel-runtime-loaded-Crai8dhf.js", - "sha256": "e5a6a1430e12b6f2f533d446a7fc33a0f5b2d78d7760f3fa06c5543cf12f2f7c", + "path": "houseplan-assets/summary-panel-runtime-loaded-B6QGWMyY.js", + "sha256": "3e8a8b3c6632befadb081043fc6afa6685effc4672d05a3747029642f60c6052", "rawBytes": 73366, - "gzipBytes": 20089, + "gzipBytes": 20085, "isEntry": false, "imports": [ - "houseplan-assets/houseplan-card-CwdwKGP9.js" + "houseplan-assets/houseplan-card-BKJrmMEj.js" ], "dynamicImports": [ - "houseplan-assets/summary-panel-editor-QJQxYKiA.js", - "houseplan-assets/summary-panel-metrics-CuoIyiO4.js" + "houseplan-assets/summary-panel-editor-AdqXisOL.js", + "houseplan-assets/summary-panel-metrics-Opp08Jxc.js" ] }, { - "path": "houseplan-assets/zigbee-topology-De4vOxpt.js", - "sha256": "cb567b3217e3e45bf943aea822e0b97310a60b96c48f3bedb9816c5a07d6a82a", + "path": "houseplan-assets/zigbee-topology-CW_HKDoT.js", + "sha256": "0bd4758722344d63391a9f4c45e591a260fc6acf1ab4e8511479edef2c08fce1", "rawBytes": 18961, - "gzipBytes": 7429, + "gzipBytes": 7425, "isEntry": false, "imports": [ - "houseplan-assets/houseplan-card-CwdwKGP9.js" + "houseplan-assets/houseplan-card-BKJrmMEj.js" ], "dynamicImports": [] }, { - "path": "houseplan-assets/zigbee-topology-runtime-j85exgxX.js", - "sha256": "2874c621bd38d7f01054228604b6fded2f6047af80aa01b01efee95378592452", + "path": "houseplan-assets/zigbee-topology-runtime-DU0yDsuI.js", + "sha256": "c1eadf604fa8e2f3129c48da7a37727e8c0a0408c81182403cbcb3aed518f58a", "rawBytes": 3941, - "gzipBytes": 1761, + "gzipBytes": 1762, "isEntry": false, "imports": [ - "houseplan-assets/houseplan-card-CwdwKGP9.js", - "houseplan-assets/zigbee-topology-De4vOxpt.js" + "houseplan-assets/houseplan-card-BKJrmMEj.js", + "houseplan-assets/zigbee-topology-CW_HKDoT.js" ], "dynamicImports": [] }, { "path": "houseplan-card.js", - "sha256": "3b101e0a9f209b044bc177318f28432cb95b9b85fb4f0803772cf018b8f90996", + "sha256": "8f5fbf9f62363032c898284d72e25336c59aaf2c9de126d22e3ce6d43c293103", "rawBytes": 1205, - "gzipBytes": 803, + "gzipBytes": 801, "isEntry": true, "imports": [ - "houseplan-assets/houseplan-card-CwdwKGP9.js" + "houseplan-assets/houseplan-card-BKJrmMEj.js" ], "dynamicImports": [] }, { "path": "houseplan-panel.js", - "sha256": "22cc3ae9e23a17c016bc57a60f9cc0ab3bd23a2f84286775357ce10285737d86", + "sha256": "a07ab338c2158001a3b8087118b6ee72dfc91ce60cde2b95e56eea2fefff1a6a", "rawBytes": 6165, - "gzipBytes": 2325, + "gzipBytes": 2323, "isEntry": true, "imports": [ - "houseplan-assets/houseplan-card-CwdwKGP9.js" + "houseplan-assets/houseplan-card-BKJrmMEj.js" ], "dynamicImports": [] } diff --git a/custom_components/houseplan/frontend/houseplan-assets/backdrop-pick-CfVEE1c3.js b/custom_components/houseplan/frontend/houseplan-assets/backdrop-pick-eS5vEdSu.js similarity index 99% rename from custom_components/houseplan/frontend/houseplan-assets/backdrop-pick-CfVEE1c3.js rename to custom_components/houseplan/frontend/houseplan-assets/backdrop-pick-eS5vEdSu.js index c4b8111b..3f1db6b0 100644 --- a/custom_components/houseplan/frontend/houseplan-assets/backdrop-pick-CfVEE1c3.js +++ b/custom_components/houseplan/frontend/houseplan-assets/backdrop-pick-eS5vEdSu.js @@ -1,4 +1,4 @@ -globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="82d67fade42d86838ff98dbd4ec9c8d6f19dcc50bb4cfc5a31368dc008f58c3e";import{D as e,c as t,A as i,p as o,q as n,dE as r}from"./houseplan-card-CwdwKGP9.js";function s(e){const t=e.visualViewport;return t&&Number.isFinite(t.width)&&Number.isFinite(t.height)?{left:Number(t.offsetLeft)||0,top:Number(t.offsetTop)||0,width:Math.max(0,Number(t.width)||0),height:Math.max(0,Number(t.height)||0)}:{left:0,top:0,width:e.innerWidth,height:e.innerHeight}}function a(e,t,i,o=7,n=8){const r=i.left+n,s=i.top+n,a=Math.max(r,i.left+i.width-n),l=Math.max(s,i.top+i.height-n),h=Math.max(0,a-r),d=Math.max(0,l-s),c=Math.min(Math.max(0,t.width),h),u=Math.min(Math.max(0,t.height),d);let p=e.left;p+c>a&&(p=e.right-c),p=Math.min(Math.max(r,p),Math.max(r,a-c));const g=e.bottom+o,_=e.top-o-u;let m="bottom",f=g;return g+u>l&&_>=s?(m="top",f=Math.min(Math.max(s,_),Math.max(s,l-u))):f=Math.min(Math.max(s,g),Math.max(s,l-u)),{left:Math.round(p),top:Math.round(f),side:m,maxWidth:Math.round(h),maxHeight:Math.round(d)}}class l{constructor(e,t,i){this.owner=e,this.name=t,this.keydown=i,this.host=null,this.root=null}window(){return this.owner.ownerDocument.defaultView}dialog(){return this.owner.closest("hp-dialog")}usesPopover(e=!1){const t=this.window();return!e&&!!t&&function(e){const t=e.HTMLElement?.prototype;return"function"==typeof t?.showPopover&&"function"==typeof t?.hidePopover}(t)}get hasFallback(){return!!this.host}containsPath(e){return e.includes(this.owner)||!!this.host&&e.includes(this.host)}ownsActiveElement(){let e=this.owner.ownerDocument.activeElement;for(;e?.shadowRoot?.activeElement;)e=e.shadowRoot.activeElement;return!(!e||e!==this.owner&&!this.owner.shadowRoot?.contains(e)&&!this.root?.contains(e))}renderFallback(i,o){const n=this.ensureFallback();return n?(e(t`${i}`,n),n):null}surface(e,t){return t?this.owner.shadowRoot?.querySelector(e)||null:this.root?.querySelector(e)||null}destroy(){this.root&&e(i,this.root),this.host?.remove(),this.host=null,this.root=null}ensureFallback(){if(this.root?.isConnected)return this.root;const e=this.dialog()?.overlayPortal()||this.owner.ownerDocument.body;if(!e)return null;const t=this.owner.ownerDocument.createElement("div");return t.dataset.hpOverlay=this.name,t.style.display="contents",this.keydown&&t.addEventListener("keydown",this.keydown,!0),e.append(t),this.host=t,this.root=t.attachShadow({mode:"open"}),this.root}}let h=0;class d extends n{constructor(){super(...arguments),this.text="",this.ariaLabel="",this.pointerHover=!1,this._open=!1,this._openTimer=0,this._closeTimer=0,this._positionRaf=0,this._forceFallback=!1,this._hoverOwned=!1,this._overlayDispose=null,this._scrollDialog=null,this._descriptionId="hp-help-description-"+ ++h,this._surfacePointerEnter=()=>{const e=this._window();this._closeTimer&&e?.clearTimeout(this._closeTimer),this._closeTimer=0},this._surfacePointerLeave=()=>{this._scheduleClose()},this._outsidePointerDown=e=>{if(!this._open)return;const t=e.composedPath();this._floating.containsPath(t)||this._closeHelp(!1,"outside")},this._dialogScroll=e=>{const t=this._floating.containsPath(e.composedPath()),i=e.target,o=this._dialog(),n=i instanceof Node&&(i===o||i instanceof Element&&i.contains(this));var r;this._open&&(r=n,!t&&r)&&this._closeHelp(!1,"scroll")},this._keyDown=e=>{if(!this._open||e.defaultPrevented)return;if("Escape"===e.key)return e.preventDefault(),e.stopImmediatePropagation(),void this._closeHelp(this._floating.ownsActiveElement(),"escape");const t=this.renderRoot.querySelector(".trigger");if(!t||!e.composedPath().includes(t))return;const i=this._surface();if(!i||i.scrollHeight<=i.clientHeight)return;const o=Math.max(40,.8*i.clientHeight),n={ArrowDown:40,ArrowUp:-40,PageDown:o,PageUp:-o};if("Home"===e.key)i.scrollTop=0;else if("End"===e.key)i.scrollTop=i.scrollHeight;else{if(!(e.key in n))return;i.scrollBy({top:n[e.key],behavior:"auto"})}e.preventDefault(),e.stopImmediatePropagation()},this._floating=new l(this,"help",this._keyDown),this._queuePosition=()=>{if(!this._open||this._positionRaf)return;const e=this._window();e&&(this._positionRaf=e.requestAnimationFrame(()=>{this._positionRaf=0,this._position()||this._closeHelp()}))}}connectedCallback(){super.connectedCallback(),this.addEventListener("keydown",this._keyDown,!0)}willUpdate(){this.toggleAttribute("data-has-content",this._hasContent())}disconnectedCallback(){const e=this.ownerDocument.defaultView;this._unsubscribeOpenListeners(),this.removeEventListener("keydown",this._keyDown,!0),this._clearTimers(),this._positionRaf&&e?.cancelAnimationFrame(this._positionRaf),this._positionRaf=0,this._closeHelp(!1,"disconnect"),super.disconnectedCallback()}updated(e){if(e.has("pointerHover")&&!this.pointerHover){const e=this._window();this._openTimer&&e?.clearTimeout(this._openTimer),this._openTimer=0,this._hoverOwned&&this._closeHelp(!1,"outside")}this._hasContent()||!this._open?this._open&&e.has("text")&&(this._usesPopover()||this._renderFallback(),this._queuePosition()):this._closeHelp()}_window(){return this._floating.window()}_dialog(){return this._floating.dialog()}_usesPopover(){return this._floating.usesPopover(this._forceFallback)}_hasContent(){return e=this.text,t=this.ariaLabel,"string"==typeof e&&e.trim().length>0&&"string"==typeof t&&t.trim().length>0;var e,t}_clearTimers(){const e=this._window();this._openTimer&&e?.clearTimeout(this._openTimer),this._closeTimer&&e?.clearTimeout(this._closeTimer),this._openTimer=0,this._closeTimer=0}_scheduleOpen(){const e=this._window();this.pointerHover&&e&&!this._open&&!this._openTimer&&(this._closeTimer&&e.clearTimeout(this._closeTimer),this._closeTimer=0,this._openTimer=e.setTimeout(()=>{this._openTimer=0,this.isConnected&&(this._hoverOwned=!0,this._openHelp())},300))}_scheduleClose(){const e=this._window(),t=this.renderRoot.querySelector(".trigger");e&&!t?.matches(":focus-visible")&&(this._openTimer&&e.clearTimeout(this._openTimer),this._closeTimer&&e.clearTimeout(this._closeTimer),this._openTimer=0,this._closeTimer=e.setTimeout(()=>{this._closeTimer=0,this.isConnected&&this._closeHelp()},150))}_triggerPointerEnter(e){this.pointerHover&&"mouse"===e.pointerType&&this._scheduleOpen()}_triggerPointerLeave(e){"mouse"===e.pointerType&&this._scheduleClose()}_triggerFocus(){queueMicrotask(()=>{const e=this.renderRoot.querySelector(".trigger");e?.matches(":focus-visible")&&(this._hoverOwned=!1,this._openHelp())})}_triggerBlur(){this._scheduleClose()}_triggerClick(){this._open?this._closeHelp():(this._hoverOwned=!1,this._openHelp())}_subscribeOpenListeners(){this.ownerDocument.addEventListener("pointerdown",this._outsidePointerDown,!0),this.ownerDocument.addEventListener("keydown",this._keyDown,!0);const e=this._window();e?.addEventListener("resize",this._queuePosition),e?.addEventListener("orientationchange",this._queuePosition),e?.visualViewport?.addEventListener("resize",this._queuePosition),e?.visualViewport?.addEventListener("scroll",this._queuePosition),this._scrollDialog=this._dialog(),this._scrollDialog?.addEventListener("scroll",this._dialogScroll,!0)}_unsubscribeOpenListeners(){this.ownerDocument.removeEventListener("pointerdown",this._outsidePointerDown,!0),this.ownerDocument.removeEventListener("keydown",this._keyDown,!0);const e=this._window();e?.removeEventListener("resize",this._queuePosition),e?.removeEventListener("orientationchange",this._queuePosition),e?.visualViewport?.removeEventListener("resize",this._queuePosition),e?.visualViewport?.removeEventListener("scroll",this._queuePosition),this._scrollDialog?.removeEventListener("scroll",this._dialogScroll,!0),this._scrollDialog=null}async _openHelp(){!this._open&&this._hasContent()&&(this._clearTimers(),this._forceFallback=!1,this._open=!0,this._subscribeOpenListeners(),await this.updateComplete,this._open&&(this._usesPopover()||this._renderFallback(),this._position()?this._overlayDispose=this._dialog()?.registerOverlay({owner:this,group:"transient",close:e=>this._closeHelp("escape"===e&&this._floating.ownsActiveElement(),e)})||null:this._closeHelp()))}_closeHelp(e=!1,t="exclusive"){if(!this._open&&!this._floating.hasFallback)return;this._clearTimers();const i=this._overlayDispose;this._overlayDispose=null,i?.();const o=this.renderRoot.querySelector(".tooltip");if(o?.hidePopover)try{o.matches(":popover-open")&&o.hidePopover()}catch{}this._open=!1,this._hoverOwned=!1,this._unsubscribeOpenListeners(),this._floating.destroy(),e&&this.updateComplete.then(()=>this.renderRoot.querySelector(".trigger")?.focus())}_tooltipTemplate(e){return t`
a&&(p=e.right-c),p=Math.min(Math.max(r,p),Math.max(r,a-c));const g=e.bottom+o,_=e.top-o-u;let m="bottom",f=g;return g+u>l&&_>=s?(m="top",f=Math.min(Math.max(s,_),Math.max(s,l-u))):f=Math.min(Math.max(s,g),Math.max(s,l-u)),{left:Math.round(p),top:Math.round(f),side:m,maxWidth:Math.round(h),maxHeight:Math.round(d)}}class l{constructor(e,t,i){this.owner=e,this.name=t,this.keydown=i,this.host=null,this.root=null}window(){return this.owner.ownerDocument.defaultView}dialog(){return this.owner.closest("hp-dialog")}usesPopover(e=!1){const t=this.window();return!e&&!!t&&function(e){const t=e.HTMLElement?.prototype;return"function"==typeof t?.showPopover&&"function"==typeof t?.hidePopover}(t)}get hasFallback(){return!!this.host}containsPath(e){return e.includes(this.owner)||!!this.host&&e.includes(this.host)}ownsActiveElement(){let e=this.owner.ownerDocument.activeElement;for(;e?.shadowRoot?.activeElement;)e=e.shadowRoot.activeElement;return!(!e||e!==this.owner&&!this.owner.shadowRoot?.contains(e)&&!this.root?.contains(e))}renderFallback(i,o){const n=this.ensureFallback();return n?(e(t`${i}`,n),n):null}surface(e,t){return t?this.owner.shadowRoot?.querySelector(e)||null:this.root?.querySelector(e)||null}destroy(){this.root&&e(i,this.root),this.host?.remove(),this.host=null,this.root=null}ensureFallback(){if(this.root?.isConnected)return this.root;const e=this.dialog()?.overlayPortal()||this.owner.ownerDocument.body;if(!e)return null;const t=this.owner.ownerDocument.createElement("div");return t.dataset.hpOverlay=this.name,t.style.display="contents",this.keydown&&t.addEventListener("keydown",this.keydown,!0),e.append(t),this.host=t,this.root=t.attachShadow({mode:"open"}),this.root}}let h=0;class d extends n{constructor(){super(...arguments),this.text="",this.ariaLabel="",this.pointerHover=!1,this._open=!1,this._openTimer=0,this._closeTimer=0,this._positionRaf=0,this._forceFallback=!1,this._hoverOwned=!1,this._overlayDispose=null,this._scrollDialog=null,this._descriptionId="hp-help-description-"+ ++h,this._surfacePointerEnter=()=>{const e=this._window();this._closeTimer&&e?.clearTimeout(this._closeTimer),this._closeTimer=0},this._surfacePointerLeave=()=>{this._scheduleClose()},this._outsidePointerDown=e=>{if(!this._open)return;const t=e.composedPath();this._floating.containsPath(t)||this._closeHelp(!1,"outside")},this._dialogScroll=e=>{const t=this._floating.containsPath(e.composedPath()),i=e.target,o=this._dialog(),n=i instanceof Node&&(i===o||i instanceof Element&&i.contains(this));var r;this._open&&(r=n,!t&&r)&&this._closeHelp(!1,"scroll")},this._keyDown=e=>{if(!this._open||e.defaultPrevented)return;if("Escape"===e.key)return e.preventDefault(),e.stopImmediatePropagation(),void this._closeHelp(this._floating.ownsActiveElement(),"escape");const t=this.renderRoot.querySelector(".trigger");if(!t||!e.composedPath().includes(t))return;const i=this._surface();if(!i||i.scrollHeight<=i.clientHeight)return;const o=Math.max(40,.8*i.clientHeight),n={ArrowDown:40,ArrowUp:-40,PageDown:o,PageUp:-o};if("Home"===e.key)i.scrollTop=0;else if("End"===e.key)i.scrollTop=i.scrollHeight;else{if(!(e.key in n))return;i.scrollBy({top:n[e.key],behavior:"auto"})}e.preventDefault(),e.stopImmediatePropagation()},this._floating=new l(this,"help",this._keyDown),this._queuePosition=()=>{if(!this._open||this._positionRaf)return;const e=this._window();e&&(this._positionRaf=e.requestAnimationFrame(()=>{this._positionRaf=0,this._position()||this._closeHelp()}))}}connectedCallback(){super.connectedCallback(),this.addEventListener("keydown",this._keyDown,!0)}willUpdate(){this.toggleAttribute("data-has-content",this._hasContent())}disconnectedCallback(){const e=this.ownerDocument.defaultView;this._unsubscribeOpenListeners(),this.removeEventListener("keydown",this._keyDown,!0),this._clearTimers(),this._positionRaf&&e?.cancelAnimationFrame(this._positionRaf),this._positionRaf=0,this._closeHelp(!1,"disconnect"),super.disconnectedCallback()}updated(e){if(e.has("pointerHover")&&!this.pointerHover){const e=this._window();this._openTimer&&e?.clearTimeout(this._openTimer),this._openTimer=0,this._hoverOwned&&this._closeHelp(!1,"outside")}this._hasContent()||!this._open?this._open&&e.has("text")&&(this._usesPopover()||this._renderFallback(),this._queuePosition()):this._closeHelp()}_window(){return this._floating.window()}_dialog(){return this._floating.dialog()}_usesPopover(){return this._floating.usesPopover(this._forceFallback)}_hasContent(){return e=this.text,t=this.ariaLabel,"string"==typeof e&&e.trim().length>0&&"string"==typeof t&&t.trim().length>0;var e,t}_clearTimers(){const e=this._window();this._openTimer&&e?.clearTimeout(this._openTimer),this._closeTimer&&e?.clearTimeout(this._closeTimer),this._openTimer=0,this._closeTimer=0}_scheduleOpen(){const e=this._window();this.pointerHover&&e&&!this._open&&!this._openTimer&&(this._closeTimer&&e.clearTimeout(this._closeTimer),this._closeTimer=0,this._openTimer=e.setTimeout(()=>{this._openTimer=0,this.isConnected&&(this._hoverOwned=!0,this._openHelp())},300))}_scheduleClose(){const e=this._window(),t=this.renderRoot.querySelector(".trigger");e&&!t?.matches(":focus-visible")&&(this._openTimer&&e.clearTimeout(this._openTimer),this._closeTimer&&e.clearTimeout(this._closeTimer),this._openTimer=0,this._closeTimer=e.setTimeout(()=>{this._closeTimer=0,this.isConnected&&this._closeHelp()},150))}_triggerPointerEnter(e){this.pointerHover&&"mouse"===e.pointerType&&this._scheduleOpen()}_triggerPointerLeave(e){"mouse"===e.pointerType&&this._scheduleClose()}_triggerFocus(){queueMicrotask(()=>{const e=this.renderRoot.querySelector(".trigger");e?.matches(":focus-visible")&&(this._hoverOwned=!1,this._openHelp())})}_triggerBlur(){this._scheduleClose()}_triggerClick(){this._open?this._closeHelp():(this._hoverOwned=!1,this._openHelp())}_subscribeOpenListeners(){this.ownerDocument.addEventListener("pointerdown",this._outsidePointerDown,!0),this.ownerDocument.addEventListener("keydown",this._keyDown,!0);const e=this._window();e?.addEventListener("resize",this._queuePosition),e?.addEventListener("orientationchange",this._queuePosition),e?.visualViewport?.addEventListener("resize",this._queuePosition),e?.visualViewport?.addEventListener("scroll",this._queuePosition),this._scrollDialog=this._dialog(),this._scrollDialog?.addEventListener("scroll",this._dialogScroll,!0)}_unsubscribeOpenListeners(){this.ownerDocument.removeEventListener("pointerdown",this._outsidePointerDown,!0),this.ownerDocument.removeEventListener("keydown",this._keyDown,!0);const e=this._window();e?.removeEventListener("resize",this._queuePosition),e?.removeEventListener("orientationchange",this._queuePosition),e?.visualViewport?.removeEventListener("resize",this._queuePosition),e?.visualViewport?.removeEventListener("scroll",this._queuePosition),this._scrollDialog?.removeEventListener("scroll",this._dialogScroll,!0),this._scrollDialog=null}async _openHelp(){!this._open&&this._hasContent()&&(this._clearTimers(),this._forceFallback=!1,this._open=!0,this._subscribeOpenListeners(),await this.updateComplete,this._open&&(this._usesPopover()||this._renderFallback(),this._position()?this._overlayDispose=this._dialog()?.registerOverlay({owner:this,group:"transient",close:e=>this._closeHelp("escape"===e&&this._floating.ownsActiveElement(),e)})||null:this._closeHelp()))}_closeHelp(e=!1,t="exclusive"){if(!this._open&&!this._floating.hasFallback)return;this._clearTimers();const i=this._overlayDispose;this._overlayDispose=null,i?.();const o=this.renderRoot.querySelector(".tooltip");if(o?.hidePopover)try{o.matches(":popover-open")&&o.hidePopover()}catch{}this._open=!1,this._hoverOwned=!1,this._unsubscribeOpenListeners(),this._floating.destroy(),e&&this.updateComplete.then(()=>this.renderRoot.querySelector(".trigger")?.focus())}_tooltipTemplate(e){return t``}_renderFallback(){const e=d.styles.cssText;this._floating.renderFallback(this._tooltipTemplate(!1),e)}_surface(){return this._floating.surface(".tooltip",this._usesPopover())}_position(){if(!this._open)return!1;const e=this._window(),t=this.renderRoot.querySelector(".trigger");let i=this._surface();if(!e||!t?.isConnected||!i?.isConnected)return!1;const o=s(e);if(i.style.maxWidth=`${Math.max(0,Math.min(320,o.width-16))}px`,i.style.maxHeight=`${Math.max(0,o.height-16)}px`,i.style.visibility="hidden",this._usesPopover()&&i.showPopover)try{i.matches(":popover-open")||i.showPopover()}catch{if(this._forceFallback=!0,this._renderFallback(),i=this._surface(),!i?.isConnected)return!1;i.style.visibility="hidden"}const n=t.getBoundingClientRect(),r=i.getBoundingClientRect();if(!(n.width&&n.height&&r.width&&r.height))return!1;const l=a(n,r,o);return i.style.left=`${l.left}px`,i.style.top=`${l.top}px`,i.dataset.side=l.side,i.style.visibility="",!0}render(){if(!this._hasContent())return i;const e=this.ariaLabel.trim();return t` ({value:e.id,label:e.title||e.id})),this._spacesAuthoritative=!0}catch{this._spaces=[],this._spacesAuthoritative=!1}finally{this._spacesLoading=!1}}}get _lang(){return o(this.hass,this._config?.language)}get _floorToken(){const e=this._config?.floor;return"number"==typeof e?`__houseplan_yaml_floor_index__:${String(e)}`:null}get _formData(){const e={...this._config},o=this._floorToken;return o?e.floor=o:Object.prototype.hasOwnProperty.call(e,"floor")||(e.floor=""),e}get _schema(){const e=this._spaces||[],o=this._lang,a=[{value:"",label:t(o,"editor.floor_none")}],i=this._floorToken;i&&a.push({value:i,label:t(o,"editor.floor_index",{index:String(this._config?.floor)})});const l="string"==typeof this._config?.floor?this._config.floor:"";l&&!e.some(e=>e.value===l)&&a.push({value:l,label:l}),a.push(...e);const n="string"==typeof this._config?.default_floor?this._config.default_floor:"",r=[...e];return n&&!e.some(e=>e.value===n)&&r.unshift({value:n,label:n}),[{name:"title",selector:{text:{}}},{name:"floor",selector:{select:{mode:"dropdown",options:a}}},e.length?{name:"default_floor",selector:{select:{mode:"dropdown",options:r}}}:{name:"default_floor",selector:{text:{}}},{name:"language",selector:{select:{mode:"dropdown",options:s(t(o,"editor.lang_auto"),this._config?.language)}}},{name:"icon_size",selector:{number:{min:1,max:6,step:.1,mode:"box"}}},{name:"show_temperature",selector:{boolean:{}}},{name:"live_states",selector:{boolean:{}}},{name:"show_signal",selector:{boolean:{}}},{name:"kiosk",selector:{boolean:{}}},{name:"cycle",selector:{number:{min:0,max:3600,step:5,mode:"box"}}}]}render(){if(!this.hass||!this._config)return a;const e=i(this,l,o(this.hass,this._config.language));if("cold"===e)return n();if("warm"===e)return r;this._loadSpaces();const s=this._lang,f={title:t(s,"editor.title"),floor:t(s,"editor.floor"),default_floor:t(s,"editor.default_floor"),language:t(s,"editor.language"),icon_size:t(s,"editor.icon_size"),show_temperature:t(s,"editor.show_temperature"),live_states:t(s,"editor.live_states"),show_signal:t(s,"editor.show_signal"),kiosk:t(s,"editor.kiosk"),cycle:t(s,"editor.cycle")},h=this._schema,_=function(e,o,t){if(!t||null===o)return null;const s="string"==typeof e?.default_floor?e.default_floor:"";return!s||o.some(e=>e.value===s)?null:s}(this._config,this._spaces,this._spacesAuthoritative),d=e=>c`({value:e.id,label:e.title||e.id})),this._spacesAuthoritative=!0}catch{this._spaces=[],this._spacesAuthoritative=!1}finally{this._spacesLoading=!1}}}get _lang(){return o(this.hass,this._config?.language)}get _floorToken(){const e=this._config?.floor;return"number"==typeof e?`__houseplan_yaml_floor_index__:${String(e)}`:null}get _formData(){const e={...this._config},o=this._floorToken;return o?e.floor=o:Object.prototype.hasOwnProperty.call(e,"floor")||(e.floor=""),e}get _schema(){const e=this._spaces||[],o=this._lang,a=[{value:"",label:t(o,"editor.floor_none")}],i=this._floorToken;i&&a.push({value:i,label:t(o,"editor.floor_index",{index:String(this._config?.floor)})});const l="string"==typeof this._config?.floor?this._config.floor:"";l&&!e.some(e=>e.value===l)&&a.push({value:l,label:l}),a.push(...e);const n="string"==typeof this._config?.default_floor?this._config.default_floor:"",r=[...e];return n&&!e.some(e=>e.value===n)&&r.unshift({value:n,label:n}),[{name:"title",selector:{text:{}}},{name:"floor",selector:{select:{mode:"dropdown",options:a}}},e.length?{name:"default_floor",selector:{select:{mode:"dropdown",options:r}}}:{name:"default_floor",selector:{text:{}}},{name:"language",selector:{select:{mode:"dropdown",options:s(t(o,"editor.lang_auto"),this._config?.language)}}},{name:"icon_size",selector:{number:{min:1,max:6,step:.1,mode:"box"}}},{name:"show_temperature",selector:{boolean:{}}},{name:"live_states",selector:{boolean:{}}},{name:"show_signal",selector:{boolean:{}}},{name:"kiosk",selector:{boolean:{}}},{name:"cycle",selector:{number:{min:0,max:3600,step:5,mode:"box"}}}]}render(){if(!this.hass||!this._config)return a;const e=i(this,l,o(this.hass,this._config.language));if("cold"===e)return n();if("warm"===e)return r;this._loadSpaces();const s=this._lang,h={title:t(s,"editor.title"),floor:t(s,"editor.floor"),default_floor:t(s,"editor.default_floor"),language:t(s,"editor.language"),icon_size:t(s,"editor.icon_size"),show_temperature:t(s,"editor.show_temperature"),live_states:t(s,"editor.live_states"),show_signal:t(s,"editor.show_signal"),kiosk:t(s,"editor.kiosk"),cycle:t(s,"editor.cycle")},f=this._schema,_=function(e,o,t){if(!t||null===o)return null;const s="string"==typeof e?.default_floor?e.default_floor:"";return!s||o.some(e=>e.value===s)?null:s}(this._config,this._spaces,this._spacesAuthoritative),d=e=>c`f[e.name]||e.name} + .computeLabel=${e=>h[e.name]||e.name} @value-changed=${this._valueChanged} >`;return c` - ${d(h.slice(0,3))} + ${d(f.slice(0,3))} ${_?c``:a} - ${d(h.slice(3))} - `}_valueChanged(e){const o={...this._config,...e.detail.value};""===o.floor?delete o.floor:o.floor===this._floorToken&&(o.floor=this._config?.floor);const t=new Event("config-changed",{bubbles:!0,composed:!0});t.detail={config:o},this.dispatchEvent(t)}}f.properties={hass:{attribute:!1},_config:{state:!0},_spaces:{state:!0}},customElements.get("houseplan-card-editor")||customElements.define("houseplan-card-editor",f); + ${d(f.slice(3))} + `}_valueChanged(e){const o={...this._config,...e.detail.value};""===o.floor?delete o.floor:o.floor===this._floorToken&&(o.floor=this._config?.floor);const t=new Event("config-changed",{bubbles:!0,composed:!0});t.detail={config:o},this.dispatchEvent(t)}}h.properties={hass:{attribute:!1},_config:{state:!0},_spaces:{state:!0}},customElements.get("houseplan-card-editor")||customElements.define("houseplan-card-editor",h); diff --git a/custom_components/houseplan/frontend/houseplan-assets/fr-BAV7hmLH.js b/custom_components/houseplan/frontend/houseplan-assets/fr-BAV7hmLH.js new file mode 100644 index 00000000..968231e2 --- /dev/null +++ b/custom_components/houseplan/frontend/houseplan-assets/fr-BAV7hmLH.js @@ -0,0 +1 @@ +globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="34d1dbfc181acaf58842dfced0e6aa3a899aef6b8d1eeba53732ef729a63137e";var e={"editor.context_actions":"Actions : {object}","editor.tool_options":"Options de l’outil : {tool}","editor.palette":"Palette : {tool}","editor.open_group":"Groupe d’outils : {group}","editor.group_active":"{group} — actif : {item}","editor.disabled_action":"{action} est indisponible : {reason}","editor.loading":"Chargement de l'éditeur…","editor.loading_aria":"L'éditeur de plan est en cours de chargement","editor.load_failed":"Impossible de charger l'éditeur.","editor.refresh_advice":"Actualisez la page et réessayez.","editor.retry_advice":"Vérifiez votre connexion et appuyez à nouveau.","version_mismatch.title":"Les versions de House Plan ne correspondent pas","version_mismatch.body":"Si Home Assistant redémarre encore, attendez la fin, puis rechargez cette page.","version_mismatch.frontend":"Carte","version_mismatch.backend":"Intégration","version_mismatch.reload":"Recharger la page","color_picker.title":"Sélecteur de couleur","color_picker.hue":"Teinte","color_picker.saturation":"Saturation","color_picker.value":"Luminosité","color_picker.hex":"Couleur hexadécimale","color_picker.invalid_hex":"Saisissez une couleur hexadécimale à 3 ou 6 chiffres","color_picker.confirm":"OK","btn.properties":"Propriétés","btn.keep_as_walls":"Conserver comme murs","btn.delete_room_keep_walls":"Supprimer la pièce, conserver les murs","btn.delete_room_with_walls":"Supprimer la pièce et les murs","title.markup_select":"Sélectionner et modifier les murs et les colonnes","title.markup_column":"Colonne : cliquez sur un point de la grille pour placer une colonne carrée","markup.partition":"Cloison","markup.column":"Colonne","markup.hint_column":"cliquez sur un point de la grille pour placer une colonne carrée","history.wall_segment":"Ajouter un segment de mur","history.column_add":"Ajouter une colonne","history.physical_edit":"Modifier l’objet physique","history.physical_delete":"Supprimer l’objet physique","history.physical_move":"Déplacer l’objet physique","history.wall_face_batch":"Créer des pièces à partir des murs","toast.column_duplicate":"Une colonne avec le même centre et la même dimension extérieure existe déjà","physical.partition_properties":"Propriétés de la cloison","physical.column_properties":"Propriétés de la colonne","physical.shape":"Forme","physical.square":"Carré","physical.circle":"Cercle","physical.diameter":"Diamètre","physical.side":"Côté","physical.rotation":"Angle de rotation","physical.length":"Longueur","physical.allowed_range":"Autorisé : {min}–{max} {unit}","physical.column_size_title":"Côté extérieur de la colonne carrée placée par le clic (1–150 cm).","card.title":"Plan de la maison","count.devices":"{n} app.","empty.no_spaces":"Aucun espace pour le moment.","nav.spaces":"Espaces House Plan","empty.add_first":"Ajoutez le premier espace et importez un plan.","empty.read_only":"Aucun espace n’est configuré. Demandez à un administrateur d’en ajouter un.","empty.install":"Installez l’intégration House Plan et ajoutez-la dans « Appareils et services ».","btn.add_space":"Ajouter un espace","btn.cancel":"Annuler","btn.save":"Enregistrer","btn.close":"Fermer","btn.delete":"Supprimer","btn.copy":"Copier","btn.edit":"Modifier","btn.open_in_ha":"Ouvrir dans HA","btn.reset":"Réinitialiser","btn.attach":"Joindre…","btn.upload":"Importer…","btn.replace":"Remplacer…","title.zoom_in":"Zoomer","title.zoom_out":"Dézoomer","title.zoom_fit":"Tout ajuster","title.configure_space":"Configurer l’espace","title.add_space":"Ajouter un espace","title.markup_add":"Murs : tracez une chaîne continue ; chaque segment accepté est enregistré séparément. Maj verrouille à 45°","title.markup_merge":"Fusionner : cliquez sur une pièce, puis sur la pièce voisine avec laquelle elle partage un mur","title.markup_split":"Diviser une pièce : cliquez sur la pièce, puis sur deux points de ses murs","title.markup_delroom":"Supprimer une pièce : cliquez à l’intérieur de la pièce puis confirmez","title.need_plan":"Importer une image de plan","markup.add":"Murs","markup.merge":"Fusionner","markup.split":"Diviser","markup.resize":"Redimensionner","title.markup_resize":"Redimensionner les pièces : faites glisser une poignée disponible sur un mur horizontal ou vertical","markup.hint_resize":"faites glisser une poignée de mur disponible · le mur s’arrête à la première position non sûre · Échap annule · Ctrl+Z — annuler","resize.disabled.diagonal":"Ce mur est incliné ; le redimensionnement ne prend en charge que les murs horizontaux et verticaux","resize.disabled.side-angle":"Un mur adjacent est incliné ; le redimensionnement exige que les deux murs adjacents rencontrent ce mur à angle droit","resize.disabled.duplicate-physical-wall":"Une cloison distincte ou une colonne chevauche ce mur ; supprimez-la ou déplacez-la avant de redimensionner","resize.disabled.partial-shared":"Une pièce voisine n’utilise qu’une partie de ce mur ; il ne peut donc pas être déplacé en toute sécurité comme un mur partagé unique","resize.disabled.unequal-shared":"La pièce voisine utilise des extrémités ou une longueur de mur différentes ; les murs ne peuvent donc pas être déplacés ensemble en toute sécurité","resize.disabled.multiple-rooms":"Déplacer ce mur affecterait plus de deux pièces","resize.disabled.thickness-conflict":"L’épaisseur du mur ne peut pas être conservée en toute sécurité","resize.disabled.opening-conflict":"Une ouverture sur ce mur ne peut pas être déplacée en toute sécurité","resize.disabled.invalid-geometry":"Ce mur ne peut pas être redimensionné sans modifier la structure du plan","resize.limit_stopped":"Mur arrêté : l'étape suivante enfreindrait une limite de jonction","resize.commit_failed":"Le redimensionnement a été annulé car le plan final n’a pas passé le contrôle de géométrie","resize.preview_failed":"Le redimensionnement s’est arrêté à la dernière position sûre car la géométrie du plan ne pouvait pas être préservée","markup.opening":"Ouverture","markup.delete_room":"Supprimer la pièce","history.undo":"Annuler","history.redo":"Rétablir","history.undo_named":"Annuler : {name} (Ctrl+Z)","history.redo_named":"Rétablir : {name} (Ctrl+Maj+Z / Ctrl+Y)","history.undo_empty":"Rien à annuler","history.redo_empty":"Rien à rétablir","history.undone":"Annulé : {name}","history.redone":"Rétabli : {name}","history.add_room":"Créer une pièce","history.split_room":"Diviser la pièce","history.merge_rooms":"Fusionner les pièces","history.resize_room":"Redimensionner la pièce","history.wall_thickness":"Modifier l’épaisseur du mur","history.add_opening":"Ajouter une ouverture de porte ou de fenêtre","history.edit_opening":"Modifier l’ouverture","history.move_opening":"Déplacer l’ouverture","history.delete_opening":"Supprimer l’ouverture","history.delete_room_keep_walls":"Supprimer la pièce, conserver les murs","history.delete_room_with_walls":"Supprimer la pièce et les murs","history.decor_add":"Ajouter un objet décoratif","history.decor_edit":"Modifier l’objet décoratif","history.decor_move":"Déplacer l’objet décoratif","history.decor_transform":"Transformer l’objet décoratif","history.decor_delete":"Supprimer l’objet décoratif","history.backdrop_transform":"Transformer l’arrière-plan du plan","history.device_move":"Déplacer {name}","history.device_stale":"L’historique des positions n’est plus applicable et a été effacé","opening.new":"Nouvelle ouverture","opening.edit":"Ouverture","opening.door":"Porte","opening.window":"Fenêtre","opening.gate":"Portail","opening.passage":"Passage ouvert","opening.passage_binding_warning":"L’enregistrement supprimera le capteur d’ouverture/fermeture et la serrure.","opening.invalid_passage_fields":"Le passage ouvert du plan « {room} » possède des paramètres non pris en charge : {fields}.","opening.type_label":"Type","opening.length_label":"Longueur, cm","opening.contact_label":"Capteur d’ouverture/fermeture","opening.lock_label":"Serrure","opening.none":"— aucun —","opening.search_ph":"Rechercher : nom ou ID d’entité…","opening.invert":"Inverser ouvert/fermé","opening.flip_h":"Charnière sur l’autre montant","opening.flip_v":"Ouverture de l’autre côté","opening.open":"Ouvert","opening.closed":"Fermé","opening.locked":"Verrouillé","opening.unlocked":"Déverrouillé","opening.state_unknown":"indisponible","opening.no_entities":"Aucun capteur associé — symbole statique sur le plan.","toast.opening_no_wall":"Cliquez près d’un mur de pièce ou d’un mur indépendant","opening.host_partition":"Mur indépendant","opening.partition_orphan":"Le mur indépendant de cette ouverture n’existe plus","opening.partition_jamb_margin":"Laissez au moins {distance} entre l’ouverture et l’extrémité du mur","opening.rebind_partition":"Associer à un autre mur indépendant","confirm.delete_partition_openings_title":"Supprimer le mur et les ouvertures ?","confirm.delete_partition_openings_body":"Ce mur contient {count} ouverture(s). Elles seront supprimées avec lui.","confirm.delete_partition_openings_item":"• {type}, {length}","markup.hint_points":"points : {n} · Maj — pas de 45° · Échap — terminer la chaîne · Ctrl+Z — annuler un point · fermer une zone propose de créer une pièce","markup.hint_start":"cliquez sur un point de la grille pour commencer une chaîne de murs","tip.lqi":"signal Zigbee moyen :","tip.area":"surface : {value}","info.device_header":"Appareil sur le plan","info.model":"Modèle","info.state":"État","info.link":"Lien","info.manuals":"Manuels","info.none":"Aucune information supplémentaire","marker.new_device":"Nouvel appareil","marker.name_label":"Nom (affiché sur le plan)","marker.name_ph":"Nom","marker.binding_label":"Associer à un appareil HA","marker.binding_disabled":"désactivé dans Home Assistant","marker.virtual_option":"Appareil virtuel (sans association)","marker.search_ph":"Rechercher un appareil / groupe…","marker.nothing_found":"aucun résultat","marker.room_label":"Pièce","marker.room_override":" (placement forcé)","marker.room_choose":"— sélectionner une pièce —","marker.room_auto":"— selon la zone de l’appareil (auto) —","marker.icon_label":"Icône","marker.icon_ph":"mdi:… (vide = auto)","marker.display_label":"Affichage","display.badge":"Icône + état","display.icon_ripple":"Icône + état et activité","display.static_icon":"Icône toujours statique","display.value_static_icon":"Valeur + icône statique","marker.display_hint_badge":"L’icône et le fond dynamique affichent l’état de l’appareil sans la pulsation d’activité habituelle. Les alarmes rouges restent visibles.","marker.display_hint_icon_ripple":"L’icône, le fond dynamique et la pulsation affichent une brève animation pour les événements et une animation continue pour le fonctionnement, le mouvement ou la présence. Les alarmes rouges restent prioritaires.","marker.display_hint_value":"Une valeur Home Assistant sélectionnée ou résolue automatiquement remplace l’icône tandis que le fond continue d’indiquer l’état. Les alarmes rouges restent visibles.","marker.display_hint_static_icon":"Le contour adapté au thème et l’icône restent toujours identiques. L’état, l’activité, l’indisponibilité et les alarmes ne modifient pas l’apparence.","marker.display_hint_value_static_icon":"Le marqueur affiche la valeur choisie tandis que le contour reste adapté au thème. L’état, l’activité, l’indisponibilité et les alarmes ne modifient pas la couleur du marqueur.","marker.static_alarm_warning":"Cet appareil peut signaler des alarmes. L’affichage statique masque l’indication visuelle d’alarme du marqueur.","marker.preview.title":"Aperçu de l’affichage","marker.preview.actual":"Actuel","marker.preview.example":"Exemple","marker.preview.integration":"Fourni par","marker.preview.source":"Source d’affichage","marker.preview.current_state":"État actuel","marker.preview.result":"Sur le plan","marker.preview.details":"Détails de la source","marker.preview.select_source":"Choisissez un appareil ou une entité Home Assistant pour voir son affichage réel.","marker.preview.unknown_provider":"Intégration inconnue","marker.preview.virtual_provider":"House Plan · appareil virtuel","marker.preview.no_source":"Aucune source active","marker.preview.no_state":"Aucun état actuel","marker.preview.mixed_states":"Plusieurs états différents","marker.preview.multiple_sources":"{n} sources","marker.preview.more_sources":"+{n} de plus","marker.preview.scaled":"L’aperçu est redimensionné à {n}% pour tenir dans la zone. La taille enregistrée reste inchangée.","marker.preview.demo_short":"Afficher une activité brève","marker.preview.demo_continuous":"Afficher une activité continue","marker.preview.stop_continuous":"Arrêter l’activité continue","marker.preview.demo_short_notice":"Exemple d’activité brève ; l’état réel de l’appareil reste inchangé.","marker.preview.demo_continuous_notice":"Exemple d’activité continue ; l’état réel de l’appareil reste inchangé.","marker.preview.demo_already_visible":"L’état actuel affiche déjà un véritable effet d’activité ou d’alarme.","marker.preview.reduced_motion":"La réduction des animations est activée sur le système ; l’activité normale est donc affichée sous forme de point.","marker.preview.reason.neutral":"Fond sombre neutre","marker.preview.reason.working":"Fond jaune : l’appareil fonctionne actuellement","marker.preview.reason.working_activity":"Fond jaune et effet d’activité : l’appareil fonctionne actuellement","marker.preview.reason.open":"Fond orange : physiquement ouvert ou déverrouillé","marker.preview.reason.cover_icon_state":"Fond neutre ; l’entité de volet contrôle l’état et l’icône affichés","marker.preview.reason.presence":"Effet d’activité tant qu’une présence est détectée","marker.preview.reason.event":"Effet d’activité bref après un événement détecté","marker.preview.reason.transition":"Effet d’activité pendant que l’appareil se déplace ou change d’état","marker.preview.reason.media_neutral":"Les appareils multimédias restent sur un fond sombre neutre tant qu’ils sont disponibles","marker.preview.reason.unavailable":"Fond neutre atténué : indisponible ou éteint","marker.preview.reason.alarm":"Fond d’alarme rouge ; l’indication d’alarme est toujours affichée","marker.preview.reason.live_states_disabled":"Le style selon les états en direct est désactivé pour cette carte","marker.preview.reason.value_no_state":"Aucune valeur d’état exploitable ; l’icône est affichée à la place","marker.preview.reason.value_ambiguous_sources":"Plusieurs sources de valeur possibles ; l’icône est affichée à la place","marker.preview.reason.value_non_scalar":"La source n’a pas renvoyé de valeur simple ; l’icône est affichée à la place","marker.preview.reason.value_virtual":"Un appareil virtuel n’a aucune valeur Home Assistant ; l’icône est affichée à la place","marker.preview.reason.vacuum_live_plan_only":"La position et la trajectoire en direct de l’aspirateur ne sont disponibles que sur le plan complet","marker.preview.reason.hidden_design_preview":"L’appareil est masqué sur le plan ; cet aperçu de conception reste visible","marker.preview.reason.composite_power_source":"L’état provient de l’entité d’alimentation de l’appareil ; les interrupteurs auxiliaires sont ignorés","marker.preview.reason.activity_display_disabled":"Le mode d’affichage sélectionné n’affiche pas les effets d’activité habituels","marker.preview.reason.ha_disabled":"L’association Home Assistant est désactivée et sera masquée sur le plan","marker.preview.reason.orphaned":"L’association Home Assistant enregistrée est introuvable","marker.preview.reason.static_icon":"Mode statique : l’état de l’appareil ne modifie pas l’icône","marker.preview.reason.value_static_icon":"Mode statique avec valeur : l’état de l’appareil ne modifie pas la couleur du marqueur","marker.activity_color":"Couleur de la pulsation d’activité","marker.ripple_size":"Taille de la pulsation d’activité","marker.activity_alarm_note":"La couleur et la taille n’affectent que l’activité normale et ne modifient pas les alarmes rouges.","marker.pulse_a11y_alarm":"Alarme","marker.pulse_a11y_event":"Événement récent","marker.pulse_a11y_presence":"Présence détectée","marker.pulse_a11y_transition":"Changement d’état","marker.pulse_a11y_running":"En fonctionnement","marker.state_a11y_neutral":"État par défaut","marker.state_a11y_working":"En fonctionnement","marker.state_a11y_open":"Ouvert","marker.state_a11y_locked":"Verrouillé","marker.state_a11y_unlocked":"Déverrouillé","marker.state_a11y_alarm":"Alarme","marker.state_a11y_unavailable":"Indisponible","marker.lqi_a11y_low":"LQI {value}, signal faible","marker.lqi_a11y_mid":"LQI {value}, signal moyen","marker.lqi_a11y_high":"LQI {value}, signal fort","marker.size_label":"Taille / rotation de l’icône","marker.angle_label":"Rotation","marker.model_label":"Modèle","marker.model_ph":"ex. Aqara T&H","marker.link_label":"Lien","marker.desc_label":"Description","marker.desc_ph":"Notes, caractéristiques…","marker.manuals_label":"Manuels (PDF, etc.)","marker.sub_device":"appareil","marker.sub_z2m_group":" · groupe Z2M","marker.sub_group":"groupe","marker.sub_helper":"assistant","space.new":"Nouvel espace","space.copy_title":"Copier l’espace","space.copy_name":"Nom du nouvel espace","space.copy_fallback":"Espace","space.copy_create":"Créer la copie","space.copy_optimize_title":"Optimiser avant de copier ?","space.copy_optimize_body":"Avant de créer « {name} », House Plan doit optimiser tout le plan, y compris les autres espaces. Continuer ?","space.copy_optimize_confirm":"Optimiser et copier","space.copy_error_changed":"Le plan a changé pendant la confirmation. Vérifiez-le et réessayez.","space.copy_error_source_missing":"L’espace source n’existe plus. Rouvrez ses réglages et réessayez.","space.copy_error_source_invalid":"House Plan n’a pas pu valider tous les murs de cet espace. Corrigez l’espace source.","space.copy_error_spaces_limit":"House Plan contient déjà le nombre maximal d’espaces.","space.copy_error_partitions_limit":"Cet espace contient trop de murs pour être copié.","space.copy_error_openings_limit":"Cet espace contient trop d’ouvertures pour être copié.","space.copy_error_decor_limit":"Cet espace contient trop d’objets d’arrière-plan pour être copié.","space.copy_error_columns_limit":"Cet espace contient trop de colonnes pour être copié.","space.copy_error_opening_host":"Une ouverture n’est plus rattachée à un mur. Corrigez-la ou supprimez-la avant la copie.","space.copy_error_geometry":"La copie créerait une géométrie de murs non sûre. Corrigez l’espace source.","space.copy_error_optimize_geometry":"La copie est arrêtée car l’optimisation de tout le plan n’est pas sûre pour un espace.","space.header":"Espace","space.title_label":"Titre","space.title_ph":"ex. Garage","space.plan_label":"Plan (arrière-plan)","space.no_plan":"aucune image de plan","space.plan_alt":"plan","room.new":"Nouvelle pièce","room.name_label":"Nom affiché","room.name_ph":"ex. Terrasse","room.area_label":"Zone Home Assistant (non attribuée)","room.no_area_option":"— aucune zone —","room.default_name":"Pièce","device.unnamed":"sans nom","device.light_group":"groupe de lumières","device.fallback":"appareil","device.virtual":"appareil virtuel","confirm.delete_room_title":"Supprimer la pièce « {name} » ?","confirm.delete_room_body":"Choisissez si les murs physiques propres à la pièce doivent être conservés. Les murs partagés avec une autre pièce sont toujours conservés.","confirm.remove_marker_title":"Supprimer l’appareil du plan ?","confirm.remove_marker_body":"L’appareil disparaîtra complètement et ne contribuera plus aux données du plan. Vous pourrez l’ajouter de nouveau plus tard.","confirm.erase_decor":"Effacer l’objet {kind} ? Vous pouvez annuler cette action depuis l’historique de l’éditeur.","confirm.delete_space_title":"Supprimer l’espace ?","confirm.delete_space_body":"L’espace, toutes ses pièces et tout le tracé du plan seront supprimés.","confirm.delete_space_vac_routes":"Les affectations de cartes de robots seront aussi supprimées : {count}.","space.delete_blocked":"Cet espace est encore utilisé par {n} appareil(s). Déplacez-les vers un autre espace ou supprimez-les d’abord.","toast.pos_save_failed":"Échec de l’enregistrement de la position : {err}","toast.no_entity":"L’appareil n’a aucune entité adaptée","toast.ha_disabled_action":"Un objet Home Assistant désactivé ne peut pas être utilisé sur le plan.","toast.ha_disabled_show_device":"Un appareil désactivé dans Home Assistant ne peut pas être affiché sur le plan. Activez-le d’abord dans Home Assistant.","toast.ha_disabled_show_entity":"Une entité désactivée dans Home Assistant ne peut pas être affichée sur le plan. Activez-la d’abord dans Home Assistant.","toast.ha_disabled_add":"Un objet Home Assistant désactivé ne peut pas être ajouté au plan. Activez-le d’abord dans Home Assistant.","toast.ha_binding_unverified":"L’état de l’objet n’a pas pu être vérifié via le registre Home Assistant. L’affichage et les actions sont temporairement indisponibles.","toast.markup_needs_server":"Le tracé est disponible une fois la configuration déplacée sur le serveur","toast.space_order_changed":"L’ordre a changé. Si une carte fixe son étage par numéro, vérifiez ces tableaux de bord.","toast.conflict":"La configuration a été modifiée dans une autre fenêtre — données actualisées, répétez votre dernière action","toast.cfg_save_failed":"Échec de l’enregistrement de la configuration : {err}","toast.room_overlap":"Le contour chevauche la pièce « {name} » — les pièces ne doivent pas se chevaucher","toast.contour_cannot_close":"Le contour ne peut pas être fermé car il est dégénéré ou s’auto-intersecte","toast.merge_not_adjacent":"Seules les pièces partageant un mur peuvent être fusionnées","toast.rooms_merged":"Pièces fusionnées dans « {name} »","toast.split_pick_wall":"Commencez la découpe sur le mur de la pièce","toast.split_bad_cut":"La découpe doit aller d’un mur à l’autre à l’intérieur de la pièce, sans croiser de mur ni se croiser elle-même","merge.header":"Fusionner les pièces","merge.hint":"La pièce fusionnée conserve un nom et une zone. L’autre zone est libérée — ses appareils quittent le plan jusqu’à ce qu’une autre pièce la récupère.","merge.keep":"Conserver","merge.no_area":"aucune zone","toast.room_saved":"Pièce enregistrée ({n}). Appareils ajoutés : {added}. Tracez la suivante ou quittez le mode tracé.","toast.room_saved_no_area":"Pièce enregistrée ({n}, sans zone). Tracez la suivante ou quittez le mode tracé.","toast.marker_needs_server":"La modification des appareils est disponible une fois la configuration déplacée sur le serveur","toast.virtual_name_required":"Saisissez un nom pour l’appareil virtuel","toast.marker_saved":"Appareil enregistré","toast.marker_removed":"Appareil supprimé du plan","toast.integration_missing":"L’intégration House Plan n’est pas installée — gestion indisponible","toast.plan_formats":"Formats pris en charge : SVG, PNG, JPG, WebP","toast.plan_required":"Importez un plan — il est obligatoire","toast.space_added_onboard":"Espace ajouté. Tracez les pièces : cliquez sur les points de la grille et fermez le contour.","toast.space_added":"Espace ajouté","toast.space_copied":"Espace « {name} » créé","toast.space_saved":"Espace enregistré","toast.space_deleted":"Espace supprimé","toast.delete_failed":"Échec de la suppression : {err}","toast.error":"Erreur : {err}","toast.toggle_target_unavailable":"La cible « {name} » est indisponible — aucune action n’a été effectuée","toast.toggle_targets_unavailable":"Cibles indisponibles : {names}. Aucune action n’a été effectuée","toast.file_failed":"Le fichier « {name} » n’a pas été importé : {err}","toast.files_attached":"Fichiers joints : {n}","err.unknown":"erreur inconnue","err.code":"code {code}","err.too_large":"fichier supérieur à {mb} Mo","err.bad_ext":"type non pris en charge (PDF/image attendu)","err.unauthorized":"droits administrateur requis","editor.title":"Titre","editor.default_floor":"Espace initial","editor.default_floor_missing":"L’espace initial « {id} » n’existe plus. Choisissez un autre espace.","editor.floor":"Espace fixe","editor.floor_none":"— non fixé —","editor.floor_index":"Index YAML {index} (conservé)","fixed_floor.loading":"Chargement de l’espace fixe…","fixed_floor.invalid_title":"L’espace fixe est indisponible","fixed_floor.invalid_body":"Vérifiez floor dans la configuration de la carte. Valeur configurée : {value}","editor.icon_size":"Taille des icônes, % de la largeur du plan","editor.show_temperature":"Afficher la température","editor.live_states":"États en direct (on/off, ouvert…)","editor.light_pools":"Halos lumineux et ombres des murs","editor.show_signal":"Afficher le signal Zigbee (LQI)","editor.language":"Langue de l’interface","editor.lang_auto":"Auto (profil HA)","title.icon_rules":"Règles d’icônes : quelle icône MDI attribuer aux appareils selon leur nom","rules.title":"Règles d’icônes","rules.hint":"Les règles sont testées de haut en bas sur « nom de l’appareil + modèle » (expression régulière insensible à la casse) ; la première correspondance gagne. Si rien ne correspond, la classe d’appareil de l’entité est utilisée, puis l’icône générique.","rules.pattern_ph":"regex, ex. plug|socket","rules.icon_ph":"mdi:power-socket-de","rules.add":"Ajouter une règle","rules.reset":"Réinitialiser par défaut","rules.test_ph":"Tester un nom d’appareil…","rules.invalid":"expression régulière invalide","rules.saved":"Règles d’icônes enregistrées","btn.up":"Monter","btn.down":"Descendre","tap.info":"Fiche de l’appareil","tap.more_info":"Boîte de dialogue Plus d’infos de HA","tap.toggle":"Basculer l’état","marker.tap_label":"Action au toucher pour cet appareil","tap.toggle_note":"L’état déterminé est affiché ci-dessous. Les appareils sécurisés ne sont jamais basculés depuis le plan.","import.title":"Créer des espaces à partir des étages HA","import.hint":"Votre Home Assistant connaît déjà ces étages. Sélectionnez ceux à transformer en espaces du plan — vous importerez ensuite une image de plan pour chacun. Les pièces sont ensuite tracées manuellement sur le plan.","import.start":"Créer {n} espace(s)","import.manual":"Commencer de zéro","import.progress":"Étage {i} sur {n}","import.done":"Espaces créés. Tracez les pièces : cliquez sur les points de la grille et fermez le contour.","btn.skip":"Passer","space.scale_label":"Échelle (taille d’une cellule de grille)","space.cell_cm.help":"Relie la grille aux dimensions réelles : les longueurs, les surfaces, l’épaisseur des murs, la taille des ouvertures et le rayon du halo en dépendent. Une modification ultérieure change les dimensions calculées de tout l’espace sans déplacer ses points sur le plan.","space.cell_cm.help.aria":"Aide : échelle de l’espace","space.scale_unit":"cm par cellule","space.scale_unit_imperial":"po par cellule","space.display_section":"Affichage","space.show_borders":"Toujours afficher les contours des pièces","space.zero_wall_style":"Murs d’épaisseur nulle","space.zero_wall_style.help":"Les murs d’épaisseur nulle en pointillés laissent passer le halo et les rayons du soleil, tandis que les murs pleins les bloquent comme une barrière sans surface. Ce choix s’applique à tous ces murs de l’espace, même si leur ligne est masquée en mode Vue.","space.zero_wall_style.help.aria":"Aide : style des murs d’épaisseur nulle","space.zero_wall_dashed":"Pointillés","space.zero_wall_solid":"Plein","space.show_names":"Afficher les noms des pièces (faire glisser pour déplacer)","space.room_color":"Couleur du contour et du nom","space.opacity":"Opacité","space.fill_label":"Remplissage de la pièce","space.fill_mode.help":"« Couleur personnalisée » définit le style, tandis que « Lumière », « Température » et « LQI » utilisent les données actuelles de Home Assistant. Le halo s’active séparément.","space.fill_mode.help.aria":"Aide : mode de remplissage des pièces","fill.none":"Aucun","fill.lqi":"Signal Zigbee","fill.light":"Lumières","fill.custom":"Couleur personnalisée","space.custom_fill":"Couleur de remplissage","space.source_file":"J’ai une image de plan","space.source_draw":"Aucune image — je tracerai les pièces à la main","fill.temp":"Température","tip.temp_avg":"température moyenne :","tip.hum_avg":"humidité moyenne :","space_card.button":"Ouvrir le plan de l’espace","space_card.not_found":"Espace « {id} » introuvable","space_card.loading":"Chargement…","continuity.restore_plan":"Restauration du plan…","continuity.restore_connection":"Restauration de la connexion aux appareils…","continuity.retry":"Réessayer","editor.space":"Espace","editor.framing":"Cadrage","editor.fit_content":"Tout le contenu visible","editor.fit_house":"Ajusté à la géométrie de la maison","editor.show_button":"Afficher le bouton","editor.button_label":"Libellé du bouton","editor.button_target":"Chemin du tableau de bord cible","marker.sub_entity":"entité","title.general_settings":"Paramètres généraux","title.export_pdf":"Enregistrer en PDF","pdf.title":"Enregistrement en PDF","pdf.dimensions":"Afficher les dimensions et les surfaces","pdf.decor":"Afficher les meubles et les autres éléments","pdf.room_names":"Afficher les noms des pièces","pdf.backdrop":"Afficher le fond de plan","pdf.save":"Enregistrer","pdf.saving":"Création…","pdf.failed":"Impossible de créer le PDF.","pdf.too_large":"Les images dépassent la limite PDF de 25 Mo.","pdf.asset_failed":"Impossible de charger une image de fond ou de décoration.","pdf.scale":"Échelle 1:{n}","pdf.north":"Nord","gs.title":"Paramètres généraux","gs.light_group":"Remplissage : lumières","gs.light_on":"Lumières allumées","gs.light_off":"Toutes les lumières éteintes","gs.temp_group":"Remplissage : température","gs.temp_cold":"Froid","gs.temp_ok":"Confortable","gs.temp_hot":"Chaud","gs.lqi_group":"Remplissage : signal Zigbee","gs.lqi_low":"Signal faible","gs.lqi_high":"Signal fort","gs.reset":"Réinitialiser par défaut","gs.saved":"Paramètres généraux enregistrés","gs.radar_show_live":"Afficher la présence en direct sur le plan","gs.radar_show_live_hint":"Masque ou affiche toutes les cibles radar en direct. Cela ne démarre ni n’arrête l’enregistrement des observations.","radar.title":"Présence sur le plan","radar.help":"Reliez ce marqueur aux entités radar exactes de Home Assistant, placez le capteur et choisissez son profil de coordonnées. Les positions en direct sont limitées à la pièce sélectionnée.","radar.help.aria":"Aide : paramètres du radar de présence","radar.enabled":"Utiliser ce radar de présence","radar.show_live":"Afficher les cibles en direct","radar.configure":"Configurer le radar","radar.configure_on_plan":"Configurer sur le plan","radar.change_installation":"Changer l’installation","radar.no_contour":"Cette pièce n’a pas de contour. Les points radar ne seront pas limités.","radar.discard_setup_title":"Abandonner la configuration du radar ?","radar.discard_setup":"La configuration du radar non enregistrée sera perdue.","radar.step_place_mount":"Indiquez la position physique du capteur","radar.step_place_heading":"Indiquez un point droit devant le capteur","radar.step_reference":"Indiquez la position de référence {n}, puis lancez la mesure","radar.step_check_reference":"Indiquez une position de contrôle indépendante","radar.start_measure":"Lancer la mesure","radar.countdown":"Placez-vous sur le repère dans {seconds} s","radar.capturing":"Restez immobile et seul pendant la mesure…","radar.fit_ready":"Le calibrage est prêt","radar.check_third":"Vérifier à une autre position","radar.check_complete":"Contrôle indépendant terminé","radar.error_distance":"Écart de position : {distance}","radar.ambiguous_target":"Plusieurs cibles ont été signalées. Recommencez la mesure seul.","radar.insufficient_samples":"Coordonnées actuelles insuffisantes. Réessayez ou utilisez le réglage manuel.","radar.bad_references":"Choisissez des références espacées dans des directions différentes du capteur.","radar.ambiguous_sources":"Les mesures permettent deux directions également plausibles. Choisissez des repères distinguant la gauche de la droite.","radar.bad_fit":"Les mesures ne correspondent pas. Vérifiez les unités, la position du capteur et les références.","radar.desktop_hint":"Utilisez un ordinateur pour un réglage précis. L’édition sur appareils tactiles est prise en charge au mieux.","radar.detected":"House Plan a reconnu les métadonnées radar de cet appareil. Vérifiez les sources exactes avant d’enregistrer.","radar.detected_ld2450":"House Plan a trouvé un ensemble de coordonnées ESPHome LD2450. Vérifiez les sources X/Y exactes avant d’enregistrer.","radar.additional_actions":"Actions supplémentaires","radar.declare":"Ceci est un radar de présence","radar.profile":"Profil de données","radar.profile_esphome_ld2450_v1":"ESPHome LD2450 (cibles X/Y)","radar.profile_cartesian_v1":"Cibles cartésiennes (X/Y)","radar.profile_polar_v1":"Cible polaire (distance/angle)","radar.profile_range_v1":"Distance uniquement","radar.profile_zones_v1":"États des zones","radar.profile_presence_v1":"Présence uniquement","radar.room":"Pièce observée","radar.room_choose":"Choisir une pièce","radar.target":"Cible {n}","radar.axis_x":"Entité de coordonnée X","radar.axis_y":"Entité de coordonnée Y","radar.add_target":"Ajouter un emplacement de cible","radar.range_channel":"Canal de distance {n}","radar.add_range":"Ajouter un canal de distance","radar.presence_gate":"Entité de présence du canal","radar.swap_axes":"Permuter les axes X et Y","radar.axis_x_sign":"Direction X","radar.axis_y_sign":"Direction Y","radar.distance_source":"Entité de distance","radar.angle_source":"Entité d’angle","radar.angle_unit":"Unité d’angle","radar.degrees":"Degrés","radar.radians":"Radians","radar.angle_zero":"Direction de l’angle zéro","radar.angle_forward":"Vers l’avant","radar.angle_right":"Vers la droite","radar.angle_clockwise":"Les angles augmentent dans le sens horaire","radar.zone_source":"Entité de zone","radar.occupancy_source":"Entité de présence","radar.count_source":"Entité du nombre de cibles","radar.availability_source":"Entité de disponibilité","radar.source_choose":"Choisir une entité","radar.source_optional":"Facultatif","radar.source_missing":"actuellement indisponible","radar.saved_unsupported":"Cette configuration radar enregistrée est incomplète ou non prise en charge. Elle reste inactive ; supprimez-la ou mettez House Plan à jour avant de la reconfigurer.","radar.occupancy":"Présence (activée/désactivée)","radar.count":"Nombre","radar.mount":"Position et direction","radar.mount_hint":"Il s’agit de la position physique du capteur. Déplacer son marqueur décoratif ne la modifie pas.","radar.heading":"Direction, °","radar.range_cm":"Portée, cm","radar.fov_deg":"Champ de vision, °","radar.unit":"Unité de la source","radar.mirror":"Inverser l’axe gauche/droite","radar.remove":"Supprimer les paramètres radar","radar.invalid":"Renseignez la pièce, les sources et la position du radar avant d’enregistrer.","radar.check_sources":"Vérifier les données en direct","radar.checking":"Vérification…","radar.health":"État de la connexion","radar.live_summary":"Cibles actuelles : {targets} ; arcs de distance : {ranges}","radar.health_ok":"Données actuelles reçues","radar.health_off":"Aucune cible détectée","radar.health_stale":"Certaines coordonnées sont obsolètes","radar.health_partial":"Certaines sources sont à jour, d’autres sont obsolètes","radar.health_restricted":"L’accès à une ou plusieurs sources est limité","radar.health_incomplete":"Le rapport radar actuel est incomplet","radar.health_position_unavailable":"Présence signalée ; position actuelle indisponible","radar.health_unavailable":"Données du capteur indisponibles","radar.health_needs_setup":"L’installation doit être configurée","radar.health_inconsistent":"Les sources fournissent des valeurs contradictoires","radar.health_unknown":"L’état actuel est inconnu","radar.health_disabled":"Le radar est désactivé","radar.error_invalid_radar":"Vérifiez les paramètres radar.","radar.error_invalid_selection":"Sélectionnez une pièce existante et des sources valides.","radar.error_source_restricted":"Vous n’avez pas accès à toutes les sources sélectionnées.","radar.error_rate_limited":"Trop de demandes. Réessayez dans un instant.","radar.error_not_ready":"Le traitement radar n’est pas encore prêt.","radar.error_conflict":"Le plan a changé. Rouvrez la configuration radar et réessayez.","radar.error_source_unavailable":"Une ou plusieurs sources radar sélectionnées sont indisponibles.","radar.error_unsupported_capability":"Cette fonction radar n’est pas prise en charge par l’intégration installée.","radar.report_age":"il y a {seconds} s","space.show_lqi":"Afficher le signal Zigbee (LQI) à côté des appareils","space.hide_decor":"Masquer la couche décorative","space.hide_decor_tip":"Les lignes, formes, étiquettes et meubles restent à leur place — visibles dans l’éditeur d’arrière-plan, mais pas sur le plan.","space.hide_openings":"Masquer les ouvertures","space.hide_openings_tip":"Les symboles de portes, fenêtres et portails ne sont pas dessinés, mais les ouvertures continuent de fonctionner : la lumière les traverse, le soleil entre par les fenêtres et les capteurs de contact continuent de les ouvrir. L’éditeur de plan les affiche toujours.","gs.light_none":"Aucune source lumineuse","mode.plan":"Éditeur de plan","mode.devices":"Éditeur d’appareils","display.value":"Valeur + état","marker.subarea":"aucune zone, manuel","device.new":"Nouvel appareil — ouvrez son éditeur pour fermer","opening.unlock_action":"Déverrouiller","opening.lock_action":"Verrouiller","opening.lock_pending":"En cours…","title.close_editor":"Fermer l’éditeur (retour à la vue)","title.add_device":"Ajouter un appareil au plan","devbar.add":"Ajouter","devbar.rules":"Règles d’icônes","device_inbox.button":"Appareils","device_inbox.title":"Appareils sur le plan","device_inbox.search":"Rechercher appareils, entités et intégrations…","device_inbox.add_virtual":"Ajouter un appareil virtuel","device_inbox.tab_on_plan":"Sur le plan","device_inbox.tab_available":"Disponibles","device_inbox.tab_hidden":"Masqués","device_inbox.tab_readd":"De nouveau disponibles","device_inbox.only_new":"Nouveaux uniquement","device_inbox.show_entities":"Afficher les entités","device_inbox.show_hidden":"Afficher les masqués sur le plan","device_inbox.show_hidden.help":"Affiche temporairement les marqueurs masqués et désactivés sous forme de fantômes réservés à l’éditeur. La visibilité enregistrée des appareils ne change pas.","device_inbox.show_hidden.help.aria":"Aide : afficher les appareils masqués sur le plan","device_inbox.new":"Nouveau","device_inbox.find":"Trouver sur le plan","device_inbox.edit":"Modifier","device_inbox.hide":"Masquer","device_inbox.show":"Afficher","device_inbox.add":"Ajouter","device_inbox.readd":"Ajouter à nouveau","device_inbox.hide_available":"Masquer de la liste","device_inbox.show_more":"Afficher plus","device_inbox.more_actions":"Plus d'actions","device_inbox.find_hidden_hint":"Activez d'abord « Afficher les masqués sur le plan »","device_inbox.show_disabled":"Activez cette liaison dans Home Assistant avant de l'afficher","device_inbox.empty_on_plan":"Aucun appareil correspondant n'est encore sur le plan.","device_inbox.empty_available":"Aucun appareil disponible à ajouter.","device_inbox.empty_hidden":"Il n'y a aucun appareil masqué.","device_inbox.empty_readd":"Aucun appareil supprimé n'est disponible pour un nouvel ajout.","device_inbox.reason_visible_auto":"Découvert automatiquement","device_inbox.reason_visible_explicit":"Ajouté explicitement","device_inbox.reason_manual_hidden":"Masqué par l'utilisateur","device_inbox.reason_automatic_hidden":"Masqué automatiquement","device_inbox.reason_service_entry":"Entrée de registre de service uniquement","device_inbox.reason_excluded_integration":"Intégration « {integration} » exclue par les filtres de découverte","device_inbox.reason_excluded_domain":"Type d'entité non spatial","device_inbox.reason_grouped_light":"Représenté par un groupe de lumières de la pièce","device_inbox.reason_represented_by_parent":"Représenté par son appareil parent","device_inbox.reason_removed":"Précédemment retiré du plan","device_inbox.reason_available":"Disponible pour ajout au plan","device_inbox.reason_no_bound_room":"La zone HA n'est liée à aucune pièce du plan","device_inbox.status_ha_disabled":"Désactivé dans Home Assistant","device_inbox.status_orphaned":"La liaison n'existe plus dans Home Assistant","device_inbox.status_unverified":"Le registre Home Assistant est temporairement indisponible","device_inbox.saved":"Liste des appareils mise à jour","device_inbox.filters_excluded":"Intégrations exclues","device_inbox.filters_group_lights":"Regrouper les lumières de la pièce en un marqueur","device_inbox.filters_preview_appear":"apparaîtra : {count}","device_inbox.filters_preview_hide":"disparaîtra : {count}","device_inbox.filters_preview_lights":"lumières concernées : {count}","device_inbox.filters_reset":"Rétablir les recommandées","device_inbox.filters_save":"Enregistrer les filtres","device_inbox.filters_search_ph":"Ajouter une intégration…","device_inbox.filters_title":"Filtres de découverte","space.roomcard_section":"La carte de pièce affiche :","space.label_temp":"Température","space.label_hum":"Humidité","space.label_lqi":"Signal Zigbee moyen","space.label_light":"Lumières allumées/éteintes","roomcard.light_on":"Allumé","roomcard.light_off":"Éteint","roomcard.light_partial":"{on} sur {total}","toast.split_pick_inside":"Les points intermédiaires de découpe doivent se trouver à l’intérieur de la pièce","mode.decor":"Éditeur d’arrière-plan","decor.select":"Sélectionner","decor.line":"Ligne","decor.rect":"Rectangle","decor.ellipse":"Ovale","decor.text":"Texte","decor.erase":"Effacer","decor.erase_confirm_title":"Effacer l’objet ?","decor.color":"Couleur","decor.width":"Épaisseur de ligne","decor.line_style":"Style de ligne","decor.line_style_solid":"Plein","decor.line_style_dashed":"Pointillés","decor.fill":"Remplissage","decor.fill_color":"Couleur de remplissage","decor.length":"Longueur","decor.size":"Taille","decor.flip_h":"Retourner horizontalement","decor.flip_v":"Retourner verticalement","decor.angle":"Angle de rotation, °","decor.text_size":"Taille du texte","decor.backdrop_properties":"Propriétés de l’arrière-plan du plan","decor.text_title":"Étiquette de texte","decor.object_title":"Modifier {kind}","decor.text_label":"Texte","decor.live_group":"Insérer une variable HA","decor.live_entity":"Entité","decor.live_entity_ph":"choisir une entité","decor.live_attr":"Valeur","decor.live_attr_ph":"choisir l’état ou un attribut","decor.live_state":"État","decor.backdrop":"Image d’arrière-plan","decor.backdrop_hint":"Faites glisser pour déplacer ; tirez un coin pour redimensionner ; utilisez la poignée supérieure pour faire pivoter. Maj modifie les proportions ou libère l’angle.","decor.backdrop_reset":"Réinitialiser l’image","decor.backdrop_reset_done":"L’image a retrouvé sa position et sa taille d’origine","marker.icon_auto":"Auto : {icon} (selon les règles d’icônes ; choisissez-en une pour remplacer)","marker.icon_pin_auto":"Épingle","mode.plan_tip":"Éditeur de plan — la géométrie du logement : dessiner et diviser/fusionner les pièces, les associer aux zones HA, placer portes, fenêtres et portails, déplacer les cartes de pièces, régler l’échelle","mode.devices_tip":"Éditeur d’appareils — tout ce qui concerne les icônes : faire glisser pour positionner, cliquer pour modifier l’association/l’icône/l’affichage, ajouter des appareils virtuels, règles d’icônes","mode.decor_tip":"Éditeur d’arrière-plan — décoration purement visuelle sous le plan : lignes, rectangles, ovales et étiquettes de texte qui ne réagissent jamais aux clics","space.glow_enabled":"Halo des sources lumineuses","gs.glow_group":"Halo des sources lumineuses","gs.glow_base":"Obscurité de la maison","gs.glow_light":"Couleur / intensité de lumière par défaut","gs.wall_group":"Murs","gs.wall_fill":"Remplissage des murs","gs.glow_radius":"Rayon du halo","gs.glow_radius.help":"Définit le rayon général du halo en mètres ou en pieds ; le rayon propre à un appareil remplace cette valeur.","gs.glow_radius.help.aria":"Aide : rayon général du halo","gs.unit_m":"m","gs.unit_ft":"pi","marker.controls_label":"Contrôle d’autres sources lumineuses","marker.controls.help":"Avec l’action « Basculer l’état », les sources répertoriées basculent avec ce marqueur. Leur halo reste sur leurs propres marqueurs et ce lien ne transforme pas à lui seul le marqueur de contrôle en source lumineuse.","marker.controls.help.aria":"Aide : contrôler d’autres sources lumineuses","marker.controls_filter":"Rechercher des lumières et interrupteurs…","info.controls":"Contrôle","marker.glow_radius_label":"Rayon du halo","marker.glow_radius.help":"Définit le rayon du halo en mètres ou en pieds ; une valeur vide utilise le rayon des paramètres généraux.","marker.glow_radius.help.aria":"Aide : rayon du halo","markup.wallthick":"Épaisseur","markup.select":"Sélectionner","title.markup_wallthick":"Épaisseur — cliquez sur un mur pour définir son épaisseur de 0 à 100 cm.","markup.hint_wallthick":"cliquez sur un mur · Échap ferme sans appliquer","wallthick.field":"Épaisseur","wallthick.unit_cm":"cm","wallthick.unit_in":"po","wallthick.apply_room":"Appliquer à tous les murs de cette pièce","markup.draw_wall_title":"Épaisseur de chaque nouveau segment de mur (0–100 cm). Les murs partagés conservent la valeur existante.","room.queue_progress":"Pièce {current} sur {total}","toast.wall_rooms_saved":"Pièces créées : {n}","toast.wall_chain_saved":"Chaîne de murs enregistrée","toast.wallthick_pick":"Cliquez sur un mur","toast.wallthick_set":"Épaisseur du mur définie","toast.wallthick_cleared":"Épaisseur du mur supprimée","toast.physical_range":"Saisissez une valeur comprise entre {min} et {max} {unit}","toast.zero_wall_opening_conflict":"Supprimez d’abord l’ouverture sur ce segment de mur.","toast.zero_wall_ambiguous":"Le segment de mur est ambigu. Simplifiez ou ajustez la jonction.","toast.zero_wall_migration_blocked":"L’espace n’a pas été converti : {reason}. Aucune donnée n’a été modifiée.","toast.physical_angle":"Saisissez un angle de rotation compris entre 0° inclus et 90° exclu","toast.physical_limit":"L’espace a atteint la limite pour ce type de géométrie","toast.geometry_unsafe":"Modification annulée : la géométrie des murs n’a pas pu être construite en toute sécurité.","junction.limit_angle":"L'angle entre les murs est trop aigu : {actual}°, minimum {limit}°.","junction.limit_valence":"Trop de murs se rejoignent en un nœud : {actual}, maximum {limit}.","junction.limit_length":"Le segment de mur est trop court : {actual} cm, minimum {limit} cm.","junction.limit_distance":"Les murs et les nœuds sont trop proches : {actual} cm, minimum {limit} cm.","junction.limit_clearance":"Il ne reste plus d'intérieur de pièce : {actual} cm², minimum {limit} cm².","junction.limit_check_failed":"La vérification des jonctions n'a pas pu s'exécuter — la modification n'a pas été enregistrée","toast.wall_model_migration_blocked":"Le modèle de murs n’a pas pu être mis à jour : {reason}. Le plan n’a pas été modifié. Lancez « Optimiser les plans » ; si l’erreur se reproduit, corrigez la géométrie de mur conflictuelle.","toast.wall_model_client_outdated":"Mettez à jour la carte et rechargez la page avant de modifier le plan.","wall_model.reason.invalid-room":"contour de pièce invalide","wall_model.reason.zero-length":"segment de mur de longueur nulle","wall_model.reason.third-owner":"mur partagé par plus de deux pièces","wall_model.reason.duplicate-id":"identifiants de mur en conflit","wall_model.reason.thickness-conflict":"valeurs d’épaisseur de mur en conflit","wall_model.reason.opening-host":"l’ouverture ne peut pas être attribuée à un seul mur","toast.delete_room_pick":"Cliquez à l’intérieur de la pièce que vous souhaitez supprimer","toast.plan_snap_ambiguous":"Zoomez pour choisir le nœud du mur","toast.wall_repair_ambiguous":"Le contour de la pièce possède plusieurs connexions possibles. Zoomez et reliez-le explicitement.","toast.wall_repair_too_large":"L’écart dépasse 2 cm. Reliez les murs avant de créer la pièce.","toast.wall_repair_changed":"La géométrie des murs a changé. Essayez de créer de nouveau la pièce.","toast.opening_on_zero_wall":"Les ouvertures ne peuvent pas être placées sur un mur d’épaisseur nulle","marker.from_ha_option":"Choisir dans la liste HA","marker.show_entities":"Afficher les entités","marker.show_entities_tip":"Ajoute à la liste non seulement les appareils, mais aussi toutes leurs entités","marker.pick_ph":"Choisir un appareil…","room.open_area":"Ouvrir la zone HA","room.fit_action":"Ajuster la pièce {name}","view.volumetric":"Vue volumétrique","view.flat":"Vue plane","kiosk.title":"Tailles pour cet écran","kiosk.hint":"Enregistrées uniquement sur cet appareil — chaque tablette murale ou TV peut avoir ses propres tailles confortables.","kiosk.icon_scale":"Taille des icônes d’appareils","kiosk.font_scale":"Taille du texte des cartes de pièces","editor.kiosk":"Mode appareil mural (kiosque)","editor.cycle":"Changer automatiquement d’espace toutes les N secondes (kiosque, 0 = désactivé)","room.settings_title":"Paramètres de la pièce","room.settings_section":"Paramètres de la pièce (remplacent ceux de l’espace)","room.fill_label":"Remplissage de CETTE pièce","fill.inherit":"Comme l’espace","room.custom_fill_space":"Couleur de l’espace","room.custom_fill_own":"Couleur de la pièce","room.temp_range_label":"Plage de confort","room.temp_range_min":"Limite basse de température confortable","room.temp_range_max":"Limite haute de température confortable","room.temp_range_reset":"Comme l’espace","room.temp_range.help":"Cette plage s’applique uniquement à cette pièce. Un champ vide hérite de la limite correspondante de l’espace ; si les limites sont inversées, House Plan utilise la plus petite comme limite basse et la plus grande comme limite haute.","room.temp_range.help.aria":"À propos de la plage de confort de la pièce","room.temp_src_label":"Source de température","room.hum_src_label":"Source d’humidité","room.src_average":"Moyenne des capteurs de la pièce (par défaut)","room.src_pick":"Un appareil ou une entité HA spécifique","room.src_ph":"Choisir une source…","toast.room_updated":"Pièce mise à jour","space.card_font":"Taille de police des cartes de pièces (tout l’espace)","room.sizes_section":"Tailles de police","room.name_scale":"Taille du nom de la pièce","room.label_scale":"Taille des mesures","preview.room_name":"Salon","toast.cfg_reload_failed":"Impossible de recharger le plan depuis le serveur : {err}","toast.locale_load_failed":"Impossible de charger le pack de langue. L'anglais est utilisé jusqu'au rechargement de la page.","toast.furniture_art_load_failed":"Impossible de charger les dessins de meubles. Rechargez la page pour les afficher.","room.settings_short":"Paramètres de la pièce","room.unnamed":"Pièce sans nom","marker.use_climate_temp":"Inclure la température de l’appareil dans la pièce","marker.use_climate_temp_tip":"Ajoute la valeur current_temperature d’un climatiseur ou thermostat à la moyenne de la pièce. Configurez séparément le badge de valeur externe ci-dessous.","marker.value_badge_title":"Badge de valeur","marker.value_badge.help":"Affiche une valeur sélectionnée à côté de l’icône. Cela n’affecte pas les mesures de la pièce, la lumière, le halo ni l’action au toucher.","marker.value_badge.help.aria":"Aide : badge de valeur de l’appareil","marker.value_badge_enabled":"Afficher un badge de valeur","marker.value_badge_source":"Valeur","marker.value_badge_source.help":"Choisissez un état précis, un attribut pris en charge ou une valeur dérivée de cet appareil.","marker.value_badge_source.help.aria":"Aide : source du badge de valeur","marker.value_badge_position":"Position","marker.value_badge_position.help":"Le côté choisi reste fixe et ne bascule pas automatiquement au bord du plan.","marker.value_badge_position.help.aria":"Aide : position du badge de valeur","marker.value_badge_right":"À droite","marker.value_badge_bottom":"En dessous","marker.value_badge_left":"À gauche","marker.value_badge_top":"Au-dessus","marker.value_badge_empty":"Cet appareil n’a aucune valeur disponible","marker.value_badge_static":"Une icône statique n’affiche pas de valeurs en direct. Le paramètre est conservé.","marker.value_badge_missing":"Source indisponible","marker.value_badge_missing_hint":"La source enregistrée est actuellement indisponible. Conservez-la, désactivez le badge ou choisissez une autre valeur.","marker.value_badge_duplicate":"La même valeur est déjà affichée dans l’icône.","marker.value_badge_state":"État · {name}","marker.value_badge_marker_state":"État de la source lumineuse · {name}","marker.value_badge_lqi":"Qualité moyenne du signal Zigbee","marker.value_badge_attr_current_temperature":"Température actuelle · {name}","marker.value_badge_attr_temperature":"Température cible · {name}","marker.value_badge_attr_current_humidity":"Humidité actuelle · {name}","marker.value_badge_attr_humidity":"Humidité · {name}","marker.value_badge_attr_current_position":"Position · {name}","marker.value_badge_attr_percentage":"Vitesse · {name}","marker.value_badge_attr_brightness":"Luminosité · {name}","marker.value_badge_attr_volume_level":"Volume · {name}","marker.value_badge_attr_battery_level":"Batterie · {name}","marker.value_badge_attr_fan_speed":"Vitesse du ventilateur · {name}","marker.value_source":"Source de la valeur","marker.value_source.help":"Choisissez la valeur qui remplace l’icône. L’action au toucher ne change pas.","marker.value_source.help.aria":"Aide : source de la valeur dans le marqueur","marker.value_source_auto":"Automatique (comme avant)","marker.value_source_missing_hint":"La source enregistrée est indisponible. Le marqueur affiche — jusqu’à son retour ou jusqu’au choix d’une autre valeur.","marker.light_role_label":"Cet appareil est-il une source lumineuse ?","marker.light_role.help":"« Auto » utilise le rôle déterminé de l’appareil lié, « Toujours » force sa propre source et « Jamais » l’exclut ; les lumières liées ci-dessus restent indépendantes.","marker.light_role.help.aria":"Aide : cet appareil est-il une source lumineuse","marker.light_role_auto_yes":"Auto (source lumineuse)","marker.light_role_auto_no":"Auto (pas une source lumineuse)","marker.light_role_always":"Toujours une source lumineuse","marker.light_role_never":"Jamais une source lumineuse","marker.light_entity_label":"Entité lumineuse principale","marker.light_entity.help":"Pour un appareil composite, choisissez l’entité dont l’état, la couleur et la luminosité représentent cette source sur le plan. Le choix automatique reste compatible avec les anciens plans.","marker.light_entity.help.aria":"Aide : entité lumineuse principale","marker.light_entity_auto":"Automatique ({entity})","marker.light_entity_none":"aucune entité contrôlable","marker.light_entity_missing":"L’entité enregistrée {entity} est indisponible. House Plan utilise temporairement {fallback} ; le choix enregistré sera restauré si elle revient.","marker.toggle_entity_label":"Entité à basculer","marker.toggle_entity.help":"Pour un appareil composite, choisissez précisément la lumière ou l’interrupteur propre à actionner par un toucher. Automatique conserve les règles de cible précédentes et reste indépendant de l’entité lumineuse principale.","marker.toggle_entity.help.aria":"Aide : entité à basculer","marker.toggle_entity_auto":"Automatique ({entity})","marker.toggle_entity_none":"aucune entité propre contrôlable","marker.toggle_entity_missing":"L’entité enregistrée {entity} ne fait plus partie des canaux sélectionnables de ce marqueur. House Plan utilise temporairement {fallback} ; le choix enregistré sera restauré si elle revient.","marker.glow_color_label":"Couleur et luminosité du halo","marker.glow_mode.help":"Utilisez les valeurs en direct de la source, remplacez uniquement sa couleur ou fixez à la fois la couleur et la luminosité. Le minimum est 1 % ; pour désactiver la source, choisissez « Jamais ».","marker.glow_mode.help.aria":"Aide : couleur et luminosité du halo","marker.glow_mode_auto":"Depuis la source","marker.glow_mode_color":"Définir la couleur","marker.glow_mode_fixed":"Définir la couleur et la luminosité","marker.glow_color":"Couleur du halo","marker.glow_brightness":"Luminosité","marker.glow_disabled_never":"Les paramètres du halo sont indisponibles car ce marqueur est explicitement défini comme n’étant pas une source lumineuse.","marker.glow_disabled_auto":"Le mode Auto n’a trouvé aucune source lumineuse spatiale pour ce marqueur.","marker.glow_disabled_no_entity":"Aucune entité Home Assistant contrôlable et active n’est disponible pour cette source spatiale.","marker.glow_passive_hint":"Cette source ne possède aucune donnée Home Assistant propre. Définissez manuellement sa couleur et sa luminosité ; son rayon reste disponible.","marker.control_broken":"La source enregistrée est absente ou n’est plus marquée comme lumière","marker.control_missing_label":"Lumière du plan manquante","marker.control_passive":"source passive","toast.marker_control_cycle":"Ce lien créerait une chaîne circulaire de contrôles de lumière.","toast.marker_binding_required":"Choisissez un appareil Home Assistant avant de lier une autre source lumineuse.","confirm.unlock_title":"Déverrouiller ?","confirm.unlock_body":"House Plan enverra une commande de déverrouillage à cette serrure.","toast.files_migrate_failed":"Les pièces jointes n’ont pas pu être déplacées vers la nouvelle association ; les liens continuent de pointer vers les anciens fichiers : {err}","space.pick_saved":"Déjà importé","space.pick_saved_hint":"Plans stockés sur le serveur, y compris ceux que vous avez précédemment dissociés","space.no_saved":"Aucun plan n’est encore stocké sur le serveur.","space.loading":"Chargement…","space.used_by":"utilisé par : {list}","space.in_use":"Un espace utilise encore ce plan — dissociez-le d’abord","btn.use":"Utiliser","confirm.delete_plan_title":"Supprimer le fichier du plan ?","confirm.delete_plan_body":"Le fichier sera supprimé du serveur. Cette action est irréversible.","toast.plans_list_failed":"Impossible de lister les plans stockés : {err}","toast.plan_delete_failed":"Impossible de supprimer le plan : {err}","marker.hide":"Masquer","marker.hide_tip":"L’appareil disparaîtra du plan après l’enregistrement mais continuera de compter dans le signal de la pièce. Restaurez-le via « Masqués et désactivés » dans l’éditeur d’appareils.","marker.show":"Afficher","marker.show_tip":"L’appareil apparaîtra de nouveau sur le plan après l’enregistrement.","marker.hidden_ghost":"Appareil masqué par l’utilisateur","marker.ha_disabled_device":"L’appareil est désactivé dans Home Assistant et masqué du plan.","marker.ha_disabled_entity":"L’entité est désactivée dans Home Assistant et masquée du plan.","marker.ha_disabled_all_entities":"L’appareil n’a aucune entité Home Assistant active ; il est donc masqué du plan.","marker.ha_registry_limited":"Le registre Home Assistant complet n’est pas accessible à cet utilisateur. L’objet non vérifié ne peut pas être affiché ni utilisé pour le moment.","marker.delete_tip":"Supprimer complètement l’appareil du plan et de tous les agrégats. Vous pourrez l’ajouter de nouveau plus tard.","tap.run":"Exécuter une automatisation/un script/une scène","tap.none":"Ne rien faire","marker.run_target_label":"Élément à exécuter","marker.run_search_ph":"Rechercher : automatisation, script ou scène…","marker.run_target_gone":"Cible {id} introuvable — choisissez-en une autre","marker.tap_confirm":"Demander une confirmation","marker.tap_confirm_tip":"Afficher une boîte de dialogue de confirmation avant l’action — protection contre les appuis accidentels.","marker.toggle_hint_single":"Cible : {name} ({id}).","marker.virtual_light_target":"Lumière virtuelle : {name}.","marker.virtual_light_current":"État manuel : {state} → {effect}.","marker.virtual_light_state_on":"allumé","marker.virtual_light_state_off":"éteint","marker.toggle_hint_group":"Basculera {count} source(s) : {names}.","marker.toggle_hint_current":"Actuellement : {state} → {effect}.","marker.toggle_hint_group_current":"Actuellement allumées : {on} sur {count} → {effect}.","marker.toggle_hint_skipped":"Seront ignorées ({count}) : {targets}.","marker.toggle_effect_turn_on":"sera allumé","marker.toggle_effect_turn_off":"sera éteint","marker.toggle_effect_open":"sera ouvert","marker.toggle_effect_close":"sera fermé","marker.toggle_effect_stop":"sera arrêté","marker.toggle_effect_toggle":"l’état sera basculé","marker.toggle_skip_missing":"introuvable","marker.toggle_skip_ha_disabled":"désactivé dans HA","marker.toggle_skip_unavailable":"indisponible","marker.toggle_skip_unsupported":"basculement non pris en charge","marker.toggle_skip_secure":"bloqué pour des raisons de sécurité","marker.toggle_none_no_binding":"Cet appareil n’a aucune association ; il n’y a donc aucun état à basculer. Un toucher ne fera rien.","marker.toggle_none_no_actionable_entity":"Cet appareil n’a aucun état pouvant être basculé. Un toucher ne fera rien.","marker.toggle_none_configured_targets_missing":"Les cibles configurées sont indisponibles. L’entité propre de l’appareil ne leur sera pas substituée.","marker.toggle_none_ha_disabled":"La cible est désactivée dans Home Assistant et ne peut pas être utilisée sur le plan.","marker.toggle_none_unavailable":"La cible est actuellement indisponible. Un toucher ne fera rien.","marker.toggle_none_unsupported":"Home Assistant n’expose aucune opération de basculement sûre pour cette entité. Un toucher ne fera rien.","marker.toggle_none_secure":"Le basculement des serrures, alarmes et portails sécurisés depuis le plan est bloqué pour des raisons de sécurité.","run.automation":"automatisation","run.script":"script","run.scene":"scène","confirm.tap_run":"Exécuter « {name} » ?","confirm.tap_toggle":"Basculer « {name} » ?","confirm.current_state":"État actuel : {state}","confirm.expected_state":"Après basculement : {state}","confirm.group_current":"{on} allumé(s) sur {total}","confirm.group_all_on":"tout est allumé","confirm.group_all_off":"tout est éteint","confirm.unavailable_targets":"Indisponibles : {count}","confirm.expected_by_ha":"Home Assistant déterminera l’état","confirm.state_on":"Allumé","confirm.state_off":"Éteint","confirm.state_open":"Ouvert","confirm.state_closed":"Fermé","confirm.state_opening":"Ouverture en cours","confirm.state_closing":"Fermeture en cours","confirm.state_stopped":"Arrêté","confirm.state_unknown":"Inconnu","toast.run_started":"Démarré : {name}","toast.run_target_missing":"Cible d’exécution introuvable — vérifiez les paramètres de l’appareil","toast.run_target_required":"Choisissez une automatisation, un script ou une scène","toast.tap_target_changed":"La cible de l’action a changé. Réessayez.","toast.virtual_light_toggle_failed":"Impossible de basculer la lumière virtuelle : {err}","toast.value_badge_source_required":"Choisissez une valeur pour le badge","btn.run":"Exécuter","vac.section":"Robot aspirateur : position en direct","vac.autocal":"Configurer automatiquement","vac.live":"Position en direct sur le plan","vac.trail":"Afficher le trajet du robot","vac.autocal_no_rooms":"L’intégration ne fournit aucune liste de pièces — ouvrez « Ajuster manuellement »","vac.route_warn_unmapped":"Le robot nettoie une carte qui n'est assignée à aucun étage","vac.route_warn_needs_calibration":"La carte est assignée à un étage mais n'est pas calibrée","vac.route_warn_ambiguous":"Deux cartes sont indiscernables — aucun étage choisi","vac.route_warn_missing_space":"L'espace de cette carte a été supprimé","vac.autocal_no_match":"Les noms de pièces ne correspondent pas (il en faut ≥3 en commun) — ouvrez « Ajuster manuellement »","vac.autocal_done":"Terminé : association via {rooms} pièces. Lancez un nettoyage et vérifiez","vac.cal_need_pos":"Le robot ne transmet pas de coordonnées — lancez un nettoyage puis mettez-le en pause","vac.cal_done":"Calibration enregistrée. Lancez un nettoyage et vérifiez","vac.cal_cancelled":"Calibration annulée","vac.fit":"Ajuster manuellement","vac.fit_hint":"Faites glisser la carte du robot pour la positionner, étirez-la par les coins","vac.fit_rotate":"Rotation de 90°","vac.fit_mirror":"Miroir","vac.trail_never":"Jamais","vac.trail_cleaning":"Pendant le nettoyage","vac.trail_always":"Toujours","gs.bg_group":"Arrière-plan de la scène","gs.bg_color":"Arrière-plan autour du plan","gs.bg_default":"Valeur par défaut du thème","gs.bg_theme":"valeur par défaut du thème","gs.bg_mode":"Arrière-plan du plan","gs.bg_mode.help":"« Suit le soleil » utilise sun.sun ou, à défaut, l’heure locale du navigateur ; « Couleur statique » affiche toujours la couleur choisie.","gs.bg_mode.help.aria":"Aide : arrière-plan général du plan","gs.bg_static":"Couleur statique","gs.bg_daynight":"Suit le soleil","gs.sun_group":"Soleil","gs.sun_missing":"L’entité sun.sun est introuvable — l’arrière-plan suit votre heure locale ; les rayons de soleil par les fenêtres sont indisponibles.","gs.north":"Nord sur le plan","gs.north.help":"L’angle se mesure dans le sens horaire depuis la verticale supérieure du plan ; le nord sert aux rayons des fenêtres, pas à l’arrière-plan « Suit le soleil ».","gs.north.help.aria":"Aide : direction générale du nord","gs.north_ph":"non défini","gs.north_clear":"Effacer","gs.north_letter":"N","gs.sun_rays":"Lumière du soleil à travers les fenêtres","gs.sun_ray_origin":"Rayons du soleil","gs.sun_ray_origin.inner":"Depuis les angles intérieurs des fenêtres","gs.sun_ray_origin.outer":"Depuis les angles extérieurs des fenêtres","gs.about_version":"Houseplan Card v{v}","gs.about_github":"GitHub · documentation et problèmes","gs.about_telegram":"Discussion Telegram","support.title":"Aide et commentaires","space.bg_color":"Arrière-plan autour du plan","space.bg_inherit":"Hériter des paramètres généraux","space.bg_inherited":"hérite des paramètres généraux","space.bg_mode":"Arrière-plan du plan","space.bg_mode.help":"Héritez de l’arrière-plan général ou remplacez-le pour cet espace par une couleur statique ou le mode « Suit le soleil ».","space.bg_mode.help.aria":"Aide : arrière-plan de l’espace","space.north":"Nord sur le plan (remplacement)","space.north.help":"Remplace le nord général pour cet espace ; l’angle se mesure dans le sens horaire depuis la verticale supérieure du plan et sert aux rayons des fenêtres.","space.north.help.aria":"Aide : nord de cet espace","space.north_inherited":"hérité : {v}","space.sun_rays":"Lumière du soleil à travers les fenêtres","space.sun_inherit":"Hériter des paramètres généraux","space.sun_on":"Activé","space.sun_off":"Désactivé","canvas.far_objects":"{n} objet(s) éloigné(s) du plan","canvas.show_far":"Afficher","canvas.home_tip":"Le plan est là-bas — cliquez pour l’ajuster à l’écran","gs.grid_group":"Maintenance du plan","gs.grid_hint":"Met à jour les modèles de données, aligne les éléments du plan sur la grille et fusionne les fragments de murs redondants. Un rapport précis est affiché avant tout enregistrement.","gs.align_all":"Optimiser les plans","gs.align_title":"Optimiser les plans","gs.align_none":"Tous les plans utilisent déjà le modèle de données optimisé actuel.","gs.optimize_no_automatic_changes":"Aucune modification automatique n’est à appliquer. Vérifiez les éléments ci-dessous.","gs.align_count":"{n} élément(s) sur {total} seront déplacés, de {cm} cm au maximum.","gs.align_where":"Le plus grand déplacement se trouve dans « {s} ».","gs.align_turned":"Ouvertures dont l’angle est corrigé : {n}.","gs.align_preflight_failed":"Impossible de vérifier en toute sécurité la géométrie des espaces suivants : {spaces}{more}.","gs.align_preflight_hint":"Les plans n’ont pas été modifiés. Copiez les diagnostics avec le bouton ci-dessous et joignez-les au rapport de bug avec un export de l’espace.","gs.preflight_reason_prepare-exception":"Impossible de préparer la géométrie de l’espace (exception lors de la construction du modèle)","gs.preflight_reason_wall-null":"Le corps du mur n’a pas pu être construit (l’union a renvoyé un résultat vide)","gs.preflight_reason_wall-degraded-extra":"Le corps du mur s’est dégradé avec une géométrie supplémentaire","gs.preflight_reason_wall-failed-core":"Le noyau du corps du mur n’a pas pu être assemblé","gs.preflight_reason_wall-exception":"La construction du mur a déclenché une exception","gs.preflight_reason_floor-null":"Le contour du sol n’a pas pu être construit","gs.preflight_reason_floor-exception":"La construction du sol a déclenché une exception","gs.preflight_copy":"Copier les diagnostics","gs.preflight_copied":"Diagnostics copiés","gs.preflight_update_hint":"Les versions de la carte et de l’intégration diffèrent — mettez House Plan à jour puis réessayez.","gs.align_preflight_space":"Espace {n}","gs.align_preflight_more":", et {n} de plus","gs.optimize_changes":"Migrations de modèle : {m} ; espaces mis à jour : {c} ; valeurs de coordonnées parasites supprimées : {p} ; fragments de murs réels fusionnés : {w} ; fragments de murs d’épaisseur nulle fusionnés : {s} ; murs indépendants : {i}.","gs.zero_walls_migrated":"Portions de murs virtuels converties : {n}.","gs.wall_segments_migrated":"Segments de murs stabilisés : {n}.","gs.room_drafts_migrated":"Contours inachevés convertis en murs ordinaires : {drafts} ; segments : {segments}.","gs.optimize_lattice_summary":"Valeurs de coordonnées parasites normalisées : {n} ; déplacement maximal : {cm} cm.","gs.optimize_lattice_space":"{space} : valeurs de coordonnées normalisées : {n} ; valeurs hors grille laissées inchangées : {far}.","gs.optimize_coincident_partitions":"Sections de murs indépendants masquées absorbées dans les murs des pièces : {n}.","gs.optimize_openings_rehosted":"Ouvertures rattachées aux murs des pièces : {n}.","gs.optimize_walls_straightened":"Murs redressés : {n} ; déplacement maximal : {cm} cm.","gs.optimize_walls_straightened_where":"Plus grande correction de mur : {s}.","gs.optimize_walls_straighten_skipped":"Murs proches d’un axe laissés inchangés car ils ne pouvaient pas être réparés en toute sécurité : {n}.","gs.optimize_glow_migration":"Ancien mode Glow : {spaces} espaces → aucun remplissage de données + Glow indépendant ; {rooms} pièces → remplissage de données hérité + Glow indépendant.","gs.optimize_references":"Références réparées : espaces — {spaces} ; pièces — {rooms} ; positions — {positions} ; appareils dissociés des espaces manquants — {detached}.","gs.optimize_reference_more":", et {n} de plus","gs.optimize_orphans_removed":"Enregistrements oubliés supprimés : {total} — étiquettes de pièces : {rooms} ; appareils : {devices} ; marqueurs de groupe : {groups}. Ils appartenaient à des espaces supprimés précédemment.","gs.optimize_live_positions":"Anciennes positions dans des espaces supprimés appartenant à des objets existants : {n}{names}. Elles seront conservées.","gs.optimize_live_positions_remove":"Anciennes positions dans des espaces supprimés appartenant à des objets existants : {n}{names}. Elles sont sélectionnées pour suppression.","gs.optimize_live_names":" : {names}{more}","gs.optimize_live_remove":"Supprimer les anciennes positions","gs.optimize_live_keep":"Conserver les anciennes positions","gs.optimize_live_selected":"Les anciennes positions seront supprimées après l’application de l’optimisation.","gs.optimize_unverified":"Impossible de vérifier en toute sécurité les positions : {n}. Elles ont été laissées inchangées.","gs.optimize_registry_limited":"Un accès administrateur complet aux registres Home Assistant est requis pour une vérification sûre.","gs.optimize_vacuum_warning":"Associations de pièces d’aspirateur nécessitant encore une vérification : {n}.","gs.optimize_details":"Détails","gs.optimize_details_more":"Et {n} enregistrement(s) de plus.","gs.optimize_detail_removed":"sera supprimé","gs.optimize_detail_live":"sera conservé","gs.optimize_detail_unverified":"non vérifié","gs.optimize_detail_room_label":"étiquette de pièce","gs.optimize_detail_device":"appareil","gs.optimize_detail_group":"marqueur de groupe","gs.optimize_detail_unknown":"propriétaire inconnu","gs.optimize_detail_item":"{status} : {kind} {id} ; ancien espace {space}","gs.align_warn":"Les éléments volontairement placés entre les nœuds de la grille seront déplacés. Une seule annulation est disponible après l’opération, uniquement jusqu’à la prochaine modification du plan.","gs.align_run":"Optimiser","gs.align_done":"Plans optimisés : {n} élément(s) déplacé(s), {m} enregistrement(s) maintenu(s), {r} référence(s) réparée(s)","gs.optimize_undo":"Annuler la dernière optimisation","gs.optimize_undone":"La dernière optimisation a été annulée","decor.furniture":"Mobilier","decor.image":"Image","decor.image_title":"Images personnalisées","decor.image_upload":"Importer une image","decor.image_replace":"Remplacer l’image","decor.image_uploading":"Importation…","decor.image_asset":"Fichier image","decor.image_pick_hint":"Importez une image ou choisissez-en une existante.","decor.image_place_hint":"Cliquez sur le plan pour placer l’image.","decor.image_none":"Aucune image importée pour le moment.","decor.image_unavailable":"Image indisponible","decor.image_used":"Utilisée dans {n} objets","decor.image_upload_failed":"Impossible d’importer l’image : {err}","decor.image_error_capacity":"Le stockage des images personnalisées est plein.","decor.image_in_use":"Supprimez toutes les copies placées avant ce fichier.","decor.image_delete_title":"Supprimer le fichier image ?","decor.image_delete_message":"Supprimer « {name} » de House Plan ? Cette action est irréversible.","furn.title":"Bibliothèque de mobilier","furn.symbol":"Symbole","furn.group_furniture":"Mobilier","furn.group_appliance":"Électroménager","furn.group_sanitary":"Sanitaires","furn.group_other":"Autre","furn.width":"Largeur","furn.depth":"Profondeur","furn.back_to_categories":"Toutes les catégories","furn.pick_hint":"Choisissez un symbole, puis cliquez sur le plan.","furn.place_hint":"Cliquez sur le plan — le meuble se place contre le mur le plus proche. Maj permet un placement libre.","furn.cat_air_conditioner":"Climatiseurs","furn.cat_armchair":"Fauteuils","furn.cat_bathtub":"Baignoires","furn.cat_bed":"Lits","furn.cat_bidet":"Bidets","furn.cat_boiler":"Chauffe-eau","furn.cat_chair":"Chaises","furn.cat_coffee_table":"Tables basses","furn.cat_cooktop":"Plaques de cuisson","furn.cat_dining_table":"Tables à manger","furn.cat_dishwasher":"Lave-vaisselle","furn.cat_dryer":"Sèche-linge","furn.cat_fireplace":"Cheminées","furn.cat_fridge":"Réfrigérateurs","furn.cat_kitchen_cabinet":"Meubles de cuisine","furn.cat_kitchen_sink":"Éviers de cuisine","furn.cat_nightstand":"Meubles","furn.cat_plant":"Plantes","furn.cat_rug":"Tapis","furn.cat_shelving":"Étagères","furn.cat_shower":"Douches","furn.cat_sink":"Lavabos","furn.cat_sofa":"Canapés","furn.cat_stairs":"Escaliers","furn.cat_toilet":"Toilettes","furn.cat_tv":"Téléviseurs","furn.cat_wardrobe":"Armoires","furn.cat_washer":"Lave-linge","furn.cat_work_table":"Bureaux","furn.sym_sofa":"Canapé","furn.sym_sofa_three_seat":"Canapé trois places","furn.sym_sofa_corner_right":"Canapé d'angle droit","furn.sym_armchair":"Fauteuil","furn.sym_armchair_office":"Chaise de bureau","furn.sym_coffee_table":"Table basse","furn.sym_coffee_table_round":"Table basse ronde","furn.sym_coffee_table_oval":"Table basse ovale","furn.sym_coffee_table_rounded":"Table basse arrondie","furn.sym_table_dining":"Table à manger","furn.sym_table_round":"Table ronde","furn.sym_table_dining_oval":"Table à manger ovale","furn.sym_table_dining_rounded":"Table à manger arrondie","furn.sym_chair":"Chaise","furn.sym_chair_bar":"Tabouret de bar","furn.sym_desk":"Bureau","furn.sym_desk_corner":"Bureau d'angle","furn.sym_bed_double":"Lit double","furn.sym_bed_single":"Lit simple","furn.sym_nightstand":"Table de chevet","furn.sym_cabinet_tv":"Meuble TV","furn.sym_cabinet_shoe":"Meuble à chaussures","furn.sym_cabinet_sink":"Meuble sous lavabo","furn.sym_wardrobe":"Armoire","furn.sym_bookshelf":"Bibliothèque","furn.sym_wall_unit":"Élément mural","furn.sym_kitchen_floor":"Module de cuisine bas","furn.sym_kitchen_floor_corner":"Module de cuisine bas d'angle","furn.sym_kitchen_wall":"Module de cuisine haut","furn.sym_kitchen_wall_corner":"Module de cuisine haut d'angle","furn.sym_shelf_floor":"Étagère au sol","furn.sym_shelf_wall":"Étagère murale","furn.sym_fridge":"Réfrigérateur","furn.sym_stove":"Cuisinière","furn.sym_cooktop_two":"Plaque à deux feux","furn.sym_dishwasher":"Lave-vaisselle","furn.sym_washer":"Lave-linge","furn.sym_dryer":"Sèche-linge","furn.sym_tv":"Téléviseur","furn.sym_tv_wall":"Téléviseur mural","furn.sym_ac":"Climatiseur","furn.sym_water_heater":"Chauffe-eau","furn.sym_toilet":"Toilettes","furn.sym_toilet_built_in":"Toilettes suspendues","furn.sym_bathtub":"Baignoire","furn.sym_bathtub_corner":"Baignoire d'angle","furn.sym_shower":"Douche","furn.sym_sink":"Lavabo","furn.sym_kitchen_sink":"Évier de cuisine","furn.sym_kitchen_sink_double":"Évier de cuisine double","furn.sym_bidet":"Bidet","furn.sym_bidet_built_in":"Bidet suspendu","furn.sym_stairs":"Escalier","furn.sym_fireplace":"Cheminée","furn.sym_plant":"Plante","furn.sym_rug":"Tapis","common.yes":"Oui","common.no":"Non","vac.diag_source":"Source","vac.diag_platform":"Intégration","vac.diag_status":"État","vac.diag_position":"Position","vac.diag_rooms":"Pièces","vac.diag_rooms_value":"{total} · {matched} noms correspondent · {readiness}","vac.autocal_ready":"calibration automatique disponible","vac.autocal_not_ready":"3 noms correspondants requis","vac.diag_path":"Chemin de l’intégration","vac.diag_map":"ID de carte","vac.source_none":"non sélectionné","vac.source_status_ok":"Prêt","vac.source_status_missing":"Manquant","vac.source_status_disabled":"Désactivé dans Home Assistant","vac.source_status_unavailable":"Indisponible","vac.source_status_unverified":"Impossible à vérifier avec les autorisations actuelles","vac.source_status_unsupported":"Aucune donnée de position","vac.source_status_none":"Aucune source","vac.source_banner_missing":"La source enregistrée n’existe plus. Elle n’a pas été remplacée automatiquement ; choisissez une autre source ou restaurez-la dans Home Assistant.","vac.source_banner_disabled":"La source enregistrée est désactivée dans Home Assistant. Activez-la ou choisissez une autre source.","vac.source_banner_unverified":"Les autorisations Home Assistant actuelles ne permettent pas de vérifier cette source enregistrée. Elle reste épinglée et ne sera pas remplacée automatiquement.","vac.choose_source":"Choisir la source","vac.source_auto":"Automatique","vac.source_auto_hint":"Utiliser une entité compatible de cet appareil","vac.all_cameras":"Toutes les caméras","vac.all_cameras_warn":"Une caméra peut ne pas fournir de données du robot. Choisissez-en une uniquement s’il s’agit de la carte de votre aspirateur.","vac.all_cameras_empty":"Aucune autre entité caméra trouvée.","vac.platform_unknown":"intégration inconnue","vac.cap_position":"position","vac.cap_rooms_short":"pièces","vac.cap_path":"trajet","vac.cap_map":"ID de carte","vac.cap_none":"aucune donnée de robot détectée","vac.xcme_hint":"Activez ces attributs Xiaomi Cloud Map Extractor :","vac.documentation":"Documentation","vac.residual_title":"Vérifier la calibration automatique","vac.residual_message":"Les pièces correspondantes présentent un écart maximal de {error}. Appliquez cette calibration approximative, affinez-la manuellement ou annulez sans modifier la configuration enregistrée.","vac.apply_proposal":"Appliquer","gs.backup_group":"Sauvegarde et transfert","gs.backup_hint":"Téléchargez une sauvegarde JSON portable ou prévisualisez et importez une sauvegarde créée par House Plan.","backup.export_open":"Exporter","backup.import_open":"Importer","backup.export_title":"Exporter House Plan","backup.import_title":"Importer House Plan","backup.export_hint":"Choisissez si la sauvegarde doit contenir toute la configuration House Plan ou uniquement l’espace actuel.","backup.full":"Sauvegarde complète","backup.current_space":"Espace actuel","backup.current_space_title":"Espace actuel : {title}","backup.no_current_space":"Aucun espace actuel","backup.plan_only":"Plan uniquement","backup.plan_only_hint":"Conserver les pièces, murs, ouvertures, décorations et positions des étiquettes de pièces sans les appareils ni les associations Home Assistant.","backup.plan_only_preview":"Ce fichier contient uniquement le plan","backup.privacy_warning":"L’archive conserve les noms, identifiants Home Assistant et coordonnées exactes. Les plans internes et pièces jointes sont référencés, pas intégrés ; les états d’exécution et trajets d’aspirateur ne sont pas inclus.","backup.download":"Télécharger le JSON","backup.export_done":"Sauvegarde téléchargée","backup.reading":"Vérification de la sauvegarde…","backup.revalidated":"Le plan a changé depuis cet aperçu. Le résumé a été actualisé ; vérifiez-le et confirmez de nouveau.","backup.error.support_invalid_message":"Vérifiez le message d’assistance et réessayez.","backup.error.support_package_too_large":"Le paquet d’assistance anonymisé dépasse la limite de 8 Mio.","backup.error.support_preview_expired":"L’aperçu de la pièce jointe d’assistance a expiré ou n’est plus disponible.","backup.error.support_rate_limited":"Trop de rapports ou d’aperçus d’assistance ont été demandés. Réessayez plus tard.","backup.error.support_rejected":"Le rapport n’a pas passé la validation du service d’assistance.","backup.error.support_unavailable":"Le service d’assistance privé est temporairement indisponible.","backup.error.unauthorized":"Vous n’avez pas l’autorisation d’exporter ou d’importer ce plan.","backup.error.not_ready":"House Plan n’est pas encore prêt. Réessayez dans un instant.","backup.error.too_large":"La sauvegarde dépasse la limite de 8 Mio.","backup.error.invalid_json":"Le fichier sélectionné n’est pas un JSON valide.","backup.error.invalid_format":"Le fichier sélectionné n’est pas une sauvegarde House Plan.","backup.error.invalid_image":"L’image est endommagée ou ne correspond pas à son format.","backup.error.unsupported_export_version":"Ce format de sauvegarde n’est pas pris en charge par la version installée.","backup.error.unsupported_image":"Utilisez une image PNG, JPEG, WebP ou SVG prise en charge.","backup.error.future_model":"La sauvegarde a été créée avec un modèle de données House Plan plus récent.","backup.error.invalid_config":"La sauvegarde contient une configuration House Plan invalide.","backup.error.wall_model_migration_blocked":"Le modèle de murs de la sauvegarde n’a pas pu être mis à niveau en toute sécurité. Optimisez d’abord le plan source, puis exportez-le de nouveau.","backup.error.invalid_layout":"La sauvegarde contient des positions d’objets invalides.","backup.error.invalid_content":"La sauvegarde contient des références de contenu invalides ou incohérentes.","backup.error.space_not_found":"L’espace sélectionné n’existe plus.","backup.error.capacity_exceeded":"L’ajout de cette sauvegarde dépasserait les limites du plan.","backup.error.preview_expired":"L’aperçu a expiré. Sélectionnez de nouveau le fichier de sauvegarde.","backup.error.preview_owner_mismatch":"Cet aperçu appartient à un autre utilisateur Home Assistant.","backup.error.conflict":"Le plan a changé depuis l’aperçu. Vérifiez le résumé actualisé.","backup.error.content_confirmation_required":"Confirmez que le contenu local indisponible peut être dissocié.","backup.error.commit_failed":"La sauvegarde n’a pas pu être appliquée en toute sécurité. Le plan précédent a été restauré ou est en attente de récupération.","backup.error.missing_plan":"Un fichier de plan référencé a disparu depuis l’aperçu. Vérifiez de nouveau la sauvegarde.","backup.error.missing_content":"Une pièce jointe locale référencée a disparu depuis l’aperçu. Vérifiez de nouveau la sauvegarde.","backup.error.marker_control_missing":"Une lumière liée au plan est absente de la sauvegarde.","backup.error.marker_control_not_light":"Une cible liée au plan n’est plus marquée comme source lumineuse.","backup.error.marker_control_self":"Une source lumineuse ne peut pas se contrôler elle-même.","backup.error.marker_control_cycle":"La sauvegarde contient une chaîne circulaire de contrôles de lumière.","backup.error.duplicate_marker_control":"La sauvegarde contient un lien de lumière du plan en doublon.","backup.error.no_backup":"Aucun instantané d’importation ou d’optimisation n’est disponible à restaurer.","backup.error.in_use":"L'élément est encore utilisé","backup.error.invalid_data":"La requête contient des données invalides","backup.error.invalid_light_entity":"La lumière principale doit être une entité light.* ou switch.*","backup.error.invalid_marker_control":"Référence de contrôle de marqueur invalide","backup.error.invalid_name":"Le nom est invalide","backup.error.invalid_partition_opening_host":"L'ouverture doit conserver sa cloison porteuse","backup.error.invalid_partition_opening_jamb_margin":"L'ouverture ne laisse aucun jambage physique au bout du mur","backup.error.invalid_passage_fields":"Un passage ouvert ne peut pas porter de réglages de porte","backup.error.invalid_space_id":"Espace inconnu","backup.error.invalid_toggle_entity":"L'entité de bascule doit être light.* ou switch.*","backup.error.invalid_value_badge":"Réglages de badge de valeur invalides","backup.error.invalid_value_badge_attribute":"Attribut de badge de valeur invalide","backup.error.invalid_value_badge_position":"Position de badge de valeur invalide","backup.error.invalid_value_badge_source":"Source de badge de valeur invalide","backup.error.invalid_vacuum_map_route":"Vérifiez l'affectation des cartes du robot aux espaces.","backup.error.invalid_value_source":"Source de valeur invalide","backup.error.invalid_value_source_attribute":"Attribut de source de valeur invalide","backup.error.io_error":"Une opération de fichier a échoué sur le serveur","backup.error.not_toggleable":"Cet appareil ne peut pas être basculé","backup.error.nothing_to_repair":"Rien à réparer","backup.error.space_in_use":"L'espace est encore référencé","backup.error.value_badge_source_required":"Le badge de valeur nécessite une source","backup.error.wall_model_client_outdated":"Le plan a été mis à jour ailleurs — rechargez la page","backup.same_source":"Créée sur cette instance Home Assistant","backup.foreign_source":"Créée sur une autre instance Home Assistant","backup.created":"Créée : {value}","backup.versions":"Carte {card} ; intégration {integration} ; modèle de données {model}","backup.count_spaces":"Espaces : {n}","backup.count_rooms":"Pièces : {n}","backup.count_walls":"Murs : {n}","backup.count_openings":"Ouvertures : {n}","backup.count_decor":"Objets décoratifs : {n}","backup.count_markers":"Appareils : {n}","backup.count_layout":"Positions : {n}","backup.bindings":"Associations — appareils : {device}, entités : {entity}, virtuels : {virtual} ; positions sans espace : {legacy}","backup.binding_status":"État des cibles — actives : {active}, désactivées : {disabled}, manquantes : {missing}","backup.missing_areas":"Zones absentes sur la cible : {areas}","backup.dropped_marker_links":"Liens de lumières du plan hors de cet espace transféré omis : {n}.","backup.room_drafts_migrated":"Anciens contours inachevés convertis en murs ordinaires : {drafts} ; segments : {segments}.","backup.repaired_target_refs":"Références existantes restaurées par cet import d’espace : {n}.","backup.preserved_unresolved_refs":"Références qui n’ont pas pu être restaurées sans ambiguïté conservées : {n}.","backup.preserved_unresolved_hint":"Aucune donnée n’a été devinée ni supprimée. Après l’importation, lancez « Optimiser les plans » pour examiner les références restantes.","backup.import_details":"Détails des références d’importation","backup.import_detail.incoming_remapped":"Références mises à jour dans la copie importée : {n}","backup.import_detail.target_repaired":"Références existantes restaurées : {n}","backup.import_detail.preserved_unresolved":"Références non résolues conservées : {n}","backup.import_detail.collisions":"Conflits de destination conservés en toute sécurité : {n}","backup.import_detail.dropped_links":"Liens entrants omis selon les règles de transfert : {n}","backup.import_detail.bounded_lineages":"Identifiants trop imbriqués maintenus dans les limites : {n}","backup.replace_warning":"Cela remplace la configuration et la disposition actuelles. Les fichiers importés ne sont jamais supprimés. Une seule annulation reste disponible jusqu’à la prochaine modification du plan.","backup.foreign_bookkeeping":"Les données de suivi des appareils connus/nouveaux propres à l’instance ne seront pas importées.","backup.final_name":"Nom du nouvel espace","backup.target_settings":"Les paramètres généraux de l’instance cible restent inchangés.","backup.duplicates":"Associations déjà présentes : {n}","backup.skip":"Ignorer les appareils en doublon","backup.virtual_copy":"Ajouter des copies virtuelles statiques sûres","backup.content":"Contenu référencé","backup.decor_images_summary":"Images personnalisées : {objects} objets, {assets} fichiers ; fichiers absents : {missing}.","backup.content_available":"disponible localement","backup.content_external":"lien externe","backup.content_detach_required":"sera dissocié","backup.confirm_detach":"Je comprends que les plans internes et pièces jointes indisponibles seront dissociés de la configuration importée.","backup.confirm_missing_images":"Je comprends que les images personnalisées absentes resteront des espaces réservés réparables et que les autres fichiers locaux indisponibles seront dissociés.","backup.replace":"Remplacer","backup.add":"Ajouter un espace","backup.space_done":"Espace importé : {rooms} pièces, {markers} appareils, {refs} références existantes restaurées","backup.full_done":"Sauvegarde restaurée : {spaces} espaces, {rooms} pièces, {markers} appareils","backup.undo_import":"Annuler la dernière importation complète","backup.import_undone":"Importation complète annulée","backdrop.large_title":"Grande image","backdrop.large_body":"Cette image fait {w}×{h} (fichier de {fileMb} Mo) et nécessite environ {decodedMb} Mo de mémoire pour s'afficher. Sur tablette, cela peut faire planter la page.","backdrop.unknown_body":"Les dimensions de l'image n'ont pas pu être lues — le fichier est peut-être endommagé. Continuer peut faire planter la page sur tablette.","backdrop.reduced_dimensions":"Copie réduite : {w}×{h} px.","backdrop.use_downscaled":"Téléverser une copie réduite","backdrop.reducing":"Réduction…","backdrop.keep_original":"Conserver l'original","backdrop.too_large_title":"Image trop grande","backdrop.too_large_body":"Cette image dépasse ce que les navigateurs peuvent afficher ({w}×{h}, limite {limit} px par côté). Réduisez-la dans un éditeur de bureau puis téléversez-la à nouveau.","backdrop.downscale_failed":"Impossible de créer la copie réduite. Le plan actuel n'a pas été modifié."};const r="34d1dbfc181acaf58842dfced0e6aa3a899aef6b8d1eeba53732ef729a63137e";export{e as dictionary,r as fingerprint}; diff --git a/custom_components/houseplan/frontend/houseplan-assets/fr-Dj-Pk_jJ.js b/custom_components/houseplan/frontend/houseplan-assets/fr-Dj-Pk_jJ.js deleted file mode 100644 index ba8cfc97..00000000 --- a/custom_components/houseplan/frontend/houseplan-assets/fr-Dj-Pk_jJ.js +++ /dev/null @@ -1 +0,0 @@ -globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="82d67fade42d86838ff98dbd4ec9c8d6f19dcc50bb4cfc5a31368dc008f58c3e";var e={"editor.context_actions":"Actions : {object}","editor.tool_options":"Options de l’outil : {tool}","editor.palette":"Palette : {tool}","editor.open_group":"Groupe d’outils : {group}","editor.group_active":"{group} — actif : {item}","editor.disabled_action":"{action} est indisponible : {reason}","editor.loading":"Chargement de l'éditeur…","editor.loading_aria":"L'éditeur de plan est en cours de chargement","editor.load_failed":"Impossible de charger l'éditeur.","editor.refresh_advice":"Actualisez la page et réessayez.","editor.retry_advice":"Vérifiez votre connexion et appuyez à nouveau.","version_mismatch.title":"Les versions de House Plan ne correspondent pas","version_mismatch.body":"Si Home Assistant redémarre encore, attendez la fin, puis rechargez cette page.","version_mismatch.frontend":"Carte","version_mismatch.backend":"Intégration","version_mismatch.reload":"Recharger la page","color_picker.title":"Sélecteur de couleur","color_picker.hue":"Teinte","color_picker.saturation":"Saturation","color_picker.value":"Luminosité","color_picker.hex":"Couleur hexadécimale","color_picker.invalid_hex":"Saisissez une couleur hexadécimale à 3 ou 6 chiffres","color_picker.confirm":"OK","btn.properties":"Propriétés","btn.keep_as_walls":"Conserver comme murs","btn.delete_room_keep_walls":"Supprimer la pièce, conserver les murs","btn.delete_room_with_walls":"Supprimer la pièce et les murs","title.markup_select":"Sélectionner et modifier les murs et les colonnes","title.markup_column":"Colonne : cliquez sur un point de la grille pour placer une colonne carrée","markup.partition":"Cloison","markup.column":"Colonne","markup.hint_column":"cliquez sur un point de la grille pour placer une colonne carrée","history.wall_segment":"Ajouter un segment de mur","history.column_add":"Ajouter une colonne","history.physical_edit":"Modifier l’objet physique","history.physical_delete":"Supprimer l’objet physique","history.physical_move":"Déplacer l’objet physique","history.wall_face_batch":"Créer des pièces à partir des murs","toast.column_duplicate":"Une colonne avec le même centre et la même dimension extérieure existe déjà","physical.partition_properties":"Propriétés de la cloison","physical.column_properties":"Propriétés de la colonne","physical.shape":"Forme","physical.square":"Carré","physical.circle":"Cercle","physical.diameter":"Diamètre","physical.side":"Côté","physical.rotation":"Angle de rotation","physical.length":"Longueur","physical.allowed_range":"Autorisé : {min}–{max} {unit}","physical.column_size_title":"Côté extérieur de la colonne carrée placée par le clic (1–150 cm).","card.title":"Plan de la maison","count.devices":"{n} app.","empty.no_spaces":"Aucun espace pour le moment.","nav.spaces":"Espaces House Plan","empty.add_first":"Ajoutez le premier espace et importez un plan.","empty.read_only":"Aucun espace n’est configuré. Demandez à un administrateur d’en ajouter un.","empty.install":"Installez l’intégration House Plan et ajoutez-la dans « Appareils et services ».","btn.add_space":"Ajouter un espace","btn.cancel":"Annuler","btn.save":"Enregistrer","btn.close":"Fermer","btn.delete":"Supprimer","btn.copy":"Copier","btn.edit":"Modifier","btn.open_in_ha":"Ouvrir dans HA","btn.reset":"Réinitialiser","btn.attach":"Joindre…","btn.upload":"Importer…","btn.replace":"Remplacer…","title.zoom_in":"Zoomer","title.zoom_out":"Dézoomer","title.zoom_fit":"Tout ajuster","title.configure_space":"Configurer l’espace","title.add_space":"Ajouter un espace","title.markup_add":"Murs : tracez une chaîne continue ; chaque segment accepté est enregistré séparément. Maj verrouille à 45°","title.markup_merge":"Fusionner : cliquez sur une pièce, puis sur la pièce voisine avec laquelle elle partage un mur","title.markup_split":"Diviser une pièce : cliquez sur la pièce, puis sur deux points de ses murs","title.markup_delroom":"Supprimer une pièce : cliquez à l’intérieur de la pièce puis confirmez","title.need_plan":"Importer une image de plan","markup.add":"Murs","markup.merge":"Fusionner","markup.split":"Diviser","markup.resize":"Redimensionner","title.markup_resize":"Redimensionner les pièces : faites glisser une poignée disponible sur un mur horizontal ou vertical","markup.hint_resize":"faites glisser une poignée de mur disponible · le mur s’arrête à la première position non sûre · Échap annule · Ctrl+Z — annuler","resize.disabled.diagonal":"Ce mur est incliné ; le redimensionnement ne prend en charge que les murs horizontaux et verticaux","resize.disabled.side-angle":"Un mur adjacent est incliné ; le redimensionnement exige que les deux murs adjacents rencontrent ce mur à angle droit","resize.disabled.duplicate-physical-wall":"Une cloison distincte ou une colonne chevauche ce mur ; supprimez-la ou déplacez-la avant de redimensionner","resize.disabled.partial-shared":"Une pièce voisine n’utilise qu’une partie de ce mur ; il ne peut donc pas être déplacé en toute sécurité comme un mur partagé unique","resize.disabled.unequal-shared":"La pièce voisine utilise des extrémités ou une longueur de mur différentes ; les murs ne peuvent donc pas être déplacés ensemble en toute sécurité","resize.disabled.multiple-rooms":"Déplacer ce mur affecterait plus de deux pièces","resize.disabled.thickness-conflict":"L’épaisseur du mur ne peut pas être conservée en toute sécurité","resize.disabled.opening-conflict":"Une ouverture sur ce mur ne peut pas être déplacée en toute sécurité","resize.disabled.invalid-geometry":"Ce mur ne peut pas être redimensionné sans modifier la structure du plan","resize.limit_stopped":"Mur arrêté : l'étape suivante enfreindrait une limite de jonction","resize.commit_failed":"Le redimensionnement a été annulé car le plan final n’a pas passé le contrôle de géométrie","resize.preview_failed":"Le redimensionnement s’est arrêté à la dernière position sûre car la géométrie du plan ne pouvait pas être préservée","markup.opening":"Ouverture","markup.delete_room":"Supprimer la pièce","history.undo":"Annuler","history.redo":"Rétablir","history.undo_named":"Annuler : {name} (Ctrl+Z)","history.redo_named":"Rétablir : {name} (Ctrl+Maj+Z / Ctrl+Y)","history.undo_empty":"Rien à annuler","history.redo_empty":"Rien à rétablir","history.undone":"Annulé : {name}","history.redone":"Rétabli : {name}","history.add_room":"Créer une pièce","history.split_room":"Diviser la pièce","history.merge_rooms":"Fusionner les pièces","history.resize_room":"Redimensionner la pièce","history.wall_thickness":"Modifier l’épaisseur du mur","history.add_opening":"Ajouter une ouverture de porte ou de fenêtre","history.edit_opening":"Modifier l’ouverture","history.move_opening":"Déplacer l’ouverture","history.delete_opening":"Supprimer l’ouverture","history.delete_room_keep_walls":"Supprimer la pièce, conserver les murs","history.delete_room_with_walls":"Supprimer la pièce et les murs","history.decor_add":"Ajouter un objet décoratif","history.decor_edit":"Modifier l’objet décoratif","history.decor_move":"Déplacer l’objet décoratif","history.decor_transform":"Transformer l’objet décoratif","history.decor_delete":"Supprimer l’objet décoratif","history.backdrop_transform":"Transformer l’arrière-plan du plan","history.device_move":"Déplacer {name}","history.device_stale":"L’historique des positions n’est plus applicable et a été effacé","opening.new":"Nouvelle ouverture","opening.edit":"Ouverture","opening.door":"Porte","opening.window":"Fenêtre","opening.gate":"Portail","opening.passage":"Passage ouvert","opening.passage_binding_warning":"L’enregistrement supprimera le capteur d’ouverture/fermeture et la serrure.","opening.invalid_passage_fields":"Le passage ouvert du plan « {room} » possède des paramètres non pris en charge : {fields}.","opening.type_label":"Type","opening.length_label":"Longueur, cm","opening.contact_label":"Capteur d’ouverture/fermeture","opening.lock_label":"Serrure","opening.none":"— aucun —","opening.search_ph":"Rechercher : nom ou ID d’entité…","opening.invert":"Inverser ouvert/fermé","opening.flip_h":"Charnière sur l’autre montant","opening.flip_v":"Ouverture de l’autre côté","opening.open":"Ouvert","opening.closed":"Fermé","opening.locked":"Verrouillé","opening.unlocked":"Déverrouillé","opening.state_unknown":"indisponible","opening.no_entities":"Aucun capteur associé — symbole statique sur le plan.","toast.opening_no_wall":"Cliquez près d’un mur de pièce ou d’un mur indépendant","opening.host_partition":"Mur indépendant","opening.partition_orphan":"Le mur indépendant de cette ouverture n’existe plus","opening.partition_jamb_margin":"Laissez au moins {distance} entre l’ouverture et l’extrémité du mur","opening.rebind_partition":"Associer à un autre mur indépendant","confirm.delete_partition_openings_title":"Supprimer le mur et les ouvertures ?","confirm.delete_partition_openings_body":"Ce mur contient {count} ouverture(s). Elles seront supprimées avec lui.","confirm.delete_partition_openings_item":"• {type}, {length}","markup.hint_points":"points : {n} · Maj — pas de 45° · Échap — terminer la chaîne · Ctrl+Z — annuler un point · fermer une zone propose de créer une pièce","markup.hint_start":"cliquez sur un point de la grille pour commencer une chaîne de murs","tip.lqi":"signal Zigbee moyen :","tip.area":"surface : {value}","info.device_header":"Appareil sur le plan","info.model":"Modèle","info.state":"État","info.link":"Lien","info.manuals":"Manuels","info.none":"Aucune information supplémentaire","marker.new_device":"Nouvel appareil","marker.name_label":"Nom (affiché sur le plan)","marker.name_ph":"Nom","marker.binding_label":"Associer à un appareil HA","marker.binding_disabled":"désactivé dans Home Assistant","marker.virtual_option":"Appareil virtuel (sans association)","marker.search_ph":"Rechercher un appareil / groupe…","marker.nothing_found":"aucun résultat","marker.room_label":"Pièce","marker.room_override":" (placement forcé)","marker.room_choose":"— sélectionner une pièce —","marker.room_auto":"— selon la zone de l’appareil (auto) —","marker.icon_label":"Icône","marker.icon_ph":"mdi:… (vide = auto)","marker.display_label":"Affichage","display.badge":"Icône + état","display.icon_ripple":"Icône + état et activité","display.static_icon":"Icône toujours statique","marker.display_hint_badge":"L’icône et le fond dynamique affichent l’état de l’appareil sans la pulsation d’activité habituelle. Les alarmes rouges restent visibles.","marker.display_hint_icon_ripple":"L’icône, le fond dynamique et la pulsation affichent une brève animation pour les événements et une animation continue pour le fonctionnement, le mouvement ou la présence. Les alarmes rouges restent prioritaires.","marker.display_hint_value":"Une valeur Home Assistant sélectionnée ou résolue automatiquement remplace l’icône tandis que le fond continue d’indiquer l’état. Les alarmes rouges restent visibles.","marker.display_hint_static_icon":"Le contour adapté au thème et l’icône restent toujours identiques. L’état, l’activité, l’indisponibilité et les alarmes ne modifient pas l’apparence.","marker.static_alarm_warning":"Cet appareil peut signaler des alarmes. L’affichage statique masque l’indication visuelle d’alarme du marqueur.","marker.preview.title":"Aperçu de l’affichage","marker.preview.actual":"Actuel","marker.preview.example":"Exemple","marker.preview.integration":"Fourni par","marker.preview.source":"Source d’affichage","marker.preview.current_state":"État actuel","marker.preview.result":"Sur le plan","marker.preview.details":"Détails de la source","marker.preview.select_source":"Choisissez un appareil ou une entité Home Assistant pour voir son affichage réel.","marker.preview.unknown_provider":"Intégration inconnue","marker.preview.virtual_provider":"House Plan · appareil virtuel","marker.preview.no_source":"Aucune source active","marker.preview.no_state":"Aucun état actuel","marker.preview.mixed_states":"Plusieurs états différents","marker.preview.multiple_sources":"{n} sources","marker.preview.more_sources":"+{n} de plus","marker.preview.scaled":"L’aperçu est redimensionné à {n}% pour tenir dans la zone. La taille enregistrée reste inchangée.","marker.preview.demo_short":"Afficher une activité brève","marker.preview.demo_continuous":"Afficher une activité continue","marker.preview.stop_continuous":"Arrêter l’activité continue","marker.preview.demo_short_notice":"Exemple d’activité brève ; l’état réel de l’appareil reste inchangé.","marker.preview.demo_continuous_notice":"Exemple d’activité continue ; l’état réel de l’appareil reste inchangé.","marker.preview.demo_already_visible":"L’état actuel affiche déjà un véritable effet d’activité ou d’alarme.","marker.preview.reduced_motion":"La réduction des animations est activée sur le système ; l’activité normale est donc affichée sous forme de point.","marker.preview.reason.neutral":"Fond sombre neutre","marker.preview.reason.working":"Fond jaune : l’appareil fonctionne actuellement","marker.preview.reason.working_activity":"Fond jaune et effet d’activité : l’appareil fonctionne actuellement","marker.preview.reason.open":"Fond orange : physiquement ouvert ou déverrouillé","marker.preview.reason.cover_icon_state":"Fond neutre ; l’entité de volet contrôle l’état et l’icône affichés","marker.preview.reason.presence":"Effet d’activité tant qu’une présence est détectée","marker.preview.reason.event":"Effet d’activité bref après un événement détecté","marker.preview.reason.transition":"Effet d’activité pendant que l’appareil se déplace ou change d’état","marker.preview.reason.media_neutral":"Les appareils multimédias restent sur un fond sombre neutre tant qu’ils sont disponibles","marker.preview.reason.unavailable":"Fond neutre atténué : indisponible ou éteint","marker.preview.reason.alarm":"Fond d’alarme rouge ; l’indication d’alarme est toujours affichée","marker.preview.reason.live_states_disabled":"Le style selon les états en direct est désactivé pour cette carte","marker.preview.reason.value_no_state":"Aucune valeur d’état exploitable ; l’icône est affichée à la place","marker.preview.reason.value_ambiguous_sources":"Plusieurs sources de valeur possibles ; l’icône est affichée à la place","marker.preview.reason.value_non_scalar":"La source n’a pas renvoyé de valeur simple ; l’icône est affichée à la place","marker.preview.reason.value_virtual":"Un appareil virtuel n’a aucune valeur Home Assistant ; l’icône est affichée à la place","marker.preview.reason.vacuum_live_plan_only":"La position et la trajectoire en direct de l’aspirateur ne sont disponibles que sur le plan complet","marker.preview.reason.hidden_design_preview":"L’appareil est masqué sur le plan ; cet aperçu de conception reste visible","marker.preview.reason.composite_power_source":"L’état provient de l’entité d’alimentation de l’appareil ; les interrupteurs auxiliaires sont ignorés","marker.preview.reason.activity_display_disabled":"Le mode d’affichage sélectionné n’affiche pas les effets d’activité habituels","marker.preview.reason.ha_disabled":"L’association Home Assistant est désactivée et sera masquée sur le plan","marker.preview.reason.orphaned":"L’association Home Assistant enregistrée est introuvable","marker.preview.reason.static_icon":"Mode statique : l’état de l’appareil ne modifie pas l’icône","marker.activity_color":"Couleur de la pulsation d’activité","marker.ripple_size":"Taille de la pulsation d’activité","marker.activity_alarm_note":"La couleur et la taille n’affectent que l’activité normale et ne modifient pas les alarmes rouges.","marker.pulse_a11y_alarm":"Alarme","marker.pulse_a11y_event":"Événement récent","marker.pulse_a11y_presence":"Présence détectée","marker.pulse_a11y_transition":"Changement d’état","marker.pulse_a11y_running":"En fonctionnement","marker.state_a11y_neutral":"État par défaut","marker.state_a11y_working":"En fonctionnement","marker.state_a11y_open":"Ouvert","marker.state_a11y_locked":"Verrouillé","marker.state_a11y_unlocked":"Déverrouillé","marker.state_a11y_alarm":"Alarme","marker.state_a11y_unavailable":"Indisponible","marker.lqi_a11y_low":"LQI {value}, signal faible","marker.lqi_a11y_mid":"LQI {value}, signal moyen","marker.lqi_a11y_high":"LQI {value}, signal fort","marker.size_label":"Taille / rotation de l’icône","marker.angle_label":"Rotation","marker.model_label":"Modèle","marker.model_ph":"ex. Aqara T&H","marker.link_label":"Lien","marker.desc_label":"Description","marker.desc_ph":"Notes, caractéristiques…","marker.manuals_label":"Manuels (PDF, etc.)","marker.sub_device":"appareil","marker.sub_z2m_group":" · groupe Z2M","marker.sub_group":"groupe","marker.sub_helper":"assistant","space.new":"Nouvel espace","space.copy_title":"Copier l’espace","space.copy_name":"Nom du nouvel espace","space.copy_fallback":"Espace","space.copy_create":"Créer la copie","space.copy_optimize_title":"Optimiser avant de copier ?","space.copy_optimize_body":"Avant de créer « {name} », House Plan doit optimiser tout le plan, y compris les autres espaces. Continuer ?","space.copy_optimize_confirm":"Optimiser et copier","space.copy_error_changed":"Le plan a changé pendant la confirmation. Vérifiez-le et réessayez.","space.copy_error_source_missing":"L’espace source n’existe plus. Rouvrez ses réglages et réessayez.","space.copy_error_source_invalid":"House Plan n’a pas pu valider tous les murs de cet espace. Corrigez l’espace source.","space.copy_error_spaces_limit":"House Plan contient déjà le nombre maximal d’espaces.","space.copy_error_partitions_limit":"Cet espace contient trop de murs pour être copié.","space.copy_error_openings_limit":"Cet espace contient trop d’ouvertures pour être copié.","space.copy_error_decor_limit":"Cet espace contient trop d’objets d’arrière-plan pour être copié.","space.copy_error_columns_limit":"Cet espace contient trop de colonnes pour être copié.","space.copy_error_opening_host":"Une ouverture n’est plus rattachée à un mur. Corrigez-la ou supprimez-la avant la copie.","space.copy_error_geometry":"La copie créerait une géométrie de murs non sûre. Corrigez l’espace source.","space.copy_error_optimize_geometry":"La copie est arrêtée car l’optimisation de tout le plan n’est pas sûre pour un espace.","space.header":"Espace","space.title_label":"Titre","space.title_ph":"ex. Garage","space.plan_label":"Plan (arrière-plan)","space.no_plan":"aucune image de plan","space.plan_alt":"plan","room.new":"Nouvelle pièce","room.name_label":"Nom affiché","room.name_ph":"ex. Terrasse","room.area_label":"Zone Home Assistant (non attribuée)","room.no_area_option":"— aucune zone —","room.default_name":"Pièce","device.unnamed":"sans nom","device.light_group":"groupe de lumières","device.fallback":"appareil","device.virtual":"appareil virtuel","confirm.delete_room_title":"Supprimer la pièce « {name} » ?","confirm.delete_room_body":"Choisissez si les murs physiques propres à la pièce doivent être conservés. Les murs partagés avec une autre pièce sont toujours conservés.","confirm.remove_marker_title":"Supprimer l’appareil du plan ?","confirm.remove_marker_body":"L’appareil disparaîtra complètement et ne contribuera plus aux données du plan. Vous pourrez l’ajouter de nouveau plus tard.","confirm.erase_decor":"Effacer l’objet {kind} ? Vous pouvez annuler cette action depuis l’historique de l’éditeur.","confirm.delete_space_title":"Supprimer l’espace ?","confirm.delete_space_body":"L’espace, toutes ses pièces et tout le tracé du plan seront supprimés.","confirm.delete_space_vac_routes":"Les affectations de cartes de robots seront aussi supprimées : {count}.","space.delete_blocked":"Cet espace est encore utilisé par {n} appareil(s). Déplacez-les vers un autre espace ou supprimez-les d’abord.","toast.pos_save_failed":"Échec de l’enregistrement de la position : {err}","toast.no_entity":"L’appareil n’a aucune entité adaptée","toast.ha_disabled_action":"Un objet Home Assistant désactivé ne peut pas être utilisé sur le plan.","toast.ha_disabled_show_device":"Un appareil désactivé dans Home Assistant ne peut pas être affiché sur le plan. Activez-le d’abord dans Home Assistant.","toast.ha_disabled_show_entity":"Une entité désactivée dans Home Assistant ne peut pas être affichée sur le plan. Activez-la d’abord dans Home Assistant.","toast.ha_disabled_add":"Un objet Home Assistant désactivé ne peut pas être ajouté au plan. Activez-le d’abord dans Home Assistant.","toast.ha_binding_unverified":"L’état de l’objet n’a pas pu être vérifié via le registre Home Assistant. L’affichage et les actions sont temporairement indisponibles.","toast.markup_needs_server":"Le tracé est disponible une fois la configuration déplacée sur le serveur","toast.space_order_changed":"L’ordre a changé. Si une carte fixe son étage par numéro, vérifiez ces tableaux de bord.","toast.conflict":"La configuration a été modifiée dans une autre fenêtre — données actualisées, répétez votre dernière action","toast.cfg_save_failed":"Échec de l’enregistrement de la configuration : {err}","toast.room_overlap":"Le contour chevauche la pièce « {name} » — les pièces ne doivent pas se chevaucher","toast.contour_cannot_close":"Le contour ne peut pas être fermé car il est dégénéré ou s’auto-intersecte","toast.merge_not_adjacent":"Seules les pièces partageant un mur peuvent être fusionnées","toast.rooms_merged":"Pièces fusionnées dans « {name} »","toast.split_pick_wall":"Commencez la découpe sur le mur de la pièce","toast.split_bad_cut":"La découpe doit aller d’un mur à l’autre à l’intérieur de la pièce, sans croiser de mur ni se croiser elle-même","merge.header":"Fusionner les pièces","merge.hint":"La pièce fusionnée conserve un nom et une zone. L’autre zone est libérée — ses appareils quittent le plan jusqu’à ce qu’une autre pièce la récupère.","merge.keep":"Conserver","merge.no_area":"aucune zone","toast.room_saved":"Pièce enregistrée ({n}). Appareils ajoutés : {added}. Tracez la suivante ou quittez le mode tracé.","toast.room_saved_no_area":"Pièce enregistrée ({n}, sans zone). Tracez la suivante ou quittez le mode tracé.","toast.marker_needs_server":"La modification des appareils est disponible une fois la configuration déplacée sur le serveur","toast.virtual_name_required":"Saisissez un nom pour l’appareil virtuel","toast.marker_saved":"Appareil enregistré","toast.marker_removed":"Appareil supprimé du plan","toast.integration_missing":"L’intégration House Plan n’est pas installée — gestion indisponible","toast.plan_formats":"Formats pris en charge : SVG, PNG, JPG, WebP","toast.plan_required":"Importez un plan — il est obligatoire","toast.space_added_onboard":"Espace ajouté. Tracez les pièces : cliquez sur les points de la grille et fermez le contour.","toast.space_added":"Espace ajouté","toast.space_copied":"Espace « {name} » créé","toast.space_saved":"Espace enregistré","toast.space_deleted":"Espace supprimé","toast.delete_failed":"Échec de la suppression : {err}","toast.error":"Erreur : {err}","toast.toggle_target_unavailable":"La cible « {name} » est indisponible — aucune action n’a été effectuée","toast.toggle_targets_unavailable":"Cibles indisponibles : {names}. Aucune action n’a été effectuée","toast.file_failed":"Le fichier « {name} » n’a pas été importé : {err}","toast.files_attached":"Fichiers joints : {n}","err.unknown":"erreur inconnue","err.code":"code {code}","err.too_large":"fichier supérieur à {mb} Mo","err.bad_ext":"type non pris en charge (PDF/image attendu)","err.unauthorized":"droits administrateur requis","editor.title":"Titre","editor.default_floor":"Espace initial","editor.default_floor_missing":"L’espace initial « {id} » n’existe plus. Choisissez un autre espace.","editor.floor":"Espace fixe","editor.floor_none":"— non fixé —","editor.floor_index":"Index YAML {index} (conservé)","fixed_floor.loading":"Chargement de l’espace fixe…","fixed_floor.invalid_title":"L’espace fixe est indisponible","fixed_floor.invalid_body":"Vérifiez floor dans la configuration de la carte. Valeur configurée : {value}","editor.icon_size":"Taille des icônes, % de la largeur du plan","editor.show_temperature":"Afficher la température","editor.live_states":"États en direct (on/off, ouvert…)","editor.light_pools":"Halos lumineux et ombres des murs","editor.show_signal":"Afficher le signal Zigbee (LQI)","editor.language":"Langue de l’interface","editor.lang_auto":"Auto (profil HA)","title.icon_rules":"Règles d’icônes : quelle icône MDI attribuer aux appareils selon leur nom","rules.title":"Règles d’icônes","rules.hint":"Les règles sont testées de haut en bas sur « nom de l’appareil + modèle » (expression régulière insensible à la casse) ; la première correspondance gagne. Si rien ne correspond, la classe d’appareil de l’entité est utilisée, puis l’icône générique.","rules.pattern_ph":"regex, ex. plug|socket","rules.icon_ph":"mdi:power-socket-de","rules.add":"Ajouter une règle","rules.reset":"Réinitialiser par défaut","rules.test_ph":"Tester un nom d’appareil…","rules.invalid":"expression régulière invalide","rules.saved":"Règles d’icônes enregistrées","btn.up":"Monter","btn.down":"Descendre","tap.info":"Fiche de l’appareil","tap.more_info":"Boîte de dialogue Plus d’infos de HA","tap.toggle":"Basculer l’état","marker.tap_label":"Action au toucher pour cet appareil","tap.toggle_note":"L’état déterminé est affiché ci-dessous. Les appareils sécurisés ne sont jamais basculés depuis le plan.","import.title":"Créer des espaces à partir des étages HA","import.hint":"Votre Home Assistant connaît déjà ces étages. Sélectionnez ceux à transformer en espaces du plan — vous importerez ensuite une image de plan pour chacun. Les pièces sont ensuite tracées manuellement sur le plan.","import.start":"Créer {n} espace(s)","import.manual":"Commencer de zéro","import.progress":"Étage {i} sur {n}","import.done":"Espaces créés. Tracez les pièces : cliquez sur les points de la grille et fermez le contour.","btn.skip":"Passer","space.scale_label":"Échelle (taille d’une cellule de grille)","space.cell_cm.help":"Relie la grille aux dimensions réelles : les longueurs, les surfaces, l’épaisseur des murs, la taille des ouvertures et le rayon du halo en dépendent. Une modification ultérieure change les dimensions calculées de tout l’espace sans déplacer ses points sur le plan.","space.cell_cm.help.aria":"Aide : échelle de l’espace","space.scale_unit":"cm par cellule","space.scale_unit_imperial":"po par cellule","space.display_section":"Affichage","space.show_borders":"Toujours afficher les contours des pièces","space.zero_wall_style":"Murs d’épaisseur nulle","space.zero_wall_style.help":"Les murs d’épaisseur nulle en pointillés laissent passer le halo et les rayons du soleil, tandis que les murs pleins les bloquent comme une barrière sans surface. Ce choix s’applique à tous ces murs de l’espace, même si leur ligne est masquée en mode Vue.","space.zero_wall_style.help.aria":"Aide : style des murs d’épaisseur nulle","space.zero_wall_dashed":"Pointillés","space.zero_wall_solid":"Plein","space.show_names":"Afficher les noms des pièces (faire glisser pour déplacer)","space.room_color":"Couleur du contour et du nom","space.opacity":"Opacité","space.fill_label":"Remplissage de la pièce","space.fill_mode.help":"« Couleur personnalisée » définit le style, tandis que « Lumière », « Température » et « LQI » utilisent les données actuelles de Home Assistant. Le halo s’active séparément.","space.fill_mode.help.aria":"Aide : mode de remplissage des pièces","fill.none":"Aucun","fill.lqi":"Signal Zigbee","fill.light":"Lumières","fill.custom":"Couleur personnalisée","space.custom_fill":"Couleur de remplissage","space.source_file":"J’ai une image de plan","space.source_draw":"Aucune image — je tracerai les pièces à la main","fill.temp":"Température","tip.temp_avg":"température moyenne :","tip.hum_avg":"humidité moyenne :","space_card.button":"Ouvrir le plan de l’espace","space_card.not_found":"Espace « {id} » introuvable","space_card.loading":"Chargement…","continuity.restore_plan":"Restauration du plan…","continuity.restore_connection":"Restauration de la connexion aux appareils…","continuity.retry":"Réessayer","editor.space":"Espace","editor.framing":"Cadrage","editor.fit_content":"Tout le contenu visible","editor.fit_house":"Ajusté à la géométrie de la maison","editor.show_button":"Afficher le bouton","editor.button_label":"Libellé du bouton","editor.button_target":"Chemin du tableau de bord cible","marker.sub_entity":"entité","title.general_settings":"Paramètres généraux","title.export_pdf":"Enregistrer en PDF","pdf.title":"Enregistrement en PDF","pdf.dimensions":"Afficher les dimensions et les surfaces","pdf.decor":"Afficher les meubles et les autres éléments","pdf.room_names":"Afficher les noms des pièces","pdf.backdrop":"Afficher le fond de plan","pdf.save":"Enregistrer","pdf.saving":"Création…","pdf.failed":"Impossible de créer le PDF.","pdf.too_large":"Les images dépassent la limite PDF de 25 Mo.","pdf.asset_failed":"Impossible de charger une image de fond ou de décoration.","pdf.scale":"Échelle 1:{n}","pdf.north":"Nord","gs.title":"Paramètres généraux","gs.light_group":"Remplissage : lumières","gs.light_on":"Lumières allumées","gs.light_off":"Toutes les lumières éteintes","gs.temp_group":"Remplissage : température","gs.temp_cold":"Froid","gs.temp_ok":"Confortable","gs.temp_hot":"Chaud","gs.lqi_group":"Remplissage : signal Zigbee","gs.lqi_low":"Signal faible","gs.lqi_high":"Signal fort","gs.reset":"Réinitialiser par défaut","gs.saved":"Paramètres généraux enregistrés","gs.radar_show_live":"Afficher la présence en direct sur le plan","gs.radar_show_live_hint":"Masque ou affiche toutes les cibles radar en direct. Cela ne démarre ni n’arrête l’enregistrement des observations.","radar.title":"Présence sur le plan","radar.help":"Reliez ce marqueur aux entités radar exactes de Home Assistant, placez le capteur et choisissez son profil de coordonnées. Les positions en direct sont limitées à la pièce sélectionnée.","radar.help.aria":"Aide : paramètres du radar de présence","radar.enabled":"Utiliser ce radar de présence","radar.show_live":"Afficher les cibles en direct","radar.configure":"Configurer le radar","radar.configure_on_plan":"Configurer sur le plan","radar.change_installation":"Changer l’installation","radar.no_contour":"Cette pièce n’a pas de contour. Les points radar ne seront pas limités.","radar.discard_setup_title":"Abandonner la configuration du radar ?","radar.discard_setup":"La configuration du radar non enregistrée sera perdue.","radar.step_place_mount":"Indiquez la position physique du capteur","radar.step_place_heading":"Indiquez un point droit devant le capteur","radar.step_reference":"Indiquez la position de référence {n}, puis lancez la mesure","radar.step_check_reference":"Indiquez une position de contrôle indépendante","radar.start_measure":"Lancer la mesure","radar.countdown":"Placez-vous sur le repère dans {seconds} s","radar.capturing":"Restez immobile et seul pendant la mesure…","radar.fit_ready":"Le calibrage est prêt","radar.check_third":"Vérifier à une autre position","radar.check_complete":"Contrôle indépendant terminé","radar.error_distance":"Écart de position : {distance}","radar.ambiguous_target":"Plusieurs cibles ont été signalées. Recommencez la mesure seul.","radar.insufficient_samples":"Coordonnées actuelles insuffisantes. Réessayez ou utilisez le réglage manuel.","radar.bad_references":"Choisissez des références espacées dans des directions différentes du capteur.","radar.ambiguous_sources":"Les mesures permettent deux directions également plausibles. Choisissez des repères distinguant la gauche de la droite.","radar.bad_fit":"Les mesures ne correspondent pas. Vérifiez les unités, la position du capteur et les références.","radar.desktop_hint":"Utilisez un ordinateur pour un réglage précis. L’édition sur appareils tactiles est prise en charge au mieux.","radar.detected":"House Plan a reconnu les métadonnées radar de cet appareil. Vérifiez les sources exactes avant d’enregistrer.","radar.detected_ld2450":"House Plan a trouvé un ensemble de coordonnées ESPHome LD2450. Vérifiez les sources X/Y exactes avant d’enregistrer.","radar.additional_actions":"Actions supplémentaires","radar.declare":"Ceci est un radar de présence","radar.profile":"Profil de données","radar.profile_esphome_ld2450_v1":"ESPHome LD2450 (cibles X/Y)","radar.profile_cartesian_v1":"Cibles cartésiennes (X/Y)","radar.profile_polar_v1":"Cible polaire (distance/angle)","radar.profile_range_v1":"Distance uniquement","radar.profile_zones_v1":"États des zones","radar.profile_presence_v1":"Présence uniquement","radar.room":"Pièce observée","radar.room_choose":"Choisir une pièce","radar.target":"Cible {n}","radar.axis_x":"Entité de coordonnée X","radar.axis_y":"Entité de coordonnée Y","radar.add_target":"Ajouter un emplacement de cible","radar.range_channel":"Canal de distance {n}","radar.add_range":"Ajouter un canal de distance","radar.presence_gate":"Entité de présence du canal","radar.swap_axes":"Permuter les axes X et Y","radar.axis_x_sign":"Direction X","radar.axis_y_sign":"Direction Y","radar.distance_source":"Entité de distance","radar.angle_source":"Entité d’angle","radar.angle_unit":"Unité d’angle","radar.degrees":"Degrés","radar.radians":"Radians","radar.angle_zero":"Direction de l’angle zéro","radar.angle_forward":"Vers l’avant","radar.angle_right":"Vers la droite","radar.angle_clockwise":"Les angles augmentent dans le sens horaire","radar.zone_source":"Entité de zone","radar.occupancy_source":"Entité de présence","radar.count_source":"Entité du nombre de cibles","radar.availability_source":"Entité de disponibilité","radar.source_choose":"Choisir une entité","radar.source_optional":"Facultatif","radar.source_missing":"actuellement indisponible","radar.saved_unsupported":"Cette configuration radar enregistrée est incomplète ou non prise en charge. Elle reste inactive ; supprimez-la ou mettez House Plan à jour avant de la reconfigurer.","radar.occupancy":"Présence (activée/désactivée)","radar.count":"Nombre","radar.mount":"Position et direction","radar.mount_hint":"Il s’agit de la position physique du capteur. Déplacer son marqueur décoratif ne la modifie pas.","radar.heading":"Direction, °","radar.range_cm":"Portée, cm","radar.fov_deg":"Champ de vision, °","radar.unit":"Unité de la source","radar.mirror":"Inverser l’axe gauche/droite","radar.remove":"Supprimer les paramètres radar","radar.invalid":"Renseignez la pièce, les sources et la position du radar avant d’enregistrer.","radar.check_sources":"Vérifier les données en direct","radar.checking":"Vérification…","radar.health":"État de la connexion","radar.live_summary":"Cibles actuelles : {targets} ; arcs de distance : {ranges}","radar.health_ok":"Données actuelles reçues","radar.health_off":"Aucune cible détectée","radar.health_stale":"Certaines coordonnées sont obsolètes","radar.health_partial":"Certaines sources sont à jour, d’autres sont obsolètes","radar.health_restricted":"L’accès à une ou plusieurs sources est limité","radar.health_incomplete":"Le rapport radar actuel est incomplet","radar.health_position_unavailable":"Présence signalée ; position actuelle indisponible","radar.health_unavailable":"Données du capteur indisponibles","radar.health_needs_setup":"L’installation doit être configurée","radar.health_inconsistent":"Les sources fournissent des valeurs contradictoires","radar.health_unknown":"L’état actuel est inconnu","radar.health_disabled":"Le radar est désactivé","radar.error_invalid_radar":"Vérifiez les paramètres radar.","radar.error_invalid_selection":"Sélectionnez une pièce existante et des sources valides.","radar.error_source_restricted":"Vous n’avez pas accès à toutes les sources sélectionnées.","radar.error_rate_limited":"Trop de demandes. Réessayez dans un instant.","radar.error_not_ready":"Le traitement radar n’est pas encore prêt.","radar.error_conflict":"Le plan a changé. Rouvrez la configuration radar et réessayez.","radar.error_source_unavailable":"Une ou plusieurs sources radar sélectionnées sont indisponibles.","radar.error_unsupported_capability":"Cette fonction radar n’est pas prise en charge par l’intégration installée.","radar.report_age":"il y a {seconds} s","space.show_lqi":"Afficher le signal Zigbee (LQI) à côté des appareils","space.hide_decor":"Masquer la couche décorative","space.hide_decor_tip":"Les lignes, formes, étiquettes et meubles restent à leur place — visibles dans l’éditeur d’arrière-plan, mais pas sur le plan.","space.hide_openings":"Masquer les ouvertures","space.hide_openings_tip":"Les symboles de portes, fenêtres et portails ne sont pas dessinés, mais les ouvertures continuent de fonctionner : la lumière les traverse, le soleil entre par les fenêtres et les capteurs de contact continuent de les ouvrir. L’éditeur de plan les affiche toujours.","gs.light_none":"Aucune source lumineuse","mode.plan":"Éditeur de plan","mode.devices":"Éditeur d’appareils","display.value":"Valeur + état","marker.subarea":"aucune zone, manuel","device.new":"Nouvel appareil — ouvrez son éditeur pour fermer","opening.unlock_action":"Déverrouiller","opening.lock_action":"Verrouiller","opening.lock_pending":"En cours…","title.close_editor":"Fermer l’éditeur (retour à la vue)","title.add_device":"Ajouter un appareil au plan","devbar.add":"Ajouter","devbar.rules":"Règles d’icônes","device_inbox.button":"Appareils","device_inbox.title":"Appareils sur le plan","device_inbox.search":"Rechercher appareils, entités et intégrations…","device_inbox.add_virtual":"Ajouter un appareil virtuel","device_inbox.tab_on_plan":"Sur le plan","device_inbox.tab_available":"Disponibles","device_inbox.tab_hidden":"Masqués","device_inbox.tab_readd":"De nouveau disponibles","device_inbox.only_new":"Nouveaux uniquement","device_inbox.show_entities":"Afficher les entités","device_inbox.show_hidden":"Afficher les masqués sur le plan","device_inbox.show_hidden.help":"Affiche temporairement les marqueurs masqués et désactivés sous forme de fantômes réservés à l’éditeur. La visibilité enregistrée des appareils ne change pas.","device_inbox.show_hidden.help.aria":"Aide : afficher les appareils masqués sur le plan","device_inbox.new":"Nouveau","device_inbox.find":"Trouver sur le plan","device_inbox.edit":"Modifier","device_inbox.hide":"Masquer","device_inbox.show":"Afficher","device_inbox.add":"Ajouter","device_inbox.readd":"Ajouter à nouveau","device_inbox.hide_available":"Masquer de la liste","device_inbox.show_more":"Afficher plus","device_inbox.more_actions":"Plus d'actions","device_inbox.find_hidden_hint":"Activez d'abord « Afficher les masqués sur le plan »","device_inbox.show_disabled":"Activez cette liaison dans Home Assistant avant de l'afficher","device_inbox.empty_on_plan":"Aucun appareil correspondant n'est encore sur le plan.","device_inbox.empty_available":"Aucun appareil disponible à ajouter.","device_inbox.empty_hidden":"Il n'y a aucun appareil masqué.","device_inbox.empty_readd":"Aucun appareil supprimé n'est disponible pour un nouvel ajout.","device_inbox.reason_visible_auto":"Découvert automatiquement","device_inbox.reason_visible_explicit":"Ajouté explicitement","device_inbox.reason_manual_hidden":"Masqué par l'utilisateur","device_inbox.reason_automatic_hidden":"Masqué automatiquement","device_inbox.reason_service_entry":"Entrée de registre de service uniquement","device_inbox.reason_excluded_integration":"Intégration « {integration} » exclue par les filtres de découverte","device_inbox.reason_excluded_domain":"Type d'entité non spatial","device_inbox.reason_grouped_light":"Représenté par un groupe de lumières de la pièce","device_inbox.reason_represented_by_parent":"Représenté par son appareil parent","device_inbox.reason_removed":"Précédemment retiré du plan","device_inbox.reason_available":"Disponible pour ajout au plan","device_inbox.reason_no_bound_room":"La zone HA n'est liée à aucune pièce du plan","device_inbox.status_ha_disabled":"Désactivé dans Home Assistant","device_inbox.status_orphaned":"La liaison n'existe plus dans Home Assistant","device_inbox.status_unverified":"Le registre Home Assistant est temporairement indisponible","device_inbox.saved":"Liste des appareils mise à jour","device_inbox.filters_excluded":"Intégrations exclues","device_inbox.filters_group_lights":"Regrouper les lumières de la pièce en un marqueur","device_inbox.filters_preview_appear":"apparaîtra : {count}","device_inbox.filters_preview_hide":"disparaîtra : {count}","device_inbox.filters_preview_lights":"lumières concernées : {count}","device_inbox.filters_reset":"Rétablir les recommandées","device_inbox.filters_save":"Enregistrer les filtres","device_inbox.filters_search_ph":"Ajouter une intégration…","device_inbox.filters_title":"Filtres de découverte","space.roomcard_section":"La carte de pièce affiche :","space.label_temp":"Température","space.label_hum":"Humidité","space.label_lqi":"Signal Zigbee moyen","space.label_light":"Lumières allumées/éteintes","roomcard.light_on":"Allumé","roomcard.light_off":"Éteint","roomcard.light_partial":"{on} sur {total}","toast.split_pick_inside":"Les points intermédiaires de découpe doivent se trouver à l’intérieur de la pièce","mode.decor":"Éditeur d’arrière-plan","decor.select":"Sélectionner","decor.line":"Ligne","decor.rect":"Rectangle","decor.ellipse":"Ovale","decor.text":"Texte","decor.erase":"Effacer","decor.erase_confirm_title":"Effacer l’objet ?","decor.color":"Couleur","decor.width":"Épaisseur de ligne","decor.line_style":"Style de ligne","decor.line_style_solid":"Plein","decor.line_style_dashed":"Pointillés","decor.fill":"Remplissage","decor.fill_color":"Couleur de remplissage","decor.length":"Longueur","decor.size":"Taille","decor.flip_h":"Retourner horizontalement","decor.flip_v":"Retourner verticalement","decor.angle":"Angle de rotation, °","decor.text_size":"Taille du texte","decor.backdrop_properties":"Propriétés de l’arrière-plan du plan","decor.text_title":"Étiquette de texte","decor.object_title":"Modifier {kind}","decor.text_label":"Texte","decor.live_group":"Insérer une variable HA","decor.live_entity":"Entité","decor.live_entity_ph":"choisir une entité","decor.live_attr":"Valeur","decor.live_attr_ph":"choisir l’état ou un attribut","decor.live_state":"État","decor.backdrop":"Image d’arrière-plan","decor.backdrop_hint":"Faites glisser pour déplacer ; tirez un coin pour redimensionner ; utilisez la poignée supérieure pour faire pivoter. Maj modifie les proportions ou libère l’angle.","decor.backdrop_reset":"Réinitialiser l’image","decor.backdrop_reset_done":"L’image a retrouvé sa position et sa taille d’origine","marker.icon_auto":"Auto : {icon} (selon les règles d’icônes ; choisissez-en une pour remplacer)","marker.icon_pin_auto":"Épingle","mode.plan_tip":"Éditeur de plan — la géométrie du logement : dessiner et diviser/fusionner les pièces, les associer aux zones HA, placer portes, fenêtres et portails, déplacer les cartes de pièces, régler l’échelle","mode.devices_tip":"Éditeur d’appareils — tout ce qui concerne les icônes : faire glisser pour positionner, cliquer pour modifier l’association/l’icône/l’affichage, ajouter des appareils virtuels, règles d’icônes","mode.decor_tip":"Éditeur d’arrière-plan — décoration purement visuelle sous le plan : lignes, rectangles, ovales et étiquettes de texte qui ne réagissent jamais aux clics","space.glow_enabled":"Halo des sources lumineuses","gs.glow_group":"Halo des sources lumineuses","gs.glow_base":"Obscurité de la maison","gs.glow_light":"Couleur / intensité de lumière par défaut","gs.wall_group":"Murs","gs.wall_fill":"Remplissage des murs","gs.glow_radius":"Rayon du halo","gs.glow_radius.help":"Définit le rayon général du halo en mètres ou en pieds ; le rayon propre à un appareil remplace cette valeur.","gs.glow_radius.help.aria":"Aide : rayon général du halo","gs.unit_m":"m","gs.unit_ft":"pi","marker.controls_label":"Contrôle d’autres sources lumineuses","marker.controls.help":"Avec l’action « Basculer l’état », les sources répertoriées basculent avec ce marqueur. Leur halo reste sur leurs propres marqueurs et ce lien ne transforme pas à lui seul le marqueur de contrôle en source lumineuse.","marker.controls.help.aria":"Aide : contrôler d’autres sources lumineuses","marker.controls_filter":"Rechercher des lumières et interrupteurs…","info.controls":"Contrôle","marker.glow_radius_label":"Rayon du halo","marker.glow_radius.help":"Définit le rayon du halo en mètres ou en pieds ; une valeur vide utilise le rayon des paramètres généraux.","marker.glow_radius.help.aria":"Aide : rayon du halo","markup.wallthick":"Épaisseur","markup.select":"Sélectionner","title.markup_wallthick":"Épaisseur — cliquez sur un mur pour définir son épaisseur de 0 à 100 cm.","markup.hint_wallthick":"cliquez sur un mur · Échap ferme sans appliquer","wallthick.field":"Épaisseur","wallthick.unit_cm":"cm","wallthick.unit_in":"po","wallthick.apply_room":"Appliquer à tous les murs de cette pièce","markup.draw_wall_title":"Épaisseur de chaque nouveau segment de mur (0–100 cm). Les murs partagés conservent la valeur existante.","room.queue_progress":"Pièce {current} sur {total}","toast.wall_rooms_saved":"Pièces créées : {n}","toast.wall_chain_saved":"Chaîne de murs enregistrée","toast.wallthick_pick":"Cliquez sur un mur","toast.wallthick_set":"Épaisseur du mur définie","toast.wallthick_cleared":"Épaisseur du mur supprimée","toast.physical_range":"Saisissez une valeur comprise entre {min} et {max} {unit}","toast.zero_wall_opening_conflict":"Supprimez d’abord l’ouverture sur ce segment de mur.","toast.zero_wall_ambiguous":"Le segment de mur est ambigu. Simplifiez ou ajustez la jonction.","toast.zero_wall_migration_blocked":"L’espace n’a pas été converti : {reason}. Aucune donnée n’a été modifiée.","toast.physical_angle":"Saisissez un angle de rotation compris entre 0° inclus et 90° exclu","toast.physical_limit":"L’espace a atteint la limite pour ce type de géométrie","toast.geometry_unsafe":"Modification annulée : la géométrie des murs n’a pas pu être construite en toute sécurité.","junction.limit_angle":"L'angle entre les murs est trop aigu : {actual}°, minimum {limit}°.","junction.limit_valence":"Trop de murs se rejoignent en un nœud : {actual}, maximum {limit}.","junction.limit_length":"Le segment de mur est trop court : {actual} cm, minimum {limit} cm.","junction.limit_distance":"Les murs et les nœuds sont trop proches : {actual} cm, minimum {limit} cm.","junction.limit_clearance":"Il ne reste plus d'intérieur de pièce : {actual} cm², minimum {limit} cm².","junction.limit_check_failed":"La vérification des jonctions n'a pas pu s'exécuter — la modification n'a pas été enregistrée","toast.wall_model_migration_blocked":"Le modèle de murs n’a pas pu être mis à jour : {reason}. Le plan n’a pas été modifié. Lancez « Optimiser les plans » ; si l’erreur se reproduit, corrigez la géométrie de mur conflictuelle.","toast.wall_model_client_outdated":"Mettez à jour la carte et rechargez la page avant de modifier le plan.","wall_model.reason.invalid-room":"contour de pièce invalide","wall_model.reason.zero-length":"segment de mur de longueur nulle","wall_model.reason.third-owner":"mur partagé par plus de deux pièces","wall_model.reason.duplicate-id":"identifiants de mur en conflit","wall_model.reason.thickness-conflict":"valeurs d’épaisseur de mur en conflit","wall_model.reason.opening-host":"l’ouverture ne peut pas être attribuée à un seul mur","toast.delete_room_pick":"Cliquez à l’intérieur de la pièce que vous souhaitez supprimer","toast.plan_snap_ambiguous":"Zoomez pour choisir le nœud du mur","toast.wall_repair_ambiguous":"Le contour de la pièce possède plusieurs connexions possibles. Zoomez et reliez-le explicitement.","toast.wall_repair_too_large":"L’écart dépasse 2 cm. Reliez les murs avant de créer la pièce.","toast.wall_repair_changed":"La géométrie des murs a changé. Essayez de créer de nouveau la pièce.","toast.opening_on_zero_wall":"Les ouvertures ne peuvent pas être placées sur un mur d’épaisseur nulle","marker.from_ha_option":"Choisir dans la liste HA","marker.show_entities":"Afficher les entités","marker.show_entities_tip":"Ajoute à la liste non seulement les appareils, mais aussi toutes leurs entités","marker.pick_ph":"Choisir un appareil…","room.open_area":"Ouvrir la zone HA","room.fit_action":"Ajuster la pièce {name}","view.volumetric":"Vue volumétrique","view.flat":"Vue plane","kiosk.title":"Tailles pour cet écran","kiosk.hint":"Enregistrées uniquement sur cet appareil — chaque tablette murale ou TV peut avoir ses propres tailles confortables.","kiosk.icon_scale":"Taille des icônes d’appareils","kiosk.font_scale":"Taille du texte des cartes de pièces","editor.kiosk":"Mode appareil mural (kiosque)","editor.cycle":"Changer automatiquement d’espace toutes les N secondes (kiosque, 0 = désactivé)","room.settings_title":"Paramètres de la pièce","room.settings_section":"Paramètres de la pièce (remplacent ceux de l’espace)","room.fill_label":"Remplissage de CETTE pièce","fill.inherit":"Comme l’espace","room.custom_fill_space":"Couleur de l’espace","room.custom_fill_own":"Couleur de la pièce","room.temp_range_label":"Plage de confort","room.temp_range_min":"Limite basse de température confortable","room.temp_range_max":"Limite haute de température confortable","room.temp_range_reset":"Comme l’espace","room.temp_range.help":"Cette plage s’applique uniquement à cette pièce. Un champ vide hérite de la limite correspondante de l’espace ; si les limites sont inversées, House Plan utilise la plus petite comme limite basse et la plus grande comme limite haute.","room.temp_range.help.aria":"À propos de la plage de confort de la pièce","room.temp_src_label":"Source de température","room.hum_src_label":"Source d’humidité","room.src_average":"Moyenne des capteurs de la pièce (par défaut)","room.src_pick":"Un appareil ou une entité HA spécifique","room.src_ph":"Choisir une source…","toast.room_updated":"Pièce mise à jour","space.card_font":"Taille de police des cartes de pièces (tout l’espace)","room.sizes_section":"Tailles de police","room.name_scale":"Taille du nom de la pièce","room.label_scale":"Taille des mesures","preview.room_name":"Salon","toast.cfg_reload_failed":"Impossible de recharger le plan depuis le serveur : {err}","toast.locale_load_failed":"Impossible de charger le pack de langue. L'anglais est utilisé jusqu'au rechargement de la page.","toast.furniture_art_load_failed":"Impossible de charger les dessins de meubles. Rechargez la page pour les afficher.","room.settings_short":"Paramètres de la pièce","room.unnamed":"Pièce sans nom","marker.use_climate_temp":"Inclure la température de l’appareil dans la pièce","marker.use_climate_temp_tip":"Ajoute la valeur current_temperature d’un climatiseur ou thermostat à la moyenne de la pièce. Configurez séparément le badge de valeur externe ci-dessous.","marker.value_badge_title":"Badge de valeur","marker.value_badge.help":"Affiche une valeur sélectionnée à côté de l’icône. Cela n’affecte pas les mesures de la pièce, la lumière, le halo ni l’action au toucher.","marker.value_badge.help.aria":"Aide : badge de valeur de l’appareil","marker.value_badge_enabled":"Afficher un badge de valeur","marker.value_badge_source":"Valeur","marker.value_badge_source.help":"Choisissez un état précis, un attribut pris en charge ou une valeur dérivée de cet appareil.","marker.value_badge_source.help.aria":"Aide : source du badge de valeur","marker.value_badge_position":"Position","marker.value_badge_position.help":"Le côté choisi reste fixe et ne bascule pas automatiquement au bord du plan.","marker.value_badge_position.help.aria":"Aide : position du badge de valeur","marker.value_badge_right":"À droite","marker.value_badge_bottom":"En dessous","marker.value_badge_left":"À gauche","marker.value_badge_top":"Au-dessus","marker.value_badge_empty":"Cet appareil n’a aucune valeur disponible","marker.value_badge_static":"Une icône statique n’affiche pas de valeurs en direct. Le paramètre est conservé.","marker.value_badge_missing":"Source indisponible","marker.value_badge_missing_hint":"La source enregistrée est actuellement indisponible. Conservez-la, désactivez le badge ou choisissez une autre valeur.","marker.value_badge_duplicate":"La même valeur est déjà affichée dans l’icône.","marker.value_badge_state":"État · {name}","marker.value_badge_marker_state":"État de la source lumineuse · {name}","marker.value_badge_lqi":"Qualité moyenne du signal Zigbee","marker.value_badge_attr_current_temperature":"Température actuelle · {name}","marker.value_badge_attr_temperature":"Température cible · {name}","marker.value_badge_attr_current_humidity":"Humidité actuelle · {name}","marker.value_badge_attr_humidity":"Humidité · {name}","marker.value_badge_attr_current_position":"Position · {name}","marker.value_badge_attr_percentage":"Vitesse · {name}","marker.value_badge_attr_brightness":"Luminosité · {name}","marker.value_badge_attr_volume_level":"Volume · {name}","marker.value_badge_attr_battery_level":"Batterie · {name}","marker.value_badge_attr_fan_speed":"Vitesse du ventilateur · {name}","marker.value_source":"Source de la valeur","marker.value_source.help":"Choisissez la valeur qui remplace l’icône. L’action au toucher ne change pas.","marker.value_source.help.aria":"Aide : source de la valeur dans le marqueur","marker.value_source_auto":"Automatique (comme avant)","marker.value_source_missing_hint":"La source enregistrée est indisponible. Le marqueur affiche — jusqu’à son retour ou jusqu’au choix d’une autre valeur.","marker.light_role_label":"Cet appareil est-il une source lumineuse ?","marker.light_role.help":"« Auto » utilise le rôle déterminé de l’appareil lié, « Toujours » force sa propre source et « Jamais » l’exclut ; les lumières liées ci-dessus restent indépendantes.","marker.light_role.help.aria":"Aide : cet appareil est-il une source lumineuse","marker.light_role_auto_yes":"Auto (source lumineuse)","marker.light_role_auto_no":"Auto (pas une source lumineuse)","marker.light_role_always":"Toujours une source lumineuse","marker.light_role_never":"Jamais une source lumineuse","marker.light_entity_label":"Entité lumineuse principale","marker.light_entity.help":"Pour un appareil composite, choisissez l’entité dont l’état, la couleur et la luminosité représentent cette source sur le plan. Le choix automatique reste compatible avec les anciens plans.","marker.light_entity.help.aria":"Aide : entité lumineuse principale","marker.light_entity_auto":"Automatique ({entity})","marker.light_entity_none":"aucune entité contrôlable","marker.light_entity_missing":"L’entité enregistrée {entity} est indisponible. House Plan utilise temporairement {fallback} ; le choix enregistré sera restauré si elle revient.","marker.toggle_entity_label":"Entité à basculer","marker.toggle_entity.help":"Pour un appareil composite, choisissez précisément la lumière ou l’interrupteur propre à actionner par un toucher. Automatique conserve les règles de cible précédentes et reste indépendant de l’entité lumineuse principale.","marker.toggle_entity.help.aria":"Aide : entité à basculer","marker.toggle_entity_auto":"Automatique ({entity})","marker.toggle_entity_none":"aucune entité propre contrôlable","marker.toggle_entity_missing":"L’entité enregistrée {entity} ne fait plus partie des canaux sélectionnables de ce marqueur. House Plan utilise temporairement {fallback} ; le choix enregistré sera restauré si elle revient.","marker.glow_color_label":"Couleur et luminosité du halo","marker.glow_mode.help":"Utilisez les valeurs en direct de la source, remplacez uniquement sa couleur ou fixez à la fois la couleur et la luminosité. Le minimum est 1 % ; pour désactiver la source, choisissez « Jamais ».","marker.glow_mode.help.aria":"Aide : couleur et luminosité du halo","marker.glow_mode_auto":"Depuis la source","marker.glow_mode_color":"Définir la couleur","marker.glow_mode_fixed":"Définir la couleur et la luminosité","marker.glow_color":"Couleur du halo","marker.glow_brightness":"Luminosité","marker.glow_disabled_never":"Les paramètres du halo sont indisponibles car ce marqueur est explicitement défini comme n’étant pas une source lumineuse.","marker.glow_disabled_auto":"Le mode Auto n’a trouvé aucune source lumineuse spatiale pour ce marqueur.","marker.glow_disabled_no_entity":"Aucune entité Home Assistant contrôlable et active n’est disponible pour cette source spatiale.","marker.glow_passive_hint":"Cette source ne possède aucune donnée Home Assistant propre. Définissez manuellement sa couleur et sa luminosité ; son rayon reste disponible.","marker.control_broken":"La source enregistrée est absente ou n’est plus marquée comme lumière","marker.control_missing_label":"Lumière du plan manquante","marker.control_passive":"source passive","toast.marker_control_cycle":"Ce lien créerait une chaîne circulaire de contrôles de lumière.","toast.marker_binding_required":"Choisissez un appareil Home Assistant avant de lier une autre source lumineuse.","confirm.unlock_title":"Déverrouiller ?","confirm.unlock_body":"House Plan enverra une commande de déverrouillage à cette serrure.","toast.files_migrate_failed":"Les pièces jointes n’ont pas pu être déplacées vers la nouvelle association ; les liens continuent de pointer vers les anciens fichiers : {err}","space.pick_saved":"Déjà importé","space.pick_saved_hint":"Plans stockés sur le serveur, y compris ceux que vous avez précédemment dissociés","space.no_saved":"Aucun plan n’est encore stocké sur le serveur.","space.loading":"Chargement…","space.used_by":"utilisé par : {list}","space.in_use":"Un espace utilise encore ce plan — dissociez-le d’abord","btn.use":"Utiliser","confirm.delete_plan_title":"Supprimer le fichier du plan ?","confirm.delete_plan_body":"Le fichier sera supprimé du serveur. Cette action est irréversible.","toast.plans_list_failed":"Impossible de lister les plans stockés : {err}","toast.plan_delete_failed":"Impossible de supprimer le plan : {err}","marker.hide":"Masquer","marker.hide_tip":"L’appareil disparaîtra du plan après l’enregistrement mais continuera de compter dans le signal de la pièce. Restaurez-le via « Masqués et désactivés » dans l’éditeur d’appareils.","marker.show":"Afficher","marker.show_tip":"L’appareil apparaîtra de nouveau sur le plan après l’enregistrement.","marker.hidden_ghost":"Appareil masqué par l’utilisateur","marker.ha_disabled_device":"L’appareil est désactivé dans Home Assistant et masqué du plan.","marker.ha_disabled_entity":"L’entité est désactivée dans Home Assistant et masquée du plan.","marker.ha_disabled_all_entities":"L’appareil n’a aucune entité Home Assistant active ; il est donc masqué du plan.","marker.ha_registry_limited":"Le registre Home Assistant complet n’est pas accessible à cet utilisateur. L’objet non vérifié ne peut pas être affiché ni utilisé pour le moment.","marker.delete_tip":"Supprimer complètement l’appareil du plan et de tous les agrégats. Vous pourrez l’ajouter de nouveau plus tard.","tap.run":"Exécuter une automatisation/un script/une scène","tap.none":"Ne rien faire","marker.run_target_label":"Élément à exécuter","marker.run_search_ph":"Rechercher : automatisation, script ou scène…","marker.run_target_gone":"Cible {id} introuvable — choisissez-en une autre","marker.tap_confirm":"Demander une confirmation","marker.tap_confirm_tip":"Afficher une boîte de dialogue de confirmation avant l’action — protection contre les appuis accidentels.","marker.toggle_hint_single":"Cible : {name} ({id}).","marker.virtual_light_target":"Lumière virtuelle : {name}.","marker.virtual_light_current":"État manuel : {state} → {effect}.","marker.virtual_light_state_on":"allumé","marker.virtual_light_state_off":"éteint","marker.toggle_hint_group":"Basculera {count} source(s) : {names}.","marker.toggle_hint_current":"Actuellement : {state} → {effect}.","marker.toggle_hint_group_current":"Actuellement allumées : {on} sur {count} → {effect}.","marker.toggle_hint_skipped":"Seront ignorées ({count}) : {targets}.","marker.toggle_effect_turn_on":"sera allumé","marker.toggle_effect_turn_off":"sera éteint","marker.toggle_effect_open":"sera ouvert","marker.toggle_effect_close":"sera fermé","marker.toggle_effect_stop":"sera arrêté","marker.toggle_effect_toggle":"l’état sera basculé","marker.toggle_skip_missing":"introuvable","marker.toggle_skip_ha_disabled":"désactivé dans HA","marker.toggle_skip_unavailable":"indisponible","marker.toggle_skip_unsupported":"basculement non pris en charge","marker.toggle_skip_secure":"bloqué pour des raisons de sécurité","marker.toggle_none_no_binding":"Cet appareil n’a aucune association ; il n’y a donc aucun état à basculer. Un toucher ne fera rien.","marker.toggle_none_no_actionable_entity":"Cet appareil n’a aucun état pouvant être basculé. Un toucher ne fera rien.","marker.toggle_none_configured_targets_missing":"Les cibles configurées sont indisponibles. L’entité propre de l’appareil ne leur sera pas substituée.","marker.toggle_none_ha_disabled":"La cible est désactivée dans Home Assistant et ne peut pas être utilisée sur le plan.","marker.toggle_none_unavailable":"La cible est actuellement indisponible. Un toucher ne fera rien.","marker.toggle_none_unsupported":"Home Assistant n’expose aucune opération de basculement sûre pour cette entité. Un toucher ne fera rien.","marker.toggle_none_secure":"Le basculement des serrures, alarmes et portails sécurisés depuis le plan est bloqué pour des raisons de sécurité.","run.automation":"automatisation","run.script":"script","run.scene":"scène","confirm.tap_run":"Exécuter « {name} » ?","confirm.tap_toggle":"Basculer « {name} » ?","confirm.current_state":"État actuel : {state}","confirm.expected_state":"Après basculement : {state}","confirm.group_current":"{on} allumé(s) sur {total}","confirm.group_all_on":"tout est allumé","confirm.group_all_off":"tout est éteint","confirm.unavailable_targets":"Indisponibles : {count}","confirm.expected_by_ha":"Home Assistant déterminera l’état","confirm.state_on":"Allumé","confirm.state_off":"Éteint","confirm.state_open":"Ouvert","confirm.state_closed":"Fermé","confirm.state_opening":"Ouverture en cours","confirm.state_closing":"Fermeture en cours","confirm.state_stopped":"Arrêté","confirm.state_unknown":"Inconnu","toast.run_started":"Démarré : {name}","toast.run_target_missing":"Cible d’exécution introuvable — vérifiez les paramètres de l’appareil","toast.run_target_required":"Choisissez une automatisation, un script ou une scène","toast.tap_target_changed":"La cible de l’action a changé. Réessayez.","toast.virtual_light_toggle_failed":"Impossible de basculer la lumière virtuelle : {err}","toast.value_badge_source_required":"Choisissez une valeur pour le badge","btn.run":"Exécuter","vac.section":"Robot aspirateur : position en direct","vac.autocal":"Configurer automatiquement","vac.live":"Position en direct sur le plan","vac.trail":"Afficher le trajet du robot","vac.autocal_no_rooms":"L’intégration ne fournit aucune liste de pièces — ouvrez « Ajuster manuellement »","vac.route_warn_unmapped":"Le robot nettoie une carte qui n'est assignée à aucun étage","vac.route_warn_needs_calibration":"La carte est assignée à un étage mais n'est pas calibrée","vac.route_warn_ambiguous":"Deux cartes sont indiscernables — aucun étage choisi","vac.route_warn_missing_space":"L'espace de cette carte a été supprimé","vac.autocal_no_match":"Les noms de pièces ne correspondent pas (il en faut ≥3 en commun) — ouvrez « Ajuster manuellement »","vac.autocal_done":"Terminé : association via {rooms} pièces. Lancez un nettoyage et vérifiez","vac.cal_need_pos":"Le robot ne transmet pas de coordonnées — lancez un nettoyage puis mettez-le en pause","vac.cal_done":"Calibration enregistrée. Lancez un nettoyage et vérifiez","vac.cal_cancelled":"Calibration annulée","vac.fit":"Ajuster manuellement","vac.fit_hint":"Faites glisser la carte du robot pour la positionner, étirez-la par les coins","vac.fit_rotate":"Rotation de 90°","vac.fit_mirror":"Miroir","vac.trail_never":"Jamais","vac.trail_cleaning":"Pendant le nettoyage","vac.trail_always":"Toujours","gs.bg_group":"Arrière-plan de la scène","gs.bg_color":"Arrière-plan autour du plan","gs.bg_default":"Valeur par défaut du thème","gs.bg_theme":"valeur par défaut du thème","gs.bg_mode":"Arrière-plan du plan","gs.bg_mode.help":"« Suit le soleil » utilise sun.sun ou, à défaut, l’heure locale du navigateur ; « Couleur statique » affiche toujours la couleur choisie.","gs.bg_mode.help.aria":"Aide : arrière-plan général du plan","gs.bg_static":"Couleur statique","gs.bg_daynight":"Suit le soleil","gs.sun_group":"Soleil","gs.sun_missing":"L’entité sun.sun est introuvable — l’arrière-plan suit votre heure locale ; les rayons de soleil par les fenêtres sont indisponibles.","gs.north":"Nord sur le plan","gs.north.help":"L’angle se mesure dans le sens horaire depuis la verticale supérieure du plan ; le nord sert aux rayons des fenêtres, pas à l’arrière-plan « Suit le soleil ».","gs.north.help.aria":"Aide : direction générale du nord","gs.north_ph":"non défini","gs.north_clear":"Effacer","gs.north_letter":"N","gs.sun_rays":"Lumière du soleil à travers les fenêtres","gs.sun_ray_origin":"Rayons du soleil","gs.sun_ray_origin.inner":"Depuis les angles intérieurs des fenêtres","gs.sun_ray_origin.outer":"Depuis les angles extérieurs des fenêtres","gs.about_version":"Houseplan Card v{v}","gs.about_github":"GitHub · documentation et problèmes","gs.about_telegram":"Discussion Telegram","support.title":"Aide et commentaires","space.bg_color":"Arrière-plan autour du plan","space.bg_inherit":"Hériter des paramètres généraux","space.bg_inherited":"hérite des paramètres généraux","space.bg_mode":"Arrière-plan du plan","space.bg_mode.help":"Héritez de l’arrière-plan général ou remplacez-le pour cet espace par une couleur statique ou le mode « Suit le soleil ».","space.bg_mode.help.aria":"Aide : arrière-plan de l’espace","space.north":"Nord sur le plan (remplacement)","space.north.help":"Remplace le nord général pour cet espace ; l’angle se mesure dans le sens horaire depuis la verticale supérieure du plan et sert aux rayons des fenêtres.","space.north.help.aria":"Aide : nord de cet espace","space.north_inherited":"hérité : {v}","space.sun_rays":"Lumière du soleil à travers les fenêtres","space.sun_inherit":"Hériter des paramètres généraux","space.sun_on":"Activé","space.sun_off":"Désactivé","canvas.far_objects":"{n} objet(s) éloigné(s) du plan","canvas.show_far":"Afficher","canvas.home_tip":"Le plan est là-bas — cliquez pour l’ajuster à l’écran","gs.grid_group":"Maintenance du plan","gs.grid_hint":"Met à jour les modèles de données, aligne les éléments du plan sur la grille et fusionne les fragments de murs redondants. Un rapport précis est affiché avant tout enregistrement.","gs.align_all":"Optimiser les plans","gs.align_title":"Optimiser les plans","gs.align_none":"Tous les plans utilisent déjà le modèle de données optimisé actuel.","gs.optimize_no_automatic_changes":"Aucune modification automatique n’est à appliquer. Vérifiez les éléments ci-dessous.","gs.align_count":"{n} élément(s) sur {total} seront déplacés, de {cm} cm au maximum.","gs.align_where":"Le plus grand déplacement se trouve dans « {s} ».","gs.align_turned":"Ouvertures dont l’angle est corrigé : {n}.","gs.align_preflight_failed":"Impossible de vérifier en toute sécurité la géométrie des espaces suivants : {spaces}{more}.","gs.align_preflight_hint":"Les plans n’ont pas été modifiés. Copiez les diagnostics avec le bouton ci-dessous et joignez-les au rapport de bug avec un export de l’espace.","gs.preflight_reason_prepare-exception":"Impossible de préparer la géométrie de l’espace (exception lors de la construction du modèle)","gs.preflight_reason_wall-null":"Le corps du mur n’a pas pu être construit (l’union a renvoyé un résultat vide)","gs.preflight_reason_wall-degraded-extra":"Le corps du mur s’est dégradé avec une géométrie supplémentaire","gs.preflight_reason_wall-failed-core":"Le noyau du corps du mur n’a pas pu être assemblé","gs.preflight_reason_wall-exception":"La construction du mur a déclenché une exception","gs.preflight_reason_floor-null":"Le contour du sol n’a pas pu être construit","gs.preflight_reason_floor-exception":"La construction du sol a déclenché une exception","gs.preflight_copy":"Copier les diagnostics","gs.preflight_copied":"Diagnostics copiés","gs.preflight_update_hint":"Les versions de la carte et de l’intégration diffèrent — mettez House Plan à jour puis réessayez.","gs.align_preflight_space":"Espace {n}","gs.align_preflight_more":", et {n} de plus","gs.optimize_changes":"Migrations de modèle : {m} ; espaces mis à jour : {c} ; valeurs de coordonnées parasites supprimées : {p} ; fragments de murs réels fusionnés : {w} ; fragments de murs d’épaisseur nulle fusionnés : {s} ; murs indépendants : {i}.","gs.zero_walls_migrated":"Portions de murs virtuels converties : {n}.","gs.wall_segments_migrated":"Segments de murs stabilisés : {n}.","gs.room_drafts_migrated":"Contours inachevés convertis en murs ordinaires : {drafts} ; segments : {segments}.","gs.optimize_lattice_summary":"Valeurs de coordonnées parasites normalisées : {n} ; déplacement maximal : {cm} cm.","gs.optimize_lattice_space":"{space} : valeurs de coordonnées normalisées : {n} ; valeurs hors grille laissées inchangées : {far}.","gs.optimize_coincident_partitions":"Sections de murs indépendants masquées absorbées dans les murs des pièces : {n}.","gs.optimize_openings_rehosted":"Ouvertures rattachées aux murs des pièces : {n}.","gs.optimize_walls_straightened":"Murs redressés : {n} ; déplacement maximal : {cm} cm.","gs.optimize_walls_straightened_where":"Plus grande correction de mur : {s}.","gs.optimize_walls_straighten_skipped":"Murs proches d’un axe laissés inchangés car ils ne pouvaient pas être réparés en toute sécurité : {n}.","gs.optimize_glow_migration":"Ancien mode Glow : {spaces} espaces → aucun remplissage de données + Glow indépendant ; {rooms} pièces → remplissage de données hérité + Glow indépendant.","gs.optimize_references":"Références réparées : espaces — {spaces} ; pièces — {rooms} ; positions — {positions} ; appareils dissociés des espaces manquants — {detached}.","gs.optimize_reference_more":", et {n} de plus","gs.optimize_orphans_removed":"Enregistrements oubliés supprimés : {total} — étiquettes de pièces : {rooms} ; appareils : {devices} ; marqueurs de groupe : {groups}. Ils appartenaient à des espaces supprimés précédemment.","gs.optimize_live_positions":"Anciennes positions dans des espaces supprimés appartenant à des objets existants : {n}{names}. Elles seront conservées.","gs.optimize_live_positions_remove":"Anciennes positions dans des espaces supprimés appartenant à des objets existants : {n}{names}. Elles sont sélectionnées pour suppression.","gs.optimize_live_names":" : {names}{more}","gs.optimize_live_remove":"Supprimer les anciennes positions","gs.optimize_live_keep":"Conserver les anciennes positions","gs.optimize_live_selected":"Les anciennes positions seront supprimées après l’application de l’optimisation.","gs.optimize_unverified":"Impossible de vérifier en toute sécurité les positions : {n}. Elles ont été laissées inchangées.","gs.optimize_registry_limited":"Un accès administrateur complet aux registres Home Assistant est requis pour une vérification sûre.","gs.optimize_vacuum_warning":"Associations de pièces d’aspirateur nécessitant encore une vérification : {n}.","gs.optimize_details":"Détails","gs.optimize_details_more":"Et {n} enregistrement(s) de plus.","gs.optimize_detail_removed":"sera supprimé","gs.optimize_detail_live":"sera conservé","gs.optimize_detail_unverified":"non vérifié","gs.optimize_detail_room_label":"étiquette de pièce","gs.optimize_detail_device":"appareil","gs.optimize_detail_group":"marqueur de groupe","gs.optimize_detail_unknown":"propriétaire inconnu","gs.optimize_detail_item":"{status} : {kind} {id} ; ancien espace {space}","gs.align_warn":"Les éléments volontairement placés entre les nœuds de la grille seront déplacés. Une seule annulation est disponible après l’opération, uniquement jusqu’à la prochaine modification du plan.","gs.align_run":"Optimiser","gs.align_done":"Plans optimisés : {n} élément(s) déplacé(s), {m} enregistrement(s) maintenu(s), {r} référence(s) réparée(s)","gs.optimize_undo":"Annuler la dernière optimisation","gs.optimize_undone":"La dernière optimisation a été annulée","decor.furniture":"Mobilier","decor.image":"Image","decor.image_title":"Images personnalisées","decor.image_upload":"Importer une image","decor.image_replace":"Remplacer l’image","decor.image_uploading":"Importation…","decor.image_asset":"Fichier image","decor.image_pick_hint":"Importez une image ou choisissez-en une existante.","decor.image_place_hint":"Cliquez sur le plan pour placer l’image.","decor.image_none":"Aucune image importée pour le moment.","decor.image_unavailable":"Image indisponible","decor.image_used":"Utilisée dans {n} objets","decor.image_upload_failed":"Impossible d’importer l’image : {err}","decor.image_error_capacity":"Le stockage des images personnalisées est plein.","decor.image_in_use":"Supprimez toutes les copies placées avant ce fichier.","decor.image_delete_title":"Supprimer le fichier image ?","decor.image_delete_message":"Supprimer « {name} » de House Plan ? Cette action est irréversible.","furn.title":"Bibliothèque de mobilier","furn.symbol":"Symbole","furn.group_furniture":"Mobilier","furn.group_appliance":"Électroménager","furn.group_sanitary":"Sanitaires","furn.group_other":"Autre","furn.width":"Largeur","furn.depth":"Profondeur","furn.back_to_categories":"Toutes les catégories","furn.pick_hint":"Choisissez un symbole, puis cliquez sur le plan.","furn.place_hint":"Cliquez sur le plan — le meuble se place contre le mur le plus proche. Maj permet un placement libre.","furn.cat_air_conditioner":"Climatiseurs","furn.cat_armchair":"Fauteuils","furn.cat_bathtub":"Baignoires","furn.cat_bed":"Lits","furn.cat_bidet":"Bidets","furn.cat_boiler":"Chauffe-eau","furn.cat_chair":"Chaises","furn.cat_coffee_table":"Tables basses","furn.cat_cooktop":"Plaques de cuisson","furn.cat_dining_table":"Tables à manger","furn.cat_dishwasher":"Lave-vaisselle","furn.cat_dryer":"Sèche-linge","furn.cat_fireplace":"Cheminées","furn.cat_fridge":"Réfrigérateurs","furn.cat_kitchen_cabinet":"Meubles de cuisine","furn.cat_kitchen_sink":"Éviers de cuisine","furn.cat_nightstand":"Meubles","furn.cat_plant":"Plantes","furn.cat_rug":"Tapis","furn.cat_shelving":"Étagères","furn.cat_shower":"Douches","furn.cat_sink":"Lavabos","furn.cat_sofa":"Canapés","furn.cat_stairs":"Escaliers","furn.cat_toilet":"Toilettes","furn.cat_tv":"Téléviseurs","furn.cat_wardrobe":"Armoires","furn.cat_washer":"Lave-linge","furn.cat_work_table":"Bureaux","furn.sym_sofa":"Canapé","furn.sym_sofa_three_seat":"Canapé trois places","furn.sym_sofa_corner_right":"Canapé d'angle droit","furn.sym_armchair":"Fauteuil","furn.sym_armchair_office":"Chaise de bureau","furn.sym_coffee_table":"Table basse","furn.sym_coffee_table_round":"Table basse ronde","furn.sym_coffee_table_oval":"Table basse ovale","furn.sym_coffee_table_rounded":"Table basse arrondie","furn.sym_table_dining":"Table à manger","furn.sym_table_round":"Table ronde","furn.sym_table_dining_oval":"Table à manger ovale","furn.sym_table_dining_rounded":"Table à manger arrondie","furn.sym_chair":"Chaise","furn.sym_chair_bar":"Tabouret de bar","furn.sym_desk":"Bureau","furn.sym_desk_corner":"Bureau d'angle","furn.sym_bed_double":"Lit double","furn.sym_bed_single":"Lit simple","furn.sym_nightstand":"Table de chevet","furn.sym_cabinet_tv":"Meuble TV","furn.sym_cabinet_shoe":"Meuble à chaussures","furn.sym_cabinet_sink":"Meuble sous lavabo","furn.sym_wardrobe":"Armoire","furn.sym_bookshelf":"Bibliothèque","furn.sym_wall_unit":"Élément mural","furn.sym_kitchen_floor":"Module de cuisine bas","furn.sym_kitchen_floor_corner":"Module de cuisine bas d'angle","furn.sym_kitchen_wall":"Module de cuisine haut","furn.sym_kitchen_wall_corner":"Module de cuisine haut d'angle","furn.sym_shelf_floor":"Étagère au sol","furn.sym_shelf_wall":"Étagère murale","furn.sym_fridge":"Réfrigérateur","furn.sym_stove":"Cuisinière","furn.sym_cooktop_two":"Plaque à deux feux","furn.sym_dishwasher":"Lave-vaisselle","furn.sym_washer":"Lave-linge","furn.sym_dryer":"Sèche-linge","furn.sym_tv":"Téléviseur","furn.sym_tv_wall":"Téléviseur mural","furn.sym_ac":"Climatiseur","furn.sym_water_heater":"Chauffe-eau","furn.sym_toilet":"Toilettes","furn.sym_toilet_built_in":"Toilettes suspendues","furn.sym_bathtub":"Baignoire","furn.sym_bathtub_corner":"Baignoire d'angle","furn.sym_shower":"Douche","furn.sym_sink":"Lavabo","furn.sym_kitchen_sink":"Évier de cuisine","furn.sym_kitchen_sink_double":"Évier de cuisine double","furn.sym_bidet":"Bidet","furn.sym_bidet_built_in":"Bidet suspendu","furn.sym_stairs":"Escalier","furn.sym_fireplace":"Cheminée","furn.sym_plant":"Plante","furn.sym_rug":"Tapis","common.yes":"Oui","common.no":"Non","vac.diag_source":"Source","vac.diag_platform":"Intégration","vac.diag_status":"État","vac.diag_position":"Position","vac.diag_rooms":"Pièces","vac.diag_rooms_value":"{total} · {matched} noms correspondent · {readiness}","vac.autocal_ready":"calibration automatique disponible","vac.autocal_not_ready":"3 noms correspondants requis","vac.diag_path":"Chemin de l’intégration","vac.diag_map":"ID de carte","vac.source_none":"non sélectionné","vac.source_status_ok":"Prêt","vac.source_status_missing":"Manquant","vac.source_status_disabled":"Désactivé dans Home Assistant","vac.source_status_unavailable":"Indisponible","vac.source_status_unverified":"Impossible à vérifier avec les autorisations actuelles","vac.source_status_unsupported":"Aucune donnée de position","vac.source_status_none":"Aucune source","vac.source_banner_missing":"La source enregistrée n’existe plus. Elle n’a pas été remplacée automatiquement ; choisissez une autre source ou restaurez-la dans Home Assistant.","vac.source_banner_disabled":"La source enregistrée est désactivée dans Home Assistant. Activez-la ou choisissez une autre source.","vac.source_banner_unverified":"Les autorisations Home Assistant actuelles ne permettent pas de vérifier cette source enregistrée. Elle reste épinglée et ne sera pas remplacée automatiquement.","vac.choose_source":"Choisir la source","vac.source_auto":"Automatique","vac.source_auto_hint":"Utiliser une entité compatible de cet appareil","vac.all_cameras":"Toutes les caméras","vac.all_cameras_warn":"Une caméra peut ne pas fournir de données du robot. Choisissez-en une uniquement s’il s’agit de la carte de votre aspirateur.","vac.all_cameras_empty":"Aucune autre entité caméra trouvée.","vac.platform_unknown":"intégration inconnue","vac.cap_position":"position","vac.cap_rooms_short":"pièces","vac.cap_path":"trajet","vac.cap_map":"ID de carte","vac.cap_none":"aucune donnée de robot détectée","vac.xcme_hint":"Activez ces attributs Xiaomi Cloud Map Extractor :","vac.documentation":"Documentation","vac.residual_title":"Vérifier la calibration automatique","vac.residual_message":"Les pièces correspondantes présentent un écart maximal de {error}. Appliquez cette calibration approximative, affinez-la manuellement ou annulez sans modifier la configuration enregistrée.","vac.apply_proposal":"Appliquer","gs.backup_group":"Sauvegarde et transfert","gs.backup_hint":"Téléchargez une sauvegarde JSON portable ou prévisualisez et importez une sauvegarde créée par House Plan.","backup.export_open":"Exporter","backup.import_open":"Importer","backup.export_title":"Exporter House Plan","backup.import_title":"Importer House Plan","backup.export_hint":"Choisissez si la sauvegarde doit contenir toute la configuration House Plan ou uniquement l’espace actuel.","backup.full":"Sauvegarde complète","backup.current_space":"Espace actuel","backup.current_space_title":"Espace actuel : {title}","backup.no_current_space":"Aucun espace actuel","backup.plan_only":"Plan uniquement","backup.plan_only_hint":"Conserver les pièces, murs, ouvertures, décorations et positions des étiquettes de pièces sans les appareils ni les associations Home Assistant.","backup.plan_only_preview":"Ce fichier contient uniquement le plan","backup.privacy_warning":"L’archive conserve les noms, identifiants Home Assistant et coordonnées exactes. Les plans internes et pièces jointes sont référencés, pas intégrés ; les états d’exécution et trajets d’aspirateur ne sont pas inclus.","backup.download":"Télécharger le JSON","backup.export_done":"Sauvegarde téléchargée","backup.reading":"Vérification de la sauvegarde…","backup.revalidated":"Le plan a changé depuis cet aperçu. Le résumé a été actualisé ; vérifiez-le et confirmez de nouveau.","backup.error.support_invalid_message":"Vérifiez le message d’assistance et réessayez.","backup.error.support_package_too_large":"Le paquet d’assistance anonymisé dépasse la limite de 8 Mio.","backup.error.support_preview_expired":"L’aperçu de la pièce jointe d’assistance a expiré ou n’est plus disponible.","backup.error.support_rate_limited":"Trop de rapports ou d’aperçus d’assistance ont été demandés. Réessayez plus tard.","backup.error.support_rejected":"Le rapport n’a pas passé la validation du service d’assistance.","backup.error.support_unavailable":"Le service d’assistance privé est temporairement indisponible.","backup.error.unauthorized":"Vous n’avez pas l’autorisation d’exporter ou d’importer ce plan.","backup.error.not_ready":"House Plan n’est pas encore prêt. Réessayez dans un instant.","backup.error.too_large":"La sauvegarde dépasse la limite de 8 Mio.","backup.error.invalid_json":"Le fichier sélectionné n’est pas un JSON valide.","backup.error.invalid_format":"Le fichier sélectionné n’est pas une sauvegarde House Plan.","backup.error.invalid_image":"L’image est endommagée ou ne correspond pas à son format.","backup.error.unsupported_export_version":"Ce format de sauvegarde n’est pas pris en charge par la version installée.","backup.error.unsupported_image":"Utilisez une image PNG, JPEG, WebP ou SVG prise en charge.","backup.error.future_model":"La sauvegarde a été créée avec un modèle de données House Plan plus récent.","backup.error.invalid_config":"La sauvegarde contient une configuration House Plan invalide.","backup.error.wall_model_migration_blocked":"Le modèle de murs de la sauvegarde n’a pas pu être mis à niveau en toute sécurité. Optimisez d’abord le plan source, puis exportez-le de nouveau.","backup.error.invalid_layout":"La sauvegarde contient des positions d’objets invalides.","backup.error.invalid_content":"La sauvegarde contient des références de contenu invalides ou incohérentes.","backup.error.space_not_found":"L’espace sélectionné n’existe plus.","backup.error.capacity_exceeded":"L’ajout de cette sauvegarde dépasserait les limites du plan.","backup.error.preview_expired":"L’aperçu a expiré. Sélectionnez de nouveau le fichier de sauvegarde.","backup.error.preview_owner_mismatch":"Cet aperçu appartient à un autre utilisateur Home Assistant.","backup.error.conflict":"Le plan a changé depuis l’aperçu. Vérifiez le résumé actualisé.","backup.error.content_confirmation_required":"Confirmez que le contenu local indisponible peut être dissocié.","backup.error.commit_failed":"La sauvegarde n’a pas pu être appliquée en toute sécurité. Le plan précédent a été restauré ou est en attente de récupération.","backup.error.missing_plan":"Un fichier de plan référencé a disparu depuis l’aperçu. Vérifiez de nouveau la sauvegarde.","backup.error.missing_content":"Une pièce jointe locale référencée a disparu depuis l’aperçu. Vérifiez de nouveau la sauvegarde.","backup.error.marker_control_missing":"Une lumière liée au plan est absente de la sauvegarde.","backup.error.marker_control_not_light":"Une cible liée au plan n’est plus marquée comme source lumineuse.","backup.error.marker_control_self":"Une source lumineuse ne peut pas se contrôler elle-même.","backup.error.marker_control_cycle":"La sauvegarde contient une chaîne circulaire de contrôles de lumière.","backup.error.duplicate_marker_control":"La sauvegarde contient un lien de lumière du plan en doublon.","backup.error.no_backup":"Aucun instantané d’importation ou d’optimisation n’est disponible à restaurer.","backup.error.in_use":"L'élément est encore utilisé","backup.error.invalid_data":"La requête contient des données invalides","backup.error.invalid_light_entity":"La lumière principale doit être une entité light.* ou switch.*","backup.error.invalid_marker_control":"Référence de contrôle de marqueur invalide","backup.error.invalid_name":"Le nom est invalide","backup.error.invalid_partition_opening_host":"L'ouverture doit conserver sa cloison porteuse","backup.error.invalid_partition_opening_jamb_margin":"L'ouverture ne laisse aucun jambage physique au bout du mur","backup.error.invalid_passage_fields":"Un passage ouvert ne peut pas porter de réglages de porte","backup.error.invalid_space_id":"Espace inconnu","backup.error.invalid_toggle_entity":"L'entité de bascule doit être light.* ou switch.*","backup.error.invalid_value_badge":"Réglages de badge de valeur invalides","backup.error.invalid_value_badge_attribute":"Attribut de badge de valeur invalide","backup.error.invalid_value_badge_position":"Position de badge de valeur invalide","backup.error.invalid_value_badge_source":"Source de badge de valeur invalide","backup.error.invalid_vacuum_map_route":"Vérifiez l'affectation des cartes du robot aux espaces.","backup.error.invalid_value_source":"Source de valeur invalide","backup.error.invalid_value_source_attribute":"Attribut de source de valeur invalide","backup.error.io_error":"Une opération de fichier a échoué sur le serveur","backup.error.not_toggleable":"Cet appareil ne peut pas être basculé","backup.error.nothing_to_repair":"Rien à réparer","backup.error.space_in_use":"L'espace est encore référencé","backup.error.value_badge_source_required":"Le badge de valeur nécessite une source","backup.error.wall_model_client_outdated":"Le plan a été mis à jour ailleurs — rechargez la page","backup.same_source":"Créée sur cette instance Home Assistant","backup.foreign_source":"Créée sur une autre instance Home Assistant","backup.created":"Créée : {value}","backup.versions":"Carte {card} ; intégration {integration} ; modèle de données {model}","backup.count_spaces":"Espaces : {n}","backup.count_rooms":"Pièces : {n}","backup.count_walls":"Murs : {n}","backup.count_openings":"Ouvertures : {n}","backup.count_decor":"Objets décoratifs : {n}","backup.count_markers":"Appareils : {n}","backup.count_layout":"Positions : {n}","backup.bindings":"Associations — appareils : {device}, entités : {entity}, virtuels : {virtual} ; positions sans espace : {legacy}","backup.binding_status":"État des cibles — actives : {active}, désactivées : {disabled}, manquantes : {missing}","backup.missing_areas":"Zones absentes sur la cible : {areas}","backup.dropped_marker_links":"Liens de lumières du plan hors de cet espace transféré omis : {n}.","backup.room_drafts_migrated":"Anciens contours inachevés convertis en murs ordinaires : {drafts} ; segments : {segments}.","backup.repaired_target_refs":"Références existantes restaurées par cet import d’espace : {n}.","backup.preserved_unresolved_refs":"Références qui n’ont pas pu être restaurées sans ambiguïté conservées : {n}.","backup.preserved_unresolved_hint":"Aucune donnée n’a été devinée ni supprimée. Après l’importation, lancez « Optimiser les plans » pour examiner les références restantes.","backup.import_details":"Détails des références d’importation","backup.import_detail.incoming_remapped":"Références mises à jour dans la copie importée : {n}","backup.import_detail.target_repaired":"Références existantes restaurées : {n}","backup.import_detail.preserved_unresolved":"Références non résolues conservées : {n}","backup.import_detail.collisions":"Conflits de destination conservés en toute sécurité : {n}","backup.import_detail.dropped_links":"Liens entrants omis selon les règles de transfert : {n}","backup.import_detail.bounded_lineages":"Identifiants trop imbriqués maintenus dans les limites : {n}","backup.replace_warning":"Cela remplace la configuration et la disposition actuelles. Les fichiers importés ne sont jamais supprimés. Une seule annulation reste disponible jusqu’à la prochaine modification du plan.","backup.foreign_bookkeeping":"Les données de suivi des appareils connus/nouveaux propres à l’instance ne seront pas importées.","backup.final_name":"Nom du nouvel espace","backup.target_settings":"Les paramètres généraux de l’instance cible restent inchangés.","backup.duplicates":"Associations déjà présentes : {n}","backup.skip":"Ignorer les appareils en doublon","backup.virtual_copy":"Ajouter des copies virtuelles statiques sûres","backup.content":"Contenu référencé","backup.decor_images_summary":"Images personnalisées : {objects} objets, {assets} fichiers ; fichiers absents : {missing}.","backup.content_available":"disponible localement","backup.content_external":"lien externe","backup.content_detach_required":"sera dissocié","backup.confirm_detach":"Je comprends que les plans internes et pièces jointes indisponibles seront dissociés de la configuration importée.","backup.confirm_missing_images":"Je comprends que les images personnalisées absentes resteront des espaces réservés réparables et que les autres fichiers locaux indisponibles seront dissociés.","backup.replace":"Remplacer","backup.add":"Ajouter un espace","backup.space_done":"Espace importé : {rooms} pièces, {markers} appareils, {refs} références existantes restaurées","backup.full_done":"Sauvegarde restaurée : {spaces} espaces, {rooms} pièces, {markers} appareils","backup.undo_import":"Annuler la dernière importation complète","backup.import_undone":"Importation complète annulée","backdrop.large_title":"Grande image","backdrop.large_body":"Cette image fait {w}×{h} (fichier de {fileMb} Mo) et nécessite environ {decodedMb} Mo de mémoire pour s'afficher. Sur tablette, cela peut faire planter la page.","backdrop.unknown_body":"Les dimensions de l'image n'ont pas pu être lues — le fichier est peut-être endommagé. Continuer peut faire planter la page sur tablette.","backdrop.reduced_dimensions":"Copie réduite : {w}×{h} px.","backdrop.use_downscaled":"Téléverser une copie réduite","backdrop.reducing":"Réduction…","backdrop.keep_original":"Conserver l'original","backdrop.too_large_title":"Image trop grande","backdrop.too_large_body":"Cette image dépasse ce que les navigateurs peuvent afficher ({w}×{h}, limite {limit} px par côté). Réduisez-la dans un éditeur de bureau puis téléversez-la à nouveau.","backdrop.downscale_failed":"Impossible de créer la copie réduite. Le plan actuel n'a pas été modifié."};const r="82d67fade42d86838ff98dbd4ec9c8d6f19dcc50bb4cfc5a31368dc008f58c3e";export{e as dictionary,r as fingerprint}; diff --git a/custom_components/houseplan/frontend/houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js b/custom_components/houseplan/frontend/houseplan-assets/furniture-plan-art.generated-BfO1XOcD.js similarity index 99% rename from custom_components/houseplan/frontend/houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js rename to custom_components/houseplan/frontend/houseplan-assets/furniture-plan-art.generated-BfO1XOcD.js index 67e1b191..f533b6e6 100644 --- a/custom_components/houseplan/frontend/houseplan-assets/furniture-plan-art.generated-HHfE6G8m.js +++ b/custom_components/houseplan/frontend/houseplan-assets/furniture-plan-art.generated-BfO1XOcD.js @@ -1 +1 @@ -globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="82d67fade42d86838ff98dbd4ec9c8d6f19dcc50bb4cfc5a31368dc008f58c3e";const L="82d67fade42d86838ff98dbd4ec9c8d6f19dcc50bb4cfc5a31368dc008f58c3e",M={coffee_table:{d:"M 0,2.4996674 C 0,1.11983275 1.11965812,0 2.5,0 L 117.5,0 C 118.88141026,0 120,1.11869239 120,2.4996674 L 120,57.49919225 C 120,58.88130761 118.88141026,60 117.5,60 L 2.5,60 C 1.11965812,60 0,58.88130761 0,57.5003326 L 0,2.4996674 M 106,13.00123539 L 106,6.99952485 M 106,6.99952487 A 1.00009503,1 90 0,1 106.29289321,6.29235088 A 1.00009503,1 90 0,1 106.99999999,5.99942982 M 107,5.99942982 L 113,5.99942982 A 1.00009503,1 90 0,1 113.70710678,6.29235087 A 1.00009503,1 90 0,1 114,6.99952485 L 114,13.00009503 M 114,13.00009502 A 1.00009503,1 90 0,1 113.70710679,13.707269 A 1.00009503,1 90 0,1 113.00000001,14.00019006 M 113,14.00019006 L 107,14.00019006 M 107,14.00019006 A 1.00009503,1 90 0,1 106.29289322,13.70726901 A 1.00009503,1 90 0,1 106,13.00009503 M 106,53.00161551 L 106,47.00104533 M 106,47.00104534 A 1.00009503,1 90 0,1 106.29289321,46.29387136 A 1.00009503,1 90 0,1 106.99999999,46.0009503 M 107,46.0009503 L 113,46.0009503 M 113,46.0009503 A 1.00009503,1 90 0,1 113.70710678,46.29387135 A 1.00009503,1 90 0,1 114,47.00104533 M 114,47.00104533 L 114,53.00161551 M 114,53.00161549 A 1.00009503,1 90 0,1 113.70710679,53.70878948 A 1.00009503,1 90 0,1 113.00000001,54.00171054 M 113,54.00171054 L 107,54.00171054 M 107,54.00171054 A 1.00009503,1 90 0,1 106.29289322,53.70878949 A 1.00009503,1 90 0,1 106,53.00161551 M 6,13.00123539 L 6,6.99952485 M 6,6.99952487 A 1.00009503,1 90 0,1 6.29289321,6.29235088 A 1.00009503,1 90 0,1 6.99999999,5.99942982 M 7,5.99942982 L 13,5.99942982 A 1.00009503,1 90 0,1 13.70710678,6.29235087 A 1.00009503,1 90 0,1 14,6.99952485 L 14,13.00009503 M 14,13.00009502 A 1.00009503,1 90 0,1 13.70710679,13.707269 A 1.00009503,1 90 0,1 13.00000001,14.00019006 M 13,14.00019006 L 7,14.00019006 A 1.00009503,1 90 0,1 6.29289322,13.70726901 A 1.00009503,1 90 0,1 6,13.00009503 M 6,53.00161551 L 6,47.00104533 M 6,47.00104533 A 1.00009503,1 90 0,1 6.29289322,46.29387135 A 1.00009503,1 90 0,1 7,46.0009503 M 7,46.0009503 L 13,46.0009503 M 13,46.0009503 A 1.00009503,1 90 0,1 13.70710678,46.29387135 A 1.00009503,1 90 0,1 14,47.00104533 M 14,47.00104533 L 14,53.00161551 A 1.00009503,1 90 0,1 13.70710678,53.70878949 A 1.00009503,1 90 0,1 13,54.00171054 M 13,54.00171054 L 7,54.00171054 M 7,54.00171054 A 1.00009503,1 90 0,1 6.29289322,53.70878949 A 1.00009503,1 90 0,1 6,53.00161551",viewW:120,viewH:60},coffee_table_round:{d:"M 0,40 A 40,40 0 0,0 40,80 A 40,40 0 0,0 80,40 A 40,40 0 0,0 40,0 A 40,40 0 0,0 0,40 M 57.94949634,25.60507796 L 53.70718918,21.3627708 A 1.00013799,1.00013799 0 0,1 53.70718918,19.94977232 L 57.94949634,15.70636125 A 1.00013799,1.00013799 0 0,1 59.36359873,15.70636125 L 63.6070098,19.94866841 A 1.00013799,1.00013799 0 0,1 63.6070098,21.3627708 L 59.36359873,25.60618187 A 1.00013799,1.00013799 0 0,1 57.95060025,25.60618187 M 57.94949634,63.86753139 L 53.70718918,59.62522423 A 1.00013799,1.00013799 0 0,1 53.70718918,58.21112184 L 57.94949634,53.96771078 A 1.00013799,1.00013799 0 0,1 59.36359873,53.96771078 L 63.60590589,58.21112184 A 1.00013799,1.00013799 0 0,1 63.60590589,59.62412033 L 59.36359873,63.86753139 A 1.00013799,1.00013799 0 0,1 57.94949634,63.86753139 M 19.94977232,25.60618187 L 15.70746516,21.36387471 A 1.00013799,1.00013799 0 0,1 15.70746516,19.94977232 L 19.94977232,15.70636125 A 1.00013799,1.00013799 0 0,1 21.36387471,15.70636125 L 25.60728577,19.94977232 A 1.00013799,1.00013799 0 0,1 25.60728577,21.3627708 L 21.36387471,25.60618187 A 1.00013799,1.00013799 0 0,1 19.95087622,25.60618187 M 19.94977232,63.86753139 L 15.70746516,59.62522423 A 1.00013799,1.00013799 0 0,1 15.70746516,58.21112184 L 19.94977232,53.96881468 A 1.00013799,1.00013799 0 0,1 21.36387471,53.96881468 L 25.60728577,58.21112184 A 1.00013799,1.00013799 0 0,1 25.60728577,59.62522423 L 21.36387471,63.86753139 A 1.00013799,1.00013799 0 0,1 19.95087622,63.86753139",viewW:80,viewH:80},coffee_table_oval:{d:"M 0,30.00057018 C 0,13.43115081 13.43162393,0 30,0 L 90,0 C 106.56944444,0 120,13.43115081 120,30.00057018 C 120,46.56998955 106.56944444,60 90,60 L 30,60 C 13.43162393,60 0,46.56998955 0,30.00057018 M 82,13.00123539 L 82,6.99952485 M 82,6.99952487 A 1.00009503,1 90 0,1 82.29289321,6.29235088 A 1.00009503,1 90 0,1 82.99999999,5.99942982 M 83,5.99942982 L 89,5.99942982 A 1.00009503,1 90 0,1 89.70710678,6.29235087 A 1.00009503,1 90 0,1 90,6.99952485 L 90,13.00009503 M 90,13.00009502 A 1.00009503,1 90 0,1 89.70710679,13.707269 A 1.00009503,1 90 0,1 89.00000001,14.00019006 M 89,14.00019006 L 83,14.00019006 M 83,14.00019006 A 1.00009503,1 90 0,1 82.29289322,13.70726901 A 1.00009503,1 90 0,1 82,13.00009503 M 82,53.00047515 L 82,46.99990497 M 82,46.99990498 A 1.00009503,1 90 0,1 82.29289321,46.292731 A 1.00009503,1 90 0,1 82.99999999,45.99980994 M 83,45.99980994 L 89,45.99980994 M 89,45.99980994 A 1.00009503,1 90 0,1 89.70710678,46.29273099 A 1.00009503,1 90 0,1 90,46.99990497 M 90,46.99990497 L 90,53.00047515 M 90,53.00047513 A 1.00009503,1 90 0,1 89.70710679,53.70764912 A 1.00009503,1 90 0,1 89.00000001,54.00057018 M 89,54.00057018 L 83,54.00057018 M 83,54.00057018 A 1.00009503,1 90 0,1 82.29289322,53.70764913 A 1.00009503,1 90 0,1 82,53.00047515 M 30,13.00123539 L 30,6.99952485 M 30,6.99952487 A 1.00009503,1 90 0,1 30.29289321,6.29235088 A 1.00009503,1 90 0,1 30.99999999,5.99942982 M 31,5.99942982 L 37,5.99942982 M 37,5.99942982 A 1.00009503,1 90 0,1 37.70710678,6.29235087 A 1.00009503,1 90 0,1 38,6.99952485 L 38,13.00009503 A 1.00009503,1 90 0,1 37,13.9990497 L 31,13.9990497 A 1.00009503,1 90 0,1 30,13.00009503 M 30,53.00047515 L 30,46.99990497 M 30,46.99990497 A 1.00009503,1 90 0,1 30.29289322,46.29273099 A 1.00009503,1 90 0,1 31,45.99980994 M 31,45.99980994 L 37,45.99980994 M 37,45.99980994 A 1.00009503,1 90 0,1 37.70710678,46.29273099 A 1.00009503,1 90 0,1 38,46.99990497 M 38,46.99990497 L 38,53.00047515 A 1.00009503,1 90 0,1 37,53.99942982 L 31,53.99942982 A 1.00009503,1 90 0,1 30,53.00047515",viewW:120,viewH:60},coffee_table_rounded:{d:"M 0,10.00057016 C 0,4.47802041 4.47649573,0 10,0 L 110,0 C 115.52350427,0 120,4.47802041 120,10.00057016 L 120,49.99942984 C 120,55.52197959 115.52350427,60 110,60 L 10,60 C 4.47649573,60 0,55.52197959 0,49.99942984 L 0,10.00057016 M 106,13.00188152 L 106,7.00039911 M 106,7.00039913 A 1.00005702,1 90 0,1 106.29289321,6.29325202 A 1.00005702,1 90 0,1 106.99999999,6.00034209 M 107,6.00034209 L 113,6.00034209 A 1.00005702,1 90 0,1 113.70710678,6.29325201 A 1.00005702,1 90 0,1 114,7.00039911 L 114,13.00074121 M 114,13.00074119 A 1.00005702,1 90 0,1 113.70710679,13.70788829 A 1.00005702,1 90 0,1 113.00000001,14.00079822 M 113,14.00079822 L 107,14.00079822 M 107,14.00079822 A 1.00005702,1 90 0,1 106.29289322,13.7078883 A 1.00005702,1 90 0,1 106,13.00074121 M 106,53.00074121 L 106,47.00039911 M 106,47.00039913 A 1.00005702,1 90 0,1 106.29289321,46.29325202 A 1.00005702,1 90 0,1 106.99999999,46.00034209 M 107,46.00034209 L 113,46.00034209 M 113,46.00034209 A 1.00005702,1 90 0,1 113.70710678,46.29325201 A 1.00005702,1 90 0,1 114,47.00039911 M 114,47.00039911 L 114,53.00074121 M 114,53.00074119 A 1.00005702,1 90 0,1 113.70710679,53.70788829 A 1.00005702,1 90 0,1 113.00000001,54.00079822 M 113,54.00079822 L 107,54.00079822 M 107,54.00079822 A 1.00005702,1 90 0,1 106.29289322,53.7078883 A 1.00005702,1 90 0,1 106,53.00074121 M 6,13.00188152 L 6,7.00039911 M 6,7.00039913 A 1.00005702,1 90 0,1 6.29289321,6.29325202 A 1.00005702,1 90 0,1 6.99999999,6.00034209 M 7,6.00034209 L 13,6.00034209 A 1.00005702,1 90 0,1 13.70710678,6.29325201 A 1.00005702,1 90 0,1 14,7.00039911 L 14,13.00074121 M 14,13.00074119 A 1.00005702,1 90 0,1 13.70710679,13.70788829 A 1.00005702,1 90 0,1 13.00000001,14.00079822 M 13,14.00079822 L 7,14.00079822 M 7,14.00079822 A 1.00005702,1 90 0,1 6.29289322,13.7078883 A 1.00005702,1 90 0,1 6,13.00074121 M 6,53.00074121 L 6,47.00039911 M 6,47.00039911 A 1.00005702,1 90 0,1 6.29289322,46.29325201 A 1.00005702,1 90 0,1 7,46.00034209 M 7,46.00034209 L 13,46.00034209 M 13,46.00034209 A 1.00005702,1 90 0,1 13.70710678,46.29325201 A 1.00005702,1 90 0,1 14,47.00039911 M 14,47.00039911 L 14,53.00074121 M 14,53.00074121 A 1.00005702,1 90 0,1 13.70710678,53.7078883 A 1.00005702,1 90 0,1 13,54.00079822 M 13,54.00079822 L 7,54.00079822 M 7,54.00079822 A 1.00005702,1 90 0,1 6.29289322,53.7078883 A 1.00005702,1 90 0,1 6,53.00074121",viewW:120,viewH:60},table_dining:{d:"M 0,2.50060665 C 0,1.11926717 1.11927063,0 2.49917894,0 L 157.49871914,0 C 158.87967841,0 160,1.11926717 160,2.50060665 L 160,87.49939335 C 160,88.88073283 158.87967841,90 157.49871914,90 L 2.49917894,90 C 1.11927063,90 0,88.88073283 0,87.49939335 L 0,2.50060665 M 142.00023647,16.99975734 L 142.00023647,10.99939335 A 1.00051234,1.00024266 0 0,1 142.99969785,10.00024266 L 149.00066999,10.00024266 A 1.00051234,1.00024266 0 0,1 149.99908041,10.99939335 L 149.99908041,16.99975734 A 1.00051234,1.00024266 0 0,1 149.00066999,18 L 142.99969785,18 A 1.00051234,1.00024266 0 0,1 142.00023647,16.99975734 M 141.99918551,78.99951468 L 141.99918551,72.99915069 A 1.00051234,1.00024266 0 0,1 142.99969785,72 L 148.99961903,72 A 1.00051234,1.00024266 0 0,1 149.99908041,72.99915069 L 149.99908041,78.99951468 A 1.00051234,1.00024266 0 0,1 148.99961903,79.99975734 L 142.99864689,79.99975734 A 1.00051234,1.00024266 0 0,1 142.00023647,78.99951468 M 9.99986863,16.99975734 L 9.99986863,10.99939335 A 1.00051234,1.00024266 0 0,1 10.99933001,9.99915069 L 17.00030215,9.99915069 A 1.00051234,1.00024266 0 0,1 17.99871258,10.99939335 L 17.99871258,16.99975734 A 1.00051234,1.00024266 0 0,1 17.00030215,17.99890803 L 10.99933001,17.99890803 A 1.00051234,1.00024266 0 0,1 9.99986863,16.99975734 M 9.99881767,79.00060665 L 9.99881767,73.00024266 A 1.00051234,1.00024266 0 0,1 10.99933001,72 L 16.99925119,72 A 1.00051234,1.00024266 0 0,1 17.99871258,73.00024266 L 17.99871258,79.00060665 A 1.00051234,1.00024266 0 0,1 16.99925119,79.99975734 L 10.99827906,79.99975734 A 1.00051234,1.00024266 0 0,1 9.99986863,79.00060665",viewW:160,viewH:90},table_round:{d:"M 0,55 A 55,55 90 0,0 55,110 A 55,55 90 0,0 110,55 A 55,55 90 0,0 55,0 A 55,55 90 0,0 0,55 M 82.94844112,30.60630783 L 78.70638697,26.36425368 A 0.99952125,0.99952125 90 0,1 78.41321383,25.65706553 A 0.99952125,0.99952125 90 0,1 78.70638697,24.94987738 M 78.70638697,24.94987738 L 82.94844112,20.70674848 A 0.99952125,0.99952125 90 0,1 83.65562927,20.41357533 A 0.99952125,0.99952125 90 0,1 84.36281742,20.70674848 L 88.60594632,24.94987738 M 88.60594632,24.94987738 A 0.99952125,0.99952125 90 0,1 88.89911946,25.65706553 A 0.99952125,0.99952125 90 0,1 88.60594632,26.36425368 L 84.36281742,30.60630783 A 0.99952125,0.99952125 90 0,1 83.65562927,30.89948097 A 0.99952125,0.99952125 90 0,1 82.94844112,30.60630783 M 82.94844112,89.6070797 L 78.70638697,85.3639508 A 0.99952125,0.99952125 90 0,1 78.41321383,84.65676265 A 0.99952125,0.99952125 90 0,1 78.70638697,83.9495745 L 82.94844112,79.70752035 A 0.99952125,0.99952125 90 0,1 83.65562927,79.4143472 A 0.99952125,0.99952125 90 0,1 84.36281742,79.70752035 L 88.60594632,83.9495745 A 0.99952125,0.99952125 90 0,1 88.89911946,84.65676265 A 0.99952125,0.99952125 90 0,1 88.60594632,85.3639508 L 84.36174266,89.6070797 A 0.99952125,0.99952125 90 0,1 83.65455451,89.90025284 A 0.99952125,0.99952125 90 0,1 82.94736636,89.6070797 M 24.94934,30.60738258 L 20.70728586,26.36425368 A 0.99952125,0.99952125 90 0,1 20.70728586,24.95095213 L 24.95041476,20.70782323 A 0.99952125,0.99952125 90 0,1 26.3637163,20.70782323 L 30.60684521,24.95095213 A 0.99952125,0.99952125 90 0,1 30.60684521,26.36425368 L 26.3637163,30.60738258 A 0.99952125,0.99952125 90 0,1 24.95041476,30.60738258 M 24.94934,89.29325152 L 20.70728586,85.05012262 A 0.99952125,0.99952125 90 0,1 20.41411271,84.34293447 A 0.99952125,0.99952125 90 0,1 20.70728586,83.63574632 L 24.95041476,79.39369217 A 0.99952125,0.99952125 90 0,1 26.3637163,79.39369217 L 30.60684521,83.63574632 A 0.99952125,0.99952125 90 0,1 30.90001835,84.34293447 A 0.99952125,0.99952125 90 0,1 30.60684521,85.05012262 L 26.3637163,89.29325152 A 0.99952125,0.99952125 90 0,1 24.95041476,89.29325152",viewW:110,viewH:110},table_dining_oval:{d:"M 0,50 C 0,22.38579779 22.38594332,0 49.99994193,0 L 129.99901287,0 C 157.61301149,0 180,22.38579779 180,50 C 180,77.61420221 157.61301149,100 129.99901287,100 L 49.99994193,100 C 22.38594332,100 0,77.61420221 0,50 M 123.99960515,16.99935051 L 123.99960515,10.99805153 A 1.00024968,1.0002165 0 0,1 124.99880964,9.99783503 L 130.99821737,9.99783503 M 130.99821737,9.99783503 A 1.00024968,1.0002165 0 0,1 131.70617646,10.29042188 A 1.00024968,1.0002165 0 0,1 131.99951224,10.99805153 M 131.99951224,10.99805153 L 131.99951224,16.99826802 A 1.00024968,1.0002165 0 0,1 130.99926256,17.99848452 L 124.99985483,17.99848452 A 1.00024968,1.0002165 0 0,1 124.29189574,17.70589767 A 1.00024968,1.0002165 0 0,1 123.99855996,16.99826802 M 123.99960515,89.00086599 L 123.99960515,83.00064949 M 123.99960515,83.00064951 A 1.00024968,1.0002165 0 0,1 124.29257149,82.29338963 A 1.00024968,1.0002165 0 0,1 124.99985482,82.00043299 M 124.99985483,82.00043299 L 130.99926256,82.00043299 A 1.00024968,1.0002165 0 0,1 131.70654589,82.29338962 A 1.00024968,1.0002165 0 0,1 131.99951224,83.00064949 L 131.99951224,89.00086599 M 131.99951224,89.00086597 A 1.00024968,1.0002165 0 0,1 131.7065459,89.70812585 A 1.00024968,1.0002165 0 0,1 130.99926257,90.00108249 M 130.99926256,90.00108249 L 124.99985483,90.00108249 A 1.00024968,1.0002165 0 0,1 124.2925715,89.70812586 A 1.00024968,1.0002165 0 0,1 123.99960515,89.00086599 M 47.99944256,17.00043299 L 47.99944256,11.0002165 M 47.99944256,11.00021648 A 1.00024968,1.0002165 0 0,1 48.29240892,10.29295662 A 1.00024968,1.0002165 0 0,1 48.99969226,10 M 48.99969225,10 L 54.99909997,10 A 1.00024968,1.0002165 0 0,1 55.70705907,10.29258685 A 1.00024968,1.0002165 0 0,1 56.00039485,11.0002165 L 56.00039485,16.99935051 M 56.00039485,16.99935052 A 1.00024968,1.0002165 0 0,1 55.70742849,17.70661039 A 1.00024968,1.0002165 0 0,1 55.00014515,17.99956701 M 55.00014517,17.99956701 L 49.00073744,17.99956701 A 1.00024968,1.0002165 0 0,1 48.29277835,17.70698015 A 1.00024968,1.0002165 0 0,1 47.99944256,16.99935051 M 47.99944256,89.00194847 L 47.99944256,83.00173198 M 47.99944256,83.00173199 A 1.00024968,1.0002165 0 0,1 48.2924089,82.29447212 A 1.00024968,1.0002165 0 0,1 48.99969223,82.00151548 M 48.99969225,82.00151548 L 54.99909997,82.00151548 A 1.00024968,1.0002165 0 0,1 55.70638331,82.29447211 A 1.00024968,1.0002165 0 0,1 55.99934966,83.00173198 L 55.99934966,89.00194847 A 1.00024968,1.0002165 0 0,1 54.99909997,90.00108249 L 48.99969225,90.00108249 M 48.99969225,90.00108249 A 1.00024968,1.0002165 0 0,1 48.29240891,89.70812586 A 1.00024968,1.0002165 0 0,1 47.99944256,89.00086599",viewW:180,viewH:100},table_dining_rounded:{d:"M 0,15.00018199 C 0,6.71552153 6.71566792,0 14.99937599,0 L 144.99957305,0 C 153.28433208,0 160,6.71552153 160,15.00018199 L 160,74.99981801 C 160,83.28447847 153.28433208,90 144.99957305,90 L 14.99937599,90 C 6.71566792,90 0,83.28447847 0,74.99981801 L 0,15.00018199 M 142.0011692,16.99955109 L 142.0011692,10.9992599 A 1.00051891,1.00023052 0 0,1 143.00063715,10.00012133 L 149.0016487,10.00012133 A 1.00051891,1.00023052 0 0,1 150.00006569,10.9992599 L 150.00006569,16.99955109 A 1.00051891,1.00023052 0 0,1 149.0016487,17.99978161 L 143.00063715,17.99978161 A 1.00051891,1.00023052 0 0,1 142.0011692,16.99955109 M 142.00011823,78.99855619 L 142.00011823,72.99826501 A 1.00051891,1.00023052 0 0,1 143.00063715,71.99912644 L 149.00059774,71.99912644 A 1.00051891,1.00023052 0 0,1 150.00006569,72.99826501 L 150.00006569,78.99855619 A 1.00051891,1.00023052 0 0,1 149.00059774,79.99878672 L 142.99958618,79.99878672 A 1.00051891,1.00023052 0 0,1 142.0011692,78.99855619 M 9.99993431,16.99955109 L 9.99993431,10.9992599 A 1.00051891,1.00023052 0 0,1 10.99940226,9.99902937 L 17.00041382,9.99902937 A 1.00051891,1.00023052 0 0,1 17.9988308,10.9992599 L 17.9988308,16.99955109 A 1.00051891,1.00023052 0 0,1 17.00041382,17.99868965 L 10.99940226,17.99868965 A 1.00051891,1.00023052 0 0,1 9.99993431,16.99955109 M 9.99888335,78.99964815 L 9.99888335,72.99935696 A 1.00051891,1.00023052 0 0,1 10.99940226,71.99912644 L 16.99936285,71.99912644 A 1.00051891,1.00023052 0 0,1 17.9988308,72.99935696 L 17.9988308,78.99964815 A 1.00051891,1.00023052 0 0,1 16.99936285,79.99878672 L 10.9983513,79.99878672 A 1.00051891,1.00023052 0 0,1 9.99993431,78.99964815",viewW:160,viewH:90},desk:{d:"M 0,2.5007596 C 0,1.11940895 1.11872146,0 2.4999244,0 L 137.5000756,0 C 138.88127854,0 140,1.11940895 140,2.5007596 L 140,67.50035981 C 140,68.88171046 138.88127854,70 137.5000756,70 L 2.4999244,70 C 1.11872146,70 0,68.88059105 0,67.50035981 L 0,2.5007596 M 6.00003024,12.99969616 L 6.00003024,6.99966418 A 1.00018144,0.99963219 0 0,1 6.2929766,6.29281747 A 1.00018144,0.99963219 0 0,1 7.00021168,6.00003198 L 13.00130031,6.00003198 A 1.00018144,0.99963219 0 0,1 14.00042336,6.99966418 L 14.00042336,12.99969616 M 14.00042336,12.99969616 A 1.00018144,0.99963219 0 0,1 13.70787328,13.70726661 A 1.00018144,0.99963219 0 0,1 13.00024192,14.00044776 M 13.00024192,14.00044776 L 7.00021168,14.00044776 A 1.00018144,0.99963219 0 0,1 6.29258032,13.70726661 A 1.00018144,0.99963219 0 0,1 6.00003024,12.99969616 M 125.99957664,13.00081557 L 125.99957664,7.00078359 M 125.99957664,7.00078359 A 1.00018144,0.99963219 0 0,1 126.29212672,6.29321313 A 1.00018144,0.99963219 0 0,1 126.99975808,6.00003198 L 133.00084671,6.00003198 M 133.00084671,6.00003198 A 1.00018144,0.99963219 0 0,1 133.70779377,6.29358707 A 1.00018144,0.99963219 0 0,1 133.99996976,7.00078359 M 133.99996976,7.00078359 L 133.99996976,13.00081557 A 1.00018144,0.99963219 0 0,1 132.99978832,14.00044776 L 126.99975808,14.00044776 A 1.00018144,0.99963219 0 0,1 125.99957664,13.00081557 M 5.99897185,63.00033582 L 5.99897185,57.00030384 M 5.99897185,57.00030384 A 1.00018144,0.99963219 0 0,1 6.29229231,56.29308288 A 1.00018144,0.99963219 0 0,1 7.00021168,56.00067165 M 7.00021168,56.00067165 L 13.00024192,56.00067165 A 1.00018144,0.99963219 0 0,1 13.707477,56.29345714 A 1.00018144,0.99963219 0 0,1 14.00042336,57.00030384 L 14.00042336,63.00033582 M 14.00042336,63.00033582 A 1.00018144,0.99963219 0 0,1 13.70787328,63.70790627 A 1.00018144,0.99963219 0 0,1 13.00024192,64.00108743 M 13.00024192,64.00108743 L 6.99915329,64.00108743 M 6.99915329,64.00108743 A 1.00018144,0.99963219 0 0,1 6.29220623,63.70753234 A 1.00018144,0.99963219 0 0,1 6.00003024,63.00033582 M 126.00063504,63.00145523 L 126.00063504,57.00142325 M 126.00063504,57.00142325 A 1.00018144,0.99963219 0 0,1 126.29318511,56.2938528 A 1.00018144,0.99963219 0 0,1 127.00081647,56.00067165 L 133.00084671,56.00067165 A 1.00018144,0.99963219 0 0,1 133.70847808,56.2938528 A 1.00018144,0.99963219 0 0,1 134.00102815,57.00142325 L 134.00102815,63.00145523 A 1.00018144,0.99963219 0 0,1 133.00084671,64.00108743 L 126.99975808,64.00108743 A 1.00018144,0.99963219 0 0,1 126.00063504,63.00145523 M 22.99993952,60.00031983 L 117.00006048,60.00031983",viewW:140,viewH:70},desk_corner:{d:"M 159.99894904,65.49825605 A 2.50129729,2.50128086 90 0,1 157.49871914,67.99955334 L 94.99927747,67.99955334 C 81.19178676,67.99955334 69.99908041,79.19233321 69.99908041,92.99886364 L 69.99908041,157.49870271 A 2.50129729,2.50128086 90 0,1 67.49885051,160 L 2.49917894,160 A 2.50129729,2.50128086 90 0,1 0,157.49870271 L 0,2.49814439 A 2.50129729,2.50128086 90 0,1 2.49917894,0 L 157.49871914,0 A 2.50129729,2.50128086 90 0,1 160,2.49919535 L 159.99894904,65.49825605 M 5.99992118,12.99938913 L 5.99992118,6.99837757 M 5.99992118,6.99837757 A 0.99841698,0.99841043 90 0,1 6.29272029,6.29201832 A 0.99841698,0.99841043 90 0,1 6.99938256,5.99996059 M 6.99938256,5.99996059 L 13.0003547,5.99996059 A 0.99841698,0.99841043 90 0,1 13.99876512,6.99837757 L 13.99876512,12.99938913 M 13.99876512,12.99938913 A 0.99841698,0.99841043 90 0,1 13.70670931,13.70605604 A 0.99841698,0.99841043 90 0,1 13.0003547,13.99885708 M 13.0003547,13.99885708 L 6.99938256,13.99885708 A 0.99841698,0.99841043 90 0,1 6.29234827,13.70642806 A 0.99841698,0.99841043 90 0,1 5.99992118,12.99938913 M 146.00018392,13.00044009 L 146.00018392,6.99942854 M 146.00018392,6.99942854 A 0.99841698,0.99841043 90 0,1 146.29261101,6.2923896 A 0.99841698,0.99841043 90 0,1 146.9996453,5.99996059 M 146.9996453,5.99996059 L 153.00061744,5.99996059 A 0.99841698,0.99841043 90 0,1 153.70697205,6.29276163 A 0.99841698,0.99841043 90 0,1 153.99902786,6.99942854 L 153.99902786,13.00044009 M 153.99902786,13.00044009 A 0.99841698,0.99841043 90 0,1 153.70697205,13.707107 A 0.99841698,0.99841043 90 0,1 153.00061744,13.99990804 L 146.9996453,13.99990804 A 0.99841698,0.99841043 90 0,1 146.29261101,13.70747903 A 0.99841698,0.99841043 90 0,1 146.00018392,13.00044009 M 146.00018392,61.0001248 L 146.00018392,54.99911325 M 146.00018392,54.99911325 A 0.99841698,0.99841043 90 0,1 146.29298209,54.29170176 A 0.99841698,0.99841043 90 0,1 147.00069626,53.9996453 M 147.00069626,53.9996453 L 153.00061744,53.9996453 M 153.00061744,53.9996453 A 0.99841698,0.99841043 90 0,1 153.70765173,54.29207431 A 0.99841698,0.99841043 90 0,1 154.00007882,54.99911325 L 154.00007882,61.0001248 M 154.00007882,61.0001248 A 0.99841698,0.99841043 90 0,1 153.70765173,61.70716374 A 0.99841698,0.99841043 90 0,1 153.00061744,61.99959275 M 153.00061744,61.99959275 L 146.9996453,61.99959275 A 0.99841698,0.99841043 90 0,1 146.29329069,61.70679171 A 0.99841698,0.99841043 90 0,1 146.00123488,61.0001248 M 5.99887022,152.9995205 L 5.99887022,147.00061087 M 5.99887022,147.00061087 A 0.99841698,0.99841043 90 0,1 6.29129565,146.29251931 A 0.99841698,0.99841043 90 0,1 6.99938256,146.00009196 M 6.99938256,146.00009196 L 12.99930374,146.00009196 A 0.99841698,0.99841043 90 0,1 13.70671058,146.29289205 A 0.99841698,0.99841043 90 0,1 13.99876512,147.00061087 L 13.99876512,153.00057146 M 13.99876512,153.00057146 A 0.99841698,0.99841043 90 0,1 13.70633803,153.7076104 A 0.99841698,0.99841043 90 0,1 12.99930374,154.00003941 M 12.99930374,154.00003941 L 6.9983316,154.00003941 A 0.99841698,0.99841043 90 0,1 6.29129731,153.7076104 A 0.99841698,0.99841043 90 0,1 5.99887022,153.00057146 M 55.99926433,153.00057146 L 55.99926433,147.00061087 M 55.99926433,147.00061087 A 0.99841698,0.99841043 90 0,1 56.2920625,146.29319939 A 0.99841698,0.99841043 90 0,1 56.99977667,146.00114292 M 56.99977667,146.00114292 L 62.99969785,146.00114292 A 0.99841698,0.99841043 90 0,1 63.70673214,146.29357194 A 0.99841698,0.99841043 90 0,1 63.99915923,147.00061087 L 63.99915923,153.00162243 M 63.99915923,153.00162243 A 0.99841698,0.99841043 90 0,1 63.70636012,153.70798168 A 0.99841698,0.99841043 90 0,1 62.99969785,154.00003941 M 62.99969785,154.00003941 L 56.99872571,154.00003941 M 56.99872571,154.00003941 A 0.99841698,0.99841043 90 0,1 56.29206344,153.70798168 A 0.99841698,0.99841043 90 0,1 55.99926433,153.00162243 M 109.99960589,57.99856806 L 96.36237044,57.99856806 A 36.36339751,36.36315866 90 0,0 70.64973437,68.6491606 A 36.36339751,36.36315866 90 0,0 59.99921178,94.36196557 L 59.99921178,107.9992906",viewW:160,viewH:160},chair:{d:"M 41.91143767,10.29325717 L 8.08739211,10.29325717 A 5.14662859,5.14662858 90 0,1 2.94076353,5.14662859 A 5.14662859,5.14662858 90 0,1 8.08739211,0 L 41.91143767,0 A 5.14662859,5.14662858 90 0,1 47.05806625,5.14662859 A 5.14662859,5.14662858 90 0,1 41.91143767,10.29325717 M 8.08739211,10.29325717 L 5.14662867,10.29325717 A 5.14896903,5.14896902 90 0,0 0.00000009,15.44105598 L 0.00000009,42.64633596 M 0.00000009,42.64633596 A 7.35249373,7.35249371 90 0,0 2.15308186,47.84609063 A 7.35249373,7.35249371 90 0,0 7.35249381,49.99999991 M 7.35249381,49.99999991 L 42.64633597,49.99999991 M 42.64633597,49.99999991 A 7.35249373,7.35249371 90 0,0 47.84650445,47.84650445 A 7.35249373,7.35249371 90 0,0 49.99999991,42.64633596 M 49.99999991,42.64633596 L 49.99999991,15.44105598 C 49.99999991,12.59742081 47.69466605,10.29325717 44.85220111,10.29325717 L 41.91143767,10.29325717",viewW:50,viewH:50},chair_bar:{d:"M 41.6420124,15.95288922 C 43.22061234,18.92793522 43.95991141,23.03717335 43.95991141,26.63643725 C 43.95991141,38.43533309 34.35259503,48 22.5011905,48 C 10.64978597,48 1.04127909,38.43533309 1.04127909,26.63643725 C 1.04127909,23.03717335 1.73891074,18.91969084 3.31751068,15.94464483 M 41.6420124,15.95288922 A 4.27388672,4.22819286 0 0,1 37.67408359,14.80338609 M 41.6420124,15.95288922 A 4.28579169,4.23997056 0 0,0 43.74324083,14.80338609 M 3.47227538,15.97644461 L 3.31751068,15.94464483 A 4.28579169,4.23997056 0 0,1 1.25675917,14.80338609 M 37.67408359,14.80338609 A 21.42895847,21.19985278 0 0,0 30.71205308,10.17239603 A 21.34562363,21.11740891 0 0,0 14.28794692,10.17239603 A 21.42895847,21.19985278 0 0,0 7.32591641,14.80338609 A 4.27388672,4.22819286 0 0,1 3.47227538,15.97644461 M 37.67408359,14.80338609 A 4.27388672,4.22819286 0 0,0 40.70866221,16.0541972 A 4.27388672,4.22819286 0 0,0 43.74324083,14.80338609 M 3.47227538,15.97644461 A 4.28579169,4.23997056 0 0,1 1.25675917,14.80338609 A 4.33817359,4.29179242 0 0,1 1.25675917,8.76142805 A 30.00054185,29.67979389 0 0,1 11.00336378,2.2778064 A 29.88149208,29.56201693 0 0,1 22.5,0 A 29.88149208,29.56201693 0 0,1 33.99663622,2.2778064 A 30.00054185,29.67979389 0 0,1 43.74324083,8.76142805 A 4.33817359,4.29179242 0 0,1 43.74324083,14.80338609",viewW:45,viewH:48},armchair:{d:"M 78.52464784,10.06903664 Q 78.5377513,9.82334385 78.5377513,9.57437515 C 78.5377513,4.28597428 74.26056466,0 68.98533141,0 L 21.01357664,0 C 15.73943534,0 11.4622487,4.28597428 11.4622487,9.57437515 Q 11.4622487,9.82334385 11.4742602,10.06903664 M 80.08614309,74.58141228 Q 80.73039638,74.68078136 81.40304049,74.68187333 C 86.15085961,74.68187333 90,70.8239505 90,66.06406212 L 90,18.19218636 C 90,13.43229799 86.15085961,9.57437515 81.40304049,9.57437515 C 80.39407433,9.57437515 79.42441853,9.74909003 78.52464784,10.06903664 A 8.61562727,8.61552274 90 0,0 72.80608097,18.19109439 L 72.80608097,18.35270565 A 9.50012133,9.50000607 90 0,1 68.98533141,19.14984227 L 21.01357664,19.14984227 A 9.50012133,9.50000607 90 0,1 17.19282707,18.35270565 M 72.80608097,18.35270565 L 72.80608097,66.06406212 A 8.61562727,8.61552274 90 0,0 80.08614309,74.58141228 M 11.4742602,10.06794467 A 8.61562727,8.61552274 90 0,1 17.19282707,18.19000243 L 17.19282707,18.35161369 L 17.19282707,66.06406212 A 8.61562727,8.61552274 90 0,1 9.91385691,74.58141228 Q 9.26960362,74.68078136 8.59695951,74.68187333 C 3.84914039,74.68187333 0,70.8239505 0,66.06406212 L 0,18.19218636 C 0,13.43229799 3.84914039,9.57437515 8.59695951,9.57437515 C 9.60592567,9.57437515 10.57448951,9.74909003 11.4742602,10.06903664 M 80.08614309,74.58141228 C 78.35539486,83.37175443 70.62217153,90 61.34383228,90 L 28.65507577,90 C 19.37782847,90 11.64460514,83.37175443 9.91385691,74.58141228",viewW:90,viewH:90},armchair_office:{d:"M 60.12480149,17.08328496 Q 60.12480149,16.66780357 60.06834946,16.27038659 M 51.18618701,11.38735127 L 13.81381391,11.38735127 A 5.69036465,5.69028856 0 0,1 9.79038036,9.71870864 A 5.69036465,5.69028856 0 0,1 8.12570733,5.69367564 M 8.12570733,5.69367564 A 5.69036465,5.69028856 0 0,1 9.79038036,1.66864264 A 5.69036465,5.69028856 0 0,1 13.81381391,0 M 13.81381391,0 L 51.18844509,0 M 51.18844509,0 A 5.69036465,5.69028856 0 0,1 55.21187864,1.66864264 A 5.69036465,5.69028856 0 0,1 56.87655166,5.69367564 M 56.87655166,5.69367564 A 5.69036465,5.69028856 0 0,1 55.21187864,9.71870864 A 5.69036465,5.69028856 0 0,1 51.18844509,11.38735127 M 13.81381391,11.38735127 L 10.56217696,11.38735127 A 5.69036465,5.69028856 0 0,0 4.9327805,16.26812854 M 51.18731605,11.38735127 L 54.43782395,11.38735127 A 5.69036465,5.69028856 0 0,1 60.06722042,16.26925757 M 60.12480149,44.29844483 A 4.87745542,4.87739019 0 0,0 63.57342145,42.86789464 A 4.87745542,4.87739019 0 0,0 64.99999882,39.41766756 M 64.99999882,39.41766756 L 64.99999882,21.15003484 M 64.99999882,21.15003484 A 4.87745542,4.87739019 0 0,0 63.55272454,17.68002711 A 4.87745542,4.87739019 0 0,0 60.06722042,16.27038659 M 60.12480149,44.29957385 A 4.87745542,4.87739019 0 0,1 56.67618152,42.86902366 A 4.87745542,4.87739019 0 0,1 55.24960415,39.41879658 M 55.24960415,39.41879658 L 55.24960415,21.15003484 A 4.87745542,4.87739019 0 0,1 60.06722042,16.27038659 M 46.69937964,58.31529651 L 52.00022529,58.31529651 C 52.83119917,58.31529651 53.632818,58.18997468 54.38814617,57.95739542 A 8.14038277,8.14027391 0 0,0 60.12480149,50.1795387 L 60.12480149,44.29957385 M 4.9327805,16.26925757 L 4.87519943,16.26925757 M 4.87519943,16.26925757 A 4.87745542,4.87739019 0 0,0 1.42657946,17.69980776 A 4.87745542,4.87739019 0 0,0 0.00000209,21.15003484 L 0.00000209,39.41766756 M 0.00000209,39.41766756 A 4.87745542,4.87739019 0 0,0 1.42617995,42.86862456 A 4.87745542,4.87739019 0 0,0 4.87519943,44.29957385 M 4.87519943,44.29957385 A 4.87745542,4.87739019 0 0,0 8.32308951,42.86862466 A 4.87745542,4.87739019 0 0,0 9.74926772,39.41879658 M 9.74926772,39.41879658 L 9.74926772,21.15003484 A 4.87745542,4.87739019 0 0,0 4.9327805,16.26925757 M 18.40788013,58.31416748 L 12.99977563,58.31416748 A 8.12909236,8.12898366 0 0,1 10.69653279,57.98223398 A 8.14038277,8.14027391 0 0,1 4.87519943,50.18066772 L 4.87519943,44.29844483 M 46.70050868,58.31416748 L 52.5455519,64.16590669 C 53.63959225,65.26106143 55.40654079,65.28025487 56.52429099,64.20880966 A 2.85195657,2.85191843 0 0,0 57.39975759,62.18274316 A 2.85195657,2.85191843 0 0,0 56.56719454,60.1386727 L 54.38814617,57.95739542 M 46.69937964,58.31416748 L 18.40900917,58.31416748 M 10.69766183,57.98223398 L 8.54232332,60.1386727 C 7.41554079,61.26769821 7.43586352,63.10462271 8.58522686,64.20880966 C 9.70297706,65.28025487 11.46992561,65.26106143 12.56396596,64.16590669 L 18.40900917,58.31416748",viewW:65,viewH:65},sofa:{d:"M 89.9994774,17.00719477 L 89.9994774,79.3698208 M 89.9994774,17.00828672 L 89.9994774,4.25097973 M 89.9994774,17.00610281 C 89.9994774,19.35489742 88.08050309,21.25817449 85.71418617,21.25817449 L 27.85648339,21.25817449 A 11.68391551,11.18356492 90 0,1 23.53356521,20.35731185 M 89.9994774,17.00719477 C 89.9994774,19.35598937 91.91845172,21.25926645 94.28476863,21.25926645 L 152.14247142,21.25926645 C 153.68099549,21.25926645 155.14322047,20.93823176 156.46643479,20.3584038 M 89.9994774,79.3698208 C 89.9994774,85.24016937 85.20204161,90 79.28624932,90 L 27.8554382,90 C 22.35145195,90 17.81635959,85.8811468 17.21014766,80.58189054 M 89.9994774,79.3698208 C 89.9994774,85.24016937 94.7969132,90 100.71270548,90 L 152.14247142,90 C 157.64645767,90 162.18155002,85.8811468 162.78776195,80.58189054 M 89.9994774,4.25207168 C 89.9994774,1.90436903 88.07945789,0 85.71314098,0 L 27.85648339,0 C 21.93964591,0 17.14325531,4.75873867 17.14325531,10.6301792 Q 17.14325531,11.08443237 17.18088226,11.53104185 M 89.9994774,4.25207168 C 89.9994774,1.90436903 91.91845172,0 94.28476863,0 L 152.14247142,0 C 158.0593089,0 162.8556995,4.75873867 162.8556995,10.6301792 Q 162.8556995,11.08443237 162.81807255,11.53104185 A 11.68391551,11.18356492 90 0,1 167.14203592,10.6301792 L 169.28468154,10.6301792 C 175.20256421,10.6301792 180,15.38891787 180,21.25926645 L 180,70.86676939 C 180,76.73711797 175.20256421,81.49585664 169.28572673,81.49585664 L 167.14308111,81.49585664 C 165.59201473,81.49585664 164.11829262,81.16827022 162.78776195,80.58189054 C 159.04074511,78.92539523 156.42880784,75.19855377 156.42880784,70.86567744 L 156.42880784,21.2603584 Q 156.42880784,20.80501329 156.46643479,20.35949576 C 156.80089654,16.40443576 159.31772125,13.06523823 162.81807255,11.5321338 M 17.18088226,11.5321338 C 20.68227875,13.06523823 23.19910346,16.40443576 23.53356521,20.35949576 Q 23.57119216,20.80501329 23.57119216,21.2603584 L 23.57119216,70.86786135 C 23.57119216,75.19964572 20.9582097,78.92648718 17.21119286,80.58298249 A 11.68391551,11.18356492 90 0,1 12.85691889,81.49694859 L 10.71427327,81.49694859 C 4.7963906,81.49694859 0,76.73820992 0,70.86676939 L 0,21.2603584 C 0,15.39000983 4.79743579,10.63127116 10.71322808,10.63127116 L 12.85587369,10.63127116 C 14.39544296,10.63127116 15.85766794,10.95230584 17.18088226,11.5321338",viewW:180,viewH:90},sofa_three_seat:{d:"M 85.42409676,16.16420572 L 85.42409676,79.89832688 M 85.42409676,16.16529768 L 85.42409676,4.04132442 M 85.42409676,16.16420572 C 85.42409676,18.39616117 83.60262573,20.20553014 81.35628263,20.20553014 L 26.44130873,20.20553014 C 24.98061715,20.20553014 23.59228821,19.89978282 22.33731328,19.34943764 M 85.42409676,16.16420572 C 85.42409676,18.39616117 87.24556779,20.20553014 89.49191089,20.20553014 L 150.50808911,20.20553014 C 152.75546596,20.20553014 154.57590324,18.39616117 154.57590324,16.16529768 M 85.42409676,79.89614297 C 85.42409676,85.47603159 80.87145294,89.99890805 75.25507831,89.99890805 L 26.44130873,89.99890805 C 21.21672611,89.99890805 16.91218277,86.08425037 16.3363829,81.04706325 M 85.42409676,79.89614297 C 85.42409676,85.47603159 89.97674058,89.99890805 95.59311521,89.99890805 L 144.40688479,89.99890805 C 150.02325942,89.99890805 154.57590324,85.47603159 154.57590324,79.89614297 M 154.57590324,16.16311377 L 154.57590324,79.89832688 M 154.57590324,16.16529768 L 154.57590324,4.04132442 M 154.57590324,16.16420572 C 154.57590324,18.39616117 156.39737427,20.20553014 158.64475112,20.20553014 L 213.55972502,20.20553014 C 215.0204166,20.20553014 216.40874554,19.89978282 217.66372047,19.34943764 M 154.57590324,79.89723493 C 154.57590324,85.47712355 159.12958081,90 164.74595545,90 L 213.55972502,90 C 218.78430764,90 223.08885098,86.08534233 223.66465085,81.0481552 M 85.42409676,4.04132442 C 85.42409676,1.80936897 83.60262573,0 81.35628263,0 L 26.44130873,0 C 20.8249341,0 16.27125653,4.52287645 16.27125653,10.10276507 Q 16.27125653,10.53517914 16.30743785,10.95885757 M 85.42409676,4.04132442 C 85.42409676,1.80936897 87.24556779,0 89.49191089,0 L 150.50808911,0 C 152.75546596,0 154.57590324,1.80936897 154.57590324,4.04023247 C 154.57590324,1.80936897 156.39737427,0 158.64475112,0 L 213.55972502,0 C 219.17609965,0 223.72977723,4.52287645 223.72977723,10.10276507 C 223.72977723,10.38448939 223.75251977,10.66730566 223.72977723,10.94357021 M 223.66465085,81.0481552 C 224.92582829,81.60723602 226.32552851,81.91735116 227.79759136,81.91735116 L 229.83098155,81.91735116 C 235.44735618,81.91735116 240,77.39447471 240,71.81458609 L 240,20.20553014 C 240,14.62564152 235.44735618,10.10276507 229.83098155,10.10276507 L 227.79759136,10.10276507 C 222.47066729,10.10276507 218.10099757,14.17029641 217.66372047,19.34943764 Q 217.6265054,19.77202412 217.62753915,20.20553014 L 217.62753915,71.81458609 C 217.62753915,75.93234734 220.10751021,79.47464845 223.66465085,81.0481552 M 16.30743785,10.95885757 A 11.24713362,10.64764563 90 0,0 12.20344239,10.10276507 L 10.1700522,10.10276507 C 4.55367757,10.10276507 0,14.62564152 0,20.20553014 L 0,71.81458609 C 0,77.39447471 4.55367757,81.91735116 10.1700522,81.91735116 L 12.20344239,81.91735116 C 13.67550525,81.91735116 15.07417171,81.60723602 16.3363829,81.0481552 C 19.89352354,79.47464845 22.3734946,75.93234734 22.3734946,71.81458609 L 22.3734946,20.20553014 A 9.82759248,9.30376803 90 0,0 22.33731328,19.34943764 C 22.01995141,15.58983754 19.63095053,12.41661712 16.30743785,10.95885757",viewW:240,viewH:90},sofa_corner_right:{d:"M 92.54139418,17.60590034 L 92.54139418,83.62724067 M 92.54139418,17.60485243 L 92.54139418,4.40121311 M 92.54139418,17.60485243 C 92.54139418,20.03599872 90.56883033,22.00606554 88.13534854,22.00606554 L 28.64290558,22.00606554 A 11.31740513,11.1362726 90 0,1 24.19767677,21.07342752 M 92.54139418,17.60485243 C 92.54139418,20.03599872 94.51498915,22.00606554 96.94847094,22.00606554 L 163.05049792,22.00606554 C 165.48397971,22.00606554 167.45757469,20.03599872 167.45757469,17.60485243 M 92.54139418,83.62933649 C 92.54139418,89.70720221 87.609469,94.63341717 81.52473339,94.63341717 L 28.64290558,94.63341717 C 22.98299815,94.63341717 18.32019956,90.3705279 17.69636207,84.88368223 M 92.54139418,83.62933649 C 92.54139418,89.70720221 97.47435048,94.63341717 103.55805496,94.63341717 L 156.4409139,94.63341717 C 162.52461838,94.63341717 167.45757469,89.70720221 167.45757469,83.6303844 M 167.45757469,17.60694825 L 167.45757469,83.62724067 M 167.45757469,17.60485243 L 167.45757469,4.40121311 M 167.45757469,17.60485243 C 167.45757469,20.03599872 169.43116967,22.00606554 171.86362032,22.00606554 L 231.35606328,22.00606554 C 232.93782644,22.00606554 234.44225438,21.67387874 235.80232323,21.07342752 M 167.45860582,83.62828858 L 167.45860582,158.99696723 C 167.45860582,165.07378504 172.38949986,170 178.47526661,170 L 231.35606328,170 C 237.01700185,170 241.67980044,165.73711073 242.30260679,160.25026506 L 242.30260679,84.88263432 M 92.54139418,4.40121311 C 92.54139418,1.97006682 90.56883033,0 88.13534854,0 L 28.64290558,0 C 22.55920111,0 17.6262448,4.92516705 17.6262448,11.00303277 Q 17.6262448,11.47459132 17.66542798,11.93567078 M 92.54139418,4.40121311 C 92.54139418,1.97006682 94.51498915,0 96.94847094,0 L 163.05049792,0 C 165.48397971,0 167.45757469,1.97006682 167.45757469,4.40121311 C 167.45757469,1.97006682 169.43116967,0 171.86362032,0 L 231.35606328,0 C 237.43976776,0 242.3737552,4.92516705 242.3737552,11.00303277 C 242.3737552,11.31006978 242.39850247,11.6181547 242.3737552,11.91890426 M 242.30157566,84.88263432 C 243.66989359,85.49042089 245.18566403,85.82994304 246.78083197,85.82994304 L 248.98333922,85.82994304 C 255.06807483,85.82994304 260,80.90268018 260,74.82586237 L 260,22.00711345 C 260,15.92924773 255.06807483,11.00408068 248.98333922,11.00408068 L 246.78083197,11.00408068 C 241.01059294,11.00408068 236.27664595,15.4335873 235.80232323,21.07447543 Q 235.76314005,21.5355549 235.76314005,22.00711345 L 235.76314005,74.82481446 C 235.76314005,79.3098602 238.44925024,83.16720911 242.30260679,84.88158641 M 17.66645912,11.93567078 A 11.31740513,11.1362726 90 0,0 13.22019917,11.00303277 L 11.01666078,11.00303277 C 4.93295631,11.00303277 0,15.92924773 0,22.00606554 L 0,74.82586237 C 0,80.90372809 4.93192517,85.82889514 11.01666078,85.82889514 L 13.22019917,85.82889514 C 14.81433597,85.82889514 16.33010641,85.4914688 17.69739321,84.88263432 C 21.55074976,83.16825702 24.23685995,79.3109081 24.23685995,74.82586237 L 24.23685995,22.00711345 Q 24.23685995,21.5355549 24.19870791,21.07447543 C 23.85430837,16.98029933 21.26615612,13.52325123 17.66645912,11.93671869",viewW:260,viewH:170},bed_single:{d:"M 0,10.53299756 C 0,16.34997607 4.71506048,21.06599513 10.53190328,21.06599513 L 79.46700477,21.06599513 C 85.28493952,21.06599513 90,16.34997607 90,10.53299756 M 65.10670824,59.36856126 L 65.10670824,44.04670232 C 65.10670824,38.75835085 60.81969401,34.4721014 55.5313573,34.4721014 L 34.46755075,34.4721014 C 29.18030599,34.4721014 24.89329176,38.75939145 24.89329176,44.04670232 L 24.89329176,59.36752066 M 0,59.36752066 L 89.99890805,59.36752066 M 89.99890805,82.34926846 L 0,82.34926846 M 9.57425899,200 L 80.42574101,200 C 85.71298577,200 90,195.71270994 90,190.42435847 L 90,9.57564153 C 90,4.28729006 85.71298577,0 80.42574101,0 L 9.57425899,0 C 4.28592228,0 0,4.28729006 0,9.57564153 L 0,190.42435847 C 0,195.71270994 4.28592228,200 9.57425899,200",viewW:90,viewH:200},bed_double:{d:"M 0,10.58300164 C 0,16.42914748 4.74612788,21.1680845 10.60206776,21.1680845 L 149.39688128,21.1680845 C 155.25177021,21.1680845 159.99894904,16.42914748 159.99894904,10.58300164 M 74.69791516,59.65815968 L 74.69791516,44.26233773 C 74.69791516,38.94794349 70.38268021,34.63981893 65.0595762,34.63981893 L 43.85438972,34.63981893 C 38.53128572,34.63981893 34.21710172,38.94794349 34.21710172,44.26233773 L 34.21710172,59.65815968 M 128.67408468,59.65815968 L 128.67408468,44.26233773 C 128.67408468,38.94794349 124.35779877,34.63981893 119.03469476,34.63981893 L 97.83055924,34.63981893 C 92.50745524,34.63981893 88.19222028,38.94794349 88.19222028,44.26233773 L 88.19222028,59.65815968 M 0,59.65815968 L 159.99894904,59.65815968 M 159.99894904,82.7513723 L 0.00105096,82.7513723 M 9.63833896,200 L 150.36166104,200 C 155.68476505,200 160,195.69187544 160,190.3774812 L 160,9.6225188 C 160,4.30812456 155.68476505,0 150.36166104,0 L 9.63833896,0 C 4.31628591,0 0.00105096,4.30812456 0.00105096,9.6225188 L 0.00105096,190.37644059 C 0.00105096,195.69083483 4.31628591,199.99895939 9.63833896,199.99895939",viewW:160,viewH:200},nightstand:{d:"M 2.49959042,0.00000027 L 47.49923936,0.00000027 M 47.49923936,0.00000027 A 2.50053206,2.49959042 90 0,1 49.26747323,0.73197514 A 2.50053206,2.49959042 90 0,1 50,2.50053233 L 50,37.49946767 M 50,37.49946767 A 2.50053206,2.49959042 90 0,1 49.26747323,39.26802486 A 2.50053206,2.49959042 90 0,1 47.49923936,39.99999973 M 47.49923936,39.99999973 L 2.49959042,39.99999973 A 2.50053206,2.49959042 90 0,1 0,37.49946767 L 0,2.50053233 A 2.50053206,2.49959042 90 0,1 2.49959042,0.00000027",viewW:50,viewH:40},cabinet_tv:{d:"M 55.99957664,17 L 61.62493574,17 L 67.25029484,17 M 61.62493574,17 L 61.62493574,27.96904762 M 72.03105628,17 L 77.65641537,28.25 L 83.28071608,17 M 2.4999244,45 L 137.5000756,45 C 138.88127854,45 140,43.88095238 140,42.5 L 140,2.5 C 140,1.11904762 138.88127854,0 137.5000756,0 L 2.4999244,0 C 1.11872146,0 0,1.11904762 0,2.5 L 0,42.5 C 0,43.88095238 1.11872146,45 2.4999244,45",viewW:140,viewH:45},cabinet_shoe:{d:"M 39.69311439,15.91375 L 41.35449151,13.91875 M 42.60631986,17.85625 L 44.2952946,15.68375 M 2.50034497,35 L 77.49965503,35 C 78.88064026,35 80,33.88125 80,32.5 L 80,2.5 C 80,1.11875 78.88064026,0 77.50075893,0 L 2.50034497,0 C 1.11935974,0 0,1.11875 0,2.5 L 0,32.5 C 0,33.88125 1.11935974,35 2.50034497,35 M 48.82682489,17.11875 L 47.63902304,17 A 4.25,3.75327722 90 0,1 45.63764316,16.1175 L 40.57844625,11.5925 C 39.18311025,10.3425 36.96094936,11.185 36.74237616,13.04375 C 36.53815372,14.78125 34.55333241,15.66875 33.12156755,14.6675 L 31.43038499,13.48375 C 30.36180488,12.8425 29.00179385,13.6125 29.00179385,14.85875 L 29.00179385,19.1875 C 29.00179385,21.13625 30.58037809,22.71625 32.52987443,22.71625 L 48.54753691,22.71625 C 50.09741962,22.71625 51.35366358,21.46 51.35366358,19.91 C 51.35366358,18.46875 50.26079757,17.2625 48.82682489,17.11875",viewW:80,viewH:35},cabinet_sink:{d:"M 0,2.49959042 C 0,1.11873055 1.11935974,0 2.50034497,0 L 77.49965503,0 C 78.88064026,0 80,1.11873055 80,2.49959042 L 80,47.49923936 C 80,48.88009923 78.88064026,50 77.50075893,50 L 2.50034497,50 C 1.11935974,50 0,48.88009923 0,47.49923936 L 0,2.49959042 M 35.68152339,33.34893627 C 38.46888368,35.54895031 42.53125431,35.54895031 45.3186146,33.34893627 C 48.10597489,31.14892223 48.81468194,27.37964285 46.9965503,24.41196433 L 40.50669242,14.99988298 L 34.00137988,24.41196433 C 32.18655996,27.37964285 32.8941631,31.14658179 35.68152339,33.34893627",viewW:80,viewH:50},bookshelf:{d:"M 57.70667129,21.235 L 45.09910046,21.235 C 44.542709,21.235 44.00796701,21.39 43.61394659,21.66625 C 43.21992618,21.9425 42.99910155,22.31625 42.99910155,22.70625 M 47.41126422,12.41125 L 53.29342614,12.41125 M 2.4994317,0 L 97.49948583,0 C 98.88072223,0 100,1.11875 100,2.5 L 100,32.5 C 100,33.88125 98.88072223,35 97.49948583,35 L 2.50051417,35 C 1.12036025,35 0,33.88125 0,32.5 L 0,2.5 C 0,1.11875 1.12036025,0 2.50051417,0 M 57.70667129,8 L 57.70667129,25.6475 L 45.10018294,25.6475 A 2.55,2.20824628 90 0,1 43.61502906,25.00125 A 2.125,1.84020524 90 0,1 43.00018402,23.44125 L 43.00018402,10.20625 C 43.00018402,9.62125 43.22100865,9.06 43.61502906,8.64625 A 2.55,2.20824628 90 0,1 45.10018294,8 L 57.70667129,8",viewW:100,viewH:35},wall_unit:{d:"M 2.49961234,45 L 237.50038766,45 A 2.5,2.49961234 90 0,0 239.2678805,44.26776695 A 2.5,2.49961234 90 0,0 240,42.5 L 240,2.5 A 2.5,2.49961234 90 0,0 239.2678805,0.73223305 A 2.5,2.49961234 90 0,0 237.50038766,0 L 2.49961234,0 A 2.5,2.49961234 90 0,0 0,2.5 L 0,42.5 M 0,42.5 A 2.5,2.49961234 90 0,0 0.7321195,44.26776695 A 2.5,2.49961234 90 0,0 2.49961234,45 M 47.72005996,38 L 47.72005996,7 M 95.71923296,38 L 95.71923296,7 M 143.71943971,38 L 143.71943971,7 M 191.71964646,38 L 191.71964646,7",viewW:240,viewH:45},wardrobe:{d:"M 94.04437425,18.88320821 A 3.7631854,3.44913684 90 0,0 92.92392737,16.13836358 A 4.33336501,3.97173334 90 0,0 90.22105832,15.00142545 C 89.20722112,15.00142545 88.23519165,15.40967405 87.51714407,16.13836358 A 3.7631854,3.44913684 90 0,0 86.39774238,18.88320821 C 86.39774238,22.11954766 87.67810379,24.70702271 90.22105832,26.64905445 L 90.20538042,26.64905445 L 105.44429412,35.24394184 C 106.04005412,35.58034781 106.53756598,36.07184263 106.88352486,36.66939086 C 107.22948373,37.26579873 107.41134731,37.94659318 107.41134731,38.63879122 L 107.41134731,40.23643448 A 3.7631854,3.44913684 90 0,1 106.29194563,42.9812791 A 4.33336501,3.97173334 90 0,1 103.58803138,44.1193576 L 76.82272946,44.1193576 A 4.33336501,3.97173334 90 0,1 74.11986041,42.9812791 A 3.7631854,3.44913684 90 0,1 72.99941353,40.23643448 L 72.99941353,38.63993158 C 72.99941353,37.94659318 73.18127711,37.26579873 73.52723599,36.66939086 A 4.04827521,3.71043509 90 0,1 74.96646673,35.24394184 L 90.20538042,26.64905445 M 2.50010162,0 L 177.49989838,0 C 178.87955312,0 180,1.11869239 180,2.4996674 L 180,57.49919225 C 180,58.88130761 178.88059831,60 177.49989838,60 L 2.50010162,60 C 1.11940169,60 0,58.88130761 0,57.5003326 L 0,2.50194811 C 0,1.11983275 1.11835649,0.00114036 2.50010162,0.00114036",viewW:180,viewH:60},kitchen_floor:{d:"M 0.00000104,2.4996673 C 0.00000104,1.1198327 1.11869337,0 2.4996683,0 L 57.49919004,0 C 58.88130533,0 59.99999766,1.11869234 59.99999766,2.4996673 L 59.99999766,57.49919 M 59.99999766,57.49919 A 2.49738658,2.49738654 90 0,1 59.26893509,59.26812834 A 2.49738658,2.49738654 90 0,1 57.5003304,59.99999766 M 57.5003304,59.99999766 L 2.50080866,59.99999766 M 2.50080866,59.99999766 A 2.49738658,2.49738654 90 0,1 0.73187035,59.26893508 A 2.49738658,2.49738654 90 0,1 0.00000104,57.50033036 M 0.00000104,57.50033036 L 0.00000104,2.4996673",viewW:60,viewH:60},kitchen_floor_corner:{d:"M 46.03081776,41.46966756 A 2.50060665,2.50060665 0 0,0 48.53142441,43.97027421 L 87.49939335,43.97027421 A 2.50060665,2.50060665 0 0,1 89.26758927,44.70268494 A 2.50060665,2.50060665 0 0,1 90,46.47088085 L 90,87.49939335 A 2.50060665,2.50060665 0 0,1 89.26758927,89.26758927 A 2.50060665,2.50060665 0 0,1 87.49939335,90 M 87.49939335,90 L 2.50060665,90 A 2.50060665,2.50060665 0 0,1 0.73241073,89.26758927 A 2.50060665,2.50060665 0 0,1 0,87.49939335 L 0,2.50060665 A 2.50060665,2.50060665 0 0,1 2.50060665,0 L 43.53239505,0 A 2.50060665,2.50060665 0 0,1 46.0330017,2.50060665 L 46.03081776,41.46966756",viewW:90,viewH:90},kitchen_wall:{d:"M 0.85755013,34.41625 L 58.7307802,0.6575 M 0.85526941,0.5825 L 58.72849948,34.3425 M 2.4996674,35 L 57.49919225,35 C 58.88130761,35 60,33.88125 60,32.5 L 60,2.5 C 60,1.11875 58.88130761,0 57.5003326,0 L 2.50080775,0 C 1.11869239,0 0,1.11875 0,2.5 L 0,32.5 C 0,33.88125 1.11869239,35 2.4996674,35",viewW:60,viewH:35},kitchen_wall_corner:{d:"M 0.09122874,29.53302228 L 29.86372655,0.78798922 M 1.00123537,58.99990268 L 58.99990394,30.00056953 M 0.55079349,0.78798922 L 30.99952431,28.00037958 M 0,29.00047456 L 58.99990394,58.99990268 M 28.18739854,0.00000104 L 2.49966735,0.00000104 C 1.11983273,0.00000104 0,1.11869337 0,2.4996683 L 0,57.49919004 C 0,58.88130533 1.11869237,59.99999766 2.49966735,59.99999766 L 57.49919125,59.99999766 M 57.49919125,59.99999766 A 2.49738663,2.49738654 0 0,0 59.26812963,59.26893509 A 2.49738663,2.49738654 0 0,0 59.99999896,57.5003304 M 59.99999896,57.5003304 L 59.99999896,31.81260022 C 59.99999896,30.43276565 58.88130659,29.31293296 57.5003316,29.31293296 L 33.1878736,29.31293296 A 2.49738663,2.49738654 0 0,1 31.41893522,28.5818704 A 2.49738663,2.49738654 0 0,1 30.68706589,26.81326571 L 30.68706589,2.50080866 M 30.68706589,2.50080866 A 2.49738663,2.49738654 0 0,0 29.9560033,0.73187035 A 2.49738663,2.49738654 0 0,0 28.18739854,0.00000104",viewW:60,viewH:60},shelf_floor:{d:"M 2.50054124,35 L 97.49945876,35 A 2.50054124,2.5 0 0,0 99.26760843,34.26776695 A 2.50054124,2.5 0 0,0 100,32.5 L 100,2.5 A 2.50054124,2.5 0 0,0 99.26760843,0.73223305 A 2.50054124,2.5 0 0,0 97.49945876,0 L 2.50054124,0 A 2.50054124,2.5 0 0,0 0,2.5 L 0,32.5 A 2.50054124,2.5 0 0,0 2.50054124,35 M 5.71444036,28.04125 C 5.17969257,28.18125 4.8744317,28.72375 5.03247456,29.25375 C 5.19051743,29.78375 5.75124486,30.0975 6.28491015,29.95875 L 6.0002165,29 L 5.71444036,28.04125 M 94.28664213,6.95875 C 94.82030743,6.81875 95.1255683,6.27625 94.96860792,5.74625 C 94.81164754,5.21625 94.24983763,4.9025 93.71508985,5.04125 L 94.00086599,6 L 94.28664213,6.95875 M 8.73024464,29.32 C 9.26390994,29.18 9.56917082,28.6375 9.41221044,28.1075 C 9.25525005,27.5775 8.69344014,27.2625 8.15869236,27.4025 L 8.4444685,28.36125 L 8.73024464,29.32 M 13.04719636,26.125 C 12.51353107,26.265 12.20827019,26.8075 12.36523057,27.33625 C 12.52219095,27.865 13.08400087,28.18125 13.61874865,28.04125 L 13.3329725,27.08375 L 13.04719636,26.125 M 18.50833514,26.76375 C 19.04200043,26.62375 19.34726131,26.0825 19.19030093,25.5525 C 19.03334055,25.0225 18.47153063,24.7075 17.93678285,24.8475 L 18.222559,25.805 L 18.50833514,26.76375 M 22.82528686,23.57 C 22.29162156,23.70875 21.98636068,24.25125 22.14332107,24.78 C 22.30136393,25.31 22.86209136,25.62625 23.39683914,25.48625 L 23.111063,24.5275 L 22.82528686,23.57 M 28.28534315,24.2075 C 28.82009093,24.06875 29.12535181,23.52625 28.96730894,22.9975 C 28.81034856,22.4675 28.24853864,22.1525 27.71487335,22.29125 L 27.99956701,23.25 L 28.28534315,24.2075 M 32.60445984,21.01375 C 32.06862957,21.15375 31.76336869,21.69625 31.92249405,22.22625 C 32.07945443,22.755 32.64018186,23.07 33.17492964,22.93 L 32.8891535,21.9725 L 32.60445984,21.01375 M 38.06343364,21.6525 C 38.59818142,21.5125 38.9034423,20.97125 38.74539944,20.44125 C 38.58735657,19.91125 38.02662914,19.59625 37.49188136,19.73625 L 37.7776575,20.695 L 38.06343364,21.6525 M 42.38146785,18.45875 C 41.84672007,18.5975 41.54145919,19.14 41.69950206,19.67 C 41.85754492,20.2 42.41827235,20.515 42.95193765,20.375 L 42.66724399,19.41625 L 42.38146785,18.45875 M 47.84152414,19.09625 C 48.37627192,18.95875 48.6815328,18.415 48.52348993,17.88625 C 48.36544707,17.35625 47.80471964,17.04125 47.26997186,17.18 L 47.555748,18.13875 L 47.84152414,19.09625 M 52.15955835,15.9025 C 51.62481057,16.0425 51.31954969,16.585 51.47759255,17.115 C 51.63455293,17.64375 52.19636285,17.95875 52.73002814,17.82 L 52.444252,16.86125 L 52.15955835,15.9025 M 57.61961464,16.54125 C 58.15327993,16.4025 58.45854081,15.86 58.30158043,15.33 C 58.14462005,14.8 57.58281013,14.485 57.04806235,14.625 L 57.33383849,15.58375 L 57.61961464,16.54125 M 61.93656636,13.3475 C 61.40290106,13.4875 61.09764018,14.02875 61.25460056,14.55875 C 61.41156094,15.08875 61.97337086,15.40375 62.50811864,15.26375 L 62.2223425,14.305 L 61.93656636,13.3475 M 67.39770513,13.985 C 67.93137043,13.8475 68.23663131,13.30375 68.07967092,12.775 C 67.92162806,12.245 67.36090063,11.93 66.82615285,12.07 L 67.11192899,13.0275 L 67.39770513,13.985 M 71.71465685,10.79125 C 71.18099156,10.93125 70.87573068,11.47375 71.03269106,12.00375 C 71.18965144,12.53375 71.75146136,12.8475 72.28620914,12.70875 L 72.00043299,11.75 L 71.71465685,10.79125 M 77.17471314,11.43 C 77.70946092,11.29125 78.0147218,10.74875 77.85667893,10.22 C 77.69971855,9.69 77.13790864,9.37375 76.60424334,9.51375 L 76.89001948,10.4725 L 77.17471314,11.43 M 81.49382983,8.23625 C 80.95908205,8.37625 80.65273869,8.9175 80.81186404,9.4475 C 80.96882442,9.97625 81.52955185,10.2925 82.06429963,10.1525 L 81.77852349,9.195 L 81.49382983,8.23625 M 86.95280364,8.875 C 87.48755142,8.735 87.7928123,8.1925 87.63476943,7.66375 C 87.47672656,7.135 86.91599913,6.81875 86.38233384,6.95875 L 86.6670275,7.91625 L 86.95280364,8.875 M 91.27083784,5.68 C 90.73609006,5.82 90.43082918,6.3625 90.58887205,6.8925 C 90.74691492,7.4225 91.30764235,7.7375 91.84239013,7.5975 L 91.55661399,6.63875 L 91.27083784,5.68 M 6.0002165,29 L 6.28491015,29.95875 L 8.73024464,29.32 L 8.4444685,28.36125 L 8.15869236,27.4025 L 5.71444036,28.04125 L 6.0002165,29 M 13.3329725,27.08375 L 13.61874865,28.04125 L 18.50833514,26.76375 L 18.222559,25.805 L 17.93678285,24.8475 L 13.04719636,26.125 L 13.3329725,27.08375 M 23.111063,24.5275 L 23.39683914,25.48625 L 28.28534315,24.20875 L 27.99956701,23.25 L 27.71487335,22.29125 L 22.82528686,23.57 L 23.111063,24.5275 M 32.8891535,21.9725 L 33.17492964,22.93 L 38.06343364,21.6525 L 37.7776575,20.695 L 37.49188136,19.73625 L 32.60337735,21.01375 L 32.8891535,21.9725 M 42.66724399,19.41625 L 42.95193765,20.375 L 47.84152414,19.0975 L 47.555748,18.13875 L 47.26997186,17.18 L 42.38146785,18.45875 L 42.66724399,19.41625 M 52.444252,16.86125 L 52.73002814,17.82 L 57.61961464,16.54125 L 57.33383849,15.58375 L 57.04806235,14.625 L 52.15955835,15.9025 L 52.444252,16.86125 M 62.2223425,14.305 L 62.50811864,15.26375 L 67.39770513,13.98625 L 67.11192899,13.0275 L 66.82615285,12.07 L 61.93656636,13.3475 L 62.2223425,14.305 M 72.00043299,11.75 L 72.28620914,12.70875 L 77.17471314,11.43 L 76.89001948,10.4725 L 76.60424334,9.51375 L 71.71465685,10.79125 L 72.00043299,11.75 M 81.77852349,9.195 L 82.06429963,10.1525 L 86.95280364,8.875 L 86.6670275,7.91625 L 86.38233384,6.95875 L 81.49274735,8.23625 L 81.77852349,9.195 M 91.55661399,6.6375 L 91.84239013,7.59625 L 94.28664213,6.9575 L 94.00086599,5.99875 L 93.71508985,5.04 L 91.27083784,5.67875 L 91.55661399,6.6375 M 5.71444036,6.95875 C 5.17969257,6.81875 4.8744317,6.27625 5.03247456,5.74625 C 5.19051743,5.21625 5.75124486,4.9025 6.28491015,5.04125 L 6.0002165,6 L 5.71444036,6.95875 M 94.28664213,28.04125 C 94.82030743,28.18125 95.1255683,28.72375 94.96860792,29.25375 C 94.81164754,29.78375 94.24983763,30.0975 93.71508985,29.95875 L 94.00086599,29 L 94.28664213,28.04125 M 8.73024464,5.68 C 9.26390994,5.82 9.56917082,6.3625 9.41221044,6.8925 C 9.25525005,7.4225 8.69344014,7.7375 8.15869236,7.5975 L 8.4444685,6.63875 L 8.73024464,5.68 M 13.04719636,8.875 C 12.51353107,8.735 12.20827019,8.1925 12.36523057,7.66375 C 12.52219095,7.135 13.08400087,6.81875 13.61874865,6.95875 L 13.3329725,7.91625 L 13.04719636,8.875 M 18.50833514,8.23625 C 19.04200043,8.37625 19.34726131,8.9175 19.19030093,9.4475 C 19.03334055,9.9775 18.47153063,10.2925 17.93678285,10.1525 L 18.222559,9.195 L 18.50833514,8.23625 M 22.82528686,11.43 C 22.29162156,11.29125 21.98636068,10.74875 22.14332107,10.22 C 22.30136393,9.69 22.86209136,9.37375 23.39683914,9.51375 L 23.111063,10.4725 L 22.82528686,11.43 M 28.28534315,10.7925 C 28.82009093,10.93125 29.12535181,11.47375 28.96730894,12.0025 C 28.81034856,12.5325 28.24853864,12.8475 27.71487335,12.70875 L 27.99956701,11.75 L 28.28534315,10.7925 M 32.60445984,13.98625 C 32.06862957,13.84625 31.76336869,13.30375 31.92249405,12.77375 C 32.07945443,12.245 32.64018186,11.93 33.17492964,12.07 L 32.8891535,13.0275 L 32.60445984,13.98625 M 38.06343364,13.3475 C 38.59818142,13.4875 38.9034423,14.02875 38.74539944,14.55875 C 38.58735657,15.08875 38.02662914,15.40375 37.49188136,15.26375 L 37.7776575,14.305 L 38.06343364,13.3475 M 42.38146785,16.54125 C 41.84672007,16.4025 41.54145919,15.86 41.69950206,15.33 C 41.85754492,14.8 42.41827235,14.485 42.95193765,14.625 L 42.66724399,15.58375 L 42.38146785,16.54125 M 47.84152414,15.90375 C 48.37627192,16.04125 48.6815328,16.585 48.52348993,17.11375 C 48.36544707,17.64375 47.80471964,17.95875 47.26997186,17.82 L 47.555748,16.86125 L 47.84152414,15.90375 M 52.15955835,19.0975 C 51.62481057,18.9575 51.31954969,18.415 51.47759255,17.885 C 51.63455293,17.35625 52.19636285,17.04125 52.73002814,17.18 L 52.444252,18.13875 L 52.15955835,19.0975 M 57.61961464,18.45875 C 58.15327993,18.5975 58.45854081,19.14 58.30158043,19.67 C 58.14462005,20.2 57.58281013,20.515 57.04806235,20.375 L 57.33383849,19.41625 L 57.61961464,18.45875 M 61.93656636,21.6525 C 61.40290106,21.5125 61.09764018,20.97125 61.25460056,20.44125 C 61.41156094,19.91125 61.97337086,19.59625 62.50811864,19.73625 L 62.2223425,20.695 L 61.93656636,21.6525 M 67.39770513,21.015 C 67.93137043,21.1525 68.23663131,21.69625 68.07967092,22.225 C 67.92162806,22.755 67.36090063,23.07 66.82615285,22.93 L 67.11192899,21.9725 L 67.39770513,21.015 M 71.71465685,24.20875 C 71.18099156,24.06875 70.87573068,23.52625 71.03269106,22.99625 C 71.18965144,22.46625 71.75146136,22.1525 72.28620914,22.29125 L 72.00043299,23.25 L 71.71465685,24.20875 M 77.17471314,23.57 C 77.70946092,23.70875 78.0147218,24.25125 77.85667893,24.78 C 77.69971855,25.31 77.13790864,25.62625 76.60424334,25.48625 L 76.89001948,24.5275 L 77.17471314,23.57 M 81.49382983,26.76375 C 80.95908205,26.62375 80.65273869,26.0825 80.81186404,25.5525 C 80.96882442,25.02375 81.52955185,24.7075 82.06429963,24.8475 L 81.77852349,25.805 L 81.49382983,26.76375 M 86.95280364,26.125 C 87.48755142,26.265 87.7928123,26.8075 87.63476943,27.33625 C 87.47672656,27.865 86.91599913,28.18125 86.38233384,28.04125 L 86.6670275,27.08375 L 86.95280364,26.125 M 91.27083784,29.32 C 90.73609006,29.18 90.43082918,28.6375 90.58887205,28.1075 C 90.74691492,27.5775 91.30764235,27.2625 91.84239013,27.4025 L 91.55661399,28.36125 L 91.27083784,29.32 M 6.0002165,6 L 6.28491015,5.04125 L 8.73024464,5.68 L 8.4444685,6.63875 L 8.15869236,7.5975 L 5.71444036,6.95875 L 6.0002165,6 M 13.3329725,7.91625 L 13.61874865,6.95875 L 18.50833514,8.23625 L 18.222559,9.195 L 17.93678285,10.1525 L 13.04719636,8.875 L 13.3329725,7.91625 M 23.111063,10.4725 L 23.39683914,9.51375 L 28.28534315,10.79125 L 27.99956701,11.75 L 27.71487335,12.70875 L 22.82528686,11.43 L 23.111063,10.4725 M 32.8891535,13.0275 L 33.17492964,12.07 L 38.06343364,13.3475 L 37.7776575,14.305 L 37.49188136,15.26375 L 32.60337735,13.98625 L 32.8891535,13.0275 M 42.66724399,15.58375 L 42.95193765,14.625 L 47.84152414,15.9025 L 47.555748,16.86125 L 47.26997186,17.82 L 42.38146785,16.54125 L 42.66724399,15.58375 M 52.444252,18.13875 L 52.73002814,17.18 L 57.61961464,18.45875 L 57.33383849,19.41625 L 57.04806235,20.375 L 52.15955835,19.0975 L 52.444252,18.13875 M 62.2223425,20.695 L 62.50811864,19.73625 L 67.39770513,21.01375 L 67.11192899,21.9725 L 66.82615285,22.93 L 61.93656636,21.6525 L 62.2223425,20.695 M 72.00043299,23.25 L 72.28620914,22.29125 L 77.17471314,23.57 L 76.89001948,24.5275 L 76.60424334,25.48625 L 71.71465685,24.20875 L 72.00043299,23.25 M 81.77852349,25.805 L 82.06429963,24.8475 L 86.95280364,26.125 L 86.6670275,27.08375 L 86.38233384,28.04125 L 81.49274735,26.76375 L 81.77852349,25.805 M 91.55661399,28.36125 L 91.84239013,27.4025 L 94.28664213,28.04125 L 94.00086599,29 L 93.71508985,29.95875 L 91.27083784,29.32 L 91.55661399,28.36125",viewW:100,viewH:35},shelf_wall:{d:"M 16.00095257,0 L 16.00095257,3.50051819 C 16.00095257,4.88054328 14.88168691,6.00010909 13.50046546,6.00010909 L 12.50027062,6.00010909 C 11.12013163,6.00010909 10.00086597,4.88190694 10.00086597,3.50051819 L 10.00086597,0 M 90.00021649,0 L 90.00021649,3.50051819 C 90.00021649,4.88054328 88.88095083,6.00010909 87.49972938,6.00010909 L 86.49953454,6.00010909 C 85.11939555,6.00010909 83.99904743,4.88190694 83.99904743,3.50051819 L 83.99904743,0 M 2.50048711,0 L 97.49951289,0 C 98.88073434,0 100,1.11820215 100,2.4995909 L 100,22.5004091 C 100,23.88043419 98.88073434,25 97.49951289,25 L 2.50048711,25 C 1.12034812,25 0,23.88179785 0,22.5004091 L 0,2.4995909 C 0,1.11956581 1.12034812,0 2.50048711,0",viewW:100,viewH:25},cooktop_two:{d:"M 14.99935186,32.00009362 L 14.99935186,29.99906385 M 18.99969753,35.99981277 L 20.99857408,35.99981277 M 14.99935186,41.9993915 L 14.99935186,39.99953192 M 9.00012963,35.99981277 L 10.99900618,35.99981277 M 3.12535108,50 L 26.87594521,50 C 28.60130493,50 30,48.60044935 30,46.8755851 L 30,3.1244149 C 30,1.39838045 28.60130493,0 26.87594521,0 L 3.12405479,0 C 1.39869507,0 0,1.39838045 0,3.1244149 L 0,46.87324471 C 0,48.59927916 1.39869507,49.99765961 3.12405479,49.99765961 M 21.99801236,14.99719154 C 21.99801236,18.86350871 18.86488355,21.99728515 14.99805557,21.99728515 C 11.13382016,21.99728515 7.99809878,18.86350871 7.99809878,14.99836173 C 7.99809878,11.13321475 11.13382016,7.99826811 14.99805557,7.99826811 C 18.86488355,7.99826811 21.99801236,11.13204456 21.99801236,14.99836173 M 20.0004321,35.99981277 C 20.0004321,38.76146789 17.76174221,41.00004681 15.00064814,41.00004681 C 12.23955408,41.00004681 10.00086419,38.76146789 10.00086419,35.99981277 C 10.00086419,33.23815765 12.23825779,30.99957873 14.99935186,30.99957873 C 17.76044592,30.99957873 19.99913581,33.23815765 19.99913581,35.99981277",viewW:30,viewH:50},stove:{d:"M 42.58125034,35.80643381 A 0.96783093,0.96783093 0 0,0 41.61341941,34.83860288 A 0.96783093,0.96783093 0 0,0 40.64558848,35.80643381 M 40.64558848,35.80643381 L 42.58125034,35.80643381 M 47.41930144,42.58014677 A 0.96783093,0.96783093 0 0,0 48.28464415,42.10618697 A 0.96783093,0.96783093 0 0,0 48.28464415,41.11954828 A 0.96783093,0.96783093 0 0,0 47.41930144,40.64558848 L 47.41930144,42.58014677 M 42.58125034,45.48363957 A 0.96783093,0.96783093 0 0,0 42.10729054,44.61829686 A 0.96783093,0.96783093 0 0,0 41.12065185,44.61829686 A 0.96783093,0.96783093 0 0,0 40.64669205,45.48363957 L 42.58125034,45.48363957 M 37.74319925,42.58125034 A 0.96783093,0.96783093 0 0,0 38.71103018,41.61341941 A 0.96783093,0.96783093 0 0,0 37.74319925,40.64558848 M 37.74319925,40.64558848 L 37.74319925,42.58125034 M 3.38796005,0.96672736 L 3.38796005,1.9345583 L 56.61314352,1.9345583 L 56.61314352,0 L 3.38796005,0 L 3.38796005,0.96672736 M 59.03216907,3.38575291 L 58.06433813,3.38575291 L 58.06433813,56.61093638 L 60,56.61093638 L 60,3.38796005 L 59.03216907,3.38575291 M 56.61314352,59.0310655 L 56.61314352,58.06323456 L 3.38796005,58.06323456 L 3.38796005,59.99889643 L 56.61314352,59.99889643 L 56.61314352,59.0310655 M 0.96783093,56.61314352 L 1.93566187,56.61314352 L 1.93566187,3.38796005 L 0,3.38796005 L 0,56.61314352 L 0.96783093,56.61314352 M 3.38685648,59.03216907 L 3.38685648,58.06433813 A 1.45119461,1.45119461 0 0,1 1.93566187,56.61314352 L 0,56.61314352 A 3.38796005,3.38796005 0 0,0 3.38796005,60 L 3.38685648,59.03216907 M 59.03216907,56.61314352 L 58.06433813,56.61314352 C 58.06433813,57.41433537 57.41433537,58.06433813 56.61314352,58.06433813 L 56.61314352,60 A 3.38796005,3.38796005 0 0,0 60,56.61203995 L 59.03216907,56.61314352 M 56.61314352,0.96783093 L 56.61314352,1.93566187 C 57.41433537,1.93566187 58.06433813,2.58566463 58.06433813,3.38685648 L 60,3.38685648 A 3.38796005,3.38796005 0 0,0 56.61203995,0 L 56.61314352,0.96783093 M 3.38796005,0.96783093 L 3.38796005,0 A 3.38796005,3.38796005 0 0,0 0,3.38796005 L 1.93566187,3.38796005 C 1.93566187,2.58566463 2.58566463,1.93566187 3.38685648,1.93566187 L 3.38796005,0.96783093 M 25.16139712,41.61231584 L 24.19356619,41.61231584 A 5.80477846,5.80477846 0 0,1 22.49338636,45.71912161 A 5.80477846,5.80477846 0 0,1 18.38658059,47.41930144 M 18.38658059,47.41930144 L 18.38658059,49.35496331 M 18.38658059,49.35496331 A 7.74154389,7.74154389 0 0,0 23.86139219,47.0879078 A 7.74154389,7.74154389 0 0,0 26.12922805,41.61341941 M 26.12922805,41.61341941 L 25.16139712,41.61231584 M 18.38658059,48.38713237 L 18.38658059,47.41930144 A 5.80477846,5.80477846 0 0,1 14.2808787,45.7191213 A 5.80477846,5.80477846 0 0,1 12.58069856,41.61341941 L 10.64503669,41.61341941 A 7.74154389,7.74154389 0 0,0 18.38658059,49.35496331 L 18.38658059,48.38713237 M 11.61286763,41.61341941 L 12.58069856,41.61341941 M 12.58069856,41.61341941 A 5.80477846,5.80477846 0 0,1 14.28048835,37.50700403 A 5.80477846,5.80477846 0 0,1 18.38658059,35.80643381 M 18.38658059,35.80643381 L 18.38658059,33.87077195 M 18.38658059,33.87077195 A 7.74154389,7.74154389 0 0,0 12.9120922,36.13860781 A 7.74154389,7.74154389 0 0,0 10.64503669,41.61341941 M 10.64503669,41.61341941 L 11.61286763,41.61341941 M 18.38658059,34.83860288 L 18.38658059,35.80643381 M 18.38658059,35.80643381 A 5.80477846,5.80477846 0 0,1 22.49338636,37.50661364 A 5.80477846,5.80477846 0 0,1 24.19356619,41.61341941 L 26.12922805,41.61341941 M 26.12922805,41.61341941 A 7.74154389,7.74154389 0 0,0 23.86178242,36.13821758 A 7.74154389,7.74154389 0 0,0 18.38658059,33.87077195 M 18.38658059,33.87077195 L 18.38658059,34.83860288 M 48.38713237,18.38658059 L 47.41930144,18.38658059 M 47.41930144,18.38658059 A 5.80477846,5.80477846 0 0,1 45.71951165,22.49299597 A 5.80477846,5.80477846 0 0,1 41.61341941,24.19356619 M 41.61341941,24.19356619 L 41.61341941,26.12922805 M 41.61341941,26.12922805 A 7.74154389,7.74154389 0 0,0 47.0879078,23.86139219 A 7.74154389,7.74154389 0 0,0 49.35496331,18.38658059 M 49.35496331,18.38658059 L 48.38713237,18.38658059 M 41.61341941,25.16139712 L 41.61341941,24.19356619 A 5.80477846,5.80477846 0 0,1 37.50661364,22.49338636 A 5.80477846,5.80477846 0 0,1 35.80643381,18.38658059 L 33.87077195,18.38658059 M 33.87077195,18.38658059 A 7.74154389,7.74154389 0 0,0 36.13821758,23.86178242 A 7.74154389,7.74154389 0 0,0 41.61341941,26.12922805 M 41.61341941,26.12922805 L 41.61341941,25.16139712 M 34.83860288,18.38658059 L 35.80643381,18.38658059 M 35.80643381,18.38658059 A 5.80477846,5.80477846 0 0,1 37.50700403,14.28048835 A 5.80477846,5.80477846 0 0,1 41.61341941,12.58069856 M 41.61341941,12.58069856 L 41.61341941,10.64503669 M 41.61341941,10.64503669 A 7.74154389,7.74154389 0 0,0 36.13860781,12.9120922 A 7.74154389,7.74154389 0 0,0 33.87077195,18.38658059 M 33.87077195,18.38658059 L 34.83860288,18.38658059 M 41.61341941,11.61286763 L 41.61341941,12.58069856 M 41.61341941,12.58069856 A 5.80477846,5.80477846 0 0,1 45.7191213,14.2808787 A 5.80477846,5.80477846 0 0,1 47.41930144,18.38658059 M 47.41930144,18.38658059 L 49.35496331,18.38658059 A 7.74154389,7.74154389 0 0,0 47.0875176,12.9124824 A 7.74154389,7.74154389 0 0,0 41.61341941,10.64503669 L 41.61341941,11.61286763 M 46.45147051,41.61341941 L 45.48363957,41.61341941 A 3.87353087,3.87353087 0 0,1 41.61341941,45.48363957 L 41.61341941,47.41930144 M 41.61341941,47.41930144 A 5.80477846,5.80477846 0 0,0 45.7191213,45.7191213 A 5.80477846,5.80477846 0 0,0 47.41930144,41.61341941 M 47.41930144,41.61341941 L 46.45147051,41.61341941 M 41.61341941,46.45147051 L 41.61341941,45.48363957 A 3.87353087,3.87353087 0 0,1 37.74209568,41.61341941 L 35.80533024,41.61341941 M 35.80533024,41.61341941 A 5.80477846,5.80477846 0 0,0 37.50590046,45.71951165 A 5.80477846,5.80477846 0 0,0 41.61231584,47.41930144 M 41.61231584,47.41930144 L 41.61341941,46.45147051 M 36.77426475,41.61341941 L 37.74209568,41.61341941 A 3.87353087,3.87353087 0 0,1 41.61341941,37.74209568 L 41.61341941,35.80533024 A 5.80477846,5.80477846 0 0,0 37.50661364,37.50551007 A 5.80477846,5.80477846 0 0,0 35.80643381,41.61231584 L 36.77426475,41.61341941 M 41.61341941,36.77426475 L 41.61341941,37.74209568 A 3.87353087,3.87353087 0 0,1 45.48363957,41.61341941 L 47.41930144,41.61341941 M 47.41930144,41.61341941 A 5.80477846,5.80477846 0 0,0 45.71951165,37.50700403 A 5.80477846,5.80477846 0 0,0 41.61341941,35.80643381 M 41.61341941,35.80643381 L 41.61341941,36.77426475 M 41.61341941,37.74209568 L 42.58014677,37.74209568 L 42.58014677,35.80533024 L 40.64558848,35.80533024 L 40.64558848,37.74099211 L 41.61341941,37.74209568 M 45.48474314,41.61341941 L 45.48474314,42.58014677 L 47.41930144,42.58014677 L 47.41930144,40.64558848 L 45.48474314,40.64558848 L 45.48474314,41.61341941 M 41.61341941,47.41930144 L 42.58014677,47.41930144 L 42.58014677,45.48363957 L 40.64558848,45.48363957 L 40.64558848,47.41930144 L 41.61341941,47.41930144 M 35.80753738,41.61341941 L 35.80753738,42.58014677 L 37.74209568,42.58014677 L 37.74209568,40.64558848 L 35.80753738,40.64558848 L 35.80753738,41.61341941 M 25.16139712,18.38658059 L 24.19356619,18.38658059 M 24.19356619,18.38658059 A 5.80477846,5.80477846 0 0,1 22.49338636,22.49338636 A 5.80477846,5.80477846 0 0,1 18.38658059,24.19356619 M 18.38658059,24.19356619 L 18.38658059,26.12922805 M 18.38658059,26.12922805 A 7.74154389,7.74154389 0 0,0 23.86178242,23.86178242 A 7.74154389,7.74154389 0 0,0 26.12922805,18.38658059 L 25.16139712,18.38658059 M 18.38658059,25.16139712 L 18.38658059,24.19356619 A 5.80477846,5.80477846 0 0,1 14.28048835,22.49299597 A 5.80477846,5.80477846 0 0,1 12.58069856,18.38658059 M 12.58069856,18.38658059 L 10.64503669,18.38658059 M 10.64503669,18.38658059 A 7.74154389,7.74154389 0 0,0 12.9120922,23.86139219 A 7.74154389,7.74154389 0 0,0 18.38658059,26.12922805 M 18.38658059,26.12922805 L 18.38658059,25.16139712 M 11.61286763,18.38658059 L 12.58069856,18.38658059 M 12.58069856,18.38658059 A 5.80477846,5.80477846 0 0,1 14.2808787,14.2808787 A 5.80477846,5.80477846 0 0,1 18.38658059,12.58069856 M 18.38658059,12.58069856 L 18.38658059,10.64503669 A 7.74154389,7.74154389 0 0,0 10.64503669,18.38658059 L 11.61286763,18.38658059 M 18.38658059,11.61286763 L 18.38658059,12.58069856 A 5.80477846,5.80477846 0 0,1 22.49299597,14.28048835 A 5.80477846,5.80477846 0 0,1 24.19356619,18.38658059 L 26.12922805,18.38658059 M 26.12922805,18.38658051 A 7.74154389,7.74154389 0 0,0 23.86139213,12.91209214 A 7.74154389,7.74154389 0 0,0 18.38658051,10.64503669 M 18.38658059,10.64503669 L 18.38658059,11.61286763",viewW:60,viewH:60},tv:{d:"M 44.11752137,9.73109561 L 2.5,9.73109561 C 1.11965812,9.73109561 0,10.850462 0,12.23118989 L 0,15.76881011 C 0,17.14821799 1.11965812,18.26758439 2.5,18.26758439 L 44.11752137,18.26758439 M 44.11752137,9.73109561 L 44.11752137,2.50009429 C 44.11752137,1.1193664 45.23717949,0 46.61752137,0 L 75.1474359,0 C 76.52777778,0 77.6474359,1.1193664 77.6474359,2.50009429 L 77.6474359,9.73109561 M 44.11752137,9.73109561 L 77.6474359,9.73109561 L 117.5,9.73109561 C 118.88141026,9.73109561 120,10.850462 120,12.23118989 L 120,15.76881011 C 120,17.14821799 118.88141026,18.26758439 117.5,18.26758439 L 77.6474359,18.26758439 M 44.11752137,18.26758439 L 44.11752137,25.49990571 C 44.11752137,26.8806336 45.23717949,28 46.61752137,28 L 75.1474359,28 C 76.52777778,28 77.6474359,26.8806336 77.6474359,25.49990571 L 77.6474359,18.26758439 M 44.11752137,18.26758439 L 77.6474359,18.26758439",viewW:120,viewH:28},tv_wall:{d:"M 34.42622951,13.23529412 C 33.88293401,13.23529412 33.44262295,13.63088235 33.44262295,14.11764706 C 33.44262295,14.60441176 33.88293401,15 34.42622951,15 L 34.42622951,13.23529412 M 86.49957966,15 C 87.04287516,15 87.48318621,14.60441176 87.48318621,14.11764706 C 87.48318621,13.63088235 87.0418243,13.23529412 86.49957966,13.23529412 L 86.49957966,15 M 3.44262295,0.88235294 L 3.44262295,1.76470588 L 116.55737705,1.76470588 L 116.55737705,0 L 3.44262295,0 L 3.44262295,0.88235294 M 119.01639344,3.08823529 L 118.03278689,3.08823529 L 118.03278689,5.73529412 L 120,5.73529412 L 120,3.08823529 L 119.01639344,3.08823529 M 116.55737705,7.94117647 L 116.55737705,7.05882353 L 3.44262295,7.05882353 L 3.44262295,8.82352941 L 116.55737705,8.82352941 L 116.55737705,7.94117647 M 0.98360656,5.73529412 L 1.96721311,5.73529412 L 1.96721311,3.08823529 L 0,3.08823529 L 0,5.73529412 L 0.98360656,5.73529412 M 3.44262295,7.94117647 L 3.44262295,7.05882353 C 2.62820513,7.05882353 1.96721311,6.46617647 1.96721311,5.73529412 L 0,5.73529412 C 0,7.44117647 1.54161412,8.82352941 3.44262295,8.82352941 L 3.44262295,7.94117647 M 119.01639344,5.73529412 L 118.03278689,5.73529412 C 118.03278689,6.46617647 117.37179487,7.05882353 116.55737705,7.05882353 L 116.55737705,8.82352941 C 118.45943674,8.82352941 120,7.44117647 120,5.73529412 L 119.01639344,5.73529412 M 116.55737705,0.88235294 L 116.55737705,1.76470588 C 117.37179487,1.76470588 118.03278689,2.35735294 118.03278689,3.08823529 L 120,3.08823529 C 120,1.38235294 118.45838588,0 116.55737705,0 L 116.55737705,0.88235294 M 3.44262295,0.88235294 L 3.44262295,0 C 1.54056326,0 0,1.38235294 0,3.08823529 L 1.96721311,3.08823529 C 1.96721311,2.35735294 2.62820513,1.76470588 3.44262295,1.76470588 L 3.44262295,0.88235294 M 67.86885246,7.05882353 L 66.8852459,7.05882353 L 66.8852459,14.11764706 L 68.85245902,14.11764706 L 68.85245902,7.05882353 L 67.86885246,7.05882353 M 52.13114754,14.11764706 L 53.1147541,14.11764706 L 53.1147541,7.05882353 L 51.14754098,7.05882353 L 51.14754098,14.11764706 L 52.13114754,14.11764706 M 34.42622951,14.11764706 L 34.42622951,15 L 86.49957966,15 L 86.49957966,13.23529412 L 34.42622951,13.23529412 L 34.42622951,14.11764706",viewW:120,viewH:15},toilet:{d:"M 0,50.64541922 C 0,61.33577471 8.66551127,70 19.35479948,70 L 20.64520052,70 C 31.33570495,70 40,61.33577471 40,50.64541922 L 40,2.49964019 C 40,1.11940895 38.88108486,0 37.49946791,0 L 2.50053209,0 C 1.12013135,0 0,1.11940895 0,2.5007596 L 0,50.64541922 M 4.99984797,50.80661411 C 4.99984797,58.645835 11.35455623,65.00071962 19.19304327,65.00071962 L 20.80695673,65.00071962 C 28.64544377,65.00071962 35.00015203,58.645835 35.00015203,50.80661411 L 35.00015203,31.50016791 C 35.00015203,30.11993667 33.88123689,29.00052772 32.49961993,29.00052772 L 7.50038007,29.00052772 C 6.11997932,29.00052772 4.99984797,30.11993667 4.99984797,31.50016791 L 4.99984797,50.80661411 M 36.77460549,0 C 38.55635623,0 40,1.44403755 40,3.2261366 L 40,16.77434315 C 40,18.5564422 38.55635623,20.00047975 36.77460549,20.00047975 L 3.22661072,20.00047975 C 1.44485998,20.00047975 0,18.5564422 0,16.77434315 L 0,3.2261366 C 0,1.44515696 1.44485998,0 3.22661072,0 L 36.77460549,0 M 24.99923987,51.99990405 C 24.99923987,54.76148594 22.76140959,57.00030384 20.00060811,57.00030384 C 17.23980662,57.00030384 15.00076013,54.76148594 15.00076013,51.99990405 C 15.00076013,49.23832217 17.23859041,47.00062367 19.99939189,47.00062367 C 22.76019338,47.00062367 25.00045608,49.23944157 25.00045608,51.99990405",viewW:40,viewH:70},toilet_built_in:{d:"M 0,35.64551996 C 0,46.33352214 8.66551127,55 19.35479948,55 L 20.64520052,55 C 31.33570495,55 40,46.33467598 40,35.64436612 L 40,2.49921329 C 40,1.11922294 38.88108486,0 37.49946791,0 L 2.50053209,0 C 1.12013135,0 0,1.11922294 0,2.49921329 L 0,35.64551996 M 4.99984797,35.80705729 C 4.99984797,43.64507941 11.35455623,49.99926574 19.19304327,49.99926574 L 20.80695673,49.99926574 C 28.64544377,49.99926574 35.00015203,43.64507941 35.00015203,35.80705729 L 35.00015203,12.49952798 C 35.00015203,11.11838379 33.88123689,9.99916085 32.49961993,9.99916085 L 7.50038007,9.99916085 C 6.11997932,9.99916085 4.99984797,11.11838379 4.99984797,12.49952798 L 4.99984797,35.80705729 M 24.99923987,36.99897204 C 24.99923987,39.76126041 22.76140959,41.9997063 20.00060811,41.9997063 C 17.23980662,41.9997063 15.00076013,39.76126041 15.00076013,36.99897204 C 15.00076013,34.23668366 17.23859041,31.99939161 19.99939189,31.99939161 C 22.76019338,31.99939161 25.00045608,34.2378375 25.00045608,36.99897204",viewW:40,viewH:55},bathtub:{d:"M 0.00104789,2.5 C 0.00104789,1.11888889 1.12019281,0 2.50130986,0 L 167.49973803,0 C 168.88085508,0 170,1.11888889 170,2.5 L 170,72.5 C 170,73.88111111 168.88085508,75 167.49973803,75 L 2.50026197,75 C 1.11914492,75 0,73.88111111 0,72.5 L 0.00104789,2.5 M 10.00104789,37.5 C 10.00104789,22.31222222 22.31373782,10 37.50078592,10 L 132.50026197,10 C 147.68731007,10 160,22.31222222 160,37.5 C 160,52.68777778 147.68731007,65 132.50026197,65 L 37.49973803,65 C 22.31268993,65 10,52.68777778 10,37.5 M 29.00136226,37.5 C 29.00136226,39.98555556 26.98627266,42 24.50068113,42 C 22.01508959,42 20.00104789,39.98555556 20.00104789,37.5 C 20.00104789,35.01444444 22.01613748,33 24.50068113,33 C 26.98627266,33 29.00136226,35.01444444 29.00136226,37.5",viewW:170,viewH:75},bathtub_corner:{d:"M 0.0000009,2.49992528 A 2.4978076,2.4978076 90 0,1 0.73159091,0.73159091 A 2.4978076,2.4978076 90 0,1 2.49992528,0.0000009 M 2.49992528,0.0000009 L 137.70540387,0.0000009 C 138.97230035,0.0000009 140,1.02664216 140,2.29459703 C 140,78.34754644 78.34754644,140 2.29459703,140 A 2.29671292,2.29671292 90 0,1 0.0000009,137.70540387 L 0.0000009,2.49992528 M 9.99969844,30.0001519 C 9.99969844,18.95370364 18.95370364,9.99969844 30.0001519,9.99969844 L 122.7450181,9.99969844 A 2.2543772,2.2543772 90 0,1 124.9993953,12.25407563 C 124.9993953,74.52251395 74.52251395,125.00045369 12.25513403,125.00045369 A 2.2543772,2.2543772 90 0,1 10.66067431,124.33978775 A 2.2543772,2.2543772 90 0,1 10.00075683,122.7450181 L 9.99969844,30.0001519 M 30.0001519,25.00030314 A 5.00037797,5.00037797 90 0,1 24.99977394,30.0006811 A 5.00037797,5.00037797 90 0,1 19.99939597,25.00030314 A 5.00037797,5.00037797 90 0,1 24.99977394,19.99992517 A 5.00037797,5.00037797 90 0,1 30.0001519,25.00030314",viewW:140,viewH:140},bidet:{d:"M 22.99978716,0 L 22.99978716,11.50052266 C 22.99978716,12.88035731 21.88087202,14.00019006 20.50047128,14.00019006 L 19.50074493,14.00019006 C 18.11912798,14.00019006 17.00021284,12.88149767 17.00021284,11.50052266 L 17.00021284,0 M 22.99978716,10.0009503 L 26.50004561,10.0009503 C 27.88044635,10.0009503 29.0005777,8.88111755 29.0005777,7.50014254 L 29.0005777,6.50004751 C 29.0005777,5.12021287 27.88166256,4.00038012 26.50004561,4.00038012 L 22.99978716,4.00038012 M 17.00021284,10.0009503 L 13.49995439,10.0009503 C 12.11955365,10.0009503 11.00063851,8.88111755 11.00063851,7.50014254 L 11.00063851,6.50004751 C 11.00063851,5.12021287 12.11955365,4.00038012 13.49995439,4.00038012 L 17.00021284,4.00038012 M 2.50053209,0 L 37.49946791,0 C 38.88108486,0 40,1.11869239 40,2.4996674 L 40,40.64468308 C 40,51.33441034 31.33448873,60 20.64520052,60 L 19.35601569,60 C 8.66551127,60 0,51.33441034 0,40.64582343 L 0,2.50080775 C 0,1.11869239 1.11891514,0 2.50053209,0 M 7.49916385,18.00057018 L 32.49961993,18.00057018 C 33.88123689,18.00057018 35.00015203,19.11926257 35.00015203,20.50023757 L 35.00015203,40.80661408 C 35.00015203,48.64544331 28.64544377,55.00066521 20.80695673,55.00066521 L 19.19304327,55.00066521 C 11.35455623,55.00066521 4.99984797,48.64544331 4.99984797,40.80661408 L 4.99984797,20.50137793 C 4.99984797,19.12154329 6.11876311,18.00171054 7.50038007,18.00171054 M 24.00072973,27.00142545 C 24.00072973,29.21030124 22.21046551,31.00180557 20.00182432,31.00180557 C 17.79196692,31.00180557 16.00048648,29.2114416 16.00048648,27.00142545 C 16.00048648,24.79140929 17.79196692,23.00218569 20.00182432,23.00218569 C 22.21168172,23.00218569 24.00072973,24.79254965 24.00072973,27.00142545",viewW:40,viewH:60},bidet_built_in:{d:"M 16.73872723,9.99953191 L 6.93605765,9.99953191 C 5.86579099,9.99953191 4.99984797,10.86549489 4.99984797,11.93507618 L 4.99984797,30.8060477 C 4.99984797,38.64418284 11.35455623,44.99964893 19.19304327,44.99964893 L 20.80695673,44.99964893 C 28.64544377,44.99964893 35.00015203,38.64535306 35.00015203,30.80487748 L 35.00015203,11.9362464 C 35.00015203,10.86666511 34.13299279,10.00070213 33.06515856,10.00070213 L 23.26005655,10.00070213 M 22.99857095,0.00117022 L 22.99857095,11.50092447 C 22.99857095,12.88178435 21.87965581,14.0005149 20.49925507,14.0005149 L 19.49952872,14.0005149 C 18.11791176,14.0005149 16.99899663,12.88178435 16.99899663,11.50092447 L 16.99899663,0 M 29.99908784,9.99953191 L 29.99908784,0 M 9.99847973,0 L 9.99847973,9.99953191 M 2.50053209,0 L 37.49946791,0 C 38.88108486,0 40,1.11873055 40,2.49959042 L 40,30.64455731 C 40,41.33451916 31.33448873,50 20.64520052,50 L 19.35601569,50 C 8.66551127,50 0,41.33451916 0,30.64455731 L 0,2.49959042 C 0,1.11873055 1.11891514,0 2.50053209,0 M 24.00072973,22.99833829 C 24.00072973,25.20771409 22.20924929,26.99815105 19.99939189,26.99815105 C 17.78953449,26.99815105 16.00048648,25.20771409 16.00048648,22.99833829 C 16.00048648,20.78896248 17.79075071,18.99852552 20.00060811,18.99852552 C 22.20924929,18.99852552 23.99951352,20.78896248 23.99951352,22.99833829",viewW:40,viewH:50},kitchen_sink:{d:"M 39.41423548,6.00088937 L 51.49976243,6.00088937 C 52.88073743,6.00088937 54.00057018,7.11961991 54.00057018,8.50047979 L 54.00057018,41.50069043 C 54.00057018,42.88155031 52.88073743,44.00028085 51.49976243,44.00028085 L 8.50137793,44.00028085 C 7.12154329,44.00028085 6.00171054,42.88155031 6.00171054,41.50069043 L 6.00171054,8.50047979 C 6.00171054,7.11961991 7.12040293,6.00088937 8.50137793,6.00088937 L 20.58804523,6.00088937 M 33.00085527,0 L 33.00085527,13.50200108 C 33.00085527,14.88286095 31.88216288,16.0015915 30.50118787,16.0015915 L 29.50109284,16.0015915 C 28.1212582,16.0015915 27.00142545,14.88169073 27.00142545,13.50200108 L 27.00142545,0 M 33.00085527,9.00016383 L 36.50175805,9.00016383 C 37.8815927,9.00016383 39.00142545,7.88143329 39.00142545,6.50057341 L 39.00142545,5.50003511 C 39.00142545,4.11917523 37.8815927,3.00044468 36.50175805,3.00044468 L 33.00085527,3.00044468 M 27.00142545,9.00016383 L 23.50052266,9.00016383 C 22.12068802,9.00016383 21.00085527,7.88143329 21.00085527,6.50057341 L 21.00085527,5.50003511 C 21.00085527,4.11917523 22.12068802,3.00044468 23.50166302,3.00044468 L 27.00142545,3.00044468 M 2.4996674,50 L 57.5003326,50 C 58.88016725,50 60,48.88126945 60,47.50040958 L 60,2.50076064 C 60,1.11990077 58.88130761,0 57.5003326,0 L 2.50080775,0 C 1.11983275,0 0,1.11990077 0,2.50076064 L 0,47.50040958 C 0,48.88126945 1.11983275,50 2.4996674,50 M 33.99980994,25.99995319 C 33.99980994,28.209329 32.20944598,29.99976596 30.00057018,29.99976596 C 27.79169438,29.99976596 26.00019006,28.209329 26.00019006,25.99995319 C 26.00019006,23.79174761 27.79055402,22.00014043 30.00057018,22.00014043 C 32.21058633,22.00014043 33.99980994,23.79057739 33.99980994,25.99995319",viewW:60,viewH:50},kitchen_sink_double:{d:"M 53.81917613,10.60756523 C 53.3184331,10.60756523 52.91291684,11.00704162 52.91291684,11.49905209 C 52.91291684,11.99106256 53.31950306,12.39053895 53.81917613,12.39053895 L 53.81917613,10.60756523 M 77.33590917,12.39053895 C 77.83558224,12.39053895 78.2410985,11.99219103 78.2410985,11.49905209 C 78.2410985,11.00704162 77.83558224,10.60756523 77.33590917,10.60756523 L 77.33590917,12.39053895 M 3.35647625,0.89148686 L 3.35647625,1.78297373 L 86.64459371,1.78297373 L 86.64459371,0 L 3.35647625,0 L 3.35647625,0.89148686 M 89.09267075,3.30414372 L 88.18641146,3.30414372 L 88.18641146,46.69811321 L 89.99893004,46.69811321 L 89.99893004,3.30301526 L 89.09267075,3.30414372 M 86.64245378,49.10851314 L 86.64245378,48.21702627 L 3.35647625,48.21702627 L 3.35647625,50 L 86.64459371,50 L 86.64245378,49.10851314 M 0.90625929,46.69698474 L 1.81251858,46.69698474 L 1.81251858,3.30301526 L 0,3.30301526 L 0,46.69698474 L 0.90625929,46.69698474 M 3.35647625,49.10738467 L 3.35647625,48.21589781 C 2.50371515,48.21589781 1.81251858,47.53543378 1.81251858,46.69698474 L 0,46.69698474 C 0,48.52058319 1.50222909,49.99887154 3.35647625,49.99887154 L 3.35647625,49.10738467 M 89.09374071,46.69698474 L 88.18748142,46.69698474 C 88.18748142,47.53543378 87.49628485,48.21589781 86.64459371,48.21589781 L 86.64459371,49.99887154 C 88.49777091,49.99887154 90,48.52058319 90,46.69698474 L 89.09374071,46.69698474 M 86.64352375,0.89261533 L 86.64352375,1.78410219 C 87.49628485,1.78410219 88.18748142,2.46343775 88.18748142,3.30301526 L 90,3.30301526 C 90,1.47828835 88.49777091,0 86.64459371,0 L 86.64352375,0.89261533 M 3.35647625,0.89261533 L 3.35647625,0.00112846 C 1.50222909,0.00112846 0,1.47941681 0,3.30301526 L 1.81251858,3.30301526 C 1.81251858,2.46343775 2.50371515,1.78297373 3.35647625,1.78297373 L 3.35647625,0.89261533 M 9.23485704,43.32174777 L 9.23485704,44.21323463 L 39.61112762,44.21323463 L 39.61112762,42.4302609 L 9.23485704,42.4302609 L 9.23485704,43.32174777 M 42.06134459,40.91134784 L 42.96653391,40.91134784 L 42.96653391,9.08865216 L 41.15401534,9.08865216 L 41.15401534,40.91134784 L 42.06134459,40.91134784 M 6.78464008,9.08865216 L 5.87945075,9.08865216 L 5.87945075,40.91134784 L 7.69196933,40.91134784 L 7.69196933,9.08865216 L 6.78464008,9.08865216 M 39.61219759,6.67825223 L 39.61219759,5.78676537 L 33.54657314,5.78676537 L 33.54657314,7.5697391 L 39.61219759,7.5697391 L 39.61219759,6.67825223 M 15.30155145,6.67825223 L 15.30155145,5.78676537 L 9.235927,5.78676537 L 9.235927,7.5697391 L 15.30155145,7.5697391 L 15.30155145,6.67825223 M 6.78678,9.08865216 L 7.69303929,9.08865216 C 7.69303929,8.24907466 8.3831659,7.5697391 9.235927,7.5697391 L 9.235927,5.78676537 C 7.38274981,5.78676537 5.88052072,7.26505371 5.88052072,9.08865216 L 6.78678,9.08865216 M 42.06134459,9.08865216 L 42.96760388,9.08865216 C 42.96760388,7.26505371 41.46537478,5.78563691 39.61219759,5.78563691 L 39.61219759,7.56861063 C 40.46495869,7.56861063 41.1550853,8.24907466 41.1550853,9.08865216 L 42.06134459,9.08865216 M 39.61112762,43.32174777 L 39.61112762,44.21323463 C 41.46537478,44.21323463 42.96760388,42.73494629 42.96760388,40.91134784 L 41.1550853,40.91134784 C 41.1550853,41.74979688 40.46495869,42.4302609 39.61219759,42.4302609 L 39.61112762,43.32174777 M 9.235927,43.32174777 L 9.235927,42.4302609 C 8.3831659,42.4302609 7.69303929,41.74979688 7.69303929,40.91134784 L 5.87945075,40.91134784 C 5.87945075,42.73494629 7.38167984,44.21323463 9.23485704,44.21323463 L 9.235927,43.32174777 M 23.9340189,16.32098041 L 23.9340189,17.21246727 L 24.91410569,17.21246727 L 24.91410569,15.42949355 L 23.9340189,15.42949355 L 23.9340189,16.32098041 M 27.36325269,13.91058048 L 28.26951198,13.91058048 L 28.26951198,0.89148686 L 26.4569934,0.89148686 L 26.4569934,13.91170895 L 27.36325269,13.91058048 M 21.48380194,0.89148686 L 20.57754265,0.89148686 L 20.57754265,13.91170895 L 22.38899126,13.91170895 L 22.38899126,0.89148686 L 21.48380194,0.89148686 M 24.91303572,16.32098041 L 24.91303572,17.21246727 C 26.76621292,17.21246727 28.26844201,15.73417893 28.26844201,13.91058048 L 26.4569934,13.91058048 C 26.4569934,14.74902952 25.76579683,15.42949355 24.91303572,15.42949355 L 24.91303572,16.32098041 M 23.93294894,16.32098041 L 23.93294894,15.42949355 C 23.08018784,15.42949355 22.38899126,14.74902952 22.38899126,13.91058048 L 20.57754265,13.91058048 C 20.57754265,15.73417893 22.07977174,17.21246727 23.93294894,17.21246727 L 23.93294894,16.32098041 M 27.36218273,9.57050645 L 27.36218273,10.46199332 L 30.79248648,10.46199332 L 30.79248648,8.67901959 L 27.36218273,8.67901959 L 27.36218273,9.57050645 M 33.24163348,7.16010653 L 34.14789277,7.16010653 L 34.14789277,6.19526948 L 32.33537419,6.19526948 L 32.33537419,7.16010653 L 33.24163348,7.16010653 M 30.79141651,3.78486955 L 30.79141651,2.89338268 L 27.36218273,2.89338268 L 27.36218273,4.67635641 L 30.79248648,4.67635641 L 30.79141651,3.78486955 M 33.24163348,6.19526948 L 34.14789277,6.19526948 C 34.14789277,4.37167103 32.64566367,2.89338268 30.79248648,2.89338268 L 30.79248648,4.67635641 C 31.64417761,4.67635641 32.33537419,5.35682044 32.33537419,6.19526948 L 33.24163348,6.19526948 M 30.79141651,9.57050645 L 30.79141651,10.46199332 C 32.64566367,10.46199332 34.14789277,8.98370497 34.14789277,7.16010653 L 32.33537419,7.16010653 C 32.33537419,7.99855557 31.64417761,8.67901959 30.79248648,8.67901959 L 30.79141651,9.57050645 M 18.05349819,9.57050645 L 18.05349819,10.46199332 L 21.48380194,10.46199332 L 21.48380194,8.67901959 L 18.05349819,8.67901959 L 18.05349819,9.57050645 M 21.48380194,3.78486955 L 21.48380194,2.89338268 L 18.05349819,2.89338268 L 18.05349819,4.67635641 L 21.48380194,4.67635641 L 21.48380194,3.78486955 M 15.60435119,6.19526948 L 14.6980919,6.19526948 L 14.6980919,7.16010653 L 16.51061047,7.16010653 L 16.51061047,6.19526948 L 15.60435119,6.19526948 M 18.05456815,3.78486955 L 18.05456815,2.89338268 C 16.20032099,2.89338268 14.6980919,4.37167103 14.6980919,6.19526948 L 16.51061047,6.19526948 C 16.51061047,5.35682044 17.20180705,4.67635641 18.05349819,4.67635641 L 18.05456815,3.78486955 M 18.05456815,9.57050645 L 18.05456815,8.67901959 C 17.20180705,8.67901959 16.51061047,7.99855557 16.51061047,7.16010653 L 14.6980919,7.16010653 C 14.6980919,8.98370497 16.20032099,10.46199332 18.05349819,10.46199332 L 18.05456815,9.57050645 M 28.34226951,25.96370859 L 27.43601022,25.96370859 C 27.43601022,27.60223887 26.08785591,28.92931299 24.42299233,28.92931299 L 24.42299233,30.71228672 C 27.08720204,30.71228672 29.2485288,28.58625982 29.2485288,25.96370859 L 28.34226951,25.96370859 M 24.4240623,29.82079986 L 24.4240623,28.92931299 C 22.76026868,28.92931299 21.4110444,27.60223887 21.4110444,25.96370859 L 19.59852583,25.96370859 C 19.59852583,28.58625982 21.75985258,30.71341518 24.4240623,30.71341518 L 24.4240623,29.82079986 M 20.50478512,25.96370859 L 21.4110444,25.96370859 C 21.4110444,24.32630676 22.75919872,22.99810418 24.4240623,22.99810418 L 24.4240623,21.21513045 C 21.75985258,21.21513045 19.59852583,23.34115735 19.59852583,25.96370859 L 20.50478512,25.96370859 M 24.4240623,22.10661732 L 24.4240623,22.99810418 C 26.08785591,22.99810418 27.43708019,24.32630676 27.43708019,25.96370859 L 29.24959876,25.96370859 C 29.24959876,23.34115735 27.08827201,21.21513045 24.4240623,21.21513045 L 24.4240623,22.10661732 M 50.38994234,43.32174777 L 50.38994234,44.21323463 L 80.76621292,44.21323463 L 80.76621292,42.4302609 L 50.38994234,42.4302609 L 50.38994234,43.32174777 M 83.21642989,40.91134784 L 84.12161921,40.91134784 L 84.12161921,9.08865216 L 82.30910064,9.08865216 L 82.30910064,40.91134784 L 83.21642989,40.91134784 M 80.764073,6.67825223 L 80.764073,5.78676537 L 50.38780241,5.78676537 L 50.38780241,7.5697391 L 80.764073,7.5697391 L 80.764073,6.67825223 M 47.93758545,9.08865216 L 47.03239612,9.08865216 L 47.03239612,40.91134784 L 48.8449147,40.91134784 L 48.8449147,9.08865216 L 47.93758545,9.08865216 M 50.38780241,6.67825223 L 50.38780241,5.78676537 C 48.53462522,5.78676537 47.03239612,7.26505371 47.03239612,9.08865216 L 48.8449147,9.08865216 C 48.8449147,8.24907466 49.53611128,7.5697391 50.38780241,7.5697391 L 50.38780241,6.67825223 M 83.21428996,9.08865216 L 84.11947928,9.08865216 C 84.11947928,7.26505371 82.61725019,5.78563691 80.764073,5.78563691 L 80.764073,7.56861063 C 81.6168341,7.56861063 82.30803067,8.24907466 82.30803067,9.08865216 L 83.21428996,9.08865216 M 80.764073,43.32174777 L 80.764073,44.21323463 C 82.61725019,44.21323463 84.11947928,42.73494629 84.11947928,40.91134784 L 82.30910064,40.91134784 C 82.30910064,41.74979688 81.61790406,42.4302609 80.76514296,42.4302609 L 80.764073,43.32174777 M 50.38780241,43.32174777 L 50.38780241,42.4302609 C 49.53611128,42.4302609 48.8449147,41.74979688 48.8449147,40.91134784 L 47.03239612,40.91134784 C 47.03239612,42.73494629 48.53462522,44.21323463 50.38780241,44.21323463 L 50.38780241,43.32174777 M 53.81810616,11.49905209 L 53.81810616,12.39053895 L 77.33483921,12.39053895 L 77.33483921,10.60756523 L 53.8170362,10.60756523 L 53.81810616,11.49905209",viewW:90,viewH:50}};export{L as FURNITURE_ART_FINGERPRINT,M as GENERATED_FURNITURE_ART}; +globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="34d1dbfc181acaf58842dfced0e6aa3a899aef6b8d1eeba53732ef729a63137e";const L="34d1dbfc181acaf58842dfced0e6aa3a899aef6b8d1eeba53732ef729a63137e",M={coffee_table:{d:"M 0,2.4996674 C 0,1.11983275 1.11965812,0 2.5,0 L 117.5,0 C 118.88141026,0 120,1.11869239 120,2.4996674 L 120,57.49919225 C 120,58.88130761 118.88141026,60 117.5,60 L 2.5,60 C 1.11965812,60 0,58.88130761 0,57.5003326 L 0,2.4996674 M 106,13.00123539 L 106,6.99952485 M 106,6.99952487 A 1.00009503,1 90 0,1 106.29289321,6.29235088 A 1.00009503,1 90 0,1 106.99999999,5.99942982 M 107,5.99942982 L 113,5.99942982 A 1.00009503,1 90 0,1 113.70710678,6.29235087 A 1.00009503,1 90 0,1 114,6.99952485 L 114,13.00009503 M 114,13.00009502 A 1.00009503,1 90 0,1 113.70710679,13.707269 A 1.00009503,1 90 0,1 113.00000001,14.00019006 M 113,14.00019006 L 107,14.00019006 M 107,14.00019006 A 1.00009503,1 90 0,1 106.29289322,13.70726901 A 1.00009503,1 90 0,1 106,13.00009503 M 106,53.00161551 L 106,47.00104533 M 106,47.00104534 A 1.00009503,1 90 0,1 106.29289321,46.29387136 A 1.00009503,1 90 0,1 106.99999999,46.0009503 M 107,46.0009503 L 113,46.0009503 M 113,46.0009503 A 1.00009503,1 90 0,1 113.70710678,46.29387135 A 1.00009503,1 90 0,1 114,47.00104533 M 114,47.00104533 L 114,53.00161551 M 114,53.00161549 A 1.00009503,1 90 0,1 113.70710679,53.70878948 A 1.00009503,1 90 0,1 113.00000001,54.00171054 M 113,54.00171054 L 107,54.00171054 M 107,54.00171054 A 1.00009503,1 90 0,1 106.29289322,53.70878949 A 1.00009503,1 90 0,1 106,53.00161551 M 6,13.00123539 L 6,6.99952485 M 6,6.99952487 A 1.00009503,1 90 0,1 6.29289321,6.29235088 A 1.00009503,1 90 0,1 6.99999999,5.99942982 M 7,5.99942982 L 13,5.99942982 A 1.00009503,1 90 0,1 13.70710678,6.29235087 A 1.00009503,1 90 0,1 14,6.99952485 L 14,13.00009503 M 14,13.00009502 A 1.00009503,1 90 0,1 13.70710679,13.707269 A 1.00009503,1 90 0,1 13.00000001,14.00019006 M 13,14.00019006 L 7,14.00019006 A 1.00009503,1 90 0,1 6.29289322,13.70726901 A 1.00009503,1 90 0,1 6,13.00009503 M 6,53.00161551 L 6,47.00104533 M 6,47.00104533 A 1.00009503,1 90 0,1 6.29289322,46.29387135 A 1.00009503,1 90 0,1 7,46.0009503 M 7,46.0009503 L 13,46.0009503 M 13,46.0009503 A 1.00009503,1 90 0,1 13.70710678,46.29387135 A 1.00009503,1 90 0,1 14,47.00104533 M 14,47.00104533 L 14,53.00161551 A 1.00009503,1 90 0,1 13.70710678,53.70878949 A 1.00009503,1 90 0,1 13,54.00171054 M 13,54.00171054 L 7,54.00171054 M 7,54.00171054 A 1.00009503,1 90 0,1 6.29289322,53.70878949 A 1.00009503,1 90 0,1 6,53.00161551",viewW:120,viewH:60},coffee_table_round:{d:"M 0,40 A 40,40 0 0,0 40,80 A 40,40 0 0,0 80,40 A 40,40 0 0,0 40,0 A 40,40 0 0,0 0,40 M 57.94949634,25.60507796 L 53.70718918,21.3627708 A 1.00013799,1.00013799 0 0,1 53.70718918,19.94977232 L 57.94949634,15.70636125 A 1.00013799,1.00013799 0 0,1 59.36359873,15.70636125 L 63.6070098,19.94866841 A 1.00013799,1.00013799 0 0,1 63.6070098,21.3627708 L 59.36359873,25.60618187 A 1.00013799,1.00013799 0 0,1 57.95060025,25.60618187 M 57.94949634,63.86753139 L 53.70718918,59.62522423 A 1.00013799,1.00013799 0 0,1 53.70718918,58.21112184 L 57.94949634,53.96771078 A 1.00013799,1.00013799 0 0,1 59.36359873,53.96771078 L 63.60590589,58.21112184 A 1.00013799,1.00013799 0 0,1 63.60590589,59.62412033 L 59.36359873,63.86753139 A 1.00013799,1.00013799 0 0,1 57.94949634,63.86753139 M 19.94977232,25.60618187 L 15.70746516,21.36387471 A 1.00013799,1.00013799 0 0,1 15.70746516,19.94977232 L 19.94977232,15.70636125 A 1.00013799,1.00013799 0 0,1 21.36387471,15.70636125 L 25.60728577,19.94977232 A 1.00013799,1.00013799 0 0,1 25.60728577,21.3627708 L 21.36387471,25.60618187 A 1.00013799,1.00013799 0 0,1 19.95087622,25.60618187 M 19.94977232,63.86753139 L 15.70746516,59.62522423 A 1.00013799,1.00013799 0 0,1 15.70746516,58.21112184 L 19.94977232,53.96881468 A 1.00013799,1.00013799 0 0,1 21.36387471,53.96881468 L 25.60728577,58.21112184 A 1.00013799,1.00013799 0 0,1 25.60728577,59.62522423 L 21.36387471,63.86753139 A 1.00013799,1.00013799 0 0,1 19.95087622,63.86753139",viewW:80,viewH:80},coffee_table_oval:{d:"M 0,30.00057018 C 0,13.43115081 13.43162393,0 30,0 L 90,0 C 106.56944444,0 120,13.43115081 120,30.00057018 C 120,46.56998955 106.56944444,60 90,60 L 30,60 C 13.43162393,60 0,46.56998955 0,30.00057018 M 82,13.00123539 L 82,6.99952485 M 82,6.99952487 A 1.00009503,1 90 0,1 82.29289321,6.29235088 A 1.00009503,1 90 0,1 82.99999999,5.99942982 M 83,5.99942982 L 89,5.99942982 A 1.00009503,1 90 0,1 89.70710678,6.29235087 A 1.00009503,1 90 0,1 90,6.99952485 L 90,13.00009503 M 90,13.00009502 A 1.00009503,1 90 0,1 89.70710679,13.707269 A 1.00009503,1 90 0,1 89.00000001,14.00019006 M 89,14.00019006 L 83,14.00019006 M 83,14.00019006 A 1.00009503,1 90 0,1 82.29289322,13.70726901 A 1.00009503,1 90 0,1 82,13.00009503 M 82,53.00047515 L 82,46.99990497 M 82,46.99990498 A 1.00009503,1 90 0,1 82.29289321,46.292731 A 1.00009503,1 90 0,1 82.99999999,45.99980994 M 83,45.99980994 L 89,45.99980994 M 89,45.99980994 A 1.00009503,1 90 0,1 89.70710678,46.29273099 A 1.00009503,1 90 0,1 90,46.99990497 M 90,46.99990497 L 90,53.00047515 M 90,53.00047513 A 1.00009503,1 90 0,1 89.70710679,53.70764912 A 1.00009503,1 90 0,1 89.00000001,54.00057018 M 89,54.00057018 L 83,54.00057018 M 83,54.00057018 A 1.00009503,1 90 0,1 82.29289322,53.70764913 A 1.00009503,1 90 0,1 82,53.00047515 M 30,13.00123539 L 30,6.99952485 M 30,6.99952487 A 1.00009503,1 90 0,1 30.29289321,6.29235088 A 1.00009503,1 90 0,1 30.99999999,5.99942982 M 31,5.99942982 L 37,5.99942982 M 37,5.99942982 A 1.00009503,1 90 0,1 37.70710678,6.29235087 A 1.00009503,1 90 0,1 38,6.99952485 L 38,13.00009503 A 1.00009503,1 90 0,1 37,13.9990497 L 31,13.9990497 A 1.00009503,1 90 0,1 30,13.00009503 M 30,53.00047515 L 30,46.99990497 M 30,46.99990497 A 1.00009503,1 90 0,1 30.29289322,46.29273099 A 1.00009503,1 90 0,1 31,45.99980994 M 31,45.99980994 L 37,45.99980994 M 37,45.99980994 A 1.00009503,1 90 0,1 37.70710678,46.29273099 A 1.00009503,1 90 0,1 38,46.99990497 M 38,46.99990497 L 38,53.00047515 A 1.00009503,1 90 0,1 37,53.99942982 L 31,53.99942982 A 1.00009503,1 90 0,1 30,53.00047515",viewW:120,viewH:60},coffee_table_rounded:{d:"M 0,10.00057016 C 0,4.47802041 4.47649573,0 10,0 L 110,0 C 115.52350427,0 120,4.47802041 120,10.00057016 L 120,49.99942984 C 120,55.52197959 115.52350427,60 110,60 L 10,60 C 4.47649573,60 0,55.52197959 0,49.99942984 L 0,10.00057016 M 106,13.00188152 L 106,7.00039911 M 106,7.00039913 A 1.00005702,1 90 0,1 106.29289321,6.29325202 A 1.00005702,1 90 0,1 106.99999999,6.00034209 M 107,6.00034209 L 113,6.00034209 A 1.00005702,1 90 0,1 113.70710678,6.29325201 A 1.00005702,1 90 0,1 114,7.00039911 L 114,13.00074121 M 114,13.00074119 A 1.00005702,1 90 0,1 113.70710679,13.70788829 A 1.00005702,1 90 0,1 113.00000001,14.00079822 M 113,14.00079822 L 107,14.00079822 M 107,14.00079822 A 1.00005702,1 90 0,1 106.29289322,13.7078883 A 1.00005702,1 90 0,1 106,13.00074121 M 106,53.00074121 L 106,47.00039911 M 106,47.00039913 A 1.00005702,1 90 0,1 106.29289321,46.29325202 A 1.00005702,1 90 0,1 106.99999999,46.00034209 M 107,46.00034209 L 113,46.00034209 M 113,46.00034209 A 1.00005702,1 90 0,1 113.70710678,46.29325201 A 1.00005702,1 90 0,1 114,47.00039911 M 114,47.00039911 L 114,53.00074121 M 114,53.00074119 A 1.00005702,1 90 0,1 113.70710679,53.70788829 A 1.00005702,1 90 0,1 113.00000001,54.00079822 M 113,54.00079822 L 107,54.00079822 M 107,54.00079822 A 1.00005702,1 90 0,1 106.29289322,53.7078883 A 1.00005702,1 90 0,1 106,53.00074121 M 6,13.00188152 L 6,7.00039911 M 6,7.00039913 A 1.00005702,1 90 0,1 6.29289321,6.29325202 A 1.00005702,1 90 0,1 6.99999999,6.00034209 M 7,6.00034209 L 13,6.00034209 A 1.00005702,1 90 0,1 13.70710678,6.29325201 A 1.00005702,1 90 0,1 14,7.00039911 L 14,13.00074121 M 14,13.00074119 A 1.00005702,1 90 0,1 13.70710679,13.70788829 A 1.00005702,1 90 0,1 13.00000001,14.00079822 M 13,14.00079822 L 7,14.00079822 M 7,14.00079822 A 1.00005702,1 90 0,1 6.29289322,13.7078883 A 1.00005702,1 90 0,1 6,13.00074121 M 6,53.00074121 L 6,47.00039911 M 6,47.00039911 A 1.00005702,1 90 0,1 6.29289322,46.29325201 A 1.00005702,1 90 0,1 7,46.00034209 M 7,46.00034209 L 13,46.00034209 M 13,46.00034209 A 1.00005702,1 90 0,1 13.70710678,46.29325201 A 1.00005702,1 90 0,1 14,47.00039911 M 14,47.00039911 L 14,53.00074121 M 14,53.00074121 A 1.00005702,1 90 0,1 13.70710678,53.7078883 A 1.00005702,1 90 0,1 13,54.00079822 M 13,54.00079822 L 7,54.00079822 M 7,54.00079822 A 1.00005702,1 90 0,1 6.29289322,53.7078883 A 1.00005702,1 90 0,1 6,53.00074121",viewW:120,viewH:60},table_dining:{d:"M 0,2.50060665 C 0,1.11926717 1.11927063,0 2.49917894,0 L 157.49871914,0 C 158.87967841,0 160,1.11926717 160,2.50060665 L 160,87.49939335 C 160,88.88073283 158.87967841,90 157.49871914,90 L 2.49917894,90 C 1.11927063,90 0,88.88073283 0,87.49939335 L 0,2.50060665 M 142.00023647,16.99975734 L 142.00023647,10.99939335 A 1.00051234,1.00024266 0 0,1 142.99969785,10.00024266 L 149.00066999,10.00024266 A 1.00051234,1.00024266 0 0,1 149.99908041,10.99939335 L 149.99908041,16.99975734 A 1.00051234,1.00024266 0 0,1 149.00066999,18 L 142.99969785,18 A 1.00051234,1.00024266 0 0,1 142.00023647,16.99975734 M 141.99918551,78.99951468 L 141.99918551,72.99915069 A 1.00051234,1.00024266 0 0,1 142.99969785,72 L 148.99961903,72 A 1.00051234,1.00024266 0 0,1 149.99908041,72.99915069 L 149.99908041,78.99951468 A 1.00051234,1.00024266 0 0,1 148.99961903,79.99975734 L 142.99864689,79.99975734 A 1.00051234,1.00024266 0 0,1 142.00023647,78.99951468 M 9.99986863,16.99975734 L 9.99986863,10.99939335 A 1.00051234,1.00024266 0 0,1 10.99933001,9.99915069 L 17.00030215,9.99915069 A 1.00051234,1.00024266 0 0,1 17.99871258,10.99939335 L 17.99871258,16.99975734 A 1.00051234,1.00024266 0 0,1 17.00030215,17.99890803 L 10.99933001,17.99890803 A 1.00051234,1.00024266 0 0,1 9.99986863,16.99975734 M 9.99881767,79.00060665 L 9.99881767,73.00024266 A 1.00051234,1.00024266 0 0,1 10.99933001,72 L 16.99925119,72 A 1.00051234,1.00024266 0 0,1 17.99871258,73.00024266 L 17.99871258,79.00060665 A 1.00051234,1.00024266 0 0,1 16.99925119,79.99975734 L 10.99827906,79.99975734 A 1.00051234,1.00024266 0 0,1 9.99986863,79.00060665",viewW:160,viewH:90},table_round:{d:"M 0,55 A 55,55 90 0,0 55,110 A 55,55 90 0,0 110,55 A 55,55 90 0,0 55,0 A 55,55 90 0,0 0,55 M 82.94844112,30.60630783 L 78.70638697,26.36425368 A 0.99952125,0.99952125 90 0,1 78.41321383,25.65706553 A 0.99952125,0.99952125 90 0,1 78.70638697,24.94987738 M 78.70638697,24.94987738 L 82.94844112,20.70674848 A 0.99952125,0.99952125 90 0,1 83.65562927,20.41357533 A 0.99952125,0.99952125 90 0,1 84.36281742,20.70674848 L 88.60594632,24.94987738 M 88.60594632,24.94987738 A 0.99952125,0.99952125 90 0,1 88.89911946,25.65706553 A 0.99952125,0.99952125 90 0,1 88.60594632,26.36425368 L 84.36281742,30.60630783 A 0.99952125,0.99952125 90 0,1 83.65562927,30.89948097 A 0.99952125,0.99952125 90 0,1 82.94844112,30.60630783 M 82.94844112,89.6070797 L 78.70638697,85.3639508 A 0.99952125,0.99952125 90 0,1 78.41321383,84.65676265 A 0.99952125,0.99952125 90 0,1 78.70638697,83.9495745 L 82.94844112,79.70752035 A 0.99952125,0.99952125 90 0,1 83.65562927,79.4143472 A 0.99952125,0.99952125 90 0,1 84.36281742,79.70752035 L 88.60594632,83.9495745 A 0.99952125,0.99952125 90 0,1 88.89911946,84.65676265 A 0.99952125,0.99952125 90 0,1 88.60594632,85.3639508 L 84.36174266,89.6070797 A 0.99952125,0.99952125 90 0,1 83.65455451,89.90025284 A 0.99952125,0.99952125 90 0,1 82.94736636,89.6070797 M 24.94934,30.60738258 L 20.70728586,26.36425368 A 0.99952125,0.99952125 90 0,1 20.70728586,24.95095213 L 24.95041476,20.70782323 A 0.99952125,0.99952125 90 0,1 26.3637163,20.70782323 L 30.60684521,24.95095213 A 0.99952125,0.99952125 90 0,1 30.60684521,26.36425368 L 26.3637163,30.60738258 A 0.99952125,0.99952125 90 0,1 24.95041476,30.60738258 M 24.94934,89.29325152 L 20.70728586,85.05012262 A 0.99952125,0.99952125 90 0,1 20.41411271,84.34293447 A 0.99952125,0.99952125 90 0,1 20.70728586,83.63574632 L 24.95041476,79.39369217 A 0.99952125,0.99952125 90 0,1 26.3637163,79.39369217 L 30.60684521,83.63574632 A 0.99952125,0.99952125 90 0,1 30.90001835,84.34293447 A 0.99952125,0.99952125 90 0,1 30.60684521,85.05012262 L 26.3637163,89.29325152 A 0.99952125,0.99952125 90 0,1 24.95041476,89.29325152",viewW:110,viewH:110},table_dining_oval:{d:"M 0,50 C 0,22.38579779 22.38594332,0 49.99994193,0 L 129.99901287,0 C 157.61301149,0 180,22.38579779 180,50 C 180,77.61420221 157.61301149,100 129.99901287,100 L 49.99994193,100 C 22.38594332,100 0,77.61420221 0,50 M 123.99960515,16.99935051 L 123.99960515,10.99805153 A 1.00024968,1.0002165 0 0,1 124.99880964,9.99783503 L 130.99821737,9.99783503 M 130.99821737,9.99783503 A 1.00024968,1.0002165 0 0,1 131.70617646,10.29042188 A 1.00024968,1.0002165 0 0,1 131.99951224,10.99805153 M 131.99951224,10.99805153 L 131.99951224,16.99826802 A 1.00024968,1.0002165 0 0,1 130.99926256,17.99848452 L 124.99985483,17.99848452 A 1.00024968,1.0002165 0 0,1 124.29189574,17.70589767 A 1.00024968,1.0002165 0 0,1 123.99855996,16.99826802 M 123.99960515,89.00086599 L 123.99960515,83.00064949 M 123.99960515,83.00064951 A 1.00024968,1.0002165 0 0,1 124.29257149,82.29338963 A 1.00024968,1.0002165 0 0,1 124.99985482,82.00043299 M 124.99985483,82.00043299 L 130.99926256,82.00043299 A 1.00024968,1.0002165 0 0,1 131.70654589,82.29338962 A 1.00024968,1.0002165 0 0,1 131.99951224,83.00064949 L 131.99951224,89.00086599 M 131.99951224,89.00086597 A 1.00024968,1.0002165 0 0,1 131.7065459,89.70812585 A 1.00024968,1.0002165 0 0,1 130.99926257,90.00108249 M 130.99926256,90.00108249 L 124.99985483,90.00108249 A 1.00024968,1.0002165 0 0,1 124.2925715,89.70812586 A 1.00024968,1.0002165 0 0,1 123.99960515,89.00086599 M 47.99944256,17.00043299 L 47.99944256,11.0002165 M 47.99944256,11.00021648 A 1.00024968,1.0002165 0 0,1 48.29240892,10.29295662 A 1.00024968,1.0002165 0 0,1 48.99969226,10 M 48.99969225,10 L 54.99909997,10 A 1.00024968,1.0002165 0 0,1 55.70705907,10.29258685 A 1.00024968,1.0002165 0 0,1 56.00039485,11.0002165 L 56.00039485,16.99935051 M 56.00039485,16.99935052 A 1.00024968,1.0002165 0 0,1 55.70742849,17.70661039 A 1.00024968,1.0002165 0 0,1 55.00014515,17.99956701 M 55.00014517,17.99956701 L 49.00073744,17.99956701 A 1.00024968,1.0002165 0 0,1 48.29277835,17.70698015 A 1.00024968,1.0002165 0 0,1 47.99944256,16.99935051 M 47.99944256,89.00194847 L 47.99944256,83.00173198 M 47.99944256,83.00173199 A 1.00024968,1.0002165 0 0,1 48.2924089,82.29447212 A 1.00024968,1.0002165 0 0,1 48.99969223,82.00151548 M 48.99969225,82.00151548 L 54.99909997,82.00151548 A 1.00024968,1.0002165 0 0,1 55.70638331,82.29447211 A 1.00024968,1.0002165 0 0,1 55.99934966,83.00173198 L 55.99934966,89.00194847 A 1.00024968,1.0002165 0 0,1 54.99909997,90.00108249 L 48.99969225,90.00108249 M 48.99969225,90.00108249 A 1.00024968,1.0002165 0 0,1 48.29240891,89.70812586 A 1.00024968,1.0002165 0 0,1 47.99944256,89.00086599",viewW:180,viewH:100},table_dining_rounded:{d:"M 0,15.00018199 C 0,6.71552153 6.71566792,0 14.99937599,0 L 144.99957305,0 C 153.28433208,0 160,6.71552153 160,15.00018199 L 160,74.99981801 C 160,83.28447847 153.28433208,90 144.99957305,90 L 14.99937599,90 C 6.71566792,90 0,83.28447847 0,74.99981801 L 0,15.00018199 M 142.0011692,16.99955109 L 142.0011692,10.9992599 A 1.00051891,1.00023052 0 0,1 143.00063715,10.00012133 L 149.0016487,10.00012133 A 1.00051891,1.00023052 0 0,1 150.00006569,10.9992599 L 150.00006569,16.99955109 A 1.00051891,1.00023052 0 0,1 149.0016487,17.99978161 L 143.00063715,17.99978161 A 1.00051891,1.00023052 0 0,1 142.0011692,16.99955109 M 142.00011823,78.99855619 L 142.00011823,72.99826501 A 1.00051891,1.00023052 0 0,1 143.00063715,71.99912644 L 149.00059774,71.99912644 A 1.00051891,1.00023052 0 0,1 150.00006569,72.99826501 L 150.00006569,78.99855619 A 1.00051891,1.00023052 0 0,1 149.00059774,79.99878672 L 142.99958618,79.99878672 A 1.00051891,1.00023052 0 0,1 142.0011692,78.99855619 M 9.99993431,16.99955109 L 9.99993431,10.9992599 A 1.00051891,1.00023052 0 0,1 10.99940226,9.99902937 L 17.00041382,9.99902937 A 1.00051891,1.00023052 0 0,1 17.9988308,10.9992599 L 17.9988308,16.99955109 A 1.00051891,1.00023052 0 0,1 17.00041382,17.99868965 L 10.99940226,17.99868965 A 1.00051891,1.00023052 0 0,1 9.99993431,16.99955109 M 9.99888335,78.99964815 L 9.99888335,72.99935696 A 1.00051891,1.00023052 0 0,1 10.99940226,71.99912644 L 16.99936285,71.99912644 A 1.00051891,1.00023052 0 0,1 17.9988308,72.99935696 L 17.9988308,78.99964815 A 1.00051891,1.00023052 0 0,1 16.99936285,79.99878672 L 10.9983513,79.99878672 A 1.00051891,1.00023052 0 0,1 9.99993431,78.99964815",viewW:160,viewH:90},desk:{d:"M 0,2.5007596 C 0,1.11940895 1.11872146,0 2.4999244,0 L 137.5000756,0 C 138.88127854,0 140,1.11940895 140,2.5007596 L 140,67.50035981 C 140,68.88171046 138.88127854,70 137.5000756,70 L 2.4999244,70 C 1.11872146,70 0,68.88059105 0,67.50035981 L 0,2.5007596 M 6.00003024,12.99969616 L 6.00003024,6.99966418 A 1.00018144,0.99963219 0 0,1 6.2929766,6.29281747 A 1.00018144,0.99963219 0 0,1 7.00021168,6.00003198 L 13.00130031,6.00003198 A 1.00018144,0.99963219 0 0,1 14.00042336,6.99966418 L 14.00042336,12.99969616 M 14.00042336,12.99969616 A 1.00018144,0.99963219 0 0,1 13.70787328,13.70726661 A 1.00018144,0.99963219 0 0,1 13.00024192,14.00044776 M 13.00024192,14.00044776 L 7.00021168,14.00044776 A 1.00018144,0.99963219 0 0,1 6.29258032,13.70726661 A 1.00018144,0.99963219 0 0,1 6.00003024,12.99969616 M 125.99957664,13.00081557 L 125.99957664,7.00078359 M 125.99957664,7.00078359 A 1.00018144,0.99963219 0 0,1 126.29212672,6.29321313 A 1.00018144,0.99963219 0 0,1 126.99975808,6.00003198 L 133.00084671,6.00003198 M 133.00084671,6.00003198 A 1.00018144,0.99963219 0 0,1 133.70779377,6.29358707 A 1.00018144,0.99963219 0 0,1 133.99996976,7.00078359 M 133.99996976,7.00078359 L 133.99996976,13.00081557 A 1.00018144,0.99963219 0 0,1 132.99978832,14.00044776 L 126.99975808,14.00044776 A 1.00018144,0.99963219 0 0,1 125.99957664,13.00081557 M 5.99897185,63.00033582 L 5.99897185,57.00030384 M 5.99897185,57.00030384 A 1.00018144,0.99963219 0 0,1 6.29229231,56.29308288 A 1.00018144,0.99963219 0 0,1 7.00021168,56.00067165 M 7.00021168,56.00067165 L 13.00024192,56.00067165 A 1.00018144,0.99963219 0 0,1 13.707477,56.29345714 A 1.00018144,0.99963219 0 0,1 14.00042336,57.00030384 L 14.00042336,63.00033582 M 14.00042336,63.00033582 A 1.00018144,0.99963219 0 0,1 13.70787328,63.70790627 A 1.00018144,0.99963219 0 0,1 13.00024192,64.00108743 M 13.00024192,64.00108743 L 6.99915329,64.00108743 M 6.99915329,64.00108743 A 1.00018144,0.99963219 0 0,1 6.29220623,63.70753234 A 1.00018144,0.99963219 0 0,1 6.00003024,63.00033582 M 126.00063504,63.00145523 L 126.00063504,57.00142325 M 126.00063504,57.00142325 A 1.00018144,0.99963219 0 0,1 126.29318511,56.2938528 A 1.00018144,0.99963219 0 0,1 127.00081647,56.00067165 L 133.00084671,56.00067165 A 1.00018144,0.99963219 0 0,1 133.70847808,56.2938528 A 1.00018144,0.99963219 0 0,1 134.00102815,57.00142325 L 134.00102815,63.00145523 A 1.00018144,0.99963219 0 0,1 133.00084671,64.00108743 L 126.99975808,64.00108743 A 1.00018144,0.99963219 0 0,1 126.00063504,63.00145523 M 22.99993952,60.00031983 L 117.00006048,60.00031983",viewW:140,viewH:70},desk_corner:{d:"M 159.99894904,65.49825605 A 2.50129729,2.50128086 90 0,1 157.49871914,67.99955334 L 94.99927747,67.99955334 C 81.19178676,67.99955334 69.99908041,79.19233321 69.99908041,92.99886364 L 69.99908041,157.49870271 A 2.50129729,2.50128086 90 0,1 67.49885051,160 L 2.49917894,160 A 2.50129729,2.50128086 90 0,1 0,157.49870271 L 0,2.49814439 A 2.50129729,2.50128086 90 0,1 2.49917894,0 L 157.49871914,0 A 2.50129729,2.50128086 90 0,1 160,2.49919535 L 159.99894904,65.49825605 M 5.99992118,12.99938913 L 5.99992118,6.99837757 M 5.99992118,6.99837757 A 0.99841698,0.99841043 90 0,1 6.29272029,6.29201832 A 0.99841698,0.99841043 90 0,1 6.99938256,5.99996059 M 6.99938256,5.99996059 L 13.0003547,5.99996059 A 0.99841698,0.99841043 90 0,1 13.99876512,6.99837757 L 13.99876512,12.99938913 M 13.99876512,12.99938913 A 0.99841698,0.99841043 90 0,1 13.70670931,13.70605604 A 0.99841698,0.99841043 90 0,1 13.0003547,13.99885708 M 13.0003547,13.99885708 L 6.99938256,13.99885708 A 0.99841698,0.99841043 90 0,1 6.29234827,13.70642806 A 0.99841698,0.99841043 90 0,1 5.99992118,12.99938913 M 146.00018392,13.00044009 L 146.00018392,6.99942854 M 146.00018392,6.99942854 A 0.99841698,0.99841043 90 0,1 146.29261101,6.2923896 A 0.99841698,0.99841043 90 0,1 146.9996453,5.99996059 M 146.9996453,5.99996059 L 153.00061744,5.99996059 A 0.99841698,0.99841043 90 0,1 153.70697205,6.29276163 A 0.99841698,0.99841043 90 0,1 153.99902786,6.99942854 L 153.99902786,13.00044009 M 153.99902786,13.00044009 A 0.99841698,0.99841043 90 0,1 153.70697205,13.707107 A 0.99841698,0.99841043 90 0,1 153.00061744,13.99990804 L 146.9996453,13.99990804 A 0.99841698,0.99841043 90 0,1 146.29261101,13.70747903 A 0.99841698,0.99841043 90 0,1 146.00018392,13.00044009 M 146.00018392,61.0001248 L 146.00018392,54.99911325 M 146.00018392,54.99911325 A 0.99841698,0.99841043 90 0,1 146.29298209,54.29170176 A 0.99841698,0.99841043 90 0,1 147.00069626,53.9996453 M 147.00069626,53.9996453 L 153.00061744,53.9996453 M 153.00061744,53.9996453 A 0.99841698,0.99841043 90 0,1 153.70765173,54.29207431 A 0.99841698,0.99841043 90 0,1 154.00007882,54.99911325 L 154.00007882,61.0001248 M 154.00007882,61.0001248 A 0.99841698,0.99841043 90 0,1 153.70765173,61.70716374 A 0.99841698,0.99841043 90 0,1 153.00061744,61.99959275 M 153.00061744,61.99959275 L 146.9996453,61.99959275 A 0.99841698,0.99841043 90 0,1 146.29329069,61.70679171 A 0.99841698,0.99841043 90 0,1 146.00123488,61.0001248 M 5.99887022,152.9995205 L 5.99887022,147.00061087 M 5.99887022,147.00061087 A 0.99841698,0.99841043 90 0,1 6.29129565,146.29251931 A 0.99841698,0.99841043 90 0,1 6.99938256,146.00009196 M 6.99938256,146.00009196 L 12.99930374,146.00009196 A 0.99841698,0.99841043 90 0,1 13.70671058,146.29289205 A 0.99841698,0.99841043 90 0,1 13.99876512,147.00061087 L 13.99876512,153.00057146 M 13.99876512,153.00057146 A 0.99841698,0.99841043 90 0,1 13.70633803,153.7076104 A 0.99841698,0.99841043 90 0,1 12.99930374,154.00003941 M 12.99930374,154.00003941 L 6.9983316,154.00003941 A 0.99841698,0.99841043 90 0,1 6.29129731,153.7076104 A 0.99841698,0.99841043 90 0,1 5.99887022,153.00057146 M 55.99926433,153.00057146 L 55.99926433,147.00061087 M 55.99926433,147.00061087 A 0.99841698,0.99841043 90 0,1 56.2920625,146.29319939 A 0.99841698,0.99841043 90 0,1 56.99977667,146.00114292 M 56.99977667,146.00114292 L 62.99969785,146.00114292 A 0.99841698,0.99841043 90 0,1 63.70673214,146.29357194 A 0.99841698,0.99841043 90 0,1 63.99915923,147.00061087 L 63.99915923,153.00162243 M 63.99915923,153.00162243 A 0.99841698,0.99841043 90 0,1 63.70636012,153.70798168 A 0.99841698,0.99841043 90 0,1 62.99969785,154.00003941 M 62.99969785,154.00003941 L 56.99872571,154.00003941 M 56.99872571,154.00003941 A 0.99841698,0.99841043 90 0,1 56.29206344,153.70798168 A 0.99841698,0.99841043 90 0,1 55.99926433,153.00162243 M 109.99960589,57.99856806 L 96.36237044,57.99856806 A 36.36339751,36.36315866 90 0,0 70.64973437,68.6491606 A 36.36339751,36.36315866 90 0,0 59.99921178,94.36196557 L 59.99921178,107.9992906",viewW:160,viewH:160},chair:{d:"M 41.91143767,10.29325717 L 8.08739211,10.29325717 A 5.14662859,5.14662858 90 0,1 2.94076353,5.14662859 A 5.14662859,5.14662858 90 0,1 8.08739211,0 L 41.91143767,0 A 5.14662859,5.14662858 90 0,1 47.05806625,5.14662859 A 5.14662859,5.14662858 90 0,1 41.91143767,10.29325717 M 8.08739211,10.29325717 L 5.14662867,10.29325717 A 5.14896903,5.14896902 90 0,0 0.00000009,15.44105598 L 0.00000009,42.64633596 M 0.00000009,42.64633596 A 7.35249373,7.35249371 90 0,0 2.15308186,47.84609063 A 7.35249373,7.35249371 90 0,0 7.35249381,49.99999991 M 7.35249381,49.99999991 L 42.64633597,49.99999991 M 42.64633597,49.99999991 A 7.35249373,7.35249371 90 0,0 47.84650445,47.84650445 A 7.35249373,7.35249371 90 0,0 49.99999991,42.64633596 M 49.99999991,42.64633596 L 49.99999991,15.44105598 C 49.99999991,12.59742081 47.69466605,10.29325717 44.85220111,10.29325717 L 41.91143767,10.29325717",viewW:50,viewH:50},chair_bar:{d:"M 41.6420124,15.95288922 C 43.22061234,18.92793522 43.95991141,23.03717335 43.95991141,26.63643725 C 43.95991141,38.43533309 34.35259503,48 22.5011905,48 C 10.64978597,48 1.04127909,38.43533309 1.04127909,26.63643725 C 1.04127909,23.03717335 1.73891074,18.91969084 3.31751068,15.94464483 M 41.6420124,15.95288922 A 4.27388672,4.22819286 0 0,1 37.67408359,14.80338609 M 41.6420124,15.95288922 A 4.28579169,4.23997056 0 0,0 43.74324083,14.80338609 M 3.47227538,15.97644461 L 3.31751068,15.94464483 A 4.28579169,4.23997056 0 0,1 1.25675917,14.80338609 M 37.67408359,14.80338609 A 21.42895847,21.19985278 0 0,0 30.71205308,10.17239603 A 21.34562363,21.11740891 0 0,0 14.28794692,10.17239603 A 21.42895847,21.19985278 0 0,0 7.32591641,14.80338609 A 4.27388672,4.22819286 0 0,1 3.47227538,15.97644461 M 37.67408359,14.80338609 A 4.27388672,4.22819286 0 0,0 40.70866221,16.0541972 A 4.27388672,4.22819286 0 0,0 43.74324083,14.80338609 M 3.47227538,15.97644461 A 4.28579169,4.23997056 0 0,1 1.25675917,14.80338609 A 4.33817359,4.29179242 0 0,1 1.25675917,8.76142805 A 30.00054185,29.67979389 0 0,1 11.00336378,2.2778064 A 29.88149208,29.56201693 0 0,1 22.5,0 A 29.88149208,29.56201693 0 0,1 33.99663622,2.2778064 A 30.00054185,29.67979389 0 0,1 43.74324083,8.76142805 A 4.33817359,4.29179242 0 0,1 43.74324083,14.80338609",viewW:45,viewH:48},armchair:{d:"M 78.52464784,10.06903664 Q 78.5377513,9.82334385 78.5377513,9.57437515 C 78.5377513,4.28597428 74.26056466,0 68.98533141,0 L 21.01357664,0 C 15.73943534,0 11.4622487,4.28597428 11.4622487,9.57437515 Q 11.4622487,9.82334385 11.4742602,10.06903664 M 80.08614309,74.58141228 Q 80.73039638,74.68078136 81.40304049,74.68187333 C 86.15085961,74.68187333 90,70.8239505 90,66.06406212 L 90,18.19218636 C 90,13.43229799 86.15085961,9.57437515 81.40304049,9.57437515 C 80.39407433,9.57437515 79.42441853,9.74909003 78.52464784,10.06903664 A 8.61562727,8.61552274 90 0,0 72.80608097,18.19109439 L 72.80608097,18.35270565 A 9.50012133,9.50000607 90 0,1 68.98533141,19.14984227 L 21.01357664,19.14984227 A 9.50012133,9.50000607 90 0,1 17.19282707,18.35270565 M 72.80608097,18.35270565 L 72.80608097,66.06406212 A 8.61562727,8.61552274 90 0,0 80.08614309,74.58141228 M 11.4742602,10.06794467 A 8.61562727,8.61552274 90 0,1 17.19282707,18.19000243 L 17.19282707,18.35161369 L 17.19282707,66.06406212 A 8.61562727,8.61552274 90 0,1 9.91385691,74.58141228 Q 9.26960362,74.68078136 8.59695951,74.68187333 C 3.84914039,74.68187333 0,70.8239505 0,66.06406212 L 0,18.19218636 C 0,13.43229799 3.84914039,9.57437515 8.59695951,9.57437515 C 9.60592567,9.57437515 10.57448951,9.74909003 11.4742602,10.06903664 M 80.08614309,74.58141228 C 78.35539486,83.37175443 70.62217153,90 61.34383228,90 L 28.65507577,90 C 19.37782847,90 11.64460514,83.37175443 9.91385691,74.58141228",viewW:90,viewH:90},armchair_office:{d:"M 60.12480149,17.08328496 Q 60.12480149,16.66780357 60.06834946,16.27038659 M 51.18618701,11.38735127 L 13.81381391,11.38735127 A 5.69036465,5.69028856 0 0,1 9.79038036,9.71870864 A 5.69036465,5.69028856 0 0,1 8.12570733,5.69367564 M 8.12570733,5.69367564 A 5.69036465,5.69028856 0 0,1 9.79038036,1.66864264 A 5.69036465,5.69028856 0 0,1 13.81381391,0 M 13.81381391,0 L 51.18844509,0 M 51.18844509,0 A 5.69036465,5.69028856 0 0,1 55.21187864,1.66864264 A 5.69036465,5.69028856 0 0,1 56.87655166,5.69367564 M 56.87655166,5.69367564 A 5.69036465,5.69028856 0 0,1 55.21187864,9.71870864 A 5.69036465,5.69028856 0 0,1 51.18844509,11.38735127 M 13.81381391,11.38735127 L 10.56217696,11.38735127 A 5.69036465,5.69028856 0 0,0 4.9327805,16.26812854 M 51.18731605,11.38735127 L 54.43782395,11.38735127 A 5.69036465,5.69028856 0 0,1 60.06722042,16.26925757 M 60.12480149,44.29844483 A 4.87745542,4.87739019 0 0,0 63.57342145,42.86789464 A 4.87745542,4.87739019 0 0,0 64.99999882,39.41766756 M 64.99999882,39.41766756 L 64.99999882,21.15003484 M 64.99999882,21.15003484 A 4.87745542,4.87739019 0 0,0 63.55272454,17.68002711 A 4.87745542,4.87739019 0 0,0 60.06722042,16.27038659 M 60.12480149,44.29957385 A 4.87745542,4.87739019 0 0,1 56.67618152,42.86902366 A 4.87745542,4.87739019 0 0,1 55.24960415,39.41879658 M 55.24960415,39.41879658 L 55.24960415,21.15003484 A 4.87745542,4.87739019 0 0,1 60.06722042,16.27038659 M 46.69937964,58.31529651 L 52.00022529,58.31529651 C 52.83119917,58.31529651 53.632818,58.18997468 54.38814617,57.95739542 A 8.14038277,8.14027391 0 0,0 60.12480149,50.1795387 L 60.12480149,44.29957385 M 4.9327805,16.26925757 L 4.87519943,16.26925757 M 4.87519943,16.26925757 A 4.87745542,4.87739019 0 0,0 1.42657946,17.69980776 A 4.87745542,4.87739019 0 0,0 0.00000209,21.15003484 L 0.00000209,39.41766756 M 0.00000209,39.41766756 A 4.87745542,4.87739019 0 0,0 1.42617995,42.86862456 A 4.87745542,4.87739019 0 0,0 4.87519943,44.29957385 M 4.87519943,44.29957385 A 4.87745542,4.87739019 0 0,0 8.32308951,42.86862466 A 4.87745542,4.87739019 0 0,0 9.74926772,39.41879658 M 9.74926772,39.41879658 L 9.74926772,21.15003484 A 4.87745542,4.87739019 0 0,0 4.9327805,16.26925757 M 18.40788013,58.31416748 L 12.99977563,58.31416748 A 8.12909236,8.12898366 0 0,1 10.69653279,57.98223398 A 8.14038277,8.14027391 0 0,1 4.87519943,50.18066772 L 4.87519943,44.29844483 M 46.70050868,58.31416748 L 52.5455519,64.16590669 C 53.63959225,65.26106143 55.40654079,65.28025487 56.52429099,64.20880966 A 2.85195657,2.85191843 0 0,0 57.39975759,62.18274316 A 2.85195657,2.85191843 0 0,0 56.56719454,60.1386727 L 54.38814617,57.95739542 M 46.69937964,58.31416748 L 18.40900917,58.31416748 M 10.69766183,57.98223398 L 8.54232332,60.1386727 C 7.41554079,61.26769821 7.43586352,63.10462271 8.58522686,64.20880966 C 9.70297706,65.28025487 11.46992561,65.26106143 12.56396596,64.16590669 L 18.40900917,58.31416748",viewW:65,viewH:65},sofa:{d:"M 89.9994774,17.00719477 L 89.9994774,79.3698208 M 89.9994774,17.00828672 L 89.9994774,4.25097973 M 89.9994774,17.00610281 C 89.9994774,19.35489742 88.08050309,21.25817449 85.71418617,21.25817449 L 27.85648339,21.25817449 A 11.68391551,11.18356492 90 0,1 23.53356521,20.35731185 M 89.9994774,17.00719477 C 89.9994774,19.35598937 91.91845172,21.25926645 94.28476863,21.25926645 L 152.14247142,21.25926645 C 153.68099549,21.25926645 155.14322047,20.93823176 156.46643479,20.3584038 M 89.9994774,79.3698208 C 89.9994774,85.24016937 85.20204161,90 79.28624932,90 L 27.8554382,90 C 22.35145195,90 17.81635959,85.8811468 17.21014766,80.58189054 M 89.9994774,79.3698208 C 89.9994774,85.24016937 94.7969132,90 100.71270548,90 L 152.14247142,90 C 157.64645767,90 162.18155002,85.8811468 162.78776195,80.58189054 M 89.9994774,4.25207168 C 89.9994774,1.90436903 88.07945789,0 85.71314098,0 L 27.85648339,0 C 21.93964591,0 17.14325531,4.75873867 17.14325531,10.6301792 Q 17.14325531,11.08443237 17.18088226,11.53104185 M 89.9994774,4.25207168 C 89.9994774,1.90436903 91.91845172,0 94.28476863,0 L 152.14247142,0 C 158.0593089,0 162.8556995,4.75873867 162.8556995,10.6301792 Q 162.8556995,11.08443237 162.81807255,11.53104185 A 11.68391551,11.18356492 90 0,1 167.14203592,10.6301792 L 169.28468154,10.6301792 C 175.20256421,10.6301792 180,15.38891787 180,21.25926645 L 180,70.86676939 C 180,76.73711797 175.20256421,81.49585664 169.28572673,81.49585664 L 167.14308111,81.49585664 C 165.59201473,81.49585664 164.11829262,81.16827022 162.78776195,80.58189054 C 159.04074511,78.92539523 156.42880784,75.19855377 156.42880784,70.86567744 L 156.42880784,21.2603584 Q 156.42880784,20.80501329 156.46643479,20.35949576 C 156.80089654,16.40443576 159.31772125,13.06523823 162.81807255,11.5321338 M 17.18088226,11.5321338 C 20.68227875,13.06523823 23.19910346,16.40443576 23.53356521,20.35949576 Q 23.57119216,20.80501329 23.57119216,21.2603584 L 23.57119216,70.86786135 C 23.57119216,75.19964572 20.9582097,78.92648718 17.21119286,80.58298249 A 11.68391551,11.18356492 90 0,1 12.85691889,81.49694859 L 10.71427327,81.49694859 C 4.7963906,81.49694859 0,76.73820992 0,70.86676939 L 0,21.2603584 C 0,15.39000983 4.79743579,10.63127116 10.71322808,10.63127116 L 12.85587369,10.63127116 C 14.39544296,10.63127116 15.85766794,10.95230584 17.18088226,11.5321338",viewW:180,viewH:90},sofa_three_seat:{d:"M 85.42409676,16.16420572 L 85.42409676,79.89832688 M 85.42409676,16.16529768 L 85.42409676,4.04132442 M 85.42409676,16.16420572 C 85.42409676,18.39616117 83.60262573,20.20553014 81.35628263,20.20553014 L 26.44130873,20.20553014 C 24.98061715,20.20553014 23.59228821,19.89978282 22.33731328,19.34943764 M 85.42409676,16.16420572 C 85.42409676,18.39616117 87.24556779,20.20553014 89.49191089,20.20553014 L 150.50808911,20.20553014 C 152.75546596,20.20553014 154.57590324,18.39616117 154.57590324,16.16529768 M 85.42409676,79.89614297 C 85.42409676,85.47603159 80.87145294,89.99890805 75.25507831,89.99890805 L 26.44130873,89.99890805 C 21.21672611,89.99890805 16.91218277,86.08425037 16.3363829,81.04706325 M 85.42409676,79.89614297 C 85.42409676,85.47603159 89.97674058,89.99890805 95.59311521,89.99890805 L 144.40688479,89.99890805 C 150.02325942,89.99890805 154.57590324,85.47603159 154.57590324,79.89614297 M 154.57590324,16.16311377 L 154.57590324,79.89832688 M 154.57590324,16.16529768 L 154.57590324,4.04132442 M 154.57590324,16.16420572 C 154.57590324,18.39616117 156.39737427,20.20553014 158.64475112,20.20553014 L 213.55972502,20.20553014 C 215.0204166,20.20553014 216.40874554,19.89978282 217.66372047,19.34943764 M 154.57590324,79.89723493 C 154.57590324,85.47712355 159.12958081,90 164.74595545,90 L 213.55972502,90 C 218.78430764,90 223.08885098,86.08534233 223.66465085,81.0481552 M 85.42409676,4.04132442 C 85.42409676,1.80936897 83.60262573,0 81.35628263,0 L 26.44130873,0 C 20.8249341,0 16.27125653,4.52287645 16.27125653,10.10276507 Q 16.27125653,10.53517914 16.30743785,10.95885757 M 85.42409676,4.04132442 C 85.42409676,1.80936897 87.24556779,0 89.49191089,0 L 150.50808911,0 C 152.75546596,0 154.57590324,1.80936897 154.57590324,4.04023247 C 154.57590324,1.80936897 156.39737427,0 158.64475112,0 L 213.55972502,0 C 219.17609965,0 223.72977723,4.52287645 223.72977723,10.10276507 C 223.72977723,10.38448939 223.75251977,10.66730566 223.72977723,10.94357021 M 223.66465085,81.0481552 C 224.92582829,81.60723602 226.32552851,81.91735116 227.79759136,81.91735116 L 229.83098155,81.91735116 C 235.44735618,81.91735116 240,77.39447471 240,71.81458609 L 240,20.20553014 C 240,14.62564152 235.44735618,10.10276507 229.83098155,10.10276507 L 227.79759136,10.10276507 C 222.47066729,10.10276507 218.10099757,14.17029641 217.66372047,19.34943764 Q 217.6265054,19.77202412 217.62753915,20.20553014 L 217.62753915,71.81458609 C 217.62753915,75.93234734 220.10751021,79.47464845 223.66465085,81.0481552 M 16.30743785,10.95885757 A 11.24713362,10.64764563 90 0,0 12.20344239,10.10276507 L 10.1700522,10.10276507 C 4.55367757,10.10276507 0,14.62564152 0,20.20553014 L 0,71.81458609 C 0,77.39447471 4.55367757,81.91735116 10.1700522,81.91735116 L 12.20344239,81.91735116 C 13.67550525,81.91735116 15.07417171,81.60723602 16.3363829,81.0481552 C 19.89352354,79.47464845 22.3734946,75.93234734 22.3734946,71.81458609 L 22.3734946,20.20553014 A 9.82759248,9.30376803 90 0,0 22.33731328,19.34943764 C 22.01995141,15.58983754 19.63095053,12.41661712 16.30743785,10.95885757",viewW:240,viewH:90},sofa_corner_right:{d:"M 92.54139418,17.60590034 L 92.54139418,83.62724067 M 92.54139418,17.60485243 L 92.54139418,4.40121311 M 92.54139418,17.60485243 C 92.54139418,20.03599872 90.56883033,22.00606554 88.13534854,22.00606554 L 28.64290558,22.00606554 A 11.31740513,11.1362726 90 0,1 24.19767677,21.07342752 M 92.54139418,17.60485243 C 92.54139418,20.03599872 94.51498915,22.00606554 96.94847094,22.00606554 L 163.05049792,22.00606554 C 165.48397971,22.00606554 167.45757469,20.03599872 167.45757469,17.60485243 M 92.54139418,83.62933649 C 92.54139418,89.70720221 87.609469,94.63341717 81.52473339,94.63341717 L 28.64290558,94.63341717 C 22.98299815,94.63341717 18.32019956,90.3705279 17.69636207,84.88368223 M 92.54139418,83.62933649 C 92.54139418,89.70720221 97.47435048,94.63341717 103.55805496,94.63341717 L 156.4409139,94.63341717 C 162.52461838,94.63341717 167.45757469,89.70720221 167.45757469,83.6303844 M 167.45757469,17.60694825 L 167.45757469,83.62724067 M 167.45757469,17.60485243 L 167.45757469,4.40121311 M 167.45757469,17.60485243 C 167.45757469,20.03599872 169.43116967,22.00606554 171.86362032,22.00606554 L 231.35606328,22.00606554 C 232.93782644,22.00606554 234.44225438,21.67387874 235.80232323,21.07342752 M 167.45860582,83.62828858 L 167.45860582,158.99696723 C 167.45860582,165.07378504 172.38949986,170 178.47526661,170 L 231.35606328,170 C 237.01700185,170 241.67980044,165.73711073 242.30260679,160.25026506 L 242.30260679,84.88263432 M 92.54139418,4.40121311 C 92.54139418,1.97006682 90.56883033,0 88.13534854,0 L 28.64290558,0 C 22.55920111,0 17.6262448,4.92516705 17.6262448,11.00303277 Q 17.6262448,11.47459132 17.66542798,11.93567078 M 92.54139418,4.40121311 C 92.54139418,1.97006682 94.51498915,0 96.94847094,0 L 163.05049792,0 C 165.48397971,0 167.45757469,1.97006682 167.45757469,4.40121311 C 167.45757469,1.97006682 169.43116967,0 171.86362032,0 L 231.35606328,0 C 237.43976776,0 242.3737552,4.92516705 242.3737552,11.00303277 C 242.3737552,11.31006978 242.39850247,11.6181547 242.3737552,11.91890426 M 242.30157566,84.88263432 C 243.66989359,85.49042089 245.18566403,85.82994304 246.78083197,85.82994304 L 248.98333922,85.82994304 C 255.06807483,85.82994304 260,80.90268018 260,74.82586237 L 260,22.00711345 C 260,15.92924773 255.06807483,11.00408068 248.98333922,11.00408068 L 246.78083197,11.00408068 C 241.01059294,11.00408068 236.27664595,15.4335873 235.80232323,21.07447543 Q 235.76314005,21.5355549 235.76314005,22.00711345 L 235.76314005,74.82481446 C 235.76314005,79.3098602 238.44925024,83.16720911 242.30260679,84.88158641 M 17.66645912,11.93567078 A 11.31740513,11.1362726 90 0,0 13.22019917,11.00303277 L 11.01666078,11.00303277 C 4.93295631,11.00303277 0,15.92924773 0,22.00606554 L 0,74.82586237 C 0,80.90372809 4.93192517,85.82889514 11.01666078,85.82889514 L 13.22019917,85.82889514 C 14.81433597,85.82889514 16.33010641,85.4914688 17.69739321,84.88263432 C 21.55074976,83.16825702 24.23685995,79.3109081 24.23685995,74.82586237 L 24.23685995,22.00711345 Q 24.23685995,21.5355549 24.19870791,21.07447543 C 23.85430837,16.98029933 21.26615612,13.52325123 17.66645912,11.93671869",viewW:260,viewH:170},bed_single:{d:"M 0,10.53299756 C 0,16.34997607 4.71506048,21.06599513 10.53190328,21.06599513 L 79.46700477,21.06599513 C 85.28493952,21.06599513 90,16.34997607 90,10.53299756 M 65.10670824,59.36856126 L 65.10670824,44.04670232 C 65.10670824,38.75835085 60.81969401,34.4721014 55.5313573,34.4721014 L 34.46755075,34.4721014 C 29.18030599,34.4721014 24.89329176,38.75939145 24.89329176,44.04670232 L 24.89329176,59.36752066 M 0,59.36752066 L 89.99890805,59.36752066 M 89.99890805,82.34926846 L 0,82.34926846 M 9.57425899,200 L 80.42574101,200 C 85.71298577,200 90,195.71270994 90,190.42435847 L 90,9.57564153 C 90,4.28729006 85.71298577,0 80.42574101,0 L 9.57425899,0 C 4.28592228,0 0,4.28729006 0,9.57564153 L 0,190.42435847 C 0,195.71270994 4.28592228,200 9.57425899,200",viewW:90,viewH:200},bed_double:{d:"M 0,10.58300164 C 0,16.42914748 4.74612788,21.1680845 10.60206776,21.1680845 L 149.39688128,21.1680845 C 155.25177021,21.1680845 159.99894904,16.42914748 159.99894904,10.58300164 M 74.69791516,59.65815968 L 74.69791516,44.26233773 C 74.69791516,38.94794349 70.38268021,34.63981893 65.0595762,34.63981893 L 43.85438972,34.63981893 C 38.53128572,34.63981893 34.21710172,38.94794349 34.21710172,44.26233773 L 34.21710172,59.65815968 M 128.67408468,59.65815968 L 128.67408468,44.26233773 C 128.67408468,38.94794349 124.35779877,34.63981893 119.03469476,34.63981893 L 97.83055924,34.63981893 C 92.50745524,34.63981893 88.19222028,38.94794349 88.19222028,44.26233773 L 88.19222028,59.65815968 M 0,59.65815968 L 159.99894904,59.65815968 M 159.99894904,82.7513723 L 0.00105096,82.7513723 M 9.63833896,200 L 150.36166104,200 C 155.68476505,200 160,195.69187544 160,190.3774812 L 160,9.6225188 C 160,4.30812456 155.68476505,0 150.36166104,0 L 9.63833896,0 C 4.31628591,0 0.00105096,4.30812456 0.00105096,9.6225188 L 0.00105096,190.37644059 C 0.00105096,195.69083483 4.31628591,199.99895939 9.63833896,199.99895939",viewW:160,viewH:200},nightstand:{d:"M 2.49959042,0.00000027 L 47.49923936,0.00000027 M 47.49923936,0.00000027 A 2.50053206,2.49959042 90 0,1 49.26747323,0.73197514 A 2.50053206,2.49959042 90 0,1 50,2.50053233 L 50,37.49946767 M 50,37.49946767 A 2.50053206,2.49959042 90 0,1 49.26747323,39.26802486 A 2.50053206,2.49959042 90 0,1 47.49923936,39.99999973 M 47.49923936,39.99999973 L 2.49959042,39.99999973 A 2.50053206,2.49959042 90 0,1 0,37.49946767 L 0,2.50053233 A 2.50053206,2.49959042 90 0,1 2.49959042,0.00000027",viewW:50,viewH:40},cabinet_tv:{d:"M 55.99957664,17 L 61.62493574,17 L 67.25029484,17 M 61.62493574,17 L 61.62493574,27.96904762 M 72.03105628,17 L 77.65641537,28.25 L 83.28071608,17 M 2.4999244,45 L 137.5000756,45 C 138.88127854,45 140,43.88095238 140,42.5 L 140,2.5 C 140,1.11904762 138.88127854,0 137.5000756,0 L 2.4999244,0 C 1.11872146,0 0,1.11904762 0,2.5 L 0,42.5 C 0,43.88095238 1.11872146,45 2.4999244,45",viewW:140,viewH:45},cabinet_shoe:{d:"M 39.69311439,15.91375 L 41.35449151,13.91875 M 42.60631986,17.85625 L 44.2952946,15.68375 M 2.50034497,35 L 77.49965503,35 C 78.88064026,35 80,33.88125 80,32.5 L 80,2.5 C 80,1.11875 78.88064026,0 77.50075893,0 L 2.50034497,0 C 1.11935974,0 0,1.11875 0,2.5 L 0,32.5 C 0,33.88125 1.11935974,35 2.50034497,35 M 48.82682489,17.11875 L 47.63902304,17 A 4.25,3.75327722 90 0,1 45.63764316,16.1175 L 40.57844625,11.5925 C 39.18311025,10.3425 36.96094936,11.185 36.74237616,13.04375 C 36.53815372,14.78125 34.55333241,15.66875 33.12156755,14.6675 L 31.43038499,13.48375 C 30.36180488,12.8425 29.00179385,13.6125 29.00179385,14.85875 L 29.00179385,19.1875 C 29.00179385,21.13625 30.58037809,22.71625 32.52987443,22.71625 L 48.54753691,22.71625 C 50.09741962,22.71625 51.35366358,21.46 51.35366358,19.91 C 51.35366358,18.46875 50.26079757,17.2625 48.82682489,17.11875",viewW:80,viewH:35},cabinet_sink:{d:"M 0,2.49959042 C 0,1.11873055 1.11935974,0 2.50034497,0 L 77.49965503,0 C 78.88064026,0 80,1.11873055 80,2.49959042 L 80,47.49923936 C 80,48.88009923 78.88064026,50 77.50075893,50 L 2.50034497,50 C 1.11935974,50 0,48.88009923 0,47.49923936 L 0,2.49959042 M 35.68152339,33.34893627 C 38.46888368,35.54895031 42.53125431,35.54895031 45.3186146,33.34893627 C 48.10597489,31.14892223 48.81468194,27.37964285 46.9965503,24.41196433 L 40.50669242,14.99988298 L 34.00137988,24.41196433 C 32.18655996,27.37964285 32.8941631,31.14658179 35.68152339,33.34893627",viewW:80,viewH:50},bookshelf:{d:"M 57.70667129,21.235 L 45.09910046,21.235 C 44.542709,21.235 44.00796701,21.39 43.61394659,21.66625 C 43.21992618,21.9425 42.99910155,22.31625 42.99910155,22.70625 M 47.41126422,12.41125 L 53.29342614,12.41125 M 2.4994317,0 L 97.49948583,0 C 98.88072223,0 100,1.11875 100,2.5 L 100,32.5 C 100,33.88125 98.88072223,35 97.49948583,35 L 2.50051417,35 C 1.12036025,35 0,33.88125 0,32.5 L 0,2.5 C 0,1.11875 1.12036025,0 2.50051417,0 M 57.70667129,8 L 57.70667129,25.6475 L 45.10018294,25.6475 A 2.55,2.20824628 90 0,1 43.61502906,25.00125 A 2.125,1.84020524 90 0,1 43.00018402,23.44125 L 43.00018402,10.20625 C 43.00018402,9.62125 43.22100865,9.06 43.61502906,8.64625 A 2.55,2.20824628 90 0,1 45.10018294,8 L 57.70667129,8",viewW:100,viewH:35},wall_unit:{d:"M 2.49961234,45 L 237.50038766,45 A 2.5,2.49961234 90 0,0 239.2678805,44.26776695 A 2.5,2.49961234 90 0,0 240,42.5 L 240,2.5 A 2.5,2.49961234 90 0,0 239.2678805,0.73223305 A 2.5,2.49961234 90 0,0 237.50038766,0 L 2.49961234,0 A 2.5,2.49961234 90 0,0 0,2.5 L 0,42.5 M 0,42.5 A 2.5,2.49961234 90 0,0 0.7321195,44.26776695 A 2.5,2.49961234 90 0,0 2.49961234,45 M 47.72005996,38 L 47.72005996,7 M 95.71923296,38 L 95.71923296,7 M 143.71943971,38 L 143.71943971,7 M 191.71964646,38 L 191.71964646,7",viewW:240,viewH:45},wardrobe:{d:"M 94.04437425,18.88320821 A 3.7631854,3.44913684 90 0,0 92.92392737,16.13836358 A 4.33336501,3.97173334 90 0,0 90.22105832,15.00142545 C 89.20722112,15.00142545 88.23519165,15.40967405 87.51714407,16.13836358 A 3.7631854,3.44913684 90 0,0 86.39774238,18.88320821 C 86.39774238,22.11954766 87.67810379,24.70702271 90.22105832,26.64905445 L 90.20538042,26.64905445 L 105.44429412,35.24394184 C 106.04005412,35.58034781 106.53756598,36.07184263 106.88352486,36.66939086 C 107.22948373,37.26579873 107.41134731,37.94659318 107.41134731,38.63879122 L 107.41134731,40.23643448 A 3.7631854,3.44913684 90 0,1 106.29194563,42.9812791 A 4.33336501,3.97173334 90 0,1 103.58803138,44.1193576 L 76.82272946,44.1193576 A 4.33336501,3.97173334 90 0,1 74.11986041,42.9812791 A 3.7631854,3.44913684 90 0,1 72.99941353,40.23643448 L 72.99941353,38.63993158 C 72.99941353,37.94659318 73.18127711,37.26579873 73.52723599,36.66939086 A 4.04827521,3.71043509 90 0,1 74.96646673,35.24394184 L 90.20538042,26.64905445 M 2.50010162,0 L 177.49989838,0 C 178.87955312,0 180,1.11869239 180,2.4996674 L 180,57.49919225 C 180,58.88130761 178.88059831,60 177.49989838,60 L 2.50010162,60 C 1.11940169,60 0,58.88130761 0,57.5003326 L 0,2.50194811 C 0,1.11983275 1.11835649,0.00114036 2.50010162,0.00114036",viewW:180,viewH:60},kitchen_floor:{d:"M 0.00000104,2.4996673 C 0.00000104,1.1198327 1.11869337,0 2.4996683,0 L 57.49919004,0 C 58.88130533,0 59.99999766,1.11869234 59.99999766,2.4996673 L 59.99999766,57.49919 M 59.99999766,57.49919 A 2.49738658,2.49738654 90 0,1 59.26893509,59.26812834 A 2.49738658,2.49738654 90 0,1 57.5003304,59.99999766 M 57.5003304,59.99999766 L 2.50080866,59.99999766 M 2.50080866,59.99999766 A 2.49738658,2.49738654 90 0,1 0.73187035,59.26893508 A 2.49738658,2.49738654 90 0,1 0.00000104,57.50033036 M 0.00000104,57.50033036 L 0.00000104,2.4996673",viewW:60,viewH:60},kitchen_floor_corner:{d:"M 46.03081776,41.46966756 A 2.50060665,2.50060665 0 0,0 48.53142441,43.97027421 L 87.49939335,43.97027421 A 2.50060665,2.50060665 0 0,1 89.26758927,44.70268494 A 2.50060665,2.50060665 0 0,1 90,46.47088085 L 90,87.49939335 A 2.50060665,2.50060665 0 0,1 89.26758927,89.26758927 A 2.50060665,2.50060665 0 0,1 87.49939335,90 M 87.49939335,90 L 2.50060665,90 A 2.50060665,2.50060665 0 0,1 0.73241073,89.26758927 A 2.50060665,2.50060665 0 0,1 0,87.49939335 L 0,2.50060665 A 2.50060665,2.50060665 0 0,1 2.50060665,0 L 43.53239505,0 A 2.50060665,2.50060665 0 0,1 46.0330017,2.50060665 L 46.03081776,41.46966756",viewW:90,viewH:90},kitchen_wall:{d:"M 0.85755013,34.41625 L 58.7307802,0.6575 M 0.85526941,0.5825 L 58.72849948,34.3425 M 2.4996674,35 L 57.49919225,35 C 58.88130761,35 60,33.88125 60,32.5 L 60,2.5 C 60,1.11875 58.88130761,0 57.5003326,0 L 2.50080775,0 C 1.11869239,0 0,1.11875 0,2.5 L 0,32.5 C 0,33.88125 1.11869239,35 2.4996674,35",viewW:60,viewH:35},kitchen_wall_corner:{d:"M 0.09122874,29.53302228 L 29.86372655,0.78798922 M 1.00123537,58.99990268 L 58.99990394,30.00056953 M 0.55079349,0.78798922 L 30.99952431,28.00037958 M 0,29.00047456 L 58.99990394,58.99990268 M 28.18739854,0.00000104 L 2.49966735,0.00000104 C 1.11983273,0.00000104 0,1.11869337 0,2.4996683 L 0,57.49919004 C 0,58.88130533 1.11869237,59.99999766 2.49966735,59.99999766 L 57.49919125,59.99999766 M 57.49919125,59.99999766 A 2.49738663,2.49738654 0 0,0 59.26812963,59.26893509 A 2.49738663,2.49738654 0 0,0 59.99999896,57.5003304 M 59.99999896,57.5003304 L 59.99999896,31.81260022 C 59.99999896,30.43276565 58.88130659,29.31293296 57.5003316,29.31293296 L 33.1878736,29.31293296 A 2.49738663,2.49738654 0 0,1 31.41893522,28.5818704 A 2.49738663,2.49738654 0 0,1 30.68706589,26.81326571 L 30.68706589,2.50080866 M 30.68706589,2.50080866 A 2.49738663,2.49738654 0 0,0 29.9560033,0.73187035 A 2.49738663,2.49738654 0 0,0 28.18739854,0.00000104",viewW:60,viewH:60},shelf_floor:{d:"M 2.50054124,35 L 97.49945876,35 A 2.50054124,2.5 0 0,0 99.26760843,34.26776695 A 2.50054124,2.5 0 0,0 100,32.5 L 100,2.5 A 2.50054124,2.5 0 0,0 99.26760843,0.73223305 A 2.50054124,2.5 0 0,0 97.49945876,0 L 2.50054124,0 A 2.50054124,2.5 0 0,0 0,2.5 L 0,32.5 A 2.50054124,2.5 0 0,0 2.50054124,35 M 5.71444036,28.04125 C 5.17969257,28.18125 4.8744317,28.72375 5.03247456,29.25375 C 5.19051743,29.78375 5.75124486,30.0975 6.28491015,29.95875 L 6.0002165,29 L 5.71444036,28.04125 M 94.28664213,6.95875 C 94.82030743,6.81875 95.1255683,6.27625 94.96860792,5.74625 C 94.81164754,5.21625 94.24983763,4.9025 93.71508985,5.04125 L 94.00086599,6 L 94.28664213,6.95875 M 8.73024464,29.32 C 9.26390994,29.18 9.56917082,28.6375 9.41221044,28.1075 C 9.25525005,27.5775 8.69344014,27.2625 8.15869236,27.4025 L 8.4444685,28.36125 L 8.73024464,29.32 M 13.04719636,26.125 C 12.51353107,26.265 12.20827019,26.8075 12.36523057,27.33625 C 12.52219095,27.865 13.08400087,28.18125 13.61874865,28.04125 L 13.3329725,27.08375 L 13.04719636,26.125 M 18.50833514,26.76375 C 19.04200043,26.62375 19.34726131,26.0825 19.19030093,25.5525 C 19.03334055,25.0225 18.47153063,24.7075 17.93678285,24.8475 L 18.222559,25.805 L 18.50833514,26.76375 M 22.82528686,23.57 C 22.29162156,23.70875 21.98636068,24.25125 22.14332107,24.78 C 22.30136393,25.31 22.86209136,25.62625 23.39683914,25.48625 L 23.111063,24.5275 L 22.82528686,23.57 M 28.28534315,24.2075 C 28.82009093,24.06875 29.12535181,23.52625 28.96730894,22.9975 C 28.81034856,22.4675 28.24853864,22.1525 27.71487335,22.29125 L 27.99956701,23.25 L 28.28534315,24.2075 M 32.60445984,21.01375 C 32.06862957,21.15375 31.76336869,21.69625 31.92249405,22.22625 C 32.07945443,22.755 32.64018186,23.07 33.17492964,22.93 L 32.8891535,21.9725 L 32.60445984,21.01375 M 38.06343364,21.6525 C 38.59818142,21.5125 38.9034423,20.97125 38.74539944,20.44125 C 38.58735657,19.91125 38.02662914,19.59625 37.49188136,19.73625 L 37.7776575,20.695 L 38.06343364,21.6525 M 42.38146785,18.45875 C 41.84672007,18.5975 41.54145919,19.14 41.69950206,19.67 C 41.85754492,20.2 42.41827235,20.515 42.95193765,20.375 L 42.66724399,19.41625 L 42.38146785,18.45875 M 47.84152414,19.09625 C 48.37627192,18.95875 48.6815328,18.415 48.52348993,17.88625 C 48.36544707,17.35625 47.80471964,17.04125 47.26997186,17.18 L 47.555748,18.13875 L 47.84152414,19.09625 M 52.15955835,15.9025 C 51.62481057,16.0425 51.31954969,16.585 51.47759255,17.115 C 51.63455293,17.64375 52.19636285,17.95875 52.73002814,17.82 L 52.444252,16.86125 L 52.15955835,15.9025 M 57.61961464,16.54125 C 58.15327993,16.4025 58.45854081,15.86 58.30158043,15.33 C 58.14462005,14.8 57.58281013,14.485 57.04806235,14.625 L 57.33383849,15.58375 L 57.61961464,16.54125 M 61.93656636,13.3475 C 61.40290106,13.4875 61.09764018,14.02875 61.25460056,14.55875 C 61.41156094,15.08875 61.97337086,15.40375 62.50811864,15.26375 L 62.2223425,14.305 L 61.93656636,13.3475 M 67.39770513,13.985 C 67.93137043,13.8475 68.23663131,13.30375 68.07967092,12.775 C 67.92162806,12.245 67.36090063,11.93 66.82615285,12.07 L 67.11192899,13.0275 L 67.39770513,13.985 M 71.71465685,10.79125 C 71.18099156,10.93125 70.87573068,11.47375 71.03269106,12.00375 C 71.18965144,12.53375 71.75146136,12.8475 72.28620914,12.70875 L 72.00043299,11.75 L 71.71465685,10.79125 M 77.17471314,11.43 C 77.70946092,11.29125 78.0147218,10.74875 77.85667893,10.22 C 77.69971855,9.69 77.13790864,9.37375 76.60424334,9.51375 L 76.89001948,10.4725 L 77.17471314,11.43 M 81.49382983,8.23625 C 80.95908205,8.37625 80.65273869,8.9175 80.81186404,9.4475 C 80.96882442,9.97625 81.52955185,10.2925 82.06429963,10.1525 L 81.77852349,9.195 L 81.49382983,8.23625 M 86.95280364,8.875 C 87.48755142,8.735 87.7928123,8.1925 87.63476943,7.66375 C 87.47672656,7.135 86.91599913,6.81875 86.38233384,6.95875 L 86.6670275,7.91625 L 86.95280364,8.875 M 91.27083784,5.68 C 90.73609006,5.82 90.43082918,6.3625 90.58887205,6.8925 C 90.74691492,7.4225 91.30764235,7.7375 91.84239013,7.5975 L 91.55661399,6.63875 L 91.27083784,5.68 M 6.0002165,29 L 6.28491015,29.95875 L 8.73024464,29.32 L 8.4444685,28.36125 L 8.15869236,27.4025 L 5.71444036,28.04125 L 6.0002165,29 M 13.3329725,27.08375 L 13.61874865,28.04125 L 18.50833514,26.76375 L 18.222559,25.805 L 17.93678285,24.8475 L 13.04719636,26.125 L 13.3329725,27.08375 M 23.111063,24.5275 L 23.39683914,25.48625 L 28.28534315,24.20875 L 27.99956701,23.25 L 27.71487335,22.29125 L 22.82528686,23.57 L 23.111063,24.5275 M 32.8891535,21.9725 L 33.17492964,22.93 L 38.06343364,21.6525 L 37.7776575,20.695 L 37.49188136,19.73625 L 32.60337735,21.01375 L 32.8891535,21.9725 M 42.66724399,19.41625 L 42.95193765,20.375 L 47.84152414,19.0975 L 47.555748,18.13875 L 47.26997186,17.18 L 42.38146785,18.45875 L 42.66724399,19.41625 M 52.444252,16.86125 L 52.73002814,17.82 L 57.61961464,16.54125 L 57.33383849,15.58375 L 57.04806235,14.625 L 52.15955835,15.9025 L 52.444252,16.86125 M 62.2223425,14.305 L 62.50811864,15.26375 L 67.39770513,13.98625 L 67.11192899,13.0275 L 66.82615285,12.07 L 61.93656636,13.3475 L 62.2223425,14.305 M 72.00043299,11.75 L 72.28620914,12.70875 L 77.17471314,11.43 L 76.89001948,10.4725 L 76.60424334,9.51375 L 71.71465685,10.79125 L 72.00043299,11.75 M 81.77852349,9.195 L 82.06429963,10.1525 L 86.95280364,8.875 L 86.6670275,7.91625 L 86.38233384,6.95875 L 81.49274735,8.23625 L 81.77852349,9.195 M 91.55661399,6.6375 L 91.84239013,7.59625 L 94.28664213,6.9575 L 94.00086599,5.99875 L 93.71508985,5.04 L 91.27083784,5.67875 L 91.55661399,6.6375 M 5.71444036,6.95875 C 5.17969257,6.81875 4.8744317,6.27625 5.03247456,5.74625 C 5.19051743,5.21625 5.75124486,4.9025 6.28491015,5.04125 L 6.0002165,6 L 5.71444036,6.95875 M 94.28664213,28.04125 C 94.82030743,28.18125 95.1255683,28.72375 94.96860792,29.25375 C 94.81164754,29.78375 94.24983763,30.0975 93.71508985,29.95875 L 94.00086599,29 L 94.28664213,28.04125 M 8.73024464,5.68 C 9.26390994,5.82 9.56917082,6.3625 9.41221044,6.8925 C 9.25525005,7.4225 8.69344014,7.7375 8.15869236,7.5975 L 8.4444685,6.63875 L 8.73024464,5.68 M 13.04719636,8.875 C 12.51353107,8.735 12.20827019,8.1925 12.36523057,7.66375 C 12.52219095,7.135 13.08400087,6.81875 13.61874865,6.95875 L 13.3329725,7.91625 L 13.04719636,8.875 M 18.50833514,8.23625 C 19.04200043,8.37625 19.34726131,8.9175 19.19030093,9.4475 C 19.03334055,9.9775 18.47153063,10.2925 17.93678285,10.1525 L 18.222559,9.195 L 18.50833514,8.23625 M 22.82528686,11.43 C 22.29162156,11.29125 21.98636068,10.74875 22.14332107,10.22 C 22.30136393,9.69 22.86209136,9.37375 23.39683914,9.51375 L 23.111063,10.4725 L 22.82528686,11.43 M 28.28534315,10.7925 C 28.82009093,10.93125 29.12535181,11.47375 28.96730894,12.0025 C 28.81034856,12.5325 28.24853864,12.8475 27.71487335,12.70875 L 27.99956701,11.75 L 28.28534315,10.7925 M 32.60445984,13.98625 C 32.06862957,13.84625 31.76336869,13.30375 31.92249405,12.77375 C 32.07945443,12.245 32.64018186,11.93 33.17492964,12.07 L 32.8891535,13.0275 L 32.60445984,13.98625 M 38.06343364,13.3475 C 38.59818142,13.4875 38.9034423,14.02875 38.74539944,14.55875 C 38.58735657,15.08875 38.02662914,15.40375 37.49188136,15.26375 L 37.7776575,14.305 L 38.06343364,13.3475 M 42.38146785,16.54125 C 41.84672007,16.4025 41.54145919,15.86 41.69950206,15.33 C 41.85754492,14.8 42.41827235,14.485 42.95193765,14.625 L 42.66724399,15.58375 L 42.38146785,16.54125 M 47.84152414,15.90375 C 48.37627192,16.04125 48.6815328,16.585 48.52348993,17.11375 C 48.36544707,17.64375 47.80471964,17.95875 47.26997186,17.82 L 47.555748,16.86125 L 47.84152414,15.90375 M 52.15955835,19.0975 C 51.62481057,18.9575 51.31954969,18.415 51.47759255,17.885 C 51.63455293,17.35625 52.19636285,17.04125 52.73002814,17.18 L 52.444252,18.13875 L 52.15955835,19.0975 M 57.61961464,18.45875 C 58.15327993,18.5975 58.45854081,19.14 58.30158043,19.67 C 58.14462005,20.2 57.58281013,20.515 57.04806235,20.375 L 57.33383849,19.41625 L 57.61961464,18.45875 M 61.93656636,21.6525 C 61.40290106,21.5125 61.09764018,20.97125 61.25460056,20.44125 C 61.41156094,19.91125 61.97337086,19.59625 62.50811864,19.73625 L 62.2223425,20.695 L 61.93656636,21.6525 M 67.39770513,21.015 C 67.93137043,21.1525 68.23663131,21.69625 68.07967092,22.225 C 67.92162806,22.755 67.36090063,23.07 66.82615285,22.93 L 67.11192899,21.9725 L 67.39770513,21.015 M 71.71465685,24.20875 C 71.18099156,24.06875 70.87573068,23.52625 71.03269106,22.99625 C 71.18965144,22.46625 71.75146136,22.1525 72.28620914,22.29125 L 72.00043299,23.25 L 71.71465685,24.20875 M 77.17471314,23.57 C 77.70946092,23.70875 78.0147218,24.25125 77.85667893,24.78 C 77.69971855,25.31 77.13790864,25.62625 76.60424334,25.48625 L 76.89001948,24.5275 L 77.17471314,23.57 M 81.49382983,26.76375 C 80.95908205,26.62375 80.65273869,26.0825 80.81186404,25.5525 C 80.96882442,25.02375 81.52955185,24.7075 82.06429963,24.8475 L 81.77852349,25.805 L 81.49382983,26.76375 M 86.95280364,26.125 C 87.48755142,26.265 87.7928123,26.8075 87.63476943,27.33625 C 87.47672656,27.865 86.91599913,28.18125 86.38233384,28.04125 L 86.6670275,27.08375 L 86.95280364,26.125 M 91.27083784,29.32 C 90.73609006,29.18 90.43082918,28.6375 90.58887205,28.1075 C 90.74691492,27.5775 91.30764235,27.2625 91.84239013,27.4025 L 91.55661399,28.36125 L 91.27083784,29.32 M 6.0002165,6 L 6.28491015,5.04125 L 8.73024464,5.68 L 8.4444685,6.63875 L 8.15869236,7.5975 L 5.71444036,6.95875 L 6.0002165,6 M 13.3329725,7.91625 L 13.61874865,6.95875 L 18.50833514,8.23625 L 18.222559,9.195 L 17.93678285,10.1525 L 13.04719636,8.875 L 13.3329725,7.91625 M 23.111063,10.4725 L 23.39683914,9.51375 L 28.28534315,10.79125 L 27.99956701,11.75 L 27.71487335,12.70875 L 22.82528686,11.43 L 23.111063,10.4725 M 32.8891535,13.0275 L 33.17492964,12.07 L 38.06343364,13.3475 L 37.7776575,14.305 L 37.49188136,15.26375 L 32.60337735,13.98625 L 32.8891535,13.0275 M 42.66724399,15.58375 L 42.95193765,14.625 L 47.84152414,15.9025 L 47.555748,16.86125 L 47.26997186,17.82 L 42.38146785,16.54125 L 42.66724399,15.58375 M 52.444252,18.13875 L 52.73002814,17.18 L 57.61961464,18.45875 L 57.33383849,19.41625 L 57.04806235,20.375 L 52.15955835,19.0975 L 52.444252,18.13875 M 62.2223425,20.695 L 62.50811864,19.73625 L 67.39770513,21.01375 L 67.11192899,21.9725 L 66.82615285,22.93 L 61.93656636,21.6525 L 62.2223425,20.695 M 72.00043299,23.25 L 72.28620914,22.29125 L 77.17471314,23.57 L 76.89001948,24.5275 L 76.60424334,25.48625 L 71.71465685,24.20875 L 72.00043299,23.25 M 81.77852349,25.805 L 82.06429963,24.8475 L 86.95280364,26.125 L 86.6670275,27.08375 L 86.38233384,28.04125 L 81.49274735,26.76375 L 81.77852349,25.805 M 91.55661399,28.36125 L 91.84239013,27.4025 L 94.28664213,28.04125 L 94.00086599,29 L 93.71508985,29.95875 L 91.27083784,29.32 L 91.55661399,28.36125",viewW:100,viewH:35},shelf_wall:{d:"M 16.00095257,0 L 16.00095257,3.50051819 C 16.00095257,4.88054328 14.88168691,6.00010909 13.50046546,6.00010909 L 12.50027062,6.00010909 C 11.12013163,6.00010909 10.00086597,4.88190694 10.00086597,3.50051819 L 10.00086597,0 M 90.00021649,0 L 90.00021649,3.50051819 C 90.00021649,4.88054328 88.88095083,6.00010909 87.49972938,6.00010909 L 86.49953454,6.00010909 C 85.11939555,6.00010909 83.99904743,4.88190694 83.99904743,3.50051819 L 83.99904743,0 M 2.50048711,0 L 97.49951289,0 C 98.88073434,0 100,1.11820215 100,2.4995909 L 100,22.5004091 C 100,23.88043419 98.88073434,25 97.49951289,25 L 2.50048711,25 C 1.12034812,25 0,23.88179785 0,22.5004091 L 0,2.4995909 C 0,1.11956581 1.12034812,0 2.50048711,0",viewW:100,viewH:25},cooktop_two:{d:"M 14.99935186,32.00009362 L 14.99935186,29.99906385 M 18.99969753,35.99981277 L 20.99857408,35.99981277 M 14.99935186,41.9993915 L 14.99935186,39.99953192 M 9.00012963,35.99981277 L 10.99900618,35.99981277 M 3.12535108,50 L 26.87594521,50 C 28.60130493,50 30,48.60044935 30,46.8755851 L 30,3.1244149 C 30,1.39838045 28.60130493,0 26.87594521,0 L 3.12405479,0 C 1.39869507,0 0,1.39838045 0,3.1244149 L 0,46.87324471 C 0,48.59927916 1.39869507,49.99765961 3.12405479,49.99765961 M 21.99801236,14.99719154 C 21.99801236,18.86350871 18.86488355,21.99728515 14.99805557,21.99728515 C 11.13382016,21.99728515 7.99809878,18.86350871 7.99809878,14.99836173 C 7.99809878,11.13321475 11.13382016,7.99826811 14.99805557,7.99826811 C 18.86488355,7.99826811 21.99801236,11.13204456 21.99801236,14.99836173 M 20.0004321,35.99981277 C 20.0004321,38.76146789 17.76174221,41.00004681 15.00064814,41.00004681 C 12.23955408,41.00004681 10.00086419,38.76146789 10.00086419,35.99981277 C 10.00086419,33.23815765 12.23825779,30.99957873 14.99935186,30.99957873 C 17.76044592,30.99957873 19.99913581,33.23815765 19.99913581,35.99981277",viewW:30,viewH:50},stove:{d:"M 42.58125034,35.80643381 A 0.96783093,0.96783093 0 0,0 41.61341941,34.83860288 A 0.96783093,0.96783093 0 0,0 40.64558848,35.80643381 M 40.64558848,35.80643381 L 42.58125034,35.80643381 M 47.41930144,42.58014677 A 0.96783093,0.96783093 0 0,0 48.28464415,42.10618697 A 0.96783093,0.96783093 0 0,0 48.28464415,41.11954828 A 0.96783093,0.96783093 0 0,0 47.41930144,40.64558848 L 47.41930144,42.58014677 M 42.58125034,45.48363957 A 0.96783093,0.96783093 0 0,0 42.10729054,44.61829686 A 0.96783093,0.96783093 0 0,0 41.12065185,44.61829686 A 0.96783093,0.96783093 0 0,0 40.64669205,45.48363957 L 42.58125034,45.48363957 M 37.74319925,42.58125034 A 0.96783093,0.96783093 0 0,0 38.71103018,41.61341941 A 0.96783093,0.96783093 0 0,0 37.74319925,40.64558848 M 37.74319925,40.64558848 L 37.74319925,42.58125034 M 3.38796005,0.96672736 L 3.38796005,1.9345583 L 56.61314352,1.9345583 L 56.61314352,0 L 3.38796005,0 L 3.38796005,0.96672736 M 59.03216907,3.38575291 L 58.06433813,3.38575291 L 58.06433813,56.61093638 L 60,56.61093638 L 60,3.38796005 L 59.03216907,3.38575291 M 56.61314352,59.0310655 L 56.61314352,58.06323456 L 3.38796005,58.06323456 L 3.38796005,59.99889643 L 56.61314352,59.99889643 L 56.61314352,59.0310655 M 0.96783093,56.61314352 L 1.93566187,56.61314352 L 1.93566187,3.38796005 L 0,3.38796005 L 0,56.61314352 L 0.96783093,56.61314352 M 3.38685648,59.03216907 L 3.38685648,58.06433813 A 1.45119461,1.45119461 0 0,1 1.93566187,56.61314352 L 0,56.61314352 A 3.38796005,3.38796005 0 0,0 3.38796005,60 L 3.38685648,59.03216907 M 59.03216907,56.61314352 L 58.06433813,56.61314352 C 58.06433813,57.41433537 57.41433537,58.06433813 56.61314352,58.06433813 L 56.61314352,60 A 3.38796005,3.38796005 0 0,0 60,56.61203995 L 59.03216907,56.61314352 M 56.61314352,0.96783093 L 56.61314352,1.93566187 C 57.41433537,1.93566187 58.06433813,2.58566463 58.06433813,3.38685648 L 60,3.38685648 A 3.38796005,3.38796005 0 0,0 56.61203995,0 L 56.61314352,0.96783093 M 3.38796005,0.96783093 L 3.38796005,0 A 3.38796005,3.38796005 0 0,0 0,3.38796005 L 1.93566187,3.38796005 C 1.93566187,2.58566463 2.58566463,1.93566187 3.38685648,1.93566187 L 3.38796005,0.96783093 M 25.16139712,41.61231584 L 24.19356619,41.61231584 A 5.80477846,5.80477846 0 0,1 22.49338636,45.71912161 A 5.80477846,5.80477846 0 0,1 18.38658059,47.41930144 M 18.38658059,47.41930144 L 18.38658059,49.35496331 M 18.38658059,49.35496331 A 7.74154389,7.74154389 0 0,0 23.86139219,47.0879078 A 7.74154389,7.74154389 0 0,0 26.12922805,41.61341941 M 26.12922805,41.61341941 L 25.16139712,41.61231584 M 18.38658059,48.38713237 L 18.38658059,47.41930144 A 5.80477846,5.80477846 0 0,1 14.2808787,45.7191213 A 5.80477846,5.80477846 0 0,1 12.58069856,41.61341941 L 10.64503669,41.61341941 A 7.74154389,7.74154389 0 0,0 18.38658059,49.35496331 L 18.38658059,48.38713237 M 11.61286763,41.61341941 L 12.58069856,41.61341941 M 12.58069856,41.61341941 A 5.80477846,5.80477846 0 0,1 14.28048835,37.50700403 A 5.80477846,5.80477846 0 0,1 18.38658059,35.80643381 M 18.38658059,35.80643381 L 18.38658059,33.87077195 M 18.38658059,33.87077195 A 7.74154389,7.74154389 0 0,0 12.9120922,36.13860781 A 7.74154389,7.74154389 0 0,0 10.64503669,41.61341941 M 10.64503669,41.61341941 L 11.61286763,41.61341941 M 18.38658059,34.83860288 L 18.38658059,35.80643381 M 18.38658059,35.80643381 A 5.80477846,5.80477846 0 0,1 22.49338636,37.50661364 A 5.80477846,5.80477846 0 0,1 24.19356619,41.61341941 L 26.12922805,41.61341941 M 26.12922805,41.61341941 A 7.74154389,7.74154389 0 0,0 23.86178242,36.13821758 A 7.74154389,7.74154389 0 0,0 18.38658059,33.87077195 M 18.38658059,33.87077195 L 18.38658059,34.83860288 M 48.38713237,18.38658059 L 47.41930144,18.38658059 M 47.41930144,18.38658059 A 5.80477846,5.80477846 0 0,1 45.71951165,22.49299597 A 5.80477846,5.80477846 0 0,1 41.61341941,24.19356619 M 41.61341941,24.19356619 L 41.61341941,26.12922805 M 41.61341941,26.12922805 A 7.74154389,7.74154389 0 0,0 47.0879078,23.86139219 A 7.74154389,7.74154389 0 0,0 49.35496331,18.38658059 M 49.35496331,18.38658059 L 48.38713237,18.38658059 M 41.61341941,25.16139712 L 41.61341941,24.19356619 A 5.80477846,5.80477846 0 0,1 37.50661364,22.49338636 A 5.80477846,5.80477846 0 0,1 35.80643381,18.38658059 L 33.87077195,18.38658059 M 33.87077195,18.38658059 A 7.74154389,7.74154389 0 0,0 36.13821758,23.86178242 A 7.74154389,7.74154389 0 0,0 41.61341941,26.12922805 M 41.61341941,26.12922805 L 41.61341941,25.16139712 M 34.83860288,18.38658059 L 35.80643381,18.38658059 M 35.80643381,18.38658059 A 5.80477846,5.80477846 0 0,1 37.50700403,14.28048835 A 5.80477846,5.80477846 0 0,1 41.61341941,12.58069856 M 41.61341941,12.58069856 L 41.61341941,10.64503669 M 41.61341941,10.64503669 A 7.74154389,7.74154389 0 0,0 36.13860781,12.9120922 A 7.74154389,7.74154389 0 0,0 33.87077195,18.38658059 M 33.87077195,18.38658059 L 34.83860288,18.38658059 M 41.61341941,11.61286763 L 41.61341941,12.58069856 M 41.61341941,12.58069856 A 5.80477846,5.80477846 0 0,1 45.7191213,14.2808787 A 5.80477846,5.80477846 0 0,1 47.41930144,18.38658059 M 47.41930144,18.38658059 L 49.35496331,18.38658059 A 7.74154389,7.74154389 0 0,0 47.0875176,12.9124824 A 7.74154389,7.74154389 0 0,0 41.61341941,10.64503669 L 41.61341941,11.61286763 M 46.45147051,41.61341941 L 45.48363957,41.61341941 A 3.87353087,3.87353087 0 0,1 41.61341941,45.48363957 L 41.61341941,47.41930144 M 41.61341941,47.41930144 A 5.80477846,5.80477846 0 0,0 45.7191213,45.7191213 A 5.80477846,5.80477846 0 0,0 47.41930144,41.61341941 M 47.41930144,41.61341941 L 46.45147051,41.61341941 M 41.61341941,46.45147051 L 41.61341941,45.48363957 A 3.87353087,3.87353087 0 0,1 37.74209568,41.61341941 L 35.80533024,41.61341941 M 35.80533024,41.61341941 A 5.80477846,5.80477846 0 0,0 37.50590046,45.71951165 A 5.80477846,5.80477846 0 0,0 41.61231584,47.41930144 M 41.61231584,47.41930144 L 41.61341941,46.45147051 M 36.77426475,41.61341941 L 37.74209568,41.61341941 A 3.87353087,3.87353087 0 0,1 41.61341941,37.74209568 L 41.61341941,35.80533024 A 5.80477846,5.80477846 0 0,0 37.50661364,37.50551007 A 5.80477846,5.80477846 0 0,0 35.80643381,41.61231584 L 36.77426475,41.61341941 M 41.61341941,36.77426475 L 41.61341941,37.74209568 A 3.87353087,3.87353087 0 0,1 45.48363957,41.61341941 L 47.41930144,41.61341941 M 47.41930144,41.61341941 A 5.80477846,5.80477846 0 0,0 45.71951165,37.50700403 A 5.80477846,5.80477846 0 0,0 41.61341941,35.80643381 M 41.61341941,35.80643381 L 41.61341941,36.77426475 M 41.61341941,37.74209568 L 42.58014677,37.74209568 L 42.58014677,35.80533024 L 40.64558848,35.80533024 L 40.64558848,37.74099211 L 41.61341941,37.74209568 M 45.48474314,41.61341941 L 45.48474314,42.58014677 L 47.41930144,42.58014677 L 47.41930144,40.64558848 L 45.48474314,40.64558848 L 45.48474314,41.61341941 M 41.61341941,47.41930144 L 42.58014677,47.41930144 L 42.58014677,45.48363957 L 40.64558848,45.48363957 L 40.64558848,47.41930144 L 41.61341941,47.41930144 M 35.80753738,41.61341941 L 35.80753738,42.58014677 L 37.74209568,42.58014677 L 37.74209568,40.64558848 L 35.80753738,40.64558848 L 35.80753738,41.61341941 M 25.16139712,18.38658059 L 24.19356619,18.38658059 M 24.19356619,18.38658059 A 5.80477846,5.80477846 0 0,1 22.49338636,22.49338636 A 5.80477846,5.80477846 0 0,1 18.38658059,24.19356619 M 18.38658059,24.19356619 L 18.38658059,26.12922805 M 18.38658059,26.12922805 A 7.74154389,7.74154389 0 0,0 23.86178242,23.86178242 A 7.74154389,7.74154389 0 0,0 26.12922805,18.38658059 L 25.16139712,18.38658059 M 18.38658059,25.16139712 L 18.38658059,24.19356619 A 5.80477846,5.80477846 0 0,1 14.28048835,22.49299597 A 5.80477846,5.80477846 0 0,1 12.58069856,18.38658059 M 12.58069856,18.38658059 L 10.64503669,18.38658059 M 10.64503669,18.38658059 A 7.74154389,7.74154389 0 0,0 12.9120922,23.86139219 A 7.74154389,7.74154389 0 0,0 18.38658059,26.12922805 M 18.38658059,26.12922805 L 18.38658059,25.16139712 M 11.61286763,18.38658059 L 12.58069856,18.38658059 M 12.58069856,18.38658059 A 5.80477846,5.80477846 0 0,1 14.2808787,14.2808787 A 5.80477846,5.80477846 0 0,1 18.38658059,12.58069856 M 18.38658059,12.58069856 L 18.38658059,10.64503669 A 7.74154389,7.74154389 0 0,0 10.64503669,18.38658059 L 11.61286763,18.38658059 M 18.38658059,11.61286763 L 18.38658059,12.58069856 A 5.80477846,5.80477846 0 0,1 22.49299597,14.28048835 A 5.80477846,5.80477846 0 0,1 24.19356619,18.38658059 L 26.12922805,18.38658059 M 26.12922805,18.38658051 A 7.74154389,7.74154389 0 0,0 23.86139213,12.91209214 A 7.74154389,7.74154389 0 0,0 18.38658051,10.64503669 M 18.38658059,10.64503669 L 18.38658059,11.61286763",viewW:60,viewH:60},tv:{d:"M 44.11752137,9.73109561 L 2.5,9.73109561 C 1.11965812,9.73109561 0,10.850462 0,12.23118989 L 0,15.76881011 C 0,17.14821799 1.11965812,18.26758439 2.5,18.26758439 L 44.11752137,18.26758439 M 44.11752137,9.73109561 L 44.11752137,2.50009429 C 44.11752137,1.1193664 45.23717949,0 46.61752137,0 L 75.1474359,0 C 76.52777778,0 77.6474359,1.1193664 77.6474359,2.50009429 L 77.6474359,9.73109561 M 44.11752137,9.73109561 L 77.6474359,9.73109561 L 117.5,9.73109561 C 118.88141026,9.73109561 120,10.850462 120,12.23118989 L 120,15.76881011 C 120,17.14821799 118.88141026,18.26758439 117.5,18.26758439 L 77.6474359,18.26758439 M 44.11752137,18.26758439 L 44.11752137,25.49990571 C 44.11752137,26.8806336 45.23717949,28 46.61752137,28 L 75.1474359,28 C 76.52777778,28 77.6474359,26.8806336 77.6474359,25.49990571 L 77.6474359,18.26758439 M 44.11752137,18.26758439 L 77.6474359,18.26758439",viewW:120,viewH:28},tv_wall:{d:"M 34.42622951,13.23529412 C 33.88293401,13.23529412 33.44262295,13.63088235 33.44262295,14.11764706 C 33.44262295,14.60441176 33.88293401,15 34.42622951,15 L 34.42622951,13.23529412 M 86.49957966,15 C 87.04287516,15 87.48318621,14.60441176 87.48318621,14.11764706 C 87.48318621,13.63088235 87.0418243,13.23529412 86.49957966,13.23529412 L 86.49957966,15 M 3.44262295,0.88235294 L 3.44262295,1.76470588 L 116.55737705,1.76470588 L 116.55737705,0 L 3.44262295,0 L 3.44262295,0.88235294 M 119.01639344,3.08823529 L 118.03278689,3.08823529 L 118.03278689,5.73529412 L 120,5.73529412 L 120,3.08823529 L 119.01639344,3.08823529 M 116.55737705,7.94117647 L 116.55737705,7.05882353 L 3.44262295,7.05882353 L 3.44262295,8.82352941 L 116.55737705,8.82352941 L 116.55737705,7.94117647 M 0.98360656,5.73529412 L 1.96721311,5.73529412 L 1.96721311,3.08823529 L 0,3.08823529 L 0,5.73529412 L 0.98360656,5.73529412 M 3.44262295,7.94117647 L 3.44262295,7.05882353 C 2.62820513,7.05882353 1.96721311,6.46617647 1.96721311,5.73529412 L 0,5.73529412 C 0,7.44117647 1.54161412,8.82352941 3.44262295,8.82352941 L 3.44262295,7.94117647 M 119.01639344,5.73529412 L 118.03278689,5.73529412 C 118.03278689,6.46617647 117.37179487,7.05882353 116.55737705,7.05882353 L 116.55737705,8.82352941 C 118.45943674,8.82352941 120,7.44117647 120,5.73529412 L 119.01639344,5.73529412 M 116.55737705,0.88235294 L 116.55737705,1.76470588 C 117.37179487,1.76470588 118.03278689,2.35735294 118.03278689,3.08823529 L 120,3.08823529 C 120,1.38235294 118.45838588,0 116.55737705,0 L 116.55737705,0.88235294 M 3.44262295,0.88235294 L 3.44262295,0 C 1.54056326,0 0,1.38235294 0,3.08823529 L 1.96721311,3.08823529 C 1.96721311,2.35735294 2.62820513,1.76470588 3.44262295,1.76470588 L 3.44262295,0.88235294 M 67.86885246,7.05882353 L 66.8852459,7.05882353 L 66.8852459,14.11764706 L 68.85245902,14.11764706 L 68.85245902,7.05882353 L 67.86885246,7.05882353 M 52.13114754,14.11764706 L 53.1147541,14.11764706 L 53.1147541,7.05882353 L 51.14754098,7.05882353 L 51.14754098,14.11764706 L 52.13114754,14.11764706 M 34.42622951,14.11764706 L 34.42622951,15 L 86.49957966,15 L 86.49957966,13.23529412 L 34.42622951,13.23529412 L 34.42622951,14.11764706",viewW:120,viewH:15},toilet:{d:"M 0,50.64541922 C 0,61.33577471 8.66551127,70 19.35479948,70 L 20.64520052,70 C 31.33570495,70 40,61.33577471 40,50.64541922 L 40,2.49964019 C 40,1.11940895 38.88108486,0 37.49946791,0 L 2.50053209,0 C 1.12013135,0 0,1.11940895 0,2.5007596 L 0,50.64541922 M 4.99984797,50.80661411 C 4.99984797,58.645835 11.35455623,65.00071962 19.19304327,65.00071962 L 20.80695673,65.00071962 C 28.64544377,65.00071962 35.00015203,58.645835 35.00015203,50.80661411 L 35.00015203,31.50016791 C 35.00015203,30.11993667 33.88123689,29.00052772 32.49961993,29.00052772 L 7.50038007,29.00052772 C 6.11997932,29.00052772 4.99984797,30.11993667 4.99984797,31.50016791 L 4.99984797,50.80661411 M 36.77460549,0 C 38.55635623,0 40,1.44403755 40,3.2261366 L 40,16.77434315 C 40,18.5564422 38.55635623,20.00047975 36.77460549,20.00047975 L 3.22661072,20.00047975 C 1.44485998,20.00047975 0,18.5564422 0,16.77434315 L 0,3.2261366 C 0,1.44515696 1.44485998,0 3.22661072,0 L 36.77460549,0 M 24.99923987,51.99990405 C 24.99923987,54.76148594 22.76140959,57.00030384 20.00060811,57.00030384 C 17.23980662,57.00030384 15.00076013,54.76148594 15.00076013,51.99990405 C 15.00076013,49.23832217 17.23859041,47.00062367 19.99939189,47.00062367 C 22.76019338,47.00062367 25.00045608,49.23944157 25.00045608,51.99990405",viewW:40,viewH:70},toilet_built_in:{d:"M 0,35.64551996 C 0,46.33352214 8.66551127,55 19.35479948,55 L 20.64520052,55 C 31.33570495,55 40,46.33467598 40,35.64436612 L 40,2.49921329 C 40,1.11922294 38.88108486,0 37.49946791,0 L 2.50053209,0 C 1.12013135,0 0,1.11922294 0,2.49921329 L 0,35.64551996 M 4.99984797,35.80705729 C 4.99984797,43.64507941 11.35455623,49.99926574 19.19304327,49.99926574 L 20.80695673,49.99926574 C 28.64544377,49.99926574 35.00015203,43.64507941 35.00015203,35.80705729 L 35.00015203,12.49952798 C 35.00015203,11.11838379 33.88123689,9.99916085 32.49961993,9.99916085 L 7.50038007,9.99916085 C 6.11997932,9.99916085 4.99984797,11.11838379 4.99984797,12.49952798 L 4.99984797,35.80705729 M 24.99923987,36.99897204 C 24.99923987,39.76126041 22.76140959,41.9997063 20.00060811,41.9997063 C 17.23980662,41.9997063 15.00076013,39.76126041 15.00076013,36.99897204 C 15.00076013,34.23668366 17.23859041,31.99939161 19.99939189,31.99939161 C 22.76019338,31.99939161 25.00045608,34.2378375 25.00045608,36.99897204",viewW:40,viewH:55},bathtub:{d:"M 0.00104789,2.5 C 0.00104789,1.11888889 1.12019281,0 2.50130986,0 L 167.49973803,0 C 168.88085508,0 170,1.11888889 170,2.5 L 170,72.5 C 170,73.88111111 168.88085508,75 167.49973803,75 L 2.50026197,75 C 1.11914492,75 0,73.88111111 0,72.5 L 0.00104789,2.5 M 10.00104789,37.5 C 10.00104789,22.31222222 22.31373782,10 37.50078592,10 L 132.50026197,10 C 147.68731007,10 160,22.31222222 160,37.5 C 160,52.68777778 147.68731007,65 132.50026197,65 L 37.49973803,65 C 22.31268993,65 10,52.68777778 10,37.5 M 29.00136226,37.5 C 29.00136226,39.98555556 26.98627266,42 24.50068113,42 C 22.01508959,42 20.00104789,39.98555556 20.00104789,37.5 C 20.00104789,35.01444444 22.01613748,33 24.50068113,33 C 26.98627266,33 29.00136226,35.01444444 29.00136226,37.5",viewW:170,viewH:75},bathtub_corner:{d:"M 0.0000009,2.49992528 A 2.4978076,2.4978076 90 0,1 0.73159091,0.73159091 A 2.4978076,2.4978076 90 0,1 2.49992528,0.0000009 M 2.49992528,0.0000009 L 137.70540387,0.0000009 C 138.97230035,0.0000009 140,1.02664216 140,2.29459703 C 140,78.34754644 78.34754644,140 2.29459703,140 A 2.29671292,2.29671292 90 0,1 0.0000009,137.70540387 L 0.0000009,2.49992528 M 9.99969844,30.0001519 C 9.99969844,18.95370364 18.95370364,9.99969844 30.0001519,9.99969844 L 122.7450181,9.99969844 A 2.2543772,2.2543772 90 0,1 124.9993953,12.25407563 C 124.9993953,74.52251395 74.52251395,125.00045369 12.25513403,125.00045369 A 2.2543772,2.2543772 90 0,1 10.66067431,124.33978775 A 2.2543772,2.2543772 90 0,1 10.00075683,122.7450181 L 9.99969844,30.0001519 M 30.0001519,25.00030314 A 5.00037797,5.00037797 90 0,1 24.99977394,30.0006811 A 5.00037797,5.00037797 90 0,1 19.99939597,25.00030314 A 5.00037797,5.00037797 90 0,1 24.99977394,19.99992517 A 5.00037797,5.00037797 90 0,1 30.0001519,25.00030314",viewW:140,viewH:140},bidet:{d:"M 22.99978716,0 L 22.99978716,11.50052266 C 22.99978716,12.88035731 21.88087202,14.00019006 20.50047128,14.00019006 L 19.50074493,14.00019006 C 18.11912798,14.00019006 17.00021284,12.88149767 17.00021284,11.50052266 L 17.00021284,0 M 22.99978716,10.0009503 L 26.50004561,10.0009503 C 27.88044635,10.0009503 29.0005777,8.88111755 29.0005777,7.50014254 L 29.0005777,6.50004751 C 29.0005777,5.12021287 27.88166256,4.00038012 26.50004561,4.00038012 L 22.99978716,4.00038012 M 17.00021284,10.0009503 L 13.49995439,10.0009503 C 12.11955365,10.0009503 11.00063851,8.88111755 11.00063851,7.50014254 L 11.00063851,6.50004751 C 11.00063851,5.12021287 12.11955365,4.00038012 13.49995439,4.00038012 L 17.00021284,4.00038012 M 2.50053209,0 L 37.49946791,0 C 38.88108486,0 40,1.11869239 40,2.4996674 L 40,40.64468308 C 40,51.33441034 31.33448873,60 20.64520052,60 L 19.35601569,60 C 8.66551127,60 0,51.33441034 0,40.64582343 L 0,2.50080775 C 0,1.11869239 1.11891514,0 2.50053209,0 M 7.49916385,18.00057018 L 32.49961993,18.00057018 C 33.88123689,18.00057018 35.00015203,19.11926257 35.00015203,20.50023757 L 35.00015203,40.80661408 C 35.00015203,48.64544331 28.64544377,55.00066521 20.80695673,55.00066521 L 19.19304327,55.00066521 C 11.35455623,55.00066521 4.99984797,48.64544331 4.99984797,40.80661408 L 4.99984797,20.50137793 C 4.99984797,19.12154329 6.11876311,18.00171054 7.50038007,18.00171054 M 24.00072973,27.00142545 C 24.00072973,29.21030124 22.21046551,31.00180557 20.00182432,31.00180557 C 17.79196692,31.00180557 16.00048648,29.2114416 16.00048648,27.00142545 C 16.00048648,24.79140929 17.79196692,23.00218569 20.00182432,23.00218569 C 22.21168172,23.00218569 24.00072973,24.79254965 24.00072973,27.00142545",viewW:40,viewH:60},bidet_built_in:{d:"M 16.73872723,9.99953191 L 6.93605765,9.99953191 C 5.86579099,9.99953191 4.99984797,10.86549489 4.99984797,11.93507618 L 4.99984797,30.8060477 C 4.99984797,38.64418284 11.35455623,44.99964893 19.19304327,44.99964893 L 20.80695673,44.99964893 C 28.64544377,44.99964893 35.00015203,38.64535306 35.00015203,30.80487748 L 35.00015203,11.9362464 C 35.00015203,10.86666511 34.13299279,10.00070213 33.06515856,10.00070213 L 23.26005655,10.00070213 M 22.99857095,0.00117022 L 22.99857095,11.50092447 C 22.99857095,12.88178435 21.87965581,14.0005149 20.49925507,14.0005149 L 19.49952872,14.0005149 C 18.11791176,14.0005149 16.99899663,12.88178435 16.99899663,11.50092447 L 16.99899663,0 M 29.99908784,9.99953191 L 29.99908784,0 M 9.99847973,0 L 9.99847973,9.99953191 M 2.50053209,0 L 37.49946791,0 C 38.88108486,0 40,1.11873055 40,2.49959042 L 40,30.64455731 C 40,41.33451916 31.33448873,50 20.64520052,50 L 19.35601569,50 C 8.66551127,50 0,41.33451916 0,30.64455731 L 0,2.49959042 C 0,1.11873055 1.11891514,0 2.50053209,0 M 24.00072973,22.99833829 C 24.00072973,25.20771409 22.20924929,26.99815105 19.99939189,26.99815105 C 17.78953449,26.99815105 16.00048648,25.20771409 16.00048648,22.99833829 C 16.00048648,20.78896248 17.79075071,18.99852552 20.00060811,18.99852552 C 22.20924929,18.99852552 23.99951352,20.78896248 23.99951352,22.99833829",viewW:40,viewH:50},kitchen_sink:{d:"M 39.41423548,6.00088937 L 51.49976243,6.00088937 C 52.88073743,6.00088937 54.00057018,7.11961991 54.00057018,8.50047979 L 54.00057018,41.50069043 C 54.00057018,42.88155031 52.88073743,44.00028085 51.49976243,44.00028085 L 8.50137793,44.00028085 C 7.12154329,44.00028085 6.00171054,42.88155031 6.00171054,41.50069043 L 6.00171054,8.50047979 C 6.00171054,7.11961991 7.12040293,6.00088937 8.50137793,6.00088937 L 20.58804523,6.00088937 M 33.00085527,0 L 33.00085527,13.50200108 C 33.00085527,14.88286095 31.88216288,16.0015915 30.50118787,16.0015915 L 29.50109284,16.0015915 C 28.1212582,16.0015915 27.00142545,14.88169073 27.00142545,13.50200108 L 27.00142545,0 M 33.00085527,9.00016383 L 36.50175805,9.00016383 C 37.8815927,9.00016383 39.00142545,7.88143329 39.00142545,6.50057341 L 39.00142545,5.50003511 C 39.00142545,4.11917523 37.8815927,3.00044468 36.50175805,3.00044468 L 33.00085527,3.00044468 M 27.00142545,9.00016383 L 23.50052266,9.00016383 C 22.12068802,9.00016383 21.00085527,7.88143329 21.00085527,6.50057341 L 21.00085527,5.50003511 C 21.00085527,4.11917523 22.12068802,3.00044468 23.50166302,3.00044468 L 27.00142545,3.00044468 M 2.4996674,50 L 57.5003326,50 C 58.88016725,50 60,48.88126945 60,47.50040958 L 60,2.50076064 C 60,1.11990077 58.88130761,0 57.5003326,0 L 2.50080775,0 C 1.11983275,0 0,1.11990077 0,2.50076064 L 0,47.50040958 C 0,48.88126945 1.11983275,50 2.4996674,50 M 33.99980994,25.99995319 C 33.99980994,28.209329 32.20944598,29.99976596 30.00057018,29.99976596 C 27.79169438,29.99976596 26.00019006,28.209329 26.00019006,25.99995319 C 26.00019006,23.79174761 27.79055402,22.00014043 30.00057018,22.00014043 C 32.21058633,22.00014043 33.99980994,23.79057739 33.99980994,25.99995319",viewW:60,viewH:50},kitchen_sink_double:{d:"M 53.81917613,10.60756523 C 53.3184331,10.60756523 52.91291684,11.00704162 52.91291684,11.49905209 C 52.91291684,11.99106256 53.31950306,12.39053895 53.81917613,12.39053895 L 53.81917613,10.60756523 M 77.33590917,12.39053895 C 77.83558224,12.39053895 78.2410985,11.99219103 78.2410985,11.49905209 C 78.2410985,11.00704162 77.83558224,10.60756523 77.33590917,10.60756523 L 77.33590917,12.39053895 M 3.35647625,0.89148686 L 3.35647625,1.78297373 L 86.64459371,1.78297373 L 86.64459371,0 L 3.35647625,0 L 3.35647625,0.89148686 M 89.09267075,3.30414372 L 88.18641146,3.30414372 L 88.18641146,46.69811321 L 89.99893004,46.69811321 L 89.99893004,3.30301526 L 89.09267075,3.30414372 M 86.64245378,49.10851314 L 86.64245378,48.21702627 L 3.35647625,48.21702627 L 3.35647625,50 L 86.64459371,50 L 86.64245378,49.10851314 M 0.90625929,46.69698474 L 1.81251858,46.69698474 L 1.81251858,3.30301526 L 0,3.30301526 L 0,46.69698474 L 0.90625929,46.69698474 M 3.35647625,49.10738467 L 3.35647625,48.21589781 C 2.50371515,48.21589781 1.81251858,47.53543378 1.81251858,46.69698474 L 0,46.69698474 C 0,48.52058319 1.50222909,49.99887154 3.35647625,49.99887154 L 3.35647625,49.10738467 M 89.09374071,46.69698474 L 88.18748142,46.69698474 C 88.18748142,47.53543378 87.49628485,48.21589781 86.64459371,48.21589781 L 86.64459371,49.99887154 C 88.49777091,49.99887154 90,48.52058319 90,46.69698474 L 89.09374071,46.69698474 M 86.64352375,0.89261533 L 86.64352375,1.78410219 C 87.49628485,1.78410219 88.18748142,2.46343775 88.18748142,3.30301526 L 90,3.30301526 C 90,1.47828835 88.49777091,0 86.64459371,0 L 86.64352375,0.89261533 M 3.35647625,0.89261533 L 3.35647625,0.00112846 C 1.50222909,0.00112846 0,1.47941681 0,3.30301526 L 1.81251858,3.30301526 C 1.81251858,2.46343775 2.50371515,1.78297373 3.35647625,1.78297373 L 3.35647625,0.89261533 M 9.23485704,43.32174777 L 9.23485704,44.21323463 L 39.61112762,44.21323463 L 39.61112762,42.4302609 L 9.23485704,42.4302609 L 9.23485704,43.32174777 M 42.06134459,40.91134784 L 42.96653391,40.91134784 L 42.96653391,9.08865216 L 41.15401534,9.08865216 L 41.15401534,40.91134784 L 42.06134459,40.91134784 M 6.78464008,9.08865216 L 5.87945075,9.08865216 L 5.87945075,40.91134784 L 7.69196933,40.91134784 L 7.69196933,9.08865216 L 6.78464008,9.08865216 M 39.61219759,6.67825223 L 39.61219759,5.78676537 L 33.54657314,5.78676537 L 33.54657314,7.5697391 L 39.61219759,7.5697391 L 39.61219759,6.67825223 M 15.30155145,6.67825223 L 15.30155145,5.78676537 L 9.235927,5.78676537 L 9.235927,7.5697391 L 15.30155145,7.5697391 L 15.30155145,6.67825223 M 6.78678,9.08865216 L 7.69303929,9.08865216 C 7.69303929,8.24907466 8.3831659,7.5697391 9.235927,7.5697391 L 9.235927,5.78676537 C 7.38274981,5.78676537 5.88052072,7.26505371 5.88052072,9.08865216 L 6.78678,9.08865216 M 42.06134459,9.08865216 L 42.96760388,9.08865216 C 42.96760388,7.26505371 41.46537478,5.78563691 39.61219759,5.78563691 L 39.61219759,7.56861063 C 40.46495869,7.56861063 41.1550853,8.24907466 41.1550853,9.08865216 L 42.06134459,9.08865216 M 39.61112762,43.32174777 L 39.61112762,44.21323463 C 41.46537478,44.21323463 42.96760388,42.73494629 42.96760388,40.91134784 L 41.1550853,40.91134784 C 41.1550853,41.74979688 40.46495869,42.4302609 39.61219759,42.4302609 L 39.61112762,43.32174777 M 9.235927,43.32174777 L 9.235927,42.4302609 C 8.3831659,42.4302609 7.69303929,41.74979688 7.69303929,40.91134784 L 5.87945075,40.91134784 C 5.87945075,42.73494629 7.38167984,44.21323463 9.23485704,44.21323463 L 9.235927,43.32174777 M 23.9340189,16.32098041 L 23.9340189,17.21246727 L 24.91410569,17.21246727 L 24.91410569,15.42949355 L 23.9340189,15.42949355 L 23.9340189,16.32098041 M 27.36325269,13.91058048 L 28.26951198,13.91058048 L 28.26951198,0.89148686 L 26.4569934,0.89148686 L 26.4569934,13.91170895 L 27.36325269,13.91058048 M 21.48380194,0.89148686 L 20.57754265,0.89148686 L 20.57754265,13.91170895 L 22.38899126,13.91170895 L 22.38899126,0.89148686 L 21.48380194,0.89148686 M 24.91303572,16.32098041 L 24.91303572,17.21246727 C 26.76621292,17.21246727 28.26844201,15.73417893 28.26844201,13.91058048 L 26.4569934,13.91058048 C 26.4569934,14.74902952 25.76579683,15.42949355 24.91303572,15.42949355 L 24.91303572,16.32098041 M 23.93294894,16.32098041 L 23.93294894,15.42949355 C 23.08018784,15.42949355 22.38899126,14.74902952 22.38899126,13.91058048 L 20.57754265,13.91058048 C 20.57754265,15.73417893 22.07977174,17.21246727 23.93294894,17.21246727 L 23.93294894,16.32098041 M 27.36218273,9.57050645 L 27.36218273,10.46199332 L 30.79248648,10.46199332 L 30.79248648,8.67901959 L 27.36218273,8.67901959 L 27.36218273,9.57050645 M 33.24163348,7.16010653 L 34.14789277,7.16010653 L 34.14789277,6.19526948 L 32.33537419,6.19526948 L 32.33537419,7.16010653 L 33.24163348,7.16010653 M 30.79141651,3.78486955 L 30.79141651,2.89338268 L 27.36218273,2.89338268 L 27.36218273,4.67635641 L 30.79248648,4.67635641 L 30.79141651,3.78486955 M 33.24163348,6.19526948 L 34.14789277,6.19526948 C 34.14789277,4.37167103 32.64566367,2.89338268 30.79248648,2.89338268 L 30.79248648,4.67635641 C 31.64417761,4.67635641 32.33537419,5.35682044 32.33537419,6.19526948 L 33.24163348,6.19526948 M 30.79141651,9.57050645 L 30.79141651,10.46199332 C 32.64566367,10.46199332 34.14789277,8.98370497 34.14789277,7.16010653 L 32.33537419,7.16010653 C 32.33537419,7.99855557 31.64417761,8.67901959 30.79248648,8.67901959 L 30.79141651,9.57050645 M 18.05349819,9.57050645 L 18.05349819,10.46199332 L 21.48380194,10.46199332 L 21.48380194,8.67901959 L 18.05349819,8.67901959 L 18.05349819,9.57050645 M 21.48380194,3.78486955 L 21.48380194,2.89338268 L 18.05349819,2.89338268 L 18.05349819,4.67635641 L 21.48380194,4.67635641 L 21.48380194,3.78486955 M 15.60435119,6.19526948 L 14.6980919,6.19526948 L 14.6980919,7.16010653 L 16.51061047,7.16010653 L 16.51061047,6.19526948 L 15.60435119,6.19526948 M 18.05456815,3.78486955 L 18.05456815,2.89338268 C 16.20032099,2.89338268 14.6980919,4.37167103 14.6980919,6.19526948 L 16.51061047,6.19526948 C 16.51061047,5.35682044 17.20180705,4.67635641 18.05349819,4.67635641 L 18.05456815,3.78486955 M 18.05456815,9.57050645 L 18.05456815,8.67901959 C 17.20180705,8.67901959 16.51061047,7.99855557 16.51061047,7.16010653 L 14.6980919,7.16010653 C 14.6980919,8.98370497 16.20032099,10.46199332 18.05349819,10.46199332 L 18.05456815,9.57050645 M 28.34226951,25.96370859 L 27.43601022,25.96370859 C 27.43601022,27.60223887 26.08785591,28.92931299 24.42299233,28.92931299 L 24.42299233,30.71228672 C 27.08720204,30.71228672 29.2485288,28.58625982 29.2485288,25.96370859 L 28.34226951,25.96370859 M 24.4240623,29.82079986 L 24.4240623,28.92931299 C 22.76026868,28.92931299 21.4110444,27.60223887 21.4110444,25.96370859 L 19.59852583,25.96370859 C 19.59852583,28.58625982 21.75985258,30.71341518 24.4240623,30.71341518 L 24.4240623,29.82079986 M 20.50478512,25.96370859 L 21.4110444,25.96370859 C 21.4110444,24.32630676 22.75919872,22.99810418 24.4240623,22.99810418 L 24.4240623,21.21513045 C 21.75985258,21.21513045 19.59852583,23.34115735 19.59852583,25.96370859 L 20.50478512,25.96370859 M 24.4240623,22.10661732 L 24.4240623,22.99810418 C 26.08785591,22.99810418 27.43708019,24.32630676 27.43708019,25.96370859 L 29.24959876,25.96370859 C 29.24959876,23.34115735 27.08827201,21.21513045 24.4240623,21.21513045 L 24.4240623,22.10661732 M 50.38994234,43.32174777 L 50.38994234,44.21323463 L 80.76621292,44.21323463 L 80.76621292,42.4302609 L 50.38994234,42.4302609 L 50.38994234,43.32174777 M 83.21642989,40.91134784 L 84.12161921,40.91134784 L 84.12161921,9.08865216 L 82.30910064,9.08865216 L 82.30910064,40.91134784 L 83.21642989,40.91134784 M 80.764073,6.67825223 L 80.764073,5.78676537 L 50.38780241,5.78676537 L 50.38780241,7.5697391 L 80.764073,7.5697391 L 80.764073,6.67825223 M 47.93758545,9.08865216 L 47.03239612,9.08865216 L 47.03239612,40.91134784 L 48.8449147,40.91134784 L 48.8449147,9.08865216 L 47.93758545,9.08865216 M 50.38780241,6.67825223 L 50.38780241,5.78676537 C 48.53462522,5.78676537 47.03239612,7.26505371 47.03239612,9.08865216 L 48.8449147,9.08865216 C 48.8449147,8.24907466 49.53611128,7.5697391 50.38780241,7.5697391 L 50.38780241,6.67825223 M 83.21428996,9.08865216 L 84.11947928,9.08865216 C 84.11947928,7.26505371 82.61725019,5.78563691 80.764073,5.78563691 L 80.764073,7.56861063 C 81.6168341,7.56861063 82.30803067,8.24907466 82.30803067,9.08865216 L 83.21428996,9.08865216 M 80.764073,43.32174777 L 80.764073,44.21323463 C 82.61725019,44.21323463 84.11947928,42.73494629 84.11947928,40.91134784 L 82.30910064,40.91134784 C 82.30910064,41.74979688 81.61790406,42.4302609 80.76514296,42.4302609 L 80.764073,43.32174777 M 50.38780241,43.32174777 L 50.38780241,42.4302609 C 49.53611128,42.4302609 48.8449147,41.74979688 48.8449147,40.91134784 L 47.03239612,40.91134784 C 47.03239612,42.73494629 48.53462522,44.21323463 50.38780241,44.21323463 L 50.38780241,43.32174777 M 53.81810616,11.49905209 L 53.81810616,12.39053895 L 77.33483921,12.39053895 L 77.33483921,10.60756523 L 53.8170362,10.60756523 L 53.81810616,11.49905209",viewW:90,viewH:50}};export{L as FURNITURE_ART_FINGERPRINT,M as GENERATED_FURNITURE_ART}; diff --git a/custom_components/houseplan/frontend/houseplan-assets/houseplan-card-CwdwKGP9.js b/custom_components/houseplan/frontend/houseplan-assets/houseplan-card-BKJrmMEj.js similarity index 64% rename from custom_components/houseplan/frontend/houseplan-assets/houseplan-card-CwdwKGP9.js rename to custom_components/houseplan/frontend/houseplan-assets/houseplan-card-BKJrmMEj.js index f169a8d6..67e85d97 100644 --- a/custom_components/houseplan/frontend/houseplan-assets/houseplan-card-CwdwKGP9.js +++ b/custom_components/houseplan/frontend/houseplan-assets/houseplan-card-BKJrmMEj.js @@ -1,4 +1,4 @@ -globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="82d67fade42d86838ff98dbd4ec9c8d6f19dcc50bb4cfc5a31368dc008f58c3e";const e=globalThis,t=e.ShadowRoot&&(void 0===e.ShadyCSS||e.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,i=Symbol(),n=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 i=this.t;if(t&&void 0===e){const t=void 0!==i&&1===i.length;t&&(e=n.get(i)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),t&&n.set(i,e))}return e}toString(){return this.cssText}};const o=(e,...t)=>{const n=1===e.length?e[0]:t.reduce((t,i,n)=>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.")})(i)+e[n+1],e[0]);return new r(n,e,i)},s=t?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const i of e.cssRules)t+=i.cssText;return(e=>new r("string"==typeof e?e:e+"",void 0,i))(t)})(e):e,{is:a,defineProperty:l,getOwnPropertyDescriptor:c,getOwnPropertyNames:h,getOwnPropertySymbols:d,getPrototypeOf:u}=Object,p=globalThis,_=p.trustedTypes,m=_?_.emptyScript:"",g=p.reactiveElementPolyfillSupport,f=(e,t)=>e,v={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 i=e;switch(t){case Boolean:i=null!==e;break;case Number:i=null===e?null:Number(e);break;case Object:case Array:try{i=JSON.parse(e)}catch(e){i=null}}return i}},y=(e,t)=>!a(e,t),b={attribute:!0,type:String,converter:v,reflect:!1,useDefault:!1,hasChanged:y};Symbol.metadata??=Symbol("metadata"),p.litPropertyMetadata??=new WeakMap;let w=class 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=b){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){const i=Symbol(),n=this.getPropertyDescriptor(e,i,t);void 0!==n&&l(this.prototype,e,n)}}static getPropertyDescriptor(e,t,i){const{get:n,set:r}=c(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:n,set(t){const o=n?.call(this);r?.call(this,t),this.requestUpdate(e,o,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??b}static _$Ei(){if(this.hasOwnProperty(f("elementProperties")))return;const e=u(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(f("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(f("properties"))){const e=this.properties,t=[...h(e),...d(e)];for(const i of t)this.createProperty(i,e[i])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,i]of t)this.elementProperties.set(e,i)}this._$Eh=new Map;for(const[e,t]of this.elementProperties){const i=this._$Eu(e,t);void 0!==i&&this._$Eh.set(i,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const i=new Set(e.flat(1/0).reverse());for(const e of i)t.unshift(s(e))}else void 0!==e&&t.push(s(e));return t}static _$Eu(e,t){const i=t.attribute;return!1===i?void 0:"string"==typeof i?i:"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 i of t.keys())this.hasOwnProperty(i)&&(e.set(i,this[i]),delete this[i]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const i=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((i,n)=>{if(t)i.adoptedStyleSheets=n.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(const t of n){const n=document.createElement("style"),r=e.litNonce;void 0!==r&&n.setAttribute("nonce",r),n.textContent=t.cssText,i.appendChild(n)}})(i,this.constructor.elementStyles),i}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,i){this._$AK(e,i)}_$ET(e,t){const i=this.constructor.elementProperties.get(e),n=this.constructor._$Eu(e,i);if(void 0!==n&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:v).toAttribute(t,i.type);this._$Em=e,null==r?this.removeAttribute(n):this.setAttribute(n,r),this._$Em=null}}_$AK(e,t){const i=this.constructor,n=i._$Eh.get(e);if(void 0!==n&&this._$Em!==n){const e=i.getPropertyOptions(n),r="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:v;this._$Em=n;const o=r.fromAttribute(t,e.type);this[n]=o??this._$Ej?.get(n)??o,this._$Em=null}}requestUpdate(e,t,i,n=!1,r){if(void 0!==e){const o=this.constructor;if(!1===n&&(r=this[e]),i??=o.getPropertyOptions(e),!((i.hasChanged??y)(r,t)||i.useDefault&&i.reflect&&r===this._$Ej?.get(e)&&!this.hasAttribute(o._$Eu(e,i))))return;this.C(e,t,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:i,reflect:n,wrapped:r},o){i&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,o??t??this[e]),!0!==r||void 0!==o)||(this._$AL.has(e)||(this.hasUpdated||i||(t=void 0),this._$AL.set(e,t)),!0===n&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){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,i]of e){const{wrapped:e}=i,n=this[t];!0!==e||this._$AL.has(t)||void 0===n||this.C(t,void 0,i,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._$EM()}catch(t){throw e=!1,this._$EM(),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)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}};w.elementStyles=[],w.shadowRootOptions={mode:"open"},w[f("elementProperties")]=new Map,w[f("finalized")]=new Map,g?.({ReactiveElement:w}),(p.reactiveElementVersions??=[]).push("2.1.2");const k=globalThis,x=e=>e,S=k.trustedTypes,$=S?S.createPolicy("lit-html",{createHTML:e=>e}):void 0,M="$lit$",R=`lit$${Math.random().toFixed(9).slice(2)}$`,C="?"+R,T=`<${C}>`,D=document,A=()=>D.createComment(""),P=e=>null===e||"object"!=typeof e&&"function"!=typeof e,F=Array.isArray,z="[ \t\n\f\r]",I=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,O=/-->/g,E=/>/g,N=RegExp(`>|${z}(?:([^\\s"'>=/]+)(${z}*=${z}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),H=/'/g,L=/"/g,B=/^(?:script|style|textarea|title)$/i,q=e=>(t,...i)=>({_$litType$:e,strings:t,values:i}),j=q(1),W=q(2),U=Symbol.for("lit-noChange"),G=Symbol.for("lit-nothing"),V=new WeakMap,K=D.createTreeWalker(D,129);function Y(e,t){if(!F(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==$?$.createHTML(t):t}const X=(e,t)=>{const i=e.length-1,n=[];let r,o=2===t?"":3===t?"":"",s=I;for(let t=0;t"===l[0]?(s=r??I,c=-1):void 0===l[1]?c=-2:(c=s.lastIndex-l[2].length,a=l[1],s=void 0===l[3]?N:'"'===l[3]?L:H):s===L||s===H?s=N:s===O||s===E?s=I:(s=N,r=void 0);const d=s===N&&e[t+1].startsWith("/>")?" ":"";o+=s===I?i+T:c>=0?(n.push(a),i.slice(0,c)+M+i.slice(c)+R+d):i+R+(-2===c?t:d)}return[Y(e,o+(e[i]||"")+(2===t?"":3===t?"":"")),n]};class Z{constructor({strings:e,_$litType$:t},i){let n;this.parts=[];let r=0,o=0;const s=e.length-1,a=this.parts,[l,c]=X(e,t);if(this.el=Z.createElement(l,i),K.currentNode=this.el.content,2===t||3===t){const e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(n=K.nextNode())&&a.length0){n.textContent=S?S.emptyScript:"";for(let i=0;iF(e)||"function"==typeof e?.[Symbol.iterator])(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==G&&P(this._$AH)?this._$AA.nextSibling.data=e:this.T(D.createTextNode(e)),this._$AH=e}$(e){const{values:t,_$litType$:i}=e,n="number"==typeof i?this._$AC(e):(void 0===i.el&&(i.el=Z.createElement(Y(i.h,i.h[0]),this.options)),i);if(this._$AH?._$AD===n)this._$AH.p(t);else{const e=new Q(n,this),i=e.u(this.options);e.p(t),this.T(i),this._$AH=e}}_$AC(e){let t=V.get(e.strings);return void 0===t&&V.set(e.strings,t=new Z(e)),t}k(e){F(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let i,n=0;for(const r of e)n===t.length?t.push(i=new ee(this.O(A()),this.O(A()),this,this.options)):i=t[n],i._$AI(r),n++;n2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=G}_$AI(e,t=this,i,n){const r=this.strings;let o=!1;if(void 0===r)e=J(this,e,t,0),o=!P(e)||e!==this._$AH&&e!==U,o&&(this._$AH=e);else{const n=e;let s,a;for(e=r[0],s=0;s{const n=i?.renderBefore??t;let r=n._$litPart$;if(void 0===r){const e=i?.renderBefore??null;n._$litPart$=r=new ee(t.insertBefore(A(),e),e,void 0,i??{})}return r._$AI(e),r},ce=globalThis;let he=class extends w{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){const t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=le(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return U}};he._$litElement$=!0,he.finalized=!0,ce.litElementHydrateSupport?.({LitElement:he});const de=ce.litElementPolyfillSupport;de?.({LitElement:he}),(ce.litElementVersions??=[]).push("4.2.2");const ue=2,pe=e=>(...t)=>({_$litDirective$:e,values:t});let _e=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,i){this._$Ct=e,this._$AM=t,this._$Ci=i}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}};const{I:me}=se,ge=e=>e,fe=(e,t)=>void 0!==e?._$litType$,ve=()=>document.createComment(""),ye=(e,t,i)=>{const n=e._$AA.parentNode,r=void 0===t?e._$AB:t._$AA;if(void 0===i){const t=n.insertBefore(ve(),r),o=n.insertBefore(ve(),r);i=new me(t,o,e,e.options)}else{const t=i._$AB.nextSibling,o=i._$AM,s=o!==e;if(s){let t;i._$AQ?.(e),i._$AM=e,void 0!==i._$AP&&(t=e._$AU)!==o._$AU&&i._$AP(t)}if(t!==r||s){let e=i._$AA;for(;e!==t;){const t=ge(e).nextSibling;ge(n).insertBefore(e,r),e=t}}}return i},be=(e,t,i=e)=>(e._$AI(t,i),e),we={},ke=(e,t=we)=>e._$AH=t,xe=e=>e._$AH,Se=e=>{e._$AR(),e._$AA.remove()},$e=e=>(e=>null!=e?._$litType$?.h)(e)?e._$litType$.h:e.strings,Me=pe(class extends _e{constructor(e){super(e),this.et=new WeakMap}render(e){return[e]}update(e,[t]){const i=fe(this.it)?$e(this.it):null,n=fe(t)?$e(t):null;if(null!==i&&(null===n||i!==n)){const t=xe(e).pop();let n=this.et.get(i);if(void 0===n){const e=document.createDocumentFragment();n=le(G,e),n.setConnected(!1),this.et.set(i,n)}ke(n,[t]),ye(n,void 0,t)}if(null!==n){if(null===i||i!==n){const t=this.et.get(n);if(void 0!==t){const i=xe(t).pop();(e=>{e._$AR()})(e),ye(e,void 0,i),ke(e,[i])}}this.it=t}else this.it=void 0;return this.render(t)}}),Re=pe(class extends _e{constructor(){super(...arguments),this.key=G}render(e,t){return this.key=e,t}update(e,[t,i]){return t!==this.key&&(ke(e),this.key=t),i}}),Ce=(e,t,i)=>{const n=new Map;for(let r=t;r<=i;r++)n.set(e[r],r);return n},Te=pe(class extends _e{constructor(e){if(super(e),e.type!==ue)throw Error("repeat() can only be used in text expressions")}dt(e,t,i){let n;void 0===i?i=t:void 0!==t&&(n=t);const r=[],o=[];let s=0;for(const t of e)r[s]=n?n(t,s):s,o[s]=i(t,s),s++;return{values:o,keys:r}}render(e,t,i){return this.dt(e,t,i).values}update(e,[t,i,n]){const r=xe(e),{values:o,keys:s}=this.dt(t,i,n);if(!Array.isArray(r))return this.ut=s,o;const a=this.ut??=[],l=[];let c,h,d=0,u=r.length-1,p=0,_=o.length-1;for(;d<=u&&p<=_;)if(null===r[d])d++;else if(null===r[u])u--;else if(a[d]===s[p])l[p]=be(r[d],o[p]),d++,p++;else if(a[u]===s[_])l[_]=be(r[u],o[_]),u--,_--;else if(a[d]===s[_])l[_]=be(r[d],o[_]),ye(e,l[_+1],r[d]),d++,_--;else if(a[u]===s[p])l[p]=be(r[u],o[p]),ye(e,r[d],r[u]),u--,p++;else if(void 0===c&&(c=Ce(s,p,_),h=Ce(a,d,u)),c.has(a[d]))if(c.has(a[u])){const t=h.get(s[p]),i=void 0!==t?r[t]:null;if(null===i){const t=ye(e,r[d]);be(t,o[p]),l[p]=t}else l[p]=be(i,o[p]),ye(e,r[d],i),r[t]=null;p++}else Se(r[u]),u--;else Se(r[d]),d++;for(;p<=_;){const t=ye(e,l[_+1]);be(t,o[p]),l[p++]=t}for(;d<=u;){const e=r[d++];null!==e&&Se(e)}return this.ut=s,ke(e,l),U}}),De=new WeakMap;let Ae=0;class Pe extends he{constructor(){super(...arguments),this.title="",this.icon="",this.wide=!1,this.alert=!1,this.describedBy="",this.dismissOnScrim=!1,this.flexContent=!1,this.hass=null,this._opener=null,this._focusRoot=null,this._useHaDialog=null,this._closing=!1,this._overlays=[],this._titleId="hp-dialog-title-"+ ++Ae,this._focusInitial=()=>{const e=this._focusableElements(),t=e.find(e=>e.hasAttribute("autofocus"))||e[0]||(this._usesHaDialog()?null:this.renderRoot.querySelector(".close"))||this.renderRoot.querySelector(".surface")||this.renderRoot.querySelector("ha-dialog");t?.focus({preventScroll:!0})},this._requestClose=()=>{this._closing||(this._closing=!0,this.dispatchEvent(new CustomEvent("hp-close",{bubbles:!0,composed:!0})))},this._onKeyDown=e=>{if("Escape"===e.key){e.preventDefault(),e.stopImmediatePropagation(),this._pruneOverlays();const t=this._overlays[this._overlays.length-1];return t?void this._closeOverlay(t,"escape"):void this._requestClose()}if("Tab"!==e.key||this._usesHaDialog())return;const t=this.renderRoot.querySelector(".close"),i=t?[t,...this._focusableElements()]:this._focusableElements();if(!i.length)return e.preventDefault(),void this.renderRoot.querySelector(".surface")?.focus({preventScroll:!0});const n=this._deepActiveElement(),r=i[0],o=i[i.length-1];!e.shiftKey||n!==r&&i.includes(n)?e.shiftKey||n!==o||(e.preventDefault(),r.focus()):(e.preventDefault(),o.focus())},this._onFallbackCancel=e=>{e.preventDefault(),this._requestClose()},this._onFallbackClick=e=>{this.dismissOnScrim&&e.target===e.currentTarget&&this._requestClose()}}_usesHaDialog(){return!0===this._useHaDialog&&!this.alert}connectedCallback(){this.setAttribute("data-hp","dialog"),super.connectedCallback(),this._opener=this._deepActiveElement();const e=this.getRootNode();this._focusRoot=e;const t=De.get(e)||{dialogs:new Set,opener:this._opener};t.dialogs.add(this),De.set(e,t),null===this._useHaDialog&&(this._useHaDialog=!!customElements.get("ha-dialog")),this.addEventListener("keydown",this._onKeyDown,!0),queueMicrotask(()=>{this._ensureNativeModal()&&this._focusInitial()})}disconnectedCallback(){this.removeEventListener("keydown",this._onKeyDown,!0);const e=[...this._overlays];this._overlays=[];for(const t of e.reverse())t.close("disconnect");const t=this._focusRoot,i=this._opener;this._opener=null,this._focusRoot=null;const n=t?De.get(t):void 0;n?.dialogs.delete(this),super.disconnectedCallback(),t&&n&&requestAnimationFrame(()=>{const e=De.get(t);if(!e)return;if(!e.dialogs.size)return e.opener?.isConnected&&e.opener.focus({preventScroll:!0}),void De.delete(t);const n=i?.closest("hp-dialog");i?.isConnected&&n&&e.dialogs.has(n)&&i.focus({preventScroll:!0})})}firstUpdated(e){super.firstUpdated(e),this._ensureNativeModal(),queueMicrotask(()=>this._focusInitial())}updated(e){super.updated(e),this._ensureNativeModal()}_ensureNativeModal(){if(this._usesHaDialog()||!this.isConnected)return!1;const e=this.renderRoot.querySelector("dialog");if(!e?.isConnected)return!1;try{return!e.matches(":modal")&&(e.open&&e.close(),e.showModal(),!0)}catch{return!1}}_deepActiveElement(){let e=document.activeElement;for(;e?.shadowRoot?.activeElement;)e=e.shadowRoot.activeElement;return e&&e!==document.body?e:null}_focusableElements(){const e=["[autofocus]","a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])",'[contenteditable="true"]','[tabindex]:not([tabindex="-1"])'].join(","),t=[],i=new Set,n=r=>{if(!i.has(r)){if(i.add(r),r instanceof HTMLElement){if(r.matches(e)&&t.push(r),r instanceof HTMLSlotElement){for(const e of r.assignedNodes({flatten:!0}))n(e);return}if(r.shadowRoot){for(const e of r.shadowRoot.childNodes)n(e);return}}for(const e of r.childNodes)n(e)}};for(const e of this.childNodes)n(e);const r=this.overlayPortal();return r&&n(r),t.filter(e=>{let t=e;for(;t;){const e=getComputedStyle(t);if(t.hidden||t.inert||"true"===t.getAttribute("aria-hidden")||"none"===e.display||"hidden"===e.visibility)return!1;if(t=t.assignedSlot||t.parentElement||(t.getRootNode()instanceof ShadowRoot?t.getRootNode().host:null),t===this)break}return!0})}rejectClose(){this._closing=!1,this.requestUpdate()}_pruneOverlays(){this._overlays=this._overlays.filter(e=>e.owner.isConnected)}_closeOverlay(e,t){const i=this._overlays.findIndex(t=>t.token===e.token);i>=0&&this._overlays.splice(i,1),e.close(t)}registerOverlay(e){this._pruneOverlays();const t=this._overlays.find(t=>t.owner===e.owner);t&&this._overlays.splice(this._overlays.indexOf(t),1);const i=e.group||"transient";for(const e of[...this._overlays].reverse())e.group===i&&this._closeOverlay(e,"exclusive");const n={...e,group:i,token:Symbol("hp-overlay")};this._overlays.push(n);let r=!1;return()=>{if(r)return;r=!0;const e=this._overlays.findIndex(e=>e.token===n.token);e>=0&&this._overlays.splice(e,1)}}closeTransientOverlays(e="outside"){this._pruneOverlays();const t=[...this._overlays].filter(e=>"transient"===(e.group||"transient"));for(const i of t.reverse())this._closeOverlay(i,e);return t.length>0}overlayPortal(){return this.renderRoot.querySelector(".overlay-portal")}render(){const e=j` +globalThis.__HOUSEPLAN_BUILD_FINGERPRINT__="34d1dbfc181acaf58842dfced0e6aa3a899aef6b8d1eeba53732ef729a63137e";const e=globalThis,t=e.ShadowRoot&&(void 0===e.ShadyCSS||e.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,i=Symbol(),n=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 i=this.t;if(t&&void 0===e){const t=void 0!==i&&1===i.length;t&&(e=n.get(i)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),t&&n.set(i,e))}return e}toString(){return this.cssText}};const o=(e,...t)=>{const n=1===e.length?e[0]:t.reduce((t,i,n)=>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.")})(i)+e[n+1],e[0]);return new r(n,e,i)},s=t?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const i of e.cssRules)t+=i.cssText;return(e=>new r("string"==typeof e?e:e+"",void 0,i))(t)})(e):e,{is:a,defineProperty:l,getOwnPropertyDescriptor:c,getOwnPropertyNames:h,getOwnPropertySymbols:d,getPrototypeOf:u}=Object,p=globalThis,_=p.trustedTypes,m=_?_.emptyScript:"",g=p.reactiveElementPolyfillSupport,f=(e,t)=>e,v={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 i=e;switch(t){case Boolean:i=null!==e;break;case Number:i=null===e?null:Number(e);break;case Object:case Array:try{i=JSON.parse(e)}catch(e){i=null}}return i}},y=(e,t)=>!a(e,t),b={attribute:!0,type:String,converter:v,reflect:!1,useDefault:!1,hasChanged:y};Symbol.metadata??=Symbol("metadata"),p.litPropertyMetadata??=new WeakMap;let w=class 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=b){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){const i=Symbol(),n=this.getPropertyDescriptor(e,i,t);void 0!==n&&l(this.prototype,e,n)}}static getPropertyDescriptor(e,t,i){const{get:n,set:r}=c(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:n,set(t){const o=n?.call(this);r?.call(this,t),this.requestUpdate(e,o,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??b}static _$Ei(){if(this.hasOwnProperty(f("elementProperties")))return;const e=u(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(f("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(f("properties"))){const e=this.properties,t=[...h(e),...d(e)];for(const i of t)this.createProperty(i,e[i])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,i]of t)this.elementProperties.set(e,i)}this._$Eh=new Map;for(const[e,t]of this.elementProperties){const i=this._$Eu(e,t);void 0!==i&&this._$Eh.set(i,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const i=new Set(e.flat(1/0).reverse());for(const e of i)t.unshift(s(e))}else void 0!==e&&t.push(s(e));return t}static _$Eu(e,t){const i=t.attribute;return!1===i?void 0:"string"==typeof i?i:"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 i of t.keys())this.hasOwnProperty(i)&&(e.set(i,this[i]),delete this[i]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const i=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((i,n)=>{if(t)i.adoptedStyleSheets=n.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(const t of n){const n=document.createElement("style"),r=e.litNonce;void 0!==r&&n.setAttribute("nonce",r),n.textContent=t.cssText,i.appendChild(n)}})(i,this.constructor.elementStyles),i}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,i){this._$AK(e,i)}_$ET(e,t){const i=this.constructor.elementProperties.get(e),n=this.constructor._$Eu(e,i);if(void 0!==n&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:v).toAttribute(t,i.type);this._$Em=e,null==r?this.removeAttribute(n):this.setAttribute(n,r),this._$Em=null}}_$AK(e,t){const i=this.constructor,n=i._$Eh.get(e);if(void 0!==n&&this._$Em!==n){const e=i.getPropertyOptions(n),r="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:v;this._$Em=n;const o=r.fromAttribute(t,e.type);this[n]=o??this._$Ej?.get(n)??o,this._$Em=null}}requestUpdate(e,t,i,n=!1,r){if(void 0!==e){const o=this.constructor;if(!1===n&&(r=this[e]),i??=o.getPropertyOptions(e),!((i.hasChanged??y)(r,t)||i.useDefault&&i.reflect&&r===this._$Ej?.get(e)&&!this.hasAttribute(o._$Eu(e,i))))return;this.C(e,t,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:i,reflect:n,wrapped:r},o){i&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,o??t??this[e]),!0!==r||void 0!==o)||(this._$AL.has(e)||(this.hasUpdated||i||(t=void 0),this._$AL.set(e,t)),!0===n&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){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,i]of e){const{wrapped:e}=i,n=this[t];!0!==e||this._$AL.has(t)||void 0===n||this.C(t,void 0,i,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._$EM()}catch(t){throw e=!1,this._$EM(),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)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}};w.elementStyles=[],w.shadowRootOptions={mode:"open"},w[f("elementProperties")]=new Map,w[f("finalized")]=new Map,g?.({ReactiveElement:w}),(p.reactiveElementVersions??=[]).push("2.1.2");const k=globalThis,x=e=>e,S=k.trustedTypes,$=S?S.createPolicy("lit-html",{createHTML:e=>e}):void 0,M="$lit$",R=`lit$${Math.random().toFixed(9).slice(2)}$`,C="?"+R,T=`<${C}>`,D=document,A=()=>D.createComment(""),P=e=>null===e||"object"!=typeof e&&"function"!=typeof e,F=Array.isArray,z="[ \t\n\f\r]",I=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,O=/-->/g,E=/>/g,N=RegExp(`>|${z}(?:([^\\s"'>=/]+)(${z}*=${z}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),H=/'/g,L=/"/g,B=/^(?:script|style|textarea|title)$/i,q=e=>(t,...i)=>({_$litType$:e,strings:t,values:i}),j=q(1),W=q(2),U=Symbol.for("lit-noChange"),G=Symbol.for("lit-nothing"),V=new WeakMap,K=D.createTreeWalker(D,129);function Y(e,t){if(!F(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==$?$.createHTML(t):t}const X=(e,t)=>{const i=e.length-1,n=[];let r,o=2===t?"":3===t?"":"",s=I;for(let t=0;t"===l[0]?(s=r??I,c=-1):void 0===l[1]?c=-2:(c=s.lastIndex-l[2].length,a=l[1],s=void 0===l[3]?N:'"'===l[3]?L:H):s===L||s===H?s=N:s===O||s===E?s=I:(s=N,r=void 0);const d=s===N&&e[t+1].startsWith("/>")?" ":"";o+=s===I?i+T:c>=0?(n.push(a),i.slice(0,c)+M+i.slice(c)+R+d):i+R+(-2===c?t:d)}return[Y(e,o+(e[i]||"")+(2===t?"":3===t?"":"")),n]};class Z{constructor({strings:e,_$litType$:t},i){let n;this.parts=[];let r=0,o=0;const s=e.length-1,a=this.parts,[l,c]=X(e,t);if(this.el=Z.createElement(l,i),K.currentNode=this.el.content,2===t||3===t){const e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(n=K.nextNode())&&a.length0){n.textContent=S?S.emptyScript:"";for(let i=0;iF(e)||"function"==typeof e?.[Symbol.iterator])(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==G&&P(this._$AH)?this._$AA.nextSibling.data=e:this.T(D.createTextNode(e)),this._$AH=e}$(e){const{values:t,_$litType$:i}=e,n="number"==typeof i?this._$AC(e):(void 0===i.el&&(i.el=Z.createElement(Y(i.h,i.h[0]),this.options)),i);if(this._$AH?._$AD===n)this._$AH.p(t);else{const e=new Q(n,this),i=e.u(this.options);e.p(t),this.T(i),this._$AH=e}}_$AC(e){let t=V.get(e.strings);return void 0===t&&V.set(e.strings,t=new Z(e)),t}k(e){F(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let i,n=0;for(const r of e)n===t.length?t.push(i=new ee(this.O(A()),this.O(A()),this,this.options)):i=t[n],i._$AI(r),n++;n2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=G}_$AI(e,t=this,i,n){const r=this.strings;let o=!1;if(void 0===r)e=J(this,e,t,0),o=!P(e)||e!==this._$AH&&e!==U,o&&(this._$AH=e);else{const n=e;let s,a;for(e=r[0],s=0;s{const n=i?.renderBefore??t;let r=n._$litPart$;if(void 0===r){const e=i?.renderBefore??null;n._$litPart$=r=new ee(t.insertBefore(A(),e),e,void 0,i??{})}return r._$AI(e),r},ce=globalThis;let he=class extends w{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){const t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=le(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return U}};he._$litElement$=!0,he.finalized=!0,ce.litElementHydrateSupport?.({LitElement:he});const de=ce.litElementPolyfillSupport;de?.({LitElement:he}),(ce.litElementVersions??=[]).push("4.2.2");const ue=2,pe=e=>(...t)=>({_$litDirective$:e,values:t});let _e=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,i){this._$Ct=e,this._$AM=t,this._$Ci=i}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}};const{I:me}=se,ge=e=>e,fe=(e,t)=>void 0!==e?._$litType$,ve=()=>document.createComment(""),ye=(e,t,i)=>{const n=e._$AA.parentNode,r=void 0===t?e._$AB:t._$AA;if(void 0===i){const t=n.insertBefore(ve(),r),o=n.insertBefore(ve(),r);i=new me(t,o,e,e.options)}else{const t=i._$AB.nextSibling,o=i._$AM,s=o!==e;if(s){let t;i._$AQ?.(e),i._$AM=e,void 0!==i._$AP&&(t=e._$AU)!==o._$AU&&i._$AP(t)}if(t!==r||s){let e=i._$AA;for(;e!==t;){const t=ge(e).nextSibling;ge(n).insertBefore(e,r),e=t}}}return i},be=(e,t,i=e)=>(e._$AI(t,i),e),we={},ke=(e,t=we)=>e._$AH=t,xe=e=>e._$AH,Se=e=>{e._$AR(),e._$AA.remove()},$e=e=>(e=>null!=e?._$litType$?.h)(e)?e._$litType$.h:e.strings,Me=pe(class extends _e{constructor(e){super(e),this.et=new WeakMap}render(e){return[e]}update(e,[t]){const i=fe(this.it)?$e(this.it):null,n=fe(t)?$e(t):null;if(null!==i&&(null===n||i!==n)){const t=xe(e).pop();let n=this.et.get(i);if(void 0===n){const e=document.createDocumentFragment();n=le(G,e),n.setConnected(!1),this.et.set(i,n)}ke(n,[t]),ye(n,void 0,t)}if(null!==n){if(null===i||i!==n){const t=this.et.get(n);if(void 0!==t){const i=xe(t).pop();(e=>{e._$AR()})(e),ye(e,void 0,i),ke(e,[i])}}this.it=t}else this.it=void 0;return this.render(t)}}),Re=pe(class extends _e{constructor(){super(...arguments),this.key=G}render(e,t){return this.key=e,t}update(e,[t,i]){return t!==this.key&&(ke(e),this.key=t),i}}),Ce=(e,t,i)=>{const n=new Map;for(let r=t;r<=i;r++)n.set(e[r],r);return n},Te=pe(class extends _e{constructor(e){if(super(e),e.type!==ue)throw Error("repeat() can only be used in text expressions")}dt(e,t,i){let n;void 0===i?i=t:void 0!==t&&(n=t);const r=[],o=[];let s=0;for(const t of e)r[s]=n?n(t,s):s,o[s]=i(t,s),s++;return{values:o,keys:r}}render(e,t,i){return this.dt(e,t,i).values}update(e,[t,i,n]){const r=xe(e),{values:o,keys:s}=this.dt(t,i,n);if(!Array.isArray(r))return this.ut=s,o;const a=this.ut??=[],l=[];let c,h,d=0,u=r.length-1,p=0,_=o.length-1;for(;d<=u&&p<=_;)if(null===r[d])d++;else if(null===r[u])u--;else if(a[d]===s[p])l[p]=be(r[d],o[p]),d++,p++;else if(a[u]===s[_])l[_]=be(r[u],o[_]),u--,_--;else if(a[d]===s[_])l[_]=be(r[d],o[_]),ye(e,l[_+1],r[d]),d++,_--;else if(a[u]===s[p])l[p]=be(r[u],o[p]),ye(e,r[d],r[u]),u--,p++;else if(void 0===c&&(c=Ce(s,p,_),h=Ce(a,d,u)),c.has(a[d]))if(c.has(a[u])){const t=h.get(s[p]),i=void 0!==t?r[t]:null;if(null===i){const t=ye(e,r[d]);be(t,o[p]),l[p]=t}else l[p]=be(i,o[p]),ye(e,r[d],i),r[t]=null;p++}else Se(r[u]),u--;else Se(r[d]),d++;for(;p<=_;){const t=ye(e,l[_+1]);be(t,o[p]),l[p++]=t}for(;d<=u;){const e=r[d++];null!==e&&Se(e)}return this.ut=s,ke(e,l),U}}),De=new WeakMap;let Ae=0;class Pe extends he{constructor(){super(...arguments),this.title="",this.icon="",this.wide=!1,this.alert=!1,this.describedBy="",this.dismissOnScrim=!1,this.flexContent=!1,this.hass=null,this._opener=null,this._focusRoot=null,this._useHaDialog=null,this._closing=!1,this._overlays=[],this._titleId="hp-dialog-title-"+ ++Ae,this._focusInitial=()=>{const e=this._focusableElements(),t=e.find(e=>e.hasAttribute("autofocus"))||e[0]||(this._usesHaDialog()?null:this.renderRoot.querySelector(".close"))||this.renderRoot.querySelector(".surface")||this.renderRoot.querySelector("ha-dialog");t?.focus({preventScroll:!0})},this._requestClose=()=>{this._closing||(this._closing=!0,this.dispatchEvent(new CustomEvent("hp-close",{bubbles:!0,composed:!0})))},this._onKeyDown=e=>{if("Escape"===e.key){e.preventDefault(),e.stopImmediatePropagation(),this._pruneOverlays();const t=this._overlays[this._overlays.length-1];return t?void this._closeOverlay(t,"escape"):void this._requestClose()}if("Tab"!==e.key||this._usesHaDialog())return;const t=this.renderRoot.querySelector(".close"),i=t?[t,...this._focusableElements()]:this._focusableElements();if(!i.length)return e.preventDefault(),void this.renderRoot.querySelector(".surface")?.focus({preventScroll:!0});const n=this._deepActiveElement(),r=i[0],o=i[i.length-1];!e.shiftKey||n!==r&&i.includes(n)?e.shiftKey||n!==o||(e.preventDefault(),r.focus()):(e.preventDefault(),o.focus())},this._onFallbackCancel=e=>{e.preventDefault(),this._requestClose()},this._onFallbackClick=e=>{this.dismissOnScrim&&e.target===e.currentTarget&&this._requestClose()}}_usesHaDialog(){return!0===this._useHaDialog&&!this.alert}connectedCallback(){this.setAttribute("data-hp","dialog"),super.connectedCallback(),this._opener=this._deepActiveElement();const e=this.getRootNode();this._focusRoot=e;const t=De.get(e)||{dialogs:new Set,opener:this._opener};t.dialogs.add(this),De.set(e,t),null===this._useHaDialog&&(this._useHaDialog=!!customElements.get("ha-dialog")),this.addEventListener("keydown",this._onKeyDown,!0),queueMicrotask(()=>{this._ensureNativeModal()&&this._focusInitial()})}disconnectedCallback(){this.removeEventListener("keydown",this._onKeyDown,!0);const e=[...this._overlays];this._overlays=[];for(const t of e.reverse())t.close("disconnect");const t=this._focusRoot,i=this._opener;this._opener=null,this._focusRoot=null;const n=t?De.get(t):void 0;n?.dialogs.delete(this),super.disconnectedCallback(),t&&n&&requestAnimationFrame(()=>{const e=De.get(t);if(!e)return;if(!e.dialogs.size)return e.opener?.isConnected&&e.opener.focus({preventScroll:!0}),void De.delete(t);const n=i?.closest("hp-dialog");i?.isConnected&&n&&e.dialogs.has(n)&&i.focus({preventScroll:!0})})}firstUpdated(e){super.firstUpdated(e),this._ensureNativeModal(),queueMicrotask(()=>this._focusInitial())}updated(e){super.updated(e),this._ensureNativeModal()}_ensureNativeModal(){if(this._usesHaDialog()||!this.isConnected)return!1;const e=this.renderRoot.querySelector("dialog");if(!e?.isConnected)return!1;try{return!e.matches(":modal")&&(e.open&&e.close(),e.showModal(),!0)}catch{return!1}}_deepActiveElement(){let e=document.activeElement;for(;e?.shadowRoot?.activeElement;)e=e.shadowRoot.activeElement;return e&&e!==document.body?e:null}_focusableElements(){const e=["[autofocus]","a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])",'[contenteditable="true"]','[tabindex]:not([tabindex="-1"])'].join(","),t=[],i=new Set,n=r=>{if(!i.has(r)){if(i.add(r),r instanceof HTMLElement){if(r.matches(e)&&t.push(r),r instanceof HTMLSlotElement){for(const e of r.assignedNodes({flatten:!0}))n(e);return}if(r.shadowRoot){for(const e of r.shadowRoot.childNodes)n(e);return}}for(const e of r.childNodes)n(e)}};for(const e of this.childNodes)n(e);const r=this.overlayPortal();return r&&n(r),t.filter(e=>{let t=e;for(;t;){const e=getComputedStyle(t);if(t.hidden||t.inert||"true"===t.getAttribute("aria-hidden")||"none"===e.display||"hidden"===e.visibility)return!1;if(t=t.assignedSlot||t.parentElement||(t.getRootNode()instanceof ShadowRoot?t.getRootNode().host:null),t===this)break}return!0})}rejectClose(){this._closing=!1,this.requestUpdate()}_pruneOverlays(){this._overlays=this._overlays.filter(e=>e.owner.isConnected)}_closeOverlay(e,t){const i=this._overlays.findIndex(t=>t.token===e.token);i>=0&&this._overlays.splice(i,1),e.close(t)}registerOverlay(e){this._pruneOverlays();const t=this._overlays.find(t=>t.owner===e.owner);t&&this._overlays.splice(this._overlays.indexOf(t),1);const i=e.group||"transient";for(const e of[...this._overlays].reverse())e.group===i&&this._closeOverlay(e,"exclusive");const n={...e,group:i,token:Symbol("hp-overlay")};this._overlays.push(n);let r=!1;return()=>{if(r)return;r=!0;const e=this._overlays.findIndex(e=>e.token===n.token);e>=0&&this._overlays.splice(e,1)}}closeTransientOverlays(e="outside"){this._pruneOverlays();const t=[...this._overlays].filter(e=>"transient"===(e.group||"transient"));for(const i of t.reverse())this._closeOverlay(i,e);return t.length>0}overlayPortal(){return this.renderRoot.querySelector(".overlay-portal")}render(){const e=j` ${this.icon?j``:G} ${this.title} `;return this._usesHaDialog()?this.describedBy?j`{this._active={...t,resolve:e},this._changed(t)})}resolve(e,t){const i=this._active;return!(!i||i.token!==e)&&(this._active=null,this._changed(null),i.resolve(t),!0)}cancel(){const e=this._active;return!!e&&this.resolve(e.token,!1)}}const Ie=new Set(["hacs","sun","backup","hassio","met","telegram_bot","mobile_app","systemmonitor","better_thermostat","adaptive_lighting","yandex_pogoda","upnp_serial_number"]),Oe=[{pattern:"протечк|leak|water sensor",icon:"mdi:water-alert"},{pattern:"клапан|valve",icon:"mdi:pipe-valve"},{pattern:"дым|smoke",icon:"mdi:smoke-detector"},{pattern:"термоголов|trv|radiator",icon:"mdi:radiator"},{pattern:"чайник|kettle|термопот",icon:"mdi:kettle"},{pattern:"сауна|sauna|harvia|парная|парилк",icon:"mdi:hot-tub"},{pattern:"температ|temperature|thermometer|climate sensor",icon:"mdi:thermometer"},{pattern:"qingping|air monitor|молекул|air quality",icon:"mdi:air-filter"},{pattern:"штор|curtain|blind|shade",icon:"mdi:roller-shade"},{pattern:"розетк|plug|socket|outlet",icon:"mdi:power-socket-de"},{pattern:"выключат|switch",icon:"mdi:light-switch"},{pattern:"лампа|лампочк|bulb|gx53|светильник|rgb|lamp|light strip",icon:"mdi:lightbulb"},{pattern:"камер|camera",icon:"mdi:cctv"},{pattern:"замок|ttlock|lock|sn609|sn9161",icon:"mdi:lock"},{pattern:"ворота|garage|gate",icon:"mdi:garage-variant"},{pattern:"калитк|door|открыт|contact",icon:"mdi:door"},{pattern:"счётчик|счетчик|kws|meter",icon:"mdi:meter-electric"},{pattern:"вводный автомат|breaker|wifimcbn",icon:"mdi:electric-switch"},{pattern:"myheat|котёл|котел|boiler|отоплен|heating",icon:"mdi:water-boiler"},{pattern:"холодильник|fridge",icon:"mdi:fridge"},{pattern:"стиральн|washer|washing",icon:"mdi:washing-machine"},{pattern:"сушилк|dryer",icon:"mdi:tumble-dryer"},{pattern:"пылесос|vacuum|dreame|roborock",icon:"mdi:robot-vacuum"},{pattern:"soundbar",icon:"mdi:soundbar"},{pattern:"колонк|станц|speaker|яндекс|yandex|алиса|alice",icon:"mdi:speaker"},{pattern:"tv|телевизор|hyundaitv|mitv|television",icon:"mdi:television"},{pattern:"keenetic|роутер|router|mesh|access point",icon:"mdi:router-wireless"},{pattern:"ибп|ups|kirpich",icon:"mdi:battery-charging-high"},{pattern:"slzb|координат|zigbee|coordinator",icon:"mdi:zigbee"},{pattern:"motion|движен|presence|присутств",icon:"mdi:motion-sensor"},{pattern:"humidity|влажн",icon:"mdi:water-percent"}];function Ee(e){const t=[];for(const i of e)if(i&&"string"==typeof i.pattern&&i.icon)try{t.push({re:new RegExp(i.pattern,"i"),icon:i.icon})}catch{}return t}function Ne(e){try{return new RegExp(e,"i"),!0}catch{return!1}}const He=Ee(Oe),Le={temperature:"mdi:thermometer",humidity:"mdi:water-percent",motion:"mdi:motion-sensor",occupancy:"mdi:motion-sensor",presence:"mdi:motion-sensor",door:"mdi:door",window:"mdi:window-closed",garage_door:"mdi:garage-variant",smoke:"mdi:smoke-detector",moisture:"mdi:water-alert",gas:"mdi:gas-cylinder",power:"mdi:meter-electric",energy:"mdi:meter-electric",illuminance:"mdi:brightness-5",co2:"mdi:molecule-co2",pm25:"mdi:air-filter",battery:"mdi:battery"},Be="mdi:chip";function qe(e,t,i){const n=((e||"")+" "+(t||"")).toLowerCase();for(const{re:e,icon:t}of i??He)if(e.test(n))return t;return Be}const je=["light","switch","cover","valve","lock","climate","fan","media_player","camera","vacuum","humidifier","water_heater","alarm_control_panel","sensor","binary_sensor","event","button","number","select","update"];var We=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,Ue=Math.ceil,Ge=Math.floor,Ve="[BigNumber Error] ",Ke=Ve+"Number primitive has more than 15 significant digits: ",Ye=1e14,Xe=14,Ze=9007199254740991,Je=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],Qe=1e7,et=1e9;function tt(e){var t=0|e;return e>0||e===t?t:t-1}function it(e){for(var t,i,n=1,r=e.length,o=e[0]+"";nc^i?1:-1;for(a=(l=r.length)<(c=o.length)?l:c,s=0;so[s]^i?1:-1;return l==c?0:l>c^i?1:-1}function rt(e,t,i,n){if(ei||e!==Ge(e))throw Error(Ve+(n||"Argument")+("number"==typeof e?ei?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function ot(e){var t=e.c.length-1;return tt(e.e/Xe)==t&&e.c[t]%2!=0}function st(e,t){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(t<0?"e":"e+")+t}function at(e,t,i){var n,r;if(t<0){for(r=i+".";++t;r+=i);e=r+e}else if(++t>(n=e.length)){for(r=i,t-=n;--t;r+=i);e+=r}else ty?u.c=u.e=null:e.e=10;l/=10,a++);return void(a>y?u.c=u.e=null:(u.e=a,u.c=[e]))}d=String(e)}else{if(!We.test(d=String(e)))return r(u,d,c);u.s=45==d.charCodeAt(0)?(d=d.slice(1),-1):1}(a=d.indexOf("."))>-1&&(d=d.replace(".","")),(l=d.search(/e/i))>0?(a<0&&(a=l),a+=+d.slice(l+1),d=d.substring(0,l)):a<0&&(a=d.length)}else{if(rt(t,2,S.length,"Base"),10==t&&$)return D(u=new M(e),_+u.e+1,m);if(d=String(e),c="number"==typeof e){if(0*e!=0)return r(u,d,c,t);if(u.s=1/e<0?(d=d.slice(1),-1):1,M.DEBUG&&d.replace(/^0\.0*|\./,"").length>15)throw Error(Ke+e)}else u.s=45===d.charCodeAt(0)?(d=d.slice(1),-1):1;for(i=S.slice(0,t),a=l=0,h=d.length;la){a=h;continue}}else if(!s&&(d==d.toUpperCase()&&(d=d.toLowerCase())||d==d.toLowerCase()&&(d=d.toUpperCase()))){s=!0,l=-1,a=0;continue}return r(u,String(e),c,t)}c=!1,(a=(d=n(d,t,10,u.s)).indexOf("."))>-1?d=d.replace(".",""):a=d.length}for(l=0;48===d.charCodeAt(l);l++);for(h=d.length;48===d.charCodeAt(--h););if(d=d.slice(l,++h)){if(h-=l,c&&M.DEBUG&&h>15&&(e>Ze||e!==Ge(e)))throw Error(Ke+u.s*e);if((a=a-l-1)>y)u.c=u.e=null;else if(a=f)?st(l,s):at(l,s,"0");else if(o=(e=D(new M(e),t,i)).e,a=(l=it(e.c)).length,1==n||2==n&&(t<=o||o<=g)){for(;as),l=at(l,o,"0"),o+1>a){if(--t>0)for(l+=".";t--;l+="0");}else if((t+=o-a)>0)for(o+1==a&&(l+=".");t--;l+="0");return e.s<0&&r?"-"+l:l}function C(e,t){for(var i,n,r=1,o=new M(e[0]);r=10;r/=10,n++);return(i=n+i*Xe-1)>y?e.c=e.e=null:i=10;a/=10,r++);if((o=t-r)<0)o+=Xe,s=t,l=d[c=0],h=Ge(l/u[r-s-1]%10);else if((c=Ue((o+1)/Xe))>=d.length){if(!n)break e;for(;d.length<=c;d.push(0));l=h=0,r=1,s=(o%=Xe)-Xe+1}else{for(l=a=d[c],r=1;a>=10;a/=10,r++);h=(s=(o%=Xe)-Xe+r)<0?0:Ge(l/u[r-s-1]%10)}if(n=n||t<0||null!=d[c+1]||(s<0?l:l%u[r-s-1]),n=i<4?(h||n)&&(0==i||i==(e.s<0?3:2)):h>5||5==h&&(4==i||n||6==i&&(o>0?s>0?l/u[r-s]:0:d[c-1])%10&1||i==(e.s<0?8:7)),t<1||!d[0])return d.length=0,n?(t-=e.e+1,d[0]=u[(Xe-t%Xe)%Xe],e.e=-t||0):d[0]=e.e=0,e;if(0==o?(d.length=c,a=1,c--):(d.length=c+1,a=u[Xe-o],d[c]=s>0?Ge(l/u[r-s]%u[s])*a:0),n)for(;;){if(0==c){for(o=1,s=d[0];s>=10;s/=10,o++);for(s=d[0]+=a,a=1;s>=10;s/=10,a++);o!=a&&(e.e++,d[0]==Ye&&(d[0]=1));break}if(d[c]+=a,d[c]!=Ye)break;d[c--]=0,a=1}for(o=d.length;0===d[--o];d.pop());}e.e>y?e.c=e.e=null:e.e=f?st(t,i):at(t,i,"0"),e.s<0?"-"+t:t)}return M.clone=e,M.ROUND_UP=0,M.ROUND_DOWN=1,M.ROUND_CEIL=2,M.ROUND_FLOOR=3,M.ROUND_HALF_UP=4,M.ROUND_HALF_DOWN=5,M.ROUND_HALF_EVEN=6,M.ROUND_HALF_CEIL=7,M.ROUND_HALF_FLOOR=8,M.EUCLID=9,M.config=M.set=function(e){var t,i;if(null!=e){if("object"!=typeof e)throw Error(Ve+"Object expected: "+e);if(e.hasOwnProperty(t="DECIMAL_PLACES")&&(rt(i=e[t],0,et,t),_=i),e.hasOwnProperty(t="ROUNDING_MODE")&&(rt(i=e[t],0,8,t),m=i),e.hasOwnProperty(t="EXPONENTIAL_AT")&&((i=e[t])&&i.pop?(rt(i[0],-et,0,t),rt(i[1],0,et,t),g=i[0],f=i[1]):(rt(i,-et,et,t),g=-(f=i<0?-i:i))),e.hasOwnProperty(t="RANGE"))if((i=e[t])&&i.pop)rt(i[0],-et,-1,t),rt(i[1],1,et,t),v=i[0],y=i[1];else{if(rt(i,-et,et,t),!i)throw Error(Ve+t+" cannot be zero: "+i);v=-(y=i<0?-i:i)}if(e.hasOwnProperty(t="CRYPTO")){if((i=e[t])!==!!i)throw Error(Ve+t+" not true or false: "+i);if(i){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw b=!i,Error(Ve+"crypto unavailable");b=i}else b=i}if(e.hasOwnProperty(t="MODULO_MODE")&&(rt(i=e[t],0,9,t),w=i),e.hasOwnProperty(t="POW_PRECISION")&&(rt(i=e[t],0,et,t),k=i),e.hasOwnProperty(t="FORMAT")){if("object"!=typeof(i=e[t]))throw Error(Ve+t+" not an object: "+i);x=i}if(e.hasOwnProperty(t="ALPHABET")){if("string"!=typeof(i=e[t])||/^.?$|[+\-.\s]|(.).*\1/.test(i))throw Error(Ve+t+" invalid: "+i);$="0123456789"==i.slice(0,10),S=i}}return{DECIMAL_PLACES:_,ROUNDING_MODE:m,EXPONENTIAL_AT:[g,f],RANGE:[v,y],CRYPTO:b,MODULO_MODE:w,POW_PRECISION:k,FORMAT:x,ALPHABET:S}},M.isBigNumber=function(e){if(!e||!0!==e._isBigNumber)return!1;if(!M.DEBUG)return!0;var t,i,n=e.c,r=e.e,o=e.s;e:if("[object Array]"=={}.toString.call(n)){if((1===o||-1===o)&&r>=-et&&r<=et&&r===Ge(r)){if(0===n[0]){if(0===r&&1===n.length)return!0;break e}if((t=(r+1)%Xe)<1&&(t+=Xe),String(n[0]).length==t){for(t=0;t=Ye||i!==Ge(i))break e;if(0!==i)return!0}}}else if(null===n&&null===r&&(null===o||1===o||-1===o))return!0;throw Error(Ve+"Invalid BigNumber: "+e)},M.maximum=M.max=function(){return C(arguments,-1)},M.minimum=M.min=function(){return C(arguments,1)},M.random=(o=9007199254740992,s=Math.random()*o&2097151?function(){return Ge(Math.random()*o)}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)},function(e){var t,i,n,r,o,a=0,l=[],c=new M(p);if(null==e?e=_:rt(e,0,et),r=Ue(e/Xe),b)if(crypto.getRandomValues){for(t=crypto.getRandomValues(new Uint32Array(r*=2));a>>11))>=9e15?(i=crypto.getRandomValues(new Uint32Array(2)),t[a]=i[0],t[a+1]=i[1]):(l.push(o%1e14),a+=2);a=r/2}else{if(!crypto.randomBytes)throw b=!1,Error(Ve+"crypto unavailable");for(t=crypto.randomBytes(r*=7);a=9e15?crypto.randomBytes(7).copy(t,a):(l.push(o%1e14),a+=7);a=r/7}if(!b)for(;a=10;o/=10,a++);ai-1&&(null==s[r+1]&&(s[r+1]=0),s[r+1]+=s[r]/i|0,s[r]%=i)}return s.reverse()}return function(n,r,o,s,a){var l,c,h,d,u,p,g,f,v=n.indexOf("."),y=_,b=m;for(v>=0&&(d=k,k=0,n=n.replace(".",""),p=(f=new M(r)).pow(n.length-v),k=d,f.c=t(at(it(p.c),p.e,"0"),10,o,e),f.e=f.c.length),h=d=(g=t(n,r,o,a?(l=S,e):(l=e,S))).length;0==g[--d];g.pop());if(!g[0])return l.charAt(0);if(v<0?--h:(p.c=g,p.e=h,p.s=s,g=(p=i(p,f,y,b,o)).c,u=p.r,h=p.e),v=g[c=h+y+1],d=o/2,u=u||c<0||null!=g[c+1],u=b<4?(null!=v||u)&&(0==b||b==(p.s<0?3:2)):v>d||v==d&&(4==b||u||6==b&&1&g[c-1]||b==(p.s<0?8:7)),c<1||!g[0])n=u?at(l.charAt(1),-y,l.charAt(0)):l.charAt(0);else{if(g.length=c,u)for(--o;++g[--c]>o;)g[c]=0,c||(++h,g=[1].concat(g));for(d=g.length;!g[--d];);for(v=0,n="";v<=d;n+=l.charAt(g[v++]));n=at(n,h,l.charAt(0))}return n}}(),i=function(){function e(e,t,i){var n,r,o,s,a=0,l=e.length,c=t%Qe,h=t/Qe|0;for(e=e.slice();l--;)a=((r=c*(o=e[l]%Qe)+(n=h*o+(s=e[l]/Qe|0)*c)%Qe*Qe+a)/i|0)+(n/Qe|0)+h*s,e[l]=r%i;return a&&(e=[a].concat(e)),e}function t(e,t,i,n){var r,o;if(i!=n)o=i>n?1:-1;else for(r=o=0;rt[r]?1:-1;break}return o}function i(e,t,i,n){for(var r=0;i--;)e[i]-=r,r=e[i]1;e.splice(0,1));}return function(n,r,o,s,a){var l,c,h,d,u,p,_,m,g,f,v,y,b,w,k,x,S,$=n.s==r.s?1:-1,R=n.c,C=r.c;if(!(R&&R[0]&&C&&C[0]))return new M(n.s&&r.s&&(R?!C||R[0]!=C[0]:C)?R&&0==R[0]||!C?0*$:$/0:NaN);for(g=(m=new M($)).c=[],$=o+(c=n.e-r.e)+1,a||(a=Ye,c=tt(n.e/Xe)-tt(r.e/Xe),$=$/Xe|0),h=0;C[h]==(R[h]||0);h++);if(C[h]>(R[h]||0)&&c--,$<0)g.push(1),d=!0;else{for(w=R.length,x=C.length,h=0,$+=2,(u=Ge(a/(C[0]+1)))>1&&(C=e(C,u,a),R=e(R,u,a),x=C.length,w=R.length),b=x,v=(f=R.slice(0,x)).length;v=a/2&&k++;do{if(u=0,(l=t(C,f,x,v))<0){if(y=f[0],x!=v&&(y=y*a+(f[1]||0)),(u=Ge(y/k))>1)for(u>=a&&(u=a-1),_=(p=e(C,u,a)).length,v=f.length;1==t(p,f,_,v);)u--,i(p,x<_?S:C,_,a),_=p.length,l=1;else 0==u&&(l=u=1),_=(p=C.slice()).length;if(_=10;$/=10,h++);D(m,o+(m.e=h+c*Xe-1)+1,s,d)}else m.e=c,m.r=+d;return m}}(),a=/^(-?)0([xbo])(?=\w[\w.]*$)/i,l=/^([^.]+)\.$/,c=/^\.([^.]+)$/,h=/^-?(Infinity|NaN)$/,d=/^\s*\+(?=[\w.])|^\s+|\s+$/g,r=function(e,t,i,n){var r,o=i?t:t.replace(d,"");if(h.test(o))e.s=isNaN(o)?null:o<0?-1:1;else{if(!i&&(o=o.replace(a,function(e,t,i){return r="x"==(i=i.toLowerCase())?16:"b"==i?2:8,n&&n!=r?e:t}),n&&(r=n,o=o.replace(l,"$1").replace(c,"0.$1")),t!=o))return new M(o,r);if(M.DEBUG)throw Error(Ve+"Not a"+(n?" base "+n:"")+" number: "+t);e.s=null}e.c=e.e=null},u.absoluteValue=u.abs=function(){var e=new M(this);return e.s<0&&(e.s=1),e},u.comparedTo=function(e,t){return nt(this,new M(e,t))},u.decimalPlaces=u.dp=function(e,t){var i,n,r,o=this;if(null!=e)return rt(e,0,et),null==t?t=m:rt(t,0,8),D(new M(o),e+o.e+1,t);if(!(i=o.c))return null;if(n=((r=i.length-1)-tt(this.e/Xe))*Xe,r=i[r])for(;r%10==0;r/=10,n--);return n<0&&(n=0),n},u.dividedBy=u.div=function(e,t){return i(this,new M(e,t),_,m)},u.dividedToIntegerBy=u.idiv=function(e,t){return i(this,new M(e,t),0,1)},u.exponentiatedBy=u.pow=function(e,t){var i,n,r,o,s,a,l,c,h=this;if((e=new M(e)).c&&!e.isInteger())throw Error(Ve+"Exponent not an integer: "+A(e));if(null!=t&&(t=new M(t)),s=e.e>14,!h.c||!h.c[0]||1==h.c[0]&&!h.e&&1==h.c.length||!e.c||!e.c[0])return c=new M(Math.pow(+A(h),s?e.s*(2-ot(e)):+A(e))),t?c.mod(t):c;if(a=e.s<0,t){if(t.c?!t.c[0]:!t.s)return new M(NaN);(n=!a&&h.isInteger()&&t.isInteger())&&(h=h.mod(t))}else{if(e.e>9&&(h.e>0||h.e<-1||(0==h.e?h.c[0]>1||s&&h.c[1]>=24e7:h.c[0]<8e13||s&&h.c[0]<=9999975e7)))return o=h.s<0&&ot(e)?-0:0,h.e>-1&&(o=1/o),new M(a?1/o:o);k&&(o=Ue(k/Xe+2))}for(s?(i=new M(.5),a&&(e.s=1),l=ot(e)):l=(r=Math.abs(+A(e)))%2,c=new M(p);;){if(l){if(!(c=c.times(h)).c)break;o?c.c.length>o&&(c.c.length=o):n&&(c=c.mod(t))}if(r){if(0===(r=Ge(r/2)))break;l=r%2}else if(D(e=e.times(i),e.e+1,1),e.e>14)l=ot(e);else{if(0===(r=+A(e)))break;l=r%2}h=h.times(h),o?h.c&&h.c.length>o&&(h.c.length=o):n&&(h=h.mod(t))}return n?c:(a&&(c=p.div(c)),t?c.mod(t):o?D(c,k,m,void 0):c)},u.integerValue=function(e){var t=new M(this);return null==e?e=m:rt(e,0,8),D(t,t.e+1,e)},u.isEqualTo=u.eq=function(e,t){return 0===nt(this,new M(e,t))},u.isFinite=function(){return!!this.c},u.isGreaterThan=u.gt=function(e,t){return nt(this,new M(e,t))>0},u.isGreaterThanOrEqualTo=u.gte=function(e,t){return 1===(t=nt(this,new M(e,t)))||0===t},u.isInteger=function(){return!!this.c&&tt(this.e/Xe)>this.c.length-2},u.isLessThan=u.lt=function(e,t){return nt(this,new M(e,t))<0},u.isLessThanOrEqualTo=u.lte=function(e,t){return-1===(t=nt(this,new M(e,t)))||0===t},u.isNaN=function(){return!this.s},u.isNegative=function(){return this.s<0},u.isPositive=function(){return this.s>0},u.isZero=function(){return!!this.c&&0==this.c[0]},u.minus=function(e,t){var i,n,r,o,s=this,a=s.s;if(t=(e=new M(e,t)).s,!a||!t)return new M(NaN);if(a!=t)return e.s=-t,s.plus(e);var l=s.e/Xe,c=e.e/Xe,h=s.c,d=e.c;if(!l||!c){if(!h||!d)return h?(e.s=-t,e):new M(d?s:NaN);if(!h[0]||!d[0])return d[0]?(e.s=-t,e):new M(h[0]?s:3==m?-0:0)}if(l=tt(l),c=tt(c),h=h.slice(),a=l-c){for((o=a<0)?(a=-a,r=h):(c=l,r=d),r.reverse(),t=a;t--;r.push(0));r.reverse()}else for(n=(o=(a=h.length)<(t=d.length))?a:t,a=t=0;t0)for(;t--;h[i++]=0);for(t=Ye-1;n>a;){if(h[--n]=0;){for(i=0,u=y[r]%g,p=y[r]/g|0,o=r+(s=l);o>r;)i=((c=u*(c=v[--s]%g)+(a=p*c+(h=v[s]/g|0)*u)%g*g+_[o]+i)/m|0)+(a/g|0)+p*h,_[o--]=c%m;_[o]=i}return i?++n:_.splice(0,1),T(e,_,n)},u.negated=function(){var e=new M(this);return e.s=-e.s||null,e},u.plus=function(e,t){var i,n=this,r=n.s;if(t=(e=new M(e,t)).s,!r||!t)return new M(NaN);if(r!=t)return e.s=-t,n.minus(e);var o=n.e/Xe,s=e.e/Xe,a=n.c,l=e.c;if(!o||!s){if(!a||!l)return new M(r/0);if(!a[0]||!l[0])return l[0]?e:new M(a[0]?n:0*r)}if(o=tt(o),s=tt(s),a=a.slice(),r=o-s){for(r>0?(s=o,i=l):(r=-r,i=a),i.reverse();r--;i.push(0));i.reverse()}for((r=a.length)-(t=l.length)<0&&(i=l,l=a,a=i,t=r),r=0;t;)r=(a[--t]=a[t]+l[t]+r)/Ye|0,a[t]=Ye===a[t]?0:a[t]%Ye;return r&&(a=[r].concat(a),++s),T(e,a,s)},u.precision=u.sd=function(e,t){var i,n,r,o=this;if(null!=e&&e!==!!e)return rt(e,1,et),null==t?t=m:rt(t,0,8),D(new M(o),e,t);if(!(i=o.c))return null;if(n=(r=i.length-1)*Xe+1,r=i[r]){for(;r%10==0;r/=10,n--);for(r=i[0];r>=10;r/=10,n++);}return e&&o.e+1>n&&(n=o.e+1),n},u.shiftedBy=function(e){return rt(e,-9007199254740991,Ze),this.times("1e"+e)},u.squareRoot=u.sqrt=function(){var e,t,n,r,o,s=this,a=s.c,l=s.s,c=s.e,h=_+4,d=new M("0.5");if(1!==l||!a||!a[0])return new M(!l||l<0&&(!a||a[0])?NaN:a?s:1/0);if(0==(l=Math.sqrt(+A(s)))||l==1/0?(((t=it(a)).length+c)%2==0&&(t+="0"),l=Math.sqrt(+t),c=tt((c+1)/2)-(c<0||c%2),n=new M(t=l==1/0?"5e"+c:(t=l.toExponential()).slice(0,t.indexOf("e")+1)+c)):n=new M(l+""),n.c[0])for((l=(c=n.e)+h)<3&&(l=0);;)if(o=n,n=d.times(o.plus(i(s,o,h,1))),it(o.c).slice(0,l)===(t=it(n.c)).slice(0,l)){if(n.e0&&_>0){for(o=_%a||a,h=p.substr(0,o);o<_;o+=a)h+=c+p.substr(o,a);l>0&&(h+=c+p.slice(o)),u&&(h="-"+h)}n=d?h+(i.decimalSeparator||"")+((l=+i.fractionGroupSize)?d.replace(new RegExp("\\d{"+l+"}\\B","g"),"$&"+(i.fractionGroupSeparator||"")):d):h}return(i.prefix||"")+n+(i.suffix||"")},u.toFraction=function(e){var t,n,r,o,s,a,l,c,h,d,u,_,g=this,f=g.c;if(null!=e&&(!(l=new M(e)).isInteger()&&(l.c||1!==l.s)||l.lt(p)))throw Error(Ve+"Argument "+(l.isInteger()?"out of range: ":"not an integer: ")+A(l));if(!f)return new M(g);for(t=new M(p),h=n=new M(p),r=c=new M(p),_=it(f),s=t.e=_.length-g.e-1,t.c[0]=Je[(a=s%Xe)<0?Xe+a:a],e=!e||l.comparedTo(t)>0?s>0?t:h:l,a=y,y=1/0,l=new M(_),c.c[0]=0;d=i(l,t,0,1),1!=(o=n.plus(d.times(r))).comparedTo(e);)n=r,r=o,h=c.plus(d.times(o=h)),c=o,t=l.minus(d.times(o=t)),l=o;return o=i(e.minus(n),r,0,1),c=c.plus(o.times(h)),n=n.plus(o.times(r)),c.s=h.s=g.s,u=i(h,r,s*=2,m).minus(g).abs().comparedTo(i(c,n,s,m).minus(g).abs())<1?[h,r]:[c,n],y=a,u},u.toNumber=function(){return+A(this)},u.toPrecision=function(e,t){return null!=e&&rt(e,1,et),R(this,e,t,2)},u.toString=function(e){var t,i=this,r=i.s,o=i.e;return null===o?r?(t="Infinity",r<0&&(t="-"+t)):t="NaN":(null==e?t=o<=g||o>=f?st(it(i.c),o):at(it(i.c),o,"0"):10===e&&$?t=at(it((i=D(new M(i),_+o+1,m)).c),i.e,"0"):(rt(e,2,S.length,"Base"),t=n(at(it(i.c),o,"0"),10,e,r,!0)),r<0&&i.c[0]&&(t="-"+t)),t},u.valueOf=u.toJSON=function(){return A(this)},u._isBigNumber=!0,u[Symbol.toStringTag]="BigNumber",u[Symbol.for("nodejs.util.inspect.custom")]=u.valueOf,null!=t&&M.set(t),M}(),ct=class{key;left=null;right=null;constructor(e){this.key=e}},ht=class extends ct{constructor(e){super(e)}},dt=class{size=0;modificationCount=0;splayCount=0;splay(e){const t=this.root;if(null==t)return this.compare(e,e),-1;let i=null,n=null,r=null,o=null,s=t;const a=this.compare;let l;for(;;)if(l=a(s.key,e),l>0){let t=s.left;if(null==t)break;if(l=a(t.key,e),l>0&&(s.left=t.right,t.right=s,s=t,t=s.left,null==t))break;null==i?n=s:i.left=s,i=s,s=t}else{if(!(l<0))break;{let t=s.right;if(null==t)break;if(l=a(t.key,e),l<0&&(s.right=t.left,t.left=s,s=t,t=s.right,null==t))break;null==r?o=s:r.right=s,r=s,s=t}}return null!=r&&(r.right=s.left,s.left=o),null!=i&&(i.left=s.right,s.right=n),this.root!==s&&(this.root=s,this.splayCount++),l}splayMin(e){let t=e,i=t.left;for(;null!=i;){const e=i;t.left=e.right,e.right=t,t=e,i=t.left}return t}splayMax(e){let t=e,i=t.right;for(;null!=i;){const e=i;t.right=e.left,e.left=t,t=e,i=t.right}return t}_delete(e){if(null==this.root)return null;if(0!=this.splay(e))return null;let t=this.root;const i=t,n=t.left;if(this.size--,null==n)this.root=t.right;else{const e=t.right;t=this.splayMax(n),t.right=e,this.root=t}return this.modificationCount++,i}addNewRoot(e,t){this.size++,this.modificationCount++;const i=this.root;null!=i?(t<0?(e.left=i,e.right=i.right,i.right=null):(e.right=i,e.left=i.left,i.left=null),this.root=e):this.root=e}_first(){const e=this.root;return null==e?null:(this.root=this.splayMin(e),this.root)}_last(){const e=this.root;return null==e?null:(this.root=this.splayMax(e),this.root)}clear(){this.root=null,this.size=0,this.modificationCount++}has(e){return this.validKey(e)&&0==this.splay(e)}defaultCompare(){return(e,t)=>et?1:0}wrap(){return{getRoot:()=>this.root,setRoot:e=>{this.root=e},getSize:()=>this.size,getModificationCount:()=>this.modificationCount,getSplayCount:()=>this.splayCount,setSplayCount:e=>{this.splayCount=e},splay:e=>this.splay(e),has:e=>this.has(e)}}},ut=class e extends dt{root=null;compare;validKey;constructor(e,t){super(),this.compare=e??this.defaultCompare(),this.validKey=t??(e=>null!=e&&null!=e)}delete(e){return!!this.validKey(e)&&null!=this._delete(e)}deleteAll(e){for(const t of e)this.delete(t)}forEach(e){const t=this[Symbol.iterator]();let i;for(;i=t.next(),!i.done;)e(i.value,i.value,this)}add(e){const t=this.splay(e);return 0!=t&&this.addNewRoot(new ht(e),t),this}addAndReturn(e){const t=this.splay(e);return 0!=t&&this.addNewRoot(new ht(e),t),this.root.key}addAll(e){for(const t of e)this.add(t)}isEmpty(){return null==this.root}isNotEmpty(){return null!=this.root}single(){if(0==this.size)throw"Bad state: No element";if(this.size>1)throw"Bad state: Too many element";return this.root.key}first(){if(0==this.size)throw"Bad state: No element";return this._first().key}last(){if(0==this.size)throw"Bad state: No element";return this._last().key}lastBefore(e){if(null==e)throw"Invalid arguments(s)";if(null==this.root)return null;if(this.splay(e)<0)return this.root.key;let t=this.root.left;if(null==t)return null;let i=t.right;for(;null!=i;)t=i,i=t.right;return t.key}firstAfter(e){if(null==e)throw"Invalid arguments(s)";if(null==this.root)return null;if(this.splay(e)>0)return this.root.key;let t=this.root.right;if(null==t)return null;let i=t.left;for(;null!=i;)t=i,i=t.left;return t.key}retainAll(t){const i=new e(this.compare,this.validKey),n=this.modificationCount;for(const e of t){if(n!=this.modificationCount)throw"Concurrent modification during iteration.";this.validKey(e)&&0==this.splay(e)&&i.add(this.root.key)}i.size!=this.size&&(this.root=i.root,this.size=i.size,this.modificationCount++)}lookup(e){if(!this.validKey(e))return null;return 0!=this.splay(e)?null:this.root.key}intersection(t){const i=new e(this.compare,this.validKey);for(const e of this)t.has(e)&&i.add(e);return i}difference(t){const i=new e(this.compare,this.validKey);for(const e of this)t.has(e)||i.add(e);return i}union(e){const t=this.clone();return t.addAll(e),t}clone(){const t=new e(this.compare,this.validKey);return t.size=this.size,t.root=this.copyNode(this.root),t}copyNode(e){if(null==e)return null;const t=new ht(e.key);return function e(t,i){let n,r;do{if(n=t.left,r=t.right,null!=n){const t=new ht(n.key);i.left=t,e(n,t)}if(null!=r){const e=new ht(r.key);i.right=e,t=r,i=e}}while(null!=r)}(e,t),t}toSet(){return this.clone()}entries(){return new mt(this.wrap())}keys(){return this[Symbol.iterator]()}values(){return this[Symbol.iterator]()}[Symbol.iterator](){return new _t(this.wrap())}[Symbol.toStringTag]="[object Set]"},pt=class{tree;path=new Array;modificationCount=null;splayCount;constructor(e){this.tree=e,this.splayCount=e.getSplayCount()}[Symbol.iterator](){return this}next(){return this.moveNext()?{done:!1,value:this.current()}:{done:!0,value:null}}current(){if(!this.path.length)return null;const e=this.path[this.path.length-1];return this.getValue(e)}rebuildPath(e){this.path.splice(0,this.path.length),this.tree.splay(e),this.path.push(this.tree.getRoot()),this.splayCount=this.tree.getSplayCount()}findLeftMostDescendent(e){for(;null!=e;)this.path.push(e),e=e.left}moveNext(){if(this.modificationCount!=this.tree.getModificationCount()){if(null==this.modificationCount){this.modificationCount=this.tree.getModificationCount();let e=this.tree.getRoot();for(;null!=e;)this.path.push(e),e=e.left;return this.path.length>0}throw"Concurrent modification during iteration."}if(!this.path.length)return!1;this.splayCount!=this.tree.getSplayCount()&&this.rebuildPath(this.path[this.path.length-1].key);let e=this.path[this.path.length-1],t=e.right;if(null!=t){for(;null!=t;)this.path.push(t),t=t.left;return!0}for(this.path.pop();this.path.length&&this.path[this.path.length-1].right===e;)e=this.path.pop();return this.path.length>0}},_t=class extends pt{getValue(e){return e.key}},mt=class extends pt{getValue(e){return[e.key,e.key]}},gt=e=>()=>e,ft=e=>{const t=e?(t,i)=>i.minus(t).abs().isLessThanOrEqualTo(e):gt(!1);return(e,i)=>t(e,i)?0:e.comparedTo(i)};function vt(e){const t=e?(t,i,n,r,o)=>t.exponentiatedBy(2).isLessThanOrEqualTo(r.minus(i).exponentiatedBy(2).plus(o.minus(n).exponentiatedBy(2)).times(e)):gt(!1);return(e,i,n)=>{const r=e.x,o=e.y,s=n.x,a=n.y,l=o.minus(a).times(i.x.minus(s)).minus(r.minus(s).times(i.y.minus(a)));return t(l,r,o,s,a)?0:l.comparedTo(0)}}var yt=e=>e,bt=e=>{if(e){const t=new ut(ft(e)),i=new ut(ft(e)),n=(e,t)=>t.addAndReturn(e),r=e=>({x:n(e.x,t),y:n(e.y,i)});return r({x:new lt(0),y:new lt(0)}),r}return yt},wt=e=>({set:e=>{kt=wt(e)},reset:()=>wt(e),compare:ft(e),snap:bt(e),orient:vt(e)}),kt=wt(),xt=(e,t)=>e.ll.x.isLessThanOrEqualTo(t.x)&&t.x.isLessThanOrEqualTo(e.ur.x)&&e.ll.y.isLessThanOrEqualTo(t.y)&&t.y.isLessThanOrEqualTo(e.ur.y),St=(e,t)=>{if(t.ur.x.isLessThan(e.ll.x)||e.ur.x.isLessThan(t.ll.x)||t.ur.y.isLessThan(e.ll.y)||e.ur.y.isLessThan(t.ll.y))return null;const i=e.ll.x.isLessThan(t.ll.x)?t.ll.x:e.ll.x,n=e.ur.x.isLessThan(t.ur.x)?e.ur.x:t.ur.x;return{ll:{x:i,y:e.ll.y.isLessThan(t.ll.y)?t.ll.y:e.ll.y},ur:{x:n,y:e.ur.y.isLessThan(t.ur.y)?e.ur.y:t.ur.y}}},$t=(e,t)=>e.x.times(t.y).minus(e.y.times(t.x)),Mt=(e,t)=>e.x.times(t.x).plus(e.y.times(t.y)),Rt=e=>Mt(e,e).sqrt(),Ct=(e,t,i)=>{const n={x:t.x.minus(e.x),y:t.y.minus(e.y)},r={x:i.x.minus(e.x),y:i.y.minus(e.y)};return $t(r,n).div(Rt(r)).div(Rt(n))},Tt=(e,t,i)=>{const n={x:t.x.minus(e.x),y:t.y.minus(e.y)},r={x:i.x.minus(e.x),y:i.y.minus(e.y)};return Mt(r,n).div(Rt(r)).div(Rt(n))},Dt=(e,t,i)=>t.y.isZero()?null:{x:e.x.plus(t.x.div(t.y).times(i.minus(e.y))),y:i},At=(e,t,i)=>t.x.isZero()?null:{x:i,y:e.y.plus(t.y.div(t.x).times(i.minus(e.x)))},Pt=class e{point;isLeft;segment;otherSE;consumedBy;static compare(t,i){const n=e.comparePoints(t.point,i.point);return 0!==n?n:(t.point!==i.point&&t.link(i),t.isLeft!==i.isLeft?t.isLeft?1:-1:Lt.compare(t.segment,i.segment))}static comparePoints(e,t){return e.x.isLessThan(t.x)?-1:e.x.isGreaterThan(t.x)?1:e.y.isLessThan(t.y)?-1:e.y.isGreaterThan(t.y)?1:0}constructor(e,t){void 0===e.events?e.events=[this]:e.events.push(this),this.point=e,this.isLeft=t}link(e){if(e.point===this.point)throw new Error("Tried to link already linked events");const t=e.point.events;for(let e=0,i=t.length;e{const n=i.otherSE;t.set(i,{sine:Ct(this.point,e.point,n.point),cosine:Tt(this.point,e.point,n.point)})};return(e,n)=>{t.has(e)||i(e),t.has(n)||i(n);const{sine:r,cosine:o}=t.get(e),{sine:s,cosine:a}=t.get(n);return r.isGreaterThanOrEqualTo(0)&&s.isGreaterThanOrEqualTo(0)?o.isLessThan(a)?1:o.isGreaterThan(a)?-1:0:r.isLessThan(0)&&s.isLessThan(0)?o.isLessThan(a)?-1:o.isGreaterThan(a)?1:0:s.isLessThan(r)?-1:s.isGreaterThan(r)?1:0}}},Ft=class e{events;poly;_isExteriorRing;_enclosingRing;static factory(t){const i=[];for(let n=0,r=t.length;n0&&(e=i)}let t=e.segment.prevInResult(),i=t?t.prevInResult():null;for(;;){if(!t)return null;if(!i)return t.ringOut;if(i.ringOut!==t.ringOut)return i.ringOut?.enclosingRing()!==t.ringOut?t.ringOut:t.ringOut?.enclosingRing();t=i.prevInResult(),i=t?t.prevInResult():null}}},zt=class{exteriorRing;interiorRings;constructor(e){this.exteriorRing=e,e.poly=this,this.interiorRings=[]}addInterior(e){this.interiorRings.push(e),e.poly=this}getGeom(){const e=this.exteriorRing.getGeom();if(null===e)return null;const t=[e];for(let e=0,i=this.interiorRings.length;e0?(this.tree.delete(t),i.push(e)):(this.segments.push(t),t.prev=n)}else{if(n&&r){const e=n.getIntersection(r);if(null!==e){if(!n.isAnEndpoint(e)){const t=this._splitSafely(n,e);for(let e=0,n=t.length;e0)return-1;const n=t.comparePoint(e.rightSE.point);return 0!==n?n:-1}if(i.isGreaterThan(n)){if(s.isLessThan(a)&&s.isLessThan(c))return-1;if(s.isGreaterThan(a)&&s.isGreaterThan(c))return 1;const i=t.comparePoint(e.leftSE.point);if(0!==i)return i;const n=e.comparePoint(t.rightSE.point);return n<0?1:n>0?-1:1}if(s.isLessThan(a))return-1;if(s.isGreaterThan(a))return 1;if(r.isLessThan(o)){const i=t.comparePoint(e.rightSE.point);if(0!==i)return i}if(r.isGreaterThan(o)){const i=e.comparePoint(t.rightSE.point);if(i<0)return 1;if(i>0)return-1}if(!r.eq(o)){const e=l.minus(s),t=r.minus(i),h=c.minus(a),d=o.minus(n);if(e.isGreaterThan(t)&&h.isLessThan(d))return 1;if(e.isLessThan(t)&&h.isGreaterThan(d))return-1}return r.isGreaterThan(o)?1:r.isLessThan(o)||l.isLessThan(c)?-1:l.isGreaterThan(c)?1:e.idt.id?1:0}constructor(e,t,i,n){this.id=++Ht,this.leftSE=e,e.segment=this,e.otherSE=t,this.rightSE=t,t.segment=this,t.otherSE=e,this.rings=i,this.windings=n}static fromRing(t,i,n){let r,o,s;const a=Pt.comparePoints(t,i);if(a<0)r=t,o=i,s=1;else{if(!(a>0))throw new Error(`Tried to create degenerate segment at [${t.x}, ${t.y}]`);r=i,o=t,s=-1}const l=new Pt(r,!0),c=new Pt(o,!1);return new e(l,c,[n],[s])}replaceRightSE(e){this.rightSE=e,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){const e=this.leftSE.point.y,t=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:e.isLessThan(t)?e:t},ur:{x:this.rightSE.point.x,y:e.isGreaterThan(t)?e:t}}}vector(){return{x:this.rightSE.point.x.minus(this.leftSE.point.x),y:this.rightSE.point.y.minus(this.leftSE.point.y)}}isAnEndpoint(e){return e.x.eq(this.leftSE.point.x)&&e.y.eq(this.leftSE.point.y)||e.x.eq(this.rightSE.point.x)&&e.y.eq(this.rightSE.point.y)}comparePoint(e){return kt.orient(this.leftSE.point,e,this.rightSE.point)}getIntersection(e){const t=this.bbox(),i=e.bbox(),n=St(t,i);if(null===n)return null;const r=this.leftSE.point,o=this.rightSE.point,s=e.leftSE.point,a=e.rightSE.point,l=xt(t,s)&&0===this.comparePoint(s),c=xt(i,r)&&0===e.comparePoint(r),h=xt(t,a)&&0===this.comparePoint(a),d=xt(i,o)&&0===e.comparePoint(o);if(c&&l)return d&&!h?o:!d&&h?a:null;if(c)return h&&r.x.eq(a.x)&&r.y.eq(a.y)?null:r;if(l)return d&&o.x.eq(s.x)&&o.y.eq(s.y)?null:s;if(d&&h)return null;if(d)return o;if(h)return a;const u=((e,t,i,n)=>{if(t.x.isZero())return At(i,n,e.x);if(n.x.isZero())return At(e,t,i.x);if(t.y.isZero())return Dt(i,n,e.y);if(n.y.isZero())return Dt(e,t,i.y);const r=$t(t,n);if(r.isZero())return null;const o={x:i.x.minus(e.x),y:i.y.minus(e.y)},s=$t(o,t).div(r),a=$t(o,n).div(r),l=e.x.plus(a.times(t.x)),c=i.x.plus(s.times(n.x)),h=e.y.plus(a.times(t.y)),d=i.y.plus(s.times(n.y));return{x:l.plus(c).div(2),y:h.plus(d).div(2)}})(r,this.vector(),s,e.vector());return null===u?null:xt(n,u)?kt.snap(u):null}split(t){const i=[],n=void 0!==t.events,r=new Pt(t,!0),o=new Pt(t,!1),s=this.rightSE;this.replaceRightSE(o),i.push(o),i.push(r);const a=new e(r,s,this.rings.slice(),this.windings.slice());return Pt.comparePoints(a.leftSE.point,a.rightSE.point)>0&&a.swapEvents(),Pt.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),n&&(r.checkForConsuming(),o.checkForConsuming()),i}swapEvents(){const e=this.rightSE;this.rightSE=this.leftSE,this.leftSE=e,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let e=0,t=this.windings.length;e0){const e=i;i=n,n=e}if(i.prev===n){const e=i;i=n,n=e}for(let e=0,t=n.rings.length;e1===e.length&&e[0].isSubject;this._isInResult=i(e)!==i(t);break}}return this._isInResult}},Bt=class{poly;isExterior;segments;bbox;constructor(e,t,i){if(!Array.isArray(e)||0===e.length)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=t,this.isExterior=i,this.segments=[],"number"!=typeof e[0][0]||"number"!=typeof e[0][1])throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const n=kt.snap({x:new lt(e[0][0]),y:new lt(e[0][1])});this.bbox={ll:{x:n.x,y:n.y},ur:{x:n.x,y:n.y}};let r=n;for(let t=1,i=e.length;tNt.run("union",e,t),Ut=(e,...t)=>Nt.run("intersection",e,t),Gt=(e,...t)=>Nt.run("difference",e,t);kt.set;const Vt=/^#[0-9a-fA-F]{6}$/;function Kt(e,t){return"string"==typeof e&&Vt.test(e)?e:t}const Yt="(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])",Xt=new RegExp(`^rgb\\(${Yt}, ${Yt}, ${Yt}\\)$`);function Zt(e){if(!Array.isArray(e)||e.length<3)return null;const t=e.slice(0,3);if(!t.every(e=>"number"==typeof e&&Number.isFinite(e)))return null;const[i,n,r]=t.map(e=>Math.round(Math.min(255,Math.max(0,e))));return`rgb(${i}, ${n}, ${r})`}function Jt(e){const t=Math.max(0,Math.min(120,(e-40)/140*120));return`hsl(${Math.round(t)}, 85%, 55%)`}function Qt(e,t){if(!(Number.isFinite(e)&&t>0))return e;const i=Math.round(e/t)*t;return Math.abs(i-e)<=1e-9*t?e:i}function ei(e,t,i,n=1/0){if(!(i>0&&e?.every(Number.isFinite)&&t?.every(Number.isFinite)))return[t[0],t[1]];const r=t[0]-e[0],o=t[1]-e[1];if(Math.abs(r)+Math.abs(o)<=1e-12)return[e[0],e[1]];const s=Math.PI/4;let a=Math.atan2(o,r);a<0&&(a+=2*Math.PI);const l=Math.floor(a/s+.5)%8,[c,h]=[[1,0],[1,1],[0,1],[-1,1],[-1,0],[-1,-1],[0,-1],[1,-1]][l],d=c*c+h*h;let u=Math.max(0,Math.round((r*c+o*h)/(i*d)));if(Number.isFinite(n)&&n>=0){const t=(e,t)=>{if(!t)return 1/0;const r=t>0?n-e:e+n;return Math.max(0,Math.floor((r+1e-9*i)/i))};u=Math.min(u,t(e[0],c),t(e[1],h))}return[e[0]+c*u*i,e[1]+h*u*i]}function ti(e,t){if(t){const t=e/2.54;let i=Math.floor(t/12),n=Math.round(t-12*i);return 12===n&&(i+=1,n=0),`${i}′ ${n}″`}return`${(e/100).toFixed(2)} m`}function ii(e,t,i=1){const n=e[0].toFixed(i),r=e[1].toFixed(i),o=t[0].toFixed(i),s=t[1].toFixed(i),a=n=3?e.poly:e&&null!=e.x&&null!=e.y&&null!=e.w&&null!=e.h?[[e.x,e.y],[e.x+e.w,e.y],[e.x+e.w,e.y+e.h],[e.x,e.y+e.h]]:null}function ri(e){const t=[];for(const i of e||[])i?.poly?.length>=3?t.push({poly:i.poly.map(e=>e.join(",")).join(" ")}):i&&null!=i.x&&null!=i.y&&null!=i.w&&null!=i.h&&t.push({rect:{x:i.x,y:i.y,w:i.w,h:i.h,rx:.03*Math.min(i.w,i.h)}});return t}function oi(e){const t=[],i=new Set;for(const n of e||[]){const e=ni(n);if(e)for(let n=0;n=90?e-=180:e<-90&&(e+=180),n.step&&n.step>0){const i=Math.sqrt(d),o=Math.min(Math.max(n.length||0,0)/2,i/2);let a=Math.round(u*i/n.step)*n.step;Math.abs(u*i-i/2)<=n.step/2&&(a=i/2),a=Math.max(o,Math.min(i-o,a));const l=a/i;r={x:t+l*c,y:s+l*h,angle:e}}else r={x:p[0],y:p[1],angle:e}}}return r}function ai(e,t,i){let n=null,r=1/0;for(let o=0;o=r)continue;r=_;const m=Math.sqrt(u),g=(i>0?Math.max(0,Math.min(m,Math.round(p*m/i)*i)):p*m)/m;n=[s+g*h,a+g*d]}return n}function li(e,t,i,n,r,o=1){const s=t*Math.PI/180,a=[Math.cos(s),Math.sin(s)];let l=null,c=o;for(const t of oi(n)){const i=[[t[0],t[1]],[t[2],t[3]]],n=t=>Math.abs(a[0]*(t[1]-e[1])-a[1]*(t[0]-e[0]));if(n(i[0])>o||n(i[1])>o)continue;const r=(i[0][0]-e[0])*a[0]+(i[0][1]-e[1])*a[1],s=(i[1][0]-e[0])*a[0]+(i[1][1]-e[1])*a[1],h=Math.min(r,s),d=Math.max(r,s),u=h>0?h:d<0?-d:0;u[e[0]+a[0]*t,e[1]+a[1]*t],g=(h+d)/2;return{wallA:m(h),wallB:m(d),sideA:p,sideB:_,midA:m((h-u)/2),midB:m((u+d)/2),wallCenter:m(g),centered:Math.abs(g)<=r}}function ci(e,t,i=!1,n){if("passage"===e)return 1;if(null==t||"unavailable"===t||"unknown"===t)return"window"===e?0:1;const r="string"==typeof n?n.trim()?Number(n):NaN:Number(n),o=null!=n&&Number.isFinite(r)?Math.max(0,Math.min(1,r/100)):function(e){return["on","open","home","detected","playing","cleaning"].includes(String(e))}(t)?1:0;return i?1-o:o}function hi(e){const t=Number.isFinite(e)?Math.max(0,Math.min(1,e)):0;return Math.min(1,Math.max(0,.05*Math.round(t/.05)))}function di(e,t){return(Number.isFinite(e)&&e>0?e:0)*(Number.isFinite(t)?Math.max(0,Math.min(1,t)):0)}function ui(e){return"passage"===e.type?[]:[e.contact,e.lock].filter(e=>"string"==typeof e&&e.length>0)}function pi(e,t,i=200){const n=t.trim().toLowerCase();return(n?e.filter(e=>e.label.toLowerCase().includes(n)||e.value.toLowerCase().includes(n)):e).slice(0,Math.max(0,i))}function _i(e,t,i=.001){return Math.abs(e[0]-t[0])e[1]!=l>e[1]&&e[0]<(a-o)*(e[1]-s)/(l-s)+o&&(i=!i)}return i}function gi(e,t,i){const n=i[0]-t[0],r=i[1]-t[1],o=n*n+r*r;let s=o?((e[0]-t[0])*n+(e[1]-t[1])*r)/o:0;return s=Math.max(0,Math.min(1,s)),Math.hypot(e[0]-(t[0]+s*n),e[1]-(t[1]+s*r))}function fi(e,t){if(!t||t.length<2)return null;let i=null,n=1/0;for(let r=0;rr&&s<-r||o<-r&&s>r)&&(a>r&&l<-r||a<-r&&l>r)}function ki(e,t=24){const i=e.map(e=>e[0]),n=e.map(e=>e[1]),r=Math.min(...i),o=Math.max(...i),s=Math.min(...n),a=Math.max(...n),l=Math.max(o-r,a-s)||1;let c=0,h=0,d=0;for(let t=0;t1e-9?[h/(3*c),d/(3*c)]:[(r+o)/2,(s+a)/2],p=(t,i)=>{const n=((t,i)=>{if(!mi([t,i],e))return-1/0;let n=1/0;for(let r=0;rm&&(m=c,_=[n,l])}if(_){const[e,i]=_,n=(o-r)/t,l=(a-s)/t;for(let t=-4;t<=4;t++)for(let r=-4;r<=4;r++){const o=e+n*t/4,s=i+l*r/4,a=p(o,s);a>m&&(m=a,_=[o,s])}}return _||xi(e)||e[0]}function xi(e,t=1e-6){if(!e||e.length<3)return null;const i=e.length,n=[e.reduce((e,t)=>e+t[0],0)/i,e.reduce((e,t)=>e+t[1],0)/i];if(yi(n,e,t))return n;for(let n=0;n$i(e,t,i));return n.filter(e=>!n.some(t=>t!==e&&$i(t,e,i)))}function Ci(e){if(!e||e.length<3)return 0;let t=0;for(let i=0;i[e[0],e[1]]),[e[0][0],e[0][1]]]]}function Di(e,t){if(!e||!t||e.length<3||t.length<3)return null;const i=Wt(Ti(e),Ti(t));if(1!==i.length)return null;if(1!==i[0].length)return null;const n=i[0][0].slice(0,-1).map(e=>[e[0],e[1]]);return n.length>=3?n:null}function Ai(e,t,i){for(let n=0;n1&&_i(i[0],i[i.length-1],t)&&i.pop(),i}function Fi(e,t,i=1e-6){if(!e||e.length<3||!t||t.length<2)return null;const n=t[0],r=t[t.length-1];if(_i(n,r,i))return null;const o=Ai(e,n,i),s=Ai(e,r,i);if(o<0||s<0)return null;const a=t.slice(1,-1);for(const t of a)if(!yi(t,e,i))return null;for(let i=0;i{const s=[t];let a=(n+1)%e.length;for(let t=0;t<=e.length&&(s.push(e[a]),a!==o);t++)a=(a+1)%e.length;return s.push(r),Pi(s,i)};let c,h;if(o===s){const s=Pi([...t],i);if(s.length<3||Ci(s)<=i)return null;const a=[];for(let i=0;i=0?t:[...t].reverse();for(const e of i)a.push(e)}c=Pi(a,i),h=s}else c=Pi([...l(n,o,r,s),...[...a].reverse()],i),h=Pi([...l(r,s,n,o),...a],i);return c.length<3||h.length<3||Ci(c)<=i||Ci(h)<=i||Math.abs(Ci(c)+Ci(h)-Ci(e))>Math.max(i,1e-6*Ci(e))?null:[c,h]}function zi(e,t,i){const[n,r]=e.split(":");return"device"===n?r:"entity"===n?"lg_"+r:t&&t.startsWith("v_")?t:i()}function Ii(e){return e.length?Math.round(e.reduce((e,t)=>e+t,0)/e.length):null}function Oi(e,t){if(t>e[2]/e[3]){const i=e[3],n=e[3]*t;return{x:e[0]-(n-e[2])/2,y:e[1],w:n,h:i}}const i=e[2],n=e[2]/t;return{x:e[0],y:e[1]-(n-e[3])/2,w:i,h:n}}function Ei(e,t,i,n){if(e.length<2)return;const r=t.x+n,o=t.x+t.w-n,s=t.y+n,a=t.y+t.h-n;for(let t=0;t<60;t++){let t=!1;for(let n=0;n=0)i=t.slice(0,r).trim(),n=t.slice(r+1).trim();else{const e=t.split(".");e.length>2&&(i=e.slice(0,2).join("."),n=e.slice(2).join("."))}return/^[a-z0-9_]+\.[a-z0-9_]+$/.test(i)?r>=0&&!n||n&&!/^[a-zA-Z0-9_.-]+$/.test(n)?null:n?{entity:i,attr:n}:{entity:i}:null}function Yi(e,t){const i=String(e??"").trim(),n=String(t??"").trim(),r=Ki(n?`${i}:${n}`:i);return r?`{${r.entity}${r.attr?`:${r.attr}`:""}}`:""}function Xi(e,t,i){const n=String(t??"").trim();if(!n)return null;const r=e?.states?.[n];if(!r)return null;const o=String(i??"").trim(),s=e=>e.slice(0,60);if(o){const t=function(e){if(null==e)return null;if(Array.isArray(e)){const t=e.map(e=>null==e?"":String(e)).join(", ");return t?t.slice(0,60):null}if("object"==typeof e)return null;const t=String(e);return""===t?null:t.slice(0,60)}(r.attributes?.[o]);if(null===t)return null;const i=e?.formatEntityAttributeValue;if("function"==typeof i)try{const t=i.call(e,r,o);if("string"==typeof t&&""!==t)return{text:s(t),formatted:!0}}catch{}return{text:t,formatted:!1}}const a=r.state;if(null==a||""===a)return null;const l=e?.formatEntityState;if("function"==typeof l)try{const t=l.call(e,r);if("string"==typeof t&&""!==t)return{text:s(t),formatted:!0}}catch{}return{text:s(String(a)),formatted:!1}}function Zi(e,t,i){const n=String(t??"").trim(),r=String(i??"").trim()||n;if(!r)return e.text;const o=e.formatted&&n?function(e,t){if(!t)return e;const i=e.replace(/\s+$/,"");return i.endsWith(t)?i.slice(0,i.length-t.length).replace(/\s+$/,""):e}(e.text,n):e.text;return`${o} ${r}`}function Ji(e,t){const i=(t?.entity||"").trim();if(!i)return"";const n=e?.states?.[i],r=n?.state;if(!n||null==r||""===r||"unavailable"===r||"unknown"===r)return Gi;const o=(t?.attr||"").trim(),s=Xi(e,i,o||null);if(null===s)return Gi;return Zi(s,o?"":String(n.attributes?.unit_of_measurement??"").trim(),t?.unit)}function Qi(e,t,i,n=()=>!0){const r=e??"";let o=!1;const s=r.replace(/\{([^{}\r\n]+)\}/g,(e,t)=>{const r=Ki(t);return r?(o=!0,n(r.entity||"")?Ji(i,r):Gi):e});if(o)return s;const a=(t?.entity||"").trim();if(!a)return r;if(!n(a)){const e=r.indexOf(Vi);return e>=0?r.slice(0,e)+Gi+r.slice(e+2):r?`${r} ${Gi}`:Gi}const l=Ji(i,t),c=r.indexOf(Vi);return c>=0?r.slice(0,c)+l+r.slice(c+2):r?`${r} ${l}`:l}const en=20;function tn(e){const t=Number(e?.scale);if(Number.isFinite(t)&&t>0)return Math.min(20,Math.max(.15,t));return{s:.7,m:1,l:1.5}[String(e?.size??"")]??1}function nn(e,t){if(!t)return e;let i=e;for(const[e,n]of Object.entries(t))i=i.split("{"+e+"}").join(String(n));return i}const rn="#55606c",on=.55,sn=20,an=25,ln={c:"#607d8b",a:.18};function cn(e,t=ln){const i=e&&"object"==typeof e?e:null,n=i?.a;return{c:Kt(i?.c,t.c),a:"number"==typeof n&&Number.isFinite(n)?Math.min(1,Math.max(0,n)):t.a}}function hn(e,t){const i=cn(e),n=t?.settings;if("custom"!==n?.fill_mode)return i;const r=n?.custom_fill;return r&&"object"==typeof r?cn(r,i):i}function dn(e,t,i){const n=(e,t)=>"number"==typeof e&&Number.isFinite(e)?e:t,r=n(e,20),o=n(t,25),s=n(i?.settings?.temp_min,r),a=n(i?.settings?.temp_max,o);return{min:Math.min(s,a),max:Math.max(s,a)}}function un(e){const t=e?.settings||{},i=!e?.plan_url,n="glow"===t.fill_mode;return{showBorders:t.show_borders??i,showNames:t.show_names??i,color:Kt(t.room_color,rn),opacity:"number"==typeof t.room_opacity?Math.min(1,Math.max(0,t.room_opacity)):.55,fill:["lqi","light","temp","custom"].includes(t.fill_mode)?t.fill_mode:"none",customFill:cn(t.custom_fill),glow:"boolean"==typeof t.glow_enabled?t.glow_enabled:n,tempMin:"number"==typeof t.temp_min?t.temp_min:20,tempMax:"number"==typeof t.temp_max?t.temp_max:25,showLqi:"boolean"==typeof t.show_lqi?t.show_lqi:null,cardFontScale:"number"==typeof t.card_font_scale&&t.card_font_scale>0?Math.min(3,Math.max(.5,t.card_font_scale)):1,labelTemp:!0===t.label_temp,labelHum:!0===t.label_hum,labelLqi:!0===t.label_lqi,labelLight:!0===t.label_light,bgColor:Kt(t.bg_color,null),hideDecor:!0===t.hide_decor,hideOpenings:!0===t.hide_openings}}function pn(e,t){if(t.bgColor)return t.bgColor;const i=e?.bg_color;return Kt(i,"")}function _n(e){return!1!==e?.show_room_tooltip}const mn={light_on:{c:"#ffd45c",a:.18},light_off:{c:"#9aa0a6",a:.14},light_none:{c:"#6b7480",a:0},temp_cold:{c:"#4fc3f7",a:.18},temp_ok:{c:"#66d17a",a:.18},temp_hot:{c:"#ffd45c",a:.18},lqi_low:{c:"#f25a4a",a:.18},lqi_high:{c:"#4bd28f",a:.18},glow_base:{c:"#0d1b2a",a:.5},glow_light:{c:"#ffd9a0",a:.85},wall_fill:{c:"#ffffff",a:1}};function gn(e){const t={},i=e?.fill_colors||{};for(const e of Object.keys(mn)){const n=mn[e],r=i[e];t[e]={c:Kt(r?.c,n.c),a:r&&"number"==typeof r.a?Math.min(1,Math.max(0,r.a)):n.a}}return t}function fn(e,t,i){const n=Math.min(1,Math.max(0,i)),r=[1,3,5].map(t=>parseInt(e.slice(t,t+2),16)),o=[1,3,5].map(e=>parseInt(t.slice(e,e+2),16)),s=r.map((e,t)=>Math.round(e+(o[t]-e)*n));return"#"+s.map(e=>e.toString(16).padStart(2,"0")).join("")}function vn(e,t,i,n,r,o,s,a=ln){const l=function(e,t,i,n,r,o,s,a=ln){if("custom"===e)return cn(a);if("lqi"===e){if(null==t)return null;const e=(t-40)/140;return{c:fn(s.lqi_low.c,s.lqi_high.c,e),a:s.lqi_low.a+(s.lqi_high.a-s.lqi_low.a)*Math.min(1,Math.max(0,e))}}if("light"===e)return"none"===i?s.light_none.a>0?s.light_none:null:"on"===i?s.light_on:s.light_off;if("temp"===e){if(null==n)return null;const e=Math.min(r,o),t=Math.max(r,o);return nt?s.temp_hot:s.temp_ok}return null}(e,t,i,n,r,o,s,a);return l?{color:l.c,opacity:l.a,mode:e}:null}const yn={blind:["mdi:blinds","mdi:blinds-open"],shade:["mdi:blinds","mdi:blinds-open"],shutter:["mdi:window-shutter","mdi:window-shutter-open"],curtain:["mdi:curtains-closed","mdi:curtains"],window:["mdi:window-closed","mdi:window-open"],awning:["mdi:awning-outline","mdi:awning"],door:["mdi:door-closed","mdi:door-open"],garage:["mdi:garage","mdi:garage-open"],gate:["mdi:gate","mdi:gate-open"],damper:["mdi:circle-slice-8","mdi:circle-outline"]},bn=[["mdi:roller-shade-closed","mdi:roller-shade"],["mdi:blinds-horizontal-closed","mdi:blinds-horizontal"],["mdi:garage-variant","mdi:garage-open-variant"],["mdi:door","mdi:door-open"]];function wn(e){for(const t of[...Object.values(yn),...bn])if(e===t[0]||e===t[1])return t;return null}function kn(e,t,i,n,r){if(!n||"unavailable"===n||"unknown"===n)return e;if(r){const i="cover"===t?wn(e):null;return i?"closed"===n?i[0]:i[1]:e}if("binary_sensor"===t){if("door"===i)return"on"===n?"mdi:door-open":"mdi:door-closed";if("window"===i)return"on"===n?"mdi:window-open":"mdi:window-closed";if("garage_door"===i)return"on"===n?"mdi:garage-open-variant":"mdi:garage-variant"}if("cover"===t){const t=yn[String(i||"")];if(t)return"closed"===n?t[0]:t[1];const r=wn(e);return r?"closed"===n?r[0]:r[1]:e}return"lock"===t?"locked"===n?"mdi:lock":"mdi:lock-open-variant":"light"===t&&"mdi:lightbulb"===e&&"on"===n?"mdi:lightbulb-on":e}function xn(e){const t=Math.min(4e4,Math.max(1e3,e))/100,i=t<=66?255:329.698727446*Math.pow(t-60,-.1332047592),n=t<=66?99.4708025861*Math.log(t)-161.1195681661:288.1221695283*Math.pow(t-60,-.0755148492),r=t>=66?255:t<=19?0:138.5177312231*Math.log(t-10)-305.0447927307,o=e=>Math.round(Math.min(255,Math.max(0,e)));return[o(i),o(n),o(r)]}const Sn=1/2.2;function $n(e){const t=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/.exec(e);return t?"#"+t.slice(1).map(e=>Math.min(255,Number(e)).toString(16).padStart(2,"0")).join(""):null}function Mn(e){if(!e||"object"!=typeof e||Array.isArray(e))return null;const t=e;if(Object.keys(t).some(e=>"c"!==e&&"bri"!==e))return null;const i=Kt(t.c,null);return i?void 0===t.bri||null===t.bri?{c:i}:"number"!=typeof t.bri||!Number.isFinite(t.bri)||t.bri<.01||t.bri>1?null:{c:i,bri:t.bri}:null}function Rn(e,t,i){const n=Mn(t),r=e?.attributes||{},o=n?.bri??function(e){const t=e?.attributes?.brightness,i="number"==typeof t?t:"string"==typeof t&&""!==t.trim()?Number(t):Number.NaN;return Number.isFinite(i)?Math.max(0,Math.min(1,i/255)):1}(e);if(n)return{c:n.c,bri:o};const s=Zt(r.rgb_color);if(s)return{c:$n(s)||Kt(i,"#ffd9a0"),bri:o};const a=Number(r.color_temp_kelvin)||(Number(r.color_temp)>0?1e6/Number(r.color_temp):NaN);return Number.isFinite(a)&&a>0?{c:(l=xn(a),"#"+l.slice(0,3).map(e=>Math.min(255,Math.max(0,Math.round(Number(e)||0))).toString(16).padStart(2,"0")).join("")),bri:o}:{c:Kt(i,"#ffd9a0"),bri:o};var l}function Cn(e,t,i){return"on"===e?.state?Rn(e,t,i):null}function Tn(e,t=1){const i=Math.max(0,Math.min(1,Number.isFinite(e)?e:1)),n=.7*Math.max(0,Math.min(1,Number.isFinite(t)?t:1))*(.4+.6*Math.pow(i,Sn));return Math.max(0,Math.min(1,n))}function Dn(e){return e.startsWith("light.")||e.startsWith("switch.")}function An(e,t,i=1e-6){const n=[];if(!e||!t||e.length<3||t.length<3)return n;for(let r=0;ru||l>u)continue;const p=(r[0]-o[0])*h+(r[1]-o[1])*d,_=(s[0]-o[0])*h+(s[1]-o[1])*d,m=Math.max(0,Math.min(p,_)),g=Math.min(c,Math.max(p,_));g-m>i&&n.push([o[0]+h*m,o[1]+d*m,o[0]+h*g,o[1]+d*g])}}return n}function Pn(e,t,i=1e-6){const n=[];for(const r of e){const e=[r[0],r[1]],o=[r[2],r[3]],s=o[0]-e[0],a=o[1]-e[1],l=Math.hypot(s,a);if(lo||r>o)continue;const s=(n[0]-e[0])*c+(n[1]-e[1])*h,a=(n[2]-e[0])*c+(n[3]-e[1])*h,u=Math.max(0,Math.min(s,a)),p=Math.min(l,Math.max(s,a));p-u>i&&d.push([u,p])}if(!d.length){n.push([e[0],e[1],o[0],o[1]]);continue}d.sort((e,t)=>e[0]-t[0]);let u=0;for(const[t,r]of d)t-u>i&&n.push([e[0]+c*u,e[1]+h*u,e[0]+c*t,e[1]+h*t]),u=Math.max(u,r);l-u>i&&n.push([e[0]+c*u,e[1]+h*u,o[0],o[1]])}return n}function Fn(e,t,i=1e-6){const n=[];for(let t=0;t{if("string"!=typeof e||!e)return;const i=En(e);i.startsWith("/api/houseplan/content/")&&t.add(i)};for(const t of e?.spaces||[]){i(t?.plan_url);for(const e of t?.markers||[])for(const t of e?.pdfs||[])i(t?.url)}for(const t of e?.markers||[])for(const e of t?.pdfs||[])i(e?.url);return t}function En(e){return e?e.startsWith("/houseplan_files/plans/")?"/api/houseplan/content/plans/_/"+e.slice(23):e.startsWith("/houseplan_files/files/")?"/api/houseplan/content/files/"+e.slice(23):e:""}function Nn(e,t){const i=t?.settings?.fill_mode;return"none"===i||"lqi"===i||"light"===i||"temp"===i||"custom"===i?i:e}function Hn(e,t){const i=t?.settings;return"boolean"==typeof i?.glow?i.glow:"glow"===i?.fill_mode||e}function Ln(e,t,i,n){if(!t||!i||t===i)return e;const r="/files/"+t+"/",o="/files/"+i+"/";return e.map(e=>{if(!e.url.includes(r))return e;const t=e.url.split(r)[1]||"",[i,s]=[t.split("?")[0],t.includes("?")?"?"+t.split("?")[1]:""];if(n){const t=n[decodeURIComponent(i)]??n[i];return t?{...e,url:e.url.split(r+i)[0]+o+encodeURIComponent(t)+s}:e}return{...e,url:e.url.split(r).join(o)}})}function Bn(e,t=1){const i=Number(e);return Number.isFinite(i)&&i>0?Math.min(3,Math.max(.5,i)):t}function qn(e,t,i){let n=null,r=null;for(const o of t){if(!(Math.abs(o[0]-e[0])<1e-6&&Math.abs(o[1]-e[1])<1e-6)){if(Math.abs(o[0]-e[0])<=i){const t=Math.abs(o[1]-e[1]);t>1e-6&&(!n||t1e-6&&(!r||t"number"==typeof e&&Number.isFinite(e),tr=(e,t,i)=>Math.min(i,Math.max(t,e));function ir(e){return e.elevation<=-6?"night":e.elevation>=6?"day":e.rising?"dawn":"dusk"}function nr(e){const t=(Math.floor(Number(e)||0)%1440+1440)%1440;return t>=300&&t<480?"dawn":t>=480&&t<1080?"day":t>=1080&&t<1260?"dusk":"night"}function rr(e){const t=ir(e),i=e.azimuth*Math.PI/180;return{sunX:50-42*Math.sin(i),sunY:78-tr(e.elevation,0,90)/90*64,sunOpacity:"night"===t?0:tr((e.elevation+6)/12,0,1)}}function or(e){const t=(Math.floor(Number(e)||0)%1440+1440)%1440;if(t<300||t>=1260)return{sunX:50,sunY:78,sunOpacity:0};const i=(t-300)/960,n=(t-300)/120,r=(1260-t)/120;return{sunX:8+84*i,sunY:78-64*Math.sin(i*Math.PI),sunOpacity:Math.max(.18,Math.min(n,r,1))}}function sr(e,t=new Date){const i=function(e){const t=e?.states?.["sun.sun"]?.attributes;return t&&er(t.azimuth)&&er(t.elevation)&&"boolean"==typeof t.rising?{azimuth:Zn(t.azimuth),elevation:t.elevation,rising:t.rising}:null}(e);if(i)return{phase:ir(i),source:"sun",...rr(i)};const n="number"==typeof t?t:function(e=new Date){return 60*e.getHours()+e.getMinutes()}(t);return{phase:nr(n),source:"clock",...or(n)}}function ar(e){return`${e.source}|${e.phase}|${e.sunX.toFixed(2)}|${e.sunY.toFixed(2)}|`+e.sunOpacity.toFixed(3)}const lr=[[-90,"#070c14"],[-12,"#070c14"],[-4,"#131a28"],[0,"#4a3527"],[10,"#e8ddcf"],[30,"#ffffff"],[90,"#ffffff"]],cr=e=>Math.min(1,Math.max(0,e));function hr(e,t,i=6){const n=e.angle*Math.PI/180,r=[Math.sin(n),-Math.cos(n)],o=n=>{const o=[e.x+r[0]*i*n,e.y+r[1]*i*n];return t.find(e=>e.poly.length>=3&&mi(o,e.poly))||null},s=o(1),a=o(-1);return s&&a?null:s||a?s?{normal:[-r[0],-r[1]],roomId:s.id}:{normal:r,roomId:a.id}:null}function dr(e,t,i){return i>0&&e[0]*t[0]+e[1]*t[1]>.05}function ur(e,t,i,n){return[[e[0],e[1]],[t[0],t[1]],[t[0]+i[0]*n,t[1]+i[1]*n],[e[0]+i[0]*n,e[1]+i[1]*n]]}function pr(e,t){return _r(e,t)}function _r(...e){try{if(!e.length||e.some(e=>e.length<3))return[];const t=e.map(e=>[[...e.map(e=>[e[0],e[1]]),[e[0][0],e[0][1]]]]),i=Ut(t[0],...t.slice(1)),n=[];for(const e of i){const t=e[0];!Array.isArray(t)||t.length<4||n.push(t.slice(0,t.length-1).map(e=>[e[0],e[1]]))}return n}catch{return[]}}function mr(e,t,i,n,r,o,s,a="inner"){if(!(n>0))return[];const l=Jn(i,r),c=[-l[0],-l[1]],h=function(e){const t=Math.min(90,Math.max(0,e));return.7*(.8+1.7*Math.pow(1-t/90,1.6))}(n),d=[];for(const i of t){if(!(i.length>0))continue;const t=hr(i,e);if(!t||!dr(t.normal,l,n))continue;const r=e.find(e=>e.id===t.roomId);if(!r)continue;const u=o&&o[t.roomId]||r.poly,p=i.angle*Math.PI/180,_=i.length/2,m=[-t.normal[0],-t.normal[1]],g=Math.max(0,s?.[i.id]||0),f=Math.cos(p)*_,v=Math.sin(p)*_,y="outer"===a?-1:1,b=i.x+m[0]*g*y/2,w=i.y+m[1]*g*y/2,k=[b-f,w-v],x=[b+f,w+v],S=h*i.length,$=ur(k,x,c,S);let M,R=pr($,u);if("outer"===a&&g>0){const e=i.x+m[0]*g/2,t=i.y+m[1]*g/2,n=[e-f,t-v],r=[e+f,t+v],o=[[b-f,w-v],[b+f,w+v],[e+f,t+v],[e-f,t-v]];R=[..._r($,ur(n,r,c,S),u),..._r($,o)],M=[k,x,n,r]}if(!R.length)continue;const C=c[0]*m[0]+c[1]*m[1];d.push({openingId:i.id,roomId:t.roomId,polys:R,a:k,b:x,rimSources:M,dir:c,len:S,normal:m,depth:S*C})}return d}const gr=e=>"number"==typeof e&&Number.isInteger(e)&&e>=0&&e<=359?e:null;function fr(e,t){const i=gr(t?.north_deg);return null!==i?i:gr(e?.north_deg)}function vr(e){return"outer"===e?.sun_ray_origin?"outer":"inner"}function yr(e,t){const i=e=>"static"===e||"daynight"===e?e:null;return i(t?.bg_mode)??i(e?.bg_mode)??"static"}function br(e,t){const i=t?.sun_rays;return"boolean"==typeof i?i:!0===e?.sun_rays}function wr(e){const t=e?.states?.["sun.sun"]?.attributes,i=Number(t?.azimuth),n=Number(t?.elevation);return Number.isFinite(i)&&Number.isFinite(n)?{azimuth:i,elevation:n}:null}const kr=["dawn","day","dusk","night"];function xr(e){if(!e)return"";const t=Qn[e.phase];return[`--hp-day-cycle-outline-near:${t.outlineNear}`,`--hp-day-cycle-outline-mid:${t.outlineMid}`,`--hp-day-cycle-outline-far:${t.outlineFar}`].join(";")}function Sr(e,t=1){if(!e)return G;const i=[`--hp-day-cycle-sun-x:${e.sunX.toFixed(2)}%`,`--hp-day-cycle-sun-y:${e.sunY.toFixed(2)}%`,`--hp-day-cycle-sun-opacity:${e.sunOpacity.toFixed(3)}`,`opacity:${Math.min(1,Math.max(0,t)).toFixed(4)}`].join(";");return j`