1var w={avito:{key:"avito",label:"Avito",params:{utm_source:"avito",utm_medium:"cpm",utm_campaign:"tikets",utm_term:"call-center"}},instagram:{key:"instagram",label:"Instagram",params:{utm_source:"instagram",utm_medium:"direct",utm_campaign:""},needsSlug:!0},telegram:{key:"telegram",label:"Telegram",params:{utm_source:"tg",utm_medium:"bot",utm_campaign:""},needsSlug:!0},max:{key:"max",label:"MAX",params:{utm_source:"call-center",utm_medium:"max",utm_campaign:""},needsSlug:!0},whatsapp:{key:"whatsapp",label:"WhatsApp",params:{utm_source:"call-center",utm_medium:"whatsapp",utm_campaign:""},needsSlug:!0},sms:{key:"sms",label:"SMS",params:{utm_source:"call-center",utm_medium:"sms",utm_campaign:""},needsSlug:!0},email:{key:"email",label:"ÐоÑÑа",params:{utm_source:"call-center",utm_medium:"email",utm_campaign:""},needsSlug:!0},vk:{key:"vk",label:"VK",params:{utm_source:"vk",utm_medium:"direct",utm_campaign:""},needsSlug:!0},jivo:{key:"jivo",label:"Jivo",params:{utm_source:"call-center",utm_medium:"jivo",utm_campaign:""},needsSlug:!0}},_=Object.values(w);function y(e,t,a){try{let n=new URL(e);return Object.entries(t.params).forEach(([e,l])=>{"utm_campaign"===e&&t.needsSlug?n.searchParams.set(e,a||l||""):l&&n.searchParams.set(e,l)}),n.toString()}catch{return e}}function b(e){try{let t=new URL(e,"u">typeof window?window.location.origin:"http://localhost").pathname;t.endsWith("/")&&(t=t.slice(0,-1));let a=t.split("/").filter(Boolean);return a[a.length-1]||""}catch{let t=e.split(/[?#]/)[0].replace(/\/$/,"").split("/").filter(Boolean);return t[t.length-1]||""}}!function(e){if("u"<typeof document)return;let t=e.__GENERATE_UTM_CONFIG__||{},a=t.channels||_,n=t.baseUrl||window.location.href,l=t.defaultSlug||b(n),m=t.copyFn;(async function e(){try{let e=await fetch("/api/whoami",{credentials:"include"});if(!e.ok)return!1;let t=await e.json();return Array.isArray(t.acl)&&t.acl.includes("can_view_utm")}catch{return!1}})().then(e=>{e&&function(){let e="utm-fixed",t=document.createElement("div");t.className=e;let c=!1,i=document.createElement("div");i.className=`${e}-panel`;let u=document.createElement("ul");u.className=`${e}-list`,a.forEach(e=>{let t=document.createElement("li"),a=document.createElement("button");a.type="button",a.textContent=e.label,a.title=e.label,a.addEventListener("click",()=>o(e)),t.appendChild(a),u.appendChild(t)}),i.appendChild(u);let s=document.createElement("button");function r(t){(c=t)?i.classList.add(`${e}-panel-open`):i.classList.remove(`${e}-panel-open`)}async function o(t){let a=y(n,t,l);try{if(m)await m(a);else if(navigator.clipboard)await navigator.clipboard.writeText(a);else{let e=document.createElement("textarea");e.value=a,document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e)}s.classList.add(`${e}-copied`),setTimeout(()=>s.classList.remove(`${e}-copied`),600)}catch(e){console.warn("Copy failed",e)}}s.type="button",s.className=`${e}-main`,s.textContent="UTM",s.addEventListener("click",e=>{e.stopPropagation(),r(!c)}),t.appendChild(i),t.appendChild(s),document.addEventListener("mousedown",e=>{c&&(t.contains(e.target)||r(!1))}),document.body.appendChild(t)}()}).catch(()=>{})}(globalThis);
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.