1((t,e)=>{"use strict";const n=e=>{if(!e||""===e.trim()||e.startsWith("#")||e.startsWith("javascript:")||e.startsWith("mailto:")||e.startsWith("tel:"))return!1;try{const n=new URL(e,t.location.href),i=new URL(t.location.href);return n.hostname!==i.hostname}catch(t){return!1}};let i=null,a=null,o=null,l=null,r=null,s=null,c=null,d=[],u=null,b=null,m=!1;const f=()=>{if(null!==i)return;a=e.createElement("div"),a.className="social-confirm-backdrop",a.setAttribute("role","presentation"),i=e.createElement("div"),i.className="social-confirm-modal",i.setAttribute("role","dialog"),i.setAttribute("aria-modal","true"),i.setAttribute("aria-labelledby","social-confirm-title"),i.setAttribute("aria-describedby","social-confirm-description");const n=e.createElement("div");n.className="social-confirm-modal__content";const o=e.createElement("h2");o.id="social-confirm-title",o.className="social-confirm-modal__title",o.textContent="Hinweis: Sie verlassen die Website der Stadt Bad Dürrheim";const d=e.createElement("p");d.id="social-confirm-description",d.className="social-confirm-modal__description",d.textContent="Sie werden auf eine externe Website weitergeleitet. Dort gelten gegebenenfalls andere Datenschutzbestimmungen und Nutzungsbedingungen. Möchten Sie fortfahren?";const u=e.createElement("div");u.className="social-confirm-modal__buttons",l=e.createElement("button"),l.type="button",l.className="button button--primary social-confirm-modal__button social-confirm-modal__button--confirm",l.textContent="Ja, Seite öffnen",r=e.createElement("button"),r.type="button",r.className="button button--secondary social-confirm-modal__button social-confirm-modal__button--cancel",r.textContent="Abbrechen",s=e.createElement("button"),s.type="button",s.className="social-confirm-modal__close",s.setAttribute("aria-label","Dialog schlieÃen"),s.innerHTML="×",u.appendChild(l),u.appendChild(r),n.appendChild(s),n.appendChild(o),n.appendChild(d),n.appendChild(u),i.appendChild(n),e.body.appendChild(a),e.body.appendChild(i),a.addEventListener("click",()=>{g()}),r.addEventListener("click",()=>{g()}),s.addEventListener("click",()=>{g()}),l.addEventListener("click",()=>{c&&t.open(c,"_blank","noopener,noreferrer"),g()}),i.addEventListener("keydown",y),e.addEventListener("focusin",h)},p=()=>{if(!i)return[];const e=["button:not([disabled])","[href]:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"]):not([disabled])'],n=i.querySelectorAll(e.join(","));return Array.prototype.slice.call(n).filter(e=>{const n=t.getComputedStyle(e);return"none"!==n.display&&"hidden"!==n.visibility})},h=t=>{m&&i&&(i.contains(t.target)||(t.preventDefault(),t.stopPropagation(),u&&u.focus()))},v=(t,n)=>{c=t,o=e.activeElement&&e.activeElement!==e.body?e.activeElement:n||null,o&&o!==e.body&&o!==e.documentElement||(o=n||null),i||f();const r=void 0;e.querySelectorAll('a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])').forEach(t=>{if(!i.contains(t)){const e=t.getAttribute("tabindex");t.setAttribute("data-original-tabindex",e||""),t.setAttribute("tabindex","-1")}}),o&&"function"==typeof o.blur&&o.blur(),a.classList.add("social-confirm-backdrop--visible"),i.classList.add("social-confirm-modal--visible"),d=p(),u=d[0]||l,b=d[d.length-1]||l,m=!0,requestAnimationFrame(()=>{requestAnimationFrame(()=>{l&&l.focus()})})},g=()=>{m=!1,a&&a.classList.remove("social-confirm-backdrop--visible"),i&&i.classList.remove("social-confirm-modal--visible");const t=void 0;e.querySelectorAll("[data-original-tabindex]").forEach(t=>{const e=t.getAttribute("data-original-tabindex");""===e?t.removeAttribute("tabindex"):t.setAttribute("tabindex",e),t.removeAttribute("data-original-tabindex")}),c=null,d=[],u=null,b=null;const n=o;o=null,requestAnimationFrame(()=>{requestAnimationFrame(()=>{if(n&&(e.body.contains(n)||e.documentElement.contains(n)))try{if(n.hasAttribute("data-original-tabindex")){const t=n.getAttribute("data-original-tabindex");""===t?n.removeAttribute("tabindex"):n.setAttribute("tabindex",t),n.removeAttribute("data-original-tabindex")}"function"==typeof n.focus&&n.focus()}catch(t){console.debug("Could not restore focus:",t)}})})},y=t=>{if(!m||!i)return;const n=9,a=27;if(t.keyCode===a||"Escape"===t.key)return t.preventDefault(),t.stopPropagation(),void g();if(9===t.keyCode||"Tab"===t.key){if(d=p(),u=d[0]||l,b=d[d.length-1]||l,0===d.length)return void t.preventDefault();const n=d.indexOf(e.activeElement);t.shiftKey?(0===n||e.activeElement===u||-1===n)&&(t.preventDefault(),t.stopPropagation(),b.focu
1s()):(n===d.length-1||e.activeElement===b||-1===n)&&(t.preventDefault(),t.stopPropagation(),u.focus())}},A=()=>{const t=e.querySelectorAll("a[href]");t.length&&t.forEach(t=>{const e=t.getAttribute("href");n(e)&&(t.classList&&t.classList.contains("no-social")||t.hasAttribute("data-no-confirm")||(t.setAttribute("data-external-link","true"),t.addEventListener("click",e=>{if(0!==e.button)return;if(e.ctrlKey||e.metaKey||e.shiftKey)return;if(t.classList&&t.classList.contains("no-social"))return;e.preventDefault(),e.stopPropagation();const n=t.getAttribute("href");n&&v(n,t)}),t.addEventListener("keydown",e=>{const n=13,i=32;if(e.keyCode===n||e.keyCode===i){if(t.classList&&t.classList.contains("no-social"))return;e.preventDefault(),e.stopPropagation();const n=t.getAttribute("href");if(!n)return;v(n,t)}})))})};e.addEventListener("DOMContentLoaded",A)})(window,document);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.