@rtrvr-ai/rover 4.0.1 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/embed.js CHANGED
@@ -1,23 +1,23 @@
1
1
  var __ROVER_SCRIPT_EL__=document.currentScript||null;var __ROVER_SCRIPT_URL__=(__ROVER_SCRIPT_EL__&&__ROVER_SCRIPT_EL__.src)||'';
2
- "use strict";var __roverSDK=(()=>{var Bc=Object.defineProperty;var Ex=Object.getOwnPropertyDescriptor;var Ix=Object.getOwnPropertyNames;var Rx=Object.prototype.hasOwnProperty;var Ax=(e,t,n)=>t in e?Bc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Cx=(e,t)=>{for(var n in t)Bc(e,n,{get:t[n],enumerable:!0})},Mx=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ix(t))!Rx.call(e,o)&&o!==n&&Bc(e,o,{get:()=>t[o],enumerable:!(r=Ex(t,o))||r.enumerable});return e};var Nx=e=>Mx(Bc({},"__esModule",{value:!0}),e);var U=(e,t,n)=>Ax(e,typeof t!="symbol"?t+"":t,n);var bA={};Cx(bA,{__roverInternalsForTests:()=>gA,attachLaunch:()=>Em,boot:()=>xc,close:()=>Jd,createRoverAgentCard:()=>Do,createRoverAgentCardJson:()=>yi,createRoverAgentDiscoveryTags:()=>Yy,createRoverBookmarklet:()=>My,createRoverConsoleSnippet:()=>Cy,createRoverOwnerInstallBundle:()=>tv,createRoverScriptTagSnippet:()=>Ny,createRoverServiceDescLinkHeader:()=>Jl,createRoverSiteProfile:()=>bi,createRoverSiteProfileJson:()=>zs,createRoverWellKnownAgentCard:()=>Ky,createRoverWellKnownSiteProfile:()=>Xy,endTask:()=>Qd,getAgentCard:()=>zf,getState:()=>Am,hide:()=>Sm,identify:()=>xm,init:()=>wm,installGlobal:()=>Tx,newTask:()=>Dc,open:()=>Sn,readRoverScriptDataAttributes:()=>Dp,registerPromptContextProvider:()=>Rm,registerTool:()=>Cm,requestSigned:()=>Im,send:()=>_m,show:()=>Tm,shutdown:()=>Ud,update:()=>Bd});var V;(function(e){e.click_element="click_element",e.type_into_element="type_into_element",e.type_and_enter="type_and_enter",e.select_dropdown_value="select_dropdown_value",e.clear_element="clear_element",e.focus_element="focus_element",e.check_field_validity="check_field_validity",e.select_text="select_text",e.hover_element="hover_element",e.right_click_element="right_click_element",e.double_click_element="double_click_element",e.press_key="press_key",e.mouse_wheel="mouse_wheel",e.dispatch_pointer_path="dispatch_pointer_path",e.drag_element="drag_element",e.drag_and_drop="drag_and_drop",e.adjust_slider="adjust_slider",e.scroll_page="scroll_page",e.scroll_to_element="scroll_to_element",e.swipe_element="swipe_element",e.long_press_element="long_press_element",e.pinch_zoom="pinch_zoom",e.go_back="go_back",e.go_forward="go_forward",e.goto_url="goto_url",e.refresh_page="refresh_page",e.open_new_tab="open_new_tab",e.switch_tab="switch_tab",e.close_tab="close_tab",e.describe_images="describe_images",e.google_search="google_search",e.network_run_recipe="network_run_recipe",e.rover_external_read_context="rover_external_read_context",e.rover_external_act_context="rover_external_act_context",e.copy_text="copy_text",e.paste_text="paste_text",e.wait_action="wait_action",e.wait_for_element="wait_for_element",e.answer_task="answer_task",e.upload_file="upload_file",e.solve_captcha="solve_captcha"})(V||(V={}));var vA=new Set(Object.values(V)),Uc=["element_id","source_element_id","target_element_id","center_element_id","element_ids"],Lx=40;function Mm(e){let t=Array.isArray(e?.element_ids)?e.element_ids:e?.element_id!=null?[e.element_id]:[];return Array.from(new Set(t.map(r=>Math.trunc(Number(r))))).filter(r=>Number.isFinite(r)&&r>0).slice(0,Lx)}var tr;(function(e){e[e.Unknown=0]="Unknown",e[e.React=1]="React",e[e.Vue=2]="Vue",e[e.Angular=3]="Angular",e[e.Svelte=4]="Svelte",e[e.JQuery=5]="JQuery"})(tr||(tr={}));var Nm={[tr.Unknown]:"unknown",[tr.React]:"react",[tr.Vue]:"vue",[tr.Angular]:"angular",[tr.Svelte]:"svelte",[tr.JQuery]:"jquery"},eu={react:tr.React,vue:tr.Vue,angular:tr.Angular,svelte:tr.Svelte,jquery:tr.JQuery},Yt;(function(e){e[e.Other=0]="Other",e[e.Inline=1]="Inline",e[e.Delegated=2]="Delegated",e[e.React=3]="React",e[e.Vue=4]="Vue",e[e.Angular=5]="Angular",e[e.Svelte=6]="Svelte",e[e.JQuery=7]="JQuery",e[e.Native=8]="Native"})(Yt||(Yt={}));var wA={[Yt.Other]:"other",[Yt.Inline]:"inline",[Yt.Delegated]:"delegated",[Yt.React]:"react",[Yt.Vue]:"vue",[Yt.Angular]:"angular",[Yt.Svelte]:"svelte",[Yt.JQuery]:"jquery",[Yt.Native]:"native"},TA={inline:Yt.Inline,delegated:Yt.Delegated,react:Yt.React,vue:Yt.Vue,angular:Yt.Angular,svelte:Yt.Svelte,jquery:Yt.JQuery,other:Yt.Other,native:Yt.Native},Ye;(function(e){e[e.click_element=1]="click_element",e[e.type_into_element=2]="type_into_element",e[e.type_and_enter=3]="type_and_enter",e[e.select_dropdown_value=4]="select_dropdown_value",e[e.clear_element=5]="clear_element",e[e.focus_element=6]="focus_element",e[e.hover_element=7]="hover_element",e[e.right_click_element=8]="right_click_element",e[e.double_click_element=9]="double_click_element",e[e.long_press_element=10]="long_press_element",e[e.drag_element=11]="drag_element",e[e.drag_and_drop=12]="drag_and_drop",e[e.swipe_element=13]="swipe_element",e[e.adjust_slider=14]="adjust_slider",e[e.describe_images=15]="describe_images",e[e.scroll_to_element=16]="scroll_to_element",e[e.paste_text=17]="paste_text",e[e.check_field_validity=18]="check_field_validity",e[e.select_text=19]="select_text",e[e.mouse_wheel=20]="mouse_wheel",e[e.copy_text=21]="copy_text",e[e.upload_file=22]="upload_file",e[e.go_back=23]="go_back",e[e.go_forward=24]="go_forward",e[e.refresh_page=25]="refresh_page",e[e.press_key=26]="press_key",e[e.scroll_page=27]="scroll_page",e[e.wait_action=28]="wait_action",e[e.wait_for_element=29]="wait_for_element",e[e.pinch_zoom=30]="pinch_zoom",e[e.goto_url=31]="goto_url",e[e.google_search=32]="google_search",e[e.open_new_tab=33]="open_new_tab",e[e.switch_tab=34]="switch_tab",e[e.close_tab=35]="close_tab",e[e.solve_captcha=36]="solve_captcha",e[e.answer_task=37]="answer_task",e[e.dispatch_pointer_path=38]="dispatch_pointer_path",e[e.network_run_recipe=40]="network_run_recipe",e[e.rover_external_read_context=41]="rover_external_read_context",e[e.rover_external_act_context=42]="rover_external_act_context"})(Ye||(Ye={}));var Hc={[V.click_element]:Ye.click_element,[V.type_into_element]:Ye.type_into_element,[V.type_and_enter]:Ye.type_and_enter,[V.select_dropdown_value]:Ye.select_dropdown_value,[V.clear_element]:Ye.clear_element,[V.focus_element]:Ye.focus_element,[V.hover_element]:Ye.hover_element,[V.right_click_element]:Ye.right_click_element,[V.double_click_element]:Ye.double_click_element,[V.long_press_element]:Ye.long_press_element,[V.drag_element]:Ye.drag_element,[V.drag_and_drop]:Ye.drag_and_drop,[V.swipe_element]:Ye.swipe_element,[V.adjust_slider]:Ye.adjust_slider,[V.describe_images]:Ye.describe_images,[V.scroll_to_element]:Ye.scroll_to_element,[V.paste_text]:Ye.paste_text,[V.check_field_validity]:Ye.check_field_validity,[V.select_text]:Ye.select_text,[V.mouse_wheel]:Ye.mouse_wheel,[V.copy_text]:Ye.copy_text,[V.upload_file]:Ye.upload_file,[V.go_back]:Ye.go_back,[V.go_forward]:Ye.go_forward,[V.refresh_page]:Ye.refresh_page,[V.press_key]:Ye.press_key,[V.scroll_page]:Ye.scroll_page,[V.wait_action]:Ye.wait_action,[V.wait_for_element]:Ye.wait_for_element,[V.pinch_zoom]:Ye.pinch_zoom,[V.goto_url]:Ye.goto_url,[V.google_search]:Ye.google_search,[V.open_new_tab]:Ye.open_new_tab,[V.switch_tab]:Ye.switch_tab,[V.close_tab]:Ye.close_tab,[V.solve_captcha]:Ye.solve_captcha,[V.answer_task]:Ye.answer_task,[V.dispatch_pointer_path]:Ye.dispatch_pointer_path,[V.network_run_recipe]:Ye.network_run_recipe,[V.rover_external_read_context]:Ye.rover_external_read_context,[V.rover_external_act_context]:Ye.rover_external_act_context},Lm=Object.fromEntries(Object.entries(Hc).map(([e,t])=>[t,e]));function zc(e){let t=[];return e&&(e&1&&t.push("native"),e&2&&t.push("inline"),e&4&&t.push("react"),e&8&&t.push("vue"),e&16&&t.push("angular"),e&32&&t.push("svelte"),e&64&&t.push("jquery"),e&128&&t.push("delegated"),e&256&&t.push("other")),t}var Pm={semanticIdStart:1,interactiveIdStart:1,includeFrameContents:!0,clearIframes:!0,frameContextLabel:null,signalProvider:null,disableDomAnnotations:!1},On={...Pm},jc=globalThis;function Om(e){On={...Pm,...e||{}}}function ra(){return On.signalProvider??null}function Ut(){try{return typeof jc.document<"u"?jc.document:null}catch{return null}}function xr(){try{return typeof jc.window<"u"?jc.window:null}catch{return null}}function de(e,t){if(e&&typeof e=="object"){let n=e.ownerDocument;if(n)return n;if(e.nodeType===9)return e}return t??Ut()??{}}function Ve(e,t){return de(e,t?t.document:null)?.defaultView??t??xr()??{}}function be(e,t){return e?.defaultView??t??xr()??{}}function qc(e,t){try{return e?.getElementById?.(t)??null}catch{return null}}function $c(e,t){try{return e?.querySelector?.(t)??null}catch{return null}}function tu(e,t){try{return Array.from(e?.querySelectorAll?.(t)??[])}catch{return[]}}function ts(e){try{return e.contentDocument||(e.contentWindow?.document??null)}catch{return null}}function Vc(e,t){let n=e.CSS?.escape;return typeof n=="function"?n(t):t.replace(/([^\w-])/g,"\\$1")}function nr(e,t){try{return e[t]}catch{return}}function zr(e,t){return!!e&&String(e.tagName||"").toUpperCase()===t.toUpperCase()}function Bm(e,t){let n=nr(t,"HTMLAnchorElement");return n?e instanceof n:zr(e,"A")}function pr(e,t){let n=nr(t,"HTMLInputElement");return n?e instanceof n:zr(e,"INPUT")}function wr(e,t){let n=nr(t,"HTMLTextAreaElement");return n?e instanceof n:zr(e,"TEXTAREA")}function Um(e,t){let n=nr(t,"HTMLLabelElement");return n?e instanceof n:zr(e,"LABEL")}function Hm(e,t){let n=nr(t,"HTMLSelectElement");return n?e instanceof n:zr(e,"SELECT")}function zm(e,t){let n=nr(t,"HTMLSlotElement");return n?e instanceof n:zr(e,"SLOT")}function Fm(e,t){let n=nr(t,"HTMLButtonElement");return n?e instanceof n:zr(e,"BUTTON")}function jm(e,t){let n=nr(t,"HTMLImageElement");return n?e instanceof n:zr(e,"IMG")}function qm(e,t){let n=nr(t,"HTMLVideoElement");return n?e instanceof n:zr(e,"VIDEO")}function $m(e,t){let n=nr(t,"HTMLCanvasElement");return n?e instanceof n:zr(e,"CANVAS")}function Jt(e,t){if(!e||e.nodeType!==1)return!1;let n=nr(t,"HTMLElement");return n?e instanceof n:typeof e.tagName=="string"}function rr(e){return!!e&&e.nodeType===11&&typeof e.host=="object"&&typeof e.mode=="string"}function oa(e){if(!e||e.nodeType!==1)return!1;let t=de(e),r=be(t).Element;return r?e instanceof r:typeof e.tagName=="string"}function ns(e){if(!e||e.nodeType!==1)return!1;let t=de(e),r=be(t).HTMLIFrameElement;return r&&e instanceof r?!0:String(e.tagName||"").toUpperCase()==="IFRAME"}function Dx(e,t){if(!e)return!1;if(e.nodeType===9)return!0;let n=nr(t,"Document");return n?e instanceof n:!1}function Px(e,t){if(!e)return!1;let n=nr(t,"Window");if(n)return e instanceof n;try{return e.window===e}catch{return!1}}function Wc(e){try{return e.document}catch{return null}}function Gc(e,t){if(Dx(e,t))try{return e.documentElement}catch{return null}if(Px(e,t)){let n=Wc(e);if(!n)return null;try{return n.documentElement}catch{return null}}return null}function Fc(e){if(!e)return null;if(typeof e=="string")return e;if(typeof e=="object"&&typeof e.baseVal=="string")return e.baseVal;try{return String(e)}catch{return null}}function Dm(e,t,n){try{let r=de(t,n);return new URL(e,r.baseURI).href}catch{return e}}function Kc(e,t){let n=e.tagName.includes("-"),r=e.getAttribute("href")||e.getAttribute("src")||e.getAttribute("data")||e.getAttribute("action");if(r){let o=Dm(r,e,t);return o.trim().toLowerCase().startsWith("javascript:")?null:o}if(n)return null;try{let o=e,a=Fc(o.href)||Fc(o.src)||Fc(o.data)||Fc(o.action);return a?Dm(a,e,t):null}catch{return null}}var Vm=["click","dblclick","doubleclick","mousedown","mouseup","mouseenter","mouseleave","mousemove","mouseover","mouseout","contextmenu","auxclick","keydown","keyup","keypress","input","change","submit","reset","select","search","invalid","beforeinput","focus","blur","focusin","focusout","touchstart","touchend","touchmove","touchcancel","pointerdown","pointerup","pointermove","pointerenter","pointerleave","pointercancel","pointerover","dragstart","dragend","drag","dragenter","dragleave","dragover","drop","copy","cut","paste","scroll","wheel","play","pause","ended","volumechange","seeking","seeked","animationstart","animationend","transitionend","transitionstart","resize","toggle","fullscreenchange","load","error","abort","beforeunload","unload","hashchange","popstate","storage","message"],ut={};Vm.forEach((e,t)=>{ut[e]=t});var io={};Vm.forEach((e,t)=>{io[t]=e});function aa(e){if(!e)return null;let t=e.trim();if(!t||!t.includes("~"))return null;let n=[];for(let r of t.split(",")){if(!r)continue;let[o,a]=r.split("~"),i=Number(o);if(!Number.isFinite(i))continue;let s=a&&parseInt(a,36)||0;n.push({id:i,mask:s})}return n.length?{entries:n}:null}function Ox(e){let t=aa(e);if(t){let n=new Set;for(let{id:r}of t.entries)n.add(r);return[...n]}return[]}function rs(e){return $a(e).map(n=>io[n]).filter(n=>!!n)}function $a(e){let t=ra();if(t?.getEventHandlerIds)try{let o=t.getEventHandlerIds(e);if(o&&o.length)return o}catch{}let n=e.getAttribute(Io),r=Ox(n);return!r||r.length===0?[]:r}var nu=["media"],Wm=new Set(nu),ru=["alert","alertdialog","application","directory","feed","grid","log","marquee","menu","menubar","menuitem","menuitemcheckbox","menuitemradio","note","radiogroup","scrollbar","search","switch","tab","tablist","tabpanel","timer","toolbar","tooltip","tree","treegrid","treeitem"];var Gm=new Set(ru),so=new Set(["button","checkbox","combobox","figure","img","link","listbox","option","radio","scrollbar","searchbox","separator","slider","spinbutton","switch","tab","tabpanel","textbox","tooltip","treeitem","grid","gridcell","table","cell","columnheader","rowheader","menu","menubar","menuitem","menuitemcheckbox","menuitemradio","tree","treegrid","radiogroup","application","dialog","alertdialog","alert","status","progressbar","meter","search","code","media"]),os=new Set(["group","region","section","banner","contentinfo","main","navigation","complementary","form","article","document","presentation","none"]);var Km=["none","presentation"],ot;(function(e){e[e.ANCESTOR_ROLE_REQUIRED=6]="ANCESTOR_ROLE_REQUIRED",e[e.PROPERTY_VALUE_MATCH=5]="PROPERTY_VALUE_MATCH",e[e.HAS_TABLE_ROW_DATA=7]="HAS_TABLE_ROW_DATA",e[e.BOOLEAN_PROPERTY=0]="BOOLEAN_PROPERTY",e[e.ATTRIBUTE_GREATER_THAN=2]="ATTRIBUTE_GREATER_THAN",e[e.HAS_TABLE_COLUMN_DATA=8]="HAS_TABLE_COLUMN_DATA",e[e.FORBIDDEN_ANCESTORS=1]="FORBIDDEN_ANCESTORS",e[e.HAS_ACCESSIBLE_NAME=4]="HAS_ACCESSIBLE_NAME",e[e.ATTRIBUTE_LESS_THAN=3]="ATTRIBUTE_LESS_THAN"})(ot||(ot={}));var Xm={a:["link"],area:["link"],article:["article"],aside:["complementary"],body:["document"],button:["button"],datalist:["listbox"],dd:["definition"],details:["group"],dfn:["term"],dialog:["dialog"],dt:["term"],fieldset:["group"],figure:["figure"],footer:["contentinfo"],form:["form"],h1:["heading"],h2:["heading"],h3:["heading"],h4:["heading"],h5:["heading"],h6:["heading"],header:["banner"],hr:["separator"],img:["img"],input:["button","checkbox","combobox","radio","searchbox","slider","spinbutton","textbox"],li:["listitem"],link:["link"],main:["main"],math:["math"],menu:["list"],nav:["navigation"],ol:["list"],optgroup:["group"],option:["option"],output:["status"],progress:["progressbar"],section:["region"],select:["combobox","listbox"],summary:["button"],table:["table"],tbody:["rowgroup"],td:["cell","gridcell"],textarea:["textbox"],tfoot:["rowgroup"],th:["cell","columnheader","gridcell","rowheader"],thead:["rowgroup"],tr:["row"],ul:["list"],code:["code"],pre:["code"]},as={heading:{selector:"h6,h1,h3,h2,h5,h4"},checkbox:{conditionalSelectors:[{selector:"input",conditions:[{type:ot.PROPERTY_VALUE_MATCH,property:"type",values:["checkbox"]}]}]},navigation:{selector:"nav"},row:{selector:"tr"},complementary:{selector:"aside"},table:{selector:"table"},gridcell:{conditionalSelectors:[{selector:"td",conditions:[{type:ot.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"grid"}]},{selector:"td",conditions:[{type:ot.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"treegrid"}]},{selector:'th:not([scope="rowgroup"]):not([scope="row"]):not([scope="colgroup"]):not([scope="col"])',conditions:[{type:ot.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"treegrid"},{type:ot.HAS_TABLE_COLUMN_DATA,hasData:!0},{type:ot.HAS_TABLE_ROW_DATA,hasData:!0}]}]},slider:{conditionalSelectors:[{selector:"input",conditions:[{type:ot.PROPERTY_VALUE_MATCH,property:"type",values:["range"]}]}]},listitem:{selector:"li"},contentinfo:{conditionalSelectors:[{selector:"footer",conditions:[{type:ot.FORBIDDEN_ANCESTORS,selector:'section,nav,main,aside,article,[role="region"],[role="navigation"],[role="main"],[role="complementary"],[role="article"]'}]}]},definition:{selector:"dd"},button:{selector:"summary,button",conditionalSelectors:[{selector:"input",conditions:[{type:ot.PROPERTY_VALUE_MATCH,property:"type",values:["submit","reset","image","button"]}]}]},status:{selector:"output"},form:{conditionalSelectors:[{selector:"form",conditions:[{type:ot.HAS_ACCESSIBLE_NAME}]}]},article:{selector:"article"},textbox:{selector:"textarea",conditionalSelectors:[{selector:"input:not([list])",conditions:[{type:ot.PROPERTY_VALUE_MATCH,property:"type",values:["url","text","tel","email"]}]}]},radio:{conditionalSelectors:[{selector:"input",conditions:[{type:ot.PROPERTY_VALUE_MATCH,property:"type",values:["radio"]}]}]},columnheader:{selector:'th[scope="colgroup"],th[scope="col"]',conditionalSelectors:[{selector:'th:not([scope="rowgroup"]):not([scope="row"]):not([scope="colgroup"]):not([scope="col"])',conditions:[{type:ot.HAS_TABLE_ROW_DATA,hasData:!1}]}]},list:{selector:"ul,ol,menu"},region:{conditionalSelectors:[{selector:"section",conditions:[{type:ot.HAS_ACCESSIBLE_NAME}]}]},document:{selector:"body"},option:{selector:"select > option,select > optgroup > option,datalist > option"},separator:{selector:"hr"},link:{selector:"area[href],a[href],link[href]"},img:{selector:"img[alt],img:not([alt])"},main:{selector:"main"},searchbox:{conditionalSelectors:[{selector:"input:not([list])",conditions:[{type:ot.PROPERTY_VALUE_MATCH,property:"type",values:["search"]}]}]},cell:{conditionalSelectors:[{selector:"td",conditions:[{type:ot.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"table"}]},{selector:'th:not([scope="rowgroup"]):not([scope="row"]):not([scope="colgroup"]):not([scope="col"])',conditions:[{type:ot.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"table"},{type:ot.HAS_TABLE_COLUMN_DATA,hasData:!0},{type:ot.HAS_TABLE_ROW_DATA,hasData:!0}]}]},rowheader:{selector:'th[scope="rowgroup"],th[scope="row"]',conditionalSelectors:[{selector:'th:not([scope="rowgroup"]):not([scope="row"]):not([scope="colgroup"]):not([scope="col"])',conditions:[{type:ot.HAS_TABLE_COLUMN_DATA,hasData:!1},{type:ot.HAS_TABLE_ROW_DATA,hasData:!0}]}]},dialog:{selector:"dialog"},listbox:{selector:"select[multiple],datalist",conditionalSelectors:[{selector:"select",conditions:[{type:ot.ATTRIBUTE_GREATER_THAN,attribute:"size",value:1}]}]},group:{selector:"optgroup,fieldset,details"},term:{selector:"dt,dfn"},progressbar:{selector:"progress"},figure:{selector:"figure"},spinbutton:{conditionalSelectors:[{selector:"input",conditions:[{type:ot.PROPERTY_VALUE_MATCH,property:"type",values:["number"]}]}]},math:{selector:"math"},combobox:{selector:"select:not([size]):not([multiple])",conditionalSelectors:[{selector:"select:not([multiple])",conditions:[{type:ot.ATTRIBUTE_LESS_THAN,attribute:"size",value:2}]},{selector:"input[list]",conditions:[{type:ot.PROPERTY_VALUE_MATCH,property:"type",values:["url","text","tel","search","email"]}]}]},banner:{conditionalSelectors:[{selector:"header",conditions:[{type:ot.FORBIDDEN_ANCESTORS,selector:'[role="region"],[role="navigation"],[role="main"],[role="complementary"],[role="article"],section,nav,main,aside,article'}]}]},rowgroup:{selector:"thead,tfoot,tbody"},code:{selector:"code,pre"}},Io="rtrvr-ls",co="rtrvr-ro",ou="rtrvr-mw-ready",ia="rtrvr-mw-busy",au="rtrvr-mwa-ready",Ym=new Set(["button","cell","checkbox","columnheader","gridcell","heading","link","menuitem","menuitemcheckbox","menuitemradio","option","radio","row","rowgroup","rowheader","switch","tab","tooltip","tree","treeitem","sectionhead","definition","term","deletion","insertion"]),Jm=["BUTTON","INPUT","METER","OUTPUT","PROGRESS","SELECT","TEXTAREA"],Qm=["h1","h2","h3","h4","h5","h6"],Zm="http://www.w3.org/1999/xhtml",eh="http://www.w3.org/2000/svg",In="rtrvr-label";var Jc=new Set(["NOSCRIPT","SCRIPT","STYLE","META"]),sa="CODE",ca="PRE",th="aria-hidden",nh="target";var Xc;(function(e){e[e.value=0]="value",e[e.alt=1]="alt",e[e.list=2]="list",e[e.title=3]="title"})(Xc||(Xc={}));var Va;(function(e){e[e["data-icon"]=13]="data-icon",e[e["data-name"]=14]="data-name",e[e["data-tooltip"]=15]="data-tooltip",e[e["data-label"]=16]="data-label"})(Va||(Va={}));var Yc;(function(e){e[e.VALUENOW=0]="VALUENOW",e[e.VALUETEXT=1]="VALUETEXT"})(Yc||(Yc={}));var iu=new Set([ut.click,ut.dblclick,ut.doubleclick,ut.contextmenu,ut.auxclick,ut.pointerdown,ut.pointerup,ut.mousedown,ut.mouseup,ut.touchstart,ut.touchend,ut.keydown,ut.keyup,ut.input,ut.beforeinput,ut.change,ut.submit,ut.reset,ut.paste,ut.dragstart,ut.dragend,ut.drop]),rh=new Set([...iu,ut.scroll,ut.wheel,ut.mouseenter,ut.mouseover,ut.focus,ut.blur,ut.focusin,ut.focusout]),Qc=new Set(["click","dblclick","auxclick","contextmenu","mousedown","mouseup","pointerdown","pointerup","touchstart","touchend"]),su=new Set(["input","change","beforeinput","keydown","keyup","keypress","paste","compositionstart","compositionend"]),cu=new Set(["drag","dragstart","dragend","dragenter","dragleave","dragover","drop"]);var Ro;(function(e){e[e.ELEMENT=1]="ELEMENT",e[e.ATTRIBUTE=2]="ATTRIBUTE",e[e.TEXT=3]="TEXT",e[e.CDATA_SECTION=4]="CDATA_SECTION",e[e.ENTITY_REFERENCE=5]="ENTITY_REFERENCE",e[e.ENTITY=6]="ENTITY",e[e.PROCESSING_INSTRUCTION=7]="PROCESSING_INSTRUCTION",e[e.COMMENT=8]="COMMENT",e[e.DOCUMENT=9]="DOCUMENT",e[e.DOCUMENT_TYPE=10]="DOCUMENT_TYPE",e[e.DOCUMENT_FRAGMENT=11]="DOCUMENT_FRAGMENT",e[e.NOTATION=12]="NOTATION"})(Ro||(Ro={}));var is;(function(e){e[e.HTML=0]="HTML",e[e.SVG=1]="SVG"})(is||(is={}));var Zc;(function(e){e[e.VALUENOW=0]="VALUENOW",e[e.VALUETEXT=1]="VALUETEXT",e[e.ATOMIC=2]="ATOMIC",e[e.AUTOCOMPLETE=3]="AUTOCOMPLETE",e[e.COLCOUNT=4]="COLCOUNT",e[e.COLINDEX=5]="COLINDEX",e[e.COLSPAN=6]="COLSPAN",e[e.ERRORMESSAGE=7]="ERRORMESSAGE",e[e.HASPOPUP=8]="HASPOPUP",e[e.LEVEL=9]="LEVEL",e[e.LIVE=10]="LIVE",e[e.MULTILINE=11]="MULTILINE",e[e.MULTISELECTABLE=12]="MULTISELECTABLE",e[e.ORIENTATION=13]="ORIENTATION",e[e.PLACEHOLDER=14]="PLACEHOLDER",e[e.POSINSET=15]="POSINSET",e[e.READONLY=16]="READONLY",e[e.RELEVANT=17]="RELEVANT",e[e.REQUIRED=18]="REQUIRED",e[e.ROWCOUNT=19]="ROWCOUNT",e[e.ROWINDEX=20]="ROWINDEX",e[e.ROWSPAN=21]="ROWSPAN",e[e.SETSIZE=22]="SETSIZE",e[e.SORT=23]="SORT",e[e.VALUEMAX=24]="VALUEMAX",e[e.VALUEMIN=25]="VALUEMIN",e[e.KEYSHORTCUTS=26]="KEYSHORTCUTS",e[e.ROLEDESCRIPTION=27]="ROLEDESCRIPTION"})(Zc||(Zc={}));var el;(function(e){e[e.BUSY=0]="BUSY",e[e.CHECKED=1]="CHECKED",e[e.CURRENT=2]="CURRENT",e[e.EXPANDED=3]="EXPANDED",e[e.INVALID=4]="INVALID",e[e.PRESSED=5]="PRESSED",e[e.SELECTED=6]="SELECTED"})(el||(el={}));var $n;(function(e){e[e["rtrvr-label"]=0]="rtrvr-label",e[e.role=1]="role",e[e.value=2]="value",e[e.alt=3]="alt",e[e.list=4]="list",e[e.title=5]="title",e[e["aria-label"]=6]="aria-label",e[e["aria-labelledby"]=7]="aria-labelledby",e[e["aria-description"]=8]="aria-description",e[e["aria-describedby"]=9]="aria-describedby",e[e.disabled=10]="disabled",e[e.href=11]="href",e[e.placeholder=12]="placeholder",e[e.type=13]="type",e[e.tabindex=14]="tabindex",e[e.id=15]="id",e[e._ngcontent=16]="_ngcontent",e[e["ng-reflect-*"]=17]="ng-reflect-*",e[e["data-reactroot"]=18]="data-reactroot",e[e["data-v-*"]=19]="data-v-*",e[e.required=20]="required",e[e.contenteditable=21]="contenteditable",e[e.accept=22]="accept"})($n||($n={}));var vn;(function(e){e[e.display=0]="display",e[e.content=1]="content",e[e.beforeDisplay=2]="beforeDisplay",e[e.afterDisplay=3]="afterDisplay",e[e.beforeContent=4]="beforeContent",e[e.afterContent=5]="afterContent",e[e.width=6]="width",e[e.height=7]="height",e[e.minWidth=8]="minWidth",e[e.minHeight=9]="minHeight",e[e.position=10]="position",e[e.top=11]="top",e[e.left=12]="left",e[e.right=13]="right",e[e.bottom=14]="bottom",e[e.paddingTop=15]="paddingTop",e[e.paddingRight=16]="paddingRight",e[e.paddingBottom=17]="paddingBottom",e[e.paddingLeft=18]="paddingLeft",e[e.marginTop=19]="marginTop",e[e.marginRight=20]="marginRight",e[e.marginBottom=21]="marginBottom",e[e.marginLeft=22]="marginLeft",e[e.cursor=23]="cursor",e[e.opacity=24]="opacity",e[e.visibility=25]="visibility",e[e.overflowX=26]="overflowX",e[e.overflowY=27]="overflowY",e[e.backgroundColor=28]="backgroundColor",e[e.color=29]="color",e[e.borderWidth=30]="borderWidth",e[e.borderStyle=31]="borderStyle",e[e.boxShadow=32]="boxShadow",e[e.outline=33]="outline"})(vn||(vn={}));var lo;(function(e){e[e.text=0]="text",e[e.elText=1]="elText",e[e.viewBox=2]="viewBox",e[e.paths=3]="paths",e[e.pathData=4]="pathData",e[e.circles=5]="circles",e[e.rects=6]="rects",e[e.lines=7]="lines",e[e.polygons=8]="polygons",e[e.polylines=9]="polylines",e[e.ellipses=10]="ellipses"})(lo||(lo={}));var Bx=[...ru,...Object.keys(as),...nu],oh=[...new Set(Bx)],Wa={};oh.forEach((e,t)=>{Wa[e]=t});var ss={};oh.forEach((e,t)=>{ss[t]=e});var tl=class{constructor(t=1){U(this,"currentId");this.currentId=t}generateId(){let t=this.currentId;return this.currentId++,t}initialize(t=1){this.currentId=t}getCurrentValue(){return this.currentId}};function cs(e){let t=ra();if(t?.getRoleHint)try{let o=t.getRoleHint(e);if(o)return o}catch{}let n=e.getAttribute(co);if(!n)return null;let r=n.trim();if(!r)return null;if(r.startsWith("s:"))return r.slice(2);if(/^\d+$/.test(r)){let o=Number(r);if(Number.isFinite(o)){let a=ss[o];if(a)return a}}return r}function Ga(e){return Array.from(new Set(e))}function ah(e,t){if(!e||e.length===0)return Ga(t);let n=new Set([...e,...t]);return Ga(Array.from(n))}function or(e,t){let r=ra()?.getEventHandlerIds?.(e)??$a(e),o=r.length>0&&r.some(s=>iu.has(s)),a=nl(e),i=t?os.has(t):!1;return{element:e,semanticRole:t,eventHandlerIndices:r,isEditableRegion:a,hasNodeWorthyHandlers:o,isLikelyStructuralContainer:i}}var Ux=new Set(["text","search","url","tel","password","email","number","date","datetime-local","time","month","week","color"]);function Hx(e){let n=Ve(e).getComputedStyle(e);if(n.display==="none"||n.visibility==="hidden"||n.pointerEvents==="none")return!1;let r=e.getBoundingClientRect();return!(r.width===0||r.height===0)}function zx(e){let t=Ve(e);if(!pr(e,t))return!1;let n=(e.type||"text").toLowerCase();return Ux.has(n)?!e.disabled&&!e.readOnly:!1}function Fx(e){let t=Ve(e);return wr(e,t)&&!e.disabled&&!e.readOnly}function jx(e){let t=e;return!(!t.isContentEditable||t.getAttribute("aria-readonly")==="true"||t.getAttribute("aria-disabled")==="true")}function nl(e){return!e||!Hx(e)?!1:!!(zx(e)||Fx(e)||jx(e))}function ls(e){if(!e)return null;let t=e.match(/^\s*\[id=(\d+)\]/);if(t?.[1]){let o=parseInt(t[1],10);return Number.isFinite(o)?o:null}let n=/\[id=(\d+)\]/g,r;for(;r=n.exec(e);){let o=r.index??0,a=e.slice(Math.max(0,o-30),o);if(/iframeRoot\s*=\s*$/.test(a)||a.includes("iframeRoot="))continue;let i=parseInt(r[1],10);if(Number.isFinite(i))return i}try{let o=e.match(LABEL_ID_PATTERN);if(o?.[1]){let a=parseInt(o[1],10);return Number.isFinite(a)?a:null}}catch{}return null}function ds(e){let t=String(e??"").replace(/[\n\r\t]/g," ").replace(/\s+/g," ").trim();return t=t.replace(/\[/g,"&#91;").replace(/\]/g,"&#93;"),t}function ih({element:e,elementID:t,frameContextLabel:n}){let r=!On.disableDomAnnotations,o=[`[id=${t}]`],a=Ve(e);if(ns(e)){let c=ds(e.id||e.getAttribute("name")||"unnamed");o.push(`[iframe=${c}]`)}if(n){let c=ds(n);o.push(`[iframeRoot=${c}]`)}if(jm(e,a)&&o.push(`[size=${e.clientWidth}x${e.clientHeight}]`),(qm(e,a)||$m(e,a))&&o.push(`[size=${e.clientWidth}x${e.clientHeight}]`),pr(e,a)||wr(e,a)){let c=qx(e);o.push(...c)}e.getAttribute(th)==="true"&&o.push("[aria-hidden=true]"),e.disabled&&o.push("[disabled]"),r&&Bm(e,a)&&e.setAttribute(nh,"_self");let s=o.join(" ");return r&&e.setAttribute(In,s),s}function qx(e){let t=[],n=Ve(e),r=pr(e,n);if(r&&e.type&&e.type!=="text"&&t.push(`[type=${e.type}]`),e.name){let o=ds(e.name);o&&t.push(`[name=${o}]`)}if(r&&e.multiple&&t.push("[multiple]"),r&&(e.type==="checkbox"||e.type==="radio")&&t.push(`[checked=${e.checked}]`),r&&e.type==="file"&&e.files?.length&&t.push(`[files=${e.files.length}]`),r&&e.type==="number"&&(e.min!==""&&t.push(`[min=${e.min}]`),e.max!==""&&t.push(`[max=${e.max}]`),e.step!==""&&e.step!=="1"&&t.push(`[step=${e.step}]`)),r&&e.type==="range"&&(t.push(`[min=${e.min||"0"}]`),t.push(`[max=${e.max||"100"}]`),t.push(`[value=${e.value}]`)),e.readOnly&&t.push("[readonly]"),e.required&&t.push("[required]"),e.maxLength&&e.maxLength!==-1&&e.maxLength<524288&&t.push(`[maxlength=${e.maxLength}]`),r&&e.pattern&&t.push("[pattern]"),e.autocomplete&&e.autocomplete!=="off"&&t.push(`[autocomplete=${e.autocomplete}]`),e.placeholder){let o=ds(e.placeholder).replace(/\\/g,"\\\\").replace(/"/g,'\\"');o&&t.push(`[placeholder="${o}"]`)}if(e.value){let o=e.value;r&&e.type==="password"&&(o="*".repeat(Math.min(o.length,10)));let a=ds(o).replace(/\\/g,"\\\\").replace(/"/g,'\\"');t.push(`[value="${a}"]`)}return t}var la=new tl,lu=new WeakMap;function sh(){lu=new WeakMap}function rl(e){let t=lu.get(e);if(t)return t;let n=la.generateId();return lu.set(e,n),n}var ol=new Map,du=new WeakMap;function ch(){ol.clear(),du=new WeakMap}function uu(e,t){try{typeof WeakRef<"u"?ol.set(e,new WeakRef(t)):ol.set(e,t)}catch{}}function us(e){let t=ol.get(e);if(!t)return null;let n=t instanceof WeakRef?t.deref():t;return!n||n.isConnected===!1?null:n}function Ao(e){let t=null,n=rl(e);if(On.frameContextLabel)t=On.frameContextLabel;else{let o=Ut();if(o&&e.ownerDocument!==o)try{let i=e.ownerDocument?.defaultView?.frameElement?.getAttribute(In)||"",s=i?ls(i):null;t=s?String(s):null}catch{t=""}}let r=ih({element:e,elementID:n,frameContextLabel:t});if(uu(n,e),r)try{du.set(e,r)}catch{}return r}function lh(e){return du.get(e)??null}function pu(e,t){try{e.querySelectorAll?.(`[${In}]`)?.forEach(r=>r.removeAttribute(In))}catch{}if(t.includeShadow)try{let n=e.querySelectorAll?.("*");if(n)for(let r of Array.from(n))try{let o=r.shadowRoot;o&&pu(o,t)}catch{}}catch{}if(t.includeIframes)try{let n=e.querySelectorAll?.("iframe");if(n)for(let r of Array.from(n))try{let o=ts(r);o?.body&&pu(o.body,t)}catch{}}catch{}}function dh(e,t={}){if(On.disableDomAnnotations)return;let n=oa(e)?Ve(e):be(e)??window,r=Gc(e,n)??e;if(r){try{r.removeAttribute?.(In)}catch{}pu(r,{includeShadow:t.includeShadow??!0,includeIframes:t.includeIframes??!0})}}var Fr={},fu=new WeakMap,al=new WeakSet;function uh(){Fr={},fu=new WeakMap,al=new WeakSet,sh()}function Rn({targetElement:e,parentDisabled:t,semanticRole:n,excludeLabels:r,isFrameNode:o,frameContentNodes:a,originatedFromParent:i,elementContext:s}){let c=rl(e);uu(c,e);let l=Fr[c];if(i){if(!l){let d={nodeCategory:e.nodeType,provisionalFromParent:!0},m=e.nodeName;m&&m.trim()&&(d.elementName=m);let f=e.getAttribute("role");f&&(d.preservedAttributes={1:f});let p=e.tagName;p&&(d.elementTag=p),Fr[c]=d}}else{if(l&&!l.provisionalFromParent){if((o||Ka(e))&&(l.isFrameElement=!0,a&&a.length>0&&(l.frameContent=a)),s){let{eventHandlerIndices:d,isEditableRegion:m}=s;if(d&&d.length>0){let f=Ga(d);f.length>0&&(l.eventHandlers=ah(l.eventHandlers,f))}m&&(l.isEditable=!0)}return c}if(al.has(e))return c;al.add(e);try{Fr[c]=ph({targetElement:e,parentDisabled:t,semanticRole:n,excludeLabels:r,isFrameNode:o,frameContentNodes:a,elementContext:s})}finally{al.delete(e)}}return c}function ps(e){let t=fu.get(e);if(t!==void 0)return t;let r=(e.textContent||"").replace(/\s+/g," ").trim(),o=e.data?.replace(/\s+/g," ").trim();if(!r&&!o)return 0;let a=la.generateId(),i={textContent:r,nodeCategory:e.nodeType};return o&&o!==r&&(i.rawData=o),Fr[a]=i,fu.set(e,a),a}function mh(e,t){let n=gh(e),{minY:r,maxY:o}=n.getCellBounds(t);return n.getRows().slice(r,o+1).some(a=>a.some(fs))}function hh(e,t){let n=gh(e),{minX:r,maxX:o}=n.getCellBounds(t);return n.getRows().some(a=>a.slice(r,o+1).some(fs))}var sl=class{constructor(t=[]){U(this,"cells");U(this,"getCellAt",(t,n)=>this.getRowAt(n)[t]);U(this,"setCellAt",(t,n,r)=>{this.getRowAt(n)[t]=r});U(this,"getRowAt",t=>(this.cells[t]===void 0&&(this.cells[t]=[]),this.cells[t]));U(this,"getRows",()=>this.cells);U(this,"getCellBounds",t=>{let n=this.columnCount,r=this.rowCount,o=-1,a=-1;for(let i=0;i<this.rowCount;i++){let s=this.getRowAt(i),c=s.indexOf(t);c!==-1&&(o=Math.max(o,s.lastIndexOf(t)),a=Math.max(a,i),n=Math.min(n,c),r=Math.min(r,i))}return{minX:n,minY:r,maxX:o,maxY:a}});U(this,"merge",t=>{this.cells=this.getRows().concat(t.getRows())});this.cells=t}get rowCount(){return this.cells.length}get columnCount(){return Math.max(...this.cells.map(t=>t.length))}};function gh(e){let n=Ve(e).TableGrid||sl,r=new n;e.tHead!==null&&r.merge(il(e.tHead.rows)),Array.from(e.tBodies).forEach(a=>{r.merge(il(a.rows))});let o=[];for(let a of Array.from(e.children))mu(a)&&da(a,"tr")&&o.push(a);return r.merge(il(o)),e.tFoot!==null&&r.merge(il(e.tFoot.rows)),r}function il(e){let t=new sl,n=[];for(let r=0;r<e.length;r++){let o=0;for(let a of Array.from(e[r].cells)){for(;t.getCellAt(o,r)||n[o];)!fs(t.getCellAt(o,r))&&n[o]&&t.setCellAt(o,r,n[o]),o++;for(let i=o;i<o+a.colSpan;i++){fh(a)===0&&(n[i]=a,t.setCellAt(i,r,a));for(let s=r;s<r+fh(a);s++)fs(t.getCellAt(i,s))||t.setCellAt(i,s,a)}o+=a.colSpan}for(let a=o;a<t.columnCount;a++){let i=n[a];i!==void 0&&!fs(t.getCellAt(a,r))&&t.setCellAt(a,r,i)}}return t}function fh(e){let t=e.getAttribute("rowSpan");if(t===null||t.trim()==="")return 1;let n=Number(t);return isNaN(n)?1:n}function fs(e){return e!==void 0&&da(e,"td")}function Tr(e){let t=e.tagName?.toLowerCase();if(t==="code"||t==="pre"){let r=Qx(e);if(r)return r}let n=bh(e);if(n===null){if(t==="dl")return"list";if(t==="form")return"form";if(t==="header")return"banner";if(t==="footer")return"contentinfo";if(t==="option")return"option";if(t==="textarea")return"textbox";if(t==="input"){let o=e;switch(o.type.toLowerCase()){case"checkbox":return"checkbox";case"radio":return"radio";case"button":case"submit":case"reset":case"image":return"button";case"number":return"spinbutton";case"range":return"slider";case"hidden":return null;default:return o.hasAttribute("list")?"combobox":"textbox"}}if(t==="select")return e.multiple?"listbox":"combobox";if(t==="svg"){if(e.getAttribute("aria-hidden")==="true")return null;let o=e.querySelector("title"),a=e.querySelector("desc"),i=e.hasAttribute("aria-label"),s=e.hasAttribute("role");return o||a||i||s||$a(e).length>0||e.getAttribute("tabindex")!==null?"img":null}if($a(e).length>0){let o=e.tagName.toLowerCase();if(["div","span","li","p","i","em","strong","b"].includes(o))return $x(e)}}if(t==="td"&&e.getAttribute("role")===null)return"cell";if(n!==null&&t==="th"){let r=e.getAttribute("role");if(r&&yh(r))return r;let o=e;return o.scope==="col"||o.hasAttribute("aria-sort")?"columnheader":o.scope==="row"?"rowheader":"cell"}return n}function $x(e){return cs(e)??null}function bh(e){let t=e.getAttribute("role");if(t!==null)return Km.includes(t)||!yh(t)?null:t;let n=e.tagName.toLowerCase();return(Xm[n]??[]).find(o=>Vx(e,o))||null}function Vx(e,t){let n=as[t],r=n?.selector;if(r&&cl(e,r))return!0;let o=n?.conditionalSelectors;return o?o.some(i=>cl(e,i.selector)&&i.conditions.every(c=>Gx(e,c))):!1}function Wx(e,t){let n=(t||"").trim().replace(/^#/,"");if(!n)return null;try{let r=e.getRootNode?.();if(rr(r)){let o=Ve(e),a=`#${Vc(o,n)}`,i=$c(r,a);if(i)return i}}catch{}return qc(de(e),n)}function Gx(e,t){switch(t.type){case ot.ATTRIBUTE_GREATER_THAN:{let n=e.getAttribute(t.attribute);return n!==null&&Number(n)>t.value}case ot.ATTRIBUTE_LESS_THAN:{let n=e.getAttribute(t.attribute);return n!==null&&Number(n)<t.value}case ot.HAS_ACCESSIBLE_NAME:return e.hasAttribute("aria-label")?!0:(e.getAttribute("aria-labelledby")||"").split(/\s+/).filter(Boolean).some(r=>Wx(e,r)!=null);case ot.FORBIDDEN_ANCESTORS:return uo(e,t.selector)===null;case ot.BOOLEAN_PROPERTY:return e[t.property]===t.value;case ot.PROPERTY_VALUE_MATCH:return t.values.some(n=>n===e[t.property]);case ot.ANCESTOR_ROLE_REQUIRED:{let n=e.parentElement;if(n===null)return!1;let r=uo(n,t.tag);return r!==null&&bh(r)===t.role}case ot.HAS_TABLE_COLUMN_DATA:{let n=uo(e,"table");return n===null?!1:t.hasData===hh(n,e)}case ot.HAS_TABLE_ROW_DATA:{let n=uo(e,"table");return n===null?!1:t.hasData===mh(n,e)}default:return Kx(t),!1}}function Kx(e){throw new Error(`unexpected value ${e}!`)}function yh(e){return Yx(e)||Jx(e)||Xx(e)}function Xx(e){return Wm.has(e)}function Yx(e){return Gm.has(e)}function Jx(e){return as.hasOwnProperty(e)}function Qx(e){if(e.tagName!==sa&&e.tagName!==ca)return null;if(rs(e).some(r=>r==="click"||r==="copy"))return"button";let n=e.getAttribute("tabindex");return n!==null&&parseInt(n,10)>=0?"button":e.tagName===ca||e.tagName===sa&&e.closest("pre")?"code":null}var Zx={[vn.display]:[vn.beforeDisplay,vn.afterDisplay],[vn.content]:[vn.beforeContent,vn.afterContent]},hu=new Map,ew={minWidth:"min-width",minHeight:"min-height",backgroundColor:"background-color",borderWidth:"border-width",borderStyle:"border-style",boxShadow:"box-shadow",paddingTop:"padding-top",paddingRight:"padding-right",paddingBottom:"padding-bottom",paddingLeft:"padding-left",marginTop:"margin-top",marginRight:"margin-right",marginBottom:"margin-bottom",marginLeft:"margin-left",overflowX:"overflow-x",overflowY:"overflow-y"};function tw(e,t){if(!hu.has(e)){let n=ew[t]||t.replace(/([A-Z])/g,"-$1").toLowerCase();hu.set(e,n)}return hu.get(e)}var nw={display:e=>e!=="block"&&e!=="inline"&&e!=="",visibility:e=>e!=="visible",opacity:e=>parseFloat(e)<1,position:e=>e!=="static",cursor:e=>e!=="auto"&&e!=="default"&&e!=="text",width:e=>e!=="auto"&&e!=="",height:e=>e!=="auto"&&e!=="",minWidth:e=>e!=="0px"&&e!=="",minHeight:e=>e!=="0px"&&e!=="",paddingTop:e=>parseFloat(e)>0,paddingRight:e=>parseFloat(e)>0,paddingBottom:e=>parseFloat(e)>0,paddingLeft:e=>parseFloat(e)>0,marginTop:e=>Math.abs(parseFloat(e))>5,marginRight:e=>Math.abs(parseFloat(e))>5,marginBottom:e=>Math.abs(parseFloat(e))>5,marginLeft:e=>Math.abs(parseFloat(e))>5,overflowX:e=>e!=="visible",overflowY:e=>e!=="visible",backgroundColor:e=>e!=="transparent"&&e!=="rgba(0, 0, 0, 0)"&&e!=="initial",color:e=>e!=="initial"&&e!=="inherit"&&e!=="",borderWidth:e=>e!=="0px"&&parseFloat(e)>0,borderStyle:e=>e!=="none"&&e!=="initial",boxShadow:e=>e!=="none"&&e!=="",outline:e=>e!=="none"&&e!==""&&!e.includes("0px")};function xh(e,t,n){let r=nw[e];return r?r(t,n):t.trim()!==""&&!["initial","inherit","unset"].includes(t)}function wh(e){let t={},n=Ve(e);if(!Jt(e,n))return t;let r=n.getComputedStyle(e),o=new Map([[vn.beforeDisplay,n.getComputedStyle(e,"::before")],[vn.afterDisplay,n.getComputedStyle(e,"::after")],[vn.beforeContent,n.getComputedStyle(e,"::before")],[vn.afterContent,n.getComputedStyle(e,"::after")]]);for(let a in vn)if(isNaN(Number(a))){let i=vn[a],s=tw(i,a),c=Zx[i];c?((i===vn.display||i===vn.content)&&vh(r,s,i,a,t,e),kh(o.get(c[0]),s,c[0],"beforeContent",t),kh(o.get(c[1]),s,c[1],"afterContent",t)):vh(r,s,i,a,t,e)}return t}function vh(e,t,n,r,o,a){if(e){let i=e.getPropertyValue(t);i&&xh(r,i,a)&&(o[n]=i)}}function kh(e,t,n,r,o){if(e){let a=e.getPropertyValue(t);(t==="content"&&a&&a!=="none"&&a!=='""'&&a!=="''"||a&&xh(r,a))&&(o[n]=a)}}function ms(e){try{return e.id==="rover-widget-root"}catch{return!1}}function ua(e,t){let n=Ve(e);if(!Jt(e,n))return!0;if(t&&so.has(t))return!1;if(e.hasAttribute("hidden")||uo(e,"[hidden]")!==null||uo(e,"[inert]")!==null)return!0;let r=n.getComputedStyle(e);if(r.display==="none"||r.visibility==="hidden"||r.visibility==="collapse"||e.getClientRects().length===0)return!0;let o=e.getBoundingClientRect(),a=1e6;return Math.abs(o.left)>a||Math.abs(o.top)>a}function hs(e){return Sr(e)&&e.classList.contains("jasmine_html-reporter")}function rw(e){let t=e.getAttribute("role");return t==="presentation"||t==="none"}function Th(e){return e?e.split(/\s+/).map(t=>t.trim()).filter(Boolean).map(t=>t.replace(/^#/,"")):[]}function Sh(e,t){let n=(t||"").trim().replace(/^#/,"");if(!n)return null;try{let o=e.getRootNode?.();if(rr(o)){let a=Ve(e),i=`#${Vc(a,n)}`,s=$c(o,i);if(s)return s}}catch{}let r=de(e);return qc(r,n)}function gu(e){let n=[];for(let r=0;r<arguments.length;r++){let o=arguments[r];if(Array.isArray(o))for(let a=0;a<o.length;a+=8192){let i=ow(o,a,a+8192),s=gu.apply(null,i);for(let c=0;c<s.length;c++)n.push(s[c])}else n.push(o)}return n}function ow(e,t,n){return arguments.length<=2?Array.prototype.slice.call(e,t):Array.prototype.slice.call(e,t,n)}function _h(e,t){return aw(e,t).concat(iw(e))}function aw(e,t){return gu(yu(e).map(r=>Nh(r)&&Sr(r)?Eh(r,t):r))}function Eh(e,t){if(!e||ua(e,t))return[];if(!rw(e))return[e];let n=Array.from(e.children);return gu(n.map(r=>Eh(r,t)))}function Ih(e){let t=Th(e.getAttribute("aria-owns"));if(!t.length)return[];let n=[],r=new Set;for(let o of t){if(r.has(o))continue;r.add(o);let a=Sh(e,o);a&&a!==e&&n.push(a)}return n}function iw(e){let t=Ih(e);for(let n of t)n["aria-owned-by"]=e;return t}function Rh(e){let t=Ve(e),n=de(e);if(e.getAttribute("role")!=="dialog"&&e.getAttribute("role")!=="alertdialog"||e.getAttribute("aria-modal")!=="true")return!1;let r=t.getComputedStyle(e);if(r?.position!=="fixed"&&r?.position!=="absolute"||parseInt(r?.zIndex,10)<=dw(e))return!1;let o=sw(e);return!o||!lw(o)||!pw(e)||o.getAttribute("role")==="dialog"||e.getAttribute("role")==="dialog"?!1:uw(e)}function sw(e){return[e.previousElementSibling,e.nextElementSibling,...Array.from(e.children),...e.parentElement?[e.parentElement.previousElementSibling,e.parentElement.nextElementSibling]:[]].filter(n=>n!==null).find(cw)||null}function cw(e){if(ua(e))return!1;let n=Ve(e).getComputedStyle(e);return(n?.position==="fixed"||n?.position==="absolute")&&n?.backgroundColor!=="rgba(0, 0, 0, 0)"&&n?.backgroundColor!=="transparent"&&n?.pointerEvents!=="none"}function lw(e){let t=Ve(e),n=e.getBoundingClientRect();return n.top<=0&&n.left<=0&&n.bottom>=t.innerHeight&&n.right>=t.innerWidth}function dw(e){let t=de(e),n=Ve(e),r=n?.getComputedStyle;if(!r)return 0;let o=tu(t,"*").filter(a=>a!==e&&!ua(a)).map(a=>parseInt(r.call(n,a)?.zIndex,10)).filter(a=>Number.isFinite(a)&&!isNaN(a));return o.length?Math.max(...o):0}function uw(e){return e.querySelectorAll('a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])').length>0}function pw(e){let t=e.parentElement;if(!t)return!1;for(let n of Array.from(t.children))if(n!==e&&!ua(n)&&n.getAttribute("aria-hidden")!=="true")return!1;return!0}function fw(){try{let t=Ut()?.querySelector?.("dialog:modal");return'[aria-modal="true"], dialog:modal'}catch{return'[aria-modal="true"]'}}var Ah=fw();function mw(e){return e.getAttribute("aria-disabled")==="true"||e.hasAttribute("disabled")}function bu(e){let t=e.getAttribute("href")||e.getAttribute("src")||e.getAttribute("data")||e.getAttribute("action");if(!t&&!e.tagName.includes("-"))try{let n=e;t=n.href||n.src||n.data||n.action||null}catch{return!1}if(!t)return!1;try{let n=de(e),r=new URL(t,n.baseURI);return r.protocol==="javascript:"&&(r.pathname.trim()!==""||r.search.trim()!==""||r.hash.trim()!=="")}catch{return!1}}function Ch(e){return Ym.has(e)}function hw(e){let t=e.parentElement,n=de(e);if(!(!t||t===n.body||t===n.documentElement))return Rn({targetElement:t,originatedFromParent:!0})}function ph({targetElement:e,parentDisabled:t,semanticRole:n,excludeLabels:r,isFrameNode:o,frameContentNodes:a,elementContext:i}){let s={nodeCategory:e.nodeType},c=t||mw(e),l=hw(e);if(l&&(s.parent=l),n){let ue=Wa[n];typeof ue=="number"?s.semanticRole=ue:s.semanticRole=n}if(c&&(s.isDisabled=!0),i){let{eventHandlerIndices:ue,isEditableRegion:ke}=i,me=Ga(ue);me.length>0&&(s.eventHandlers=me),ke&&(s.isEditable=!0)}let d=bw(e);d&&Object.keys(d).length>0&&(s.ariaProperties=d);let m=yw(e);m&&Object.keys(m).length>0&&(s.ariaStates=m);let f=e.nodeName;f&&f.trim()&&(s.elementName=f);let p=wh(e);p&&Object.keys(p).length>0&&(s.computedStyles=p),ua(e)&&(s.isInvisible=!0);let g=gw(e,n);g&&Object.keys(g).length>0&&(s.preservedAttributes=g),e.draggable&&(s.isDraggable=!0),e.scrollWidth&&e.clientWidth&&e.scrollWidth>e.clientWidth&&(s.supportsHorizontalSwipe=!0),e.scrollHeight&&e.clientHeight&&e.scrollHeight>e.clientHeight&&(s.supportsVerticalSwipe=!0);let y=e.getAttribute("class");if(y?.trim()){y.includes("handle")&&(s.isDragHandle=!0),s.supportsHorizontalSwipe||(y.includes("horizontal")||y.includes("carousel"))&&(s.supportsHorizontalSwipe=!0),s.supportsVerticalSwipe||(y.includes("vertical")||y.includes("feed"))&&(s.supportsVerticalSwipe=!0),y.includes("dismissible")&&(s.supportsDismissSwipe=!0),(y.includes("long-press")||y.includes("hold")||y.includes("press-hold"))&&(s.supportsLongPress=!0);let ue=s.inputType||s.preservedAttributes?.[$n.type];ue==="submit"||ue==="reset"||ue==="clear"||(y.includes("submit")&&(s.preservedAttributes={...s.preservedAttributes||{},[$n.type]:"submit"}),y.includes("clear")&&(s.preservedAttributes={...s.preservedAttributes||{},[$n.type]:"clear"}),y.includes("reset")&&(s.preservedAttributes={...s.preservedAttributes||{},[$n.type]:"reset"}))}let x=Sw({element:e});x&&x.length>0&&(s.labelReferences=x);let T=e.tagName;if(T&&(s.elementTag=T),kw(e)&&(s.hasFocus=!0),!o){let ue=vu({element:e,semanticRole:n,parentDisabled:c,excludeLabels:r});ue&&ue.length>0&&(s.childElements=ue)}let k=Mw({element:e});k&&k.length>0&&(s.ownedElements=k);let b=Kc(e);b&&(s.resourceLocator=b),(o||Ka(e))&&(s.isFrameElement=!0),a&&a.length>0&&(s.frameContent=a);let P=e.type;P&&typeof P=="string"&&P.trim()&&(s.inputType=P);let R=e.placeholder;R&&typeof R=="string"&&R.trim()&&(s.placeholderText=R);let _=e.value;_&&typeof _=="string"&&_.trim()&&(s.elementValue=_);let $=_w({element:e,parentDisabled:t,semanticRole:n});if($&&$.length>0&&(s.selectedOptions=$),uo(e,"select,datalist")&&(s.nearestSelectList=!0),mu(e))s.elementNamespace=is.HTML;else if(vw(e)){s.elementNamespace=is.SVG,s.svgStructure=xw(e);let ue=ww(e);ue&&Object.keys(ue).length>0&&(s.preservedAttributes?s.preservedAttributes={...s.preservedAttributes,...ue}:s.preservedAttributes=ue)}let W=r?void 0:Ew({element:e});W&&W.length>0&&(s.associatedLabels=W);let oe=e.scope;oe&&typeof oe=="string"&&oe.trim()&&(s.tableScope=oe);let j=Rw({element:e});j&&(s.tableCaption=j);let ae=Aw({element:e});ae&&(s.figureCaption=ae);let K=Cw({element:e});return K&&(s.fieldsetLegend=K),uo(e,"table")&&(s.nearestTable=!0),s}function gw(e,t){let n={},r=new Set(Object.values($n).filter(s=>typeof s=="string")),o=new Set(Object.keys(Xc).filter(s=>isNaN(Number(s)))),a=new Set(["_ngcontent","ng-reflect-*","data-v-*"]),i=e?.attributes?Array.from(e.attributes):[];for(let s of i){let c=s.name,l=s.value;if(c==="id"&&(!t||!so.has(t)))continue;let d;if(r.has(c)?d=c:c.startsWith("data-v-")?d="data-v-*":c.startsWith("ng-reflect-")?d="ng-reflect-*":c.startsWith("_ngcontent")&&(d="_ngcontent"),d){let m=l.trim()!=="",f=o.has(d);if(m||f){let p=$n[d],g=a.has(d)?"true":l;n[p]=g}}}if(!n[$n[In]]){let s=lh(e);s&&(n[$n[In]]=s)}return n}function bw(e){return Mh(e,Zc,Yc)}function yw(e){return Mh(e,el,null)}function Mh(e,t,n){let r={};for(let o in t)if(isNaN(Number(o))){let a=t[o],s=`aria-${o.toLowerCase().replace(/_/g,"-")}`,c=e.getAttribute(s),l=!1;n!==null&&(l=Object.values(n).filter(m=>typeof m=="number").includes(a)),e.hasAttribute(s)&&l||c?.trim()?r[a]=c:s==="aria-level"&&Qm.includes(e.tagName.toLowerCase()?.trim())&&(r[a]=e.tagName.substring(1))}return r}function Sr(e){return Nh(e)&&e.nodeType===Ro.ELEMENT}function ll(e){return e.nodeType===Ro.TEXT}function Nh(e){let t=typeof e;return t=="object"&&e!=null||t=="function"}function mu(e){return Sr(e)&&(!e.namespaceURI||e.namespaceURI===Zm)}function vw(e){return Sr(e)&&e.namespaceURI===eh}function Ka(e){return e.tagName==="IFRAME"}function da(e,t){return"tagName"in e?e.tagName?.toLowerCase()===t:e.elementTag?.toLowerCase()===t}function uo(e,t){if(e.closest)return e.closest(t);for(;!cl(e,t);){if(e.parentElement===null)return null;e=e.parentElement}return e}function cl(e,t){return e.matches?.(t)??e.msMatchesSelector?.(t)??e.webkitMatchesSelector(t)}function kw(e){let t=e.ownerDocument,n=t?.hasFocus()?t.activeElement:null;if(n){let r=n.getAttribute("aria-activedescendant");r&&(n=t.getElementById(r)||n)}return e===n}function xw(e){let t={},n=lo.text,r=lo.elText;e.textContent?.trim()&&(t[n]=e.textContent);let o=e.querySelector("title"),a=e.querySelector("img");o?.textContent?.trim()?t[r]=o.textContent:a?.alt?.trim()&&(t[r]=a.alt);let i=e.getAttribute("viewBox");i&&(t[lo.viewBox]=i);let s=e.querySelectorAll("path");s.length>0&&(t[lo.paths]=s.length,t[lo.pathData]=Array.from(s).slice(0,3).map(l=>l.getAttribute("d")).filter(Boolean).map(l=>l.substring(0,100)));let c={circles:e.querySelectorAll("circle").length,rects:e.querySelectorAll("rect").length,lines:e.querySelectorAll("line").length,polygons:e.querySelectorAll("polygon").length,polylines:e.querySelectorAll("polyline").length,ellipses:e.querySelectorAll("ellipse").length};return Object.entries(c).forEach(([l,d])=>{if(d>0){let m=lo[l];t[m]=d}}),Object.keys(t).length>0?t:void 0}function ww(e){let t={};if(!e?.hasAttributes())return t;for(let n of Object.values(Va).filter(r=>typeof r=="number")){let r=Va[n];if(r){let o=r;if(Va.hasOwnProperty(o)&&e.hasAttribute(o)){let a=e.getAttribute(o);a?.trim()&&(t[n]=a)}}}return t}function Tw({frameElement:e,parentDisabled:t,excludeLabels:n}){if(!On.includeFrameContents)return[];let r=null;try{r=e.contentWindow?.document?.body||null}catch{return[]}if(!r)return[];let o=[];for(let a of yu(r))if(!(hs(a)||Lh(a))){if(Sr(a)){let i=a,s=Tr(i),c=or(i,s),{shouldCreate:l,shouldAnnotate:d}=dl(c);if(l){d&&Ao(i);let m=Rn({targetElement:i,parentDisabled:t,semanticRole:s??void 0,excludeLabels:n,elementContext:c});m&&o.push(m)}else{let m=vu({element:i,semanticRole:s??void 0,parentDisabled:t,excludeLabels:n});o.push(...m)}}else if(ll(a)){let i=ps(a);i&&o.push(i)}}return o}function yu(e){if(ms(e))return[];let t=Ve(e);if(zm(e,t)){try{let n=e.assignedNodes({flatten:!0});if(n&&n.length)return n}catch{}return Array.from(e.childNodes)}try{let n=e.shadowRoot||ra()?.getShadowRoot?.(e)||null;if(n){let r=Array.from(n.childNodes),o=Array.from(e.childNodes).filter(a=>!a.assignedSlot);return r.concat(o)}}catch{}return Array.from(e.childNodes)}function vu({element:e,semanticRole:t,parentDisabled:n,excludeLabels:r}){let o=[];for(let a of yu(e))if(!(hs(a)||Lh(a))){if(Sr(a)){let i=a,s=Tr(i),c=or(i,s);if(Ka(i)){Ao(i);let m=Tw({frameElement:i,parentDisabled:n,excludeLabels:r}),f=Rn({targetElement:i,parentDisabled:n,semanticRole:s??void 0,excludeLabels:r,isFrameNode:!0,frameContentNodes:m,elementContext:c});f&&o.push(f);continue}let{shouldCreate:l,shouldAnnotate:d}=dl(c);if(l){d&&Ao(i);let m=Rn({targetElement:i,parentDisabled:n,semanticRole:s??void 0,excludeLabels:r,elementContext:c});m&&o.push(m)}else{let m=vu({element:i,semanticRole:s??void 0,parentDisabled:n,excludeLabels:r});o.push(...m)}}else if(ll(a)){let i=ps(a);i&&o.push(i)}}return o}function Sw({element:e}){let t=Th(e.getAttribute("aria-labelledby")),n=new Set;for(let r of t){let o=Sh(e,r);if(!(!o||o===e)&&o){let a=Tr(o),i=Rn({targetElement:o,semanticRole:a,elementContext:or(o,a)});n.add(i)}}return Array.from(n)}function _w({element:e,parentDisabled:t,semanticRole:n}){let r=[];return e&&(n&&n==="listbox"?r=Array.from(e.querySelectorAll('[role="option"][aria-selected="true"]')).map(o=>Rn({targetElement:o,parentDisabled:t,semanticRole:"option",elementContext:or(o,"option")})):da(e,"select")&&(r=Array.from(e.selectedOptions).map(o=>Rn({targetElement:o,parentDisabled:t,semanticRole:"option",elementContext:or(o,"option")})))),r}function Ew({element:e}){if(Jm.includes(e.tagName)){let t=de(e),n=tu(t,"label"),r=new Set;return Array.from(n).filter(o=>o!==e&&Iw(o,e)).map(o=>{let a=Tr(o),i=Rn({targetElement:o,semanticRole:a,excludeLabels:!0,elementContext:or(o,a)});r.add(i)}),Array.from(r)}}function Iw(e,t){let n=e.control;return n!==void 0?n===t:e.htmlFor!==""&&e.htmlFor===t.id?!0:!!(e.htmlFor===""&&e.contains(t))}function Rw({element:e}){if(da(e,"table")){let t=e.querySelector("caption");if(t&&t!==e){let n=Tr(t);return Rn({targetElement:t,semanticRole:n,elementContext:or(t,n)})}}}function Aw({element:e}){if(da(e,"figure")){let t=e.querySelector("figcaption");if(t&&t!==e){let n=Tr(t);return Rn({targetElement:t,semanticRole:n,elementContext:or(t,n)})}}}function Cw({element:e}){if(da(e,"fieldset")){let t=e.querySelector("legend");if(t&&t!==e){let n=Tr(t);return Rn({targetElement:t,semanticRole:n,elementContext:or(t,n)})}}}function Mw({element:e}){let t=new Set,n=Ih(e);for(let r of n){let o=Tr(r),a=Rn({targetElement:r,semanticRole:o,elementContext:or(r,o)});t.add(a)}return Array.from(t)}function dl(e){let{semanticRole:t,eventHandlerIndices:n,isEditableRegion:r,hasNodeWorthyHandlers:o,isLikelyStructuralContainer:a}=e,i=n.length>0&&n.some(m=>rh.has(m)),c=!!t||!a&&(o||r),l=!!t&&so.has(t);return{shouldCreate:c,shouldAnnotate:c&&(l||r||i)}}function Lh(e){if(!Sr(e))return!1;let t=e;if(ms(t))return!0;let n=t.tagName;return Jc.has(n)?!0:n===sa||n===ca?Nw(t):!1}function Nw(e){let t=Ve(e),n=t?.getComputedStyle;if(!n||n.call(t,e).display==="none")return!0;let o=e.getBoundingClientRect();return o.width===0&&o.height===0&&!(typeof e.closest=="function"&&e.closest("pre"))||o.right<-1e3||o.left>t.innerWidth+1e3}function ku(e,t={}){return Om(t),uh(),ch(),dh(e,{includeShadow:!0,includeIframes:On.clearIframes}),la.initialize(On.semanticIdStart),{rootNodes:Dh(e),semanticNodes:Fr}}function Dh(e){let t=[];try{let n=de(e),o=Array.from(n.querySelectorAll(Ah)).filter(a=>!ua(a)&&Rh(a));if(o.length===0)t=Xa({targetElement:e});else if(o.length===1){let a=o[0];a.contains(e)?t=Xa({targetElement:e}):e.contains(a)?t=Xa({targetElement:a}):t=Xa({targetElement:e})}else t=Xa({targetElement:e})}catch(n){throw console.error("Error constructing semantic tree",n),n}return t}function Xa({targetElement:e,parentNode:t}){if(hs(e)||Ph(e))return[];let n=Tr(e),r=or(e,n);if(Ka(e))return[Dw({frameElement:e,role:n,parentNode:t,elementContext:r})];let o=0,{shouldCreate:a,shouldAnnotate:i}=dl(r);a&&(i&&Ao(e),o=Rn({targetElement:e,parentDisabled:t?.isDisabled,semanticRole:n,elementContext:r}));let s=Fr[o],c=Lw(e,n,o?s:t);return o&&c.length>0&&(s.semanticChildren=c),o?[o]:c}function Lw(e,t,n){let r=[],o=_h(e,t);for(let a of o)if(!(hs(a)||Ph(a))){if(Sr(a)){let i=Xa({targetElement:a,parentNode:n});r.push(...i)}else if(ll(a)&&Uw(a,n)){let i=ps(a);i&&r.push(i)}}return r}function Dw({frameElement:e,role:t,parentNode:n,elementContext:r}){Ao(e);let o=Pw(e);return Rn({targetElement:e,parentDisabled:n?.isDisabled,semanticRole:t,isFrameNode:!0,frameContentNodes:o,elementContext:r})}function Pw(e){if(!On.includeFrameContents)return[];let t=Ow(e);return t.kind==="content"?Dh(t.rootElement):Bw(e,t.reason)}function Ow(e){let t=null;try{t=e.contentDocument||e.contentWindow?.document||null}catch{return{kind:"unavailable",reason:"cross_origin_blocked"}}let n=t?.body||t?.documentElement||null;return n?{kind:"content",rootElement:n}:{kind:"unavailable",reason:"iframe_not_ready_or_empty"}}function Bw(e,t){let n=la.generateId(),r=la.generateId(),o=e.getAttribute("title")?.trim()||e.getAttribute("name")?.trim()||e.id?.trim()||"Embedded frame",a=Kc(e)||void 0,i=t==="cross_origin_blocked"?"Iframe content is not accessible from this origin (cross-origin).":"Iframe content is not ready yet or has no readable DOM.";return Fr[n]={nodeCategory:Ro.ELEMENT,semanticRole:"embedded_document_unavailable",computedName:o,syntheticKind:"embedded_container",frameContent:[r],...a?{resourceLocator:a}:{}},Fr[r]={nodeCategory:Ro.TEXT,parent:n,textContent:i,preventTextMerge:!0,syntheticKind:"embedded_unavailable_text"},[n]}function Uw(e,t){let n=e.data.trim();if(!n||n==="")return!1;if(t?.semanticRole!==void 0&&t?.semanticRole!==null){let r=typeof t.semanticRole=="number"?ss[t.semanticRole]:t.semanticRole;if(Ch(r))return!1}return!0}function Ph(e){if(!Sr(e))return!1;let t=e;if(ms(t))return!0;let n=t.tagName;return Jc.has(n)?!0:n===sa||n===ca?Hw(t):!1}function Hw(e){let t=Ve(e);if(t.getComputedStyle(e).display==="none")return!0;let r=e.getBoundingClientRect();return r.width===0&&r.height===0&&!e.closest("pre")||r.right<-1e3||r.left>t.innerWidth+1e3}function pl(e){let t=e.activeElement;for(;t&&t.shadowRoot&&t.shadowRoot.activeElement;)t=t.shadowRoot.activeElement;return t}function zw(e){let t=e.getBoundingClientRect();return{x:t.left+t.width/2,y:t.top+t.height/2}}function Ja(e,t,n){let r=de(e,t),o=be(r,n);try{e.focus?.({preventScroll:!0})}catch{}if(pl(r)===e)return!0;try{let{x:a,y:i}=zw(e),s=o.PointerEvent||PointerEvent,c=o.MouseEvent||MouseEvent;e.dispatchEvent(new s("pointerdown",{bubbles:!0,cancelable:!0,composed:!0,clientX:a,clientY:i,buttons:1,button:0,pointerType:"mouse"})),e.dispatchEvent(new c("mousedown",{bubbles:!0,cancelable:!0,composed:!0,clientX:a,clientY:i,buttons:1,button:0})),e.dispatchEvent(new c("mouseup",{bubbles:!0,cancelable:!0,composed:!0,clientX:a,clientY:i,buttons:0,button:0})),e.dispatchEvent(new s("pointerup",{bubbles:!0,cancelable:!0,composed:!0,clientX:a,clientY:i,buttons:0,button:0,pointerType:"mouse"})),(e.isContentEditable||pr(e,o)||wr(e,o)||e.getAttribute("contenteditable")==="true")&&e.dispatchEvent(new c("click",{bubbles:!0,cancelable:!0,composed:!0,clientX:a,clientY:i,button:0}))}catch{}try{e.focus?.({preventScroll:!0})}catch{}return pl(r)===e}function gs(e,t){let n=Ve(e),r=wr(e,n)?n.HTMLTextAreaElement.prototype:n.HTMLInputElement.prototype,o=Object.getOwnPropertyDescriptor(r,"value");o?.set?o.set.call(e,t):e.value=t}function fa(e,t,n="insertText"){let r=Ve(e),o=r.InputEvent||(typeof InputEvent<"u"?InputEvent:null),a=r.Event||Event;try{o?e.dispatchEvent(new o("beforeinput",{bubbles:!0,cancelable:!0,composed:!0,data:String(t??""),inputType:n})):e.dispatchEvent(new a("beforeinput",{bubbles:!0,cancelable:!0,composed:!0}))}catch{try{e.dispatchEvent(new a("beforeinput",{bubbles:!0,cancelable:!0,composed:!0}))}catch{}}try{o?e.dispatchEvent(new o("input",{bubbles:!0,cancelable:!1,composed:!0,data:String(t??""),inputType:n})):e.dispatchEvent(new a("input",{bubbles:!0,cancelable:!1,composed:!0}))}catch{try{e.dispatchEvent(new a("input",{bubbles:!0,cancelable:!1,composed:!0}))}catch{}}try{e.dispatchEvent(new a("change",{bubbles:!0,cancelable:!0,composed:!0}))}catch{}}function Fw(e){let n=Ve(e).KeyboardEvent||KeyboardEvent,r={key:"Enter",code:"Enter",keyCode:13,which:13,bubbles:!0,cancelable:!0,composed:!0},o=e.dispatchEvent(new n("keydown",r)),a=e.dispatchEvent(new n("keypress",r)),i=e.dispatchEvent(new n("keyup",r));return{canceled:!(o&&a&&i)}}function pa(e){if(!e)return!1;let t=Ve(e);if(wr(e,t))return!e.disabled&&!e.readOnly;if(pr(e,t)){let n=(e.type||"text").toLowerCase();return(n==="text"||n==="search"||n==="email"||n==="url"||n==="tel"||n==="password"||n==="number")&&!e.disabled&&!e.readOnly}return!1}function xu(e){let t=Ve(e);if(!e||!Jt(e,t))return!1;if(e.isContentEditable)return!0;let n=e.getAttribute("contenteditable");return!!(n&&n!=="false"||e.getAttribute("role")==="textbox"&&!("value"in e))}function jw(e,t){let n=e.getRootNode();return rr(n)?n:de(e)??t}function qw(e,t){let n=[];for(let r of t.split(/\s+/).filter(Boolean)){let o=e.getElementById?.(r)||e.querySelector?.(`#${CSS.escape(r)}`),a=Ve(o);Jt(o,a)&&n.push(o)}return n}function Hh(e,t){if(!e)return{kind:"none",el:null,via:"no-root"};if(pa(e))return{kind:"input",el:e,via:"self-input"};if(xu(e))return{kind:"contenteditable",el:e,via:"self-contenteditable"};let n=de(e)??t,r=be(n),o=jw(e,n);if(Um(e,r)){let c=e.control;if(pa(c))return{kind:"input",el:c,via:"label.control"};let l=e.htmlFor;if(l){let d=o.getElementById?.(l)||o.querySelector?.(`#${CSS.escape(l)}`);if(pa(d))return{kind:"input",el:d,via:"label.for"}}}let a=e.getAttribute("aria-controls")||e.getAttribute("aria-owns");if(a)for(let c of qw(o,a)){if(pa(c))return{kind:"input",el:c,via:"aria-controls/owns"};if(xu(c))return{kind:"contenteditable",el:c,via:"aria-controls/owns"};let l=c.querySelector?.("input,textarea");if(pa(l))return{kind:"input",el:l,via:"aria-controls->desc"}}let i=e.querySelector?.("input,textarea");if(pa(i))return{kind:"input",el:i,via:"descendant"};let s=e.shadowRoot||null;if(s){let c=s.querySelector?.("input,textarea");if(pa(c))return{kind:"input",el:c,via:"open-shadow-input"};let l=s.querySelector?.('[contenteditable="true"],[contenteditable=""],[role="textbox"]');if(xu(l))return{kind:"contenteditable",el:l,via:"open-shadow-contenteditable"}}return e.getAttribute("role")==="textbox"&&!("value"in e)?{kind:"contenteditable",el:e,via:"role=textbox"}:{kind:"none",el:null,via:"not-found"}}function Ya(e,t,n,r=!1){let o=de(e,t),i=be(o,n).getSelection?.();if(!i)return!1;try{let s=o.createRange();return s.selectNodeContents(e),r&&s.collapse(!1),i.removeAllRanges(),i.addRange(s),!0}catch{return!1}}function ma(e){return(e.textContent??"").replace(/\u00A0/g," ").trim()}var ul=e=>String(e??"").replace(/\s+/g," ").trim(),zh=new MessageChannel,Fh=[];zh.port1.onmessage=()=>{let e=Fh.shift();e&&e()};function Oh(){return new Promise(e=>{Fh.push(e),zh.port2.postMessage(0)})}async function Bh(e,t,n){await Promise.resolve();let r=Math.max(0,Math.min(4,Number(n)||0));for(let o=0;o<r;o++)e.hidden?await Oh():await new Promise(a=>{try{t.requestAnimationFrame(()=>a())}catch{Oh().then(a)}})}function $w(e){let t=String(e??"");return t===" "?{code:"Space",which:32}:/^[a-z]$/i.test(t)?{code:`Key${t.toUpperCase()}`,which:t.toUpperCase().charCodeAt(0)}:/^[0-9]$/.test(t)?{code:`Digit${t}`,which:t.charCodeAt(0)}:{code:"",which:t.length===1?t.charCodeAt(0):0}}function Uh(e,t,n,r){let o=de(e,t),i=be(o,n).KeyboardEvent||KeyboardEvent,s=String(r??"");for(let c of s){let{code:l,which:d}=$w(c),m={key:c,code:l,bubbles:!0,cancelable:!0,composed:!0,keyCode:d,which:d};e.dispatchEvent(new i("keydown",m)),e.dispatchEvent(new i("keypress",m)),e.dispatchEvent(new i("keyup",m))}}async function jh(e,t,n,r,o){let a=String(r??"");if(e.disabled||e.readOnly)return{success:!1,method:"type-native-setter",details:"disabled_or_readonly",allowFallback:!0};let i=String(e.value??""),s=de(e,t),c=be(s,n),l=Ja(e,s,c),d=Number.isFinite(Number(o?.settleFrames))?Math.max(0,Math.min(4,Number(o?.settleFrames))):s.hidden?1:2,m=!!o?.useKeyFallback,f=Number.isFinite(Number(o?.keyFallbackMaxLen))?Number(o?.keyFallbackMaxLen):140,p=m&&a.length>0&&a.length<=f;gs(e,a),fa(e,a,"insertReplacementText"),p&&Uh(e,s,c,a),await Bh(s,c,d);let g=String(e.value??""),y=ul(i),x=ul(g),T=ul(a),k=y===T,b=x===T,P=g!==i,R=a.length>0&&!k&&g===i,_=1;if(!k&&!b&&!P){_=2;try{e.focus?.({preventScroll:!0}),e.select?.()}catch{}let j=!1;try{s.execCommand?.("selectAll",!1,void 0),j=!!s.execCommand?.("insertText",!1,a)}catch{j=!1}if(!j)try{gs(e,a)}catch{}try{fa(e,a,"insertReplacementText")}catch{}p&&Uh(e,s,c,a),await Bh(s,c,d),g=String(e.value??"")}let te=ul(g)===T,W=g!==i;R=a.length>0&&!k&&g===i;let oe=k||te||W;return{success:oe,method:"type-native-setter",details:`focus=${l};attempts=${_};settleFrames=${d};beforeLen=${i.length};afterLen=${g.length};changed=${W};alreadyCorrect=${k};nowCorrect=${te};reverted=${R};keyFallback=${p}`,allowFallback:oe?void 0:!0}}function Vw(e,t,n){let o=Ve(e).InputEvent||InputEvent,a=new o("beforeinput",{bubbles:!0,cancelable:!0,composed:!0,data:t,inputType:n});return{ok:e.dispatchEvent(a),defaultPrevented:a.defaultPrevented}}function qh(e,t,n,r){let o=de(e,n),a=be(o,r),i=a.InputEvent||InputEvent,s=a.Event||Event,c=String(t??""),l=ma(e),d=Ja(e,o,a),m=Ya(e,o,a,!0),f=Vw(e,c,"insertText"),p=!1,g="execCommand",y=!1,x=()=>{y=!0};try{e.addEventListener("input",x,{capture:!0})}catch{}if(f.ok&&!f.defaultPrevented)try{p=!!o.execCommand?.("insertText",!1,c)}catch{}if(!p)try{let b=a.getSelection?.(),P=b&&b.rangeCount?b.getRangeAt(0):null;if(!P||!e.contains(P.commonAncestorContainer)){Ya(e,o,a,!0);let R=a.getSelection?.();P=R&&R.rangeCount?R.getRangeAt(0):null}P&&(P.insertNode(o.createTextNode(c)),P.collapse(!1),b?.removeAllRanges(),b?.addRange(P),p=!0,g="range")}catch{}if(p&&!y){try{e.dispatchEvent(new i("input",{bubbles:!0,cancelable:!1,composed:!0,data:c,inputType:"insertText"}))}catch{try{e.dispatchEvent(new s("input",{bubbles:!0,cancelable:!1,composed:!0}))}catch{}}try{e.dispatchEvent(new s("change",{bubbles:!0,cancelable:!0,composed:!0}))}catch{}}try{e.removeEventListener("input",x,{capture:!0})}catch{}let T=ma(e);return{success:T!==l||!!c&&T.includes(c),method:`type-contenteditable-${g}`,details:`focus=${d};selectedWithin=${m};inserted=${p}`}}function $h(e){let{canceled:t}=Fw(e);if(t)return{submitted:!1,method:"enter-handled"};let n=e.form||e.closest?.("form");return n?(n.requestSubmit?.()??n.submit?.(),{submitted:!0,method:"enter->form-submit"}):{submitted:!1,method:"enter-dispatched"}}function Vh(e,t,n){if(e.disabled||e.readOnly)return{success:!1,method:"clear-native-setter",details:"disabled_or_readonly",allowFallback:!0};let r=de(e,t),o=be(r,n),a=String(e.value??""),i=Ja(e,r,o);gs(e,""),fa(e,"","deleteByCut");let s=String(e.value??""),c=s!==a;return{success:c||s.length===0,method:"clear-native-setter",details:`focus=${i};beforeLen=${a.length};afterLen=${s.length};changed=${c}`}}function Wh(e,t,n){let r=de(e,t),o=be(r,n),a=ma(e),i=Ja(e,r,o),s=Ya(e,r,o,!1),c=!1,l="execCommand";try{c=!!r.execCommand?.("delete",!1,void 0)}catch{c=!1}if(!c)try{let p=o.getSelection?.(),g=p&&p.rangeCount?p.getRangeAt(0):null;(!g||!e.contains(g.commonAncestorContainer))&&Ya(e,r,o,!1);let y=o.getSelection?.(),x=y&&y.rangeCount?y.getRangeAt(0):null;x&&(x.deleteContents(),x.collapse(!1),y?.removeAllRanges(),y?.addRange(x),c=!0,l="range")}catch{}if(!c)try{e.textContent="",c=!0,l="textContent"}catch{}fa(e,"","deleteByCut");let d=ma(e),m=d!==a;return{success:c||m||d.length===0,method:`clear-contenteditable-${l}`,details:`focus=${i};selectedWithin=${s};cleared=${c};changed=${m}`}}function Gh(e,t){if(e===t||e.contains(t))return!0;let n=t;for(;n;){let r=n.getRootNode?.();if(rr(r)){let o=r.host;if(o===e||e.contains(o))return!0;n=o;continue}n=n.parentNode||null}return!1}var fl;(function(e){e.FLASH_LITE="Gemini Flash Lite",e.FLASH="Gemini Flash",e.PRO="Gemini Pro"})(fl||(fl={}));var Kh;(function(e){e[e.NativeHostConnected=0]="NativeHostConnected",e[e.NativeHostDisconnected=1]="NativeHostDisconnected"})(Kh||(Kh={}));var Ww=["image/png","image/jpeg","image/webp"],Gw=["application/pdf","text/plain"],iC=[...Ww,...Gw];var sn;(function(e){e.ACT="act_on_tab",e.CRAWL="crawl_and_extract_from_tab",e.EXTRACT="extract_from_tab",e.SHEETS_WORKFLOW="sheets_workflow",e.INFER_SHEET_DATA="infer_sheet_data",e.GRAPHBOT="graph_bot",e.PDF_FILLER="pdf_filler",e.CUSTOM_TOOL_GENERATOR="custom_tool_generator",e.WEBPAGE_GENERATOR="webpage_generator",e.GOOGLE_DOC_GENERATOR="google_doc_generator",e.GOOGLE_SLIDES_GENERATOR="google_slides_generator",e.PROCESS_TEXT="process_text",e.CREATE_SHEET_FROM_DATA="create_sheet_from_data",e.ROVER_EXTERNAL_READ_CONTEXT="rover_external_read_context",e.ROVER_EXTERNAL_ACT_CONTEXT="rover_external_act_context",e.CONFIGURE_API_KEY="configure_api_key",e.TASK_COMPLETE="task_complete",e.ASK_USER="ask_user",e.EXECUTE_MULTIPLE_TOOLS="execute_multiple_tools",e.QUERY_RTRVR_AI_DOCUMENTATION="query_rtrvr_ai_documentation"})(sn||(sn={}));var Qt;(function(e){e.PLANNER="Planner",e.AGENTIC_SEEK="Agentic Action",e.CRAWL_PAGES="Crawl Pages",e.EXTRACT_PAGE="Extract Page",e.SHEETS_WORKFLOW="Sheets Workflow",e.INFER_SHEET_DATA="Infer Sheet Data",e.MULTI_STEPS="Multi Steps",e.PDF_FILLER="PDF Filler",e.CUSTOM_TOOL_GENERATOR="Custom Tool Generator",e.WEBPAGE_GENERATOR="WebPage Generator",e.GOOGLE_DOC_GENERATOR="Google Doc Generator",e.GOOGLE_SLIDES_GENERATOR="Google Slides Generator",e.PROCESS_TEXT="Process Text",e.CREATE_SHEET_FROM_DATA="Create Sheet From Data",e.ROVER_EXTERNAL_READ_CONTEXT="Rover External Read Context",e.ROVER_EXTERNAL_ACT_CONTEXT="Rover External Act Context",e.EXECUTE_MULTIPLE_TOOLS="Execute Multiple User Tools",e.CONFIGURE_API_KEY="Configure Gemini API Key",e.QUERY_RTRVR_AI_DOCUMENTATION="query_rtrvr_ai_documentation"})(Qt||(Qt={}));var sC={[sn.ACT]:Qt.AGENTIC_SEEK,[sn.CRAWL]:Qt.CRAWL_PAGES,[sn.EXTRACT]:Qt.EXTRACT_PAGE,[sn.SHEETS_WORKFLOW]:Qt.SHEETS_WORKFLOW,[sn.INFER_SHEET_DATA]:Qt.INFER_SHEET_DATA,[sn.PDF_FILLER]:Qt.PDF_FILLER,[sn.CUSTOM_TOOL_GENERATOR]:Qt.CUSTOM_TOOL_GENERATOR,[sn.WEBPAGE_GENERATOR]:Qt.WEBPAGE_GENERATOR,[sn.GOOGLE_DOC_GENERATOR]:Qt.GOOGLE_DOC_GENERATOR,[sn.GOOGLE_SLIDES_GENERATOR]:Qt.GOOGLE_SLIDES_GENERATOR,[sn.PROCESS_TEXT]:Qt.PROCESS_TEXT,[sn.CREATE_SHEET_FROM_DATA]:Qt.CREATE_SHEET_FROM_DATA,[sn.ROVER_EXTERNAL_READ_CONTEXT]:Qt.ROVER_EXTERNAL_READ_CONTEXT,[sn.ROVER_EXTERNAL_ACT_CONTEXT]:Qt.ROVER_EXTERNAL_ACT_CONTEXT,[sn.EXECUTE_MULTIPLE_TOOLS]:Qt.EXECUTE_MULTIPLE_TOOLS,[sn.CONFIGURE_API_KEY]:Qt.CONFIGURE_API_KEY,[sn.QUERY_RTRVR_AI_DOCUMENTATION]:Qt.QUERY_RTRVR_AI_DOCUMENTATION};var wu=200;var Kw=30,Xw=320,Yw=0,Jw=50,Qw=1,cC=fl.FLASH;var lC=Qt.PLANNER;var Tu="application/pdf",Su="application/gsheet";var dC=20*1024*1024;var Qa={maxParallelTabs:4,pageLoadDelay:2e3,disableAutoScroll:!1,makeNewTabsActive:!1,writeRowProcessingTime:!1,totalBudgetMs:25e3,pageDataTimeoutMs:22e3,adaptiveSettleDebounceMs:Kw,adaptiveSettleMaxWaitMs:Xw,adaptiveSettleRetries:Yw,sparseTreeRetryDelayMs:Jw,sparseTreeRetryMaxAttempts:Qw,pdfTextSelectionTimeoutMs:12e3,onlyTextContent:!1};var Zw=1,e0=9,t0=11,Eu="application/gdoc",Za="text/html",ml="text/plain";function n0(e){return!!e&&typeof e=="object"&&e.nodeType===e0}function Xh(e){return!!e&&typeof e=="object"&&e.nodeType===Zw}function r0(e){return!!e&&typeof e=="object"&&e.nodeType===t0&&typeof e.host=="object"&&typeof e.mode=="string"}function Yh(e){return Xh(e)&&String(e.tagName).toUpperCase()==="IFRAME"}function _u(e){let t;if(typeof e=="number")t=e;else if(typeof e=="bigint")t=Number(e);else if(typeof e=="string")t=Number(e.trim());else return null;if(!Number.isFinite(t))return null;let n=Math.trunc(t);return n<=0?null:n}function o0(e){try{let t=e.shadowRoot;return t||globalThis?.chrome?.dom?.openOrClosedShadowRoot?.(e)||null}catch{return null}}function a0(e,t,n={}){let r=n.traverseShadow!==!1,o=n.traverseIframes!==!1,a=n.requireOwnerDocument,i=[e],s=new WeakSet;for(;i.length;){let c=i.pop();if(c&&typeof c=="object"){if(s.has(c))continue;s.add(c)}if(n0(c)){let m=c.documentElement||c.body;m&&i.push(m);continue}if(r0(c)){let m=c.children;if(m&&m.length)for(let f=m.length-1;f>=0;f--)i.push(m[f]);continue}if(!Xh(c))continue;let l=c;if(a&&l.ownerDocument!==a)continue;let d=l.getAttribute?.(In);if(d&&ls(d)===t)return l;if(r)try{let m=o0(l);m&&i.push(m)}catch{}if(o&&Yh(l))try{let m=ts(l);m&&i.push(m)}catch{}for(let m=l.lastElementChild;m;m=m.previousElementSibling)i.push(m)}return null}function _r(e,t,n={}){let r=_u(t);if(!r)return null;let o=us(r);return o&&(!n.requireOwnerDocument||o.ownerDocument===n.requireOwnerDocument)?o:a0(e,r,{requireOwnerDocument:n.requireOwnerDocument,traverseShadow:n.traverseShadow,traverseIframes:n.traverseIframes})}function Iu(e=document){return e.querySelector('embed[type="application/pdf"], embed[type="application/x-google-chrome-pdf"]')}function Jh(e){if(e==null)return[];if(Array.isArray(e)){let t=[];for(let n of e){let r=_u(n);r&&t.push(r)}return t}if(typeof e=="number"||typeof e=="bigint"){let t=_u(e);return t?[t]:[]}if(typeof e=="string"){let t=e.match(/\d+/g);return t?t.map(r=>parseInt(r,10)).filter(r=>Number.isFinite(r)&&r>0):[]}if(typeof e=="object"){let t=e.path??e.ids??e.iframe_path;if(t!==void 0)return Jh(t)}return[]}function ei(e,t){let n=Jh(t),r=e.defaultView||window;if(!n.length)return{doc:e,win:r,iframePath:n,resolvedPath:[],unresolvedPath:[]};let o=e,a=[];for(let i=0;i<n.length;i++){let s=n[i],c=n.length===1,l=_r(o,s,{requireOwnerDocument:c?void 0:o,traverseShadow:!0,traverseIframes:c});if(!l||!Yh(l))return{doc:o,win:o.defaultView||r,iframePath:n,resolvedPath:a,unresolvedPath:n.slice(i)};let d=null;try{d=ts(l)||null}catch{d=null}if(!d)return{doc:o,win:o.defaultView||r,iframePath:n,resolvedPath:a,unresolvedPath:n.slice(i)};a.push(s),o=d}return{doc:o,win:o.defaultView||r,iframePath:n,resolvedPath:a,unresolvedPath:[]}}function Qh(e){return e==="application/pdf"||e==="application/x-pdf"||e==="application/x-google-chrome-pdf"}function i0(e){let t={...Qa,...e??{}},n=Number(e?.pdfTextSelectionTimeoutMs);return Number.isFinite(n)&&(t.pdfTextSelectionTimeoutMs=Math.floor(n)),t.totalBudgetMs!==void 0&&(t.totalBudgetMs=Math.max(1500,Math.floor(t.totalBudgetMs))),t.pageDataTimeoutMs!==void 0&&(t.pageDataTimeoutMs=Math.max(500,Math.floor(t.pageDataTimeoutMs))),t.pdfTextSelectionTimeoutMs!==void 0&&(t.pdfTextSelectionTimeoutMs=Math.max(150,Math.floor(t.pdfTextSelectionTimeoutMs))),t.adaptiveSettleDebounceMs!==void 0&&(t.adaptiveSettleDebounceMs=Math.max(20,Math.min(500,Math.floor(t.adaptiveSettleDebounceMs)))),t.adaptiveSettleMaxWaitMs!==void 0&&(t.adaptiveSettleMaxWaitMs=Math.max(120,Math.min(5e3,Math.floor(t.adaptiveSettleMaxWaitMs)))),t.adaptiveSettleRetries!==void 0&&(t.adaptiveSettleRetries=Math.max(0,Math.min(6,Math.floor(t.adaptiveSettleRetries)))),t.sparseTreeRetryDelayMs!==void 0&&(t.sparseTreeRetryDelayMs=Math.max(40,Math.min(1e3,Math.floor(t.sparseTreeRetryDelayMs)))),t.sparseTreeRetryMaxAttempts!==void 0&&(t.sparseTreeRetryMaxAttempts=Math.max(0,Math.min(4,Math.floor(t.sparseTreeRetryMaxAttempts)))),t}var s0=["disableAutoScroll","onlyTextContent","totalBudgetMs","pageDataTimeoutMs","pdfTextSelectionTimeoutMs","adaptiveSettleDebounceMs","adaptiveSettleMaxWaitMs","adaptiveSettleRetries","sparseTreeRetryDelayMs","sparseTreeRetryMaxAttempts"];function hl(e){if(!e||typeof e!="object")return;let t=e,n={};typeof t.disableAutoScroll=="boolean"&&(n.disableAutoScroll=t.disableAutoScroll),typeof t.onlyTextContent=="boolean"&&(n.onlyTextContent=t.onlyTextContent);let r=["totalBudgetMs","pageDataTimeoutMs","pdfTextSelectionTimeoutMs","adaptiveSettleDebounceMs","adaptiveSettleMaxWaitMs","adaptiveSettleRetries","sparseTreeRetryDelayMs","sparseTreeRetryMaxAttempts"];for(let i of r){let s=Number(t[i]);Number.isFinite(s)&&(n[i]=Math.trunc(s))}if(!Object.keys(n).length)return;let o=i0(n),a={};for(let i of s0)n[i]!==void 0&&o[i]!==void 0&&(a[i]=o[i]);return Object.keys(a).length?a:void 0}function c0(){return Date.now()}function Zt(e){return!e||!Number.isFinite(e)?Number.POSITIVE_INFINITY:Math.max(0,e-c0())}async function Zh(e,t,n){if(!Number.isFinite(e)||e<=0)return;let r=Zt(n);r<=0||r<e+40||await cn(e,t)}async function ti(e,t,n){let r=Math.max(0,Math.floor(t));return r?await Promise.race([e.then(a=>({ok:!0,value:a})),(async()=>(await cn(r,n),{ok:!1,reason:"timeout"}))()]):{ok:!1,reason:"timeout"}}var cn=(()=>{let e=new MessageChannel,t=[];e.port1.onmessage=()=>{let r=t.shift();r&&r()};let n=()=>new Promise(r=>{t.push(r),e.port2.postMessage(0)});return async(r,o)=>{let a=Number(r);if(!Number.isFinite(a)||a<=0)return;if(!o.hidden){let s=o.defaultView||window,c=s.setTimeout?s.setTimeout.bind(s):setTimeout;await new Promise(l=>c(l,a));return}let i=Date.now();for(;Date.now()-i<a;)await n()}})();var l0=3e4;function eg(e){return(String(e??"").replace(/\\/g,"/").split("/").pop()||"upload").replace(/[\u0000-\u001f\u007f]/g,"").trim()||"upload"}var Ru=class extends Error{constructor(n,r){super(n);U(this,"url");U(this,"status");U(this,"statusText");U(this,"bodySnippet");this.name="FetchFileError",this.url=r.url,this.status=r.status,this.statusText=r.statusText,this.bodySnippet=r.bodySnippet}};function d0(e){return e&&e.split(";")[0].trim()||"application/octet-stream"}function u0(e){if(!e)return;let t=/filename\*\s*=\s*UTF-8''([^;]+)/i.exec(e);if(t?.[1])try{return decodeURIComponent(t[1].trim().replace(/^\"(.*)\"$/,"$1"))}catch{}let n=/filename\s*=\s*(\"?)([^\";]+)\1/i.exec(e);if(n?.[2])return n[2].trim()}function Au(e,t){try{let r=(t??window).URL||URL,a=new r(e).pathname.match(/\/o\/(.+?)(\?|$)/);if(a?.[1]){let s=decodeURIComponent(a[1]).split("/");return s[s.length-1].replace(/^\d+-/,"")}}catch{}}function tg(e){let t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}async function p0(e,t={},n,r=fetch){let o=new AbortController,a=l0,i=!1,s=()=>{};if(n){let l=!1;s=()=>{l=!0},(async()=>{try{if(await cn(a,n),l)return;i=!0,o.abort()}catch{}})().catch(()=>{})}else{let l=setTimeout(()=>{i=!0,o.abort()},a);s=()=>clearTimeout(l)}let c=new Headers(t.headers);c.has("Accept")||c.set("Accept","*/*");try{let l=await r(e,{method:"GET",redirect:t.redirect??"follow",cache:t.cache??"no-store",mode:t.mode??"cors",credentials:t.credentials??"include",...t,headers:c,signal:o.signal});if(!l.ok){let p=await l.text().catch(()=>"");throw new Ru(`Fetch failed (${l.status})`,{url:e,status:l.status,statusText:l.statusText,bodySnippet:p.slice(0,256)})}let d=await l.arrayBuffer(),m=d0(l.headers.get("content-type")),f=u0(l.headers.get("content-disposition"))||Au(e);return{bytes:d,mimeType:m,fileName:f}}finally{s()}}async function ng(e,t,n){return await p0(t,{referrer:n??void 0,referrerPolicy:"strict-origin-when-cross-origin"})}function ar(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function Ht(e,t=0){let n=String(e||"").replace(/\s+/g," ").trim();return!t||n.length<=t?n:n.slice(0,t).trim()}function gl(e,t=!1){return typeof e=="boolean"?e:t}function po(e,t){if(!Array.isArray(e))return[];let n=new Set,r=[],o=Math.max(1,Number(t?.max)||24),a=Math.max(8,Number(t?.maxLen)||240);for(let i of e){let s=Ht(i,a);if(!s)continue;let c=s.toLowerCase();if(!n.has(c)&&(n.add(c),r.push(s),r.length>=o))break}return r}function f0(e){return e==="browser"||e==="cloud"||e==="auto"?e:"auto"}function og(e){return e==="task"||e==="shortcut"||e==="client_tool"||e==="webmcp"?e:void 0}function ag(e){return e==="shortcut"||e==="client_tool"||e==="webmcp"||e==="additional"?e:void 0}function ig(e){return e==="silent"||e==="beacon"||e==="integrated"||e==="debug"?e:void 0}function m0(e){return e==="site"||e==="co"||e==="rover"?e:void 0}function sg(e){return e==="auto"||e==="existing-assistant"||e==="floating-corner"||e==="inline-primary"?e:void 0}function cg(e){return e==="click"||e==="focus"||e==="keyboard"||e==="agent-handshake"?e:void 0}function lg(e){let t=ar(e);return t?{...t}:void 0}function h0(e){return e==="text"||e==="markdown"||e==="json"||e==="observation"||e==="artifacts"?e:void 0}function g0(e){let t=ar(e);if(!t)return null;let n=ar(t.rover),r=Ht(t.id,120),o=Ht(t.name,180);return!r||!o?null:{id:r,name:o,preferredInterface:og(t.preferredInterface),source:ag(n?.source),deepLink:Ht(n?.deepLink,2048)||void 0,toolName:Ht(n?.toolName,120)||void 0,taskPayload:lg(ar(n?.task)?.payload)}}function b0(e){let t=ar(e);if(!t)return null;let n=ar(t.rover),r=Ht(t.capabilityId||t.id,120),o=Ht(t.label||t.name,180);if(!r||!o)return null;let a=Array.isArray(t.resultModes)?t.resultModes.map(i=>h0(i)).filter(i=>!!i):[];return{capabilityId:r,version:Ht(t.version,80)||void 0,label:o,description:Ht(t.description,320)||void 0,preferredInterface:og(t.preferredInterface),source:ag(n?.source),...a.length?{resultModes:a}:{},pageScope:po(t.pageScope,{max:24,maxLen:80}),analyticsTags:po(t.analyticsTags,{max:24,maxLen:64}),deepLink:Ht(n?.deepLink,2048)||void 0,toolName:Ht(n?.toolName,120)||void 0,taskPayload:lg(ar(n?.task)?.payload)}}function y0(e){let t=ar(e);if(!t)return;let n=ig(t.mode),r=m0(t.branding),o=sg(t.hostSurface),a=cg(t.actionReveal);if(!(!n||!r||!o||!a))return{mode:n,branding:r,hostSurface:o,actionReveal:a,beaconLabel:Ht(t.beaconLabel,180)||void 0,agentModeEntryHints:po(t.agentModeEntryHints,{max:8,maxLen:240})}}function rg(e){let t=ar(e);if(!t)return null;let n=Ht(t.pageId||t.id,120);if(!n)return null;let r=Ht(t.beaconLabel||t.visibleCueLabel,180)||void 0;return{pageId:n,route:Ht(t.route,512)||void 0,label:Ht(t.label,180)||void 0,capabilityIds:po(t.capabilityIds,{max:48,maxLen:120}),entityHints:po(t.entityHints,{max:24,maxLen:120}),formHints:po(t.formHints,{max:24,maxLen:120}),visibleCueLabel:r,beaconLabel:r,discoveryMode:ig(t.discoveryMode),hostSurface:sg(t.hostSurface),actionReveal:cg(t.actionReveal),agentModeEntryHints:po(t.agentModeEntryHints,{max:8,maxLen:240}),capabilitySummary:po(t.capabilitySummary,{max:12,maxLen:180})}}function dg(e){let t=ar(e);if(!t)return;let n=ar(t.extensions),r=ar(n?.rover);if(!r)return;let o=Ht(r.siteUrl,2048),a=Ht(r.taskEndpoint||t.url,2048),i=Ht(r.workflowEndpoint,2048);if(!o||!a||!i)return;let s=gl(r.promptLaunchEnabled),c=gl(r.shortcutLaunchEnabled),l=gl(r.delegatedHandoffs),d=ar(r.webmcp),m=gl(d?.available),f=y0(r.discoverySurface),p=Array.isArray(t.skills)?t.skills.map(k=>g0(k)).filter(k=>!!k):[],g=Array.isArray(r.capabilitiesGraph)?r.capabilitiesGraph.map(k=>b0(k)).filter(k=>!!k):[],y=Array.isArray(r.pages)?r.pages.map(k=>rg(k)).filter(k=>!!k):[],x=rg(r.currentPage),T=po(r.instructions,{max:12,maxLen:280});return{roverEnabled:s||c||m,siteUrl:o,taskEndpoint:a,workflowEndpoint:i,serviceDescUrl:Ht(r.serviceDescUrl,2048)||void 0,llmsUrl:Ht(r.llmsUrl,2048)||void 0,roverSiteUrl:Ht(r.roverSiteUrl,2048)||void 0,preferredExecution:f0(r.preferredExecution),promptLaunchEnabled:s,shortcutLaunchEnabled:c,delegatedHandoffs:l,webmcpAvailable:m,skills:p,...f?{discoverySurface:f}:{},...g.length?{capabilities:g}:{},...y.length?{pages:y}:{},...x?{page:x}:{},instructions:T}}var zt={plannerHistory:16,prevSteps:8,uiMessages:40,timelineEvents:60,localPersistBytes:131072,snapshotBytes:262144};var ug={activation:"on_demand",idleCloseMs:3e4,fallbackPollMinMs:2e3,fallbackPollMaxMs:15e3,maxInflightCommands:1};var Ft;(function(e){e.UP="UP",e.DOWN="DOWN",e.LEFT="LEFT",e.RIGHT="RIGHT",e.TOP="TOP",e.BOTTOM="BOTTOM"})(Ft||(Ft={}));var kn;(function(e){e.START="START",e.CENTER="CENTER",e.END="END",e.NEAREST="NEAREST"})(kn||(kn={}));function fg(e){if(!e)return kn.CENTER;let t=typeof e=="string"?e.toUpperCase():String(e).toUpperCase();return kn&&t in kn?kn[t]:kn.CENTER}function Cu(e){return globalThis.CSS&&typeof globalThis.CSS.escape=="function"?globalThis.CSS.escape(e):e.replace(/([ !"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g,"\\$1")}function ni(e,t){if(!e)return"";let n=de(e,t);if(e===n.documentElement)return"html";if(e===n.body)return"body";if(e.id)return`#${Cu(e.id)}`;let r=[],o=e;for(;o&&o!==n.body&&o!==n.documentElement;){let a=o.tagName.toLowerCase();if(o.id){a+=`#${Cu(o.id)}`,r.unshift(a);break}let s=(o.classList&&o.classList.length?Array.from(o.classList):(o.className||"").toString().split(/\s+/).filter(Boolean)).filter(c=>c&&c.length<=48).sort((c,l)=>c.length-l.length).slice(0,3).map(Cu);if(s.length)a+="."+s.join(".");else{let c=o.parentElement;if(c){let l=Array.from(c.children).filter(d=>d.tagName===o.tagName);if(l.length>1){let d=l.indexOf(o)+1;a+=`:nth-of-type(${d})`}}}r.unshift(a),o=o.parentElement}return r.join(" > ")}function ha(e){return e.scrollingElement||e.documentElement||e.body}function bl(e,t,n,r,o){let a=de(e,t),i=be(a,n),s=ha(a),c=e===a.documentElement||e===a.body||e===s,l=c?s:e,d=c?i.innerHeight:l.clientHeight,m=c?i.innerWidth:l.clientWidth,f=o??d*.8;switch(r){case Ft.DOWN:{l.scrollTop+=f;break}case Ft.UP:{l.scrollTop=Math.max(0,l.scrollTop-f);break}case Ft.LEFT:return l.scrollLeft=Math.max(0,l.scrollLeft-(o??m*.8)),{success:!0,scrollLeft:l.scrollLeft};case Ft.RIGHT:return l.scrollLeft+=o??m*.8,{success:!0,scrollLeft:l.scrollLeft};default:return{success:!1,error:`Unsupported scroll direction: ${String(r)}`}}let p=l.scrollHeight,g=c?i.innerHeight:l.clientHeight,y=p-g;return{success:!0,scrollTop:l.scrollTop,isAtTop:l.scrollTop<=5,isAtBottom:l.scrollTop>=y-5}}function v0(e,t,n){let r=de(e,t),o=be(r,n),a=ha(r),i=e;for(;i&&i!==r.body&&i!==r.documentElement;){let c=o.getComputedStyle(i).overflowY;if((c==="auto"||c==="scroll"||c==="overlay")&&i.scrollHeight>i.clientHeight+5)return i;i=i.parentElement}return a}function pg(e,t,n){let r=de(e,t),o=be(r,n),a=ha(r),i=e===r.documentElement||e===r.body||e===a,s=i?a:e,c=s.scrollHeight,l=i?o.innerHeight:s.clientHeight,d=c-l;return s.scrollTop>=d-5}function Mu(e,t,n,r){let o=de(e,t),a=be(o,n),i=ha(o),s=v0(e,o,a),c=s===o.documentElement||s===o.body||s===i,l=c?i:s,d=e.getBoundingClientRect(),m=c?new(a.DOMRect||DOMRect)(0,0,a.innerWidth,a.innerHeight):s.getBoundingClientRect(),f=c?a.innerHeight:s.clientHeight,p=24,g=d.top-m.top,y=l.scrollTop+g,x;switch(r){case kn.START:x=y-p;break;case kn.END:x=y+d.height-f+p;break;case kn.NEAREST:{if(d.top>=m.top&&d.bottom<=m.bottom)return{success:!0,scrollTop:l.scrollTop,isAtTop:l.scrollTop<=5,isAtBottom:pg(l,o,a)};d.top<m.top?x=y-p:x=y+d.height-f+p;break}case kn.CENTER:default:x=y-f/2+d.height/2;break}let T=l.scrollHeight-f;return l.scrollTop=Math.max(0,Math.min(x,T)),{success:!0,scrollTop:l.scrollTop,isAtTop:l.scrollTop<=5,isAtBottom:pg(l,o,a)}}function mg(e){let t=Number(e);if(!Number.isFinite(t))return null;let n=Math.trunc(t);return n>0?n:null}function hg(e){let t=[];for(let n of Uc){let r=e?.[n];if(r==null)continue;if(Array.isArray(r)){for(let a of r){let i=mg(a);i!=null&&t.push(i)}continue}let o=mg(r);o!=null&&t.push(o)}return Array.from(new Set(t))}function k0(e){return hg(e).length>0}function x0(e){let t=hg(e);return t.length?t[0]:null}var w0=new Set([V.click_element,V.type_into_element,V.type_and_enter,V.hover_element,V.right_click_element,V.double_click_element,V.press_key,V.scroll_page,V.scroll_to_element,V.mouse_wheel,V.drag_element,V.drag_and_drop,V.swipe_element,V.long_press_element,V.adjust_slider,V.select_dropdown_value,V.clear_element,V.focus_element,V.check_field_validity,V.select_text,V.copy_text,V.paste_text,V.pinch_zoom,V.upload_file,V.dispatch_pointer_path]);(()=>{let e="__RTRVR_ACTION_EXECUTOR__";if(window[e])return;window[e]=!0;try{document.documentElement?.setAttribute(au,"1")}catch{}let n="__RTRVR_INTERNAL__";try{window.__RTRVR_INTERNAL_KEY__=window.__RTRVR_INTERNAL_KEY__||n}catch{}let r=window.__RTRVR_INTERNAL_KEY__||n,o=window[r],a=o&&typeof o=="object"?o:{};if(!o)try{Object.defineProperty(window,r,{value:a,writable:!1,configurable:!1,enumerable:!1})}catch{window[r]=a}async function i(h){let M={};try{let A=Lm[h.opcode];if(!A)throw new Error(`Unknown tool opcode: ${h.opcode}`);let C={...h.call,name:A};M=(await y({tabIndex:h.tabIndex,call:C,elementData:g(h.elementData),payload:h.payload}))[0]?.response??{success:!1,error:"Empty tool response",allowFallback:!0}}catch(A){M={success:!1,error:A?.message||String(A),allowFallback:!0}}return M}try{Object.defineProperty(a,"actions",{value:Object.freeze({execute:i}),writable:!1,configurable:!1,enumerable:!1})}catch{}let s="__RTRVR_UPLOAD_BYTES_REQ__",c="__RTRVR_UPLOAD_BYTES_RES__",l="__RTRVR_UPLOAD_BYTES_BRIDGE__",d="__RTRVR_WINDOW_MESSAGE_MUX__";function m(h){let M=h,A=M[d];if(!A||typeof A!="object"){A={handlers:new Set,installed:!1};try{Object.defineProperty(M,d,{value:A,enumerable:!1,configurable:!1})}catch{M[d]=A}}if(!A.installed){A.installed=!0,h.addEventListener("message",C=>{if(C.source===h)for(let E of Array.from(A.handlers))try{E(C)}catch{}},!0);try{h.addEventListener("pagehide",()=>{let E=h[l]?.pending;if(E)for(let[w,S]of E){try{S.cancelTimeout()}catch{}S.reject(new Error("pagehide: upload bytes request canceled")),E.delete(w)}},!0)}catch{}}return A}function f(h){let M=h,A=M[l];if(!A||typeof A!="object"){A={pending:new Map};try{Object.defineProperty(M,l,{value:A,enumerable:!1,configurable:!1})}catch{M[l]=A}m(h).handlers.add(E=>{let w=E?.data;if(!w||typeof w!="object"||w.type!==c)return;let S=String(w.requestId||"");if(!S)return;let N=A.pending.get(S);if(!N)return;A.pending.delete(S);try{N.cancelTimeout()}catch{}if(!w.ok){N.reject(new Error(w.error||"Failed to get bytes"));return}let q=w.bytes;if(!(q instanceof ArrayBuffer)){N.reject(new Error("Invalid bytes payload (expected ArrayBuffer)"));return}if(typeof N.expectedByteLength=="number"&&q.byteLength!==N.expectedByteLength){N.reject(new Error(`Byte length mismatch: got=${q.byteLength}, expected=${N.expectedByteLength}`));return}N.resolve(q)})}return A}function p(h,M,A,C=9e4){let E=h.__ROVER_UPLOAD_BYTES__||h.rover?.uploadBytes||h.rtrvr?.uploadBytes;if(typeof E=="function")return Promise.resolve().then(()=>E({token:M,byteLength:A,timeoutMs:C})).then(z=>{if(z instanceof ArrayBuffer)return z;if(z&&z.buffer instanceof ArrayBuffer)return z.buffer;throw new Error("Upload bytes provider returned invalid buffer")});let w=f(h),S=globalThis.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(16).slice(2)}`,N=Math.max(1e3,Math.min(Number(C)||9e4,18e4)),q=Wc(h)||document;return new Promise((z,G)=>{let Z=!1,ie=!1,he=()=>{ie=!0};(async()=>{await cn(N,q),!(ie||Z)&&(w.pending.delete(S),Z=!0,G(new Error("Timed out waiting for upload bytes")))})().catch(()=>{}),w.pending.set(S,{cancelTimeout:he,expectedByteLength:A,resolve:Ee=>{Z||(Z=!0,he(),z(Ee))},reject:Ee=>{Z||(Z=!0,he(),G(Ee))}}),h.postMessage({type:s,requestId:S,token:M,byteLength:A},"*")})}function g(h){if(h)return{frameworks:h.frameworks?h.frameworks.map(M=>Nm[M]).filter(M=>M&&M!=="unknown"):[],listenersRaw:h.listenersRaw??"",role:h.role??void 0,pattern:h.pattern??void 0,value:h.value??void 0}}async function y({tabIndex:h,call:M,elementData:A,payload:C}){let E=(()=>{try{return xr()?.top?.document||document}catch{return document}})(),w=M.args,S=k0(w),N,q,z=[],G=[],Z=[];try{({doc:N,win:q,iframePath:z,resolvedPath:G,unresolvedPath:Z}=ei(E,w.iframe_id))}catch{if(w.iframe_id!=null){let Ie=`Cannot access iframe ${w.iframe_id} (cross-origin or not found)`;return[{name:M.name,args:M.args,response:{success:!1,error:Ie,allowFallback:!1,output:{success:!1,error:{code:"IFRAME_CONTEXT_UNAVAILABLE",message:Ie,retryable:!1},iframe_context:{requested_iframe_id:w.iframe_id}}}}]}N=document,q=be(N)}if(w.iframe_id!=null&&Z.length>0&&!S){let Ne=`iframe_id unresolved: remaining=${Z.join(">")||"(none)"} (cross-origin, not-ready, or not found)`;return[{name:M.name,args:M.args,response:{success:!1,error:Ne,allowFallback:!1,details:`requested=${z.join(">")||"(none)"} resolved=${G.join(">")||"(none)"}`,output:{success:!1,error:{code:"IFRAME_CONTEXT_UNAVAILABLE",message:Ne,retryable:!1},iframe_context:{requested_iframe_id:w.iframe_id,requested_path:z,resolved_path:G,unresolved_path:Z}}}}]}let ie=M.name,he=x0(w),Ee=he?_r(N,he):null,tt=Ee?.ownerDocument??null,ve;if(!w0.has(ie))ve={success:!1,error:`Tool not promotable to main: ${ie}`,allowFallback:!0};else{let Ie=tt??N,Ne=be(Ie,q);ve=await T(ie,Ee,w,A,Ie,Ne,C)}return[{name:M.name,args:M.args,response:ve}]}async function x(h,M,A){try{let C=h.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",w=h[C]?.scroll?.execute;if(typeof w!="function")throw new Error("main-world scroll detector not available");let S=A?.doc||Wc(h)||document,N=Math.max(250,Math.min(Number(A?.timeoutMs??3500),8e3)),q=await ti(Promise.resolve().then(()=>w(M)),N,S);if(!q.ok)throw new Error("scroll detector timeout");return q.value}catch(C){throw new Error(C?.message||"main-world scroll detector not available")}}async function T(h,M,A,C,E,w,S){let N=ie=>({success:ie.success,error:ie.success?void 0:ie.details||"Action failed",allowFallback:ie.success?void 0:ie.allowFallback??!0}),q=h===V.press_key||h===V.scroll_page||h===V.drag_and_drop||h===V.pinch_zoom;if(!M&&!q)return N({success:!1,method:"missing-element-race",details:"Target element missing",allowFallback:!0});let z=new Set([V.type_into_element,V.type_and_enter,V.clear_element,V.focus_element,V.select_text,V.check_field_validity]),G=M,Z=de(G,E);if(G&&z.has(h)){let ie=Hh(G,Z);(ie.kind==="input"||ie.kind==="contenteditable")&&(G=ie.el)}try{switch(h){case V.click_element:return N(R(M,E,w,C));case V.double_click_element:return N(Bt(M,E,w));case V.right_click_element:return N(rn(M,E,w));case V.hover_element:return N(await ne(M,E,w,C,A.duration));case V.type_into_element:return N(await Et(G,E,w,A.text,C));case V.type_and_enter:return N(await it(G,E,w,A.text,C));case V.clear_element:return N(await Me(G,E,w,C));case V.focus_element:return N(F(G,E,w));case V.select_dropdown_value:return N(Y(M,E,w,A.value,C));case V.adjust_slider:return N(Se(M,E,w,C?.value??A.value,C));case V.check_field_validity:return N(X(G,E,w));case V.select_text:return N(ee(G,E,w,A.start_offset,A.end_offset));case V.scroll_page:return N(await xe(M,E,w,A));case V.scroll_to_element:return N(await pe(M,E,w,A));case V.mouse_wheel:return N(nt(M,E,w,A.delta_x,A.delta_y));case V.drag_element:return N(await Pe(M,E,w,A,C));case V.drag_and_drop:return N(await St(A,M,E,w));case V.swipe_element:return N(await nn(M,E,w,A));case V.long_press_element:return N(await Tt(M,E,w,A.duration));case V.pinch_zoom:return N(await $e(M,E,w,A));case V.press_key:return N(Ue(A.key,A.modifiers,M,E,w));case V.copy_text:return N(await qe(M,E,w));case V.paste_text:return N(await kt(M,E,w,C));case V.upload_file:return N(await Nt(A,E,w,S,M,C));case V.dispatch_pointer_path:return N(await Dn(A,E,w));default:return N({success:!1,method:"unhandled",details:`Unhandled ${h}`,allowFallback:!0})}}catch(ie){return N({success:!1,method:"exception",details:ie?.message||"exception",allowFallback:!0})}}function k(h){let M=new Map;if(!h)return M;let A=h.trim();if(!A)return M;let C=aa(A);if(C){for(let{id:E,mask:w}of C.entries){let S=io[E];if(!S)continue;let N=new Set(zc(w)),q=M.get(S);if(q)for(let z of N)q.add(z);else M.set(S,N)}return M}return M}function b(h,...M){return h?M.some(A=>h.has(A)):!1}function P(h,M){let A=k(M?.listenersRaw),C=new Set;for(let[,z]of A)for(let G of z)(G==="react"||G==="vue"||G==="angular"||G==="svelte"||G==="jquery")&&C.add(G);let E=new Set;for(let[z,G]of A)if(["click","input","change","keydown","keyup","pointerdown","pointerup","mousedown","mouseup","submit","dragstart","drop","wheel","scroll"].includes(z))for(let Z of G)E.add(Z);let w=C.size>0||[...E].some(z=>["react","vue","angular","svelte","jquery"].includes(z)),S=b(A.get("click"),"delegated"),N=b(A.get("input"),"delegated")||b(A.get("change"),"delegated")||b(A.get("keydown"),"delegated"),q=M?.role||cs(h)||h.getAttribute("role");return{sourcesByType:A,fws:C,isFrameworkElement:w,delegatedClick:S,delegatedInput:N,role:q}}function R(h,M,A,C){let E=P(h,C),w=de(h,M),S=be(w,A);At(h,w,S),C?.pattern==="hover-activate"&&ne(h,w,S,C,120);let N=E.fws.has("react")||b(E.sourcesByType.get("click"),"react"),q=E.fws.has("vue")||b(E.sourcesByType.get("click"),"vue"),z=E.fws.has("angular")||b(E.sourcesByType.get("click"),"angular"),G=E.fws.has("svelte")||b(E.sourcesByType.get("click"),"svelte"),Z=E.fws.has("jquery")||b(E.sourcesByType.get("click"),"jquery");return bn(()=>_(h,w,S),()=>$(h,w,S),()=>N?W(h,w,S):null,()=>q?oe(h,w,S):null,()=>z?j(h,w,S):null,()=>G?ae(h,w,S):null,()=>Z?K(h,w,S):null)}function _(h,M,A){let C=de(h,M),E=be(C,A),w=E.PointerEvent||PointerEvent,S=E.MouseEvent||MouseEvent,{x:N,y:q}=te(h,C,E),z={bubbles:!0,cancelable:!0,composed:!0,view:E,clientX:N,clientY:q,button:0,buttons:1};return h.focus?.({preventScroll:!0}),[new w("pointerover",z),new w("pointerenter",{...z,bubbles:!1}),new S("mouseover",z),new S("mouseenter",{...z,bubbles:!1}),new w("pointerdown",z),new S("mousedown",z),new w("pointerup",{...z,buttons:0}),new S("mouseup",{...z,buttons:0}),new S("click",{...z,buttons:0})].forEach(Z=>h.dispatchEvent(Z)),{success:!0,method:"pointer-mouse-click"}}function $(h,M,A){let C=de(h,M),E=be(C,A);try{if(h instanceof HTMLAnchorElement){let w=h.getAttribute("target");try{h.setAttribute("target","_self"),h.click()}finally{w===null?h.removeAttribute("target"):h.setAttribute("target",w)}}else h.click?.();return{success:!0,method:"native-click"}}catch{return{success:!1,method:"native-click"}}}function te(h,M,A){let C=de(h,M),E=h.getBoundingClientRect(),w=[{x:E.left+E.width/2,y:E.top+E.height/2},{x:E.left+4,y:E.top+4},{x:E.right-4,y:E.top+4},{x:E.left+4,y:E.bottom-4},{x:E.right-4,y:E.bottom-4}],S=null;for(let N=0;N<w.length;N++){let q=w[N],z=C.elementFromPoint(q.x,q.y);if(N===0&&(S=z),z&&Gh(h,z))return{...q,hit:z,ok:!0}}return{...w[0],hit:S,ok:!1}}function W(h,M,A){let C=de(h,M),E=be(C,A);try{let w=er(h);if(!w)return{success:!1,method:"react-no-fiber"};let S=qn(w),N=S.onClick||S.onClickCapture;return N?(N(kr("click",h,C,E)),{success:!0,method:"react-fiber-onClick"}):{success:!1,method:"react-no-onClick"}}catch{return{success:!1,method:"react-fiber-onClick"}}}function oe(h,M,A){let C=de(h,M),w=be(C,A).MouseEvent||MouseEvent;try{let S=Br(h);if(!S)return{success:!1,method:"vue-none"};let N=ro(S);return N.click?(N.click(new w("click",{bubbles:!0})),{success:!0,method:"vue-handler"}):S.$emit?(S.$emit("click"),{success:!0,method:"vue-emit"}):{success:!1,method:"vue-no-click"}}catch{return{success:!1,method:"vue-handler"}}}function j(h,M,A){let C=de(h,M),E=be(C,A),w=E.MouseEvent||MouseEvent;try{let S=E.ng?.getZone?.()||null;return S?.run?(S.run(()=>h.dispatchEvent(new w("click",{bubbles:!0,cancelable:!0}))),{success:!0,method:"angular-zone-click"}):(h.dispatchEvent(new w("click",{bubbles:!0,cancelable:!0})),h.click?.(),{success:!0,method:"angular-click"})}catch{return{success:!1,method:"angular-click",allowFallback:!0}}}function ae(h,M,A){let C=de(h,M),w=be(C,A).MouseEvent||MouseEvent;try{let S=h.getBoundingClientRect(),N={bubbles:!0,cancelable:!0,view:h.ownerDocument?.defaultView||window,clientX:S.left+S.width/2,clientY:S.top+S.height/2};return h.dispatchEvent(new w("mousedown",N)),h.dispatchEvent(new w("mouseup",N)),h.dispatchEvent(new w("click",N)),{success:!0,method:"svelte-click"}}catch{return{success:!1,method:"svelte-click"}}}function K(h,M,A){let C=de(h,M),E=be(C,A);try{return E.jQuery?.(h)?.trigger?.("click"),{success:!0,method:"jquery-trigger"}}catch{return{success:!1,method:"jquery-trigger"}}}async function ne(h,M,A,C,E=500){let w=Math.min(Math.max(0,Number(E)||500),3e4),S=de(h,M),N=be(S,A),q=P(h,C);At(h,S,N);let z=N.PointerEvent||PointerEvent,G=N.MouseEvent||MouseEvent,Z=h.getBoundingClientRect(),ie=Z.left+Z.width/2,he=Z.top+Z.height/2;if(q.fws.has("react")){let ve=er(h),Ie=ve?qn(ve):{};Ie.onMouseEnter?.(kr("mouseenter",h,S,N)),Ie.onPointerEnter?.(kr("pointerenter",h,S,N))}else if(q.fws.has("vue")){let ve=Br(h),Ie=ve?ro(ve):{};Ie.mouseenter?.(new G("mouseenter",{bubbles:!0})),Ie.mouseover?.(new G("mouseover",{bubbles:!0}))}let Ee={bubbles:!0,cancelable:!0,composed:!0,view:N,clientX:ie,clientY:he};return[new z("pointerover",Ee),new z("pointerenter",{...Ee,bubbles:!1}),new G("mouseover",Ee),new G("mouseenter",{...Ee,bubbles:!1})].forEach(ve=>h.dispatchEvent(ve)),await cn(w,S),{success:!0,method:"hover-seq"}}async function ue(h,M,A=1){await Promise.resolve();for(let C=0;C<A;C++)h.hidden?await _n():await new Promise(E=>{try{M.requestAnimationFrame(()=>E())}catch{_n().then(E)}})}let ke=h=>String(h??"").replace(/\s+/g," ").trim();function me(h){try{if("value"in h)return String(h.value??"")}catch{}return""}function je(h){try{return typeof ma=="function"?ma(h):ke(h.textContent)}catch{return""}}function pt(h,M){if(!(M.isFrameworkElement||M.delegatedInput))return!1;let A=String(h??"").length;return A>0&&A<=140}async function Et(h,M,A,C,E){let w=P(h,E),S=de(h,M),N=be(S,A);if(At(h,S,N),pr(h,N)||wr(h,N)){let z=pt(String(C??""),w),G=await jh(h,S,N,C,{settleFrames:S.hidden?1:2,useKeyFallback:z,keyFallbackMaxLen:140});return{success:G.success,method:G.method,details:G.details,allowFallback:!G.success}}if(h.isContentEditable===!0||w.role==="textbox"&&!("value"in h)){let z=je(h),G=qh(h,C,S,N);await ue(S,N,S.hidden?1:2);let Z=je(h),ie=!1;if(String(C??"").length>0&&Z===z){ie=!0;try{Ja(h,S,N),Ya(h,S,N,!0);try{S.execCommand?.("insertText",!1,String(C??""))}catch{}fa(h,String(C??""),"insertText")}catch{}await ue(S,N,S.hidden?1:2)}let he=je(h),Ee=he!==z||!!String(C??"")&&he.includes(String(C??""));return{success:Ee,method:G.method,details:`${G.details};beforeLen=${z.length};afterLen=${he.length};reverted=${Z===z};fallback=${ie}`,allowFallback:Ee?void 0:!0}}return{success:!1,method:"type",details:"target not editable",allowFallback:!0}}async function it(h,M,A,C,E){let w=de(h,M),S=be(w,A),N=await Et(h,w,S,C,E);if(!N.success)return N;let q=$h(h);return{success:!0,method:"type+enter",details:`${N.details};enter=${q.method}`}}async function Me(h,M,A,C){let E=de(h,M),w=be(E,A),S=w.Event||Event;if(At(h,E,w),pr(h,w)||wr(h,w)){let q=me(h),z=Vh(h,E,w);if(await ue(E,w,E.hidden?1:2),me(h)===q&&q.length>0){try{gs(h,""),fa(h,"","deleteByCut")}catch{}await ue(E,w,E.hidden?1:2)}let ie=me(h),he=ie.length===0||ie!==q;return{success:z.success,method:z.method,details:z.details,allowFallback:!z.success}}if(h.isContentEditable===!0||P(h,C).role==="textbox"&&!("value"in h)){let q=Wh(h,E,w);return await ue(E,w,E.hidden?1:2),{success:q.success,method:q.method,details:q.details,allowFallback:!q.success}}if("value"in h){try{h.value=""}catch{}return h.dispatchEvent(new S("input",{bubbles:!0,composed:!0})),h.dispatchEvent(new S("change",{bubbles:!0,composed:!0})),{success:!0,method:"clear-generic-value"}}return{success:!1,method:"clear",details:"target not clearable",allowFallback:!0}}function F(h,M,A){try{let C=de(h,M),E=be(C,A),w=E.FocusEvent||FocusEvent;return At(h,C,E),h.focus?.({preventScroll:!0}),h.dispatchEvent(new w("focus",{bubbles:!0})),h.dispatchEvent(new w("focusin",{bubbles:!0})),{success:!0,method:"focus"}}catch(C){return{success:!1,method:"focus",details:C.message,allowFallback:!0}}}function Y(h,M,A,C,E){try{let w=de(h,M),S=be(w,A),N=S.Event||Event;if(!Hm(h,S))return{success:!1,method:"select",details:"target not select",allowFallback:!0};At(h,w,S),h.focus?.({preventScroll:!0});let q=Array.from(h.options).find(ie=>ie.value===C||ie.text.trim()===C.trim());if(!q)return{success:!1,method:"select",details:`Option not found: ${C}`,allowFallback:!0};q.selected=!0;let z=Object.getPrototypeOf(h),G=Object.getOwnPropertyDescriptor(z,"value");if(G?.set?G.set.call(h,q.value):h.value=q.value,h.dispatchEvent(new N("input",{bubbles:!0,composed:!0})),h.dispatchEvent(new N("change",{bubbles:!0,composed:!0})),P(h,E).fws.has("react")){let ie=er(h);if(ie){let he=qn(ie);if(he.onChange){let Ee=kr("change",h,w,S);Ee.target.value=q.value,he.onChange(Ee)}}}return{success:!0,method:"select"}}catch(w){return{success:!1,method:"select",details:w.message,allowFallback:!0}}}function Se(h,M,A,C,E){try{let w=de(h,M),S=be(w,A),N=S.Event||Event;if(!pr(h,S))return{success:!1,method:"slider",details:"target not input",allowFallback:!0};At(h,w,S),h.focus?.({preventScroll:!0});let q=Object.getPrototypeOf(h),z=Object.getOwnPropertyDescriptor(q,"value");if(z?.set?z.set.call(h,String(C)):h.value=String(C),h.dispatchEvent(new N("input",{bubbles:!0,composed:!0})),h.dispatchEvent(new N("change",{bubbles:!0,composed:!0})),P(h,E).fws.has("react")){let Z=er(h);if(Z){let ie=qn(Z);if(ie.onChange){let he=kr("change",h,w,S);he.target.value=String(C),ie.onChange(he)}}}return{success:!0,method:"slider"}}catch(w){return{success:!1,method:"slider",details:w.message,allowFallback:!0}}}function X(h,M,A){try{let C=h.checkValidity?.()??!0;return C||h.reportValidity?.(),{success:C,method:"check-validity",details:C?void 0:h.validationMessage}}catch(C){return{success:!1,method:"check-validity",details:C.message,allowFallback:!0}}}function ee(h,M,A,C,E){try{let w=de(h,M),S=be(w,A);if("setSelectionRange"in h){let z=h;z.focus?.();let G=z.value?.length??0;return z.setSelectionRange(C??0,E??G),{success:!0,method:"select-range"}}let N=S.getSelection();if(!N)return{success:!1,method:"select-range",allowFallback:!0};let q=w.createRange();return q.selectNodeContents(h),N.removeAllRanges(),N.addRange(q),{success:!0,method:"select-range-node"}}catch(w){return{success:!1,method:"select-range",details:w.message,allowFallback:!0}}}function re(h,M,A,C,E){let w=ha((h&&de(h))??M),S=h||w,N=de(S,M),q=be(N,A),z=S===N.documentElement||S===N.body||S===w;if(C===Ft.TOP||C===Ft.BOTTOM){let G=S.scrollHeight,Z=z?q.innerHeight:S.clientHeight,ie=Math.max(0,G-Z);return S.scrollTop=C===Ft.TOP?0:ie,{success:!0,scrollTop:S.scrollTop}}return bl(S,N,q,C,E)}async function xe(h,M,A,C){let E=C.direction,w=C.amount,S=de(h,M),N=be(S,A),q=!S.hidden,z=q?"smooth":"auto";try{if(h){let Z=et(h,S,N),ie=re(Z,S,N,E,w);return ie?.success?{success:!0,method:"direct-element-scroll",details:JSON.stringify(ie)}:{success:!1,method:"direct-element-scroll",details:ie?.error||"direct scroll failed",allowFallback:!0}}if(E===Ft.TOP||E===Ft.BOTTOM){let Z=await x(N,{action:"scrollTo",direction:E,options:{behavior:z,isTabActive:q}},{doc:S,timeoutMs:S.hidden?5200:2800});return{success:!0,method:"detector-scrollTo",details:JSON.stringify(Z)}}let G=await x(N,{action:"scrollBy",direction:E,options:{amount:w,behavior:z,isTabActive:q}},{doc:S,timeoutMs:S.hidden?5200:2800});return{success:!0,method:"detector-scrollBy",details:JSON.stringify(G)}}catch(G){let Z=S?re(ha(S),S,N,E,w):void 0;return Z?.success?{success:!0,method:"direct-primary-scroll-fallback",details:JSON.stringify(Z)}:{success:!1,method:"scroll-page-failed",details:G?.message||Z?.error||"scroll_page failed",allowFallback:!0}}}async function pe(h,M,A,C){let E=de(h,M),w=be(E,A),S=!E.hidden,N=S?"smooth":"auto",q=fg(C.position),z=ni(h,E);if(!z){let G=Mu(h,E,w,q);return{success:G.success,method:"direct-scrollElement-no-selector",details:G.error,allowFallback:!G.success}}try{let G=await x(w,{action:"scrollElement",selector:z,position:q,options:{behavior:N,isTabActive:S}},{doc:E,timeoutMs:E.hidden?5600:3e3});return{success:!0,method:"detector-scrollElement",details:JSON.stringify(G)}}catch(G){let Z=Mu(h,E,w,q);return Z.success?{success:!0,method:"direct-scrollElement-fallback",details:JSON.stringify(Z)}:{success:!1,method:"scroll-to-element-failed",details:G?.message||Z.error||"scroll_to_element failed",allowFallback:!0}}}function nt(h,M,A,C,E){try{let w=de(h,M),S=be(w,A),N=S.WheelEvent||WheelEvent;At(h,w,S);let q=et(h,w,S);return q.dispatchEvent(new N("wheel",{bubbles:!0,cancelable:!0,composed:!0,view:S,deltaX:C||0,deltaY:E||0,deltaMode:N.DOM_DELTA_PIXEL})),q.scrollBy({left:C||0,top:E||0,behavior:"auto"}),{success:!0,method:"wheel"}}catch(w){return{success:!1,method:"wheel",details:w.message,allowFallback:!0}}}function et(h,M,A){let C=de(h,M),E=be(C,A),w=C.scrollingElement||C.documentElement||C.body,S=h;for(;S&&S!==C.body&&S!==C.documentElement;){let q=E.getComputedStyle(S).overflowY;if((q==="auto"||q==="scroll"||q==="overlay")&&S.scrollHeight>S.clientHeight+5)return S;S=S.parentElement}return w}async function Pe(h,M,A,C,E){try{let w=de(h,M),S=be(w,A),N=S.PointerEvent||PointerEvent,q=S.MouseEvent||MouseEvent,z=S.DragEvent||DragEvent,G=S.DataTransfer||DataTransfer;At(h,w,S);let Z=te(h,w,S),ie=Jt(Z.hit,S)?Z.hit:h,he=h.getBoundingClientRect(),Ee=Number.isFinite(Number(C?.distance))?Number(C.distance):160,tt=0,ve=0;switch(String(C?.direction||"").toUpperCase()){case"UP":ve=-Ee;break;case"DOWN":ve=Ee;break;case"LEFT":tt=-Ee;break;case"RIGHT":tt=Ee;break;default:tt=Number(C?.delta_x)||0,ve=Number(C?.delta_y)||0}let Ie=(ge,Oe)=>({x:Math.max(2,Math.min(ge,S.innerWidth-3)),y:Math.max(2,Math.min(Oe,S.innerHeight-3))}),Ne=Ie(Z.x,Z.y),lt=Ie(Z.x+tt,Z.y+ve),Gt=500+Date.now()%1e4,He=Math.max(12,Math.min(36,Number(C?.steps)||18)),Je=(ge,Oe)=>({bubbles:!0,cancelable:!0,composed:!0,view:S,clientX:ge,clientY:Oe,pageX:ge+(S.scrollX||0),pageY:Oe+(S.scrollY||0)}),rt=(ge,Oe,Ge)=>({...Je(ge,Oe),pointerId:Gt,pointerType:"mouse",isPrimary:!0,width:1,height:1,pressure:Ge?.5:0,buttons:Ge,button:0}),Xe=(ge,Oe,Ge)=>({...Je(ge,Oe),buttons:Ge,button:0});ie.dispatchEvent(new N("pointerdown",rt(Ne.x,Ne.y,1))),ie.dispatchEvent(new q("mousedown",Xe(Ne.x,Ne.y,1)));try{ie.setPointerCapture?.(Gt)}catch{}let mt=null;try{(h.draggable||P(h,E).sourcesByType.has("dragstart"))&&(mt=new G)}catch{mt=null}if(mt)try{h.dispatchEvent(new z("dragstart",{bubbles:!0,cancelable:!0,clientX:Ne.x,clientY:Ne.y,dataTransfer:mt}))}catch{}let xt=null;for(let ge=1;ge<=He;ge++){let Oe=Ne.x+(lt.x-Ne.x)*ge/He,Ge=Ne.y+(lt.y-Ne.y)*ge/He,yn=w.elementFromPoint(Oe,Ge)||h;if(yn.dispatchEvent(new N("pointermove",rt(Oe,Ge,1))),yn.dispatchEvent(new q("mousemove",Xe(Oe,Ge,1))),mt)try{xt&&xt!==yn&&xt.dispatchEvent(new z("dragleave",{bubbles:!0,cancelable:!0,clientX:Oe,clientY:Ge,dataTransfer:mt})),yn.dispatchEvent(new z("dragover",{bubbles:!0,cancelable:!0,clientX:Oe,clientY:Ge,dataTransfer:mt})),xt=yn}catch{}ge%3===0&&await _n()}let Ae=w.elementFromPoint(lt.x,lt.y)||h;if(Ae.dispatchEvent(new N("pointerup",rt(lt.x,lt.y,0))),Ae.dispatchEvent(new q("mouseup",Xe(lt.x,lt.y,0))),mt)try{h.dispatchEvent(new z("dragend",{bubbles:!0,cancelable:!0,clientX:lt.x,clientY:lt.y,dataTransfer:mt}))}catch{}return{success:!0,method:"drag",details:`dx=${tt};dy=${ve};steps=${He};hitOk=${Z.ok}`}}catch(w){return{success:!1,method:"drag",details:w?.message||"drag failed",allowFallback:!0}}}async function St(h,M,A,C){try{let E=de(M,A),w=be(E,C),S=w.PointerEvent||PointerEvent,N=w.MouseEvent||MouseEvent,q=w.DragEvent||DragEvent,z=w.DataTransfer||DataTransfer,G=h?.source_element_id??h?.element_id,Z=(G?_r(E,String(G)):null)||M;if(!Z)return{success:!1,method:"drag-drop",details:"source missing",allowFallback:!0};let ie=null,he=Number(h?.target_x),Ee=Number(h?.target_y);if(h?.target_element_id){if(ie=_r(E,String(h.target_element_id)),!ie)return{success:!1,method:"drag-drop",details:"target missing",allowFallback:!0};let Ae=ie.getBoundingClientRect();he=Ae.left+Ae.width/2,Ee=Ae.top+Ae.height/2}if((!Number.isFinite(he)||!Number.isFinite(Ee))&&!ie)return{success:!1,method:"drag-drop",details:"missing target coords",allowFallback:!0};At(Z,E,w),ie&&At(ie,E,w);let tt=(Ae,ge)=>({x:Math.max(2,Math.min(Ae,w.innerWidth-3)),y:Math.max(2,Math.min(ge,w.innerHeight-3))}),ve=Z.getBoundingClientRect(),Ie=tt(ve.left+ve.width/2,ve.top+ve.height/2),Ne=tt(Number(he),Number(Ee)),lt=600+Date.now()%1e4,Gt=Math.max(14,Math.min(42,Number(h?.steps)||22)),He=(Ae,ge)=>({bubbles:!0,cancelable:!0,composed:!0,view:w,clientX:Ae,clientY:ge,pageX:Ae+(w.scrollX||0),pageY:ge+(w.scrollY||0)}),Je=(Ae,ge,Oe)=>({...He(Ae,ge),pointerId:lt,pointerType:"mouse",isPrimary:!0,width:1,height:1,pressure:Oe?.5:0,buttons:Oe,button:0}),rt=(Ae,ge,Oe)=>({...He(Ae,ge),buttons:Oe,button:0}),Xe=null;try{Xe=new z}catch{Xe=null}Z.dispatchEvent(new S("pointerdown",Je(Ie.x,Ie.y,1))),Z.dispatchEvent(new N("mousedown",rt(Ie.x,Ie.y,1)));try{Z.setPointerCapture?.(lt)}catch{}if(Xe)try{Z.dispatchEvent(new q("dragstart",{bubbles:!0,cancelable:!0,clientX:Ie.x,clientY:Ie.y,dataTransfer:Xe}))}catch{}let mt=null;for(let Ae=1;Ae<=Gt;Ae++){let ge=Ie.x+(Ne.x-Ie.x)*Ae/Gt,Oe=Ie.y+(Ne.y-Ie.y)*Ae/Gt,Ge=E.elementFromPoint(ge,Oe)||ie||E.body;if(Ge.dispatchEvent(new S("pointermove",Je(ge,Oe,1))),Ge.dispatchEvent(new N("mousemove",rt(ge,Oe,1))),Xe)try{mt&&mt!==Ge&&mt.dispatchEvent(new q("dragleave",{bubbles:!0,cancelable:!0,clientX:ge,clientY:Oe,dataTransfer:Xe})),Ge.dispatchEvent(new q("dragenter",{bubbles:!0,cancelable:!0,clientX:ge,clientY:Oe,dataTransfer:Xe})),Ge.dispatchEvent(new q("dragover",{bubbles:!0,cancelable:!0,clientX:ge,clientY:Oe,dataTransfer:Xe})),mt=Ge}catch{}Ae%3===0&&await _n()}let xt=ie||E.elementFromPoint(Ne.x,Ne.y)||E.body;if(Xe)try{xt.dispatchEvent(new q("drop",{bubbles:!0,cancelable:!0,clientX:Ne.x,clientY:Ne.y,dataTransfer:Xe}))}catch{}if(xt.dispatchEvent(new S("pointerup",Je(Ne.x,Ne.y,0))),xt.dispatchEvent(new N("mouseup",rt(Ne.x,Ne.y,0))),Xe)try{Z.dispatchEvent(new q("dragend",{bubbles:!0,cancelable:!0,clientX:Ne.x,clientY:Ne.y,dataTransfer:Xe}))}catch{}return{success:!0,method:"html5+pointer-dragdrop",details:`steps=${Gt};source=${String(G)}`}}catch(E){return{success:!1,method:"drag-drop",details:E?.message||"drag-drop failed",allowFallback:!0}}}async function nn(h,M,A,C){try{let E=de(h,M),w=be(E,A),S=w.PointerEvent||PointerEvent,N=w.MouseEvent||MouseEvent;At(h,E,w);let q=te(h,E,w),z={x:q.x,y:q.y},G=h.getBoundingClientRect(),Z=Number.isFinite(Number(C?.distance))?Number(C.distance):Math.min(Math.max(80,Math.min(G.width,G.height)),220),ie=String(C?.direction||"RIGHT").toUpperCase(),he=z.x,Ee=z.y;ie==="LEFT"&&(he-=Z),ie==="RIGHT"&&(he+=Z),ie==="UP"&&(Ee-=Z),ie==="DOWN"&&(Ee+=Z);let tt=(ge,Oe)=>({x:Math.max(2,Math.min(ge,w.innerWidth-3)),y:Math.max(2,Math.min(Oe,w.innerHeight-3))}),ve=tt(z.x,z.y),Ie=tt(he,Ee),Ne=700+Date.now()%1e4,lt=Math.max(10,Math.min(28,Number(C?.steps)||16)),Gt=(ge,Oe)=>({bubbles:!0,cancelable:!0,composed:!0,view:w,clientX:ge,clientY:Oe,pageX:ge+(w.scrollX||0),pageY:Oe+(w.scrollY||0)}),He=(ge,Oe,Ge)=>({...Gt(ge,Oe),pointerId:Ne,pointerType:"touch",isPrimary:!0,width:1,height:1,pressure:Ge?.5:0,buttons:Ge,button:0}),Je=(ge,Oe,Ge)=>({...Gt(ge,Oe),buttons:Ge,button:0}),rt=E.elementFromPoint(ve.x,ve.y)||h;rt.dispatchEvent(new S("pointerdown",He(ve.x,ve.y,1))),rt.dispatchEvent(new N("mousedown",Je(ve.x,ve.y,1)));let Xe=w.Touch,mt=w.TouchEvent,xt=!!Xe&&!!mt;if(xt)try{let ge=new Xe({identifier:Ne,target:rt,clientX:ve.x,clientY:ve.y,pageX:ve.x,pageY:ve.y,screenX:ve.x,screenY:ve.y,radiusX:1,radiusY:1,rotationAngle:0,force:1});rt.dispatchEvent(new mt("touchstart",{bubbles:!0,cancelable:!0,composed:!0,touches:[ge],targetTouches:[ge],changedTouches:[ge]}))}catch{}for(let ge=1;ge<=lt;ge++){let Oe=ve.x+(Ie.x-ve.x)*ge/lt,Ge=ve.y+(Ie.y-ve.y)*ge/lt,yn=E.elementFromPoint(Oe,Ge)||h;if(yn.dispatchEvent(new S("pointermove",He(Oe,Ge,1))),yn.dispatchEvent(new N("mousemove",Je(Oe,Ge,1))),xt)try{let Ct=new Xe({identifier:Ne,target:yn,clientX:Oe,clientY:Ge,pageX:Oe,pageY:Ge,screenX:Oe,screenY:Ge,radiusX:1,radiusY:1,rotationAngle:0,force:1});yn.dispatchEvent(new mt("touchmove",{bubbles:!0,cancelable:!0,composed:!0,touches:[Ct],targetTouches:[Ct],changedTouches:[Ct]}))}catch{}ge%3===0&&await _n()}let Ae=E.elementFromPoint(Ie.x,Ie.y)||h;if(Ae.dispatchEvent(new S("pointerup",He(Ie.x,Ie.y,0))),Ae.dispatchEvent(new N("mouseup",Je(Ie.x,Ie.y,0))),xt)try{let ge=new Xe({identifier:Ne,target:Ae,clientX:Ie.x,clientY:Ie.y,pageX:Ie.x,pageY:Ie.y,screenX:Ie.x,screenY:Ie.y,radiusX:1,radiusY:1,rotationAngle:0,force:0});Ae.dispatchEvent(new mt("touchend",{bubbles:!0,cancelable:!0,composed:!0,touches:[],targetTouches:[],changedTouches:[ge]}))}catch{}return{success:!0,method:"swipe",details:`dir=${ie};dist=${Z};steps=${lt};hitOk=${q.ok}`}}catch(E){return{success:!1,method:"swipe",details:E?.message||"swipe failed",allowFallback:!0}}}async function $e(h,M,A,C){try{let E=h||M.body,w=de(E,M),S=be(w,A),N=S.PointerEvent||PointerEvent,q=S.WheelEvent||WheelEvent;At(E,w,S);let z=Number.isFinite(Number(C?.scale))?Number(C.scale):1.2,G=E.getBoundingClientRect(),Z=G.left+G.width/2,ie=G.top+G.height/2,he=24,Ee=Math.max(6,Math.min(200,he*z)),tt=Math.max(6,Math.min(18,Number(C?.steps)||10)),ve=S.Touch,Ie=S.TouchEvent;if(!!ve&&!!Ie)try{let He=(xt,Ae)=>new ve({identifier:xt,target:E,clientX:Ae,clientY:ie,pageX:Ae,pageY:ie,screenX:Ae,screenY:ie,radiusX:1,radiusY:1,rotationAngle:0,force:1}),Je=He(911,Z-he),rt=He(912,Z+he);E.dispatchEvent(new Ie("touchstart",{bubbles:!0,cancelable:!0,composed:!0,touches:[Je,rt],targetTouches:[Je,rt],changedTouches:[Je,rt]}));for(let xt=1;xt<=tt;xt++){let Ae=he+(Ee-he)*xt/tt,ge=He(911,Z-Ae),Oe=He(912,Z+Ae);E.dispatchEvent(new Ie("touchmove",{bubbles:!0,cancelable:!0,composed:!0,touches:[ge,Oe],targetTouches:[ge,Oe],changedTouches:[ge,Oe]})),xt%2===0&&await _n()}let Xe=He(911,Z-Ee),mt=He(912,Z+Ee);E.dispatchEvent(new Ie("touchend",{bubbles:!0,cancelable:!0,composed:!0,touches:[],targetTouches:[],changedTouches:[Xe,mt]}))}catch{}try{let He=(Je,rt,Xe)=>({bubbles:!0,cancelable:!0,composed:!0,view:S,clientX:rt,clientY:ie,pointerId:Je,pointerType:"touch",isPrimary:Je===821,width:1,height:1,pressure:Xe?.5:0,buttons:Xe,button:0});E.dispatchEvent(new N("pointerdown",He(821,Z-he,1))),E.dispatchEvent(new N("pointerdown",He(822,Z+he,1)));for(let Je=1;Je<=tt;Je++){let rt=he+(Ee-he)*Je/tt;E.dispatchEvent(new N("pointermove",He(821,Z-rt,1))),E.dispatchEvent(new N("pointermove",He(822,Z+rt,1))),Je%2===0&&await _n()}E.dispatchEvent(new N("pointerup",He(821,Z-Ee,0))),E.dispatchEvent(new N("pointerup",He(822,Z+Ee,0)))}catch{}try{let lt=z>=1?-120:120;E.dispatchEvent(new q("wheel",{bubbles:!0,cancelable:!0,composed:!0,view:S,clientX:Z,clientY:ie,ctrlKey:!0,deltaY:lt,deltaMode:q.DOM_DELTA_PIXEL}))}catch{}return{success:!0,method:"pinch-zoom",details:`scale=${z};steps=${tt}`}}catch(E){return{success:!1,method:"pinch-zoom",details:E?.message||"pinch-zoom failed",allowFallback:!0}}}async function Tt(h,M,A,C=800){try{let E=de(h,M),w=be(E,A),S=w.PointerEvent||PointerEvent,N=w.MouseEvent||MouseEvent,q=w.FocusEvent||FocusEvent;At(h,E,w);let z=te(h,E,w),G=h;!z.ok&&Jt(z.hit,w)?G=z.hit.closest?.('a,button,input,select,textarea,summary,[role="button"],[role="link"],[onclick]')||z.hit:Jt(z.hit,w)&&(G=z.hit);let Z=Pn(G,E,w),ie=z.x,he=z.y,Ee=1+Date.now()%1e4,tt={bubbles:!0,cancelable:!0,composed:!0,view:w,clientX:ie,clientY:he,pageX:ie+(w.scrollX||0),pageY:he+(w.scrollY||0),screenX:ie+(w.screenX||0),screenY:he+(w.screenY||0)},ve={...tt,pointerId:Ee,pointerType:"touch",isPrimary:!0,width:1,height:1,pressure:0,buttons:0,button:0};try{G.dispatchEvent(new S("pointerover",ve)),G.dispatchEvent(new S("pointerenter",{...ve,bubbles:!1}))}catch{}try{G.dispatchEvent(new N("mouseover",tt)),G.dispatchEvent(new N("mouseenter",{...tt,bubbles:!1}))}catch{}try{G.focus?.({preventScroll:!0}),G.dispatchEvent(new q("focus",{bubbles:!0,composed:!0})),G.dispatchEvent(new q("focusin",{bubbles:!0,composed:!0}))}catch{}try{G.dispatchEvent(new S("pointerdown",{...ve,buttons:1,pressure:.5}))}catch{}try{G.dispatchEvent(new N("mousedown",{...tt,buttons:1,button:0}))}catch{}try{let He=w.Touch,Je=w.TouchEvent;if(typeof He<"u"&&typeof Je<"u"){let rt=new He({identifier:Ee,target:G,clientX:ie,clientY:he,pageX:ie+(w.scrollX||0),pageY:he+(w.scrollY||0),screenX:ie+(w.screenX||0),screenY:he+(w.screenY||0),radiusX:1,radiusY:1,rotationAngle:0,force:1});G.dispatchEvent(new Je("touchstart",{bubbles:!0,cancelable:!0,composed:!0,touches:[rt],targetTouches:[rt],changedTouches:[rt]}))}}catch{}let Ie=Number(C),Ne=Number.isFinite(Ie)&&Ie>0?Ie:800,lt=E.hidden?Math.max(Ne,1200):Ne;await cn(lt,E);try{G.dispatchEvent(new N("contextmenu",{...tt,button:2,buttons:2}))}catch{}try{G.dispatchEvent(new S("pointerup",{...ve,buttons:0,pressure:0}))}catch{}try{G.dispatchEvent(new N("mouseup",{...tt,buttons:0,button:0}))}catch{}try{let He=w.Touch,Je=w.TouchEvent;if(typeof He<"u"&&typeof Je<"u"){let rt=new He({identifier:Ee,target:G,clientX:ie,clientY:he,pageX:ie+(w.scrollX||0),pageY:he+(w.scrollY||0),screenX:ie+(w.screenX||0),screenY:he+(w.screenY||0),radiusX:1,radiusY:1,rotationAngle:0,force:0});G.dispatchEvent(new Je("touchend",{bubbles:!0,cancelable:!0,composed:!0,touches:[],targetTouches:[],changedTouches:[rt]}))}}catch{}let Gt=await Zn(G,E,w,Z);return{success:!0,method:"long-press",details:`holdMs=${lt};verified=${Gt};hitOk=${z.ok};target=${G.tagName.toLowerCase()}`}}catch(E){return{success:!1,method:"long-press",details:E?.message||"long-press failed",allowFallback:!0}}}function Ue(h,M,A,C,E){try{let w=de(A,C),N=be(w,E).KeyboardEvent||KeyboardEvent,q=A||w.activeElement||w.body||w.documentElement;q.focus?.();let z={key:h,code:ta(h),bubbles:!0,cancelable:!0,ctrlKey:M?.includes("CTRL"),altKey:M?.includes("ALT"),shiftKey:M?.includes("SHIFT"),metaKey:M?.includes("META")},G=q.dispatchEvent(new N("keydown",z)),Z=q.dispatchEvent(new N("keypress",z)),ie=q.dispatchEvent(new N("keyup",z));if(h==="Enter"&&!!(G&&Z&&ie)){let Ee=q.form||q.closest?.("form");Ee?.requestSubmit?Ee.requestSubmit():Ee?.submit?.()}return{success:!0,method:"press-key"}}catch(w){return{success:!1,method:"press-key",details:w.message,allowFallback:!0}}}async function qe(h,M,A){try{let C=h.innerText||h.value||"";if(!C)return{success:!1,method:"copy",details:"nothing to copy",allowFallback:!0};let E=de(h,M),w=be(E,A);if(w.navigator?.clipboard?.writeText)return await w.navigator.clipboard.writeText(C),{success:!0,method:"clipboard-copy"};let S=E.createRange();S.selectNodeContents(h);let N=w.getSelection?.()||(E.defaultView||window).getSelection?.();N?.removeAllRanges(),N?.addRange(S);let q=E.execCommand?.("copy")??!1;return N?.removeAllRanges(),{success:!!q,method:"execCommand-copy",allowFallback:!q}}catch(C){return{success:!1,method:"clipboard-copy",details:C.message,allowFallback:!0}}}async function kt(h,M,A,C){try{h.focus?.();let E=de(h,M),w=be(E,A);if(w.navigator?.clipboard?.readText){let N=await w.navigator.clipboard.readText();if(N)return await Et(h,E,w,N,C)}return E.execCommand?.("paste")??!1?{success:!0,method:"execCommand-paste"}:{success:!1,method:"paste",details:"clipboard empty or denied",allowFallback:!0}}catch(E){return{success:!1,method:"paste",details:E.message,allowFallback:!0}}}function Ot(h){return`${(h/1024).toFixed(1)}KB`}function dt(h,M){if(h instanceof M.defaultView.HTMLInputElement){let S=h;if((S.type||"").toLowerCase()==="file")return S}let A=h.closest?.("label"),C=A?.htmlFor||h.htmlFor||"";if(C){let S=M.getElementById(C);if(S&&(S.type||"").toLowerCase()==="file")return S}if(A){let S=A.querySelector?.('input[type="file"]');if(S)return S}let E=h.closest?.("form");if(E){let S=E.querySelector?.('input[type="file"]');if(S)return S}let w=h.closest?.("div,section,main,article")||h.parentElement;if(w){let S=w.querySelector?.('input[type="file"]');if(S)return S}return null}function It(h,M,A){try{let C=A.HTMLInputElement?.prototype,E=C?Object.getOwnPropertyDescriptor(C,"files")?.set:void 0;if(!E){let w=Object.getPrototypeOf(h);for(;w&&!E;)E=Object.getOwnPropertyDescriptor(w,"files")?.set,w=Object.getPrototypeOf(w)}return E?(E.call(h,M),!0):(h.files=M,!0)}catch{try{return h.files=M,!0}catch{return!1}}}async function Nt(h,M,A,C,E,w){try{let{file_url:S,element_id:N,file_name:q}=h,z=null;if(E&&(z=dt(E,M)),!z&&N!==void 0&&(z=M.querySelector(`input[type="file"][${In}*="[id=${N}]"]`)),!z){let Ae=M.querySelectorAll('input[type="file"]');for(let ge of Ae){if(ge.disabled)continue;let Oe=ge.getBoundingClientRect();if(Oe.width>0&&Oe.height>0){z=ge;break}}}if(!z)return{success:!1,method:"upload-file",details:"No file input found",allowFallback:!0};if(z.disabled)return{success:!1,method:"upload-file",details:"File input is disabled",allowFallback:!0};let G=de(z,M),Z=be(G,A);if(!(C?.kind==="upload_file"&&typeof C.byteLength=="number"&&C.byteLength>=0&&typeof C.mimeType=="string"&&(typeof C.inlineB64=="string"||typeof C.token=="string")))return{success:!1,method:"upload-file",details:"Missing upload payload (need inlineB64 or token)",allowFallback:!0};let he=Number(C.byteLength),Ee=(C.mimeType||"application/octet-stream").split(";")[0].trim()||"application/octet-stream",tt;if(C.inlineB64&&typeof C.inlineB64=="string"){let Ae=tg(C.inlineB64);if(Ae.byteLength!==he)return{success:!1,method:"upload-file",details:`Inline bytes length mismatch: got=${Ae.byteLength} expected=${he}`,allowFallback:!0};tt=Ae.buffer}else{let Ae=String(C.token);tt=await p(Z,Ae,he,9e4)}let ve=Z.Blob||Blob,Ie=new ve([tt],{type:Ee}),Ne=q||C?.fileName;!Ne&&S&&typeof S=="string"&&(Ne=Au(S,Z)),Ne=eg(Ne||"upload");let lt=Z.File||File,Gt=new lt([Ie],Ne,{type:Ee,lastModified:Date.now()}),He=Z.Event||Event,Je=Z.DataTransfer||DataTransfer;if(!Je)return{success:!1,method:"upload-file",details:"DataTransfer unavailable in this context",allowFallback:!0};let rt=new Je;if(rt.items.add(Gt),!It(z,rt.files,Z))return{success:!1,method:"upload-file",details:"Failed to set input.files",allowFallback:!0};z.dispatchEvent(new He("input",{bubbles:!0,composed:!0,cancelable:!0})),z.dispatchEvent(new He("change",{bubbles:!0,composed:!0,cancelable:!0}));let mt=er(z);if(mt){let Ae=qn(mt);if(Ae.onChange){let ge=kr("change",z,G,Z);ge.target.files=rt.files,Ae.onChange(ge)}}let xt=Br(z);if(xt){let Ae=ro(xt);if(Ae.change){let ge=new He("change",{bubbles:!0});ge.target=z,ge.target.files=rt.files,Ae.change(ge)}}try{let Ae=Z.jQuery||Z.$;Ae&&typeof Ae=="function"&&Ae(z).triggerHandler?.("change")}catch{}return z.focus?.({preventScroll:!0}),await ue(G,Z,2),{success:!0,method:"upload-file",details:`Uploaded ${Ne} (${Ot(Ie.size)}) [token]`}}catch(S){return{success:!1,method:"upload-file",details:S?.message||"Upload failed",allowFallback:!0}}}async function Dn(h,M,A){let C=Array.isArray(h.path)?h.path:[];if(!C.length)return{success:!1,method:"dispatch_pointer_path",details:"Empty path",allowFallback:!0};let E=A.PointerEvent||PointerEvent,w=A.MouseEvent||MouseEvent,S=16;for(let N=0;N<C.length;N++){let q=C[N],z=Number(q.x)||0,G=Number(q.y)||0,Z=Number(q.pressure)||(N===0||N===C.length-1?0:.5),ie=M.elementFromPoint(z,G)||M.documentElement,he={bubbles:!0,cancelable:!0,clientX:z,clientY:G,screenX:z,screenY:G,view:A};if(N===0?(ie.dispatchEvent(new E("pointerdown",{...he,pressure:Z,pointerId:1,pointerType:"mouse"})),ie.dispatchEvent(new w("mousedown",{...he,button:0,buttons:1}))):(ie.dispatchEvent(new E("pointermove",{...he,pressure:Z,pointerId:1,pointerType:"mouse"})),ie.dispatchEvent(new w("mousemove",{...he,button:0,buttons:1}))),N===C.length-1&&(ie.dispatchEvent(new E("pointerup",{...he,pressure:0,pointerId:1,pointerType:"mouse"})),ie.dispatchEvent(new w("mouseup",{...he,button:0,buttons:0}))),N<C.length-1){let Ee=Number(q.timestamp)||0,tt=Number(C[N+1].timestamp)||0,ve=Ee&&tt?Math.max(0,Math.min(tt-Ee,1e3)):S;ve>0&&await cn(ve,M)}}return{success:!0,method:"dispatch_pointer_path",details:`Dispatched ${C.length} point(s)`}}function Bt(h,M,A){let C=de(h,M),E=be(C,A),w=E.MouseEvent||MouseEvent;At(h,C,E),_(h,C,E),_(h,C,E);let S=h.getBoundingClientRect();return h.dispatchEvent(new w("dblclick",{bubbles:!0,cancelable:!0,clientX:S.left+S.width/2,clientY:S.top+S.height/2,detail:2,view:E})),{success:!0,method:"dblclick"}}function rn(h,M,A){let C=de(h,M),E=be(C,A),w=E.PointerEvent||PointerEvent,S=E.MouseEvent||MouseEvent;At(h,C,E);let N=h.getBoundingClientRect(),q=N.left+N.width/2,z=N.top+N.height/2,G={bubbles:!0,cancelable:!0,composed:!0,view:E,clientX:q,clientY:z,button:2,buttons:2};return h.dispatchEvent(new w("pointerdown",G)),h.dispatchEvent(new S("mousedown",G)),h.dispatchEvent(new w("pointerup",{...G,buttons:0})),h.dispatchEvent(new S("mouseup",{...G,buttons:0})),h.dispatchEvent(new S("contextmenu",G)),{success:!0,method:"contextmenu"}}function Pn(h,M,A){let C=de(h,M),E=be(C,A),w=h,S=h.getBoundingClientRect();return{href:String(E.location.href),hash:String(E.location.hash),ariaExpanded:h.getAttribute("aria-expanded"),ariaPressed:h.getAttribute("aria-pressed"),ariaDisabled:h.getAttribute("aria-disabled"),disabled:!!w.disabled,open:typeof w.open<"u"?w.open:void 0,checked:typeof w.checked<"u"?w.checked:void 0,value:typeof w.value<"u"?w.value:void 0,active:pl(C),rect:{w:S.width,h:S.height}}}function _e(h,M){let A=Math.abs(h.rect.w-M.rect.w)>2||Math.abs(h.rect.h-M.rect.h)>2;return h.href!==M.href||h.hash!==M.hash||h.ariaExpanded!==M.ariaExpanded||h.ariaPressed!==M.ariaPressed||h.ariaDisabled!==M.ariaDisabled||h.disabled!==M.disabled||h.open!==M.open||h.checked!==M.checked||h.value!==M.value||h.active!==M.active||A}async function Zn(h,M,A,C){await Promise.resolve();let E=de(h,M),w=be(E,A);M.hidden||await _n();let S=Pn(h,E,w);return _e(C,S)}function Re(h,M,A){h.focus?.({preventScroll:!0});let C=de(h,M),E=be(C,A),N=h.getAttribute("role")==="button"||Fm(h,E)||h.tagName.toLowerCase()==="button"?[" ","Enter"]:["Enter"],q=E.KeyboardEvent||KeyboardEvent;for(let z of N){let G={key:z,code:z===" "?"Space":"Enter",bubbles:!0,cancelable:!0,composed:!0};h.dispatchEvent(new q("keydown",G)),h.dispatchEvent(new q("keypress",G)),h.dispatchEvent(new q("keyup",G))}return{success:!0,method:"keyboard-activate"}}async function on(h,M,A,...C){let E=null;for(let w of C){let S=de(h,M),N=be(S,A),q=Pn(h,S,N),z=w();if(!z||!z.success)continue;if(await Zn(h,S,N,q))return{...z,details:(z.details?z.details+";":"")+"verified=true"};E=z}return E?{...E,details:(E.details?E.details+";":"")+"verified=false"}:{success:!1,method:"all-strategies-unverified",details:"no verified effect",allowFallback:!0}}function bn(...h){for(let M of h)try{let A=M();if(A&&A.success)return A}catch{}return{success:!1,method:"all-strategies-failed",allowFallback:!0}}function At(h,M,A){let C=de(h,M),E=be(C,A),w=h.getBoundingClientRect();w.top>=0&&w.left>=0&&w.bottom<=E.innerHeight&&w.right<=E.innerWidth||(h.scrollIntoView({behavior:"auto",block:"center",inline:"center"}),h.offsetHeight)}function Zi(h,M,A,C){let E=de(h,M),S=be(E,A).KeyboardEvent||KeyboardEvent;for(let N of C){let q=String(N??""),z="";/^[a-z]$/i.test(q)?z=`Key${q.toUpperCase()}`:/^[0-9]$/.test(q)?z=`Digit${q}`:q===" "&&(z="Space");let G=q.length===1?q.charCodeAt(0):0,Z={key:q,code:z,bubbles:!0,cancelable:!0,composed:!0,keyCode:G,which:G};h.dispatchEvent(new S("keydown",Z)),h.dispatchEvent(new S("keypress",Z)),h.dispatchEvent(new S("keyup",Z))}}function Pc(h,M,A){let C=de(h,M),w=be(C,A).KeyboardEvent||KeyboardEvent,S={key:"Enter",code:"Enter",keyCode:13,which:13,bubbles:!0,cancelable:!0,composed:!0},N=h.dispatchEvent(new w("keydown",S)),q=h.dispatchEvent(new w("keypress",S)),z=h.dispatchEvent(new w("keyup",S));if(!!(N&&q&&z)){let Z=h.form||h.closest?.("form");Z?.requestSubmit?.()??Z?.submit?.()}}function ta(h){return{Enter:"Enter",Tab:"Tab",Escape:"Escape",Space:"Space"," ":"Space",ArrowUp:"ArrowUp",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",Backspace:"Backspace",Delete:"Delete",Home:"Home",End:"End",PageUp:"PageUp",PageDown:"PageDown",F1:"F1",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",F10:"F10",F11:"F11",F12:"F12"}[h]||`Key${h.toUpperCase()}`}let to=new MessageChannel,no=[];to.port1.onmessage=()=>{let h=no.shift();h&&h()};function _n(){return new Promise(h=>{no.push(h),to.port2.postMessage(0)})}function er(h){let M=C=>{if(!C)return null;let E=Object.keys(C);for(let w of E)if(w.startsWith("__reactFiber")||w.startsWith("__reactInternalInstance")||w.includes("reactFiber")||w.includes("reactProps")||w.includes("reactEventHandlers")||/^__r\d+/.test(w))return C[w];return null},A=h;for(let C=0;C<4&&A;C++){let E=M(A);if(E)return E;A=A.parentElement}return null}function qn(h){let M={},A=h,C=0;for(;A&&C++<10;){let E=[A.memoizedProps,A.pendingProps,A.stateNode?.props,A._memoizedProps,A._pendingProps,A.alternate?.memoizedProps].filter(Boolean);for(let w of E)if(!(!w||typeof w!="object"))for(let S in w)S.startsWith("on")&&typeof w[S]=="function"&&(M[S]=w[S]);if(Object.keys(M).length)break;A=A.return||A.alternate}return M}function an(h,M){let A=h;for(;A;){if(A._reactRootContainer||A.__reactContainer||A.hasAttribute("data-reactroot")||A.hasAttribute("data-react-root")||["root","app","__next"].includes(A.id))return A;A=A.parentElement}return de(h,M).querySelector("#root,#app,#__next,[data-reactroot],[data-react-root]")}function kr(h,M,A,C){let E=de(M,A),w=be(E,C),S=w.MouseEvent||MouseEvent,N=M.getBoundingClientRect(),q=new S(h,{bubbles:!0,cancelable:!0,view:w,clientX:N.left+N.width/2,clientY:N.top+N.height/2});return{type:h,target:M,currentTarget:M,bubbles:!0,cancelable:!0,nativeEvent:q,isTrusted:!0,preventDefault(){q.preventDefault()},stopPropagation(){q.stopPropagation()}}}function Br(h){let M=h;if(M.__vue__)return M.__vue__;if(M.__vueParentComponent)return M.__vueParentComponent;if(M._vnode)return M._vnode;let A=h.parentElement;for(let C=0;C<3&&A;C++){let E=A;if(E.__vue__||E.__vueParentComponent||E._vnode)return E.__vue__||E.__vueParentComponent||E._vnode;A=A.parentElement}return null}function ro(h){let M={};if(h?.$listeners&&Object.assign(M,h.$listeners),h?._events)for(let A in h._events){let C=h._events[A];M[A]=Array.isArray(C)?C[0]:C}if(h?.props)for(let A in h.props)A.startsWith("on")&&typeof h.props[A]=="function"&&(M[A.substring(2).toLowerCase()]=h.props[A]);if(h?.vnode?.props)for(let A in h.vnode.props)A.startsWith("on")&&typeof h.vnode.props[A]=="function"&&(M[A.substring(2).toLowerCase()]=h.vnode.props[A]);return M}})();function gg(){let e=window,t=e.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__";e[t]?.actions?.execute}async function bg(e){let t=window,n=t.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",o=t[n]?.actions?.execute;if(typeof o!="function")throw new Error("Rover main-world action executor not initialized");return o(e)}function bs(e,t,n={}){let{rootNodes:r,semanticNodes:o}=ku(e,{includeFrameContents:n.includeFrames??!0,clearIframes:n.includeFrames??!0,frameContextLabel:n.frameContextLabel??null,signalProvider:t.signalProvider,disableDomAnnotations:n.disableDomAnnotations??!0}),a={};for(let i of Object.keys(o)){let s=Number(i);if(!Number.isFinite(s))continue;let c=us(s);c&&(a[s]=t.getFrameworkMetadata(c))}return{rootNodes:r,semanticNodes:o,elementMeta:a}}(()=>{let e="__rtrvr_scroll_detector",t="__RTRVR_SCROLL_API__",n="__RTRVR_INTERNAL__";if(window[e])return;class r{constructor(d=document,m=window){U(this,"doc");U(this,"win");U(this,"viewport");U(this,"lastDetectedPrimary",null);U(this,"detectionCache",new Map);U(this,"lastDetectionTime",0);U(this,"CACHE_TTL",5e3);this.doc=d,this.win=m,this.viewport={width:m.innerWidth,height:m.innerHeight},this.updateViewport()}getValidPrimary(){return this.lastDetectedPrimary&&!this.doc.contains(this.lastDetectedPrimary)&&(this.lastDetectedPrimary=null),this.lastDetectedPrimary}async handleCommand(d){switch(d.action){case"detectPrimary":{let m=this.detectPrimaryScrollable();if(!m)return null;let{target:f,isRoot:p}=this.getScrollContext(m.element),g=f.scrollHeight,y=xr(),x=p&&y?y.innerHeight:f.clientHeight,T=Math.max(0,g-x),k=f.scrollTop;return{selector:m.selector,score:m.score,type:m.type,metrics:{scrollTop:k,scrollHeight:g,clientHeight:x,isAtTop:k<=5,isAtBottom:k>=T-5}}}case"scrollTo":if(!d.direction)throw new Error("scrollTo requires direction");return this.scrollToDirection(d.direction,d.options);case"scrollBy":if(!d.direction)throw new Error("scrollBy requires direction");return this.scrollByAmount(d.direction,d.options);case"scrollElement":if(!d.selector)throw new Error("scrollElement requires selector");return this.scrollElementIntoView(d.selector,d.position,d.options);case"getMetrics":return this.getScrollMetrics();default:throw new Error(`Unknown command: ${d.action}`)}}updateViewport(){this.viewport={width:this.win.innerWidth,height:this.win.innerHeight}}async execute(d){return this.handleCommand(d)}detectPrimaryScrollable(){if(Date.now()-this.lastDetectionTime<this.CACHE_TTL&&this.detectionCache.size>0){let p=Array.from(this.detectionCache.values()).sort((g,y)=>y.score-g.score)[0];if(p)return this.lastDetectedPrimary=p.element,p}this.updateViewport();let d=this.collectScrollableCandidates();if(d.length===0){let p=this.doc.scrollingElement||this.doc.documentElement||this.doc.body;if(!p)return null;let g=this.buildFeatures(p),y=de(p,this.doc),x={element:p,selector:ni(p,y),score:.5,features:g,type:"document"};return this.detectionCache.clear(),this.detectionCache.set(x.selector,x),this.lastDetectionTime=Date.now(),this.lastDetectedPrimary=p,x}let m=this.scoreCandidates(d);if(m.length===0)return null;this.detectionCache.clear();for(let p of m)this.detectionCache.set(p.selector,p);this.lastDetectionTime=Date.now();let f=m[0];return f&&(this.lastDetectedPrimary=f.element),f||null}collectAllElementsDeep(d,m=15e4){let f=[],p=[],g=d.body||d.documentElement;g&&p.push(g);let y=0,x=T=>{try{let k=this.win.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",P=this.win[k]?.shadow?.getRoot;if(typeof P=="function"){let R=P(T);if(R)return R}}catch{}try{return T.shadowRoot||null}catch{return null}};for(;p.length&&!(++y>m);){let T=p.pop();if(rr(T)){let P=T.children;for(let R=P.length-1;R>=0;R--)p.push(P[R]);continue}let k=T,b=Ve(k);Jt(k,b)&&f.push(k);try{let P=x(k);P&&p.push(P)}catch{}for(let P=k.lastElementChild;P;P=P.previousElementSibling)p.push(P)}return f}collectScrollableCandidates(){let d=[],m=new WeakSet,f=[this.doc.scrollingElement,this.doc.documentElement,this.doc.body];for(let g of f){if(!g||m.has(g))continue;let y=this.isScrollable(g);(y.vertical||y.horizontal)&&(d.push(g),m.add(g))}let p=this.collectAllElementsDeep(this.doc);for(let g of Array.from(p)){if(m.has(g))continue;let y=g.getBoundingClientRect(),x=this.win.getComputedStyle(g);if(!this.isElementRendered(g,y,x)||!this.isScrollable(g).vertical)continue;let k=40,b=this.viewport.width*.15;if(y.height<k||y.width<b){let P=(g.className||"").toLowerCase().includes("scroll"),R=x.overflowY==="auto"||x.overflowY==="scroll"||x.overflow==="auto"||x.overflow==="scroll";if(!P&&!R)continue}d.push(g),m.add(g)}return d}isElementRendered(d,m,f){if(f.display==="none"||f.visibility==="hidden")return!1;let p=parseFloat(f.opacity||"1");return!(!Number.isNaN(p)&&p<.01||m.width<=1||m.height<=1)}isScrollable(d){let m=this.win.getComputedStyle(d),f=m.overflowY,p=m.overflowX,g=this.doc.scrollingElement,y=d===this.doc.documentElement||d===this.doc.body||!!g&&d===g,x=d.scrollHeight,T=d.clientHeight,k=d.scrollWidth,b=d.clientWidth;if(y){let j=this.doc.documentElement,ae=this.doc.body;x=Math.max(j?j.scrollHeight:0,ae?ae.scrollHeight:0),T=this.win.innerHeight}let P=x-T>8,R=k-b>8,_=f==="auto"||f==="scroll"||f==="overlay",$=p==="auto"||p==="scroll"||p==="overlay";return{vertical:y?P:P&&_,horizontal:y?R:R&&$,byOverflow:_||$}}calculateVisibleIntersection(d){let m=Math.max(0,d.left),f=Math.max(0,d.top),p=Math.min(this.viewport.width,d.right),g=Math.min(this.viewport.height,d.bottom),y=Math.max(0,p-m),x=Math.max(0,g-f);return{width:y,height:x,area:y*x}}analyzeTextContent(d,m=2e3){let f=0,p=0,g=d.ownerDocument||this.doc,x=(g.defaultView||this.win).NodeFilter||NodeFilter,T=g.createTreeWalker(d,x.SHOW_ELEMENT|x.SHOW_TEXT,null),k=0,b=T.currentNode,P=[];for(;b&&k<m;){if(b.nodeType===Node.TEXT_NODE){let W=(b.textContent||"").replace(/\s+/g,"").length;if(W>0){f+=W;let oe=b.parentElement;oe&&oe.closest("a")&&(p+=W)}}else b.nodeType===Node.ELEMENT_NODE&&P.push(b);k++,b=T.nextNode()}let R=P.length||1,_=f/R,$=f>0?p/f:0;return{textChars:f,linkChars:p,textDensity:_,linkDensity:$}}calculateRepetitionScore(d){let m=Array.from(d.children);if(m.length<3)return 0;let f=m.slice(0,50),p=new Map,g=new Map,y=new Map;for(let te of f){let W=Ve(te);if(!Jt(te,W))continue;let oe=te.getBoundingClientRect();if(oe.height<5||oe.width<this.viewport.width*.1)continue;let j=Math.round(oe.height/10)*10,ae=Math.round(oe.width/10)*10;p.set(j,(p.get(j)||0)+1),g.set(ae,(g.get(ae)||0)+1);let K=(te.className||te.tagName).toString();y.set(K,(y.get(K)||0)+1)}let x=f.length||1,T=Math.max(0,...p.values()),k=Math.max(0,...g.values()),b=Math.max(0,...y.values()),P=T/x,R=k/x,_=b/x,$=.4*P+.3*R+.3*_;return Math.min(1,Math.max(0,$))}calculateSemanticScore(d){let m=0,f=null,p=!1,g=(d.getAttribute("role")||"").toLowerCase(),y=d.tagName.toLowerCase(),x=(d.id||"").toLowerCase(),T=(d.className||"").toLowerCase(),k=`${g} ${y} ${x} ${T}`;return(y==="main"||g==="main")&&(m+=1.2,f="article"),y==="article"&&(m+=1,f=f||"article"),(g==="feed"||k.includes("feed"))&&(m+=1,f="feed"),(g==="log"||k.includes("chat")||k.includes("messages"))&&(m+=1,f="chat"),k.includes("content")&&(m+=.5),(k.includes("results")||k.includes("list"))&&(m+=.4),(k.includes("job")||k.includes("jobs"))&&(m+=.4),(y==="nav"||g==="navigation"||k.includes("sidebar"))&&(m-=1,p=!0),(y==="aside"||g==="complementary")&&(m-=.7,p=!0),(y==="footer"||g==="contentinfo"||k.includes("footer"))&&(m-=.8,p=!0),k.includes("header")&&(m-=.6),m=Math.max(-1,Math.min(1,m)),{semanticScore:m,typeHint:f,navLike:p}}detectScrollListeners(d){return[d.querySelector('[class*="infinite"]'),d.querySelector('[class*="load-more"]'),d.querySelector("[data-infinite]"),d.querySelector('[loading="lazy"]'),d.querySelector(".observer-target"),d.querySelector("[data-scroll]")].some(f=>f!==null)}buildFeatures(d){let m=d.getBoundingClientRect(),f=this.win.getComputedStyle(d),p=this.calculateVisibleIntersection(m),g=this.viewport.width*this.viewport.height||1,y=p.area/g,x=this.viewport.width>0?p.width/this.viewport.width:0,T=m.top+m.height/2,k=this.viewport.height/2||1,b=Math.min(1,Math.abs(T-k)/k),P=this.isScrollable(d),R=this.doc.scrollingElement,_=d===this.doc.documentElement||d===this.doc.body||!!R&&d===R,$=d.scrollHeight,te=d.clientHeight;if(_){let je=this.doc.documentElement,pt=this.doc.body;$=Math.max(je?je.scrollHeight:0,pt?pt.scrollHeight:0),te=this.win.innerHeight}let W=Math.max(0,$-te),oe=W*p.width,j=this.analyzeTextContent(d),ae=this.calculateRepetitionScore(d),K=this.calculateSemanticScore(d),ne=d.contains(this.doc.activeElement),ue=this.detectScrollListeners(d),ke=parseInt(f.zIndex||"0",10),me=Number.isFinite(ke)?ke:0;return{geometry:{viewportCoverage:y,widthProminence:x,centerDistance:b,scrollCapacity:W,scrollSurface:oe,zIndex:me},content:{textDensity:j.textDensity,linkDensity:j.linkDensity,repetitionScore:ae,semanticScore:K.semanticScore},interaction:{hasScrollListeners:ue,hasFocus:ne,recentActivity:ne?1:0}}}inferElementType(d,m,f,p){if(f)return f;let g=(d.getAttribute("role")||"").toLowerCase(),y=(d.className||"").toLowerCase(),x=d.tagName.toLowerCase(),T=m.geometry,k=m.content;if(g==="log"||y.includes("chat")||y.includes("messages"))return"chat";let b=this.win.getComputedStyle(d);if((b.position==="fixed"||b.position==="absolute")&&T.zIndex>100&&T.viewportCoverage>.2&&T.centerDistance<.4)return"modal";if(g==="feed"||k.repetitionScore>.3&&T.scrollCapacity>400&&T.widthProminence>=.25)return"feed";if(x==="article"||k.textDensity>40&&k.linkDensity<.4&&T.widthProminence>.4)return"article";if(p||T.widthProminence<.3&&k.linkDensity>.3)return"sidebar";let R=this.doc.scrollingElement;return d===this.doc.documentElement||d===this.doc.body||R&&d===R?"document":"unknown"}scoreCandidates(d){let m=[],f=[],p=[],g=[],y=[],x=[];for(let _ of d){let $=this.buildFeatures(_),te=$.content.semanticScore,W=this.calculateSemanticScore(_),oe=this.inferElementType(_,$,W.typeHint,W.navLike);x.push({element:_,features:{geometry:{...$.geometry},content:{...$.content,semanticScore:W.semanticScore},interaction:$.interaction},type:oe,navLike:W.navLike,semanticScore:W.semanticScore}),f.push($.geometry.scrollSurface),p.push($.content.textDensity),g.push(Math.abs(W.semanticScore)),y.push($.content.repetitionScore)}let T=Math.max(0,...f),k=Math.max(0,...p),b=Math.max(0,...g),P=Math.max(0,...y),R=-1/0;for(let _ of x){let{element:$,features:te,type:W,navLike:oe,semanticScore:j}=_,ae=te.geometry,K=te.content,ne=te.interaction,ue=T>0?ae.scrollSurface/T:0,ke=k>0?K.textDensity/k:0,me=b>0?(j/b+1)/2:.5,je=W==="feed"||K.repetitionScore>.3&&ae.scrollCapacity>400,pt=K.linkDensity>.5?(K.linkDensity-.5)/.5:0,Et=je?0:pt,it=(je?1:.5)*K.repetitionScore*Math.min(1,ae.scrollCapacity/4e3),F={feed:.2,chat:.2,article:.08,modal:.08,document:.05,sidebar:-.12,unknown:0}[W]||0,Y=0;Y+=ae.viewportCoverage*.18,Y+=ae.widthProminence*.15,Y+=(1-ae.centerDistance)*.07,Y+=ue*.22,Y+=it*.18,Y+=ke*.08,Y+=(P>0?K.repetitionScore/P:0)*.05,Y+=me*.07,Y-=Et*.05,ne.hasFocus&&(Y+=.05),ne.hasScrollListeners&&(Y+=.05),Y+=F,oe&&(Y-=.05);let Se=Math.max(0,Math.min(1,Y));Se>R&&(R=Se),m.push({element:$,selector:ni($,de($)),score:Se,features:te,type:W})}if(m.sort((_,$)=>$.score-_.score),m.length>=2){let _=m[0],$=m[1];Math.abs(_.score-$.score)<.08&&_.type==="article"&&$.type==="feed"&&(m[0]=$,m[1]=_)}return m}getScrollContext(d){let m=document.scrollingElement;return d===document.documentElement||d===document.body||!!m&&d===m?{target:m||document.documentElement||document.body,isRoot:!0}:{target:d,isRoot:!1}}async scrollToDirection(d,m){let f=this.getValidPrimary()||this.detectPrimaryScrollable()?.element;if(!f)return{success:!1,error:"No scrollable element found"};let{target:p,isRoot:g}=this.getScrollContext(f),y=de(p),x=be(y),T=m?.isTabActive??!y.hidden,k=m?.behavior,b=T&&k==="smooth",P=g?Math.max(y.documentElement?y.documentElement.scrollHeight:0,y.body?y.body.scrollHeight:0):p.scrollHeight,R=g?x.innerHeight:p.clientHeight,_=Math.max(0,P-R),$=()=>g?x.scrollY:p.scrollTop,te=W=>{if(b)try{g?x.scrollTo({top:W,behavior:"smooth"}):p.scrollTo({top:W,behavior:"smooth"})}catch{g?(y.scrollingElement||y.documentElement||y.body).scrollTop=W:p.scrollTop=W}else if(g){let oe=y.scrollingElement||y.documentElement||y.body;oe.scrollTop=W}else p.scrollTop=W};switch(d){case Ft.TOP:return te(0),{success:!0,scrollTop:0,isAtTop:!0};case Ft.BOTTOM:return te(_),{success:!0,scrollTop:_,isAtBottom:!0};default:return{success:!1,error:`Unknown direction: ${d}`}}}async scrollByAmount(d,m){let f=this.getValidPrimary()||this.detectPrimaryScrollable()?.element;if(!f)return{success:!1,error:"No scrollable element found"};let{target:p,isRoot:g}=this.getScrollContext(f),y=m?.isTabActive??!document.hidden,x=m?.behavior,T=y&&x==="smooth",k=xr(),b=g&&k?k.innerHeight:p.clientHeight,P=g&&k?k.innerWidth:p.clientWidth,R=m?.amount??b*.8,_=g?Math.max(document.documentElement?document.documentElement.scrollHeight:0,document.body?document.body.scrollHeight:0):p.scrollHeight,$=g&&k?k.innerHeight:p.clientHeight,te=Math.max(0,_-$),W=j=>{if(T)try{g?k?.scrollTo({top:j,behavior:"smooth"}):p.scrollTo({top:j,behavior:"smooth"})}catch{let ae=document.scrollingElement||document.documentElement||document.body;ae.scrollTop=j}else{let ae=g?document.scrollingElement||document.documentElement||document.body:p;ae.scrollTop=j}},oe=j=>{if(T)try{p.scrollBy({left:j,behavior:"smooth"})}catch{p.scrollLeft+=j}else p.scrollLeft+=j};switch(d){case Ft.DOWN:{let ae=(g&&k?k.scrollY:p.scrollTop)+R;W(ae);let K=g&&k?k.scrollY:p.scrollTop;return{success:!0,scrollTop:K,isAtTop:K<=5,isAtBottom:K>=te-5}}case Ft.UP:{let j=g&&k?k.scrollY:p.scrollTop,ae=Math.max(0,j-R);W(ae);let K=g&&k?k.scrollY:p.scrollTop;return{success:!0,scrollTop:K,isAtTop:K<=5,isAtBottom:K>=te-5}}case Ft.LEFT:{let j=-(m?.amount??P*.8);return oe(j),{success:!0,scrollLeft:p.scrollLeft}}case Ft.RIGHT:{let j=m?.amount??P*.8;return oe(j),{success:!0,scrollLeft:p.scrollLeft}}default:return{success:!1,error:`Unknown direction: ${d}`}}}normalizeScrollPosition(d){switch(d){case kn.START:return"start";case kn.END:return"end";case kn.NEAREST:return"nearest";case kn.CENTER:default:return"center"}}getScrollContainerForElement(d){let m=document.scrollingElement,f=d;for(;f&&f!==document.body&&f!==document.documentElement;){let y=getComputedStyle(f).overflowY,x=y==="auto"||y==="scroll"||y==="overlay",T=f.scrollHeight-f.clientHeight>8;if(x&&T)return{container:f,isRoot:!1};f=f.parentElement}return{container:m||document.documentElement||document.body,isRoot:!0}}scrollElementIntoView(d,m,f){let p=document.querySelector(d);if(!p)return{success:!1,error:`Element not found for selector: ${d}`};let{container:g,isRoot:y}=this.getScrollContainerForElement(p),x=Ve(g),T=x?.DOMRect||DOMRect,k=y?new T(0,0,x.innerWidth??0,x.innerHeight??0):g.getBoundingClientRect(),b=p.getBoundingClientRect(),P=24,R=b.top>=k.top+P&&b.bottom<=k.bottom-P,_=f?.isTabActive??!document.hidden,$=f?.behavior,te=_&&$==="smooth",W=this.normalizeScrollPosition(m);if(m===kn.NEAREST&&R)return{success:!0,alreadyVisible:!0,...this.getScrollMetricsForContainer(g,y)};try{p.scrollIntoView({behavior:te?"smooth":"auto",block:W,inline:"nearest"})}catch{p.scrollIntoView()}let oe=this.getScrollMetricsForContainer(g,y);return{success:!0,position:W,...oe}}getScrollMetricsForContainer(d,m){let f=m?Math.max(document.documentElement?document.documentElement.scrollHeight:0,document.body?document.body.scrollHeight:0):d.scrollHeight,p=de(d),g=Ve(d),y=m&&g?g.innerHeight:d.clientHeight,x=Math.max(0,f-y),k=(m?p.scrollingElement||p.documentElement||p.body:d).scrollTop;return{scrollTop:k,scrollHeight:f,clientHeight:y,maxScroll:x,isAtTop:k<=5,isAtBottom:k>=x-5,scrollPercentage:x>0?k/x*100:0}}getScrollMetrics(){let d=this.getValidPrimary()||this.detectPrimaryScrollable()?.element;if(!d)return null;let{target:m,isRoot:f}=this.getScrollContext(d),p=de(m),g=be(p),y=f?Math.max(p.documentElement?p.documentElement.scrollHeight:0,p.body?p.body.scrollHeight:0):m.scrollHeight,x=f?g.innerHeight:m.clientHeight,T=Math.max(0,y-x),b=(f?p.scrollingElement||p.documentElement||p.body:m).scrollTop;return{element:ni(m,p),scrollTop:b,scrollHeight:y,clientHeight:x,maxScroll:T,isAtTop:b<=5,isAtBottom:b>=T-5,scrollPercentage:T>0?b/T*100:0}}}let o=new r;window[e]=o;let a={execute:l=>o.execute(l)};try{Object.defineProperty(window,t,{value:a,writable:!1,configurable:!1,enumerable:!1})}catch{try{window[t]=a}catch{}}let i=window.__RTRVR_INTERNAL_KEY__||n,s=window[i],c=s&&typeof s=="object"?s:null;if(c){try{c.scroll=c.scroll||a}catch{}try{c.scroll||Object.defineProperty(c,"scroll",{value:a,writable:!1,configurable:!1,enumerable:!1})}catch{}}if(i!==n)try{!window[n]&&c&&Object.defineProperty(window,n,{value:c,writable:!1,configurable:!1,enumerable:!1})}catch{}})();var T0=/\[id=(\d+)\]/,en;(function(e){e.HTML="html",e.PDF="pdf",e.GOOGLE_DOC="google_doc",e.GOOGLE_SHEET="google_sheet",e.PLAIN_TEXT="plain_text"})(en||(en={}));var S0=20,ri=new Map;function _0(e,t){if(ri.size>=S0&&!ri.has(e)){let n=ri.keys().next().value;n!==void 0&&ri.delete(n)}ri.set(e,t)}var E0=24,I0=220,R0=0,A0=250,C0=2,M0=300,N0=new Set(["BODY","DIV","SPAN","IMG","PICTURE","SVG"]),L0=new Set(["A","BUTTON","INPUT","SELECT","TEXTAREA","H1","H2","H3","H4","H5","H6","MAIN","NAV","HEADER","FOOTER","ARTICLE","SECTION","ASIDE"]);function D0(e){let t={};for(let n of Object.keys(e)){let r=e[Number(n)],o=r?.preservedAttributes?.[$n["rtrvr-label"]],a=r?.resourceLocator;if(typeof o=="string"&&typeof a=="string"){let i=o.match(T0);if(i?.[1]){let s=Number(i[1]);Number.isFinite(s)&&(t[s]=a)}}}return t}function P0(e){try{let n=(e.defaultView||xr)?.rover,r=n&&typeof n.getAgentCard=="function"?n.getAgentCard.bind(n):null;return r?dg(r()):void 0}catch{return}}async function _g(e,t,n={}){let r=e.ownerDocument||document,o=n.pageConfig||Qa,a=String(r.contentType||"").trim().toLowerCase(),i=z0(a,r),s=H0(i.documentType,a),c=P0(r),l={url:r.URL,title:r.title,contentType:s,agentDiscovery:c},d=U0(o),m=O0(o);if(i.documentType!==en.HTML){let te=Number(o?.pageDataTimeoutMs),W=Number.isFinite(te)?Math.max(200,Math.floor(te)):9e3,oe=Math.max(200,Math.min(W,Zt(d))),j=$0(r,i.documentType,o,d),ae=await ti(j,oe,r);if(!ae.ok)return{...l,content:"",error:`non_html_timeout:${s}`,metadata:{extractionMethod:"timeout"}};let K=ae.value||{},ne=i.documentType===en.GOOGLE_SHEET?kT(r):void 0;return{...l,...K,contentType:K.contentType||l.contentType,sheetInfo:K.sheetInfo||ne}}if(o?.onlyTextContent)return{...l,contentType:Za,content:ys(r)};let f=Math.max(0,Math.min(1e3,Zt(d))),p=performance.now(),g=!1;if(!o?.disableAutoScroll&&f>80){let te=r.hidden?200:400,W=Math.min(te,f);W>80&&(g=await bT(r,{profile:"light",timeBudgetMs:W,delayMs:r.hidden?0:160,finalWaitMs:r.hidden?0:200}))}let y=Math.max(0,f-(performance.now()-p));y>60&&await yg(r,{...m,deadlineEpochMs:d,totalBudgetMs:y});let x=Math.max(0,f-(performance.now()-p));x>80&&await vT(r,{mode:"full",totalBudgetMs:Math.min(r.hidden?300:400,x),budgetMs:Math.min(r.hidden?200:300,x),maxPasses:r.hidden?1:2});let T=bs(e,t,{includeFrames:n.includeFrames??!0,disableDomAnnotations:n.disableDomAnnotations??!0}),k="normal",b=0,P=0,R=[],_=Math.max(0,m.sparseTreeRetryMaxAttempts)>0,$=kg(r,T.rootNodes,T.semanticNodes);if($.needsStabilization){R=[...$.reasons],k="suspicious_unrecovered";let te=_?Math.max(0,Math.min(M0,Zt(d)-20)):0;if(te>20){let W=Date.now();await yg(r,{...m,retries:0,deadlineEpochMs:d,totalBudgetMs:te}),P=Date.now()-W,b=1,T=bs(e,t,{includeFrames:n.includeFrames??!0,disableDomAnnotations:n.disableDomAnnotations??!0});let oe=kg(r,T.rootNodes,T.semanticNodes);oe.reasons.length>0&&(R=[...oe.reasons]),!oe.needsStabilization&&!vg(T.rootNodes,T.semanticNodes)&&(k="suspicious_recovered")}}return vg(T.rootNodes,T.semanticNodes)?{...l,contentType:Za,content:ys(r),metadata:{scrollingPerformed:g,extractionMethod:"empty_tree_fallback",treeCapture:{status:k,attempts:b,waitedMs:P,reasons:R}}}:{...l,contentType:Za,roots:T.rootNodes,nodes:T.semanticNodes,elementLinkRecord:D0(T.semanticNodes),metadata:{scrollingPerformed:g,extractionMethod:k!=="normal"?k:void 0,treeCapture:{status:k,attempts:b,waitedMs:P,reasons:R}}}}function O0(e){let t=Number(e?.adaptiveSettleDebounceMs),n=Number(e?.adaptiveSettleMaxWaitMs),r=Number(e?.adaptiveSettleRetries),o=Number(e?.sparseTreeRetryDelayMs),a=Number(e?.sparseTreeRetryMaxAttempts);return{debounceMs:Number.isFinite(t)?Math.max(8,Math.min(500,Math.floor(t))):E0,maxWaitMs:Number.isFinite(n)?Math.max(80,Math.min(5e3,Math.floor(n))):I0,retries:Number.isFinite(r)?Math.max(0,Math.min(6,Math.floor(r))):R0,sparseTreeRetryDelayMs:Number.isFinite(o)?Math.max(20,Math.min(1e3,Math.floor(o))):A0,sparseTreeRetryMaxAttempts:Number.isFinite(a)?Math.max(0,Math.min(4,Math.floor(a))):C0}}async function yg(e,t){let n=Zt(t.deadlineEpochMs);if(n<=20)return;let r=Math.max(20,Math.min(Math.floor(t.totalBudgetMs),n)),o=Date.now()+r,a=0;for(;a<=t.retries&&Zt(o)>20;){let i=Math.max(40,Math.min(t.maxWaitMs,Zt(o)));if(await B0(e,{debounceMs:t.debounceMs,windowBudgetMs:i,deadlineEpochMs:o}))return;a+=1}}async function B0(e,t){let n=e.documentElement;if(!n||typeof MutationObserver>"u")return!0;let r=Date.now(),o=new MutationObserver(()=>{r=Date.now()});try{o.observe(n,{subtree:!0,childList:!0,attributes:!0,characterData:!0})}catch{return!0}let a=Date.now()+Math.max(40,Math.floor(t.windowBudgetMs));try{for(;Zt(t.deadlineEpochMs)>20&&Zt(a)>20;){let i=Date.now()-r;if(i>=t.debounceMs)return!0;let s=Math.max(10,Math.min(60,t.debounceMs-i,Zt(t.deadlineEpochMs),Zt(a)));await cn(s,e)}}finally{o.disconnect()}return!1}function U0(e){let t=Number(e?.deadlineEpochMs);if(Number.isFinite(t)&&t>0)return t;let n=Number(e?.totalBudgetMs),r=Number.isFinite(n)?Math.max(1500,Math.floor(n)):9e3;return Date.now()+r}function H0(e,t){switch(e){case en.PDF:return Tu;case en.GOOGLE_DOC:return Eu;case en.GOOGLE_SHEET:return Su;case en.PLAIN_TEXT:return ml;case en.HTML:default:return t||Za}}function z0(e,t){let n=e||String(t.contentType||"").toLowerCase();return Qh(n)?{documentType:en.PDF}:F0(t)&&(q0(t)||j0(t.URL))?{documentType:en.PDF}:nT(t)?{documentType:en.GOOGLE_DOC}:rT(t)?{documentType:en.GOOGLE_SHEET}:n.includes(ml)?{documentType:en.PLAIN_TEXT}:{documentType:en.HTML}}function F0(e){try{let t=X0(e);return Iu(t)?!0:!!t.querySelector?.('object[type="application/pdf"],object[type="application/x-google-chrome-pdf"]')}catch{return!1}}function j0(e){try{return e?e.toLowerCase().includes(".pdf")?!0:(new URL(e).searchParams.get("file")||"").toLowerCase().includes(".pdf"):!1}catch{return String(e||"").toLowerCase().includes(".pdf")}}function q0(e){try{let t=e.body;return!t||t.querySelectorAll('embed[type="application/pdf"],embed[type="application/x-google-chrome-pdf"],object[type="application/pdf"],object[type="application/x-google-chrome-pdf"]').length===0||(t.innerText||"").trim().length>40?!1:Array.from(t.children).filter(a=>!["SCRIPT","STYLE"].includes(String(a.tagName).toUpperCase())).length<=3}catch{return!1}}async function $0(e,t,n,r){switch(t){case en.PDF:return V0(e,n,r);case en.GOOGLE_DOC:return W0(e);case en.GOOGLE_SHEET:return mT(e,n);case en.PLAIN_TEXT:return{content:ys(e),contentType:ml};case en.HTML:default:return{content:ys(e),contentType:Za}}}async function V0(e,t,n){Zt(n)>wu+50&&await Zh(wu,e,n);let o=(()=>{let d=Number(t?.pdfTextSelectionTimeoutMs),m=Qa.pdfTextSelectionTimeoutMs;return Number.isFinite(d)?Math.max(150,Math.floor(d)):m})(),a=Zt(n),s=Number.isFinite(a)?Math.max(150,Math.min(o,Math.max(0,a-150))):o,c=await J0(e,s),l=!!c.success&&!!(c.data||"").trim();return{content:l&&c.data||"",contentType:Tu,error:l?void 0:`pdf_extraction_failed:${c.reason||"unknown"}`}}async function W0(e){return{content:fT(),contentType:Eu}}function vg(e,t){return!Array.isArray(e)||e.length===0||!t||Object.keys(t).length===0}function G0(e){return!!(e.documentElement?.hasAttribute(ia)||e.body?.hasAttribute(ia)||e.body?.getAttribute?.("aria-busy")==="true")}function K0(e,t,n){let r=Array.isArray(t)?t.length:0,o=n&&typeof n=="object"?Object.keys(n).length:0,a=o?Object.values(n):[],i=0,s=0;for(let c of a){let l=String(c?.elementName||c?.elementTag||"").trim().toUpperCase();(String(c?.textContent||c?.computedName||c?.computedDescription||"").trim().length>=2||L0.has(l))&&(s+=1),N0.has(l)&&(i+=1)}return{rootsCount:r,semanticCount:o,meaningfulNodeCount:s,genericNodeRatio:o>0?i/o:1,visibleTextLength:0,isDocumentComplete:e.readyState==="complete",busy:G0(e)}}function kg(e,t,n){let r=K0(e,t,n),o=0;!(r.rootsCount>0&&r.semanticCount>0&&r.isDocumentComplete&&!r.busy&&r.meaningfulNodeCount>=2)&&r.semanticCount>0&&r.semanticCount<=6&&(r.meaningfulNodeCount>=1||r.genericNodeRatio>=.8)&&(o=ys(e).trim().length);let s={...r,visibleTextLength:o},c=s.rootsCount>0&&s.semanticCount>0&&s.isDocumentComplete&&!s.busy&&(s.meaningfulNodeCount>=2||s.semanticCount<=6&&s.meaningfulNodeCount>=1&&s.visibleTextLength<160),l=[];return(s.rootsCount===0||s.semanticCount===0)&&l.push("empty_tree"),s.semanticCount>0&&s.semanticCount<=4&&s.meaningfulNodeCount===0&&l.push("generic_shell"),s.semanticCount<=6&&s.meaningfulNodeCount<=1&&s.genericNodeRatio>=.8&&s.visibleTextLength>=80&&(l.includes("generic_shell")||l.push("generic_shell"),l.push("text_semantic_mismatch")),(!s.isDocumentComplete||s.busy)&&s.semanticCount<=8&&s.meaningfulNodeCount<=1&&l.push("dom_not_ready"),{proceedImmediately:c,needsStabilization:!c&&l.length>0,reasons:l,signals:s}}function ys(e){return e.body?.innerText||e.body?.textContent||e.documentElement?.innerText||e.documentElement?.textContent||""}function X0(e){try{let t=e.defaultView||window,n=t.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",o=t[n]?.shadow?.getRoot;if(typeof o=="function"){let a=o(e.body||e.documentElement);if(a)return a}}catch{}return e}function Y0(e){let t=e.URL||"";try{let n=new URL(t),r=n.searchParams.get("file")||n.searchParams.get("src")||"";return r||t}catch{return t}}async function J0(e,t){let n=Number.isFinite(t)&&t>0?Math.floor(t):Qa.pdfTextSelectionTimeoutMs,r=Y0(e),o=ri.get(r)??"";if(o.trim().length>0)return{success:!0,data:o,reason:"ok"};let a=await Q0(e,n);return a.success&&a.data.trim()&&_0(r,a.data),a}async function Q0(e,t){let n=e.defaultView||window,r=Z0(e);if(!r||typeof r.postMessage!="function")return{success:!1,data:"",reason:"no_viewer"};let o=globalThis.crypto&&"randomUUID"in globalThis.crypto?globalThis.crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`,a=!1,i="",s=d=>{if(a||!eT(String(d.origin||""),e))return;let m=d.data;tT(m,o)&&typeof m.selectedText=="string"&&m.selectedText.trim().length>0&&(i=m.selectedText,a=!0)};n.addEventListener("message",s);try{r.postMessage({type:"selectAll",requestId:o},"*")}catch{}let c=Date.now();for(;!a&&Date.now()-c<t;){try{r.postMessage({type:"getSelectedText",requestId:o},"*")}catch{}if(await cn(200,e),i.trim()){a=!0;break}}return n.removeEventListener("message",s),i.trim()?{success:!0,data:i,reason:"ok"}:{success:!1,data:"",reason:Date.now()-c>=t?"timeout":"no_response"}}function Z0(e){let t=Iu(e)||e.querySelector?.('object[type="application/pdf"],object[type="application/x-google-chrome-pdf"]');if(t&&typeof t.postMessage=="function")return t;let n=e.querySelector?.('iframe[type="application/pdf"]');return n?.contentWindow?n.contentWindow:null}function eT(e,t){let n=(e||"").toLowerCase();if(!n||n==="null"||n.startsWith("chrome-extension://")||n.startsWith("chrome://")||n.startsWith("chrome-untrusted://"))return!0;try{let r=new URL(t.URL||"").origin.toLowerCase();if(r&&n===r)return!0}catch{}return!1}function tT(e,t){return!(!e||typeof e!="object"||e.type!=="getSelectedTextReply"||typeof e.selectedText!="string"||e.requestId&&e.requestId!==t)}function nT(e){try{let t=e.defaultView||xr();if(t?.location.hostname==="docs.google.com"&&t?.location.pathname.startsWith("/document/d/"))return!0}catch{}try{if(e.querySelector('iframe[src^="https://docs.google.com/document/d/"]'))return!0}catch{}return oi(e)!==null}function rT(e){let n=(e.defaultView||xr())?.location.href??"";return/^https:\/\/docs\.google\.com\/spreadsheets\/(?:u\/\d+\/)?d\/[a-zA-Z0-9_-]+/.test(n)}function oT(e){try{return e.defaultView?.top?.document??e}catch{return e}}function xl(e){let t=[e],n=oT(e);return n!==e&&t.push(n),t}var aT=".docs-texteventtarget-iframe",iT=".kix-cursor",sT=".docos-replyview-body",cT=".docos-replyview",lT=".docos-author",Eg="\u200B",dT="\xA0";function oi(e){for(let t of xl(e)){let n=t.querySelector(aT);if(n)return n}return null}function uT(e){for(let t of xl(e)){let n=t.querySelector(iT);if(n)return n}return null}function yl(e){let t=uT(e);return t?(t.ownerDocument?.defaultView?.getComputedStyle(t).display??t.style.display)==="none":!1}function vl(e,t){let n=oi(e);if(!n)return;let r=t?"ArrowUp":"ArrowDown",a={key:r,keyCode:t?38:40,altKey:!0,shiftKey:!0,code:r,bubbles:!0,cancelable:!0},i=n.contentDocument,s=n.contentWindow;if(!i)return;let c=s?.KeyboardEvent||KeyboardEvent;i.dispatchEvent(new c("keydown",a))}function xg(e){let t=oi(e);if(!t)return;let n={key:"ArrowLeft",keyCode:37,code:"ArrowLeft",bubbles:!0,cancelable:!0},r=t.contentDocument,o=t.contentWindow;if(!r)return;let a=o?.KeyboardEvent||KeyboardEvent;r.dispatchEvent(new a("keydown",n))}function pT(e){let t=oi(e);if(!t)return;let r=(typeof navigator<"u"?String(navigator.platform||""):"").toUpperCase().indexOf("MAC")>=0,o={key:"a",code:"KeyA",ctrlKey:!r,metaKey:r,bubbles:!0,cancelable:!0},a=t.contentDocument,i=t.contentWindow;if(!a)return;let s=i?.KeyboardEvent||KeyboardEvent;a.dispatchEvent(new s("keydown",o))}function kl(e){let t=oi(e);if(!t)return"";let n=t.contentDocument,r=t.contentWindow,o=n?.body;if(!n||!o)return"";try{let s=r?.ClipboardEvent||ClipboardEvent,c=new s("copy",{bubbles:!0,cancelable:!0});o.firstChild?.dispatchEvent?.(c),o.firstChild?.dispatchEvent||o.dispatchEvent(c)}catch{}let a=o.innerText||o.textContent||"";return String(a).replace(new RegExp(Eg,"g"),"")??""}function Nu(e){let t=`
2
+ "use strict";var __roverSDK=(()=>{var zc=Object.defineProperty;var Hx=Object.getOwnPropertyDescriptor;var Fx=Object.getOwnPropertyNames;var jx=Object.prototype.hasOwnProperty;var qx=(e,t,n)=>t in e?zc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var $x=(e,t)=>{for(var n in t)zc(e,n,{get:t[n],enumerable:!0})},Wx=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Fx(t))!jx.call(e,o)&&o!==n&&zc(e,o,{get:()=>t[o],enumerable:!(r=Hx(t,o))||r.enumerable});return e};var Vx=e=>Wx(zc({},"__esModule",{value:!0}),e);var H=(e,t,n)=>qx(e,typeof t!="symbol"?t+"":t,n);var n1={};$x(n1,{__roverInternalsForTests:()=>t1,attachLaunch:()=>Cm,boot:()=>Sc,close:()=>Yd,createRoverAgentCard:()=>Po,createRoverAgentCardJson:()=>xa,createRoverAgentDiscoveryTags:()=>ov,createRoverBookmarklet:()=>zy,createRoverConsoleSnippet:()=>Uy,createRoverOwnerInstallBundle:()=>lv,createRoverScriptTagSnippet:()=>Hy,createRoverServiceDescLinkHeader:()=>Jl,createRoverSiteProfile:()=>ka,createRoverSiteProfileJson:()=>js,createRoverWellKnownAgentCard:()=>nv,createRoverWellKnownSiteProfile:()=>rv,endTask:()=>Jd,getAgentCard:()=>$f,getState:()=>Lm,hide:()=>Rm,identify:()=>_m,init:()=>Em,installGlobal:()=>Ox,newTask:()=>Pc,open:()=>_n,readRoverScriptDataAttributes:()=>Bp,registerPromptContextProvider:()=>Nm,registerTool:()=>Dm,requestSigned:()=>Mm,send:()=>Am,show:()=>Im,shutdown:()=>Bd,update:()=>Pd});var G;(function(e){e.click_element="click_element",e.type_into_element="type_into_element",e.type_and_enter="type_and_enter",e.select_dropdown_value="select_dropdown_value",e.clear_element="clear_element",e.focus_element="focus_element",e.check_field_validity="check_field_validity",e.select_text="select_text",e.hover_element="hover_element",e.right_click_element="right_click_element",e.double_click_element="double_click_element",e.press_key="press_key",e.mouse_wheel="mouse_wheel",e.dispatch_pointer_path="dispatch_pointer_path",e.drag_element="drag_element",e.drag_and_drop="drag_and_drop",e.adjust_slider="adjust_slider",e.scroll_page="scroll_page",e.scroll_to_element="scroll_to_element",e.swipe_element="swipe_element",e.long_press_element="long_press_element",e.pinch_zoom="pinch_zoom",e.go_back="go_back",e.go_forward="go_forward",e.goto_url="goto_url",e.refresh_page="refresh_page",e.open_new_tab="open_new_tab",e.switch_tab="switch_tab",e.close_tab="close_tab",e.describe_images="describe_images",e.google_search="google_search",e.network_run_recipe="network_run_recipe",e.rover_external_read_context="rover_external_read_context",e.rover_external_act_context="rover_external_act_context",e.copy_text="copy_text",e.paste_text="paste_text",e.wait_action="wait_action",e.wait_for_element="wait_for_element",e.answer_task="answer_task",e.upload_file="upload_file",e.solve_captcha="solve_captcha"})(G||(G={}));var o1=new Set(Object.values(G)),Gi=["element_id","source_element_id","target_element_id","center_element_id","element_ids"],Gx=40;function Om(e){let t=Array.isArray(e?.element_ids)?e.element_ids:e?.element_id!=null?[e.element_id]:[];return Array.from(new Set(t.map(r=>Math.trunc(Number(r))))).filter(r=>Number.isFinite(r)&&r>0).slice(0,Gx)}var er;(function(e){e[e.Unknown=0]="Unknown",e[e.React=1]="React",e[e.Vue=2]="Vue",e[e.Angular=3]="Angular",e[e.Svelte=4]="Svelte",e[e.JQuery=5]="JQuery"})(er||(er={}));var Pm={[er.Unknown]:"unknown",[er.React]:"react",[er.Vue]:"vue",[er.Angular]:"angular",[er.Svelte]:"svelte",[er.JQuery]:"jquery"},Zd={react:er.React,vue:er.Vue,angular:er.Angular,svelte:er.Svelte,jquery:er.JQuery},Qt;(function(e){e[e.Other=0]="Other",e[e.Inline=1]="Inline",e[e.Delegated=2]="Delegated",e[e.React=3]="React",e[e.Vue=4]="Vue",e[e.Angular=5]="Angular",e[e.Svelte=6]="Svelte",e[e.JQuery=7]="JQuery",e[e.Native=8]="Native"})(Qt||(Qt={}));var s1={[Qt.Other]:"other",[Qt.Inline]:"inline",[Qt.Delegated]:"delegated",[Qt.React]:"react",[Qt.Vue]:"vue",[Qt.Angular]:"angular",[Qt.Svelte]:"svelte",[Qt.JQuery]:"jquery",[Qt.Native]:"native"},c1={inline:Qt.Inline,delegated:Qt.Delegated,react:Qt.React,vue:Qt.Vue,angular:Qt.Angular,svelte:Qt.Svelte,jquery:Qt.JQuery,other:Qt.Other,native:Qt.Native},Ke;(function(e){e[e.click_element=1]="click_element",e[e.type_into_element=2]="type_into_element",e[e.type_and_enter=3]="type_and_enter",e[e.select_dropdown_value=4]="select_dropdown_value",e[e.clear_element=5]="clear_element",e[e.focus_element=6]="focus_element",e[e.hover_element=7]="hover_element",e[e.right_click_element=8]="right_click_element",e[e.double_click_element=9]="double_click_element",e[e.long_press_element=10]="long_press_element",e[e.drag_element=11]="drag_element",e[e.drag_and_drop=12]="drag_and_drop",e[e.swipe_element=13]="swipe_element",e[e.adjust_slider=14]="adjust_slider",e[e.describe_images=15]="describe_images",e[e.scroll_to_element=16]="scroll_to_element",e[e.paste_text=17]="paste_text",e[e.check_field_validity=18]="check_field_validity",e[e.select_text=19]="select_text",e[e.mouse_wheel=20]="mouse_wheel",e[e.copy_text=21]="copy_text",e[e.upload_file=22]="upload_file",e[e.go_back=23]="go_back",e[e.go_forward=24]="go_forward",e[e.refresh_page=25]="refresh_page",e[e.press_key=26]="press_key",e[e.scroll_page=27]="scroll_page",e[e.wait_action=28]="wait_action",e[e.wait_for_element=29]="wait_for_element",e[e.pinch_zoom=30]="pinch_zoom",e[e.goto_url=31]="goto_url",e[e.google_search=32]="google_search",e[e.open_new_tab=33]="open_new_tab",e[e.switch_tab=34]="switch_tab",e[e.close_tab=35]="close_tab",e[e.solve_captcha=36]="solve_captcha",e[e.answer_task=37]="answer_task",e[e.dispatch_pointer_path=38]="dispatch_pointer_path",e[e.network_run_recipe=40]="network_run_recipe",e[e.rover_external_read_context=41]="rover_external_read_context",e[e.rover_external_act_context=42]="rover_external_act_context"})(Ke||(Ke={}));var Hc={[G.click_element]:Ke.click_element,[G.type_into_element]:Ke.type_into_element,[G.type_and_enter]:Ke.type_and_enter,[G.select_dropdown_value]:Ke.select_dropdown_value,[G.clear_element]:Ke.clear_element,[G.focus_element]:Ke.focus_element,[G.hover_element]:Ke.hover_element,[G.right_click_element]:Ke.right_click_element,[G.double_click_element]:Ke.double_click_element,[G.long_press_element]:Ke.long_press_element,[G.drag_element]:Ke.drag_element,[G.drag_and_drop]:Ke.drag_and_drop,[G.swipe_element]:Ke.swipe_element,[G.adjust_slider]:Ke.adjust_slider,[G.describe_images]:Ke.describe_images,[G.scroll_to_element]:Ke.scroll_to_element,[G.paste_text]:Ke.paste_text,[G.check_field_validity]:Ke.check_field_validity,[G.select_text]:Ke.select_text,[G.mouse_wheel]:Ke.mouse_wheel,[G.copy_text]:Ke.copy_text,[G.upload_file]:Ke.upload_file,[G.go_back]:Ke.go_back,[G.go_forward]:Ke.go_forward,[G.refresh_page]:Ke.refresh_page,[G.press_key]:Ke.press_key,[G.scroll_page]:Ke.scroll_page,[G.wait_action]:Ke.wait_action,[G.wait_for_element]:Ke.wait_for_element,[G.pinch_zoom]:Ke.pinch_zoom,[G.goto_url]:Ke.goto_url,[G.google_search]:Ke.google_search,[G.open_new_tab]:Ke.open_new_tab,[G.switch_tab]:Ke.switch_tab,[G.close_tab]:Ke.close_tab,[G.solve_captcha]:Ke.solve_captcha,[G.answer_task]:Ke.answer_task,[G.dispatch_pointer_path]:Ke.dispatch_pointer_path,[G.network_run_recipe]:Ke.network_run_recipe,[G.rover_external_read_context]:Ke.rover_external_read_context,[G.rover_external_act_context]:Ke.rover_external_act_context},Bm=Object.fromEntries(Object.entries(Hc).map(([e,t])=>[t,e]));function Fc(e){let t=[];return e&&(e&1&&t.push("native"),e&2&&t.push("inline"),e&4&&t.push("react"),e&8&&t.push("vue"),e&16&&t.push("angular"),e&32&&t.push("svelte"),e&64&&t.push("jquery"),e&128&&t.push("delegated"),e&256&&t.push("other")),t}var zm={semanticIdStart:1,interactiveIdStart:1,includeFrameContents:!0,clearIframes:!0,frameContextLabel:null,signalProvider:null,disableDomAnnotations:!1},Pn={...zm},qc=globalThis;function Hm(e){Pn={...zm,...e||{}}}function ii(){return Pn.signalProvider??null}function Ft(){try{return typeof qc.document<"u"?qc.document:null}catch{return null}}function wr(){try{return typeof qc.window<"u"?qc.window:null}catch{return null}}function fe(e,t){if(e&&typeof e=="object"){let n=e.ownerDocument;if(n)return n;if(e.nodeType===9)return e}return t??Ft()??{}}function $e(e,t){return fe(e,t?t.document:null)?.defaultView??t??wr()??{}}function ke(e,t){return e?.defaultView??t??wr()??{}}function $c(e,t){try{return e?.getElementById?.(t)??null}catch{return null}}function Wc(e,t){try{return e?.querySelector?.(t)??null}catch{return null}}function eu(e,t){try{return Array.from(e?.querySelectorAll?.(t)??[])}catch{return[]}}function rs(e){try{return e.contentDocument||(e.contentWindow?.document??null)}catch{return null}}function Vc(e,t){let n=e.CSS?.escape;return typeof n=="function"?n(t):t.replace(/([^\w-])/g,"\\$1")}function tr(e,t){try{return e[t]}catch{return}}function Hr(e,t){return!!e&&String(e.tagName||"").toUpperCase()===t.toUpperCase()}function Fm(e,t){let n=tr(t,"HTMLAnchorElement");return n?e instanceof n:Hr(e,"A")}function fr(e,t){let n=tr(t,"HTMLInputElement");return n?e instanceof n:Hr(e,"INPUT")}function Sr(e,t){let n=tr(t,"HTMLTextAreaElement");return n?e instanceof n:Hr(e,"TEXTAREA")}function jm(e,t){let n=tr(t,"HTMLLabelElement");return n?e instanceof n:Hr(e,"LABEL")}function qm(e,t){let n=tr(t,"HTMLSelectElement");return n?e instanceof n:Hr(e,"SELECT")}function $m(e,t){let n=tr(t,"HTMLSlotElement");return n?e instanceof n:Hr(e,"SLOT")}function Wm(e,t){let n=tr(t,"HTMLButtonElement");return n?e instanceof n:Hr(e,"BUTTON")}function Vm(e,t){let n=tr(t,"HTMLImageElement");return n?e instanceof n:Hr(e,"IMG")}function Gm(e,t){let n=tr(t,"HTMLVideoElement");return n?e instanceof n:Hr(e,"VIDEO")}function Km(e,t){let n=tr(t,"HTMLCanvasElement");return n?e instanceof n:Hr(e,"CANVAS")}function Zt(e,t){if(!e||e.nodeType!==1)return!1;let n=tr(t,"HTMLElement");return n?e instanceof n:typeof e.tagName=="string"}function nr(e){return!!e&&e.nodeType===11&&typeof e.host=="object"&&typeof e.mode=="string"}function ai(e){if(!e||e.nodeType!==1)return!1;let t=fe(e),r=ke(t).Element;return r?e instanceof r:typeof e.tagName=="string"}function os(e){if(!e||e.nodeType!==1)return!1;let t=fe(e),r=ke(t).HTMLIFrameElement;return r&&e instanceof r?!0:String(e.tagName||"").toUpperCase()==="IFRAME"}function Kx(e,t){if(!e)return!1;if(e.nodeType===9)return!0;let n=tr(t,"Document");return n?e instanceof n:!1}function Xx(e,t){if(!e)return!1;let n=tr(t,"Window");if(n)return e instanceof n;try{return e.window===e}catch{return!1}}function Gc(e){try{return e.document}catch{return null}}function Kc(e,t){if(Kx(e,t))try{return e.documentElement}catch{return null}if(Xx(e,t)){let n=Gc(e);if(!n)return null;try{return n.documentElement}catch{return null}}return null}function jc(e){if(!e)return null;if(typeof e=="string")return e;if(typeof e=="object"&&typeof e.baseVal=="string")return e.baseVal;try{return String(e)}catch{return null}}function Um(e,t,n){try{let r=fe(t,n);return new URL(e,r.baseURI).href}catch{return e}}function Xc(e,t){let n=e.tagName.includes("-"),r=e.getAttribute("href")||e.getAttribute("src")||e.getAttribute("data")||e.getAttribute("action");if(r){let o=Um(r,e,t);return o.trim().toLowerCase().startsWith("javascript:")?null:o}if(n)return null;try{let o=e,i=jc(o.href)||jc(o.src)||jc(o.data)||jc(o.action);return i?Um(i,e,t):null}catch{return null}}var Xm=["click","dblclick","doubleclick","mousedown","mouseup","mouseenter","mouseleave","mousemove","mouseover","mouseout","contextmenu","auxclick","keydown","keyup","keypress","input","change","submit","reset","select","search","invalid","beforeinput","focus","blur","focusin","focusout","touchstart","touchend","touchmove","touchcancel","pointerdown","pointerup","pointermove","pointerenter","pointerleave","pointercancel","pointerover","dragstart","dragend","drag","dragenter","dragleave","dragover","drop","copy","cut","paste","scroll","wheel","play","pause","ended","volumechange","seeking","seeked","animationstart","animationend","transitionend","transitionstart","resize","toggle","fullscreenchange","load","error","abort","beforeunload","unload","hashchange","popstate","storage","message"],ht={};Xm.forEach((e,t)=>{ht[e]=t});var oo={};Xm.forEach((e,t)=>{oo[t]=e});function si(e){if(!e)return null;let t=e.trim();if(!t||!t.includes("~"))return null;let n=[];for(let r of t.split(",")){if(!r)continue;let[o,i]=r.split("~"),a=Number(o);if(!Number.isFinite(a))continue;let s=i&&parseInt(i,36)||0;n.push({id:a,mask:s})}return n.length?{entries:n}:null}function Yx(e){let t=si(e);if(t){let n=new Set;for(let{id:r}of t.entries)n.add(r);return[...n]}return[]}function is(e){return Ki(e).map(n=>oo[n]).filter(n=>!!n)}function Ki(e){let t=ii();if(t?.getEventHandlerIds)try{let o=t.getEventHandlerIds(e);if(o&&o.length)return o}catch{}let n=e.getAttribute(Ao),r=Yx(n);return!r||r.length===0?[]:r}var tu=["media"],Ym=new Set(tu),nu=["alert","alertdialog","application","directory","feed","grid","log","marquee","menu","menubar","menuitem","menuitemcheckbox","menuitemradio","note","radiogroup","scrollbar","search","switch","tab","tablist","tabpanel","timer","toolbar","tooltip","tree","treegrid","treeitem"];var Jm=new Set(nu),io=new Set(["button","checkbox","combobox","figure","img","link","listbox","option","radio","scrollbar","searchbox","separator","slider","spinbutton","switch","tab","tabpanel","textbox","tooltip","treeitem","grid","gridcell","table","cell","columnheader","rowheader","menu","menubar","menuitem","menuitemcheckbox","menuitemradio","tree","treegrid","radiogroup","application","dialog","alertdialog","alert","status","progressbar","meter","search","code","media"]),as=new Set(["group","region","section","banner","contentinfo","main","navigation","complementary","form","article","document","presentation","none"]);var Qm=["none","presentation"],nt;(function(e){e[e.ANCESTOR_ROLE_REQUIRED=6]="ANCESTOR_ROLE_REQUIRED",e[e.PROPERTY_VALUE_MATCH=5]="PROPERTY_VALUE_MATCH",e[e.HAS_TABLE_ROW_DATA=7]="HAS_TABLE_ROW_DATA",e[e.BOOLEAN_PROPERTY=0]="BOOLEAN_PROPERTY",e[e.ATTRIBUTE_GREATER_THAN=2]="ATTRIBUTE_GREATER_THAN",e[e.HAS_TABLE_COLUMN_DATA=8]="HAS_TABLE_COLUMN_DATA",e[e.FORBIDDEN_ANCESTORS=1]="FORBIDDEN_ANCESTORS",e[e.HAS_ACCESSIBLE_NAME=4]="HAS_ACCESSIBLE_NAME",e[e.ATTRIBUTE_LESS_THAN=3]="ATTRIBUTE_LESS_THAN"})(nt||(nt={}));var Zm={a:["link"],area:["link"],article:["article"],aside:["complementary"],body:["document"],button:["button"],datalist:["listbox"],dd:["definition"],details:["group"],dfn:["term"],dialog:["dialog"],dt:["term"],fieldset:["group"],figure:["figure"],footer:["contentinfo"],form:["form"],h1:["heading"],h2:["heading"],h3:["heading"],h4:["heading"],h5:["heading"],h6:["heading"],header:["banner"],hr:["separator"],img:["img"],input:["button","checkbox","combobox","radio","searchbox","slider","spinbutton","textbox"],li:["listitem"],link:["link"],main:["main"],math:["math"],menu:["list"],nav:["navigation"],ol:["list"],optgroup:["group"],option:["option"],output:["status"],progress:["progressbar"],section:["region"],select:["combobox","listbox"],summary:["button"],table:["table"],tbody:["rowgroup"],td:["cell","gridcell"],textarea:["textbox"],tfoot:["rowgroup"],th:["cell","columnheader","gridcell","rowheader"],thead:["rowgroup"],tr:["row"],ul:["list"],code:["code"],pre:["code"]},ss={heading:{selector:"h6,h1,h3,h2,h5,h4"},checkbox:{conditionalSelectors:[{selector:"input",conditions:[{type:nt.PROPERTY_VALUE_MATCH,property:"type",values:["checkbox"]}]}]},navigation:{selector:"nav"},row:{selector:"tr"},complementary:{selector:"aside"},table:{selector:"table"},gridcell:{conditionalSelectors:[{selector:"td",conditions:[{type:nt.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"grid"}]},{selector:"td",conditions:[{type:nt.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"treegrid"}]},{selector:'th:not([scope="rowgroup"]):not([scope="row"]):not([scope="colgroup"]):not([scope="col"])',conditions:[{type:nt.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"treegrid"},{type:nt.HAS_TABLE_COLUMN_DATA,hasData:!0},{type:nt.HAS_TABLE_ROW_DATA,hasData:!0}]}]},slider:{conditionalSelectors:[{selector:"input",conditions:[{type:nt.PROPERTY_VALUE_MATCH,property:"type",values:["range"]}]}]},listitem:{selector:"li"},contentinfo:{conditionalSelectors:[{selector:"footer",conditions:[{type:nt.FORBIDDEN_ANCESTORS,selector:'section,nav,main,aside,article,[role="region"],[role="navigation"],[role="main"],[role="complementary"],[role="article"]'}]}]},definition:{selector:"dd"},button:{selector:"summary,button",conditionalSelectors:[{selector:"input",conditions:[{type:nt.PROPERTY_VALUE_MATCH,property:"type",values:["submit","reset","image","button"]}]}]},status:{selector:"output"},form:{conditionalSelectors:[{selector:"form",conditions:[{type:nt.HAS_ACCESSIBLE_NAME}]}]},article:{selector:"article"},textbox:{selector:"textarea",conditionalSelectors:[{selector:"input:not([list])",conditions:[{type:nt.PROPERTY_VALUE_MATCH,property:"type",values:["url","text","tel","email"]}]}]},radio:{conditionalSelectors:[{selector:"input",conditions:[{type:nt.PROPERTY_VALUE_MATCH,property:"type",values:["radio"]}]}]},columnheader:{selector:'th[scope="colgroup"],th[scope="col"]',conditionalSelectors:[{selector:'th:not([scope="rowgroup"]):not([scope="row"]):not([scope="colgroup"]):not([scope="col"])',conditions:[{type:nt.HAS_TABLE_ROW_DATA,hasData:!1}]}]},list:{selector:"ul,ol,menu"},region:{conditionalSelectors:[{selector:"section",conditions:[{type:nt.HAS_ACCESSIBLE_NAME}]}]},document:{selector:"body"},option:{selector:"select > option,select > optgroup > option,datalist > option"},separator:{selector:"hr"},link:{selector:"area[href],a[href],link[href]"},img:{selector:"img[alt],img:not([alt])"},main:{selector:"main"},searchbox:{conditionalSelectors:[{selector:"input:not([list])",conditions:[{type:nt.PROPERTY_VALUE_MATCH,property:"type",values:["search"]}]}]},cell:{conditionalSelectors:[{selector:"td",conditions:[{type:nt.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"table"}]},{selector:'th:not([scope="rowgroup"]):not([scope="row"]):not([scope="colgroup"]):not([scope="col"])',conditions:[{type:nt.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"table"},{type:nt.HAS_TABLE_COLUMN_DATA,hasData:!0},{type:nt.HAS_TABLE_ROW_DATA,hasData:!0}]}]},rowheader:{selector:'th[scope="rowgroup"],th[scope="row"]',conditionalSelectors:[{selector:'th:not([scope="rowgroup"]):not([scope="row"]):not([scope="colgroup"]):not([scope="col"])',conditions:[{type:nt.HAS_TABLE_COLUMN_DATA,hasData:!1},{type:nt.HAS_TABLE_ROW_DATA,hasData:!0}]}]},dialog:{selector:"dialog"},listbox:{selector:"select[multiple],datalist",conditionalSelectors:[{selector:"select",conditions:[{type:nt.ATTRIBUTE_GREATER_THAN,attribute:"size",value:1}]}]},group:{selector:"optgroup,fieldset,details"},term:{selector:"dt,dfn"},progressbar:{selector:"progress"},figure:{selector:"figure"},spinbutton:{conditionalSelectors:[{selector:"input",conditions:[{type:nt.PROPERTY_VALUE_MATCH,property:"type",values:["number"]}]}]},math:{selector:"math"},combobox:{selector:"select:not([size]):not([multiple])",conditionalSelectors:[{selector:"select:not([multiple])",conditions:[{type:nt.ATTRIBUTE_LESS_THAN,attribute:"size",value:2}]},{selector:"input[list]",conditions:[{type:nt.PROPERTY_VALUE_MATCH,property:"type",values:["url","text","tel","search","email"]}]}]},banner:{conditionalSelectors:[{selector:"header",conditions:[{type:nt.FORBIDDEN_ANCESTORS,selector:'[role="region"],[role="navigation"],[role="main"],[role="complementary"],[role="article"],section,nav,main,aside,article'}]}]},rowgroup:{selector:"thead,tfoot,tbody"},code:{selector:"code,pre"}},Ao="rtrvr-ls",ao="rtrvr-ro",ru="rtrvr-mw-ready",ci="rtrvr-mw-busy",ou="rtrvr-mwa-ready",eh=new Set(["button","cell","checkbox","columnheader","gridcell","heading","link","menuitem","menuitemcheckbox","menuitemradio","option","radio","row","rowgroup","rowheader","switch","tab","tooltip","tree","treeitem","sectionhead","definition","term","deletion","insertion"]),th=["BUTTON","INPUT","METER","OUTPUT","PROGRESS","SELECT","TEXTAREA"],nh=["h1","h2","h3","h4","h5","h6"],rh="http://www.w3.org/1999/xhtml",oh="http://www.w3.org/2000/svg",Rn="rtrvr-label";var Qc=new Set(["NOSCRIPT","SCRIPT","STYLE","META"]),li="CODE",di="PRE",ih="aria-hidden",ah="target";var Yc;(function(e){e[e.value=0]="value",e[e.alt=1]="alt",e[e.list=2]="list",e[e.title=3]="title"})(Yc||(Yc={}));var Xi;(function(e){e[e["data-icon"]=13]="data-icon",e[e["data-name"]=14]="data-name",e[e["data-tooltip"]=15]="data-tooltip",e[e["data-label"]=16]="data-label"})(Xi||(Xi={}));var Jc;(function(e){e[e.VALUENOW=0]="VALUENOW",e[e.VALUETEXT=1]="VALUETEXT"})(Jc||(Jc={}));var iu=new Set([ht.click,ht.dblclick,ht.doubleclick,ht.contextmenu,ht.auxclick,ht.pointerdown,ht.pointerup,ht.mousedown,ht.mouseup,ht.touchstart,ht.touchend,ht.keydown,ht.keyup,ht.input,ht.beforeinput,ht.change,ht.submit,ht.reset,ht.paste,ht.dragstart,ht.dragend,ht.drop]),sh=new Set([...iu,ht.scroll,ht.wheel,ht.mouseenter,ht.mouseover,ht.focus,ht.blur,ht.focusin,ht.focusout]),Zc=new Set(["click","dblclick","auxclick","contextmenu","mousedown","mouseup","pointerdown","pointerup","touchstart","touchend"]),au=new Set(["input","change","beforeinput","keydown","keyup","keypress","paste","compositionstart","compositionend"]),su=new Set(["drag","dragstart","dragend","dragenter","dragleave","dragover","drop"]);var Co;(function(e){e[e.ELEMENT=1]="ELEMENT",e[e.ATTRIBUTE=2]="ATTRIBUTE",e[e.TEXT=3]="TEXT",e[e.CDATA_SECTION=4]="CDATA_SECTION",e[e.ENTITY_REFERENCE=5]="ENTITY_REFERENCE",e[e.ENTITY=6]="ENTITY",e[e.PROCESSING_INSTRUCTION=7]="PROCESSING_INSTRUCTION",e[e.COMMENT=8]="COMMENT",e[e.DOCUMENT=9]="DOCUMENT",e[e.DOCUMENT_TYPE=10]="DOCUMENT_TYPE",e[e.DOCUMENT_FRAGMENT=11]="DOCUMENT_FRAGMENT",e[e.NOTATION=12]="NOTATION"})(Co||(Co={}));var cs;(function(e){e[e.HTML=0]="HTML",e[e.SVG=1]="SVG"})(cs||(cs={}));var el;(function(e){e[e.VALUENOW=0]="VALUENOW",e[e.VALUETEXT=1]="VALUETEXT",e[e.ATOMIC=2]="ATOMIC",e[e.AUTOCOMPLETE=3]="AUTOCOMPLETE",e[e.COLCOUNT=4]="COLCOUNT",e[e.COLINDEX=5]="COLINDEX",e[e.COLSPAN=6]="COLSPAN",e[e.ERRORMESSAGE=7]="ERRORMESSAGE",e[e.HASPOPUP=8]="HASPOPUP",e[e.LEVEL=9]="LEVEL",e[e.LIVE=10]="LIVE",e[e.MULTILINE=11]="MULTILINE",e[e.MULTISELECTABLE=12]="MULTISELECTABLE",e[e.ORIENTATION=13]="ORIENTATION",e[e.PLACEHOLDER=14]="PLACEHOLDER",e[e.POSINSET=15]="POSINSET",e[e.READONLY=16]="READONLY",e[e.RELEVANT=17]="RELEVANT",e[e.REQUIRED=18]="REQUIRED",e[e.ROWCOUNT=19]="ROWCOUNT",e[e.ROWINDEX=20]="ROWINDEX",e[e.ROWSPAN=21]="ROWSPAN",e[e.SETSIZE=22]="SETSIZE",e[e.SORT=23]="SORT",e[e.VALUEMAX=24]="VALUEMAX",e[e.VALUEMIN=25]="VALUEMIN",e[e.KEYSHORTCUTS=26]="KEYSHORTCUTS",e[e.ROLEDESCRIPTION=27]="ROLEDESCRIPTION"})(el||(el={}));var tl;(function(e){e[e.BUSY=0]="BUSY",e[e.CHECKED=1]="CHECKED",e[e.CURRENT=2]="CURRENT",e[e.EXPANDED=3]="EXPANDED",e[e.INVALID=4]="INVALID",e[e.PRESSED=5]="PRESSED",e[e.SELECTED=6]="SELECTED"})(tl||(tl={}));var qn;(function(e){e[e["rtrvr-label"]=0]="rtrvr-label",e[e.role=1]="role",e[e.value=2]="value",e[e.alt=3]="alt",e[e.list=4]="list",e[e.title=5]="title",e[e["aria-label"]=6]="aria-label",e[e["aria-labelledby"]=7]="aria-labelledby",e[e["aria-description"]=8]="aria-description",e[e["aria-describedby"]=9]="aria-describedby",e[e.disabled=10]="disabled",e[e.href=11]="href",e[e.placeholder=12]="placeholder",e[e.type=13]="type",e[e.tabindex=14]="tabindex",e[e.id=15]="id",e[e._ngcontent=16]="_ngcontent",e[e["ng-reflect-*"]=17]="ng-reflect-*",e[e["data-reactroot"]=18]="data-reactroot",e[e["data-v-*"]=19]="data-v-*",e[e.required=20]="required",e[e.contenteditable=21]="contenteditable",e[e.accept=22]="accept"})(qn||(qn={}));var yn;(function(e){e[e.display=0]="display",e[e.content=1]="content",e[e.beforeDisplay=2]="beforeDisplay",e[e.afterDisplay=3]="afterDisplay",e[e.beforeContent=4]="beforeContent",e[e.afterContent=5]="afterContent",e[e.width=6]="width",e[e.height=7]="height",e[e.minWidth=8]="minWidth",e[e.minHeight=9]="minHeight",e[e.position=10]="position",e[e.top=11]="top",e[e.left=12]="left",e[e.right=13]="right",e[e.bottom=14]="bottom",e[e.paddingTop=15]="paddingTop",e[e.paddingRight=16]="paddingRight",e[e.paddingBottom=17]="paddingBottom",e[e.paddingLeft=18]="paddingLeft",e[e.marginTop=19]="marginTop",e[e.marginRight=20]="marginRight",e[e.marginBottom=21]="marginBottom",e[e.marginLeft=22]="marginLeft",e[e.cursor=23]="cursor",e[e.opacity=24]="opacity",e[e.visibility=25]="visibility",e[e.overflowX=26]="overflowX",e[e.overflowY=27]="overflowY",e[e.backgroundColor=28]="backgroundColor",e[e.color=29]="color",e[e.borderWidth=30]="borderWidth",e[e.borderStyle=31]="borderStyle",e[e.boxShadow=32]="boxShadow",e[e.outline=33]="outline"})(yn||(yn={}));var so;(function(e){e[e.text=0]="text",e[e.elText=1]="elText",e[e.viewBox=2]="viewBox",e[e.paths=3]="paths",e[e.pathData=4]="pathData",e[e.circles=5]="circles",e[e.rects=6]="rects",e[e.lines=7]="lines",e[e.polygons=8]="polygons",e[e.polylines=9]="polylines",e[e.ellipses=10]="ellipses"})(so||(so={}));var Jx=[...nu,...Object.keys(ss),...tu],ch=[...new Set(Jx)],Yi={};ch.forEach((e,t)=>{Yi[e]=t});var ls={};ch.forEach((e,t)=>{ls[t]=e});var nl=class{constructor(t=1){H(this,"currentId");this.currentId=t}generateId(){let t=this.currentId;return this.currentId++,t}initialize(t=1){this.currentId=t}getCurrentValue(){return this.currentId}};function ds(e){let t=ii();if(t?.getRoleHint)try{let o=t.getRoleHint(e);if(o)return o}catch{}let n=e.getAttribute(ao);if(!n)return null;let r=n.trim();if(!r)return null;if(r.startsWith("s:"))return r.slice(2);if(/^\d+$/.test(r)){let o=Number(r);if(Number.isFinite(o)){let i=ls[o];if(i)return i}}return r}function Ji(e){return Array.from(new Set(e))}function lh(e,t){if(!e||e.length===0)return Ji(t);let n=new Set([...e,...t]);return Ji(Array.from(n))}function rr(e,t){let r=ii()?.getEventHandlerIds?.(e)??Ki(e),o=r.length>0&&r.some(s=>iu.has(s)),i=rl(e),a=t?as.has(t):!1;return{element:e,semanticRole:t,eventHandlerIndices:r,isEditableRegion:i,hasNodeWorthyHandlers:o,isLikelyStructuralContainer:a}}var Qx=new Set(["text","search","url","tel","password","email","number","date","datetime-local","time","month","week","color"]);function Zx(e){let n=$e(e).getComputedStyle(e);if(n.display==="none"||n.visibility==="hidden"||n.pointerEvents==="none")return!1;let r=e.getBoundingClientRect();return!(r.width===0||r.height===0)}function ew(e){let t=$e(e);if(!fr(e,t))return!1;let n=(e.type||"text").toLowerCase();return Qx.has(n)?!e.disabled&&!e.readOnly:!1}function tw(e){let t=$e(e);return Sr(e,t)&&!e.disabled&&!e.readOnly}function nw(e){let t=e;return!(!t.isContentEditable||t.getAttribute("aria-readonly")==="true"||t.getAttribute("aria-disabled")==="true")}function rl(e){return!e||!Zx(e)?!1:!!(ew(e)||tw(e)||nw(e))}function us(e){if(!e)return null;let t=e.match(/^\s*\[id=(\d+)\]/);if(t?.[1]){let o=parseInt(t[1],10);return Number.isFinite(o)?o:null}let n=/\[id=(\d+)\]/g,r;for(;r=n.exec(e);){let o=r.index??0,i=e.slice(Math.max(0,o-30),o);if(/iframeRoot\s*=\s*$/.test(i)||i.includes("iframeRoot="))continue;let a=parseInt(r[1],10);if(Number.isFinite(a))return a}try{let o=e.match(LABEL_ID_PATTERN);if(o?.[1]){let i=parseInt(o[1],10);return Number.isFinite(i)?i:null}}catch{}return null}function ps(e){let t=String(e??"").replace(/[\n\r\t]/g," ").replace(/\s+/g," ").trim();return t=t.replace(/\[/g,"&#91;").replace(/\]/g,"&#93;"),t}function dh({element:e,elementID:t,frameContextLabel:n}){let r=!Pn.disableDomAnnotations,o=[`[id=${t}]`],i=$e(e);if(os(e)){let c=ps(e.id||e.getAttribute("name")||"unnamed");o.push(`[iframe=${c}]`)}if(n){let c=ps(n);o.push(`[iframeRoot=${c}]`)}if(Vm(e,i)&&o.push(`[size=${e.clientWidth}x${e.clientHeight}]`),(Gm(e,i)||Km(e,i))&&o.push(`[size=${e.clientWidth}x${e.clientHeight}]`),fr(e,i)||Sr(e,i)){let c=rw(e);o.push(...c)}e.getAttribute(ih)==="true"&&o.push("[aria-hidden=true]"),e.disabled&&o.push("[disabled]"),r&&Fm(e,i)&&e.setAttribute(ah,"_self");let s=o.join(" ");return r&&e.setAttribute(Rn,s),s}function rw(e){let t=[],n=$e(e),r=fr(e,n);if(r&&e.type&&e.type!=="text"&&t.push(`[type=${e.type}]`),e.name){let o=ps(e.name);o&&t.push(`[name=${o}]`)}if(r&&e.multiple&&t.push("[multiple]"),r&&(e.type==="checkbox"||e.type==="radio")&&t.push(`[checked=${e.checked}]`),r&&e.type==="file"&&e.files?.length&&t.push(`[files=${e.files.length}]`),r&&e.type==="number"&&(e.min!==""&&t.push(`[min=${e.min}]`),e.max!==""&&t.push(`[max=${e.max}]`),e.step!==""&&e.step!=="1"&&t.push(`[step=${e.step}]`)),r&&e.type==="range"&&(t.push(`[min=${e.min||"0"}]`),t.push(`[max=${e.max||"100"}]`),t.push(`[value=${e.value}]`)),e.readOnly&&t.push("[readonly]"),e.required&&t.push("[required]"),e.maxLength&&e.maxLength!==-1&&e.maxLength<524288&&t.push(`[maxlength=${e.maxLength}]`),r&&e.pattern&&t.push("[pattern]"),e.autocomplete&&e.autocomplete!=="off"&&t.push(`[autocomplete=${e.autocomplete}]`),e.placeholder){let o=ps(e.placeholder).replace(/\\/g,"\\\\").replace(/"/g,'\\"');o&&t.push(`[placeholder="${o}"]`)}if(e.value){let o=e.value;r&&e.type==="password"&&(o="*".repeat(Math.min(o.length,10)));let i=ps(o).replace(/\\/g,"\\\\").replace(/"/g,'\\"');t.push(`[value="${i}"]`)}return t}var ui=new nl,cu=new WeakMap;function uh(){cu=new WeakMap}function ol(e){let t=cu.get(e);if(t)return t;let n=ui.generateId();return cu.set(e,n),n}var il=new Map,lu=new WeakMap;function ph(){il.clear(),lu=new WeakMap}function du(e,t){try{typeof WeakRef<"u"?il.set(e,new WeakRef(t)):il.set(e,t)}catch{}}function fs(e){let t=il.get(e);if(!t)return null;let n=t instanceof WeakRef?t.deref():t;return!n||n.isConnected===!1?null:n}function Mo(e){let t=null,n=ol(e);if(Pn.frameContextLabel)t=Pn.frameContextLabel;else{let o=Ft();if(o&&e.ownerDocument!==o)try{let a=e.ownerDocument?.defaultView?.frameElement?.getAttribute(Rn)||"",s=a?us(a):null;t=s?String(s):null}catch{t=""}}let r=dh({element:e,elementID:n,frameContextLabel:t});if(du(n,e),r)try{lu.set(e,r)}catch{}return r}function fh(e){return lu.get(e)??null}function uu(e,t){try{e.querySelectorAll?.(`[${Rn}]`)?.forEach(r=>r.removeAttribute(Rn))}catch{}if(t.includeShadow)try{let n=e.querySelectorAll?.("*");if(n)for(let r of Array.from(n))try{let o=r.shadowRoot;o&&uu(o,t)}catch{}}catch{}if(t.includeIframes)try{let n=e.querySelectorAll?.("iframe");if(n)for(let r of Array.from(n))try{let o=rs(r);o?.body&&uu(o.body,t)}catch{}}catch{}}function mh(e,t={}){if(Pn.disableDomAnnotations)return;let n=ai(e)?$e(e):ke(e)??window,r=Kc(e,n)??e;if(r){try{r.removeAttribute?.(Rn)}catch{}uu(r,{includeShadow:t.includeShadow??!0,includeIframes:t.includeIframes??!0})}}var Fr={},pu=new WeakMap,al=new WeakSet;function hh(){Fr={},pu=new WeakMap,al=new WeakSet,uh()}function An({targetElement:e,parentDisabled:t,semanticRole:n,excludeLabels:r,isFrameNode:o,frameContentNodes:i,originatedFromParent:a,elementContext:s}){let c=ol(e);du(c,e);let l=Fr[c];if(a){if(!l){let d={nodeCategory:e.nodeType,provisionalFromParent:!0},m=e.nodeName;m&&m.trim()&&(d.elementName=m);let f=e.getAttribute("role");f&&(d.preservedAttributes={1:f});let p=e.tagName;p&&(d.elementTag=p),Fr[c]=d}}else{if(l&&!l.provisionalFromParent){if((o||Qi(e))&&(l.isFrameElement=!0,i&&i.length>0&&(l.frameContent=i)),s){let{eventHandlerIndices:d,isEditableRegion:m}=s;if(d&&d.length>0){let f=Ji(d);f.length>0&&(l.eventHandlers=lh(l.eventHandlers,f))}m&&(l.isEditable=!0)}return c}if(al.has(e))return c;al.add(e);try{Fr[c]=gh({targetElement:e,parentDisabled:t,semanticRole:n,excludeLabels:r,isFrameNode:o,frameContentNodes:i,elementContext:s})}finally{al.delete(e)}}return c}function ms(e){let t=pu.get(e);if(t!==void 0)return t;let r=(e.textContent||"").replace(/\s+/g," ").trim(),o=e.data?.replace(/\s+/g," ").trim();if(!r&&!o)return 0;let i=ui.generateId(),a={textContent:r,nodeCategory:e.nodeType};return o&&o!==r&&(a.rawData=o),Fr[i]=a,pu.set(e,i),i}function yh(e,t){let n=kh(e),{minY:r,maxY:o}=n.getCellBounds(t);return n.getRows().slice(r,o+1).some(i=>i.some(hs))}function vh(e,t){let n=kh(e),{minX:r,maxX:o}=n.getCellBounds(t);return n.getRows().some(i=>i.slice(r,o+1).some(hs))}var cl=class{constructor(t=[]){H(this,"cells");H(this,"getCellAt",(t,n)=>this.getRowAt(n)[t]);H(this,"setCellAt",(t,n,r)=>{this.getRowAt(n)[t]=r});H(this,"getRowAt",t=>(this.cells[t]===void 0&&(this.cells[t]=[]),this.cells[t]));H(this,"getRows",()=>this.cells);H(this,"getCellBounds",t=>{let n=this.columnCount,r=this.rowCount,o=-1,i=-1;for(let a=0;a<this.rowCount;a++){let s=this.getRowAt(a),c=s.indexOf(t);c!==-1&&(o=Math.max(o,s.lastIndexOf(t)),i=Math.max(i,a),n=Math.min(n,c),r=Math.min(r,a))}return{minX:n,minY:r,maxX:o,maxY:i}});H(this,"merge",t=>{this.cells=this.getRows().concat(t.getRows())});this.cells=t}get rowCount(){return this.cells.length}get columnCount(){return Math.max(...this.cells.map(t=>t.length))}};function kh(e){let n=$e(e).TableGrid||cl,r=new n;e.tHead!==null&&r.merge(sl(e.tHead.rows)),Array.from(e.tBodies).forEach(i=>{r.merge(sl(i.rows))});let o=[];for(let i of Array.from(e.children))fu(i)&&pi(i,"tr")&&o.push(i);return r.merge(sl(o)),e.tFoot!==null&&r.merge(sl(e.tFoot.rows)),r}function sl(e){let t=new cl,n=[];for(let r=0;r<e.length;r++){let o=0;for(let i of Array.from(e[r].cells)){for(;t.getCellAt(o,r)||n[o];)!hs(t.getCellAt(o,r))&&n[o]&&t.setCellAt(o,r,n[o]),o++;for(let a=o;a<o+i.colSpan;a++){bh(i)===0&&(n[a]=i,t.setCellAt(a,r,i));for(let s=r;s<r+bh(i);s++)hs(t.getCellAt(a,s))||t.setCellAt(a,s,i)}o+=i.colSpan}for(let i=o;i<t.columnCount;i++){let a=n[i];a!==void 0&&!hs(t.getCellAt(i,r))&&t.setCellAt(i,r,a)}}return t}function bh(e){let t=e.getAttribute("rowSpan");if(t===null||t.trim()==="")return 1;let n=Number(t);return isNaN(n)?1:n}function hs(e){return e!==void 0&&pi(e,"td")}function Tr(e){let t=e.tagName?.toLowerCase();if(t==="code"||t==="pre"){let r=pw(e);if(r)return r}let n=xh(e);if(n===null){if(t==="dl")return"list";if(t==="form")return"form";if(t==="header")return"banner";if(t==="footer")return"contentinfo";if(t==="option")return"option";if(t==="textarea")return"textbox";if(t==="input"){let o=e;switch(o.type.toLowerCase()){case"checkbox":return"checkbox";case"radio":return"radio";case"button":case"submit":case"reset":case"image":return"button";case"number":return"spinbutton";case"range":return"slider";case"hidden":return null;default:return o.hasAttribute("list")?"combobox":"textbox"}}if(t==="select")return e.multiple?"listbox":"combobox";if(t==="svg"){if(e.getAttribute("aria-hidden")==="true")return null;let o=e.querySelector("title"),i=e.querySelector("desc"),a=e.hasAttribute("aria-label"),s=e.hasAttribute("role");return o||i||a||s||Ki(e).length>0||e.getAttribute("tabindex")!==null?"img":null}if(Ki(e).length>0){let o=e.tagName.toLowerCase();if(["div","span","li","p","i","em","strong","b"].includes(o))return ow(e)}}if(t==="td"&&e.getAttribute("role")===null)return"cell";if(n!==null&&t==="th"){let r=e.getAttribute("role");if(r&&wh(r))return r;let o=e;return o.scope==="col"||o.hasAttribute("aria-sort")?"columnheader":o.scope==="row"?"rowheader":"cell"}return n}function ow(e){return ds(e)??null}function xh(e){let t=e.getAttribute("role");if(t!==null)return Qm.includes(t)||!wh(t)?null:t;let n=e.tagName.toLowerCase();return(Zm[n]??[]).find(o=>iw(e,o))||null}function iw(e,t){let n=ss[t],r=n?.selector;if(r&&ll(e,r))return!0;let o=n?.conditionalSelectors;return o?o.some(a=>ll(e,a.selector)&&a.conditions.every(c=>sw(e,c))):!1}function aw(e,t){let n=(t||"").trim().replace(/^#/,"");if(!n)return null;try{let r=e.getRootNode?.();if(nr(r)){let o=$e(e),i=`#${Vc(o,n)}`,a=Wc(r,i);if(a)return a}}catch{}return $c(fe(e),n)}function sw(e,t){switch(t.type){case nt.ATTRIBUTE_GREATER_THAN:{let n=e.getAttribute(t.attribute);return n!==null&&Number(n)>t.value}case nt.ATTRIBUTE_LESS_THAN:{let n=e.getAttribute(t.attribute);return n!==null&&Number(n)<t.value}case nt.HAS_ACCESSIBLE_NAME:return e.hasAttribute("aria-label")?!0:(e.getAttribute("aria-labelledby")||"").split(/\s+/).filter(Boolean).some(r=>aw(e,r)!=null);case nt.FORBIDDEN_ANCESTORS:return co(e,t.selector)===null;case nt.BOOLEAN_PROPERTY:return e[t.property]===t.value;case nt.PROPERTY_VALUE_MATCH:return t.values.some(n=>n===e[t.property]);case nt.ANCESTOR_ROLE_REQUIRED:{let n=e.parentElement;if(n===null)return!1;let r=co(n,t.tag);return r!==null&&xh(r)===t.role}case nt.HAS_TABLE_COLUMN_DATA:{let n=co(e,"table");return n===null?!1:t.hasData===vh(n,e)}case nt.HAS_TABLE_ROW_DATA:{let n=co(e,"table");return n===null?!1:t.hasData===yh(n,e)}default:return cw(t),!1}}function cw(e){throw new Error(`unexpected value ${e}!`)}function wh(e){return dw(e)||uw(e)||lw(e)}function lw(e){return Ym.has(e)}function dw(e){return Jm.has(e)}function uw(e){return ss.hasOwnProperty(e)}function pw(e){if(e.tagName!==li&&e.tagName!==di)return null;if(is(e).some(r=>r==="click"||r==="copy"))return"button";let n=e.getAttribute("tabindex");return n!==null&&parseInt(n,10)>=0?"button":e.tagName===di||e.tagName===li&&e.closest("pre")?"code":null}var fw={[yn.display]:[yn.beforeDisplay,yn.afterDisplay],[yn.content]:[yn.beforeContent,yn.afterContent]},mu=new Map,mw={minWidth:"min-width",minHeight:"min-height",backgroundColor:"background-color",borderWidth:"border-width",borderStyle:"border-style",boxShadow:"box-shadow",paddingTop:"padding-top",paddingRight:"padding-right",paddingBottom:"padding-bottom",paddingLeft:"padding-left",marginTop:"margin-top",marginRight:"margin-right",marginBottom:"margin-bottom",marginLeft:"margin-left",overflowX:"overflow-x",overflowY:"overflow-y"};function hw(e,t){if(!mu.has(e)){let n=mw[t]||t.replace(/([A-Z])/g,"-$1").toLowerCase();mu.set(e,n)}return mu.get(e)}var gw={display:e=>e!=="block"&&e!=="inline"&&e!=="",visibility:e=>e!=="visible",opacity:e=>parseFloat(e)<1,position:e=>e!=="static",cursor:e=>e!=="auto"&&e!=="default"&&e!=="text",width:e=>e!=="auto"&&e!=="",height:e=>e!=="auto"&&e!=="",minWidth:e=>e!=="0px"&&e!=="",minHeight:e=>e!=="0px"&&e!=="",paddingTop:e=>parseFloat(e)>0,paddingRight:e=>parseFloat(e)>0,paddingBottom:e=>parseFloat(e)>0,paddingLeft:e=>parseFloat(e)>0,marginTop:e=>Math.abs(parseFloat(e))>5,marginRight:e=>Math.abs(parseFloat(e))>5,marginBottom:e=>Math.abs(parseFloat(e))>5,marginLeft:e=>Math.abs(parseFloat(e))>5,overflowX:e=>e!=="visible",overflowY:e=>e!=="visible",backgroundColor:e=>e!=="transparent"&&e!=="rgba(0, 0, 0, 0)"&&e!=="initial",color:e=>e!=="initial"&&e!=="inherit"&&e!=="",borderWidth:e=>e!=="0px"&&parseFloat(e)>0,borderStyle:e=>e!=="none"&&e!=="initial",boxShadow:e=>e!=="none"&&e!=="",outline:e=>e!=="none"&&e!==""&&!e.includes("0px")};function _h(e,t,n){let r=gw[e];return r?r(t,n):t.trim()!==""&&!["initial","inherit","unset"].includes(t)}function Eh(e){let t={},n=$e(e);if(!Zt(e,n))return t;let r=n.getComputedStyle(e),o=new Map([[yn.beforeDisplay,n.getComputedStyle(e,"::before")],[yn.afterDisplay,n.getComputedStyle(e,"::after")],[yn.beforeContent,n.getComputedStyle(e,"::before")],[yn.afterContent,n.getComputedStyle(e,"::after")]]);for(let i in yn)if(isNaN(Number(i))){let a=yn[i],s=hw(a,i),c=fw[a];c?((a===yn.display||a===yn.content)&&Sh(r,s,a,i,t,e),Th(o.get(c[0]),s,c[0],"beforeContent",t),Th(o.get(c[1]),s,c[1],"afterContent",t)):Sh(r,s,a,i,t,e)}return t}function Sh(e,t,n,r,o,i){if(e){let a=e.getPropertyValue(t);a&&_h(r,a,i)&&(o[n]=a)}}function Th(e,t,n,r,o){if(e){let i=e.getPropertyValue(t);(t==="content"&&i&&i!=="none"&&i!=='""'&&i!=="''"||i&&_h(r,i))&&(o[n]=i)}}function gs(e){try{return e.id==="rover-widget-root"}catch{return!1}}function fi(e,t){let n=$e(e);if(!Zt(e,n))return!0;if(t&&io.has(t))return!1;if(e.hasAttribute("hidden")||co(e,"[hidden]")!==null||co(e,"[inert]")!==null)return!0;let r=n.getComputedStyle(e);if(r.display==="none"||r.visibility==="hidden"||r.visibility==="collapse"||e.getClientRects().length===0)return!0;let o=e.getBoundingClientRect(),i=1e6;return Math.abs(o.left)>i||Math.abs(o.top)>i}function bs(e){return _r(e)&&e.classList.contains("jasmine_html-reporter")}function bw(e){let t=e.getAttribute("role");return t==="presentation"||t==="none"}function Ih(e){return e?e.split(/\s+/).map(t=>t.trim()).filter(Boolean).map(t=>t.replace(/^#/,"")):[]}function Rh(e,t){let n=(t||"").trim().replace(/^#/,"");if(!n)return null;try{let o=e.getRootNode?.();if(nr(o)){let i=$e(e),a=`#${Vc(i,n)}`,s=Wc(o,a);if(s)return s}}catch{}let r=fe(e);return $c(r,n)}function hu(e){let n=[];for(let r=0;r<arguments.length;r++){let o=arguments[r];if(Array.isArray(o))for(let i=0;i<o.length;i+=8192){let a=yw(o,i,i+8192),s=hu.apply(null,a);for(let c=0;c<s.length;c++)n.push(s[c])}else n.push(o)}return n}function yw(e,t,n){return arguments.length<=2?Array.prototype.slice.call(e,t):Array.prototype.slice.call(e,t,n)}function Ah(e,t){return vw(e,t).concat(kw(e))}function vw(e,t){return hu(bu(e).map(r=>Ph(r)&&_r(r)?Ch(r,t):r))}function Ch(e,t){if(!e||fi(e,t))return[];if(!bw(e))return[e];let n=Array.from(e.children);return hu(n.map(r=>Ch(r,t)))}function Mh(e){let t=Ih(e.getAttribute("aria-owns"));if(!t.length)return[];let n=[],r=new Set;for(let o of t){if(r.has(o))continue;r.add(o);let i=Rh(e,o);i&&i!==e&&n.push(i)}return n}function kw(e){let t=Mh(e);for(let n of t)n["aria-owned-by"]=e;return t}function Nh(e){let t=$e(e),n=fe(e);if(e.getAttribute("role")!=="dialog"&&e.getAttribute("role")!=="alertdialog"||e.getAttribute("aria-modal")!=="true")return!1;let r=t.getComputedStyle(e);if(r?.position!=="fixed"&&r?.position!=="absolute"||parseInt(r?.zIndex,10)<=Tw(e))return!1;let o=xw(e);return!o||!Sw(o)||!Ew(e)||o.getAttribute("role")==="dialog"||e.getAttribute("role")==="dialog"?!1:_w(e)}function xw(e){return[e.previousElementSibling,e.nextElementSibling,...Array.from(e.children),...e.parentElement?[e.parentElement.previousElementSibling,e.parentElement.nextElementSibling]:[]].filter(n=>n!==null).find(ww)||null}function ww(e){if(fi(e))return!1;let n=$e(e).getComputedStyle(e);return(n?.position==="fixed"||n?.position==="absolute")&&n?.backgroundColor!=="rgba(0, 0, 0, 0)"&&n?.backgroundColor!=="transparent"&&n?.pointerEvents!=="none"}function Sw(e){let t=$e(e),n=e.getBoundingClientRect();return n.top<=0&&n.left<=0&&n.bottom>=t.innerHeight&&n.right>=t.innerWidth}function Tw(e){let t=fe(e),n=$e(e),r=n?.getComputedStyle;if(!r)return 0;let o=eu(t,"*").filter(i=>i!==e&&!fi(i)).map(i=>parseInt(r.call(n,i)?.zIndex,10)).filter(i=>Number.isFinite(i)&&!isNaN(i));return o.length?Math.max(...o):0}function _w(e){return e.querySelectorAll('a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])').length>0}function Ew(e){let t=e.parentElement;if(!t)return!1;for(let n of Array.from(t.children))if(n!==e&&!fi(n)&&n.getAttribute("aria-hidden")!=="true")return!1;return!0}function Iw(){try{let t=Ft()?.querySelector?.("dialog:modal");return'[aria-modal="true"], dialog:modal'}catch{return'[aria-modal="true"]'}}var Lh=Iw();function Rw(e){return e.getAttribute("aria-disabled")==="true"||e.hasAttribute("disabled")}function gu(e){let t=e.getAttribute("href")||e.getAttribute("src")||e.getAttribute("data")||e.getAttribute("action");if(!t&&!e.tagName.includes("-"))try{let n=e;t=n.href||n.src||n.data||n.action||null}catch{return!1}if(!t)return!1;try{let n=fe(e),r=new URL(t,n.baseURI);return r.protocol==="javascript:"&&(r.pathname.trim()!==""||r.search.trim()!==""||r.hash.trim()!=="")}catch{return!1}}function Dh(e){return eh.has(e)}function Aw(e){let t=e.parentElement,n=fe(e);if(!(!t||t===n.body||t===n.documentElement))return An({targetElement:t,originatedFromParent:!0})}function gh({targetElement:e,parentDisabled:t,semanticRole:n,excludeLabels:r,isFrameNode:o,frameContentNodes:i,elementContext:a}){let s={nodeCategory:e.nodeType},c=t||Rw(e),l=Aw(e);if(l&&(s.parent=l),n){let de=Yi[n];typeof de=="number"?s.semanticRole=de:s.semanticRole=n}if(c&&(s.isDisabled=!0),a){let{eventHandlerIndices:de,isEditableRegion:me}=a,be=Ji(de);be.length>0&&(s.eventHandlers=be),me&&(s.isEditable=!0)}let d=Mw(e);d&&Object.keys(d).length>0&&(s.ariaProperties=d);let m=Nw(e);m&&Object.keys(m).length>0&&(s.ariaStates=m);let f=e.nodeName;f&&f.trim()&&(s.elementName=f);let p=Eh(e);p&&Object.keys(p).length>0&&(s.computedStyles=p),fi(e)&&(s.isInvisible=!0);let b=Cw(e,n);b&&Object.keys(b).length>0&&(s.preservedAttributes=b),e.draggable&&(s.isDraggable=!0),e.scrollWidth&&e.clientWidth&&e.scrollWidth>e.clientWidth&&(s.supportsHorizontalSwipe=!0),e.scrollHeight&&e.clientHeight&&e.scrollHeight>e.clientHeight&&(s.supportsVerticalSwipe=!0);let y=e.getAttribute("class");if(y?.trim()){y.includes("handle")&&(s.isDragHandle=!0),s.supportsHorizontalSwipe||(y.includes("horizontal")||y.includes("carousel"))&&(s.supportsHorizontalSwipe=!0),s.supportsVerticalSwipe||(y.includes("vertical")||y.includes("feed"))&&(s.supportsVerticalSwipe=!0),y.includes("dismissible")&&(s.supportsDismissSwipe=!0),(y.includes("long-press")||y.includes("hold")||y.includes("press-hold"))&&(s.supportsLongPress=!0);let de=s.inputType||s.preservedAttributes?.[qn.type];de==="submit"||de==="reset"||de==="clear"||(y.includes("submit")&&(s.preservedAttributes={...s.preservedAttributes||{},[qn.type]:"submit"}),y.includes("clear")&&(s.preservedAttributes={...s.preservedAttributes||{},[qn.type]:"clear"}),y.includes("reset")&&(s.preservedAttributes={...s.preservedAttributes||{},[qn.type]:"reset"}))}let k=Uw({element:e});k&&k.length>0&&(s.labelReferences=k);let w=e.tagName;if(w&&(s.elementTag=w),Dw(e)&&(s.hasFocus=!0),!o){let de=yu({element:e,semanticRole:n,parentDisabled:c,excludeLabels:r});de&&de.length>0&&(s.childElements=de)}let x=Ww({element:e});x&&x.length>0&&(s.ownedElements=x);let h=Xc(e);h&&(s.resourceLocator=h),(o||Qi(e))&&(s.isFrameElement=!0),i&&i.length>0&&(s.frameContent=i);let A=e.type;A&&typeof A=="string"&&A.trim()&&(s.inputType=A);let E=e.placeholder;E&&typeof E=="string"&&E.trim()&&(s.placeholderText=E);let _=e.value;_&&typeof _=="string"&&_.trim()&&(s.elementValue=_);let z=zw({element:e,parentDisabled:t,semanticRole:n});if(z&&z.length>0&&(s.selectedOptions=z),co(e,"select,datalist")&&(s.nearestSelectList=!0),fu(e))s.elementNamespace=cs.HTML;else if(Lw(e)){s.elementNamespace=cs.SVG,s.svgStructure=Ow(e);let de=Pw(e);de&&Object.keys(de).length>0&&(s.preservedAttributes?s.preservedAttributes={...s.preservedAttributes,...de}:s.preservedAttributes=de)}let V=r?void 0:Hw({element:e});V&&V.length>0&&(s.associatedLabels=V);let ne=e.scope;ne&&typeof ne=="string"&&ne.trim()&&(s.tableScope=ne);let $=jw({element:e});$&&(s.tableCaption=$);let re=qw({element:e});re&&(s.figureCaption=re);let X=$w({element:e});return X&&(s.fieldsetLegend=X),co(e,"table")&&(s.nearestTable=!0),s}function Cw(e,t){let n={},r=new Set(Object.values(qn).filter(s=>typeof s=="string")),o=new Set(Object.keys(Yc).filter(s=>isNaN(Number(s)))),i=new Set(["_ngcontent","ng-reflect-*","data-v-*"]),a=e?.attributes?Array.from(e.attributes):[];for(let s of a){let c=s.name,l=s.value;if(c==="id"&&(!t||!io.has(t)))continue;let d;if(r.has(c)?d=c:c.startsWith("data-v-")?d="data-v-*":c.startsWith("ng-reflect-")?d="ng-reflect-*":c.startsWith("_ngcontent")&&(d="_ngcontent"),d){let m=l.trim()!=="",f=o.has(d);if(m||f){let p=qn[d],b=i.has(d)?"true":l;n[p]=b}}}if(!n[qn[Rn]]){let s=fh(e);s&&(n[qn[Rn]]=s)}return n}function Mw(e){return Oh(e,el,Jc)}function Nw(e){return Oh(e,tl,null)}function Oh(e,t,n){let r={};for(let o in t)if(isNaN(Number(o))){let i=t[o],s=`aria-${o.toLowerCase().replace(/_/g,"-")}`,c=e.getAttribute(s),l=!1;n!==null&&(l=Object.values(n).filter(m=>typeof m=="number").includes(i)),e.hasAttribute(s)&&l||c?.trim()?r[i]=c:s==="aria-level"&&nh.includes(e.tagName.toLowerCase()?.trim())&&(r[i]=e.tagName.substring(1))}return r}function _r(e){return Ph(e)&&e.nodeType===Co.ELEMENT}function dl(e){return e.nodeType===Co.TEXT}function Ph(e){let t=typeof e;return t=="object"&&e!=null||t=="function"}function fu(e){return _r(e)&&(!e.namespaceURI||e.namespaceURI===rh)}function Lw(e){return _r(e)&&e.namespaceURI===oh}function Qi(e){return e.tagName==="IFRAME"}function pi(e,t){return"tagName"in e?e.tagName?.toLowerCase()===t:e.elementTag?.toLowerCase()===t}function co(e,t){if(e.closest)return e.closest(t);for(;!ll(e,t);){if(e.parentElement===null)return null;e=e.parentElement}return e}function ll(e,t){return e.matches?.(t)??e.msMatchesSelector?.(t)??e.webkitMatchesSelector(t)}function Dw(e){let t=e.ownerDocument,n=t?.hasFocus()?t.activeElement:null;if(n){let r=n.getAttribute("aria-activedescendant");r&&(n=t.getElementById(r)||n)}return e===n}function Ow(e){let t={},n=so.text,r=so.elText;e.textContent?.trim()&&(t[n]=e.textContent);let o=e.querySelector("title"),i=e.querySelector("img");o?.textContent?.trim()?t[r]=o.textContent:i?.alt?.trim()&&(t[r]=i.alt);let a=e.getAttribute("viewBox");a&&(t[so.viewBox]=a);let s=e.querySelectorAll("path");s.length>0&&(t[so.paths]=s.length,t[so.pathData]=Array.from(s).slice(0,3).map(l=>l.getAttribute("d")).filter(Boolean).map(l=>l.substring(0,100)));let c={circles:e.querySelectorAll("circle").length,rects:e.querySelectorAll("rect").length,lines:e.querySelectorAll("line").length,polygons:e.querySelectorAll("polygon").length,polylines:e.querySelectorAll("polyline").length,ellipses:e.querySelectorAll("ellipse").length};return Object.entries(c).forEach(([l,d])=>{if(d>0){let m=so[l];t[m]=d}}),Object.keys(t).length>0?t:void 0}function Pw(e){let t={};if(!e?.hasAttributes())return t;for(let n of Object.values(Xi).filter(r=>typeof r=="number")){let r=Xi[n];if(r){let o=r;if(Xi.hasOwnProperty(o)&&e.hasAttribute(o)){let i=e.getAttribute(o);i?.trim()&&(t[n]=i)}}}return t}function Bw({frameElement:e,parentDisabled:t,excludeLabels:n}){if(!Pn.includeFrameContents)return[];let r=null;try{r=e.contentWindow?.document?.body||null}catch{return[]}if(!r)return[];let o=[];for(let i of bu(r))if(!(bs(i)||Bh(i))){if(_r(i)){let a=i,s=Tr(a),c=rr(a,s),{shouldCreate:l,shouldAnnotate:d}=ul(c);if(l){d&&Mo(a);let m=An({targetElement:a,parentDisabled:t,semanticRole:s??void 0,excludeLabels:n,elementContext:c});m&&o.push(m)}else{let m=yu({element:a,semanticRole:s??void 0,parentDisabled:t,excludeLabels:n});o.push(...m)}}else if(dl(i)){let a=ms(i);a&&o.push(a)}}return o}function bu(e){if(gs(e))return[];let t=$e(e);if($m(e,t)){try{let n=e.assignedNodes({flatten:!0});if(n&&n.length)return n}catch{}return Array.from(e.childNodes)}try{let n=e.shadowRoot||ii()?.getShadowRoot?.(e)||null;if(n){let r=Array.from(n.childNodes),o=Array.from(e.childNodes).filter(i=>!i.assignedSlot);return r.concat(o)}}catch{}return Array.from(e.childNodes)}function yu({element:e,semanticRole:t,parentDisabled:n,excludeLabels:r}){let o=[];for(let i of bu(e))if(!(bs(i)||Bh(i))){if(_r(i)){let a=i,s=Tr(a),c=rr(a,s);if(Qi(a)){Mo(a);let m=Bw({frameElement:a,parentDisabled:n,excludeLabels:r}),f=An({targetElement:a,parentDisabled:n,semanticRole:s??void 0,excludeLabels:r,isFrameNode:!0,frameContentNodes:m,elementContext:c});f&&o.push(f);continue}let{shouldCreate:l,shouldAnnotate:d}=ul(c);if(l){d&&Mo(a);let m=An({targetElement:a,parentDisabled:n,semanticRole:s??void 0,excludeLabels:r,elementContext:c});m&&o.push(m)}else{let m=yu({element:a,semanticRole:s??void 0,parentDisabled:n,excludeLabels:r});o.push(...m)}}else if(dl(i)){let a=ms(i);a&&o.push(a)}}return o}function Uw({element:e}){let t=Ih(e.getAttribute("aria-labelledby")),n=new Set;for(let r of t){let o=Rh(e,r);if(!(!o||o===e)&&o){let i=Tr(o),a=An({targetElement:o,semanticRole:i,elementContext:rr(o,i)});n.add(a)}}return Array.from(n)}function zw({element:e,parentDisabled:t,semanticRole:n}){let r=[];return e&&(n&&n==="listbox"?r=Array.from(e.querySelectorAll('[role="option"][aria-selected="true"]')).map(o=>An({targetElement:o,parentDisabled:t,semanticRole:"option",elementContext:rr(o,"option")})):pi(e,"select")&&(r=Array.from(e.selectedOptions).map(o=>An({targetElement:o,parentDisabled:t,semanticRole:"option",elementContext:rr(o,"option")})))),r}function Hw({element:e}){if(th.includes(e.tagName)){let t=fe(e),n=eu(t,"label"),r=new Set;return Array.from(n).filter(o=>o!==e&&Fw(o,e)).map(o=>{let i=Tr(o),a=An({targetElement:o,semanticRole:i,excludeLabels:!0,elementContext:rr(o,i)});r.add(a)}),Array.from(r)}}function Fw(e,t){let n=e.control;return n!==void 0?n===t:e.htmlFor!==""&&e.htmlFor===t.id?!0:!!(e.htmlFor===""&&e.contains(t))}function jw({element:e}){if(pi(e,"table")){let t=e.querySelector("caption");if(t&&t!==e){let n=Tr(t);return An({targetElement:t,semanticRole:n,elementContext:rr(t,n)})}}}function qw({element:e}){if(pi(e,"figure")){let t=e.querySelector("figcaption");if(t&&t!==e){let n=Tr(t);return An({targetElement:t,semanticRole:n,elementContext:rr(t,n)})}}}function $w({element:e}){if(pi(e,"fieldset")){let t=e.querySelector("legend");if(t&&t!==e){let n=Tr(t);return An({targetElement:t,semanticRole:n,elementContext:rr(t,n)})}}}function Ww({element:e}){let t=new Set,n=Mh(e);for(let r of n){let o=Tr(r),i=An({targetElement:r,semanticRole:o,elementContext:rr(r,o)});t.add(i)}return Array.from(t)}function ul(e){let{semanticRole:t,eventHandlerIndices:n,isEditableRegion:r,hasNodeWorthyHandlers:o,isLikelyStructuralContainer:i}=e,a=n.length>0&&n.some(m=>sh.has(m)),c=!!t||!i&&(o||r),l=!!t&&io.has(t);return{shouldCreate:c,shouldAnnotate:c&&(l||r||a)}}function Bh(e){if(!_r(e))return!1;let t=e;if(gs(t))return!0;let n=t.tagName;return Qc.has(n)?!0:n===li||n===di?Vw(t):!1}function Vw(e){let t=$e(e),n=t?.getComputedStyle;if(!n||n.call(t,e).display==="none")return!0;let o=e.getBoundingClientRect();return o.width===0&&o.height===0&&!(typeof e.closest=="function"&&e.closest("pre"))||o.right<-1e3||o.left>t.innerWidth+1e3}function vu(e,t={}){return Hm(t),hh(),ph(),mh(e,{includeShadow:!0,includeIframes:Pn.clearIframes}),ui.initialize(Pn.semanticIdStart),{rootNodes:Uh(e),semanticNodes:Fr}}function Uh(e){let t=[];try{let n=fe(e),o=Array.from(n.querySelectorAll(Lh)).filter(i=>!fi(i)&&Nh(i));if(o.length===0)t=Zi({targetElement:e});else if(o.length===1){let i=o[0];i.contains(e)?t=Zi({targetElement:e}):e.contains(i)?t=Zi({targetElement:i}):t=Zi({targetElement:e})}else t=Zi({targetElement:e})}catch(n){throw console.error("Error constructing semantic tree",n),n}return t}function Zi({targetElement:e,parentNode:t}){if(bs(e)||zh(e))return[];let n=Tr(e),r=rr(e,n);if(Qi(e))return[Kw({frameElement:e,role:n,parentNode:t,elementContext:r})];let o=0,{shouldCreate:i,shouldAnnotate:a}=ul(r);i&&(a&&Mo(e),o=An({targetElement:e,parentDisabled:t?.isDisabled,semanticRole:n,elementContext:r}));let s=Fr[o],c=Gw(e,n,o?s:t);return o&&c.length>0&&(s.semanticChildren=c),o?[o]:c}function Gw(e,t,n){let r=[],o=Ah(e,t);for(let i of o)if(!(bs(i)||zh(i))){if(_r(i)){let a=Zi({targetElement:i,parentNode:n});r.push(...a)}else if(dl(i)&&Qw(i,n)){let a=ms(i);a&&r.push(a)}}return r}function Kw({frameElement:e,role:t,parentNode:n,elementContext:r}){Mo(e);let o=Xw(e);return An({targetElement:e,parentDisabled:n?.isDisabled,semanticRole:t,isFrameNode:!0,frameContentNodes:o,elementContext:r})}function Xw(e){if(!Pn.includeFrameContents)return[];let t=Yw(e);return t.kind==="content"?Uh(t.rootElement):Jw(e,t.reason)}function Yw(e){let t=null;try{t=e.contentDocument||e.contentWindow?.document||null}catch{return{kind:"unavailable",reason:"cross_origin_blocked"}}let n=t?.body||t?.documentElement||null;return n?{kind:"content",rootElement:n}:{kind:"unavailable",reason:"iframe_not_ready_or_empty"}}function Jw(e,t){let n=ui.generateId(),r=ui.generateId(),o=e.getAttribute("title")?.trim()||e.getAttribute("name")?.trim()||e.id?.trim()||"Embedded frame",i=Xc(e)||void 0,a=t==="cross_origin_blocked"?"Iframe content is not accessible from this origin (cross-origin).":"Iframe content is not ready yet or has no readable DOM.";return Fr[n]={nodeCategory:Co.ELEMENT,semanticRole:"embedded_document_unavailable",computedName:o,syntheticKind:"embedded_container",frameContent:[r],...i?{resourceLocator:i}:{}},Fr[r]={nodeCategory:Co.TEXT,parent:n,textContent:a,preventTextMerge:!0,syntheticKind:"embedded_unavailable_text"},[n]}function Qw(e,t){let n=e.data.trim();if(!n||n==="")return!1;if(t?.semanticRole!==void 0&&t?.semanticRole!==null){let r=typeof t.semanticRole=="number"?ls[t.semanticRole]:t.semanticRole;if(Dh(r))return!1}return!0}function zh(e){if(!_r(e))return!1;let t=e;if(gs(t))return!0;let n=t.tagName;return Qc.has(n)?!0:n===li||n===di?Zw(t):!1}function Zw(e){let t=$e(e);if(t.getComputedStyle(e).display==="none")return!0;let r=e.getBoundingClientRect();return r.width===0&&r.height===0&&!e.closest("pre")||r.right<-1e3||r.left>t.innerWidth+1e3}function fl(e){let t=e.activeElement;for(;t&&t.shadowRoot&&t.shadowRoot.activeElement;)t=t.shadowRoot.activeElement;return t}function e0(e){let t=e.getBoundingClientRect();return{x:t.left+t.width/2,y:t.top+t.height/2}}function ta(e,t,n){let r=fe(e,t),o=ke(r,n);try{e.focus?.({preventScroll:!0})}catch{}if(fl(r)===e)return!0;try{let{x:i,y:a}=e0(e),s=o.PointerEvent||PointerEvent,c=o.MouseEvent||MouseEvent;e.dispatchEvent(new s("pointerdown",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,buttons:1,button:0,pointerType:"mouse"})),e.dispatchEvent(new c("mousedown",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,buttons:1,button:0})),e.dispatchEvent(new c("mouseup",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,buttons:0,button:0})),e.dispatchEvent(new s("pointerup",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,buttons:0,button:0,pointerType:"mouse"})),(e.isContentEditable||fr(e,o)||Sr(e,o)||e.getAttribute("contenteditable")==="true")&&e.dispatchEvent(new c("click",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,button:0}))}catch{}try{e.focus?.({preventScroll:!0})}catch{}return fl(r)===e}function ys(e,t){let n=$e(e),r=Sr(e,n)?n.HTMLTextAreaElement.prototype:n.HTMLInputElement.prototype,o=Object.getOwnPropertyDescriptor(r,"value");o?.set?o.set.call(e,t):e.value=t}function hi(e,t,n="insertText"){let r=$e(e),o=r.InputEvent||(typeof InputEvent<"u"?InputEvent:null),i=r.Event||Event;try{o?e.dispatchEvent(new o("beforeinput",{bubbles:!0,cancelable:!0,composed:!0,data:String(t??""),inputType:n})):e.dispatchEvent(new i("beforeinput",{bubbles:!0,cancelable:!0,composed:!0}))}catch{try{e.dispatchEvent(new i("beforeinput",{bubbles:!0,cancelable:!0,composed:!0}))}catch{}}try{o?e.dispatchEvent(new o("input",{bubbles:!0,cancelable:!1,composed:!0,data:String(t??""),inputType:n})):e.dispatchEvent(new i("input",{bubbles:!0,cancelable:!1,composed:!0}))}catch{try{e.dispatchEvent(new i("input",{bubbles:!0,cancelable:!1,composed:!0}))}catch{}}try{e.dispatchEvent(new i("change",{bubbles:!0,cancelable:!0,composed:!0}))}catch{}}function t0(e){let n=$e(e).KeyboardEvent||KeyboardEvent,r={key:"Enter",code:"Enter",keyCode:13,which:13,bubbles:!0,cancelable:!0,composed:!0},o=e.dispatchEvent(new n("keydown",r)),i=e.dispatchEvent(new n("keypress",r)),a=e.dispatchEvent(new n("keyup",r));return{canceled:!(o&&i&&a)}}function mi(e){if(!e)return!1;let t=$e(e);if(Sr(e,t))return!e.disabled&&!e.readOnly;if(fr(e,t)){let n=(e.type||"text").toLowerCase();return(n==="text"||n==="search"||n==="email"||n==="url"||n==="tel"||n==="password"||n==="number")&&!e.disabled&&!e.readOnly}return!1}function ku(e){let t=$e(e);if(!e||!Zt(e,t))return!1;if(e.isContentEditable)return!0;let n=e.getAttribute("contenteditable");return!!(n&&n!=="false"||e.getAttribute("role")==="textbox"&&!("value"in e))}function n0(e,t){let n=e.getRootNode();return nr(n)?n:fe(e)??t}function r0(e,t){let n=[];for(let r of t.split(/\s+/).filter(Boolean)){let o=e.getElementById?.(r)||e.querySelector?.(`#${CSS.escape(r)}`),i=$e(o);Zt(o,i)&&n.push(o)}return n}function qh(e,t){if(!e)return{kind:"none",el:null,via:"no-root"};if(mi(e))return{kind:"input",el:e,via:"self-input"};if(ku(e))return{kind:"contenteditable",el:e,via:"self-contenteditable"};let n=fe(e)??t,r=ke(n),o=n0(e,n);if(jm(e,r)){let c=e.control;if(mi(c))return{kind:"input",el:c,via:"label.control"};let l=e.htmlFor;if(l){let d=o.getElementById?.(l)||o.querySelector?.(`#${CSS.escape(l)}`);if(mi(d))return{kind:"input",el:d,via:"label.for"}}}let i=e.getAttribute("aria-controls")||e.getAttribute("aria-owns");if(i)for(let c of r0(o,i)){if(mi(c))return{kind:"input",el:c,via:"aria-controls/owns"};if(ku(c))return{kind:"contenteditable",el:c,via:"aria-controls/owns"};let l=c.querySelector?.("input,textarea");if(mi(l))return{kind:"input",el:l,via:"aria-controls->desc"}}let a=e.querySelector?.("input,textarea");if(mi(a))return{kind:"input",el:a,via:"descendant"};let s=e.shadowRoot||null;if(s){let c=s.querySelector?.("input,textarea");if(mi(c))return{kind:"input",el:c,via:"open-shadow-input"};let l=s.querySelector?.('[contenteditable="true"],[contenteditable=""],[role="textbox"]');if(ku(l))return{kind:"contenteditable",el:l,via:"open-shadow-contenteditable"}}return e.getAttribute("role")==="textbox"&&!("value"in e)?{kind:"contenteditable",el:e,via:"role=textbox"}:{kind:"none",el:null,via:"not-found"}}function ea(e,t,n,r=!1){let o=fe(e,t),a=ke(o,n).getSelection?.();if(!a)return!1;try{let s=o.createRange();return s.selectNodeContents(e),r&&s.collapse(!1),a.removeAllRanges(),a.addRange(s),!0}catch{return!1}}function gi(e){return(e.textContent??"").replace(/\u00A0/g," ").trim()}var pl=e=>String(e??"").replace(/\s+/g," ").trim(),$h=new MessageChannel,Wh=[];$h.port1.onmessage=()=>{let e=Wh.shift();e&&e()};function Hh(){return new Promise(e=>{Wh.push(e),$h.port2.postMessage(0)})}async function Fh(e,t,n){await Promise.resolve();let r=Math.max(0,Math.min(4,Number(n)||0));for(let o=0;o<r;o++)e.hidden?await Hh():await new Promise(i=>{try{t.requestAnimationFrame(()=>i())}catch{Hh().then(i)}})}function o0(e){let t=String(e??"");return t===" "?{code:"Space",which:32}:/^[a-z]$/i.test(t)?{code:`Key${t.toUpperCase()}`,which:t.toUpperCase().charCodeAt(0)}:/^[0-9]$/.test(t)?{code:`Digit${t}`,which:t.charCodeAt(0)}:{code:"",which:t.length===1?t.charCodeAt(0):0}}function jh(e,t,n,r){let o=fe(e,t),a=ke(o,n).KeyboardEvent||KeyboardEvent,s=String(r??"");for(let c of s){let{code:l,which:d}=o0(c),m={key:c,code:l,bubbles:!0,cancelable:!0,composed:!0,keyCode:d,which:d};e.dispatchEvent(new a("keydown",m)),e.dispatchEvent(new a("keypress",m)),e.dispatchEvent(new a("keyup",m))}}async function Vh(e,t,n,r,o){let i=String(r??"");if(e.disabled||e.readOnly)return{success:!1,method:"type-native-setter",details:"disabled_or_readonly",allowFallback:!0};let a=String(e.value??""),s=fe(e,t),c=ke(s,n),l=ta(e,s,c),d=Number.isFinite(Number(o?.settleFrames))?Math.max(0,Math.min(4,Number(o?.settleFrames))):s.hidden?1:2,m=!!o?.useKeyFallback,f=Number.isFinite(Number(o?.keyFallbackMaxLen))?Number(o?.keyFallbackMaxLen):140,p=m&&i.length>0&&i.length<=f;ys(e,i),hi(e,i,"insertReplacementText"),p&&jh(e,s,c,i),await Fh(s,c,d);let b=String(e.value??""),y=pl(a),k=pl(b),w=pl(i),x=y===w,h=k===w,A=b!==a,E=i.length>0&&!x&&b===a,_=1;if(!x&&!h&&!A){_=2;try{e.focus?.({preventScroll:!0}),e.select?.()}catch{}let $=!1;try{s.execCommand?.("selectAll",!1,void 0),$=!!s.execCommand?.("insertText",!1,i)}catch{$=!1}if(!$)try{ys(e,i)}catch{}try{hi(e,i,"insertReplacementText")}catch{}p&&jh(e,s,c,i),await Fh(s,c,d),b=String(e.value??"")}let ee=pl(b)===w,V=b!==a;E=i.length>0&&!x&&b===a;let ne=x||ee||V;return{success:ne,method:"type-native-setter",details:`focus=${l};attempts=${_};settleFrames=${d};beforeLen=${a.length};afterLen=${b.length};changed=${V};alreadyCorrect=${x};nowCorrect=${ee};reverted=${E};keyFallback=${p}`,allowFallback:ne?void 0:!0}}function i0(e,t,n){let o=$e(e).InputEvent||InputEvent,i=new o("beforeinput",{bubbles:!0,cancelable:!0,composed:!0,data:t,inputType:n});return{ok:e.dispatchEvent(i),defaultPrevented:i.defaultPrevented}}function Gh(e,t,n,r){let o=fe(e,n),i=ke(o,r),a=i.InputEvent||InputEvent,s=i.Event||Event,c=String(t??""),l=gi(e),d=ta(e,o,i),m=ea(e,o,i,!0),f=i0(e,c,"insertText"),p=!1,b="execCommand",y=!1,k=()=>{y=!0};try{e.addEventListener("input",k,{capture:!0})}catch{}if(f.ok&&!f.defaultPrevented)try{p=!!o.execCommand?.("insertText",!1,c)}catch{}if(!p)try{let h=i.getSelection?.(),A=h&&h.rangeCount?h.getRangeAt(0):null;if(!A||!e.contains(A.commonAncestorContainer)){ea(e,o,i,!0);let E=i.getSelection?.();A=E&&E.rangeCount?E.getRangeAt(0):null}A&&(A.insertNode(o.createTextNode(c)),A.collapse(!1),h?.removeAllRanges(),h?.addRange(A),p=!0,b="range")}catch{}if(p&&!y){try{e.dispatchEvent(new a("input",{bubbles:!0,cancelable:!1,composed:!0,data:c,inputType:"insertText"}))}catch{try{e.dispatchEvent(new s("input",{bubbles:!0,cancelable:!1,composed:!0}))}catch{}}try{e.dispatchEvent(new s("change",{bubbles:!0,cancelable:!0,composed:!0}))}catch{}}try{e.removeEventListener("input",k,{capture:!0})}catch{}let w=gi(e);return{success:w!==l||!!c&&w.includes(c),method:`type-contenteditable-${b}`,details:`focus=${d};selectedWithin=${m};inserted=${p}`}}function Kh(e){let{canceled:t}=t0(e);if(t)return{submitted:!1,method:"enter-handled"};let n=e.form||e.closest?.("form");return n?(n.requestSubmit?.()??n.submit?.(),{submitted:!0,method:"enter->form-submit"}):{submitted:!1,method:"enter-dispatched"}}function Xh(e,t,n){if(e.disabled||e.readOnly)return{success:!1,method:"clear-native-setter",details:"disabled_or_readonly",allowFallback:!0};let r=fe(e,t),o=ke(r,n),i=String(e.value??""),a=ta(e,r,o);ys(e,""),hi(e,"","deleteByCut");let s=String(e.value??""),c=s!==i;return{success:c||s.length===0,method:"clear-native-setter",details:`focus=${a};beforeLen=${i.length};afterLen=${s.length};changed=${c}`}}function Yh(e,t,n){let r=fe(e,t),o=ke(r,n),i=gi(e),a=ta(e,r,o),s=ea(e,r,o,!1),c=!1,l="execCommand";try{c=!!r.execCommand?.("delete",!1,void 0)}catch{c=!1}if(!c)try{let p=o.getSelection?.(),b=p&&p.rangeCount?p.getRangeAt(0):null;(!b||!e.contains(b.commonAncestorContainer))&&ea(e,r,o,!1);let y=o.getSelection?.(),k=y&&y.rangeCount?y.getRangeAt(0):null;k&&(k.deleteContents(),k.collapse(!1),y?.removeAllRanges(),y?.addRange(k),c=!0,l="range")}catch{}if(!c)try{e.textContent="",c=!0,l="textContent"}catch{}hi(e,"","deleteByCut");let d=gi(e),m=d!==i;return{success:c||m||d.length===0,method:`clear-contenteditable-${l}`,details:`focus=${a};selectedWithin=${s};cleared=${c};changed=${m}`}}function Jh(e,t){if(e===t||e.contains(t))return!0;let n=t;for(;n;){let r=n.getRootNode?.();if(nr(r)){let o=r.host;if(o===e||e.contains(o))return!0;n=o;continue}n=n.parentNode||null}return!1}var ml;(function(e){e.FLASH_LITE="Gemini Flash Lite",e.FLASH="Gemini Flash",e.PRO="Gemini Pro"})(ml||(ml={}));var Qh;(function(e){e[e.NativeHostConnected=0]="NativeHostConnected",e[e.NativeHostDisconnected=1]="NativeHostDisconnected"})(Qh||(Qh={}));var a0=["image/png","image/jpeg","image/webp"],s0=["application/pdf","text/plain"],WC=[...a0,...s0];var sn;(function(e){e.ACT="act_on_tab",e.CRAWL="crawl_and_extract_from_tab",e.EXTRACT="extract_from_tab",e.SHEETS_WORKFLOW="sheets_workflow",e.INFER_SHEET_DATA="infer_sheet_data",e.GRAPHBOT="graph_bot",e.PDF_FILLER="pdf_filler",e.CUSTOM_TOOL_GENERATOR="custom_tool_generator",e.WEBPAGE_GENERATOR="webpage_generator",e.GOOGLE_DOC_GENERATOR="google_doc_generator",e.GOOGLE_SLIDES_GENERATOR="google_slides_generator",e.PROCESS_TEXT="process_text",e.CREATE_SHEET_FROM_DATA="create_sheet_from_data",e.ROVER_EXTERNAL_READ_CONTEXT="rover_external_read_context",e.ROVER_EXTERNAL_ACT_CONTEXT="rover_external_act_context",e.CONFIGURE_API_KEY="configure_api_key",e.TASK_COMPLETE="task_complete",e.ASK_USER="ask_user",e.EXECUTE_MULTIPLE_TOOLS="execute_multiple_tools",e.QUERY_RTRVR_AI_DOCUMENTATION="query_rtrvr_ai_documentation"})(sn||(sn={}));var en;(function(e){e.PLANNER="Planner",e.AGENTIC_SEEK="Agentic Action",e.CRAWL_PAGES="Crawl Pages",e.EXTRACT_PAGE="Extract Page",e.SHEETS_WORKFLOW="Sheets Workflow",e.INFER_SHEET_DATA="Infer Sheet Data",e.MULTI_STEPS="Multi Steps",e.PDF_FILLER="PDF Filler",e.CUSTOM_TOOL_GENERATOR="Custom Tool Generator",e.WEBPAGE_GENERATOR="WebPage Generator",e.GOOGLE_DOC_GENERATOR="Google Doc Generator",e.GOOGLE_SLIDES_GENERATOR="Google Slides Generator",e.PROCESS_TEXT="Process Text",e.CREATE_SHEET_FROM_DATA="Create Sheet From Data",e.ROVER_EXTERNAL_READ_CONTEXT="Rover External Read Context",e.ROVER_EXTERNAL_ACT_CONTEXT="Rover External Act Context",e.EXECUTE_MULTIPLE_TOOLS="Execute Multiple User Tools",e.CONFIGURE_API_KEY="Configure Gemini API Key",e.QUERY_RTRVR_AI_DOCUMENTATION="query_rtrvr_ai_documentation"})(en||(en={}));var VC={[sn.ACT]:en.AGENTIC_SEEK,[sn.CRAWL]:en.CRAWL_PAGES,[sn.EXTRACT]:en.EXTRACT_PAGE,[sn.SHEETS_WORKFLOW]:en.SHEETS_WORKFLOW,[sn.INFER_SHEET_DATA]:en.INFER_SHEET_DATA,[sn.PDF_FILLER]:en.PDF_FILLER,[sn.CUSTOM_TOOL_GENERATOR]:en.CUSTOM_TOOL_GENERATOR,[sn.WEBPAGE_GENERATOR]:en.WEBPAGE_GENERATOR,[sn.GOOGLE_DOC_GENERATOR]:en.GOOGLE_DOC_GENERATOR,[sn.GOOGLE_SLIDES_GENERATOR]:en.GOOGLE_SLIDES_GENERATOR,[sn.PROCESS_TEXT]:en.PROCESS_TEXT,[sn.CREATE_SHEET_FROM_DATA]:en.CREATE_SHEET_FROM_DATA,[sn.ROVER_EXTERNAL_READ_CONTEXT]:en.ROVER_EXTERNAL_READ_CONTEXT,[sn.ROVER_EXTERNAL_ACT_CONTEXT]:en.ROVER_EXTERNAL_ACT_CONTEXT,[sn.EXECUTE_MULTIPLE_TOOLS]:en.EXECUTE_MULTIPLE_TOOLS,[sn.CONFIGURE_API_KEY]:en.CONFIGURE_API_KEY,[sn.QUERY_RTRVR_AI_DOCUMENTATION]:en.QUERY_RTRVR_AI_DOCUMENTATION};var xu=200;var c0=30,l0=320,d0=0,u0=50,p0=1,GC=ml.FLASH;var KC=en.PLANNER;var wu="application/pdf",Su="application/gsheet";var XC=20*1024*1024;var na={maxParallelTabs:4,pageLoadDelay:2e3,disableAutoScroll:!1,makeNewTabsActive:!1,writeRowProcessingTime:!1,totalBudgetMs:25e3,pageDataTimeoutMs:22e3,adaptiveSettleDebounceMs:c0,adaptiveSettleMaxWaitMs:l0,adaptiveSettleRetries:d0,sparseTreeRetryDelayMs:u0,sparseTreeRetryMaxAttempts:p0,pdfTextSelectionTimeoutMs:12e3,onlyTextContent:!1};var f0=1,m0=9,h0=11,_u="application/gdoc",ra="text/html",hl="text/plain";function g0(e){return!!e&&typeof e=="object"&&e.nodeType===m0}function Zh(e){return!!e&&typeof e=="object"&&e.nodeType===f0}function b0(e){return!!e&&typeof e=="object"&&e.nodeType===h0&&typeof e.host=="object"&&typeof e.mode=="string"}function eg(e){return Zh(e)&&String(e.tagName).toUpperCase()==="IFRAME"}function Tu(e){let t;if(typeof e=="number")t=e;else if(typeof e=="bigint")t=Number(e);else if(typeof e=="string")t=Number(e.trim());else return null;if(!Number.isFinite(t))return null;let n=Math.trunc(t);return n<=0?null:n}function y0(e){try{let t=e.shadowRoot;return t||globalThis?.chrome?.dom?.openOrClosedShadowRoot?.(e)||null}catch{return null}}function v0(e,t,n={}){let r=n.traverseShadow!==!1,o=n.traverseIframes!==!1,i=n.requireOwnerDocument,a=[e],s=new WeakSet;for(;a.length;){let c=a.pop();if(c&&typeof c=="object"){if(s.has(c))continue;s.add(c)}if(g0(c)){let m=c.documentElement||c.body;m&&a.push(m);continue}if(b0(c)){let m=c.children;if(m&&m.length)for(let f=m.length-1;f>=0;f--)a.push(m[f]);continue}if(!Zh(c))continue;let l=c;if(i&&l.ownerDocument!==i)continue;let d=l.getAttribute?.(Rn);if(d&&us(d)===t)return l;if(r)try{let m=y0(l);m&&a.push(m)}catch{}if(o&&eg(l))try{let m=rs(l);m&&a.push(m)}catch{}for(let m=l.lastElementChild;m;m=m.previousElementSibling)a.push(m)}return null}function Er(e,t,n={}){let r=Tu(t);if(!r)return null;let o=fs(r);return o&&(!n.requireOwnerDocument||o.ownerDocument===n.requireOwnerDocument)?o:v0(e,r,{requireOwnerDocument:n.requireOwnerDocument,traverseShadow:n.traverseShadow,traverseIframes:n.traverseIframes})}function Eu(e=document){return e.querySelector('embed[type="application/pdf"], embed[type="application/x-google-chrome-pdf"]')}function tg(e){if(e==null)return[];if(Array.isArray(e)){let t=[];for(let n of e){let r=Tu(n);r&&t.push(r)}return t}if(typeof e=="number"||typeof e=="bigint"){let t=Tu(e);return t?[t]:[]}if(typeof e=="string"){let t=e.match(/\d+/g);return t?t.map(r=>parseInt(r,10)).filter(r=>Number.isFinite(r)&&r>0):[]}if(typeof e=="object"){let t=e.path??e.ids??e.iframe_path;if(t!==void 0)return tg(t)}return[]}function oa(e,t){let n=tg(t),r=e.defaultView||window;if(!n.length)return{doc:e,win:r,iframePath:n,resolvedPath:[],unresolvedPath:[]};let o=e,i=[];for(let a=0;a<n.length;a++){let s=n[a],c=n.length===1,l=Er(o,s,{requireOwnerDocument:c?void 0:o,traverseShadow:!0,traverseIframes:c});if(!l||!eg(l))return{doc:o,win:o.defaultView||r,iframePath:n,resolvedPath:i,unresolvedPath:n.slice(a)};let d=null;try{d=rs(l)||null}catch{d=null}if(!d)return{doc:o,win:o.defaultView||r,iframePath:n,resolvedPath:i,unresolvedPath:n.slice(a)};i.push(s),o=d}return{doc:o,win:o.defaultView||r,iframePath:n,resolvedPath:i,unresolvedPath:[]}}function ng(e){return e==="application/pdf"||e==="application/x-pdf"||e==="application/x-google-chrome-pdf"}function k0(e){let t={...na,...e??{}},n=Number(e?.pdfTextSelectionTimeoutMs);return Number.isFinite(n)&&(t.pdfTextSelectionTimeoutMs=Math.floor(n)),t.totalBudgetMs!==void 0&&(t.totalBudgetMs=Math.max(1500,Math.floor(t.totalBudgetMs))),t.pageDataTimeoutMs!==void 0&&(t.pageDataTimeoutMs=Math.max(500,Math.floor(t.pageDataTimeoutMs))),t.pdfTextSelectionTimeoutMs!==void 0&&(t.pdfTextSelectionTimeoutMs=Math.max(150,Math.floor(t.pdfTextSelectionTimeoutMs))),t.adaptiveSettleDebounceMs!==void 0&&(t.adaptiveSettleDebounceMs=Math.max(20,Math.min(500,Math.floor(t.adaptiveSettleDebounceMs)))),t.adaptiveSettleMaxWaitMs!==void 0&&(t.adaptiveSettleMaxWaitMs=Math.max(120,Math.min(5e3,Math.floor(t.adaptiveSettleMaxWaitMs)))),t.adaptiveSettleRetries!==void 0&&(t.adaptiveSettleRetries=Math.max(0,Math.min(6,Math.floor(t.adaptiveSettleRetries)))),t.sparseTreeRetryDelayMs!==void 0&&(t.sparseTreeRetryDelayMs=Math.max(40,Math.min(1e3,Math.floor(t.sparseTreeRetryDelayMs)))),t.sparseTreeRetryMaxAttempts!==void 0&&(t.sparseTreeRetryMaxAttempts=Math.max(0,Math.min(4,Math.floor(t.sparseTreeRetryMaxAttempts)))),t}var x0=["disableAutoScroll","onlyTextContent","totalBudgetMs","pageDataTimeoutMs","pdfTextSelectionTimeoutMs","adaptiveSettleDebounceMs","adaptiveSettleMaxWaitMs","adaptiveSettleRetries","sparseTreeRetryDelayMs","sparseTreeRetryMaxAttempts"];function gl(e){if(!e||typeof e!="object")return;let t=e,n={};typeof t.disableAutoScroll=="boolean"&&(n.disableAutoScroll=t.disableAutoScroll),typeof t.onlyTextContent=="boolean"&&(n.onlyTextContent=t.onlyTextContent);let r=["totalBudgetMs","pageDataTimeoutMs","pdfTextSelectionTimeoutMs","adaptiveSettleDebounceMs","adaptiveSettleMaxWaitMs","adaptiveSettleRetries","sparseTreeRetryDelayMs","sparseTreeRetryMaxAttempts"];for(let a of r){let s=Number(t[a]);Number.isFinite(s)&&(n[a]=Math.trunc(s))}if(!Object.keys(n).length)return;let o=k0(n),i={};for(let a of x0)n[a]!==void 0&&o[a]!==void 0&&(i[a]=o[a]);return Object.keys(i).length?i:void 0}function w0(){return Date.now()}function tn(e){return!e||!Number.isFinite(e)?Number.POSITIVE_INFINITY:Math.max(0,e-w0())}async function rg(e,t,n){if(!Number.isFinite(e)||e<=0)return;let r=tn(n);r<=0||r<e+40||await cn(e,t)}async function ia(e,t,n){let r=Math.max(0,Math.floor(t));return r?await Promise.race([e.then(i=>({ok:!0,value:i})),(async()=>(await cn(r,n),{ok:!1,reason:"timeout"}))()]):{ok:!1,reason:"timeout"}}var cn=(()=>{let e=new MessageChannel,t=[];e.port1.onmessage=()=>{let r=t.shift();r&&r()};let n=()=>new Promise(r=>{t.push(r),e.port2.postMessage(0)});return async(r,o)=>{let i=Number(r);if(!Number.isFinite(i)||i<=0)return;if(!o.hidden){let s=o.defaultView||window,c=s.setTimeout?s.setTimeout.bind(s):setTimeout;await new Promise(l=>c(l,i));return}let a=Date.now();for(;Date.now()-a<i;)await n()}})();var S0=3e4;function og(e){return(String(e??"").replace(/\\/g,"/").split("/").pop()||"upload").replace(/[\u0000-\u001f\u007f]/g,"").trim()||"upload"}var Iu=class extends Error{constructor(n,r){super(n);H(this,"url");H(this,"status");H(this,"statusText");H(this,"bodySnippet");this.name="FetchFileError",this.url=r.url,this.status=r.status,this.statusText=r.statusText,this.bodySnippet=r.bodySnippet}};function T0(e){return e&&e.split(";")[0].trim()||"application/octet-stream"}function _0(e){if(!e)return;let t=/filename\*\s*=\s*UTF-8''([^;]+)/i.exec(e);if(t?.[1])try{return decodeURIComponent(t[1].trim().replace(/^\"(.*)\"$/,"$1"))}catch{}let n=/filename\s*=\s*(\"?)([^\";]+)\1/i.exec(e);if(n?.[2])return n[2].trim()}function Ru(e,t){try{let r=(t??window).URL||URL,i=new r(e).pathname.match(/\/o\/(.+?)(\?|$)/);if(i?.[1]){let s=decodeURIComponent(i[1]).split("/");return s[s.length-1].replace(/^\d+-/,"")}}catch{}}function ig(e){let t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}async function E0(e,t={},n,r=fetch){let o=new AbortController,i=S0,a=!1,s=()=>{};if(n){let l=!1;s=()=>{l=!0},(async()=>{try{if(await cn(i,n),l)return;a=!0,o.abort()}catch{}})().catch(()=>{})}else{let l=setTimeout(()=>{a=!0,o.abort()},i);s=()=>clearTimeout(l)}let c=new Headers(t.headers);c.has("Accept")||c.set("Accept","*/*");try{let l=await r(e,{method:"GET",redirect:t.redirect??"follow",cache:t.cache??"no-store",mode:t.mode??"cors",credentials:t.credentials??"include",...t,headers:c,signal:o.signal});if(!l.ok){let p=await l.text().catch(()=>"");throw new Iu(`Fetch failed (${l.status})`,{url:e,status:l.status,statusText:l.statusText,bodySnippet:p.slice(0,256)})}let d=await l.arrayBuffer(),m=T0(l.headers.get("content-type")),f=_0(l.headers.get("content-disposition"))||Ru(e);return{bytes:d,mimeType:m,fileName:f}}finally{s()}}async function ag(e,t,n){return await E0(t,{referrer:n??void 0,referrerPolicy:"strict-origin-when-cross-origin"})}function or(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function jt(e,t=0){let n=String(e||"").replace(/\s+/g," ").trim();return!t||n.length<=t?n:n.slice(0,t).trim()}function Au(e,t=!1){return typeof e=="boolean"?e:t}function lo(e,t){if(!Array.isArray(e))return[];let n=new Set,r=[],o=Math.max(1,Number(t?.max)||24),i=Math.max(8,Number(t?.maxLen)||240);for(let a of e){let s=jt(a,i);if(!s)continue;let c=s.toLowerCase();if(!n.has(c)&&(n.add(c),r.push(s),r.length>=o))break}return r}function I0(e){return e==="browser"||e==="cloud"||e==="auto"?e:"auto"}function cg(e){return e==="task"||e==="shortcut"||e==="client_tool"||e==="webmcp"?e:void 0}function lg(e){return e==="shortcut"||e==="client_tool"||e==="webmcp"||e==="additional"?e:void 0}function dg(e){return e==="silent"||e==="beacon"||e==="integrated"||e==="debug"?e:void 0}function R0(e){return e==="site"||e==="co"||e==="rover"?e:void 0}function ug(e){return e==="auto"||e==="existing-assistant"||e==="floating-corner"||e==="inline-primary"?e:void 0}function pg(e){return e==="click"||e==="focus"||e==="keyboard"||e==="agent-handshake"?e:void 0}function fg(e){let t=or(e);return t?{...t}:void 0}function A0(e){return e==="text"||e==="markdown"||e==="json"||e==="observation"||e==="artifacts"?e:void 0}function C0(e){let t=or(e);if(!t)return null;let n=or(t.rover),r=jt(t.id,120),o=jt(t.name,180);return!r||!o?null:{id:r,name:o,preferredInterface:cg(t.preferredInterface),source:lg(n?.source),deepLink:jt(n?.deepLink,2048)||void 0,toolName:jt(n?.toolName,120)||void 0,runPayload:fg(or(n?.run)?.payload)}}function M0(e){let t=or(e);if(!t)return null;let n=or(t.rover),r=jt(t.capabilityId||t.id,120),o=jt(t.label||t.name,180);if(!r||!o)return null;let i=Array.isArray(t.resultModes)?t.resultModes.map(a=>A0(a)).filter(a=>!!a):[];return{capabilityId:r,version:jt(t.version,80)||void 0,label:o,description:jt(t.description,320)||void 0,preferredInterface:cg(t.preferredInterface),source:lg(n?.source),...i.length?{resultModes:i}:{},pageScope:lo(t.pageScope,{max:24,maxLen:80}),analyticsTags:lo(t.analyticsTags,{max:24,maxLen:64}),deepLink:jt(n?.deepLink,2048)||void 0,toolName:jt(n?.toolName,120)||void 0,runPayload:fg(or(n?.run)?.payload)}}function N0(e){let t=or(e);if(!t)return;let n=dg(t.mode),r=R0(t.branding),o=ug(t.hostSurface),i=pg(t.actionReveal);if(!(!n||!r||!o||!i))return{mode:n,branding:r,hostSurface:o,actionReveal:i,beaconLabel:jt(t.beaconLabel,180)||void 0,agentModeEntryHints:lo(t.agentModeEntryHints,{max:8,maxLen:240})}}function sg(e){let t=or(e);if(!t)return null;let n=jt(t.pageId||t.id,120);if(!n)return null;let r=jt(t.beaconLabel||t.visibleCueLabel,180)||void 0;return{pageId:n,route:jt(t.route,512)||void 0,label:jt(t.label,180)||void 0,capabilityIds:lo(t.capabilityIds,{max:48,maxLen:120}),entityHints:lo(t.entityHints,{max:24,maxLen:120}),formHints:lo(t.formHints,{max:24,maxLen:120}),visibleCueLabel:r,beaconLabel:r,discoveryMode:dg(t.discoveryMode),hostSurface:ug(t.hostSurface),actionReveal:pg(t.actionReveal),agentModeEntryHints:lo(t.agentModeEntryHints,{max:8,maxLen:240}),capabilitySummary:lo(t.capabilitySummary,{max:12,maxLen:180})}}function mg(e){let t=or(e);if(!t)return;let n=or(t.extensions),r=or(n?.rover);if(!r)return;let o=jt(r.siteUrl,2048),i=jt(r.runEndpoint||t.url,2048),a=jt(r.workflowEndpoint,2048);if(!o||!i||!a)return;let s=Au(r.a2wRunsEnabled),c=Au(r.delegatedHandoffs),l=or(r.webmcp),d=Au(l?.available),m=N0(r.discoverySurface),f=Array.isArray(t.skills)?t.skills.map(w=>C0(w)).filter(w=>!!w):[],p=Array.isArray(r.capabilitiesGraph)?r.capabilitiesGraph.map(w=>M0(w)).filter(w=>!!w):[],b=Array.isArray(r.pages)?r.pages.map(w=>sg(w)).filter(w=>!!w):[],y=sg(r.currentPage),k=lo(r.instructions,{max:12,maxLen:280});return{roverEnabled:s||d,siteUrl:o,runEndpoint:i,workflowEndpoint:a,serviceDescUrl:jt(r.serviceDescUrl,2048)||void 0,llmsUrl:jt(r.llmsUrl,2048)||void 0,roverSiteUrl:jt(r.roverSiteUrl,2048)||void 0,preferredExecution:I0(r.preferredExecution),a2wRunsEnabled:s,delegatedHandoffs:c,webmcpAvailable:d,skills:f,...m?{discoverySurface:m}:{},...p.length?{capabilities:p}:{},...b.length?{pages:b}:{},...y?{page:y}:{},instructions:k}}var qt={plannerHistory:16,prevSteps:8,uiMessages:40,timelineEvents:60,localPersistBytes:131072,snapshotBytes:262144};var hg={activation:"on_demand",idleCloseMs:3e4,fallbackPollMinMs:2e3,fallbackPollMaxMs:15e3,maxInflightCommands:1};var $t;(function(e){e.UP="UP",e.DOWN="DOWN",e.LEFT="LEFT",e.RIGHT="RIGHT",e.TOP="TOP",e.BOTTOM="BOTTOM"})($t||($t={}));var vn;(function(e){e.START="START",e.CENTER="CENTER",e.END="END",e.NEAREST="NEAREST"})(vn||(vn={}));function bg(e){if(!e)return vn.CENTER;let t=typeof e=="string"?e.toUpperCase():String(e).toUpperCase();return vn&&t in vn?vn[t]:vn.CENTER}function Cu(e){return globalThis.CSS&&typeof globalThis.CSS.escape=="function"?globalThis.CSS.escape(e):e.replace(/([ !"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g,"\\$1")}function aa(e,t){if(!e)return"";let n=fe(e,t);if(e===n.documentElement)return"html";if(e===n.body)return"body";if(e.id)return`#${Cu(e.id)}`;let r=[],o=e;for(;o&&o!==n.body&&o!==n.documentElement;){let i=o.tagName.toLowerCase();if(o.id){i+=`#${Cu(o.id)}`,r.unshift(i);break}let s=(o.classList&&o.classList.length?Array.from(o.classList):(o.className||"").toString().split(/\s+/).filter(Boolean)).filter(c=>c&&c.length<=48).sort((c,l)=>c.length-l.length).slice(0,3).map(Cu);if(s.length)i+="."+s.join(".");else{let c=o.parentElement;if(c){let l=Array.from(c.children).filter(d=>d.tagName===o.tagName);if(l.length>1){let d=l.indexOf(o)+1;i+=`:nth-of-type(${d})`}}}r.unshift(i),o=o.parentElement}return r.join(" > ")}function bi(e){return e.scrollingElement||e.documentElement||e.body}function bl(e,t,n,r,o){let i=fe(e,t),a=ke(i,n),s=bi(i),c=e===i.documentElement||e===i.body||e===s,l=c?s:e,d=c?a.innerHeight:l.clientHeight,m=c?a.innerWidth:l.clientWidth,f=o??d*.8;switch(r){case $t.DOWN:{l.scrollTop+=f;break}case $t.UP:{l.scrollTop=Math.max(0,l.scrollTop-f);break}case $t.LEFT:return l.scrollLeft=Math.max(0,l.scrollLeft-(o??m*.8)),{success:!0,scrollLeft:l.scrollLeft};case $t.RIGHT:return l.scrollLeft+=o??m*.8,{success:!0,scrollLeft:l.scrollLeft};default:return{success:!1,error:`Unsupported scroll direction: ${String(r)}`}}let p=l.scrollHeight,b=c?a.innerHeight:l.clientHeight,y=p-b;return{success:!0,scrollTop:l.scrollTop,isAtTop:l.scrollTop<=5,isAtBottom:l.scrollTop>=y-5}}function L0(e,t,n){let r=fe(e,t),o=ke(r,n),i=bi(r),a=e;for(;a&&a!==r.body&&a!==r.documentElement;){let c=o.getComputedStyle(a).overflowY;if((c==="auto"||c==="scroll"||c==="overlay")&&a.scrollHeight>a.clientHeight+5)return a;a=a.parentElement}return i}function gg(e,t,n){let r=fe(e,t),o=ke(r,n),i=bi(r),a=e===r.documentElement||e===r.body||e===i,s=a?i:e,c=s.scrollHeight,l=a?o.innerHeight:s.clientHeight,d=c-l;return s.scrollTop>=d-5}function Mu(e,t,n,r){let o=fe(e,t),i=ke(o,n),a=bi(o),s=L0(e,o,i),c=s===o.documentElement||s===o.body||s===a,l=c?a:s,d=e.getBoundingClientRect(),m=c?new(i.DOMRect||DOMRect)(0,0,i.innerWidth,i.innerHeight):s.getBoundingClientRect(),f=c?i.innerHeight:s.clientHeight,p=24,b=d.top-m.top,y=l.scrollTop+b,k;switch(r){case vn.START:k=y-p;break;case vn.END:k=y+d.height-f+p;break;case vn.NEAREST:{if(d.top>=m.top&&d.bottom<=m.bottom)return{success:!0,scrollTop:l.scrollTop,isAtTop:l.scrollTop<=5,isAtBottom:gg(l,o,i)};d.top<m.top?k=y-p:k=y+d.height-f+p;break}case vn.CENTER:default:k=y-f/2+d.height/2;break}let w=l.scrollHeight-f;return l.scrollTop=Math.max(0,Math.min(k,w)),{success:!0,scrollTop:l.scrollTop,isAtTop:l.scrollTop<=5,isAtBottom:gg(l,o,i)}}function yg(e){let t=Number(e);if(!Number.isFinite(t))return null;let n=Math.trunc(t);return n>0?n:null}function vg(e){let t=[];for(let n of Gi){let r=e?.[n];if(r==null)continue;if(Array.isArray(r)){for(let i of r){let a=yg(i);a!=null&&t.push(a)}continue}let o=yg(r);o!=null&&t.push(o)}return Array.from(new Set(t))}function D0(e){return vg(e).length>0}function O0(e){let t=vg(e);return t.length?t[0]:null}var P0=new Set([G.click_element,G.type_into_element,G.type_and_enter,G.hover_element,G.right_click_element,G.double_click_element,G.press_key,G.scroll_page,G.scroll_to_element,G.mouse_wheel,G.drag_element,G.drag_and_drop,G.swipe_element,G.long_press_element,G.adjust_slider,G.select_dropdown_value,G.clear_element,G.focus_element,G.check_field_validity,G.select_text,G.copy_text,G.paste_text,G.pinch_zoom,G.upload_file,G.dispatch_pointer_path]);(()=>{let e="__RTRVR_ACTION_EXECUTOR__";if(window[e])return;window[e]=!0;try{document.documentElement?.setAttribute(ou,"1")}catch{}let n="__RTRVR_INTERNAL__";try{window.__RTRVR_INTERNAL_KEY__=window.__RTRVR_INTERNAL_KEY__||n}catch{}let r=window.__RTRVR_INTERNAL_KEY__||n,o=window[r],i=o&&typeof o=="object"?o:{};if(!o)try{Object.defineProperty(window,r,{value:i,writable:!1,configurable:!1,enumerable:!1})}catch{window[r]=i}async function a(g){let N={};try{let C=Bm[g.opcode];if(!C)throw new Error(`Unknown tool opcode: ${g.opcode}`);let M={...g.call,name:C};N=(await y({tabIndex:g.tabIndex,call:M,elementData:b(g.elementData),payload:g.payload}))[0]?.response??{success:!1,error:"Empty tool response",allowFallback:!0}}catch(C){N={success:!1,error:C?.message||String(C),allowFallback:!0}}return N}try{Object.defineProperty(i,"actions",{value:Object.freeze({execute:a}),writable:!1,configurable:!1,enumerable:!1})}catch{}let s="__RTRVR_UPLOAD_BYTES_REQ__",c="__RTRVR_UPLOAD_BYTES_RES__",l="__RTRVR_UPLOAD_BYTES_BRIDGE__",d="__RTRVR_WINDOW_MESSAGE_MUX__";function m(g){let N=g,C=N[d];if(!C||typeof C!="object"){C={handlers:new Set,installed:!1};try{Object.defineProperty(N,d,{value:C,enumerable:!1,configurable:!1})}catch{N[d]=C}}if(!C.installed){C.installed=!0,g.addEventListener("message",M=>{if(M.source===g)for(let T of Array.from(C.handlers))try{T(M)}catch{}},!0);try{g.addEventListener("pagehide",()=>{let T=g[l]?.pending;if(T)for(let[S,I]of T){try{I.cancelTimeout()}catch{}I.reject(new Error("pagehide: upload bytes request canceled")),T.delete(S)}},!0)}catch{}}return C}function f(g){let N=g,C=N[l];if(!C||typeof C!="object"){C={pending:new Map};try{Object.defineProperty(N,l,{value:C,enumerable:!1,configurable:!1})}catch{N[l]=C}m(g).handlers.add(T=>{let S=T?.data;if(!S||typeof S!="object"||S.type!==c)return;let I=String(S.requestId||"");if(!I)return;let D=C.pending.get(I);if(!D)return;C.pending.delete(I);try{D.cancelTimeout()}catch{}if(!S.ok){D.reject(new Error(S.error||"Failed to get bytes"));return}let U=S.bytes;if(!(U instanceof ArrayBuffer)){D.reject(new Error("Invalid bytes payload (expected ArrayBuffer)"));return}if(typeof D.expectedByteLength=="number"&&U.byteLength!==D.expectedByteLength){D.reject(new Error(`Byte length mismatch: got=${U.byteLength}, expected=${D.expectedByteLength}`));return}D.resolve(U)})}return C}function p(g,N,C,M=9e4){let T=g.__ROVER_UPLOAD_BYTES__||g.rover?.uploadBytes||g.rtrvr?.uploadBytes;if(typeof T=="function")return Promise.resolve().then(()=>T({token:N,byteLength:C,timeoutMs:M})).then(q=>{if(q instanceof ArrayBuffer)return q;if(q&&q.buffer instanceof ArrayBuffer)return q.buffer;throw new Error("Upload bytes provider returned invalid buffer")});let S=f(g),I=globalThis.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(16).slice(2)}`,D=Math.max(1e3,Math.min(Number(M)||9e4,18e4)),U=Gc(g)||document;return new Promise((q,K)=>{let Z=!1,oe=!1,ve=()=>{oe=!0};(async()=>{await cn(D,U),!(oe||Z)&&(S.pending.delete(I),Z=!0,K(new Error("Timed out waiting for upload bytes")))})().catch(()=>{}),S.pending.set(I,{cancelTimeout:ve,expectedByteLength:C,resolve:Se=>{Z||(Z=!0,ve(),q(Se))},reject:Se=>{Z||(Z=!0,ve(),K(Se))}}),g.postMessage({type:s,requestId:I,token:N,byteLength:C},"*")})}function b(g){if(g)return{frameworks:g.frameworks?g.frameworks.map(N=>Pm[N]).filter(N=>N&&N!=="unknown"):[],listenersRaw:g.listenersRaw??"",role:g.role??void 0,pattern:g.pattern??void 0,value:g.value??void 0}}async function y({tabIndex:g,call:N,elementData:C,payload:M}){let T=(()=>{try{return wr()?.top?.document||document}catch{return document}})(),S=N.args,I=D0(S),D,U,q=[],K=[],Z=[];try{({doc:D,win:U,iframePath:q,resolvedPath:K,unresolvedPath:Z}=oa(T,S.iframe_id))}catch{if(S.iframe_id!=null){let Ie=`Cannot access iframe ${S.iframe_id} (cross-origin or not found)`;return[{name:N.name,args:N.args,response:{success:!1,error:Ie,allowFallback:!1,output:{success:!1,error:{code:"IFRAME_CONTEXT_UNAVAILABLE",message:Ie,retryable:!1},iframe_context:{requested_iframe_id:S.iframe_id}}}}]}D=document,U=ke(D)}if(S.iframe_id!=null&&Z.length>0&&!I){let Me=`iframe_id unresolved: remaining=${Z.join(">")||"(none)"} (cross-origin, not-ready, or not found)`;return[{name:N.name,args:N.args,response:{success:!1,error:Me,allowFallback:!1,details:`requested=${q.join(">")||"(none)"} resolved=${K.join(">")||"(none)"}`,output:{success:!1,error:{code:"IFRAME_CONTEXT_UNAVAILABLE",message:Me,retryable:!1},iframe_context:{requested_iframe_id:S.iframe_id,requested_path:q,resolved_path:K,unresolved_path:Z}}}}]}let oe=N.name,ve=O0(S),Se=ve?Er(D,ve):null,We=Se?.ownerDocument??null,Ce;if(!P0.has(oe))Ce={success:!1,error:`Tool not promotable to main: ${oe}`,allowFallback:!0};else{let Ie=We??D,Me=ke(Ie,U);Ce=await w(oe,Se,S,C,Ie,Me,M)}return[{name:N.name,args:N.args,response:Ce}]}async function k(g,N,C){try{let M=g.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",S=g[M]?.scroll?.execute;if(typeof S!="function")throw new Error("main-world scroll detector not available");let I=C?.doc||Gc(g)||document,D=Math.max(250,Math.min(Number(C?.timeoutMs??3500),8e3)),U=await ia(Promise.resolve().then(()=>S(N)),D,I);if(!U.ok)throw new Error("scroll detector timeout");return U.value}catch(M){throw new Error(M?.message||"main-world scroll detector not available")}}async function w(g,N,C,M,T,S,I){let D=oe=>({success:oe.success,error:oe.success?void 0:oe.details||"Action failed",allowFallback:oe.success?void 0:oe.allowFallback??!0}),U=g===G.press_key||g===G.scroll_page||g===G.drag_and_drop||g===G.pinch_zoom;if(!N&&!U)return D({success:!1,method:"missing-element-race",details:"Target element missing",allowFallback:!0});let q=new Set([G.type_into_element,G.type_and_enter,G.clear_element,G.focus_element,G.select_text,G.check_field_validity]),K=N,Z=fe(K,T);if(K&&q.has(g)){let oe=qh(K,Z);(oe.kind==="input"||oe.kind==="contenteditable")&&(K=oe.el)}try{switch(g){case G.click_element:return D(E(N,T,S,M));case G.double_click_element:return D(mn(N,T,S));case G.right_click_element:return D(lr(N,T,S));case G.hover_element:return D(await te(N,T,S,M,C.duration));case G.type_into_element:return D(await Rt(K,T,S,C.text,M));case G.type_and_enter:return D(await ot(K,T,S,C.text,M));case G.clear_element:return D(await Oe(K,T,S,M));case G.focus_element:return D(F(K,T,S));case G.select_dropdown_value:return D(Y(N,T,S,C.value,M));case G.adjust_slider:return D(ye(N,T,S,M?.value??C.value,M));case G.check_field_validity:return D(Q(K,T,S));case G.select_text:return D(ue(K,T,S,C.start_offset,C.end_offset));case G.scroll_page:return D(await ae(N,T,S,C));case G.scroll_to_element:return D(await pe(N,T,S,C));case G.mouse_wheel:return D(Qe(N,T,S,C.delta_x,C.delta_y));case G.drag_element:return D(await Je(N,T,S,C,M));case G.drag_and_drop:return D(await Tt(C,N,T,S));case G.swipe_element:return D(await gt(N,T,S,C));case G.long_press_element:return D(await At(N,T,S,C.duration));case G.pinch_zoom:return D(await je(N,T,S,C));case G.press_key:return D(Ue(C.key,C.modifiers,N,T,S));case G.copy_text:return D(await ct(N,T,S));case G.paste_text:return D(await _t(N,T,S,M));case G.upload_file:return D(await ft(C,T,S,I,N,M));case G.dispatch_pointer_path:return D(await fn(C,T,S));default:return D({success:!1,method:"unhandled",details:`Unhandled ${g}`,allowFallback:!0})}}catch(oe){return D({success:!1,method:"exception",details:oe?.message||"exception",allowFallback:!0})}}function x(g){let N=new Map;if(!g)return N;let C=g.trim();if(!C)return N;let M=si(C);if(M){for(let{id:T,mask:S}of M.entries){let I=oo[T];if(!I)continue;let D=new Set(Fc(S)),U=N.get(I);if(U)for(let q of D)U.add(q);else N.set(I,D)}return N}return N}function h(g,...N){return g?N.some(C=>g.has(C)):!1}function A(g,N){let C=x(N?.listenersRaw),M=new Set;for(let[,q]of C)for(let K of q)(K==="react"||K==="vue"||K==="angular"||K==="svelte"||K==="jquery")&&M.add(K);let T=new Set;for(let[q,K]of C)if(["click","input","change","keydown","keyup","pointerdown","pointerup","mousedown","mouseup","submit","dragstart","drop","wheel","scroll"].includes(q))for(let Z of K)T.add(Z);let S=M.size>0||[...T].some(q=>["react","vue","angular","svelte","jquery"].includes(q)),I=h(C.get("click"),"delegated"),D=h(C.get("input"),"delegated")||h(C.get("change"),"delegated")||h(C.get("keydown"),"delegated"),U=N?.role||ds(g)||g.getAttribute("role");return{sourcesByType:C,fws:M,isFrameworkElement:S,delegatedClick:I,delegatedInput:D,role:U}}function E(g,N,C,M){let T=A(g,M),S=fe(g,N),I=ke(S,C);Ht(g,S,I),M?.pattern==="hover-activate"&&te(g,S,I,M,120);let D=T.fws.has("react")||h(T.sourcesByType.get("click"),"react"),U=T.fws.has("vue")||h(T.sourcesByType.get("click"),"vue"),q=T.fws.has("angular")||h(T.sourcesByType.get("click"),"angular"),K=T.fws.has("svelte")||h(T.sourcesByType.get("click"),"svelte"),Z=T.fws.has("jquery")||h(T.sourcesByType.get("click"),"jquery");return bn(()=>_(g,S,I),()=>z(g,S,I),()=>D?V(g,S,I):null,()=>U?ne(g,S,I):null,()=>q?$(g,S,I):null,()=>K?re(g,S,I):null,()=>Z?X(g,S,I):null)}function _(g,N,C){let M=fe(g,N),T=ke(M,C),S=T.PointerEvent||PointerEvent,I=T.MouseEvent||MouseEvent,{x:D,y:U}=ee(g,M,T),q={bubbles:!0,cancelable:!0,composed:!0,view:T,clientX:D,clientY:U,button:0,buttons:1};return g.focus?.({preventScroll:!0}),[new S("pointerover",q),new S("pointerenter",{...q,bubbles:!1}),new I("mouseover",q),new I("mouseenter",{...q,bubbles:!1}),new S("pointerdown",q),new I("mousedown",q),new S("pointerup",{...q,buttons:0}),new I("mouseup",{...q,buttons:0}),new I("click",{...q,buttons:0})].forEach(Z=>g.dispatchEvent(Z)),{success:!0,method:"pointer-mouse-click"}}function z(g,N,C){let M=fe(g,N),T=ke(M,C);try{if(g instanceof HTMLAnchorElement){let S=g.getAttribute("target");try{g.setAttribute("target","_self"),g.click()}finally{S===null?g.removeAttribute("target"):g.setAttribute("target",S)}}else g.click?.();return{success:!0,method:"native-click"}}catch{return{success:!1,method:"native-click"}}}function ee(g,N,C){let M=fe(g,N),T=g.getBoundingClientRect(),S=[{x:T.left+T.width/2,y:T.top+T.height/2},{x:T.left+4,y:T.top+4},{x:T.right-4,y:T.top+4},{x:T.left+4,y:T.bottom-4},{x:T.right-4,y:T.bottom-4}],I=null;for(let D=0;D<S.length;D++){let U=S[D],q=M.elementFromPoint(U.x,U.y);if(D===0&&(I=q),q&&Jh(g,q))return{...U,hit:q,ok:!0}}return{...S[0],hit:I,ok:!1}}function V(g,N,C){let M=fe(g,N),T=ke(M,C);try{let S=Qn(g);if(!S)return{success:!1,method:"react-no-fiber"};let I=Zn(S),D=I.onClick||I.onClickCapture;return D?(D(On("click",g,M,T)),{success:!0,method:"react-fiber-onClick"}):{success:!1,method:"react-no-onClick"}}catch{return{success:!1,method:"react-fiber-onClick"}}}function ne(g,N,C){let M=fe(g,N),S=ke(M,C).MouseEvent||MouseEvent;try{let I=Bt(g);if(!I)return{success:!1,method:"vue-none"};let D=Ro(I);return D.click?(D.click(new S("click",{bubbles:!0})),{success:!0,method:"vue-handler"}):I.$emit?(I.$emit("click"),{success:!0,method:"vue-emit"}):{success:!1,method:"vue-no-click"}}catch{return{success:!1,method:"vue-handler"}}}function $(g,N,C){let M=fe(g,N),T=ke(M,C),S=T.MouseEvent||MouseEvent;try{let I=T.ng?.getZone?.()||null;return I?.run?(I.run(()=>g.dispatchEvent(new S("click",{bubbles:!0,cancelable:!0}))),{success:!0,method:"angular-zone-click"}):(g.dispatchEvent(new S("click",{bubbles:!0,cancelable:!0})),g.click?.(),{success:!0,method:"angular-click"})}catch{return{success:!1,method:"angular-click",allowFallback:!0}}}function re(g,N,C){let M=fe(g,N),S=ke(M,C).MouseEvent||MouseEvent;try{let I=g.getBoundingClientRect(),D={bubbles:!0,cancelable:!0,view:g.ownerDocument?.defaultView||window,clientX:I.left+I.width/2,clientY:I.top+I.height/2};return g.dispatchEvent(new S("mousedown",D)),g.dispatchEvent(new S("mouseup",D)),g.dispatchEvent(new S("click",D)),{success:!0,method:"svelte-click"}}catch{return{success:!1,method:"svelte-click"}}}function X(g,N,C){let M=fe(g,N),T=ke(M,C);try{return T.jQuery?.(g)?.trigger?.("click"),{success:!0,method:"jquery-trigger"}}catch{return{success:!1,method:"jquery-trigger"}}}async function te(g,N,C,M,T=500){let S=Math.min(Math.max(0,Number(T)||500),3e4),I=fe(g,N),D=ke(I,C),U=A(g,M);Ht(g,I,D);let q=D.PointerEvent||PointerEvent,K=D.MouseEvent||MouseEvent,Z=g.getBoundingClientRect(),oe=Z.left+Z.width/2,ve=Z.top+Z.height/2;if(U.fws.has("react")){let Ce=Qn(g),Ie=Ce?Zn(Ce):{};Ie.onMouseEnter?.(On("mouseenter",g,I,D)),Ie.onPointerEnter?.(On("pointerenter",g,I,D))}else if(U.fws.has("vue")){let Ce=Bt(g),Ie=Ce?Ro(Ce):{};Ie.mouseenter?.(new K("mouseenter",{bubbles:!0})),Ie.mouseover?.(new K("mouseover",{bubbles:!0}))}let Se={bubbles:!0,cancelable:!0,composed:!0,view:D,clientX:oe,clientY:ve};return[new q("pointerover",Se),new q("pointerenter",{...Se,bubbles:!1}),new K("mouseover",Se),new K("mouseenter",{...Se,bubbles:!1})].forEach(Ce=>g.dispatchEvent(Ce)),await cn(S,I),{success:!0,method:"hover-seq"}}async function de(g,N,C=1){await Promise.resolve();for(let M=0;M<C;M++)g.hidden?await Dn():await new Promise(T=>{try{N.requestAnimationFrame(()=>T())}catch{Dn().then(T)}})}let me=g=>String(g??"").replace(/\s+/g," ").trim();function be(g){try{if("value"in g)return String(g.value??"")}catch{}return""}function Be(g){try{return typeof gi=="function"?gi(g):me(g.textContent)}catch{return""}}function bt(g,N){if(!(N.isFrameworkElement||N.delegatedInput))return!1;let C=String(g??"").length;return C>0&&C<=140}async function Rt(g,N,C,M,T){let S=A(g,T),I=fe(g,N),D=ke(I,C);if(Ht(g,I,D),fr(g,D)||Sr(g,D)){let q=bt(String(M??""),S),K=await Vh(g,I,D,M,{settleFrames:I.hidden?1:2,useKeyFallback:q,keyFallbackMaxLen:140});return{success:K.success,method:K.method,details:K.details,allowFallback:!K.success}}if(g.isContentEditable===!0||S.role==="textbox"&&!("value"in g)){let q=Be(g),K=Gh(g,M,I,D);await de(I,D,I.hidden?1:2);let Z=Be(g),oe=!1;if(String(M??"").length>0&&Z===q){oe=!0;try{ta(g,I,D),ea(g,I,D,!0);try{I.execCommand?.("insertText",!1,String(M??""))}catch{}hi(g,String(M??""),"insertText")}catch{}await de(I,D,I.hidden?1:2)}let ve=Be(g),Se=ve!==q||!!String(M??"")&&ve.includes(String(M??""));return{success:Se,method:K.method,details:`${K.details};beforeLen=${q.length};afterLen=${ve.length};reverted=${Z===q};fallback=${oe}`,allowFallback:Se?void 0:!0}}return{success:!1,method:"type",details:"target not editable",allowFallback:!0}}async function ot(g,N,C,M,T){let S=fe(g,N),I=ke(S,C),D=await Rt(g,S,I,M,T);if(!D.success)return D;let U=Kh(g);return{success:!0,method:"type+enter",details:`${D.details};enter=${U.method}`}}async function Oe(g,N,C,M){let T=fe(g,N),S=ke(T,C),I=S.Event||Event;if(Ht(g,T,S),fr(g,S)||Sr(g,S)){let U=be(g),q=Xh(g,T,S);if(await de(T,S,T.hidden?1:2),be(g)===U&&U.length>0){try{ys(g,""),hi(g,"","deleteByCut")}catch{}await de(T,S,T.hidden?1:2)}let oe=be(g),ve=oe.length===0||oe!==U;return{success:q.success,method:q.method,details:q.details,allowFallback:!q.success}}if(g.isContentEditable===!0||A(g,M).role==="textbox"&&!("value"in g)){let U=Yh(g,T,S);return await de(T,S,T.hidden?1:2),{success:U.success,method:U.method,details:U.details,allowFallback:!U.success}}if("value"in g){try{g.value=""}catch{}return g.dispatchEvent(new I("input",{bubbles:!0,composed:!0})),g.dispatchEvent(new I("change",{bubbles:!0,composed:!0})),{success:!0,method:"clear-generic-value"}}return{success:!1,method:"clear",details:"target not clearable",allowFallback:!0}}function F(g,N,C){try{let M=fe(g,N),T=ke(M,C),S=T.FocusEvent||FocusEvent;return Ht(g,M,T),g.focus?.({preventScroll:!0}),g.dispatchEvent(new S("focus",{bubbles:!0})),g.dispatchEvent(new S("focusin",{bubbles:!0})),{success:!0,method:"focus"}}catch(M){return{success:!1,method:"focus",details:M.message,allowFallback:!0}}}function Y(g,N,C,M,T){try{let S=fe(g,N),I=ke(S,C),D=I.Event||Event;if(!qm(g,I))return{success:!1,method:"select",details:"target not select",allowFallback:!0};Ht(g,S,I),g.focus?.({preventScroll:!0});let U=Array.from(g.options).find(oe=>oe.value===M||oe.text.trim()===M.trim());if(!U)return{success:!1,method:"select",details:`Option not found: ${M}`,allowFallback:!0};U.selected=!0;let q=Object.getPrototypeOf(g),K=Object.getOwnPropertyDescriptor(q,"value");if(K?.set?K.set.call(g,U.value):g.value=U.value,g.dispatchEvent(new D("input",{bubbles:!0,composed:!0})),g.dispatchEvent(new D("change",{bubbles:!0,composed:!0})),A(g,T).fws.has("react")){let oe=Qn(g);if(oe){let ve=Zn(oe);if(ve.onChange){let Se=On("change",g,S,I);Se.target.value=U.value,ve.onChange(Se)}}}return{success:!0,method:"select"}}catch(S){return{success:!1,method:"select",details:S.message,allowFallback:!0}}}function ye(g,N,C,M,T){try{let S=fe(g,N),I=ke(S,C),D=I.Event||Event;if(!fr(g,I))return{success:!1,method:"slider",details:"target not input",allowFallback:!0};Ht(g,S,I),g.focus?.({preventScroll:!0});let U=Object.getPrototypeOf(g),q=Object.getOwnPropertyDescriptor(U,"value");if(q?.set?q.set.call(g,String(M)):g.value=String(M),g.dispatchEvent(new D("input",{bubbles:!0,composed:!0})),g.dispatchEvent(new D("change",{bubbles:!0,composed:!0})),A(g,T).fws.has("react")){let Z=Qn(g);if(Z){let oe=Zn(Z);if(oe.onChange){let ve=On("change",g,S,I);ve.target.value=String(M),oe.onChange(ve)}}}return{success:!0,method:"slider"}}catch(S){return{success:!1,method:"slider",details:S.message,allowFallback:!0}}}function Q(g,N,C){try{let M=g.checkValidity?.()??!0;return M||g.reportValidity?.(),{success:M,method:"check-validity",details:M?void 0:g.validationMessage}}catch(M){return{success:!1,method:"check-validity",details:M.message,allowFallback:!0}}}function ue(g,N,C,M,T){try{let S=fe(g,N),I=ke(S,C);if("setSelectionRange"in g){let q=g;q.focus?.();let K=q.value?.length??0;return q.setSelectionRange(M??0,T??K),{success:!0,method:"select-range"}}let D=I.getSelection();if(!D)return{success:!1,method:"select-range",allowFallback:!0};let U=S.createRange();return U.selectNodeContents(g),D.removeAllRanges(),D.addRange(U),{success:!0,method:"select-range-node"}}catch(S){return{success:!1,method:"select-range",details:S.message,allowFallback:!0}}}function ie(g,N,C,M,T){let S=bi((g&&fe(g))??N),I=g||S,D=fe(I,N),U=ke(D,C),q=I===D.documentElement||I===D.body||I===S;if(M===$t.TOP||M===$t.BOTTOM){let K=I.scrollHeight,Z=q?U.innerHeight:I.clientHeight,oe=Math.max(0,K-Z);return I.scrollTop=M===$t.TOP?0:oe,{success:!0,scrollTop:I.scrollTop}}return bl(I,D,U,M,T)}async function ae(g,N,C,M){let T=M.direction,S=M.amount,I=fe(g,N),D=ke(I,C),U=!I.hidden,q=U?"smooth":"auto";try{if(g){let Z=et(g,I,D),oe=ie(Z,I,D,T,S);return oe?.success?{success:!0,method:"direct-element-scroll",details:JSON.stringify(oe)}:{success:!1,method:"direct-element-scroll",details:oe?.error||"direct scroll failed",allowFallback:!0}}if(T===$t.TOP||T===$t.BOTTOM){let Z=await k(D,{action:"scrollTo",direction:T,options:{behavior:q,isTabActive:U}},{doc:I,timeoutMs:I.hidden?5200:2800});return{success:!0,method:"detector-scrollTo",details:JSON.stringify(Z)}}let K=await k(D,{action:"scrollBy",direction:T,options:{amount:S,behavior:q,isTabActive:U}},{doc:I,timeoutMs:I.hidden?5200:2800});return{success:!0,method:"detector-scrollBy",details:JSON.stringify(K)}}catch(K){let Z=I?ie(bi(I),I,D,T,S):void 0;return Z?.success?{success:!0,method:"direct-primary-scroll-fallback",details:JSON.stringify(Z)}:{success:!1,method:"scroll-page-failed",details:K?.message||Z?.error||"scroll_page failed",allowFallback:!0}}}async function pe(g,N,C,M){let T=fe(g,N),S=ke(T,C),I=!T.hidden,D=I?"smooth":"auto",U=bg(M.position),q=aa(g,T);if(!q){let K=Mu(g,T,S,U);return{success:K.success,method:"direct-scrollElement-no-selector",details:K.error,allowFallback:!K.success}}try{let K=await k(S,{action:"scrollElement",selector:q,position:U,options:{behavior:D,isTabActive:I}},{doc:T,timeoutMs:T.hidden?5600:3e3});return{success:!0,method:"detector-scrollElement",details:JSON.stringify(K)}}catch(K){let Z=Mu(g,T,S,U);return Z.success?{success:!0,method:"direct-scrollElement-fallback",details:JSON.stringify(Z)}:{success:!1,method:"scroll-to-element-failed",details:K?.message||Z.error||"scroll_to_element failed",allowFallback:!0}}}function Qe(g,N,C,M,T){try{let S=fe(g,N),I=ke(S,C),D=I.WheelEvent||WheelEvent;Ht(g,S,I);let U=et(g,S,I);return U.dispatchEvent(new D("wheel",{bubbles:!0,cancelable:!0,composed:!0,view:I,deltaX:M||0,deltaY:T||0,deltaMode:D.DOM_DELTA_PIXEL})),U.scrollBy({left:M||0,top:T||0,behavior:"auto"}),{success:!0,method:"wheel"}}catch(S){return{success:!1,method:"wheel",details:S.message,allowFallback:!0}}}function et(g,N,C){let M=fe(g,N),T=ke(M,C),S=M.scrollingElement||M.documentElement||M.body,I=g;for(;I&&I!==M.body&&I!==M.documentElement;){let U=T.getComputedStyle(I).overflowY;if((U==="auto"||U==="scroll"||U==="overlay")&&I.scrollHeight>I.clientHeight+5)return I;I=I.parentElement}return S}async function Je(g,N,C,M,T){try{let S=fe(g,N),I=ke(S,C),D=I.PointerEvent||PointerEvent,U=I.MouseEvent||MouseEvent,q=I.DragEvent||DragEvent,K=I.DataTransfer||DataTransfer;Ht(g,S,I);let Z=ee(g,S,I),oe=Zt(Z.hit,I)?Z.hit:g,ve=g.getBoundingClientRect(),Se=Number.isFinite(Number(M?.distance))?Number(M.distance):160,We=0,Ce=0;switch(String(M?.direction||"").toUpperCase()){case"UP":Ce=-Se;break;case"DOWN":Ce=Se;break;case"LEFT":We=-Se;break;case"RIGHT":We=Se;break;default:We=Number(M?.delta_x)||0,Ce=Number(M?.delta_y)||0}let Ie=(ge,Le)=>({x:Math.max(2,Math.min(ge,I.innerWidth-3)),y:Math.max(2,Math.min(Le,I.innerHeight-3))}),Me=Ie(Z.x,Z.y),dt=Ie(Z.x+We,Z.y+Ce),Lt=500+Date.now()%1e4,Ge=Math.max(12,Math.min(36,Number(M?.steps)||18)),it=(ge,Le)=>({bubbles:!0,cancelable:!0,composed:!0,view:I,clientX:ge,clientY:Le,pageX:ge+(I.scrollX||0),pageY:Le+(I.scrollY||0)}),qe=(ge,Le,ut)=>({...it(ge,Le),pointerId:Lt,pointerType:"mouse",isPrimary:!0,width:1,height:1,pressure:ut?.5:0,buttons:ut,button:0}),Ze=(ge,Le,ut)=>({...it(ge,Le),buttons:ut,button:0});oe.dispatchEvent(new D("pointerdown",qe(Me.x,Me.y,1))),oe.dispatchEvent(new U("mousedown",Ze(Me.x,Me.y,1)));try{oe.setPointerCapture?.(Lt)}catch{}let wt=null;try{(g.draggable||A(g,T).sourcesByType.has("dragstart"))&&(wt=new K)}catch{wt=null}if(wt)try{g.dispatchEvent(new q("dragstart",{bubbles:!0,cancelable:!0,clientX:Me.x,clientY:Me.y,dataTransfer:wt}))}catch{}let at=null;for(let ge=1;ge<=Ge;ge++){let Le=Me.x+(dt.x-Me.x)*ge/Ge,ut=Me.y+(dt.y-Me.y)*ge/Ge,En=S.elementFromPoint(Le,ut)||g;if(En.dispatchEvent(new D("pointermove",qe(Le,ut,1))),En.dispatchEvent(new U("mousemove",Ze(Le,ut,1))),wt)try{at&&at!==En&&at.dispatchEvent(new q("dragleave",{bubbles:!0,cancelable:!0,clientX:Le,clientY:ut,dataTransfer:wt})),En.dispatchEvent(new q("dragover",{bubbles:!0,cancelable:!0,clientX:Le,clientY:ut,dataTransfer:wt})),at=En}catch{}ge%3===0&&await Dn()}let Re=S.elementFromPoint(dt.x,dt.y)||g;if(Re.dispatchEvent(new D("pointerup",qe(dt.x,dt.y,0))),Re.dispatchEvent(new U("mouseup",Ze(dt.x,dt.y,0))),wt)try{g.dispatchEvent(new q("dragend",{bubbles:!0,cancelable:!0,clientX:dt.x,clientY:dt.y,dataTransfer:wt}))}catch{}return{success:!0,method:"drag",details:`dx=${We};dy=${Ce};steps=${Ge};hitOk=${Z.ok}`}}catch(S){return{success:!1,method:"drag",details:S?.message||"drag failed",allowFallback:!0}}}async function Tt(g,N,C,M){try{let T=fe(N,C),S=ke(T,M),I=S.PointerEvent||PointerEvent,D=S.MouseEvent||MouseEvent,U=S.DragEvent||DragEvent,q=S.DataTransfer||DataTransfer,K=g?.source_element_id??g?.element_id,Z=(K?Er(T,String(K)):null)||N;if(!Z)return{success:!1,method:"drag-drop",details:"source missing",allowFallback:!0};let oe=null,ve=Number(g?.target_x),Se=Number(g?.target_y);if(g?.target_element_id){if(oe=Er(T,String(g.target_element_id)),!oe)return{success:!1,method:"drag-drop",details:"target missing",allowFallback:!0};let Re=oe.getBoundingClientRect();ve=Re.left+Re.width/2,Se=Re.top+Re.height/2}if((!Number.isFinite(ve)||!Number.isFinite(Se))&&!oe)return{success:!1,method:"drag-drop",details:"missing target coords",allowFallback:!0};Ht(Z,T,S),oe&&Ht(oe,T,S);let We=(Re,ge)=>({x:Math.max(2,Math.min(Re,S.innerWidth-3)),y:Math.max(2,Math.min(ge,S.innerHeight-3))}),Ce=Z.getBoundingClientRect(),Ie=We(Ce.left+Ce.width/2,Ce.top+Ce.height/2),Me=We(Number(ve),Number(Se)),dt=600+Date.now()%1e4,Lt=Math.max(14,Math.min(42,Number(g?.steps)||22)),Ge=(Re,ge)=>({bubbles:!0,cancelable:!0,composed:!0,view:S,clientX:Re,clientY:ge,pageX:Re+(S.scrollX||0),pageY:ge+(S.scrollY||0)}),it=(Re,ge,Le)=>({...Ge(Re,ge),pointerId:dt,pointerType:"mouse",isPrimary:!0,width:1,height:1,pressure:Le?.5:0,buttons:Le,button:0}),qe=(Re,ge,Le)=>({...Ge(Re,ge),buttons:Le,button:0}),Ze=null;try{Ze=new q}catch{Ze=null}Z.dispatchEvent(new I("pointerdown",it(Ie.x,Ie.y,1))),Z.dispatchEvent(new D("mousedown",qe(Ie.x,Ie.y,1)));try{Z.setPointerCapture?.(dt)}catch{}if(Ze)try{Z.dispatchEvent(new U("dragstart",{bubbles:!0,cancelable:!0,clientX:Ie.x,clientY:Ie.y,dataTransfer:Ze}))}catch{}let wt=null;for(let Re=1;Re<=Lt;Re++){let ge=Ie.x+(Me.x-Ie.x)*Re/Lt,Le=Ie.y+(Me.y-Ie.y)*Re/Lt,ut=T.elementFromPoint(ge,Le)||oe||T.body;if(ut.dispatchEvent(new I("pointermove",it(ge,Le,1))),ut.dispatchEvent(new D("mousemove",qe(ge,Le,1))),Ze)try{wt&&wt!==ut&&wt.dispatchEvent(new U("dragleave",{bubbles:!0,cancelable:!0,clientX:ge,clientY:Le,dataTransfer:Ze})),ut.dispatchEvent(new U("dragenter",{bubbles:!0,cancelable:!0,clientX:ge,clientY:Le,dataTransfer:Ze})),ut.dispatchEvent(new U("dragover",{bubbles:!0,cancelable:!0,clientX:ge,clientY:Le,dataTransfer:Ze})),wt=ut}catch{}Re%3===0&&await Dn()}let at=oe||T.elementFromPoint(Me.x,Me.y)||T.body;if(Ze)try{at.dispatchEvent(new U("drop",{bubbles:!0,cancelable:!0,clientX:Me.x,clientY:Me.y,dataTransfer:Ze}))}catch{}if(at.dispatchEvent(new I("pointerup",it(Me.x,Me.y,0))),at.dispatchEvent(new D("mouseup",qe(Me.x,Me.y,0))),Ze)try{Z.dispatchEvent(new U("dragend",{bubbles:!0,cancelable:!0,clientX:Me.x,clientY:Me.y,dataTransfer:Ze}))}catch{}return{success:!0,method:"html5+pointer-dragdrop",details:`steps=${Lt};source=${String(K)}`}}catch(T){return{success:!1,method:"drag-drop",details:T?.message||"drag-drop failed",allowFallback:!0}}}async function gt(g,N,C,M){try{let T=fe(g,N),S=ke(T,C),I=S.PointerEvent||PointerEvent,D=S.MouseEvent||MouseEvent;Ht(g,T,S);let U=ee(g,T,S),q={x:U.x,y:U.y},K=g.getBoundingClientRect(),Z=Number.isFinite(Number(M?.distance))?Number(M.distance):Math.min(Math.max(80,Math.min(K.width,K.height)),220),oe=String(M?.direction||"RIGHT").toUpperCase(),ve=q.x,Se=q.y;oe==="LEFT"&&(ve-=Z),oe==="RIGHT"&&(ve+=Z),oe==="UP"&&(Se-=Z),oe==="DOWN"&&(Se+=Z);let We=(ge,Le)=>({x:Math.max(2,Math.min(ge,S.innerWidth-3)),y:Math.max(2,Math.min(Le,S.innerHeight-3))}),Ce=We(q.x,q.y),Ie=We(ve,Se),Me=700+Date.now()%1e4,dt=Math.max(10,Math.min(28,Number(M?.steps)||16)),Lt=(ge,Le)=>({bubbles:!0,cancelable:!0,composed:!0,view:S,clientX:ge,clientY:Le,pageX:ge+(S.scrollX||0),pageY:Le+(S.scrollY||0)}),Ge=(ge,Le,ut)=>({...Lt(ge,Le),pointerId:Me,pointerType:"touch",isPrimary:!0,width:1,height:1,pressure:ut?.5:0,buttons:ut,button:0}),it=(ge,Le,ut)=>({...Lt(ge,Le),buttons:ut,button:0}),qe=T.elementFromPoint(Ce.x,Ce.y)||g;qe.dispatchEvent(new I("pointerdown",Ge(Ce.x,Ce.y,1))),qe.dispatchEvent(new D("mousedown",it(Ce.x,Ce.y,1)));let Ze=S.Touch,wt=S.TouchEvent,at=!!Ze&&!!wt;if(at)try{let ge=new Ze({identifier:Me,target:qe,clientX:Ce.x,clientY:Ce.y,pageX:Ce.x,pageY:Ce.y,screenX:Ce.x,screenY:Ce.y,radiusX:1,radiusY:1,rotationAngle:0,force:1});qe.dispatchEvent(new wt("touchstart",{bubbles:!0,cancelable:!0,composed:!0,touches:[ge],targetTouches:[ge],changedTouches:[ge]}))}catch{}for(let ge=1;ge<=dt;ge++){let Le=Ce.x+(Ie.x-Ce.x)*ge/dt,ut=Ce.y+(Ie.y-Ce.y)*ge/dt,En=T.elementFromPoint(Le,ut)||g;if(En.dispatchEvent(new I("pointermove",Ge(Le,ut,1))),En.dispatchEvent(new D("mousemove",it(Le,ut,1))),at)try{let It=new Ze({identifier:Me,target:En,clientX:Le,clientY:ut,pageX:Le,pageY:ut,screenX:Le,screenY:ut,radiusX:1,radiusY:1,rotationAngle:0,force:1});En.dispatchEvent(new wt("touchmove",{bubbles:!0,cancelable:!0,composed:!0,touches:[It],targetTouches:[It],changedTouches:[It]}))}catch{}ge%3===0&&await Dn()}let Re=T.elementFromPoint(Ie.x,Ie.y)||g;if(Re.dispatchEvent(new I("pointerup",Ge(Ie.x,Ie.y,0))),Re.dispatchEvent(new D("mouseup",it(Ie.x,Ie.y,0))),at)try{let ge=new Ze({identifier:Me,target:Re,clientX:Ie.x,clientY:Ie.y,pageX:Ie.x,pageY:Ie.y,screenX:Ie.x,screenY:Ie.y,radiusX:1,radiusY:1,rotationAngle:0,force:0});Re.dispatchEvent(new wt("touchend",{bubbles:!0,cancelable:!0,composed:!0,touches:[],targetTouches:[],changedTouches:[ge]}))}catch{}return{success:!0,method:"swipe",details:`dir=${oe};dist=${Z};steps=${dt};hitOk=${U.ok}`}}catch(T){return{success:!1,method:"swipe",details:T?.message||"swipe failed",allowFallback:!0}}}async function je(g,N,C,M){try{let T=g||N.body,S=fe(T,N),I=ke(S,C),D=I.PointerEvent||PointerEvent,U=I.WheelEvent||WheelEvent;Ht(T,S,I);let q=Number.isFinite(Number(M?.scale))?Number(M.scale):1.2,K=T.getBoundingClientRect(),Z=K.left+K.width/2,oe=K.top+K.height/2,ve=24,Se=Math.max(6,Math.min(200,ve*q)),We=Math.max(6,Math.min(18,Number(M?.steps)||10)),Ce=I.Touch,Ie=I.TouchEvent;if(!!Ce&&!!Ie)try{let Ge=(at,Re)=>new Ce({identifier:at,target:T,clientX:Re,clientY:oe,pageX:Re,pageY:oe,screenX:Re,screenY:oe,radiusX:1,radiusY:1,rotationAngle:0,force:1}),it=Ge(911,Z-ve),qe=Ge(912,Z+ve);T.dispatchEvent(new Ie("touchstart",{bubbles:!0,cancelable:!0,composed:!0,touches:[it,qe],targetTouches:[it,qe],changedTouches:[it,qe]}));for(let at=1;at<=We;at++){let Re=ve+(Se-ve)*at/We,ge=Ge(911,Z-Re),Le=Ge(912,Z+Re);T.dispatchEvent(new Ie("touchmove",{bubbles:!0,cancelable:!0,composed:!0,touches:[ge,Le],targetTouches:[ge,Le],changedTouches:[ge,Le]})),at%2===0&&await Dn()}let Ze=Ge(911,Z-Se),wt=Ge(912,Z+Se);T.dispatchEvent(new Ie("touchend",{bubbles:!0,cancelable:!0,composed:!0,touches:[],targetTouches:[],changedTouches:[Ze,wt]}))}catch{}try{let Ge=(it,qe,Ze)=>({bubbles:!0,cancelable:!0,composed:!0,view:I,clientX:qe,clientY:oe,pointerId:it,pointerType:"touch",isPrimary:it===821,width:1,height:1,pressure:Ze?.5:0,buttons:Ze,button:0});T.dispatchEvent(new D("pointerdown",Ge(821,Z-ve,1))),T.dispatchEvent(new D("pointerdown",Ge(822,Z+ve,1)));for(let it=1;it<=We;it++){let qe=ve+(Se-ve)*it/We;T.dispatchEvent(new D("pointermove",Ge(821,Z-qe,1))),T.dispatchEvent(new D("pointermove",Ge(822,Z+qe,1))),it%2===0&&await Dn()}T.dispatchEvent(new D("pointerup",Ge(821,Z-Se,0))),T.dispatchEvent(new D("pointerup",Ge(822,Z+Se,0)))}catch{}try{let dt=q>=1?-120:120;T.dispatchEvent(new U("wheel",{bubbles:!0,cancelable:!0,composed:!0,view:I,clientX:Z,clientY:oe,ctrlKey:!0,deltaY:dt,deltaMode:U.DOM_DELTA_PIXEL}))}catch{}return{success:!0,method:"pinch-zoom",details:`scale=${q};steps=${We}`}}catch(T){return{success:!1,method:"pinch-zoom",details:T?.message||"pinch-zoom failed",allowFallback:!0}}}async function At(g,N,C,M=800){try{let T=fe(g,N),S=ke(T,C),I=S.PointerEvent||PointerEvent,D=S.MouseEvent||MouseEvent,U=S.FocusEvent||FocusEvent;Ht(g,T,S);let q=ee(g,T,S),K=g;!q.ok&&Zt(q.hit,S)?K=q.hit.closest?.('a,button,input,select,textarea,summary,[role="button"],[role="link"],[onclick]')||q.hit:Zt(q.hit,S)&&(K=q.hit);let Z=on(K,T,S),oe=q.x,ve=q.y,Se=1+Date.now()%1e4,We={bubbles:!0,cancelable:!0,composed:!0,view:S,clientX:oe,clientY:ve,pageX:oe+(S.scrollX||0),pageY:ve+(S.scrollY||0),screenX:oe+(S.screenX||0),screenY:ve+(S.screenY||0)},Ce={...We,pointerId:Se,pointerType:"touch",isPrimary:!0,width:1,height:1,pressure:0,buttons:0,button:0};try{K.dispatchEvent(new I("pointerover",Ce)),K.dispatchEvent(new I("pointerenter",{...Ce,bubbles:!1}))}catch{}try{K.dispatchEvent(new D("mouseover",We)),K.dispatchEvent(new D("mouseenter",{...We,bubbles:!1}))}catch{}try{K.focus?.({preventScroll:!0}),K.dispatchEvent(new U("focus",{bubbles:!0,composed:!0})),K.dispatchEvent(new U("focusin",{bubbles:!0,composed:!0}))}catch{}try{K.dispatchEvent(new I("pointerdown",{...Ce,buttons:1,pressure:.5}))}catch{}try{K.dispatchEvent(new D("mousedown",{...We,buttons:1,button:0}))}catch{}try{let Ge=S.Touch,it=S.TouchEvent;if(typeof Ge<"u"&&typeof it<"u"){let qe=new Ge({identifier:Se,target:K,clientX:oe,clientY:ve,pageX:oe+(S.scrollX||0),pageY:ve+(S.scrollY||0),screenX:oe+(S.screenX||0),screenY:ve+(S.screenY||0),radiusX:1,radiusY:1,rotationAngle:0,force:1});K.dispatchEvent(new it("touchstart",{bubbles:!0,cancelable:!0,composed:!0,touches:[qe],targetTouches:[qe],changedTouches:[qe]}))}}catch{}let Ie=Number(M),Me=Number.isFinite(Ie)&&Ie>0?Ie:800,dt=T.hidden?Math.max(Me,1200):Me;await cn(dt,T);try{K.dispatchEvent(new D("contextmenu",{...We,button:2,buttons:2}))}catch{}try{K.dispatchEvent(new I("pointerup",{...Ce,buttons:0,pressure:0}))}catch{}try{K.dispatchEvent(new D("mouseup",{...We,buttons:0,button:0}))}catch{}try{let Ge=S.Touch,it=S.TouchEvent;if(typeof Ge<"u"&&typeof it<"u"){let qe=new Ge({identifier:Se,target:K,clientX:oe,clientY:ve,pageX:oe+(S.scrollX||0),pageY:ve+(S.scrollY||0),screenX:oe+(S.screenX||0),screenY:ve+(S.screenY||0),radiusX:1,radiusY:1,rotationAngle:0,force:0});K.dispatchEvent(new it("touchend",{bubbles:!0,cancelable:!0,composed:!0,touches:[],targetTouches:[],changedTouches:[qe]}))}}catch{}let Lt=await dr(K,T,S,Z);return{success:!0,method:"long-press",details:`holdMs=${dt};verified=${Lt};hitOk=${q.ok};target=${K.tagName.toLowerCase()}`}}catch(T){return{success:!1,method:"long-press",details:T?.message||"long-press failed",allowFallback:!0}}}function Ue(g,N,C,M,T){try{let S=fe(C,M),D=ke(S,T).KeyboardEvent||KeyboardEvent,U=C||S.activeElement||S.body||S.documentElement;U.focus?.();let q={key:g,code:ri(g),bubbles:!0,cancelable:!0,ctrlKey:N?.includes("CTRL"),altKey:N?.includes("ALT"),shiftKey:N?.includes("SHIFT"),metaKey:N?.includes("META")},K=U.dispatchEvent(new D("keydown",q)),Z=U.dispatchEvent(new D("keypress",q)),oe=U.dispatchEvent(new D("keyup",q));if(g==="Enter"&&!!(K&&Z&&oe)){let Se=U.form||U.closest?.("form");Se?.requestSubmit?Se.requestSubmit():Se?.submit?.()}return{success:!0,method:"press-key"}}catch(S){return{success:!1,method:"press-key",details:S.message,allowFallback:!0}}}async function ct(g,N,C){try{let M=g.innerText||g.value||"";if(!M)return{success:!1,method:"copy",details:"nothing to copy",allowFallback:!0};let T=fe(g,N),S=ke(T,C);if(S.navigator?.clipboard?.writeText)return await S.navigator.clipboard.writeText(M),{success:!0,method:"clipboard-copy"};let I=T.createRange();I.selectNodeContents(g);let D=S.getSelection?.()||(T.defaultView||window).getSelection?.();D?.removeAllRanges(),D?.addRange(I);let U=T.execCommand?.("copy")??!1;return D?.removeAllRanges(),{success:!!U,method:"execCommand-copy",allowFallback:!U}}catch(M){return{success:!1,method:"clipboard-copy",details:M.message,allowFallback:!0}}}async function _t(g,N,C,M){try{g.focus?.();let T=fe(g,N),S=ke(T,C);if(S.navigator?.clipboard?.readText){let D=await S.navigator.clipboard.readText();if(D)return await Rt(g,T,S,D,M)}return T.execCommand?.("paste")??!1?{success:!0,method:"execCommand-paste"}:{success:!1,method:"paste",details:"clipboard empty or denied",allowFallback:!0}}catch(T){return{success:!1,method:"paste",details:T.message,allowFallback:!0}}}function pt(g){return`${(g/1024).toFixed(1)}KB`}function Nt(g,N){if(g instanceof N.defaultView.HTMLInputElement){let I=g;if((I.type||"").toLowerCase()==="file")return I}let C=g.closest?.("label"),M=C?.htmlFor||g.htmlFor||"";if(M){let I=N.getElementById(M);if(I&&(I.type||"").toLowerCase()==="file")return I}if(C){let I=C.querySelector?.('input[type="file"]');if(I)return I}let T=g.closest?.("form");if(T){let I=T.querySelector?.('input[type="file"]');if(I)return I}let S=g.closest?.("div,section,main,article")||g.parentElement;if(S){let I=S.querySelector?.('input[type="file"]');if(I)return I}return null}function Ct(g,N,C){try{let M=C.HTMLInputElement?.prototype,T=M?Object.getOwnPropertyDescriptor(M,"files")?.set:void 0;if(!T){let S=Object.getPrototypeOf(g);for(;S&&!T;)T=Object.getOwnPropertyDescriptor(S,"files")?.set,S=Object.getPrototypeOf(S)}return T?(T.call(g,N),!0):(g.files=N,!0)}catch{try{return g.files=N,!0}catch{return!1}}}async function ft(g,N,C,M,T,S){try{let{file_url:I,element_id:D,file_name:U}=g,q=null;if(T&&(q=Nt(T,N)),!q&&D!==void 0&&(q=N.querySelector(`input[type="file"][${Rn}*="[id=${D}]"]`)),!q){let Re=N.querySelectorAll('input[type="file"]');for(let ge of Re){if(ge.disabled)continue;let Le=ge.getBoundingClientRect();if(Le.width>0&&Le.height>0){q=ge;break}}}if(!q)return{success:!1,method:"upload-file",details:"No file input found",allowFallback:!0};if(q.disabled)return{success:!1,method:"upload-file",details:"File input is disabled",allowFallback:!0};let K=fe(q,N),Z=ke(K,C);if(!(M?.kind==="upload_file"&&typeof M.byteLength=="number"&&M.byteLength>=0&&typeof M.mimeType=="string"&&(typeof M.inlineB64=="string"||typeof M.token=="string")))return{success:!1,method:"upload-file",details:"Missing upload payload (need inlineB64 or token)",allowFallback:!0};let ve=Number(M.byteLength),Se=(M.mimeType||"application/octet-stream").split(";")[0].trim()||"application/octet-stream",We;if(M.inlineB64&&typeof M.inlineB64=="string"){let Re=ig(M.inlineB64);if(Re.byteLength!==ve)return{success:!1,method:"upload-file",details:`Inline bytes length mismatch: got=${Re.byteLength} expected=${ve}`,allowFallback:!0};We=Re.buffer}else{let Re=String(M.token);We=await p(Z,Re,ve,9e4)}let Ce=Z.Blob||Blob,Ie=new Ce([We],{type:Se}),Me=U||M?.fileName;!Me&&I&&typeof I=="string"&&(Me=Ru(I,Z)),Me=og(Me||"upload");let dt=Z.File||File,Lt=new dt([Ie],Me,{type:Se,lastModified:Date.now()}),Ge=Z.Event||Event,it=Z.DataTransfer||DataTransfer;if(!it)return{success:!1,method:"upload-file",details:"DataTransfer unavailable in this context",allowFallback:!0};let qe=new it;if(qe.items.add(Lt),!Ct(q,qe.files,Z))return{success:!1,method:"upload-file",details:"Failed to set input.files",allowFallback:!0};q.dispatchEvent(new Ge("input",{bubbles:!0,composed:!0,cancelable:!0})),q.dispatchEvent(new Ge("change",{bubbles:!0,composed:!0,cancelable:!0}));let wt=Qn(q);if(wt){let Re=Zn(wt);if(Re.onChange){let ge=On("change",q,K,Z);ge.target.files=qe.files,Re.onChange(ge)}}let at=Bt(q);if(at){let Re=Ro(at);if(Re.change){let ge=new Ge("change",{bubbles:!0});ge.target=q,ge.target.files=qe.files,Re.change(ge)}}try{let Re=Z.jQuery||Z.$;Re&&typeof Re=="function"&&Re(q).triggerHandler?.("change")}catch{}return q.focus?.({preventScroll:!0}),await de(K,Z,2),{success:!0,method:"upload-file",details:`Uploaded ${Me} (${pt(Ie.size)}) [token]`}}catch(I){return{success:!1,method:"upload-file",details:I?.message||"Upload failed",allowFallback:!0}}}async function fn(g,N,C){let M=Array.isArray(g.path)?g.path:[];if(!M.length)return{success:!1,method:"dispatch_pointer_path",details:"Empty path",allowFallback:!0};let T=C.PointerEvent||PointerEvent,S=C.MouseEvent||MouseEvent,I=16;for(let D=0;D<M.length;D++){let U=M[D],q=Number(U.x)||0,K=Number(U.y)||0,Z=Number(U.pressure)||(D===0||D===M.length-1?0:.5),oe=N.elementFromPoint(q,K)||N.documentElement,ve={bubbles:!0,cancelable:!0,clientX:q,clientY:K,screenX:q,screenY:K,view:C};if(D===0?(oe.dispatchEvent(new T("pointerdown",{...ve,pressure:Z,pointerId:1,pointerType:"mouse"})),oe.dispatchEvent(new S("mousedown",{...ve,button:0,buttons:1}))):(oe.dispatchEvent(new T("pointermove",{...ve,pressure:Z,pointerId:1,pointerType:"mouse"})),oe.dispatchEvent(new S("mousemove",{...ve,button:0,buttons:1}))),D===M.length-1&&(oe.dispatchEvent(new T("pointerup",{...ve,pressure:0,pointerId:1,pointerType:"mouse"})),oe.dispatchEvent(new S("mouseup",{...ve,button:0,buttons:0}))),D<M.length-1){let Se=Number(U.timestamp)||0,We=Number(M[D+1].timestamp)||0,Ce=Se&&We?Math.max(0,Math.min(We-Se,1e3)):I;Ce>0&&await cn(Ce,N)}}return{success:!0,method:"dispatch_pointer_path",details:`Dispatched ${M.length} point(s)`}}function mn(g,N,C){let M=fe(g,N),T=ke(M,C),S=T.MouseEvent||MouseEvent;Ht(g,M,T),_(g,M,T),_(g,M,T);let I=g.getBoundingClientRect();return g.dispatchEvent(new S("dblclick",{bubbles:!0,cancelable:!0,clientX:I.left+I.width/2,clientY:I.top+I.height/2,detail:2,view:T})),{success:!0,method:"dblclick"}}function lr(g,N,C){let M=fe(g,N),T=ke(M,C),S=T.PointerEvent||PointerEvent,I=T.MouseEvent||MouseEvent;Ht(g,M,T);let D=g.getBoundingClientRect(),U=D.left+D.width/2,q=D.top+D.height/2,K={bubbles:!0,cancelable:!0,composed:!0,view:T,clientX:U,clientY:q,button:2,buttons:2};return g.dispatchEvent(new S("pointerdown",K)),g.dispatchEvent(new I("mousedown",K)),g.dispatchEvent(new S("pointerup",{...K,buttons:0})),g.dispatchEvent(new I("mouseup",{...K,buttons:0})),g.dispatchEvent(new I("contextmenu",K)),{success:!0,method:"contextmenu"}}function on(g,N,C){let M=fe(g,N),T=ke(M,C),S=g,I=g.getBoundingClientRect();return{href:String(T.location.href),hash:String(T.location.hash),ariaExpanded:g.getAttribute("aria-expanded"),ariaPressed:g.getAttribute("aria-pressed"),ariaDisabled:g.getAttribute("aria-disabled"),disabled:!!S.disabled,open:typeof S.open<"u"?S.open:void 0,checked:typeof S.checked<"u"?S.checked:void 0,value:typeof S.value<"u"?S.value:void 0,active:fl(M),rect:{w:I.width,h:I.height}}}function we(g,N){let C=Math.abs(g.rect.w-N.rect.w)>2||Math.abs(g.rect.h-N.rect.h)>2;return g.href!==N.href||g.hash!==N.hash||g.ariaExpanded!==N.ariaExpanded||g.ariaPressed!==N.ariaPressed||g.ariaDisabled!==N.ariaDisabled||g.disabled!==N.disabled||g.open!==N.open||g.checked!==N.checked||g.value!==N.value||g.active!==N.active||C}async function dr(g,N,C,M){await Promise.resolve();let T=fe(g,N),S=ke(T,C);N.hidden||await Dn();let I=on(g,T,S);return we(M,I)}function Ae(g,N,C){g.focus?.({preventScroll:!0});let M=fe(g,N),T=ke(M,C),D=g.getAttribute("role")==="button"||Wm(g,T)||g.tagName.toLowerCase()==="button"?[" ","Enter"]:["Enter"],U=T.KeyboardEvent||KeyboardEvent;for(let q of D){let K={key:q,code:q===" "?"Space":"Enter",bubbles:!0,cancelable:!0,composed:!0};g.dispatchEvent(new U("keydown",K)),g.dispatchEvent(new U("keypress",K)),g.dispatchEvent(new U("keyup",K))}return{success:!0,method:"keyboard-activate"}}async function zt(g,N,C,...M){let T=null;for(let S of M){let I=fe(g,N),D=ke(I,C),U=on(g,I,D),q=S();if(!q||!q.success)continue;if(await dr(g,I,D,U))return{...q,details:(q.details?q.details+";":"")+"verified=true"};T=q}return T?{...T,details:(T.details?T.details+";":"")+"verified=false"}:{success:!1,method:"all-strategies-unverified",details:"no verified effect",allowFallback:!0}}function bn(...g){for(let N of g)try{let C=N();if(C&&C.success)return C}catch{}return{success:!1,method:"all-strategies-failed",allowFallback:!0}}function Ht(g,N,C){let M=fe(g,N),T=ke(M,C),S=g.getBoundingClientRect();S.top>=0&&S.left>=0&&S.bottom<=T.innerHeight&&S.right<=T.innerWidth||(g.scrollIntoView({behavior:"auto",block:"center",inline:"center"}),g.offsetHeight)}function _o(g,N,C,M){let T=fe(g,N),I=ke(T,C).KeyboardEvent||KeyboardEvent;for(let D of M){let U=String(D??""),q="";/^[a-z]$/i.test(U)?q=`Key${U.toUpperCase()}`:/^[0-9]$/.test(U)?q=`Digit${U}`:U===" "&&(q="Space");let K=U.length===1?U.charCodeAt(0):0,Z={key:U,code:q,bubbles:!0,cancelable:!0,composed:!0,keyCode:K,which:K};g.dispatchEvent(new I("keydown",Z)),g.dispatchEvent(new I("keypress",Z)),g.dispatchEvent(new I("keyup",Z))}}function Eo(g,N,C){let M=fe(g,N),S=ke(M,C).KeyboardEvent||KeyboardEvent,I={key:"Enter",code:"Enter",keyCode:13,which:13,bubbles:!0,cancelable:!0,composed:!0},D=g.dispatchEvent(new S("keydown",I)),U=g.dispatchEvent(new S("keypress",I)),q=g.dispatchEvent(new S("keyup",I));if(!!(D&&U&&q)){let Z=g.form||g.closest?.("form");Z?.requestSubmit?.()??Z?.submit?.()}}function ri(g){return{Enter:"Enter",Tab:"Tab",Escape:"Escape",Space:"Space"," ":"Space",ArrowUp:"ArrowUp",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",Backspace:"Backspace",Delete:"Delete",Home:"Home",End:"End",PageUp:"PageUp",PageDown:"PageDown",F1:"F1",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",F10:"F10",F11:"F11",F12:"F12"}[g]||`Key${g.toUpperCase()}`}let $i=new MessageChannel,Wi=[];$i.port1.onmessage=()=>{let g=Wi.shift();g&&g()};function Dn(){return new Promise(g=>{Wi.push(g),$i.port2.postMessage(0)})}function Qn(g){let N=M=>{if(!M)return null;let T=Object.keys(M);for(let S of T)if(S.startsWith("__reactFiber")||S.startsWith("__reactInternalInstance")||S.includes("reactFiber")||S.includes("reactProps")||S.includes("reactEventHandlers")||/^__r\d+/.test(S))return M[S];return null},C=g;for(let M=0;M<4&&C;M++){let T=N(C);if(T)return T;C=C.parentElement}return null}function Zn(g){let N={},C=g,M=0;for(;C&&M++<10;){let T=[C.memoizedProps,C.pendingProps,C.stateNode?.props,C._memoizedProps,C._pendingProps,C.alternate?.memoizedProps].filter(Boolean);for(let S of T)if(!(!S||typeof S!="object"))for(let I in S)I.startsWith("on")&&typeof S[I]=="function"&&(N[I]=S[I]);if(Object.keys(N).length)break;C=C.return||C.alternate}return N}function Io(g,N){let C=g;for(;C;){if(C._reactRootContainer||C.__reactContainer||C.hasAttribute("data-reactroot")||C.hasAttribute("data-react-root")||["root","app","__next"].includes(C.id))return C;C=C.parentElement}return fe(g,N).querySelector("#root,#app,#__next,[data-reactroot],[data-react-root]")}function On(g,N,C,M){let T=fe(N,C),S=ke(T,M),I=S.MouseEvent||MouseEvent,D=N.getBoundingClientRect(),U=new I(g,{bubbles:!0,cancelable:!0,view:S,clientX:D.left+D.width/2,clientY:D.top+D.height/2});return{type:g,target:N,currentTarget:N,bubbles:!0,cancelable:!0,nativeEvent:U,isTrusted:!0,preventDefault(){U.preventDefault()},stopPropagation(){U.stopPropagation()}}}function Bt(g){let N=g;if(N.__vue__)return N.__vue__;if(N.__vueParentComponent)return N.__vueParentComponent;if(N._vnode)return N._vnode;let C=g.parentElement;for(let M=0;M<3&&C;M++){let T=C;if(T.__vue__||T.__vueParentComponent||T._vnode)return T.__vue__||T.__vueParentComponent||T._vnode;C=C.parentElement}return null}function Ro(g){let N={};if(g?.$listeners&&Object.assign(N,g.$listeners),g?._events)for(let C in g._events){let M=g._events[C];N[C]=Array.isArray(M)?M[0]:M}if(g?.props)for(let C in g.props)C.startsWith("on")&&typeof g.props[C]=="function"&&(N[C.substring(2).toLowerCase()]=g.props[C]);if(g?.vnode?.props)for(let C in g.vnode.props)C.startsWith("on")&&typeof g.vnode.props[C]=="function"&&(N[C.substring(2).toLowerCase()]=g.vnode.props[C]);return N}})();function kg(){let e=window,t=e.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__";e[t]?.actions?.execute}async function xg(e){let t=window,n=t.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",o=t[n]?.actions?.execute;if(typeof o!="function")throw new Error("Rover main-world action executor not initialized");return o(e)}function vs(e,t,n={}){let{rootNodes:r,semanticNodes:o}=vu(e,{includeFrameContents:n.includeFrames??!0,clearIframes:n.includeFrames??!0,frameContextLabel:n.frameContextLabel??null,signalProvider:t.signalProvider,disableDomAnnotations:n.disableDomAnnotations??!0}),i={};for(let a of Object.keys(o)){let s=Number(a);if(!Number.isFinite(s))continue;let c=fs(s);c&&(i[s]=t.getFrameworkMetadata(c))}return{rootNodes:r,semanticNodes:o,elementMeta:i}}(()=>{let e="__rtrvr_scroll_detector",t="__RTRVR_SCROLL_API__",n="__RTRVR_INTERNAL__";if(window[e])return;class r{constructor(d=document,m=window){H(this,"doc");H(this,"win");H(this,"viewport");H(this,"lastDetectedPrimary",null);H(this,"detectionCache",new Map);H(this,"lastDetectionTime",0);H(this,"CACHE_TTL",5e3);this.doc=d,this.win=m,this.viewport={width:m.innerWidth,height:m.innerHeight},this.updateViewport()}getValidPrimary(){return this.lastDetectedPrimary&&!this.doc.contains(this.lastDetectedPrimary)&&(this.lastDetectedPrimary=null),this.lastDetectedPrimary}async handleCommand(d){switch(d.action){case"detectPrimary":{let m=this.detectPrimaryScrollable();if(!m)return null;let{target:f,isRoot:p}=this.getScrollContext(m.element),b=f.scrollHeight,y=wr(),k=p&&y?y.innerHeight:f.clientHeight,w=Math.max(0,b-k),x=f.scrollTop;return{selector:m.selector,score:m.score,type:m.type,metrics:{scrollTop:x,scrollHeight:b,clientHeight:k,isAtTop:x<=5,isAtBottom:x>=w-5}}}case"scrollTo":if(!d.direction)throw new Error("scrollTo requires direction");return this.scrollToDirection(d.direction,d.options);case"scrollBy":if(!d.direction)throw new Error("scrollBy requires direction");return this.scrollByAmount(d.direction,d.options);case"scrollElement":if(!d.selector)throw new Error("scrollElement requires selector");return this.scrollElementIntoView(d.selector,d.position,d.options);case"getMetrics":return this.getScrollMetrics();default:throw new Error(`Unknown command: ${d.action}`)}}updateViewport(){this.viewport={width:this.win.innerWidth,height:this.win.innerHeight}}async execute(d){return this.handleCommand(d)}detectPrimaryScrollable(){if(Date.now()-this.lastDetectionTime<this.CACHE_TTL&&this.detectionCache.size>0){let p=Array.from(this.detectionCache.values()).sort((b,y)=>y.score-b.score)[0];if(p)return this.lastDetectedPrimary=p.element,p}this.updateViewport();let d=this.collectScrollableCandidates();if(d.length===0){let p=this.doc.scrollingElement||this.doc.documentElement||this.doc.body;if(!p)return null;let b=this.buildFeatures(p),y=fe(p,this.doc),k={element:p,selector:aa(p,y),score:.5,features:b,type:"document"};return this.detectionCache.clear(),this.detectionCache.set(k.selector,k),this.lastDetectionTime=Date.now(),this.lastDetectedPrimary=p,k}let m=this.scoreCandidates(d);if(m.length===0)return null;this.detectionCache.clear();for(let p of m)this.detectionCache.set(p.selector,p);this.lastDetectionTime=Date.now();let f=m[0];return f&&(this.lastDetectedPrimary=f.element),f||null}collectAllElementsDeep(d,m=15e4){let f=[],p=[],b=d.body||d.documentElement;b&&p.push(b);let y=0,k=w=>{try{let x=this.win.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",A=this.win[x]?.shadow?.getRoot;if(typeof A=="function"){let E=A(w);if(E)return E}}catch{}try{return w.shadowRoot||null}catch{return null}};for(;p.length&&!(++y>m);){let w=p.pop();if(nr(w)){let A=w.children;for(let E=A.length-1;E>=0;E--)p.push(A[E]);continue}let x=w,h=$e(x);Zt(x,h)&&f.push(x);try{let A=k(x);A&&p.push(A)}catch{}for(let A=x.lastElementChild;A;A=A.previousElementSibling)p.push(A)}return f}collectScrollableCandidates(){let d=[],m=new WeakSet,f=[this.doc.scrollingElement,this.doc.documentElement,this.doc.body];for(let b of f){if(!b||m.has(b))continue;let y=this.isScrollable(b);(y.vertical||y.horizontal)&&(d.push(b),m.add(b))}let p=this.collectAllElementsDeep(this.doc);for(let b of Array.from(p)){if(m.has(b))continue;let y=b.getBoundingClientRect(),k=this.win.getComputedStyle(b);if(!this.isElementRendered(b,y,k)||!this.isScrollable(b).vertical)continue;let x=40,h=this.viewport.width*.15;if(y.height<x||y.width<h){let A=(b.className||"").toLowerCase().includes("scroll"),E=k.overflowY==="auto"||k.overflowY==="scroll"||k.overflow==="auto"||k.overflow==="scroll";if(!A&&!E)continue}d.push(b),m.add(b)}return d}isElementRendered(d,m,f){if(f.display==="none"||f.visibility==="hidden")return!1;let p=parseFloat(f.opacity||"1");return!(!Number.isNaN(p)&&p<.01||m.width<=1||m.height<=1)}isScrollable(d){let m=this.win.getComputedStyle(d),f=m.overflowY,p=m.overflowX,b=this.doc.scrollingElement,y=d===this.doc.documentElement||d===this.doc.body||!!b&&d===b,k=d.scrollHeight,w=d.clientHeight,x=d.scrollWidth,h=d.clientWidth;if(y){let $=this.doc.documentElement,re=this.doc.body;k=Math.max($?$.scrollHeight:0,re?re.scrollHeight:0),w=this.win.innerHeight}let A=k-w>8,E=x-h>8,_=f==="auto"||f==="scroll"||f==="overlay",z=p==="auto"||p==="scroll"||p==="overlay";return{vertical:y?A:A&&_,horizontal:y?E:E&&z,byOverflow:_||z}}calculateVisibleIntersection(d){let m=Math.max(0,d.left),f=Math.max(0,d.top),p=Math.min(this.viewport.width,d.right),b=Math.min(this.viewport.height,d.bottom),y=Math.max(0,p-m),k=Math.max(0,b-f);return{width:y,height:k,area:y*k}}analyzeTextContent(d,m=2e3){let f=0,p=0,b=d.ownerDocument||this.doc,k=(b.defaultView||this.win).NodeFilter||NodeFilter,w=b.createTreeWalker(d,k.SHOW_ELEMENT|k.SHOW_TEXT,null),x=0,h=w.currentNode,A=[];for(;h&&x<m;){if(h.nodeType===Node.TEXT_NODE){let V=(h.textContent||"").replace(/\s+/g,"").length;if(V>0){f+=V;let ne=h.parentElement;ne&&ne.closest("a")&&(p+=V)}}else h.nodeType===Node.ELEMENT_NODE&&A.push(h);x++,h=w.nextNode()}let E=A.length||1,_=f/E,z=f>0?p/f:0;return{textChars:f,linkChars:p,textDensity:_,linkDensity:z}}calculateRepetitionScore(d){let m=Array.from(d.children);if(m.length<3)return 0;let f=m.slice(0,50),p=new Map,b=new Map,y=new Map;for(let ee of f){let V=$e(ee);if(!Zt(ee,V))continue;let ne=ee.getBoundingClientRect();if(ne.height<5||ne.width<this.viewport.width*.1)continue;let $=Math.round(ne.height/10)*10,re=Math.round(ne.width/10)*10;p.set($,(p.get($)||0)+1),b.set(re,(b.get(re)||0)+1);let X=(ee.className||ee.tagName).toString();y.set(X,(y.get(X)||0)+1)}let k=f.length||1,w=Math.max(0,...p.values()),x=Math.max(0,...b.values()),h=Math.max(0,...y.values()),A=w/k,E=x/k,_=h/k,z=.4*A+.3*E+.3*_;return Math.min(1,Math.max(0,z))}calculateSemanticScore(d){let m=0,f=null,p=!1,b=(d.getAttribute("role")||"").toLowerCase(),y=d.tagName.toLowerCase(),k=(d.id||"").toLowerCase(),w=(d.className||"").toLowerCase(),x=`${b} ${y} ${k} ${w}`;return(y==="main"||b==="main")&&(m+=1.2,f="article"),y==="article"&&(m+=1,f=f||"article"),(b==="feed"||x.includes("feed"))&&(m+=1,f="feed"),(b==="log"||x.includes("chat")||x.includes("messages"))&&(m+=1,f="chat"),x.includes("content")&&(m+=.5),(x.includes("results")||x.includes("list"))&&(m+=.4),(x.includes("job")||x.includes("jobs"))&&(m+=.4),(y==="nav"||b==="navigation"||x.includes("sidebar"))&&(m-=1,p=!0),(y==="aside"||b==="complementary")&&(m-=.7,p=!0),(y==="footer"||b==="contentinfo"||x.includes("footer"))&&(m-=.8,p=!0),x.includes("header")&&(m-=.6),m=Math.max(-1,Math.min(1,m)),{semanticScore:m,typeHint:f,navLike:p}}detectScrollListeners(d){return[d.querySelector('[class*="infinite"]'),d.querySelector('[class*="load-more"]'),d.querySelector("[data-infinite]"),d.querySelector('[loading="lazy"]'),d.querySelector(".observer-target"),d.querySelector("[data-scroll]")].some(f=>f!==null)}buildFeatures(d){let m=d.getBoundingClientRect(),f=this.win.getComputedStyle(d),p=this.calculateVisibleIntersection(m),b=this.viewport.width*this.viewport.height||1,y=p.area/b,k=this.viewport.width>0?p.width/this.viewport.width:0,w=m.top+m.height/2,x=this.viewport.height/2||1,h=Math.min(1,Math.abs(w-x)/x),A=this.isScrollable(d),E=this.doc.scrollingElement,_=d===this.doc.documentElement||d===this.doc.body||!!E&&d===E,z=d.scrollHeight,ee=d.clientHeight;if(_){let Be=this.doc.documentElement,bt=this.doc.body;z=Math.max(Be?Be.scrollHeight:0,bt?bt.scrollHeight:0),ee=this.win.innerHeight}let V=Math.max(0,z-ee),ne=V*p.width,$=this.analyzeTextContent(d),re=this.calculateRepetitionScore(d),X=this.calculateSemanticScore(d),te=d.contains(this.doc.activeElement),de=this.detectScrollListeners(d),me=parseInt(f.zIndex||"0",10),be=Number.isFinite(me)?me:0;return{geometry:{viewportCoverage:y,widthProminence:k,centerDistance:h,scrollCapacity:V,scrollSurface:ne,zIndex:be},content:{textDensity:$.textDensity,linkDensity:$.linkDensity,repetitionScore:re,semanticScore:X.semanticScore},interaction:{hasScrollListeners:de,hasFocus:te,recentActivity:te?1:0}}}inferElementType(d,m,f,p){if(f)return f;let b=(d.getAttribute("role")||"").toLowerCase(),y=(d.className||"").toLowerCase(),k=d.tagName.toLowerCase(),w=m.geometry,x=m.content;if(b==="log"||y.includes("chat")||y.includes("messages"))return"chat";let h=this.win.getComputedStyle(d);if((h.position==="fixed"||h.position==="absolute")&&w.zIndex>100&&w.viewportCoverage>.2&&w.centerDistance<.4)return"modal";if(b==="feed"||x.repetitionScore>.3&&w.scrollCapacity>400&&w.widthProminence>=.25)return"feed";if(k==="article"||x.textDensity>40&&x.linkDensity<.4&&w.widthProminence>.4)return"article";if(p||w.widthProminence<.3&&x.linkDensity>.3)return"sidebar";let E=this.doc.scrollingElement;return d===this.doc.documentElement||d===this.doc.body||E&&d===E?"document":"unknown"}scoreCandidates(d){let m=[],f=[],p=[],b=[],y=[],k=[];for(let _ of d){let z=this.buildFeatures(_),ee=z.content.semanticScore,V=this.calculateSemanticScore(_),ne=this.inferElementType(_,z,V.typeHint,V.navLike);k.push({element:_,features:{geometry:{...z.geometry},content:{...z.content,semanticScore:V.semanticScore},interaction:z.interaction},type:ne,navLike:V.navLike,semanticScore:V.semanticScore}),f.push(z.geometry.scrollSurface),p.push(z.content.textDensity),b.push(Math.abs(V.semanticScore)),y.push(z.content.repetitionScore)}let w=Math.max(0,...f),x=Math.max(0,...p),h=Math.max(0,...b),A=Math.max(0,...y),E=-1/0;for(let _ of k){let{element:z,features:ee,type:V,navLike:ne,semanticScore:$}=_,re=ee.geometry,X=ee.content,te=ee.interaction,de=w>0?re.scrollSurface/w:0,me=x>0?X.textDensity/x:0,be=h>0?($/h+1)/2:.5,Be=V==="feed"||X.repetitionScore>.3&&re.scrollCapacity>400,bt=X.linkDensity>.5?(X.linkDensity-.5)/.5:0,Rt=Be?0:bt,ot=(Be?1:.5)*X.repetitionScore*Math.min(1,re.scrollCapacity/4e3),F={feed:.2,chat:.2,article:.08,modal:.08,document:.05,sidebar:-.12,unknown:0}[V]||0,Y=0;Y+=re.viewportCoverage*.18,Y+=re.widthProminence*.15,Y+=(1-re.centerDistance)*.07,Y+=de*.22,Y+=ot*.18,Y+=me*.08,Y+=(A>0?X.repetitionScore/A:0)*.05,Y+=be*.07,Y-=Rt*.05,te.hasFocus&&(Y+=.05),te.hasScrollListeners&&(Y+=.05),Y+=F,ne&&(Y-=.05);let ye=Math.max(0,Math.min(1,Y));ye>E&&(E=ye),m.push({element:z,selector:aa(z,fe(z)),score:ye,features:ee,type:V})}if(m.sort((_,z)=>z.score-_.score),m.length>=2){let _=m[0],z=m[1];Math.abs(_.score-z.score)<.08&&_.type==="article"&&z.type==="feed"&&(m[0]=z,m[1]=_)}return m}getScrollContext(d){let m=document.scrollingElement;return d===document.documentElement||d===document.body||!!m&&d===m?{target:m||document.documentElement||document.body,isRoot:!0}:{target:d,isRoot:!1}}async scrollToDirection(d,m){let f=this.getValidPrimary()||this.detectPrimaryScrollable()?.element;if(!f)return{success:!1,error:"No scrollable element found"};let{target:p,isRoot:b}=this.getScrollContext(f),y=fe(p),k=ke(y),w=m?.isTabActive??!y.hidden,x=m?.behavior,h=w&&x==="smooth",A=b?Math.max(y.documentElement?y.documentElement.scrollHeight:0,y.body?y.body.scrollHeight:0):p.scrollHeight,E=b?k.innerHeight:p.clientHeight,_=Math.max(0,A-E),z=()=>b?k.scrollY:p.scrollTop,ee=V=>{if(h)try{b?k.scrollTo({top:V,behavior:"smooth"}):p.scrollTo({top:V,behavior:"smooth"})}catch{b?(y.scrollingElement||y.documentElement||y.body).scrollTop=V:p.scrollTop=V}else if(b){let ne=y.scrollingElement||y.documentElement||y.body;ne.scrollTop=V}else p.scrollTop=V};switch(d){case $t.TOP:return ee(0),{success:!0,scrollTop:0,isAtTop:!0};case $t.BOTTOM:return ee(_),{success:!0,scrollTop:_,isAtBottom:!0};default:return{success:!1,error:`Unknown direction: ${d}`}}}async scrollByAmount(d,m){let f=this.getValidPrimary()||this.detectPrimaryScrollable()?.element;if(!f)return{success:!1,error:"No scrollable element found"};let{target:p,isRoot:b}=this.getScrollContext(f),y=m?.isTabActive??!document.hidden,k=m?.behavior,w=y&&k==="smooth",x=wr(),h=b&&x?x.innerHeight:p.clientHeight,A=b&&x?x.innerWidth:p.clientWidth,E=m?.amount??h*.8,_=b?Math.max(document.documentElement?document.documentElement.scrollHeight:0,document.body?document.body.scrollHeight:0):p.scrollHeight,z=b&&x?x.innerHeight:p.clientHeight,ee=Math.max(0,_-z),V=$=>{if(w)try{b?x?.scrollTo({top:$,behavior:"smooth"}):p.scrollTo({top:$,behavior:"smooth"})}catch{let re=document.scrollingElement||document.documentElement||document.body;re.scrollTop=$}else{let re=b?document.scrollingElement||document.documentElement||document.body:p;re.scrollTop=$}},ne=$=>{if(w)try{p.scrollBy({left:$,behavior:"smooth"})}catch{p.scrollLeft+=$}else p.scrollLeft+=$};switch(d){case $t.DOWN:{let re=(b&&x?x.scrollY:p.scrollTop)+E;V(re);let X=b&&x?x.scrollY:p.scrollTop;return{success:!0,scrollTop:X,isAtTop:X<=5,isAtBottom:X>=ee-5}}case $t.UP:{let $=b&&x?x.scrollY:p.scrollTop,re=Math.max(0,$-E);V(re);let X=b&&x?x.scrollY:p.scrollTop;return{success:!0,scrollTop:X,isAtTop:X<=5,isAtBottom:X>=ee-5}}case $t.LEFT:{let $=-(m?.amount??A*.8);return ne($),{success:!0,scrollLeft:p.scrollLeft}}case $t.RIGHT:{let $=m?.amount??A*.8;return ne($),{success:!0,scrollLeft:p.scrollLeft}}default:return{success:!1,error:`Unknown direction: ${d}`}}}normalizeScrollPosition(d){switch(d){case vn.START:return"start";case vn.END:return"end";case vn.NEAREST:return"nearest";case vn.CENTER:default:return"center"}}getScrollContainerForElement(d){let m=document.scrollingElement,f=d;for(;f&&f!==document.body&&f!==document.documentElement;){let y=getComputedStyle(f).overflowY,k=y==="auto"||y==="scroll"||y==="overlay",w=f.scrollHeight-f.clientHeight>8;if(k&&w)return{container:f,isRoot:!1};f=f.parentElement}return{container:m||document.documentElement||document.body,isRoot:!0}}scrollElementIntoView(d,m,f){let p=document.querySelector(d);if(!p)return{success:!1,error:`Element not found for selector: ${d}`};let{container:b,isRoot:y}=this.getScrollContainerForElement(p),k=$e(b),w=k?.DOMRect||DOMRect,x=y?new w(0,0,k.innerWidth??0,k.innerHeight??0):b.getBoundingClientRect(),h=p.getBoundingClientRect(),A=24,E=h.top>=x.top+A&&h.bottom<=x.bottom-A,_=f?.isTabActive??!document.hidden,z=f?.behavior,ee=_&&z==="smooth",V=this.normalizeScrollPosition(m);if(m===vn.NEAREST&&E)return{success:!0,alreadyVisible:!0,...this.getScrollMetricsForContainer(b,y)};try{p.scrollIntoView({behavior:ee?"smooth":"auto",block:V,inline:"nearest"})}catch{p.scrollIntoView()}let ne=this.getScrollMetricsForContainer(b,y);return{success:!0,position:V,...ne}}getScrollMetricsForContainer(d,m){let f=m?Math.max(document.documentElement?document.documentElement.scrollHeight:0,document.body?document.body.scrollHeight:0):d.scrollHeight,p=fe(d),b=$e(d),y=m&&b?b.innerHeight:d.clientHeight,k=Math.max(0,f-y),x=(m?p.scrollingElement||p.documentElement||p.body:d).scrollTop;return{scrollTop:x,scrollHeight:f,clientHeight:y,maxScroll:k,isAtTop:x<=5,isAtBottom:x>=k-5,scrollPercentage:k>0?x/k*100:0}}getScrollMetrics(){let d=this.getValidPrimary()||this.detectPrimaryScrollable()?.element;if(!d)return null;let{target:m,isRoot:f}=this.getScrollContext(d),p=fe(m),b=ke(p),y=f?Math.max(p.documentElement?p.documentElement.scrollHeight:0,p.body?p.body.scrollHeight:0):m.scrollHeight,k=f?b.innerHeight:m.clientHeight,w=Math.max(0,y-k),h=(f?p.scrollingElement||p.documentElement||p.body:m).scrollTop;return{element:aa(m,p),scrollTop:h,scrollHeight:y,clientHeight:k,maxScroll:w,isAtTop:h<=5,isAtBottom:h>=w-5,scrollPercentage:w>0?h/w*100:0}}}let o=new r;window[e]=o;let i={execute:l=>o.execute(l)};try{Object.defineProperty(window,t,{value:i,writable:!1,configurable:!1,enumerable:!1})}catch{try{window[t]=i}catch{}}let a=window.__RTRVR_INTERNAL_KEY__||n,s=window[a],c=s&&typeof s=="object"?s:null;if(c){try{c.scroll=c.scroll||i}catch{}try{c.scroll||Object.defineProperty(c,"scroll",{value:i,writable:!1,configurable:!1,enumerable:!1})}catch{}}if(a!==n)try{!window[n]&&c&&Object.defineProperty(window,n,{value:c,writable:!1,configurable:!1,enumerable:!1})}catch{}})();var B0=/\[id=(\d+)\]/,nn;(function(e){e.HTML="html",e.PDF="pdf",e.GOOGLE_DOC="google_doc",e.GOOGLE_SHEET="google_sheet",e.PLAIN_TEXT="plain_text"})(nn||(nn={}));var U0=20,sa=new Map;function z0(e,t){if(sa.size>=U0&&!sa.has(e)){let n=sa.keys().next().value;n!==void 0&&sa.delete(n)}sa.set(e,t)}var H0=24,F0=220,j0=0,q0=250,$0=2,W0=300,V0=new Set(["BODY","DIV","SPAN","IMG","PICTURE","SVG"]),G0=new Set(["A","BUTTON","INPUT","SELECT","TEXTAREA","H1","H2","H3","H4","H5","H6","MAIN","NAV","HEADER","FOOTER","ARTICLE","SECTION","ASIDE"]);function K0(e){let t={};for(let n of Object.keys(e)){let r=e[Number(n)],o=r?.preservedAttributes?.[qn["rtrvr-label"]],i=r?.resourceLocator;if(typeof o=="string"&&typeof i=="string"){let a=o.match(B0);if(a?.[1]){let s=Number(a[1]);Number.isFinite(s)&&(t[s]=i)}}}return t}function X0(e){try{let n=(e.defaultView||wr)?.rover,r=n&&typeof n.getAgentCard=="function"?n.getAgentCard.bind(n):null;return r?mg(r()):void 0}catch{return}}async function Ag(e,t,n={}){let r=e.ownerDocument||document,o=n.pageConfig||na,i=String(r.contentType||"").trim().toLowerCase(),a=eS(i,r),s=Z0(a.documentType,i),c=X0(r),l={url:r.URL,title:r.title,contentType:s,agentDiscovery:c},d=Q0(o),m=Y0(o);if(a.documentType!==nn.HTML){let ee=Number(o?.pageDataTimeoutMs),V=Number.isFinite(ee)?Math.max(200,Math.floor(ee)):9e3,ne=Math.max(200,Math.min(V,tn(d))),$=oS(r,a.documentType,o,d),re=await ia($,ne,r);if(!re.ok)return{...l,content:"",error:`non_html_timeout:${s}`,metadata:{extractionMethod:"timeout"}};let X=re.value||{},te=a.documentType===nn.GOOGLE_SHEET?DS(r):void 0;return{...l,...X,contentType:X.contentType||l.contentType,sheetInfo:X.sheetInfo||te}}if(o?.onlyTextContent)return{...l,contentType:ra,content:ks(r)};let f=Math.max(0,Math.min(1e3,tn(d))),p=performance.now(),b=!1;if(!o?.disableAutoScroll&&f>80){let ee=r.hidden?200:400,V=Math.min(ee,f);V>80&&(b=await MS(r,{profile:"light",timeBudgetMs:V,delayMs:r.hidden?0:160,finalWaitMs:r.hidden?0:200}))}let y=Math.max(0,f-(performance.now()-p));y>60&&await wg(r,{...m,deadlineEpochMs:d,totalBudgetMs:y});let k=Math.max(0,f-(performance.now()-p));k>80&&await LS(r,{mode:"full",totalBudgetMs:Math.min(r.hidden?300:400,k),budgetMs:Math.min(r.hidden?200:300,k),maxPasses:r.hidden?1:2});let w=vs(e,t,{includeFrames:n.includeFrames??!0,disableDomAnnotations:n.disableDomAnnotations??!0}),x="normal",h=0,A=0,E=[],_=Math.max(0,m.sparseTreeRetryMaxAttempts)>0,z=Tg(r,w.rootNodes,w.semanticNodes);if(z.needsStabilization){E=[...z.reasons],x="suspicious_unrecovered";let ee=_?Math.max(0,Math.min(W0,tn(d)-20)):0;if(ee>20){let V=Date.now();await wg(r,{...m,retries:0,deadlineEpochMs:d,totalBudgetMs:ee}),A=Date.now()-V,h=1,w=vs(e,t,{includeFrames:n.includeFrames??!0,disableDomAnnotations:n.disableDomAnnotations??!0});let ne=Tg(r,w.rootNodes,w.semanticNodes);ne.reasons.length>0&&(E=[...ne.reasons]),!ne.needsStabilization&&!Sg(w.rootNodes,w.semanticNodes)&&(x="suspicious_recovered")}}return Sg(w.rootNodes,w.semanticNodes)?{...l,contentType:ra,content:ks(r),metadata:{scrollingPerformed:b,extractionMethod:"empty_tree_fallback",treeCapture:{status:x,attempts:h,waitedMs:A,reasons:E}}}:{...l,contentType:ra,roots:w.rootNodes,nodes:w.semanticNodes,elementLinkRecord:K0(w.semanticNodes),metadata:{scrollingPerformed:b,extractionMethod:x!=="normal"?x:void 0,treeCapture:{status:x,attempts:h,waitedMs:A,reasons:E}}}}function Y0(e){let t=Number(e?.adaptiveSettleDebounceMs),n=Number(e?.adaptiveSettleMaxWaitMs),r=Number(e?.adaptiveSettleRetries),o=Number(e?.sparseTreeRetryDelayMs),i=Number(e?.sparseTreeRetryMaxAttempts);return{debounceMs:Number.isFinite(t)?Math.max(8,Math.min(500,Math.floor(t))):H0,maxWaitMs:Number.isFinite(n)?Math.max(80,Math.min(5e3,Math.floor(n))):F0,retries:Number.isFinite(r)?Math.max(0,Math.min(6,Math.floor(r))):j0,sparseTreeRetryDelayMs:Number.isFinite(o)?Math.max(20,Math.min(1e3,Math.floor(o))):q0,sparseTreeRetryMaxAttempts:Number.isFinite(i)?Math.max(0,Math.min(4,Math.floor(i))):$0}}async function wg(e,t){let n=tn(t.deadlineEpochMs);if(n<=20)return;let r=Math.max(20,Math.min(Math.floor(t.totalBudgetMs),n)),o=Date.now()+r,i=0;for(;i<=t.retries&&tn(o)>20;){let a=Math.max(40,Math.min(t.maxWaitMs,tn(o)));if(await J0(e,{debounceMs:t.debounceMs,windowBudgetMs:a,deadlineEpochMs:o}))return;i+=1}}async function J0(e,t){let n=e.documentElement;if(!n||typeof MutationObserver>"u")return!0;let r=Date.now(),o=new MutationObserver(()=>{r=Date.now()});try{o.observe(n,{subtree:!0,childList:!0,attributes:!0,characterData:!0})}catch{return!0}let i=Date.now()+Math.max(40,Math.floor(t.windowBudgetMs));try{for(;tn(t.deadlineEpochMs)>20&&tn(i)>20;){let a=Date.now()-r;if(a>=t.debounceMs)return!0;let s=Math.max(10,Math.min(60,t.debounceMs-a,tn(t.deadlineEpochMs),tn(i)));await cn(s,e)}}finally{o.disconnect()}return!1}function Q0(e){let t=Number(e?.deadlineEpochMs);if(Number.isFinite(t)&&t>0)return t;let n=Number(e?.totalBudgetMs),r=Number.isFinite(n)?Math.max(1500,Math.floor(n)):9e3;return Date.now()+r}function Z0(e,t){switch(e){case nn.PDF:return wu;case nn.GOOGLE_DOC:return _u;case nn.GOOGLE_SHEET:return Su;case nn.PLAIN_TEXT:return hl;case nn.HTML:default:return t||ra}}function eS(e,t){let n=e||String(t.contentType||"").toLowerCase();return ng(n)?{documentType:nn.PDF}:tS(t)&&(rS(t)||nS(t.URL))?{documentType:nn.PDF}:gS(t)?{documentType:nn.GOOGLE_DOC}:bS(t)?{documentType:nn.GOOGLE_SHEET}:n.includes(hl)?{documentType:nn.PLAIN_TEXT}:{documentType:nn.HTML}}function tS(e){try{let t=lS(e);return Eu(t)?!0:!!t.querySelector?.('object[type="application/pdf"],object[type="application/x-google-chrome-pdf"]')}catch{return!1}}function nS(e){try{return e?e.toLowerCase().includes(".pdf")?!0:(new URL(e).searchParams.get("file")||"").toLowerCase().includes(".pdf"):!1}catch{return String(e||"").toLowerCase().includes(".pdf")}}function rS(e){try{let t=e.body;return!t||t.querySelectorAll('embed[type="application/pdf"],embed[type="application/x-google-chrome-pdf"],object[type="application/pdf"],object[type="application/x-google-chrome-pdf"]').length===0||(t.innerText||"").trim().length>40?!1:Array.from(t.children).filter(i=>!["SCRIPT","STYLE"].includes(String(i.tagName).toUpperCase())).length<=3}catch{return!1}}async function oS(e,t,n,r){switch(t){case nn.PDF:return iS(e,n,r);case nn.GOOGLE_DOC:return aS(e);case nn.GOOGLE_SHEET:return RS(e,n);case nn.PLAIN_TEXT:return{content:ks(e),contentType:hl};case nn.HTML:default:return{content:ks(e),contentType:ra}}}async function iS(e,t,n){tn(n)>xu+50&&await rg(xu,e,n);let o=(()=>{let d=Number(t?.pdfTextSelectionTimeoutMs),m=na.pdfTextSelectionTimeoutMs;return Number.isFinite(d)?Math.max(150,Math.floor(d)):m})(),i=tn(n),s=Number.isFinite(i)?Math.max(150,Math.min(o,Math.max(0,i-150))):o,c=await uS(e,s),l=!!c.success&&!!(c.data||"").trim();return{content:l&&c.data||"",contentType:wu,error:l?void 0:`pdf_extraction_failed:${c.reason||"unknown"}`}}async function aS(e){return{content:IS(),contentType:_u}}function Sg(e,t){return!Array.isArray(e)||e.length===0||!t||Object.keys(t).length===0}function sS(e){return!!(e.documentElement?.hasAttribute(ci)||e.body?.hasAttribute(ci)||e.body?.getAttribute?.("aria-busy")==="true")}function cS(e,t,n){let r=Array.isArray(t)?t.length:0,o=n&&typeof n=="object"?Object.keys(n).length:0,i=o?Object.values(n):[],a=0,s=0;for(let c of i){let l=String(c?.elementName||c?.elementTag||"").trim().toUpperCase();(String(c?.textContent||c?.computedName||c?.computedDescription||"").trim().length>=2||G0.has(l))&&(s+=1),V0.has(l)&&(a+=1)}return{rootsCount:r,semanticCount:o,meaningfulNodeCount:s,genericNodeRatio:o>0?a/o:1,visibleTextLength:0,isDocumentComplete:e.readyState==="complete",busy:sS(e)}}function Tg(e,t,n){let r=cS(e,t,n),o=0;!(r.rootsCount>0&&r.semanticCount>0&&r.isDocumentComplete&&!r.busy&&r.meaningfulNodeCount>=2)&&r.semanticCount>0&&r.semanticCount<=6&&(r.meaningfulNodeCount>=1||r.genericNodeRatio>=.8)&&(o=ks(e).trim().length);let s={...r,visibleTextLength:o},c=s.rootsCount>0&&s.semanticCount>0&&s.isDocumentComplete&&!s.busy&&(s.meaningfulNodeCount>=2||s.semanticCount<=6&&s.meaningfulNodeCount>=1&&s.visibleTextLength<160),l=[];return(s.rootsCount===0||s.semanticCount===0)&&l.push("empty_tree"),s.semanticCount>0&&s.semanticCount<=4&&s.meaningfulNodeCount===0&&l.push("generic_shell"),s.semanticCount<=6&&s.meaningfulNodeCount<=1&&s.genericNodeRatio>=.8&&s.visibleTextLength>=80&&(l.includes("generic_shell")||l.push("generic_shell"),l.push("text_semantic_mismatch")),(!s.isDocumentComplete||s.busy)&&s.semanticCount<=8&&s.meaningfulNodeCount<=1&&l.push("dom_not_ready"),{proceedImmediately:c,needsStabilization:!c&&l.length>0,reasons:l,signals:s}}function ks(e){return e.body?.innerText||e.body?.textContent||e.documentElement?.innerText||e.documentElement?.textContent||""}function lS(e){try{let t=e.defaultView||window,n=t.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",o=t[n]?.shadow?.getRoot;if(typeof o=="function"){let i=o(e.body||e.documentElement);if(i)return i}}catch{}return e}function dS(e){let t=e.URL||"";try{let n=new URL(t),r=n.searchParams.get("file")||n.searchParams.get("src")||"";return r||t}catch{return t}}async function uS(e,t){let n=Number.isFinite(t)&&t>0?Math.floor(t):na.pdfTextSelectionTimeoutMs,r=dS(e),o=sa.get(r)??"";if(o.trim().length>0)return{success:!0,data:o,reason:"ok"};let i=await pS(e,n);return i.success&&i.data.trim()&&z0(r,i.data),i}async function pS(e,t){let n=e.defaultView||window,r=fS(e);if(!r||typeof r.postMessage!="function")return{success:!1,data:"",reason:"no_viewer"};let o=globalThis.crypto&&"randomUUID"in globalThis.crypto?globalThis.crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`,i=!1,a="",s=d=>{if(i||!mS(String(d.origin||""),e))return;let m=d.data;hS(m,o)&&typeof m.selectedText=="string"&&m.selectedText.trim().length>0&&(a=m.selectedText,i=!0)};n.addEventListener("message",s);try{r.postMessage({type:"selectAll",requestId:o},"*")}catch{}let c=Date.now();for(;!i&&Date.now()-c<t;){try{r.postMessage({type:"getSelectedText",requestId:o},"*")}catch{}if(await cn(200,e),a.trim()){i=!0;break}}return n.removeEventListener("message",s),a.trim()?{success:!0,data:a,reason:"ok"}:{success:!1,data:"",reason:Date.now()-c>=t?"timeout":"no_response"}}function fS(e){let t=Eu(e)||e.querySelector?.('object[type="application/pdf"],object[type="application/x-google-chrome-pdf"]');if(t&&typeof t.postMessage=="function")return t;let n=e.querySelector?.('iframe[type="application/pdf"]');return n?.contentWindow?n.contentWindow:null}function mS(e,t){let n=(e||"").toLowerCase();if(!n||n==="null"||n.startsWith("chrome-extension://")||n.startsWith("chrome://")||n.startsWith("chrome-untrusted://"))return!0;try{let r=new URL(t.URL||"").origin.toLowerCase();if(r&&n===r)return!0}catch{}return!1}function hS(e,t){return!(!e||typeof e!="object"||e.type!=="getSelectedTextReply"||typeof e.selectedText!="string"||e.requestId&&e.requestId!==t)}function gS(e){try{let t=e.defaultView||wr();if(t?.location.hostname==="docs.google.com"&&t?.location.pathname.startsWith("/document/d/"))return!0}catch{}try{if(e.querySelector('iframe[src^="https://docs.google.com/document/d/"]'))return!0}catch{}return ca(e)!==null}function bS(e){let n=(e.defaultView||wr())?.location.href??"";return/^https:\/\/docs\.google\.com\/spreadsheets\/(?:u\/\d+\/)?d\/[a-zA-Z0-9_-]+/.test(n)}function yS(e){try{return e.defaultView?.top?.document??e}catch{return e}}function xl(e){let t=[e],n=yS(e);return n!==e&&t.push(n),t}var vS=".docs-texteventtarget-iframe",kS=".kix-cursor",xS=".docos-replyview-body",wS=".docos-replyview",SS=".docos-author",Cg="\u200B",TS="\xA0";function ca(e){for(let t of xl(e)){let n=t.querySelector(vS);if(n)return n}return null}function _S(e){for(let t of xl(e)){let n=t.querySelector(kS);if(n)return n}return null}function yl(e){let t=_S(e);return t?(t.ownerDocument?.defaultView?.getComputedStyle(t).display??t.style.display)==="none":!1}function vl(e,t){let n=ca(e);if(!n)return;let r=t?"ArrowUp":"ArrowDown",i={key:r,keyCode:t?38:40,altKey:!0,shiftKey:!0,code:r,bubbles:!0,cancelable:!0},a=n.contentDocument,s=n.contentWindow;if(!a)return;let c=s?.KeyboardEvent||KeyboardEvent;a.dispatchEvent(new c("keydown",i))}function _g(e){let t=ca(e);if(!t)return;let n={key:"ArrowLeft",keyCode:37,code:"ArrowLeft",bubbles:!0,cancelable:!0},r=t.contentDocument,o=t.contentWindow;if(!r)return;let i=o?.KeyboardEvent||KeyboardEvent;r.dispatchEvent(new i("keydown",n))}function ES(e){let t=ca(e);if(!t)return;let r=(typeof navigator<"u"?String(navigator.platform||""):"").toUpperCase().indexOf("MAC")>=0,o={key:"a",code:"KeyA",ctrlKey:!r,metaKey:r,bubbles:!0,cancelable:!0},i=t.contentDocument,a=t.contentWindow;if(!i)return;let s=a?.KeyboardEvent||KeyboardEvent;i.dispatchEvent(new s("keydown",o))}function kl(e){let t=ca(e);if(!t)return"";let n=t.contentDocument,r=t.contentWindow,o=n?.body;if(!n||!o)return"";try{let s=r?.ClipboardEvent||ClipboardEvent,c=new s("copy",{bubbles:!0,cancelable:!0});o.firstChild?.dispatchEvent?.(c),o.firstChild?.dispatchEvent||o.dispatchEvent(c)}catch{}let i=o.innerText||o.textContent||"";return String(i).replace(new RegExp(Cg,"g"),"")??""}function Nu(e){let t=`
3
3
 
4
- Comments: `,n=new Set,r=[];for(let a of xl(e))try{let i=Array.from(a.querySelectorAll(sT));for(let s of i)n.has(s)||(n.add(s),r.push(s))}catch{}let o=r.filter(a=>a.textContent);if(o.length===0)return"";for(let a of o){let i=a.closest(cT);if(!i)continue;let s=i.querySelector(lT);s&&s.textContent&&(t+=`
5
- Author: ${s.textContent} `),a.textContent&&(t+=`Comment: ${a.textContent}
6
- `)}return t.trim()}function fT(){let e=Ut()||document,t=oi(e),n=t?.contentDocument,r=t?.contentWindow,o=()=>{let a=n?.body,i=Ut(),s=a?.innerText||a?.textContent||""||i?.body?.innerText||i?.body?.textContent||"";return String(s).replace(new RegExp(Eg,"g"),"")+Nu(e)};try{try{r?.focus(),n?.body?.focus?.()}catch{}if(pT(e),yl(e)){let c=kl(e);if(c.trim()!==""){let l=Nu(e).trim();return c+l}else xg(e)}let a="";if(vl(e,!0),yl(e)){let c=kl(e);c.endsWith(`
4
+ Comments: `,n=new Set,r=[];for(let i of xl(e))try{let a=Array.from(i.querySelectorAll(xS));for(let s of a)n.has(s)||(n.add(s),r.push(s))}catch{}let o=r.filter(i=>i.textContent);if(o.length===0)return"";for(let i of o){let a=i.closest(wS);if(!a)continue;let s=a.querySelector(SS);s&&s.textContent&&(t+=`
5
+ Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
6
+ `)}return t.trim()}function IS(){let e=Ft()||document,t=ca(e),n=t?.contentDocument,r=t?.contentWindow,o=()=>{let i=n?.body,a=Ft(),s=i?.innerText||i?.textContent||""||a?.body?.innerText||a?.body?.textContent||"";return String(s).replace(new RegExp(Cg,"g"),"")+Nu(e)};try{try{r?.focus(),n?.body?.focus?.()}catch{}if(ES(e),yl(e)){let c=kl(e);if(c.trim()!==""){let l=Nu(e).trim();return c+l}else _g(e)}let i="";if(vl(e,!0),yl(e)){let c=kl(e);c.endsWith(`
7
7
 
8
- `)||(a+=c.trimEnd())}if(vl(e,!1),yl(e)?kl(e).endsWith(dT+`
8
+ `)||(i+=c.trimEnd())}if(vl(e,!1),yl(e)?kl(e).endsWith(TS+`
9
9
  `)&&vl(e,!1):vl(e,!1),yl(e)){let c=kl(e);c.trim()!==""&&!c.startsWith(`
10
- `)&&(a+=c)}xg(e);let i=Nu(e).trim(),s=a.trim()+i;return s.trim()?s:o()}catch{return o()}}async function mT(e,t){let n="",r;Ig(e,e.defaultView||window);let o=Zt(t?.deadlineEpochMs);try{let a=Math.max(250,Math.min(1500,Math.floor(o*.45))),i=await ti(hT(e),a,e);if(!(i.ok&&i.value))throw new Error("google_sheet_copy_failed");let c=Zt(t?.deadlineEpochMs),l=Math.max(250,Math.min(2500,Math.floor(c*.55)));if(n=await gT(l,e),!n.trim())throw new Error("google_sheet_empty_clipboard")}catch(a){r=a instanceof Error?a.message:String(a)}return{content:n,contentType:Su,error:r}}function Ig(e,t){try{t?.focus?.()}catch{}try{e?.body?.focus?.()}catch{}}function Lu(e,t){let r=e.defaultView?.KeyboardEvent||KeyboardEvent,o=new r("keydown",{bubbles:!0,cancelable:!0,...t}),a=e.activeElement;(a&&a.ownerDocument===e?a:e).dispatchEvent(o)}async function hT(e){try{if(Ig(e,e.defaultView||window),e.hidden||!e.hasFocus())return!1;Lu(e,{key:"Escape",code:"Escape"}),await cn(150,e);let t=e.querySelector(".grid-container")||wg(e,".grid-container"),n=e.querySelector(".grid4-inner-container:last-child")||wg(e,".grid4-inner-container:last-child");if(n){try{n.focus()}catch{}await cn(100,e)}else if(t){try{t.focus?.()}catch{}await cn(80,e)}let o=(typeof navigator<"u"?String(navigator.platform||""):"").toUpperCase().indexOf("MAC")>=0;Lu(e,{key:"a",code:"KeyA",ctrlKey:!o,metaKey:o}),await cn(200,e),Lu(e,{key:"c",code:"KeyC",ctrlKey:!o,metaKey:o}),await cn(200,e);try{e.execCommand("copy")}catch{}return!0}catch{return!1}}async function gT(e,t){let n=Math.max(250,Math.min(5e3,Math.floor(e)));if(navigator?.clipboard?.readText){let a=await ti(navigator.clipboard.readText(),n,t);if(a.ok)return a.value||""}let r=t.createElement("textarea");r.style.position="fixed",r.style.opacity="0",r.style.pointerEvents="none",r.style.left="-9999px",r.style.top="0",t.body?.appendChild(r),r.focus();try{t.execCommand("paste")}catch{}let o=r.value||"";return r.remove(),o}function wg(e,t){let n=xl(e);for(let s of n)try{let c=s.querySelector(t);if(c)return c}catch{}let r=1e5,o=0,a=(s,c)=>{if(!c)return;let l=c.children;if(l)for(let d=0;d<l.length;d++)s.push(l[d])},i=[];for(let s of n)try{a(i,s.documentElement??s.body??null)}catch{}for(;i.length&&o<r;){let s=i.pop();o++;try{if(s.matches(t))return s}catch{}a(i,s);let c=s.shadowRoot;if(c&&a(i,c),String(s.tagName).toUpperCase()==="IFRAME")try{let d=s.contentDocument;d&&a(i,d.documentElement??d.body??null)}catch{}}return null}async function bT(e,t){let n=t?.profile??"light",r=!e.hidden,o=Math.max(0,Math.min(t?.timeBudgetMs??(n==="light"?1600:2800),3e3));if(o<=0)return!1;let a=Date.now(),i=()=>o-(Date.now()-a),s=t?.delayMs??(n==="light"?220:280),c=t?.finalWaitMs??(n==="light"?350:900),l=r?s:0,d=r?c:0,m=t?.amount,f=t?.maxSteps??(n==="light"?8:18),p=t?.maxDistancePx??(n==="light"?12e3:3e4),g=null;try{let k=await Tg(e,{action:"detectPrimary"});if(k?.selector){let P=yT(e,k.selector);P&&(g=P)}let b=k?.metrics;if(b&&typeof b.scrollHeight=="number"&&typeof b.clientHeight=="number"){let P=Math.max(0,b.scrollHeight-b.clientHeight);p=Math.min(p,P||p),P<1500?f=Math.min(f,2):P<4e3?f=Math.min(f,4):P<1e4&&(f=Math.min(f,6))}}catch{}if(g||(g=e.scrollingElement||e.documentElement||e.body),!g)return!1;let y=0,x=null,T=0;for(let k=0;k<f&&!(i()<=0);k++){let b=null;try{b=await Tg(e,{action:"scrollBy",direction:Ft.DOWN,options:{amount:m,behavior:"auto",isTabActive:r}})}catch{}if(!b||!b.success){let R=e.defaultView||window;b=bl(g,e,R,Ft.DOWN,m),T=2}if(!b?.success)break;let P=b.scrollTop??x??0;if(x!==null){let R=Math.max(0,P-x);y+=R,T=R===0?T+1:0}if(x=P,b.isAtBottom||T>=2||y>=p)break;if(l>0&&k<f-1){let R=Math.min(l,Math.max(0,i()));if(R<=0)break;await cn(R,e)}}if(d>0){let k=Math.min(d,Math.max(0,i()));k>0&&await cn(k,e)}if(i()>80)try{let k=e.scrollingElement||e.documentElement||e.body,b=e.defaultView||window,P=g===e.documentElement||g===e.body||g===k?k:g;if(P){let R=P===k?b.innerHeight:P.clientHeight||b.innerHeight,_=Math.max(0,P.scrollHeight-R);P.scrollTop=_}}catch{}return!0}function yT(e,t){try{return e.querySelector(t)}catch{return null}}async function Tg(e,t){let n=e.defaultView||window,r=n.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",i=(n[r]?.scroll||n.__RTRVR_SCROLL_API__)?.execute;return typeof i!="function"?null:i(t)}async function vT(e,t){let n=e.defaultView||window,r=n.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",a=n[r]?.flushScan;if(typeof a!="function"){try{n.rtrvrAIMarkInteractiveElements?.()}catch{}return}let i=Date.now()+Math.max(100,Math.floor(t.totalBudgetMs)),s=0;for(;s<t.maxPasses&&Zt(i)>0;){let c=Math.max(50,Math.min(t.budgetMs,Zt(i)));try{await a({mode:t.mode??"full",includeShadow:!0,includeSameOriginIframes:!0,budgetMs:c,deadlineEpochMs:i})}catch{break}if(Sg(e)===0)break;s++}if(Sg(e)>0&&Zt(i)>50){let c=Math.min(120,Zt(i));try{await a({mode:"priority",includeShadow:!0,includeSameOriginIframes:!0,budgetMs:c,deadlineEpochMs:i})}catch{}}}function Sg(e){let t=e.documentElement;if(!t)return 0;let n=t.getAttribute(ia);if(!n)return 0;let r=Number.parseInt(n,10);return Number.isFinite(r)&&r>0?r:0}function kT(e){let t=xT(e.URL||"");if(!t?.sheetId)return;let n=wT(e),r=n?.title||"Sheet1";return{sheetId:t.sheetId,sheetTitle:e.title||n?.title||void 0,sheetTab:r,sheetTabId:t.sheetTabId??n?.id,sheetTabs:void 0}}function xT(e){if(!e)return null;try{let t=new URL(e);if(t.hostname!=="docs.google.com")return null;let n=t.pathname.split("/"),r=n.indexOf("spreadsheets"),o=n.indexOf("d");if(r===-1||o===-1||o!==r+1||n.length<=o+1)return null;let a=n[o+1];if(!a||!/^[a-zA-Z0-9_-]+$/.test(a))return null;let i;return t.hash&&t.hash.includes("gid=")&&(i=new URLSearchParams(t.hash.substring(1)).get("gid")??void 0),!i&&t.searchParams.has("gid")&&(i=t.searchParams.get("gid")??void 0),i&&!/^\\d+$/.test(i)&&(i=void 0),{sheetId:a,sheetTabId:i?parseInt(i,10):0}}catch{return null}}function wT(e){try{let t=e.querySelector('[role="tab"][aria-selected="true"]')||e.querySelector(".docs-sheet-tab-active")||e.querySelector('.docs-sheet-tab[aria-selected="true"]');if(!t)return null;let n=t.getAttribute("aria-label")||t.textContent?.trim()||void 0,r=t.getAttribute("data-sheet-id")||t.getAttribute("data-tab-id")||void 0,o=r&&/^\d+$/.test(r)?Number(r):void 0;return{title:n,id:o}}catch{return null}}var ir;(function(e){e[e.Native=1]="Native",e[e.Inline=2]="Inline",e[e.React=4]="React",e[e.Vue=8]="Vue",e[e.Angular=16]="Angular",e[e.Svelte=32]="Svelte",e[e.JQuery=64]="JQuery",e[e.Delegated=128]="Delegated",e[e.Other=256]="Other",e[e.Inferred=512]="Inferred"})(ir||(ir={}));var TT={native:ir.Native,inline:ir.Inline,react:ir.React,vue:ir.Vue,angular:ir.Angular,svelte:ir.Svelte,jquery:ir.JQuery,delegated:ir.Delegated,other:ir.Other};function Rg(){if(typeof window>"u")return;let e=window,t="__RTRVR_MAIN_WORLD_INITIALIZED__",n=new WeakMap,r={frameworks:new Set,reactRoots:new WeakSet,vueRoots:new WeakSet,angularRoots:new WeakSet,svelteRoots:new WeakSet,jqueryRoots:new WeakSet},o=new WeakMap,a=new WeakMap,i=new Set,s=100,c=50,l=0,d=0,m=new WeakSet,f="__RTRVR_ET_HOOKED__",p="__RTRVR_ATTACH_SHADOW_HOOKED__";function g(v){if(v&&!m.has(v)){m.add(v);try{y(v)}catch{}try{x(v)}catch{}}}function y(v){try{let L=v.EventTarget;if(!L?.prototype||L.prototype[f])return;L.prototype[f]=!0;let B=L.prototype.addEventListener,H=L.prototype.removeEventListener;L.prototype.addEventListener=function(J,le,we){try{et(le)||qn(this,J,we)}catch{}return B.call(this,J,le,we)},L.prototype.removeEventListener=function(J,le,we){try{an(this,J,we)}catch{}return H.call(this,J,le,we)};try{let J=Function.prototype.toString;L.prototype.addEventListener.toString=()=>J.call(B),L.prototype.removeEventListener.toString=()=>J.call(H)}catch{}}catch{}}function x(v){try{let L=v.Element;if(!L?.prototype?.attachShadow||L.prototype[p])return;L.prototype[p]=!0;let B=L.prototype.attachShadow;L.prototype.attachShadow=function(H){let J=B.call(this,H);try{ja.set(this,J)}catch{}try{mt(J)}catch{}return J};try{let H=Function.prototype.toString;L.prototype.attachShadow.toString=()=>H.call(B)}catch{}}catch{}}function T(v){let B=n.get(v)?.listenerTypeMasks;if(B&&B.size){let H=[];for(let J of B.keys()){let le=io[J];le&&H.push(le)}return H}return rs(v)}let k=["onclick","ondblclick","ondoubleclick","onmousedown","onmouseup","role","contenteditable","draggable","tabindex","disabled","type","aria-haspopup","aria-expanded","data-click","data-action","data-handler","data-toggle","data-target"],b=0,P=new Set,R=null,_=!1,$=6,te=["click","input","change","keydown","keyup","pointerdown","pointerup","submit","focus","blur"],W=["mouseenter","mouseleave","mouseover","mouseout","mousedown","mouseup","wheel","scroll","dragstart","drop","touchstart","touchend"];if(e[t]){typeof e.rtrvrAISetObserverPaused!="function"&&(e.rtrvrAISetObserverPaused=()=>!1),typeof e.rtrvrAIClearObserverPause!="function"&&(e.rtrvrAIClearObserverPause=()=>!1),typeof e.rtrvrAIIsObserverPaused!="function"&&(e.rtrvrAIIsObserverPaused=()=>!!Ut()?.hidden);return}e[t]=!0;let oe={onclick:"click",ondblclick:"dblclick",ondoubleclick:"doubleclick",onmousedown:"mousedown",onmouseup:"mouseup",onmouseenter:"mouseenter",onmouseleave:"mouseleave",onmousemove:"mousemove",onmouseover:"mouseover",onmouseout:"mouseout",oncontextmenu:"contextmenu",onauxclick:"auxclick",onkeydown:"keydown",onkeyup:"keyup",onkeypress:"keypress",oninput:"input",onchange:"change",onsubmit:"submit",onreset:"reset",onselect:"select",onsearch:"search",oninvalid:"invalid",onbeforeinput:"beforeinput",onfocus:"focus",onblur:"blur",onfocusin:"focusin",onfocusout:"focusout",ontouchstart:"touchstart",ontouchend:"touchend",ontouchmove:"touchmove",ontouchcancel:"touchcancel",onpointerdown:"pointerdown",onpointerup:"pointerup",onpointermove:"pointermove",onpointerenter:"pointerenter",onpointerleave:"pointerleave",onpointercancel:"pointercancel",onpointerover:"pointerover",ondragstart:"dragstart",ondragend:"dragend",ondrag:"drag",ondragenter:"dragenter",ondragleave:"dragleave",ondragover:"dragover",ondrop:"drop",oncopy:"copy",oncut:"cut",onpaste:"paste",onscroll:"scroll",onwheel:"wheel",onplay:"play",onpause:"pause",onended:"ended",onvolumechange:"volumechange",onseeking:"seeking",onseeked:"seeked",onanimationstart:"animationstart",onanimationend:"animationend",ontransitionend:"transitionend",ontransitionstart:"transitionstart",onresize:"resize",ontoggle:"toggle",onfullscreenchange:"fullscreenchange",onload:"load",onerror:"error",onabort:"abort",onbeforeunload:"beforeunload",onunload:"unload",onhashchange:"hashchange",onpopstate:"popstate",onstorage:"storage",onmessage:"message"};function j(v){return v?String(v).split(".")[0].toLowerCase():""}let ae=["data-click","data-action","data-event","data-handler","data-on-click","data-onclick","data-tap","data-press","data-toggle","data-target"],K=0,ne=null,ue=new MessageChannel,ke=[];ue.port1.onmessage=()=>{let v=ke.shift();v&&v()};function me(){return Date.now()}function je(v){return!v||!Number.isFinite(v)?Number.POSITIVE_INFINITY:Math.max(0,v-me())}let pt=8,Et=new MessageChannel,it=!1;function Me(){if(!it){it=!0;try{Et.port2.postMessage(0)}catch{}}}function F(v){let L=v.values().next();if(L.done)return null;let B=L.value;return v.delete(B),B}function Y(){return new Promise(v=>{ke.push(v),ue.port2.postMessage(0)})}let Se=!1;function X(){if(!Se)try{let v=e.jQuery;v&&v.fn&&(kr(v),Se=!0,on("jquery"))}catch{}}function ee(v,L){for(let B=L.lastElementChild;B;B=B.previousElementSibling)v.push(B)}function re(v,L,B){if(B)try{let H=qa(L);H&&v.push(H)}catch{}}function xe(v,L,B){if(B&&ns(L))try{let H=L.contentWindow||null;H&&g(H);let J=H?.document?.documentElement;J&&v.push(J)}catch{}}let pe=new WeakSet;function nt(v){v&&(typeof v=="function"||typeof v=="object")&&pe.add(v)}function et(v){return!!v&&(typeof v=="function"||typeof v=="object")&&pe.has(v)}Et.port1.onmessage=()=>{if(Ct()){P.clear(),i.clear(),b=0,Pe(),it=!1;return}it=!1,Tt(500);let v=performance.now();for(;P.size&&performance.now()-v<pt;){let L=F(P);if(!L)break;try{Ee(L)}catch{}finally{b=Math.max(0,b-1)}}for(;i.size&&performance.now()-v<pt;){let L=F(i);if(!L)break;try{bn(L)}catch{}}Pe(),(P.size||i.size)&&Me()};function Pe(){try{let v=Ut()?.documentElement;if(!v)return;v.setAttribute(ia,String(b))}catch{}}function St(v){let L=n.get(v);return L||(L={frameworks:new Set,listeners:new Map},n.set(v,L)),L}function nn(v){Ct()||(i.add(v),i.size>2e3&&Tt(1500),Me())}function $e(v){Ct()||P.has(v)||(P.add(v),b++,Pe(),Me(),P.size>2e3&&Tt(1500))}function Tt(v=1500){let L=0;for(let B of P){if(L>=v)break;L++,B.isConnected||(P.delete(B),b=Math.max(0,b-1))}L=0;for(let B of i){if(L>=v)break;L++,B.isConnected||i.delete(B)}Pe()}let Ue=null;function qe(v,L,B){return`${v}|${L?1:0}|${B?1:0}`}function kt(v){let L=v.tagName;if(L==="A"||L==="BUTTON"||L==="INPUT"||L==="SELECT"||L==="TEXTAREA"||L==="SUMMARY"||v.hasAttribute("role")||v.hasAttribute("tabindex")||v.hasAttribute("contenteditable")||v.hasAttribute("onclick")||v.getAttributeNames().some(B=>B.startsWith("on")))return!0;for(let B of ae)if(v.hasAttribute(B))return!0;return!!(v.hasAttribute("aria-haspopup")||v.hasAttribute("aria-expanded"))}function Ot(v){let L=Ve(v);if(!Jt(v,L))return!1;let B=v.tagName;if(B!=="DIV"&&B!=="SPAN"&&B!=="LI"&&B!=="SECTION"&&B!=="ARTICLE"&&B!=="P")return!1;let H=v;if(H.__ngContext__||H.__svelte__||H.__vue__||H._vnode||H.__reactFiber$||H.__reactProps$)return!0;let J=0;for(let le in H){if(++J>30)break;if(le.startsWith("__react")||le.includes("reactFiber")||le.includes("reactProps"))return!0}return!1}function dt(){let v=Ut()?.documentElement;return v?r.frameworks.size>0||v.hasAttribute("rtrvr-react")||v.hasAttribute("rtrvr-vue")||v.hasAttribute("rtrvr-angular")||v.hasAttribute("rtrvr-svelte")||v.hasAttribute("rtrvr-jquery"):!1}function It(v){if(Ct())return;let L=performance.now();for(;P.size&&performance.now()-L<v;){let B=F(P);if(!B)break;try{Ee(B)}catch{}finally{b=Math.max(0,b-1)}}for(;i.size&&performance.now()-L<v;){let B=F(i);if(!B)break;try{bn(B)}catch{}}}async function Nt(v={}){if(Ct())return P.clear(),i.clear(),b=0,Pe(),{revision:++K,scanned:0,durationMs:0,done:!0,remaining:0};Tt(3e3),X(),na();let L=v.mode??"full",B=v.includeShadow??!0,H=v.includeSameOriginIframes??!0,J=Math.max(50,Math.min(v.budgetMs??2500,15e3)),le=v.deadlineEpochMs,we=Math.max(0,Math.min(J,je(le))),Le=qe(L,B,H);if(we<=0){let En=(Ue?.stack?.length??0)+P.size+i.size;return{revision:++K,scanned:0,durationMs:0,done:En===0,remaining:En}}if((!Ue||Ue.optsKey!==Le)&&je(le)>30&&await He({budgetMs:18,deadlineEpochMs:le}),L==="priority"){let En=performance.now(),Mt=0;for(;P.size&&performance.now()-En<=we&&!(le&&je(le)<=0);){let Pt=F(P);if(!Pt)break;try{Ee(Pt)}catch{}Mt++,b=Math.max(0,b-1)}for(;i.size&&performance.now()-En<=we&&!(le&&je(le)<=0);){let Pt=F(i);if(!Pt)break;try{bn(Pt)}catch{}}return Pe(),{revision:++K,scanned:Mt,durationMs:performance.now()-En,done:P.size===0&&i.size===0,remaining:P.size+i.size}}if(!Ue||Ue.optsKey!==Le){let En=Ut()?.documentElement;Ue={optsKey:Le,stack:En?[En]:[],scannedTotal:0}}let ft=performance.now(),ht=0;for(b++,Pe();Ue.stack.length&&!(le&&je(le)<=0);){let En=Ue.stack.pop();if(rr(En)){let Pt=En.children;for(let ao=Pt.length-1;ao>=0;ao--)Ue.stack.push(Pt[ao]);continue}let Mt=En;if(!(!Mt||Mt.nodeType!==1)&&!(Mt.tagName==="SCRIPT"||Mt.tagName==="STYLE"||Mt.tagName==="META"||Mt.tagName==="NOSCRIPT")){try{(kt(Mt)||dt()&&Ot(Mt))&&Ee(Mt)}catch{}try{bn(Mt)}catch{}if(P.delete(Mt)&&(b=Math.max(0,b-1)),i.delete(Mt),ht++,Ue.scannedTotal++,B)try{let Pt=qa(Mt);Pt&&(mt(Pt),Ue.stack.push(Pt))}catch{}if(H&&ns(Mt))try{let Pt=Mt.contentWindow||null;Pt&&g(Pt);let ao=Pt?.document,Oc=ao?.documentElement;ao&&Oc&&(ge(ao),Ue.stack.push(Oc))}catch{}for(let Pt=Mt.lastElementChild;Pt;Pt=Pt.previousElementSibling)Ue.stack.push(Pt);ht%800===0&&je(le)>20&&await Y()}}let _t=Math.max(0,we-(performance.now()-ft)),pn=je(le);It(Math.min(250,_t,pn)),b=Math.max(0,b-1),Pe();let dr=Ue.stack.length===0,oo=Ue.stack.length;return dr&&(Ue=null),{revision:++K,scanned:ht,durationMs:performance.now()-ft,done:dr,remaining:oo}}async function Dn(v={}){return ne||(ne=Nt(v).finally(()=>{ne=null}),ne)}e.rtrvrAIFlushScan=Dn;let Bt="__RTRVR_INTERNAL__";Object(window).__RTRVR_INTERNAL_KEY__=Bt;let rn=e[Bt],Pn=rn&&typeof rn=="object"?rn:{};if(!rn)try{Object.defineProperty(e,Bt,{value:Pn,writable:!1,configurable:!1,enumerable:!1})}catch{}try{Object.defineProperty(Pn,"flushScan",{value:Dn,writable:!1,configurable:!1,enumerable:!1})}catch{}function _e(v,L){let B=St(v),H=j(L.type);if(!H)return;let J=!1,le=B.listeners.get(H);le||(le=[],B.listeners.set(H,le),J=!0);let we=le.find(Qe=>Qe.source===L.source&&!!Qe.inferred==!!L.inferred);if(we){let Qe=!!we.capture,ft=!!we.passive,ht=!!we.once;we.capture=we.capture||L.capture,we.passive=we.passive||L.passive,we.once=we.once||L.once,(Qe!==!!we.capture||ft!==!!we.passive||ht!==!!we.once)&&(J=!0)}else le.push({...L,type:H}),J=!0;let Le=ut[H];if(Le!==void 0){B.listenerTypeMasks||(B.listenerTypeMasks=new Map);let Qe=0,ft=TT[L.source];Qe|=ft!==void 0?ft:ir.Other,L.inferred&&(Qe|=ir.Inferred);let ht=B.listenerTypeMasks.get(Le)||0,_t=ht|Qe;_t!==ht&&(B.listenerTypeMasks.set(Le,_t),J=!0)}J&&(B.role=void 0,nn(v))}function Zn(v){let L=v.listenerTypeMasks;return!L||L.size===0?null:[...L.entries()].sort((H,J)=>H[0]-J[0]).map(([H,J])=>`${H}~${(J||0).toString(36)}`).join(",")}function Re(v,L){let B=St(v);B.frameworks.has(L)||(B.frameworks.add(L),nn(v))}function on(v){r.frameworks.has(v)||(r.frameworks.add(v),Ut()?.documentElement?.setAttribute(`rtrvr-${v}`,"1"))}function bn(v){let L=n.get(v);if(!L)return;i.delete(v);let B=Zn(L);B?B!==L.lastListenersSerialized&&(v.setAttribute(Io,B),L.lastListenersSerialized=B):L.lastListenersSerialized&&(v.removeAttribute(Io),L.lastListenersSerialized=void 0);let H=Ve(v);if(Jt(v,H))if(L.role===void 0&&(L.role=ta(v)),L.role){let J=Wa[L.role],le=typeof J=="number"?String(J):`s:${L.role}`;le!==L.lastRoleSerialized&&(v.setAttribute(co,le),L.lastRoleSerialized=le)}else(L.lastRoleSerialized||v.hasAttribute(co))&&(v.removeAttribute(co),L.lastRoleSerialized=void 0)}function At(v){let L=[],B=v;for(;B;)L.push(B),B=B.parentNode||B.host;return L}function Zi(v){let L=v.tagName.toLowerCase(),B=v.getAttribute("role"),H=B?B.toLowerCase().trim():"";if(H&&so.has(H)||L==="button"||(L==="a"||L==="area")&&v.hasAttribute("href"))return!0;if(L==="input")return v.type?.toLowerCase()!=="hidden";if(L==="select"||L==="textarea"||(L==="video"||L==="audio")&&v.hasAttribute("controls")||v.isContentEditable||v.hasAttribute("contenteditable"))return!0;let J=v.getAttribute("tabindex");return!!(J!==null&&!Number.isNaN(Number.parseInt(J,10))&&(T(v).some(Le=>Qc.has(Le))||v.getAttributeNames().some(Le=>Le.startsWith("on"))))}function Pc(v,L=10){let B=[];for(let H=0;H<v.children.length;H++)B.push({node:v.children[H],depth:1});for(;B.length;){let{node:H,depth:J}=B.pop();if(Zi(H))return!0;if(!(J>=L))for(let le=0;le<H.children.length;le++)B.push({node:H.children[le],depth:J+1})}return!1}function ta(v){let L=v.tagName.toLowerCase(),B=v.getAttribute("role"),H=B?B.toLowerCase().trim():"",J=v.type?.toLowerCase();if(H&&so.has(H))return H;if(H&&os.has(H))return null;if(L==="a"&&v.hasAttribute("href"))return"link";if(L==="button")return"button";if(L==="input")return J==="hidden"?null:J==="checkbox"?"checkbox":J==="radio"?"radio":J==="range"?"slider":J==="number"?"spinbutton":J==="search"?"searchbox":["button","submit","reset","image","file"].includes(J)?"button":v.hasAttribute("list")?"combobox":"textbox";if(L==="textarea")return"textbox";if(L==="select"){let _t=v;return _t.multiple||_t.size&&_t.size>1?"listbox":"combobox"}if(L==="option")return"option";if(L==="form")return"form";if(L==="video"||L==="audio"){let _t=rs(v);return v.hasAttribute("controls")||_t.length>0?"media":null}if(v.isContentEditable||v.hasAttribute("contenteditable"))return"textbox";let le=T(v);if(!le.length)return null;let we=!1,Le=!1,Qe=!1;for(let _t=0;_t<le.length;_t++){let pn=le[_t];!we&&Qc.has(pn)&&(we=!0),!Le&&su.has(pn)&&(Le=!0),!Qe&&cu.has(pn)&&(Qe=!0)}if(!we&&!Le&&!Qe)return null;let ft=v.getAttribute("tabindex"),ht=ft!==null&&!Number.isNaN(Number.parseInt(ft,10));if(we&&(bu(v)||v.getAttribute("href")||v.closest("a[href]")))return"link";if(Le){if(v.isContentEditable||v.hasAttribute("contenteditable"))return"textbox";if(H==="textbox"||H==="searchbox"||H==="combobox"||H==="spinbutton")return H;if(!we&&ht)return"textbox"}if(we){let _t=v.getAttribute("aria-checked"),pn=v.getAttribute("aria-pressed");if(_t!==null||pn!==null){if(H==="radio")return"radio";if(H==="menuitemradio")return"menuitemradio";if(H==="menuitemcheckbox")return"menuitemcheckbox";if(pn!==null)return"button";if(_t!==null)return"checkbox"}if((ht||H==="button")&&!Pc(v))return"button"}return Qe?"application":null}let to=EventTarget.prototype.addEventListener,no=EventTarget.prototype.removeEventListener;function _n(v){let L=!1,B,H;return typeof v=="boolean"?L=v:v&&typeof v=="object"&&(L=!!v.capture,B=v.passive,H=v.once),{capture:L,passive:B,once:H}}function er(v){try{let L=v;if(L?.nodeType===9&&L?.documentElement)return L;let B=L?.document;if(B&&B.nodeType===9&&B.documentElement)return B}catch{}return null}function qn(v,L,B){let H=j(L);if(!H)return;let{capture:J,passive:le,once:we}=_n(B),Le=o.get(v);Le||(Le=new Map,o.set(v,Le));let Qe=Le.get(H);if(Qe?(Qe.count+=1,Qe.capture=Qe.capture||J,Qe.passive=Qe.passive||le):Le.set(H,{count:1,capture:J,passive:le}),oa(v))try{_e(v,{type:H,source:"native",capture:J,passive:le,once:we})}catch{}let ft=er(v);if(ft&&(H==="click"||H==="input"||H==="keydown"))try{ft.documentElement?.setAttribute(`rtrvr-gl-${H}`,"1")}catch{}}function an(v,L,B){let H=j(L);if(!H)return;let J=o.get(v);if(!J)return;let le=J.get(H);le&&(le.count-=1,le.count<=0&&J.delete(H),J.size===0&&o.delete(v))}g(window);function kr(v){if(!v||!v.fn)return;let L=v.fn.on,B=v.fn.off;function H(le){if(!le)return[];if(typeof le=="string")return le.split(/\s/).map(we=>j(we)).filter(Boolean);if(typeof le=="object")try{return Object.keys(le).map(we=>j(we)).filter(Boolean)}catch{return[]}return[]}function J(le){try{if(!le)return null;if(oa(le))return le;let we=Ve(le);return Gc(le,we)||null}catch{}return null}v.fn.on=function(le,we){let Le=H(le),Qe=typeof we=="string"&&!!we;return this.each(function(){let ft=J(this);if(ft){if(Qe){let ht=a.get(ft);ht||(ht=[],a.set(ft,ht));for(let _t of Le){let pn=`${_t}::${we}`;ht.some(dr=>`${dr.type}::${dr.selector}`===pn)||(ht.push({type:_t,selector:we}),ht.length>400&&ht.shift())}}else for(let ht of Le)_e(ft,{type:ht,source:"jquery"});Re(ft,"jquery"),on("jquery"),r.jqueryRoots.add(ft)}}),L.apply(this,arguments)},v.fn.off=function(){return B.apply(this,arguments)},on("jquery")}function Br(v){ae.some(B=>v.hasAttribute(B))&&(_e(v,{type:"click",source:"other",inferred:!0}),(v.tagName==="INPUT"||v.tagName==="TEXTAREA")&&(_e(v,{type:"input",source:"other",inferred:!0}),_e(v,{type:"change",source:"other",inferred:!0})))}function ro(v){let L=Ve(v),B=Jt(v,L),H=v.getAttributeNames().some(Qe=>Qe.startsWith("on")),J=/^(button|a|input|select|textarea|summary)$/i.test(v.tagName),le=v,we=B&&(nl(v)||!!le.isContentEditable||v.hasAttribute("contenteditable")),Le=B&&!!le.draggable;if(!H&&!J&&!we&&!Le){Br(v);return}for(let[Qe,ft]of Object.entries(oe))typeof v[Qe]=="function"&&_e(v,{type:ft,source:"inline"});we&&(_e(v,{type:"input",source:"other",inferred:!0}),_e(v,{type:"keydown",source:"other",inferred:!0}),_e(v,{type:"keyup",source:"other",inferred:!0}),_e(v,{type:"paste",source:"other",inferred:!0})),Le&&(_e(v,{type:"dragstart",source:"other",inferred:!0}),_e(v,{type:"dragend",source:"other",inferred:!0})),Br(v)}function h(v){if(!v.startsWith("on")||v.length<=2)return null;if(v.endsWith("Capture")){let B=v.substring(2,v.length-7);return B?{type:B.toLowerCase(),capture:!0}:null}let L=v.substring(2);return L?{type:L.toLowerCase(),capture:!1}:null}function M(v){let L=null;if(v){for(let B in v)if(B.startsWith("__react")||B.startsWith("_react")||B.includes("reactFiber")||B.includes("reactProps")||B.includes("reactInternalInstance")){L=B;break}if(L)try{let B=v[L],H=B?.memoizedProps||B?.pendingProps;if(H&&typeof H=="object"){for(let J in H){if(typeof H[J]!="function")continue;let we=h(J);we&&_e(v,{type:we.type,source:"react",capture:we.capture})}oa(B?.stateNode)&&r.reactRoots.add(B.stateNode),Re(v,"react"),on("react")}}catch{}}}function A(v){let L=v,B=!1;if(L.__vue__){B=!0;let H=L.__vue__;H.$listeners&&Object.keys(H.$listeners).forEach(J=>_e(v,{type:J,source:"vue"})),H._events&&Object.keys(H._events).forEach(J=>_e(v,{type:J,source:"vue"})),H.$options?._parentListeners&&Object.keys(H.$options._parentListeners).forEach(J=>_e(v,{type:J,source:"vue"})),r.vueRoots.add(v)}if(L._vnode?.props){B=!0;let H=L._vnode.props;Object.keys(H).forEach(J=>{J.startsWith("on")&&J.length>2&&_e(v,{type:J.substring(2).toLowerCase(),source:"vue"})}),r.vueRoots.add(v)}B&&(Re(v,"vue"),on("vue"))}function C(v){let L=v,B=!1;if(L.__ngContext__||v.hasAttribute("_ngcontent")||v.hasAttribute("ng-version")){B=!0,Array.from(v.attributes).forEach(H=>{if(H.name.startsWith("(")&&H.name.endsWith(")")){let J=H.name.slice(1,-1).split(".")[0];J&&_e(v,{type:J,source:"angular"})}if(H.name.startsWith("on-")){let J=H.name.substring(3);J&&_e(v,{type:J,source:"angular"})}if(H.name.includes(".")){let J=H.name.match(/\(([^.)]+)/);J?.[1]&&_e(v,{type:J[1],source:"angular"})}});try{if(e.ng?.getComponent){let H=e.ng.getComponent(v);H&&Object.keys(H).forEach(J=>{(J.endsWith("Output")||J.endsWith("Emitter"))&&_e(v,{type:J.replace(/(Output|Emitter)$/,"").toLowerCase(),source:"angular"})})}}catch{}}B&&(Re(v,"angular"),on("angular"),r.angularRoots.add(v))}function E(v){let L=v,B=!1;if(L.__svelte__){B=!0,Array.from(v.attributes).forEach(H=>{if(H.name.startsWith("on:")){let J=H.name.substring(3);J&&_e(v,{type:J,source:"svelte"})}});try{let H=L.__svelte__?.$$?.callbacks;H&&typeof H=="object"&&Object.keys(H).forEach(J=>_e(v,{type:J,source:"svelte"}))}catch{}r.svelteRoots.add(v)}B&&(Re(v,"svelte"),on("svelte"))}function w(v,L){return v?!!o.get(v)?.has(L):!1}function S(v,L,B=96){let H=j(L);if(!H)return!1;let J=de(v),le=be(J);if(w(J,H)||w(le,H))return!0;let we=0,Le=v;for(;Le&&we<B;){if(Le.parentElement)Le=Le.parentElement;else{let Qe=Le.getRootNode?.();if(rr(Qe)){if(w(Qe,H)||w(Qe.host,H))return!0;Le=Qe.host}else break}if(Le&&w(Le,H))return!0}return!1}function N(v,L,B=128){let H=0,J=v;for(;J&&H<B;){if(L(J),J.parentElement){J=J.parentElement;continue}let le=J.getRootNode?.();if(rr(le)){J=le.host;continue}break}}function q(v){let L=Ve(v);if(!Jt(v,L))return;let B=St(v);B.role=B.role||ta(v);let H=S(v,"click"),J=S(v,"input"),le=S(v,"keydown"),Le=de(v).documentElement;if(r.frameworks.size>0||Le.hasAttribute("rtrvr-react")||Le.hasAttribute("rtrvr-vue")||Le.hasAttribute("rtrvr-angular")||Le.hasAttribute("rtrvr-svelte")||Le.hasAttribute("rtrvr-jquery")||H||J||le){let ft=B.role||"other";H&&["button","link","checkbox","radio","switch","menuitem","menuitemcheckbox","menuitemradio","tab","option","treeitem","gridcell","cell","img","figure"].includes(ft)&&_e(v,{type:"click",source:"delegated",inferred:!0}),["textbox","searchbox","spinbutton","code"].includes(ft)&&(J&&(_e(v,{type:"input",source:"delegated",inferred:!0}),_e(v,{type:"change",source:"delegated",inferred:!0})),le&&_e(v,{type:"keydown",source:"delegated",inferred:!0})),["combobox","listbox"].includes(ft)&&(H&&_e(v,{type:"click",source:"delegated",inferred:!0}),J&&_e(v,{type:"change",source:"delegated",inferred:!0})),["slider","scrollbar","progressbar","meter"].includes(ft)&&J&&_e(v,{type:"input",source:"delegated",inferred:!0})}N(v,ft=>{let ht=a.get(ft);if(ht?.length)for(let{type:_t,selector:pn}of ht)try{v.matches(pn)&&(_e(v,{type:_t,source:"jquery",inferred:!0}),Re(v,"jquery"),on("jquery"))}catch{}})}function z(v){let L=B=>{if(Ct())return;let H=B,J=H.composedPath&&H.composedPath()||At(B.target),we=v==="mousemove"||v==="pointermove"||v==="scroll"||v==="wheel"?1:Math.min(J.length,$);for(let Le=0;Le<we;Le++){let Qe=J[Le];oa(Qe)&&_e(Qe,{type:v,source:"delegated",inferred:!0})}};nt(L);try{to.call(document,v,L,{capture:!0,passive:!0})}catch{}}let G=!1,Z=!1,ie=null;function he(){if(Z)return;Z=!0,te.forEach(z);let v=Ut()?.documentElement;if(!v)return;let L=()=>{if(G)return;let B=v.hasAttribute("rtrvr-react")||v.hasAttribute("rtrvr-vue")||v.hasAttribute("rtrvr-angular")||v.hasAttribute("rtrvr-svelte"),H=v.hasAttribute("rtrvr-gl-click")||v.hasAttribute("rtrvr-gl-input")||v.hasAttribute("rtrvr-gl-keydown");(B||H)&&(G=!0,W.forEach(z))};L();try{ie=new MutationObserver(()=>L()),ie.observe(v,{attributes:!0,attributeFilter:Ge})}catch{}}function Ee(v){if(v.nodeType!==1)return;let L=Ve(v);if(Jt(v,L)){let B=St(v);B.role=void 0}ro(v),M(v),A(v),C(v),E(v),q(v),nn(v)}function tt(){if(Ct())return;let v=["a[href]","button","input","select","textarea","summary","details > summary",...Array.from(so).map(L=>`[role="${L}"]`),"[onclick]","[ondblclick]","[ondoubleclick]","[onmousedown]","[tabindex]","[contenteditable]",'[draggable="true"]',"[aria-haspopup]","[aria-expanded]","[data-click]","[data-action]","[data-handler]","[data-toggle]","[data-target]",".clickable",".interactive",".btn",".button"];b++,Pe();try{let L=v.join(",");Ut()?.querySelectorAll(L).forEach(B=>{try{Ee(B)}catch{}})}finally{b=Math.max(0,b-1),Pe()}}let ve=!1,Ie=[],Ne=200;function lt(v){if(!Ct()){for(let L of v)Ie.push(L);ve||(ve=!0,queueMicrotask(Gt))}}function Gt(){ve=!1;let v=Ie;if(Ie=[],Ct())return;let L=0;for(let B of v){if(L>=Ne)break;for(let H of Array.from(B.addedNodes)){if(L>=Ne)break;if(H.nodeType!==1)continue;let J=H;$e(J),L++;let le=J.querySelectorAll?.('a,button,input,select,textarea,summary,[role],[onclick],[ondblclick],[ondoubleclick],[contenteditable],[draggable="true"],[tabindex]');if(le){let we=Math.min(le.length,50);for(let Le=0;Le<we;Le++)$e(le[Le]),L++}}if(B.type==="attributes"&&B.target.nodeType===1){let H=B.target;B.attributeName==="class"?kt(H)&&$e(H):$e(H)}}}async function He(v={}){if(Ct())return;let L=Ut(),B=L?.documentElement;if(!B||!(B.hasAttribute("rtrvr-react")||B.hasAttribute("rtrvr-vue")||B.hasAttribute("rtrvr-angular")||B.hasAttribute("rtrvr-svelte")))return;let J=v.deadlineEpochMs,le=Math.max(5,Math.min(v.budgetMs??12,50));if(Math.max(0,Math.min(le,je(J)))<=0)return;let Le=performance.now();b++,Pe();try{let Qe=0,ft=["div","span","li","section","article","p"];for(let ht of ft){let _t=L.getElementsByTagName(ht)??[];for(let pn=0;pn<_t.length;pn++){if(J&&je(J)<=0)return;Qe++;let dr=_t[pn],oo=dr;(oo.__ngContext__||oo.__svelte__||oo.__vue__||oo._vnode||Ot(dr))&&Ee(dr),Qe%250===0&&je(J)>20&&await Y()}}}finally{b=Math.max(0,b-1),Pe()}}let Je=new MutationObserver(lt),rt=new WeakMap,Xe=new Set;function mt(v){let L=rt.get(v);if(L){if(Xe.add(L),!_)try{L.observe(v,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}catch{}return}if(!(l>=s))try{let B=be(v.ownerDocument).MutationObserver||MutationObserver,H=new B(lt);rt.set(v,H),Xe.add(H),l++,_||H.observe(v,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}catch{}}let xt=new WeakMap,Ae=new Set;function ge(v){let L=xt.get(v);if(L){if(Ae.add(L),!_)try{let B=v.documentElement;B&&L.observe(B,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}catch{}return}if(!(d>=c))try{g(v.defaultView||null);let B=v.documentElement;if(!B)return;let H=be(v).MutationObserver||MutationObserver,J=new H(lt);xt.set(v,J),Ae.add(J),d++,_||J.observe(B,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}catch{}}function Oe(){let v=Ut()?.documentElement;v&&Je.observe(v,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}let Ge=["rtrvr-react","rtrvr-vue","rtrvr-angular","rtrvr-svelte","rtrvr-gl-click","rtrvr-gl-input","rtrvr-gl-keydown"];function yn(){return R??!!Ut()?.hidden}function Ct(){return _}function Ur(v){let L=!!v;if(_===L)return;if(_=L,_){try{Je.disconnect()}catch{}try{ie?.disconnect()}catch{}for(let H of Xe)try{H.disconnect()}catch{}for(let H of Ae)try{H.disconnect()}catch{}Xe.clear(),Ae.clear(),P.clear(),i.clear(),b=0,Pe();return}Oe();let B=Ut()?.documentElement;if(B&&ie)try{ie.observe(B,{attributes:!0,attributeFilter:Ge})}catch{}tt()}function Hr(v){return R=typeof v=="boolean"?v:null,Ur(yn()),!0}let ja=new WeakMap;function qa(v){return v.shadowRoot||ja.get(v)||null}try{Object.defineProperty(Pn,"shadow",{value:Object.freeze({getRoot:v=>qa(v)}),writable:!1,configurable:!1,enumerable:!1})}catch{}function na(){try{(e.React||e.__REACT_DEVTOOLS_GLOBAL_HOOK__)&&on("react"),e.Vue&&on("vue"),e.ng&&on("angular"),e.jQuery&&on("jquery"),X()}catch{}}e.rtrvrAISetObserverPaused=function(v){return Hr(!!v)},e.rtrvrAIClearObserverPause=function(){return Hr(null)},e.rtrvrAIIsObserverPaused=function(){return Ct()},e.rtrvrAIMarkInteractiveElements=function(){return Ut()?.body?(tt(),!0):!1};function Eo(){let v=Ut();X(),na(),he();let L=()=>{R==null&&Ur(yn())};v?.addEventListener("visibilitychange",L,{passive:!0}),Ur(yn());let B=()=>{X(),na(),Ct()||(Oe(),He({budgetMs:20})),v?.documentElement.setAttribute(ou,"1")};v?.readyState==="loading"?v.addEventListener("DOMContentLoaded",B,{once:!0}):B()}Eo()}var wl=null,Ag=!1;function Du(e){try{return e.getAttribute(Io)}catch{return null}}function Cg(e){let t=Du(e);return aa(t)?.entries??[]}function Mg(e){try{let t=e.getAttribute(co);return t&&t.trim()?t:null}catch{return null}}function ST(e){let t=e?.ownerDocument?.defaultView,n=t?.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",o=t?.[n]?.shadow?.getRoot;if(typeof o=="function")try{return o(e)||null}catch{}return e.shadowRoot||null}function _T(e){let t=new Set;for(let n of e){let r=zc(n.mask);for(let o of r)(o==="react"||o==="vue"||o==="angular"||o==="svelte"||o==="jquery")&&t.add(o)}return t}function ET(e){let t=new Set,n=e;return(n.__reactFiber||n.__reactProps||n.__reactInternalInstance||n.__reactRootContainer)&&t.add("react"),(n.__vue__||n.__vueParentComponent||n.__vnode||n.__vue_app__)&&t.add("vue"),n.__ngContext__&&t.add("angular"),(n.__svelte||n.__svelte_meta)&&t.add("svelte"),(n.__jquery||n.jQuery)&&t.add("jquery"),t}function IT(e){let t=Cg(e),n=_T(t),r=ET(e);for(let o of r)n.add(o);return{frameworks:[...n],listenersRaw:Du(e)||"",role:Mg(e)??(e.getAttribute?.("role")||null)}}function RT(){return{getEventHandlerIds:e=>Cg(e).map(t=>t.id),getRoleHint:Mg,getShadowRoot:ST}}function Ng(e={}){return wl||(wl={signalProvider:RT(),getFrameworkMetadata:IT,getListenerEncoding:Du,dispose:()=>{}},wl)}function Lg(){Ag||(Rg(),Ag=!0)}function AT(e,t){return e.endsWith(t)?e.length===t.length||e[e.length-t.length-1]===".":!1}function CT(e,t){let n=e.length-t.length-2,r=e.lastIndexOf(".",n);return r===-1?e:e.slice(r+1)}function Pu(e,t,n){if(n.validHosts!==null){let o=n.validHosts;for(let a of o)if(AT(t,a))return a}let r=0;if(t.startsWith("."))for(;r<t.length&&t[r]===".";)r+=1;return e.length===t.length-r?null:CT(t,e)}function Ou(e,t){return e.slice(0,-t.length-1)}function Tl(e,t){let n=0,r=e.length,o=!1;if(!t){if(e.startsWith("data:"))return null;for(;n<e.length&&e.charCodeAt(n)<=32;)n+=1;for(;r>n+1&&e.charCodeAt(r-1)<=32;)r-=1;if(e.charCodeAt(n)===47&&e.charCodeAt(n+1)===47)n+=2;else{let l=e.indexOf(":/",n);if(l!==-1){let d=l-n,m=e.charCodeAt(n),f=e.charCodeAt(n+1),p=e.charCodeAt(n+2),g=e.charCodeAt(n+3),y=e.charCodeAt(n+4);if(!(d===5&&m===104&&f===116&&p===116&&g===112&&y===115)){if(!(d===4&&m===104&&f===116&&p===116&&g===112)){if(!(d===3&&m===119&&f===115&&p===115)){if(!(d===2&&m===119&&f===115))for(let x=n;x<l;x+=1){let T=e.charCodeAt(x)|32;if(!(T>=97&&T<=122||T>=48&&T<=57||T===46||T===45||T===43))return null}}}}for(n=l+2;e.charCodeAt(n)===47;)n+=1}}let i=-1,s=-1,c=-1;for(let l=n;l<r;l+=1){let d=e.charCodeAt(l);if(d===35||d===47||d===63){r=l;break}else d===64?i=l:d===93?s=l:d===58?c=l:d>=65&&d<=90&&(o=!0)}if(i!==-1&&i>n&&i<r&&(n=i+1),e.charCodeAt(n)===91)return s!==-1?e.slice(n+1,s).toLowerCase():null;c!==-1&&c>n&&c<r&&(r=c)}for(;r>n+1&&e.charCodeAt(r-1)===46;)r-=1;let a=n!==0||r!==e.length?e.slice(n,r):e;return o?a.toLowerCase():a}function MT(e){if(e.length<7||e.length>15)return!1;let t=0;for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r===46)t+=1;else if(r<48||r>57)return!1}return t===3&&e.charCodeAt(0)!==46&&e.charCodeAt(e.length-1)!==46}function NT(e){if(e.length<3)return!1;let t=e.startsWith("[")?1:0,n=e.length;if(e[n-1]==="]"&&(n-=1),n-t>39)return!1;let r=!1;for(;t<n;t+=1){let o=e.charCodeAt(t);if(o===58)r=!0;else if(!(o>=48&&o<=57||o>=97&&o<=102||o>=65&&o<=90))return!1}return r}function Bu(e){return NT(e)||MT(e)}function Dg(e){return e>=97&&e<=122||e>=48&&e<=57||e>127}function Uu(e){if(e.length>255||e.length===0||!Dg(e.charCodeAt(0))&&e.charCodeAt(0)!==46&&e.charCodeAt(0)!==95)return!1;let t=-1,n=-1,r=e.length;for(let o=0;o<r;o+=1){let a=e.charCodeAt(o);if(a===46){if(o-t>64||n===46||n===45||n===95)return!1;t=o}else if(!(Dg(a)||a===45||a===95))return!1;n=a}return r-t-1<=63&&n!==45}function Pg({allowIcannDomains:e=!0,allowPrivateDomains:t=!1,detectIp:n=!0,extractHostname:r=!0,mixedInputs:o=!0,validHosts:a=null,validateHostname:i=!0}){return{allowIcannDomains:e,allowPrivateDomains:t,detectIp:n,extractHostname:r,mixedInputs:o,validHosts:a,validateHostname:i}}var LT=Pg({});function Hu(e){return e===void 0?LT:Pg(e)}function zu(e,t){return t.length===e.length?"":e.slice(0,-t.length-1)}function Sl(){return{domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,publicSuffix:null,subdomain:null}}function Fu(e){e.domain=null,e.domainWithoutSuffix=null,e.hostname=null,e.isIcann=null,e.isIp=null,e.isPrivate=null,e.publicSuffix=null,e.subdomain=null}function _l(e,t,n,r,o){let a=Hu(r);return typeof e!="string"||(a.extractHostname?a.mixedInputs?o.hostname=Tl(e,Uu(e)):o.hostname=Tl(e,!1):o.hostname=e,a.detectIp&&o.hostname!==null&&(o.isIp=Bu(o.hostname),o.isIp))?o:a.validateHostname&&a.extractHostname&&o.hostname!==null&&!Uu(o.hostname)?(o.hostname=null,o):(t===0||o.hostname===null||(n(o.hostname,a,o),t===2||o.publicSuffix===null)||(o.domain=Pu(o.publicSuffix,o.hostname,a),t===3||o.domain===null)||(o.subdomain=zu(o.hostname,o.domain),t===4)||(o.domainWithoutSuffix=Ou(o.domain,o.publicSuffix)),o)}function ju(e,t,n){if(!t.allowPrivateDomains&&e.length>3){let r=e.length-1,o=e.charCodeAt(r),a=e.charCodeAt(r-1),i=e.charCodeAt(r-2),s=e.charCodeAt(r-3);if(o===109&&a===111&&i===99&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="com",!0;if(o===103&&a===114&&i===111&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="org",!0;if(o===117&&a===100&&i===101&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="edu",!0;if(o===118&&a===111&&i===103&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="gov",!0;if(o===116&&a===101&&i===110&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="net",!0;if(o===101&&a===100&&i===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="de",!0}return!1}var Og=(function(){let e=[1,{}],t=[0,{city:e}];return[0,{ck:[0,{www:e}],jp:[0,{kawasaki:t,kitakyushu:t,kobe:t,nagoya:t,sapporo:t,sendai:t,yokohama:t}]}]})(),Bg=(function(){let e=[1,{}],t=[2,{}],n=[1,{com:e,edu:e,gov:e,net:e,org:e}],r=[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e}],o=[0,{"*":t}],a=[2,{s:o}],i=[0,{relay:t}],s=[2,{id:t}],c=[1,{gov:e}],l=[0,{airflow:o,"lambda-url":t,"transfer-webapp":t}],d=[0,{airflow:o,"transfer-webapp":t}],m=[0,{"transfer-webapp":t}],f=[0,{"transfer-webapp":t,"transfer-webapp-fips":t}],p=[0,{notebook:t,studio:t}],g=[0,{labeling:t,notebook:t,studio:t}],y=[0,{notebook:t}],x=[0,{labeling:t,notebook:t,"notebook-fips":t,studio:t}],T=[0,{notebook:t,"notebook-fips":t,studio:t,"studio-fips":t}],k=[0,{shop:t}],b=[0,{"*":e}],P=[1,{co:t}],R=[0,{objects:t}],_=[2,{"eu-west-1":t,"us-east-1":t}],$=[2,{nodes:t}],te=[0,{my:t}],W=[0,{s3:t,"s3-accesspoint":t,"s3-website":t}],oe=[0,{s3:t,"s3-accesspoint":t}],j=[0,{direct:t}],ae=[0,{"webview-assets":t}],K=[0,{vfs:t,"webview-assets":t}],ne=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:W,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t,"aws-cloud9":ae,cloud9:K}],ue=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:oe,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t,"aws-cloud9":ae,cloud9:K}],ke=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:W,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t,"analytics-gateway":t,"aws-cloud9":ae,cloud9:K}],me=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:W,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t}],je=[0,{s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-fips":t,"s3-website":t}],pt=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:je,s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-fips":t,"s3-object-lambda":t,"s3-website":t,"aws-cloud9":ae,cloud9:K}],Et=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:je,s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-fips":t,"s3-object-lambda":t,"s3-website":t}],it=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:je,s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-deprecated":t,"s3-fips":t,"s3-object-lambda":t,"s3-website":t,"analytics-gateway":t,"aws-cloud9":ae,cloud9:K}],Me=[0,{auth:t}],F=[0,{auth:t,"auth-fips":t}],Y=[0,{"auth-fips":t}],Se=[0,{apps:t}],X=[0,{paas:t}],ee=[2,{eu:t}],re=[0,{app:t}],xe=[0,{site:t}],pe=[1,{com:e,edu:e,net:e,org:e}],nt=[0,{j:t}],et=[0,{dyn:t}],Pe=[2,{web:t}],St=[1,{co:e,com:e,edu:e,gov:e,net:e,org:e}],nn=[0,{p:t}],$e=[0,{user:t}],Tt=[1,{ms:t}],Ue=[0,{cdn:t}],qe=[2,{raw:o}],kt=[0,{cust:t,reservd:t}],Ot=[0,{cust:t}],dt=[0,{s3:t}],It=[1,{biz:e,com:e,edu:e,gov:e,info:e,net:e,org:e}],Nt=[0,{ipfs:t}],Dn=[1,{framer:t}],Bt=[0,{forgot:t}],rn=[0,{blob:t,file:t,web:t}],Pn=[0,{core:rn,servicebus:t}],_e=[1,{gs:e}],Zn=[0,{nes:e}],Re=[1,{k12:e,cc:e,lib:e}],on=[1,{cc:e}],bn=[1,{cc:e,lib:e}];return[0,{ac:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,drr:t,feedback:t,forms:t}],ad:e,ae:[1,{ac:e,co:e,gov:e,mil:e,net:e,org:e,sch:e}],aero:[1,{airline:e,airport:e,"accident-investigation":e,"accident-prevention":e,aerobatic:e,aeroclub:e,aerodrome:e,agents:e,"air-surveillance":e,"air-traffic-control":e,aircraft:e,airtraffic:e,ambulance:e,association:e,author:e,ballooning:e,broker:e,caa:e,cargo:e,catering:e,certification:e,championship:e,charter:e,civilaviation:e,club:e,conference:e,consultant:e,consulting:e,control:e,council:e,crew:e,design:e,dgca:e,educator:e,emergency:e,engine:e,engineer:e,entertainment:e,equipment:e,exchange:e,express:e,federation:e,flight:e,freight:e,fuel:e,gliding:e,government:e,groundhandling:e,group:e,hanggliding:e,homebuilt:e,insurance:e,journal:e,journalist:e,leasing:e,logistics:e,magazine:e,maintenance:e,marketplace:e,media:e,microlight:e,modelling:e,navigation:e,parachuting:e,paragliding:e,"passenger-association":e,pilot:e,press:e,production:e,recreation:e,repbody:e,res:e,research:e,rotorcraft:e,safety:e,scientist:e,services:e,show:e,skydiving:e,software:e,student:e,taxi:e,trader:e,trading:e,trainer:e,union:e,workinggroup:e,works:e}],af:n,ag:[1,{co:e,com:e,net:e,nom:e,org:e,obj:t}],ai:[1,{com:e,net:e,off:e,org:e,uwu:t,framer:t,kiloapps:t}],al:r,am:[1,{co:e,com:e,commune:e,net:e,org:e,radio:t}],ao:[1,{co:e,ed:e,edu:e,gov:e,gv:e,it:e,og:e,org:e,pb:e}],aq:e,ar:[1,{bet:e,com:e,coop:e,edu:e,gob:e,gov:e,int:e,mil:e,musica:e,mutual:e,net:e,org:e,seg:e,senasa:e,tur:e}],arpa:[1,{e164:e,home:e,"in-addr":e,ip6:e,iris:e,uri:e,urn:e}],as:c,asia:[1,{cloudns:t,daemon:t,dix:t}],at:[1,{4:t,ac:[1,{sth:e}],co:e,gv:e,or:e,funkfeuer:[0,{wien:t}],futurecms:[0,{"*":t,ex:o,in:o}],futurehosting:t,futuremailing:t,ortsinfo:[0,{ex:o,kunden:o}],biz:t,info:t,"123webseite":t,priv:t,my:t,myspreadshop:t,"12hp":t,"2ix":t,"4lima":t,"lima-city":t}],au:[1,{asn:e,com:[1,{cloudlets:[0,{mel:t}],myspreadshop:t}],edu:[1,{act:e,catholic:e,nsw:e,nt:e,qld:e,sa:e,tas:e,vic:e,wa:e}],gov:[1,{qld:e,sa:e,tas:e,vic:e,wa:e}],id:e,net:e,org:e,conf:e,oz:e,act:e,nsw:e,nt:e,qld:e,sa:e,tas:e,vic:e,wa:e,hrsn:[0,{vps:t}]}],aw:[1,{com:e}],ax:e,az:[1,{biz:e,co:e,com:e,edu:e,gov:e,info:e,int:e,mil:e,name:e,net:e,org:e,pp:e,pro:e}],ba:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,brendly:k,rs:t}],bb:[1,{biz:e,co:e,com:e,edu:e,gov:e,info:e,net:e,org:e,store:e,tv:e}],bd:[1,{ac:e,ai:e,co:e,com:e,edu:e,gov:e,id:e,info:e,it:e,mil:e,net:e,org:e,sch:e,tv:e}],be:[1,{ac:e,cloudns:t,webhosting:t,interhostsolutions:[0,{cloud:t}],kuleuven:[0,{ezproxy:t}],my:t,"123website":t,myspreadshop:t,transurl:o}],bf:c,bg:[1,{0:e,1:e,2:e,3:e,4:e,5:e,6:e,7:e,8:e,9:e,a:e,b:e,c:e,d:e,e,f:e,g:e,h:e,i:e,j:e,k:e,l:e,m:e,n:e,o:e,p:e,q:e,r:e,s:e,t:e,u:e,v:e,w:e,x:e,y:e,z:e,barsy:t}],bh:n,bi:[1,{co:e,com:e,edu:e,or:e,org:e}],biz:[1,{activetrail:t,"cloud-ip":t,cloudns:t,jozi:t,dyndns:t,"for-better":t,"for-more":t,"for-some":t,"for-the":t,selfip:t,webhop:t,orx:t,mmafan:t,myftp:t,"no-ip":t,dscloud:t}],bj:[1,{africa:e,agro:e,architectes:e,assur:e,avocats:e,co:e,com:e,eco:e,econo:e,edu:e,info:e,loisirs:e,money:e,net:e,org:e,ote:e,restaurant:e,resto:e,tourism:e,univ:e}],bm:n,bn:[1,{com:e,edu:e,gov:e,net:e,org:e,co:t}],bo:[1,{com:e,edu:e,gob:e,int:e,mil:e,net:e,org:e,tv:e,web:e,academia:e,agro:e,arte:e,blog:e,bolivia:e,ciencia:e,cooperativa:e,democracia:e,deporte:e,ecologia:e,economia:e,empresa:e,indigena:e,industria:e,info:e,medicina:e,movimiento:e,musica:e,natural:e,nombre:e,noticias:e,patria:e,plurinacional:e,politica:e,profesional:e,pueblo:e,revista:e,salud:e,tecnologia:e,tksat:e,transporte:e,wiki:e}],br:[1,{"9guacu":e,abc:e,adm:e,adv:e,agr:e,aju:e,am:e,anani:e,aparecida:e,api:e,app:e,arq:e,art:e,ato:e,b:e,barueri:e,belem:e,bet:e,bhz:e,bib:e,bio:e,blog:e,bmd:e,boavista:e,bsb:e,campinagrande:e,campinas:e,caxias:e,cim:e,cng:e,cnt:e,com:[1,{simplesite:t}],contagem:e,coop:e,coz:e,cri:e,cuiaba:e,curitiba:e,def:e,des:e,det:e,dev:e,ecn:e,eco:e,edu:e,emp:e,enf:e,eng:e,esp:e,etc:e,eti:e,far:e,feira:e,flog:e,floripa:e,fm:e,fnd:e,fortal:e,fot:e,foz:e,fst:e,g12:e,geo:e,ggf:e,goiania:e,gov:[1,{ac:e,al:e,am:e,ap:e,ba:e,ce:e,df:e,es:e,go:e,ma:e,mg:e,ms:e,mt:e,pa:e,pb:e,pe:e,pi:e,pr:e,rj:e,rn:e,ro:e,rr:e,rs:e,sc:e,se:e,sp:e,to:e}],gru:e,ia:e,imb:e,ind:e,inf:e,jab:e,jampa:e,jdf:e,joinville:e,jor:e,jus:e,leg:[1,{ac:t,al:t,am:t,ap:t,ba:t,ce:t,df:t,es:t,go:t,ma:t,mg:t,ms:t,mt:t,pa:t,pb:t,pe:t,pi:t,pr:t,rj:t,rn:t,ro:t,rr:t,rs:t,sc:t,se:t,sp:t,to:t}],leilao:e,lel:e,log:e,londrina:e,macapa:e,maceio:e,manaus:e,maringa:e,mat:e,med:e,mil:e,morena:e,mp:e,mus:e,natal:e,net:e,niteroi:e,nom:b,not:e,ntr:e,odo:e,ong:e,org:e,osasco:e,palmas:e,poa:e,ppg:e,pro:e,psc:e,psi:e,pvh:e,qsl:e,radio:e,rec:e,recife:e,rep:e,ribeirao:e,rio:e,riobranco:e,riopreto:e,salvador:e,sampa:e,santamaria:e,santoandre:e,saobernardo:e,saogonca:e,seg:e,sjc:e,slg:e,slz:e,social:e,sorocaba:e,srv:e,taxi:e,tc:e,tec:e,teo:e,the:e,tmp:e,trd:e,tur:e,tv:e,udi:e,vet:e,vix:e,vlog:e,wiki:e,xyz:e,zlg:e,tche:t}],bs:[1,{com:e,edu:e,gov:e,net:e,org:e,we:t}],bt:n,bv:e,bw:[1,{ac:e,co:e,gov:e,net:e,org:e}],by:[1,{gov:e,mil:e,com:e,of:e,mediatech:t}],bz:[1,{co:e,com:e,edu:e,gov:e,net:e,org:e,za:t,mydns:t,gsj:t}],ca:[1,{ab:e,bc:e,mb:e,nb:e,nf:e,nl:e,ns:e,nt:e,nu:e,on:e,pe:e,qc:e,sk:e,yk:e,gc:e,barsy:t,awdev:o,co:t,"no-ip":t,onid:t,myspreadshop:t,box:t}],cat:e,cc:[1,{cleverapps:t,"cloud-ip":t,cloudns:t,ccwu:t,ftpaccess:t,"game-server":t,myphotos:t,scrapping:t,twmail:t,csx:t,fantasyleague:t,spawn:[0,{instances:t}],ec:t,eu:t,gu:t,uk:t,us:t}],cd:[1,{gov:e,cc:t}],cf:e,cg:e,ch:[1,{square7:t,cloudns:t,cloudscale:[0,{cust:t,lpg:R,rma:R}],objectstorage:[0,{lpg:t,rma:t}],flow:[0,{ae:[0,{alp1:t}],appengine:t}],"linkyard-cloud":t,gotdns:t,dnsking:t,"123website":t,myspreadshop:t,firenet:[0,{"*":t,svc:o}],"12hp":t,"2ix":t,"4lima":t,"lima-city":t}],ci:[1,{ac:e,"xn--aroport-bya":e,a\u00E9roport:e,asso:e,co:e,com:e,ed:e,edu:e,go:e,gouv:e,int:e,net:e,or:e,org:e,us:t}],ck:b,cl:[1,{co:e,gob:e,gov:e,mil:e,cloudns:t}],cm:[1,{co:e,com:e,gov:e,net:e}],cn:[1,{ac:e,com:[1,{amazonaws:[0,{"cn-north-1":[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,rds:o,dualstack:W,s3:t,"s3-accesspoint":t,"s3-deprecated":t,"s3-object-lambda":t,"s3-website":t}],"cn-northwest-1":[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,rds:o,dualstack:oe,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t}],compute:o,airflow:[0,{"cn-north-1":o,"cn-northwest-1":o}],eb:[0,{"cn-north-1":t,"cn-northwest-1":t}],elb:o}],amazonwebservices:[0,{on:[0,{"cn-north-1":d,"cn-northwest-1":d}]}],sagemaker:[0,{"cn-north-1":p,"cn-northwest-1":p}]}],edu:e,gov:e,mil:e,net:e,org:e,"xn--55qx5d":e,\u516C\u53F8:e,"xn--od0alg":e,\u7DB2\u7D61:e,"xn--io0a7i":e,\u7F51\u7EDC:e,ah:e,bj:e,cq:e,fj:e,gd:e,gs:e,gx:e,gz:e,ha:e,hb:e,he:e,hi:e,hk:e,hl:e,hn:e,jl:e,js:e,jx:e,ln:e,mo:e,nm:e,nx:e,qh:e,sc:e,sd:e,sh:[1,{as:t}],sn:e,sx:e,tj:e,tw:e,xj:e,xz:e,yn:e,zj:e,"canva-apps":t,canvasite:te,myqnapcloud:t,quickconnect:j}],co:[1,{com:e,edu:e,gov:e,mil:e,net:e,nom:e,org:e,carrd:t,crd:t,otap:o,hidns:t,leadpages:t,lpages:t,mypi:t,xmit:o,rdpa:[0,{clusters:o,srvrless:o}],firewalledreplit:s,repl:s,supabase:[2,{realtime:t,storage:t}],umso:t}],com:[1,{a2hosted:t,cpserver:t,adobeaemcloud:[2,{dev:o}],africa:t,auiusercontent:o,aivencloud:t,alibabacloudcs:t,kasserver:t,amazonaws:[0,{"af-south-1":ne,"ap-east-1":ue,"ap-northeast-1":ke,"ap-northeast-2":ke,"ap-northeast-3":ne,"ap-south-1":ke,"ap-south-2":me,"ap-southeast-1":ke,"ap-southeast-2":ke,"ap-southeast-3":me,"ap-southeast-4":me,"ap-southeast-5":[0,{"execute-api":t,dualstack:W,s3:t,"s3-accesspoint":t,"s3-deprecated":t,"s3-object-lambda":t,"s3-website":t}],"ca-central-1":pt,"ca-west-1":Et,"eu-central-1":ke,"eu-central-2":me,"eu-north-1":ue,"eu-south-1":ne,"eu-south-2":me,"eu-west-1":[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:W,s3:t,"s3-accesspoint":t,"s3-deprecated":t,"s3-object-lambda":t,"s3-website":t,"analytics-gateway":t,"aws-cloud9":ae,cloud9:K}],"eu-west-2":ue,"eu-west-3":ne,"il-central-1":[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:W,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t,"aws-cloud9":ae,cloud9:[0,{vfs:t}]}],"me-central-1":me,"me-south-1":ue,"sa-east-1":ne,"us-east-1":[2,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:je,s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-deprecated":t,"s3-fips":t,"s3-object-lambda":t,"s3-website":t,"analytics-gateway":t,"aws-cloud9":ae,cloud9:K}],"us-east-2":it,"us-gov-east-1":Et,"us-gov-west-1":Et,"us-west-1":pt,"us-west-2":it,compute:o,"compute-1":o,airflow:[0,{"af-south-1":o,"ap-east-1":o,"ap-northeast-1":o,"ap-northeast-2":o,"ap-northeast-3":o,"ap-south-1":o,"ap-south-2":o,"ap-southeast-1":o,"ap-southeast-2":o,"ap-southeast-3":o,"ap-southeast-4":o,"ap-southeast-5":o,"ap-southeast-7":o,"ca-central-1":o,"ca-west-1":o,"eu-central-1":o,"eu-central-2":o,"eu-north-1":o,"eu-south-1":o,"eu-south-2":o,"eu-west-1":o,"eu-west-2":o,"eu-west-3":o,"il-central-1":o,"me-central-1":o,"me-south-1":o,"sa-east-1":o,"us-east-1":o,"us-east-2":o,"us-west-1":o,"us-west-2":o}],rds:[0,{"af-south-1":o,"ap-east-1":o,"ap-east-2":o,"ap-northeast-1":o,"ap-northeast-2":o,"ap-northeast-3":o,"ap-south-1":o,"ap-south-2":o,"ap-southeast-1":o,"ap-southeast-2":o,"ap-southeast-3":o,"ap-southeast-4":o,"ap-southeast-5":o,"ap-southeast-6":o,"ap-southeast-7":o,"ca-central-1":o,"ca-west-1":o,"eu-central-1":o,"eu-central-2":o,"eu-west-1":o,"eu-west-2":o,"eu-west-3":o,"il-central-1":o,"me-central-1":o,"me-south-1":o,"mx-central-1":o,"sa-east-1":o,"us-east-1":o,"us-east-2":o,"us-gov-east-1":o,"us-gov-west-1":o,"us-northeast-1":o,"us-west-1":o,"us-west-2":o}],s3:t,"s3-1":t,"s3-ap-east-1":t,"s3-ap-northeast-1":t,"s3-ap-northeast-2":t,"s3-ap-northeast-3":t,"s3-ap-south-1":t,"s3-ap-southeast-1":t,"s3-ap-southeast-2":t,"s3-ca-central-1":t,"s3-eu-central-1":t,"s3-eu-north-1":t,"s3-eu-west-1":t,"s3-eu-west-2":t,"s3-eu-west-3":t,"s3-external-1":t,"s3-fips-us-gov-east-1":t,"s3-fips-us-gov-west-1":t,"s3-global":[0,{accesspoint:[0,{mrap:t}]}],"s3-me-south-1":t,"s3-sa-east-1":t,"s3-us-east-2":t,"s3-us-gov-east-1":t,"s3-us-gov-west-1":t,"s3-us-west-1":t,"s3-us-west-2":t,"s3-website-ap-northeast-1":t,"s3-website-ap-southeast-1":t,"s3-website-ap-southeast-2":t,"s3-website-eu-west-1":t,"s3-website-sa-east-1":t,"s3-website-us-east-1":t,"s3-website-us-gov-west-1":t,"s3-website-us-west-1":t,"s3-website-us-west-2":t,elb:o}],amazoncognito:[0,{"af-south-1":Me,"ap-east-1":Me,"ap-northeast-1":Me,"ap-northeast-2":Me,"ap-northeast-3":Me,"ap-south-1":Me,"ap-south-2":Me,"ap-southeast-1":Me,"ap-southeast-2":Me,"ap-southeast-3":Me,"ap-southeast-4":Me,"ap-southeast-5":Me,"ap-southeast-7":Me,"ca-central-1":Me,"ca-west-1":Me,"eu-central-1":Me,"eu-central-2":Me,"eu-north-1":Me,"eu-south-1":Me,"eu-south-2":Me,"eu-west-1":Me,"eu-west-2":Me,"eu-west-3":Me,"il-central-1":Me,"me-central-1":Me,"me-south-1":Me,"mx-central-1":Me,"sa-east-1":Me,"us-east-1":F,"us-east-2":F,"us-gov-east-1":Y,"us-gov-west-1":Y,"us-west-1":F,"us-west-2":F}],amplifyapp:t,awsapprunner:o,awsapps:t,elasticbeanstalk:[2,{"af-south-1":t,"ap-east-1":t,"ap-northeast-1":t,"ap-northeast-2":t,"ap-northeast-3":t,"ap-south-1":t,"ap-southeast-1":t,"ap-southeast-2":t,"ap-southeast-3":t,"ap-southeast-5":t,"ap-southeast-7":t,"ca-central-1":t,"eu-central-1":t,"eu-north-1":t,"eu-south-1":t,"eu-south-2":t,"eu-west-1":t,"eu-west-2":t,"eu-west-3":t,"il-central-1":t,"me-central-1":t,"me-south-1":t,"sa-east-1":t,"us-east-1":t,"us-east-2":t,"us-gov-east-1":t,"us-gov-west-1":t,"us-west-1":t,"us-west-2":t}],awsglobalaccelerator:t,siiites:t,appspacehosted:t,appspaceusercontent:t,"on-aptible":t,myasustor:t,"balena-devices":t,boutir:t,bplaced:t,cafjs:t,"canva-apps":t,"canva-hosted-embed":t,canvacode:t,"rice-labs":t,"cdn77-storage":t,br:t,cn:t,de:t,eu:t,jpn:t,mex:t,ru:t,sa:t,uk:t,us:t,za:t,"clever-cloud":[0,{services:o}],abrdns:t,dnsabr:t,"ip-ddns":t,jdevcloud:t,wpdevcloud:t,"cf-ipfs":t,"cloudflare-ipfs":t,trycloudflare:t,co:t,devinapps:o,builtwithdark:t,datadetect:[0,{demo:t,instance:t}],dattolocal:t,dattorelay:t,dattoweb:t,mydatto:t,digitaloceanspaces:o,discordsays:t,discordsez:t,drayddns:t,dreamhosters:t,durumis:t,blogdns:t,cechire:t,dnsalias:t,dnsdojo:t,doesntexist:t,dontexist:t,doomdns:t,"dyn-o-saur":t,dynalias:t,"dyndns-at-home":t,"dyndns-at-work":t,"dyndns-blog":t,"dyndns-free":t,"dyndns-home":t,"dyndns-ip":t,"dyndns-mail":t,"dyndns-office":t,"dyndns-pics":t,"dyndns-remote":t,"dyndns-server":t,"dyndns-web":t,"dyndns-wiki":t,"dyndns-work":t,"est-a-la-maison":t,"est-a-la-masion":t,"est-le-patron":t,"est-mon-blogueur":t,"from-ak":t,"from-al":t,"from-ar":t,"from-ca":t,"from-ct":t,"from-dc":t,"from-de":t,"from-fl":t,"from-ga":t,"from-hi":t,"from-ia":t,"from-id":t,"from-il":t,"from-in":t,"from-ks":t,"from-ky":t,"from-ma":t,"from-md":t,"from-mi":t,"from-mn":t,"from-mo":t,"from-ms":t,"from-mt":t,"from-nc":t,"from-nd":t,"from-ne":t,"from-nh":t,"from-nj":t,"from-nm":t,"from-nv":t,"from-oh":t,"from-ok":t,"from-or":t,"from-pa":t,"from-pr":t,"from-ri":t,"from-sc":t,"from-sd":t,"from-tn":t,"from-tx":t,"from-ut":t,"from-va":t,"from-vt":t,"from-wa":t,"from-wi":t,"from-wv":t,"from-wy":t,getmyip:t,gotdns:t,"hobby-site":t,homelinux:t,homeunix:t,iamallama:t,"is-a-anarchist":t,"is-a-blogger":t,"is-a-bookkeeper":t,"is-a-bulls-fan":t,"is-a-caterer":t,"is-a-chef":t,"is-a-conservative":t,"is-a-cpa":t,"is-a-cubicle-slave":t,"is-a-democrat":t,"is-a-designer":t,"is-a-doctor":t,"is-a-financialadvisor":t,"is-a-geek":t,"is-a-green":t,"is-a-guru":t,"is-a-hard-worker":t,"is-a-hunter":t,"is-a-landscaper":t,"is-a-lawyer":t,"is-a-liberal":t,"is-a-libertarian":t,"is-a-llama":t,"is-a-musician":t,"is-a-nascarfan":t,"is-a-nurse":t,"is-a-painter":t,"is-a-personaltrainer":t,"is-a-photographer":t,"is-a-player":t,"is-a-republican":t,"is-a-rockstar":t,"is-a-socialist":t,"is-a-student":t,"is-a-teacher":t,"is-a-techie":t,"is-a-therapist":t,"is-an-accountant":t,"is-an-actor":t,"is-an-actress":t,"is-an-anarchist":t,"is-an-artist":t,"is-an-engineer":t,"is-an-entertainer":t,"is-certified":t,"is-gone":t,"is-into-anime":t,"is-into-cars":t,"is-into-cartoons":t,"is-into-games":t,"is-leet":t,"is-not-certified":t,"is-slick":t,"is-uberleet":t,"is-with-theband":t,"isa-geek":t,"isa-hockeynut":t,issmarterthanyou:t,"likes-pie":t,likescandy:t,"neat-url":t,"saves-the-whales":t,selfip:t,"sells-for-less":t,"sells-for-u":t,servebbs:t,"simple-url":t,"space-to-rent":t,"teaches-yoga":t,writesthisblog:t,"1cooldns":t,bumbleshrimp:t,ddnsfree:t,ddnsgeek:t,ddnsguru:t,dynuddns:t,dynuhosting:t,giize:t,gleeze:t,kozow:t,loseyourip:t,ooguy:t,pivohosting:t,theworkpc:t,wiredbladehosting:t,emergentagent:[0,{preview:t}],mytuleap:t,"tuleap-partners":t,encoreapi:t,evennode:[0,{"eu-1":t,"eu-2":t,"eu-3":t,"eu-4":t,"us-1":t,"us-2":t,"us-3":t,"us-4":t}],onfabrica:t,"fastly-edge":t,"fastly-terrarium":t,"fastvps-server":t,mydobiss:t,firebaseapp:t,fldrv:t,framercanvas:t,"freebox-os":t,freeboxos:t,freemyip:t,aliases121:t,gentapps:t,gentlentapis:t,githubusercontent:t,"0emm":o,appspot:[2,{r:o}],blogspot:t,codespot:t,googleapis:t,googlecode:t,pagespeedmobilizer:t,withgoogle:t,withyoutube:t,grayjayleagues:t,hatenablog:t,hatenadiary:t,"hercules-app":t,"hercules-dev":t,herokuapp:t,gr:t,smushcdn:t,wphostedmail:t,wpmucdn:t,pixolino:t,"apps-1and1":t,"live-website":t,"webspace-host":t,dopaas:t,"hosted-by-previder":X,hosteur:[0,{"rag-cloud":t,"rag-cloud-ch":t}],"ik-server":[0,{jcloud:t,"jcloud-ver-jpc":t}],jelastic:[0,{demo:t}],massivegrid:X,wafaicloud:[0,{jed:t,ryd:t}],"eu1-plenit":t,"la1-plenit":t,"us1-plenit":t,webadorsite:t,"on-forge":t,"on-vapor":t,lpusercontent:t,linode:[0,{members:t,nodebalancer:o}],linodeobjects:o,linodeusercontent:[0,{ip:t}],localtonet:t,lovableproject:t,barsycenter:t,barsyonline:t,lutrausercontent:o,magicpatternsapp:t,modelscape:t,mwcloudnonprod:t,polyspace:t,miniserver:t,atmeta:t,fbsbx:Se,meteorapp:ee,routingthecloud:t,"same-app":t,"same-preview":t,mydbserver:t,mochausercontent:t,hostedpi:t,"mythic-beasts":[0,{caracal:t,customer:t,fentiger:t,lynx:t,ocelot:t,oncilla:t,onza:t,sphinx:t,vs:t,x:t,yali:t}],nospamproxy:[0,{cloud:[2,{o365:t}]}],"4u":t,nfshost:t,"3utilities":t,blogsyte:t,ciscofreak:t,damnserver:t,ddnsking:t,ditchyourip:t,dnsiskinky:t,dynns:t,geekgalaxy:t,"health-carereform":t,homesecuritymac:t,homesecuritypc:t,myactivedirectory:t,mysecuritycamera:t,myvnc:t,"net-freaks":t,onthewifi:t,point2this:t,quicksytes:t,securitytactics:t,servebeer:t,servecounterstrike:t,serveexchange:t,serveftp:t,servegame:t,servehalflife:t,servehttp:t,servehumour:t,serveirc:t,servemp3:t,servep2p:t,servepics:t,servequake:t,servesarcasm:t,stufftoread:t,unusualperson:t,workisboring:t,myiphost:t,observableusercontent:[0,{static:t}],simplesite:t,oaiusercontent:o,orsites:t,operaunite:t,"customer-oci":[0,{"*":t,oci:o,ocp:o,ocs:o}],oraclecloudapps:o,oraclegovcloudapps:o,"authgear-staging":t,authgearapps:t,outsystemscloud:t,ownprovider:t,pgfog:t,pagexl:t,gotpantheon:t,paywhirl:o,forgeblocks:t,upsunapp:t,"postman-echo":t,prgmr:[0,{xen:t}],"project-study":[0,{dev:t}],pythonanywhere:ee,qa2:t,"alpha-myqnapcloud":t,"dev-myqnapcloud":t,mycloudnas:t,mynascloud:t,myqnapcloud:t,qualifioapp:t,ladesk:t,qualyhqpartner:o,qualyhqportal:o,qbuser:t,quipelements:o,rackmaze:t,"readthedocs-hosted":t,rhcloud:t,onrender:t,render:re,"subsc-pay":t,"180r":t,dojin:t,sakuratan:t,sakuraweb:t,x0:t,code:[0,{builder:o,"dev-builder":o,"stg-builder":o}],salesforce:[0,{platform:[0,{"code-builder-stg":[0,{test:[0,{"001":o}]}]}]}],logoip:t,scrysec:t,"firewall-gateway":t,myshopblocks:t,myshopify:t,shopitsite:t,"1kapp":t,appchizi:t,applinzi:t,sinaapp:t,vipsinaapp:t,streamlitapp:t,"try-snowplow":t,"playstation-cloud":t,myspreadshop:t,"w-corp-staticblitz":t,"w-credentialless-staticblitz":t,"w-staticblitz":t,"stackhero-network":t,stdlib:[0,{api:t}],strapiapp:[2,{media:t}],"streak-link":t,streaklinks:t,streakusercontent:t,"temp-dns":t,dsmynas:t,familyds:t,mytabit:t,taveusercontent:t,"tb-hosting":xe,reservd:t,thingdustdata:t,"townnews-staging":t,typeform:[0,{pro:t}],hk:t,it:t,"deus-canvas":t,vultrobjects:o,wafflecell:t,hotelwithflight:t,"reserve-online":t,cprapid:t,pleskns:t,remotewd:t,wiardweb:[0,{pages:t}],"drive-platform":t,"base44-sandbox":t,wixsite:t,wixstudio:t,messwithdns:t,"woltlab-demo":t,wpenginepowered:[2,{js:t}],xnbay:[2,{u2:t,"u2-local":t}],xtooldevice:t,yolasite:t}],coop:e,cr:[1,{ac:e,co:e,ed:e,fi:e,go:e,or:e,sa:e}],cu:[1,{com:e,edu:e,gob:e,inf:e,nat:e,net:e,org:e}],cv:[1,{com:e,edu:e,id:e,int:e,net:e,nome:e,org:e,publ:e}],cw:pe,cx:[1,{gov:e,cloudns:t,ath:t,info:t,assessments:t,calculators:t,funnels:t,paynow:t,quizzes:t,researched:t,tests:t}],cy:[1,{ac:e,biz:e,com:[1,{scaleforce:nt}],ekloges:e,gov:e,ltd:e,mil:e,net:e,org:e,press:e,pro:e,tm:e}],cz:[1,{gov:e,contentproxy9:[0,{rsc:t}],realm:t,e4:t,co:t,metacentrum:[0,{cloud:o,custom:t}],muni:[0,{cloud:[0,{flt:t,usr:t}]}]}],de:[1,{bplaced:t,square7:t,"bwcloud-os-instance":o,com:t,cosidns:et,dnsupdater:t,"dynamisches-dns":t,"internet-dns":t,"l-o-g-i-n":t,ddnss:[2,{dyn:t,dyndns:t}],"dyn-ip24":t,dyndns1:t,"home-webserver":[2,{dyn:t}],"myhome-server":t,dnshome:t,fuettertdasnetz:t,isteingeek:t,istmein:t,lebtimnetz:t,leitungsen:t,traeumtgerade:t,frusky:o,goip:t,"xn--gnstigbestellen-zvb":t,g\u00FCnstigbestellen:t,"xn--gnstigliefern-wob":t,g\u00FCnstigliefern:t,"hs-heilbronn":[0,{it:[0,{pages:t,"pages-research":t}]}],"dyn-berlin":t,"in-berlin":t,"in-brb":t,"in-butter":t,"in-dsl":t,"in-vpn":t,iservschule:t,"mein-iserv":t,schuldock:t,schulplattform:t,schulserver:t,"test-iserv":t,keymachine:t,co:t,"git-repos":t,"lcube-server":t,"svn-repos":t,barsy:t,webspaceconfig:t,"123webseite":t,rub:t,"ruhr-uni-bochum":[2,{noc:[0,{io:t}]}],logoip:t,"firewall-gateway":t,"my-gateway":t,"my-router":t,spdns:t,my:t,speedpartner:[0,{customer:t}],myspreadshop:t,"taifun-dns":t,"12hp":t,"2ix":t,"4lima":t,"lima-city":t,"virtual-user":t,virtualuser:t,"community-pro":t,diskussionsbereich:t,xenonconnect:o}],dj:e,dk:[1,{biz:t,co:t,firm:t,reg:t,store:t,"123hjemmeside":t,myspreadshop:t}],dm:St,do:[1,{art:e,com:e,edu:e,gob:e,gov:e,mil:e,net:e,org:e,sld:e,web:e}],dz:[1,{art:e,asso:e,com:e,edu:e,gov:e,net:e,org:e,pol:e,soc:e,tm:e}],ec:[1,{abg:e,adm:e,agron:e,arqt:e,art:e,bar:e,chef:e,com:e,cont:e,cpa:e,cue:e,dent:e,dgn:e,disco:e,doc:e,edu:e,eng:e,esm:e,fin:e,fot:e,gal:e,gob:e,gov:e,gye:e,ibr:e,info:e,k12:e,lat:e,loj:e,med:e,mil:e,mktg:e,mon:e,net:e,ntr:e,odont:e,org:e,pro:e,prof:e,psic:e,psiq:e,pub:e,rio:e,rrpp:e,sal:e,tech:e,tul:e,tur:e,uio:e,vet:e,xxx:e,base:t,official:t}],edu:[1,{rit:[0,{"git-pages":t}]}],ee:[1,{aip:e,com:e,edu:e,fie:e,gov:e,lib:e,med:e,org:e,pri:e,riik:e}],eg:[1,{ac:e,com:e,edu:e,eun:e,gov:e,info:e,me:e,mil:e,name:e,net:e,org:e,sci:e,sport:e,tv:e}],er:b,es:[1,{com:e,edu:e,gob:e,nom:e,org:e,"123miweb":t,myspreadshop:t}],et:[1,{biz:e,com:e,edu:e,gov:e,info:e,name:e,net:e,org:e}],eu:[1,{amazonwebservices:[0,{on:[0,{"eusc-de-east-1":[0,{"cognito-idp":Me}]}]}],cloudns:t,prvw:t,deuxfleurs:t,dogado:[0,{jelastic:t}],barsy:t,spdns:t,nxa:o,directwp:t,transurl:o}],fi:[1,{aland:e,dy:t,"xn--hkkinen-5wa":t,h\u00E4kkinen:t,iki:t,cloudplatform:[0,{fi:t}],datacenter:[0,{demo:t,paas:t}],kapsi:t,"123kotisivu":t,myspreadshop:t}],fj:[1,{ac:e,biz:e,com:e,edu:e,gov:e,id:e,info:e,mil:e,name:e,net:e,org:e,pro:e}],fk:b,fm:[1,{com:e,edu:e,net:e,org:e,radio:t,user:o}],fo:e,fr:[1,{asso:e,com:e,gouv:e,nom:e,prd:e,tm:e,avoues:e,cci:e,greta:e,"huissier-justice":e,"fbx-os":t,fbxos:t,"freebox-os":t,freeboxos:t,goupile:t,kdns:t,"123siteweb":t,"on-web":t,"chirurgiens-dentistes-en-france":t,dedibox:t,aeroport:t,avocat:t,chambagri:t,"chirurgiens-dentistes":t,"experts-comptables":t,medecin:t,notaires:t,pharmacien:t,port:t,veterinaire:t,myspreadshop:t,ynh:t}],ga:e,gb:e,gd:[1,{edu:e,gov:e}],ge:[1,{com:e,edu:e,gov:e,net:e,org:e,pvt:e,school:e}],gf:e,gg:[1,{co:e,net:e,org:e,ply:[0,{at:o,d6:t}],botdash:t,kaas:t,stackit:t,panel:[2,{daemon:t}]}],gh:[1,{biz:e,com:e,edu:e,gov:e,mil:e,net:e,org:e}],gi:[1,{com:e,edu:e,gov:e,ltd:e,mod:e,org:e}],gl:[1,{co:e,com:e,edu:e,net:e,org:e}],gm:e,gn:[1,{ac:e,com:e,edu:e,gov:e,net:e,org:e}],gov:e,gp:[1,{asso:e,com:e,edu:e,mobi:e,net:e,org:e}],gq:e,gr:[1,{com:e,edu:e,gov:e,net:e,org:e,barsy:t,simplesite:t}],gs:e,gt:[1,{com:e,edu:e,gob:e,ind:e,mil:e,net:e,org:e}],gu:[1,{com:e,edu:e,gov:e,guam:e,info:e,net:e,org:e,web:e}],gw:[1,{nx:t}],gy:St,hk:[1,{com:e,edu:e,gov:e,idv:e,net:e,org:e,"xn--ciqpn":e,\u4E2A\u4EBA:e,"xn--gmqw5a":e,\u500B\u4EBA:e,"xn--55qx5d":e,\u516C\u53F8:e,"xn--mxtq1m":e,\u653F\u5E9C:e,"xn--lcvr32d":e,\u654E\u80B2:e,"xn--wcvs22d":e,\u6559\u80B2:e,"xn--gmq050i":e,\u7B87\u4EBA:e,"xn--uc0atv":e,\u7D44\u7E54:e,"xn--uc0ay4a":e,\u7D44\u7EC7:e,"xn--od0alg":e,\u7DB2\u7D61:e,"xn--zf0avx":e,\u7DB2\u7EDC:e,"xn--mk0axi":e,\u7EC4\u7E54:e,"xn--tn0ag":e,\u7EC4\u7EC7:e,"xn--od0aq3b":e,\u7F51\u7D61:e,"xn--io0a7i":e,\u7F51\u7EDC:e,inc:t,ltd:t}],hm:e,hn:[1,{com:e,edu:e,gob:e,mil:e,net:e,org:e}],hr:[1,{com:e,from:e,iz:e,name:e,brendly:k}],ht:[1,{adult:e,art:e,asso:e,com:e,coop:e,edu:e,firm:e,gouv:e,info:e,med:e,net:e,org:e,perso:e,pol:e,pro:e,rel:e,shop:e,rt:t}],hu:[1,{2e3:e,agrar:e,bolt:e,casino:e,city:e,co:e,erotica:e,erotika:e,film:e,forum:e,games:e,hotel:e,info:e,ingatlan:e,jogasz:e,konyvelo:e,lakas:e,media:e,news:e,org:e,priv:e,reklam:e,sex:e,shop:e,sport:e,suli:e,szex:e,tm:e,tozsde:e,utazas:e,video:e}],id:[1,{ac:e,biz:e,co:e,desa:e,go:e,kop:e,mil:e,my:e,net:e,or:e,ponpes:e,sch:e,web:e,"xn--9tfky":e,"\u1B29\u1B2E\u1B36":e,e:t,zone:t}],ie:[1,{gov:e,myspreadshop:t}],il:[1,{ac:e,co:[1,{ravpage:t,mytabit:t,tabitorder:t}],gov:e,idf:e,k12:e,muni:e,net:e,org:e}],"xn--4dbrk0ce":[1,{"xn--4dbgdty6c":e,"xn--5dbhl8d":e,"xn--8dbq2a":e,"xn--hebda8b":e}],\u05D9\u05E9\u05E8\u05D0\u05DC:[1,{\u05D0\u05E7\u05D3\u05DE\u05D9\u05D4:e,\u05D9\u05E9\u05D5\u05D1:e,\u05E6\u05D4\u05DC:e,\u05DE\u05DE\u05E9\u05DC:e}],im:[1,{ac:e,co:[1,{ltd:e,plc:e}],com:e,net:e,org:e,tt:e,tv:e}],in:[1,{"5g":e,"6g":e,ac:e,ai:e,am:e,bank:e,bihar:e,biz:e,business:e,ca:e,cn:e,co:e,com:e,coop:e,cs:e,delhi:e,dr:e,edu:e,er:e,fin:e,firm:e,gen:e,gov:e,gujarat:e,ind:e,info:e,int:e,internet:e,io:e,me:e,mil:e,net:e,nic:e,org:e,pg:e,post:e,pro:e,res:e,travel:e,tv:e,uk:e,up:e,us:e,cloudns:t,barsy:t,web:t,indevs:t,supabase:t}],info:[1,{cloudns:t,"dynamic-dns":t,"barrel-of-knowledge":t,"barrell-of-knowledge":t,dyndns:t,"for-our":t,"groks-the":t,"groks-this":t,"here-for-more":t,knowsitall:t,selfip:t,webhop:t,barsy:t,mayfirst:t,mittwald:t,mittwaldserver:t,typo3server:t,dvrcam:t,ilovecollege:t,"no-ip":t,forumz:t,nsupdate:t,dnsupdate:t,"v-info":t}],int:[1,{eu:e}],io:[1,{2038:t,co:e,com:e,edu:e,gov:e,mil:e,net:e,nom:e,org:e,"on-acorn":o,myaddr:t,apigee:t,"b-data":t,beagleboard:t,bitbucket:t,bluebite:t,boxfuse:t,brave:a,browsersafetymark:t,bubble:Ue,bubbleapps:t,bigv:[0,{uk0:t}],cleverapps:t,cloudbeesusercontent:t,dappnode:[0,{dyndns:t}],darklang:t,definima:t,dedyn:t,icp0:qe,icp1:qe,qzz:t,"fh-muenster":t,gitbook:t,github:t,gitlab:t,lolipop:t,"hasura-app":t,hostyhosting:t,hypernode:t,moonscale:o,beebyte:X,beebyteapp:[0,{sekd1:t}],jele:t,keenetic:t,kiloapps:t,webthings:t,loginline:t,barsy:t,azurecontainer:o,ngrok:[2,{ap:t,au:t,eu:t,in:t,jp:t,sa:t,us:t}],nodeart:[0,{stage:t}],pantheonsite:t,forgerock:[0,{id:t}],pstmn:[2,{mock:t}],protonet:t,qcx:[2,{sys:o}],qoto:t,vaporcloud:t,myrdbx:t,"rb-hosting":xe,"on-k3s":o,"on-rio":o,readthedocs:t,resindevice:t,resinstaging:[0,{devices:t}],hzc:t,sandcats:t,scrypted:[0,{client:t}],"mo-siemens":t,lair:Se,stolos:o,musician:t,utwente:t,edugit:t,telebit:t,thingdust:[0,{dev:kt,disrec:kt,prod:Ot,testing:kt}],tickets:t,webflow:t,webflowtest:t,"drive-platform":t,editorx:t,wixstudio:t,basicserver:t,virtualserver:t}],iq:r,ir:[1,{ac:e,co:e,gov:e,id:e,net:e,org:e,sch:e,"xn--mgba3a4f16a":e,\u0627\u06CC\u0631\u0627\u0646:e,"xn--mgba3a4fra":e,\u0627\u064A\u0631\u0627\u0646:e,arvanedge:t,vistablog:t}],is:e,it:[1,{edu:e,gov:e,abr:e,abruzzo:e,"aosta-valley":e,aostavalley:e,bas:e,basilicata:e,cal:e,calabria:e,cam:e,campania:e,"emilia-romagna":e,emiliaromagna:e,emr:e,"friuli-v-giulia":e,"friuli-ve-giulia":e,"friuli-vegiulia":e,"friuli-venezia-giulia":e,"friuli-veneziagiulia":e,"friuli-vgiulia":e,"friuliv-giulia":e,"friulive-giulia":e,friulivegiulia:e,"friulivenezia-giulia":e,friuliveneziagiulia:e,friulivgiulia:e,fvg:e,laz:e,lazio:e,lig:e,liguria:e,lom:e,lombardia:e,lombardy:e,lucania:e,mar:e,marche:e,mol:e,molise:e,piedmont:e,piemonte:e,pmn:e,pug:e,puglia:e,sar:e,sardegna:e,sardinia:e,sic:e,sicilia:e,sicily:e,taa:e,tos:e,toscana:e,"trentin-sud-tirol":e,"xn--trentin-sd-tirol-rzb":e,"trentin-s\xFCd-tirol":e,"trentin-sudtirol":e,"xn--trentin-sdtirol-7vb":e,"trentin-s\xFCdtirol":e,"trentin-sued-tirol":e,"trentin-suedtirol":e,trentino:e,"trentino-a-adige":e,"trentino-aadige":e,"trentino-alto-adige":e,"trentino-altoadige":e,"trentino-s-tirol":e,"trentino-stirol":e,"trentino-sud-tirol":e,"xn--trentino-sd-tirol-c3b":e,"trentino-s\xFCd-tirol":e,"trentino-sudtirol":e,"xn--trentino-sdtirol-szb":e,"trentino-s\xFCdtirol":e,"trentino-sued-tirol":e,"trentino-suedtirol":e,"trentinoa-adige":e,trentinoaadige:e,"trentinoalto-adige":e,trentinoaltoadige:e,"trentinos-tirol":e,trentinostirol:e,"trentinosud-tirol":e,"xn--trentinosd-tirol-rzb":e,"trentinos\xFCd-tirol":e,trentinosudtirol:e,"xn--trentinosdtirol-7vb":e,trentinos\u00FCdtirol:e,"trentinosued-tirol":e,trentinosuedtirol:e,"trentinsud-tirol":e,"xn--trentinsd-tirol-6vb":e,"trentins\xFCd-tirol":e,trentinsudtirol:e,"xn--trentinsdtirol-nsb":e,trentins\u00FCdtirol:e,"trentinsued-tirol":e,trentinsuedtirol:e,tuscany:e,umb:e,umbria:e,"val-d-aosta":e,"val-daosta":e,"vald-aosta":e,valdaosta:e,"valle-aosta":e,"valle-d-aosta":e,"valle-daosta":e,valleaosta:e,"valled-aosta":e,valledaosta:e,"vallee-aoste":e,"xn--valle-aoste-ebb":e,"vall\xE9e-aoste":e,"vallee-d-aoste":e,"xn--valle-d-aoste-ehb":e,"vall\xE9e-d-aoste":e,valleeaoste:e,"xn--valleaoste-e7a":e,vall\u00E9eaoste:e,valleedaoste:e,"xn--valledaoste-ebb":e,vall\u00E9edaoste:e,vao:e,vda:e,ven:e,veneto:e,ag:e,agrigento:e,al:e,alessandria:e,"alto-adige":e,altoadige:e,an:e,ancona:e,"andria-barletta-trani":e,"andria-trani-barletta":e,andriabarlettatrani:e,andriatranibarletta:e,ao:e,aosta:e,aoste:e,ap:e,aq:e,aquila:e,ar:e,arezzo:e,"ascoli-piceno":e,ascolipiceno:e,asti:e,at:e,av:e,avellino:e,ba:e,balsan:e,"balsan-sudtirol":e,"xn--balsan-sdtirol-nsb":e,"balsan-s\xFCdtirol":e,"balsan-suedtirol":e,bari:e,"barletta-trani-andria":e,barlettatraniandria:e,belluno:e,benevento:e,bergamo:e,bg:e,bi:e,biella:e,bl:e,bn:e,bo:e,bologna:e,bolzano:e,"bolzano-altoadige":e,bozen:e,"bozen-sudtirol":e,"xn--bozen-sdtirol-2ob":e,"bozen-s\xFCdtirol":e,"bozen-suedtirol":e,br:e,brescia:e,brindisi:e,bs:e,bt:e,bulsan:e,"bulsan-sudtirol":e,"xn--bulsan-sdtirol-nsb":e,"bulsan-s\xFCdtirol":e,"bulsan-suedtirol":e,bz:e,ca:e,cagliari:e,caltanissetta:e,"campidano-medio":e,campidanomedio:e,campobasso:e,"carbonia-iglesias":e,carboniaiglesias:e,"carrara-massa":e,carraramassa:e,caserta:e,catania:e,catanzaro:e,cb:e,ce:e,"cesena-forli":e,"xn--cesena-forl-mcb":e,"cesena-forl\xEC":e,cesenaforli:e,"xn--cesenaforl-i8a":e,cesenaforl\u00EC:e,ch:e,chieti:e,ci:e,cl:e,cn:e,co:e,como:e,cosenza:e,cr:e,cremona:e,crotone:e,cs:e,ct:e,cuneo:e,cz:e,"dell-ogliastra":e,dellogliastra:e,en:e,enna:e,fc:e,fe:e,fermo:e,ferrara:e,fg:e,fi:e,firenze:e,florence:e,fm:e,foggia:e,"forli-cesena":e,"xn--forl-cesena-fcb":e,"forl\xEC-cesena":e,forlicesena:e,"xn--forlcesena-c8a":e,forl\u00ECcesena:e,fr:e,frosinone:e,ge:e,genoa:e,genova:e,go:e,gorizia:e,gr:e,grosseto:e,"iglesias-carbonia":e,iglesiascarbonia:e,im:e,imperia:e,is:e,isernia:e,kr:e,"la-spezia":e,laquila:e,laspezia:e,latina:e,lc:e,le:e,lecce:e,lecco:e,li:e,livorno:e,lo:e,lodi:e,lt:e,lu:e,lucca:e,macerata:e,mantova:e,"massa-carrara":e,massacarrara:e,matera:e,mb:e,mc:e,me:e,"medio-campidano":e,mediocampidano:e,messina:e,mi:e,milan:e,milano:e,mn:e,mo:e,modena:e,monza:e,"monza-brianza":e,"monza-e-della-brianza":e,monzabrianza:e,monzaebrianza:e,monzaedellabrianza:e,ms:e,mt:e,na:e,naples:e,napoli:e,no:e,novara:e,nu:e,nuoro:e,og:e,ogliastra:e,"olbia-tempio":e,olbiatempio:e,or:e,oristano:e,ot:e,pa:e,padova:e,padua:e,palermo:e,parma:e,pavia:e,pc:e,pd:e,pe:e,perugia:e,"pesaro-urbino":e,pesarourbino:e,pescara:e,pg:e,pi:e,piacenza:e,pisa:e,pistoia:e,pn:e,po:e,pordenone:e,potenza:e,pr:e,prato:e,pt:e,pu:e,pv:e,pz:e,ra:e,ragusa:e,ravenna:e,rc:e,re:e,"reggio-calabria":e,"reggio-emilia":e,reggiocalabria:e,reggioemilia:e,rg:e,ri:e,rieti:e,rimini:e,rm:e,rn:e,ro:e,roma:e,rome:e,rovigo:e,sa:e,salerno:e,sassari:e,savona:e,si:e,siena:e,siracusa:e,so:e,sondrio:e,sp:e,sr:e,ss:e,"xn--sdtirol-n2a":e,s\u00FCdtirol:e,suedtirol:e,sv:e,ta:e,taranto:e,te:e,"tempio-olbia":e,tempioolbia:e,teramo:e,terni:e,tn:e,to:e,torino:e,tp:e,tr:e,"trani-andria-barletta":e,"trani-barletta-andria":e,traniandriabarletta:e,tranibarlettaandria:e,trapani:e,trento:e,treviso:e,trieste:e,ts:e,turin:e,tv:e,ud:e,udine:e,"urbino-pesaro":e,urbinopesaro:e,va:e,varese:e,vb:e,vc:e,ve:e,venezia:e,venice:e,verbania:e,vercelli:e,verona:e,vi:e,"vibo-valentia":e,vibovalentia:e,vicenza:e,viterbo:e,vr:e,vs:e,vt:e,vv:e,ibxos:t,iliadboxos:t,neen:[0,{jc:t}],"123homepage":t,"16-b":t,"32-b":t,"64-b":t,myspreadshop:t,syncloud:t}],je:[1,{co:e,net:e,org:e,of:t}],jm:b,jo:[1,{agri:e,ai:e,com:e,edu:e,eng:e,fm:e,gov:e,mil:e,net:e,org:e,per:e,phd:e,sch:e,tv:e}],jobs:e,jp:[1,{ac:e,ad:e,co:e,ed:e,go:e,gr:e,lg:e,ne:[1,{aseinet:$e,gehirn:t,ivory:t,"mail-box":t,mints:t,mokuren:t,opal:t,sakura:t,sumomo:t,topaz:t}],or:e,aichi:[1,{aisai:e,ama:e,anjo:e,asuke:e,chiryu:e,chita:e,fuso:e,gamagori:e,handa:e,hazu:e,hekinan:e,higashiura:e,ichinomiya:e,inazawa:e,inuyama:e,isshiki:e,iwakura:e,kanie:e,kariya:e,kasugai:e,kira:e,kiyosu:e,komaki:e,konan:e,kota:e,mihama:e,miyoshi:e,nishio:e,nisshin:e,obu:e,oguchi:e,oharu:e,okazaki:e,owariasahi:e,seto:e,shikatsu:e,shinshiro:e,shitara:e,tahara:e,takahama:e,tobishima:e,toei:e,togo:e,tokai:e,tokoname:e,toyoake:e,toyohashi:e,toyokawa:e,toyone:e,toyota:e,tsushima:e,yatomi:e}],akita:[1,{akita:e,daisen:e,fujisato:e,gojome:e,hachirogata:e,happou:e,higashinaruse:e,honjo:e,honjyo:e,ikawa:e,kamikoani:e,kamioka:e,katagami:e,kazuno:e,kitaakita:e,kosaka:e,kyowa:e,misato:e,mitane:e,moriyoshi:e,nikaho:e,noshiro:e,odate:e,oga:e,ogata:e,semboku:e,yokote:e,yurihonjo:e}],aomori:[1,{aomori:e,gonohe:e,hachinohe:e,hashikami:e,hiranai:e,hirosaki:e,itayanagi:e,kuroishi:e,misawa:e,mutsu:e,nakadomari:e,noheji:e,oirase:e,owani:e,rokunohe:e,sannohe:e,shichinohe:e,shingo:e,takko:e,towada:e,tsugaru:e,tsuruta:e}],chiba:[1,{abiko:e,asahi:e,chonan:e,chosei:e,choshi:e,chuo:e,funabashi:e,futtsu:e,hanamigawa:e,ichihara:e,ichikawa:e,ichinomiya:e,inzai:e,isumi:e,kamagaya:e,kamogawa:e,kashiwa:e,katori:e,katsuura:e,kimitsu:e,kisarazu:e,kozaki:e,kujukuri:e,kyonan:e,matsudo:e,midori:e,mihama:e,minamiboso:e,mobara:e,mutsuzawa:e,nagara:e,nagareyama:e,narashino:e,narita:e,noda:e,oamishirasato:e,omigawa:e,onjuku:e,otaki:e,sakae:e,sakura:e,shimofusa:e,shirako:e,shiroi:e,shisui:e,sodegaura:e,sosa:e,tako:e,tateyama:e,togane:e,tohnosho:e,tomisato:e,urayasu:e,yachimata:e,yachiyo:e,yokaichiba:e,yokoshibahikari:e,yotsukaido:e}],ehime:[1,{ainan:e,honai:e,ikata:e,imabari:e,iyo:e,kamijima:e,kihoku:e,kumakogen:e,masaki:e,matsuno:e,matsuyama:e,namikata:e,niihama:e,ozu:e,saijo:e,seiyo:e,shikokuchuo:e,tobe:e,toon:e,uchiko:e,uwajima:e,yawatahama:e}],fukui:[1,{echizen:e,eiheiji:e,fukui:e,ikeda:e,katsuyama:e,mihama:e,minamiechizen:e,obama:e,ohi:e,ono:e,sabae:e,sakai:e,takahama:e,tsuruga:e,wakasa:e}],fukuoka:[1,{ashiya:e,buzen:e,chikugo:e,chikuho:e,chikujo:e,chikushino:e,chikuzen:e,chuo:e,dazaifu:e,fukuchi:e,hakata:e,higashi:e,hirokawa:e,hisayama:e,iizuka:e,inatsuki:e,kaho:e,kasuga:e,kasuya:e,kawara:e,keisen:e,koga:e,kurate:e,kurogi:e,kurume:e,minami:e,miyako:e,miyama:e,miyawaka:e,mizumaki:e,munakata:e,nakagawa:e,nakama:e,nishi:e,nogata:e,ogori:e,okagaki:e,okawa:e,oki:e,omuta:e,onga:e,onojo:e,oto:e,saigawa:e,sasaguri:e,shingu:e,shinyoshitomi:e,shonai:e,soeda:e,sue:e,tachiarai:e,tagawa:e,takata:e,toho:e,toyotsu:e,tsuiki:e,ukiha:e,umi:e,usui:e,yamada:e,yame:e,yanagawa:e,yukuhashi:e}],fukushima:[1,{aizubange:e,aizumisato:e,aizuwakamatsu:e,asakawa:e,bandai:e,date:e,fukushima:e,furudono:e,futaba:e,hanawa:e,higashi:e,hirata:e,hirono:e,iitate:e,inawashiro:e,ishikawa:e,iwaki:e,izumizaki:e,kagamiishi:e,kaneyama:e,kawamata:e,kitakata:e,kitashiobara:e,koori:e,koriyama:e,kunimi:e,miharu:e,mishima:e,namie:e,nango:e,nishiaizu:e,nishigo:e,okuma:e,omotego:e,ono:e,otama:e,samegawa:e,shimogo:e,shirakawa:e,showa:e,soma:e,sukagawa:e,taishin:e,tamakawa:e,tanagura:e,tenei:e,yabuki:e,yamato:e,yamatsuri:e,yanaizu:e,yugawa:e}],gifu:[1,{anpachi:e,ena:e,gifu:e,ginan:e,godo:e,gujo:e,hashima:e,hichiso:e,hida:e,higashishirakawa:e,ibigawa:e,ikeda:e,kakamigahara:e,kani:e,kasahara:e,kasamatsu:e,kawaue:e,kitagata:e,mino:e,minokamo:e,mitake:e,mizunami:e,motosu:e,nakatsugawa:e,ogaki:e,sakahogi:e,seki:e,sekigahara:e,shirakawa:e,tajimi:e,takayama:e,tarui:e,toki:e,tomika:e,wanouchi:e,yamagata:e,yaotsu:e,yoro:e}],gunma:[1,{annaka:e,chiyoda:e,fujioka:e,higashiagatsuma:e,isesaki:e,itakura:e,kanna:e,kanra:e,katashina:e,kawaba:e,kiryu:e,kusatsu:e,maebashi:e,meiwa:e,midori:e,minakami:e,naganohara:e,nakanojo:e,nanmoku:e,numata:e,oizumi:e,ora:e,ota:e,shibukawa:e,shimonita:e,shinto:e,showa:e,takasaki:e,takayama:e,tamamura:e,tatebayashi:e,tomioka:e,tsukiyono:e,tsumagoi:e,ueno:e,yoshioka:e}],hiroshima:[1,{asaminami:e,daiwa:e,etajima:e,fuchu:e,fukuyama:e,hatsukaichi:e,higashihiroshima:e,hongo:e,jinsekikogen:e,kaita:e,kui:e,kumano:e,kure:e,mihara:e,miyoshi:e,naka:e,onomichi:e,osakikamijima:e,otake:e,saka:e,sera:e,seranishi:e,shinichi:e,shobara:e,takehara:e}],hokkaido:[1,{abashiri:e,abira:e,aibetsu:e,akabira:e,akkeshi:e,asahikawa:e,ashibetsu:e,ashoro:e,assabu:e,atsuma:e,bibai:e,biei:e,bifuka:e,bihoro:e,biratori:e,chippubetsu:e,chitose:e,date:e,ebetsu:e,embetsu:e,eniwa:e,erimo:e,esan:e,esashi:e,fukagawa:e,fukushima:e,furano:e,furubira:e,haboro:e,hakodate:e,hamatonbetsu:e,hidaka:e,higashikagura:e,higashikawa:e,hiroo:e,hokuryu:e,hokuto:e,honbetsu:e,horokanai:e,horonobe:e,ikeda:e,imakane:e,ishikari:e,iwamizawa:e,iwanai:e,kamifurano:e,kamikawa:e,kamishihoro:e,kamisunagawa:e,kamoenai:e,kayabe:e,kembuchi:e,kikonai:e,kimobetsu:e,kitahiroshima:e,kitami:e,kiyosato:e,koshimizu:e,kunneppu:e,kuriyama:e,kuromatsunai:e,kushiro:e,kutchan:e,kyowa:e,mashike:e,matsumae:e,mikasa:e,minamifurano:e,mombetsu:e,moseushi:e,mukawa:e,muroran:e,naie:e,nakagawa:e,nakasatsunai:e,nakatombetsu:e,nanae:e,nanporo:e,nayoro:e,nemuro:e,niikappu:e,niki:e,nishiokoppe:e,noboribetsu:e,numata:e,obihiro:e,obira:e,oketo:e,okoppe:e,otaru:e,otobe:e,otofuke:e,otoineppu:e,oumu:e,ozora:e,pippu:e,rankoshi:e,rebun:e,rikubetsu:e,rishiri:e,rishirifuji:e,saroma:e,sarufutsu:e,shakotan:e,shari:e,shibecha:e,shibetsu:e,shikabe:e,shikaoi:e,shimamaki:e,shimizu:e,shimokawa:e,shinshinotsu:e,shintoku:e,shiranuka:e,shiraoi:e,shiriuchi:e,sobetsu:e,sunagawa:e,taiki:e,takasu:e,takikawa:e,takinoue:e,teshikaga:e,tobetsu:e,tohma:e,tomakomai:e,tomari:e,toya:e,toyako:e,toyotomi:e,toyoura:e,tsubetsu:e,tsukigata:e,urakawa:e,urausu:e,uryu:e,utashinai:e,wakkanai:e,wassamu:e,yakumo:e,yoichi:e}],hyogo:[1,{aioi:e,akashi:e,ako:e,amagasaki:e,aogaki:e,asago:e,ashiya:e,awaji:e,fukusaki:e,goshiki:e,harima:e,himeji:e,ichikawa:e,inagawa:e,itami:e,kakogawa:e,kamigori:e,kamikawa:e,kasai:e,kasuga:e,kawanishi:e,miki:e,minamiawaji:e,nishinomiya:e,nishiwaki:e,ono:e,sanda:e,sannan:e,sasayama:e,sayo:e,shingu:e,shinonsen:e,shiso:e,sumoto:e,taishi:e,taka:e,takarazuka:e,takasago:e,takino:e,tamba:e,tatsuno:e,toyooka:e,yabu:e,yashiro:e,yoka:e,yokawa:e}],ibaraki:[1,{ami:e,asahi:e,bando:e,chikusei:e,daigo:e,fujishiro:e,hitachi:e,hitachinaka:e,hitachiomiya:e,hitachiota:e,ibaraki:e,ina:e,inashiki:e,itako:e,iwama:e,joso:e,kamisu:e,kasama:e,kashima:e,kasumigaura:e,koga:e,miho:e,mito:e,moriya:e,naka:e,namegata:e,oarai:e,ogawa:e,omitama:e,ryugasaki:e,sakai:e,sakuragawa:e,shimodate:e,shimotsuma:e,shirosato:e,sowa:e,suifu:e,takahagi:e,tamatsukuri:e,tokai:e,tomobe:e,tone:e,toride:e,tsuchiura:e,tsukuba:e,uchihara:e,ushiku:e,yachiyo:e,yamagata:e,yawara:e,yuki:e}],ishikawa:[1,{anamizu:e,hakui:e,hakusan:e,kaga:e,kahoku:e,kanazawa:e,kawakita:e,komatsu:e,nakanoto:e,nanao:e,nomi:e,nonoichi:e,noto:e,shika:e,suzu:e,tsubata:e,tsurugi:e,uchinada:e,wajima:e}],iwate:[1,{fudai:e,fujisawa:e,hanamaki:e,hiraizumi:e,hirono:e,ichinohe:e,ichinoseki:e,iwaizumi:e,iwate:e,joboji:e,kamaishi:e,kanegasaki:e,karumai:e,kawai:e,kitakami:e,kuji:e,kunohe:e,kuzumaki:e,miyako:e,mizusawa:e,morioka:e,ninohe:e,noda:e,ofunato:e,oshu:e,otsuchi:e,rikuzentakata:e,shiwa:e,shizukuishi:e,sumita:e,tanohata:e,tono:e,yahaba:e,yamada:e}],kagawa:[1,{ayagawa:e,higashikagawa:e,kanonji:e,kotohira:e,manno:e,marugame:e,mitoyo:e,naoshima:e,sanuki:e,tadotsu:e,takamatsu:e,tonosho:e,uchinomi:e,utazu:e,zentsuji:e}],kagoshima:[1,{akune:e,amami:e,hioki:e,isa:e,isen:e,izumi:e,kagoshima:e,kanoya:e,kawanabe:e,kinko:e,kouyama:e,makurazaki:e,matsumoto:e,minamitane:e,nakatane:e,nishinoomote:e,satsumasendai:e,soo:e,tarumizu:e,yusui:e}],kanagawa:[1,{aikawa:e,atsugi:e,ayase:e,chigasaki:e,ebina:e,fujisawa:e,hadano:e,hakone:e,hiratsuka:e,isehara:e,kaisei:e,kamakura:e,kiyokawa:e,matsuda:e,minamiashigara:e,miura:e,nakai:e,ninomiya:e,odawara:e,oi:e,oiso:e,sagamihara:e,samukawa:e,tsukui:e,yamakita:e,yamato:e,yokosuka:e,yugawara:e,zama:e,zushi:e}],kochi:[1,{aki:e,geisei:e,hidaka:e,higashitsuno:e,ino:e,kagami:e,kami:e,kitagawa:e,kochi:e,mihara:e,motoyama:e,muroto:e,nahari:e,nakamura:e,nankoku:e,nishitosa:e,niyodogawa:e,ochi:e,okawa:e,otoyo:e,otsuki:e,sakawa:e,sukumo:e,susaki:e,tosa:e,tosashimizu:e,toyo:e,tsuno:e,umaji:e,yasuda:e,yusuhara:e}],kumamoto:[1,{amakusa:e,arao:e,aso:e,choyo:e,gyokuto:e,kamiamakusa:e,kikuchi:e,kumamoto:e,mashiki:e,mifune:e,minamata:e,minamioguni:e,nagasu:e,nishihara:e,oguni:e,ozu:e,sumoto:e,takamori:e,uki:e,uto:e,yamaga:e,yamato:e,yatsushiro:e}],kyoto:[1,{ayabe:e,fukuchiyama:e,higashiyama:e,ide:e,ine:e,joyo:e,kameoka:e,kamo:e,kita:e,kizu:e,kumiyama:e,kyotamba:e,kyotanabe:e,kyotango:e,maizuru:e,minami:e,minamiyamashiro:e,miyazu:e,muko:e,nagaokakyo:e,nakagyo:e,nantan:e,oyamazaki:e,sakyo:e,seika:e,tanabe:e,uji:e,ujitawara:e,wazuka:e,yamashina:e,yawata:e}],mie:[1,{asahi:e,inabe:e,ise:e,kameyama:e,kawagoe:e,kiho:e,kisosaki:e,kiwa:e,komono:e,kumano:e,kuwana:e,matsusaka:e,meiwa:e,mihama:e,minamiise:e,misugi:e,miyama:e,nabari:e,shima:e,suzuka:e,tado:e,taiki:e,taki:e,tamaki:e,toba:e,tsu:e,udono:e,ureshino:e,watarai:e,yokkaichi:e}],miyagi:[1,{furukawa:e,higashimatsushima:e,ishinomaki:e,iwanuma:e,kakuda:e,kami:e,kawasaki:e,marumori:e,matsushima:e,minamisanriku:e,misato:e,murata:e,natori:e,ogawara:e,ohira:e,onagawa:e,osaki:e,rifu:e,semine:e,shibata:e,shichikashuku:e,shikama:e,shiogama:e,shiroishi:e,tagajo:e,taiwa:e,tome:e,tomiya:e,wakuya:e,watari:e,yamamoto:e,zao:e}],miyazaki:[1,{aya:e,ebino:e,gokase:e,hyuga:e,kadogawa:e,kawaminami:e,kijo:e,kitagawa:e,kitakata:e,kitaura:e,kobayashi:e,kunitomi:e,kushima:e,mimata:e,miyakonojo:e,miyazaki:e,morotsuka:e,nichinan:e,nishimera:e,nobeoka:e,saito:e,shiiba:e,shintomi:e,takaharu:e,takanabe:e,takazaki:e,tsuno:e}],nagano:[1,{achi:e,agematsu:e,anan:e,aoki:e,asahi:e,azumino:e,chikuhoku:e,chikuma:e,chino:e,fujimi:e,hakuba:e,hara:e,hiraya:e,iida:e,iijima:e,iiyama:e,iizuna:e,ikeda:e,ikusaka:e,ina:e,karuizawa:e,kawakami:e,kiso:e,kisofukushima:e,kitaaiki:e,komagane:e,komoro:e,matsukawa:e,matsumoto:e,miasa:e,minamiaiki:e,minamimaki:e,minamiminowa:e,minowa:e,miyada:e,miyota:e,mochizuki:e,nagano:e,nagawa:e,nagiso:e,nakagawa:e,nakano:e,nozawaonsen:e,obuse:e,ogawa:e,okaya:e,omachi:e,omi:e,ookuwa:e,ooshika:e,otaki:e,otari:e,sakae:e,sakaki:e,saku:e,sakuho:e,shimosuwa:e,shinanomachi:e,shiojiri:e,suwa:e,suzaka:e,takagi:e,takamori:e,takayama:e,tateshina:e,tatsuno:e,togakushi:e,togura:e,tomi:e,ueda:e,wada:e,yamagata:e,yamanouchi:e,yasaka:e,yasuoka:e}],nagasaki:[1,{chijiwa:e,futsu:e,goto:e,hasami:e,hirado:e,iki:e,isahaya:e,kawatana:e,kuchinotsu:e,matsuura:e,nagasaki:e,obama:e,omura:e,oseto:e,saikai:e,sasebo:e,seihi:e,shimabara:e,shinkamigoto:e,togitsu:e,tsushima:e,unzen:e}],nara:[1,{ando:e,gose:e,heguri:e,higashiyoshino:e,ikaruga:e,ikoma:e,kamikitayama:e,kanmaki:e,kashiba:e,kashihara:e,katsuragi:e,kawai:e,kawakami:e,kawanishi:e,koryo:e,kurotaki:e,mitsue:e,miyake:e,nara:e,nosegawa:e,oji:e,ouda:e,oyodo:e,sakurai:e,sango:e,shimoichi:e,shimokitayama:e,shinjo:e,soni:e,takatori:e,tawaramoto:e,tenkawa:e,tenri:e,uda:e,yamatokoriyama:e,yamatotakada:e,yamazoe:e,yoshino:e}],niigata:[1,{aga:e,agano:e,gosen:e,itoigawa:e,izumozaki:e,joetsu:e,kamo:e,kariwa:e,kashiwazaki:e,minamiuonuma:e,mitsuke:e,muika:e,murakami:e,myoko:e,nagaoka:e,niigata:e,ojiya:e,omi:e,sado:e,sanjo:e,seiro:e,seirou:e,sekikawa:e,shibata:e,tagami:e,tainai:e,tochio:e,tokamachi:e,tsubame:e,tsunan:e,uonuma:e,yahiko:e,yoita:e,yuzawa:e}],oita:[1,{beppu:e,bungoono:e,bungotakada:e,hasama:e,hiji:e,himeshima:e,hita:e,kamitsue:e,kokonoe:e,kuju:e,kunisaki:e,kusu:e,oita:e,saiki:e,taketa:e,tsukumi:e,usa:e,usuki:e,yufu:e}],okayama:[1,{akaiwa:e,asakuchi:e,bizen:e,hayashima:e,ibara:e,kagamino:e,kasaoka:e,kibichuo:e,kumenan:e,kurashiki:e,maniwa:e,misaki:e,nagi:e,niimi:e,nishiawakura:e,okayama:e,satosho:e,setouchi:e,shinjo:e,shoo:e,soja:e,takahashi:e,tamano:e,tsuyama:e,wake:e,yakage:e}],okinawa:[1,{aguni:e,ginowan:e,ginoza:e,gushikami:e,haebaru:e,higashi:e,hirara:e,iheya:e,ishigaki:e,ishikawa:e,itoman:e,izena:e,kadena:e,kin:e,kitadaito:e,kitanakagusuku:e,kumejima:e,kunigami:e,minamidaito:e,motobu:e,nago:e,naha:e,nakagusuku:e,nakijin:e,nanjo:e,nishihara:e,ogimi:e,okinawa:e,onna:e,shimoji:e,taketomi:e,tarama:e,tokashiki:e,tomigusuku:e,tonaki:e,urasoe:e,uruma:e,yaese:e,yomitan:e,yonabaru:e,yonaguni:e,zamami:e}],osaka:[1,{abeno:e,chihayaakasaka:e,chuo:e,daito:e,fujiidera:e,habikino:e,hannan:e,higashiosaka:e,higashisumiyoshi:e,higashiyodogawa:e,hirakata:e,ibaraki:e,ikeda:e,izumi:e,izumiotsu:e,izumisano:e,kadoma:e,kaizuka:e,kanan:e,kashiwara:e,katano:e,kawachinagano:e,kishiwada:e,kita:e,kumatori:e,matsubara:e,minato:e,minoh:e,misaki:e,moriguchi:e,neyagawa:e,nishi:e,nose:e,osakasayama:e,sakai:e,sayama:e,sennan:e,settsu:e,shijonawate:e,shimamoto:e,suita:e,tadaoka:e,taishi:e,tajiri:e,takaishi:e,takatsuki:e,tondabayashi:e,toyonaka:e,toyono:e,yao:e}],saga:[1,{ariake:e,arita:e,fukudomi:e,genkai:e,hamatama:e,hizen:e,imari:e,kamimine:e,kanzaki:e,karatsu:e,kashima:e,kitagata:e,kitahata:e,kiyama:e,kouhoku:e,kyuragi:e,nishiarita:e,ogi:e,omachi:e,ouchi:e,saga:e,shiroishi:e,taku:e,tara:e,tosu:e,yoshinogari:e}],saitama:[1,{arakawa:e,asaka:e,chichibu:e,fujimi:e,fujimino:e,fukaya:e,hanno:e,hanyu:e,hasuda:e,hatogaya:e,hatoyama:e,hidaka:e,higashichichibu:e,higashimatsuyama:e,honjo:e,ina:e,iruma:e,iwatsuki:e,kamiizumi:e,kamikawa:e,kamisato:e,kasukabe:e,kawagoe:e,kawaguchi:e,kawajima:e,kazo:e,kitamoto:e,koshigaya:e,kounosu:e,kuki:e,kumagaya:e,matsubushi:e,minano:e,misato:e,miyashiro:e,miyoshi:e,moroyama:e,nagatoro:e,namegawa:e,niiza:e,ogano:e,ogawa:e,ogose:e,okegawa:e,omiya:e,otaki:e,ranzan:e,ryokami:e,saitama:e,sakado:e,satte:e,sayama:e,shiki:e,shiraoka:e,soka:e,sugito:e,toda:e,tokigawa:e,tokorozawa:e,tsurugashima:e,urawa:e,warabi:e,yashio:e,yokoze:e,yono:e,yorii:e,yoshida:e,yoshikawa:e,yoshimi:e}],shiga:[1,{aisho:e,gamo:e,higashiomi:e,hikone:e,koka:e,konan:e,kosei:e,koto:e,kusatsu:e,maibara:e,moriyama:e,nagahama:e,nishiazai:e,notogawa:e,omihachiman:e,otsu:e,ritto:e,ryuoh:e,takashima:e,takatsuki:e,torahime:e,toyosato:e,yasu:e}],shimane:[1,{akagi:e,ama:e,gotsu:e,hamada:e,higashiizumo:e,hikawa:e,hikimi:e,izumo:e,kakinoki:e,masuda:e,matsue:e,misato:e,nishinoshima:e,ohda:e,okinoshima:e,okuizumo:e,shimane:e,tamayu:e,tsuwano:e,unnan:e,yakumo:e,yasugi:e,yatsuka:e}],shizuoka:[1,{arai:e,atami:e,fuji:e,fujieda:e,fujikawa:e,fujinomiya:e,fukuroi:e,gotemba:e,haibara:e,hamamatsu:e,higashiizu:e,ito:e,iwata:e,izu:e,izunokuni:e,kakegawa:e,kannami:e,kawanehon:e,kawazu:e,kikugawa:e,kosai:e,makinohara:e,matsuzaki:e,minamiizu:e,mishima:e,morimachi:e,nishiizu:e,numazu:e,omaezaki:e,shimada:e,shimizu:e,shimoda:e,shizuoka:e,susono:e,yaizu:e,yoshida:e}],tochigi:[1,{ashikaga:e,bato:e,haga:e,ichikai:e,iwafune:e,kaminokawa:e,kanuma:e,karasuyama:e,kuroiso:e,mashiko:e,mibu:e,moka:e,motegi:e,nasu:e,nasushiobara:e,nikko:e,nishikata:e,nogi:e,ohira:e,ohtawara:e,oyama:e,sakura:e,sano:e,shimotsuke:e,shioya:e,takanezawa:e,tochigi:e,tsuga:e,ujiie:e,utsunomiya:e,yaita:e}],tokushima:[1,{aizumi:e,anan:e,ichiba:e,itano:e,kainan:e,komatsushima:e,matsushige:e,mima:e,minami:e,miyoshi:e,mugi:e,nakagawa:e,naruto:e,sanagochi:e,shishikui:e,tokushima:e,wajiki:e}],tokyo:[1,{adachi:e,akiruno:e,akishima:e,aogashima:e,arakawa:e,bunkyo:e,chiyoda:e,chofu:e,chuo:e,edogawa:e,fuchu:e,fussa:e,hachijo:e,hachioji:e,hamura:e,higashikurume:e,higashimurayama:e,higashiyamato:e,hino:e,hinode:e,hinohara:e,inagi:e,itabashi:e,katsushika:e,kita:e,kiyose:e,kodaira:e,koganei:e,kokubunji:e,komae:e,koto:e,kouzushima:e,kunitachi:e,machida:e,meguro:e,minato:e,mitaka:e,mizuho:e,musashimurayama:e,musashino:e,nakano:e,nerima:e,ogasawara:e,okutama:e,ome:e,oshima:e,ota:e,setagaya:e,shibuya:e,shinagawa:e,shinjuku:e,suginami:e,sumida:e,tachikawa:e,taito:e,tama:e,toshima:e}],tottori:[1,{chizu:e,hino:e,kawahara:e,koge:e,kotoura:e,misasa:e,nanbu:e,nichinan:e,sakaiminato:e,tottori:e,wakasa:e,yazu:e,yonago:e}],toyama:[1,{asahi:e,fuchu:e,fukumitsu:e,funahashi:e,himi:e,imizu:e,inami:e,johana:e,kamiichi:e,kurobe:e,nakaniikawa:e,namerikawa:e,nanto:e,nyuzen:e,oyabe:e,taira:e,takaoka:e,tateyama:e,toga:e,tonami:e,toyama:e,unazuki:e,uozu:e,yamada:e}],wakayama:[1,{arida:e,aridagawa:e,gobo:e,hashimoto:e,hidaka:e,hirogawa:e,inami:e,iwade:e,kainan:e,kamitonda:e,katsuragi:e,kimino:e,kinokawa:e,kitayama:e,koya:e,koza:e,kozagawa:e,kudoyama:e,kushimoto:e,mihama:e,misato:e,nachikatsuura:e,shingu:e,shirahama:e,taiji:e,tanabe:e,wakayama:e,yuasa:e,yura:e}],yamagata:[1,{asahi:e,funagata:e,higashine:e,iide:e,kahoku:e,kaminoyama:e,kaneyama:e,kawanishi:e,mamurogawa:e,mikawa:e,murayama:e,nagai:e,nakayama:e,nanyo:e,nishikawa:e,obanazawa:e,oe:e,oguni:e,ohkura:e,oishida:e,sagae:e,sakata:e,sakegawa:e,shinjo:e,shirataka:e,shonai:e,takahata:e,tendo:e,tozawa:e,tsuruoka:e,yamagata:e,yamanobe:e,yonezawa:e,yuza:e}],yamaguchi:[1,{abu:e,hagi:e,hikari:e,hofu:e,iwakuni:e,kudamatsu:e,mitou:e,nagato:e,oshima:e,shimonoseki:e,shunan:e,tabuse:e,tokuyama:e,toyota:e,ube:e,yuu:e}],yamanashi:[1,{chuo:e,doshi:e,fuefuki:e,fujikawa:e,fujikawaguchiko:e,fujiyoshida:e,hayakawa:e,hokuto:e,ichikawamisato:e,kai:e,kofu:e,koshu:e,kosuge:e,"minami-alps":e,minobu:e,nakamichi:e,nanbu:e,narusawa:e,nirasaki:e,nishikatsura:e,oshino:e,otsuki:e,showa:e,tabayama:e,tsuru:e,uenohara:e,yamanakako:e,yamanashi:e}],"xn--ehqz56n":e,\u4E09\u91CD:e,"xn--1lqs03n":e,\u4EAC\u90FD:e,"xn--qqqt11m":e,\u4F50\u8CC0:e,"xn--f6qx53a":e,\u5175\u5EAB:e,"xn--djrs72d6uy":e,\u5317\u6D77\u9053:e,"xn--mkru45i":e,\u5343\u8449:e,"xn--0trq7p7nn":e,\u548C\u6B4C\u5C71:e,"xn--5js045d":e,\u57FC\u7389:e,"xn--kbrq7o":e,\u5927\u5206:e,"xn--pssu33l":e,\u5927\u962A:e,"xn--ntsq17g":e,\u5948\u826F:e,"xn--uisz3g":e,\u5BAE\u57CE:e,"xn--6btw5a":e,\u5BAE\u5D0E:e,"xn--1ctwo":e,\u5BCC\u5C71:e,"xn--6orx2r":e,\u5C71\u53E3:e,"xn--rht61e":e,\u5C71\u5F62:e,"xn--rht27z":e,\u5C71\u68A8:e,"xn--nit225k":e,\u5C90\u961C:e,"xn--rht3d":e,\u5CA1\u5C71:e,"xn--djty4k":e,\u5CA9\u624B:e,"xn--klty5x":e,\u5CF6\u6839:e,"xn--kltx9a":e,\u5E83\u5CF6:e,"xn--kltp7d":e,\u5FB3\u5CF6:e,"xn--c3s14m":e,\u611B\u5A9B:e,"xn--vgu402c":e,\u611B\u77E5:e,"xn--efvn9s":e,\u65B0\u6F5F:e,"xn--1lqs71d":e,\u6771\u4EAC:e,"xn--4pvxs":e,\u6803\u6728:e,"xn--uuwu58a":e,\u6C96\u7E04:e,"xn--zbx025d":e,\u6ECB\u8CC0:e,"xn--8pvr4u":e,\u718A\u672C:e,"xn--5rtp49c":e,\u77F3\u5DDD:e,"xn--ntso0iqx3a":e,\u795E\u5948\u5DDD:e,"xn--elqq16h":e,\u798F\u4E95:e,"xn--4it168d":e,\u798F\u5CA1:e,"xn--klt787d":e,\u798F\u5CF6:e,"xn--rny31h":e,\u79CB\u7530:e,"xn--7t0a264c":e,\u7FA4\u99AC:e,"xn--uist22h":e,\u8328\u57CE:e,"xn--8ltr62k":e,\u9577\u5D0E:e,"xn--2m4a15e":e,\u9577\u91CE:e,"xn--32vp30h":e,\u9752\u68EE:e,"xn--4it797k":e,\u9759\u5CA1:e,"xn--5rtq34k":e,\u9999\u5DDD:e,"xn--k7yn95e":e,\u9AD8\u77E5:e,"xn--tor131o":e,\u9CE5\u53D6:e,"xn--d5qv7z876c":e,\u9E7F\u5150\u5CF6:e,kawasaki:b,kitakyushu:b,kobe:b,nagoya:b,sapporo:b,sendai:b,yokohama:b,buyshop:t,fashionstore:t,handcrafted:t,kawaiishop:t,supersale:t,theshop:t,"0am":t,"0g0":t,"0j0":t,"0t0":t,mydns:t,pgw:t,wjg:t,usercontent:t,angry:t,babyblue:t,babymilk:t,backdrop:t,bambina:t,bitter:t,blush:t,boo:t,boy:t,boyfriend:t,but:t,candypop:t,capoo:t,catfood:t,cheap:t,chicappa:t,chillout:t,chips:t,chowder:t,chu:t,ciao:t,cocotte:t,coolblog:t,cranky:t,cutegirl:t,daa:t,deca:t,deci:t,digick:t,egoism:t,fakefur:t,fem:t,flier:t,floppy:t,fool:t,frenchkiss:t,girlfriend:t,girly:t,gloomy:t,gonna:t,greater:t,hacca:t,heavy:t,her:t,hiho:t,hippy:t,holy:t,hungry:t,icurus:t,itigo:t,jellybean:t,kikirara:t,kill:t,kilo:t,kuron:t,littlestar:t,lolipopmc:t,lolitapunk:t,lomo:t,lovepop:t,lovesick:t,main:t,mods:t,mond:t,mongolian:t,moo:t,namaste:t,nikita:t,nobushi:t,noor:t,oops:t,parallel:t,parasite:t,pecori:t,peewee:t,penne:t,pepper:t,perma:t,pigboat:t,pinoko:t,punyu:t,pupu:t,pussycat:t,pya:t,raindrop:t,readymade:t,sadist:t,schoolbus:t,secret:t,staba:t,stripper:t,sub:t,sunnyday:t,thick:t,tonkotsu:t,under:t,upper:t,velvet:t,verse:t,versus:t,vivian:t,watson:t,weblike:t,whitesnow:t,zombie:t,hateblo:t,hatenablog:t,hatenadiary:t,"2-d":t,bona:t,crap:t,daynight:t,eek:t,flop:t,halfmoon:t,jeez:t,matrix:t,mimoza:t,netgamers:t,nyanta:t,o0o0:t,rdy:t,rgr:t,rulez:t,sakurastorage:[0,{isk01:dt,isk02:dt}],saloon:t,sblo:t,skr:t,tank:t,"uh-oh":t,undo:t,webaccel:[0,{rs:t,user:t}],websozai:t,xii:t}],ke:[1,{ac:e,co:e,go:e,info:e,me:e,mobi:e,ne:e,or:e,sc:e}],kg:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,us:t,xx:t,ae:t}],kh:n,ki:It,km:[1,{ass:e,com:e,edu:e,gov:e,mil:e,nom:e,org:e,prd:e,tm:e,asso:e,coop:e,gouv:e,medecin:e,notaires:e,pharmaciens:e,presse:e,veterinaire:e}],kn:[1,{edu:e,gov:e,net:e,org:e}],kp:[1,{com:e,edu:e,gov:e,org:e,rep:e,tra:e}],kr:[1,{ac:e,ai:e,co:e,es:e,go:e,hs:e,io:e,it:e,kg:e,me:e,mil:e,ms:e,ne:e,or:e,pe:e,re:e,sc:e,busan:e,chungbuk:e,chungnam:e,daegu:e,daejeon:e,gangwon:e,gwangju:e,gyeongbuk:e,gyeonggi:e,gyeongnam:e,incheon:e,jeju:e,jeonbuk:e,jeonnam:e,seoul:e,ulsan:e,c01:t,"eliv-api":t,"eliv-cdn":t,"eliv-dns":t,mmv:t,vki:t}],kw:[1,{com:e,edu:e,emb:e,gov:e,ind:e,net:e,org:e}],ky:pe,kz:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,jcloud:t}],la:[1,{com:e,edu:e,gov:e,info:e,int:e,net:e,org:e,per:e,bnr:t}],lb:n,lc:[1,{co:e,com:e,edu:e,gov:e,net:e,org:e,oy:t}],li:e,lk:[1,{ac:e,assn:e,com:e,edu:e,gov:e,grp:e,hotel:e,int:e,ltd:e,net:e,ngo:e,org:e,sch:e,soc:e,web:e}],lr:n,ls:[1,{ac:e,biz:e,co:e,edu:e,gov:e,info:e,net:e,org:e,sc:e}],lt:c,lu:[1,{"123website":t}],lv:[1,{asn:e,com:e,conf:e,edu:e,gov:e,id:e,mil:e,net:e,org:e}],ly:[1,{com:e,edu:e,gov:e,id:e,med:e,net:e,org:e,plc:e,sch:e}],ma:[1,{ac:e,co:e,gov:e,net:e,org:e,press:e}],mc:[1,{asso:e,tm:e}],md:[1,{ir:t}],me:[1,{ac:e,co:e,edu:e,gov:e,its:e,net:e,org:e,priv:e,c66:t,craft:t,edgestack:t,mybox:t,filegear:t,"filegear-sg":t,lohmus:t,barsy:t,mcdir:t,brasilia:t,ddns:t,dnsfor:t,hopto:t,loginto:t,noip:t,webhop:t,soundcast:t,tcp4:t,vp4:t,diskstation:t,dscloud:t,i234:t,myds:t,synology:t,transip:xe,nohost:t}],mg:[1,{co:e,com:e,edu:e,gov:e,mil:e,nom:e,org:e,prd:e}],mh:e,mil:e,mk:[1,{com:e,edu:e,gov:e,inf:e,name:e,net:e,org:e}],ml:[1,{ac:e,art:e,asso:e,com:e,edu:e,gouv:e,gov:e,info:e,inst:e,net:e,org:e,pr:e,presse:e}],mm:b,mn:[1,{edu:e,gov:e,org:e,nyc:t}],mo:n,mobi:[1,{barsy:t,dscloud:t}],mp:[1,{ju:t}],mq:e,mr:c,ms:[1,{com:e,edu:e,gov:e,net:e,org:e,minisite:t}],mt:pe,mu:[1,{ac:e,co:e,com:e,gov:e,net:e,or:e,org:e}],museum:e,mv:[1,{aero:e,biz:e,com:e,coop:e,edu:e,gov:e,info:e,int:e,mil:e,museum:e,name:e,net:e,org:e,pro:e}],mw:[1,{ac:e,biz:e,co:e,com:e,coop:e,edu:e,gov:e,int:e,net:e,org:e}],mx:[1,{com:e,edu:e,gob:e,net:e,org:e}],my:[1,{biz:e,com:e,edu:e,gov:e,mil:e,name:e,net:e,org:e}],mz:[1,{ac:e,adv:e,co:e,edu:e,gov:e,mil:e,net:e,org:e}],na:[1,{alt:e,co:e,com:e,gov:e,net:e,org:e}],name:[1,{her:Bt,his:Bt,ispmanager:t,keenetic:t}],nc:[1,{asso:e,nom:e}],ne:e,net:[1,{adobeaemcloud:t,"adobeio-static":t,adobeioruntime:t,akadns:t,akamai:t,"akamai-staging":t,akamaiedge:t,"akamaiedge-staging":t,akamaihd:t,"akamaihd-staging":t,akamaiorigin:t,"akamaiorigin-staging":t,akamaized:t,"akamaized-staging":t,edgekey:t,"edgekey-staging":t,edgesuite:t,"edgesuite-staging":t,alwaysdata:t,myamaze:t,cloudfront:t,appudo:t,"atlassian-dev":[0,{prod:Ue}],myfritz:t,shopselect:t,blackbaudcdn:t,boomla:t,bplaced:t,square7:t,cdn77:[0,{r:t}],"cdn77-ssl":t,gb:t,hu:t,jp:t,se:t,uk:t,clickrising:t,"ddns-ip":t,"dns-cloud":t,"dns-dynamic":t,cloudaccess:t,cloudflare:[2,{cdn:t}],cloudflareanycast:Ue,cloudflarecn:Ue,cloudflareglobal:Ue,ctfcloud:t,"feste-ip":t,"knx-server":t,"static-access":t,cryptonomic:o,dattolocal:t,mydatto:t,debian:t,definima:t,deno:[2,{sandbox:t}],icp:o,de5:t,"at-band-camp":t,blogdns:t,"broke-it":t,buyshouses:t,dnsalias:t,dnsdojo:t,"does-it":t,dontexist:t,dynalias:t,dynathome:t,endofinternet:t,"from-az":t,"from-co":t,"from-la":t,"from-ny":t,"gets-it":t,"ham-radio-op":t,homeftp:t,homeip:t,homelinux:t,homeunix:t,"in-the-band":t,"is-a-chef":t,"is-a-geek":t,"isa-geek":t,"kicks-ass":t,"office-on-the":t,podzone:t,"scrapper-site":t,selfip:t,"sells-it":t,servebbs:t,serveftp:t,thruhere:t,webhop:t,casacam:t,dynu:t,dynuddns:t,mysynology:t,opik:t,spryt:t,dynv6:t,twmail:t,ru:t,channelsdvr:[2,{u:t}],fastly:[0,{freetls:t,map:t,prod:[0,{a:t,global:t}],ssl:[0,{a:t,b:t,global:t}]}],fastlylb:[2,{map:t}],"keyword-on":t,"live-on":t,"server-on":t,"cdn-edges":t,heteml:t,cloudfunctions:t,"grafana-dev":t,iobb:t,moonscale:t,"in-dsl":t,"in-vpn":t,oninferno:t,botdash:t,"apps-1and1":t,ipifony:t,cloudjiffy:[2,{"fra1-de":t,"west1-us":t}],elastx:[0,{"jls-sto1":t,"jls-sto2":t,"jls-sto3":t}],massivegrid:[0,{paas:[0,{"fr-1":t,"lon-1":t,"lon-2":t,"ny-1":t,"ny-2":t,"sg-1":t}]}],saveincloud:[0,{jelastic:t,"nordeste-idc":t}],scaleforce:nt,kinghost:t,uni5:t,krellian:t,ggff:t,localto:o,barsy:t,luyani:t,memset:t,"azure-api":t,"azure-mobile":t,azureedge:t,azurefd:t,azurestaticapps:[2,{1:t,2:t,3:t,4:t,5:t,6:t,7:t,centralus:t,eastasia:t,eastus2:t,westeurope:t,westus2:t}],azurewebsites:t,cloudapp:t,trafficmanager:t,usgovcloudapi:Pn,usgovcloudapp:t,usgovtrafficmanager:t,windows:Pn,mynetname:[0,{sn:t}],routingthecloud:t,bounceme:t,ddns:t,"eating-organic":t,mydissent:t,myeffect:t,mymediapc:t,mypsx:t,mysecuritycamera:t,nhlfan:t,"no-ip":t,pgafan:t,privatizehealthinsurance:t,redirectme:t,serveblog:t,serveminecraft:t,sytes:t,dnsup:t,hicam:t,"now-dns":t,ownip:t,vpndns:t,cloudycluster:t,ovh:[0,{hosting:o,webpaas:o}],rackmaze:t,myradweb:t,in:t,"subsc-pay":t,squares:t,schokokeks:t,"firewall-gateway":t,seidat:t,senseering:t,siteleaf:t,mafelo:t,myspreadshop:t,"vps-host":[2,{jelastic:[0,{atl:t,njs:t,ric:t}]}],srcf:[0,{soc:t,user:t}],supabase:t,dsmynas:t,familyds:t,ts:[2,{c:o}],torproject:[2,{pages:t}],tunnelmole:t,vusercontent:t,"reserve-online":t,localcert:t,"community-pro":t,meinforum:t,yandexcloud:[2,{storage:t,website:t}],za:t,zabc:t}],nf:[1,{arts:e,com:e,firm:e,info:e,net:e,other:e,per:e,rec:e,store:e,web:e}],ng:[1,{com:e,edu:e,gov:e,i:e,mil:e,mobi:e,name:e,net:e,org:e,sch:e,biz:[2,{co:t,dl:t,go:t,lg:t,on:t}],col:t,firm:t,gen:t,ltd:t,ngo:t,plc:t}],ni:[1,{ac:e,biz:e,co:e,com:e,edu:e,gob:e,in:e,info:e,int:e,mil:e,net:e,nom:e,org:e,web:e}],nl:[1,{co:t,"hosting-cluster":t,gov:t,khplay:t,"123website":t,myspreadshop:t,transurl:o,cistron:t,demon:t}],no:[1,{fhs:e,folkebibl:e,fylkesbibl:e,idrett:e,museum:e,priv:e,vgs:e,dep:e,herad:e,kommune:e,mil:e,stat:e,aa:_e,ah:_e,bu:_e,fm:_e,hl:_e,hm:_e,"jan-mayen":_e,mr:_e,nl:_e,nt:_e,of:_e,ol:_e,oslo:_e,rl:_e,sf:_e,st:_e,svalbard:_e,tm:_e,tr:_e,va:_e,vf:_e,akrehamn:e,"xn--krehamn-dxa":e,\u00E5krehamn:e,algard:e,"xn--lgrd-poac":e,\u00E5lg\u00E5rd:e,arna:e,bronnoysund:e,"xn--brnnysund-m8ac":e,br\u00F8nn\u00F8ysund:e,brumunddal:e,bryne:e,drobak:e,"xn--drbak-wua":e,dr\u00F8bak:e,egersund:e,fetsund:e,floro:e,"xn--flor-jra":e,flor\u00F8:e,fredrikstad:e,hokksund:e,honefoss:e,"xn--hnefoss-q1a":e,h\u00F8nefoss:e,jessheim:e,jorpeland:e,"xn--jrpeland-54a":e,j\u00F8rpeland:e,kirkenes:e,kopervik:e,krokstadelva:e,langevag:e,"xn--langevg-jxa":e,langev\u00E5g:e,leirvik:e,mjondalen:e,"xn--mjndalen-64a":e,mj\u00F8ndalen:e,"mo-i-rana":e,mosjoen:e,"xn--mosjen-eya":e,mosj\u00F8en:e,nesoddtangen:e,orkanger:e,osoyro:e,"xn--osyro-wua":e,os\u00F8yro:e,raholt:e,"xn--rholt-mra":e,r\u00E5holt:e,sandnessjoen:e,"xn--sandnessjen-ogb":e,sandnessj\u00F8en:e,skedsmokorset:e,slattum:e,spjelkavik:e,stathelle:e,stavern:e,stjordalshalsen:e,"xn--stjrdalshalsen-sqb":e,stj\u00F8rdalshalsen:e,tananger:e,tranby:e,vossevangen:e,aarborte:e,aejrie:e,afjord:e,"xn--fjord-lra":e,\u00E5fjord:e,agdenes:e,akershus:Zn,aknoluokta:e,"xn--koluokta-7ya57h":e,\u00E1k\u014Boluokta:e,al:e,"xn--l-1fa":e,\u00E5l:e,alaheadju:e,"xn--laheadju-7ya":e,\u00E1laheadju:e,alesund:e,"xn--lesund-hua":e,\u00E5lesund:e,alstahaug:e,alta:e,"xn--lt-liac":e,\u00E1lt\u00E1:e,alvdal:e,amli:e,"xn--mli-tla":e,\u00E5mli:e,amot:e,"xn--mot-tla":e,\u00E5mot:e,andasuolo:e,andebu:e,andoy:e,"xn--andy-ira":e,and\u00F8y:e,ardal:e,"xn--rdal-poa":e,\u00E5rdal:e,aremark:e,arendal:e,"xn--s-1fa":e,\u00E5s:e,aseral:e,"xn--seral-lra":e,\u00E5seral:e,asker:e,askim:e,askoy:e,"xn--asky-ira":e,ask\u00F8y:e,askvoll:e,asnes:e,"xn--snes-poa":e,\u00E5snes:e,audnedaln:e,aukra:e,aure:e,aurland:e,"aurskog-holand":e,"xn--aurskog-hland-jnb":e,"aurskog-h\xF8land":e,austevoll:e,austrheim:e,averoy:e,"xn--avery-yua":e,aver\u00F8y:e,badaddja:e,"xn--bdddj-mrabd":e,b\u00E5d\u00E5ddj\u00E5:e,"xn--brum-voa":e,b\u00E6rum:e,bahcavuotna:e,"xn--bhcavuotna-s4a":e,b\u00E1hcavuotna:e,bahccavuotna:e,"xn--bhccavuotna-k7a":e,b\u00E1hccavuotna:e,baidar:e,"xn--bidr-5nac":e,b\u00E1id\u00E1r:e,bajddar:e,"xn--bjddar-pta":e,b\u00E1jddar:e,balat:e,"xn--blt-elab":e,b\u00E1l\u00E1t:e,balestrand:e,ballangen:e,balsfjord:e,bamble:e,bardu:e,barum:e,batsfjord:e,"xn--btsfjord-9za":e,b\u00E5tsfjord:e,bearalvahki:e,"xn--bearalvhki-y4a":e,bearalv\u00E1hki:e,beardu:e,beiarn:e,berg:e,bergen:e,berlevag:e,"xn--berlevg-jxa":e,berlev\u00E5g:e,bievat:e,"xn--bievt-0qa":e,biev\u00E1t:e,bindal:e,birkenes:e,bjerkreim:e,bjugn:e,bodo:e,"xn--bod-2na":e,bod\u00F8:e,bokn:e,bomlo:e,"xn--bmlo-gra":e,b\u00F8mlo:e,bremanger:e,bronnoy:e,"xn--brnny-wuac":e,br\u00F8nn\u00F8y:e,budejju:e,buskerud:Zn,bygland:e,bykle:e,cahcesuolo:e,"xn--hcesuolo-7ya35b":e,\u010D\u00E1hcesuolo:e,davvenjarga:e,"xn--davvenjrga-y4a":e,davvenj\u00E1rga:e,davvesiida:e,deatnu:e,dielddanuorri:e,divtasvuodna:e,divttasvuotna:e,donna:e,"xn--dnna-gra":e,d\u00F8nna:e,dovre:e,drammen:e,drangedal:e,dyroy:e,"xn--dyry-ira":e,dyr\u00F8y:e,eid:e,eidfjord:e,eidsberg:e,eidskog:e,eidsvoll:e,eigersund:e,elverum:e,enebakk:e,engerdal:e,etne:e,etnedal:e,evenassi:e,"xn--eveni-0qa01ga":e,even\u00E1\u0161\u0161i:e,evenes:e,"evje-og-hornnes":e,farsund:e,fauske:e,fedje:e,fet:e,finnoy:e,"xn--finny-yua":e,finn\u00F8y:e,fitjar:e,fjaler:e,fjell:e,fla:e,"xn--fl-zia":e,fl\u00E5:e,flakstad:e,flatanger:e,flekkefjord:e,flesberg:e,flora:e,folldal:e,forde:e,"xn--frde-gra":e,f\u00F8rde:e,forsand:e,fosnes:e,"xn--frna-woa":e,fr\u00E6na:e,frana:e,frei:e,frogn:e,froland:e,frosta:e,froya:e,"xn--frya-hra":e,fr\u00F8ya:e,fuoisku:e,fuossko:e,fusa:e,fyresdal:e,gaivuotna:e,"xn--givuotna-8ya":e,g\u00E1ivuotna:e,galsa:e,"xn--gls-elac":e,g\u00E1ls\u00E1:e,gamvik:e,gangaviika:e,"xn--ggaviika-8ya47h":e,g\u00E1\u014Bgaviika:e,gaular:e,gausdal:e,giehtavuoatna:e,gildeskal:e,"xn--gildeskl-g0a":e,gildesk\u00E5l:e,giske:e,gjemnes:e,gjerdrum:e,gjerstad:e,gjesdal:e,gjovik:e,"xn--gjvik-wua":e,gj\u00F8vik:e,gloppen:e,gol:e,gran:e,grane:e,granvin:e,gratangen:e,grimstad:e,grong:e,grue:e,gulen:e,guovdageaidnu:e,ha:e,"xn--h-2fa":e,h\u00E5:e,habmer:e,"xn--hbmer-xqa":e,h\u00E1bmer:e,hadsel:e,"xn--hgebostad-g3a":e,h\u00E6gebostad:e,hagebostad:e,halden:e,halsa:e,hamar:e,hamaroy:e,hammarfeasta:e,"xn--hmmrfeasta-s4ac":e,h\u00E1mm\u00E1rfeasta:e,hammerfest:e,hapmir:e,"xn--hpmir-xqa":e,h\u00E1pmir:e,haram:e,hareid:e,harstad:e,hasvik:e,hattfjelldal:e,haugesund:e,hedmark:[0,{os:e,valer:e,"xn--vler-qoa":e,v\u00E5ler:e}],hemne:e,hemnes:e,hemsedal:e,hitra:e,hjartdal:e,hjelmeland:e,hobol:e,"xn--hobl-ira":e,hob\u00F8l:e,hof:e,hol:e,hole:e,holmestrand:e,holtalen:e,"xn--holtlen-hxa":e,holt\u00E5len:e,hordaland:[0,{os:e}],hornindal:e,horten:e,hoyanger:e,"xn--hyanger-q1a":e,h\u00F8yanger:e,hoylandet:e,"xn--hylandet-54a":e,h\u00F8ylandet:e,hurdal:e,hurum:e,hvaler:e,hyllestad:e,ibestad:e,inderoy:e,"xn--indery-fya":e,inder\u00F8y:e,iveland:e,ivgu:e,jevnaker:e,jolster:e,"xn--jlster-bya":e,j\u00F8lster:e,jondal:e,kafjord:e,"xn--kfjord-iua":e,k\u00E5fjord:e,karasjohka:e,"xn--krjohka-hwab49j":e,k\u00E1r\u00E1\u0161johka:e,karasjok:e,karlsoy:e,karmoy:e,"xn--karmy-yua":e,karm\u00F8y:e,kautokeino:e,klabu:e,"xn--klbu-woa":e,kl\u00E6bu:e,klepp:e,kongsberg:e,kongsvinger:e,kraanghke:e,"xn--kranghke-b0a":e,kr\u00E5anghke:e,kragero:e,"xn--krager-gya":e,krager\u00F8:e,kristiansand:e,kristiansund:e,krodsherad:e,"xn--krdsherad-m8a":e,kr\u00F8dsherad:e,"xn--kvfjord-nxa":e,kv\u00E6fjord:e,"xn--kvnangen-k0a":e,kv\u00E6nangen:e,kvafjord:e,kvalsund:e,kvam:e,kvanangen:e,kvinesdal:e,kvinnherad:e,kviteseid:e,kvitsoy:e,"xn--kvitsy-fya":e,kvits\u00F8y:e,laakesvuemie:e,"xn--lrdal-sra":e,l\u00E6rdal:e,lahppi:e,"xn--lhppi-xqa":e,l\u00E1hppi:e,lardal:e,larvik:e,lavagis:e,lavangen:e,leangaviika:e,"xn--leagaviika-52b":e,lea\u014Bgaviika:e,lebesby:e,leikanger:e,leirfjord:e,leka:e,leksvik:e,lenvik:e,lerdal:e,lesja:e,levanger:e,lier:e,lierne:e,lillehammer:e,lillesand:e,lindas:e,"xn--linds-pra":e,lind\u00E5s:e,lindesnes:e,loabat:e,"xn--loabt-0qa":e,loab\u00E1t:e,lodingen:e,"xn--ldingen-q1a":e,l\u00F8dingen:e,lom:e,loppa:e,lorenskog:e,"xn--lrenskog-54a":e,l\u00F8renskog:e,loten:e,"xn--lten-gra":e,l\u00F8ten:e,lund:e,lunner:e,luroy:e,"xn--lury-ira":e,lur\u00F8y:e,luster:e,lyngdal:e,lyngen:e,malatvuopmi:e,"xn--mlatvuopmi-s4a":e,m\u00E1latvuopmi:e,malselv:e,"xn--mlselv-iua":e,m\u00E5lselv:e,malvik:e,mandal:e,marker:e,marnardal:e,masfjorden:e,masoy:e,"xn--msy-ula0h":e,m\u00E5s\u00F8y:e,"matta-varjjat":e,"xn--mtta-vrjjat-k7af":e,"m\xE1tta-v\xE1rjjat":e,meland:e,meldal:e,melhus:e,meloy:e,"xn--mely-ira":e,mel\u00F8y:e,meraker:e,"xn--merker-kua":e,mer\u00E5ker:e,midsund:e,"midtre-gauldal":e,moareke:e,"xn--moreke-jua":e,mo\u00E5reke:e,modalen:e,modum:e,molde:e,"more-og-romsdal":[0,{heroy:e,sande:e}],"xn--mre-og-romsdal-qqb":[0,{"xn--hery-ira":e,sande:e}],"m\xF8re-og-romsdal":[0,{her\u00F8y:e,sande:e}],moskenes:e,moss:e,muosat:e,"xn--muost-0qa":e,muos\u00E1t:e,naamesjevuemie:e,"xn--nmesjevuemie-tcba":e,n\u00E5\u00E5mesjevuemie:e,"xn--nry-yla5g":e,n\u00E6r\u00F8y:e,namdalseid:e,namsos:e,namsskogan:e,nannestad:e,naroy:e,narviika:e,narvik:e,naustdal:e,navuotna:e,"xn--nvuotna-hwa":e,n\u00E1vuotna:e,"nedre-eiker":e,nesna:e,nesodden:e,nesseby:e,nesset:e,nissedal:e,nittedal:e,"nord-aurdal":e,"nord-fron":e,"nord-odal":e,norddal:e,nordkapp:e,nordland:[0,{bo:e,"xn--b-5ga":e,b\u00F8:e,heroy:e,"xn--hery-ira":e,her\u00F8y:e}],"nordre-land":e,nordreisa:e,"nore-og-uvdal":e,notodden:e,notteroy:e,"xn--nttery-byae":e,n\u00F8tter\u00F8y:e,odda:e,oksnes:e,"xn--ksnes-uua":e,\u00F8ksnes:e,omasvuotna:e,oppdal:e,oppegard:e,"xn--oppegrd-ixa":e,oppeg\u00E5rd:e,orkdal:e,orland:e,"xn--rland-uua":e,\u00F8rland:e,orskog:e,"xn--rskog-uua":e,\u00F8rskog:e,orsta:e,"xn--rsta-fra":e,\u00F8rsta:e,osen:e,osteroy:e,"xn--ostery-fya":e,oster\u00F8y:e,ostfold:[0,{valer:e}],"xn--stfold-9xa":[0,{"xn--vler-qoa":e}],\u00F8stfold:[0,{v\u00E5ler:e}],"ostre-toten":e,"xn--stre-toten-zcb":e,"\xF8stre-toten":e,overhalla:e,"ovre-eiker":e,"xn--vre-eiker-k8a":e,"\xF8vre-eiker":e,oyer:e,"xn--yer-zna":e,\u00F8yer:e,oygarden:e,"xn--ygarden-p1a":e,\u00F8ygarden:e,"oystre-slidre":e,"xn--ystre-slidre-ujb":e,"\xF8ystre-slidre":e,porsanger:e,porsangu:e,"xn--porsgu-sta26f":e,pors\u00E1\u014Bgu:e,porsgrunn:e,rade:e,"xn--rde-ula":e,r\u00E5de:e,radoy:e,"xn--rady-ira":e,rad\u00F8y:e,"xn--rlingen-mxa":e,r\u00E6lingen:e,rahkkeravju:e,"xn--rhkkervju-01af":e,r\u00E1hkker\u00E1vju:e,raisa:e,"xn--risa-5na":e,r\u00E1isa:e,rakkestad:e,ralingen:e,rana:e,randaberg:e,rauma:e,rendalen:e,rennebu:e,rennesoy:e,"xn--rennesy-v1a":e,rennes\u00F8y:e,rindal:e,ringebu:e,ringerike:e,ringsaker:e,risor:e,"xn--risr-ira":e,ris\u00F8r:e,rissa:e,roan:e,rodoy:e,"xn--rdy-0nab":e,r\u00F8d\u00F8y:e,rollag:e,romsa:e,romskog:e,"xn--rmskog-bya":e,r\u00F8mskog:e,roros:e,"xn--rros-gra":e,r\u00F8ros:e,rost:e,"xn--rst-0na":e,r\u00F8st:e,royken:e,"xn--ryken-vua":e,r\u00F8yken:e,royrvik:e,"xn--ryrvik-bya":e,r\u00F8yrvik:e,ruovat:e,rygge:e,salangen:e,salat:e,"xn--slat-5na":e,s\u00E1lat:e,"xn--slt-elab":e,s\u00E1l\u00E1t:e,saltdal:e,samnanger:e,sandefjord:e,sandnes:e,sandoy:e,"xn--sandy-yua":e,sand\u00F8y:e,sarpsborg:e,sauda:e,sauherad:e,sel:e,selbu:e,selje:e,seljord:e,siellak:e,sigdal:e,siljan:e,sirdal:e,skanit:e,"xn--sknit-yqa":e,sk\u00E1nit:e,skanland:e,"xn--sknland-fxa":e,sk\u00E5nland:e,skaun:e,skedsmo:e,ski:e,skien:e,skierva:e,"xn--skierv-uta":e,skierv\u00E1:e,skiptvet:e,skjak:e,"xn--skjk-soa":e,skj\u00E5k:e,skjervoy:e,"xn--skjervy-v1a":e,skjerv\u00F8y:e,skodje:e,smola:e,"xn--smla-hra":e,sm\u00F8la:e,snaase:e,"xn--snase-nra":e,sn\u00E5ase:e,snasa:e,"xn--snsa-roa":e,sn\u00E5sa:e,snillfjord:e,snoasa:e,sogndal:e,sogne:e,"xn--sgne-gra":e,s\u00F8gne:e,sokndal:e,sola:e,solund:e,somna:e,"xn--smna-gra":e,s\u00F8mna:e,"sondre-land":e,"xn--sndre-land-0cb":e,"s\xF8ndre-land":e,songdalen:e,"sor-aurdal":e,"xn--sr-aurdal-l8a":e,"s\xF8r-aurdal":e,"sor-fron":e,"xn--sr-fron-q1a":e,"s\xF8r-fron":e,"sor-odal":e,"xn--sr-odal-q1a":e,"s\xF8r-odal":e,"sor-varanger":e,"xn--sr-varanger-ggb":e,"s\xF8r-varanger":e,sorfold:e,"xn--srfold-bya":e,s\u00F8rfold:e,sorreisa:e,"xn--srreisa-q1a":e,s\u00F8rreisa:e,sortland:e,sorum:e,"xn--srum-gra":e,s\u00F8rum:e,spydeberg:e,stange:e,stavanger:e,steigen:e,steinkjer:e,stjordal:e,"xn--stjrdal-s1a":e,stj\u00F8rdal:e,stokke:e,"stor-elvdal":e,stord:e,stordal:e,storfjord:e,strand:e,stranda:e,stryn:e,sula:e,suldal:e,sund:e,sunndal:e,surnadal:e,sveio:e,svelvik:e,sykkylven:e,tana:e,telemark:[0,{bo:e,"xn--b-5ga":e,b\u00F8:e}],time:e,tingvoll:e,tinn:e,tjeldsund:e,tjome:e,"xn--tjme-hra":e,tj\u00F8me:e,tokke:e,tolga:e,tonsberg:e,"xn--tnsberg-q1a":e,t\u00F8nsberg:e,torsken:e,"xn--trna-woa":e,tr\u00E6na:e,trana:e,tranoy:e,"xn--trany-yua":e,tran\u00F8y:e,troandin:e,trogstad:e,"xn--trgstad-r1a":e,tr\u00F8gstad:e,tromsa:e,tromso:e,"xn--troms-zua":e,troms\u00F8:e,trondheim:e,trysil:e,tvedestrand:e,tydal:e,tynset:e,tysfjord:e,tysnes:e,"xn--tysvr-vra":e,tysv\u00E6r:e,tysvar:e,ullensaker:e,ullensvang:e,ulvik:e,unjarga:e,"xn--unjrga-rta":e,unj\u00E1rga:e,utsira:e,vaapste:e,vadso:e,"xn--vads-jra":e,vads\u00F8:e,"xn--vry-yla5g":e,v\u00E6r\u00F8y:e,vaga:e,"xn--vg-yiab":e,v\u00E5g\u00E5:e,vagan:e,"xn--vgan-qoa":e,v\u00E5gan:e,vagsoy:e,"xn--vgsy-qoa0j":e,v\u00E5gs\u00F8y:e,vaksdal:e,valle:e,vang:e,vanylven:e,vardo:e,"xn--vard-jra":e,vard\u00F8:e,varggat:e,"xn--vrggt-xqad":e,v\u00E1rgg\u00E1t:e,varoy:e,vefsn:e,vega:e,vegarshei:e,"xn--vegrshei-c0a":e,veg\u00E5rshei:e,vennesla:e,verdal:e,verran:e,vestby:e,vestfold:[0,{sande:e}],vestnes:e,"vestre-slidre":e,"vestre-toten":e,vestvagoy:e,"xn--vestvgy-ixa6o":e,vestv\u00E5g\u00F8y:e,vevelstad:e,vik:e,vikna:e,vindafjord:e,voagat:e,volda:e,voss:e,co:t,"123hjemmeside":t,myspreadshop:t}],np:b,nr:It,nu:[1,{merseine:t,mine:t,shacknet:t,enterprisecloud:t}],nz:[1,{ac:e,co:e,cri:e,geek:e,gen:e,govt:e,health:e,iwi:e,kiwi:e,maori:e,"xn--mori-qsa":e,m\u0101ori:e,mil:e,net:e,org:e,parliament:e,school:e,cloudns:t}],om:[1,{co:e,com:e,edu:e,gov:e,med:e,museum:e,net:e,org:e,pro:e}],onion:e,org:[1,{altervista:t,pimienta:t,poivron:t,potager:t,sweetpepper:t,cdn77:[0,{c:t,rsc:t}],"cdn77-secure":[0,{origin:[0,{ssl:t}]}],ae:t,cloudns:t,"ip-dynamic":t,ddnss:t,dpdns:t,duckdns:t,tunk:t,blogdns:t,blogsite:t,boldlygoingnowhere:t,dnsalias:t,dnsdojo:t,doesntexist:t,dontexist:t,doomdns:t,dvrdns:t,dynalias:t,dyndns:[2,{go:t,home:t}],endofinternet:t,endoftheinternet:t,"from-me":t,"game-host":t,gotdns:t,"hobby-site":t,homedns:t,homeftp:t,homelinux:t,homeunix:t,"is-a-bruinsfan":t,"is-a-candidate":t,"is-a-celticsfan":t,"is-a-chef":t,"is-a-geek":t,"is-a-knight":t,"is-a-linux-user":t,"is-a-patsfan":t,"is-a-soxfan":t,"is-found":t,"is-lost":t,"is-saved":t,"is-very-bad":t,"is-very-evil":t,"is-very-good":t,"is-very-nice":t,"is-very-sweet":t,"isa-geek":t,"kicks-ass":t,misconfused:t,podzone:t,readmyblog:t,selfip:t,sellsyourhome:t,servebbs:t,serveftp:t,servegame:t,"stuff-4-sale":t,webhop:t,accesscam:t,camdvr:t,freeddns:t,mywire:t,roxa:t,webredirect:t,twmail:t,eu:[2,{al:t,asso:t,at:t,au:t,be:t,bg:t,ca:t,cd:t,ch:t,cn:t,cy:t,cz:t,de:t,dk:t,edu:t,ee:t,es:t,fi:t,fr:t,gr:t,hr:t,hu:t,ie:t,il:t,in:t,int:t,is:t,it:t,jp:t,kr:t,lt:t,lu:t,lv:t,me:t,mk:t,mt:t,my:t,net:t,ng:t,nl:t,no:t,nz:t,pl:t,pt:t,ro:t,ru:t,se:t,si:t,sk:t,tr:t,uk:t,us:t}],fedorainfracloud:t,fedorapeople:t,fedoraproject:[0,{cloud:t,os:re,stg:[0,{os:re}]}],freedesktop:t,hatenadiary:t,hepforge:t,"in-dsl":t,"in-vpn":t,js:t,barsy:t,mayfirst:t,routingthecloud:t,bmoattachments:t,"cable-modem":t,collegefan:t,couchpotatofries:t,hopto:t,mlbfan:t,myftp:t,mysecuritycamera:t,nflfan:t,"no-ip":t,"read-books":t,ufcfan:t,zapto:t,dynserv:t,"now-dns":t,"is-local":t,httpbin:t,pubtls:t,jpn:t,"my-firewall":t,myfirewall:t,spdns:t,"small-web":t,dsmynas:t,familyds:t,teckids:dt,tuxfamily:t,hk:t,us:t,toolforge:t,wmcloud:[2,{beta:t}],wmflabs:t,za:t}],pa:[1,{abo:e,ac:e,com:e,edu:e,gob:e,ing:e,med:e,net:e,nom:e,org:e,sld:e}],pe:[1,{com:e,edu:e,gob:e,mil:e,net:e,nom:e,org:e}],pf:[1,{com:e,edu:e,org:e}],pg:b,ph:[1,{com:e,edu:e,gov:e,i:e,mil:e,net:e,ngo:e,org:e,cloudns:t}],pk:[1,{ac:e,biz:e,com:e,edu:e,fam:e,gkp:e,gob:e,gog:e,gok:e,gop:e,gos:e,gov:e,net:e,org:e,web:e}],pl:[1,{com:e,net:e,org:e,agro:e,aid:e,atm:e,auto:e,biz:e,edu:e,gmina:e,gsm:e,info:e,mail:e,media:e,miasta:e,mil:e,nieruchomosci:e,nom:e,pc:e,powiat:e,priv:e,realestate:e,rel:e,sex:e,shop:e,sklep:e,sos:e,szkola:e,targi:e,tm:e,tourism:e,travel:e,turystyka:e,gov:[1,{ap:e,griw:e,ic:e,is:e,kmpsp:e,konsulat:e,kppsp:e,kwp:e,kwpsp:e,mup:e,mw:e,oia:e,oirm:e,oke:e,oow:e,oschr:e,oum:e,pa:e,pinb:e,piw:e,po:e,pr:e,psp:e,psse:e,pup:e,rzgw:e,sa:e,sdn:e,sko:e,so:e,sr:e,starostwo:e,ug:e,ugim:e,um:e,umig:e,upow:e,uppo:e,us:e,uw:e,uzs:e,wif:e,wiih:e,winb:e,wios:e,witd:e,wiw:e,wkz:e,wsa:e,wskr:e,wsse:e,wuoz:e,wzmiuw:e,zp:e,zpisdn:e}],augustow:e,"babia-gora":e,bedzin:e,beskidy:e,bialowieza:e,bialystok:e,bielawa:e,bieszczady:e,boleslawiec:e,bydgoszcz:e,bytom:e,cieszyn:e,czeladz:e,czest:e,dlugoleka:e,elblag:e,elk:e,glogow:e,gniezno:e,gorlice:e,grajewo:e,ilawa:e,jaworzno:e,"jelenia-gora":e,jgora:e,kalisz:e,karpacz:e,kartuzy:e,kaszuby:e,katowice:e,"kazimierz-dolny":e,kepno:e,ketrzyn:e,klodzko:e,kobierzyce:e,kolobrzeg:e,konin:e,konskowola:e,kutno:e,lapy:e,lebork:e,legnica:e,lezajsk:e,limanowa:e,lomza:e,lowicz:e,lubin:e,lukow:e,malbork:e,malopolska:e,mazowsze:e,mazury:e,mielec:e,mielno:e,mragowo:e,naklo:e,nowaruda:e,nysa:e,olawa:e,olecko:e,olkusz:e,olsztyn:e,opoczno:e,opole:e,ostroda:e,ostroleka:e,ostrowiec:e,ostrowwlkp:e,pila:e,pisz:e,podhale:e,podlasie:e,polkowice:e,pomorskie:e,pomorze:e,prochowice:e,pruszkow:e,przeworsk:e,pulawy:e,radom:e,"rawa-maz":e,rybnik:e,rzeszow:e,sanok:e,sejny:e,skoczow:e,slask:e,slupsk:e,sosnowiec:e,"stalowa-wola":e,starachowice:e,stargard:e,suwalki:e,swidnica:e,swiebodzin:e,swinoujscie:e,szczecin:e,szczytno:e,tarnobrzeg:e,tgory:e,turek:e,tychy:e,ustka:e,walbrzych:e,warmia:e,warszawa:e,waw:e,wegrow:e,wielun:e,wlocl:e,wloclawek:e,wodzislaw:e,wolomin:e,wroclaw:e,zachpomor:e,zagan:e,zarow:e,zgora:e,zgorzelec:e,art:t,gliwice:t,krakow:t,poznan:t,wroc:t,zakopane:t,beep:t,"ecommerce-shop":t,cfolks:t,dfirma:t,dkonto:t,you2:t,shoparena:t,homesklep:t,sdscloud:t,unicloud:t,lodz:t,pabianice:t,plock:t,sieradz:t,skierniewice:t,zgierz:t,krasnik:t,leczna:t,lubartow:t,lublin:t,poniatowa:t,swidnik:t,co:t,torun:t,simplesite:t,myspreadshop:t,gda:t,gdansk:t,gdynia:t,med:t,sopot:t,bielsko:t}],pm:[1,{own:t,name:t}],pn:[1,{co:e,edu:e,gov:e,net:e,org:e}],post:e,pr:[1,{biz:e,com:e,edu:e,gov:e,info:e,isla:e,name:e,net:e,org:e,pro:e,ac:e,est:e,prof:e}],pro:[1,{aaa:e,aca:e,acct:e,avocat:e,bar:e,cpa:e,eng:e,jur:e,law:e,med:e,recht:e,cloudns:t,keenetic:t,barsy:t,ngrok:t}],ps:[1,{com:e,edu:e,gov:e,net:e,org:e,plo:e,sec:e}],pt:[1,{com:e,edu:e,gov:e,int:e,net:e,nome:e,org:e,publ:e,"123paginaweb":t}],pw:[1,{gov:e,cloudns:t,x443:t}],py:[1,{com:e,coop:e,edu:e,gov:e,mil:e,net:e,org:e}],qa:[1,{com:e,edu:e,gov:e,mil:e,name:e,net:e,org:e,sch:e}],re:[1,{asso:e,com:e,netlib:t,can:t}],ro:[1,{arts:e,com:e,firm:e,info:e,nom:e,nt:e,org:e,rec:e,store:e,tm:e,www:e,co:t,shop:t,barsy:t}],rs:[1,{ac:e,co:e,edu:e,gov:e,in:e,org:e,brendly:k,barsy:t,ox:t}],ru:[1,{ac:t,edu:t,gov:t,int:t,mil:t,eurodir:t,adygeya:t,bashkiria:t,bir:t,cbg:t,com:t,dagestan:t,grozny:t,kalmykia:t,kustanai:t,marine:t,mordovia:t,msk:t,mytis:t,nalchik:t,nov:t,pyatigorsk:t,spb:t,vladikavkaz:t,vladimir:t,na4u:t,mircloud:t,myjino:[2,{hosting:o,landing:o,spectrum:o,vps:o}],cldmail:[0,{hb:t}],mcdir:[2,{vps:t}],mcpre:t,net:t,org:t,pp:t,ras:t}],rw:[1,{ac:e,co:e,coop:e,gov:e,mil:e,net:e,org:e}],sa:[1,{com:e,edu:e,gov:e,med:e,net:e,org:e,pub:e,sch:e}],sb:n,sc:n,sd:[1,{com:e,edu:e,gov:e,info:e,med:e,net:e,org:e,tv:e}],se:[1,{a:e,ac:e,b:e,bd:e,brand:e,c:e,d:e,e,f:e,fh:e,fhsk:e,fhv:e,g:e,h:e,i:e,k:e,komforb:e,kommunalforbund:e,komvux:e,l:e,lanbib:e,m:e,n:e,naturbruksgymn:e,o:e,org:e,p:e,parti:e,pp:e,press:e,r:e,s:e,t:e,tm:e,u:e,w:e,x:e,y:e,z:e,com:t,iopsys:t,"123minsida":t,itcouldbewor:t,myspreadshop:t}],sg:[1,{com:e,edu:e,gov:e,net:e,org:e,enscaled:t}],sh:[1,{com:e,gov:e,mil:e,net:e,org:e,hashbang:t,botda:t,lovable:t,platform:[0,{ent:t,eu:t,us:t}],teleport:t,now:t}],si:[1,{f5:t,gitapp:t,gitpage:t}],sj:e,sk:[1,{org:e}],sl:n,sm:e,sn:[1,{art:e,com:e,edu:e,gouv:e,org:e,univ:e}],so:[1,{com:e,edu:e,gov:e,me:e,net:e,org:e,surveys:t}],sr:e,ss:[1,{biz:e,co:e,com:e,edu:e,gov:e,me:e,net:e,org:e,sch:e}],st:[1,{co:e,com:e,consulado:e,edu:e,embaixada:e,mil:e,net:e,org:e,principe:e,saotome:e,store:e,helioho:t,cn:o,kirara:t,noho:t}],su:[1,{abkhazia:t,adygeya:t,aktyubinsk:t,arkhangelsk:t,armenia:t,ashgabad:t,azerbaijan:t,balashov:t,bashkiria:t,bryansk:t,bukhara:t,chimkent:t,dagestan:t,"east-kazakhstan":t,exnet:t,georgia:t,grozny:t,ivanovo:t,jambyl:t,kalmykia:t,kaluga:t,karacol:t,karaganda:t,karelia:t,khakassia:t,krasnodar:t,kurgan:t,kustanai:t,lenug:t,mangyshlak:t,mordovia:t,msk:t,murmansk:t,nalchik:t,navoi:t,"north-kazakhstan":t,nov:t,obninsk:t,penza:t,pokrovsk:t,sochi:t,spb:t,tashkent:t,termez:t,togliatti:t,troitsk:t,tselinograd:t,tula:t,tuva:t,vladikavkaz:t,vladimir:t,vologda:t}],sv:[1,{com:e,edu:e,gob:e,org:e,red:e}],sx:c,sy:r,sz:[1,{ac:e,co:e,org:e}],tc:e,td:e,tel:e,tf:[1,{sch:t}],tg:e,th:[1,{ac:e,co:e,go:e,in:e,mi:e,net:e,or:e,online:t,shop:t}],tj:[1,{ac:e,biz:e,co:e,com:e,edu:e,go:e,gov:e,int:e,mil:e,name:e,net:e,nic:e,org:e,test:e,web:e}],tk:e,tl:c,tm:[1,{co:e,com:e,edu:e,gov:e,mil:e,net:e,nom:e,org:e}],tn:[1,{com:e,ens:e,fin:e,gov:e,ind:e,info:e,intl:e,mincom:e,nat:e,net:e,org:e,perso:e,tourism:e,orangecloud:t}],to:[1,{611:t,com:e,edu:e,gov:e,mil:e,net:e,org:e,oya:t,x0:t,quickconnect:j,vpnplus:t,nett:t}],tr:[1,{av:e,bbs:e,bel:e,biz:e,com:e,dr:e,edu:e,gen:e,gov:e,info:e,k12:e,kep:e,mil:e,name:e,net:e,org:e,pol:e,tel:e,tsk:e,tv:e,web:e,nc:c}],tt:[1,{biz:e,co:e,com:e,edu:e,gov:e,info:e,mil:e,name:e,net:e,org:e,pro:e}],tv:[1,{"better-than":t,dyndns:t,"on-the-web":t,"worse-than":t,from:t,sakura:t}],tw:[1,{club:e,com:[1,{mymailer:t}],ebiz:e,edu:e,game:e,gov:e,idv:e,mil:e,net:e,org:e,url:t,mydns:t}],tz:[1,{ac:e,co:e,go:e,hotel:e,info:e,me:e,mil:e,mobi:e,ne:e,or:e,sc:e,tv:e}],ua:[1,{com:e,edu:e,gov:e,in:e,net:e,org:e,cherkassy:e,cherkasy:e,chernigov:e,chernihiv:e,chernivtsi:e,chernovtsy:e,ck:e,cn:e,cr:e,crimea:e,cv:e,dn:e,dnepropetrovsk:e,dnipropetrovsk:e,donetsk:e,dp:e,if:e,"ivano-frankivsk":e,kh:e,kharkiv:e,kharkov:e,kherson:e,khmelnitskiy:e,khmelnytskyi:e,kiev:e,kirovograd:e,km:e,kr:e,kropyvnytskyi:e,krym:e,ks:e,kv:e,kyiv:e,lg:e,lt:e,lugansk:e,luhansk:e,lutsk:e,lv:e,lviv:e,mk:e,mykolaiv:e,nikolaev:e,od:e,odesa:e,odessa:e,pl:e,poltava:e,rivne:e,rovno:e,rv:e,sb:e,sebastopol:e,sevastopol:e,sm:e,sumy:e,te:e,ternopil:e,uz:e,uzhgorod:e,uzhhorod:e,vinnica:e,vinnytsia:e,vn:e,volyn:e,yalta:e,zakarpattia:e,zaporizhzhe:e,zaporizhzhia:e,zhitomir:e,zhytomyr:e,zp:e,zt:e,cc:t,inf:t,ltd:t,cx:t,biz:t,co:t,pp:t,v:t}],ug:[1,{ac:e,co:e,com:e,edu:e,go:e,gov:e,mil:e,ne:e,or:e,org:e,sc:e,us:e}],uk:[1,{ac:e,co:[1,{bytemark:[0,{dh:t,vm:t}],layershift:nt,barsy:t,barsyonline:t,retrosnub:Ot,"nh-serv":t,"no-ip":t,adimo:t,myspreadshop:t}],gov:[1,{api:t,campaign:t,service:t}],ltd:e,me:e,net:e,nhs:e,org:[1,{glug:t,lug:t,lugs:t,affinitylottery:t,raffleentry:t,weeklylottery:t}],plc:e,police:e,sch:b,conn:t,copro:t,hosp:t,"independent-commission":t,"independent-inquest":t,"independent-inquiry":t,"independent-panel":t,"independent-review":t,"public-inquiry":t,"royal-commission":t,pymnt:t,barsy:t,nimsite:t,oraclegovcloudapps:o}],us:[1,{dni:e,isa:e,nsn:e,ak:Re,al:Re,ar:Re,as:Re,az:Re,ca:Re,co:Re,ct:Re,dc:Re,de:on,fl:Re,ga:Re,gu:Re,hi:bn,ia:Re,id:Re,il:Re,in:Re,ks:Re,ky:Re,la:Re,ma:[1,{k12:[1,{chtr:e,paroch:e,pvt:e}],cc:e,lib:e}],md:Re,me:Re,mi:[1,{k12:e,cc:e,lib:e,"ann-arbor":e,cog:e,dst:e,eaton:e,gen:e,mus:e,tec:e,washtenaw:e}],mn:Re,mo:Re,ms:[1,{k12:e,cc:e}],mt:Re,nc:Re,nd:bn,ne:Re,nh:Re,nj:Re,nm:Re,nv:Re,ny:Re,oh:Re,ok:Re,or:Re,pa:Re,pr:Re,ri:bn,sc:Re,sd:bn,tn:Re,tx:Re,ut:Re,va:Re,vi:Re,vt:Re,wa:Re,wi:Re,wv:on,wy:Re,cloudns:t,"is-by":t,"land-4-sale":t,"stuff-4-sale":t,heliohost:t,enscaled:[0,{phx:t}],mircloud:t,"azure-api":t,azurewebsites:t,ngo:t,golffan:t,noip:t,pointto:t,freeddns:t,srv:[2,{gh:t,gl:t}],servername:t}],uy:[1,{com:e,edu:e,gub:e,mil:e,net:e,org:e,gv:t}],uz:[1,{co:e,com:e,net:e,org:e}],va:e,vc:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,gv:[2,{d:t}],"0e":o,mydns:t}],ve:[1,{arts:e,bib:e,co:e,com:e,e12:e,edu:e,emprende:e,firm:e,gob:e,gov:e,ia:e,info:e,int:e,mil:e,net:e,nom:e,org:e,rar:e,rec:e,store:e,tec:e,web:e}],vg:[1,{edu:e}],vi:[1,{co:e,com:e,k12:e,net:e,org:e}],vn:[1,{ac:e,ai:e,biz:e,com:e,edu:e,gov:e,health:e,id:e,info:e,int:e,io:e,name:e,net:e,org:e,pro:e,angiang:e,bacgiang:e,backan:e,baclieu:e,bacninh:e,"baria-vungtau":e,bentre:e,binhdinh:e,binhduong:e,binhphuoc:e,binhthuan:e,camau:e,cantho:e,caobang:e,daklak:e,daknong:e,danang:e,dienbien:e,dongnai:e,dongthap:e,gialai:e,hagiang:e,haiduong:e,haiphong:e,hanam:e,hanoi:e,hatinh:e,haugiang:e,hoabinh:e,hue:e,hungyen:e,khanhhoa:e,kiengiang:e,kontum:e,laichau:e,lamdong:e,langson:e,laocai:e,longan:e,namdinh:e,nghean:e,ninhbinh:e,ninhthuan:e,phutho:e,phuyen:e,quangbinh:e,quangnam:e,quangngai:e,quangninh:e,quangtri:e,soctrang:e,sonla:e,tayninh:e,thaibinh:e,thainguyen:e,thanhhoa:e,thanhphohochiminh:e,thuathienhue:e,tiengiang:e,travinh:e,tuyenquang:e,vinhlong:e,vinhphuc:e,yenbai:e}],vu:pe,wf:[1,{biz:t,sch:t}],ws:[1,{com:e,edu:e,gov:e,net:e,org:e,advisor:o,cloud66:t,dyndns:t,mypets:t}],yt:[1,{org:t}],"xn--mgbaam7a8h":e,\u0627\u0645\u0627\u0631\u0627\u062A:e,"xn--y9a3aq":e,\u0570\u0561\u0575:e,"xn--54b7fta0cc":e,\u09AC\u09BE\u0982\u09B2\u09BE:e,"xn--90ae":e,\u0431\u0433:e,"xn--mgbcpq6gpa1a":e,\u0627\u0644\u0628\u062D\u0631\u064A\u0646:e,"xn--90ais":e,\u0431\u0435\u043B:e,"xn--fiqs8s":e,\u4E2D\u56FD:e,"xn--fiqz9s":e,\u4E2D\u570B:e,"xn--lgbbat1ad8j":e,\u0627\u0644\u062C\u0632\u0627\u0626\u0631:e,"xn--wgbh1c":e,\u0645\u0635\u0631:e,"xn--e1a4c":e,\u0435\u044E:e,"xn--qxa6a":e,\u03B5\u03C5:e,"xn--mgbah1a3hjkrd":e,\u0645\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u0627:e,"xn--node":e,\u10D2\u10D4:e,"xn--qxam":e,\u03B5\u03BB:e,"xn--j6w193g":[1,{"xn--gmqw5a":e,"xn--55qx5d":e,"xn--mxtq1m":e,"xn--wcvs22d":e,"xn--uc0atv":e,"xn--od0alg":e}],\u9999\u6E2F:[1,{\u500B\u4EBA:e,\u516C\u53F8:e,\u653F\u5E9C:e,\u6559\u80B2:e,\u7D44\u7E54:e,\u7DB2\u7D61:e}],"xn--2scrj9c":e,\u0CAD\u0CBE\u0CB0\u0CA4:e,"xn--3hcrj9c":e,\u0B2D\u0B3E\u0B30\u0B24:e,"xn--45br5cyl":e,\u09AD\u09BE\u09F0\u09A4:e,"xn--h2breg3eve":e,\u092D\u093E\u0930\u0924\u092E\u094D:e,"xn--h2brj9c8c":e,\u092D\u093E\u0930\u094B\u0924:e,"xn--mgbgu82a":e,\u0680\u0627\u0631\u062A:e,"xn--rvc1e0am3e":e,\u0D2D\u0D3E\u0D30\u0D24\u0D02:e,"xn--h2brj9c":e,\u092D\u093E\u0930\u0924:e,"xn--mgbbh1a":e,\u0628\u0627\u0631\u062A:e,"xn--mgbbh1a71e":e,\u0628\u06BE\u0627\u0631\u062A:e,"xn--fpcrj9c3d":e,\u0C2D\u0C3E\u0C30\u0C24\u0C4D:e,"xn--gecrj9c":e,\u0AAD\u0ABE\u0AB0\u0AA4:e,"xn--s9brj9c":e,\u0A2D\u0A3E\u0A30\u0A24:e,"xn--45brj9c":e,\u09AD\u09BE\u09B0\u09A4:e,"xn--xkc2dl3a5ee0h":e,\u0B87\u0BA8\u0BCD\u0BA4\u0BBF\u0BAF\u0BBE:e,"xn--mgba3a4f16a":e,\u0627\u06CC\u0631\u0627\u0646:e,"xn--mgba3a4fra":e,\u0627\u064A\u0631\u0627\u0646:e,"xn--mgbtx2b":e,\u0639\u0631\u0627\u0642:e,"xn--mgbayh7gpa":e,\u0627\u0644\u0627\u0631\u062F\u0646:e,"xn--3e0b707e":e,\uD55C\uAD6D:e,"xn--80ao21a":e,\u049B\u0430\u0437:e,"xn--q7ce6a":e,\u0EA5\u0EB2\u0EA7:e,"xn--fzc2c9e2c":e,\u0DBD\u0D82\u0D9A\u0DCF:e,"xn--xkc2al3hye2a":e,\u0B87\u0BB2\u0B99\u0BCD\u0B95\u0BC8:e,"xn--mgbc0a9azcg":e,\u0627\u0644\u0645\u063A\u0631\u0628:e,"xn--d1alf":e,\u043C\u043A\u0434:e,"xn--l1acc":e,\u043C\u043E\u043D:e,"xn--mix891f":e,\u6FB3\u9580:e,"xn--mix082f":e,\u6FB3\u95E8:e,"xn--mgbx4cd0ab":e,\u0645\u0644\u064A\u0633\u064A\u0627:e,"xn--mgb9awbf":e,\u0639\u0645\u0627\u0646:e,"xn--mgbai9azgqp6j":e,\u067E\u0627\u06A9\u0633\u062A\u0627\u0646:e,"xn--mgbai9a5eva00b":e,\u067E\u0627\u0643\u0633\u062A\u0627\u0646:e,"xn--ygbi2ammx":e,\u0641\u0644\u0633\u0637\u064A\u0646:e,"xn--90a3ac":[1,{"xn--80au":e,"xn--90azh":e,"xn--d1at":e,"xn--c1avg":e,"xn--o1ac":e,"xn--o1ach":e}],\u0441\u0440\u0431:[1,{\u0430\u043A:e,\u043E\u0431\u0440:e,\u043E\u0434:e,\u043E\u0440\u0433:e,\u043F\u0440:e,\u0443\u043F\u0440:e}],"xn--p1ai":e,\u0440\u0444:e,"xn--wgbl6a":e,\u0642\u0637\u0631:e,"xn--mgberp4a5d4ar":e,\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629:e,"xn--mgberp4a5d4a87g":e,\u0627\u0644\u0633\u0639\u0648\u062F\u06CC\u0629:e,"xn--mgbqly7c0a67fbc":e,\u0627\u0644\u0633\u0639\u0648\u062F\u06CC\u06C3:e,"xn--mgbqly7cvafr":e,\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0647:e,"xn--mgbpl2fh":e,\u0633\u0648\u062F\u0627\u0646:e,"xn--yfro4i67o":e,\u65B0\u52A0\u5761:e,"xn--clchc0ea0b2g2a9gcd":e,\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCD:e,"xn--ogbpf8fl":e,\u0633\u0648\u0631\u064A\u0629:e,"xn--mgbtf8fl":e,\u0633\u0648\u0631\u064A\u0627:e,"xn--o3cw4h":[1,{"xn--o3cyx2a":e,"xn--12co0c3b4eva":e,"xn--m3ch0j3a":e,"xn--h3cuzk1di":e,"xn--12c1fe0br":e,"xn--12cfi8ixb8l":e}],\u0E44\u0E17\u0E22:[1,{\u0E17\u0E2B\u0E32\u0E23:e,\u0E18\u0E38\u0E23\u0E01\u0E34\u0E08:e,\u0E40\u0E19\u0E47\u0E15:e,\u0E23\u0E31\u0E10\u0E1A\u0E32\u0E25:e,\u0E28\u0E36\u0E01\u0E29\u0E32:e,\u0E2D\u0E07\u0E04\u0E4C\u0E01\u0E23:e}],"xn--pgbs0dh":e,\u062A\u0648\u0646\u0633:e,"xn--kpry57d":e,\u53F0\u7063:e,"xn--kprw13d":e,\u53F0\u6E7E:e,"xn--nnx388a":e,\u81FA\u7063:e,"xn--j1amh":e,\u0443\u043A\u0440:e,"xn--mgb2ddes":e,\u0627\u0644\u064A\u0645\u0646:e,xxx:e,ye:r,za:[0,{ac:e,agric:e,alt:e,co:e,edu:e,gov:e,grondar:e,law:e,mil:e,net:e,ngo:e,nic:e,nis:e,nom:e,org:e,school:e,tm:e,web:e}],zm:[1,{ac:e,biz:e,co:e,com:e,edu:e,gov:e,info:e,mil:e,net:e,org:e,sch:e}],zw:[1,{ac:e,co:e,gov:e,mil:e,org:e}],aaa:e,aarp:e,abb:e,abbott:e,abbvie:e,abc:e,able:e,abogado:e,abudhabi:e,academy:[1,{official:t}],accenture:e,accountant:e,accountants:e,aco:e,actor:e,ads:e,adult:e,aeg:e,aetna:e,afl:e,africa:e,agakhan:e,agency:e,aig:e,airbus:e,airforce:e,airtel:e,akdn:e,alibaba:e,alipay:e,allfinanz:e,allstate:e,ally:e,alsace:e,alstom:e,amazon:e,americanexpress:e,americanfamily:e,amex:e,amfam:e,amica:e,amsterdam:e,analytics:e,android:e,anquan:e,anz:e,aol:e,apartments:e,app:[1,{adaptable:t,aiven:t,beget:o,brave:a,clerk:t,clerkstage:t,cloudflare:t,wnext:t,csb:[2,{preview:t}],convex:t,corespeed:t,deta:t,ondigitalocean:t,easypanel:t,encr:[2,{frontend:t}],evervault:i,expo:[2,{on:t,staging:[2,{on:t}]}],edgecompute:t,"on-fleek":t,flutterflow:t,sprites:t,e2b:t,framer:t,gadget:t,github:t,hosted:o,run:[0,{"*":t,mtls:o}],web:t,hackclub:t,hasura:t,onhercules:t,botdash:t,shiptoday:t,leapcell:t,loginline:t,lovable:t,luyani:t,magicpatterns:t,medusajs:t,messerli:t,miren:t,mocha:t,netlify:t,ngrok:t,"ngrok-free":t,developer:o,noop:t,northflank:o,upsun:o,railway:[0,{up:t}],replit:s,nyat:t,snowflake:[0,{"*":t,privatelink:o}],streamlit:t,spawnbase:t,telebit:t,typedream:t,vercel:t,wal:t,wasmer:t,bookonline:t,windsurf:t,base44:t,zeabur:t,zerops:o}],apple:[1,{int:[2,{cloud:[0,{"*":t,r:[0,{"*":t,"ap-north-1":o,"ap-south-1":o,"ap-south-2":o,"eu-central-1":o,"eu-north-1":o,"us-central-1":o,"us-central-2":o,"us-east-1":o,"us-east-2":o,"us-west-1":o,"us-west-2":o,"us-west-3":o}]}]}]}],aquarelle:e,arab:e,aramco:e,archi:e,army:e,art:e,arte:e,asda:e,associates:e,athleta:e,attorney:e,auction:e,audi:e,audible:e,audio:e,auspost:e,author:e,auto:e,autos:e,aws:[1,{on:[0,{"af-south-1":l,"ap-east-1":l,"ap-northeast-1":l,"ap-northeast-2":l,"ap-northeast-3":l,"ap-south-1":l,"ap-south-2":d,"ap-southeast-1":l,"ap-southeast-2":l,"ap-southeast-3":l,"ap-southeast-4":d,"ap-southeast-5":d,"ca-central-1":l,"ca-west-1":d,"eu-central-1":l,"eu-central-2":d,"eu-north-1":l,"eu-south-1":l,"eu-south-2":d,"eu-west-1":l,"eu-west-2":l,"eu-west-3":l,"il-central-1":d,"me-central-1":d,"me-south-1":l,"sa-east-1":l,"us-east-1":l,"us-east-2":l,"us-west-1":l,"us-west-2":l,"ap-southeast-7":m,"mx-central-1":m,"us-gov-east-1":f,"us-gov-west-1":f}],sagemaker:[0,{"ap-northeast-1":g,"ap-northeast-2":g,"ap-south-1":g,"ap-southeast-1":g,"ap-southeast-2":g,"ca-central-1":x,"eu-central-1":g,"eu-west-1":g,"eu-west-2":g,"us-east-1":x,"us-east-2":x,"us-west-2":x,"af-south-1":p,"ap-east-1":p,"ap-northeast-3":p,"ap-south-2":y,"ap-southeast-3":p,"ap-southeast-4":y,"ca-west-1":[0,{notebook:t,"notebook-fips":t}],"eu-central-2":p,"eu-north-1":p,"eu-south-1":p,"eu-south-2":p,"eu-west-3":p,"il-central-1":p,"me-central-1":p,"me-south-1":p,"sa-east-1":p,"us-gov-east-1":T,"us-gov-west-1":T,"us-west-1":[0,{notebook:t,"notebook-fips":t,studio:t}],experiments:o}],repost:[0,{private:o}]}],axa:e,azure:e,baby:e,baidu:e,banamex:e,band:e,bank:e,bar:e,barcelona:e,barclaycard:e,barclays:e,barefoot:e,bargains:e,baseball:e,basketball:[1,{aus:t,nz:t}],bauhaus:e,bayern:e,bbc:e,bbt:e,bbva:e,bcg:e,bcn:e,beats:e,beauty:e,beer:e,berlin:e,best:e,bestbuy:e,bet:e,bharti:e,bible:e,bid:e,bike:e,bing:e,bingo:e,bio:e,black:e,blackfriday:e,blockbuster:e,blog:e,bloomberg:e,blue:e,bms:e,bmw:e,bnpparibas:e,boats:e,boehringer:e,bofa:e,bom:e,bond:e,boo:e,book:e,booking:e,bosch:e,bostik:e,boston:e,bot:e,boutique:e,box:e,bradesco:e,bridgestone:e,broadway:e,broker:e,brother:e,brussels:e,build:[1,{shiptoday:t,v0:t,windsurf:t}],builders:[1,{cloudsite:t}],business:P,buy:e,buzz:e,bzh:e,cab:e,cafe:e,cal:e,call:e,calvinklein:e,cam:e,camera:e,camp:[1,{emf:[0,{at:t}]}],canon:e,capetown:e,capital:e,capitalone:e,car:e,caravan:e,cards:e,care:e,career:e,careers:e,cars:e,casa:[1,{nabu:[0,{ui:t}]}],case:[1,{sav:t}],cash:e,casino:e,catering:e,catholic:e,cba:e,cbn:e,cbre:e,center:e,ceo:e,cern:e,cfa:e,cfd:e,chanel:e,channel:e,charity:e,chase:e,chat:e,cheap:e,chintai:e,christmas:e,chrome:e,church:e,cipriani:e,circle:e,cisco:e,citadel:e,citi:e,citic:e,city:e,claims:e,cleaning:e,click:e,clinic:e,clinique:e,clothing:e,cloud:[1,{antagonist:t,begetcdn:o,convex:_,elementor:t,emergent:t,encoway:[0,{eu:t}],statics:o,ravendb:t,axarnet:[0,{"es-1":t}],diadem:t,jelastic:[0,{vip:t}],jele:t,"jenv-aruba":[0,{aruba:[0,{eur:[0,{it1:t}]}],it1:t}],keliweb:[2,{cs:t}],oxa:[2,{tn:t,uk:t}],primetel:[2,{uk:t}],reclaim:[0,{ca:t,uk:t,us:t}],trendhosting:[0,{ch:t,de:t}],jote:t,jotelulu:t,kuleuven:t,laravel:t,linkyard:t,magentosite:o,matlab:t,observablehq:t,perspecta:t,vapor:t,"on-rancher":o,scw:[0,{baremetal:[0,{"fr-par-1":t,"fr-par-2":t,"nl-ams-1":t}],"fr-par":[0,{cockpit:t,ddl:t,dtwh:t,fnc:[2,{functions:t}],ifr:t,k8s:$,kafk:t,mgdb:t,rdb:t,s3:t,"s3-website":t,scbl:t,whm:t}],instances:[0,{priv:t,pub:t}],k8s:t,"nl-ams":[0,{cockpit:t,ddl:t,dtwh:t,ifr:t,k8s:$,kafk:t,mgdb:t,rdb:t,s3:t,"s3-website":t,scbl:t,whm:t}],"pl-waw":[0,{cockpit:t,ddl:t,dtwh:t,ifr:t,k8s:$,kafk:t,mgdb:t,rdb:t,s3:t,"s3-website":t,scbl:t}],scalebook:t,smartlabeling:t}],servebolt:t,onstackit:[0,{runs:t}],trafficplex:t,"unison-services":t,urown:t,voorloper:t,zap:t}],club:[1,{cloudns:t,jele:t,barsy:t}],clubmed:e,coach:e,codes:[1,{owo:o}],coffee:e,college:e,cologne:e,commbank:e,community:[1,{nog:t,ravendb:t,myforum:t}],company:[1,{mybox:t}],compare:e,computer:e,comsec:e,condos:e,construction:e,consulting:e,contact:e,contractors:e,cooking:e,cool:[1,{elementor:t,de:t}],corsica:e,country:e,coupon:e,coupons:e,courses:e,cpa:e,credit:e,creditcard:e,creditunion:e,cricket:e,crown:e,crs:e,cruise:e,cruises:e,cuisinella:e,cymru:e,cyou:e,dad:e,dance:e,data:e,date:e,dating:e,datsun:e,day:e,dclk:e,dds:e,deal:e,dealer:e,deals:e,degree:e,delivery:e,dell:e,deloitte:e,delta:e,democrat:e,dental:e,dentist:e,desi:e,design:[1,{graphic:t,bss:t}],dev:[1,{myaddr:t,panel:t,bearblog:t,brave:a,lcl:o,lclstage:o,stg:o,stgstage:o,pages:t,r2:t,workers:t,deno:t,"deno-staging":t,deta:t,lp:[2,{api:t,objects:t}],evervault:i,fly:t,githubpreview:t,gateway:o,grebedoc:t,botdash:t,inbrowser:o,"is-a-good":t,iserv:t,leapcell:t,runcontainers:t,localcert:[0,{user:o}],loginline:t,barsy:t,mediatech:t,"mocha-sandbox":t,modx:t,ngrok:t,"ngrok-free":t,"is-a-fullstack":t,"is-cool":t,"is-not-a":t,localplayer:t,xmit:t,"platter-app":t,replit:[2,{archer:t,bones:t,canary:t,global:t,hacker:t,id:t,janeway:t,kim:t,kira:t,kirk:t,odo:t,paris:t,picard:t,pike:t,prerelease:t,reed:t,riker:t,sisko:t,spock:t,staging:t,sulu:t,tarpit:t,teams:t,tucker:t,wesley:t,worf:t}],crm:[0,{aa:o,ab:o,ac:o,ad:o,ae:o,af:o,ci:o,d:o,pa:o,pb:o,pc:o,pd:o,pe:o,pf:o,w:o,wa:o,wb:o,wc:o,wd:o,we:o,wf:o}],erp:Pe,vercel:t,webhare:o,hrsn:t,"is-a":t}],dhl:e,diamonds:e,diet:e,digital:[1,{cloudapps:[2,{london:t}]}],direct:[1,{libp2p:t}],directory:e,discount:e,discover:e,dish:e,diy:[1,{discourse:t,imagine:t}],dnp:e,docs:e,doctor:e,dog:e,domains:e,dot:e,download:e,drive:e,dtv:e,dubai:e,dupont:e,durban:e,dvag:e,dvr:e,earth:e,eat:e,eco:e,edeka:e,education:P,email:[1,{crisp:[0,{on:t}],intouch:t,tawk:nn,tawkto:nn}],emerck:e,energy:e,engineer:e,engineering:e,enterprises:e,epson:e,equipment:e,ericsson:e,erni:e,esq:e,estate:[1,{compute:o}],eurovision:e,eus:[1,{party:$e}],events:[1,{koobin:t,co:t}],exchange:e,expert:e,exposed:e,express:e,extraspace:e,fage:e,fail:e,fairwinds:e,faith:e,family:e,fan:e,fans:e,farm:[1,{storj:t}],farmers:e,fashion:e,fast:e,fedex:e,feedback:e,ferrari:e,ferrero:e,fidelity:e,fido:e,film:e,final:e,finance:e,financial:P,fire:e,firestone:e,firmdale:e,fish:e,fishing:e,fit:e,fitness:e,flickr:e,flights:e,flir:e,florist:e,flowers:e,fly:e,foo:e,food:e,football:e,ford:e,forex:e,forsale:e,forum:e,foundation:e,fox:e,free:e,fresenius:e,frl:e,frogans:e,frontier:e,ftr:e,fujitsu:e,fun:Tt,fund:e,furniture:e,futbol:e,fyi:e,gal:e,gallery:e,gallo:e,gallup:e,game:e,games:[1,{pley:t,sheezy:t}],gap:e,garden:e,gay:[1,{pages:t}],gbiz:e,gdn:[1,{cnpy:t}],gea:e,gent:e,genting:e,george:e,ggee:e,gift:e,gifts:e,gives:e,giving:e,glass:e,gle:e,global:[1,{appwrite:t}],globo:e,gmail:e,gmbh:e,gmo:e,gmx:e,godaddy:e,gold:e,goldpoint:e,golf:e,goodyear:e,goog:[1,{cloud:t,translate:t,usercontent:o}],google:e,gop:e,got:e,grainger:e,graphics:e,gratis:e,green:e,gripe:e,grocery:e,group:[1,{discourse:t}],gucci:e,guge:e,guide:e,guitars:e,guru:e,hair:e,hamburg:e,hangout:e,haus:e,hbo:e,hdfc:e,hdfcbank:e,health:[1,{hra:t}],healthcare:e,help:e,helsinki:e,here:e,hermes:e,hiphop:e,hisamitsu:e,hitachi:e,hiv:e,hkt:e,hockey:e,holdings:e,holiday:e,homedepot:e,homegoods:e,homes:e,homesense:e,honda:e,horse:e,hospital:e,host:[1,{cloudaccess:t,freesite:t,easypanel:t,emergent:t,fastvps:t,myfast:t,gadget:t,tempurl:t,wpmudev:t,iserv:t,jele:t,mircloud:t,bolt:t,wp2:t,half:t}],hosting:[1,{opencraft:t}],hot:e,hotel:e,hotels:e,hotmail:e,house:e,how:e,hsbc:e,hughes:e,hyatt:e,hyundai:e,ibm:e,icbc:e,ice:e,icu:e,ieee:e,ifm:e,ikano:e,imamat:e,imdb:e,immo:e,immobilien:e,inc:e,industries:e,infiniti:e,ing:e,ink:e,institute:e,insurance:e,insure:e,international:e,intuit:e,investments:e,ipiranga:e,irish:e,ismaili:e,ist:e,istanbul:e,itau:e,itv:e,jaguar:e,java:e,jcb:e,jeep:e,jetzt:e,jewelry:e,jio:e,jll:e,jmp:e,jnj:e,joburg:e,jot:e,joy:e,jpmorgan:e,jprs:e,juegos:e,juniper:e,kaufen:e,kddi:e,kerryhotels:e,kerryproperties:e,kfh:e,kia:e,kids:e,kim:e,kindle:e,kitchen:e,kiwi:e,koeln:e,komatsu:e,kosher:e,kpmg:e,kpn:e,krd:[1,{co:t,edu:t}],kred:e,kuokgroup:e,kyoto:e,lacaixa:e,lamborghini:e,lamer:e,land:e,landrover:e,lanxess:e,lasalle:e,lat:e,latino:e,latrobe:e,law:e,lawyer:e,lds:e,lease:e,leclerc:e,lefrak:e,legal:e,lego:e,lexus:e,lgbt:e,lidl:e,life:e,lifeinsurance:e,lifestyle:e,lighting:e,like:e,lilly:e,limited:e,limo:e,lincoln:e,link:[1,{myfritz:t,cyon:t,joinmc:t,dweb:o,inbrowser:o,keenetic:t,nftstorage:Nt,mypep:t,storacha:Nt,w3s:Nt}],live:[1,{aem:t,hlx:t,ewp:o}],living:e,llc:e,llp:e,loan:e,loans:e,locker:e,locus:e,lol:[1,{omg:t}],london:e,lotte:e,lotto:e,love:e,lpl:e,lplfinancial:e,ltd:e,ltda:e,lundbeck:e,luxe:e,luxury:e,madrid:e,maif:e,maison:e,makeup:e,man:e,management:e,mango:e,map:e,market:e,marketing:e,markets:e,marriott:e,marshalls:e,mattel:e,mba:e,mckinsey:e,med:e,media:Dn,meet:e,melbourne:e,meme:e,memorial:e,men:e,menu:[1,{barsy:t,barsyonline:t}],merck:e,merckmsd:e,miami:e,microsoft:e,mini:e,mint:e,mit:e,mitsubishi:e,mlb:e,mls:e,mma:e,mobile:e,moda:e,moe:e,moi:e,mom:e,monash:e,money:e,monster:e,mormon:e,mortgage:e,moscow:e,moto:e,motorcycles:e,mov:e,movie:e,msd:e,mtn:e,mtr:e,music:e,nab:e,nagoya:e,navy:e,nba:e,nec:e,netbank:e,netflix:e,network:[1,{aem:t,alces:o,appwrite:t,co:t,arvo:t,azimuth:t,tlon:t}],neustar:e,new:e,news:[1,{noticeable:t}],next:e,nextdirect:e,nexus:e,nfl:e,ngo:e,nhk:e,nico:e,nike:e,nikon:e,ninja:e,nissan:e,nissay:e,nokia:e,norton:e,now:e,nowruz:e,nowtv:e,nra:e,nrw:e,ntt:e,nyc:e,obi:e,observer:e,office:e,okinawa:e,olayan:e,olayangroup:e,ollo:e,omega:e,one:[1,{kin:o,service:t,website:t}],ong:e,onl:e,online:[1,{eero:t,"eero-stage":t,websitebuilder:t,leapcell:t,barsy:t}],ooo:e,open:e,oracle:e,orange:[1,{tech:t}],organic:e,origins:e,osaka:e,otsuka:e,ott:e,ovh:[1,{nerdpol:t}],page:[1,{aem:t,hlx:t,codeberg:t,deuxfleurs:t,mybox:t,heyflow:t,prvcy:t,rocky:t,statichost:t,pdns:t,plesk:t}],panasonic:e,paris:e,pars:e,partners:e,parts:e,party:e,pay:e,pccw:e,pet:e,pfizer:e,pharmacy:e,phd:e,philips:e,phone:e,photo:e,photography:e,photos:Dn,physio:e,pics:e,pictet:e,pictures:[1,{1337:t}],pid:e,pin:e,ping:e,pink:e,pioneer:e,pizza:[1,{ngrok:t}],place:P,play:e,playstation:e,plumbing:e,plus:[1,{playit:[2,{at:o,with:t}]}],pnc:e,pohl:e,poker:e,politie:e,porn:e,praxi:e,press:e,prime:e,prod:e,productions:e,prof:e,progressive:e,promo:e,properties:e,property:e,protection:e,pru:e,prudential:e,pub:[1,{id:o,kin:o,barsy:t}],pwc:e,qpon:e,quebec:e,quest:e,racing:e,radio:e,read:e,realestate:e,realtor:e,realty:e,recipes:e,red:e,redumbrella:e,rehab:e,reise:e,reisen:e,reit:e,reliance:e,ren:e,rent:e,rentals:e,repair:e,report:e,republican:e,rest:e,restaurant:e,review:e,reviews:[1,{aem:t}],rexroth:e,rich:e,richardli:e,ricoh:e,ril:e,rio:e,rip:[1,{clan:t}],rocks:[1,{myddns:t,stackit:t,"lima-city":t,webspace:t}],rodeo:e,rogers:e,room:e,rsvp:e,rugby:e,ruhr:e,run:[1,{appwrite:o,canva:t,development:t,ravendb:t,liara:[2,{iran:t}],lovable:t,needle:t,build:o,code:o,database:o,migration:o,onporter:t,repl:t,stackit:t,val:Pe,vercel:t,wix:t}],rwe:e,ryukyu:e,saarland:e,safe:e,safety:e,sakura:e,sale:e,salon:e,samsclub:e,samsung:e,sandvik:e,sandvikcoromant:e,sanofi:e,sap:e,sarl:e,sas:e,save:e,saxo:e,sbi:e,sbs:e,scb:e,schaeffler:e,schmidt:e,scholarships:e,school:e,schule:e,schwarz:e,science:e,scot:[1,{co:t,me:t,org:t,gov:[2,{service:t}]}],search:e,seat:e,secure:e,security:e,seek:e,select:e,sener:e,services:[1,{loginline:t}],seven:e,sew:e,sex:e,sexy:e,sfr:e,shangrila:e,sharp:e,shell:e,shia:e,shiksha:e,shoes:e,shop:[1,{base:t,hoplix:t,barsy:t,barsyonline:t,shopware:t}],shopping:e,shouji:e,show:Tt,silk:e,sina:e,singles:e,site:[1,{square:t,canva:te,cloudera:o,convex:_,cyon:t,caffeine:t,fastvps:t,figma:t,"figma-gov":t,preview:t,heyflow:t,jele:t,jouwweb:t,loginline:t,barsy:t,co:t,notion:t,omniwe:t,opensocial:t,madethis:t,support:t,platformsh:o,tst:o,byen:t,sol:t,srht:t,novecore:t,cpanel:t,wpsquared:t,sourcecraft:t}],ski:e,skin:e,sky:e,skype:e,sling:e,smart:e,smile:e,sncf:e,soccer:e,social:e,softbank:e,software:e,sohu:e,solar:e,solutions:e,song:e,sony:e,soy:e,spa:e,space:[1,{myfast:t,heiyu:t,hf:[2,{static:t}],"app-ionos":t,project:t,uber:t,xs4all:t}],sport:e,spot:e,srl:e,stada:e,staples:e,star:e,statebank:e,statefarm:e,stc:e,stcgroup:e,stockholm:e,storage:e,store:[1,{barsy:t,sellfy:t,shopware:t,storebase:t}],stream:e,studio:e,study:e,style:e,sucks:e,supplies:e,supply:e,support:[1,{barsy:t}],surf:e,surgery:e,suzuki:e,swatch:e,swiss:e,sydney:e,systems:[1,{knightpoint:t,miren:t}],tab:e,taipei:e,talk:e,taobao:e,target:e,tatamotors:e,tatar:e,tattoo:e,tax:e,taxi:e,tci:e,tdk:e,team:[1,{discourse:t,jelastic:t}],tech:[1,{cleverapps:t}],technology:P,temasek:e,tennis:e,teva:e,thd:e,theater:e,theatre:e,tiaa:e,tickets:e,tienda:e,tips:e,tires:e,tirol:e,tjmaxx:e,tjx:e,tkmaxx:e,tmall:e,today:[1,{prequalifyme:t}],tokyo:e,tools:[1,{addr:et,myaddr:t}],top:[1,{ntdll:t,wadl:o}],toray:e,toshiba:e,total:e,tours:e,town:e,toyota:e,toys:e,trade:e,trading:e,training:e,travel:e,travelers:e,travelersinsurance:e,trust:e,trv:e,tube:e,tui:e,tunes:e,tushu:e,tvs:e,ubank:e,ubs:e,unicom:e,university:e,uno:e,uol:e,ups:e,vacations:e,vana:e,vanguard:e,vegas:e,ventures:e,verisign:e,versicherung:e,vet:e,viajes:e,video:e,vig:e,viking:e,villas:e,vin:e,vip:[1,{hidns:t}],virgin:e,visa:e,vision:e,viva:e,vivo:e,vlaanderen:e,vodka:e,volvo:e,vote:e,voting:e,voto:e,voyage:e,wales:e,walmart:e,walter:e,wang:e,wanggou:e,watch:e,watches:e,weather:e,weatherchannel:e,webcam:e,weber:e,website:Dn,wed:e,wedding:e,weibo:e,weir:e,whoswho:e,wien:e,wiki:Dn,williamhill:e,win:e,windows:e,wine:e,winners:e,wme:e,woodside:e,work:[1,{"imagine-proxy":t}],works:e,world:e,wow:e,wtc:e,wtf:e,xbox:e,xerox:e,xihuan:e,xin:e,"xn--11b4c3d":e,\u0915\u0949\u092E:e,"xn--1ck2e1b":e,\u30BB\u30FC\u30EB:e,"xn--1qqw23a":e,\u4F5B\u5C71:e,"xn--30rr7y":e,\u6148\u5584:e,"xn--3bst00m":e,\u96C6\u56E2:e,"xn--3ds443g":e,\u5728\u7EBF:e,"xn--3pxu8k":e,\u70B9\u770B:e,"xn--42c2d9a":e,\u0E04\u0E2D\u0E21:e,"xn--45q11c":e,\u516B\u5366:e,"xn--4gbrim":e,\u0645\u0648\u0642\u0639:e,"xn--55qw42g":e,\u516C\u76CA:e,"xn--55qx5d":e,\u516C\u53F8:e,"xn--5su34j936bgsg":e,\u9999\u683C\u91CC\u62C9:e,"xn--5tzm5g":e,\u7F51\u7AD9:e,"xn--6frz82g":e,\u79FB\u52A8:e,"xn--6qq986b3xl":e,\u6211\u7231\u4F60:e,"xn--80adxhks":e,\u043C\u043E\u0441\u043A\u0432\u0430:e,"xn--80aqecdr1a":e,\u043A\u0430\u0442\u043E\u043B\u0438\u043A:e,"xn--80asehdb":e,\u043E\u043D\u043B\u0430\u0439\u043D:e,"xn--80aswg":e,\u0441\u0430\u0439\u0442:e,"xn--8y0a063a":e,\u8054\u901A:e,"xn--9dbq2a":e,\u05E7\u05D5\u05DD:e,"xn--9et52u":e,\u65F6\u5C1A:e,"xn--9krt00a":e,\u5FAE\u535A:e,"xn--b4w605ferd":e,\u6DE1\u9A6C\u9521:e,"xn--bck1b9a5dre4c":e,\u30D5\u30A1\u30C3\u30B7\u30E7\u30F3:e,"xn--c1avg":e,\u043E\u0440\u0433:e,"xn--c2br7g":e,\u0928\u0947\u091F:e,"xn--cck2b3b":e,\u30B9\u30C8\u30A2:e,"xn--cckwcxetd":e,\u30A2\u30DE\u30BE\u30F3:e,"xn--cg4bki":e,\uC0BC\uC131:e,"xn--czr694b":e,\u5546\u6807:e,"xn--czrs0t":e,\u5546\u5E97:e,"xn--czru2d":e,\u5546\u57CE:e,"xn--d1acj3b":e,\u0434\u0435\u0442\u0438:e,"xn--eckvdtc9d":e,\u30DD\u30A4\u30F3\u30C8:e,"xn--efvy88h":e,\u65B0\u95FB:e,"xn--fct429k":e,\u5BB6\u96FB:e,"xn--fhbei":e,\u0643\u0648\u0645:e,"xn--fiq228c5hs":e,\u4E2D\u6587\u7F51:e,"xn--fiq64b":e,\u4E2D\u4FE1:e,"xn--fjq720a":e,\u5A31\u4E50:e,"xn--flw351e":e,\u8C37\u6B4C:e,"xn--fzys8d69uvgm":e,\u96FB\u8A0A\u76C8\u79D1:e,"xn--g2xx48c":e,\u8D2D\u7269:e,"xn--gckr3f0f":e,\u30AF\u30E9\u30A6\u30C9:e,"xn--gk3at1e":e,\u901A\u8CA9:e,"xn--hxt814e":e,\u7F51\u5E97:e,"xn--i1b6b1a6a2e":e,\u0938\u0902\u0917\u0920\u0928:e,"xn--imr513n":e,\u9910\u5385:e,"xn--io0a7i":e,\u7F51\u7EDC:e,"xn--j1aef":e,\u043A\u043E\u043C:e,"xn--jlq480n2rg":e,\u4E9A\u9A6C\u900A:e,"xn--jvr189m":e,\u98DF\u54C1:e,"xn--kcrx77d1x4a":e,\u98DE\u5229\u6D66:e,"xn--kput3i":e,\u624B\u673A:e,"xn--mgba3a3ejt":e,\u0627\u0631\u0627\u0645\u0643\u0648:e,"xn--mgba7c0bbn0a":e,\u0627\u0644\u0639\u0644\u064A\u0627\u0646:e,"xn--mgbab2bd":e,\u0628\u0627\u0632\u0627\u0631:e,"xn--mgbca7dzdo":e,\u0627\u0628\u0648\u0638\u0628\u064A:e,"xn--mgbi4ecexp":e,\u0643\u0627\u062B\u0648\u0644\u064A\u0643:e,"xn--mgbt3dhd":e,\u0647\u0645\u0631\u0627\u0647:e,"xn--mk1bu44c":e,\uB2F7\uCEF4:e,"xn--mxtq1m":e,\u653F\u5E9C:e,"xn--ngbc5azd":e,\u0634\u0628\u0643\u0629:e,"xn--ngbe9e0a":e,\u0628\u064A\u062A\u0643:e,"xn--ngbrx":e,\u0639\u0631\u0628:e,"xn--nqv7f":e,\u673A\u6784:e,"xn--nqv7fs00ema":e,\u7EC4\u7EC7\u673A\u6784:e,"xn--nyqy26a":e,\u5065\u5EB7:e,"xn--otu796d":e,\u62DB\u8058:e,"xn--p1acf":[1,{"xn--90amc":t,"xn--j1aef":t,"xn--j1ael8b":t,"xn--h1ahn":t,"xn--j1adp":t,"xn--c1avg":t,"xn--80aaa0cvac":t,"xn--h1aliz":t,"xn--90a1af":t,"xn--41a":t}],\u0440\u0443\u0441:[1,{\u0431\u0438\u0437:t,\u043A\u043E\u043C:t,\u043A\u0440\u044B\u043C:t,\u043C\u0438\u0440:t,\u043C\u0441\u043A:t,\u043E\u0440\u0433:t,\u0441\u0430\u043C\u0430\u0440\u0430:t,\u0441\u043E\u0447\u0438:t,\u0441\u043F\u0431:t,\u044F:t}],"xn--pssy2u":e,\u5927\u62FF:e,"xn--q9jyb4c":e,\u307F\u3093\u306A:e,"xn--qcka1pmc":e,\u30B0\u30FC\u30B0\u30EB:e,"xn--rhqv96g":e,\u4E16\u754C:e,"xn--rovu88b":e,\u66F8\u7C4D:e,"xn--ses554g":e,\u7F51\u5740:e,"xn--t60b56a":e,\uB2F7\uB137:e,"xn--tckwe":e,\u30B3\u30E0:e,"xn--tiq49xqyj":e,\u5929\u4E3B\u6559:e,"xn--unup4y":e,\u6E38\u620F:e,"xn--vermgensberater-ctb":e,verm\u00F6gensberater:e,"xn--vermgensberatung-pwb":e,verm\u00F6gensberatung:e,"xn--vhquv":e,\u4F01\u4E1A:e,"xn--vuq861b":e,\u4FE1\u606F:e,"xn--w4r85el8fhu5dnra":e,\u5609\u91CC\u5927\u9152\u5E97:e,"xn--w4rs40l":e,\u5609\u91CC:e,"xn--xhq521b":e,\u5E7F\u4E1C:e,"xn--zfr164b":e,\u653F\u52A1:e,xyz:[1,{caffeine:t,exe:t,botdash:t,telebit:o}],yachts:e,yahoo:e,yamaxun:e,yandex:e,yodobashi:e,yoga:e,yokohama:e,you:e,youtube:e,yun:e,zappos:e,zara:e,zero:e,zip:e,zone:[1,{stackit:t,lima:t,triton:o}],zuerich:e}]})();function Ug(e,t,n,r){let o=null,a=t;for(;a!==void 0&&((a[0]&r)!==0&&(o={index:n+1,isIcann:(a[0]&1)!==0,isPrivate:(a[0]&2)!==0}),n!==-1);){let i=a[1];a=Object.prototype.hasOwnProperty.call(i,e[n])?i[e[n]]:i["*"],n-=1}return o}function El(e,t,n){var r;if(ju(e,t,n))return;let o=e.split("."),a=(t.allowPrivateDomains?2:0)|(t.allowIcannDomains?1:0),i=Ug(o,Og,o.length-1,a);if(i!==null){n.isIcann=i.isIcann,n.isPrivate=i.isPrivate,n.publicSuffix=o.slice(i.index+1).join(".");return}let s=Ug(o,Bg,o.length-1,a);if(s!==null){n.isIcann=s.isIcann,n.isPrivate=s.isPrivate,n.publicSuffix=o.slice(s.index).join(".");return}n.isIcann=!1,n.isPrivate=!1,n.publicSuffix=(r=o[o.length-1])!==null&&r!==void 0?r:null}var Hg=Sl();function zg(e,t={}){return _l(e,5,El,t,Sl())}function Fg(e,t={}){return Fu(Hg),_l(e,3,El,t,Hg).domain}function qu(e){let t=String(e||"").trim().toLowerCase().replace(/\.$/,"");return t.startsWith("[")&&t.endsWith("]")?t.slice(1,-1):t}function DT(e){let t=String(e||"").trim().toLowerCase();if(!t||t.includes("://")||t.startsWith("//"))return!1;let n=t.split(/[/?#]/)[0]?.trim()||"";return!n||n.startsWith("[")?!1:(n.match(/:/g)||[]).length>=2}function PT(e){let t=String(e||"").trim();return t?/^[a-z][a-z0-9+.-]*:\/\//i.test(t)?t:t.startsWith("//")?`https:${t}`:DT(t)?`https://[${t}]`:`https://${t}`:""}function OT(e){let t=PT(e);if(!t)return"";try{return qu(new URL(t).hostname)}catch{return""}}function BT(e){return/^\d{1,3}(?:\.\d{1,3}){3}$/.test(e)?e.split(".").every(t=>{let n=Number(t);return Number.isInteger(n)&&n>=0&&n<=255}):!1}function UT(e){if(!e.includes(":"))return!1;try{return qu(new URL(`https://[${e}]`).hostname)===e}catch{return!1}}function $u(e){let t=qu(e);return zg(t).isIp===!0||BT(t)||UT(t)}function Vu(e){let t=Vn(e);return!!t&&$u(t)}function Vn(e){return OT(String(e||"").trim().toLowerCase())}function vs(e){let t=String(e||"").trim().toLowerCase();if(!t)return"";if(t==="*")return"*";let n=t.startsWith("="),r=!n&&t.startsWith("*."),o=n?t.slice(1):r?t.slice(2):t,a=Vn(o);return a?n?`=${a}`:r?`*.${a}`:a:""}function jg(e,t){return e?t!=="host_only"||e==="*"||e.startsWith("=")||e.startsWith("*.")?e:`=${e}`:""}function sr(e){let t=Vn(e);return t?t==="localhost"||$u(t)?t:Fg(t,{allowPrivateDomains:!0})||t:""}function qg(e,t){let n=Vn(e);return n?n==="localhost"||$u(n)?`=${n}`:t==="host_only"?`=${n}`:sr(n):""}function ks(e,t,n){let r=Array.isArray(e)?e:typeof e=="string"&&e.trim()?[e]:[],o=new Set;for(let a of r){let i=jg(vs(String(a||"")),n);i&&o.add(i)}if(!o.size){let a=qg(t,n);a&&o.add(a)}return Array.from(o)}function Il(e,t){let n=Vn(e),r=vs(t);if(!n||!r)return!1;if(r==="*")return!0;if(r.startsWith("=")){let o=r.slice(1);return!!o&&n===o}if(r.startsWith("*.")){let o=r.slice(2);return!o||n===o?!1:n.endsWith(`.${o}`)}return n===r?!0:n.endsWith(`.${r}`)}function Wn(e){return Vn(e)||null}function fr(e,t){let n=Wn(e);return n?t.length?t.some(r=>Il(n,r)):!0:!1}function xs(e){let t=Vn(e.host||"");if(!t)return!1;let n=e.domainScopeMode==="host_only"?"host_only":"registrable_domain",r=Array.isArray(e.allowedDomains)?e.allowedDomains.map(a=>vs(a)).map(a=>jg(a,n)).filter(Boolean):[];if(r.length>0)return r.some(a=>Il(t,a));let o=Vn(e.currentHost||"");return o?n==="host_only"?t===o:sr(t)===sr(o):!0}var Wu=new Set([V.describe_images,V.wait_action,V.wait_for_element,V.answer_task,V.solve_captcha,V.network_run_recipe]),HT=new Set([V.goto_url,V.google_search,V.go_back,V.go_forward,V.refresh_page,V.open_new_tab,V.switch_tab,V.close_tab]);function zT(e){return e==="open_url_new_tab"?V.open_new_tab:String(e||"").trim()}function FT(e){return e==="allow"||e==="block"||e==="open_new_tab_notice"?e:"open_new_tab_notice"}function $g(e){let t=zT(String(e.toolName||""));return!t||FT(e.externalNavigationPolicy)==="allow"||Wu.has(t)||HT.has(t)?!1:!fr(e.currentUrl,e.allowedDomains)}var Ml=class Ml{constructor(t={}){U(this,"root");U(this,"includeFrames");U(this,"disableDomAnnotations");U(this,"allowActions");U(this,"runtimeId");U(this,"domainScopeMode");U(this,"allowedDomains");U(this,"externalNavigationPolicy");U(this,"crossHostPolicy");U(this,"registerOpenedTab");U(this,"listKnownTabs");U(this,"switchToLogicalTab");U(this,"onNavigationGuardrail");U(this,"onBeforeAgentNavigation");U(this,"onBeforeCrossHostNavigation");U(this,"instrumentation");U(this,"highlightEl",null);U(this,"clientTools",new Map);U(this,"navigationDelayMs");U(this,"domSettleDebounceMs");U(this,"domSettleMaxWaitMs");U(this,"domSettleRetries");U(this,"sparseTreeRetryDelayMs");U(this,"sparseTreeRetryMaxAttempts");U(this,"uploadStore",new Map);U(this,"uploadProviderInstalled",!1);U(this,"actionGateContext",{});U(this,"instrumentationStarted",!1);this.root=t.root??document.body??document.documentElement,this.includeFrames=t.includeFrames??!0,this.disableDomAnnotations=t.disableDomAnnotations??!0,this.allowActions=t.allowActions??!0,this.runtimeId=t.runtimeId,this.domainScopeMode=Vg(t.domainScopeMode),this.allowedDomains=ks(t.allowedDomains,window.location.hostname,this.domainScopeMode),this.externalNavigationPolicy=Wg(t.externalNavigationPolicy),this.crossHostPolicy=Gg(t.crossHostPolicy),this.registerOpenedTab=t.registerOpenedTab,this.listKnownTabs=t.listKnownTabs,this.switchToLogicalTab=t.switchToLogicalTab,this.onNavigationGuardrail=t.onNavigationGuardrail,this.onBeforeAgentNavigation=t.onBeforeAgentNavigation,this.onBeforeCrossHostNavigation=t.onBeforeCrossHostNavigation,this.navigationDelayMs=t.navigationDelayMs??80,this.domSettleDebounceMs=ws(t.domSettle?.debounceMs,24,8,500),this.domSettleMaxWaitMs=ws(t.domSettle?.maxWaitMs,220,80,5e3),this.domSettleRetries=ws(t.domSettle?.retries,0,0,6),this.sparseTreeRetryDelayMs=ws(t.domSettle?.sparseTreeRetryDelayMs,35,20,1e3),this.sparseTreeRetryMaxAttempts=ws(t.domSettle?.sparseTreeRetryMaxAttempts,1,0,4),this.instrumentation=t.instrumentation??Ng({includeIframes:!0,scanInlineHandlers:!0,observeInlineMutations:!0,...t.instrumentationOptions||{}}),gg(),t.uploadBytesProvider&&this.setUploadBytesProvider(t.uploadBytesProvider)}setAllowActions(t){this.allowActions=!!t}setActionGateContext(t){let n={};(t?.mode==="controller"||t?.mode==="observer")&&(n.mode=t.mode),typeof t?.controllerRuntimeId=="string"&&t.controllerRuntimeId.trim()&&(n.controllerRuntimeId=t.controllerRuntimeId.trim()),Number.isFinite(Number(t?.activeLogicalTabId))&&Number(t?.activeLogicalTabId)>0&&(n.activeLogicalTabId=Number(t?.activeLogicalTabId)),Number.isFinite(Number(t?.localLogicalTabId))&&Number(t?.localLogicalTabId)>0&&(n.localLogicalTabId=Number(t?.localLogicalTabId)),typeof t?.reason=="string"&&t.reason.trim()&&(n.reason=t.reason.trim().slice(0,240)),this.actionGateContext=n}setNavigationPolicy(t){t.domainScopeMode&&(this.domainScopeMode=Vg(t.domainScopeMode),t.allowedDomains||(this.allowedDomains=ks(void 0,window.location.hostname,this.domainScopeMode))),t.allowedDomains&&(this.allowedDomains=ks(t.allowedDomains,window.location.hostname,this.domainScopeMode)),t.externalNavigationPolicy&&(this.externalNavigationPolicy=Wg(t.externalNavigationPolicy)),t.crossHostPolicy&&(this.crossHostPolicy=Gg(t.crossHostPolicy))}async getSnapshot(){return await this.ensureListenerScan(),bs(this.root,this.instrumentation,{includeFrames:this.includeFrames,disableDomAnnotations:this.disableDomAnnotations})}async getPageData(t){await this.ensureListenerScan();let n=hl(t?.pageConfig),r={...n||{},adaptiveSettleDebounceMs:typeof n?.adaptiveSettleDebounceMs=="number"?n.adaptiveSettleDebounceMs:this.domSettleDebounceMs,adaptiveSettleMaxWaitMs:typeof n?.adaptiveSettleMaxWaitMs=="number"?n.adaptiveSettleMaxWaitMs:this.domSettleMaxWaitMs,adaptiveSettleRetries:typeof n?.adaptiveSettleRetries=="number"?n.adaptiveSettleRetries:this.domSettleRetries,sparseTreeRetryDelayMs:typeof n?.sparseTreeRetryDelayMs=="number"?n.sparseTreeRetryDelayMs:this.sparseTreeRetryDelayMs,sparseTreeRetryMaxAttempts:typeof n?.sparseTreeRetryMaxAttempts=="number"?n.sparseTreeRetryMaxAttempts:this.sparseTreeRetryMaxAttempts};return await _g(this.root,this.instrumentation,{includeFrames:this.includeFrames,disableDomAnnotations:this.disableDomAnnotations,pageConfig:r})}ensureInstrumentationStarted(){this.instrumentationStarted||(Lg(),this.instrumentationStarted=!0)}async ensureListenerScan(){this.ensureInstrumentationStarted();try{let n=(this.root.ownerDocument||document).defaultView||window,r=n.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",a=n[r]?.flushScan;if(typeof a=="function"){await a({mode:"priority",includeShadow:!0,includeSameOriginIframes:!0,budgetMs:400});return}n.rtrvrAIMarkInteractiveElements?.()}catch{}}async executeTool(t,n){let r=jT(t?.name);if(!r)return{success:!1,error:`Unknown tool: ${String(t?.name)}`,allowFallback:!1};if(this.shouldBlockForOutOfScopeContext(r)){let y=`Current tab host "${Wn(window.location.href)||window.location.hostname||"unknown"}" is outside the allowed navigation scope (${qT(this.allowedDomains)}).`;return this.domainScopeBlockedResponse(window.location.href,y,{fromCurrentContext:!0})}if(!this.allowActions&&!Wu.has(r))return{success:!1,error:"Actions disabled by configuration",allowFallback:!1,output:{reason:this.actionGateContext.mode==="observer"?"Actions are disabled because this tab is currently in observer mode.":this.actionGateContext.reason||"Actions disabled by configuration",actionGate:this.actionGateContext}};let o=await this.handleNavigationTools(r,t?.args||{});if(o)return o;if(r===V.wait_action){let g=Number(t?.args?.duration??1e3);return await new Promise(y=>setTimeout(y,Math.max(0,Math.min(g,6e4)))),{success:!0}}if(r===V.wait_for_element)return this.waitForElement(t?.args||{});if(r===V.answer_task)return{success:!0};if(r===V.solve_captcha)return Al("CAPTCHA solving requires human intervention in embed mode.","HUMAN_INTERVENTION_REQUIRED");if(r===V.network_run_recipe)return Al("network_run_recipe is not supported in embed mode.","CAPABILITY_UNAVAILABLE");let a=t?.args||{},i=WT(a),s=ei(document,a.iframe_id);if(a.iframe_id!=null&&s.unresolvedPath.length>0&&!i)return this.iframeContextUnavailableResponse(a.iframe_id,s);if(r===V.click_element&&a?.open_in_new_tab)return this.openElementInNewTab(a);if(r===V.click_element){let g=this.getInterceptedClickTarget(a);if(g?.targetUrl){if(g.forceOpenInNewTab)return this.openUrlInNewTab(g.targetUrl,{policyBlocked:!0,reason:g.reason,decisionReason:"open_new_tab"});let T=g.reason;return this.externalNavigationPolicy==="open_new_tab_notice"?this.openUrlInNewTab(g.targetUrl,{policyBlocked:!0,reason:T,decisionReason:"open_new_tab"}):this.domainScopeBlockedResponse(g.targetUrl,T,{decisionReason:"policy_blocked"})}let y=this.getClickTargetInfo(a),x=y?.targetUrl||null;if(x){let T=this.buildNavigationIntent(x,{preferredDisposition:y?.preferredDisposition});if(T.isCrossHost){let k=await this.resolveAgentNavigationDecision(T,this.getNavigationFallbackDecision(x,T.preferredDisposition));if(k.decision==="block")return this.domainScopeBlockedResponse(x,k.reason||"Navigation blocked by policy.",{decisionReason:k.decisionReason||"policy_blocked"});if(k.decision==="open_new_tab")return this.openUrlInNewTab(x,{policyBlocked:!0,reason:k.reason||"Navigation policy requires opening a new tab.",decisionReason:k.decisionReason||"open_new_tab"});this.notifyCrossHostNavigation(T)}else{let k=await this.resolveAgentNavigationDecision(T,"allow_same_tab");if(k.decision==="block")return this.domainScopeBlockedResponse(x,k.reason||"Navigation blocked by policy.",{decisionReason:k.decisionReason||"policy_blocked"});if(k.decision==="open_new_tab")return this.openUrlInNewTab(x,{policyBlocked:!0,reason:k.reason||"Navigation policy requires opening a new tab.",decisionReason:k.decisionReason||"open_new_tab"})}}}if(r===V.describe_images)return this.describeImages(t?.args||{});if(!(r in Hc))return{success:!1,error:`Unknown tool: ${String(t?.name)}`,allowFallback:!1};let{doc:c}=s,l=Gu(a),d=l?_r(c,l):null,m;if(d){let g=this.instrumentation.getFrameworkMetadata(d),y=VT(g.listenersRaw||"",r),x=a?.value??a?.text??null;m=$T({...g,pattern:y,value:x})}let f=Hc[r];return r===V.upload_file&&!n&&(n=await this.buildUploadPayload(a).catch(()=>{})),bg({opcode:f,call:{name:r,args:a},elementData:m,tabIndex:0,payload:n})}iframeContextUnavailableResponse(t,n){let o=`iframe_id unresolved: remaining=${n.unresolvedPath.join(">")||"(none)"} (cross-origin, not-ready, or not found)`;return{success:!1,error:o,allowFallback:!1,output:{success:!1,error:{code:"IFRAME_CONTEXT_UNAVAILABLE",message:o,retryable:!1},iframe_context:{requested_iframe_id:t,requested_path:n.iframePath,resolved_path:n.resolvedPath,unresolved_path:n.unresolvedPath}},errorDetails:{code:"IFRAME_CONTEXT_UNAVAILABLE",message:o,retryable:!1,details:{requested_iframe_id:t,requested_path:n.iframePath,resolved_path:n.resolvedPath,unresolved_path:n.unresolvedPath}}}}highlight(t){let n=_r(document,t);if(!n)return;let r=n.getBoundingClientRect();if(!this.highlightEl){let o=document.createElement("div");o.style.position="fixed",o.style.pointerEvents="none",o.style.border="2px solid #ff7a59",o.style.boxShadow="0 0 0 2px rgba(255, 122, 89, 0.2)",o.style.borderRadius="6px",o.style.zIndex="2147483647",this.highlightEl=o,document.body.appendChild(o)}this.highlightEl.style.left=`${r.left}px`,this.highlightEl.style.top=`${r.top}px`,this.highlightEl.style.width=`${Math.max(0,r.width)}px`,this.highlightEl.style.height=`${Math.max(0,r.height)}px`,this.highlightEl.style.display="block"}clearHighlight(){this.highlightEl&&(this.highlightEl.style.display="none")}setUploadBytesProvider(t){window.__ROVER_UPLOAD_BYTES__=t}registerTool(t,n){let r=typeof t=="string"?{name:t}:t;!r?.name||typeof n!="function"||this.clientTools.set(r.name,{handler:n,def:r})}async executeClientTool(t,n){let r=this.clientTools.get(t);if(!r)throw new Error(`Unknown client tool: ${t}`);return r.handler(n)}listClientTools(){return Array.from(this.clientTools.values()).map(t=>t.def)}async handleNavigationTools(t,n){switch(t){case V.goto_url:{let r=String(n.url||"").trim();if(!r)return{success:!1,error:"goto_url: missing url",allowFallback:!0};let o=Rl(r,window.location.href);if(!o)return{success:!1,error:`goto_url: invalid url "${r}"`,allowFallback:!0};let a=this.getHostOnlySiblingBlockReason(o);if(a)return this.domainScopeBlockedResponse(o,a,{decisionReason:"policy_blocked",policyAction:"block"});if(this.shouldPreserveHostRuntime(o)){let c=this.buildNavigationIntent(o),l=await this.resolveAgentNavigationDecision(c,this.getNavigationFallbackDecision(o,c.preferredDisposition)),d=this.externalNavigationPolicy==="block"?"block":"open_new_tab";return(l.decision==="allow_same_tab"?d:l.decision)==="block"?this.domainScopeBlockedResponse(o,l.reason||"Navigation blocked by policy.",{decisionReason:l.decisionReason}):await this.openUrlInNewTab(o,{policyBlocked:!0,reason:l.reason||"Opened in a new tab to preserve Rover runtime continuity across hostnames.",decisionReason:l.decisionReason||"open_new_tab"})}if(this.shouldGuardExternalNavigation(o)){let c="Navigation blocked by domain policy.";return this.externalNavigationPolicy==="open_new_tab_notice"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:c}):this.domainScopeBlockedResponse(o,c)}let i=this.buildNavigationIntent(o);if(i.isCrossHost){let c=await this.resolveAgentNavigationDecision(i,this.getNavigationFallbackDecision(o,i.preferredDisposition));return c.decision==="block"?this.domainScopeBlockedResponse(o,c.reason||"Navigation blocked by policy.",{decisionReason:c.decisionReason}):c.decision==="open_new_tab"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:c.reason||"Navigation policy requires opening a new tab.",decisionReason:c.decisionReason||"open_new_tab"}):this.scheduleSameTabNavigation(o,i,{decisionReason:c.decisionReason||"allow_same_tab",reason:c.reason||"Navigation allowed."})}let s=await this.resolveAgentNavigationDecision(i,"allow_same_tab");return s.decision==="block"?this.domainScopeBlockedResponse(o,s.reason||"Navigation blocked by policy.",{decisionReason:s.decisionReason||"policy_blocked"}):s.decision==="open_new_tab"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:s.reason||"Navigation policy requires opening a new tab.",decisionReason:s.decisionReason||"open_new_tab"}):this.scheduleSameTabNavigation(o,i,{decisionReason:s.decisionReason||"allow_same_tab",reason:s.reason||"Navigation allowed."})}case V.google_search:{let r=String(n.query||"").trim();if(!r)return{success:!1,error:"google_search: missing query",allowFallback:!0};let o=`https://www.google.com/search?q=${encodeURIComponent(r)}`,a=this.getHostOnlySiblingBlockReason(o);if(a)return this.domainScopeBlockedResponse(o,a,{decisionReason:"policy_blocked",policyAction:"block"});if(this.shouldPreserveHostRuntime(o)){let c=this.buildNavigationIntent(o),l=await this.resolveAgentNavigationDecision(c,this.getNavigationFallbackDecision(o,c.preferredDisposition)),d=this.externalNavigationPolicy==="block"?"block":"open_new_tab";return(l.decision==="allow_same_tab"?d:l.decision)==="block"?this.domainScopeBlockedResponse(o,l.reason||"Navigation blocked by policy.",{decisionReason:l.decisionReason}):await this.openUrlInNewTab(o,{policyBlocked:!0,reason:l.reason||"Opened in a new tab to preserve Rover runtime continuity across hostnames.",decisionReason:l.decisionReason||"open_new_tab"})}if(this.shouldGuardExternalNavigation(o)){let c="Google search opens outside the allowed navigation scope.";return this.externalNavigationPolicy==="open_new_tab_notice"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:c}):this.domainScopeBlockedResponse(o,c)}let i=this.buildNavigationIntent(o);if(i.isCrossHost){let c=await this.resolveAgentNavigationDecision(i,this.getNavigationFallbackDecision(o,i.preferredDisposition));return c.decision==="block"?this.domainScopeBlockedResponse(o,c.reason||"Navigation blocked by policy.",{decisionReason:c.decisionReason}):c.decision==="open_new_tab"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:c.reason||"Navigation policy requires opening a new tab.",decisionReason:c.decisionReason||"open_new_tab"}):this.scheduleSameTabNavigation(o,i,{decisionReason:c.decisionReason||"allow_same_tab",reason:c.reason||"Navigation allowed."})}let s=await this.resolveAgentNavigationDecision(i,"allow_same_tab");return s.decision==="block"?this.domainScopeBlockedResponse(o,s.reason||"Navigation blocked by policy.",{decisionReason:s.decisionReason||"policy_blocked"}):s.decision==="open_new_tab"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:s.reason||"Navigation policy requires opening a new tab.",decisionReason:s.decisionReason||"open_new_tab"}):this.scheduleSameTabNavigation(o,i,{decisionReason:s.decisionReason||"allow_same_tab",reason:s.reason||"Navigation allowed."})}case V.go_back:{let r=this.buildNavigationIntent(window.location.href,{isCrossHost:!1});return await this.resolveAgentNavigationDecision(r,"allow_same_tab"),this.scheduleHistoryNavigation("back"),{success:!0,output:{navigation:"same_tab",navigationOutcome:"same_host_navigated",navigationPending:!1,decisionReason:"allow_same_tab"}}}case V.go_forward:{let r=this.buildNavigationIntent(window.location.href,{isCrossHost:!1});return await this.resolveAgentNavigationDecision(r,"allow_same_tab"),this.scheduleHistoryNavigation("forward"),{success:!0,output:{navigation:"same_tab",navigationOutcome:"same_host_navigated",navigationPending:!1,decisionReason:"allow_same_tab"}}}case V.refresh_page:{let r=this.buildNavigationIntent(window.location.href,{isCrossHost:!1});return await this.resolveAgentNavigationDecision(r,"allow_same_tab"),this.scheduleHistoryNavigation("reload"),{success:!0,output:{navigation:"same_tab",navigationOutcome:"same_host_navigated",navigationPending:!1,decisionReason:"allow_same_tab"}}}case V.open_new_tab:{let r=String(n.url||"").trim();if(!r)return{success:!1,error:"open_new_tab: missing url",allowFallback:!0};let o=Rl(r,window.location.href);if(!o)return{success:!1,error:`open_new_tab: invalid url "${r}"`,allowFallback:!0};let a=this.getHostOnlySiblingBlockReason(o);if(a)return this.domainScopeBlockedResponse(o,a,{decisionReason:"policy_blocked",policyAction:"block"});let i=this.buildNavigationIntent(o,{preferredDisposition:"new_tab"}),s=await this.resolveAgentNavigationDecision(i,"open_new_tab");return s.decision==="block"?this.domainScopeBlockedResponse(o,s.reason||"Navigation blocked by policy.",{decisionReason:s.decisionReason}):await this.openUrlInNewTab(o,{policyBlocked:!1,reason:s.reason,decisionReason:s.decisionReason||"open_new_tab"})}case V.switch_tab:{let r=Number(n.logical_tab_id??n.tab_id);if(!Number.isFinite(r)||r<=0)return{success:!1,error:(typeof n._tab_id_mapping_error=="string"?String(n._tab_id_mapping_error).trim():"")||"switch_tab: missing/invalid logical_tab_id",allowFallback:!0};if(this.externalNavigationPolicy!=="allow"&&this.listKnownTabs){let o=this.listKnownTabs().find(a=>Number(a.logicalTabId)===r);if(o?.external)return this.domainScopeBlockedResponse(o.url||`logical_tab_id:${r}`,`Tab ${r} is out of scope. Direct actions are blocked for this tab.`)}if(!this.switchToLogicalTab)return Al("switch_tab requires session coordinator support.","CAPABILITY_UNAVAILABLE");try{let o=await this.switchToLogicalTab(r);return o?.ok?{success:!0,output:{logicalTabId:r,delegated:!!o.delegated,mode:o.delegated?"delegated":"local"}}:{success:!1,error:o?.reason||`switch_tab failed for logical tab ${r}`,allowFallback:!0}}catch(o){return{success:!1,error:o?.message||"switch_tab failed",allowFallback:!0}}}case V.close_tab:try{return window.close(),{success:!0}}catch{return Al("close_tab failed in embed mode.","CAPABILITY_UNAVAILABLE")}default:return null}}shouldGuardExternalNavigation(t){return this.externalNavigationPolicy==="allow"?!1:!fr(t,this.allowedDomains)}getHostOnlySiblingBlockReason(t){if(this.domainScopeMode!=="host_only")return null;let n=Wn(window.location.href)||window.location.hostname||"",r=Wn(t)||"";if(!n||!r||n===r||fr(t,this.allowedDomains))return null;let o=sr(n),a=sr(r);return!o||o!==a?null:`Blocked navigation to ${r}. This Rover site uses host_only exact-host scope, so other hosts on the same registrable domain are out of scope unless explicitly allowed. Do NOT retry this host. Continue on ${n} or explain the limitation.`}shouldPreserveHostRuntime(t){return this.externalNavigationPolicy==="allow"?!1:!fr(t,this.allowedDomains)}getNavigationFallbackDecision(t,n){return t?this.getHostOnlySiblingBlockReason(t)?"block":fr(t,this.allowedDomains)?this.crossHostPolicy==="open_new_tab"&&this.isCrossHostNavigation(t)||n==="new_tab"?"open_new_tab":"allow_same_tab":this.externalNavigationPolicy==="block"?"block":this.externalNavigationPolicy==="open_new_tab_notice"?"open_new_tab":"allow_same_tab":"allow_same_tab"}isCrossHostNavigation(t){let n=Wn(window.location.href),r=Wn(t);return!n||!r?!1:n!==r}buildNavigationIntent(t,n){let r="";try{r=crypto.randomUUID()}catch{r=`handoff_${Date.now()}_${Math.floor(Math.random()*1e5)}`}return{handoffId:r,targetUrl:t,sourceRuntimeId:this.runtimeId,sourceLogicalTabId:this.actionGateContext.localLogicalTabId,runId:n?.runId,isCrossHost:n?.isCrossHost??this.isCrossHostNavigation(t),preferredDisposition:n?.preferredDisposition||"auto",ts:Date.now()}}async resolveAgentNavigationDecision(t,n){let r={decision:n,decisionReason:n==="block"?"policy_blocked":n==="open_new_tab"?"open_new_tab":"allow_same_tab"};if(!this.onBeforeAgentNavigation)return r;try{let o=this.onBeforeAgentNavigation(t),a=await this.awaitWithTimeout(o,Ml.NAV_PREFLIGHT_TIMEOUT_MS);if(!a||typeof a!="object")return r;let i=String(a.decision||"").trim();return{decision:i==="allow_same_tab"||i==="open_new_tab"||i==="block"?i:i==="stale_run"?n:r.decision,reason:String(a.reason||"").trim()||void 0,decisionReason:String(a.decisionReason||"").trim()||r.decisionReason}}catch{return r}}async awaitWithTimeout(t,n){let r=t;return!r||typeof r.then!="function"?t:await Promise.race([r,new Promise(o=>{window.setTimeout(()=>o(void 0),Math.max(0,n))})])}scheduleHistoryNavigation(t){window.setTimeout(()=>{t==="back"?window.history.back():t==="forward"?window.history.forward():window.location.reload()},this.navigationDelayMs)}scheduleSameTabNavigation(t,n,r){let o=n.isCrossHost===!0,a=fr(t,this.allowedDomains);return o&&this.notifyCrossHostNavigation(n),a?(window.setTimeout(()=>{try{window.location.href=t}catch{window.location.assign(t)}},this.navigationDelayMs),{success:!0,output:{url:t,navigation:"same_tab",navigationOutcome:o?"subdomain_navigated":"same_host_navigated",navigationPending:!1,decisionReason:r?.decisionReason||"allow_same_tab",reason:r?.reason,...r?.convertedFrom?{convertedFrom:r.convertedFrom}:{}}}):(window.setTimeout(()=>{try{window.location.href=t}catch{window.location.assign(t)}},Math.max(this.navigationDelayMs,200)),{success:!0,output:{url:t,navigation:"same_tab",navigationOutcome:"same_tab_scheduled",navigationPending:!0,decisionReason:r?.decisionReason||"allow_same_tab",reason:r?.reason,...r?.convertedFrom?{convertedFrom:r.convertedFrom}:{}}})}notifyCrossHostNavigation(t){if(t.isCrossHost)try{this.onBeforeCrossHostNavigation?.(t)}catch{}}shouldBlockForOutOfScopeContext(t){return $g({toolName:t,currentUrl:window.location.href,allowedDomains:this.allowedDomains,externalNavigationPolicy:this.externalNavigationPolicy})}getInterceptedClickTarget(t){let n=this.getClickTargetUrl(t);if(!n)return null;let r=this.getHostOnlySiblingBlockReason(n);return r?{targetUrl:n,reason:r,forceOpenInNewTab:!1}:this.shouldPreserveHostRuntime(n)?!fr(n,this.allowedDomains)&&this.externalNavigationPolicy==="block"?{targetUrl:n,reason:"Blocked same-tab navigation to an out-of-scope destination.",forceOpenInNewTab:!1}:{targetUrl:n,reason:"Opened in a new tab to preserve Rover runtime continuity outside allowed domains.",forceOpenInNewTab:!0}:this.externalNavigationPolicy==="allow"||fr(n,this.allowedDomains)?null:{targetUrl:n,reason:"Blocked same-tab navigation to an out-of-scope destination.",forceOpenInNewTab:!1}}getClickTargetInfo(t){let n=Gu(t);if(!n)return null;let{doc:r}=ei(document,t.iframe_id),o=_r(r,n);if(!o)return null;let a=Kg(o),i=a?.href||a?.getAttribute("href")||"",s=Rl(i,window.location.href);if(!s)return null;let c=String(a?.getAttribute("target")||"").trim().toLowerCase();return{targetUrl:s,preferredDisposition:c&&c!=="_self"?"new_tab":"auto"}}getClickTargetUrl(t){return this.getClickTargetInfo(t)?.targetUrl||null}domainScopeBlockedResponse(t,n,r){let o=r?.policyAction||(this.externalNavigationPolicy==="block"?"block":"open_new_tab_notice"),a=window.location.href,i=Wn(a)||window.location.hostname||void 0,s=Wn(t)||void 0;return this.emitNavigationGuardrail({blockedUrl:t,currentUrl:a,policyAction:o,reason:n,allowedDomains:this.allowedDomains,openedInNewTab:!1}),{success:!1,error:n,allowFallback:!0,output:{success:!1,error:{code:"DOMAIN_SCOPE_BLOCKED",message:n,missing:[],next_action:o==="block"?"This host is out of scope. Do NOT retry it. Continue on an allowed host or explain the limitation to the user.":"Open the external page in a new tab and continue on the tab Rover chose for that work.",retryable:!1},blocked_url:t,blocked_host:s,current_url:a,current_host:i,policy_action:o,allowed_domains:this.allowedDomains,domain_scope_mode:this.domainScopeMode,external_navigation_policy:this.externalNavigationPolicy,blockedDomainStatus:"blocked",navigationOutcome:"blocked",decisionReason:r?.decisionReason||"policy_blocked",from_current_context:!!r?.fromCurrentContext,agentInstruction:o==="block"?`Navigation to ${s||t} is out of scope. Do NOT retry this host. Continue on an allowed host or explain the limitation to the user.`:`Navigation to ${s||t} is blocked by domain policy. Do NOT retry this URL. Acknowledge to user and proceed with the next step.`,blockedDomain:s||t,pageContext:{url:t,title:`[Blocked] ${s||t}`,contentText:`Access to ${s||t} is restricted by navigation policy. The page content is not available. Continue the task without this resource or use /scrape endpoint if external context is needed.`,accessible:!1}},errorDetails:{code:"DOMAIN_SCOPE_BLOCKED",message:n,retryable:!1,details:{blockedUrl:t,blockedHost:s,currentUrl:a,currentHost:i,policyAction:o,allowedDomains:this.allowedDomains,domainScopeMode:this.domainScopeMode,externalNavigationPolicy:this.externalNavigationPolicy,fromCurrentContext:!!r?.fromCurrentContext}}}}emitNavigationGuardrail(t){try{this.onNavigationGuardrail?.(t)}catch{}}async tryReuseKnownTargetTab(t){if(!this.listKnownTabs||!this.switchToLogicalTab)return;let n=Wn(t);if(!n)return;let r=Number(this.actionGateContext.localLogicalTabId),o=i=>{if(i)try{let s=new URL(i);return s.hash="",s.toString()}catch{return}},a=o(t);try{let i=this.listKnownTabs(),s=i.find(m=>Number(m.logicalTabId)===r?!1:o(m.url)===a),c=s||i.find(m=>Number(m.logicalTabId)===r?!1:Wn(m.url||"")===n),l=s||c;return!l||!(await this.switchToLogicalTab(l.logicalTabId))?.ok?void 0:{logicalTabId:l.logicalTabId,reusedBy:s?"exact_url":"same_host"}}catch{return}}async openUrlInNewTab(t,n){let r=this.getHostOnlySiblingBlockReason(t);if(r)return this.domainScopeBlockedResponse(t,r,{decisionReason:n?.decisionReason||"policy_blocked",policyAction:"block"});let o=!fr(t,this.allowedDomains),a=await this.tryReuseKnownTargetTab(t);if(a){let f=n?.policyBlocked?n.reason||"Opened in another Rover tab due to navigation policy.":void 0;return n?.policyBlocked&&this.emitNavigationGuardrail({blockedUrl:t,currentUrl:window.location.href,policyAction:"open_new_tab_notice",reason:f||"Opened in another Rover tab due to navigation policy.",allowedDomains:this.allowedDomains,openedInNewTab:!0}),{success:!0,output:{url:t,external:o,logicalTabId:a.logicalTabId,openedInNewTab:!0,reusedExistingTab:!0,reusedBy:a.reusedBy,navigationOutcome:"switch_tab",navigationPending:!0,decisionReason:n?.decisionReason||"open_new_tab",policyBlocked:!!n?.policyBlocked,message:f},allowFallback:!0}}let i=this.snapshotKnownTabIds(),s=this.openVerifiedPopup(t),c;if(s.opened&&this.registerOpenedTab)try{c=(await this.registerOpenedTab({url:t,title:void 0,external:o,openerRuntimeId:this.runtimeId}))?.logicalTabId}catch{}if(s.opened&&!c&&(c=await this.reconcileOpenedTab(t,i)),!s.opened){let f=await this.reconcileOpenedTab(t,i);f&&(s={opened:!0,verified:!1},c=c||f)}let l=s.opened&&!c&&!!this.registerOpenedTab;if(!s.opened){let f="Browser popup settings blocked opening a new tab.";return n?.policyBlocked&&this.emitNavigationGuardrail({blockedUrl:t,currentUrl:window.location.href,policyAction:"open_new_tab_notice",reason:n.reason||f,allowedDomains:this.allowedDomains,openedInNewTab:!1}),{success:!1,error:"open_new_tab blocked by browser popup settings",allowFallback:!0,output:{url:t,external:o,logicalTabId:c,navigationOutcome:"blocked",decisionReason:n?.decisionReason||"policy_blocked"},errorDetails:{code:"POPUP_BLOCKED",message:f,retryable:!0,next_action:"Allow popups for this site and try again."}}}let d=n?.policyBlocked?n.reason||"Opened in a new tab due to domain policy.":void 0;n?.policyBlocked&&this.emitNavigationGuardrail({blockedUrl:t,currentUrl:window.location.href,policyAction:"open_new_tab_notice",reason:d||"Opened in new tab due to domain policy.",allowedDomains:this.allowedDomains,openedInNewTab:!0});let m=[];return l&&m.push("Tab opened but registration failed; tab may not be targetable."),s.verified||m.push("Tab open was triggered, but browser did not return a popup handle."),{success:!0,output:{url:t,external:o,logicalTabId:c,openedInNewTab:!0,navigationOutcome:"new_tab_opened",navigationPending:!0,decisionReason:n?.decisionReason||"open_new_tab",openVerification:s.verified?"verified":"unverified",policyBlocked:!!n?.policyBlocked,message:d,...m.length?{warning:m.join(" ")}:{}},allowFallback:!0}}openVerifiedPopup(t){let n=window.open("about:blank","_blank");if(n){try{n.opener=null}catch{}try{n.location.href=t}catch{}return{opened:!0,verified:!0}}try{let r=window.open(t,"_blank");if(r){try{r.opener=null}catch{}return{opened:!0,verified:!0}}}catch{}try{let r=window.open(t,"_blank","noopener,noreferrer");if(r){try{r.opener=null}catch{}return{opened:!0,verified:!0}}return{opened:!0,verified:!1}}catch{}try{let r=document.createElement("a");return r.href=t,r.target="_blank",r.rel="noopener noreferrer",r.style.display="none",document.body.appendChild(r),r.click(),r.remove(),{opened:!0,verified:!1}}catch{return{opened:!1,verified:!1}}}snapshotKnownTabIds(){let t=new Set;if(!this.listKnownTabs)return t;try{let n=this.listKnownTabs();for(let r of n){let o=Number(r?.logicalTabId);!Number.isFinite(o)||o<=0||t.add(o)}}catch{return t}return t}async reconcileOpenedTab(t,n){if(!this.listKnownTabs)return;let r=Wn(t),o=Date.now()+2e3;for(;Date.now()<o;){try{let a=this.listKnownTabs();for(let i of a){let s=Number(i?.logicalTabId);if(!Number.isFinite(s)||s<=0||n.has(s))continue;let c=String(i?.url||"").trim();if(!c)return s;let l=Wn(c);if(!r||!l||l===r)return s}}catch{}await new Promise(a=>setTimeout(a,120))}}async openElementInNewTab(t){let n=Gu(t);if(!n)return{success:!1,error:"click_element with open_in_new_tab requires element_id.",allowFallback:!0};let{doc:r}=ei(document,t.iframe_id),o=_r(r,n);if(!o)return{success:!1,error:`click_element: element_id ${String(n)} not found.`,allowFallback:!0};let a=Kg(o),i=a?.href||a?.getAttribute("href")||"",s=Rl(i,window.location.href);return s?await this.openUrlInNewTab(s,{policyBlocked:!1}):{success:!1,error:"click_element open_in_new_tab only works when target resolves to a valid link URL.",allowFallback:!0}}async waitForElement(t){let n=String(t.selector||"").trim(),r=Math.max(0,Math.min(Number(t.timeout??5e3),3e4));if(!n)return{success:!1,error:"wait_for_element: missing selector",allowFallback:!0};let o=Date.now(),a=document;for(;Date.now()-o<r;){let i=null;try{i=a.querySelector(n)}catch{i=null}if(i||(i=GT(a,n)),i)return{success:!0};await new Promise(s=>setTimeout(s,200))}return{success:!1,error:`wait_for_element: not found (${n})`,allowFallback:!0}}async describeImages(t){let n=Mm(t);if(!n.length)return{success:!1,error:"describe_images: element_ids is empty",allowFallback:!1};let r=[],o=[];for(let a of n){let i=_r(document,a);if(!i){o.push(`element_id ${a} not found`);continue}try{let s=await KT(i);if(!s?.data||!s?.mimeType){o.push(`element_id ${a}: unsupported image`);continue}r.push({element_id:a,...s})}catch(s){o.push(`element_id ${a}: ${s?.message||String(s)}`)}}return r.length?{success:!0,output:{images:r,errors:o.length?o:void 0}}:{success:!1,error:o[0]||"describe_images failed",output:{images:[],errors:o}}}ensureUploadProvider(){this.uploadProviderInstalled||(this.uploadProviderInstalled=!0,this.setUploadBytesProvider(async({token:t,byteLength:n})=>{this.pruneUploadStore();let r=this.uploadStore.get(t);if(!r)throw new Error("upload bytes token not found");if(r.bytes.byteLength!==n)throw new Error("upload bytes size mismatch");return r.bytes}))}pruneUploadStore(){let t=Date.now()-6e5;for(let[n,r]of this.uploadStore.entries())r.createdAt<t&&this.uploadStore.delete(n)}async buildUploadPayload(t){let n=String(t.file_url||"").trim();if(n)try{let r=await ng(0,n,document?.referrer||null),o=r.bytes,a=o.byteLength,i=r.mimeType||t.mime_type||"application/octet-stream",s=t.file_name||r.fileName,c=1024*1024;if(a<=c)return{kind:"upload_file",inlineB64:Jg(o),byteLength:a,mimeType:i,fileName:s};this.ensureUploadProvider();let l=crypto.randomUUID();return this.uploadStore.set(l,{bytes:o,createdAt:Date.now()}),{kind:"upload_file",token:l,byteLength:a,mimeType:i,fileName:s,durable:!1}}catch{return}}};U(Ml,"NAV_PREFLIGHT_TIMEOUT_MS",1500);var Cl=Ml;function jT(e){return e==="open_url_new_tab"?V.open_new_tab:String(e||"").trim()}function qT(e){return e.length?e.join(", "):"(none)"}function Vg(e){return e==="host_only"?"host_only":"registrable_domain"}function Wg(e){return e==="allow"||e==="block"||e==="open_new_tab_notice"?e:"open_new_tab_notice"}function Gg(e){return e==="open_new_tab"||e==="same_tab"?e:"same_tab"}function ws(e,t,n,r){let o=Number(e);return Number.isFinite(o)?Math.max(n,Math.min(r,Math.floor(o))):t}function Rl(e,t){let n=String(e||"").trim();if(!n)return null;try{return new URL(n,t).toString()}catch{return null}}function Kg(e){if(e instanceof HTMLAnchorElement&&e.href)return e;let t=e.closest?.("a[href]");return t instanceof HTMLAnchorElement&&t.href?t:null}function Al(e,t="CAPABILITY_UNAVAILABLE"){return{success:!1,error:e,allowFallback:!0,errorDetails:{code:t,message:e,retryable:!1}}}function $T(e){return{frameworks:(e.frameworks||[]).filter(n=>n in eu).map(n=>eu[n]),listenersRaw:e.listenersRaw??"",role:e.role??null,pattern:e.pattern,value:e.value??null}}function VT(e,t){if(t!==V.click_element)return"standard";let n=aa(e||"");if(!n)return"standard";let r=new Set(n.entries.map(c=>io[c.id]).filter(c=>typeof c=="string")),o=r.has("click")||r.has("mousedown")||r.has("mouseup")||r.has("pointerdown")||r.has("pointerup")||r.has("touchend");if((r.has("mouseenter")||r.has("mouseover")||r.has("pointerenter"))&&o)return"hover-activate";let i=r.has("touchstart"),s=r.has("touchend");return i&&s?"touch-sequence":"standard"}function Jg(e){let t=new Uint8Array(e),n="",r=32768;for(let o=0;o<t.length;o+=r)n+=String.fromCharCode(...t.subarray(o,o+r));return btoa(n)}function Xg(e){let t=Number(e);if(!Number.isFinite(t))return null;let n=Math.trunc(t);return n>0?n:null}function Qg(e){let t=[];for(let n of Uc){let r=e?.[n];if(r==null)continue;if(Array.isArray(r)){for(let a of r){let i=Xg(a);i!=null&&t.push(i)}continue}let o=Xg(r);o!=null&&t.push(o)}return Array.from(new Set(t))}function WT(e){return Qg(e).length>0}function Gu(e){let t=Qg(e);return t.length?t[0]:null}function GT(e,t){let n=t.toLowerCase(),r=["button","a","input","textarea","select","label","[role]","div","span"],o=e.querySelectorAll(r.join(","));for(let a of Array.from(o))if((a.textContent||"").trim().toLowerCase().includes(n)||(a.getAttribute("aria-label")||"").toLowerCase().includes(n))return a;return null}async function KT(e){if(e instanceof HTMLCanvasElement){let o=e.toDataURL(),a=Zg(o);if(!a)throw new Error("canvas toDataURL failed");return a}if(e instanceof SVGElement){let o=new XMLSerializer().serializeToString(e);return{data:btoa(unescape(encodeURIComponent(o))),mimeType:"image/svg+xml",displayName:"svg"}}if(e instanceof HTMLImageElement){let o=e.currentSrc||e.src;return await Yg(o,e.alt||e.getAttribute("aria-label")||void 0)}let n=window.getComputedStyle(e).backgroundImage||"",r=/url\\((['\"]?)(.*?)\\1\\)/.exec(n);if(r?.[2])return await Yg(r[2],e.getAttribute("aria-label")||void 0);throw new Error("unsupported element")}function Zg(e){let t=/^data:([^;]+);base64,(.*)$/.exec(e);return t?{mimeType:t[1],data:t[2]}:null}async function Yg(e,t){if(!e)throw new Error("missing src");if(e.startsWith("data:")){let s=Zg(e);if(!s)throw new Error("invalid data url");return{...s,displayName:t}}let n=await fetch(e,{mode:"cors"});if(!n.ok)throw new Error(`fetch failed (${n.status})`);let r=await n.blob(),o=await r.arrayBuffer(),a=Jg(o),i=r.type||"image/png";return{data:a,mimeType:i,displayName:t}}function eb(e,t){e.onmessage=async n=>{let r=n.data;if(!r||r.t!=="req")return;let{id:o,method:a,params:i}=r;try{let s=t[a];if(!s)throw new Error(`No handler for ${a}`);let c=await s(i);e.postMessage({t:"res",id:o,ok:!0,result:c})}catch(s){e.postMessage({t:"res",id:o,ok:!1,error:{message:s?.message||String(s)}})}}}var XT="Rover";var tb=[.52,.72,1],nb=[.56,.72,.88],rb=280,ob=360,Co=1200,ab=1200,ib=1200,ai=25,sb=4;function ze(e){return String(e||"").trim()}function YT(e){return String(e||"").trim().replace(/[^a-zA-Z0-9-]/g,"").slice(0,48)||void 0}function Ku(e){let t=Number(e);return Number.isFinite(t)?Math.max(800,Math.min(5e3,Math.trunc(t))):2600}function Xu(e){if(!e||typeof e!="object")return;let t={};typeof e.enabled=="boolean"&&(t.enabled=e.enabled);let n=YT(e.language);return n&&(t.language=n),e.autoStopMs!==void 0&&(t.autoStopMs=Ku(e.autoStopMs)),Object.keys(t).length?t:void 0}function JT(e){if(!e||typeof e!="object")return{};let t={};return e.presence&&typeof e.presence=="object"&&(t.presence={assistantName:ze(String(e.presence.assistantName||"")).slice(0,160)||void 0,ctaText:ze(String(e.presence.ctaText||"")).slice(0,160)||void 0,iconMode:e.presence.iconMode==="logo"||e.presence.iconMode==="mascot"||e.presence.iconMode==="rover"?e.presence.iconMode:void 0,draggable:typeof e.presence.draggable=="boolean"?e.presence.draggable:void 0,defaultAnchor:e.presence.defaultAnchor==="bottom-right"||e.presence.defaultAnchor==="bottom-left"||e.presence.defaultAnchor==="top-right"||e.presence.defaultAnchor==="top-left"||e.presence.defaultAnchor==="bottom-center"?e.presence.defaultAnchor:void 0,persistPosition:typeof e.presence.persistPosition=="boolean"?e.presence.persistPosition:void 0,idleAnimation:e.presence.idleAnimation==="breathe"||e.presence.idleAnimation==="orbit"||e.presence.idleAnimation==="none"?e.presence.idleAnimation:void 0,firstRunIntro:e.presence.firstRunIntro==="ambient"||e.presence.firstRunIntro==="headline"||e.presence.firstRunIntro==="none"?e.presence.firstRunIntro:void 0,defaultState:e.presence.defaultState==="seed"||e.presence.defaultState==="bar"?e.presence.defaultState:void 0}),e.shell&&typeof e.shell=="object"&&(t.shell={openMode:e.shell.openMode==="center_stage"?e.shell.openMode:void 0,mobileMode:e.shell.mobileMode==="fullscreen_sheet"?e.shell.mobileMode:void 0,desktopSize:e.shell.desktopSize==="compact"||e.shell.desktopSize==="stage"||e.shell.desktopSize==="cinema"?e.shell.desktopSize:void 0,desktopHeight:e.shell.desktopHeight==="tall"||e.shell.desktopHeight==="full"?e.shell.desktopHeight:void 0,dimBackground:typeof e.shell.dimBackground=="boolean"?e.shell.dimBackground:void 0,blurBackground:typeof e.shell.blurBackground=="boolean"?e.shell.blurBackground:void 0,safeAreaInsetPx:Number.isFinite(Number(e.shell.safeAreaInsetPx))?Math.max(0,Math.min(48,Math.trunc(Number(e.shell.safeAreaInsetPx)))):void 0,transitionStyle:e.shell.transitionStyle==="morph"||e.shell.transitionStyle==="crossfade"?e.shell.transitionStyle:void 0}),e.stream&&typeof e.stream=="object"&&(t.stream={layout:e.stream.layout==="single_column"?e.stream.layout:void 0,maxVisibleLiveCards:Number.isFinite(Number(e.stream.maxVisibleLiveCards))?Math.max(1,Math.min(4,Math.trunc(Number(e.stream.maxVisibleLiveCards)))):void 0,collapseCompletedSteps:typeof e.stream.collapseCompletedSteps=="boolean"?e.stream.collapseCompletedSteps:void 0,artifactAutoMinimize:typeof e.stream.artifactAutoMinimize=="boolean"?e.stream.artifactAutoMinimize:void 0,artifactOpenMode:e.stream.artifactOpenMode==="inline"||e.stream.artifactOpenMode==="overlay"?e.stream.artifactOpenMode:void 0}),e.inputs&&typeof e.inputs=="object"&&(t.inputs={text:typeof e.inputs.text=="boolean"?e.inputs.text:void 0,voice:typeof e.inputs.voice=="boolean"?e.inputs.voice:void 0,files:typeof e.inputs.files=="boolean"?e.inputs.files:void 0,acceptedMimeGroups:Array.isArray(e.inputs.acceptedMimeGroups)?e.inputs.acceptedMimeGroups.filter(n=>n==="images"||n==="pdfs"||n==="office"||n==="text"):void 0,allowMultipleFiles:typeof e.inputs.allowMultipleFiles=="boolean"?e.inputs.allowMultipleFiles:void 0,mobileCameraCapture:typeof e.inputs.mobileCameraCapture=="boolean"?e.inputs.mobileCameraCapture:void 0,attachmentLimit:Number.isFinite(Number(e.inputs.attachmentLimit))?Math.max(1,Math.min(12,Math.trunc(Number(e.inputs.attachmentLimit)))):void 0,maxFileSizeMb:Number.isFinite(Number(e.inputs.maxFileSizeMb))?Math.max(1,Math.min(32,Math.trunc(Number(e.inputs.maxFileSizeMb)))):void 0}),e.motion&&typeof e.motion=="object"&&(t.motion={intensity:e.motion.intensity==="calm"||e.motion.intensity==="balanced"||e.motion.intensity==="expressive"?e.motion.intensity:void 0,reducedMotionFallback:e.motion.reducedMotionFallback==="reduce"||e.motion.reducedMotionFallback==="remove"?e.motion.reducedMotionFallback:void 0,performanceBudget:e.motion.performanceBudget==="standard"||e.motion.performanceBudget==="high"?e.motion.performanceBudget:void 0}),e.theme&&typeof e.theme=="object"&&(t.theme={mode:e.theme.mode==="auto"||e.theme.mode==="light"||e.theme.mode==="dark"?e.theme.mode:void 0,accentColor:ze(String(e.theme.accentColor||"")).slice(0,32)||void 0,surfaceStyle:e.theme.surfaceStyle==="glass"||e.theme.surfaceStyle==="solid"?e.theme.surfaceStyle:void 0,radius:e.theme.radius==="soft"||e.theme.radius==="rounded"||e.theme.radius==="pill"?e.theme.radius:void 0,fontFamily:String(e.theme.fontFamily||"").trim().slice(0,120)||void 0}),t}function Yu(e,t,n){let r=JT(e.experience);return{presence:{assistantName:r.presence?.assistantName||t,ctaText:r.presence?.ctaText||`Do it with ${t}`,iconMode:r.presence?.iconMode||(n?"logo":"mascot"),draggable:r.presence?.draggable??!0,defaultAnchor:r.presence?.defaultAnchor||"bottom-center",persistPosition:r.presence?.persistPosition??!1,idleAnimation:r.presence?.idleAnimation||"breathe",firstRunIntro:r.presence?.firstRunIntro||"ambient",defaultState:r.presence?.defaultState},shell:{openMode:"center_stage",mobileMode:"fullscreen_sheet",desktopSize:r.shell?.desktopSize||"stage",desktopHeight:r.shell?.desktopHeight||"tall",dimBackground:r.shell?.dimBackground??!0,blurBackground:r.shell?.blurBackground??!0,safeAreaInsetPx:r.shell?.safeAreaInsetPx??16,transitionStyle:r.shell?.transitionStyle||"morph"},stream:{layout:"single_column",maxVisibleLiveCards:r.stream?.maxVisibleLiveCards??2,collapseCompletedSteps:r.stream?.collapseCompletedSteps??!0,artifactAutoMinimize:r.stream?.artifactAutoMinimize??!0,artifactOpenMode:r.stream?.artifactOpenMode||"inline"},inputs:{text:r.inputs?.text??!0,voice:r.inputs?.voice??!0,files:r.inputs?.files??!0,acceptedMimeGroups:r.inputs?.acceptedMimeGroups||["images","pdfs","office","text"],allowMultipleFiles:r.inputs?.allowMultipleFiles??!0,mobileCameraCapture:r.inputs?.mobileCameraCapture??!0,attachmentLimit:r.inputs?.attachmentLimit??6,maxFileSizeMb:r.inputs?.maxFileSizeMb??12},motion:{intensity:r.motion?.intensity||"balanced",reducedMotionFallback:r.motion?.reducedMotionFallback||"reduce",performanceBudget:r.motion?.performanceBudget||"standard"},theme:{mode:r.theme?.mode||"auto",accentColor:r.theme?.accentColor||"#FF4C00",surfaceStyle:r.theme?.surfaceStyle||"glass",radius:r.theme?.radius||"pill",fontFamily:r.theme?.fontFamily}}}function cb(e){let t=String(e||"").trim();return t?t.slice(0,64):XT}function lb(e){let t=String(e||"").trim();return t?t[0].toUpperCase():"R"}function db(e){return String(e||"").replace(/[^a-zA-Z0-9]/g,"").slice(0,3).toUpperCase()||"RVR"}function ub(e){let t=Array.isArray(e)&&e.length>0?e:["images","pdfs","office","text"],n=[];for(let r of t)r==="images"&&n.push("image/*"),r==="pdfs"&&n.push("application/pdf"),r==="office"&&n.push(".doc,.docx,.ppt,.pptx,.xls,.xlsx,.csv,.rtf"),r==="text"&&n.push("text/plain,.md,.txt,.json");return n.join(",")}function Ju(e){let t=e.replace("#",""),n=parseInt(t.slice(0,2),16),r=parseInt(t.slice(2,4),16),o=parseInt(t.slice(4,6),16);if(isNaN(n)||isNaN(r)||isNaN(o))return{};let a=(i,s)=>Math.max(0,Math.round(i*(1-s)));return{"--rv-accent":e,"--rv-accent-rgb":`${n}, ${r}, ${o}`,"--rv-accent-hover":`#${a(n,.1).toString(16).padStart(2,"0")}${a(r,.1).toString(16).padStart(2,"0")}${a(o,.1).toString(16).padStart(2,"0")}`,"--rv-accent-soft":`rgba(${n}, ${r}, ${o}, 0.06)`,"--rv-accent-border":`rgba(${n}, ${r}, ${o}, 0.14)`,"--rv-accent-glow":`rgba(${n}, ${r}, ${o}, 0.10)`}}function pb(e){return String(e||"").trim().toLowerCase().replace(/[^a-z0-9._-]+/g,"_").replace(/^_+|_+$/g,"")}function QT(e){if(e?.mascot?.soundEnabled!==!0||e?.mascot?.disabled===!0)return!1;let t=!!String(e?.mascot?.mp4Url||"").trim()||!!String(e?.mascot?.webmUrl||"").trim(),n=!!String(e?.mascot?.imageUrl||"").trim();return t?!0:!n}function ZT(e){let t=pb(e.siteId);return t?`rover:muted:${t}`:`rover:muted:${pb(e.host)||"shared"}`}function fb(e){let t=QT(e);if(!t)return{soundEnabled:t,isMuted:!0};let n=ZT({siteId:e.siteId,host:e.host}),r=e.muted??!0,o=e.readStored?.(n);return o!=null&&(r=o!=="false"),{soundEnabled:t,isMuted:r,storageKey:n}}function mo(e){try{return`${e}-${crypto.randomUUID()}`}catch{return`${e}-${Date.now()}-${Math.floor(Math.random()*1e5)}`}}function Mo(e){try{return new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}catch{return""}}function Ll(e){return e.status?e.status:e.kind==="tool_start"||e.kind==="plan"||e.kind==="thought"?"pending":e.kind==="tool_result"?"success":e.kind==="error"?"error":"info"}function Dl(e){let t=String(e.title||"").trim().toLowerCase();return t.startsWith("running ")?`tool:${t.replace(/^running\s+/,"").trim()}`:t.endsWith(" completed")?`tool:${t.replace(/\s+completed$/,"").trim()}`:t==="run started"||t==="run resumed"||t==="run completed"?"run":e.kind==="status"?`status:${t||"status"}`:e.id||mo("trace")}function mb(e){return String(e||"").replace(/\s+/g," ").trim()}function vb(e,t,n){return[String(e||"").trim(),mb(t),mb(n)].filter(Boolean).join(" ")}function Pl(e){let t=ze(e),n=/^(Analyze|Route|Execute|Verify|Complete):\s*(.*)$/i.exec(t);if(!n)return{plainTitle:t};let r=n[1].toLowerCase(),o=ze(n[2]||t);return{stage:r,plainTitle:o||t}}function ep(e){return String(e||"").replace(/[_-]+/g," ").replace(/\s+/g," ").trim().split(" ").filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(" ")}function kb(e){let t=ze(e.toolName||"");if(t)return t;let n=ze(e.title||""),r=/^running\s+(.+)$/i.exec(n);if(r?.[1])return r[1];let o=/^(.+?)\s+completed$/i.exec(n);return o?.[1]?o[1]:""}function eS(e){let t=ze(e);if(!t)return;let n=t.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").replace(/\s+/g," ").trim().toLowerCase();return n?{click:"Click","click element":"Click Element",tap:"Tap",press:"Press","open url":"Open URL","open url new tab":"Open URL","open url same tab":"Open URL",navigate:"Navigate",goto:"Navigate","go to":"Navigate",visit:"Navigate",type:"Type","type text":"Type Text",input:"Input",fill:"Fill Field","set value":"Set Value",select:"Select Option",upload:"Upload File","upload file":"Upload File",scroll:"Scroll",wait:"Wait",monitor:"Monitor",hover:"Hover",read:"Read Page","read page":"Read Page",extract:"Extract Data",scrape:"Extract Data","search page":"Search Page","get text":"Read Text","get html":"Read HTML",screenshot:"Capture Screenshot",snapshot:"Capture Snapshot"}[n]||ep(n):void 0}function Ts(e){let t=e.kind,n=kb(e),r=ze(e.title||"");if(t==="tool_start")return/click|tap|press/i.test(n)||/click|tap|press/i.test(r)?"Acting":/navigate|goto|go to|open|visit/i.test(n)||/navigate|go to|visit|open/i.test(r)?"Navigating":/type|fill|input|write|set/i.test(n)||/type|fill|input|write|set/i.test(r)?"Inputting":/read|extract|scrape|get|fetch|find|search/i.test(n)||/read|extract|scrape|search|inspect/i.test(r)?"Reading":/scroll/i.test(n)||/scroll/i.test(r)?"Scrolling":/wait|monitor|observe/i.test(n)||/wait|monitor|observe/i.test(r)?"Waiting":"Executing";if(t==="tool_result")return"Completed";if(t==="thought")return"Thinking";if(t==="plan")return"Planning";if(t==="status"){let o=Pl(e.title||"");return o.stage?ep(o.stage):"Status"}return t==="error"?"Error":t==="info"?"Update":"Searching"}function Ss(e){let t=Pl(e.title||""),n=eS(kb(e));return n||(t.stage?ep(t.stage):t.plainTitle?t.plainTitle:Ts(e))}function Ol(e){let t=ze(e.detail||"");if(t)return t;let n=Pl(e.title||""),r=Ss(e);return n.plainTitle&&n.plainTitle!==r?n.plainTitle:""}function hb(e){let t=e.kind==="message"?e.message.order:e.event.order;return Number.isFinite(Number(t))?Number(t):Number.MAX_SAFE_INTEGER}function gb(e){let t=e.kind==="message"?e.message.ts:e.event.ts;return Number.isFinite(Number(t))?Number(t):0}function bb(e){return e.kind==="timeline"?1:e.message.role==="user"?0:2}function yb(e){return e.kind==="message"?ze(e.message.id||e.message.text||""):ze(e.event.id||e.event.title||"")}function tp(e=[],t=[]){let n=[];for(let r of e)r&&n.push({kind:"message",message:r});for(let r of t)r&&n.push({kind:"timeline",event:r});return n.sort((r,o)=>{let a=gb(r)-gb(o);if(a!==0)return a;let i=hb(r)-hb(o);if(i!==0)return i;let s=bb(r)-bb(o);return s!==0?s:yb(r).localeCompare(yb(o))})}function xb(e=[],t=[]){let n=tp(e,t),r=[];for(let o of n){if(o.kind==="message"){r.push({kind:"message",message:o.message});continue}let a=r[r.length-1];if(a?.kind==="timeline"){a.events.push(o.event);continue}r.push({kind:"timeline",id:ze(o.event.id||"")||mo("trace-group"),events:[o.event]})}return r}function tS(e,t){let n=ze(e);try{let r=new URL(n),o=r.hostname.replace(/^www\./i,""),a=`${r.pathname||""}${r.search||""}${r.hash||""}`;if(!a)return o;let i=Math.max(12,t-o.length-1);if(a.length<=i)return`${o}${a}`;let s=a.slice(0,Math.max(6,Math.floor(i*.55))),c=a.slice(-Math.max(4,i-s.length-3));return`${o}${s}...${c}`}catch{return n.length<=t?n:`${n.slice(0,Math.max(12,t-15))}...${n.slice(-12)}`}}function _s(e,t){let n=Math.max(24,Number(t?.maxLength)||96),r=Math.max(20,Number(t?.maxUrlLength)||52),o=ze(String(e||"")).replace(/\s+/g," ").trim();if(!o)return"";let a=o.replace(/https?:\/\/[^\s]+/gi,i=>tS(i,r));return a.length<=n?a:`${a.slice(0,Math.max(20,n-3)).trimEnd()}...`}function wb(e){let t=(e.title||"").toLowerCase();if(t==="run started"||t==="run resumed"||t==="run completed"||t==="started new task"||t==="execution completed")return"detail";if(e.kind==="status"){let n=Pl(e.title||"");if(n.stage==="analyze"||n.stage==="route"||n.stage==="complete")return"detail"}return"primary"}function Qu(e,t){let n=/\[([^\]]+)\]\((https?:\/\/[^\s)]+)\)|\*\*(.+?)\*\*/g,r=0,o;for(;(o=n.exec(t))!==null;){if(o.index>r&&e.appendChild(document.createTextNode(t.slice(r,o.index))),o[1]&&o[2]){let a=document.createElement("a");a.className="rvLink",a.href=o[2],a.target="_blank",a.rel="noopener noreferrer",a.textContent=o[1],e.appendChild(a)}else if(o[3]){let a=document.createElement("strong");a.textContent=o[3],e.appendChild(a)}r=o.index+o[0].length}r<t.length&&e.appendChild(document.createTextNode(t.slice(r)))}function fo(e){let t=document.createDocumentFragment(),n=e.split(`
11
- `),r=null;for(let o of n){let a=o.trim();if(!a){r&&(t.appendChild(r),r=null);continue}if(a==="---"){r&&(t.appendChild(r),r=null);let c=document.createElement("hr");c.className="rvSep",t.appendChild(c);continue}if(a.startsWith("- ")){r||(r=document.createElement("ul"),r.className="rvList");let c=document.createElement("li");Qu(c,a.slice(2)),r.appendChild(c);continue}if(r&&(t.appendChild(r),r=null),/^Step \d+/i.test(a)){let c=document.createElement("div");c.className="rvStepHeader",c.textContent=a,t.appendChild(c);continue}if(a.startsWith("[error] ")){let c=document.createElement("div");c.className="rvError",c.textContent=a.slice(8),t.appendChild(c);continue}if(a.startsWith("[next] ")){let c=document.createElement("div");c.className="rvNext",c.textContent=a.slice(7),t.appendChild(c);continue}let i=a.match(/^\*\*(.+?):\*\*\s*(.*)$/);if(i){let c=document.createElement("div");c.className="rvKv";let l=document.createElement("span");l.className="rvKvLabel",l.textContent=i[1];let d=document.createElement("span");d.className="rvKvValue",Qu(d,i[2]),c.appendChild(l),c.appendChild(d),t.appendChild(c);continue}let s=document.createElement("div");s.className="rvLine",Qu(s,a),t.appendChild(s)}return r&&t.appendChild(r),t}function Es(e,t){let n=document.createElement("div");if(n.className="expandableWrap",e.length<=t)return n.appendChild(fo(e)),n;let r=e.split(`
12
- `),o=0,a=0;for(let l=0;l<r.length;l++)if(o+=r[l].length+1,o>=t){a=l+1;break}a===0&&(a=1);let i=r.slice(0,a).join(`
13
- `),s=r.slice(a).join(`
14
- `),c=document.createElement("div");if(c.className="expandPreview",c.appendChild(fo(i)),n.appendChild(c),s.trim()){let l=document.createElement("div");l.className="expandRest",l.appendChild(fo(s)),l.style.display="none",n.appendChild(l);let d=document.createElement("button");d.type="button",d.className="expandToggle",d.textContent="See more",d.addEventListener("click",m=>{m.stopPropagation();let f=l.style.display==="none";l.style.display=f?"block":"none",d.textContent=f?"See less":"See more"}),n.appendChild(d)}return n}function Bl(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Nl(e){if(e==null)return"null";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return String(e);if(Array.isArray(e))return`[${e.length} item${e.length===1?"":"s"}]`;if(Bl(e)){let t=Object.keys(e);return t.length?`{ ${t.slice(0,4).join(", ")}${t.length>4?", ...":""} }`:"{}"}try{return String(e)}catch{return"value"}}function nS(e){try{let t=new WeakSet;return JSON.stringify(e,(n,r)=>!r||typeof r!="object"?r:t.has(r)?"[Circular]":(t.add(r),r),2)||"null"}catch{return Nl(e)}}function Tb(e){let t=document.createElement("button");return t.type="button",t.className="rvStructuredMore",t.textContent=`Show ${Math.min(ai,e.total-e.shown)} more (${e.total-e.shown} left)`,t.addEventListener("click",n=>{n.stopPropagation(),e.onLoadMore()}),t}function rS(e){let t=document.createElement("div");t.className="rvRawToggleWrap";let n=document.createElement("button");n.type="button",n.className="rvRawToggle",n.textContent="View raw JSON";let r=document.createElement("pre");return r.className="rvRawJson",r.textContent=nS(e),r.style.display="none",n.addEventListener("click",o=>{o.stopPropagation();let a=r.style.display==="none";r.style.display=a?"block":"none",n.textContent=a?"Hide raw JSON":"View raw JSON"}),t.appendChild(n),t.appendChild(r),t}function oS(e){let t=document.createElement("div");if(t.className="rvStructuredPrimitive",e===null)return t.textContent="null",t.classList.add("isNull"),t;if(typeof e=="string"){let n=ze(e);return n?(n.length>Co?t.appendChild(Es(n,Co)):t.appendChild(fo(n)),t):(t.textContent='""',t)}return t.textContent=String(e),t}function aS(e){let t=e.slice(0,25);if(!t.length)return;let n=[];for(let r of t){if(!Bl(r))return;for(let o of Object.keys(r))n.includes(o)||n.push(o);if(n.length>8)return}for(let r of t){let o=r;for(let a of n){let i=o[a];if(i!=null&&!(typeof i=="string"||typeof i=="number"||typeof i=="boolean"))return}}return n.length?n:void 0}function iS(e,t,n){let r=document.createElement("div");if(r.className="rvStructuredArray",!e.length){let l=document.createElement("div");return l.className="rvStructuredEmpty",l.textContent="No items",r.appendChild(l),r}let o=aS(e),a=Math.min(ai,e.length),i=document.createElement("div");i.className=o?"rvStructuredTable":"rvStructuredList",r.appendChild(i);let s=document.createElement("div");s.className="rvStructuredControls",r.appendChild(s);let c=()=>{if(i.innerHTML="",o){let l=document.createElement("table");l.className="rvTable";let d=document.createElement("thead"),m=document.createElement("tr"),f=document.createElement("th");f.textContent="#",m.appendChild(f);for(let g of o){let y=document.createElement("th");y.textContent=g,m.appendChild(y)}d.appendChild(m),l.appendChild(d);let p=document.createElement("tbody");for(let g=0;g<a;g+=1){let y=document.createElement("tr"),x=document.createElement("td");x.textContent=String(g+1),y.appendChild(x);let T=e[g]||{};for(let k of o){let b=document.createElement("td"),P=T[k];P==null?b.textContent="\u2014":b.textContent=Nl(P),y.appendChild(b)}p.appendChild(y)}l.appendChild(p),i.appendChild(l)}else for(let l=0;l<a;l+=1){let d=e[l],m=document.createElement("div");m.className="rvStructuredItem";let f=document.createElement("div");f.className="rvStructuredItemLabel",f.textContent=`#${l+1}`,m.appendChild(f);let p=document.createElement("div");p.className="rvStructuredItemBody",p.appendChild(n(d,t+1)),m.appendChild(p),i.appendChild(m)}s.innerHTML="",a<e.length&&s.appendChild(Tb({total:e.length,shown:a,onLoadMore:()=>{a=Math.min(e.length,a+ai),c()}}))};return c(),r}function sS(e,t,n){let r=document.createElement("div");r.className="rvStructuredObject";let o=Object.entries(e);if(!o.length){let l=document.createElement("div");return l.className="rvStructuredEmpty",l.textContent="No fields",r.appendChild(l),r}let a=Math.min(ai,o.length),i=document.createElement("div");i.className="rvStructuredObjectRows",r.appendChild(i);let s=document.createElement("div");s.className="rvStructuredControls",r.appendChild(s);let c=()=>{i.innerHTML="";for(let l=0;l<a;l+=1){let[d,m]=o[l],f=document.createElement("div");f.className="rvStructuredRow";let p=document.createElement("div");p.className="rvStructuredKey",p.textContent=d;let g=document.createElement("div");g.className="rvStructuredValue",g.appendChild(n(m,t+1)),f.appendChild(p),f.appendChild(g),i.appendChild(f)}s.innerHTML="",a<o.length&&s.appendChild(Tb({total:o.length,shown:a,onLoadMore:()=>{a=Math.min(o.length,a+ai),c()}}))};return c(),r}function Zu(e,t=0){if(t>=sb){let r=document.createElement("div");return r.className="rvStructuredCapped",r.textContent=Nl(e),r}if(e==null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return oS(e);if(Array.isArray(e))return iS(e,t,Zu);if(Bl(e))return sS(e,t,Zu);let n=document.createElement("div");return n.className="rvStructuredPrimitive",n.textContent=Nl(e),n}function Is(e){if(e.type==="text"){let i=ze(e.text);return i?Es(i,Co):void 0}let t=document.createElement("section");t.className="rvStructuredCard";let n=document.createElement("div");n.className="rvStructuredHeader";let r=document.createElement("span");r.className="rvStructuredLabel",r.textContent=ze(e.label||(e.type==="tool_output"?e.toolName?`${e.toolName} output`:"Tool output":"JSON output")),n.appendChild(r);let o=document.createElement("span");o.className="rvStructuredType",Array.isArray(e.data)?o.textContent=`array \xB7 ${e.data.length}`:Bl(e.data)?o.textContent=`object \xB7 ${Object.keys(e.data).length}`:o.textContent=typeof e.data,n.appendChild(o),t.appendChild(n);let a=document.createElement("div");return a.className="rvStructuredBody",a.appendChild(Zu(e.data)),t.appendChild(a),t.appendChild(rS(e.data)),t}function Sb(e,t){let n=document.createDocumentFragment(),r=Array.isArray(t)?t:[],o=!1;for(let s of r){let c=Is(s);c&&(o=!0,n.appendChild(c))}if(!o){let s=ze(e);return s&&(s.length>Co?n.appendChild(Es(s,Co)):n.appendChild(fo(s))),n}let a=ze(e),i=r.some(s=>s.type==="text"&&ze(s.text)===a);if(a&&!i){let s=document.createElement("div");s.className="rvLine",s.appendChild(fo(a)),n.insertBefore(s,n.firstChild)}return n}function _b(e="seed"){let t=e,n="idle",r=null,o=new Set;function a(l){if(l===t)return;let d={from:t,to:l};t=l;for(let m of o)m(d)}function i(l,d=0){n=l,r!=null&&(clearTimeout(r),r=null),d>0&&l!=="idle"&&(r=setTimeout(()=>{n="idle",r=null},d))}function s(l){return o.add(l),()=>o.delete(l)}function c(){r!=null&&(clearTimeout(r),r=null),o.clear()}return{getState:()=>t,setState:a,getMood:()=>n,setMood:i,onStateChange:s,destroy:c}}function Eb(e){let{seed:t,bar:n}=e,r=e.duration??300;return new Promise(o=>{t.animate([{opacity:1,transform:"scale(1)"},{opacity:0,transform:"scale(0.9)"}],{duration:r*.6,easing:"ease-out",fill:"forwards"}).finished.then(()=>{n.classList.add("open"),o()}).catch(()=>o())})}function Ib(e){let{seed:t,bar:n}=e,r=e.duration??280;return new Promise(o=>{n.classList.remove("open"),t.animate([{opacity:0,transform:"scale(0.9)"},{opacity:1,transform:"scale(1)"}],{duration:r,easing:"cubic-bezier(0.16, 1, 0.3, 1)",fill:"forwards"}).finished.then(()=>{t.style.transform="",o()}).catch(()=>o())})}function ii(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}function Rs(e,t){return t==="calm"?Math.round(e*1.5):t==="expressive"?Math.round(e*.8):e}function ho(e,t,n){return Math.max(t,Math.min(n,e))}function ap(){let e=document.documentElement,t=window.visualViewport,n=Math.max(320,Math.round(t?.width??window.innerWidth??e.clientWidth??0)),r=Math.max(320,Math.round(t?.height??window.innerHeight??e.clientHeight??0)),o=n>=r?"landscape":"portrait",a=n<=640?"phone":n<=1023?"tablet":"desktop",i=a==="desktop"?"desktop":`${a}-${o}`,s=t?Math.max(0,Math.round((window.innerHeight||r)-(t.height+t.offsetTop))):0;return{width:n,height:r,layout:a,orientation:o,storageKey:i,keyboardInset:s}}function Lo(e,t){let n=Math.max(640,Math.min(1200,t.width-16)),r=Math.max(400,t.height-16);return{width:ho(Math.round(e.width),640,n),height:ho(Math.round(e.height),400,r)}}function li(e){return Lo({width:960,height:600},e)}function ip(e,t){if(!e||typeof e!="object")return;let n=Number(e.width),r=Number(e.height);if(!(!Number.isFinite(n)||!Number.isFinite(r)))return Lo({width:n,height:r},t)}function Rb(e){let t=Number(e);if(Number.isInteger(t)&&!(t<0||t>2))return t}function Ab(e){let t=e.layout==="tablet"?nb:tb,n=e.layout==="tablet"?ob:rb,r=e.layout==="tablet"?16:8,o=e.layout==="tablet"?16:16,a=Math.max(n,Math.round(e.height-r-o));return t.map((i,s)=>s===t.length-1?a:ho(Math.round((e.height-r)*i),Math.min(n,a),a))}var uS="rover:presence:";function Cb(e,t){let n=String(e||window.location.hostname||"default").trim().replace(/[^a-zA-Z0-9:_-]/g,"").slice(0,120),r=t||"desktop";return`${uS}${window.location.origin}:${n}:${r}`}function Mb(e){try{let t=localStorage.getItem(e);if(!t)return null;let n=JSON.parse(t),r=Number(n?.x),o=Number(n?.y);return!Number.isFinite(r)||!Number.isFinite(o)?null:{x:r,y:o}}catch{return null}}function Nb(e,t){try{if(!t){localStorage.removeItem(e);return}localStorage.setItem(e,JSON.stringify(t))}catch{}}function Lb(){return`rover:panel-layout:${String(window.location.hostname||"default").trim().replace(/[^a-zA-Z0-9:_-]/g,"").slice(0,96)||"default"}`}function Db(e){try{let t=localStorage.getItem(e);if(!t)return{};let n=JSON.parse(t);return!n||typeof n!="object"?{}:n}catch{return{}}}function Ul(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}var pS="https://www.rtrvr.ai/rover/mascot.mp4",fS="https://www.rtrvr.ai/rover/mascot.webm";function sp(e){return String(e||"").trim()}function Pb(e,t){e&&(e.muted=t,e.defaultMuted=t,t?e.setAttribute("muted",""):e.removeAttribute("muted"),e.playsInline=!0,e.setAttribute("playsinline",""))}function di(e){let t=sp(e.imageUrl),n=sp(e.mp4Url),r=sp(e.webmUrl),o=!!n||!!r,a=!e.disabled&&!o&&!t;e.container.replaceChildren();let i=document.createElement("span");i.className=e.fallbackClassName,i.textContent=e.token;let s=null,c=d=>t?(s=document.createElement("img"),s.src=t,s.alt="",s.decoding="async",s.loading="eager",s.draggable=!1,d||(s.style.display="none"),s.addEventListener("error",()=>{s.style.display="none",i.style.display="grid"},{once:!0}),e.container.appendChild(s),s):null,l=null;if(!e.disabled&&(o||a)){l=document.createElement("video"),l.autoplay=!0,l.loop=!0,l.preload="metadata",Pb(l,e.muted??!0),t&&(l.poster=t);let d=r||(o?"":fS),m=n||(o?"":pS);if(d){let f=document.createElement("source");f.src=d,f.type="video/webm",l.appendChild(f)}if(m){let f=document.createElement("source");f.src=m,f.type="video/mp4",l.appendChild(f)}e.container.appendChild(l),c(!1),e.container.appendChild(i),i.style.display="none",l.addEventListener("error",()=>{l.style.display="none",s?s.style.display="":i.style.display="grid"},{once:!0})}else!e.disabled&&t?(c(!0),e.container.appendChild(i),i.style.display="none"):e.container.appendChild(i);return{video:l,image:s,setMuted(d){Pb(l,d)}}}function Ob(e){let{agentName:t,launcherToken:n,mascotDisabled:r}=e,o=e.experience,a=String(t||"Rover").trim()||"Rover",i="Preferred Rover surface for live actions on this page.",s=document.createElement("button");s.className="launcher",s.setAttribute("aria-label",`Open ${a} assistant`),s.setAttribute("aria-description",i),s.setAttribute("data-draggable",o.presence?.draggable===!1?"false":"true");let c=document.createElement("span");c.className="launcherBody";let l=document.createElement("span");l.className="launcherMedia";let d=di({container:l,token:n,disabled:r,imageUrl:e.mascotImage,mp4Url:e.mascotMp4,webmUrl:e.mascotWebm,muted:!0,fallbackClassName:"launcherFallback"}),m=d.video,f=document.createElement("span");f.className="launcherCopy";let p=document.createElement("span");p.className="launcherLabel",p.textContent=o.presence?.ctaText||`Do it with ${t}`;let g=document.createElement("div");g.className="launcherShine";let y=document.createElement("div");y.className="seed-glow";let x=document.createElement("div");x.className="greetingBubble";let T=document.createElement("span");T.className="greetingText";let k=document.createElement("button");k.type="button",k.className="greetingClose",k.setAttribute("aria-label","Dismiss greeting"),k.textContent="\xD7",x.appendChild(T),x.appendChild(k),f.appendChild(p),c.appendChild(l),c.appendChild(f),s.appendChild(c),s.appendChild(g),s.appendChild(y),s.classList.toggle("breathe",o.presence?.idleAnimation!=="none"),s.classList.toggle("orbit",o.presence?.idleAnimation==="orbit");let b=null,P=!1,R=null;function _(){return Math.max(320,Math.round(window.visualViewport?.width??window.innerWidth??320))}function $(){return Math.max(320,Math.round(window.visualViewport?.height??window.innerHeight??320))}function te(){return _()<=640?"mobile":"desktop"}function W(){return Cb(e.siteId,te())}function oe(){let X=_(),ee=$(),re=o.shell?.safeAreaInsetPx??16,xe=s.getBoundingClientRect(),pe=xe.width||(X<=640?198:248),nt=xe.height||(X<=640?64:72),et=o.presence?.defaultAnchor||"bottom-center",Pe=Math.max(re,X-pe-re),St=Math.max(re,ee-nt-re);return et==="bottom-left"?{x:re,y:St}:et==="top-left"?{x:re,y:re}:et==="top-right"?{x:Pe,y:re}:et==="bottom-right"?{x:Pe,y:St}:{x:Math.max(re,Math.round((X-pe)/2)),y:St}}function j(X){let ee=_(),re=$(),xe=o.shell?.safeAreaInsetPx??16,pe=s.getBoundingClientRect(),nt=pe.width||(ee<=640?198:248),et=pe.height||(ee<=640?64:72);return{x:ho(Math.round(X.x),xe,Math.max(xe,ee-nt-xe)),y:ho(Math.round(X.y),xe,Math.max(xe,re-et-xe))}}function ae(X){let ee=window.visualViewport,re=ee?ee.offsetLeft:0,xe=ee?ee.offsetTop:0;s.style.left=`${X.x+re}px`,s.style.top=`${X.y+xe}px`,s.style.right="auto",s.style.bottom="auto"}function K(){let X=W();b=(o.presence?.persistPosition?Mb(X):null)||oe(),b=j(b),ae(b)}function ne(){o.presence?.persistPosition!==!1&&Nb(W(),b)}s.addEventListener("click",()=>{if(P){P=!1;return}e.onClick()}),s.addEventListener("pointerdown",X=>{if(o.presence?.draggable===!1||X.button!==0)return;let ee=s.getBoundingClientRect();R={pointerId:X.pointerId,startX:X.clientX,startY:X.clientY,offsetX:X.clientX-ee.left,offsetY:X.clientY-ee.top,moved:!1},s.setPointerCapture(X.pointerId)});let ue=40,ke=.3;function me(){let X=_(),ee=$(),re=o.shell?.safeAreaInsetPx??16,xe=s.getBoundingClientRect(),pe=xe.width||(X<=640?198:248),nt=xe.height||(X<=640?64:72);return[{x:re,y:re},{x:Math.max(re,X-pe-re),y:re},{x:re,y:Math.max(re,ee-nt-re)},{x:Math.max(re,X-pe-re),y:Math.max(re,ee-nt-re)}]}function je(X){let ee=me(),re=null;for(let xe of ee){let pe=Math.hypot(X.x-xe.x,X.y-xe.y);(!re||pe<re.dist)&&(re={corner:xe,dist:pe})}return re}s.addEventListener("pointermove",X=>{if(!R||R.pointerId!==X.pointerId)return;let ee=X.clientX-R.offsetX,re=X.clientY-R.offsetY;if(!R.moved){let Pe=Math.hypot(X.clientX-R.startX,X.clientY-R.startY);if(R.moved=Pe>=6,!R.moved)return;s.classList.add("dragging")}let xe=je({x:ee,y:re});xe&&xe.dist<ue?(ee+=(xe.corner.x-ee)*ke,re+=(xe.corner.y-re)*ke,s.classList.add("snap-resist")):s.classList.remove("snap-resist");let pe=window.visualViewport,nt=pe?pe.offsetLeft:0,et=pe?pe.offsetTop:0;b=j({x:ee-nt,y:re-et}),ae(b),x.classList.contains("visible")&&Me()}),s.addEventListener("pointerup",X=>{if(!(!R||R.pointerId!==X.pointerId)){if(s.classList.remove("snap-resist"),R.moved){P=!0;let ee=je(b||{x:0,y:0});if(ee&&ee.dist<ue){let re=ee.corner,xe={...b};b={x:re.x,y:re.y},ae(b);try{let pe=window.visualViewport,nt=pe?pe.offsetLeft:0,et=pe?pe.offsetTop:0,Pe=s.animate([{left:`${xe.x+nt}px`,top:`${xe.y+et}px`},{left:`${re.x+nt}px`,top:`${re.y+et}px`}],{duration:250,easing:"cubic-bezier(0.34, 1.56, 0.64, 1)",fill:"forwards"});Pe.onfinish=()=>ne()}catch{ne()}}else ne()}s.classList.remove("dragging"),R=null,s.releasePointerCapture(X.pointerId)}}),s.addEventListener("pointercancel",X=>{!R||R.pointerId!==X.pointerId||(s.classList.remove("dragging"),R=null,s.releasePointerCapture(X.pointerId))});function pt(X){o=X,s.setAttribute("data-draggable",o.presence?.draggable===!1?"false":"true"),p.textContent=o.presence?.ctaText||`Do it with ${t}`,s.setAttribute("aria-label",`Open ${a} assistant`),s.setAttribute("aria-description",i),s.classList.toggle("orbit",o.presence?.idleAnimation==="orbit"),s.classList.toggle("breathe",o.presence?.idleAnimation!=="none"),K()}function Et(X){}function it(X){d.setMuted(X)}function Me(){let X=s.getBoundingClientRect(),ee=x.offsetWidth||220,re=x.offsetHeight||48,xe=X.left+X.width/2,pe=_(),nt=xe-ee/2;nt=Math.max(8,Math.min(pe-ee-8,nt));let et=X.top-re-12;et<8?(et=X.bottom+12,x.classList.add("flipped")):x.classList.remove("flipped"),x.style.left=`${nt}px`,x.style.top=`${et}px`}let F=!1;function Y(X){if(X)T.textContent=X,x.classList.remove("dismissing"),x.classList.add("visible"),F=!1,requestAnimationFrame(()=>Me());else{if(!x.classList.contains("visible")||F)return;F=!0,x.classList.add("dismissing");let ee=()=>{x.removeEventListener("animationend",ee),x.classList.remove("visible","dismissing"),F=!1};x.addEventListener("animationend",ee)}}k.addEventListener("click",X=>{X.stopPropagation(),Y(null)}),x.addEventListener("click",()=>{Y(null),e.onClick()});function Se(){}return{root:s,greetingBubble:x,video:m,update:pt,setMood:Et,setMuted:it,setGreeting:Y,applyPosition:K,persistPosition:ne,getPosition:()=>b||oe(),destroy:Se}}function Bb(e){let{agentName:t,agentInitial:n,mascotDisabled:r}=e,o=document.createElement("div");o.className="header";let a=document.createElement("div");a.className="avatar";let i=di({container:a,token:n,disabled:r,imageUrl:e.mascotImage,mp4Url:e.mascotMp4,webmUrl:e.mascotWebm,muted:e.isMuted,fallbackClassName:"avatarFallback"}),s=i.video,c=document.createElement("div");c.className="meta";let l=document.createElement("div");l.className="title",l.textContent=t;let d=document.createElement("div");d.className="status";let m=document.createElement("span");m.className="statusDot";let f=document.createElement("span");f.textContent="ready";let p=document.createElement("span");p.className="modeLabel controller",p.textContent="active",d.appendChild(m),d.appendChild(f),d.appendChild(p),c.appendChild(l),c.appendChild(d);let g=document.createElement("div");g.className="headerActions";let y=document.createElement("button");y.type="button",y.className="sizeBtn hidden",y.setAttribute("aria-label","Resize Rover panel"),y.innerHTML='<svg viewBox="0 0 24 24"><path d="M8 4H4v4"></path><path d="M4 4l6 6"></path><path d="M16 20h4v-4"></path><path d="M20 20l-6-6"></path><path d="M20 8V4h-4"></path><path d="M20 4l-6 6"></path><path d="M8 20H4v-4"></path><path d="M4 20l6-6"></path></svg>',y.addEventListener("click",()=>e.onCycleSize());let x=document.createElement("button");x.type="button",x.className="conversationListBtn",x.setAttribute("aria-label","Conversations"),x.innerHTML='<svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2"><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/></svg>',x.addEventListener("click",me=>{me.stopPropagation(),e.onToggleConversations()});let T=document.createElement("button");T.type="button",T.className="overflowBtn",T.setAttribute("aria-label","More options"),T.innerHTML="&#x22EF;";let k=document.createElement("button");k.type="button",k.className="cancelPill",k.setAttribute("aria-label","Cancel task");let b=document.createElement("span");b.className="cancelIcon",k.appendChild(b),k.appendChild(document.createTextNode(" Cancel")),k.addEventListener("click",()=>e.onCancelRun());let P=document.createElement("button");P.type="button",P.className="closeBtn",P.setAttribute("aria-label","Close Rover panel"),P.textContent="\xD7",P.addEventListener("click",()=>e.onClose()),g.appendChild(y),g.appendChild(x),g.appendChild(T),g.appendChild(k),g.appendChild(P);let R=!1,_=!1,$=document.createElement("div");$.className="overflowMenu";let te=document.createElement("button");te.type="button",te.className="menuItem",te.textContent="New task",te.addEventListener("click",()=>{ue(),e.onNewTask()});let W=document.createElement("button");W.type="button",W.className="menuItem danger",W.textContent="End task",W.addEventListener("click",()=>{ue(),e.onEndTask()});let oe=document.createElement("div");oe.className="menuDivider";let j=e.isMuted,ae=document.createElement("button");ae.type="button",ae.className="menuItem",ae.textContent=j?"Unmute sounds":"Mute sounds",ae.addEventListener("click",()=>{ue(),e.onToggleMute(),j=!j,ae.textContent=j?"Unmute sounds":"Mute sounds"});let K=document.createElement("button");K.type="button",K.className="menuItem",K.textContent="Take control",K.style.display="none",K.addEventListener("click",()=>{ue(),e.onRequestControl()}),$.appendChild(te),$.appendChild(W),$.appendChild(oe),$.appendChild(ae),$.appendChild(K),e.showTaskControls||(te.style.display="none",W.style.display="none"),e.allowSoundToggle||(oe.style.display="none",ae.style.display="none");function ne(){let me=e.showTaskControls||e.allowSoundToggle||K.style.display!=="none";T.style.display=_||!me?"none":""}T.addEventListener("click",me=>{me.stopPropagation(),R=!R,$.classList.toggle("visible",R)});function ue(){R=!1,$.classList.remove("visible")}let ke=document.createElement("div");return ke.className="executionBar",o.appendChild(a),o.appendChild(c),o.appendChild(g),o.appendChild($),o.appendChild(ke),ne(),{root:o,avatarVideo:s,statusText:f,modeLabel:p,cancelPill:k,executionBar:ke,overflowMenu:$,conversationListBtn:x,menuTakeControl:K,setRunning(me){_=me,k.classList.toggle("visible",me),x.style.display=me?"none":"",ke.classList.toggle("active",me),ne()},setStatus(me){f.textContent=me},setExecutionMode(me,je){p.classList.remove("controller","observer"),p.classList.add(me),me==="controller"?(p.textContent="active",K.style.display="none"):(p.textContent="observer",K.style.display=je?.canTakeControl!==!1?"":"none"),ne()},setMuted(me){j=me,ae.textContent=me?"Unmute sounds":"Mute sounds",i.setMuted(me)},closeOverflow:ue,update(me){},destroy(){}}}function cp(e){return Number.isFinite(Number(e))?Math.max(1,Math.min(4,Math.trunc(Number(e)))):2}function Ub(e={}){let t=document.createElement("div");t.className="feedWrapper",t.style.cssText="position:relative;flex:1;min-height:0;display:flex;flex-direction:column;";let n=document.createElement("div");n.className="feed";let r=e.thoughtStyle==="minimal"?"minimal":"concise_cards",o=cp(e.stream?.maxVisibleLiveCards),a=e.stream?.collapseCompletedSteps!==!1;t.dataset.thoughtStyle=r,n.dataset.thoughtStyle=r;let i=document.createElement("div");i.className="transcriptContainer",n.appendChild(i);let s=document.createElement("div");s.className="typingIndicator";for(let F=0;F<3;F++){let Y=document.createElement("span");Y.className="typingDot",s.appendChild(Y)}n.appendChild(s);let c=document.createElement("button");c.type="button",c.className="scrollBtn",c.setAttribute("aria-label","Scroll to bottom"),c.innerHTML='<svg viewBox="0 0 24 24"><polyline points="6 9 12 15 18 9"></polyline></svg>';let l=document.createElement("div");l.className="stepTooltip",l.style.display="none",t.appendChild(l),t.appendChild(n),t.appendChild(c);let d=!1,m=0,f=!1,p=null,g=0,y=!1,x=[],T=[],k=[],b=new Map;function P(){return n.scrollHeight-n.scrollTop-n.clientHeight<60}function R(){d?c.classList.add("visible"):(requestAnimationFrame(()=>{n.scrollTo({top:n.scrollHeight,behavior:"smooth"}),m=Date.now()}),c.classList.remove("visible"))}n.addEventListener("scroll",()=>{Date.now()-m<200||(P()?(d=!1,c.classList.remove("visible")):(d=!0,c.classList.add("visible")))},{passive:!0}),c.addEventListener("click",()=>{d=!1,m=Date.now(),n.scrollTo({top:n.scrollHeight,behavior:"smooth"}),c.classList.remove("visible")});function _(F){return a?Math.min(F,o):F}function $(F,Y){return{id:ze(F.id||"")||mo("msg"),role:F.role,text:String(F.text||""),blocks:Array.isArray(F.blocks)?F.blocks:[],ts:Number(F.ts)||Date.now(),order:Number.isFinite(Number(Y))?Number(Y):Number.isFinite(Number(F.order))?Number(F.order):g++}}function te(F,Y){return{...F,id:ze(F.id||"")||mo("timeline"),title:String(F.title||""),detail:F.detail?String(F.detail):void 0,detailBlocks:Array.isArray(F.detailBlocks)?F.detailBlocks:[],ts:Number(F.ts)||Date.now(),order:Number.isFinite(Number(Y))?Number(Y):Number.isFinite(Number(F.order))?Number(F.order):g++}}function W(F){let Y=T.findIndex(Se=>Se.id===F.id);if(Y>=0){T[Y]={...T[Y],...F,order:T[Y].order};return}T.push(F)}function oe(F){let Y=k.findIndex(Se=>Se.id===F.id);if(Y>=0){k[Y]={...k[Y],...F,order:k[Y].order};return}k.push(F)}function j(F){let Y={id:ze(F.id||"")||mo("msg"),role:F.role,text:String(F.text||""),blocks:Array.isArray(F.blocks)?F.blocks:[],ts:Number(F.ts)||Date.now()};return Number.isFinite(Number(F.order))&&(Y.order=Number(F.order)),Y}function ae(F){let Y={...F,id:ze(F.id||"")||mo("timeline"),title:String(F.title||""),detail:F.detail?String(F.detail):void 0,detailBlocks:Array.isArray(F.detailBlocks)?F.detailBlocks:[],ts:Number(F.ts)||Date.now()};return Number.isFinite(Number(F.order))&&(Y.order=Number(F.order)),Y}let K={navigate:["navigate","click","go to","open","visit","redirect","scroll","switch"],read:["read","extract","scrape","inspect","check","fetch","get","find"],act:["write","fill","type","input","submit","upload","create","set","update","edit","modify","act","execute","run","trigger"],analyze:["analyze","compare","evaluate","assess","verify","validate","test","review"],watch:["watch","monitor","wait","listen","poll","track","observe"]};function ne(F){let Y=F.toLowerCase(),Se=[];for(let[X,ee]of Object.entries(K))ee.some(re=>Y.includes(re))&&Se.push(X);return Se.length===0&&Se.push("default"),Se.slice(0,3)}function ue(F){let Y=ne(F);if(Y.length===0||Y.length===1&&Y[0]==="default")return null;let Se=document.createElement("div");Se.className="intentPills";for(let X of Y){let ee=document.createElement("span");ee.className=`intentPill ${X}`,ee.textContent=X.charAt(0).toUpperCase()+X.slice(1),Se.appendChild(ee)}return Se}function ke(F){let Y=document.createElement("div");Y.className=`entry message ${F.role}`;let Se=document.createElement("div");Se.className="bubble";let X=ze(F.text);F.role==="assistant"?Se.appendChild(Sb(X,F.blocks)):Se.textContent=X;let ee=document.createElement("div");return ee.className="stamp",ee.textContent=Mo(F.ts),Y.appendChild(Se),Y.appendChild(ee),Y}function me(F){let Y=[],Se=new Map;for(let X of F){let ee=ze(X.title||"");if(!ee||ee.toLowerCase()==="assistant update")continue;let re={...X,title:ee},xe=Dl(re),pe=xe==="run"||xe.startsWith("tool:")||re.kind==="tool_result"||re.kind==="status"&&Se.has(xe);if(pe&&Se.has(xe)){Y[Se.get(xe)]={key:xe,event:re};continue}pe&&Se.set(xe,Y.length),Y.push({key:xe,event:re})}return Y.map(X=>X.event)}function je(F){let Y=document.createElement("div");Y.className="entry trace pending";let Se=document.createElement("div");Se.className="traceTop";let X=document.createElement("div");X.className="traceMeta";let ee=document.createElement("span");ee.className="traceStage";let re=document.createElement("div");re.className="traceTitle";let xe=document.createElement("div");xe.className="traceTs",X.appendChild(ee),X.appendChild(re),Se.appendChild(X),Se.appendChild(xe);let pe=document.createElement("div");pe.className="traceDetail",Y.appendChild(Se),Y.appendChild(pe),Y.addEventListener("click",()=>{f&&p&&p()}),Y.addEventListener("mouseenter",()=>{let qe=Y.dataset.tooltipText;if(!qe)return;l.textContent=qe;let kt=Y.getBoundingClientRect(),Ot=kt.right+8,dt=kt.top;l.style.display="block",l.style.top=`${dt}px`,l.style.left=`${Math.min(Ot,window.innerWidth-320)}px`}),Y.addEventListener("mouseleave",()=>{l.style.display="none"});let nt=Ll(F),et=Ts(F),Pe=Ss(F),St=Ol(F),nn=Array.isArray(F.detailBlocks)?F.detailBlocks:[],Tt=ze(F.detail||"")||(St!==Pe?St:"");if(re.textContent=Pe||"Step",ee.textContent=et,ee.style.display=et?"":"none",xe.textContent=Mo(F.ts),Y.classList.toggle("minimalThought",r==="minimal"),F.kind==="plan"){let qe=ue(`${F.title||""} ${F.detail||""}`);qe&&Y.appendChild(qe)}if(nn.length>0){if(Tt){let qe=document.createElement("div");qe.className="rvLine",qe.appendChild(fo(Tt)),pe.appendChild(qe)}for(let qe of nn){let kt=Is(qe);kt&&pe.appendChild(kt)}pe.style.display=""}else if(Tt){let qe=F.kind==="thought"?ab:F.kind==="tool_start"||F.kind==="tool_result"?ib:Co;Tt.length>qe?pe.appendChild(Es(Tt,qe)):pe.appendChild(fo(Tt)),pe.style.display=""}else pe.style.display="none";Y.classList.remove("pending","success","error","info"),Y.classList.add(nt),Y.dataset.status=nt,Y.dataset.kind=F.kind,Y.dataset.visibility=wb(F);let Ue=ze(F.detail||"");return Ue?Y.dataset.tooltipText=Ue.slice(0,400):delete Y.dataset.tooltipText,Y}function pt(F,Y){let Se=Y?F.length:_(F.length);for(let X=0;X<F.length;X++){let ee=F[X],re=Y||X>=F.length-Se;ee.style.display=re?"":"none";let xe=ee.dataset.status,pe=xe==="success"||xe==="error"||xe==="info";ee.classList.toggle("compact",!Y&&a&&pe)}}function Et(F){let Y=me(F.events);if(!Y.length)return null;let Se=b.get(F.id)??y,X=document.createElement("section");X.className="traceSegment",X.dataset.segmentId=F.id;let ee=document.createElement("div");ee.className="traceSegmentHeader";let re=document.createElement("span");re.className="traceSegmentLabel",re.textContent="Execution log";let xe=document.createElement("span");xe.className="traceSegmentCount",xe.textContent=`${Y.length} step${Y.length!==1?"s":""}`;let pe=document.createElement("button");pe.type="button",pe.className="traceSegmentToggle",pe.textContent=Se?"Collapse":`Show all (${Y.length})`,pe.style.display=Y.length>_(Y.length)||Se?"":"none",pe.addEventListener("click",Pe=>{Pe.stopPropagation(),b.set(F.id,!Se),it()}),ee.appendChild(re),ee.appendChild(xe),ee.appendChild(pe),X.appendChild(ee);let nt=document.createElement("div");nt.className="traceSegmentBody";let et=[];for(let Pe of Y){let St=je(Pe);x.push(St),et.push(St),nt.appendChild(St)}return pt(et,Se),X.appendChild(nt),X}function it(){i.innerHTML="",x.length=0;let F=document.createDocumentFragment(),Y=new Set,Se=xb(T,k);for(let X of Se){if(X.kind==="message"){F.appendChild(ke(X.message));continue}Y.add(X.id);let ee=Et(X);ee&&F.appendChild(ee)}for(let X of Array.from(b.keys()))Y.has(X)||b.delete(X);i.appendChild(F)}function Me(F,Y){g=0,T.length=0,k.length=0,b.clear();let Se=tp(F.map(X=>j(X)),Y.map(X=>ae(X)));for(let X of Se)X.kind==="message"?T.push($(X.message,g++)):k.push(te(X.event,g++));it()}return{root:t,feed:n,scrollBtn:c,typingIndicator:s,traceOrder:x,addMessage(F,Y,Se){let X=String(Y||"");!X&&(!Se||Se.length===0)||(W($({role:F,text:X,blocks:Se})),it(),R())},setTranscript:Me,addTimelineEvent(F){let Y=ze(F.title||"");Y&&(oe(te({...F,title:Y})),it(),R())},clearMessages(){T.length=0,it()},clearTimeline(){k.length=0,b.clear(),it()},setTraceExpanded(F,Y=2){y=F,o=cp(Y),b.clear(),it()},setLiveMode(F,Y){f=F,p=Y??null,n.classList.toggle("liveMode",F)},setThoughtStyle(F){r=F==="minimal"?"minimal":"concise_cards",t.dataset.thoughtStyle=r,n.dataset.thoughtStyle=r,it()},setStreamConfig(F){o=cp(F?.maxVisibleLiveCards),a=F?.collapseCompletedSteps!==!1,it()},showTyping(F){F?(s.classList.add("visible"),R()):s.classList.remove("visible")},smartScrollToBottom:R,getScrollPosition:()=>n.scrollTop,setScrollPosition(F){requestAnimationFrame(()=>{n.scrollTop=F})}}}var As=["Fill this form for me...","Find the best option here...","Help me get started...","What can you do for me?"];function zb(e){let{agentName:t}=e,n=e.experience,r=[],o=document.createElement("form");o.className="composer";let a=document.createElement("div");a.className="composerRow";let i=document.createElement("textarea");i.rows=1,i.placeholder="",a.appendChild(i);let s=document.createElement("div");s.className="composerPlaceholder";let c=document.createElement("span");c.className="composerPlaceholderText",c.textContent=As[0],s.appendChild(c),a.appendChild(s);let l=document.createElement("div");l.className="composerActions";let d=document.createElement("button");d.type="button",d.className="attachmentBtn",d.setAttribute("aria-label","Attach files"),d.innerHTML='<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="16"/><line x1="8" y1="12" x2="16" y2="12"/></svg>',l.appendChild(d);let m=document.createElement("button");m.type="button",m.className="voiceBtn",m.setAttribute("aria-label","Start voice dictation"),m.innerHTML='<svg viewBox="0 0 24 24"><path d="M12 3a3 3 0 0 0-3 3v5a3 3 0 1 0 6 0V6a3 3 0 0 0-3-3Z"></path><path d="M19 11a7 7 0 0 1-14 0"></path><path d="M12 18v3"></path><path d="M8 21h8"></path></svg>',l.appendChild(m);let f=document.createElement("button");f.type="submit",f.className="sendBtn";let p='<svg viewBox="0 0 24 24"><line x1="22" y1="2" x2="11" y2="13"></line><polygon points="22 2 15 22 11 13 2 9 22 2"></polygon></svg>',g='<svg viewBox="0 0 24 24" fill="currentColor"><rect x="6" y="6" width="12" height="12" rx="2"/></svg>';f.innerHTML=p,l.appendChild(f);let y=!1,x=null;a.appendChild(l),o.appendChild(a);let T=document.createElement("input");T.type="file",T.className="attachmentInput",T.hidden=!0,o.appendChild(T);let k=document.createElement("div");k.className="attachmentStrip",o.appendChild(k);let b=document.createElement("div");b.className="composerStatus",b.setAttribute("aria-live","polite"),o.appendChild(b);function P(){let j=n.inputs?.files!==!1;d.style.display=j?"":"none",T.multiple=n.inputs?.allowMultipleFiles!==!1,T.accept=ub(n.inputs?.acceptedMimeGroups)}function R(){k.innerHTML="";let j=n.inputs?.attachmentLimit??6;r=r.slice(0,j),k.classList.toggle("visible",r.length>0),d.disabled=i.disabled||r.length>=j;for(let ae=0;ae<r.length;ae+=1){let K=r[ae],ne=document.createElement("span");ne.className="attachmentPill";let ue=document.createElement("span");ue.className="attachmentPillLabel",ue.textContent=K.name;let ke=document.createElement("button");ke.type="button",ke.className="attachmentPillRemove",ke.setAttribute("aria-label",`Remove ${K.name}`),ke.textContent="\xD7",ke.addEventListener("click",()=>{r=r.filter((me,je)=>je!==ae),R()}),ne.appendChild(ue),ne.appendChild(ke),k.appendChild(ne)}}d.addEventListener("click",()=>{d.disabled||T.click()}),T.addEventListener("change",()=>{let j=Array.from(T.files||[]);if(T.value="",j.length===0)return;let ae=n.inputs?.attachmentLimit??6,K=(n.inputs?.maxFileSizeMb??12)*1024*1024,ne=Math.max(0,ae-r.length),ue=j.filter(ke=>ke.size<=K).slice(0,ne);r=[...r,...ue],R()}),m.addEventListener("click",()=>{i.disabled||e.onVoiceStart()});function _(){i.style.height="auto";let j=Math.min(96,Math.max(44,i.scrollHeight));i.style.height=`${j}px`;let ae=i.closest(".inputBarComposerSlot")?.closest(".inputBar");ae&&ae.classList.toggle("expanded-text",j>44)}i.addEventListener("input",()=>{_()}),i.addEventListener("keydown",j=>{j.key==="Enter"&&!j.shiftKey&&!j.isComposing&&(j.preventDefault(),o.requestSubmit())});let $=0,te=null;function W(){s.style.display=i.value.trim()?"none":""}function oe(){c.classList.add("fading"),setTimeout(()=>{$=($+1)%As.length,c.textContent=As[$],c.classList.remove("fading")},220)}return i.addEventListener("blur",()=>W()),i.addEventListener("input",()=>W()),te=setInterval(oe,4e3),f.addEventListener("click",j=>{y&&x&&(j.preventDefault(),j.stopPropagation(),x())}),o.addEventListener("submit",j=>{if(j.preventDefault(),y||i.disabled)return;let ae=ze(i.value);e.onSubmit(ae,r.slice())}),P(),R(),{root:o,textarea:i,attachmentButton:d,attachmentInput:T,attachmentStrip:k,voiceButton:m,sendButton:f,statusEl:b,getPendingAttachments:()=>r.slice(),clearAttachments(){r=[],R()},setDisabled(j){i.disabled=j,d.disabled=j,T.disabled=j,m.disabled=j,y||(f.disabled=j),R()},setSendAsStop(j,ae){y=j,x=j?ae:null,j?(f.innerHTML=g,f.classList.add("stopMode"),f.disabled=!1,f.type="button"):(f.innerHTML=p,f.classList.remove("stopMode"),f.type="submit")},setVoiceActive(j){m.classList.toggle("active",j),m.setAttribute("aria-pressed",j?"true":"false"),m.setAttribute("aria-label",j?"Stop voice dictation":"Start voice dictation")},setVoiceVisible(j){m.classList.toggle("visible",j)},setStatusMessage(j,ae="info"){let K=ze(j);b.textContent=K,b.classList.toggle("visible",!!K),b.classList.toggle("error",ae==="error"&&!!K)},setText(j){i.value=j,_()},setStaticPlaceholder(j){i.placeholder=j,j?s.style.display="none":W()},setPlaceholders(j){j.length&&(As=j,$=0,c.textContent=As[0],W())},update(j){n=j,P(),R()},syncAttachmentUi:R}}function Fb(e,t){let n=document.createElement("div");n.className="shortcutsEmptyState";let r=document.createElement("div");r.className="shortcutsHeading",r.textContent=t?`Hey ${t}! What do you need done?`:`What should ${e} take care of?`;let o=document.createElement("div");o.className="shortcutsGrid",n.appendChild(r),n.appendChild(o);let a=document.createElement("div");a.className="shortcutsBar";let i=[],s="";function c(m,f){let p=m.filter(y=>y&&y.enabled!==!1).slice(0,12),g=p.map(y=>`${y.id||y.label}|${y.label}|${y.description||""}|${y.icon||""}`).join(";;");if(g!==s){s=g,i=p,o.innerHTML="";for(let y of i){let x=document.createElement("button");if(x.type="button",x.className="shortcutCard",y.icon){let k=document.createElement("span");k.className="shortcutCardIcon",k.textContent=y.icon,x.appendChild(k)}let T=document.createElement("span");if(T.className="shortcutCardLabel",T.textContent=y.label,x.appendChild(T),y.description){let k=document.createElement("span");k.className="shortcutCardDesc",k.textContent=y.description,x.appendChild(k)}x.addEventListener("click",()=>f?.(y)),o.appendChild(x)}a.innerHTML="";for(let y of i){let x=document.createElement("button");if(x.type="button",x.className="shortcutChip",y.icon){let T=document.createElement("span");T.className="shortcutChipIcon",T.textContent=y.icon,x.appendChild(T)}x.appendChild(document.createTextNode(y.label)),x.addEventListener("click",()=>f?.(y)),a.appendChild(x)}}}function l(m,f,p){let g=i.length>0,y=g&&!m&&!f,x=g&&m&&!f&&!p;n.classList.toggle("visible",y),a.classList.toggle("visible",x)}function d(m,f){r.textContent=m?`Hey ${m}! What do you need done?`:`What should ${f} take care of?`}return{emptyState:n,grid:o,bar:a,heading:r,render:c,syncVisibility:l,setVisitorName:d}}function jb(e){let{panelResizable:t,agentName:n}=e,r=e.experience,o=Lb(),a=document.createElement("button");a.type="button",a.className="panelBackdrop",a.setAttribute("aria-label","Close Rover"),a.tabIndex=-1,a.addEventListener("click",()=>e.onClose());let i=document.createElement("div");i.className="panel";let s=document.createElement("div");s.className="panelGrabber",s.setAttribute("aria-hidden","true");let c=document.createElement("span");c.className="panelGrabberHandle",s.appendChild(c);let l=document.createElement("div");l.className="resizeHandle",l.setAttribute("aria-hidden","true");let d=document.createElement("section");d.className="taskStage";let m=document.createElement("div");m.className="taskStageTop";let f=document.createElement("span");f.className="taskStageEyebrow",f.textContent="Rover on this page";let p=document.createElement("span");p.className="taskStageStatusPill",p.textContent="Ready",m.appendChild(f),m.appendChild(p);let g=document.createElement("div");g.className="taskStageTitle",g.textContent=`Open ${n} and work live on this site`;let y=document.createElement("div");y.className="taskStageMeta",y.textContent="One surface for people and visiting AI agents.",d.appendChild(m),d.appendChild(g),d.appendChild(y);let x=document.createElement("section");x.className="artifactStage";let T=document.createElement("div");T.className="artifactStageHeader";let k=document.createElement("span");k.className="artifactStageLabel",k.textContent="Live artifact";let b=document.createElement("button");b.type="button",b.className="artifactStageToggle",b.textContent="Expand",T.appendChild(k),T.appendChild(b);let P=document.createElement("div");P.className="artifactStageBody";let R=document.createElement("div");R.className="artifactStageEmpty",R.textContent="Artifacts surface here when Rover produces something meaningful.",P.appendChild(R),x.appendChild(T),x.appendChild(P);let _=document.createElement("div");_.className="taskSuggestion",_.innerHTML=`
10
+ `)&&(i+=c)}_g(e);let a=Nu(e).trim(),s=i.trim()+a;return s.trim()?s:o()}catch{return o()}}async function RS(e,t){let n="",r;Mg(e,e.defaultView||window);let o=tn(t?.deadlineEpochMs);try{let i=Math.max(250,Math.min(1500,Math.floor(o*.45))),a=await ia(AS(e),i,e);if(!(a.ok&&a.value))throw new Error("google_sheet_copy_failed");let c=tn(t?.deadlineEpochMs),l=Math.max(250,Math.min(2500,Math.floor(c*.55)));if(n=await CS(l,e),!n.trim())throw new Error("google_sheet_empty_clipboard")}catch(i){r=i instanceof Error?i.message:String(i)}return{content:n,contentType:Su,error:r}}function Mg(e,t){try{t?.focus?.()}catch{}try{e?.body?.focus?.()}catch{}}function Lu(e,t){let r=e.defaultView?.KeyboardEvent||KeyboardEvent,o=new r("keydown",{bubbles:!0,cancelable:!0,...t}),i=e.activeElement;(i&&i.ownerDocument===e?i:e).dispatchEvent(o)}async function AS(e){try{if(Mg(e,e.defaultView||window),e.hidden||!e.hasFocus())return!1;Lu(e,{key:"Escape",code:"Escape"}),await cn(150,e);let t=e.querySelector(".grid-container")||Eg(e,".grid-container"),n=e.querySelector(".grid4-inner-container:last-child")||Eg(e,".grid4-inner-container:last-child");if(n){try{n.focus()}catch{}await cn(100,e)}else if(t){try{t.focus?.()}catch{}await cn(80,e)}let o=(typeof navigator<"u"?String(navigator.platform||""):"").toUpperCase().indexOf("MAC")>=0;Lu(e,{key:"a",code:"KeyA",ctrlKey:!o,metaKey:o}),await cn(200,e),Lu(e,{key:"c",code:"KeyC",ctrlKey:!o,metaKey:o}),await cn(200,e);try{e.execCommand("copy")}catch{}return!0}catch{return!1}}async function CS(e,t){let n=Math.max(250,Math.min(5e3,Math.floor(e)));if(navigator?.clipboard?.readText){let i=await ia(navigator.clipboard.readText(),n,t);if(i.ok)return i.value||""}let r=t.createElement("textarea");r.style.position="fixed",r.style.opacity="0",r.style.pointerEvents="none",r.style.left="-9999px",r.style.top="0",t.body?.appendChild(r),r.focus();try{t.execCommand("paste")}catch{}let o=r.value||"";return r.remove(),o}function Eg(e,t){let n=xl(e);for(let s of n)try{let c=s.querySelector(t);if(c)return c}catch{}let r=1e5,o=0,i=(s,c)=>{if(!c)return;let l=c.children;if(l)for(let d=0;d<l.length;d++)s.push(l[d])},a=[];for(let s of n)try{i(a,s.documentElement??s.body??null)}catch{}for(;a.length&&o<r;){let s=a.pop();o++;try{if(s.matches(t))return s}catch{}i(a,s);let c=s.shadowRoot;if(c&&i(a,c),String(s.tagName).toUpperCase()==="IFRAME")try{let d=s.contentDocument;d&&i(a,d.documentElement??d.body??null)}catch{}}return null}async function MS(e,t){let n=t?.profile??"light",r=!e.hidden,o=Math.max(0,Math.min(t?.timeBudgetMs??(n==="light"?1600:2800),3e3));if(o<=0)return!1;let i=Date.now(),a=()=>o-(Date.now()-i),s=t?.delayMs??(n==="light"?220:280),c=t?.finalWaitMs??(n==="light"?350:900),l=r?s:0,d=r?c:0,m=t?.amount,f=t?.maxSteps??(n==="light"?8:18),p=t?.maxDistancePx??(n==="light"?12e3:3e4),b=null;try{let x=await Ig(e,{action:"detectPrimary"});if(x?.selector){let A=NS(e,x.selector);A&&(b=A)}let h=x?.metrics;if(h&&typeof h.scrollHeight=="number"&&typeof h.clientHeight=="number"){let A=Math.max(0,h.scrollHeight-h.clientHeight);p=Math.min(p,A||p),A<1500?f=Math.min(f,2):A<4e3?f=Math.min(f,4):A<1e4&&(f=Math.min(f,6))}}catch{}if(b||(b=e.scrollingElement||e.documentElement||e.body),!b)return!1;let y=0,k=null,w=0;for(let x=0;x<f&&!(a()<=0);x++){let h=null;try{h=await Ig(e,{action:"scrollBy",direction:$t.DOWN,options:{amount:m,behavior:"auto",isTabActive:r}})}catch{}if(!h||!h.success){let E=e.defaultView||window;h=bl(b,e,E,$t.DOWN,m),w=2}if(!h?.success)break;let A=h.scrollTop??k??0;if(k!==null){let E=Math.max(0,A-k);y+=E,w=E===0?w+1:0}if(k=A,h.isAtBottom||w>=2||y>=p)break;if(l>0&&x<f-1){let E=Math.min(l,Math.max(0,a()));if(E<=0)break;await cn(E,e)}}if(d>0){let x=Math.min(d,Math.max(0,a()));x>0&&await cn(x,e)}if(a()>80)try{let x=e.scrollingElement||e.documentElement||e.body,h=e.defaultView||window,A=b===e.documentElement||b===e.body||b===x?x:b;if(A){let E=A===x?h.innerHeight:A.clientHeight||h.innerHeight,_=Math.max(0,A.scrollHeight-E);A.scrollTop=_}}catch{}return!0}function NS(e,t){try{return e.querySelector(t)}catch{return null}}async function Ig(e,t){let n=e.defaultView||window,r=n.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",a=(n[r]?.scroll||n.__RTRVR_SCROLL_API__)?.execute;return typeof a!="function"?null:a(t)}async function LS(e,t){let n=e.defaultView||window,r=n.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",i=n[r]?.flushScan;if(typeof i!="function"){try{n.rtrvrAIMarkInteractiveElements?.()}catch{}return}let a=Date.now()+Math.max(100,Math.floor(t.totalBudgetMs)),s=0;for(;s<t.maxPasses&&tn(a)>0;){let c=Math.max(50,Math.min(t.budgetMs,tn(a)));try{await i({mode:t.mode??"full",includeShadow:!0,includeSameOriginIframes:!0,budgetMs:c,deadlineEpochMs:a})}catch{break}if(Rg(e)===0)break;s++}if(Rg(e)>0&&tn(a)>50){let c=Math.min(120,tn(a));try{await i({mode:"priority",includeShadow:!0,includeSameOriginIframes:!0,budgetMs:c,deadlineEpochMs:a})}catch{}}}function Rg(e){let t=e.documentElement;if(!t)return 0;let n=t.getAttribute(ci);if(!n)return 0;let r=Number.parseInt(n,10);return Number.isFinite(r)&&r>0?r:0}function DS(e){let t=OS(e.URL||"");if(!t?.sheetId)return;let n=PS(e),r=n?.title||"Sheet1";return{sheetId:t.sheetId,sheetTitle:e.title||n?.title||void 0,sheetTab:r,sheetTabId:t.sheetTabId??n?.id,sheetTabs:void 0}}function OS(e){if(!e)return null;try{let t=new URL(e);if(t.hostname!=="docs.google.com")return null;let n=t.pathname.split("/"),r=n.indexOf("spreadsheets"),o=n.indexOf("d");if(r===-1||o===-1||o!==r+1||n.length<=o+1)return null;let i=n[o+1];if(!i||!/^[a-zA-Z0-9_-]+$/.test(i))return null;let a;return t.hash&&t.hash.includes("gid=")&&(a=new URLSearchParams(t.hash.substring(1)).get("gid")??void 0),!a&&t.searchParams.has("gid")&&(a=t.searchParams.get("gid")??void 0),a&&!/^\\d+$/.test(a)&&(a=void 0),{sheetId:i,sheetTabId:a?parseInt(a,10):0}}catch{return null}}function PS(e){try{let t=e.querySelector('[role="tab"][aria-selected="true"]')||e.querySelector(".docs-sheet-tab-active")||e.querySelector('.docs-sheet-tab[aria-selected="true"]');if(!t)return null;let n=t.getAttribute("aria-label")||t.textContent?.trim()||void 0,r=t.getAttribute("data-sheet-id")||t.getAttribute("data-tab-id")||void 0,o=r&&/^\d+$/.test(r)?Number(r):void 0;return{title:n,id:o}}catch{return null}}var ir;(function(e){e[e.Native=1]="Native",e[e.Inline=2]="Inline",e[e.React=4]="React",e[e.Vue=8]="Vue",e[e.Angular=16]="Angular",e[e.Svelte=32]="Svelte",e[e.JQuery=64]="JQuery",e[e.Delegated=128]="Delegated",e[e.Other=256]="Other",e[e.Inferred=512]="Inferred"})(ir||(ir={}));var BS={native:ir.Native,inline:ir.Inline,react:ir.React,vue:ir.Vue,angular:ir.Angular,svelte:ir.Svelte,jquery:ir.JQuery,delegated:ir.Delegated,other:ir.Other};function Ng(){if(typeof window>"u")return;let e=window,t="__RTRVR_MAIN_WORLD_INITIALIZED__",n=new WeakMap,r={frameworks:new Set,reactRoots:new WeakSet,vueRoots:new WeakSet,angularRoots:new WeakSet,svelteRoots:new WeakSet,jqueryRoots:new WeakSet},o=new WeakMap,i=new WeakMap,a=new Set,s=100,c=50,l=0,d=0,m=new WeakSet,f="__RTRVR_ET_HOOKED__",p="__RTRVR_ATTACH_SHADOW_HOOKED__";function b(v){if(v&&!m.has(v)){m.add(v);try{y(v)}catch{}try{k(v)}catch{}}}function y(v){try{let L=v.EventTarget;if(!L?.prototype||L.prototype[f])return;L.prototype[f]=!0;let B=L.prototype.addEventListener,j=L.prototype.removeEventListener;L.prototype.addEventListener=function(J,le,_e){try{et(le)||Zn(this,J,_e)}catch{}return B.call(this,J,le,_e)},L.prototype.removeEventListener=function(J,le,_e){try{Io(this,J,_e)}catch{}return j.call(this,J,le,_e)};try{let J=Function.prototype.toString;L.prototype.addEventListener.toString=()=>J.call(B),L.prototype.removeEventListener.toString=()=>J.call(j)}catch{}}catch{}}function k(v){try{let L=v.Element;if(!L?.prototype?.attachShadow||L.prototype[p])return;L.prototype[p]=!0;let B=L.prototype.attachShadow;L.prototype.attachShadow=function(j){let J=B.call(this,j);try{no.set(this,J)}catch{}try{wt(J)}catch{}return J};try{let j=Function.prototype.toString;L.prototype.attachShadow.toString=()=>j.call(B)}catch{}}catch{}}function w(v){let B=n.get(v)?.listenerTypeMasks;if(B&&B.size){let j=[];for(let J of B.keys()){let le=oo[J];le&&j.push(le)}return j}return is(v)}let x=["onclick","ondblclick","ondoubleclick","onmousedown","onmouseup","role","contenteditable","draggable","tabindex","disabled","type","aria-haspopup","aria-expanded","data-click","data-action","data-handler","data-toggle","data-target"],h=0,A=new Set,E=null,_=!1,z=6,ee=["click","input","change","keydown","keyup","pointerdown","pointerup","submit","focus","blur"],V=["mouseenter","mouseleave","mouseover","mouseout","mousedown","mouseup","wheel","scroll","dragstart","drop","touchstart","touchend"];if(e[t]){typeof e.rtrvrAISetObserverPaused!="function"&&(e.rtrvrAISetObserverPaused=()=>!1),typeof e.rtrvrAIClearObserverPause!="function"&&(e.rtrvrAIClearObserverPause=()=>!1),typeof e.rtrvrAIIsObserverPaused!="function"&&(e.rtrvrAIIsObserverPaused=()=>!!Ft()?.hidden);return}e[t]=!0;let ne={onclick:"click",ondblclick:"dblclick",ondoubleclick:"doubleclick",onmousedown:"mousedown",onmouseup:"mouseup",onmouseenter:"mouseenter",onmouseleave:"mouseleave",onmousemove:"mousemove",onmouseover:"mouseover",onmouseout:"mouseout",oncontextmenu:"contextmenu",onauxclick:"auxclick",onkeydown:"keydown",onkeyup:"keyup",onkeypress:"keypress",oninput:"input",onchange:"change",onsubmit:"submit",onreset:"reset",onselect:"select",onsearch:"search",oninvalid:"invalid",onbeforeinput:"beforeinput",onfocus:"focus",onblur:"blur",onfocusin:"focusin",onfocusout:"focusout",ontouchstart:"touchstart",ontouchend:"touchend",ontouchmove:"touchmove",ontouchcancel:"touchcancel",onpointerdown:"pointerdown",onpointerup:"pointerup",onpointermove:"pointermove",onpointerenter:"pointerenter",onpointerleave:"pointerleave",onpointercancel:"pointercancel",onpointerover:"pointerover",ondragstart:"dragstart",ondragend:"dragend",ondrag:"drag",ondragenter:"dragenter",ondragleave:"dragleave",ondragover:"dragover",ondrop:"drop",oncopy:"copy",oncut:"cut",onpaste:"paste",onscroll:"scroll",onwheel:"wheel",onplay:"play",onpause:"pause",onended:"ended",onvolumechange:"volumechange",onseeking:"seeking",onseeked:"seeked",onanimationstart:"animationstart",onanimationend:"animationend",ontransitionend:"transitionend",ontransitionstart:"transitionstart",onresize:"resize",ontoggle:"toggle",onfullscreenchange:"fullscreenchange",onload:"load",onerror:"error",onabort:"abort",onbeforeunload:"beforeunload",onunload:"unload",onhashchange:"hashchange",onpopstate:"popstate",onstorage:"storage",onmessage:"message"};function $(v){return v?String(v).split(".")[0].toLowerCase():""}let re=["data-click","data-action","data-event","data-handler","data-on-click","data-onclick","data-tap","data-press","data-toggle","data-target"],X=0,te=null,de=new MessageChannel,me=[];de.port1.onmessage=()=>{let v=me.shift();v&&v()};function be(){return Date.now()}function Be(v){return!v||!Number.isFinite(v)?Number.POSITIVE_INFINITY:Math.max(0,v-be())}let bt=8,Rt=new MessageChannel,ot=!1;function Oe(){if(!ot){ot=!0;try{Rt.port2.postMessage(0)}catch{}}}function F(v){let L=v.values().next();if(L.done)return null;let B=L.value;return v.delete(B),B}function Y(){return new Promise(v=>{me.push(v),de.port2.postMessage(0)})}let ye=!1;function Q(){if(!ye)try{let v=e.jQuery;v&&v.fn&&(On(v),ye=!0,zt("jquery"))}catch{}}function ue(v,L){for(let B=L.lastElementChild;B;B=B.previousElementSibling)v.push(B)}function ie(v,L,B){if(B)try{let j=xr(L);j&&v.push(j)}catch{}}function ae(v,L,B){if(B&&os(L))try{let j=L.contentWindow||null;j&&b(j);let J=j?.document?.documentElement;J&&v.push(J)}catch{}}let pe=new WeakSet;function Qe(v){v&&(typeof v=="function"||typeof v=="object")&&pe.add(v)}function et(v){return!!v&&(typeof v=="function"||typeof v=="object")&&pe.has(v)}Rt.port1.onmessage=()=>{if(It()){A.clear(),a.clear(),h=0,Je(),ot=!1;return}ot=!1,At(500);let v=performance.now();for(;A.size&&performance.now()-v<bt;){let L=F(A);if(!L)break;try{Se(L)}catch{}finally{h=Math.max(0,h-1)}}for(;a.size&&performance.now()-v<bt;){let L=F(a);if(!L)break;try{bn(L)}catch{}}Je(),(A.size||a.size)&&Oe()};function Je(){try{let v=Ft()?.documentElement;if(!v)return;v.setAttribute(ci,String(h))}catch{}}function Tt(v){let L=n.get(v);return L||(L={frameworks:new Set,listeners:new Map},n.set(v,L)),L}function gt(v){It()||(a.add(v),a.size>2e3&&At(1500),Oe())}function je(v){It()||A.has(v)||(A.add(v),h++,Je(),Oe(),A.size>2e3&&At(1500))}function At(v=1500){let L=0;for(let B of A){if(L>=v)break;L++,B.isConnected||(A.delete(B),h=Math.max(0,h-1))}L=0;for(let B of a){if(L>=v)break;L++,B.isConnected||a.delete(B)}Je()}let Ue=null;function ct(v,L,B){return`${v}|${L?1:0}|${B?1:0}`}function _t(v){let L=v.tagName;if(L==="A"||L==="BUTTON"||L==="INPUT"||L==="SELECT"||L==="TEXTAREA"||L==="SUMMARY"||v.hasAttribute("role")||v.hasAttribute("tabindex")||v.hasAttribute("contenteditable")||v.hasAttribute("onclick")||v.getAttributeNames().some(B=>B.startsWith("on")))return!0;for(let B of re)if(v.hasAttribute(B))return!0;return!!(v.hasAttribute("aria-haspopup")||v.hasAttribute("aria-expanded"))}function pt(v){let L=$e(v);if(!Zt(v,L))return!1;let B=v.tagName;if(B!=="DIV"&&B!=="SPAN"&&B!=="LI"&&B!=="SECTION"&&B!=="ARTICLE"&&B!=="P")return!1;let j=v;if(j.__ngContext__||j.__svelte__||j.__vue__||j._vnode||j.__reactFiber$||j.__reactProps$)return!0;let J=0;for(let le in j){if(++J>30)break;if(le.startsWith("__react")||le.includes("reactFiber")||le.includes("reactProps"))return!0}return!1}function Nt(){let v=Ft()?.documentElement;return v?r.frameworks.size>0||v.hasAttribute("rtrvr-react")||v.hasAttribute("rtrvr-vue")||v.hasAttribute("rtrvr-angular")||v.hasAttribute("rtrvr-svelte")||v.hasAttribute("rtrvr-jquery"):!1}function Ct(v){if(It())return;let L=performance.now();for(;A.size&&performance.now()-L<v;){let B=F(A);if(!B)break;try{Se(B)}catch{}finally{h=Math.max(0,h-1)}}for(;a.size&&performance.now()-L<v;){let B=F(a);if(!B)break;try{bn(B)}catch{}}}async function ft(v={}){if(It())return A.clear(),a.clear(),h=0,Je(),{revision:++X,scanned:0,durationMs:0,done:!0,remaining:0};At(3e3),Q(),oi();let L=v.mode??"full",B=v.includeShadow??!0,j=v.includeSameOriginIframes??!0,J=Math.max(50,Math.min(v.budgetMs??2500,15e3)),le=v.deadlineEpochMs,_e=Math.max(0,Math.min(J,Be(le))),De=ct(L,B,j);if(_e<=0){let In=(Ue?.stack?.length??0)+A.size+a.size;return{revision:++X,scanned:0,durationMs:0,done:In===0,remaining:In}}if((!Ue||Ue.optsKey!==De)&&Be(le)>30&&await Ge({budgetMs:18,deadlineEpochMs:le}),L==="priority"){let In=performance.now(),Dt=0;for(;A.size&&performance.now()-In<=_e&&!(le&&Be(le)<=0);){let Ut=F(A);if(!Ut)break;try{Se(Ut)}catch{}Dt++,h=Math.max(0,h-1)}for(;a.size&&performance.now()-In<=_e&&!(le&&Be(le)<=0);){let Ut=F(a);if(!Ut)break;try{bn(Ut)}catch{}}return Je(),{revision:++X,scanned:Dt,durationMs:performance.now()-In,done:A.size===0&&a.size===0,remaining:A.size+a.size}}if(!Ue||Ue.optsKey!==De){let In=Ft()?.documentElement;Ue={optsKey:De,stack:In?[In]:[],scannedTotal:0}}let mt=performance.now(),yt=0;for(h++,Je();Ue.stack.length&&!(le&&Be(le)<=0);){let In=Ue.stack.pop();if(nr(In)){let Ut=In.children;for(let zr=Ut.length-1;zr>=0;zr--)Ue.stack.push(Ut[zr]);continue}let Dt=In;if(!(!Dt||Dt.nodeType!==1)&&!(Dt.tagName==="SCRIPT"||Dt.tagName==="STYLE"||Dt.tagName==="META"||Dt.tagName==="NOSCRIPT")){try{(_t(Dt)||Nt()&&pt(Dt))&&Se(Dt)}catch{}try{bn(Dt)}catch{}if(A.delete(Dt)&&(h=Math.max(0,h-1)),a.delete(Dt),yt++,Ue.scannedTotal++,B)try{let Ut=xr(Dt);Ut&&(wt(Ut),Ue.stack.push(Ut))}catch{}if(j&&os(Dt))try{let Ut=Dt.contentWindow||null;Ut&&b(Ut);let zr=Ut?.document,Uc=zr?.documentElement;zr&&Uc&&(ge(zr),Ue.stack.push(Uc))}catch{}for(let Ut=Dt.lastElementChild;Ut;Ut=Ut.previousElementSibling)Ue.stack.push(Ut);yt%800===0&&Be(le)>20&&await Y()}}let Mt=Math.max(0,_e-(performance.now()-mt)),an=Be(le);Ct(Math.min(250,Mt,an)),h=Math.max(0,h-1),Je();let ur=Ue.stack.length===0,ro=Ue.stack.length;return ur&&(Ue=null),{revision:++X,scanned:yt,durationMs:performance.now()-mt,done:ur,remaining:ro}}async function fn(v={}){return te||(te=ft(v).finally(()=>{te=null}),te)}e.rtrvrAIFlushScan=fn;let mn="__RTRVR_INTERNAL__";Object(window).__RTRVR_INTERNAL_KEY__=mn;let lr=e[mn],on=lr&&typeof lr=="object"?lr:{};if(!lr)try{Object.defineProperty(e,mn,{value:on,writable:!1,configurable:!1,enumerable:!1})}catch{}try{Object.defineProperty(on,"flushScan",{value:fn,writable:!1,configurable:!1,enumerable:!1})}catch{}function we(v,L){let B=Tt(v),j=$(L.type);if(!j)return;let J=!1,le=B.listeners.get(j);le||(le=[],B.listeners.set(j,le),J=!0);let _e=le.find(Xe=>Xe.source===L.source&&!!Xe.inferred==!!L.inferred);if(_e){let Xe=!!_e.capture,mt=!!_e.passive,yt=!!_e.once;_e.capture=_e.capture||L.capture,_e.passive=_e.passive||L.passive,_e.once=_e.once||L.once,(Xe!==!!_e.capture||mt!==!!_e.passive||yt!==!!_e.once)&&(J=!0)}else le.push({...L,type:j}),J=!0;let De=ht[j];if(De!==void 0){B.listenerTypeMasks||(B.listenerTypeMasks=new Map);let Xe=0,mt=BS[L.source];Xe|=mt!==void 0?mt:ir.Other,L.inferred&&(Xe|=ir.Inferred);let yt=B.listenerTypeMasks.get(De)||0,Mt=yt|Xe;Mt!==yt&&(B.listenerTypeMasks.set(De,Mt),J=!0)}J&&(B.role=void 0,gt(v))}function dr(v){let L=v.listenerTypeMasks;return!L||L.size===0?null:[...L.entries()].sort((j,J)=>j[0]-J[0]).map(([j,J])=>`${j}~${(J||0).toString(36)}`).join(",")}function Ae(v,L){let B=Tt(v);B.frameworks.has(L)||(B.frameworks.add(L),gt(v))}function zt(v){r.frameworks.has(v)||(r.frameworks.add(v),Ft()?.documentElement?.setAttribute(`rtrvr-${v}`,"1"))}function bn(v){let L=n.get(v);if(!L)return;a.delete(v);let B=dr(L);B?B!==L.lastListenersSerialized&&(v.setAttribute(Ao,B),L.lastListenersSerialized=B):L.lastListenersSerialized&&(v.removeAttribute(Ao),L.lastListenersSerialized=void 0);let j=$e(v);if(Zt(v,j))if(L.role===void 0&&(L.role=ri(v)),L.role){let J=Yi[L.role],le=typeof J=="number"?String(J):`s:${L.role}`;le!==L.lastRoleSerialized&&(v.setAttribute(ao,le),L.lastRoleSerialized=le)}else(L.lastRoleSerialized||v.hasAttribute(ao))&&(v.removeAttribute(ao),L.lastRoleSerialized=void 0)}function Ht(v){let L=[],B=v;for(;B;)L.push(B),B=B.parentNode||B.host;return L}function _o(v){let L=v.tagName.toLowerCase(),B=v.getAttribute("role"),j=B?B.toLowerCase().trim():"";if(j&&io.has(j)||L==="button"||(L==="a"||L==="area")&&v.hasAttribute("href"))return!0;if(L==="input")return v.type?.toLowerCase()!=="hidden";if(L==="select"||L==="textarea"||(L==="video"||L==="audio")&&v.hasAttribute("controls")||v.isContentEditable||v.hasAttribute("contenteditable"))return!0;let J=v.getAttribute("tabindex");return!!(J!==null&&!Number.isNaN(Number.parseInt(J,10))&&(w(v).some(De=>Zc.has(De))||v.getAttributeNames().some(De=>De.startsWith("on"))))}function Eo(v,L=10){let B=[];for(let j=0;j<v.children.length;j++)B.push({node:v.children[j],depth:1});for(;B.length;){let{node:j,depth:J}=B.pop();if(_o(j))return!0;if(!(J>=L))for(let le=0;le<j.children.length;le++)B.push({node:j.children[le],depth:J+1})}return!1}function ri(v){let L=v.tagName.toLowerCase(),B=v.getAttribute("role"),j=B?B.toLowerCase().trim():"",J=v.type?.toLowerCase();if(j&&io.has(j))return j;if(j&&as.has(j))return null;if(L==="a"&&v.hasAttribute("href"))return"link";if(L==="button")return"button";if(L==="input")return J==="hidden"?null:J==="checkbox"?"checkbox":J==="radio"?"radio":J==="range"?"slider":J==="number"?"spinbutton":J==="search"?"searchbox":["button","submit","reset","image","file"].includes(J)?"button":v.hasAttribute("list")?"combobox":"textbox";if(L==="textarea")return"textbox";if(L==="select"){let Mt=v;return Mt.multiple||Mt.size&&Mt.size>1?"listbox":"combobox"}if(L==="option")return"option";if(L==="form")return"form";if(L==="video"||L==="audio"){let Mt=is(v);return v.hasAttribute("controls")||Mt.length>0?"media":null}if(v.isContentEditable||v.hasAttribute("contenteditable"))return"textbox";let le=w(v);if(!le.length)return null;let _e=!1,De=!1,Xe=!1;for(let Mt=0;Mt<le.length;Mt++){let an=le[Mt];!_e&&Zc.has(an)&&(_e=!0),!De&&au.has(an)&&(De=!0),!Xe&&su.has(an)&&(Xe=!0)}if(!_e&&!De&&!Xe)return null;let mt=v.getAttribute("tabindex"),yt=mt!==null&&!Number.isNaN(Number.parseInt(mt,10));if(_e&&(gu(v)||v.getAttribute("href")||v.closest("a[href]")))return"link";if(De){if(v.isContentEditable||v.hasAttribute("contenteditable"))return"textbox";if(j==="textbox"||j==="searchbox"||j==="combobox"||j==="spinbutton")return j;if(!_e&&yt)return"textbox"}if(_e){let Mt=v.getAttribute("aria-checked"),an=v.getAttribute("aria-pressed");if(Mt!==null||an!==null){if(j==="radio")return"radio";if(j==="menuitemradio")return"menuitemradio";if(j==="menuitemcheckbox")return"menuitemcheckbox";if(an!==null)return"button";if(Mt!==null)return"checkbox"}if((yt||j==="button")&&!Eo(v))return"button"}return Xe?"application":null}let $i=EventTarget.prototype.addEventListener,Wi=EventTarget.prototype.removeEventListener;function Dn(v){let L=!1,B,j;return typeof v=="boolean"?L=v:v&&typeof v=="object"&&(L=!!v.capture,B=v.passive,j=v.once),{capture:L,passive:B,once:j}}function Qn(v){try{let L=v;if(L?.nodeType===9&&L?.documentElement)return L;let B=L?.document;if(B&&B.nodeType===9&&B.documentElement)return B}catch{}return null}function Zn(v,L,B){let j=$(L);if(!j)return;let{capture:J,passive:le,once:_e}=Dn(B),De=o.get(v);De||(De=new Map,o.set(v,De));let Xe=De.get(j);if(Xe?(Xe.count+=1,Xe.capture=Xe.capture||J,Xe.passive=Xe.passive||le):De.set(j,{count:1,capture:J,passive:le}),ai(v))try{we(v,{type:j,source:"native",capture:J,passive:le,once:_e})}catch{}let mt=Qn(v);if(mt&&(j==="click"||j==="input"||j==="keydown"))try{mt.documentElement?.setAttribute(`rtrvr-gl-${j}`,"1")}catch{}}function Io(v,L,B){let j=$(L);if(!j)return;let J=o.get(v);if(!J)return;let le=J.get(j);le&&(le.count-=1,le.count<=0&&J.delete(j),J.size===0&&o.delete(v))}b(window);function On(v){if(!v||!v.fn)return;let L=v.fn.on,B=v.fn.off;function j(le){if(!le)return[];if(typeof le=="string")return le.split(/\s/).map(_e=>$(_e)).filter(Boolean);if(typeof le=="object")try{return Object.keys(le).map(_e=>$(_e)).filter(Boolean)}catch{return[]}return[]}function J(le){try{if(!le)return null;if(ai(le))return le;let _e=$e(le);return Kc(le,_e)||null}catch{}return null}v.fn.on=function(le,_e){let De=j(le),Xe=typeof _e=="string"&&!!_e;return this.each(function(){let mt=J(this);if(mt){if(Xe){let yt=i.get(mt);yt||(yt=[],i.set(mt,yt));for(let Mt of De){let an=`${Mt}::${_e}`;yt.some(ur=>`${ur.type}::${ur.selector}`===an)||(yt.push({type:Mt,selector:_e}),yt.length>400&&yt.shift())}}else for(let yt of De)we(mt,{type:yt,source:"jquery"});Ae(mt,"jquery"),zt("jquery"),r.jqueryRoots.add(mt)}}),L.apply(this,arguments)},v.fn.off=function(){return B.apply(this,arguments)},zt("jquery")}function Bt(v){re.some(B=>v.hasAttribute(B))&&(we(v,{type:"click",source:"other",inferred:!0}),(v.tagName==="INPUT"||v.tagName==="TEXTAREA")&&(we(v,{type:"input",source:"other",inferred:!0}),we(v,{type:"change",source:"other",inferred:!0})))}function Ro(v){let L=$e(v),B=Zt(v,L),j=v.getAttributeNames().some(Xe=>Xe.startsWith("on")),J=/^(button|a|input|select|textarea|summary)$/i.test(v.tagName),le=v,_e=B&&(rl(v)||!!le.isContentEditable||v.hasAttribute("contenteditable")),De=B&&!!le.draggable;if(!j&&!J&&!_e&&!De){Bt(v);return}for(let[Xe,mt]of Object.entries(ne))typeof v[Xe]=="function"&&we(v,{type:mt,source:"inline"});_e&&(we(v,{type:"input",source:"other",inferred:!0}),we(v,{type:"keydown",source:"other",inferred:!0}),we(v,{type:"keyup",source:"other",inferred:!0}),we(v,{type:"paste",source:"other",inferred:!0})),De&&(we(v,{type:"dragstart",source:"other",inferred:!0}),we(v,{type:"dragend",source:"other",inferred:!0})),Bt(v)}function g(v){if(!v.startsWith("on")||v.length<=2)return null;if(v.endsWith("Capture")){let B=v.substring(2,v.length-7);return B?{type:B.toLowerCase(),capture:!0}:null}let L=v.substring(2);return L?{type:L.toLowerCase(),capture:!1}:null}function N(v){let L=null;if(v){for(let B in v)if(B.startsWith("__react")||B.startsWith("_react")||B.includes("reactFiber")||B.includes("reactProps")||B.includes("reactInternalInstance")){L=B;break}if(L)try{let B=v[L],j=B?.memoizedProps||B?.pendingProps;if(j&&typeof j=="object"){for(let J in j){if(typeof j[J]!="function")continue;let _e=g(J);_e&&we(v,{type:_e.type,source:"react",capture:_e.capture})}ai(B?.stateNode)&&r.reactRoots.add(B.stateNode),Ae(v,"react"),zt("react")}}catch{}}}function C(v){let L=v,B=!1;if(L.__vue__){B=!0;let j=L.__vue__;j.$listeners&&Object.keys(j.$listeners).forEach(J=>we(v,{type:J,source:"vue"})),j._events&&Object.keys(j._events).forEach(J=>we(v,{type:J,source:"vue"})),j.$options?._parentListeners&&Object.keys(j.$options._parentListeners).forEach(J=>we(v,{type:J,source:"vue"})),r.vueRoots.add(v)}if(L._vnode?.props){B=!0;let j=L._vnode.props;Object.keys(j).forEach(J=>{J.startsWith("on")&&J.length>2&&we(v,{type:J.substring(2).toLowerCase(),source:"vue"})}),r.vueRoots.add(v)}B&&(Ae(v,"vue"),zt("vue"))}function M(v){let L=v,B=!1;if(L.__ngContext__||v.hasAttribute("_ngcontent")||v.hasAttribute("ng-version")){B=!0,Array.from(v.attributes).forEach(j=>{if(j.name.startsWith("(")&&j.name.endsWith(")")){let J=j.name.slice(1,-1).split(".")[0];J&&we(v,{type:J,source:"angular"})}if(j.name.startsWith("on-")){let J=j.name.substring(3);J&&we(v,{type:J,source:"angular"})}if(j.name.includes(".")){let J=j.name.match(/\(([^.)]+)/);J?.[1]&&we(v,{type:J[1],source:"angular"})}});try{if(e.ng?.getComponent){let j=e.ng.getComponent(v);j&&Object.keys(j).forEach(J=>{(J.endsWith("Output")||J.endsWith("Emitter"))&&we(v,{type:J.replace(/(Output|Emitter)$/,"").toLowerCase(),source:"angular"})})}}catch{}}B&&(Ae(v,"angular"),zt("angular"),r.angularRoots.add(v))}function T(v){let L=v,B=!1;if(L.__svelte__){B=!0,Array.from(v.attributes).forEach(j=>{if(j.name.startsWith("on:")){let J=j.name.substring(3);J&&we(v,{type:J,source:"svelte"})}});try{let j=L.__svelte__?.$$?.callbacks;j&&typeof j=="object"&&Object.keys(j).forEach(J=>we(v,{type:J,source:"svelte"}))}catch{}r.svelteRoots.add(v)}B&&(Ae(v,"svelte"),zt("svelte"))}function S(v,L){return v?!!o.get(v)?.has(L):!1}function I(v,L,B=96){let j=$(L);if(!j)return!1;let J=fe(v),le=ke(J);if(S(J,j)||S(le,j))return!0;let _e=0,De=v;for(;De&&_e<B;){if(De.parentElement)De=De.parentElement;else{let Xe=De.getRootNode?.();if(nr(Xe)){if(S(Xe,j)||S(Xe.host,j))return!0;De=Xe.host}else break}if(De&&S(De,j))return!0}return!1}function D(v,L,B=128){let j=0,J=v;for(;J&&j<B;){if(L(J),J.parentElement){J=J.parentElement;continue}let le=J.getRootNode?.();if(nr(le)){J=le.host;continue}break}}function U(v){let L=$e(v);if(!Zt(v,L))return;let B=Tt(v);B.role=B.role||ri(v);let j=I(v,"click"),J=I(v,"input"),le=I(v,"keydown"),De=fe(v).documentElement;if(r.frameworks.size>0||De.hasAttribute("rtrvr-react")||De.hasAttribute("rtrvr-vue")||De.hasAttribute("rtrvr-angular")||De.hasAttribute("rtrvr-svelte")||De.hasAttribute("rtrvr-jquery")||j||J||le){let mt=B.role||"other";j&&["button","link","checkbox","radio","switch","menuitem","menuitemcheckbox","menuitemradio","tab","option","treeitem","gridcell","cell","img","figure"].includes(mt)&&we(v,{type:"click",source:"delegated",inferred:!0}),["textbox","searchbox","spinbutton","code"].includes(mt)&&(J&&(we(v,{type:"input",source:"delegated",inferred:!0}),we(v,{type:"change",source:"delegated",inferred:!0})),le&&we(v,{type:"keydown",source:"delegated",inferred:!0})),["combobox","listbox"].includes(mt)&&(j&&we(v,{type:"click",source:"delegated",inferred:!0}),J&&we(v,{type:"change",source:"delegated",inferred:!0})),["slider","scrollbar","progressbar","meter"].includes(mt)&&J&&we(v,{type:"input",source:"delegated",inferred:!0})}D(v,mt=>{let yt=i.get(mt);if(yt?.length)for(let{type:Mt,selector:an}of yt)try{v.matches(an)&&(we(v,{type:Mt,source:"jquery",inferred:!0}),Ae(v,"jquery"),zt("jquery"))}catch{}})}function q(v){let L=B=>{if(It())return;let j=B,J=j.composedPath&&j.composedPath()||Ht(B.target),_e=v==="mousemove"||v==="pointermove"||v==="scroll"||v==="wheel"?1:Math.min(J.length,z);for(let De=0;De<_e;De++){let Xe=J[De];ai(Xe)&&we(Xe,{type:v,source:"delegated",inferred:!0})}};Qe(L);try{$i.call(document,v,L,{capture:!0,passive:!0})}catch{}}let K=!1,Z=!1,oe=null;function ve(){if(Z)return;Z=!0,ee.forEach(q);let v=Ft()?.documentElement;if(!v)return;let L=()=>{if(K)return;let B=v.hasAttribute("rtrvr-react")||v.hasAttribute("rtrvr-vue")||v.hasAttribute("rtrvr-angular")||v.hasAttribute("rtrvr-svelte"),j=v.hasAttribute("rtrvr-gl-click")||v.hasAttribute("rtrvr-gl-input")||v.hasAttribute("rtrvr-gl-keydown");(B||j)&&(K=!0,V.forEach(q))};L();try{oe=new MutationObserver(()=>L()),oe.observe(v,{attributes:!0,attributeFilter:ut})}catch{}}function Se(v){if(v.nodeType!==1)return;let L=$e(v);if(Zt(v,L)){let B=Tt(v);B.role=void 0}Ro(v),N(v),C(v),M(v),T(v),U(v),gt(v)}function We(){if(It())return;let v=["a[href]","button","input","select","textarea","summary","details > summary",...Array.from(io).map(L=>`[role="${L}"]`),"[onclick]","[ondblclick]","[ondoubleclick]","[onmousedown]","[tabindex]","[contenteditable]",'[draggable="true"]',"[aria-haspopup]","[aria-expanded]","[data-click]","[data-action]","[data-handler]","[data-toggle]","[data-target]",".clickable",".interactive",".btn",".button"];h++,Je();try{let L=v.join(",");Ft()?.querySelectorAll(L).forEach(B=>{try{Se(B)}catch{}})}finally{h=Math.max(0,h-1),Je()}}let Ce=!1,Ie=[],Me=200;function dt(v){if(!It()){for(let L of v)Ie.push(L);Ce||(Ce=!0,queueMicrotask(Lt))}}function Lt(){Ce=!1;let v=Ie;if(Ie=[],It())return;let L=0;for(let B of v){if(L>=Me)break;for(let j of Array.from(B.addedNodes)){if(L>=Me)break;if(j.nodeType!==1)continue;let J=j;je(J),L++;let le=J.querySelectorAll?.('a,button,input,select,textarea,summary,[role],[onclick],[ondblclick],[ondoubleclick],[contenteditable],[draggable="true"],[tabindex]');if(le){let _e=Math.min(le.length,50);for(let De=0;De<_e;De++)je(le[De]),L++}}if(B.type==="attributes"&&B.target.nodeType===1){let j=B.target;B.attributeName==="class"?_t(j)&&je(j):je(j)}}}async function Ge(v={}){if(It())return;let L=Ft(),B=L?.documentElement;if(!B||!(B.hasAttribute("rtrvr-react")||B.hasAttribute("rtrvr-vue")||B.hasAttribute("rtrvr-angular")||B.hasAttribute("rtrvr-svelte")))return;let J=v.deadlineEpochMs,le=Math.max(5,Math.min(v.budgetMs??12,50));if(Math.max(0,Math.min(le,Be(J)))<=0)return;let De=performance.now();h++,Je();try{let Xe=0,mt=["div","span","li","section","article","p"];for(let yt of mt){let Mt=L.getElementsByTagName(yt)??[];for(let an=0;an<Mt.length;an++){if(J&&Be(J)<=0)return;Xe++;let ur=Mt[an],ro=ur;(ro.__ngContext__||ro.__svelte__||ro.__vue__||ro._vnode||pt(ur))&&Se(ur),Xe%250===0&&Be(J)>20&&await Y()}}}finally{h=Math.max(0,h-1),Je()}}let it=new MutationObserver(dt),qe=new WeakMap,Ze=new Set;function wt(v){let L=qe.get(v);if(L){if(Ze.add(L),!_)try{L.observe(v,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...x,"class"]})}catch{}return}if(!(l>=s))try{let B=ke(v.ownerDocument).MutationObserver||MutationObserver,j=new B(dt);qe.set(v,j),Ze.add(j),l++,_||j.observe(v,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...x,"class"]})}catch{}}let at=new WeakMap,Re=new Set;function ge(v){let L=at.get(v);if(L){if(Re.add(L),!_)try{let B=v.documentElement;B&&L.observe(B,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...x,"class"]})}catch{}return}if(!(d>=c))try{b(v.defaultView||null);let B=v.documentElement;if(!B)return;let j=ke(v).MutationObserver||MutationObserver,J=new j(dt);at.set(v,J),Re.add(J),d++,_||J.observe(B,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...x,"class"]})}catch{}}function Le(){let v=Ft()?.documentElement;v&&it.observe(v,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...x,"class"]})}let ut=["rtrvr-react","rtrvr-vue","rtrvr-angular","rtrvr-svelte","rtrvr-gl-click","rtrvr-gl-input","rtrvr-gl-keydown"];function En(){return E??!!Ft()?.hidden}function It(){return _}function Vi(v){let L=!!v;if(_===L)return;if(_=L,_){try{it.disconnect()}catch{}try{oe?.disconnect()}catch{}for(let j of Ze)try{j.disconnect()}catch{}for(let j of Re)try{j.disconnect()}catch{}Ze.clear(),Re.clear(),A.clear(),a.clear(),h=0,Je();return}Le();let B=Ft()?.documentElement;if(B&&oe)try{oe.observe(B,{attributes:!0,attributeFilter:ut})}catch{}We()}function kr(v){return E=typeof v=="boolean"?v:null,Vi(En()),!0}let no=new WeakMap;function xr(v){return v.shadowRoot||no.get(v)||null}try{Object.defineProperty(on,"shadow",{value:Object.freeze({getRoot:v=>xr(v)}),writable:!1,configurable:!1,enumerable:!1})}catch{}function oi(){try{(e.React||e.__REACT_DEVTOOLS_GLOBAL_HOOK__)&&zt("react"),e.Vue&&zt("vue"),e.ng&&zt("angular"),e.jQuery&&zt("jquery"),Q()}catch{}}e.rtrvrAISetObserverPaused=function(v){return kr(!!v)},e.rtrvrAIClearObserverPause=function(){return kr(null)},e.rtrvrAIIsObserverPaused=function(){return It()},e.rtrvrAIMarkInteractiveElements=function(){return Ft()?.body?(We(),!0):!1};function Bc(){let v=Ft();Q(),oi(),ve();let L=()=>{E==null&&Vi(En())};v?.addEventListener("visibilitychange",L,{passive:!0}),Vi(En());let B=()=>{Q(),oi(),It()||(Le(),Ge({budgetMs:20})),v?.documentElement.setAttribute(ru,"1")};v?.readyState==="loading"?v.addEventListener("DOMContentLoaded",B,{once:!0}):B()}Bc()}var wl=null,Lg=!1;function Du(e){try{return e.getAttribute(Ao)}catch{return null}}function Dg(e){let t=Du(e);return si(t)?.entries??[]}function Og(e){try{let t=e.getAttribute(ao);return t&&t.trim()?t:null}catch{return null}}function US(e){let t=e?.ownerDocument?.defaultView,n=t?.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",o=t?.[n]?.shadow?.getRoot;if(typeof o=="function")try{return o(e)||null}catch{}return e.shadowRoot||null}function zS(e){let t=new Set;for(let n of e){let r=Fc(n.mask);for(let o of r)(o==="react"||o==="vue"||o==="angular"||o==="svelte"||o==="jquery")&&t.add(o)}return t}function HS(e){let t=new Set,n=e;return(n.__reactFiber||n.__reactProps||n.__reactInternalInstance||n.__reactRootContainer)&&t.add("react"),(n.__vue__||n.__vueParentComponent||n.__vnode||n.__vue_app__)&&t.add("vue"),n.__ngContext__&&t.add("angular"),(n.__svelte||n.__svelte_meta)&&t.add("svelte"),(n.__jquery||n.jQuery)&&t.add("jquery"),t}function FS(e){let t=Dg(e),n=zS(t),r=HS(e);for(let o of r)n.add(o);return{frameworks:[...n],listenersRaw:Du(e)||"",role:Og(e)??(e.getAttribute?.("role")||null)}}function jS(){return{getEventHandlerIds:e=>Dg(e).map(t=>t.id),getRoleHint:Og,getShadowRoot:US}}function Pg(e={}){return wl||(wl={signalProvider:jS(),getFrameworkMetadata:FS,getListenerEncoding:Du,dispose:()=>{}},wl)}function Bg(){Lg||(Ng(),Lg=!0)}function qS(e,t){return e.endsWith(t)?e.length===t.length||e[e.length-t.length-1]===".":!1}function $S(e,t){let n=e.length-t.length-2,r=e.lastIndexOf(".",n);return r===-1?e:e.slice(r+1)}function Ou(e,t,n){if(n.validHosts!==null){let o=n.validHosts;for(let i of o)if(qS(t,i))return i}let r=0;if(t.startsWith("."))for(;r<t.length&&t[r]===".";)r+=1;return e.length===t.length-r?null:$S(t,e)}function Pu(e,t){return e.slice(0,-t.length-1)}function Sl(e,t){let n=0,r=e.length,o=!1;if(!t){if(e.startsWith("data:"))return null;for(;n<e.length&&e.charCodeAt(n)<=32;)n+=1;for(;r>n+1&&e.charCodeAt(r-1)<=32;)r-=1;if(e.charCodeAt(n)===47&&e.charCodeAt(n+1)===47)n+=2;else{let l=e.indexOf(":/",n);if(l!==-1){let d=l-n,m=e.charCodeAt(n),f=e.charCodeAt(n+1),p=e.charCodeAt(n+2),b=e.charCodeAt(n+3),y=e.charCodeAt(n+4);if(!(d===5&&m===104&&f===116&&p===116&&b===112&&y===115)){if(!(d===4&&m===104&&f===116&&p===116&&b===112)){if(!(d===3&&m===119&&f===115&&p===115)){if(!(d===2&&m===119&&f===115))for(let k=n;k<l;k+=1){let w=e.charCodeAt(k)|32;if(!(w>=97&&w<=122||w>=48&&w<=57||w===46||w===45||w===43))return null}}}}for(n=l+2;e.charCodeAt(n)===47;)n+=1}}let a=-1,s=-1,c=-1;for(let l=n;l<r;l+=1){let d=e.charCodeAt(l);if(d===35||d===47||d===63){r=l;break}else d===64?a=l:d===93?s=l:d===58?c=l:d>=65&&d<=90&&(o=!0)}if(a!==-1&&a>n&&a<r&&(n=a+1),e.charCodeAt(n)===91)return s!==-1?e.slice(n+1,s).toLowerCase():null;c!==-1&&c>n&&c<r&&(r=c)}for(;r>n+1&&e.charCodeAt(r-1)===46;)r-=1;let i=n!==0||r!==e.length?e.slice(n,r):e;return o?i.toLowerCase():i}function WS(e){if(e.length<7||e.length>15)return!1;let t=0;for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r===46)t+=1;else if(r<48||r>57)return!1}return t===3&&e.charCodeAt(0)!==46&&e.charCodeAt(e.length-1)!==46}function VS(e){if(e.length<3)return!1;let t=e.startsWith("[")?1:0,n=e.length;if(e[n-1]==="]"&&(n-=1),n-t>39)return!1;let r=!1;for(;t<n;t+=1){let o=e.charCodeAt(t);if(o===58)r=!0;else if(!(o>=48&&o<=57||o>=97&&o<=102||o>=65&&o<=90))return!1}return r}function Bu(e){return VS(e)||WS(e)}function Ug(e){return e>=97&&e<=122||e>=48&&e<=57||e>127}function Uu(e){if(e.length>255||e.length===0||!Ug(e.charCodeAt(0))&&e.charCodeAt(0)!==46&&e.charCodeAt(0)!==95)return!1;let t=-1,n=-1,r=e.length;for(let o=0;o<r;o+=1){let i=e.charCodeAt(o);if(i===46){if(o-t>64||n===46||n===45||n===95)return!1;t=o}else if(!(Ug(i)||i===45||i===95))return!1;n=i}return r-t-1<=63&&n!==45}function zg({allowIcannDomains:e=!0,allowPrivateDomains:t=!1,detectIp:n=!0,extractHostname:r=!0,mixedInputs:o=!0,validHosts:i=null,validateHostname:a=!0}){return{allowIcannDomains:e,allowPrivateDomains:t,detectIp:n,extractHostname:r,mixedInputs:o,validHosts:i,validateHostname:a}}var GS=zg({});function zu(e){return e===void 0?GS:zg(e)}function Hu(e,t){return t.length===e.length?"":e.slice(0,-t.length-1)}function Tl(){return{domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,publicSuffix:null,subdomain:null}}function Fu(e){e.domain=null,e.domainWithoutSuffix=null,e.hostname=null,e.isIcann=null,e.isIp=null,e.isPrivate=null,e.publicSuffix=null,e.subdomain=null}function _l(e,t,n,r,o){let i=zu(r);return typeof e!="string"||(i.extractHostname?i.mixedInputs?o.hostname=Sl(e,Uu(e)):o.hostname=Sl(e,!1):o.hostname=e,i.detectIp&&o.hostname!==null&&(o.isIp=Bu(o.hostname),o.isIp))?o:i.validateHostname&&i.extractHostname&&o.hostname!==null&&!Uu(o.hostname)?(o.hostname=null,o):(t===0||o.hostname===null||(n(o.hostname,i,o),t===2||o.publicSuffix===null)||(o.domain=Ou(o.publicSuffix,o.hostname,i),t===3||o.domain===null)||(o.subdomain=Hu(o.hostname,o.domain),t===4)||(o.domainWithoutSuffix=Pu(o.domain,o.publicSuffix)),o)}function ju(e,t,n){if(!t.allowPrivateDomains&&e.length>3){let r=e.length-1,o=e.charCodeAt(r),i=e.charCodeAt(r-1),a=e.charCodeAt(r-2),s=e.charCodeAt(r-3);if(o===109&&i===111&&a===99&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="com",!0;if(o===103&&i===114&&a===111&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="org",!0;if(o===117&&i===100&&a===101&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="edu",!0;if(o===118&&i===111&&a===103&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="gov",!0;if(o===116&&i===101&&a===110&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="net",!0;if(o===101&&i===100&&a===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="de",!0}return!1}var Hg=(function(){let e=[1,{}],t=[0,{city:e}];return[0,{ck:[0,{www:e}],jp:[0,{kawasaki:t,kitakyushu:t,kobe:t,nagoya:t,sapporo:t,sendai:t,yokohama:t}]}]})(),Fg=(function(){let e=[1,{}],t=[2,{}],n=[1,{com:e,edu:e,gov:e,net:e,org:e}],r=[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e}],o=[0,{"*":t}],i=[2,{s:o}],a=[0,{relay:t}],s=[2,{id:t}],c=[1,{gov:e}],l=[0,{airflow:o,"lambda-url":t,"transfer-webapp":t}],d=[0,{airflow:o,"transfer-webapp":t}],m=[0,{"transfer-webapp":t}],f=[0,{"transfer-webapp":t,"transfer-webapp-fips":t}],p=[0,{notebook:t,studio:t}],b=[0,{labeling:t,notebook:t,studio:t}],y=[0,{notebook:t}],k=[0,{labeling:t,notebook:t,"notebook-fips":t,studio:t}],w=[0,{notebook:t,"notebook-fips":t,studio:t,"studio-fips":t}],x=[0,{shop:t}],h=[0,{"*":e}],A=[1,{co:t}],E=[0,{objects:t}],_=[2,{"eu-west-1":t,"us-east-1":t}],z=[2,{nodes:t}],ee=[0,{my:t}],V=[0,{s3:t,"s3-accesspoint":t,"s3-website":t}],ne=[0,{s3:t,"s3-accesspoint":t}],$=[0,{direct:t}],re=[0,{"webview-assets":t}],X=[0,{vfs:t,"webview-assets":t}],te=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:V,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t,"aws-cloud9":re,cloud9:X}],de=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:ne,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t,"aws-cloud9":re,cloud9:X}],me=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:V,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t,"analytics-gateway":t,"aws-cloud9":re,cloud9:X}],be=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:V,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t}],Be=[0,{s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-fips":t,"s3-website":t}],bt=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:Be,s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-fips":t,"s3-object-lambda":t,"s3-website":t,"aws-cloud9":re,cloud9:X}],Rt=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:Be,s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-fips":t,"s3-object-lambda":t,"s3-website":t}],ot=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:Be,s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-deprecated":t,"s3-fips":t,"s3-object-lambda":t,"s3-website":t,"analytics-gateway":t,"aws-cloud9":re,cloud9:X}],Oe=[0,{auth:t}],F=[0,{auth:t,"auth-fips":t}],Y=[0,{"auth-fips":t}],ye=[0,{apps:t}],Q=[0,{paas:t}],ue=[2,{eu:t}],ie=[0,{app:t}],ae=[0,{site:t}],pe=[1,{com:e,edu:e,net:e,org:e}],Qe=[0,{j:t}],et=[0,{dyn:t}],Je=[2,{web:t}],Tt=[1,{co:e,com:e,edu:e,gov:e,net:e,org:e}],gt=[0,{p:t}],je=[0,{user:t}],At=[1,{ms:t}],Ue=[0,{cdn:t}],ct=[2,{raw:o}],_t=[0,{cust:t,reservd:t}],pt=[0,{cust:t}],Nt=[0,{s3:t}],Ct=[1,{biz:e,com:e,edu:e,gov:e,info:e,net:e,org:e}],ft=[0,{ipfs:t}],fn=[1,{framer:t}],mn=[0,{forgot:t}],lr=[0,{blob:t,file:t,web:t}],on=[0,{core:lr,servicebus:t}],we=[1,{gs:e}],dr=[0,{nes:e}],Ae=[1,{k12:e,cc:e,lib:e}],zt=[1,{cc:e}],bn=[1,{cc:e,lib:e}];return[0,{ac:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,drr:t,feedback:t,forms:t}],ad:e,ae:[1,{ac:e,co:e,gov:e,mil:e,net:e,org:e,sch:e}],aero:[1,{airline:e,airport:e,"accident-investigation":e,"accident-prevention":e,aerobatic:e,aeroclub:e,aerodrome:e,agents:e,"air-surveillance":e,"air-traffic-control":e,aircraft:e,airtraffic:e,ambulance:e,association:e,author:e,ballooning:e,broker:e,caa:e,cargo:e,catering:e,certification:e,championship:e,charter:e,civilaviation:e,club:e,conference:e,consultant:e,consulting:e,control:e,council:e,crew:e,design:e,dgca:e,educator:e,emergency:e,engine:e,engineer:e,entertainment:e,equipment:e,exchange:e,express:e,federation:e,flight:e,freight:e,fuel:e,gliding:e,government:e,groundhandling:e,group:e,hanggliding:e,homebuilt:e,insurance:e,journal:e,journalist:e,leasing:e,logistics:e,magazine:e,maintenance:e,marketplace:e,media:e,microlight:e,modelling:e,navigation:e,parachuting:e,paragliding:e,"passenger-association":e,pilot:e,press:e,production:e,recreation:e,repbody:e,res:e,research:e,rotorcraft:e,safety:e,scientist:e,services:e,show:e,skydiving:e,software:e,student:e,taxi:e,trader:e,trading:e,trainer:e,union:e,workinggroup:e,works:e}],af:n,ag:[1,{co:e,com:e,net:e,nom:e,org:e,obj:t}],ai:[1,{com:e,net:e,off:e,org:e,uwu:t,framer:t,kiloapps:t}],al:r,am:[1,{co:e,com:e,commune:e,net:e,org:e,radio:t}],ao:[1,{co:e,ed:e,edu:e,gov:e,gv:e,it:e,og:e,org:e,pb:e}],aq:e,ar:[1,{bet:e,com:e,coop:e,edu:e,gob:e,gov:e,int:e,mil:e,musica:e,mutual:e,net:e,org:e,seg:e,senasa:e,tur:e}],arpa:[1,{e164:e,home:e,"in-addr":e,ip6:e,iris:e,uri:e,urn:e}],as:c,asia:[1,{cloudns:t,daemon:t,dix:t}],at:[1,{4:t,ac:[1,{sth:e}],co:e,gv:e,or:e,funkfeuer:[0,{wien:t}],futurecms:[0,{"*":t,ex:o,in:o}],futurehosting:t,futuremailing:t,ortsinfo:[0,{ex:o,kunden:o}],biz:t,info:t,"123webseite":t,priv:t,my:t,myspreadshop:t,"12hp":t,"2ix":t,"4lima":t,"lima-city":t}],au:[1,{asn:e,com:[1,{cloudlets:[0,{mel:t}],myspreadshop:t}],edu:[1,{act:e,catholic:e,nsw:e,nt:e,qld:e,sa:e,tas:e,vic:e,wa:e}],gov:[1,{qld:e,sa:e,tas:e,vic:e,wa:e}],id:e,net:e,org:e,conf:e,oz:e,act:e,nsw:e,nt:e,qld:e,sa:e,tas:e,vic:e,wa:e,hrsn:[0,{vps:t}]}],aw:[1,{com:e}],ax:e,az:[1,{biz:e,co:e,com:e,edu:e,gov:e,info:e,int:e,mil:e,name:e,net:e,org:e,pp:e,pro:e}],ba:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,brendly:x,rs:t}],bb:[1,{biz:e,co:e,com:e,edu:e,gov:e,info:e,net:e,org:e,store:e,tv:e}],bd:[1,{ac:e,ai:e,co:e,com:e,edu:e,gov:e,id:e,info:e,it:e,mil:e,net:e,org:e,sch:e,tv:e}],be:[1,{ac:e,cloudns:t,webhosting:t,interhostsolutions:[0,{cloud:t}],kuleuven:[0,{ezproxy:t}],my:t,"123website":t,myspreadshop:t,transurl:o}],bf:c,bg:[1,{0:e,1:e,2:e,3:e,4:e,5:e,6:e,7:e,8:e,9:e,a:e,b:e,c:e,d:e,e,f:e,g:e,h:e,i:e,j:e,k:e,l:e,m:e,n:e,o:e,p:e,q:e,r:e,s:e,t:e,u:e,v:e,w:e,x:e,y:e,z:e,barsy:t}],bh:n,bi:[1,{co:e,com:e,edu:e,or:e,org:e}],biz:[1,{activetrail:t,"cloud-ip":t,cloudns:t,jozi:t,dyndns:t,"for-better":t,"for-more":t,"for-some":t,"for-the":t,selfip:t,webhop:t,orx:t,mmafan:t,myftp:t,"no-ip":t,dscloud:t}],bj:[1,{africa:e,agro:e,architectes:e,assur:e,avocats:e,co:e,com:e,eco:e,econo:e,edu:e,info:e,loisirs:e,money:e,net:e,org:e,ote:e,restaurant:e,resto:e,tourism:e,univ:e}],bm:n,bn:[1,{com:e,edu:e,gov:e,net:e,org:e,co:t}],bo:[1,{com:e,edu:e,gob:e,int:e,mil:e,net:e,org:e,tv:e,web:e,academia:e,agro:e,arte:e,blog:e,bolivia:e,ciencia:e,cooperativa:e,democracia:e,deporte:e,ecologia:e,economia:e,empresa:e,indigena:e,industria:e,info:e,medicina:e,movimiento:e,musica:e,natural:e,nombre:e,noticias:e,patria:e,plurinacional:e,politica:e,profesional:e,pueblo:e,revista:e,salud:e,tecnologia:e,tksat:e,transporte:e,wiki:e}],br:[1,{"9guacu":e,abc:e,adm:e,adv:e,agr:e,aju:e,am:e,anani:e,aparecida:e,api:e,app:e,arq:e,art:e,ato:e,b:e,barueri:e,belem:e,bet:e,bhz:e,bib:e,bio:e,blog:e,bmd:e,boavista:e,bsb:e,campinagrande:e,campinas:e,caxias:e,cim:e,cng:e,cnt:e,com:[1,{simplesite:t}],contagem:e,coop:e,coz:e,cri:e,cuiaba:e,curitiba:e,def:e,des:e,det:e,dev:e,ecn:e,eco:e,edu:e,emp:e,enf:e,eng:e,esp:e,etc:e,eti:e,far:e,feira:e,flog:e,floripa:e,fm:e,fnd:e,fortal:e,fot:e,foz:e,fst:e,g12:e,geo:e,ggf:e,goiania:e,gov:[1,{ac:e,al:e,am:e,ap:e,ba:e,ce:e,df:e,es:e,go:e,ma:e,mg:e,ms:e,mt:e,pa:e,pb:e,pe:e,pi:e,pr:e,rj:e,rn:e,ro:e,rr:e,rs:e,sc:e,se:e,sp:e,to:e}],gru:e,ia:e,imb:e,ind:e,inf:e,jab:e,jampa:e,jdf:e,joinville:e,jor:e,jus:e,leg:[1,{ac:t,al:t,am:t,ap:t,ba:t,ce:t,df:t,es:t,go:t,ma:t,mg:t,ms:t,mt:t,pa:t,pb:t,pe:t,pi:t,pr:t,rj:t,rn:t,ro:t,rr:t,rs:t,sc:t,se:t,sp:t,to:t}],leilao:e,lel:e,log:e,londrina:e,macapa:e,maceio:e,manaus:e,maringa:e,mat:e,med:e,mil:e,morena:e,mp:e,mus:e,natal:e,net:e,niteroi:e,nom:h,not:e,ntr:e,odo:e,ong:e,org:e,osasco:e,palmas:e,poa:e,ppg:e,pro:e,psc:e,psi:e,pvh:e,qsl:e,radio:e,rec:e,recife:e,rep:e,ribeirao:e,rio:e,riobranco:e,riopreto:e,salvador:e,sampa:e,santamaria:e,santoandre:e,saobernardo:e,saogonca:e,seg:e,sjc:e,slg:e,slz:e,social:e,sorocaba:e,srv:e,taxi:e,tc:e,tec:e,teo:e,the:e,tmp:e,trd:e,tur:e,tv:e,udi:e,vet:e,vix:e,vlog:e,wiki:e,xyz:e,zlg:e,tche:t}],bs:[1,{com:e,edu:e,gov:e,net:e,org:e,we:t}],bt:n,bv:e,bw:[1,{ac:e,co:e,gov:e,net:e,org:e}],by:[1,{gov:e,mil:e,com:e,of:e,mediatech:t}],bz:[1,{co:e,com:e,edu:e,gov:e,net:e,org:e,za:t,mydns:t,gsj:t}],ca:[1,{ab:e,bc:e,mb:e,nb:e,nf:e,nl:e,ns:e,nt:e,nu:e,on:e,pe:e,qc:e,sk:e,yk:e,gc:e,barsy:t,awdev:o,co:t,"no-ip":t,onid:t,myspreadshop:t,box:t}],cat:e,cc:[1,{cleverapps:t,"cloud-ip":t,cloudns:t,ccwu:t,ftpaccess:t,"game-server":t,myphotos:t,scrapping:t,twmail:t,csx:t,fantasyleague:t,spawn:[0,{instances:t}],ec:t,eu:t,gu:t,uk:t,us:t}],cd:[1,{gov:e,cc:t}],cf:e,cg:e,ch:[1,{square7:t,cloudns:t,cloudscale:[0,{cust:t,lpg:E,rma:E}],objectstorage:[0,{lpg:t,rma:t}],flow:[0,{ae:[0,{alp1:t}],appengine:t}],"linkyard-cloud":t,gotdns:t,dnsking:t,"123website":t,myspreadshop:t,firenet:[0,{"*":t,svc:o}],"12hp":t,"2ix":t,"4lima":t,"lima-city":t}],ci:[1,{ac:e,"xn--aroport-bya":e,a\u00E9roport:e,asso:e,co:e,com:e,ed:e,edu:e,go:e,gouv:e,int:e,net:e,or:e,org:e,us:t}],ck:h,cl:[1,{co:e,gob:e,gov:e,mil:e,cloudns:t}],cm:[1,{co:e,com:e,gov:e,net:e}],cn:[1,{ac:e,com:[1,{amazonaws:[0,{"cn-north-1":[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,rds:o,dualstack:V,s3:t,"s3-accesspoint":t,"s3-deprecated":t,"s3-object-lambda":t,"s3-website":t}],"cn-northwest-1":[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,rds:o,dualstack:ne,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t}],compute:o,airflow:[0,{"cn-north-1":o,"cn-northwest-1":o}],eb:[0,{"cn-north-1":t,"cn-northwest-1":t}],elb:o}],amazonwebservices:[0,{on:[0,{"cn-north-1":d,"cn-northwest-1":d}]}],sagemaker:[0,{"cn-north-1":p,"cn-northwest-1":p}]}],edu:e,gov:e,mil:e,net:e,org:e,"xn--55qx5d":e,\u516C\u53F8:e,"xn--od0alg":e,\u7DB2\u7D61:e,"xn--io0a7i":e,\u7F51\u7EDC:e,ah:e,bj:e,cq:e,fj:e,gd:e,gs:e,gx:e,gz:e,ha:e,hb:e,he:e,hi:e,hk:e,hl:e,hn:e,jl:e,js:e,jx:e,ln:e,mo:e,nm:e,nx:e,qh:e,sc:e,sd:e,sh:[1,{as:t}],sn:e,sx:e,tj:e,tw:e,xj:e,xz:e,yn:e,zj:e,"canva-apps":t,canvasite:ee,myqnapcloud:t,quickconnect:$}],co:[1,{com:e,edu:e,gov:e,mil:e,net:e,nom:e,org:e,carrd:t,crd:t,otap:o,hidns:t,leadpages:t,lpages:t,mypi:t,xmit:o,rdpa:[0,{clusters:o,srvrless:o}],firewalledreplit:s,repl:s,supabase:[2,{realtime:t,storage:t}],umso:t}],com:[1,{a2hosted:t,cpserver:t,adobeaemcloud:[2,{dev:o}],africa:t,auiusercontent:o,aivencloud:t,alibabacloudcs:t,kasserver:t,amazonaws:[0,{"af-south-1":te,"ap-east-1":de,"ap-northeast-1":me,"ap-northeast-2":me,"ap-northeast-3":te,"ap-south-1":me,"ap-south-2":be,"ap-southeast-1":me,"ap-southeast-2":me,"ap-southeast-3":be,"ap-southeast-4":be,"ap-southeast-5":[0,{"execute-api":t,dualstack:V,s3:t,"s3-accesspoint":t,"s3-deprecated":t,"s3-object-lambda":t,"s3-website":t}],"ca-central-1":bt,"ca-west-1":Rt,"eu-central-1":me,"eu-central-2":be,"eu-north-1":de,"eu-south-1":te,"eu-south-2":be,"eu-west-1":[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:V,s3:t,"s3-accesspoint":t,"s3-deprecated":t,"s3-object-lambda":t,"s3-website":t,"analytics-gateway":t,"aws-cloud9":re,cloud9:X}],"eu-west-2":de,"eu-west-3":te,"il-central-1":[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:V,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t,"aws-cloud9":re,cloud9:[0,{vfs:t}]}],"me-central-1":be,"me-south-1":de,"sa-east-1":te,"us-east-1":[2,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:Be,s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-deprecated":t,"s3-fips":t,"s3-object-lambda":t,"s3-website":t,"analytics-gateway":t,"aws-cloud9":re,cloud9:X}],"us-east-2":ot,"us-gov-east-1":Rt,"us-gov-west-1":Rt,"us-west-1":bt,"us-west-2":ot,compute:o,"compute-1":o,airflow:[0,{"af-south-1":o,"ap-east-1":o,"ap-northeast-1":o,"ap-northeast-2":o,"ap-northeast-3":o,"ap-south-1":o,"ap-south-2":o,"ap-southeast-1":o,"ap-southeast-2":o,"ap-southeast-3":o,"ap-southeast-4":o,"ap-southeast-5":o,"ap-southeast-7":o,"ca-central-1":o,"ca-west-1":o,"eu-central-1":o,"eu-central-2":o,"eu-north-1":o,"eu-south-1":o,"eu-south-2":o,"eu-west-1":o,"eu-west-2":o,"eu-west-3":o,"il-central-1":o,"me-central-1":o,"me-south-1":o,"sa-east-1":o,"us-east-1":o,"us-east-2":o,"us-west-1":o,"us-west-2":o}],rds:[0,{"af-south-1":o,"ap-east-1":o,"ap-east-2":o,"ap-northeast-1":o,"ap-northeast-2":o,"ap-northeast-3":o,"ap-south-1":o,"ap-south-2":o,"ap-southeast-1":o,"ap-southeast-2":o,"ap-southeast-3":o,"ap-southeast-4":o,"ap-southeast-5":o,"ap-southeast-6":o,"ap-southeast-7":o,"ca-central-1":o,"ca-west-1":o,"eu-central-1":o,"eu-central-2":o,"eu-west-1":o,"eu-west-2":o,"eu-west-3":o,"il-central-1":o,"me-central-1":o,"me-south-1":o,"mx-central-1":o,"sa-east-1":o,"us-east-1":o,"us-east-2":o,"us-gov-east-1":o,"us-gov-west-1":o,"us-northeast-1":o,"us-west-1":o,"us-west-2":o}],s3:t,"s3-1":t,"s3-ap-east-1":t,"s3-ap-northeast-1":t,"s3-ap-northeast-2":t,"s3-ap-northeast-3":t,"s3-ap-south-1":t,"s3-ap-southeast-1":t,"s3-ap-southeast-2":t,"s3-ca-central-1":t,"s3-eu-central-1":t,"s3-eu-north-1":t,"s3-eu-west-1":t,"s3-eu-west-2":t,"s3-eu-west-3":t,"s3-external-1":t,"s3-fips-us-gov-east-1":t,"s3-fips-us-gov-west-1":t,"s3-global":[0,{accesspoint:[0,{mrap:t}]}],"s3-me-south-1":t,"s3-sa-east-1":t,"s3-us-east-2":t,"s3-us-gov-east-1":t,"s3-us-gov-west-1":t,"s3-us-west-1":t,"s3-us-west-2":t,"s3-website-ap-northeast-1":t,"s3-website-ap-southeast-1":t,"s3-website-ap-southeast-2":t,"s3-website-eu-west-1":t,"s3-website-sa-east-1":t,"s3-website-us-east-1":t,"s3-website-us-gov-west-1":t,"s3-website-us-west-1":t,"s3-website-us-west-2":t,elb:o}],amazoncognito:[0,{"af-south-1":Oe,"ap-east-1":Oe,"ap-northeast-1":Oe,"ap-northeast-2":Oe,"ap-northeast-3":Oe,"ap-south-1":Oe,"ap-south-2":Oe,"ap-southeast-1":Oe,"ap-southeast-2":Oe,"ap-southeast-3":Oe,"ap-southeast-4":Oe,"ap-southeast-5":Oe,"ap-southeast-7":Oe,"ca-central-1":Oe,"ca-west-1":Oe,"eu-central-1":Oe,"eu-central-2":Oe,"eu-north-1":Oe,"eu-south-1":Oe,"eu-south-2":Oe,"eu-west-1":Oe,"eu-west-2":Oe,"eu-west-3":Oe,"il-central-1":Oe,"me-central-1":Oe,"me-south-1":Oe,"mx-central-1":Oe,"sa-east-1":Oe,"us-east-1":F,"us-east-2":F,"us-gov-east-1":Y,"us-gov-west-1":Y,"us-west-1":F,"us-west-2":F}],amplifyapp:t,awsapprunner:o,awsapps:t,elasticbeanstalk:[2,{"af-south-1":t,"ap-east-1":t,"ap-northeast-1":t,"ap-northeast-2":t,"ap-northeast-3":t,"ap-south-1":t,"ap-southeast-1":t,"ap-southeast-2":t,"ap-southeast-3":t,"ap-southeast-5":t,"ap-southeast-7":t,"ca-central-1":t,"eu-central-1":t,"eu-north-1":t,"eu-south-1":t,"eu-south-2":t,"eu-west-1":t,"eu-west-2":t,"eu-west-3":t,"il-central-1":t,"me-central-1":t,"me-south-1":t,"sa-east-1":t,"us-east-1":t,"us-east-2":t,"us-gov-east-1":t,"us-gov-west-1":t,"us-west-1":t,"us-west-2":t}],awsglobalaccelerator:t,siiites:t,appspacehosted:t,appspaceusercontent:t,"on-aptible":t,myasustor:t,"balena-devices":t,boutir:t,bplaced:t,cafjs:t,"canva-apps":t,"canva-hosted-embed":t,canvacode:t,"rice-labs":t,"cdn77-storage":t,br:t,cn:t,de:t,eu:t,jpn:t,mex:t,ru:t,sa:t,uk:t,us:t,za:t,"clever-cloud":[0,{services:o}],abrdns:t,dnsabr:t,"ip-ddns":t,jdevcloud:t,wpdevcloud:t,"cf-ipfs":t,"cloudflare-ipfs":t,trycloudflare:t,co:t,devinapps:o,builtwithdark:t,datadetect:[0,{demo:t,instance:t}],dattolocal:t,dattorelay:t,dattoweb:t,mydatto:t,digitaloceanspaces:o,discordsays:t,discordsez:t,drayddns:t,dreamhosters:t,durumis:t,blogdns:t,cechire:t,dnsalias:t,dnsdojo:t,doesntexist:t,dontexist:t,doomdns:t,"dyn-o-saur":t,dynalias:t,"dyndns-at-home":t,"dyndns-at-work":t,"dyndns-blog":t,"dyndns-free":t,"dyndns-home":t,"dyndns-ip":t,"dyndns-mail":t,"dyndns-office":t,"dyndns-pics":t,"dyndns-remote":t,"dyndns-server":t,"dyndns-web":t,"dyndns-wiki":t,"dyndns-work":t,"est-a-la-maison":t,"est-a-la-masion":t,"est-le-patron":t,"est-mon-blogueur":t,"from-ak":t,"from-al":t,"from-ar":t,"from-ca":t,"from-ct":t,"from-dc":t,"from-de":t,"from-fl":t,"from-ga":t,"from-hi":t,"from-ia":t,"from-id":t,"from-il":t,"from-in":t,"from-ks":t,"from-ky":t,"from-ma":t,"from-md":t,"from-mi":t,"from-mn":t,"from-mo":t,"from-ms":t,"from-mt":t,"from-nc":t,"from-nd":t,"from-ne":t,"from-nh":t,"from-nj":t,"from-nm":t,"from-nv":t,"from-oh":t,"from-ok":t,"from-or":t,"from-pa":t,"from-pr":t,"from-ri":t,"from-sc":t,"from-sd":t,"from-tn":t,"from-tx":t,"from-ut":t,"from-va":t,"from-vt":t,"from-wa":t,"from-wi":t,"from-wv":t,"from-wy":t,getmyip:t,gotdns:t,"hobby-site":t,homelinux:t,homeunix:t,iamallama:t,"is-a-anarchist":t,"is-a-blogger":t,"is-a-bookkeeper":t,"is-a-bulls-fan":t,"is-a-caterer":t,"is-a-chef":t,"is-a-conservative":t,"is-a-cpa":t,"is-a-cubicle-slave":t,"is-a-democrat":t,"is-a-designer":t,"is-a-doctor":t,"is-a-financialadvisor":t,"is-a-geek":t,"is-a-green":t,"is-a-guru":t,"is-a-hard-worker":t,"is-a-hunter":t,"is-a-landscaper":t,"is-a-lawyer":t,"is-a-liberal":t,"is-a-libertarian":t,"is-a-llama":t,"is-a-musician":t,"is-a-nascarfan":t,"is-a-nurse":t,"is-a-painter":t,"is-a-personaltrainer":t,"is-a-photographer":t,"is-a-player":t,"is-a-republican":t,"is-a-rockstar":t,"is-a-socialist":t,"is-a-student":t,"is-a-teacher":t,"is-a-techie":t,"is-a-therapist":t,"is-an-accountant":t,"is-an-actor":t,"is-an-actress":t,"is-an-anarchist":t,"is-an-artist":t,"is-an-engineer":t,"is-an-entertainer":t,"is-certified":t,"is-gone":t,"is-into-anime":t,"is-into-cars":t,"is-into-cartoons":t,"is-into-games":t,"is-leet":t,"is-not-certified":t,"is-slick":t,"is-uberleet":t,"is-with-theband":t,"isa-geek":t,"isa-hockeynut":t,issmarterthanyou:t,"likes-pie":t,likescandy:t,"neat-url":t,"saves-the-whales":t,selfip:t,"sells-for-less":t,"sells-for-u":t,servebbs:t,"simple-url":t,"space-to-rent":t,"teaches-yoga":t,writesthisblog:t,"1cooldns":t,bumbleshrimp:t,ddnsfree:t,ddnsgeek:t,ddnsguru:t,dynuddns:t,dynuhosting:t,giize:t,gleeze:t,kozow:t,loseyourip:t,ooguy:t,pivohosting:t,theworkpc:t,wiredbladehosting:t,emergentagent:[0,{preview:t}],mytuleap:t,"tuleap-partners":t,encoreapi:t,evennode:[0,{"eu-1":t,"eu-2":t,"eu-3":t,"eu-4":t,"us-1":t,"us-2":t,"us-3":t,"us-4":t}],onfabrica:t,"fastly-edge":t,"fastly-terrarium":t,"fastvps-server":t,mydobiss:t,firebaseapp:t,fldrv:t,framercanvas:t,"freebox-os":t,freeboxos:t,freemyip:t,aliases121:t,gentapps:t,gentlentapis:t,githubusercontent:t,"0emm":o,appspot:[2,{r:o}],blogspot:t,codespot:t,googleapis:t,googlecode:t,pagespeedmobilizer:t,withgoogle:t,withyoutube:t,grayjayleagues:t,hatenablog:t,hatenadiary:t,"hercules-app":t,"hercules-dev":t,herokuapp:t,gr:t,smushcdn:t,wphostedmail:t,wpmucdn:t,pixolino:t,"apps-1and1":t,"live-website":t,"webspace-host":t,dopaas:t,"hosted-by-previder":Q,hosteur:[0,{"rag-cloud":t,"rag-cloud-ch":t}],"ik-server":[0,{jcloud:t,"jcloud-ver-jpc":t}],jelastic:[0,{demo:t}],massivegrid:Q,wafaicloud:[0,{jed:t,ryd:t}],"eu1-plenit":t,"la1-plenit":t,"us1-plenit":t,webadorsite:t,"on-forge":t,"on-vapor":t,lpusercontent:t,linode:[0,{members:t,nodebalancer:o}],linodeobjects:o,linodeusercontent:[0,{ip:t}],localtonet:t,lovableproject:t,barsycenter:t,barsyonline:t,lutrausercontent:o,magicpatternsapp:t,modelscape:t,mwcloudnonprod:t,polyspace:t,miniserver:t,atmeta:t,fbsbx:ye,meteorapp:ue,routingthecloud:t,"same-app":t,"same-preview":t,mydbserver:t,mochausercontent:t,hostedpi:t,"mythic-beasts":[0,{caracal:t,customer:t,fentiger:t,lynx:t,ocelot:t,oncilla:t,onza:t,sphinx:t,vs:t,x:t,yali:t}],nospamproxy:[0,{cloud:[2,{o365:t}]}],"4u":t,nfshost:t,"3utilities":t,blogsyte:t,ciscofreak:t,damnserver:t,ddnsking:t,ditchyourip:t,dnsiskinky:t,dynns:t,geekgalaxy:t,"health-carereform":t,homesecuritymac:t,homesecuritypc:t,myactivedirectory:t,mysecuritycamera:t,myvnc:t,"net-freaks":t,onthewifi:t,point2this:t,quicksytes:t,securitytactics:t,servebeer:t,servecounterstrike:t,serveexchange:t,serveftp:t,servegame:t,servehalflife:t,servehttp:t,servehumour:t,serveirc:t,servemp3:t,servep2p:t,servepics:t,servequake:t,servesarcasm:t,stufftoread:t,unusualperson:t,workisboring:t,myiphost:t,observableusercontent:[0,{static:t}],simplesite:t,oaiusercontent:o,orsites:t,operaunite:t,"customer-oci":[0,{"*":t,oci:o,ocp:o,ocs:o}],oraclecloudapps:o,oraclegovcloudapps:o,"authgear-staging":t,authgearapps:t,outsystemscloud:t,ownprovider:t,pgfog:t,pagexl:t,gotpantheon:t,paywhirl:o,forgeblocks:t,upsunapp:t,"postman-echo":t,prgmr:[0,{xen:t}],"project-study":[0,{dev:t}],pythonanywhere:ue,qa2:t,"alpha-myqnapcloud":t,"dev-myqnapcloud":t,mycloudnas:t,mynascloud:t,myqnapcloud:t,qualifioapp:t,ladesk:t,qualyhqpartner:o,qualyhqportal:o,qbuser:t,quipelements:o,rackmaze:t,"readthedocs-hosted":t,rhcloud:t,onrender:t,render:ie,"subsc-pay":t,"180r":t,dojin:t,sakuratan:t,sakuraweb:t,x0:t,code:[0,{builder:o,"dev-builder":o,"stg-builder":o}],salesforce:[0,{platform:[0,{"code-builder-stg":[0,{test:[0,{"001":o}]}]}]}],logoip:t,scrysec:t,"firewall-gateway":t,myshopblocks:t,myshopify:t,shopitsite:t,"1kapp":t,appchizi:t,applinzi:t,sinaapp:t,vipsinaapp:t,streamlitapp:t,"try-snowplow":t,"playstation-cloud":t,myspreadshop:t,"w-corp-staticblitz":t,"w-credentialless-staticblitz":t,"w-staticblitz":t,"stackhero-network":t,stdlib:[0,{api:t}],strapiapp:[2,{media:t}],"streak-link":t,streaklinks:t,streakusercontent:t,"temp-dns":t,dsmynas:t,familyds:t,mytabit:t,taveusercontent:t,"tb-hosting":ae,reservd:t,thingdustdata:t,"townnews-staging":t,typeform:[0,{pro:t}],hk:t,it:t,"deus-canvas":t,vultrobjects:o,wafflecell:t,hotelwithflight:t,"reserve-online":t,cprapid:t,pleskns:t,remotewd:t,wiardweb:[0,{pages:t}],"drive-platform":t,"base44-sandbox":t,wixsite:t,wixstudio:t,messwithdns:t,"woltlab-demo":t,wpenginepowered:[2,{js:t}],xnbay:[2,{u2:t,"u2-local":t}],xtooldevice:t,yolasite:t}],coop:e,cr:[1,{ac:e,co:e,ed:e,fi:e,go:e,or:e,sa:e}],cu:[1,{com:e,edu:e,gob:e,inf:e,nat:e,net:e,org:e}],cv:[1,{com:e,edu:e,id:e,int:e,net:e,nome:e,org:e,publ:e}],cw:pe,cx:[1,{gov:e,cloudns:t,ath:t,info:t,assessments:t,calculators:t,funnels:t,paynow:t,quizzes:t,researched:t,tests:t}],cy:[1,{ac:e,biz:e,com:[1,{scaleforce:Qe}],ekloges:e,gov:e,ltd:e,mil:e,net:e,org:e,press:e,pro:e,tm:e}],cz:[1,{gov:e,contentproxy9:[0,{rsc:t}],realm:t,e4:t,co:t,metacentrum:[0,{cloud:o,custom:t}],muni:[0,{cloud:[0,{flt:t,usr:t}]}]}],de:[1,{bplaced:t,square7:t,"bwcloud-os-instance":o,com:t,cosidns:et,dnsupdater:t,"dynamisches-dns":t,"internet-dns":t,"l-o-g-i-n":t,ddnss:[2,{dyn:t,dyndns:t}],"dyn-ip24":t,dyndns1:t,"home-webserver":[2,{dyn:t}],"myhome-server":t,dnshome:t,fuettertdasnetz:t,isteingeek:t,istmein:t,lebtimnetz:t,leitungsen:t,traeumtgerade:t,frusky:o,goip:t,"xn--gnstigbestellen-zvb":t,g\u00FCnstigbestellen:t,"xn--gnstigliefern-wob":t,g\u00FCnstigliefern:t,"hs-heilbronn":[0,{it:[0,{pages:t,"pages-research":t}]}],"dyn-berlin":t,"in-berlin":t,"in-brb":t,"in-butter":t,"in-dsl":t,"in-vpn":t,iservschule:t,"mein-iserv":t,schuldock:t,schulplattform:t,schulserver:t,"test-iserv":t,keymachine:t,co:t,"git-repos":t,"lcube-server":t,"svn-repos":t,barsy:t,webspaceconfig:t,"123webseite":t,rub:t,"ruhr-uni-bochum":[2,{noc:[0,{io:t}]}],logoip:t,"firewall-gateway":t,"my-gateway":t,"my-router":t,spdns:t,my:t,speedpartner:[0,{customer:t}],myspreadshop:t,"taifun-dns":t,"12hp":t,"2ix":t,"4lima":t,"lima-city":t,"virtual-user":t,virtualuser:t,"community-pro":t,diskussionsbereich:t,xenonconnect:o}],dj:e,dk:[1,{biz:t,co:t,firm:t,reg:t,store:t,"123hjemmeside":t,myspreadshop:t}],dm:Tt,do:[1,{art:e,com:e,edu:e,gob:e,gov:e,mil:e,net:e,org:e,sld:e,web:e}],dz:[1,{art:e,asso:e,com:e,edu:e,gov:e,net:e,org:e,pol:e,soc:e,tm:e}],ec:[1,{abg:e,adm:e,agron:e,arqt:e,art:e,bar:e,chef:e,com:e,cont:e,cpa:e,cue:e,dent:e,dgn:e,disco:e,doc:e,edu:e,eng:e,esm:e,fin:e,fot:e,gal:e,gob:e,gov:e,gye:e,ibr:e,info:e,k12:e,lat:e,loj:e,med:e,mil:e,mktg:e,mon:e,net:e,ntr:e,odont:e,org:e,pro:e,prof:e,psic:e,psiq:e,pub:e,rio:e,rrpp:e,sal:e,tech:e,tul:e,tur:e,uio:e,vet:e,xxx:e,base:t,official:t}],edu:[1,{rit:[0,{"git-pages":t}]}],ee:[1,{aip:e,com:e,edu:e,fie:e,gov:e,lib:e,med:e,org:e,pri:e,riik:e}],eg:[1,{ac:e,com:e,edu:e,eun:e,gov:e,info:e,me:e,mil:e,name:e,net:e,org:e,sci:e,sport:e,tv:e}],er:h,es:[1,{com:e,edu:e,gob:e,nom:e,org:e,"123miweb":t,myspreadshop:t}],et:[1,{biz:e,com:e,edu:e,gov:e,info:e,name:e,net:e,org:e}],eu:[1,{amazonwebservices:[0,{on:[0,{"eusc-de-east-1":[0,{"cognito-idp":Oe}]}]}],cloudns:t,prvw:t,deuxfleurs:t,dogado:[0,{jelastic:t}],barsy:t,spdns:t,nxa:o,directwp:t,transurl:o}],fi:[1,{aland:e,dy:t,"xn--hkkinen-5wa":t,h\u00E4kkinen:t,iki:t,cloudplatform:[0,{fi:t}],datacenter:[0,{demo:t,paas:t}],kapsi:t,"123kotisivu":t,myspreadshop:t}],fj:[1,{ac:e,biz:e,com:e,edu:e,gov:e,id:e,info:e,mil:e,name:e,net:e,org:e,pro:e}],fk:h,fm:[1,{com:e,edu:e,net:e,org:e,radio:t,user:o}],fo:e,fr:[1,{asso:e,com:e,gouv:e,nom:e,prd:e,tm:e,avoues:e,cci:e,greta:e,"huissier-justice":e,"fbx-os":t,fbxos:t,"freebox-os":t,freeboxos:t,goupile:t,kdns:t,"123siteweb":t,"on-web":t,"chirurgiens-dentistes-en-france":t,dedibox:t,aeroport:t,avocat:t,chambagri:t,"chirurgiens-dentistes":t,"experts-comptables":t,medecin:t,notaires:t,pharmacien:t,port:t,veterinaire:t,myspreadshop:t,ynh:t}],ga:e,gb:e,gd:[1,{edu:e,gov:e}],ge:[1,{com:e,edu:e,gov:e,net:e,org:e,pvt:e,school:e}],gf:e,gg:[1,{co:e,net:e,org:e,ply:[0,{at:o,d6:t}],botdash:t,kaas:t,stackit:t,panel:[2,{daemon:t}]}],gh:[1,{biz:e,com:e,edu:e,gov:e,mil:e,net:e,org:e}],gi:[1,{com:e,edu:e,gov:e,ltd:e,mod:e,org:e}],gl:[1,{co:e,com:e,edu:e,net:e,org:e}],gm:e,gn:[1,{ac:e,com:e,edu:e,gov:e,net:e,org:e}],gov:e,gp:[1,{asso:e,com:e,edu:e,mobi:e,net:e,org:e}],gq:e,gr:[1,{com:e,edu:e,gov:e,net:e,org:e,barsy:t,simplesite:t}],gs:e,gt:[1,{com:e,edu:e,gob:e,ind:e,mil:e,net:e,org:e}],gu:[1,{com:e,edu:e,gov:e,guam:e,info:e,net:e,org:e,web:e}],gw:[1,{nx:t}],gy:Tt,hk:[1,{com:e,edu:e,gov:e,idv:e,net:e,org:e,"xn--ciqpn":e,\u4E2A\u4EBA:e,"xn--gmqw5a":e,\u500B\u4EBA:e,"xn--55qx5d":e,\u516C\u53F8:e,"xn--mxtq1m":e,\u653F\u5E9C:e,"xn--lcvr32d":e,\u654E\u80B2:e,"xn--wcvs22d":e,\u6559\u80B2:e,"xn--gmq050i":e,\u7B87\u4EBA:e,"xn--uc0atv":e,\u7D44\u7E54:e,"xn--uc0ay4a":e,\u7D44\u7EC7:e,"xn--od0alg":e,\u7DB2\u7D61:e,"xn--zf0avx":e,\u7DB2\u7EDC:e,"xn--mk0axi":e,\u7EC4\u7E54:e,"xn--tn0ag":e,\u7EC4\u7EC7:e,"xn--od0aq3b":e,\u7F51\u7D61:e,"xn--io0a7i":e,\u7F51\u7EDC:e,inc:t,ltd:t}],hm:e,hn:[1,{com:e,edu:e,gob:e,mil:e,net:e,org:e}],hr:[1,{com:e,from:e,iz:e,name:e,brendly:x}],ht:[1,{adult:e,art:e,asso:e,com:e,coop:e,edu:e,firm:e,gouv:e,info:e,med:e,net:e,org:e,perso:e,pol:e,pro:e,rel:e,shop:e,rt:t}],hu:[1,{2e3:e,agrar:e,bolt:e,casino:e,city:e,co:e,erotica:e,erotika:e,film:e,forum:e,games:e,hotel:e,info:e,ingatlan:e,jogasz:e,konyvelo:e,lakas:e,media:e,news:e,org:e,priv:e,reklam:e,sex:e,shop:e,sport:e,suli:e,szex:e,tm:e,tozsde:e,utazas:e,video:e}],id:[1,{ac:e,biz:e,co:e,desa:e,go:e,kop:e,mil:e,my:e,net:e,or:e,ponpes:e,sch:e,web:e,"xn--9tfky":e,"\u1B29\u1B2E\u1B36":e,e:t,zone:t}],ie:[1,{gov:e,myspreadshop:t}],il:[1,{ac:e,co:[1,{ravpage:t,mytabit:t,tabitorder:t}],gov:e,idf:e,k12:e,muni:e,net:e,org:e}],"xn--4dbrk0ce":[1,{"xn--4dbgdty6c":e,"xn--5dbhl8d":e,"xn--8dbq2a":e,"xn--hebda8b":e}],\u05D9\u05E9\u05E8\u05D0\u05DC:[1,{\u05D0\u05E7\u05D3\u05DE\u05D9\u05D4:e,\u05D9\u05E9\u05D5\u05D1:e,\u05E6\u05D4\u05DC:e,\u05DE\u05DE\u05E9\u05DC:e}],im:[1,{ac:e,co:[1,{ltd:e,plc:e}],com:e,net:e,org:e,tt:e,tv:e}],in:[1,{"5g":e,"6g":e,ac:e,ai:e,am:e,bank:e,bihar:e,biz:e,business:e,ca:e,cn:e,co:e,com:e,coop:e,cs:e,delhi:e,dr:e,edu:e,er:e,fin:e,firm:e,gen:e,gov:e,gujarat:e,ind:e,info:e,int:e,internet:e,io:e,me:e,mil:e,net:e,nic:e,org:e,pg:e,post:e,pro:e,res:e,travel:e,tv:e,uk:e,up:e,us:e,cloudns:t,barsy:t,web:t,indevs:t,supabase:t}],info:[1,{cloudns:t,"dynamic-dns":t,"barrel-of-knowledge":t,"barrell-of-knowledge":t,dyndns:t,"for-our":t,"groks-the":t,"groks-this":t,"here-for-more":t,knowsitall:t,selfip:t,webhop:t,barsy:t,mayfirst:t,mittwald:t,mittwaldserver:t,typo3server:t,dvrcam:t,ilovecollege:t,"no-ip":t,forumz:t,nsupdate:t,dnsupdate:t,"v-info":t}],int:[1,{eu:e}],io:[1,{2038:t,co:e,com:e,edu:e,gov:e,mil:e,net:e,nom:e,org:e,"on-acorn":o,myaddr:t,apigee:t,"b-data":t,beagleboard:t,bitbucket:t,bluebite:t,boxfuse:t,brave:i,browsersafetymark:t,bubble:Ue,bubbleapps:t,bigv:[0,{uk0:t}],cleverapps:t,cloudbeesusercontent:t,dappnode:[0,{dyndns:t}],darklang:t,definima:t,dedyn:t,icp0:ct,icp1:ct,qzz:t,"fh-muenster":t,gitbook:t,github:t,gitlab:t,lolipop:t,"hasura-app":t,hostyhosting:t,hypernode:t,moonscale:o,beebyte:Q,beebyteapp:[0,{sekd1:t}],jele:t,keenetic:t,kiloapps:t,webthings:t,loginline:t,barsy:t,azurecontainer:o,ngrok:[2,{ap:t,au:t,eu:t,in:t,jp:t,sa:t,us:t}],nodeart:[0,{stage:t}],pantheonsite:t,forgerock:[0,{id:t}],pstmn:[2,{mock:t}],protonet:t,qcx:[2,{sys:o}],qoto:t,vaporcloud:t,myrdbx:t,"rb-hosting":ae,"on-k3s":o,"on-rio":o,readthedocs:t,resindevice:t,resinstaging:[0,{devices:t}],hzc:t,sandcats:t,scrypted:[0,{client:t}],"mo-siemens":t,lair:ye,stolos:o,musician:t,utwente:t,edugit:t,telebit:t,thingdust:[0,{dev:_t,disrec:_t,prod:pt,testing:_t}],tickets:t,webflow:t,webflowtest:t,"drive-platform":t,editorx:t,wixstudio:t,basicserver:t,virtualserver:t}],iq:r,ir:[1,{ac:e,co:e,gov:e,id:e,net:e,org:e,sch:e,"xn--mgba3a4f16a":e,\u0627\u06CC\u0631\u0627\u0646:e,"xn--mgba3a4fra":e,\u0627\u064A\u0631\u0627\u0646:e,arvanedge:t,vistablog:t}],is:e,it:[1,{edu:e,gov:e,abr:e,abruzzo:e,"aosta-valley":e,aostavalley:e,bas:e,basilicata:e,cal:e,calabria:e,cam:e,campania:e,"emilia-romagna":e,emiliaromagna:e,emr:e,"friuli-v-giulia":e,"friuli-ve-giulia":e,"friuli-vegiulia":e,"friuli-venezia-giulia":e,"friuli-veneziagiulia":e,"friuli-vgiulia":e,"friuliv-giulia":e,"friulive-giulia":e,friulivegiulia:e,"friulivenezia-giulia":e,friuliveneziagiulia:e,friulivgiulia:e,fvg:e,laz:e,lazio:e,lig:e,liguria:e,lom:e,lombardia:e,lombardy:e,lucania:e,mar:e,marche:e,mol:e,molise:e,piedmont:e,piemonte:e,pmn:e,pug:e,puglia:e,sar:e,sardegna:e,sardinia:e,sic:e,sicilia:e,sicily:e,taa:e,tos:e,toscana:e,"trentin-sud-tirol":e,"xn--trentin-sd-tirol-rzb":e,"trentin-s\xFCd-tirol":e,"trentin-sudtirol":e,"xn--trentin-sdtirol-7vb":e,"trentin-s\xFCdtirol":e,"trentin-sued-tirol":e,"trentin-suedtirol":e,trentino:e,"trentino-a-adige":e,"trentino-aadige":e,"trentino-alto-adige":e,"trentino-altoadige":e,"trentino-s-tirol":e,"trentino-stirol":e,"trentino-sud-tirol":e,"xn--trentino-sd-tirol-c3b":e,"trentino-s\xFCd-tirol":e,"trentino-sudtirol":e,"xn--trentino-sdtirol-szb":e,"trentino-s\xFCdtirol":e,"trentino-sued-tirol":e,"trentino-suedtirol":e,"trentinoa-adige":e,trentinoaadige:e,"trentinoalto-adige":e,trentinoaltoadige:e,"trentinos-tirol":e,trentinostirol:e,"trentinosud-tirol":e,"xn--trentinosd-tirol-rzb":e,"trentinos\xFCd-tirol":e,trentinosudtirol:e,"xn--trentinosdtirol-7vb":e,trentinos\u00FCdtirol:e,"trentinosued-tirol":e,trentinosuedtirol:e,"trentinsud-tirol":e,"xn--trentinsd-tirol-6vb":e,"trentins\xFCd-tirol":e,trentinsudtirol:e,"xn--trentinsdtirol-nsb":e,trentins\u00FCdtirol:e,"trentinsued-tirol":e,trentinsuedtirol:e,tuscany:e,umb:e,umbria:e,"val-d-aosta":e,"val-daosta":e,"vald-aosta":e,valdaosta:e,"valle-aosta":e,"valle-d-aosta":e,"valle-daosta":e,valleaosta:e,"valled-aosta":e,valledaosta:e,"vallee-aoste":e,"xn--valle-aoste-ebb":e,"vall\xE9e-aoste":e,"vallee-d-aoste":e,"xn--valle-d-aoste-ehb":e,"vall\xE9e-d-aoste":e,valleeaoste:e,"xn--valleaoste-e7a":e,vall\u00E9eaoste:e,valleedaoste:e,"xn--valledaoste-ebb":e,vall\u00E9edaoste:e,vao:e,vda:e,ven:e,veneto:e,ag:e,agrigento:e,al:e,alessandria:e,"alto-adige":e,altoadige:e,an:e,ancona:e,"andria-barletta-trani":e,"andria-trani-barletta":e,andriabarlettatrani:e,andriatranibarletta:e,ao:e,aosta:e,aoste:e,ap:e,aq:e,aquila:e,ar:e,arezzo:e,"ascoli-piceno":e,ascolipiceno:e,asti:e,at:e,av:e,avellino:e,ba:e,balsan:e,"balsan-sudtirol":e,"xn--balsan-sdtirol-nsb":e,"balsan-s\xFCdtirol":e,"balsan-suedtirol":e,bari:e,"barletta-trani-andria":e,barlettatraniandria:e,belluno:e,benevento:e,bergamo:e,bg:e,bi:e,biella:e,bl:e,bn:e,bo:e,bologna:e,bolzano:e,"bolzano-altoadige":e,bozen:e,"bozen-sudtirol":e,"xn--bozen-sdtirol-2ob":e,"bozen-s\xFCdtirol":e,"bozen-suedtirol":e,br:e,brescia:e,brindisi:e,bs:e,bt:e,bulsan:e,"bulsan-sudtirol":e,"xn--bulsan-sdtirol-nsb":e,"bulsan-s\xFCdtirol":e,"bulsan-suedtirol":e,bz:e,ca:e,cagliari:e,caltanissetta:e,"campidano-medio":e,campidanomedio:e,campobasso:e,"carbonia-iglesias":e,carboniaiglesias:e,"carrara-massa":e,carraramassa:e,caserta:e,catania:e,catanzaro:e,cb:e,ce:e,"cesena-forli":e,"xn--cesena-forl-mcb":e,"cesena-forl\xEC":e,cesenaforli:e,"xn--cesenaforl-i8a":e,cesenaforl\u00EC:e,ch:e,chieti:e,ci:e,cl:e,cn:e,co:e,como:e,cosenza:e,cr:e,cremona:e,crotone:e,cs:e,ct:e,cuneo:e,cz:e,"dell-ogliastra":e,dellogliastra:e,en:e,enna:e,fc:e,fe:e,fermo:e,ferrara:e,fg:e,fi:e,firenze:e,florence:e,fm:e,foggia:e,"forli-cesena":e,"xn--forl-cesena-fcb":e,"forl\xEC-cesena":e,forlicesena:e,"xn--forlcesena-c8a":e,forl\u00ECcesena:e,fr:e,frosinone:e,ge:e,genoa:e,genova:e,go:e,gorizia:e,gr:e,grosseto:e,"iglesias-carbonia":e,iglesiascarbonia:e,im:e,imperia:e,is:e,isernia:e,kr:e,"la-spezia":e,laquila:e,laspezia:e,latina:e,lc:e,le:e,lecce:e,lecco:e,li:e,livorno:e,lo:e,lodi:e,lt:e,lu:e,lucca:e,macerata:e,mantova:e,"massa-carrara":e,massacarrara:e,matera:e,mb:e,mc:e,me:e,"medio-campidano":e,mediocampidano:e,messina:e,mi:e,milan:e,milano:e,mn:e,mo:e,modena:e,monza:e,"monza-brianza":e,"monza-e-della-brianza":e,monzabrianza:e,monzaebrianza:e,monzaedellabrianza:e,ms:e,mt:e,na:e,naples:e,napoli:e,no:e,novara:e,nu:e,nuoro:e,og:e,ogliastra:e,"olbia-tempio":e,olbiatempio:e,or:e,oristano:e,ot:e,pa:e,padova:e,padua:e,palermo:e,parma:e,pavia:e,pc:e,pd:e,pe:e,perugia:e,"pesaro-urbino":e,pesarourbino:e,pescara:e,pg:e,pi:e,piacenza:e,pisa:e,pistoia:e,pn:e,po:e,pordenone:e,potenza:e,pr:e,prato:e,pt:e,pu:e,pv:e,pz:e,ra:e,ragusa:e,ravenna:e,rc:e,re:e,"reggio-calabria":e,"reggio-emilia":e,reggiocalabria:e,reggioemilia:e,rg:e,ri:e,rieti:e,rimini:e,rm:e,rn:e,ro:e,roma:e,rome:e,rovigo:e,sa:e,salerno:e,sassari:e,savona:e,si:e,siena:e,siracusa:e,so:e,sondrio:e,sp:e,sr:e,ss:e,"xn--sdtirol-n2a":e,s\u00FCdtirol:e,suedtirol:e,sv:e,ta:e,taranto:e,te:e,"tempio-olbia":e,tempioolbia:e,teramo:e,terni:e,tn:e,to:e,torino:e,tp:e,tr:e,"trani-andria-barletta":e,"trani-barletta-andria":e,traniandriabarletta:e,tranibarlettaandria:e,trapani:e,trento:e,treviso:e,trieste:e,ts:e,turin:e,tv:e,ud:e,udine:e,"urbino-pesaro":e,urbinopesaro:e,va:e,varese:e,vb:e,vc:e,ve:e,venezia:e,venice:e,verbania:e,vercelli:e,verona:e,vi:e,"vibo-valentia":e,vibovalentia:e,vicenza:e,viterbo:e,vr:e,vs:e,vt:e,vv:e,ibxos:t,iliadboxos:t,neen:[0,{jc:t}],"123homepage":t,"16-b":t,"32-b":t,"64-b":t,myspreadshop:t,syncloud:t}],je:[1,{co:e,net:e,org:e,of:t}],jm:h,jo:[1,{agri:e,ai:e,com:e,edu:e,eng:e,fm:e,gov:e,mil:e,net:e,org:e,per:e,phd:e,sch:e,tv:e}],jobs:e,jp:[1,{ac:e,ad:e,co:e,ed:e,go:e,gr:e,lg:e,ne:[1,{aseinet:je,gehirn:t,ivory:t,"mail-box":t,mints:t,mokuren:t,opal:t,sakura:t,sumomo:t,topaz:t}],or:e,aichi:[1,{aisai:e,ama:e,anjo:e,asuke:e,chiryu:e,chita:e,fuso:e,gamagori:e,handa:e,hazu:e,hekinan:e,higashiura:e,ichinomiya:e,inazawa:e,inuyama:e,isshiki:e,iwakura:e,kanie:e,kariya:e,kasugai:e,kira:e,kiyosu:e,komaki:e,konan:e,kota:e,mihama:e,miyoshi:e,nishio:e,nisshin:e,obu:e,oguchi:e,oharu:e,okazaki:e,owariasahi:e,seto:e,shikatsu:e,shinshiro:e,shitara:e,tahara:e,takahama:e,tobishima:e,toei:e,togo:e,tokai:e,tokoname:e,toyoake:e,toyohashi:e,toyokawa:e,toyone:e,toyota:e,tsushima:e,yatomi:e}],akita:[1,{akita:e,daisen:e,fujisato:e,gojome:e,hachirogata:e,happou:e,higashinaruse:e,honjo:e,honjyo:e,ikawa:e,kamikoani:e,kamioka:e,katagami:e,kazuno:e,kitaakita:e,kosaka:e,kyowa:e,misato:e,mitane:e,moriyoshi:e,nikaho:e,noshiro:e,odate:e,oga:e,ogata:e,semboku:e,yokote:e,yurihonjo:e}],aomori:[1,{aomori:e,gonohe:e,hachinohe:e,hashikami:e,hiranai:e,hirosaki:e,itayanagi:e,kuroishi:e,misawa:e,mutsu:e,nakadomari:e,noheji:e,oirase:e,owani:e,rokunohe:e,sannohe:e,shichinohe:e,shingo:e,takko:e,towada:e,tsugaru:e,tsuruta:e}],chiba:[1,{abiko:e,asahi:e,chonan:e,chosei:e,choshi:e,chuo:e,funabashi:e,futtsu:e,hanamigawa:e,ichihara:e,ichikawa:e,ichinomiya:e,inzai:e,isumi:e,kamagaya:e,kamogawa:e,kashiwa:e,katori:e,katsuura:e,kimitsu:e,kisarazu:e,kozaki:e,kujukuri:e,kyonan:e,matsudo:e,midori:e,mihama:e,minamiboso:e,mobara:e,mutsuzawa:e,nagara:e,nagareyama:e,narashino:e,narita:e,noda:e,oamishirasato:e,omigawa:e,onjuku:e,otaki:e,sakae:e,sakura:e,shimofusa:e,shirako:e,shiroi:e,shisui:e,sodegaura:e,sosa:e,tako:e,tateyama:e,togane:e,tohnosho:e,tomisato:e,urayasu:e,yachimata:e,yachiyo:e,yokaichiba:e,yokoshibahikari:e,yotsukaido:e}],ehime:[1,{ainan:e,honai:e,ikata:e,imabari:e,iyo:e,kamijima:e,kihoku:e,kumakogen:e,masaki:e,matsuno:e,matsuyama:e,namikata:e,niihama:e,ozu:e,saijo:e,seiyo:e,shikokuchuo:e,tobe:e,toon:e,uchiko:e,uwajima:e,yawatahama:e}],fukui:[1,{echizen:e,eiheiji:e,fukui:e,ikeda:e,katsuyama:e,mihama:e,minamiechizen:e,obama:e,ohi:e,ono:e,sabae:e,sakai:e,takahama:e,tsuruga:e,wakasa:e}],fukuoka:[1,{ashiya:e,buzen:e,chikugo:e,chikuho:e,chikujo:e,chikushino:e,chikuzen:e,chuo:e,dazaifu:e,fukuchi:e,hakata:e,higashi:e,hirokawa:e,hisayama:e,iizuka:e,inatsuki:e,kaho:e,kasuga:e,kasuya:e,kawara:e,keisen:e,koga:e,kurate:e,kurogi:e,kurume:e,minami:e,miyako:e,miyama:e,miyawaka:e,mizumaki:e,munakata:e,nakagawa:e,nakama:e,nishi:e,nogata:e,ogori:e,okagaki:e,okawa:e,oki:e,omuta:e,onga:e,onojo:e,oto:e,saigawa:e,sasaguri:e,shingu:e,shinyoshitomi:e,shonai:e,soeda:e,sue:e,tachiarai:e,tagawa:e,takata:e,toho:e,toyotsu:e,tsuiki:e,ukiha:e,umi:e,usui:e,yamada:e,yame:e,yanagawa:e,yukuhashi:e}],fukushima:[1,{aizubange:e,aizumisato:e,aizuwakamatsu:e,asakawa:e,bandai:e,date:e,fukushima:e,furudono:e,futaba:e,hanawa:e,higashi:e,hirata:e,hirono:e,iitate:e,inawashiro:e,ishikawa:e,iwaki:e,izumizaki:e,kagamiishi:e,kaneyama:e,kawamata:e,kitakata:e,kitashiobara:e,koori:e,koriyama:e,kunimi:e,miharu:e,mishima:e,namie:e,nango:e,nishiaizu:e,nishigo:e,okuma:e,omotego:e,ono:e,otama:e,samegawa:e,shimogo:e,shirakawa:e,showa:e,soma:e,sukagawa:e,taishin:e,tamakawa:e,tanagura:e,tenei:e,yabuki:e,yamato:e,yamatsuri:e,yanaizu:e,yugawa:e}],gifu:[1,{anpachi:e,ena:e,gifu:e,ginan:e,godo:e,gujo:e,hashima:e,hichiso:e,hida:e,higashishirakawa:e,ibigawa:e,ikeda:e,kakamigahara:e,kani:e,kasahara:e,kasamatsu:e,kawaue:e,kitagata:e,mino:e,minokamo:e,mitake:e,mizunami:e,motosu:e,nakatsugawa:e,ogaki:e,sakahogi:e,seki:e,sekigahara:e,shirakawa:e,tajimi:e,takayama:e,tarui:e,toki:e,tomika:e,wanouchi:e,yamagata:e,yaotsu:e,yoro:e}],gunma:[1,{annaka:e,chiyoda:e,fujioka:e,higashiagatsuma:e,isesaki:e,itakura:e,kanna:e,kanra:e,katashina:e,kawaba:e,kiryu:e,kusatsu:e,maebashi:e,meiwa:e,midori:e,minakami:e,naganohara:e,nakanojo:e,nanmoku:e,numata:e,oizumi:e,ora:e,ota:e,shibukawa:e,shimonita:e,shinto:e,showa:e,takasaki:e,takayama:e,tamamura:e,tatebayashi:e,tomioka:e,tsukiyono:e,tsumagoi:e,ueno:e,yoshioka:e}],hiroshima:[1,{asaminami:e,daiwa:e,etajima:e,fuchu:e,fukuyama:e,hatsukaichi:e,higashihiroshima:e,hongo:e,jinsekikogen:e,kaita:e,kui:e,kumano:e,kure:e,mihara:e,miyoshi:e,naka:e,onomichi:e,osakikamijima:e,otake:e,saka:e,sera:e,seranishi:e,shinichi:e,shobara:e,takehara:e}],hokkaido:[1,{abashiri:e,abira:e,aibetsu:e,akabira:e,akkeshi:e,asahikawa:e,ashibetsu:e,ashoro:e,assabu:e,atsuma:e,bibai:e,biei:e,bifuka:e,bihoro:e,biratori:e,chippubetsu:e,chitose:e,date:e,ebetsu:e,embetsu:e,eniwa:e,erimo:e,esan:e,esashi:e,fukagawa:e,fukushima:e,furano:e,furubira:e,haboro:e,hakodate:e,hamatonbetsu:e,hidaka:e,higashikagura:e,higashikawa:e,hiroo:e,hokuryu:e,hokuto:e,honbetsu:e,horokanai:e,horonobe:e,ikeda:e,imakane:e,ishikari:e,iwamizawa:e,iwanai:e,kamifurano:e,kamikawa:e,kamishihoro:e,kamisunagawa:e,kamoenai:e,kayabe:e,kembuchi:e,kikonai:e,kimobetsu:e,kitahiroshima:e,kitami:e,kiyosato:e,koshimizu:e,kunneppu:e,kuriyama:e,kuromatsunai:e,kushiro:e,kutchan:e,kyowa:e,mashike:e,matsumae:e,mikasa:e,minamifurano:e,mombetsu:e,moseushi:e,mukawa:e,muroran:e,naie:e,nakagawa:e,nakasatsunai:e,nakatombetsu:e,nanae:e,nanporo:e,nayoro:e,nemuro:e,niikappu:e,niki:e,nishiokoppe:e,noboribetsu:e,numata:e,obihiro:e,obira:e,oketo:e,okoppe:e,otaru:e,otobe:e,otofuke:e,otoineppu:e,oumu:e,ozora:e,pippu:e,rankoshi:e,rebun:e,rikubetsu:e,rishiri:e,rishirifuji:e,saroma:e,sarufutsu:e,shakotan:e,shari:e,shibecha:e,shibetsu:e,shikabe:e,shikaoi:e,shimamaki:e,shimizu:e,shimokawa:e,shinshinotsu:e,shintoku:e,shiranuka:e,shiraoi:e,shiriuchi:e,sobetsu:e,sunagawa:e,taiki:e,takasu:e,takikawa:e,takinoue:e,teshikaga:e,tobetsu:e,tohma:e,tomakomai:e,tomari:e,toya:e,toyako:e,toyotomi:e,toyoura:e,tsubetsu:e,tsukigata:e,urakawa:e,urausu:e,uryu:e,utashinai:e,wakkanai:e,wassamu:e,yakumo:e,yoichi:e}],hyogo:[1,{aioi:e,akashi:e,ako:e,amagasaki:e,aogaki:e,asago:e,ashiya:e,awaji:e,fukusaki:e,goshiki:e,harima:e,himeji:e,ichikawa:e,inagawa:e,itami:e,kakogawa:e,kamigori:e,kamikawa:e,kasai:e,kasuga:e,kawanishi:e,miki:e,minamiawaji:e,nishinomiya:e,nishiwaki:e,ono:e,sanda:e,sannan:e,sasayama:e,sayo:e,shingu:e,shinonsen:e,shiso:e,sumoto:e,taishi:e,taka:e,takarazuka:e,takasago:e,takino:e,tamba:e,tatsuno:e,toyooka:e,yabu:e,yashiro:e,yoka:e,yokawa:e}],ibaraki:[1,{ami:e,asahi:e,bando:e,chikusei:e,daigo:e,fujishiro:e,hitachi:e,hitachinaka:e,hitachiomiya:e,hitachiota:e,ibaraki:e,ina:e,inashiki:e,itako:e,iwama:e,joso:e,kamisu:e,kasama:e,kashima:e,kasumigaura:e,koga:e,miho:e,mito:e,moriya:e,naka:e,namegata:e,oarai:e,ogawa:e,omitama:e,ryugasaki:e,sakai:e,sakuragawa:e,shimodate:e,shimotsuma:e,shirosato:e,sowa:e,suifu:e,takahagi:e,tamatsukuri:e,tokai:e,tomobe:e,tone:e,toride:e,tsuchiura:e,tsukuba:e,uchihara:e,ushiku:e,yachiyo:e,yamagata:e,yawara:e,yuki:e}],ishikawa:[1,{anamizu:e,hakui:e,hakusan:e,kaga:e,kahoku:e,kanazawa:e,kawakita:e,komatsu:e,nakanoto:e,nanao:e,nomi:e,nonoichi:e,noto:e,shika:e,suzu:e,tsubata:e,tsurugi:e,uchinada:e,wajima:e}],iwate:[1,{fudai:e,fujisawa:e,hanamaki:e,hiraizumi:e,hirono:e,ichinohe:e,ichinoseki:e,iwaizumi:e,iwate:e,joboji:e,kamaishi:e,kanegasaki:e,karumai:e,kawai:e,kitakami:e,kuji:e,kunohe:e,kuzumaki:e,miyako:e,mizusawa:e,morioka:e,ninohe:e,noda:e,ofunato:e,oshu:e,otsuchi:e,rikuzentakata:e,shiwa:e,shizukuishi:e,sumita:e,tanohata:e,tono:e,yahaba:e,yamada:e}],kagawa:[1,{ayagawa:e,higashikagawa:e,kanonji:e,kotohira:e,manno:e,marugame:e,mitoyo:e,naoshima:e,sanuki:e,tadotsu:e,takamatsu:e,tonosho:e,uchinomi:e,utazu:e,zentsuji:e}],kagoshima:[1,{akune:e,amami:e,hioki:e,isa:e,isen:e,izumi:e,kagoshima:e,kanoya:e,kawanabe:e,kinko:e,kouyama:e,makurazaki:e,matsumoto:e,minamitane:e,nakatane:e,nishinoomote:e,satsumasendai:e,soo:e,tarumizu:e,yusui:e}],kanagawa:[1,{aikawa:e,atsugi:e,ayase:e,chigasaki:e,ebina:e,fujisawa:e,hadano:e,hakone:e,hiratsuka:e,isehara:e,kaisei:e,kamakura:e,kiyokawa:e,matsuda:e,minamiashigara:e,miura:e,nakai:e,ninomiya:e,odawara:e,oi:e,oiso:e,sagamihara:e,samukawa:e,tsukui:e,yamakita:e,yamato:e,yokosuka:e,yugawara:e,zama:e,zushi:e}],kochi:[1,{aki:e,geisei:e,hidaka:e,higashitsuno:e,ino:e,kagami:e,kami:e,kitagawa:e,kochi:e,mihara:e,motoyama:e,muroto:e,nahari:e,nakamura:e,nankoku:e,nishitosa:e,niyodogawa:e,ochi:e,okawa:e,otoyo:e,otsuki:e,sakawa:e,sukumo:e,susaki:e,tosa:e,tosashimizu:e,toyo:e,tsuno:e,umaji:e,yasuda:e,yusuhara:e}],kumamoto:[1,{amakusa:e,arao:e,aso:e,choyo:e,gyokuto:e,kamiamakusa:e,kikuchi:e,kumamoto:e,mashiki:e,mifune:e,minamata:e,minamioguni:e,nagasu:e,nishihara:e,oguni:e,ozu:e,sumoto:e,takamori:e,uki:e,uto:e,yamaga:e,yamato:e,yatsushiro:e}],kyoto:[1,{ayabe:e,fukuchiyama:e,higashiyama:e,ide:e,ine:e,joyo:e,kameoka:e,kamo:e,kita:e,kizu:e,kumiyama:e,kyotamba:e,kyotanabe:e,kyotango:e,maizuru:e,minami:e,minamiyamashiro:e,miyazu:e,muko:e,nagaokakyo:e,nakagyo:e,nantan:e,oyamazaki:e,sakyo:e,seika:e,tanabe:e,uji:e,ujitawara:e,wazuka:e,yamashina:e,yawata:e}],mie:[1,{asahi:e,inabe:e,ise:e,kameyama:e,kawagoe:e,kiho:e,kisosaki:e,kiwa:e,komono:e,kumano:e,kuwana:e,matsusaka:e,meiwa:e,mihama:e,minamiise:e,misugi:e,miyama:e,nabari:e,shima:e,suzuka:e,tado:e,taiki:e,taki:e,tamaki:e,toba:e,tsu:e,udono:e,ureshino:e,watarai:e,yokkaichi:e}],miyagi:[1,{furukawa:e,higashimatsushima:e,ishinomaki:e,iwanuma:e,kakuda:e,kami:e,kawasaki:e,marumori:e,matsushima:e,minamisanriku:e,misato:e,murata:e,natori:e,ogawara:e,ohira:e,onagawa:e,osaki:e,rifu:e,semine:e,shibata:e,shichikashuku:e,shikama:e,shiogama:e,shiroishi:e,tagajo:e,taiwa:e,tome:e,tomiya:e,wakuya:e,watari:e,yamamoto:e,zao:e}],miyazaki:[1,{aya:e,ebino:e,gokase:e,hyuga:e,kadogawa:e,kawaminami:e,kijo:e,kitagawa:e,kitakata:e,kitaura:e,kobayashi:e,kunitomi:e,kushima:e,mimata:e,miyakonojo:e,miyazaki:e,morotsuka:e,nichinan:e,nishimera:e,nobeoka:e,saito:e,shiiba:e,shintomi:e,takaharu:e,takanabe:e,takazaki:e,tsuno:e}],nagano:[1,{achi:e,agematsu:e,anan:e,aoki:e,asahi:e,azumino:e,chikuhoku:e,chikuma:e,chino:e,fujimi:e,hakuba:e,hara:e,hiraya:e,iida:e,iijima:e,iiyama:e,iizuna:e,ikeda:e,ikusaka:e,ina:e,karuizawa:e,kawakami:e,kiso:e,kisofukushima:e,kitaaiki:e,komagane:e,komoro:e,matsukawa:e,matsumoto:e,miasa:e,minamiaiki:e,minamimaki:e,minamiminowa:e,minowa:e,miyada:e,miyota:e,mochizuki:e,nagano:e,nagawa:e,nagiso:e,nakagawa:e,nakano:e,nozawaonsen:e,obuse:e,ogawa:e,okaya:e,omachi:e,omi:e,ookuwa:e,ooshika:e,otaki:e,otari:e,sakae:e,sakaki:e,saku:e,sakuho:e,shimosuwa:e,shinanomachi:e,shiojiri:e,suwa:e,suzaka:e,takagi:e,takamori:e,takayama:e,tateshina:e,tatsuno:e,togakushi:e,togura:e,tomi:e,ueda:e,wada:e,yamagata:e,yamanouchi:e,yasaka:e,yasuoka:e}],nagasaki:[1,{chijiwa:e,futsu:e,goto:e,hasami:e,hirado:e,iki:e,isahaya:e,kawatana:e,kuchinotsu:e,matsuura:e,nagasaki:e,obama:e,omura:e,oseto:e,saikai:e,sasebo:e,seihi:e,shimabara:e,shinkamigoto:e,togitsu:e,tsushima:e,unzen:e}],nara:[1,{ando:e,gose:e,heguri:e,higashiyoshino:e,ikaruga:e,ikoma:e,kamikitayama:e,kanmaki:e,kashiba:e,kashihara:e,katsuragi:e,kawai:e,kawakami:e,kawanishi:e,koryo:e,kurotaki:e,mitsue:e,miyake:e,nara:e,nosegawa:e,oji:e,ouda:e,oyodo:e,sakurai:e,sango:e,shimoichi:e,shimokitayama:e,shinjo:e,soni:e,takatori:e,tawaramoto:e,tenkawa:e,tenri:e,uda:e,yamatokoriyama:e,yamatotakada:e,yamazoe:e,yoshino:e}],niigata:[1,{aga:e,agano:e,gosen:e,itoigawa:e,izumozaki:e,joetsu:e,kamo:e,kariwa:e,kashiwazaki:e,minamiuonuma:e,mitsuke:e,muika:e,murakami:e,myoko:e,nagaoka:e,niigata:e,ojiya:e,omi:e,sado:e,sanjo:e,seiro:e,seirou:e,sekikawa:e,shibata:e,tagami:e,tainai:e,tochio:e,tokamachi:e,tsubame:e,tsunan:e,uonuma:e,yahiko:e,yoita:e,yuzawa:e}],oita:[1,{beppu:e,bungoono:e,bungotakada:e,hasama:e,hiji:e,himeshima:e,hita:e,kamitsue:e,kokonoe:e,kuju:e,kunisaki:e,kusu:e,oita:e,saiki:e,taketa:e,tsukumi:e,usa:e,usuki:e,yufu:e}],okayama:[1,{akaiwa:e,asakuchi:e,bizen:e,hayashima:e,ibara:e,kagamino:e,kasaoka:e,kibichuo:e,kumenan:e,kurashiki:e,maniwa:e,misaki:e,nagi:e,niimi:e,nishiawakura:e,okayama:e,satosho:e,setouchi:e,shinjo:e,shoo:e,soja:e,takahashi:e,tamano:e,tsuyama:e,wake:e,yakage:e}],okinawa:[1,{aguni:e,ginowan:e,ginoza:e,gushikami:e,haebaru:e,higashi:e,hirara:e,iheya:e,ishigaki:e,ishikawa:e,itoman:e,izena:e,kadena:e,kin:e,kitadaito:e,kitanakagusuku:e,kumejima:e,kunigami:e,minamidaito:e,motobu:e,nago:e,naha:e,nakagusuku:e,nakijin:e,nanjo:e,nishihara:e,ogimi:e,okinawa:e,onna:e,shimoji:e,taketomi:e,tarama:e,tokashiki:e,tomigusuku:e,tonaki:e,urasoe:e,uruma:e,yaese:e,yomitan:e,yonabaru:e,yonaguni:e,zamami:e}],osaka:[1,{abeno:e,chihayaakasaka:e,chuo:e,daito:e,fujiidera:e,habikino:e,hannan:e,higashiosaka:e,higashisumiyoshi:e,higashiyodogawa:e,hirakata:e,ibaraki:e,ikeda:e,izumi:e,izumiotsu:e,izumisano:e,kadoma:e,kaizuka:e,kanan:e,kashiwara:e,katano:e,kawachinagano:e,kishiwada:e,kita:e,kumatori:e,matsubara:e,minato:e,minoh:e,misaki:e,moriguchi:e,neyagawa:e,nishi:e,nose:e,osakasayama:e,sakai:e,sayama:e,sennan:e,settsu:e,shijonawate:e,shimamoto:e,suita:e,tadaoka:e,taishi:e,tajiri:e,takaishi:e,takatsuki:e,tondabayashi:e,toyonaka:e,toyono:e,yao:e}],saga:[1,{ariake:e,arita:e,fukudomi:e,genkai:e,hamatama:e,hizen:e,imari:e,kamimine:e,kanzaki:e,karatsu:e,kashima:e,kitagata:e,kitahata:e,kiyama:e,kouhoku:e,kyuragi:e,nishiarita:e,ogi:e,omachi:e,ouchi:e,saga:e,shiroishi:e,taku:e,tara:e,tosu:e,yoshinogari:e}],saitama:[1,{arakawa:e,asaka:e,chichibu:e,fujimi:e,fujimino:e,fukaya:e,hanno:e,hanyu:e,hasuda:e,hatogaya:e,hatoyama:e,hidaka:e,higashichichibu:e,higashimatsuyama:e,honjo:e,ina:e,iruma:e,iwatsuki:e,kamiizumi:e,kamikawa:e,kamisato:e,kasukabe:e,kawagoe:e,kawaguchi:e,kawajima:e,kazo:e,kitamoto:e,koshigaya:e,kounosu:e,kuki:e,kumagaya:e,matsubushi:e,minano:e,misato:e,miyashiro:e,miyoshi:e,moroyama:e,nagatoro:e,namegawa:e,niiza:e,ogano:e,ogawa:e,ogose:e,okegawa:e,omiya:e,otaki:e,ranzan:e,ryokami:e,saitama:e,sakado:e,satte:e,sayama:e,shiki:e,shiraoka:e,soka:e,sugito:e,toda:e,tokigawa:e,tokorozawa:e,tsurugashima:e,urawa:e,warabi:e,yashio:e,yokoze:e,yono:e,yorii:e,yoshida:e,yoshikawa:e,yoshimi:e}],shiga:[1,{aisho:e,gamo:e,higashiomi:e,hikone:e,koka:e,konan:e,kosei:e,koto:e,kusatsu:e,maibara:e,moriyama:e,nagahama:e,nishiazai:e,notogawa:e,omihachiman:e,otsu:e,ritto:e,ryuoh:e,takashima:e,takatsuki:e,torahime:e,toyosato:e,yasu:e}],shimane:[1,{akagi:e,ama:e,gotsu:e,hamada:e,higashiizumo:e,hikawa:e,hikimi:e,izumo:e,kakinoki:e,masuda:e,matsue:e,misato:e,nishinoshima:e,ohda:e,okinoshima:e,okuizumo:e,shimane:e,tamayu:e,tsuwano:e,unnan:e,yakumo:e,yasugi:e,yatsuka:e}],shizuoka:[1,{arai:e,atami:e,fuji:e,fujieda:e,fujikawa:e,fujinomiya:e,fukuroi:e,gotemba:e,haibara:e,hamamatsu:e,higashiizu:e,ito:e,iwata:e,izu:e,izunokuni:e,kakegawa:e,kannami:e,kawanehon:e,kawazu:e,kikugawa:e,kosai:e,makinohara:e,matsuzaki:e,minamiizu:e,mishima:e,morimachi:e,nishiizu:e,numazu:e,omaezaki:e,shimada:e,shimizu:e,shimoda:e,shizuoka:e,susono:e,yaizu:e,yoshida:e}],tochigi:[1,{ashikaga:e,bato:e,haga:e,ichikai:e,iwafune:e,kaminokawa:e,kanuma:e,karasuyama:e,kuroiso:e,mashiko:e,mibu:e,moka:e,motegi:e,nasu:e,nasushiobara:e,nikko:e,nishikata:e,nogi:e,ohira:e,ohtawara:e,oyama:e,sakura:e,sano:e,shimotsuke:e,shioya:e,takanezawa:e,tochigi:e,tsuga:e,ujiie:e,utsunomiya:e,yaita:e}],tokushima:[1,{aizumi:e,anan:e,ichiba:e,itano:e,kainan:e,komatsushima:e,matsushige:e,mima:e,minami:e,miyoshi:e,mugi:e,nakagawa:e,naruto:e,sanagochi:e,shishikui:e,tokushima:e,wajiki:e}],tokyo:[1,{adachi:e,akiruno:e,akishima:e,aogashima:e,arakawa:e,bunkyo:e,chiyoda:e,chofu:e,chuo:e,edogawa:e,fuchu:e,fussa:e,hachijo:e,hachioji:e,hamura:e,higashikurume:e,higashimurayama:e,higashiyamato:e,hino:e,hinode:e,hinohara:e,inagi:e,itabashi:e,katsushika:e,kita:e,kiyose:e,kodaira:e,koganei:e,kokubunji:e,komae:e,koto:e,kouzushima:e,kunitachi:e,machida:e,meguro:e,minato:e,mitaka:e,mizuho:e,musashimurayama:e,musashino:e,nakano:e,nerima:e,ogasawara:e,okutama:e,ome:e,oshima:e,ota:e,setagaya:e,shibuya:e,shinagawa:e,shinjuku:e,suginami:e,sumida:e,tachikawa:e,taito:e,tama:e,toshima:e}],tottori:[1,{chizu:e,hino:e,kawahara:e,koge:e,kotoura:e,misasa:e,nanbu:e,nichinan:e,sakaiminato:e,tottori:e,wakasa:e,yazu:e,yonago:e}],toyama:[1,{asahi:e,fuchu:e,fukumitsu:e,funahashi:e,himi:e,imizu:e,inami:e,johana:e,kamiichi:e,kurobe:e,nakaniikawa:e,namerikawa:e,nanto:e,nyuzen:e,oyabe:e,taira:e,takaoka:e,tateyama:e,toga:e,tonami:e,toyama:e,unazuki:e,uozu:e,yamada:e}],wakayama:[1,{arida:e,aridagawa:e,gobo:e,hashimoto:e,hidaka:e,hirogawa:e,inami:e,iwade:e,kainan:e,kamitonda:e,katsuragi:e,kimino:e,kinokawa:e,kitayama:e,koya:e,koza:e,kozagawa:e,kudoyama:e,kushimoto:e,mihama:e,misato:e,nachikatsuura:e,shingu:e,shirahama:e,taiji:e,tanabe:e,wakayama:e,yuasa:e,yura:e}],yamagata:[1,{asahi:e,funagata:e,higashine:e,iide:e,kahoku:e,kaminoyama:e,kaneyama:e,kawanishi:e,mamurogawa:e,mikawa:e,murayama:e,nagai:e,nakayama:e,nanyo:e,nishikawa:e,obanazawa:e,oe:e,oguni:e,ohkura:e,oishida:e,sagae:e,sakata:e,sakegawa:e,shinjo:e,shirataka:e,shonai:e,takahata:e,tendo:e,tozawa:e,tsuruoka:e,yamagata:e,yamanobe:e,yonezawa:e,yuza:e}],yamaguchi:[1,{abu:e,hagi:e,hikari:e,hofu:e,iwakuni:e,kudamatsu:e,mitou:e,nagato:e,oshima:e,shimonoseki:e,shunan:e,tabuse:e,tokuyama:e,toyota:e,ube:e,yuu:e}],yamanashi:[1,{chuo:e,doshi:e,fuefuki:e,fujikawa:e,fujikawaguchiko:e,fujiyoshida:e,hayakawa:e,hokuto:e,ichikawamisato:e,kai:e,kofu:e,koshu:e,kosuge:e,"minami-alps":e,minobu:e,nakamichi:e,nanbu:e,narusawa:e,nirasaki:e,nishikatsura:e,oshino:e,otsuki:e,showa:e,tabayama:e,tsuru:e,uenohara:e,yamanakako:e,yamanashi:e}],"xn--ehqz56n":e,\u4E09\u91CD:e,"xn--1lqs03n":e,\u4EAC\u90FD:e,"xn--qqqt11m":e,\u4F50\u8CC0:e,"xn--f6qx53a":e,\u5175\u5EAB:e,"xn--djrs72d6uy":e,\u5317\u6D77\u9053:e,"xn--mkru45i":e,\u5343\u8449:e,"xn--0trq7p7nn":e,\u548C\u6B4C\u5C71:e,"xn--5js045d":e,\u57FC\u7389:e,"xn--kbrq7o":e,\u5927\u5206:e,"xn--pssu33l":e,\u5927\u962A:e,"xn--ntsq17g":e,\u5948\u826F:e,"xn--uisz3g":e,\u5BAE\u57CE:e,"xn--6btw5a":e,\u5BAE\u5D0E:e,"xn--1ctwo":e,\u5BCC\u5C71:e,"xn--6orx2r":e,\u5C71\u53E3:e,"xn--rht61e":e,\u5C71\u5F62:e,"xn--rht27z":e,\u5C71\u68A8:e,"xn--nit225k":e,\u5C90\u961C:e,"xn--rht3d":e,\u5CA1\u5C71:e,"xn--djty4k":e,\u5CA9\u624B:e,"xn--klty5x":e,\u5CF6\u6839:e,"xn--kltx9a":e,\u5E83\u5CF6:e,"xn--kltp7d":e,\u5FB3\u5CF6:e,"xn--c3s14m":e,\u611B\u5A9B:e,"xn--vgu402c":e,\u611B\u77E5:e,"xn--efvn9s":e,\u65B0\u6F5F:e,"xn--1lqs71d":e,\u6771\u4EAC:e,"xn--4pvxs":e,\u6803\u6728:e,"xn--uuwu58a":e,\u6C96\u7E04:e,"xn--zbx025d":e,\u6ECB\u8CC0:e,"xn--8pvr4u":e,\u718A\u672C:e,"xn--5rtp49c":e,\u77F3\u5DDD:e,"xn--ntso0iqx3a":e,\u795E\u5948\u5DDD:e,"xn--elqq16h":e,\u798F\u4E95:e,"xn--4it168d":e,\u798F\u5CA1:e,"xn--klt787d":e,\u798F\u5CF6:e,"xn--rny31h":e,\u79CB\u7530:e,"xn--7t0a264c":e,\u7FA4\u99AC:e,"xn--uist22h":e,\u8328\u57CE:e,"xn--8ltr62k":e,\u9577\u5D0E:e,"xn--2m4a15e":e,\u9577\u91CE:e,"xn--32vp30h":e,\u9752\u68EE:e,"xn--4it797k":e,\u9759\u5CA1:e,"xn--5rtq34k":e,\u9999\u5DDD:e,"xn--k7yn95e":e,\u9AD8\u77E5:e,"xn--tor131o":e,\u9CE5\u53D6:e,"xn--d5qv7z876c":e,\u9E7F\u5150\u5CF6:e,kawasaki:h,kitakyushu:h,kobe:h,nagoya:h,sapporo:h,sendai:h,yokohama:h,buyshop:t,fashionstore:t,handcrafted:t,kawaiishop:t,supersale:t,theshop:t,"0am":t,"0g0":t,"0j0":t,"0t0":t,mydns:t,pgw:t,wjg:t,usercontent:t,angry:t,babyblue:t,babymilk:t,backdrop:t,bambina:t,bitter:t,blush:t,boo:t,boy:t,boyfriend:t,but:t,candypop:t,capoo:t,catfood:t,cheap:t,chicappa:t,chillout:t,chips:t,chowder:t,chu:t,ciao:t,cocotte:t,coolblog:t,cranky:t,cutegirl:t,daa:t,deca:t,deci:t,digick:t,egoism:t,fakefur:t,fem:t,flier:t,floppy:t,fool:t,frenchkiss:t,girlfriend:t,girly:t,gloomy:t,gonna:t,greater:t,hacca:t,heavy:t,her:t,hiho:t,hippy:t,holy:t,hungry:t,icurus:t,itigo:t,jellybean:t,kikirara:t,kill:t,kilo:t,kuron:t,littlestar:t,lolipopmc:t,lolitapunk:t,lomo:t,lovepop:t,lovesick:t,main:t,mods:t,mond:t,mongolian:t,moo:t,namaste:t,nikita:t,nobushi:t,noor:t,oops:t,parallel:t,parasite:t,pecori:t,peewee:t,penne:t,pepper:t,perma:t,pigboat:t,pinoko:t,punyu:t,pupu:t,pussycat:t,pya:t,raindrop:t,readymade:t,sadist:t,schoolbus:t,secret:t,staba:t,stripper:t,sub:t,sunnyday:t,thick:t,tonkotsu:t,under:t,upper:t,velvet:t,verse:t,versus:t,vivian:t,watson:t,weblike:t,whitesnow:t,zombie:t,hateblo:t,hatenablog:t,hatenadiary:t,"2-d":t,bona:t,crap:t,daynight:t,eek:t,flop:t,halfmoon:t,jeez:t,matrix:t,mimoza:t,netgamers:t,nyanta:t,o0o0:t,rdy:t,rgr:t,rulez:t,sakurastorage:[0,{isk01:Nt,isk02:Nt}],saloon:t,sblo:t,skr:t,tank:t,"uh-oh":t,undo:t,webaccel:[0,{rs:t,user:t}],websozai:t,xii:t}],ke:[1,{ac:e,co:e,go:e,info:e,me:e,mobi:e,ne:e,or:e,sc:e}],kg:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,us:t,xx:t,ae:t}],kh:n,ki:Ct,km:[1,{ass:e,com:e,edu:e,gov:e,mil:e,nom:e,org:e,prd:e,tm:e,asso:e,coop:e,gouv:e,medecin:e,notaires:e,pharmaciens:e,presse:e,veterinaire:e}],kn:[1,{edu:e,gov:e,net:e,org:e}],kp:[1,{com:e,edu:e,gov:e,org:e,rep:e,tra:e}],kr:[1,{ac:e,ai:e,co:e,es:e,go:e,hs:e,io:e,it:e,kg:e,me:e,mil:e,ms:e,ne:e,or:e,pe:e,re:e,sc:e,busan:e,chungbuk:e,chungnam:e,daegu:e,daejeon:e,gangwon:e,gwangju:e,gyeongbuk:e,gyeonggi:e,gyeongnam:e,incheon:e,jeju:e,jeonbuk:e,jeonnam:e,seoul:e,ulsan:e,c01:t,"eliv-api":t,"eliv-cdn":t,"eliv-dns":t,mmv:t,vki:t}],kw:[1,{com:e,edu:e,emb:e,gov:e,ind:e,net:e,org:e}],ky:pe,kz:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,jcloud:t}],la:[1,{com:e,edu:e,gov:e,info:e,int:e,net:e,org:e,per:e,bnr:t}],lb:n,lc:[1,{co:e,com:e,edu:e,gov:e,net:e,org:e,oy:t}],li:e,lk:[1,{ac:e,assn:e,com:e,edu:e,gov:e,grp:e,hotel:e,int:e,ltd:e,net:e,ngo:e,org:e,sch:e,soc:e,web:e}],lr:n,ls:[1,{ac:e,biz:e,co:e,edu:e,gov:e,info:e,net:e,org:e,sc:e}],lt:c,lu:[1,{"123website":t}],lv:[1,{asn:e,com:e,conf:e,edu:e,gov:e,id:e,mil:e,net:e,org:e}],ly:[1,{com:e,edu:e,gov:e,id:e,med:e,net:e,org:e,plc:e,sch:e}],ma:[1,{ac:e,co:e,gov:e,net:e,org:e,press:e}],mc:[1,{asso:e,tm:e}],md:[1,{ir:t}],me:[1,{ac:e,co:e,edu:e,gov:e,its:e,net:e,org:e,priv:e,c66:t,craft:t,edgestack:t,mybox:t,filegear:t,"filegear-sg":t,lohmus:t,barsy:t,mcdir:t,brasilia:t,ddns:t,dnsfor:t,hopto:t,loginto:t,noip:t,webhop:t,soundcast:t,tcp4:t,vp4:t,diskstation:t,dscloud:t,i234:t,myds:t,synology:t,transip:ae,nohost:t}],mg:[1,{co:e,com:e,edu:e,gov:e,mil:e,nom:e,org:e,prd:e}],mh:e,mil:e,mk:[1,{com:e,edu:e,gov:e,inf:e,name:e,net:e,org:e}],ml:[1,{ac:e,art:e,asso:e,com:e,edu:e,gouv:e,gov:e,info:e,inst:e,net:e,org:e,pr:e,presse:e}],mm:h,mn:[1,{edu:e,gov:e,org:e,nyc:t}],mo:n,mobi:[1,{barsy:t,dscloud:t}],mp:[1,{ju:t}],mq:e,mr:c,ms:[1,{com:e,edu:e,gov:e,net:e,org:e,minisite:t}],mt:pe,mu:[1,{ac:e,co:e,com:e,gov:e,net:e,or:e,org:e}],museum:e,mv:[1,{aero:e,biz:e,com:e,coop:e,edu:e,gov:e,info:e,int:e,mil:e,museum:e,name:e,net:e,org:e,pro:e}],mw:[1,{ac:e,biz:e,co:e,com:e,coop:e,edu:e,gov:e,int:e,net:e,org:e}],mx:[1,{com:e,edu:e,gob:e,net:e,org:e}],my:[1,{biz:e,com:e,edu:e,gov:e,mil:e,name:e,net:e,org:e}],mz:[1,{ac:e,adv:e,co:e,edu:e,gov:e,mil:e,net:e,org:e}],na:[1,{alt:e,co:e,com:e,gov:e,net:e,org:e}],name:[1,{her:mn,his:mn,ispmanager:t,keenetic:t}],nc:[1,{asso:e,nom:e}],ne:e,net:[1,{adobeaemcloud:t,"adobeio-static":t,adobeioruntime:t,akadns:t,akamai:t,"akamai-staging":t,akamaiedge:t,"akamaiedge-staging":t,akamaihd:t,"akamaihd-staging":t,akamaiorigin:t,"akamaiorigin-staging":t,akamaized:t,"akamaized-staging":t,edgekey:t,"edgekey-staging":t,edgesuite:t,"edgesuite-staging":t,alwaysdata:t,myamaze:t,cloudfront:t,appudo:t,"atlassian-dev":[0,{prod:Ue}],myfritz:t,shopselect:t,blackbaudcdn:t,boomla:t,bplaced:t,square7:t,cdn77:[0,{r:t}],"cdn77-ssl":t,gb:t,hu:t,jp:t,se:t,uk:t,clickrising:t,"ddns-ip":t,"dns-cloud":t,"dns-dynamic":t,cloudaccess:t,cloudflare:[2,{cdn:t}],cloudflareanycast:Ue,cloudflarecn:Ue,cloudflareglobal:Ue,ctfcloud:t,"feste-ip":t,"knx-server":t,"static-access":t,cryptonomic:o,dattolocal:t,mydatto:t,debian:t,definima:t,deno:[2,{sandbox:t}],icp:o,de5:t,"at-band-camp":t,blogdns:t,"broke-it":t,buyshouses:t,dnsalias:t,dnsdojo:t,"does-it":t,dontexist:t,dynalias:t,dynathome:t,endofinternet:t,"from-az":t,"from-co":t,"from-la":t,"from-ny":t,"gets-it":t,"ham-radio-op":t,homeftp:t,homeip:t,homelinux:t,homeunix:t,"in-the-band":t,"is-a-chef":t,"is-a-geek":t,"isa-geek":t,"kicks-ass":t,"office-on-the":t,podzone:t,"scrapper-site":t,selfip:t,"sells-it":t,servebbs:t,serveftp:t,thruhere:t,webhop:t,casacam:t,dynu:t,dynuddns:t,mysynology:t,opik:t,spryt:t,dynv6:t,twmail:t,ru:t,channelsdvr:[2,{u:t}],fastly:[0,{freetls:t,map:t,prod:[0,{a:t,global:t}],ssl:[0,{a:t,b:t,global:t}]}],fastlylb:[2,{map:t}],"keyword-on":t,"live-on":t,"server-on":t,"cdn-edges":t,heteml:t,cloudfunctions:t,"grafana-dev":t,iobb:t,moonscale:t,"in-dsl":t,"in-vpn":t,oninferno:t,botdash:t,"apps-1and1":t,ipifony:t,cloudjiffy:[2,{"fra1-de":t,"west1-us":t}],elastx:[0,{"jls-sto1":t,"jls-sto2":t,"jls-sto3":t}],massivegrid:[0,{paas:[0,{"fr-1":t,"lon-1":t,"lon-2":t,"ny-1":t,"ny-2":t,"sg-1":t}]}],saveincloud:[0,{jelastic:t,"nordeste-idc":t}],scaleforce:Qe,kinghost:t,uni5:t,krellian:t,ggff:t,localto:o,barsy:t,luyani:t,memset:t,"azure-api":t,"azure-mobile":t,azureedge:t,azurefd:t,azurestaticapps:[2,{1:t,2:t,3:t,4:t,5:t,6:t,7:t,centralus:t,eastasia:t,eastus2:t,westeurope:t,westus2:t}],azurewebsites:t,cloudapp:t,trafficmanager:t,usgovcloudapi:on,usgovcloudapp:t,usgovtrafficmanager:t,windows:on,mynetname:[0,{sn:t}],routingthecloud:t,bounceme:t,ddns:t,"eating-organic":t,mydissent:t,myeffect:t,mymediapc:t,mypsx:t,mysecuritycamera:t,nhlfan:t,"no-ip":t,pgafan:t,privatizehealthinsurance:t,redirectme:t,serveblog:t,serveminecraft:t,sytes:t,dnsup:t,hicam:t,"now-dns":t,ownip:t,vpndns:t,cloudycluster:t,ovh:[0,{hosting:o,webpaas:o}],rackmaze:t,myradweb:t,in:t,"subsc-pay":t,squares:t,schokokeks:t,"firewall-gateway":t,seidat:t,senseering:t,siteleaf:t,mafelo:t,myspreadshop:t,"vps-host":[2,{jelastic:[0,{atl:t,njs:t,ric:t}]}],srcf:[0,{soc:t,user:t}],supabase:t,dsmynas:t,familyds:t,ts:[2,{c:o}],torproject:[2,{pages:t}],tunnelmole:t,vusercontent:t,"reserve-online":t,localcert:t,"community-pro":t,meinforum:t,yandexcloud:[2,{storage:t,website:t}],za:t,zabc:t}],nf:[1,{arts:e,com:e,firm:e,info:e,net:e,other:e,per:e,rec:e,store:e,web:e}],ng:[1,{com:e,edu:e,gov:e,i:e,mil:e,mobi:e,name:e,net:e,org:e,sch:e,biz:[2,{co:t,dl:t,go:t,lg:t,on:t}],col:t,firm:t,gen:t,ltd:t,ngo:t,plc:t}],ni:[1,{ac:e,biz:e,co:e,com:e,edu:e,gob:e,in:e,info:e,int:e,mil:e,net:e,nom:e,org:e,web:e}],nl:[1,{co:t,"hosting-cluster":t,gov:t,khplay:t,"123website":t,myspreadshop:t,transurl:o,cistron:t,demon:t}],no:[1,{fhs:e,folkebibl:e,fylkesbibl:e,idrett:e,museum:e,priv:e,vgs:e,dep:e,herad:e,kommune:e,mil:e,stat:e,aa:we,ah:we,bu:we,fm:we,hl:we,hm:we,"jan-mayen":we,mr:we,nl:we,nt:we,of:we,ol:we,oslo:we,rl:we,sf:we,st:we,svalbard:we,tm:we,tr:we,va:we,vf:we,akrehamn:e,"xn--krehamn-dxa":e,\u00E5krehamn:e,algard:e,"xn--lgrd-poac":e,\u00E5lg\u00E5rd:e,arna:e,bronnoysund:e,"xn--brnnysund-m8ac":e,br\u00F8nn\u00F8ysund:e,brumunddal:e,bryne:e,drobak:e,"xn--drbak-wua":e,dr\u00F8bak:e,egersund:e,fetsund:e,floro:e,"xn--flor-jra":e,flor\u00F8:e,fredrikstad:e,hokksund:e,honefoss:e,"xn--hnefoss-q1a":e,h\u00F8nefoss:e,jessheim:e,jorpeland:e,"xn--jrpeland-54a":e,j\u00F8rpeland:e,kirkenes:e,kopervik:e,krokstadelva:e,langevag:e,"xn--langevg-jxa":e,langev\u00E5g:e,leirvik:e,mjondalen:e,"xn--mjndalen-64a":e,mj\u00F8ndalen:e,"mo-i-rana":e,mosjoen:e,"xn--mosjen-eya":e,mosj\u00F8en:e,nesoddtangen:e,orkanger:e,osoyro:e,"xn--osyro-wua":e,os\u00F8yro:e,raholt:e,"xn--rholt-mra":e,r\u00E5holt:e,sandnessjoen:e,"xn--sandnessjen-ogb":e,sandnessj\u00F8en:e,skedsmokorset:e,slattum:e,spjelkavik:e,stathelle:e,stavern:e,stjordalshalsen:e,"xn--stjrdalshalsen-sqb":e,stj\u00F8rdalshalsen:e,tananger:e,tranby:e,vossevangen:e,aarborte:e,aejrie:e,afjord:e,"xn--fjord-lra":e,\u00E5fjord:e,agdenes:e,akershus:dr,aknoluokta:e,"xn--koluokta-7ya57h":e,\u00E1k\u014Boluokta:e,al:e,"xn--l-1fa":e,\u00E5l:e,alaheadju:e,"xn--laheadju-7ya":e,\u00E1laheadju:e,alesund:e,"xn--lesund-hua":e,\u00E5lesund:e,alstahaug:e,alta:e,"xn--lt-liac":e,\u00E1lt\u00E1:e,alvdal:e,amli:e,"xn--mli-tla":e,\u00E5mli:e,amot:e,"xn--mot-tla":e,\u00E5mot:e,andasuolo:e,andebu:e,andoy:e,"xn--andy-ira":e,and\u00F8y:e,ardal:e,"xn--rdal-poa":e,\u00E5rdal:e,aremark:e,arendal:e,"xn--s-1fa":e,\u00E5s:e,aseral:e,"xn--seral-lra":e,\u00E5seral:e,asker:e,askim:e,askoy:e,"xn--asky-ira":e,ask\u00F8y:e,askvoll:e,asnes:e,"xn--snes-poa":e,\u00E5snes:e,audnedaln:e,aukra:e,aure:e,aurland:e,"aurskog-holand":e,"xn--aurskog-hland-jnb":e,"aurskog-h\xF8land":e,austevoll:e,austrheim:e,averoy:e,"xn--avery-yua":e,aver\u00F8y:e,badaddja:e,"xn--bdddj-mrabd":e,b\u00E5d\u00E5ddj\u00E5:e,"xn--brum-voa":e,b\u00E6rum:e,bahcavuotna:e,"xn--bhcavuotna-s4a":e,b\u00E1hcavuotna:e,bahccavuotna:e,"xn--bhccavuotna-k7a":e,b\u00E1hccavuotna:e,baidar:e,"xn--bidr-5nac":e,b\u00E1id\u00E1r:e,bajddar:e,"xn--bjddar-pta":e,b\u00E1jddar:e,balat:e,"xn--blt-elab":e,b\u00E1l\u00E1t:e,balestrand:e,ballangen:e,balsfjord:e,bamble:e,bardu:e,barum:e,batsfjord:e,"xn--btsfjord-9za":e,b\u00E5tsfjord:e,bearalvahki:e,"xn--bearalvhki-y4a":e,bearalv\u00E1hki:e,beardu:e,beiarn:e,berg:e,bergen:e,berlevag:e,"xn--berlevg-jxa":e,berlev\u00E5g:e,bievat:e,"xn--bievt-0qa":e,biev\u00E1t:e,bindal:e,birkenes:e,bjerkreim:e,bjugn:e,bodo:e,"xn--bod-2na":e,bod\u00F8:e,bokn:e,bomlo:e,"xn--bmlo-gra":e,b\u00F8mlo:e,bremanger:e,bronnoy:e,"xn--brnny-wuac":e,br\u00F8nn\u00F8y:e,budejju:e,buskerud:dr,bygland:e,bykle:e,cahcesuolo:e,"xn--hcesuolo-7ya35b":e,\u010D\u00E1hcesuolo:e,davvenjarga:e,"xn--davvenjrga-y4a":e,davvenj\u00E1rga:e,davvesiida:e,deatnu:e,dielddanuorri:e,divtasvuodna:e,divttasvuotna:e,donna:e,"xn--dnna-gra":e,d\u00F8nna:e,dovre:e,drammen:e,drangedal:e,dyroy:e,"xn--dyry-ira":e,dyr\u00F8y:e,eid:e,eidfjord:e,eidsberg:e,eidskog:e,eidsvoll:e,eigersund:e,elverum:e,enebakk:e,engerdal:e,etne:e,etnedal:e,evenassi:e,"xn--eveni-0qa01ga":e,even\u00E1\u0161\u0161i:e,evenes:e,"evje-og-hornnes":e,farsund:e,fauske:e,fedje:e,fet:e,finnoy:e,"xn--finny-yua":e,finn\u00F8y:e,fitjar:e,fjaler:e,fjell:e,fla:e,"xn--fl-zia":e,fl\u00E5:e,flakstad:e,flatanger:e,flekkefjord:e,flesberg:e,flora:e,folldal:e,forde:e,"xn--frde-gra":e,f\u00F8rde:e,forsand:e,fosnes:e,"xn--frna-woa":e,fr\u00E6na:e,frana:e,frei:e,frogn:e,froland:e,frosta:e,froya:e,"xn--frya-hra":e,fr\u00F8ya:e,fuoisku:e,fuossko:e,fusa:e,fyresdal:e,gaivuotna:e,"xn--givuotna-8ya":e,g\u00E1ivuotna:e,galsa:e,"xn--gls-elac":e,g\u00E1ls\u00E1:e,gamvik:e,gangaviika:e,"xn--ggaviika-8ya47h":e,g\u00E1\u014Bgaviika:e,gaular:e,gausdal:e,giehtavuoatna:e,gildeskal:e,"xn--gildeskl-g0a":e,gildesk\u00E5l:e,giske:e,gjemnes:e,gjerdrum:e,gjerstad:e,gjesdal:e,gjovik:e,"xn--gjvik-wua":e,gj\u00F8vik:e,gloppen:e,gol:e,gran:e,grane:e,granvin:e,gratangen:e,grimstad:e,grong:e,grue:e,gulen:e,guovdageaidnu:e,ha:e,"xn--h-2fa":e,h\u00E5:e,habmer:e,"xn--hbmer-xqa":e,h\u00E1bmer:e,hadsel:e,"xn--hgebostad-g3a":e,h\u00E6gebostad:e,hagebostad:e,halden:e,halsa:e,hamar:e,hamaroy:e,hammarfeasta:e,"xn--hmmrfeasta-s4ac":e,h\u00E1mm\u00E1rfeasta:e,hammerfest:e,hapmir:e,"xn--hpmir-xqa":e,h\u00E1pmir:e,haram:e,hareid:e,harstad:e,hasvik:e,hattfjelldal:e,haugesund:e,hedmark:[0,{os:e,valer:e,"xn--vler-qoa":e,v\u00E5ler:e}],hemne:e,hemnes:e,hemsedal:e,hitra:e,hjartdal:e,hjelmeland:e,hobol:e,"xn--hobl-ira":e,hob\u00F8l:e,hof:e,hol:e,hole:e,holmestrand:e,holtalen:e,"xn--holtlen-hxa":e,holt\u00E5len:e,hordaland:[0,{os:e}],hornindal:e,horten:e,hoyanger:e,"xn--hyanger-q1a":e,h\u00F8yanger:e,hoylandet:e,"xn--hylandet-54a":e,h\u00F8ylandet:e,hurdal:e,hurum:e,hvaler:e,hyllestad:e,ibestad:e,inderoy:e,"xn--indery-fya":e,inder\u00F8y:e,iveland:e,ivgu:e,jevnaker:e,jolster:e,"xn--jlster-bya":e,j\u00F8lster:e,jondal:e,kafjord:e,"xn--kfjord-iua":e,k\u00E5fjord:e,karasjohka:e,"xn--krjohka-hwab49j":e,k\u00E1r\u00E1\u0161johka:e,karasjok:e,karlsoy:e,karmoy:e,"xn--karmy-yua":e,karm\u00F8y:e,kautokeino:e,klabu:e,"xn--klbu-woa":e,kl\u00E6bu:e,klepp:e,kongsberg:e,kongsvinger:e,kraanghke:e,"xn--kranghke-b0a":e,kr\u00E5anghke:e,kragero:e,"xn--krager-gya":e,krager\u00F8:e,kristiansand:e,kristiansund:e,krodsherad:e,"xn--krdsherad-m8a":e,kr\u00F8dsherad:e,"xn--kvfjord-nxa":e,kv\u00E6fjord:e,"xn--kvnangen-k0a":e,kv\u00E6nangen:e,kvafjord:e,kvalsund:e,kvam:e,kvanangen:e,kvinesdal:e,kvinnherad:e,kviteseid:e,kvitsoy:e,"xn--kvitsy-fya":e,kvits\u00F8y:e,laakesvuemie:e,"xn--lrdal-sra":e,l\u00E6rdal:e,lahppi:e,"xn--lhppi-xqa":e,l\u00E1hppi:e,lardal:e,larvik:e,lavagis:e,lavangen:e,leangaviika:e,"xn--leagaviika-52b":e,lea\u014Bgaviika:e,lebesby:e,leikanger:e,leirfjord:e,leka:e,leksvik:e,lenvik:e,lerdal:e,lesja:e,levanger:e,lier:e,lierne:e,lillehammer:e,lillesand:e,lindas:e,"xn--linds-pra":e,lind\u00E5s:e,lindesnes:e,loabat:e,"xn--loabt-0qa":e,loab\u00E1t:e,lodingen:e,"xn--ldingen-q1a":e,l\u00F8dingen:e,lom:e,loppa:e,lorenskog:e,"xn--lrenskog-54a":e,l\u00F8renskog:e,loten:e,"xn--lten-gra":e,l\u00F8ten:e,lund:e,lunner:e,luroy:e,"xn--lury-ira":e,lur\u00F8y:e,luster:e,lyngdal:e,lyngen:e,malatvuopmi:e,"xn--mlatvuopmi-s4a":e,m\u00E1latvuopmi:e,malselv:e,"xn--mlselv-iua":e,m\u00E5lselv:e,malvik:e,mandal:e,marker:e,marnardal:e,masfjorden:e,masoy:e,"xn--msy-ula0h":e,m\u00E5s\u00F8y:e,"matta-varjjat":e,"xn--mtta-vrjjat-k7af":e,"m\xE1tta-v\xE1rjjat":e,meland:e,meldal:e,melhus:e,meloy:e,"xn--mely-ira":e,mel\u00F8y:e,meraker:e,"xn--merker-kua":e,mer\u00E5ker:e,midsund:e,"midtre-gauldal":e,moareke:e,"xn--moreke-jua":e,mo\u00E5reke:e,modalen:e,modum:e,molde:e,"more-og-romsdal":[0,{heroy:e,sande:e}],"xn--mre-og-romsdal-qqb":[0,{"xn--hery-ira":e,sande:e}],"m\xF8re-og-romsdal":[0,{her\u00F8y:e,sande:e}],moskenes:e,moss:e,muosat:e,"xn--muost-0qa":e,muos\u00E1t:e,naamesjevuemie:e,"xn--nmesjevuemie-tcba":e,n\u00E5\u00E5mesjevuemie:e,"xn--nry-yla5g":e,n\u00E6r\u00F8y:e,namdalseid:e,namsos:e,namsskogan:e,nannestad:e,naroy:e,narviika:e,narvik:e,naustdal:e,navuotna:e,"xn--nvuotna-hwa":e,n\u00E1vuotna:e,"nedre-eiker":e,nesna:e,nesodden:e,nesseby:e,nesset:e,nissedal:e,nittedal:e,"nord-aurdal":e,"nord-fron":e,"nord-odal":e,norddal:e,nordkapp:e,nordland:[0,{bo:e,"xn--b-5ga":e,b\u00F8:e,heroy:e,"xn--hery-ira":e,her\u00F8y:e}],"nordre-land":e,nordreisa:e,"nore-og-uvdal":e,notodden:e,notteroy:e,"xn--nttery-byae":e,n\u00F8tter\u00F8y:e,odda:e,oksnes:e,"xn--ksnes-uua":e,\u00F8ksnes:e,omasvuotna:e,oppdal:e,oppegard:e,"xn--oppegrd-ixa":e,oppeg\u00E5rd:e,orkdal:e,orland:e,"xn--rland-uua":e,\u00F8rland:e,orskog:e,"xn--rskog-uua":e,\u00F8rskog:e,orsta:e,"xn--rsta-fra":e,\u00F8rsta:e,osen:e,osteroy:e,"xn--ostery-fya":e,oster\u00F8y:e,ostfold:[0,{valer:e}],"xn--stfold-9xa":[0,{"xn--vler-qoa":e}],\u00F8stfold:[0,{v\u00E5ler:e}],"ostre-toten":e,"xn--stre-toten-zcb":e,"\xF8stre-toten":e,overhalla:e,"ovre-eiker":e,"xn--vre-eiker-k8a":e,"\xF8vre-eiker":e,oyer:e,"xn--yer-zna":e,\u00F8yer:e,oygarden:e,"xn--ygarden-p1a":e,\u00F8ygarden:e,"oystre-slidre":e,"xn--ystre-slidre-ujb":e,"\xF8ystre-slidre":e,porsanger:e,porsangu:e,"xn--porsgu-sta26f":e,pors\u00E1\u014Bgu:e,porsgrunn:e,rade:e,"xn--rde-ula":e,r\u00E5de:e,radoy:e,"xn--rady-ira":e,rad\u00F8y:e,"xn--rlingen-mxa":e,r\u00E6lingen:e,rahkkeravju:e,"xn--rhkkervju-01af":e,r\u00E1hkker\u00E1vju:e,raisa:e,"xn--risa-5na":e,r\u00E1isa:e,rakkestad:e,ralingen:e,rana:e,randaberg:e,rauma:e,rendalen:e,rennebu:e,rennesoy:e,"xn--rennesy-v1a":e,rennes\u00F8y:e,rindal:e,ringebu:e,ringerike:e,ringsaker:e,risor:e,"xn--risr-ira":e,ris\u00F8r:e,rissa:e,roan:e,rodoy:e,"xn--rdy-0nab":e,r\u00F8d\u00F8y:e,rollag:e,romsa:e,romskog:e,"xn--rmskog-bya":e,r\u00F8mskog:e,roros:e,"xn--rros-gra":e,r\u00F8ros:e,rost:e,"xn--rst-0na":e,r\u00F8st:e,royken:e,"xn--ryken-vua":e,r\u00F8yken:e,royrvik:e,"xn--ryrvik-bya":e,r\u00F8yrvik:e,ruovat:e,rygge:e,salangen:e,salat:e,"xn--slat-5na":e,s\u00E1lat:e,"xn--slt-elab":e,s\u00E1l\u00E1t:e,saltdal:e,samnanger:e,sandefjord:e,sandnes:e,sandoy:e,"xn--sandy-yua":e,sand\u00F8y:e,sarpsborg:e,sauda:e,sauherad:e,sel:e,selbu:e,selje:e,seljord:e,siellak:e,sigdal:e,siljan:e,sirdal:e,skanit:e,"xn--sknit-yqa":e,sk\u00E1nit:e,skanland:e,"xn--sknland-fxa":e,sk\u00E5nland:e,skaun:e,skedsmo:e,ski:e,skien:e,skierva:e,"xn--skierv-uta":e,skierv\u00E1:e,skiptvet:e,skjak:e,"xn--skjk-soa":e,skj\u00E5k:e,skjervoy:e,"xn--skjervy-v1a":e,skjerv\u00F8y:e,skodje:e,smola:e,"xn--smla-hra":e,sm\u00F8la:e,snaase:e,"xn--snase-nra":e,sn\u00E5ase:e,snasa:e,"xn--snsa-roa":e,sn\u00E5sa:e,snillfjord:e,snoasa:e,sogndal:e,sogne:e,"xn--sgne-gra":e,s\u00F8gne:e,sokndal:e,sola:e,solund:e,somna:e,"xn--smna-gra":e,s\u00F8mna:e,"sondre-land":e,"xn--sndre-land-0cb":e,"s\xF8ndre-land":e,songdalen:e,"sor-aurdal":e,"xn--sr-aurdal-l8a":e,"s\xF8r-aurdal":e,"sor-fron":e,"xn--sr-fron-q1a":e,"s\xF8r-fron":e,"sor-odal":e,"xn--sr-odal-q1a":e,"s\xF8r-odal":e,"sor-varanger":e,"xn--sr-varanger-ggb":e,"s\xF8r-varanger":e,sorfold:e,"xn--srfold-bya":e,s\u00F8rfold:e,sorreisa:e,"xn--srreisa-q1a":e,s\u00F8rreisa:e,sortland:e,sorum:e,"xn--srum-gra":e,s\u00F8rum:e,spydeberg:e,stange:e,stavanger:e,steigen:e,steinkjer:e,stjordal:e,"xn--stjrdal-s1a":e,stj\u00F8rdal:e,stokke:e,"stor-elvdal":e,stord:e,stordal:e,storfjord:e,strand:e,stranda:e,stryn:e,sula:e,suldal:e,sund:e,sunndal:e,surnadal:e,sveio:e,svelvik:e,sykkylven:e,tana:e,telemark:[0,{bo:e,"xn--b-5ga":e,b\u00F8:e}],time:e,tingvoll:e,tinn:e,tjeldsund:e,tjome:e,"xn--tjme-hra":e,tj\u00F8me:e,tokke:e,tolga:e,tonsberg:e,"xn--tnsberg-q1a":e,t\u00F8nsberg:e,torsken:e,"xn--trna-woa":e,tr\u00E6na:e,trana:e,tranoy:e,"xn--trany-yua":e,tran\u00F8y:e,troandin:e,trogstad:e,"xn--trgstad-r1a":e,tr\u00F8gstad:e,tromsa:e,tromso:e,"xn--troms-zua":e,troms\u00F8:e,trondheim:e,trysil:e,tvedestrand:e,tydal:e,tynset:e,tysfjord:e,tysnes:e,"xn--tysvr-vra":e,tysv\u00E6r:e,tysvar:e,ullensaker:e,ullensvang:e,ulvik:e,unjarga:e,"xn--unjrga-rta":e,unj\u00E1rga:e,utsira:e,vaapste:e,vadso:e,"xn--vads-jra":e,vads\u00F8:e,"xn--vry-yla5g":e,v\u00E6r\u00F8y:e,vaga:e,"xn--vg-yiab":e,v\u00E5g\u00E5:e,vagan:e,"xn--vgan-qoa":e,v\u00E5gan:e,vagsoy:e,"xn--vgsy-qoa0j":e,v\u00E5gs\u00F8y:e,vaksdal:e,valle:e,vang:e,vanylven:e,vardo:e,"xn--vard-jra":e,vard\u00F8:e,varggat:e,"xn--vrggt-xqad":e,v\u00E1rgg\u00E1t:e,varoy:e,vefsn:e,vega:e,vegarshei:e,"xn--vegrshei-c0a":e,veg\u00E5rshei:e,vennesla:e,verdal:e,verran:e,vestby:e,vestfold:[0,{sande:e}],vestnes:e,"vestre-slidre":e,"vestre-toten":e,vestvagoy:e,"xn--vestvgy-ixa6o":e,vestv\u00E5g\u00F8y:e,vevelstad:e,vik:e,vikna:e,vindafjord:e,voagat:e,volda:e,voss:e,co:t,"123hjemmeside":t,myspreadshop:t}],np:h,nr:Ct,nu:[1,{merseine:t,mine:t,shacknet:t,enterprisecloud:t}],nz:[1,{ac:e,co:e,cri:e,geek:e,gen:e,govt:e,health:e,iwi:e,kiwi:e,maori:e,"xn--mori-qsa":e,m\u0101ori:e,mil:e,net:e,org:e,parliament:e,school:e,cloudns:t}],om:[1,{co:e,com:e,edu:e,gov:e,med:e,museum:e,net:e,org:e,pro:e}],onion:e,org:[1,{altervista:t,pimienta:t,poivron:t,potager:t,sweetpepper:t,cdn77:[0,{c:t,rsc:t}],"cdn77-secure":[0,{origin:[0,{ssl:t}]}],ae:t,cloudns:t,"ip-dynamic":t,ddnss:t,dpdns:t,duckdns:t,tunk:t,blogdns:t,blogsite:t,boldlygoingnowhere:t,dnsalias:t,dnsdojo:t,doesntexist:t,dontexist:t,doomdns:t,dvrdns:t,dynalias:t,dyndns:[2,{go:t,home:t}],endofinternet:t,endoftheinternet:t,"from-me":t,"game-host":t,gotdns:t,"hobby-site":t,homedns:t,homeftp:t,homelinux:t,homeunix:t,"is-a-bruinsfan":t,"is-a-candidate":t,"is-a-celticsfan":t,"is-a-chef":t,"is-a-geek":t,"is-a-knight":t,"is-a-linux-user":t,"is-a-patsfan":t,"is-a-soxfan":t,"is-found":t,"is-lost":t,"is-saved":t,"is-very-bad":t,"is-very-evil":t,"is-very-good":t,"is-very-nice":t,"is-very-sweet":t,"isa-geek":t,"kicks-ass":t,misconfused:t,podzone:t,readmyblog:t,selfip:t,sellsyourhome:t,servebbs:t,serveftp:t,servegame:t,"stuff-4-sale":t,webhop:t,accesscam:t,camdvr:t,freeddns:t,mywire:t,roxa:t,webredirect:t,twmail:t,eu:[2,{al:t,asso:t,at:t,au:t,be:t,bg:t,ca:t,cd:t,ch:t,cn:t,cy:t,cz:t,de:t,dk:t,edu:t,ee:t,es:t,fi:t,fr:t,gr:t,hr:t,hu:t,ie:t,il:t,in:t,int:t,is:t,it:t,jp:t,kr:t,lt:t,lu:t,lv:t,me:t,mk:t,mt:t,my:t,net:t,ng:t,nl:t,no:t,nz:t,pl:t,pt:t,ro:t,ru:t,se:t,si:t,sk:t,tr:t,uk:t,us:t}],fedorainfracloud:t,fedorapeople:t,fedoraproject:[0,{cloud:t,os:ie,stg:[0,{os:ie}]}],freedesktop:t,hatenadiary:t,hepforge:t,"in-dsl":t,"in-vpn":t,js:t,barsy:t,mayfirst:t,routingthecloud:t,bmoattachments:t,"cable-modem":t,collegefan:t,couchpotatofries:t,hopto:t,mlbfan:t,myftp:t,mysecuritycamera:t,nflfan:t,"no-ip":t,"read-books":t,ufcfan:t,zapto:t,dynserv:t,"now-dns":t,"is-local":t,httpbin:t,pubtls:t,jpn:t,"my-firewall":t,myfirewall:t,spdns:t,"small-web":t,dsmynas:t,familyds:t,teckids:Nt,tuxfamily:t,hk:t,us:t,toolforge:t,wmcloud:[2,{beta:t}],wmflabs:t,za:t}],pa:[1,{abo:e,ac:e,com:e,edu:e,gob:e,ing:e,med:e,net:e,nom:e,org:e,sld:e}],pe:[1,{com:e,edu:e,gob:e,mil:e,net:e,nom:e,org:e}],pf:[1,{com:e,edu:e,org:e}],pg:h,ph:[1,{com:e,edu:e,gov:e,i:e,mil:e,net:e,ngo:e,org:e,cloudns:t}],pk:[1,{ac:e,biz:e,com:e,edu:e,fam:e,gkp:e,gob:e,gog:e,gok:e,gop:e,gos:e,gov:e,net:e,org:e,web:e}],pl:[1,{com:e,net:e,org:e,agro:e,aid:e,atm:e,auto:e,biz:e,edu:e,gmina:e,gsm:e,info:e,mail:e,media:e,miasta:e,mil:e,nieruchomosci:e,nom:e,pc:e,powiat:e,priv:e,realestate:e,rel:e,sex:e,shop:e,sklep:e,sos:e,szkola:e,targi:e,tm:e,tourism:e,travel:e,turystyka:e,gov:[1,{ap:e,griw:e,ic:e,is:e,kmpsp:e,konsulat:e,kppsp:e,kwp:e,kwpsp:e,mup:e,mw:e,oia:e,oirm:e,oke:e,oow:e,oschr:e,oum:e,pa:e,pinb:e,piw:e,po:e,pr:e,psp:e,psse:e,pup:e,rzgw:e,sa:e,sdn:e,sko:e,so:e,sr:e,starostwo:e,ug:e,ugim:e,um:e,umig:e,upow:e,uppo:e,us:e,uw:e,uzs:e,wif:e,wiih:e,winb:e,wios:e,witd:e,wiw:e,wkz:e,wsa:e,wskr:e,wsse:e,wuoz:e,wzmiuw:e,zp:e,zpisdn:e}],augustow:e,"babia-gora":e,bedzin:e,beskidy:e,bialowieza:e,bialystok:e,bielawa:e,bieszczady:e,boleslawiec:e,bydgoszcz:e,bytom:e,cieszyn:e,czeladz:e,czest:e,dlugoleka:e,elblag:e,elk:e,glogow:e,gniezno:e,gorlice:e,grajewo:e,ilawa:e,jaworzno:e,"jelenia-gora":e,jgora:e,kalisz:e,karpacz:e,kartuzy:e,kaszuby:e,katowice:e,"kazimierz-dolny":e,kepno:e,ketrzyn:e,klodzko:e,kobierzyce:e,kolobrzeg:e,konin:e,konskowola:e,kutno:e,lapy:e,lebork:e,legnica:e,lezajsk:e,limanowa:e,lomza:e,lowicz:e,lubin:e,lukow:e,malbork:e,malopolska:e,mazowsze:e,mazury:e,mielec:e,mielno:e,mragowo:e,naklo:e,nowaruda:e,nysa:e,olawa:e,olecko:e,olkusz:e,olsztyn:e,opoczno:e,opole:e,ostroda:e,ostroleka:e,ostrowiec:e,ostrowwlkp:e,pila:e,pisz:e,podhale:e,podlasie:e,polkowice:e,pomorskie:e,pomorze:e,prochowice:e,pruszkow:e,przeworsk:e,pulawy:e,radom:e,"rawa-maz":e,rybnik:e,rzeszow:e,sanok:e,sejny:e,skoczow:e,slask:e,slupsk:e,sosnowiec:e,"stalowa-wola":e,starachowice:e,stargard:e,suwalki:e,swidnica:e,swiebodzin:e,swinoujscie:e,szczecin:e,szczytno:e,tarnobrzeg:e,tgory:e,turek:e,tychy:e,ustka:e,walbrzych:e,warmia:e,warszawa:e,waw:e,wegrow:e,wielun:e,wlocl:e,wloclawek:e,wodzislaw:e,wolomin:e,wroclaw:e,zachpomor:e,zagan:e,zarow:e,zgora:e,zgorzelec:e,art:t,gliwice:t,krakow:t,poznan:t,wroc:t,zakopane:t,beep:t,"ecommerce-shop":t,cfolks:t,dfirma:t,dkonto:t,you2:t,shoparena:t,homesklep:t,sdscloud:t,unicloud:t,lodz:t,pabianice:t,plock:t,sieradz:t,skierniewice:t,zgierz:t,krasnik:t,leczna:t,lubartow:t,lublin:t,poniatowa:t,swidnik:t,co:t,torun:t,simplesite:t,myspreadshop:t,gda:t,gdansk:t,gdynia:t,med:t,sopot:t,bielsko:t}],pm:[1,{own:t,name:t}],pn:[1,{co:e,edu:e,gov:e,net:e,org:e}],post:e,pr:[1,{biz:e,com:e,edu:e,gov:e,info:e,isla:e,name:e,net:e,org:e,pro:e,ac:e,est:e,prof:e}],pro:[1,{aaa:e,aca:e,acct:e,avocat:e,bar:e,cpa:e,eng:e,jur:e,law:e,med:e,recht:e,cloudns:t,keenetic:t,barsy:t,ngrok:t}],ps:[1,{com:e,edu:e,gov:e,net:e,org:e,plo:e,sec:e}],pt:[1,{com:e,edu:e,gov:e,int:e,net:e,nome:e,org:e,publ:e,"123paginaweb":t}],pw:[1,{gov:e,cloudns:t,x443:t}],py:[1,{com:e,coop:e,edu:e,gov:e,mil:e,net:e,org:e}],qa:[1,{com:e,edu:e,gov:e,mil:e,name:e,net:e,org:e,sch:e}],re:[1,{asso:e,com:e,netlib:t,can:t}],ro:[1,{arts:e,com:e,firm:e,info:e,nom:e,nt:e,org:e,rec:e,store:e,tm:e,www:e,co:t,shop:t,barsy:t}],rs:[1,{ac:e,co:e,edu:e,gov:e,in:e,org:e,brendly:x,barsy:t,ox:t}],ru:[1,{ac:t,edu:t,gov:t,int:t,mil:t,eurodir:t,adygeya:t,bashkiria:t,bir:t,cbg:t,com:t,dagestan:t,grozny:t,kalmykia:t,kustanai:t,marine:t,mordovia:t,msk:t,mytis:t,nalchik:t,nov:t,pyatigorsk:t,spb:t,vladikavkaz:t,vladimir:t,na4u:t,mircloud:t,myjino:[2,{hosting:o,landing:o,spectrum:o,vps:o}],cldmail:[0,{hb:t}],mcdir:[2,{vps:t}],mcpre:t,net:t,org:t,pp:t,ras:t}],rw:[1,{ac:e,co:e,coop:e,gov:e,mil:e,net:e,org:e}],sa:[1,{com:e,edu:e,gov:e,med:e,net:e,org:e,pub:e,sch:e}],sb:n,sc:n,sd:[1,{com:e,edu:e,gov:e,info:e,med:e,net:e,org:e,tv:e}],se:[1,{a:e,ac:e,b:e,bd:e,brand:e,c:e,d:e,e,f:e,fh:e,fhsk:e,fhv:e,g:e,h:e,i:e,k:e,komforb:e,kommunalforbund:e,komvux:e,l:e,lanbib:e,m:e,n:e,naturbruksgymn:e,o:e,org:e,p:e,parti:e,pp:e,press:e,r:e,s:e,t:e,tm:e,u:e,w:e,x:e,y:e,z:e,com:t,iopsys:t,"123minsida":t,itcouldbewor:t,myspreadshop:t}],sg:[1,{com:e,edu:e,gov:e,net:e,org:e,enscaled:t}],sh:[1,{com:e,gov:e,mil:e,net:e,org:e,hashbang:t,botda:t,lovable:t,platform:[0,{ent:t,eu:t,us:t}],teleport:t,now:t}],si:[1,{f5:t,gitapp:t,gitpage:t}],sj:e,sk:[1,{org:e}],sl:n,sm:e,sn:[1,{art:e,com:e,edu:e,gouv:e,org:e,univ:e}],so:[1,{com:e,edu:e,gov:e,me:e,net:e,org:e,surveys:t}],sr:e,ss:[1,{biz:e,co:e,com:e,edu:e,gov:e,me:e,net:e,org:e,sch:e}],st:[1,{co:e,com:e,consulado:e,edu:e,embaixada:e,mil:e,net:e,org:e,principe:e,saotome:e,store:e,helioho:t,cn:o,kirara:t,noho:t}],su:[1,{abkhazia:t,adygeya:t,aktyubinsk:t,arkhangelsk:t,armenia:t,ashgabad:t,azerbaijan:t,balashov:t,bashkiria:t,bryansk:t,bukhara:t,chimkent:t,dagestan:t,"east-kazakhstan":t,exnet:t,georgia:t,grozny:t,ivanovo:t,jambyl:t,kalmykia:t,kaluga:t,karacol:t,karaganda:t,karelia:t,khakassia:t,krasnodar:t,kurgan:t,kustanai:t,lenug:t,mangyshlak:t,mordovia:t,msk:t,murmansk:t,nalchik:t,navoi:t,"north-kazakhstan":t,nov:t,obninsk:t,penza:t,pokrovsk:t,sochi:t,spb:t,tashkent:t,termez:t,togliatti:t,troitsk:t,tselinograd:t,tula:t,tuva:t,vladikavkaz:t,vladimir:t,vologda:t}],sv:[1,{com:e,edu:e,gob:e,org:e,red:e}],sx:c,sy:r,sz:[1,{ac:e,co:e,org:e}],tc:e,td:e,tel:e,tf:[1,{sch:t}],tg:e,th:[1,{ac:e,co:e,go:e,in:e,mi:e,net:e,or:e,online:t,shop:t}],tj:[1,{ac:e,biz:e,co:e,com:e,edu:e,go:e,gov:e,int:e,mil:e,name:e,net:e,nic:e,org:e,test:e,web:e}],tk:e,tl:c,tm:[1,{co:e,com:e,edu:e,gov:e,mil:e,net:e,nom:e,org:e}],tn:[1,{com:e,ens:e,fin:e,gov:e,ind:e,info:e,intl:e,mincom:e,nat:e,net:e,org:e,perso:e,tourism:e,orangecloud:t}],to:[1,{611:t,com:e,edu:e,gov:e,mil:e,net:e,org:e,oya:t,x0:t,quickconnect:$,vpnplus:t,nett:t}],tr:[1,{av:e,bbs:e,bel:e,biz:e,com:e,dr:e,edu:e,gen:e,gov:e,info:e,k12:e,kep:e,mil:e,name:e,net:e,org:e,pol:e,tel:e,tsk:e,tv:e,web:e,nc:c}],tt:[1,{biz:e,co:e,com:e,edu:e,gov:e,info:e,mil:e,name:e,net:e,org:e,pro:e}],tv:[1,{"better-than":t,dyndns:t,"on-the-web":t,"worse-than":t,from:t,sakura:t}],tw:[1,{club:e,com:[1,{mymailer:t}],ebiz:e,edu:e,game:e,gov:e,idv:e,mil:e,net:e,org:e,url:t,mydns:t}],tz:[1,{ac:e,co:e,go:e,hotel:e,info:e,me:e,mil:e,mobi:e,ne:e,or:e,sc:e,tv:e}],ua:[1,{com:e,edu:e,gov:e,in:e,net:e,org:e,cherkassy:e,cherkasy:e,chernigov:e,chernihiv:e,chernivtsi:e,chernovtsy:e,ck:e,cn:e,cr:e,crimea:e,cv:e,dn:e,dnepropetrovsk:e,dnipropetrovsk:e,donetsk:e,dp:e,if:e,"ivano-frankivsk":e,kh:e,kharkiv:e,kharkov:e,kherson:e,khmelnitskiy:e,khmelnytskyi:e,kiev:e,kirovograd:e,km:e,kr:e,kropyvnytskyi:e,krym:e,ks:e,kv:e,kyiv:e,lg:e,lt:e,lugansk:e,luhansk:e,lutsk:e,lv:e,lviv:e,mk:e,mykolaiv:e,nikolaev:e,od:e,odesa:e,odessa:e,pl:e,poltava:e,rivne:e,rovno:e,rv:e,sb:e,sebastopol:e,sevastopol:e,sm:e,sumy:e,te:e,ternopil:e,uz:e,uzhgorod:e,uzhhorod:e,vinnica:e,vinnytsia:e,vn:e,volyn:e,yalta:e,zakarpattia:e,zaporizhzhe:e,zaporizhzhia:e,zhitomir:e,zhytomyr:e,zp:e,zt:e,cc:t,inf:t,ltd:t,cx:t,biz:t,co:t,pp:t,v:t}],ug:[1,{ac:e,co:e,com:e,edu:e,go:e,gov:e,mil:e,ne:e,or:e,org:e,sc:e,us:e}],uk:[1,{ac:e,co:[1,{bytemark:[0,{dh:t,vm:t}],layershift:Qe,barsy:t,barsyonline:t,retrosnub:pt,"nh-serv":t,"no-ip":t,adimo:t,myspreadshop:t}],gov:[1,{api:t,campaign:t,service:t}],ltd:e,me:e,net:e,nhs:e,org:[1,{glug:t,lug:t,lugs:t,affinitylottery:t,raffleentry:t,weeklylottery:t}],plc:e,police:e,sch:h,conn:t,copro:t,hosp:t,"independent-commission":t,"independent-inquest":t,"independent-inquiry":t,"independent-panel":t,"independent-review":t,"public-inquiry":t,"royal-commission":t,pymnt:t,barsy:t,nimsite:t,oraclegovcloudapps:o}],us:[1,{dni:e,isa:e,nsn:e,ak:Ae,al:Ae,ar:Ae,as:Ae,az:Ae,ca:Ae,co:Ae,ct:Ae,dc:Ae,de:zt,fl:Ae,ga:Ae,gu:Ae,hi:bn,ia:Ae,id:Ae,il:Ae,in:Ae,ks:Ae,ky:Ae,la:Ae,ma:[1,{k12:[1,{chtr:e,paroch:e,pvt:e}],cc:e,lib:e}],md:Ae,me:Ae,mi:[1,{k12:e,cc:e,lib:e,"ann-arbor":e,cog:e,dst:e,eaton:e,gen:e,mus:e,tec:e,washtenaw:e}],mn:Ae,mo:Ae,ms:[1,{k12:e,cc:e}],mt:Ae,nc:Ae,nd:bn,ne:Ae,nh:Ae,nj:Ae,nm:Ae,nv:Ae,ny:Ae,oh:Ae,ok:Ae,or:Ae,pa:Ae,pr:Ae,ri:bn,sc:Ae,sd:bn,tn:Ae,tx:Ae,ut:Ae,va:Ae,vi:Ae,vt:Ae,wa:Ae,wi:Ae,wv:zt,wy:Ae,cloudns:t,"is-by":t,"land-4-sale":t,"stuff-4-sale":t,heliohost:t,enscaled:[0,{phx:t}],mircloud:t,"azure-api":t,azurewebsites:t,ngo:t,golffan:t,noip:t,pointto:t,freeddns:t,srv:[2,{gh:t,gl:t}],servername:t}],uy:[1,{com:e,edu:e,gub:e,mil:e,net:e,org:e,gv:t}],uz:[1,{co:e,com:e,net:e,org:e}],va:e,vc:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,gv:[2,{d:t}],"0e":o,mydns:t}],ve:[1,{arts:e,bib:e,co:e,com:e,e12:e,edu:e,emprende:e,firm:e,gob:e,gov:e,ia:e,info:e,int:e,mil:e,net:e,nom:e,org:e,rar:e,rec:e,store:e,tec:e,web:e}],vg:[1,{edu:e}],vi:[1,{co:e,com:e,k12:e,net:e,org:e}],vn:[1,{ac:e,ai:e,biz:e,com:e,edu:e,gov:e,health:e,id:e,info:e,int:e,io:e,name:e,net:e,org:e,pro:e,angiang:e,bacgiang:e,backan:e,baclieu:e,bacninh:e,"baria-vungtau":e,bentre:e,binhdinh:e,binhduong:e,binhphuoc:e,binhthuan:e,camau:e,cantho:e,caobang:e,daklak:e,daknong:e,danang:e,dienbien:e,dongnai:e,dongthap:e,gialai:e,hagiang:e,haiduong:e,haiphong:e,hanam:e,hanoi:e,hatinh:e,haugiang:e,hoabinh:e,hue:e,hungyen:e,khanhhoa:e,kiengiang:e,kontum:e,laichau:e,lamdong:e,langson:e,laocai:e,longan:e,namdinh:e,nghean:e,ninhbinh:e,ninhthuan:e,phutho:e,phuyen:e,quangbinh:e,quangnam:e,quangngai:e,quangninh:e,quangtri:e,soctrang:e,sonla:e,tayninh:e,thaibinh:e,thainguyen:e,thanhhoa:e,thanhphohochiminh:e,thuathienhue:e,tiengiang:e,travinh:e,tuyenquang:e,vinhlong:e,vinhphuc:e,yenbai:e}],vu:pe,wf:[1,{biz:t,sch:t}],ws:[1,{com:e,edu:e,gov:e,net:e,org:e,advisor:o,cloud66:t,dyndns:t,mypets:t}],yt:[1,{org:t}],"xn--mgbaam7a8h":e,\u0627\u0645\u0627\u0631\u0627\u062A:e,"xn--y9a3aq":e,\u0570\u0561\u0575:e,"xn--54b7fta0cc":e,\u09AC\u09BE\u0982\u09B2\u09BE:e,"xn--90ae":e,\u0431\u0433:e,"xn--mgbcpq6gpa1a":e,\u0627\u0644\u0628\u062D\u0631\u064A\u0646:e,"xn--90ais":e,\u0431\u0435\u043B:e,"xn--fiqs8s":e,\u4E2D\u56FD:e,"xn--fiqz9s":e,\u4E2D\u570B:e,"xn--lgbbat1ad8j":e,\u0627\u0644\u062C\u0632\u0627\u0626\u0631:e,"xn--wgbh1c":e,\u0645\u0635\u0631:e,"xn--e1a4c":e,\u0435\u044E:e,"xn--qxa6a":e,\u03B5\u03C5:e,"xn--mgbah1a3hjkrd":e,\u0645\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u0627:e,"xn--node":e,\u10D2\u10D4:e,"xn--qxam":e,\u03B5\u03BB:e,"xn--j6w193g":[1,{"xn--gmqw5a":e,"xn--55qx5d":e,"xn--mxtq1m":e,"xn--wcvs22d":e,"xn--uc0atv":e,"xn--od0alg":e}],\u9999\u6E2F:[1,{\u500B\u4EBA:e,\u516C\u53F8:e,\u653F\u5E9C:e,\u6559\u80B2:e,\u7D44\u7E54:e,\u7DB2\u7D61:e}],"xn--2scrj9c":e,\u0CAD\u0CBE\u0CB0\u0CA4:e,"xn--3hcrj9c":e,\u0B2D\u0B3E\u0B30\u0B24:e,"xn--45br5cyl":e,\u09AD\u09BE\u09F0\u09A4:e,"xn--h2breg3eve":e,\u092D\u093E\u0930\u0924\u092E\u094D:e,"xn--h2brj9c8c":e,\u092D\u093E\u0930\u094B\u0924:e,"xn--mgbgu82a":e,\u0680\u0627\u0631\u062A:e,"xn--rvc1e0am3e":e,\u0D2D\u0D3E\u0D30\u0D24\u0D02:e,"xn--h2brj9c":e,\u092D\u093E\u0930\u0924:e,"xn--mgbbh1a":e,\u0628\u0627\u0631\u062A:e,"xn--mgbbh1a71e":e,\u0628\u06BE\u0627\u0631\u062A:e,"xn--fpcrj9c3d":e,\u0C2D\u0C3E\u0C30\u0C24\u0C4D:e,"xn--gecrj9c":e,\u0AAD\u0ABE\u0AB0\u0AA4:e,"xn--s9brj9c":e,\u0A2D\u0A3E\u0A30\u0A24:e,"xn--45brj9c":e,\u09AD\u09BE\u09B0\u09A4:e,"xn--xkc2dl3a5ee0h":e,\u0B87\u0BA8\u0BCD\u0BA4\u0BBF\u0BAF\u0BBE:e,"xn--mgba3a4f16a":e,\u0627\u06CC\u0631\u0627\u0646:e,"xn--mgba3a4fra":e,\u0627\u064A\u0631\u0627\u0646:e,"xn--mgbtx2b":e,\u0639\u0631\u0627\u0642:e,"xn--mgbayh7gpa":e,\u0627\u0644\u0627\u0631\u062F\u0646:e,"xn--3e0b707e":e,\uD55C\uAD6D:e,"xn--80ao21a":e,\u049B\u0430\u0437:e,"xn--q7ce6a":e,\u0EA5\u0EB2\u0EA7:e,"xn--fzc2c9e2c":e,\u0DBD\u0D82\u0D9A\u0DCF:e,"xn--xkc2al3hye2a":e,\u0B87\u0BB2\u0B99\u0BCD\u0B95\u0BC8:e,"xn--mgbc0a9azcg":e,\u0627\u0644\u0645\u063A\u0631\u0628:e,"xn--d1alf":e,\u043C\u043A\u0434:e,"xn--l1acc":e,\u043C\u043E\u043D:e,"xn--mix891f":e,\u6FB3\u9580:e,"xn--mix082f":e,\u6FB3\u95E8:e,"xn--mgbx4cd0ab":e,\u0645\u0644\u064A\u0633\u064A\u0627:e,"xn--mgb9awbf":e,\u0639\u0645\u0627\u0646:e,"xn--mgbai9azgqp6j":e,\u067E\u0627\u06A9\u0633\u062A\u0627\u0646:e,"xn--mgbai9a5eva00b":e,\u067E\u0627\u0643\u0633\u062A\u0627\u0646:e,"xn--ygbi2ammx":e,\u0641\u0644\u0633\u0637\u064A\u0646:e,"xn--90a3ac":[1,{"xn--80au":e,"xn--90azh":e,"xn--d1at":e,"xn--c1avg":e,"xn--o1ac":e,"xn--o1ach":e}],\u0441\u0440\u0431:[1,{\u0430\u043A:e,\u043E\u0431\u0440:e,\u043E\u0434:e,\u043E\u0440\u0433:e,\u043F\u0440:e,\u0443\u043F\u0440:e}],"xn--p1ai":e,\u0440\u0444:e,"xn--wgbl6a":e,\u0642\u0637\u0631:e,"xn--mgberp4a5d4ar":e,\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629:e,"xn--mgberp4a5d4a87g":e,\u0627\u0644\u0633\u0639\u0648\u062F\u06CC\u0629:e,"xn--mgbqly7c0a67fbc":e,\u0627\u0644\u0633\u0639\u0648\u062F\u06CC\u06C3:e,"xn--mgbqly7cvafr":e,\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0647:e,"xn--mgbpl2fh":e,\u0633\u0648\u062F\u0627\u0646:e,"xn--yfro4i67o":e,\u65B0\u52A0\u5761:e,"xn--clchc0ea0b2g2a9gcd":e,\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCD:e,"xn--ogbpf8fl":e,\u0633\u0648\u0631\u064A\u0629:e,"xn--mgbtf8fl":e,\u0633\u0648\u0631\u064A\u0627:e,"xn--o3cw4h":[1,{"xn--o3cyx2a":e,"xn--12co0c3b4eva":e,"xn--m3ch0j3a":e,"xn--h3cuzk1di":e,"xn--12c1fe0br":e,"xn--12cfi8ixb8l":e}],\u0E44\u0E17\u0E22:[1,{\u0E17\u0E2B\u0E32\u0E23:e,\u0E18\u0E38\u0E23\u0E01\u0E34\u0E08:e,\u0E40\u0E19\u0E47\u0E15:e,\u0E23\u0E31\u0E10\u0E1A\u0E32\u0E25:e,\u0E28\u0E36\u0E01\u0E29\u0E32:e,\u0E2D\u0E07\u0E04\u0E4C\u0E01\u0E23:e}],"xn--pgbs0dh":e,\u062A\u0648\u0646\u0633:e,"xn--kpry57d":e,\u53F0\u7063:e,"xn--kprw13d":e,\u53F0\u6E7E:e,"xn--nnx388a":e,\u81FA\u7063:e,"xn--j1amh":e,\u0443\u043A\u0440:e,"xn--mgb2ddes":e,\u0627\u0644\u064A\u0645\u0646:e,xxx:e,ye:r,za:[0,{ac:e,agric:e,alt:e,co:e,edu:e,gov:e,grondar:e,law:e,mil:e,net:e,ngo:e,nic:e,nis:e,nom:e,org:e,school:e,tm:e,web:e}],zm:[1,{ac:e,biz:e,co:e,com:e,edu:e,gov:e,info:e,mil:e,net:e,org:e,sch:e}],zw:[1,{ac:e,co:e,gov:e,mil:e,org:e}],aaa:e,aarp:e,abb:e,abbott:e,abbvie:e,abc:e,able:e,abogado:e,abudhabi:e,academy:[1,{official:t}],accenture:e,accountant:e,accountants:e,aco:e,actor:e,ads:e,adult:e,aeg:e,aetna:e,afl:e,africa:e,agakhan:e,agency:e,aig:e,airbus:e,airforce:e,airtel:e,akdn:e,alibaba:e,alipay:e,allfinanz:e,allstate:e,ally:e,alsace:e,alstom:e,amazon:e,americanexpress:e,americanfamily:e,amex:e,amfam:e,amica:e,amsterdam:e,analytics:e,android:e,anquan:e,anz:e,aol:e,apartments:e,app:[1,{adaptable:t,aiven:t,beget:o,brave:i,clerk:t,clerkstage:t,cloudflare:t,wnext:t,csb:[2,{preview:t}],convex:t,corespeed:t,deta:t,ondigitalocean:t,easypanel:t,encr:[2,{frontend:t}],evervault:a,expo:[2,{on:t,staging:[2,{on:t}]}],edgecompute:t,"on-fleek":t,flutterflow:t,sprites:t,e2b:t,framer:t,gadget:t,github:t,hosted:o,run:[0,{"*":t,mtls:o}],web:t,hackclub:t,hasura:t,onhercules:t,botdash:t,shiptoday:t,leapcell:t,loginline:t,lovable:t,luyani:t,magicpatterns:t,medusajs:t,messerli:t,miren:t,mocha:t,netlify:t,ngrok:t,"ngrok-free":t,developer:o,noop:t,northflank:o,upsun:o,railway:[0,{up:t}],replit:s,nyat:t,snowflake:[0,{"*":t,privatelink:o}],streamlit:t,spawnbase:t,telebit:t,typedream:t,vercel:t,wal:t,wasmer:t,bookonline:t,windsurf:t,base44:t,zeabur:t,zerops:o}],apple:[1,{int:[2,{cloud:[0,{"*":t,r:[0,{"*":t,"ap-north-1":o,"ap-south-1":o,"ap-south-2":o,"eu-central-1":o,"eu-north-1":o,"us-central-1":o,"us-central-2":o,"us-east-1":o,"us-east-2":o,"us-west-1":o,"us-west-2":o,"us-west-3":o}]}]}]}],aquarelle:e,arab:e,aramco:e,archi:e,army:e,art:e,arte:e,asda:e,associates:e,athleta:e,attorney:e,auction:e,audi:e,audible:e,audio:e,auspost:e,author:e,auto:e,autos:e,aws:[1,{on:[0,{"af-south-1":l,"ap-east-1":l,"ap-northeast-1":l,"ap-northeast-2":l,"ap-northeast-3":l,"ap-south-1":l,"ap-south-2":d,"ap-southeast-1":l,"ap-southeast-2":l,"ap-southeast-3":l,"ap-southeast-4":d,"ap-southeast-5":d,"ca-central-1":l,"ca-west-1":d,"eu-central-1":l,"eu-central-2":d,"eu-north-1":l,"eu-south-1":l,"eu-south-2":d,"eu-west-1":l,"eu-west-2":l,"eu-west-3":l,"il-central-1":d,"me-central-1":d,"me-south-1":l,"sa-east-1":l,"us-east-1":l,"us-east-2":l,"us-west-1":l,"us-west-2":l,"ap-southeast-7":m,"mx-central-1":m,"us-gov-east-1":f,"us-gov-west-1":f}],sagemaker:[0,{"ap-northeast-1":b,"ap-northeast-2":b,"ap-south-1":b,"ap-southeast-1":b,"ap-southeast-2":b,"ca-central-1":k,"eu-central-1":b,"eu-west-1":b,"eu-west-2":b,"us-east-1":k,"us-east-2":k,"us-west-2":k,"af-south-1":p,"ap-east-1":p,"ap-northeast-3":p,"ap-south-2":y,"ap-southeast-3":p,"ap-southeast-4":y,"ca-west-1":[0,{notebook:t,"notebook-fips":t}],"eu-central-2":p,"eu-north-1":p,"eu-south-1":p,"eu-south-2":p,"eu-west-3":p,"il-central-1":p,"me-central-1":p,"me-south-1":p,"sa-east-1":p,"us-gov-east-1":w,"us-gov-west-1":w,"us-west-1":[0,{notebook:t,"notebook-fips":t,studio:t}],experiments:o}],repost:[0,{private:o}]}],axa:e,azure:e,baby:e,baidu:e,banamex:e,band:e,bank:e,bar:e,barcelona:e,barclaycard:e,barclays:e,barefoot:e,bargains:e,baseball:e,basketball:[1,{aus:t,nz:t}],bauhaus:e,bayern:e,bbc:e,bbt:e,bbva:e,bcg:e,bcn:e,beats:e,beauty:e,beer:e,berlin:e,best:e,bestbuy:e,bet:e,bharti:e,bible:e,bid:e,bike:e,bing:e,bingo:e,bio:e,black:e,blackfriday:e,blockbuster:e,blog:e,bloomberg:e,blue:e,bms:e,bmw:e,bnpparibas:e,boats:e,boehringer:e,bofa:e,bom:e,bond:e,boo:e,book:e,booking:e,bosch:e,bostik:e,boston:e,bot:e,boutique:e,box:e,bradesco:e,bridgestone:e,broadway:e,broker:e,brother:e,brussels:e,build:[1,{shiptoday:t,v0:t,windsurf:t}],builders:[1,{cloudsite:t}],business:A,buy:e,buzz:e,bzh:e,cab:e,cafe:e,cal:e,call:e,calvinklein:e,cam:e,camera:e,camp:[1,{emf:[0,{at:t}]}],canon:e,capetown:e,capital:e,capitalone:e,car:e,caravan:e,cards:e,care:e,career:e,careers:e,cars:e,casa:[1,{nabu:[0,{ui:t}]}],case:[1,{sav:t}],cash:e,casino:e,catering:e,catholic:e,cba:e,cbn:e,cbre:e,center:e,ceo:e,cern:e,cfa:e,cfd:e,chanel:e,channel:e,charity:e,chase:e,chat:e,cheap:e,chintai:e,christmas:e,chrome:e,church:e,cipriani:e,circle:e,cisco:e,citadel:e,citi:e,citic:e,city:e,claims:e,cleaning:e,click:e,clinic:e,clinique:e,clothing:e,cloud:[1,{antagonist:t,begetcdn:o,convex:_,elementor:t,emergent:t,encoway:[0,{eu:t}],statics:o,ravendb:t,axarnet:[0,{"es-1":t}],diadem:t,jelastic:[0,{vip:t}],jele:t,"jenv-aruba":[0,{aruba:[0,{eur:[0,{it1:t}]}],it1:t}],keliweb:[2,{cs:t}],oxa:[2,{tn:t,uk:t}],primetel:[2,{uk:t}],reclaim:[0,{ca:t,uk:t,us:t}],trendhosting:[0,{ch:t,de:t}],jote:t,jotelulu:t,kuleuven:t,laravel:t,linkyard:t,magentosite:o,matlab:t,observablehq:t,perspecta:t,vapor:t,"on-rancher":o,scw:[0,{baremetal:[0,{"fr-par-1":t,"fr-par-2":t,"nl-ams-1":t}],"fr-par":[0,{cockpit:t,ddl:t,dtwh:t,fnc:[2,{functions:t}],ifr:t,k8s:z,kafk:t,mgdb:t,rdb:t,s3:t,"s3-website":t,scbl:t,whm:t}],instances:[0,{priv:t,pub:t}],k8s:t,"nl-ams":[0,{cockpit:t,ddl:t,dtwh:t,ifr:t,k8s:z,kafk:t,mgdb:t,rdb:t,s3:t,"s3-website":t,scbl:t,whm:t}],"pl-waw":[0,{cockpit:t,ddl:t,dtwh:t,ifr:t,k8s:z,kafk:t,mgdb:t,rdb:t,s3:t,"s3-website":t,scbl:t}],scalebook:t,smartlabeling:t}],servebolt:t,onstackit:[0,{runs:t}],trafficplex:t,"unison-services":t,urown:t,voorloper:t,zap:t}],club:[1,{cloudns:t,jele:t,barsy:t}],clubmed:e,coach:e,codes:[1,{owo:o}],coffee:e,college:e,cologne:e,commbank:e,community:[1,{nog:t,ravendb:t,myforum:t}],company:[1,{mybox:t}],compare:e,computer:e,comsec:e,condos:e,construction:e,consulting:e,contact:e,contractors:e,cooking:e,cool:[1,{elementor:t,de:t}],corsica:e,country:e,coupon:e,coupons:e,courses:e,cpa:e,credit:e,creditcard:e,creditunion:e,cricket:e,crown:e,crs:e,cruise:e,cruises:e,cuisinella:e,cymru:e,cyou:e,dad:e,dance:e,data:e,date:e,dating:e,datsun:e,day:e,dclk:e,dds:e,deal:e,dealer:e,deals:e,degree:e,delivery:e,dell:e,deloitte:e,delta:e,democrat:e,dental:e,dentist:e,desi:e,design:[1,{graphic:t,bss:t}],dev:[1,{myaddr:t,panel:t,bearblog:t,brave:i,lcl:o,lclstage:o,stg:o,stgstage:o,pages:t,r2:t,workers:t,deno:t,"deno-staging":t,deta:t,lp:[2,{api:t,objects:t}],evervault:a,fly:t,githubpreview:t,gateway:o,grebedoc:t,botdash:t,inbrowser:o,"is-a-good":t,iserv:t,leapcell:t,runcontainers:t,localcert:[0,{user:o}],loginline:t,barsy:t,mediatech:t,"mocha-sandbox":t,modx:t,ngrok:t,"ngrok-free":t,"is-a-fullstack":t,"is-cool":t,"is-not-a":t,localplayer:t,xmit:t,"platter-app":t,replit:[2,{archer:t,bones:t,canary:t,global:t,hacker:t,id:t,janeway:t,kim:t,kira:t,kirk:t,odo:t,paris:t,picard:t,pike:t,prerelease:t,reed:t,riker:t,sisko:t,spock:t,staging:t,sulu:t,tarpit:t,teams:t,tucker:t,wesley:t,worf:t}],crm:[0,{aa:o,ab:o,ac:o,ad:o,ae:o,af:o,ci:o,d:o,pa:o,pb:o,pc:o,pd:o,pe:o,pf:o,w:o,wa:o,wb:o,wc:o,wd:o,we:o,wf:o}],erp:Je,vercel:t,webhare:o,hrsn:t,"is-a":t}],dhl:e,diamonds:e,diet:e,digital:[1,{cloudapps:[2,{london:t}]}],direct:[1,{libp2p:t}],directory:e,discount:e,discover:e,dish:e,diy:[1,{discourse:t,imagine:t}],dnp:e,docs:e,doctor:e,dog:e,domains:e,dot:e,download:e,drive:e,dtv:e,dubai:e,dupont:e,durban:e,dvag:e,dvr:e,earth:e,eat:e,eco:e,edeka:e,education:A,email:[1,{crisp:[0,{on:t}],intouch:t,tawk:gt,tawkto:gt}],emerck:e,energy:e,engineer:e,engineering:e,enterprises:e,epson:e,equipment:e,ericsson:e,erni:e,esq:e,estate:[1,{compute:o}],eurovision:e,eus:[1,{party:je}],events:[1,{koobin:t,co:t}],exchange:e,expert:e,exposed:e,express:e,extraspace:e,fage:e,fail:e,fairwinds:e,faith:e,family:e,fan:e,fans:e,farm:[1,{storj:t}],farmers:e,fashion:e,fast:e,fedex:e,feedback:e,ferrari:e,ferrero:e,fidelity:e,fido:e,film:e,final:e,finance:e,financial:A,fire:e,firestone:e,firmdale:e,fish:e,fishing:e,fit:e,fitness:e,flickr:e,flights:e,flir:e,florist:e,flowers:e,fly:e,foo:e,food:e,football:e,ford:e,forex:e,forsale:e,forum:e,foundation:e,fox:e,free:e,fresenius:e,frl:e,frogans:e,frontier:e,ftr:e,fujitsu:e,fun:At,fund:e,furniture:e,futbol:e,fyi:e,gal:e,gallery:e,gallo:e,gallup:e,game:e,games:[1,{pley:t,sheezy:t}],gap:e,garden:e,gay:[1,{pages:t}],gbiz:e,gdn:[1,{cnpy:t}],gea:e,gent:e,genting:e,george:e,ggee:e,gift:e,gifts:e,gives:e,giving:e,glass:e,gle:e,global:[1,{appwrite:t}],globo:e,gmail:e,gmbh:e,gmo:e,gmx:e,godaddy:e,gold:e,goldpoint:e,golf:e,goodyear:e,goog:[1,{cloud:t,translate:t,usercontent:o}],google:e,gop:e,got:e,grainger:e,graphics:e,gratis:e,green:e,gripe:e,grocery:e,group:[1,{discourse:t}],gucci:e,guge:e,guide:e,guitars:e,guru:e,hair:e,hamburg:e,hangout:e,haus:e,hbo:e,hdfc:e,hdfcbank:e,health:[1,{hra:t}],healthcare:e,help:e,helsinki:e,here:e,hermes:e,hiphop:e,hisamitsu:e,hitachi:e,hiv:e,hkt:e,hockey:e,holdings:e,holiday:e,homedepot:e,homegoods:e,homes:e,homesense:e,honda:e,horse:e,hospital:e,host:[1,{cloudaccess:t,freesite:t,easypanel:t,emergent:t,fastvps:t,myfast:t,gadget:t,tempurl:t,wpmudev:t,iserv:t,jele:t,mircloud:t,bolt:t,wp2:t,half:t}],hosting:[1,{opencraft:t}],hot:e,hotel:e,hotels:e,hotmail:e,house:e,how:e,hsbc:e,hughes:e,hyatt:e,hyundai:e,ibm:e,icbc:e,ice:e,icu:e,ieee:e,ifm:e,ikano:e,imamat:e,imdb:e,immo:e,immobilien:e,inc:e,industries:e,infiniti:e,ing:e,ink:e,institute:e,insurance:e,insure:e,international:e,intuit:e,investments:e,ipiranga:e,irish:e,ismaili:e,ist:e,istanbul:e,itau:e,itv:e,jaguar:e,java:e,jcb:e,jeep:e,jetzt:e,jewelry:e,jio:e,jll:e,jmp:e,jnj:e,joburg:e,jot:e,joy:e,jpmorgan:e,jprs:e,juegos:e,juniper:e,kaufen:e,kddi:e,kerryhotels:e,kerryproperties:e,kfh:e,kia:e,kids:e,kim:e,kindle:e,kitchen:e,kiwi:e,koeln:e,komatsu:e,kosher:e,kpmg:e,kpn:e,krd:[1,{co:t,edu:t}],kred:e,kuokgroup:e,kyoto:e,lacaixa:e,lamborghini:e,lamer:e,land:e,landrover:e,lanxess:e,lasalle:e,lat:e,latino:e,latrobe:e,law:e,lawyer:e,lds:e,lease:e,leclerc:e,lefrak:e,legal:e,lego:e,lexus:e,lgbt:e,lidl:e,life:e,lifeinsurance:e,lifestyle:e,lighting:e,like:e,lilly:e,limited:e,limo:e,lincoln:e,link:[1,{myfritz:t,cyon:t,joinmc:t,dweb:o,inbrowser:o,keenetic:t,nftstorage:ft,mypep:t,storacha:ft,w3s:ft}],live:[1,{aem:t,hlx:t,ewp:o}],living:e,llc:e,llp:e,loan:e,loans:e,locker:e,locus:e,lol:[1,{omg:t}],london:e,lotte:e,lotto:e,love:e,lpl:e,lplfinancial:e,ltd:e,ltda:e,lundbeck:e,luxe:e,luxury:e,madrid:e,maif:e,maison:e,makeup:e,man:e,management:e,mango:e,map:e,market:e,marketing:e,markets:e,marriott:e,marshalls:e,mattel:e,mba:e,mckinsey:e,med:e,media:fn,meet:e,melbourne:e,meme:e,memorial:e,men:e,menu:[1,{barsy:t,barsyonline:t}],merck:e,merckmsd:e,miami:e,microsoft:e,mini:e,mint:e,mit:e,mitsubishi:e,mlb:e,mls:e,mma:e,mobile:e,moda:e,moe:e,moi:e,mom:e,monash:e,money:e,monster:e,mormon:e,mortgage:e,moscow:e,moto:e,motorcycles:e,mov:e,movie:e,msd:e,mtn:e,mtr:e,music:e,nab:e,nagoya:e,navy:e,nba:e,nec:e,netbank:e,netflix:e,network:[1,{aem:t,alces:o,appwrite:t,co:t,arvo:t,azimuth:t,tlon:t}],neustar:e,new:e,news:[1,{noticeable:t}],next:e,nextdirect:e,nexus:e,nfl:e,ngo:e,nhk:e,nico:e,nike:e,nikon:e,ninja:e,nissan:e,nissay:e,nokia:e,norton:e,now:e,nowruz:e,nowtv:e,nra:e,nrw:e,ntt:e,nyc:e,obi:e,observer:e,office:e,okinawa:e,olayan:e,olayangroup:e,ollo:e,omega:e,one:[1,{kin:o,service:t,website:t}],ong:e,onl:e,online:[1,{eero:t,"eero-stage":t,websitebuilder:t,leapcell:t,barsy:t}],ooo:e,open:e,oracle:e,orange:[1,{tech:t}],organic:e,origins:e,osaka:e,otsuka:e,ott:e,ovh:[1,{nerdpol:t}],page:[1,{aem:t,hlx:t,codeberg:t,deuxfleurs:t,mybox:t,heyflow:t,prvcy:t,rocky:t,statichost:t,pdns:t,plesk:t}],panasonic:e,paris:e,pars:e,partners:e,parts:e,party:e,pay:e,pccw:e,pet:e,pfizer:e,pharmacy:e,phd:e,philips:e,phone:e,photo:e,photography:e,photos:fn,physio:e,pics:e,pictet:e,pictures:[1,{1337:t}],pid:e,pin:e,ping:e,pink:e,pioneer:e,pizza:[1,{ngrok:t}],place:A,play:e,playstation:e,plumbing:e,plus:[1,{playit:[2,{at:o,with:t}]}],pnc:e,pohl:e,poker:e,politie:e,porn:e,praxi:e,press:e,prime:e,prod:e,productions:e,prof:e,progressive:e,promo:e,properties:e,property:e,protection:e,pru:e,prudential:e,pub:[1,{id:o,kin:o,barsy:t}],pwc:e,qpon:e,quebec:e,quest:e,racing:e,radio:e,read:e,realestate:e,realtor:e,realty:e,recipes:e,red:e,redumbrella:e,rehab:e,reise:e,reisen:e,reit:e,reliance:e,ren:e,rent:e,rentals:e,repair:e,report:e,republican:e,rest:e,restaurant:e,review:e,reviews:[1,{aem:t}],rexroth:e,rich:e,richardli:e,ricoh:e,ril:e,rio:e,rip:[1,{clan:t}],rocks:[1,{myddns:t,stackit:t,"lima-city":t,webspace:t}],rodeo:e,rogers:e,room:e,rsvp:e,rugby:e,ruhr:e,run:[1,{appwrite:o,canva:t,development:t,ravendb:t,liara:[2,{iran:t}],lovable:t,needle:t,build:o,code:o,database:o,migration:o,onporter:t,repl:t,stackit:t,val:Je,vercel:t,wix:t}],rwe:e,ryukyu:e,saarland:e,safe:e,safety:e,sakura:e,sale:e,salon:e,samsclub:e,samsung:e,sandvik:e,sandvikcoromant:e,sanofi:e,sap:e,sarl:e,sas:e,save:e,saxo:e,sbi:e,sbs:e,scb:e,schaeffler:e,schmidt:e,scholarships:e,school:e,schule:e,schwarz:e,science:e,scot:[1,{co:t,me:t,org:t,gov:[2,{service:t}]}],search:e,seat:e,secure:e,security:e,seek:e,select:e,sener:e,services:[1,{loginline:t}],seven:e,sew:e,sex:e,sexy:e,sfr:e,shangrila:e,sharp:e,shell:e,shia:e,shiksha:e,shoes:e,shop:[1,{base:t,hoplix:t,barsy:t,barsyonline:t,shopware:t}],shopping:e,shouji:e,show:At,silk:e,sina:e,singles:e,site:[1,{square:t,canva:ee,cloudera:o,convex:_,cyon:t,caffeine:t,fastvps:t,figma:t,"figma-gov":t,preview:t,heyflow:t,jele:t,jouwweb:t,loginline:t,barsy:t,co:t,notion:t,omniwe:t,opensocial:t,madethis:t,support:t,platformsh:o,tst:o,byen:t,sol:t,srht:t,novecore:t,cpanel:t,wpsquared:t,sourcecraft:t}],ski:e,skin:e,sky:e,skype:e,sling:e,smart:e,smile:e,sncf:e,soccer:e,social:e,softbank:e,software:e,sohu:e,solar:e,solutions:e,song:e,sony:e,soy:e,spa:e,space:[1,{myfast:t,heiyu:t,hf:[2,{static:t}],"app-ionos":t,project:t,uber:t,xs4all:t}],sport:e,spot:e,srl:e,stada:e,staples:e,star:e,statebank:e,statefarm:e,stc:e,stcgroup:e,stockholm:e,storage:e,store:[1,{barsy:t,sellfy:t,shopware:t,storebase:t}],stream:e,studio:e,study:e,style:e,sucks:e,supplies:e,supply:e,support:[1,{barsy:t}],surf:e,surgery:e,suzuki:e,swatch:e,swiss:e,sydney:e,systems:[1,{knightpoint:t,miren:t}],tab:e,taipei:e,talk:e,taobao:e,target:e,tatamotors:e,tatar:e,tattoo:e,tax:e,taxi:e,tci:e,tdk:e,team:[1,{discourse:t,jelastic:t}],tech:[1,{cleverapps:t}],technology:A,temasek:e,tennis:e,teva:e,thd:e,theater:e,theatre:e,tiaa:e,tickets:e,tienda:e,tips:e,tires:e,tirol:e,tjmaxx:e,tjx:e,tkmaxx:e,tmall:e,today:[1,{prequalifyme:t}],tokyo:e,tools:[1,{addr:et,myaddr:t}],top:[1,{ntdll:t,wadl:o}],toray:e,toshiba:e,total:e,tours:e,town:e,toyota:e,toys:e,trade:e,trading:e,training:e,travel:e,travelers:e,travelersinsurance:e,trust:e,trv:e,tube:e,tui:e,tunes:e,tushu:e,tvs:e,ubank:e,ubs:e,unicom:e,university:e,uno:e,uol:e,ups:e,vacations:e,vana:e,vanguard:e,vegas:e,ventures:e,verisign:e,versicherung:e,vet:e,viajes:e,video:e,vig:e,viking:e,villas:e,vin:e,vip:[1,{hidns:t}],virgin:e,visa:e,vision:e,viva:e,vivo:e,vlaanderen:e,vodka:e,volvo:e,vote:e,voting:e,voto:e,voyage:e,wales:e,walmart:e,walter:e,wang:e,wanggou:e,watch:e,watches:e,weather:e,weatherchannel:e,webcam:e,weber:e,website:fn,wed:e,wedding:e,weibo:e,weir:e,whoswho:e,wien:e,wiki:fn,williamhill:e,win:e,windows:e,wine:e,winners:e,wme:e,woodside:e,work:[1,{"imagine-proxy":t}],works:e,world:e,wow:e,wtc:e,wtf:e,xbox:e,xerox:e,xihuan:e,xin:e,"xn--11b4c3d":e,\u0915\u0949\u092E:e,"xn--1ck2e1b":e,\u30BB\u30FC\u30EB:e,"xn--1qqw23a":e,\u4F5B\u5C71:e,"xn--30rr7y":e,\u6148\u5584:e,"xn--3bst00m":e,\u96C6\u56E2:e,"xn--3ds443g":e,\u5728\u7EBF:e,"xn--3pxu8k":e,\u70B9\u770B:e,"xn--42c2d9a":e,\u0E04\u0E2D\u0E21:e,"xn--45q11c":e,\u516B\u5366:e,"xn--4gbrim":e,\u0645\u0648\u0642\u0639:e,"xn--55qw42g":e,\u516C\u76CA:e,"xn--55qx5d":e,\u516C\u53F8:e,"xn--5su34j936bgsg":e,\u9999\u683C\u91CC\u62C9:e,"xn--5tzm5g":e,\u7F51\u7AD9:e,"xn--6frz82g":e,\u79FB\u52A8:e,"xn--6qq986b3xl":e,\u6211\u7231\u4F60:e,"xn--80adxhks":e,\u043C\u043E\u0441\u043A\u0432\u0430:e,"xn--80aqecdr1a":e,\u043A\u0430\u0442\u043E\u043B\u0438\u043A:e,"xn--80asehdb":e,\u043E\u043D\u043B\u0430\u0439\u043D:e,"xn--80aswg":e,\u0441\u0430\u0439\u0442:e,"xn--8y0a063a":e,\u8054\u901A:e,"xn--9dbq2a":e,\u05E7\u05D5\u05DD:e,"xn--9et52u":e,\u65F6\u5C1A:e,"xn--9krt00a":e,\u5FAE\u535A:e,"xn--b4w605ferd":e,\u6DE1\u9A6C\u9521:e,"xn--bck1b9a5dre4c":e,\u30D5\u30A1\u30C3\u30B7\u30E7\u30F3:e,"xn--c1avg":e,\u043E\u0440\u0433:e,"xn--c2br7g":e,\u0928\u0947\u091F:e,"xn--cck2b3b":e,\u30B9\u30C8\u30A2:e,"xn--cckwcxetd":e,\u30A2\u30DE\u30BE\u30F3:e,"xn--cg4bki":e,\uC0BC\uC131:e,"xn--czr694b":e,\u5546\u6807:e,"xn--czrs0t":e,\u5546\u5E97:e,"xn--czru2d":e,\u5546\u57CE:e,"xn--d1acj3b":e,\u0434\u0435\u0442\u0438:e,"xn--eckvdtc9d":e,\u30DD\u30A4\u30F3\u30C8:e,"xn--efvy88h":e,\u65B0\u95FB:e,"xn--fct429k":e,\u5BB6\u96FB:e,"xn--fhbei":e,\u0643\u0648\u0645:e,"xn--fiq228c5hs":e,\u4E2D\u6587\u7F51:e,"xn--fiq64b":e,\u4E2D\u4FE1:e,"xn--fjq720a":e,\u5A31\u4E50:e,"xn--flw351e":e,\u8C37\u6B4C:e,"xn--fzys8d69uvgm":e,\u96FB\u8A0A\u76C8\u79D1:e,"xn--g2xx48c":e,\u8D2D\u7269:e,"xn--gckr3f0f":e,\u30AF\u30E9\u30A6\u30C9:e,"xn--gk3at1e":e,\u901A\u8CA9:e,"xn--hxt814e":e,\u7F51\u5E97:e,"xn--i1b6b1a6a2e":e,\u0938\u0902\u0917\u0920\u0928:e,"xn--imr513n":e,\u9910\u5385:e,"xn--io0a7i":e,\u7F51\u7EDC:e,"xn--j1aef":e,\u043A\u043E\u043C:e,"xn--jlq480n2rg":e,\u4E9A\u9A6C\u900A:e,"xn--jvr189m":e,\u98DF\u54C1:e,"xn--kcrx77d1x4a":e,\u98DE\u5229\u6D66:e,"xn--kput3i":e,\u624B\u673A:e,"xn--mgba3a3ejt":e,\u0627\u0631\u0627\u0645\u0643\u0648:e,"xn--mgba7c0bbn0a":e,\u0627\u0644\u0639\u0644\u064A\u0627\u0646:e,"xn--mgbab2bd":e,\u0628\u0627\u0632\u0627\u0631:e,"xn--mgbca7dzdo":e,\u0627\u0628\u0648\u0638\u0628\u064A:e,"xn--mgbi4ecexp":e,\u0643\u0627\u062B\u0648\u0644\u064A\u0643:e,"xn--mgbt3dhd":e,\u0647\u0645\u0631\u0627\u0647:e,"xn--mk1bu44c":e,\uB2F7\uCEF4:e,"xn--mxtq1m":e,\u653F\u5E9C:e,"xn--ngbc5azd":e,\u0634\u0628\u0643\u0629:e,"xn--ngbe9e0a":e,\u0628\u064A\u062A\u0643:e,"xn--ngbrx":e,\u0639\u0631\u0628:e,"xn--nqv7f":e,\u673A\u6784:e,"xn--nqv7fs00ema":e,\u7EC4\u7EC7\u673A\u6784:e,"xn--nyqy26a":e,\u5065\u5EB7:e,"xn--otu796d":e,\u62DB\u8058:e,"xn--p1acf":[1,{"xn--90amc":t,"xn--j1aef":t,"xn--j1ael8b":t,"xn--h1ahn":t,"xn--j1adp":t,"xn--c1avg":t,"xn--80aaa0cvac":t,"xn--h1aliz":t,"xn--90a1af":t,"xn--41a":t}],\u0440\u0443\u0441:[1,{\u0431\u0438\u0437:t,\u043A\u043E\u043C:t,\u043A\u0440\u044B\u043C:t,\u043C\u0438\u0440:t,\u043C\u0441\u043A:t,\u043E\u0440\u0433:t,\u0441\u0430\u043C\u0430\u0440\u0430:t,\u0441\u043E\u0447\u0438:t,\u0441\u043F\u0431:t,\u044F:t}],"xn--pssy2u":e,\u5927\u62FF:e,"xn--q9jyb4c":e,\u307F\u3093\u306A:e,"xn--qcka1pmc":e,\u30B0\u30FC\u30B0\u30EB:e,"xn--rhqv96g":e,\u4E16\u754C:e,"xn--rovu88b":e,\u66F8\u7C4D:e,"xn--ses554g":e,\u7F51\u5740:e,"xn--t60b56a":e,\uB2F7\uB137:e,"xn--tckwe":e,\u30B3\u30E0:e,"xn--tiq49xqyj":e,\u5929\u4E3B\u6559:e,"xn--unup4y":e,\u6E38\u620F:e,"xn--vermgensberater-ctb":e,verm\u00F6gensberater:e,"xn--vermgensberatung-pwb":e,verm\u00F6gensberatung:e,"xn--vhquv":e,\u4F01\u4E1A:e,"xn--vuq861b":e,\u4FE1\u606F:e,"xn--w4r85el8fhu5dnra":e,\u5609\u91CC\u5927\u9152\u5E97:e,"xn--w4rs40l":e,\u5609\u91CC:e,"xn--xhq521b":e,\u5E7F\u4E1C:e,"xn--zfr164b":e,\u653F\u52A1:e,xyz:[1,{caffeine:t,exe:t,botdash:t,telebit:o}],yachts:e,yahoo:e,yamaxun:e,yandex:e,yodobashi:e,yoga:e,yokohama:e,you:e,youtube:e,yun:e,zappos:e,zara:e,zero:e,zip:e,zone:[1,{stackit:t,lima:t,triton:o}],zuerich:e}]})();function jg(e,t,n,r){let o=null,i=t;for(;i!==void 0&&((i[0]&r)!==0&&(o={index:n+1,isIcann:(i[0]&1)!==0,isPrivate:(i[0]&2)!==0}),n!==-1);){let a=i[1];i=Object.prototype.hasOwnProperty.call(a,e[n])?a[e[n]]:a["*"],n-=1}return o}function El(e,t,n){var r;if(ju(e,t,n))return;let o=e.split("."),i=(t.allowPrivateDomains?2:0)|(t.allowIcannDomains?1:0),a=jg(o,Hg,o.length-1,i);if(a!==null){n.isIcann=a.isIcann,n.isPrivate=a.isPrivate,n.publicSuffix=o.slice(a.index+1).join(".");return}let s=jg(o,Fg,o.length-1,i);if(s!==null){n.isIcann=s.isIcann,n.isPrivate=s.isPrivate,n.publicSuffix=o.slice(s.index).join(".");return}n.isIcann=!1,n.isPrivate=!1,n.publicSuffix=(r=o[o.length-1])!==null&&r!==void 0?r:null}var qg=Tl();function $g(e,t={}){return _l(e,5,El,t,Tl())}function Wg(e,t={}){return Fu(qg),_l(e,3,El,t,qg).domain}function qu(e){let t=String(e||"").trim().toLowerCase().replace(/\.$/,"");return t.startsWith("[")&&t.endsWith("]")?t.slice(1,-1):t}function KS(e){let t=String(e||"").trim().toLowerCase();if(!t||t.includes("://")||t.startsWith("//"))return!1;let n=t.split(/[/?#]/)[0]?.trim()||"";return!n||n.startsWith("[")?!1:(n.match(/:/g)||[]).length>=2}function XS(e){let t=String(e||"").trim();return t?/^[a-z][a-z0-9+.-]*:\/\//i.test(t)?t:t.startsWith("//")?`https:${t}`:KS(t)?`https://[${t}]`:`https://${t}`:""}function YS(e){let t=XS(e);if(!t)return"";try{return qu(new URL(t).hostname)}catch{return""}}function JS(e){return/^\d{1,3}(?:\.\d{1,3}){3}$/.test(e)?e.split(".").every(t=>{let n=Number(t);return Number.isInteger(n)&&n>=0&&n<=255}):!1}function QS(e){if(!e.includes(":"))return!1;try{return qu(new URL(`https://[${e}]`).hostname)===e}catch{return!1}}function $u(e){let t=qu(e);return $g(t).isIp===!0||JS(t)||QS(t)}function Wu(e){let t=$n(e);return!!t&&$u(t)}function $n(e){return YS(String(e||"").trim().toLowerCase())}function xs(e){let t=String(e||"").trim().toLowerCase();if(!t)return"";if(t==="*")return"*";let n=t.startsWith("="),r=!n&&t.startsWith("*."),o=n?t.slice(1):r?t.slice(2):t,i=$n(o);return i?n?`=${i}`:r?`*.${i}`:i:""}function Vg(e,t){return e?t!=="host_only"||e==="*"||e.startsWith("=")||e.startsWith("*.")?e:`=${e}`:""}function ar(e){let t=$n(e);return t?t==="localhost"||$u(t)?t:Wg(t,{allowPrivateDomains:!0})||t:""}function Gg(e,t){let n=$n(e);return n?n==="localhost"||$u(n)?`=${n}`:t==="host_only"?`=${n}`:ar(n):""}function ws(e,t,n){let r=Array.isArray(e)?e:typeof e=="string"&&e.trim()?[e]:[],o=new Set;for(let i of r){let a=Vg(xs(String(i||"")),n);a&&o.add(a)}if(!o.size){let i=Gg(t,n);i&&o.add(i)}return Array.from(o)}function Il(e,t){let n=$n(e),r=xs(t);if(!n||!r)return!1;if(r==="*")return!0;if(r.startsWith("=")){let o=r.slice(1);return!!o&&n===o}if(r.startsWith("*.")){let o=r.slice(2);return!o||n===o?!1:n.endsWith(`.${o}`)}return n===r?!0:n.endsWith(`.${r}`)}function Wn(e){return $n(e)||null}function Ir(e,t){let n=Wn(e);return n?t.length?t.some(r=>Il(n,r)):!0:!1}function Ss(e){let t=$n(e.host||"");if(!t)return!1;let n=e.domainScopeMode==="host_only"?"host_only":"registrable_domain",r=Array.isArray(e.allowedDomains)?e.allowedDomains.map(i=>xs(i)).map(i=>Vg(i,n)).filter(Boolean):[];if(r.length>0)return r.some(i=>Il(t,i));let o=$n(e.currentHost||"");return o?n==="host_only"?t===o:ar(t)===ar(o):!0}var Vu=new Set([G.describe_images,G.wait_action,G.wait_for_element,G.answer_task,G.solve_captcha,G.network_run_recipe]),ZS=new Set([G.goto_url,G.google_search,G.go_back,G.go_forward,G.refresh_page,G.open_new_tab,G.switch_tab,G.close_tab]);function eT(e){return e==="open_url_new_tab"?G.open_new_tab:String(e||"").trim()}function Kg(e){let t=eT(String(e.toolName||""));return!t||Vu.has(t)||ZS.has(t)?!1:!Ir(e.currentUrl,e.allowedDomains)}var Ml=class Ml{constructor(t={}){H(this,"root");H(this,"includeFrames");H(this,"disableDomAnnotations");H(this,"allowActions");H(this,"runtimeId");H(this,"domainScopeMode");H(this,"allowedDomains");H(this,"registerOpenedTab");H(this,"listKnownTabs");H(this,"switchToLogicalTab");H(this,"onNavigationGuardrail");H(this,"onBeforeAgentNavigation");H(this,"onBeforeCrossHostNavigation");H(this,"instrumentation");H(this,"highlightEl",null);H(this,"clientTools",new Map);H(this,"navigationDelayMs");H(this,"domSettleDebounceMs");H(this,"domSettleMaxWaitMs");H(this,"domSettleRetries");H(this,"sparseTreeRetryDelayMs");H(this,"sparseTreeRetryMaxAttempts");H(this,"uploadStore",new Map);H(this,"uploadProviderInstalled",!1);H(this,"actionGateContext",{});H(this,"instrumentationStarted",!1);this.root=t.root??document.body??document.documentElement,this.includeFrames=t.includeFrames??!0,this.disableDomAnnotations=t.disableDomAnnotations??!0,this.allowActions=t.allowActions??!0,this.runtimeId=t.runtimeId,this.domainScopeMode=Xg(t.domainScopeMode),this.allowedDomains=ws(t.allowedDomains,window.location.hostname,this.domainScopeMode),this.registerOpenedTab=t.registerOpenedTab,this.listKnownTabs=t.listKnownTabs,this.switchToLogicalTab=t.switchToLogicalTab,this.onNavigationGuardrail=t.onNavigationGuardrail,this.onBeforeAgentNavigation=t.onBeforeAgentNavigation,this.onBeforeCrossHostNavigation=t.onBeforeCrossHostNavigation,this.navigationDelayMs=t.navigationDelayMs??80,this.domSettleDebounceMs=Ts(t.domSettle?.debounceMs,24,8,500),this.domSettleMaxWaitMs=Ts(t.domSettle?.maxWaitMs,220,80,5e3),this.domSettleRetries=Ts(t.domSettle?.retries,0,0,6),this.sparseTreeRetryDelayMs=Ts(t.domSettle?.sparseTreeRetryDelayMs,35,20,1e3),this.sparseTreeRetryMaxAttempts=Ts(t.domSettle?.sparseTreeRetryMaxAttempts,1,0,4),this.instrumentation=t.instrumentation??Pg({includeIframes:!0,scanInlineHandlers:!0,observeInlineMutations:!0,...t.instrumentationOptions||{}}),kg(),t.uploadBytesProvider&&this.setUploadBytesProvider(t.uploadBytesProvider)}setAllowActions(t){this.allowActions=!!t}setActionGateContext(t){let n={};(t?.mode==="controller"||t?.mode==="observer")&&(n.mode=t.mode),typeof t?.controllerRuntimeId=="string"&&t.controllerRuntimeId.trim()&&(n.controllerRuntimeId=t.controllerRuntimeId.trim()),Number.isFinite(Number(t?.activeLogicalTabId))&&Number(t?.activeLogicalTabId)>0&&(n.activeLogicalTabId=Number(t?.activeLogicalTabId)),Number.isFinite(Number(t?.localLogicalTabId))&&Number(t?.localLogicalTabId)>0&&(n.localLogicalTabId=Number(t?.localLogicalTabId)),typeof t?.reason=="string"&&t.reason.trim()&&(n.reason=t.reason.trim().slice(0,240)),this.actionGateContext=n}setNavigationPolicy(t){t.domainScopeMode&&(this.domainScopeMode=Xg(t.domainScopeMode),t.allowedDomains||(this.allowedDomains=ws(void 0,window.location.hostname,this.domainScopeMode))),t.allowedDomains&&(this.allowedDomains=ws(t.allowedDomains,window.location.hostname,this.domainScopeMode))}async getSnapshot(){return await this.ensureListenerScan(),vs(this.root,this.instrumentation,{includeFrames:this.includeFrames,disableDomAnnotations:this.disableDomAnnotations})}async getPageData(t){await this.ensureListenerScan();let n=gl(t?.pageConfig),r={...n||{},adaptiveSettleDebounceMs:typeof n?.adaptiveSettleDebounceMs=="number"?n.adaptiveSettleDebounceMs:this.domSettleDebounceMs,adaptiveSettleMaxWaitMs:typeof n?.adaptiveSettleMaxWaitMs=="number"?n.adaptiveSettleMaxWaitMs:this.domSettleMaxWaitMs,adaptiveSettleRetries:typeof n?.adaptiveSettleRetries=="number"?n.adaptiveSettleRetries:this.domSettleRetries,sparseTreeRetryDelayMs:typeof n?.sparseTreeRetryDelayMs=="number"?n.sparseTreeRetryDelayMs:this.sparseTreeRetryDelayMs,sparseTreeRetryMaxAttempts:typeof n?.sparseTreeRetryMaxAttempts=="number"?n.sparseTreeRetryMaxAttempts:this.sparseTreeRetryMaxAttempts};return await Ag(this.root,this.instrumentation,{includeFrames:this.includeFrames,disableDomAnnotations:this.disableDomAnnotations,pageConfig:r})}ensureInstrumentationStarted(){this.instrumentationStarted||(Bg(),this.instrumentationStarted=!0)}async ensureListenerScan(){this.ensureInstrumentationStarted();try{let n=(this.root.ownerDocument||document).defaultView||window,r=n.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",i=n[r]?.flushScan;if(typeof i=="function"){await i({mode:"priority",includeShadow:!0,includeSameOriginIframes:!0,budgetMs:400});return}n.rtrvrAIMarkInteractiveElements?.()}catch{}}async executeTool(t,n){let r=tT(t?.name);if(!r)return{success:!1,error:`Unknown tool: ${String(t?.name)}`,allowFallback:!1};if(this.shouldBlockForOutOfScopeContext(r)){let y=`Current tab host "${Wn(window.location.href)||window.location.hostname||"unknown"}" is outside the allowed navigation scope (${nT(this.allowedDomains)}).`;return this.domainScopeBlockedResponse(window.location.href,y,{fromCurrentContext:!0})}if(!this.allowActions&&!Vu.has(r))return{success:!1,error:"Actions disabled by configuration",allowFallback:!1,output:{reason:this.actionGateContext.mode==="observer"?"Actions are disabled because this tab is currently in observer mode.":this.actionGateContext.reason||"Actions disabled by configuration",actionGate:this.actionGateContext}};let o=await this.handleNavigationTools(r,t?.args||{});if(o)return o;if(r===G.wait_action){let b=Number(t?.args?.duration??1e3);return await new Promise(y=>setTimeout(y,Math.max(0,Math.min(b,6e4)))),{success:!0}}if(r===G.wait_for_element)return this.waitForElement(t?.args||{});if(r===G.answer_task)return{success:!0};if(r===G.solve_captcha)return Al("CAPTCHA solving requires human intervention in embed mode.","HUMAN_INTERVENTION_REQUIRED");if(r===G.network_run_recipe)return Al("network_run_recipe is not supported in embed mode.","CAPABILITY_UNAVAILABLE");let i=t?.args||{},a=iT(i),s=oa(document,i.iframe_id);if(i.iframe_id!=null&&s.unresolvedPath.length>0&&!a)return this.iframeContextUnavailableResponse(i.iframe_id,s);if(r===G.click_element&&i?.open_in_new_tab)return this.openElementInNewTab(i);if(r===G.click_element){let b=this.getInterceptedClickTarget(i);if(b?.targetUrl){if(b.forceOpenInNewTab)return this.openUrlInNewTab(b.targetUrl,{policyBlocked:!0,reason:b.reason,decisionReason:"open_new_tab"});let w=b.reason;return this.openUrlInNewTab(b.targetUrl,{policyBlocked:!0,reason:w,decisionReason:"open_new_tab"})}let y=this.getClickTargetInfo(i),k=y?.targetUrl||null;if(k){let w=this.buildNavigationIntent(k,{preferredDisposition:y?.preferredDisposition});if(w.isCrossHost){let x=await this.resolveAgentNavigationDecision(w,this.getNavigationFallbackDecision(k,w.preferredDisposition));if(x.decision==="block")return this.domainScopeBlockedResponse(k,x.reason||"Navigation blocked by policy.",{decisionReason:x.decisionReason||"policy_blocked"});if(x.decision==="open_new_tab")return this.openUrlInNewTab(k,{policyBlocked:!0,reason:x.reason||"Navigation policy requires opening a new tab.",decisionReason:x.decisionReason||"open_new_tab"});this.notifyCrossHostNavigation(w)}else{let x=await this.resolveAgentNavigationDecision(w,"allow_same_tab");if(x.decision==="block")return this.domainScopeBlockedResponse(k,x.reason||"Navigation blocked by policy.",{decisionReason:x.decisionReason||"policy_blocked"});if(x.decision==="open_new_tab")return this.openUrlInNewTab(k,{policyBlocked:!0,reason:x.reason||"Navigation policy requires opening a new tab.",decisionReason:x.decisionReason||"open_new_tab"})}}}if(r===G.describe_images)return this.describeImages(t?.args||{});if(!(r in Hc))return{success:!1,error:`Unknown tool: ${String(t?.name)}`,allowFallback:!1};let{doc:c}=s,l=Gu(i),d=l?Er(c,l):null,m;if(d){let b=this.instrumentation.getFrameworkMetadata(d),y=oT(b.listenersRaw||"",r),k=i?.value??i?.text??null;m=rT({...b,pattern:y,value:k})}let f=Hc[r];return r===G.upload_file&&!n&&(n=await this.buildUploadPayload(i).catch(()=>{})),xg({opcode:f,call:{name:r,args:i},elementData:m,tabIndex:0,payload:n})}iframeContextUnavailableResponse(t,n){let o=`iframe_id unresolved: remaining=${n.unresolvedPath.join(">")||"(none)"} (cross-origin, not-ready, or not found)`;return{success:!1,error:o,allowFallback:!1,output:{success:!1,error:{code:"IFRAME_CONTEXT_UNAVAILABLE",message:o,retryable:!1},iframe_context:{requested_iframe_id:t,requested_path:n.iframePath,resolved_path:n.resolvedPath,unresolved_path:n.unresolvedPath}},errorDetails:{code:"IFRAME_CONTEXT_UNAVAILABLE",message:o,retryable:!1,details:{requested_iframe_id:t,requested_path:n.iframePath,resolved_path:n.resolvedPath,unresolved_path:n.unresolvedPath}}}}highlight(t){let n=Er(document,t);if(!n)return;let r=n.getBoundingClientRect();if(!this.highlightEl){let o=document.createElement("div");o.style.position="fixed",o.style.pointerEvents="none",o.style.border="2px solid #ff7a59",o.style.boxShadow="0 0 0 2px rgba(255, 122, 89, 0.2)",o.style.borderRadius="6px",o.style.zIndex="2147483647",this.highlightEl=o,document.body.appendChild(o)}this.highlightEl.style.left=`${r.left}px`,this.highlightEl.style.top=`${r.top}px`,this.highlightEl.style.width=`${Math.max(0,r.width)}px`,this.highlightEl.style.height=`${Math.max(0,r.height)}px`,this.highlightEl.style.display="block"}clearHighlight(){this.highlightEl&&(this.highlightEl.style.display="none")}setUploadBytesProvider(t){window.__ROVER_UPLOAD_BYTES__=t}registerTool(t,n){let r=typeof t=="string"?{name:t}:t;!r?.name||typeof n!="function"||this.clientTools.set(r.name,{handler:n,def:r})}async executeClientTool(t,n){let r=this.clientTools.get(t);if(!r)throw new Error(`Unknown client tool: ${t}`);return r.handler(n)}listClientTools(){return Array.from(this.clientTools.values()).map(t=>t.def)}async handleNavigationTools(t,n){switch(t){case G.goto_url:{let r=String(n.url||"").trim();if(!r)return{success:!1,error:"goto_url: missing url",allowFallback:!0};let o=Rl(r,window.location.href);if(!o)return{success:!1,error:`goto_url: invalid url "${r}"`,allowFallback:!0};let i=this.getHostOnlySiblingBlockReason(o);if(i)return this.domainScopeBlockedResponse(o,i,{decisionReason:"policy_blocked",policyAction:"block"});if(this.shouldPreserveHostRuntime(o)){let c=this.buildNavigationIntent(o),l=await this.resolveAgentNavigationDecision(c,this.getNavigationFallbackDecision(o,c.preferredDisposition));return(l.decision==="allow_same_tab"?"open_new_tab":l.decision)==="block"?this.domainScopeBlockedResponse(o,l.reason||"Navigation blocked by policy.",{decisionReason:l.decisionReason}):await this.openUrlInNewTab(o,{policyBlocked:!0,reason:l.reason||"Opened in a new tab to preserve Rover runtime continuity across hostnames.",decisionReason:l.decisionReason||"open_new_tab"})}if(this.shouldGuardExternalNavigation(o))return await this.openUrlInNewTab(o,{policyBlocked:!0,reason:"Navigation blocked by domain policy."});let a=this.buildNavigationIntent(o);if(a.isCrossHost){let c=await this.resolveAgentNavigationDecision(a,this.getNavigationFallbackDecision(o,a.preferredDisposition));return c.decision==="block"?this.domainScopeBlockedResponse(o,c.reason||"Navigation blocked by policy.",{decisionReason:c.decisionReason}):c.decision==="open_new_tab"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:c.reason||"Navigation policy requires opening a new tab.",decisionReason:c.decisionReason||"open_new_tab"}):this.scheduleSameTabNavigation(o,a,{decisionReason:c.decisionReason||"allow_same_tab",reason:c.reason||"Navigation allowed."})}let s=await this.resolveAgentNavigationDecision(a,"allow_same_tab");return s.decision==="block"?this.domainScopeBlockedResponse(o,s.reason||"Navigation blocked by policy.",{decisionReason:s.decisionReason||"policy_blocked"}):s.decision==="open_new_tab"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:s.reason||"Navigation policy requires opening a new tab.",decisionReason:s.decisionReason||"open_new_tab"}):this.scheduleSameTabNavigation(o,a,{decisionReason:s.decisionReason||"allow_same_tab",reason:s.reason||"Navigation allowed."})}case G.google_search:{let r=String(n.query||"").trim();if(!r)return{success:!1,error:"google_search: missing query",allowFallback:!0};let o=`https://www.google.com/search?q=${encodeURIComponent(r)}`,i=this.getHostOnlySiblingBlockReason(o);if(i)return this.domainScopeBlockedResponse(o,i,{decisionReason:"policy_blocked",policyAction:"block"});if(this.shouldPreserveHostRuntime(o)){let c=this.buildNavigationIntent(o),l=await this.resolveAgentNavigationDecision(c,this.getNavigationFallbackDecision(o,c.preferredDisposition));return(l.decision==="allow_same_tab"?"open_new_tab":l.decision)==="block"?this.domainScopeBlockedResponse(o,l.reason||"Navigation blocked by policy.",{decisionReason:l.decisionReason}):await this.openUrlInNewTab(o,{policyBlocked:!0,reason:l.reason||"Opened in a new tab to preserve Rover runtime continuity across hostnames.",decisionReason:l.decisionReason||"open_new_tab"})}if(this.shouldGuardExternalNavigation(o))return await this.openUrlInNewTab(o,{policyBlocked:!0,reason:"Google search opens outside the allowed navigation scope."});let a=this.buildNavigationIntent(o);if(a.isCrossHost){let c=await this.resolveAgentNavigationDecision(a,this.getNavigationFallbackDecision(o,a.preferredDisposition));return c.decision==="block"?this.domainScopeBlockedResponse(o,c.reason||"Navigation blocked by policy.",{decisionReason:c.decisionReason}):c.decision==="open_new_tab"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:c.reason||"Navigation policy requires opening a new tab.",decisionReason:c.decisionReason||"open_new_tab"}):this.scheduleSameTabNavigation(o,a,{decisionReason:c.decisionReason||"allow_same_tab",reason:c.reason||"Navigation allowed."})}let s=await this.resolveAgentNavigationDecision(a,"allow_same_tab");return s.decision==="block"?this.domainScopeBlockedResponse(o,s.reason||"Navigation blocked by policy.",{decisionReason:s.decisionReason||"policy_blocked"}):s.decision==="open_new_tab"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:s.reason||"Navigation policy requires opening a new tab.",decisionReason:s.decisionReason||"open_new_tab"}):this.scheduleSameTabNavigation(o,a,{decisionReason:s.decisionReason||"allow_same_tab",reason:s.reason||"Navigation allowed."})}case G.go_back:{let r=this.buildNavigationIntent(window.location.href,{isCrossHost:!1});return await this.resolveAgentNavigationDecision(r,"allow_same_tab"),this.scheduleHistoryNavigation("back"),{success:!0,output:{navigation:"same_tab",navigationOutcome:"same_host_navigated",navigationPending:!1,decisionReason:"allow_same_tab"}}}case G.go_forward:{let r=this.buildNavigationIntent(window.location.href,{isCrossHost:!1});return await this.resolveAgentNavigationDecision(r,"allow_same_tab"),this.scheduleHistoryNavigation("forward"),{success:!0,output:{navigation:"same_tab",navigationOutcome:"same_host_navigated",navigationPending:!1,decisionReason:"allow_same_tab"}}}case G.refresh_page:{let r=this.buildNavigationIntent(window.location.href,{isCrossHost:!1});return await this.resolveAgentNavigationDecision(r,"allow_same_tab"),this.scheduleHistoryNavigation("reload"),{success:!0,output:{navigation:"same_tab",navigationOutcome:"same_host_navigated",navigationPending:!1,decisionReason:"allow_same_tab"}}}case G.open_new_tab:{let r=String(n.url||"").trim();if(!r)return{success:!1,error:"open_new_tab: missing url",allowFallback:!0};let o=Rl(r,window.location.href);if(!o)return{success:!1,error:`open_new_tab: invalid url "${r}"`,allowFallback:!0};let i=this.getHostOnlySiblingBlockReason(o);if(i)return this.domainScopeBlockedResponse(o,i,{decisionReason:"policy_blocked",policyAction:"block"});let a=this.buildNavigationIntent(o,{preferredDisposition:"new_tab"}),s=await this.resolveAgentNavigationDecision(a,"open_new_tab");return s.decision==="block"?this.domainScopeBlockedResponse(o,s.reason||"Navigation blocked by policy.",{decisionReason:s.decisionReason}):await this.openUrlInNewTab(o,{policyBlocked:!1,reason:s.reason,decisionReason:s.decisionReason||"open_new_tab"})}case G.switch_tab:{let r=Number(n.logical_tab_id??n.tab_id);if(!Number.isFinite(r)||r<=0)return{success:!1,error:(typeof n._tab_id_mapping_error=="string"?String(n._tab_id_mapping_error).trim():"")||"switch_tab: missing/invalid logical_tab_id",allowFallback:!0};if(this.listKnownTabs){let o=this.listKnownTabs().find(i=>Number(i.logicalTabId)===r);if(o?.external)return this.domainScopeBlockedResponse(o.url||`logical_tab_id:${r}`,`Tab ${r} is out of scope. Direct actions are blocked for this tab.`)}if(!this.switchToLogicalTab)return Al("switch_tab requires session coordinator support.","CAPABILITY_UNAVAILABLE");try{let o=await this.switchToLogicalTab(r);return o?.ok?{success:!0,output:{logicalTabId:r,delegated:!!o.delegated,mode:o.delegated?"delegated":"local"}}:{success:!1,error:o?.reason||`switch_tab failed for logical tab ${r}`,allowFallback:!0}}catch(o){return{success:!1,error:o?.message||"switch_tab failed",allowFallback:!0}}}case G.close_tab:try{return window.close(),{success:!0}}catch{return Al("close_tab failed in embed mode.","CAPABILITY_UNAVAILABLE")}default:return null}}shouldGuardExternalNavigation(t){return!Ir(t,this.allowedDomains)}getHostOnlySiblingBlockReason(t){if(this.domainScopeMode!=="host_only")return null;let n=Wn(window.location.href)||window.location.hostname||"",r=Wn(t)||"";if(!n||!r||n===r||Ir(t,this.allowedDomains))return null;let o=ar(n),i=ar(r);return!o||o!==i?null:`Blocked navigation to ${r}. This Rover site uses host_only exact-host scope, so other hosts on the same registrable domain are out of scope unless explicitly allowed. Do NOT retry this host. Continue on ${n} or explain the limitation.`}shouldPreserveHostRuntime(t){return!Ir(t,this.allowedDomains)}getNavigationFallbackDecision(t,n){return t?this.getHostOnlySiblingBlockReason(t)?"block":Ir(t,this.allowedDomains)?n==="new_tab"?"open_new_tab":"allow_same_tab":"open_new_tab":"allow_same_tab"}isCrossHostNavigation(t){let n=Wn(window.location.href),r=Wn(t);return!n||!r?!1:n!==r}buildNavigationIntent(t,n){let r="";try{r=crypto.randomUUID()}catch{r=`handoff_${Date.now()}_${Math.floor(Math.random()*1e5)}`}return{handoffId:r,targetUrl:t,sourceRuntimeId:this.runtimeId,sourceLogicalTabId:this.actionGateContext.localLogicalTabId,runId:n?.runId,isCrossHost:n?.isCrossHost??this.isCrossHostNavigation(t),preferredDisposition:n?.preferredDisposition||"auto",ts:Date.now()}}async resolveAgentNavigationDecision(t,n){let r={decision:n,decisionReason:n==="block"?"policy_blocked":n==="open_new_tab"?"open_new_tab":"allow_same_tab"};if(!this.onBeforeAgentNavigation)return r;try{let o=this.onBeforeAgentNavigation(t),i=await this.awaitWithTimeout(o,Ml.NAV_PREFLIGHT_TIMEOUT_MS);if(!i||typeof i!="object")return r;let a=String(i.decision||"").trim();return{decision:a==="allow_same_tab"||a==="open_new_tab"||a==="block"?a:a==="stale_run"?n:r.decision,reason:String(i.reason||"").trim()||void 0,decisionReason:String(i.decisionReason||"").trim()||r.decisionReason}}catch{return r}}async awaitWithTimeout(t,n){let r=t;return!r||typeof r.then!="function"?t:await Promise.race([r,new Promise(o=>{window.setTimeout(()=>o(void 0),Math.max(0,n))})])}scheduleHistoryNavigation(t){window.setTimeout(()=>{t==="back"?window.history.back():t==="forward"?window.history.forward():window.location.reload()},this.navigationDelayMs)}scheduleSameTabNavigation(t,n,r){let o=n.isCrossHost===!0,i=Ir(t,this.allowedDomains);return o&&this.notifyCrossHostNavigation(n),i?(window.setTimeout(()=>{try{window.location.href=t}catch{window.location.assign(t)}},this.navigationDelayMs),{success:!0,output:{url:t,navigation:"same_tab",navigationOutcome:o?"subdomain_navigated":"same_host_navigated",navigationPending:!1,decisionReason:r?.decisionReason||"allow_same_tab",reason:r?.reason,...r?.convertedFrom?{convertedFrom:r.convertedFrom}:{}}}):(window.setTimeout(()=>{try{window.location.href=t}catch{window.location.assign(t)}},Math.max(this.navigationDelayMs,200)),{success:!0,output:{url:t,navigation:"same_tab",navigationOutcome:"same_tab_scheduled",navigationPending:!0,decisionReason:r?.decisionReason||"allow_same_tab",reason:r?.reason,...r?.convertedFrom?{convertedFrom:r.convertedFrom}:{}}})}notifyCrossHostNavigation(t){if(t.isCrossHost)try{this.onBeforeCrossHostNavigation?.(t)}catch{}}shouldBlockForOutOfScopeContext(t){return Kg({toolName:t,currentUrl:window.location.href,allowedDomains:this.allowedDomains})}getInterceptedClickTarget(t){let n=this.getClickTargetUrl(t);if(!n)return null;let r=this.getHostOnlySiblingBlockReason(n);return r?{targetUrl:n,reason:r,forceOpenInNewTab:!1}:this.shouldPreserveHostRuntime(n)?{targetUrl:n,reason:"Opened in a new tab to preserve Rover runtime continuity outside allowed domains.",forceOpenInNewTab:!0}:Ir(n,this.allowedDomains)?null:{targetUrl:n,reason:"Blocked same-tab navigation to an out-of-scope destination.",forceOpenInNewTab:!1}}getClickTargetInfo(t){let n=Gu(t);if(!n)return null;let{doc:r}=oa(document,t.iframe_id),o=Er(r,n);if(!o)return null;let i=Yg(o),a=i?.href||i?.getAttribute("href")||"",s=Rl(a,window.location.href);if(!s)return null;let c=String(i?.getAttribute("target")||"").trim().toLowerCase();return{targetUrl:s,preferredDisposition:c&&c!=="_self"?"new_tab":"auto"}}getClickTargetUrl(t){return this.getClickTargetInfo(t)?.targetUrl||null}domainScopeBlockedResponse(t,n,r){let o=r?.policyAction||"open_new_tab_notice",i=window.location.href,a=Wn(i)||window.location.hostname||void 0,s=Wn(t)||void 0;return this.emitNavigationGuardrail({blockedUrl:t,currentUrl:i,policyAction:o,reason:n,allowedDomains:this.allowedDomains,openedInNewTab:!1}),{success:!1,error:n,allowFallback:!0,output:{success:!1,error:{code:"DOMAIN_SCOPE_BLOCKED",message:n,missing:[],next_action:o==="block"?"This host is out of scope. Do NOT retry it. Continue on an allowed host or explain the limitation to the user.":"Open the external page in a new tab and continue on the tab Rover chose for that work.",retryable:!1},blocked_url:t,blocked_host:s,current_url:i,current_host:a,policy_action:o,allowed_domains:this.allowedDomains,domain_scope_mode:this.domainScopeMode,blockedDomainStatus:"blocked",navigationOutcome:"blocked",decisionReason:r?.decisionReason||"policy_blocked",from_current_context:!!r?.fromCurrentContext,agentInstruction:o==="block"?`Navigation to ${s||t} is out of scope. Do NOT retry this host. Continue on an allowed host or explain the limitation to the user.`:`Navigation to ${s||t} is blocked by domain policy. Do NOT retry this URL. Acknowledge to user and proceed with the next step.`,blockedDomain:s||t,pageContext:{url:t,title:`[Blocked] ${s||t}`,contentText:`Access to ${s||t} is outside Rover's allowed domain scope. The page content is not available. Continue the task without this resource or use /scrape endpoint if external context is needed.`,accessible:!1}},errorDetails:{code:"DOMAIN_SCOPE_BLOCKED",message:n,retryable:!1,details:{blockedUrl:t,blockedHost:s,currentUrl:i,currentHost:a,policyAction:o,allowedDomains:this.allowedDomains,domainScopeMode:this.domainScopeMode,fromCurrentContext:!!r?.fromCurrentContext}}}}emitNavigationGuardrail(t){try{this.onNavigationGuardrail?.(t)}catch{}}async tryReuseKnownTargetTab(t){if(!this.listKnownTabs||!this.switchToLogicalTab)return;let n=Wn(t);if(!n)return;let r=Number(this.actionGateContext.localLogicalTabId),o=a=>{if(a)try{let s=new URL(a);return s.hash="",s.toString()}catch{return}},i=o(t);try{let a=this.listKnownTabs(),s=a.find(m=>Number(m.logicalTabId)===r?!1:o(m.url)===i),c=s||a.find(m=>Number(m.logicalTabId)===r?!1:Wn(m.url||"")===n),l=s||c;return!l||!(await this.switchToLogicalTab(l.logicalTabId))?.ok?void 0:{logicalTabId:l.logicalTabId,reusedBy:s?"exact_url":"same_host"}}catch{return}}async openUrlInNewTab(t,n){let r=this.getHostOnlySiblingBlockReason(t);if(r)return this.domainScopeBlockedResponse(t,r,{decisionReason:n?.decisionReason||"policy_blocked",policyAction:"block"});let o=!Ir(t,this.allowedDomains),i=await this.tryReuseKnownTargetTab(t);if(i){let f=n?.policyBlocked?n.reason||"Opened in another Rover tab to preserve Rover runtime continuity.":void 0;return n?.policyBlocked&&this.emitNavigationGuardrail({blockedUrl:t,currentUrl:window.location.href,policyAction:"open_new_tab_notice",reason:f||"Opened in another Rover tab to preserve Rover runtime continuity.",allowedDomains:this.allowedDomains,openedInNewTab:!0}),{success:!0,output:{url:t,external:o,logicalTabId:i.logicalTabId,openedInNewTab:!0,reusedExistingTab:!0,reusedBy:i.reusedBy,navigationOutcome:"switch_tab",navigationPending:!0,decisionReason:n?.decisionReason||"open_new_tab",policyBlocked:!!n?.policyBlocked,message:f},allowFallback:!0}}let a=this.snapshotKnownTabIds(),s=this.openVerifiedPopup(t),c;if(s.opened&&this.registerOpenedTab)try{c=(await this.registerOpenedTab({url:t,title:void 0,external:o,openerRuntimeId:this.runtimeId}))?.logicalTabId}catch{}if(s.opened&&!c&&(c=await this.reconcileOpenedTab(t,a)),!s.opened){let f=await this.reconcileOpenedTab(t,a);f&&(s={opened:!0,verified:!1},c=c||f)}let l=s.opened&&!c&&!!this.registerOpenedTab;if(!s.opened){let f="Browser popup settings blocked opening a new tab.";return n?.policyBlocked&&this.emitNavigationGuardrail({blockedUrl:t,currentUrl:window.location.href,policyAction:"open_new_tab_notice",reason:n.reason||f,allowedDomains:this.allowedDomains,openedInNewTab:!1}),{success:!1,error:"open_new_tab blocked by browser popup settings",allowFallback:!0,output:{url:t,external:o,logicalTabId:c,navigationOutcome:"blocked",decisionReason:n?.decisionReason||"policy_blocked"},errorDetails:{code:"POPUP_BLOCKED",message:f,retryable:!0,next_action:"Allow popups for this site and try again."}}}let d=n?.policyBlocked?n.reason||"Opened in a new tab due to domain policy.":void 0;n?.policyBlocked&&this.emitNavigationGuardrail({blockedUrl:t,currentUrl:window.location.href,policyAction:"open_new_tab_notice",reason:d||"Opened in new tab due to domain policy.",allowedDomains:this.allowedDomains,openedInNewTab:!0});let m=[];return l&&m.push("Tab opened but registration failed; tab may not be targetable."),s.verified||m.push("Tab open was triggered, but browser did not return a popup handle."),{success:!0,output:{url:t,external:o,logicalTabId:c,openedInNewTab:!0,navigationOutcome:"new_tab_opened",navigationPending:!0,decisionReason:n?.decisionReason||"open_new_tab",openVerification:s.verified?"verified":"unverified",policyBlocked:!!n?.policyBlocked,message:d,...m.length?{warning:m.join(" ")}:{}},allowFallback:!0}}openVerifiedPopup(t){let n=window.open("about:blank","_blank");if(n){try{n.opener=null}catch{}try{n.location.href=t}catch{}return{opened:!0,verified:!0}}try{let r=window.open(t,"_blank");if(r){try{r.opener=null}catch{}return{opened:!0,verified:!0}}}catch{}try{let r=window.open(t,"_blank","noopener,noreferrer");if(r){try{r.opener=null}catch{}return{opened:!0,verified:!0}}return{opened:!0,verified:!1}}catch{}try{let r=document.createElement("a");return r.href=t,r.target="_blank",r.rel="noopener noreferrer",r.style.display="none",document.body.appendChild(r),r.click(),r.remove(),{opened:!0,verified:!1}}catch{return{opened:!1,verified:!1}}}snapshotKnownTabIds(){let t=new Set;if(!this.listKnownTabs)return t;try{let n=this.listKnownTabs();for(let r of n){let o=Number(r?.logicalTabId);!Number.isFinite(o)||o<=0||t.add(o)}}catch{return t}return t}async reconcileOpenedTab(t,n){if(!this.listKnownTabs)return;let r=Wn(t),o=Date.now()+2e3;for(;Date.now()<o;){try{let i=this.listKnownTabs();for(let a of i){let s=Number(a?.logicalTabId);if(!Number.isFinite(s)||s<=0||n.has(s))continue;let c=String(a?.url||"").trim();if(!c)return s;let l=Wn(c);if(!r||!l||l===r)return s}}catch{}await new Promise(i=>setTimeout(i,120))}}async openElementInNewTab(t){let n=Gu(t);if(!n)return{success:!1,error:"click_element with open_in_new_tab requires element_id.",allowFallback:!0};let{doc:r}=oa(document,t.iframe_id),o=Er(r,n);if(!o)return{success:!1,error:`click_element: element_id ${String(n)} not found.`,allowFallback:!0};let i=Yg(o),a=i?.href||i?.getAttribute("href")||"",s=Rl(a,window.location.href);return s?await this.openUrlInNewTab(s,{policyBlocked:!1}):{success:!1,error:"click_element open_in_new_tab only works when target resolves to a valid link URL.",allowFallback:!0}}async waitForElement(t){let n=String(t.selector||"").trim(),r=Math.max(0,Math.min(Number(t.timeout??5e3),3e4));if(!n)return{success:!1,error:"wait_for_element: missing selector",allowFallback:!0};let o=Date.now(),i=document;for(;Date.now()-o<r;){let a=null;try{a=i.querySelector(n)}catch{a=null}if(a||(a=aT(i,n)),a)return{success:!0};await new Promise(s=>setTimeout(s,200))}return{success:!1,error:`wait_for_element: not found (${n})`,allowFallback:!0}}async describeImages(t){let n=Om(t);if(!n.length)return{success:!1,error:"describe_images: element_ids is empty",allowFallback:!1};let r=[],o=[];for(let i of n){let a=Er(document,i);if(!a){o.push(`element_id ${i} not found`);continue}try{let s=await sT(a);if(!s?.data||!s?.mimeType){o.push(`element_id ${i}: unsupported image`);continue}r.push({element_id:i,...s})}catch(s){o.push(`element_id ${i}: ${s?.message||String(s)}`)}}return r.length?{success:!0,output:{images:r,errors:o.length?o:void 0}}:{success:!1,error:o[0]||"describe_images failed",output:{images:[],errors:o}}}ensureUploadProvider(){this.uploadProviderInstalled||(this.uploadProviderInstalled=!0,this.setUploadBytesProvider(async({token:t,byteLength:n})=>{this.pruneUploadStore();let r=this.uploadStore.get(t);if(!r)throw new Error("upload bytes token not found");if(r.bytes.byteLength!==n)throw new Error("upload bytes size mismatch");return r.bytes}))}pruneUploadStore(){let t=Date.now()-6e5;for(let[n,r]of this.uploadStore.entries())r.createdAt<t&&this.uploadStore.delete(n)}async buildUploadPayload(t){let n=String(t.file_url||"").trim();if(n)try{let r=await ag(0,n,document?.referrer||null),o=r.bytes,i=o.byteLength,a=r.mimeType||t.mime_type||"application/octet-stream",s=t.file_name||r.fileName,c=1024*1024;if(i<=c)return{kind:"upload_file",inlineB64:Zg(o),byteLength:i,mimeType:a,fileName:s};this.ensureUploadProvider();let l=crypto.randomUUID();return this.uploadStore.set(l,{bytes:o,createdAt:Date.now()}),{kind:"upload_file",token:l,byteLength:i,mimeType:a,fileName:s,durable:!1}}catch{return}}};H(Ml,"NAV_PREFLIGHT_TIMEOUT_MS",1500);var Cl=Ml;function tT(e){return e==="open_url_new_tab"?G.open_new_tab:String(e||"").trim()}function nT(e){return e.length?e.join(", "):"(none)"}function Xg(e){return e==="host_only"?"host_only":"registrable_domain"}function Ts(e,t,n,r){let o=Number(e);return Number.isFinite(o)?Math.max(n,Math.min(r,Math.floor(o))):t}function Rl(e,t){let n=String(e||"").trim();if(!n)return null;try{return new URL(n,t).toString()}catch{return null}}function Yg(e){if(e instanceof HTMLAnchorElement&&e.href)return e;let t=e.closest?.("a[href]");return t instanceof HTMLAnchorElement&&t.href?t:null}function Al(e,t="CAPABILITY_UNAVAILABLE"){return{success:!1,error:e,allowFallback:!0,errorDetails:{code:t,message:e,retryable:!1}}}function rT(e){return{frameworks:(e.frameworks||[]).filter(n=>n in Zd).map(n=>Zd[n]),listenersRaw:e.listenersRaw??"",role:e.role??null,pattern:e.pattern,value:e.value??null}}function oT(e,t){if(t!==G.click_element)return"standard";let n=si(e||"");if(!n)return"standard";let r=new Set(n.entries.map(c=>oo[c.id]).filter(c=>typeof c=="string")),o=r.has("click")||r.has("mousedown")||r.has("mouseup")||r.has("pointerdown")||r.has("pointerup")||r.has("touchend");if((r.has("mouseenter")||r.has("mouseover")||r.has("pointerenter"))&&o)return"hover-activate";let a=r.has("touchstart"),s=r.has("touchend");return a&&s?"touch-sequence":"standard"}function Zg(e){let t=new Uint8Array(e),n="",r=32768;for(let o=0;o<t.length;o+=r)n+=String.fromCharCode(...t.subarray(o,o+r));return btoa(n)}function Jg(e){let t=Number(e);if(!Number.isFinite(t))return null;let n=Math.trunc(t);return n>0?n:null}function eb(e){let t=[];for(let n of Gi){let r=e?.[n];if(r==null)continue;if(Array.isArray(r)){for(let i of r){let a=Jg(i);a!=null&&t.push(a)}continue}let o=Jg(r);o!=null&&t.push(o)}return Array.from(new Set(t))}function iT(e){return eb(e).length>0}function Gu(e){let t=eb(e);return t.length?t[0]:null}function aT(e,t){let n=t.toLowerCase(),r=["button","a","input","textarea","select","label","[role]","div","span"],o=e.querySelectorAll(r.join(","));for(let i of Array.from(o))if((i.textContent||"").trim().toLowerCase().includes(n)||(i.getAttribute("aria-label")||"").toLowerCase().includes(n))return i;return null}async function sT(e){if(e instanceof HTMLCanvasElement){let o=e.toDataURL(),i=tb(o);if(!i)throw new Error("canvas toDataURL failed");return i}if(e instanceof SVGElement){let o=new XMLSerializer().serializeToString(e);return{data:btoa(unescape(encodeURIComponent(o))),mimeType:"image/svg+xml",displayName:"svg"}}if(e instanceof HTMLImageElement){let o=e.currentSrc||e.src;return await Qg(o,e.alt||e.getAttribute("aria-label")||void 0)}let n=window.getComputedStyle(e).backgroundImage||"",r=/url\\((['\"]?)(.*?)\\1\\)/.exec(n);if(r?.[2])return await Qg(r[2],e.getAttribute("aria-label")||void 0);throw new Error("unsupported element")}function tb(e){let t=/^data:([^;]+);base64,(.*)$/.exec(e);return t?{mimeType:t[1],data:t[2]}:null}async function Qg(e,t){if(!e)throw new Error("missing src");if(e.startsWith("data:")){let s=tb(e);if(!s)throw new Error("invalid data url");return{...s,displayName:t}}let n=await fetch(e,{mode:"cors"});if(!n.ok)throw new Error(`fetch failed (${n.status})`);let r=await n.blob(),o=await r.arrayBuffer(),i=Zg(o),a=r.type||"image/png";return{data:i,mimeType:a,displayName:t}}function nb(e,t){e.onmessage=async n=>{let r=n.data;if(!r||r.t!=="req")return;let{id:o,method:i,params:a}=r;try{let s=t[i];if(!s)throw new Error(`No handler for ${i}`);let c=await s(a);e.postMessage({t:"res",id:o,ok:!0,result:c})}catch(s){e.postMessage({t:"res",id:o,ok:!1,error:{message:s?.message||String(s)}})}}}var cT="Rover";var rb=[.52,.72,1],ob=[.56,.72,.88],ib=280,ab=360,No=1200,sb=1200,cb=1200,la=25,lb=4;function Pe(e){return String(e||"").trim()}function lT(e){return String(e||"").trim().replace(/[^a-zA-Z0-9-]/g,"").slice(0,48)||void 0}function Ku(e){let t=Number(e);return Number.isFinite(t)?Math.max(800,Math.min(5e3,Math.trunc(t))):2600}function Xu(e){if(!e||typeof e!="object")return;let t={};typeof e.enabled=="boolean"&&(t.enabled=e.enabled);let n=lT(e.language);return n&&(t.language=n),e.autoStopMs!==void 0&&(t.autoStopMs=Ku(e.autoStopMs)),Object.keys(t).length?t:void 0}function dT(e){if(!e||typeof e!="object")return{};let t={};return e.presence&&typeof e.presence=="object"&&(t.presence={assistantName:Pe(String(e.presence.assistantName||"")).slice(0,160)||void 0,ctaText:Pe(String(e.presence.ctaText||"")).slice(0,160)||void 0,iconMode:e.presence.iconMode==="logo"||e.presence.iconMode==="mascot"||e.presence.iconMode==="rover"?e.presence.iconMode:void 0,draggable:typeof e.presence.draggable=="boolean"?e.presence.draggable:void 0,defaultAnchor:e.presence.defaultAnchor==="bottom-right"||e.presence.defaultAnchor==="bottom-left"||e.presence.defaultAnchor==="top-right"||e.presence.defaultAnchor==="top-left"||e.presence.defaultAnchor==="bottom-center"?e.presence.defaultAnchor:void 0,persistPosition:typeof e.presence.persistPosition=="boolean"?e.presence.persistPosition:void 0,idleAnimation:e.presence.idleAnimation==="breathe"||e.presence.idleAnimation==="orbit"||e.presence.idleAnimation==="none"?e.presence.idleAnimation:void 0,firstRunIntro:e.presence.firstRunIntro==="ambient"||e.presence.firstRunIntro==="headline"||e.presence.firstRunIntro==="none"?e.presence.firstRunIntro:void 0,defaultState:e.presence.defaultState==="seed"||e.presence.defaultState==="bar"?e.presence.defaultState:void 0}),e.shell&&typeof e.shell=="object"&&(t.shell={openMode:e.shell.openMode==="center_stage"?e.shell.openMode:void 0,mobileMode:e.shell.mobileMode==="fullscreen_sheet"?e.shell.mobileMode:void 0,desktopSize:e.shell.desktopSize==="compact"||e.shell.desktopSize==="stage"||e.shell.desktopSize==="cinema"?e.shell.desktopSize:void 0,desktopHeight:e.shell.desktopHeight==="tall"||e.shell.desktopHeight==="full"?e.shell.desktopHeight:void 0,dimBackground:typeof e.shell.dimBackground=="boolean"?e.shell.dimBackground:void 0,blurBackground:typeof e.shell.blurBackground=="boolean"?e.shell.blurBackground:void 0,safeAreaInsetPx:Number.isFinite(Number(e.shell.safeAreaInsetPx))?Math.max(0,Math.min(48,Math.trunc(Number(e.shell.safeAreaInsetPx)))):void 0,transitionStyle:e.shell.transitionStyle==="morph"||e.shell.transitionStyle==="crossfade"?e.shell.transitionStyle:void 0}),e.stream&&typeof e.stream=="object"&&(t.stream={layout:e.stream.layout==="single_column"?e.stream.layout:void 0,maxVisibleLiveCards:Number.isFinite(Number(e.stream.maxVisibleLiveCards))?Math.max(1,Math.min(4,Math.trunc(Number(e.stream.maxVisibleLiveCards)))):void 0,collapseCompletedSteps:typeof e.stream.collapseCompletedSteps=="boolean"?e.stream.collapseCompletedSteps:void 0,artifactAutoMinimize:typeof e.stream.artifactAutoMinimize=="boolean"?e.stream.artifactAutoMinimize:void 0,artifactOpenMode:e.stream.artifactOpenMode==="inline"||e.stream.artifactOpenMode==="overlay"?e.stream.artifactOpenMode:void 0}),e.inputs&&typeof e.inputs=="object"&&(t.inputs={text:typeof e.inputs.text=="boolean"?e.inputs.text:void 0,voice:typeof e.inputs.voice=="boolean"?e.inputs.voice:void 0,files:typeof e.inputs.files=="boolean"?e.inputs.files:void 0,acceptedMimeGroups:Array.isArray(e.inputs.acceptedMimeGroups)?e.inputs.acceptedMimeGroups.filter(n=>n==="images"||n==="pdfs"||n==="office"||n==="text"):void 0,allowMultipleFiles:typeof e.inputs.allowMultipleFiles=="boolean"?e.inputs.allowMultipleFiles:void 0,mobileCameraCapture:typeof e.inputs.mobileCameraCapture=="boolean"?e.inputs.mobileCameraCapture:void 0,attachmentLimit:Number.isFinite(Number(e.inputs.attachmentLimit))?Math.max(1,Math.min(12,Math.trunc(Number(e.inputs.attachmentLimit)))):void 0,maxFileSizeMb:Number.isFinite(Number(e.inputs.maxFileSizeMb))?Math.max(1,Math.min(32,Math.trunc(Number(e.inputs.maxFileSizeMb)))):void 0}),e.motion&&typeof e.motion=="object"&&(t.motion={intensity:e.motion.intensity==="calm"||e.motion.intensity==="balanced"||e.motion.intensity==="expressive"?e.motion.intensity:void 0,reducedMotionFallback:e.motion.reducedMotionFallback==="reduce"||e.motion.reducedMotionFallback==="remove"?e.motion.reducedMotionFallback:void 0,performanceBudget:e.motion.performanceBudget==="standard"||e.motion.performanceBudget==="high"?e.motion.performanceBudget:void 0,actionSpotlight:typeof e.motion.actionSpotlight=="boolean"?e.motion.actionSpotlight:void 0,filaments:typeof e.motion.filaments=="boolean"?e.motion.filaments:void 0,particles:typeof e.motion.particles=="boolean"?e.motion.particles:void 0,palimpsest:typeof e.motion.palimpsest=="boolean"?e.motion.palimpsest:void 0}),e.theme&&typeof e.theme=="object"&&(t.theme={mode:e.theme.mode==="auto"||e.theme.mode==="light"||e.theme.mode==="dark"?e.theme.mode:void 0,accentColor:Pe(String(e.theme.accentColor||"")).slice(0,32)||void 0,surfaceStyle:e.theme.surfaceStyle==="glass"||e.theme.surfaceStyle==="solid"?e.theme.surfaceStyle:void 0,radius:e.theme.radius==="soft"||e.theme.radius==="rounded"||e.theme.radius==="pill"?e.theme.radius:void 0,fontFamily:String(e.theme.fontFamily||"").trim().slice(0,120)||void 0}),t}function Yu(e,t,n){let r=dT(e.experience);return{presence:{assistantName:r.presence?.assistantName||t,ctaText:r.presence?.ctaText||`Do it with ${t}`,iconMode:r.presence?.iconMode||(n?"logo":"mascot"),draggable:r.presence?.draggable??!0,defaultAnchor:r.presence?.defaultAnchor||"bottom-center",persistPosition:r.presence?.persistPosition??!1,idleAnimation:r.presence?.idleAnimation||"breathe",firstRunIntro:r.presence?.firstRunIntro||"ambient",defaultState:r.presence?.defaultState},shell:{openMode:"center_stage",mobileMode:"fullscreen_sheet",desktopSize:r.shell?.desktopSize||"stage",desktopHeight:r.shell?.desktopHeight||"tall",dimBackground:r.shell?.dimBackground??!0,blurBackground:r.shell?.blurBackground??!0,safeAreaInsetPx:r.shell?.safeAreaInsetPx??16,transitionStyle:r.shell?.transitionStyle||"morph"},stream:{layout:"single_column",maxVisibleLiveCards:r.stream?.maxVisibleLiveCards??2,collapseCompletedSteps:r.stream?.collapseCompletedSteps??!0,artifactAutoMinimize:r.stream?.artifactAutoMinimize??!0,artifactOpenMode:r.stream?.artifactOpenMode||"inline"},inputs:{text:r.inputs?.text??!0,voice:r.inputs?.voice??!0,files:r.inputs?.files??!0,acceptedMimeGroups:r.inputs?.acceptedMimeGroups||["images","pdfs","office","text"],allowMultipleFiles:r.inputs?.allowMultipleFiles??!0,mobileCameraCapture:r.inputs?.mobileCameraCapture??!0,attachmentLimit:r.inputs?.attachmentLimit??6,maxFileSizeMb:r.inputs?.maxFileSizeMb??12},motion:{intensity:r.motion?.intensity||"balanced",reducedMotionFallback:r.motion?.reducedMotionFallback||"reduce",performanceBudget:r.motion?.performanceBudget||"standard",actionSpotlight:r.motion?.actionSpotlight??!0,filaments:r.motion?.filaments,particles:r.motion?.particles,palimpsest:r.motion?.palimpsest},theme:{mode:r.theme?.mode||"auto",accentColor:r.theme?.accentColor||"#FF4C00",surfaceStyle:r.theme?.surfaceStyle||"glass",radius:r.theme?.radius||"pill",fontFamily:r.theme?.fontFamily}}}function db(e){let t=String(e||"").trim();return t?t.slice(0,64):cT}function ub(e){let t=String(e||"").trim();return t?t[0].toUpperCase():"R"}function pb(e){return String(e||"").replace(/[^a-zA-Z0-9]/g,"").slice(0,3).toUpperCase()||"RVR"}function fb(e){let t=Array.isArray(e)&&e.length>0?e:["images","pdfs","office","text"],n=[];for(let r of t)r==="images"&&n.push("image/*"),r==="pdfs"&&n.push("application/pdf"),r==="office"&&n.push(".doc,.docx,.ppt,.pptx,.xls,.xlsx,.csv,.rtf"),r==="text"&&n.push("text/plain,.md,.txt,.json");return n.join(",")}function Ju(e){let t=e.replace("#",""),n=parseInt(t.slice(0,2),16),r=parseInt(t.slice(2,4),16),o=parseInt(t.slice(4,6),16);if(isNaN(n)||isNaN(r)||isNaN(o))return{};let i=(a,s)=>Math.max(0,Math.round(a*(1-s)));return{"--rv-accent":e,"--rv-accent-rgb":`${n}, ${r}, ${o}`,"--rv-accent-hover":`#${i(n,.1).toString(16).padStart(2,"0")}${i(r,.1).toString(16).padStart(2,"0")}${i(o,.1).toString(16).padStart(2,"0")}`,"--rv-accent-soft":`rgba(${n}, ${r}, ${o}, 0.06)`,"--rv-accent-border":`rgba(${n}, ${r}, ${o}, 0.14)`,"--rv-accent-glow":`rgba(${n}, ${r}, ${o}, 0.10)`}}function mb(e){return String(e||"").trim().toLowerCase().replace(/[^a-z0-9._-]+/g,"_").replace(/^_+|_+$/g,"")}function uT(e){if(e?.mascot?.soundEnabled!==!0||e?.mascot?.disabled===!0)return!1;let t=!!String(e?.mascot?.mp4Url||"").trim()||!!String(e?.mascot?.webmUrl||"").trim(),n=!!String(e?.mascot?.imageUrl||"").trim();return t?!0:!n}function pT(e){let t=mb(e.siteId);return t?`rover:muted:${t}`:`rover:muted:${mb(e.host)||"shared"}`}function hb(e){let t=uT(e);if(!t)return{soundEnabled:t,isMuted:!0};let n=pT({siteId:e.siteId,host:e.host}),r=e.muted??!0,o=e.readStored?.(n);return o!=null&&(r=o!=="false"),{soundEnabled:t,isMuted:r,storageKey:n}}function po(e){try{return`${e}-${crypto.randomUUID()}`}catch{return`${e}-${Date.now()}-${Math.floor(Math.random()*1e5)}`}}function Lo(e){try{return new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}catch{return""}}function Ll(e){return e.status?e.status:e.kind==="tool_start"||e.kind==="plan"||e.kind==="thought"?"pending":e.kind==="tool_result"?"success":e.kind==="error"?"error":"info"}function Dl(e){let t=Pe(e.actionCue?.toolCallId||"");if((e.kind==="tool_start"||e.kind==="tool_result")&&t)return`tool:${t}`;let n=String(e.title||"").trim().toLowerCase();return n.startsWith("running ")?`tool:${n.replace(/^running\s+/,"").trim()}`:n.endsWith(" completed")?`tool:${n.replace(/\s+completed$/,"").trim()}`:n==="run started"||n==="run resumed"||n==="run completed"?"run":e.kind==="status"?`status:${n||"status"}`:e.id||po("trace")}function gb(e){return String(e||"").replace(/\s+/g," ").trim()}function xb(e,t,n){return[String(e||"").trim(),gb(t),gb(n)].filter(Boolean).join(" ")}function Ol(e){let t=Pe(e),n=/^(Analyze|Route|Execute|Verify|Complete):\s*(.*)$/i.exec(t);if(!n)return{plainTitle:t};let r=n[1].toLowerCase(),o=Pe(n[2]||t);return{stage:r,plainTitle:o||t}}function ep(e){return String(e||"").replace(/[_-]+/g," ").replace(/\s+/g," ").trim().split(" ").filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(" ")}function wb(e){let t=Pe(e.toolName||"");if(t)return t;let n=Pe(e.title||""),r=/^running\s+(.+)$/i.exec(n);if(r?.[1])return r[1];let o=/^(.+?)\s+completed$/i.exec(n);return o?.[1]?o[1]:""}function fT(e){let t=Pe(e);if(!t)return;let n=t.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").replace(/\s+/g," ").trim().toLowerCase();return n?{click:"Click","click element":"Click Element",tap:"Tap",press:"Press","open url":"Open URL","open url new tab":"Open URL","open url same tab":"Open URL",navigate:"Navigate",goto:"Navigate","go to":"Navigate",visit:"Navigate",type:"Type","type text":"Type Text",input:"Input",fill:"Fill Field","set value":"Set Value",select:"Select Option",upload:"Upload File","upload file":"Upload File",scroll:"Scroll",wait:"Wait",monitor:"Monitor",hover:"Hover",read:"Read Page","read page":"Read Page",extract:"Extract Data",scrape:"Extract Data","search page":"Search Page","get text":"Read Text","get html":"Read HTML",screenshot:"Capture Screenshot",snapshot:"Capture Snapshot"}[n]||ep(n):void 0}function mT(e){let t=Pe(e||"").replace(/\s+/g," ").trim();return t?t.length<=48?t:`${t.slice(0,45).trim()}...`:""}function hT(e){let t=e.actionCue;if(!t)return;let n=mT(t.targetLabel),r=e.kind!=="tool_result",o={click:{active:"Clicking",done:"Clicked"},type:{active:"Typing in",done:"Typed in"},select:{active:"Selecting",done:"Selected"},clear:{active:"Clearing",done:"Cleared"},focus:{active:"Focusing",done:"Focused"},hover:{active:"Hovering over",done:"Hovered over"},press:{active:"Pressing",done:"Pressed"},scroll:{active:"Scrolling to",done:"Scrolled to"},drag:{active:"Dragging",done:"Dragged"},navigate:{active:"Navigating",done:"Navigated"},read:{active:"Reading",done:"Read"},wait:{active:"Waiting for",done:"Waited for"},unknown:{active:"Acting on",done:"Acted on"}},i=o[t.kind]?.[r?"active":"done"]||o.unknown[r?"active":"done"];return n?`${i} ${n}`:t.kind==="type"?r?"Typing into field":"Typed into field":t.kind==="select"?r?"Selecting option":"Selected option":t.kind==="clear"?r?"Clearing field":"Cleared field":t.kind==="scroll"?r?"Scrolling page":"Scrolled page":t.kind==="drag"?r?"Dragging item":"Dragged item":t.kind==="navigate"?r?"Navigating":"Navigated":t.kind==="read"?r?"Reading page":"Read page":t.kind==="wait"?r?"Waiting":"Waited":r?"Acting on page":"Acted on page"}function _s(e){let t=e.kind,n=e.actionCue?.kind,r=wb(e),o=Pe(e.title||"");if(t==="tool_start")return n==="click"||n==="press"||n==="hover"||n==="focus"||n==="clear"||n==="drag"?"Acting":n==="navigate"?"Navigating":n==="type"||n==="select"?"Inputting":n==="read"?"Reading":n==="scroll"?"Scrolling":n==="wait"?"Waiting":/click|tap|press/i.test(r)||/click|tap|press/i.test(o)?"Acting":/navigate|goto|go to|open|visit/i.test(r)||/navigate|go to|visit|open/i.test(o)?"Navigating":/type|fill|input|write|set/i.test(r)||/type|fill|input|write|set/i.test(o)?"Inputting":/read|extract|scrape|get|fetch|find|search/i.test(r)||/read|extract|scrape|search|inspect/i.test(o)?"Reading":/scroll/i.test(r)||/scroll/i.test(o)?"Scrolling":/wait|monitor|observe/i.test(r)||/wait|monitor|observe/i.test(o)?"Waiting":"Executing";if(t==="tool_result")return"Completed";if(t==="thought")return"Thinking";if(t==="plan")return"Planning";if(t==="status"){let i=Ol(e.title||"");return i.stage?ep(i.stage):"Status"}return t==="error"?"Error":t==="info"?"Update":"Searching"}function Es(e){let t=hT(e);if(t)return t;let n=Ol(e.title||""),r=fT(wb(e));return r||(n.stage?ep(n.stage):n.plainTitle?n.plainTitle:_s(e))}function Pl(e){if(e.actionCue)return"";let t=Pe(e.detail||"");if(t)return t;let n=Ol(e.title||""),r=Es(e);return n.plainTitle&&n.plainTitle!==r?n.plainTitle:""}function bb(e){let t=e.kind==="message"?e.message.order:e.event.order;return Number.isFinite(Number(t))?Number(t):Number.MAX_SAFE_INTEGER}function yb(e){let t=e.kind==="message"?e.message.ts:e.event.ts;return Number.isFinite(Number(t))?Number(t):0}function vb(e){return e.kind==="timeline"?1:e.message.role==="user"?0:2}function kb(e){return e.kind==="message"?Pe(e.message.id||e.message.text||""):Pe(e.event.id||e.event.title||"")}function tp(e=[],t=[]){let n=[];for(let r of e)r&&n.push({kind:"message",message:r});for(let r of t)r&&n.push({kind:"timeline",event:r});return n.sort((r,o)=>{let i=yb(r)-yb(o);if(i!==0)return i;let a=bb(r)-bb(o);if(a!==0)return a;let s=vb(r)-vb(o);return s!==0?s:kb(r).localeCompare(kb(o))})}function Sb(e=[],t=[]){let n=tp(e,t),r=[];for(let o of n){if(o.kind==="message"){r.push({kind:"message",message:o.message});continue}let i=r[r.length-1];if(i?.kind==="timeline"){i.events.push(o.event);continue}r.push({kind:"timeline",id:Pe(o.event.id||"")||po("trace-group"),events:[o.event]})}return r}function gT(e,t){let n=Pe(e);try{let r=new URL(n),o=r.hostname.replace(/^www\./i,""),i=`${r.pathname||""}${r.search||""}${r.hash||""}`;if(!i)return o;let a=Math.max(12,t-o.length-1);if(i.length<=a)return`${o}${i}`;let s=i.slice(0,Math.max(6,Math.floor(a*.55))),c=i.slice(-Math.max(4,a-s.length-3));return`${o}${s}...${c}`}catch{return n.length<=t?n:`${n.slice(0,Math.max(12,t-15))}...${n.slice(-12)}`}}function Is(e,t){let n=Math.max(24,Number(t?.maxLength)||96),r=Math.max(20,Number(t?.maxUrlLength)||52),o=Pe(String(e||"")).replace(/\s+/g," ").trim();if(!o)return"";let i=o.replace(/https?:\/\/[^\s]+/gi,a=>gT(a,r));return i.length<=n?i:`${i.slice(0,Math.max(20,n-3)).trimEnd()}...`}function Tb(e){let t=(e.title||"").toLowerCase();if(t==="run started"||t==="run resumed"||t==="run completed"||t==="started new task"||t==="execution completed")return"detail";if(e.kind==="status"){let n=Ol(e.title||"");if(n.stage==="analyze"||n.stage==="route"||n.stage==="complete")return"detail"}return"primary"}function Qu(e,t){let n=/\[([^\]]+)\]\((https?:\/\/[^\s)]+)\)|\*\*(.+?)\*\*/g,r=0,o;for(;(o=n.exec(t))!==null;){if(o.index>r&&e.appendChild(document.createTextNode(t.slice(r,o.index))),o[1]&&o[2]){let i=document.createElement("a");i.className="rvLink",i.href=o[2],i.target="_blank",i.rel="noopener noreferrer",i.textContent=o[1],e.appendChild(i)}else if(o[3]){let i=document.createElement("strong");i.textContent=o[3],e.appendChild(i)}r=o.index+o[0].length}r<t.length&&e.appendChild(document.createTextNode(t.slice(r)))}function uo(e){let t=document.createDocumentFragment(),n=e.split(`
11
+ `),r=null;for(let o of n){let i=o.trim();if(!i){r&&(t.appendChild(r),r=null);continue}if(i==="---"){r&&(t.appendChild(r),r=null);let c=document.createElement("hr");c.className="rvSep",t.appendChild(c);continue}if(i.startsWith("- ")){r||(r=document.createElement("ul"),r.className="rvList");let c=document.createElement("li");Qu(c,i.slice(2)),r.appendChild(c);continue}if(r&&(t.appendChild(r),r=null),/^Step \d+/i.test(i)){let c=document.createElement("div");c.className="rvStepHeader",c.textContent=i,t.appendChild(c);continue}if(i.startsWith("[error] ")){let c=document.createElement("div");c.className="rvError",c.textContent=i.slice(8),t.appendChild(c);continue}if(i.startsWith("[next] ")){let c=document.createElement("div");c.className="rvNext",c.textContent=i.slice(7),t.appendChild(c);continue}let a=i.match(/^\*\*(.+?):\*\*\s*(.*)$/);if(a){let c=document.createElement("div");c.className="rvKv";let l=document.createElement("span");l.className="rvKvLabel",l.textContent=a[1];let d=document.createElement("span");d.className="rvKvValue",Qu(d,a[2]),c.appendChild(l),c.appendChild(d),t.appendChild(c);continue}let s=document.createElement("div");s.className="rvLine",Qu(s,i),t.appendChild(s)}return r&&t.appendChild(r),t}function Rs(e,t){let n=document.createElement("div");if(n.className="expandableWrap",e.length<=t)return n.appendChild(uo(e)),n;let r=e.split(`
12
+ `),o=0,i=0;for(let l=0;l<r.length;l++)if(o+=r[l].length+1,o>=t){i=l+1;break}i===0&&(i=1);let a=r.slice(0,i).join(`
13
+ `),s=r.slice(i).join(`
14
+ `),c=document.createElement("div");if(c.className="expandPreview",c.appendChild(uo(a)),n.appendChild(c),s.trim()){let l=document.createElement("div");l.className="expandRest",l.appendChild(uo(s)),l.style.display="none",n.appendChild(l);let d=document.createElement("button");d.type="button",d.className="expandToggle",d.textContent="See more",d.addEventListener("click",m=>{m.stopPropagation();let f=l.style.display==="none";l.style.display=f?"block":"none",d.textContent=f?"See less":"See more"}),n.appendChild(d)}return n}function Bl(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Nl(e){if(e==null)return"null";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return String(e);if(Array.isArray(e))return`[${e.length} item${e.length===1?"":"s"}]`;if(Bl(e)){let t=Object.keys(e);return t.length?`{ ${t.slice(0,4).join(", ")}${t.length>4?", ...":""} }`:"{}"}try{return String(e)}catch{return"value"}}function bT(e){try{let t=new WeakSet;return JSON.stringify(e,(n,r)=>!r||typeof r!="object"?r:t.has(r)?"[Circular]":(t.add(r),r),2)||"null"}catch{return Nl(e)}}function _b(e){let t=document.createElement("button");return t.type="button",t.className="rvStructuredMore",t.textContent=`Show ${Math.min(la,e.total-e.shown)} more (${e.total-e.shown} left)`,t.addEventListener("click",n=>{n.stopPropagation(),e.onLoadMore()}),t}function yT(e){let t=document.createElement("div");t.className="rvRawToggleWrap";let n=document.createElement("button");n.type="button",n.className="rvRawToggle",n.textContent="View raw JSON";let r=document.createElement("pre");return r.className="rvRawJson",r.textContent=bT(e),r.style.display="none",n.addEventListener("click",o=>{o.stopPropagation();let i=r.style.display==="none";r.style.display=i?"block":"none",n.textContent=i?"Hide raw JSON":"View raw JSON"}),t.appendChild(n),t.appendChild(r),t}function vT(e){let t=document.createElement("div");if(t.className="rvStructuredPrimitive",e===null)return t.textContent="null",t.classList.add("isNull"),t;if(typeof e=="string"){let n=Pe(e);return n?(n.length>No?t.appendChild(Rs(n,No)):t.appendChild(uo(n)),t):(t.textContent='""',t)}return t.textContent=String(e),t}function kT(e){let t=e.slice(0,25);if(!t.length)return;let n=[];for(let r of t){if(!Bl(r))return;for(let o of Object.keys(r))n.includes(o)||n.push(o);if(n.length>8)return}for(let r of t){let o=r;for(let i of n){let a=o[i];if(a!=null&&!(typeof a=="string"||typeof a=="number"||typeof a=="boolean"))return}}return n.length?n:void 0}function xT(e,t,n){let r=document.createElement("div");if(r.className="rvStructuredArray",!e.length){let l=document.createElement("div");return l.className="rvStructuredEmpty",l.textContent="No items",r.appendChild(l),r}let o=kT(e),i=Math.min(la,e.length),a=document.createElement("div");a.className=o?"rvStructuredTable":"rvStructuredList",r.appendChild(a);let s=document.createElement("div");s.className="rvStructuredControls",r.appendChild(s);let c=()=>{if(a.innerHTML="",o){let l=document.createElement("table");l.className="rvTable";let d=document.createElement("thead"),m=document.createElement("tr"),f=document.createElement("th");f.textContent="#",m.appendChild(f);for(let b of o){let y=document.createElement("th");y.textContent=b,m.appendChild(y)}d.appendChild(m),l.appendChild(d);let p=document.createElement("tbody");for(let b=0;b<i;b+=1){let y=document.createElement("tr"),k=document.createElement("td");k.textContent=String(b+1),y.appendChild(k);let w=e[b]||{};for(let x of o){let h=document.createElement("td"),A=w[x];A==null?h.textContent="\u2014":h.textContent=Nl(A),y.appendChild(h)}p.appendChild(y)}l.appendChild(p),a.appendChild(l)}else for(let l=0;l<i;l+=1){let d=e[l],m=document.createElement("div");m.className="rvStructuredItem";let f=document.createElement("div");f.className="rvStructuredItemLabel",f.textContent=`#${l+1}`,m.appendChild(f);let p=document.createElement("div");p.className="rvStructuredItemBody",p.appendChild(n(d,t+1)),m.appendChild(p),a.appendChild(m)}s.innerHTML="",i<e.length&&s.appendChild(_b({total:e.length,shown:i,onLoadMore:()=>{i=Math.min(e.length,i+la),c()}}))};return c(),r}function wT(e,t,n){let r=document.createElement("div");r.className="rvStructuredObject";let o=Object.entries(e);if(!o.length){let l=document.createElement("div");return l.className="rvStructuredEmpty",l.textContent="No fields",r.appendChild(l),r}let i=Math.min(la,o.length),a=document.createElement("div");a.className="rvStructuredObjectRows",r.appendChild(a);let s=document.createElement("div");s.className="rvStructuredControls",r.appendChild(s);let c=()=>{a.innerHTML="";for(let l=0;l<i;l+=1){let[d,m]=o[l],f=document.createElement("div");f.className="rvStructuredRow";let p=document.createElement("div");p.className="rvStructuredKey",p.textContent=d;let b=document.createElement("div");b.className="rvStructuredValue",b.appendChild(n(m,t+1)),f.appendChild(p),f.appendChild(b),a.appendChild(f)}s.innerHTML="",i<o.length&&s.appendChild(_b({total:o.length,shown:i,onLoadMore:()=>{i=Math.min(o.length,i+la),c()}}))};return c(),r}function Zu(e,t=0){if(t>=lb){let r=document.createElement("div");return r.className="rvStructuredCapped",r.textContent=Nl(e),r}if(e==null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return vT(e);if(Array.isArray(e))return xT(e,t,Zu);if(Bl(e))return wT(e,t,Zu);let n=document.createElement("div");return n.className="rvStructuredPrimitive",n.textContent=Nl(e),n}function As(e){if(e.type==="text"){let a=Pe(e.text);return a?Rs(a,No):void 0}let t=document.createElement("section");t.className="rvStructuredCard";let n=document.createElement("div");n.className="rvStructuredHeader";let r=document.createElement("span");r.className="rvStructuredLabel",r.textContent=Pe(e.label||(e.type==="tool_output"?e.toolName?`${e.toolName} output`:"Tool output":"JSON output")),n.appendChild(r);let o=document.createElement("span");o.className="rvStructuredType",Array.isArray(e.data)?o.textContent=`array \xB7 ${e.data.length}`:Bl(e.data)?o.textContent=`object \xB7 ${Object.keys(e.data).length}`:o.textContent=typeof e.data,n.appendChild(o),t.appendChild(n);let i=document.createElement("div");return i.className="rvStructuredBody",i.appendChild(Zu(e.data)),t.appendChild(i),t.appendChild(yT(e.data)),t}function Eb(e,t){let n=document.createDocumentFragment(),r=Array.isArray(t)?t:[],o=!1;for(let s of r){let c=As(s);c&&(o=!0,n.appendChild(c))}if(!o){let s=Pe(e);return s&&(s.length>No?n.appendChild(Rs(s,No)):n.appendChild(uo(s))),n}let i=Pe(e),a=r.some(s=>s.type==="text"&&Pe(s.text)===i);if(i&&!a){let s=document.createElement("div");s.className="rvLine",s.appendChild(uo(i)),n.insertBefore(s,n.firstChild)}return n}function Ib(e="seed"){let t=e,n="idle",r=null,o=new Set;function i(l){if(l===t)return;let d={from:t,to:l};t=l;for(let m of o)m(d)}function a(l,d=0){n=l,r!=null&&(clearTimeout(r),r=null),d>0&&l!=="idle"&&(r=setTimeout(()=>{n="idle",r=null},d))}function s(l){return o.add(l),()=>o.delete(l)}function c(){r!=null&&(clearTimeout(r),r=null),o.clear()}return{getState:()=>t,setState:i,getMood:()=>n,setMood:a,onStateChange:s,destroy:c}}function Rb(e){let{seed:t,bar:n}=e,r=e.duration??300;return new Promise(o=>{t.animate([{opacity:1,transform:"scale(1)"},{opacity:0,transform:"scale(0.9)"}],{duration:r*.6,easing:"ease-out",fill:"forwards"}).finished.then(()=>{n.classList.add("open"),o()}).catch(()=>o())})}function Ab(e){let{seed:t,bar:n}=e,r=e.duration??280;return new Promise(o=>{n.classList.remove("open"),t.animate([{opacity:0,transform:"scale(0.9)"},{opacity:1,transform:"scale(1)"}],{duration:r,easing:"cubic-bezier(0.16, 1, 0.3, 1)",fill:"forwards"}).finished.then(()=>{t.style.transform="",o()}).catch(()=>o())})}function fo(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}function Cs(e,t){return t==="calm"?Math.round(e*1.5):t==="expressive"?Math.round(e*.8):e}function mo(e,t,n){return Math.max(t,Math.min(n,e))}function ip(){let e=document.documentElement,t=window.visualViewport,n=Math.max(320,Math.round(t?.width??window.innerWidth??e.clientWidth??0)),r=Math.max(320,Math.round(t?.height??window.innerHeight??e.clientHeight??0)),o=n>=r?"landscape":"portrait",i=n<=640?"phone":n<=1023?"tablet":"desktop",a=i==="desktop"?"desktop":`${i}-${o}`,s=t?Math.max(0,Math.round((window.innerHeight||r)-(t.height+t.offsetTop))):0;return{width:n,height:r,layout:i,orientation:o,storageKey:a,keyboardInset:s}}function Oo(e,t){let n=Math.max(640,Math.min(1200,t.width-16)),r=Math.max(400,t.height-16);return{width:mo(Math.round(e.width),640,n),height:mo(Math.round(e.height),400,r)}}function pa(e){return Oo({width:960,height:600},e)}function ap(e,t){if(!e||typeof e!="object")return;let n=Number(e.width),r=Number(e.height);if(!(!Number.isFinite(n)||!Number.isFinite(r)))return Oo({width:n,height:r},t)}function Cb(e){let t=Number(e);if(Number.isInteger(t)&&!(t<0||t>2))return t}function Mb(e){let t=e.layout==="tablet"?ob:rb,n=e.layout==="tablet"?ab:ib,r=e.layout==="tablet"?16:8,o=e.layout==="tablet"?16:16,i=Math.max(n,Math.round(e.height-r-o));return t.map((a,s)=>s===t.length-1?i:mo(Math.round((e.height-r)*a),Math.min(n,i),i))}var ET="rover:presence:";function Nb(e,t){let n=String(e||window.location.hostname||"default").trim().replace(/[^a-zA-Z0-9:_-]/g,"").slice(0,120),r=t||"desktop";return`${ET}${window.location.origin}:${n}:${r}`}function Lb(e){try{let t=localStorage.getItem(e);if(!t)return null;let n=JSON.parse(t),r=Number(n?.x),o=Number(n?.y);return!Number.isFinite(r)||!Number.isFinite(o)?null:{x:r,y:o}}catch{return null}}function Db(e,t){try{if(!t){localStorage.removeItem(e);return}localStorage.setItem(e,JSON.stringify(t))}catch{}}function Ob(){return`rover:panel-layout:${String(window.location.hostname||"default").trim().replace(/[^a-zA-Z0-9:_-]/g,"").slice(0,96)||"default"}`}function Pb(e){try{let t=localStorage.getItem(e);if(!t)return{};let n=JSON.parse(t);return!n||typeof n!="object"?{}:n}catch{return{}}}function Ul(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}var IT="https://www.rtrvr.ai/rover/mascot.mp4",RT="https://www.rtrvr.ai/rover/mascot.webm";function sp(e){return String(e||"").trim()}function Bb(e,t){e&&(e.muted=t,e.defaultMuted=t,t?e.setAttribute("muted",""):e.removeAttribute("muted"),e.playsInline=!0,e.setAttribute("playsinline",""))}function fa(e){let t=sp(e.imageUrl),n=sp(e.mp4Url),r=sp(e.webmUrl),o=!!n||!!r,i=!e.disabled&&!o&&!t;e.container.replaceChildren();let a=document.createElement("span");a.className=e.fallbackClassName,a.textContent=e.token;let s=null,c=d=>t?(s=document.createElement("img"),s.src=t,s.alt="",s.decoding="async",s.loading="eager",s.draggable=!1,d||(s.style.display="none"),s.addEventListener("error",()=>{s.style.display="none",a.style.display="grid"},{once:!0}),e.container.appendChild(s),s):null,l=null;if(!e.disabled&&(o||i)){l=document.createElement("video"),l.autoplay=!0,l.loop=!0,l.preload="metadata",Bb(l,e.muted??!0),t&&(l.poster=t);let d=r||(o?"":RT),m=n||(o?"":IT);if(d){let f=document.createElement("source");f.src=d,f.type="video/webm",l.appendChild(f)}if(m){let f=document.createElement("source");f.src=m,f.type="video/mp4",l.appendChild(f)}e.container.appendChild(l),c(!1),e.container.appendChild(a),a.style.display="none",l.addEventListener("error",()=>{l.style.display="none",s?s.style.display="":a.style.display="grid"},{once:!0})}else!e.disabled&&t?(c(!0),e.container.appendChild(a),a.style.display="none"):e.container.appendChild(a);return{video:l,image:s,setMuted(d){Bb(l,d)}}}function Ub(e){let{agentName:t,launcherToken:n,mascotDisabled:r}=e,o=e.experience,i=String(t||"Rover").trim()||"Rover",a="Preferred Rover surface for live actions on this page.",s=document.createElement("button");s.className="launcher",s.setAttribute("aria-label",`Open ${i} assistant`),s.setAttribute("aria-description",a),s.setAttribute("data-draggable",o.presence?.draggable===!1?"false":"true");let c=document.createElement("span");c.className="launcherBody";let l=document.createElement("span");l.className="launcherMedia";let d=fa({container:l,token:n,disabled:r,imageUrl:e.mascotImage,mp4Url:e.mascotMp4,webmUrl:e.mascotWebm,muted:!0,fallbackClassName:"launcherFallback"}),m=d.video,f=document.createElement("span");f.className="launcherCopy";let p=document.createElement("span");p.className="launcherLabel",p.textContent=o.presence?.ctaText||`Do it with ${t}`;let b=document.createElement("div");b.className="launcherShine";let y=document.createElement("div");y.className="seed-glow";let k=document.createElement("div");k.className="greetingBubble";let w=document.createElement("span");w.className="greetingText";let x=document.createElement("button");x.type="button",x.className="greetingClose",x.setAttribute("aria-label","Dismiss greeting"),x.textContent="\xD7",k.appendChild(w),k.appendChild(x),f.appendChild(p),c.appendChild(l),c.appendChild(f),s.appendChild(c),s.appendChild(b),s.appendChild(y),s.classList.toggle("breathe",o.presence?.idleAnimation!=="none"),s.classList.toggle("orbit",o.presence?.idleAnimation==="orbit");let h=null,A=!1,E=null;function _(){return Math.max(320,Math.round(window.visualViewport?.width??window.innerWidth??320))}function z(){return Math.max(320,Math.round(window.visualViewport?.height??window.innerHeight??320))}function ee(){return _()<=640?"mobile":"desktop"}function V(){return Nb(e.siteId,ee())}function ne(){let Q=_(),ue=z(),ie=o.shell?.safeAreaInsetPx??16,ae=s.getBoundingClientRect(),pe=ae.width||(Q<=640?198:248),Qe=ae.height||(Q<=640?64:72),et=o.presence?.defaultAnchor||"bottom-center",Je=Math.max(ie,Q-pe-ie),Tt=Math.max(ie,ue-Qe-ie);return et==="bottom-left"?{x:ie,y:Tt}:et==="top-left"?{x:ie,y:ie}:et==="top-right"?{x:Je,y:ie}:et==="bottom-right"?{x:Je,y:Tt}:{x:Math.max(ie,Math.round((Q-pe)/2)),y:Tt}}function $(Q){let ue=_(),ie=z(),ae=o.shell?.safeAreaInsetPx??16,pe=s.getBoundingClientRect(),Qe=pe.width||(ue<=640?198:248),et=pe.height||(ue<=640?64:72);return{x:mo(Math.round(Q.x),ae,Math.max(ae,ue-Qe-ae)),y:mo(Math.round(Q.y),ae,Math.max(ae,ie-et-ae))}}function re(Q){let ue=window.visualViewport,ie=ue?ue.offsetLeft:0,ae=ue?ue.offsetTop:0;s.style.left=`${Q.x+ie}px`,s.style.top=`${Q.y+ae}px`,s.style.right="auto",s.style.bottom="auto"}function X(){let Q=V();h=(o.presence?.persistPosition?Lb(Q):null)||ne(),h=$(h),re(h)}function te(){o.presence?.persistPosition!==!1&&Db(V(),h)}s.addEventListener("click",()=>{if(A){A=!1;return}e.onClick()}),s.addEventListener("pointerdown",Q=>{if(o.presence?.draggable===!1||Q.button!==0)return;let ue=s.getBoundingClientRect();E={pointerId:Q.pointerId,startX:Q.clientX,startY:Q.clientY,offsetX:Q.clientX-ue.left,offsetY:Q.clientY-ue.top,moved:!1},s.setPointerCapture(Q.pointerId)});let de=40,me=.3;function be(){let Q=_(),ue=z(),ie=o.shell?.safeAreaInsetPx??16,ae=s.getBoundingClientRect(),pe=ae.width||(Q<=640?198:248),Qe=ae.height||(Q<=640?64:72);return[{x:ie,y:ie},{x:Math.max(ie,Q-pe-ie),y:ie},{x:ie,y:Math.max(ie,ue-Qe-ie)},{x:Math.max(ie,Q-pe-ie),y:Math.max(ie,ue-Qe-ie)}]}function Be(Q){let ue=be(),ie=null;for(let ae of ue){let pe=Math.hypot(Q.x-ae.x,Q.y-ae.y);(!ie||pe<ie.dist)&&(ie={corner:ae,dist:pe})}return ie}s.addEventListener("pointermove",Q=>{if(!E||E.pointerId!==Q.pointerId)return;let ue=Q.clientX-E.offsetX,ie=Q.clientY-E.offsetY;if(!E.moved){let Je=Math.hypot(Q.clientX-E.startX,Q.clientY-E.startY);if(E.moved=Je>=6,!E.moved)return;s.classList.add("dragging")}let ae=Be({x:ue,y:ie});ae&&ae.dist<de?(ue+=(ae.corner.x-ue)*me,ie+=(ae.corner.y-ie)*me,s.classList.add("snap-resist")):s.classList.remove("snap-resist");let pe=window.visualViewport,Qe=pe?pe.offsetLeft:0,et=pe?pe.offsetTop:0;h=$({x:ue-Qe,y:ie-et}),re(h),k.classList.contains("visible")&&Oe()}),s.addEventListener("pointerup",Q=>{if(!(!E||E.pointerId!==Q.pointerId)){if(s.classList.remove("snap-resist"),E.moved){A=!0;let ue=Be(h||{x:0,y:0});if(ue&&ue.dist<de){let ie=ue.corner,ae={...h};h={x:ie.x,y:ie.y},re(h);try{let pe=window.visualViewport,Qe=pe?pe.offsetLeft:0,et=pe?pe.offsetTop:0,Je=s.animate([{left:`${ae.x+Qe}px`,top:`${ae.y+et}px`},{left:`${ie.x+Qe}px`,top:`${ie.y+et}px`}],{duration:250,easing:"cubic-bezier(0.34, 1.56, 0.64, 1)",fill:"forwards"});Je.onfinish=()=>te()}catch{te()}}else te()}s.classList.remove("dragging"),E=null,s.releasePointerCapture(Q.pointerId)}}),s.addEventListener("pointercancel",Q=>{!E||E.pointerId!==Q.pointerId||(s.classList.remove("dragging"),E=null,s.releasePointerCapture(Q.pointerId))});function bt(Q){o=Q,s.setAttribute("data-draggable",o.presence?.draggable===!1?"false":"true"),p.textContent=o.presence?.ctaText||`Do it with ${t}`,s.setAttribute("aria-label",`Open ${i} assistant`),s.setAttribute("aria-description",a),s.classList.toggle("orbit",o.presence?.idleAnimation==="orbit"),s.classList.toggle("breathe",o.presence?.idleAnimation!=="none"),X()}function Rt(Q){}function ot(Q){d.setMuted(Q)}function Oe(){let Q=s.getBoundingClientRect(),ue=k.offsetWidth||220,ie=k.offsetHeight||48,ae=Q.left+Q.width/2,pe=_(),Qe=ae-ue/2;Qe=Math.max(8,Math.min(pe-ue-8,Qe));let et=Q.top-ie-12;et<8?(et=Q.bottom+12,k.classList.add("flipped")):k.classList.remove("flipped"),k.style.left=`${Qe}px`,k.style.top=`${et}px`}let F=!1;function Y(Q){if(Q)w.textContent=Q,k.classList.remove("dismissing"),k.classList.add("visible"),F=!1,requestAnimationFrame(()=>Oe());else{if(!k.classList.contains("visible")||F)return;F=!0,k.classList.add("dismissing");let ue=()=>{k.removeEventListener("animationend",ue),k.classList.remove("visible","dismissing"),F=!1};k.addEventListener("animationend",ue)}}x.addEventListener("click",Q=>{Q.stopPropagation(),Y(null)}),k.addEventListener("click",()=>{Y(null),e.onClick()});function ye(){}return{root:s,greetingBubble:k,video:m,update:bt,setMood:Rt,setMuted:ot,setGreeting:Y,applyPosition:X,persistPosition:te,getPosition:()=>h||ne(),destroy:ye}}function zb(e){let{agentName:t,agentInitial:n,mascotDisabled:r}=e,o=document.createElement("div");o.className="header";let i=document.createElement("div");i.className="avatar";let a=fa({container:i,token:n,disabled:r,imageUrl:e.mascotImage,mp4Url:e.mascotMp4,webmUrl:e.mascotWebm,muted:e.isMuted,fallbackClassName:"avatarFallback"}),s=a.video,c=document.createElement("div");c.className="meta";let l=document.createElement("div");l.className="title",l.textContent=t;let d=document.createElement("div");d.className="status";let m=document.createElement("span");m.className="statusDot";let f=document.createElement("span");f.textContent="ready";let p=document.createElement("span");p.className="modeLabel controller",p.textContent="active",d.appendChild(m),d.appendChild(f),d.appendChild(p),c.appendChild(l),c.appendChild(d);let b=document.createElement("div");b.className="headerActions";let y=document.createElement("button");y.type="button",y.className="sizeBtn hidden",y.setAttribute("aria-label","Resize Rover panel"),y.innerHTML='<svg viewBox="0 0 24 24"><path d="M8 4H4v4"></path><path d="M4 4l6 6"></path><path d="M16 20h4v-4"></path><path d="M20 20l-6-6"></path><path d="M20 8V4h-4"></path><path d="M20 4l-6 6"></path><path d="M8 20H4v-4"></path><path d="M4 20l6-6"></path></svg>',y.addEventListener("click",()=>e.onCycleSize());let k=document.createElement("button");k.type="button",k.className="conversationListBtn",k.setAttribute("aria-label","Conversations"),k.innerHTML='<svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2"><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/></svg>',k.addEventListener("click",be=>{be.stopPropagation(),e.onToggleConversations()});let w=document.createElement("button");w.type="button",w.className="overflowBtn",w.setAttribute("aria-label","More options"),w.innerHTML="&#x22EF;";let x=document.createElement("button");x.type="button",x.className="cancelPill",x.setAttribute("aria-label","Cancel task");let h=document.createElement("span");h.className="cancelIcon",x.appendChild(h),x.appendChild(document.createTextNode(" Cancel")),x.addEventListener("click",()=>e.onCancelRun());let A=document.createElement("button");A.type="button",A.className="closeBtn",A.setAttribute("aria-label","Close Rover panel"),A.textContent="\xD7",A.addEventListener("click",()=>e.onClose()),b.appendChild(y),b.appendChild(k),b.appendChild(w),b.appendChild(x),b.appendChild(A);let E=!1,_=!1,z=document.createElement("div");z.className="overflowMenu";let ee=document.createElement("button");ee.type="button",ee.className="menuItem",ee.textContent="New task",ee.addEventListener("click",()=>{de(),e.onNewTask()});let V=document.createElement("button");V.type="button",V.className="menuItem danger",V.textContent="End task",V.addEventListener("click",()=>{de(),e.onEndTask()});let ne=document.createElement("div");ne.className="menuDivider";let $=e.isMuted,re=document.createElement("button");re.type="button",re.className="menuItem",re.textContent=$?"Unmute sounds":"Mute sounds",re.addEventListener("click",()=>{de(),e.onToggleMute(),$=!$,re.textContent=$?"Unmute sounds":"Mute sounds"});let X=document.createElement("button");X.type="button",X.className="menuItem",X.textContent="Take control",X.style.display="none",X.addEventListener("click",()=>{de(),e.onRequestControl()}),z.appendChild(ee),z.appendChild(V),z.appendChild(ne),z.appendChild(re),z.appendChild(X),e.showTaskControls||(ee.style.display="none",V.style.display="none"),e.allowSoundToggle||(ne.style.display="none",re.style.display="none");function te(){let be=e.showTaskControls||e.allowSoundToggle||X.style.display!=="none";w.style.display=_||!be?"none":""}w.addEventListener("click",be=>{be.stopPropagation(),E=!E,z.classList.toggle("visible",E)});function de(){E=!1,z.classList.remove("visible")}let me=document.createElement("div");return me.className="executionBar",o.appendChild(i),o.appendChild(c),o.appendChild(b),o.appendChild(z),o.appendChild(me),te(),{root:o,avatarVideo:s,statusText:f,modeLabel:p,cancelPill:x,executionBar:me,overflowMenu:z,conversationListBtn:k,menuTakeControl:X,setRunning(be){_=be,x.classList.toggle("visible",be),k.style.display=be?"none":"",me.classList.toggle("active",be),te()},setStatus(be){f.textContent=be},setExecutionMode(be,Be){p.classList.remove("controller","observer"),p.classList.add(be),be==="controller"?(p.textContent="active",X.style.display="none"):(p.textContent="observer",X.style.display=Be?.canTakeControl!==!1?"":"none"),te()},setMuted(be){$=be,re.textContent=be?"Unmute sounds":"Mute sounds",a.setMuted(be)},closeOverflow:de,update(be){},destroy(){}}}function cp(e){return Number.isFinite(Number(e))?Math.max(1,Math.min(4,Math.trunc(Number(e)))):2}function Hb(e={}){let t=document.createElement("div");t.className="feedWrapper",t.style.cssText="position:relative;flex:1;min-height:0;display:flex;flex-direction:column;";let n=document.createElement("div");n.className="feed";let r=e.thoughtStyle==="minimal"?"minimal":"concise_cards",o=cp(e.stream?.maxVisibleLiveCards),i=e.stream?.collapseCompletedSteps!==!1;t.dataset.thoughtStyle=r,n.dataset.thoughtStyle=r;let a=document.createElement("div");a.className="transcriptContainer",n.appendChild(a);let s=document.createElement("div");s.className="typingIndicator";for(let F=0;F<3;F++){let Y=document.createElement("span");Y.className="typingDot",s.appendChild(Y)}n.appendChild(s);let c=document.createElement("button");c.type="button",c.className="scrollBtn",c.setAttribute("aria-label","Scroll to bottom"),c.innerHTML='<svg viewBox="0 0 24 24"><polyline points="6 9 12 15 18 9"></polyline></svg>';let l=document.createElement("div");l.className="stepTooltip",l.style.display="none",t.appendChild(l),t.appendChild(n),t.appendChild(c);let d=!1,m=0,f=!1,p=null,b=0,y=!1,k=[],w=[],x=[],h=new Map;function A(){return n.scrollHeight-n.scrollTop-n.clientHeight<60}function E(){d?c.classList.add("visible"):(requestAnimationFrame(()=>{n.scrollTo({top:n.scrollHeight,behavior:"smooth"}),m=Date.now()}),c.classList.remove("visible"))}n.addEventListener("scroll",()=>{Date.now()-m<200||(A()?(d=!1,c.classList.remove("visible")):(d=!0,c.classList.add("visible")))},{passive:!0}),c.addEventListener("click",()=>{d=!1,m=Date.now(),n.scrollTo({top:n.scrollHeight,behavior:"smooth"}),c.classList.remove("visible")});function _(F){return i?Math.min(F,o):F}function z(F,Y){return{id:Pe(F.id||"")||po("msg"),role:F.role,text:String(F.text||""),blocks:Array.isArray(F.blocks)?F.blocks:[],ts:Number(F.ts)||Date.now(),order:Number.isFinite(Number(Y))?Number(Y):Number.isFinite(Number(F.order))?Number(F.order):b++}}function ee(F,Y){return{...F,id:Pe(F.id||"")||po("timeline"),title:String(F.title||""),detail:F.detail?String(F.detail):void 0,detailBlocks:Array.isArray(F.detailBlocks)?F.detailBlocks:[],ts:Number(F.ts)||Date.now(),order:Number.isFinite(Number(Y))?Number(Y):Number.isFinite(Number(F.order))?Number(F.order):b++}}function V(F){let Y=w.findIndex(ye=>ye.id===F.id);if(Y>=0){w[Y]={...w[Y],...F,order:w[Y].order};return}w.push(F)}function ne(F){let Y=x.findIndex(ye=>ye.id===F.id);if(Y>=0){x[Y]={...x[Y],...F,order:x[Y].order};return}x.push(F)}function $(F){let Y={id:Pe(F.id||"")||po("msg"),role:F.role,text:String(F.text||""),blocks:Array.isArray(F.blocks)?F.blocks:[],ts:Number(F.ts)||Date.now()};return Number.isFinite(Number(F.order))&&(Y.order=Number(F.order)),Y}function re(F){let Y={...F,id:Pe(F.id||"")||po("timeline"),title:String(F.title||""),detail:F.detail?String(F.detail):void 0,detailBlocks:Array.isArray(F.detailBlocks)?F.detailBlocks:[],ts:Number(F.ts)||Date.now()};return Number.isFinite(Number(F.order))&&(Y.order=Number(F.order)),Y}let X={navigate:["navigate","click","go to","open","visit","redirect","scroll","switch"],read:["read","extract","scrape","inspect","check","fetch","get","find"],act:["write","fill","type","input","submit","upload","create","set","update","edit","modify","act","execute","run","trigger"],analyze:["analyze","compare","evaluate","assess","verify","validate","test","review"],watch:["watch","monitor","wait","listen","poll","track","observe"]};function te(F){let Y=F.toLowerCase(),ye=[];for(let[Q,ue]of Object.entries(X))ue.some(ie=>Y.includes(ie))&&ye.push(Q);return ye.length===0&&ye.push("default"),ye.slice(0,3)}function de(F){let Y=te(F);if(Y.length===0||Y.length===1&&Y[0]==="default")return null;let ye=document.createElement("div");ye.className="intentPills";for(let Q of Y){let ue=document.createElement("span");ue.className=`intentPill ${Q}`,ue.textContent=Q.charAt(0).toUpperCase()+Q.slice(1),ye.appendChild(ue)}return ye}function me(F){let Y=document.createElement("div");Y.className=`entry message ${F.role}`;let ye=document.createElement("div");ye.className="bubble";let Q=Pe(F.text);F.role==="assistant"?ye.appendChild(Eb(Q,F.blocks)):ye.textContent=Q;let ue=document.createElement("div");return ue.className="stamp",ue.textContent=Lo(F.ts),Y.appendChild(ye),Y.appendChild(ue),Y}function be(F){let Y=[],ye=new Map;for(let Q of F){let ue=Pe(Q.title||"");if(!ue||ue.toLowerCase()==="assistant update")continue;let ie={...Q,title:ue},ae=Dl(ie),pe=ae==="run"||ae.startsWith("tool:")||ie.kind==="tool_result"||ie.kind==="status"&&ye.has(ae);if(pe&&ye.has(ae)){Y[ye.get(ae)]={key:ae,event:ie};continue}pe&&ye.set(ae,Y.length),Y.push({key:ae,event:ie})}return Y.map(Q=>Q.event)}function Be(F){let Y=document.createElement("div");Y.className="entry trace pending";let ye=document.createElement("div");ye.className="traceTop";let Q=document.createElement("div");Q.className="traceMeta";let ue=document.createElement("span");ue.className="traceStage";let ie=document.createElement("div");ie.className="traceTitle";let ae=document.createElement("div");ae.className="traceTs",Q.appendChild(ue),Q.appendChild(ie),ye.appendChild(Q),ye.appendChild(ae);let pe=document.createElement("div");pe.className="traceDetail",Y.appendChild(ye),Y.appendChild(pe),Y.addEventListener("click",()=>{f&&p&&p()}),Y.addEventListener("mouseenter",()=>{let ct=Y.dataset.tooltipText;if(!ct)return;l.textContent=ct;let _t=Y.getBoundingClientRect(),pt=_t.right+8,Nt=_t.top;l.style.display="block",l.style.top=`${Nt}px`,l.style.left=`${Math.min(pt,window.innerWidth-320)}px`}),Y.addEventListener("mouseleave",()=>{l.style.display="none"});let Qe=Ll(F),et=_s(F),Je=Es(F),Tt=Pl(F),gt=Array.isArray(F.detailBlocks)?F.detailBlocks:[],At=(F.actionCue?"":Pe(F.detail||""))||(Tt!==Je?Tt:"");if(ie.textContent=Je||"Step",ue.textContent=et,ue.style.display=et?"":"none",ae.textContent=Lo(F.ts),Y.classList.toggle("minimalThought",r==="minimal"),F.kind==="plan"){let ct=de(`${F.title||""} ${F.detail||""}`);ct&&Y.appendChild(ct)}if(gt.length>0){if(At){let ct=document.createElement("div");ct.className="rvLine",ct.appendChild(uo(At)),pe.appendChild(ct)}for(let ct of gt){let _t=As(ct);_t&&pe.appendChild(_t)}pe.style.display=""}else if(At){let ct=F.kind==="thought"?sb:F.kind==="tool_start"||F.kind==="tool_result"?cb:No;At.length>ct?pe.appendChild(Rs(At,ct)):pe.appendChild(uo(At)),pe.style.display=""}else pe.style.display="none";Y.classList.remove("pending","success","error","info"),Y.classList.add(Qe),Y.dataset.status=Qe,Y.dataset.kind=F.kind,Y.dataset.visibility=Tb(F);let Ue=F.actionCue?"":Pe(F.detail||"");return Ue?Y.dataset.tooltipText=Ue.slice(0,400):delete Y.dataset.tooltipText,Y}function bt(F,Y){let ye=Y?F.length:_(F.length);for(let Q=0;Q<F.length;Q++){let ue=F[Q],ie=Y||Q>=F.length-ye;ue.style.display=ie?"":"none";let ae=ue.dataset.status,pe=ae==="success"||ae==="error"||ae==="info";ue.classList.toggle("compact",!Y&&i&&pe)}}function Rt(F){let Y=be(F.events);if(!Y.length)return null;let ye=h.get(F.id)??y,Q=document.createElement("section");Q.className="traceSegment",Q.dataset.segmentId=F.id;let ue=document.createElement("div");ue.className="traceSegmentHeader";let ie=document.createElement("span");ie.className="traceSegmentLabel",ie.textContent="Execution log";let ae=document.createElement("span");ae.className="traceSegmentCount",ae.textContent=`${Y.length} step${Y.length!==1?"s":""}`;let pe=document.createElement("button");pe.type="button",pe.className="traceSegmentToggle",pe.textContent=ye?"Collapse":`Show all (${Y.length})`,pe.style.display=Y.length>_(Y.length)||ye?"":"none",pe.addEventListener("click",Je=>{Je.stopPropagation(),h.set(F.id,!ye),ot()}),ue.appendChild(ie),ue.appendChild(ae),ue.appendChild(pe),Q.appendChild(ue);let Qe=document.createElement("div");Qe.className="traceSegmentBody";let et=[];for(let Je of Y){let Tt=Be(Je);k.push(Tt),et.push(Tt),Qe.appendChild(Tt)}return bt(et,ye),Q.appendChild(Qe),Q}function ot(){a.innerHTML="",k.length=0;let F=document.createDocumentFragment(),Y=new Set,ye=Sb(w,x);for(let Q of ye){if(Q.kind==="message"){F.appendChild(me(Q.message));continue}Y.add(Q.id);let ue=Rt(Q);ue&&F.appendChild(ue)}for(let Q of Array.from(h.keys()))Y.has(Q)||h.delete(Q);a.appendChild(F)}function Oe(F,Y){b=0,w.length=0,x.length=0,h.clear();let ye=tp(F.map(Q=>$(Q)),Y.map(Q=>re(Q)));for(let Q of ye)Q.kind==="message"?w.push(z(Q.message,b++)):x.push(ee(Q.event,b++));ot()}return{root:t,feed:n,scrollBtn:c,typingIndicator:s,traceOrder:k,addMessage(F,Y,ye){let Q=String(Y||"");!Q&&(!ye||ye.length===0)||(V(z({role:F,text:Q,blocks:ye})),ot(),E())},setTranscript:Oe,addTimelineEvent(F){let Y=Pe(F.title||"");Y&&(ne(ee({...F,title:Y})),ot(),E())},clearMessages(){w.length=0,ot()},clearTimeline(){x.length=0,h.clear(),ot()},setTraceExpanded(F,Y=2){y=F,o=cp(Y),h.clear(),ot()},setLiveMode(F,Y){f=F,p=Y??null,n.classList.toggle("liveMode",F)},setThoughtStyle(F){r=F==="minimal"?"minimal":"concise_cards",t.dataset.thoughtStyle=r,n.dataset.thoughtStyle=r,ot()},setStreamConfig(F){o=cp(F?.maxVisibleLiveCards),i=F?.collapseCompletedSteps!==!1,ot()},showTyping(F){F?(s.classList.add("visible"),E()):s.classList.remove("visible")},smartScrollToBottom:E,getScrollPosition:()=>n.scrollTop,setScrollPosition(F){requestAnimationFrame(()=>{n.scrollTop=F})}}}var Ms=["Fill this form for me...","Find the best option here...","Help me get started...","What can you do for me?"];function jb(e){let{agentName:t}=e,n=e.experience,r=[],o=document.createElement("form");o.className="composer";let i=document.createElement("div");i.className="composerRow";let a=document.createElement("textarea");a.rows=1,a.placeholder="",i.appendChild(a);let s=document.createElement("div");s.className="composerPlaceholder";let c=document.createElement("span");c.className="composerPlaceholderText",c.textContent=Ms[0],s.appendChild(c),i.appendChild(s);let l=document.createElement("div");l.className="composerActions";let d=document.createElement("button");d.type="button",d.className="attachmentBtn",d.setAttribute("aria-label","Attach files"),d.innerHTML='<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="16"/><line x1="8" y1="12" x2="16" y2="12"/></svg>',l.appendChild(d);let m=document.createElement("button");m.type="button",m.className="voiceBtn",m.setAttribute("aria-label","Start voice dictation"),m.innerHTML='<svg viewBox="0 0 24 24"><path d="M12 3a3 3 0 0 0-3 3v5a3 3 0 1 0 6 0V6a3 3 0 0 0-3-3Z"></path><path d="M19 11a7 7 0 0 1-14 0"></path><path d="M12 18v3"></path><path d="M8 21h8"></path></svg>',l.appendChild(m);let f=document.createElement("button");f.type="submit",f.className="sendBtn";let p='<svg viewBox="0 0 24 24"><line x1="22" y1="2" x2="11" y2="13"></line><polygon points="22 2 15 22 11 13 2 9 22 2"></polygon></svg>',b='<svg viewBox="0 0 24 24" fill="currentColor"><rect x="6" y="6" width="12" height="12" rx="2"/></svg>';f.innerHTML=p,l.appendChild(f);let y=!1,k=null;i.appendChild(l),o.appendChild(i);let w=document.createElement("input");w.type="file",w.className="attachmentInput",w.hidden=!0,o.appendChild(w);let x=document.createElement("div");x.className="attachmentStrip",o.appendChild(x);let h=document.createElement("div");h.className="composerStatus",h.setAttribute("aria-live","polite"),o.appendChild(h);function A(){let $=n.inputs?.files!==!1;d.style.display=$?"":"none",w.multiple=n.inputs?.allowMultipleFiles!==!1,w.accept=fb(n.inputs?.acceptedMimeGroups)}function E(){x.innerHTML="";let $=n.inputs?.attachmentLimit??6;r=r.slice(0,$),x.classList.toggle("visible",r.length>0),d.disabled=a.disabled||r.length>=$;for(let re=0;re<r.length;re+=1){let X=r[re],te=document.createElement("span");te.className="attachmentPill";let de=document.createElement("span");de.className="attachmentPillLabel",de.textContent=X.name;let me=document.createElement("button");me.type="button",me.className="attachmentPillRemove",me.setAttribute("aria-label",`Remove ${X.name}`),me.textContent="\xD7",me.addEventListener("click",()=>{r=r.filter((be,Be)=>Be!==re),E()}),te.appendChild(de),te.appendChild(me),x.appendChild(te)}}d.addEventListener("click",()=>{d.disabled||w.click()}),w.addEventListener("change",()=>{let $=Array.from(w.files||[]);if(w.value="",$.length===0)return;let re=n.inputs?.attachmentLimit??6,X=(n.inputs?.maxFileSizeMb??12)*1024*1024,te=Math.max(0,re-r.length),de=$.filter(me=>me.size<=X).slice(0,te);r=[...r,...de],E()}),m.addEventListener("click",()=>{a.disabled||e.onVoiceStart()});function _(){a.style.height="auto";let $=Math.min(96,Math.max(44,a.scrollHeight));a.style.height=`${$}px`;let re=a.closest(".inputBarComposerSlot")?.closest(".inputBar");re&&re.classList.toggle("expanded-text",$>44)}a.addEventListener("input",()=>{_()}),a.addEventListener("keydown",$=>{$.key==="Enter"&&!$.shiftKey&&!$.isComposing&&($.preventDefault(),o.requestSubmit())});let z=0,ee=null;function V(){s.style.display=a.value.trim()?"none":""}function ne(){c.classList.add("fading"),setTimeout(()=>{z=(z+1)%Ms.length,c.textContent=Ms[z],c.classList.remove("fading")},220)}return a.addEventListener("blur",()=>V()),a.addEventListener("input",()=>V()),ee=setInterval(ne,4e3),f.addEventListener("click",$=>{y&&k&&($.preventDefault(),$.stopPropagation(),k())}),o.addEventListener("submit",$=>{if($.preventDefault(),y||a.disabled)return;let re=Pe(a.value);e.onSubmit(re,r.slice())}),A(),E(),{root:o,textarea:a,attachmentButton:d,attachmentInput:w,attachmentStrip:x,voiceButton:m,sendButton:f,statusEl:h,getPendingAttachments:()=>r.slice(),clearAttachments(){r=[],E()},setDisabled($){a.disabled=$,d.disabled=$,w.disabled=$,m.disabled=$,y||(f.disabled=$),E()},setSendAsStop($,re){y=$,k=$?re:null,$?(f.innerHTML=b,f.classList.add("stopMode"),f.disabled=!1,f.type="button"):(f.innerHTML=p,f.classList.remove("stopMode"),f.type="submit")},setVoiceActive($){m.classList.toggle("active",$),m.setAttribute("aria-pressed",$?"true":"false"),m.setAttribute("aria-label",$?"Stop voice dictation":"Start voice dictation")},setVoiceVisible($){m.classList.toggle("visible",$)},setStatusMessage($,re="info"){let X=Pe($);h.textContent=X,h.classList.toggle("visible",!!X),h.classList.toggle("error",re==="error"&&!!X)},setText($){a.value=$,_()},setStaticPlaceholder($){a.placeholder=$,$?s.style.display="none":V()},setPlaceholders($){$.length&&(Ms=$,z=0,c.textContent=Ms[0],V())},update($){n=$,A(),E()},syncAttachmentUi:E}}function qb(e,t){let n=document.createElement("div");n.className="shortcutsEmptyState";let r=document.createElement("div");r.className="shortcutsHeading",r.textContent=t?`Hey ${t}! What do you need done?`:`What should ${e} take care of?`;let o=document.createElement("div");o.className="shortcutsGrid",n.appendChild(r),n.appendChild(o);let i=document.createElement("div");i.className="shortcutsBar";let a=[],s="";function c(m,f){let p=m.filter(y=>y&&y.enabled!==!1).slice(0,12),b=p.map(y=>`${y.id||y.label}|${y.label}|${y.description||""}|${y.icon||""}`).join(";;");if(b!==s){s=b,a=p,o.innerHTML="";for(let y of a){let k=document.createElement("button");if(k.type="button",k.className="shortcutCard",y.icon){let x=document.createElement("span");x.className="shortcutCardIcon",x.textContent=y.icon,k.appendChild(x)}let w=document.createElement("span");if(w.className="shortcutCardLabel",w.textContent=y.label,k.appendChild(w),y.description){let x=document.createElement("span");x.className="shortcutCardDesc",x.textContent=y.description,k.appendChild(x)}k.addEventListener("click",()=>f?.(y)),o.appendChild(k)}i.innerHTML="";for(let y of a){let k=document.createElement("button");if(k.type="button",k.className="shortcutChip",y.icon){let w=document.createElement("span");w.className="shortcutChipIcon",w.textContent=y.icon,k.appendChild(w)}k.appendChild(document.createTextNode(y.label)),k.addEventListener("click",()=>f?.(y)),i.appendChild(k)}}}function l(m,f,p){let b=a.length>0,y=b&&!m&&!f,k=b&&m&&!f&&!p;n.classList.toggle("visible",y),i.classList.toggle("visible",k)}function d(m,f){r.textContent=m?`Hey ${m}! What do you need done?`:`What should ${f} take care of?`}return{emptyState:n,grid:o,bar:i,heading:r,render:c,syncVisibility:l,setVisitorName:d}}function $b(e){let{panelResizable:t,agentName:n}=e,r=e.experience,o=Ob(),i=document.createElement("button");i.type="button",i.className="panelBackdrop",i.setAttribute("aria-label","Close Rover"),i.tabIndex=-1,i.addEventListener("click",()=>e.onClose());let a=document.createElement("div");a.className="panel";let s=document.createElement("div");s.className="panelGrabber",s.setAttribute("aria-hidden","true");let c=document.createElement("span");c.className="panelGrabberHandle",s.appendChild(c);let l=document.createElement("div");l.className="resizeHandle",l.setAttribute("aria-hidden","true");let d=document.createElement("section");d.className="taskStage";let m=document.createElement("div");m.className="taskStageTop";let f=document.createElement("span");f.className="taskStageEyebrow",f.textContent="Rover on this page";let p=document.createElement("span");p.className="taskStageStatusPill",p.textContent="Ready",m.appendChild(f),m.appendChild(p);let b=document.createElement("div");b.className="taskStageTitle",b.textContent=`Open ${n} and work live on this site`;let y=document.createElement("div");y.className="taskStageMeta",y.textContent="One surface for people and visiting AI agents.",d.appendChild(m),d.appendChild(b),d.appendChild(y);let k=document.createElement("section");k.className="artifactStage";let w=document.createElement("div");w.className="artifactStageHeader";let x=document.createElement("span");x.className="artifactStageLabel",x.textContent="Live artifact";let h=document.createElement("button");h.type="button",h.className="artifactStageToggle",h.textContent="Expand",w.appendChild(x),w.appendChild(h);let A=document.createElement("div");A.className="artifactStageBody";let E=document.createElement("div");E.className="artifactStageEmpty",E.textContent="Artifacts surface here when Rover produces something meaningful.",A.appendChild(E),k.appendChild(w),k.appendChild(A);let _=document.createElement("div");_.className="taskSuggestion",_.innerHTML=`
15
15
  <div class="taskSuggestionText"></div>
16
16
  <div class="taskSuggestionActions">
17
17
  <button type="button" class="taskSuggestionBtn primary">Start new</button>
18
18
  <button type="button" class="taskSuggestionBtn secondary">Continue</button>
19
19
  </div>
20
- `;let $=_.querySelector(".taskSuggestionText"),te=_.querySelector(".taskSuggestionBtn.primary"),W=_.querySelector(".taskSuggestionBtn.secondary"),oe=document.createElement("div");oe.className="questionPrompt";let j=document.createElement("div");j.className="questionPromptTitle",j.textContent="Need a bit more info";let ae=document.createElement("form");ae.className="questionPromptForm";let K=document.createElement("div");K.className="questionPromptList",ae.appendChild(K);let ne=document.createElement("div");ne.className="questionPromptActions";let ue=document.createElement("button");ue.type="button",ue.className="questionPromptCancel",ue.textContent="Cancel",ne.appendChild(ue);let ke=document.createElement("button");ke.type="submit",ke.className="questionPromptSubmit",ke.textContent="Continue",ne.appendChild(ke),ae.appendChild(ne),oe.appendChild(j),oe.appendChild(ae);let me=document.createElement("div");me.className="roverConversationPill",me.setAttribute("role","button"),me.setAttribute("tabindex","0");let je=document.createElement("span");je.className="roverConversationPillLabel",je.textContent="Current task";let pt=document.createElement("span");pt.className="roverConversationPillArrow",pt.textContent="\u25BE",me.appendChild(je),me.appendChild(pt);let Et=document.createElement("div");Et.className="pausedTaskBanner";let it=document.createElement("div");it.className="conversationDrawer";let Me=document.createElement("div");Me.className="conversationDrawerHeader";let F=document.createElement("span");F.className="conversationDrawerTitle",F.textContent="Conversations";let Y=document.createElement("button");Y.type="button",Y.className="conversationDrawerClose",Y.textContent="\xD7",Me.appendChild(F),Me.appendChild(Y);let Se=document.createElement("div");Se.className="conversationList";let X=document.createElement("button");X.type="button",X.className="conversationNewBtn",X.textContent="New conversation",it.appendChild(Me),it.appendChild(Se),it.appendChild(X),me.addEventListener("click",()=>{it.classList.toggle("open")});let ee=t?Db(o):{},re=ap(),xe=re.storageKey,pe=t?ip(ee.desktop,re)||li(re):li(re),nt=t?Rb(ee[re.storageKey]?.preset)??1:1,et=null;if(t){let $e=!1,Tt=0,Ue=0,qe=0,kt=0,Ot=0;l.addEventListener("pointerdown",It=>{if(re.layout!=="desktop")return;It.preventDefault(),It.stopPropagation(),$e=!0;let Nt=i.getBoundingClientRect();Tt=It.clientX,Ue=It.clientY,qe=Nt.width,kt=Nt.height,Ot=Nt.left,l.setPointerCapture(It.pointerId),i.style.transition="none",document.body.style.userSelect="none",document.body.style.cursor="nwse-resize"}),l.addEventListener("pointermove",It=>{if(!$e)return;let Nt=It.clientX-Tt,Dn=It.clientY-Ue,Bt=Lo({width:qe-Nt,height:kt+Dn},re),rn=r.shell?.safeAreaInsetPx??16;i.style.width=`${Bt.width}px`,i.style.height=`${Bt.height}px`,i.style.left=`${Math.max(rn,Math.round((re.width-Bt.width)/2))}px`,i.style.top=`${Math.max(rn,Math.round((re.height-Bt.height)/2))}px`});let dt=It=>{if(!$e)return;$e=!1,l.releasePointerCapture(It.pointerId),i.style.transition="",document.body.style.userSelect="",document.body.style.cursor="";let Nt=i.getBoundingClientRect();pe=Lo({width:Nt.width,height:Nt.height},re),ee={...ee,desktop:pe},Ul(o,ee);let Dn=r.shell?.safeAreaInsetPx??16;i.style.left=`${Math.max(Dn,Math.round((re.width-pe.width)/2))}px`,i.style.top=`${Math.max(Dn,Math.round((re.height-pe.height)/2))}px`};l.addEventListener("pointerup",dt),l.addEventListener("pointercancel",dt)}function Pe(){let $e=ap(),Tt=$e.storageKey!==xe;re=$e,xe=$e.storageKey;let Ue=r.shell?.safeAreaInsetPx??16;if($e.layout==="desktop"){t?Tt?pe=ip(ee.desktop,$e)||li($e):pe=Lo(pe,$e):pe=li($e);let qe=r.shell?.desktopSize||"stage",kt=r.shell?.desktopHeight||"tall",Ot=ho(qe==="compact"?640:qe==="cinema"?1200:960,640,Math.max(640,Math.min(1200,$e.width-Ue*2))),dt=ho(kt==="full"?$e.height-Ue*2:Math.min(600,$e.height-Ue*2),400,Math.max(400,$e.height-Ue*2));t||(pe=Lo({width:Ot,height:dt},$e));let It=t?pe.width:Ot,Nt=t?pe.height:dt;i.style.left=`${Math.max(Ue,Math.round(($e.width-It)/2))}px`,i.style.top=`${Math.max(Ue,Math.round(($e.height-Nt)/2))}px`,i.style.right="",i.style.bottom="",i.style.width=`${It}px`,i.style.height=`${Nt}px`,i.style.minWidth=`${640}px`,i.style.minHeight=`${400}px`,i.style.maxWidth=`${Math.max(640,Math.min(1200,$e.width-Ue*2))}px`,i.style.maxHeight=`${Math.max(400,$e.height-Ue*2)}px`,et=null}else{let qe=$e.keyboardInset;if($e.layout==="tablet")i.style.left=`${Ue}px`,i.style.right=`${Ue}px`,i.style.top=`${Ue}px`,i.style.bottom=`${Math.max(Ue,qe)}px`,i.style.width="auto",i.style.height="auto",i.style.minWidth="320px";else{let kt=Ab($e),Ot=et??kt[nt],dt=Math.max(8,qe),It=Math.max(0,$e.height-dt-Ot);i.style.left="0px",i.style.right="0px",i.style.top=`${It}px`,i.style.bottom=`${dt}px`,i.style.width="100vw",i.style.height="auto",i.style.minWidth="0px"}i.style.minHeight="0px",i.style.maxWidth="100vw",i.style.maxHeight="100dvh",et=null}nn()}function St(){if(t){if(re.layout==="desktop"){let $e=Lo({width:1200,height:re.height-16},re);pe=Math.abs(pe.width-$e.width)<=6&&Math.abs(pe.height-$e.height)<=6?li(re):$e,ee={...ee,desktop:pe},Ul(o,ee),Pe();return}nt=(nt+1)%3,et=null,ee={...ee,[re.storageKey]:{preset:nt}},Ul(o,ee),Pe()}}function nn(){i.dataset.layout=re.layout,i.dataset.orientation=re.orientation,i.dataset.resizable=t?"true":"false"}return{panel:i,backdrop:a,panelGrabber:s,resizeHandle:l,taskStage:d,taskStageTitle:g,taskStageStatusPill:p,taskStageMeta:y,taskStageEyebrow:f,artifactStage:x,artifactStageBody:P,artifactStageToggle:b,artifactStageEmpty:R,taskSuggestion:_,taskSuggestionTextEl:$,taskSuggestionPrimaryBtn:te,taskSuggestionSecondaryBtn:W,questionPrompt:oe,questionPromptForm:ae,questionPromptList:K,questionPromptCancel:ue,questionPromptSubmit:ke,conversationPill:me,conversationDrawer:it,conversationList:Se,conversationPillLabel:je,conversationDrawerCloseBtn:Y,conversationNewBtn:X,pausedTaskBanner:Et,applyLayout:Pe,cyclePanelSize:St,syncChrome:nn,getViewportMetrics:()=>re,destroy(){}}}function qb(){let e=window;return e.SpeechRecognition||e.webkitSpeechRecognition}function dp(e){return String(e||"").replace(/\s+/g," ").trim()}function hS(e){let t=e.results;if(!t||typeof t.length!="number")return{finalTranscript:"",interimTranscript:""};let n=[],r=[];for(let o=0;o<t.length;o+=1){let a=t[o];if(!a||typeof a.length!="number")continue;let i=dp(String(a[0]?.transcript||""));i&&(a.isFinal?n.push(i):r.push(i))}return{finalTranscript:dp(n.join(" ")),interimTranscript:dp(r.join(" "))}}function $b(e){let t=typeof e?.error=="string"?String(e.error||"").trim().toLowerCase():"",n=typeof e?.message=="string"?String(e.message||"").trim():"";return t==="not-allowed"||t==="service-not-allowed"?{code:"permission_denied",message:"Microphone access was blocked. Allow microphone access and try again.",recoverable:!1}:t==="audio-capture"?{code:"audio_capture",message:"No working microphone was found for voice dictation.",recoverable:!0}:t==="network"?{code:"network",message:"Network issues interrupted browser dictation.",recoverable:!0}:t==="no-speech"?{code:"no_speech",message:"No speech was detected.",recoverable:!0}:t==="aborted"?{code:"aborted",message:"Voice dictation was interrupted.",recoverable:!0}:{code:"unknown",message:n||"Voice dictation stopped unexpectedly.",recoverable:!0}}function up(e){let t=null,n=null,r=null,o=null,a=null,i=!1,s=!1,c=null;function l(){if(!i||!n||!c){a=null;return}n.getByteFrequencyData(c);let g=0;for(let x=0;x<c.length;x++)g+=c[x];let y=g/c.length/255;e.onFrequencyData?.(y),a=requestAnimationFrame(l)}async function d(){if(!(s||i))try{o=await navigator.mediaDevices.getUserMedia({audio:!0}),t=new AudioContext,n=t.createAnalyser(),n.fftSize=128,c=new Uint8Array(n.frequencyBinCount),r=t.createMediaStreamSource(o),r.connect(n),i=!0,a=requestAnimationFrame(l)}catch{m()}}function m(){if(a!=null&&(cancelAnimationFrame(a),a=null),r){try{r.disconnect()}catch{}r=null}if(n){try{n.disconnect()}catch{}n=null}if(t){try{t.close()}catch{}t=null}o&&(o.getTracks().forEach(g=>g.stop()),o=null),c=null,i=!1}function f(){m()}function p(){s=!0,m()}return{start:d,stop:f,dispose:p,isActive:()=>i}}function pp(e={}){let t=null,n=!1,r=!1;function o(){t&&(t.onstart=null,t.onresult=null,t.onerror=null,t.onend=null,t.onspeechstart=null,t.onspeechend=null,t=null)}function a(i){let s=qb();if(!s)return null;let c=new s;return c.continuous=!0,c.interimResults=!0,c.maxAlternatives=1,c.lang=String(i||navigator.language||"en-US").trim()||"en-US",c.onstart=()=>{e.onStart?.()},c.onresult=l=>{e.onResult?.(hS(l))},c.onspeechstart=()=>{e.onSpeechStart?.()},c.onspeechend=()=>{e.onSpeechEnd?.()},c.onerror=l=>{e.onError?.($b(l))},c.onend=()=>{let l=r;r=!1,o(),e.onEnd?.({requested:l})},c}return{isSupported(){return!!qb()},start(i){if(n||t)return;let s=a(i?.language);if(!s){e.onError?.({code:"unsupported",message:"Voice dictation is not available in this browser.",recoverable:!1});return}t=s,r=!1;try{t.start()}catch(c){o(),e.onError?.($b(c)),e.onEnd?.({requested:!1})}},stop(){if(t){r=!0;try{t.stop()}catch{o(),e.onEnd?.({requested:!0})}}},dispose(){if(n=!0,r=!0,!t)return;let i=t;o();try{i.abort?.()}catch{}}}}function Vb(e){let t=document.createElement("div");t.className="inputBar";let n=document.createElement("div");n.className="inputBarMascot";let r=di({container:n,token:e.launcherToken,disabled:e.mascotDisabled,imageUrl:e.mascotImage,mp4Url:e.mascotMp4,webmUrl:e.mascotWebm,muted:e.isMuted,fallbackClassName:"inputBarMascotFallback"}),o=r.video;n.addEventListener("click",()=>e.onClose());let a=document.createElement("div");a.className="inputBarComposerSlot";let i=document.createElement("button");i.type="button",i.className="inputBarExpand",i.setAttribute("aria-label","Expand to full panel"),i.innerHTML='<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="7 17 7 7 17 7"/><line x1="7" y1="7" x2="17" y2="17"/></svg>',i.addEventListener("click",()=>e.onExpand());let s=document.createElement("button");return s.type="button",s.className="inputBarClose",s.setAttribute("aria-label","Close input bar"),s.textContent="\xD7",s.addEventListener("click",()=>e.onClose()),t.appendChild(n),t.appendChild(a),t.appendChild(i),t.appendChild(s),{root:t,composerSlot:a,mascotVideo:o,show(){t.classList.add("open")},hide(){t.classList.remove("open")},setMuted(c){r.setMuted(c)},setRunning(c){t.classList.toggle("running",c)},setExpanded(c){i.innerHTML=c?'<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="17 7 17 17 7 17"/><line x1="17" y1="17" x2="7" y2="7"/></svg>':'<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="7 17 7 7 17 7"/><line x1="7" y1="7" x2="17" y2="17"/></svg>',i.setAttribute("aria-label",c?"Collapse panel":"Expand to full panel")},destroy(){}}}function fp(e){let t=[],n=[],r=0,o=!1,a=document.createElement("div");a.className="commandBarOverlay";let i=document.createElement("div");i.className="commandBar";let s=document.createElement("div");s.className="commandBarHeader";let c=document.createElement("span");c.className="commandBarSearchIcon",c.innerHTML='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>';let l=document.createElement("input");l.className="commandBarInput",l.type="text",l.placeholder="Search actions...",l.setAttribute("autocomplete","off"),l.setAttribute("spellcheck","false");let d=document.createElement("kbd");d.className="commandBarKbd",d.textContent="Esc",s.appendChild(c),s.appendChild(l),s.appendChild(d);let m=document.createElement("div");m.className="commandBarList",m.setAttribute("role","listbox");let f=document.createElement("div");f.className="commandBarEmpty",f.textContent="No matching actions",i.appendChild(s),i.appendChild(m),i.appendChild(f),a.appendChild(i);function p(){if(m.innerHTML="",n.length===0){f.classList.add("visible");return}f.classList.remove("visible"),r=Math.min(r,n.length-1);for(let R=0;R<n.length;R++){let _=n[R],$=document.createElement("button");$.type="button",$.className=`commandBarItem${R===r?" highlighted":""}`,$.setAttribute("role","option");let te=document.createElement("span");if(te.className="commandBarItemLabel",_.icon){let W=document.createElement("span");W.className="commandBarItemIcon",W.textContent=_.icon,te.appendChild(W)}if(te.appendChild(document.createTextNode(_.label)),$.appendChild(te),_.description){let W=document.createElement("span");W.className="commandBarItemDesc",W.textContent=_.description,$.appendChild(W)}$.addEventListener("click",()=>{x(_)}),$.addEventListener("mouseenter",()=>{r=R,g()}),m.appendChild($)}}function g(){m.querySelectorAll(".commandBarItem").forEach(($,te)=>{$.classList.toggle("highlighted",te===r)});let _=m.querySelector(".commandBarItem.highlighted");_&&_.scrollIntoView({block:"nearest"})}function y(){let R=l.value.toLowerCase().trim();R?n=t.filter(_=>_.label.toLowerCase().includes(R)||_.description&&_.description.toLowerCase().includes(R)):n=t.slice(),r=0,p()}function x(R){k(),e.onSelect(R)}l.addEventListener("input",y),a.addEventListener("keydown",R=>{let _=R;if(_.key==="Escape"){_.preventDefault(),_.stopPropagation(),k();return}if(_.key==="ArrowDown"){_.preventDefault(),n.length>0&&(r=(r+1)%n.length,g());return}if(_.key==="ArrowUp"){_.preventDefault(),n.length>0&&(r=(r-1+n.length)%n.length,g());return}if(_.key==="Enter"){_.preventDefault(),n.length>0&&r<n.length&&x(n[r]);return}}),a.addEventListener("mousedown",R=>{R.target===a&&k()});function T(){o||(o=!0,l.value="",n=t.slice(),r=0,a.classList.add("open"),p(),requestAnimationFrame(()=>l.focus()))}function k(){o&&(o=!1,a.classList.remove("open"),e.onClose())}function b(R){t=R.slice(),o&&y()}function P(){o=!1,a.remove()}return{root:a,input:l,setItems:b,open:T,close:k,isOpen:()=>o,destroy:P}}function mp(e){let{container:t,reducedMotion:n=!1,mobile:r=!1}=e,o=e.size??200,a=r?32:64,i=r?.5:1,s=e.color||"rgba(255, 76, 0, 0.6)",c="idle",l=4,d=null,m=0,f=0,p=!1,g=document.createElement("canvas");g.className="particle-canvas",g.style.cssText=`position:absolute;inset:${-o/2+(o>200?50:36)}px;width:${o}px;height:${o}px;pointer-events:none;z-index:0;`;let y=Math.min(window.devicePixelRatio||1,2);g.width=o*y,g.height=o*y;let x=g.getContext("2d");x.scale(y,y),t.appendChild(g);let T=[];for(let K=0;K<a;K++)T.push({active:!1,x:0,y:0,vx:0,vy:0,life:0,maxLife:0,size:2,alpha:0});function k(){for(let K of T)if(!K.active)return K;return null}function b(K){let ne=k();if(!ne)return;let ue=o/2,ke=o/2,me=K??Math.random()*Math.PI*2,je=c==="burst"?30+Math.random()*40:c==="pulse"?15+Math.random()*20:10+Math.random()*25;if(ne.active=!0,ne.x=ue+Math.cos(me)*(20+Math.random()*10),ne.y=ke+Math.sin(me)*(20+Math.random()*10),ne.vx=Math.cos(me)*je,ne.vy=Math.sin(me)*je,ne.maxLife=c==="burst"?.4+Math.random()*.3:.8+Math.random()*.6,ne.life=ne.maxLife,ne.size=1.5+Math.random()*2,ne.alpha=.5+Math.random()*.3,c==="pulse"){let pt=me+Math.PI/2;ne.vx+=Math.cos(pt)*12,ne.vy+=Math.sin(pt)*12}}function P(K){for(let ne of T)if(ne.active){if(ne.life-=K,ne.life<=0){ne.active=!1;continue}ne.x+=ne.vx*K,ne.y+=ne.vy*K,ne.vx*=.98,ne.vy*=.98}}function R(){x.clearRect(0,0,o,o);for(let K of T){if(!K.active)continue;let ne=K.life/K.maxLife,ue=K.alpha*ne;ue<.01||(x.globalAlpha=ue,x.fillStyle=s,x.beginPath(),x.arc(K.x,K.y,K.size*ne,0,Math.PI*2),x.fill())}x.globalAlpha=1}function _(K){if(p||c==="idle"){d=null;return}m||(m=K);let ne=Math.min((K-m)/1e3,.05);if(m=K,c==="ambient"||c==="pulse")for(f+=l*i*ne;f>=1;)b(),f-=1;P(ne),R(),T.some(ke=>ke.active)||c==="ambient"||c==="pulse"?d=requestAnimationFrame(_):(d=null,x.clearRect(0,0,o,o))}function $(){d!=null||p||n||(m=0,f=0,d=requestAnimationFrame(_))}function te(){d!=null&&(cancelAnimationFrame(d),d=null);for(let K of T)K.active=!1;x.clearRect(0,0,o,o)}function W(K){if(K!==c){if(c=K,c==="idle"){te();return}if(!n){if(c==="burst"){let ne=r?12:20+Math.floor(Math.random()*11);for(let ue=0;ue<ne;ue++)b(Math.PI*2*ue/ne+(Math.random()-.5)*.3);$();return}c==="ambient"?l=r?3:4:c==="pulse"&&(l=r?4:6),$()}}}function oe(){let K=Math.min(window.devicePixelRatio||1,2);g.width=o*K,g.height=o*K,x.setTransform(1,0,0,1,0,0),x.scale(K,K)}function j(K){s=K}function ae(){p=!0,te(),g.remove()}return{canvas:g,setMode:W,setSpawnRate:K=>{l=K},setColor:j,resize:oe,destroy:ae}}function hp(e){let{container:t,panel:n,mobileBreakpoint:r=640}=e,o=!1,a=null,i=[],s=document.createElementNS("http://www.w3.org/2000/svg","svg");s.classList.add("filament-overlay"),s.setAttribute("xmlns","http://www.w3.org/2000/svg"),s.style.cssText="position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:2147483645;",t.appendChild(s);function c(){return window.innerWidth<=r}function l(){let R=document.createElementNS("http://www.w3.org/2000/svg","path");return R.setAttribute("fill","none"),R.setAttribute("stroke","var(--rv-accent, #ff4c00)"),R.setAttribute("stroke-width","1.5"),R.setAttribute("stroke-linecap","round"),R.setAttribute("stroke-dasharray","6 4"),R.setAttribute("stroke-opacity","0.6"),R}function d(R,_){let $=R.left+R.width/2,te=R.top+R.height/2,W=_.left+_.width/2,oe=_.top+_.height/2,j,ae,K=W-$,ne=oe-te;Math.abs(K)>Math.abs(ne)?(j=K>0?R.right:R.left,ae=Math.max(R.top+20,Math.min(R.bottom-20,oe))):(ae=ne>0?R.bottom:R.top,j=Math.max(R.left+20,Math.min(R.right-20,W)));let ue=W,ke=oe,me=(j+ue)/2,je=(ae+ke)/2,pt=Math.max(40,Math.hypot(ue-j,ke-ae)*.3),Et=j+(me-j)*.5,it=ae+(ae===R.top||ae===R.bottom?-Math.sign(ne)*pt:0),Me=ue-(ue-me)*.5,F=ke+(ke>ae?-pt*.5:pt*.5);return`M ${j} ${ae} C ${Et} ${it}, ${Me} ${F}, ${ue} ${ke}`}function m(){if(o||c()||i.length===0){a!=null&&(cancelAnimationFrame(a),a=null);return}let R=n.getBoundingClientRect();if(R.width===0||R.height===0){a=requestAnimationFrame(m);return}for(let _ of i){let $=e.resolveElement?.(_.elementId);if(!$)continue;let te=$.getBoundingClientRect();if(te.width===0&&te.height===0)continue;let W=d(R,te);_.path.setAttribute("d",W)}a=requestAnimationFrame(m)}function f(){a!=null||o||(a=requestAnimationFrame(m))}function p(){a!=null&&(cancelAnimationFrame(a),a=null)}function g(R){R.fadeTimer&&clearTimeout(R.fadeTimer),R.path.remove();let _=i.indexOf(R);_>=0&&i.splice(_,1),i.length===0&&p()}function y(R){try{let _=R.path.animate([{strokeOpacity:"0.6"},{strokeOpacity:"0"}],{duration:400,fill:"forwards"});_.onfinish=()=>g(R)}catch{g(R)}}function x(R,_){if(o||c()||i.find(oe=>oe.elementId===R))return;for(;i.length>=3;)y(i[0]);let te=l();s.appendChild(te);let W={elementId:R,toolName:_,path:te};i.push(W),f()}function T(R){let _=i.find($=>$.elementId===R);_&&y(_)}function k(){for(;i.length>0;)g(i[0]);p()}function b(){}function P(){o=!0,k(),s.remove()}return{overlay:s,addTarget:x,fadeTarget:T,clearAll:k,resize:b,destroy:P}}function Wb(e){return Number.isFinite(Number(e))?Math.max(1,Math.min(4,Math.trunc(Number(e)))):2}function Gb(e={}){let t=document.createElement("div");t.className="liveStack";let n=e.thoughtStyle==="minimal"?"minimal":"concise_cards",r=Wb(e.stream?.maxVisibleLiveCards),o=e.stream?.collapseCompletedSteps!==!1;t.dataset.thoughtStyle=n;let a=document.createElement("div");a.className="liveStackHeader";let i=document.createElement("span");i.className="liveStackDot";let s=document.createElement("span");s.className="liveStackLabel",s.textContent="LIVE STREAM";let c=document.createElement("button");c.type="button",c.className="liveStackExpandBtn",c.setAttribute("aria-label","Expand to full view"),c.innerHTML='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="18 15 12 9 6 15"></polyline></svg>',a.appendChild(i),a.appendChild(s),a.appendChild(c);let l=document.createElement("button");l.type="button",l.className="liveStackOverflow";let d=document.createElement("div");d.className="liveStackCards",t.appendChild(a),t.appendChild(d),t.appendChild(l);let m=new Map,f=[],p=new Set,g=null,y=null,x=null;c.addEventListener("click",()=>{g?.()}),l.addEventListener("click",()=>{g?.()});function T(){let _=document.createElement("div");_.className="liveStackCard hidden";let $=document.createElement("div");$.className="liveStackCardTop";let te=document.createElement("div");te.className="liveStackCardMeta";let W=document.createElement("span");W.className="liveStackCardTs";let oe=document.createElement("span");oe.className="liveStackCardSep",oe.textContent="\u2014";let j=document.createElement("span");j.className="liveStackCardStatus";let ae=document.createElement("div");ae.className="liveStackCardSpinner",te.appendChild(W),te.appendChild(oe),te.appendChild(j),$.appendChild(te),$.appendChild(ae);let K=document.createElement("div");K.className="liveStackCardTitle";let ne=document.createElement("div");return ne.className="liveStackCardDetail",_.appendChild($),_.appendChild(K),_.appendChild(ne),_.addEventListener("click",ue=>{if(ue.stopPropagation(),_.classList.contains("expanded"))_.classList.remove("expanded");else{for(let ke of f)ke.classList.remove("expanded");_.classList.add("expanded")}}),_}function k(_){let $=m.get(_);if($)return $;let te=T();return m.set(_,te),f.push(te),d.appendChild(te),te}function b(_,$){let te=Number($.ts)||Date.now(),W=Ss($),oe=Ts($),j=Ol($),ae=_.querySelector(".liveStackCardTs"),K=_.querySelector(".liveStackCardStatus"),ne=_.querySelector(".liveStackCardTitle"),ue=_.querySelector(".liveStackCardDetail");ae.textContent=Mo(te),K.textContent=oe,ne.textContent=W||"Processing...",_.classList.toggle("minimalThought",n==="minimal");let ke=ze($.detail||"")||(j!==W?j:"");ke?(ue.textContent=ke.slice(0,500),_.dataset.hasDetail="true"):(ue.textContent="",delete _.dataset.hasDetail);let me=Ll($);_.dataset.status=me}function P(){let _=f.length,$=o?Math.min(_,r):_,te=Math.max(0,_-$);for(let W=0;W<_;W++){let oe=f[W],j=_-1-W;oe.classList.remove("active","previous","hidden"),j===0?(oe.classList.add("active"),oe.style.display=""):j<$?(oe.classList.add("previous"),oe.style.display=""):(oe.classList.add("hidden"),oe.style.display="none")}te>0?(l.textContent="More steps",l.classList.add("visible")):l.classList.remove("visible")}function R(){y==null&&(y=requestAnimationFrame(()=>{y=null,P()}))}return{root:t,addTimelineEvent(_){let $=ze(_.title||"");if(!$||$.toLowerCase()==="assistant update")return;let te=_.id||mo("ls");if(_.id&&p.has(te))return;p.add(te);let W=Dl(_),oe=W==="run"||W.startsWith("tool:")||_.kind==="tool_result"||_.kind==="status"&&m.has(W),j=k(oe?W:`${W}:${te}`);b(j,{..._,title:$}),R()},clear(){p.clear(),m.clear(),f.length=0,d.innerHTML="",l.classList.remove("visible"),y!=null&&(cancelAnimationFrame(y),y=null)},show(){x!=null&&(clearTimeout(x),x=null),t.classList.remove("closing"),t.classList.add("open")},hide(){if(!t.classList.contains("open"))return;t.classList.add("closing");let _=()=>{t.classList.remove("open","closing"),x=null};t.addEventListener("animationend",()=>_(),{once:!0}),x=setTimeout(_,280)},setOnExpand(_){g=_},setThoughtStyle(_){n=_==="minimal"?"minimal":"concise_cards",t.dataset.thoughtStyle=n;for(let $ of f)$.classList.toggle("minimalThought",n==="minimal")},setStreamConfig(_){r=Wb(_?.maxVisibleLiveCards),o=_?.collapseCompletedSteps!==!1,R()},destroy(){y!=null&&cancelAnimationFrame(y),t.remove()}}}var Kb=`
20
+ `;let z=_.querySelector(".taskSuggestionText"),ee=_.querySelector(".taskSuggestionBtn.primary"),V=_.querySelector(".taskSuggestionBtn.secondary"),ne=document.createElement("div");ne.className="questionPrompt";let $=document.createElement("div");$.className="questionPromptTitle",$.textContent="Need a bit more info";let re=document.createElement("form");re.className="questionPromptForm";let X=document.createElement("div");X.className="questionPromptList",re.appendChild(X);let te=document.createElement("div");te.className="questionPromptActions";let de=document.createElement("button");de.type="button",de.className="questionPromptCancel",de.textContent="Cancel",te.appendChild(de);let me=document.createElement("button");me.type="submit",me.className="questionPromptSubmit",me.textContent="Continue",te.appendChild(me),re.appendChild(te),ne.appendChild($),ne.appendChild(re);let be=document.createElement("div");be.className="roverConversationPill",be.setAttribute("role","button"),be.setAttribute("tabindex","0");let Be=document.createElement("span");Be.className="roverConversationPillLabel",Be.textContent="Current task";let bt=document.createElement("span");bt.className="roverConversationPillArrow",bt.textContent="\u25BE",be.appendChild(Be),be.appendChild(bt);let Rt=document.createElement("div");Rt.className="pausedTaskBanner";let ot=document.createElement("div");ot.className="conversationDrawer";let Oe=document.createElement("div");Oe.className="conversationDrawerHeader";let F=document.createElement("span");F.className="conversationDrawerTitle",F.textContent="Conversations";let Y=document.createElement("button");Y.type="button",Y.className="conversationDrawerClose",Y.textContent="\xD7",Oe.appendChild(F),Oe.appendChild(Y);let ye=document.createElement("div");ye.className="conversationList";let Q=document.createElement("button");Q.type="button",Q.className="conversationNewBtn",Q.textContent="New conversation",ot.appendChild(Oe),ot.appendChild(ye),ot.appendChild(Q),be.addEventListener("click",()=>{ot.classList.toggle("open")});let ue=t?Pb(o):{},ie=ip(),ae=ie.storageKey,pe=t?ap(ue.desktop,ie)||pa(ie):pa(ie),Qe=t?Cb(ue[ie.storageKey]?.preset)??1:1,et=null;if(t){let je=!1,At=0,Ue=0,ct=0,_t=0,pt=0;l.addEventListener("pointerdown",Ct=>{if(ie.layout!=="desktop")return;Ct.preventDefault(),Ct.stopPropagation(),je=!0;let ft=a.getBoundingClientRect();At=Ct.clientX,Ue=Ct.clientY,ct=ft.width,_t=ft.height,pt=ft.left,l.setPointerCapture(Ct.pointerId),a.style.transition="none",document.body.style.userSelect="none",document.body.style.cursor="nwse-resize"}),l.addEventListener("pointermove",Ct=>{if(!je)return;let ft=Ct.clientX-At,fn=Ct.clientY-Ue,mn=Oo({width:ct-ft,height:_t+fn},ie),lr=r.shell?.safeAreaInsetPx??16;a.style.width=`${mn.width}px`,a.style.height=`${mn.height}px`,a.style.left=`${Math.max(lr,Math.round((ie.width-mn.width)/2))}px`,a.style.top=`${Math.max(lr,Math.round((ie.height-mn.height)/2))}px`});let Nt=Ct=>{if(!je)return;je=!1,l.releasePointerCapture(Ct.pointerId),a.style.transition="",document.body.style.userSelect="",document.body.style.cursor="";let ft=a.getBoundingClientRect();pe=Oo({width:ft.width,height:ft.height},ie),ue={...ue,desktop:pe},Ul(o,ue);let fn=r.shell?.safeAreaInsetPx??16;a.style.left=`${Math.max(fn,Math.round((ie.width-pe.width)/2))}px`,a.style.top=`${Math.max(fn,Math.round((ie.height-pe.height)/2))}px`};l.addEventListener("pointerup",Nt),l.addEventListener("pointercancel",Nt)}function Je(){let je=ip(),At=je.storageKey!==ae;ie=je,ae=je.storageKey;let Ue=r.shell?.safeAreaInsetPx??16;if(je.layout==="desktop"){t?At?pe=ap(ue.desktop,je)||pa(je):pe=Oo(pe,je):pe=pa(je);let ct=r.shell?.desktopSize||"stage",_t=r.shell?.desktopHeight||"tall",pt=mo(ct==="compact"?640:ct==="cinema"?1200:960,640,Math.max(640,Math.min(1200,je.width-Ue*2))),Nt=mo(_t==="full"?je.height-Ue*2:Math.min(600,je.height-Ue*2),400,Math.max(400,je.height-Ue*2));t||(pe=Oo({width:pt,height:Nt},je));let Ct=t?pe.width:pt,ft=t?pe.height:Nt;a.style.left=`${Math.max(Ue,Math.round((je.width-Ct)/2))}px`,a.style.top=`${Math.max(Ue,Math.round((je.height-ft)/2))}px`,a.style.right="",a.style.bottom="",a.style.width=`${Ct}px`,a.style.height=`${ft}px`,a.style.minWidth=`${640}px`,a.style.minHeight=`${400}px`,a.style.maxWidth=`${Math.max(640,Math.min(1200,je.width-Ue*2))}px`,a.style.maxHeight=`${Math.max(400,je.height-Ue*2)}px`,et=null}else{let ct=je.keyboardInset;if(je.layout==="tablet")a.style.left=`${Ue}px`,a.style.right=`${Ue}px`,a.style.top=`${Ue}px`,a.style.bottom=`${Math.max(Ue,ct)}px`,a.style.width="auto",a.style.height="auto",a.style.minWidth="320px";else{let _t=Mb(je),pt=et??_t[Qe],Nt=Math.max(8,ct),Ct=Math.max(0,je.height-Nt-pt);a.style.left="0px",a.style.right="0px",a.style.top=`${Ct}px`,a.style.bottom=`${Nt}px`,a.style.width="100vw",a.style.height="auto",a.style.minWidth="0px"}a.style.minHeight="0px",a.style.maxWidth="100vw",a.style.maxHeight="100dvh",et=null}gt()}function Tt(){if(t){if(ie.layout==="desktop"){let je=Oo({width:1200,height:ie.height-16},ie);pe=Math.abs(pe.width-je.width)<=6&&Math.abs(pe.height-je.height)<=6?pa(ie):je,ue={...ue,desktop:pe},Ul(o,ue),Je();return}Qe=(Qe+1)%3,et=null,ue={...ue,[ie.storageKey]:{preset:Qe}},Ul(o,ue),Je()}}function gt(){a.dataset.layout=ie.layout,a.dataset.orientation=ie.orientation,a.dataset.resizable=t?"true":"false"}return{panel:a,backdrop:i,panelGrabber:s,resizeHandle:l,taskStage:d,taskStageTitle:b,taskStageStatusPill:p,taskStageMeta:y,taskStageEyebrow:f,artifactStage:k,artifactStageBody:A,artifactStageToggle:h,artifactStageEmpty:E,taskSuggestion:_,taskSuggestionTextEl:z,taskSuggestionPrimaryBtn:ee,taskSuggestionSecondaryBtn:V,questionPrompt:ne,questionPromptForm:re,questionPromptList:X,questionPromptCancel:de,questionPromptSubmit:me,conversationPill:be,conversationDrawer:ot,conversationList:ye,conversationPillLabel:Be,conversationDrawerCloseBtn:Y,conversationNewBtn:Q,pausedTaskBanner:Rt,applyLayout:Je,cyclePanelSize:Tt,syncChrome:gt,getViewportMetrics:()=>ie,destroy(){}}}function Wb(){let e=window;return e.SpeechRecognition||e.webkitSpeechRecognition}function dp(e){return String(e||"").replace(/\s+/g," ").trim()}function CT(e){let t=e.results;if(!t||typeof t.length!="number")return{finalTranscript:"",interimTranscript:""};let n=[],r=[];for(let o=0;o<t.length;o+=1){let i=t[o];if(!i||typeof i.length!="number")continue;let a=dp(String(i[0]?.transcript||""));a&&(i.isFinal?n.push(a):r.push(a))}return{finalTranscript:dp(n.join(" ")),interimTranscript:dp(r.join(" "))}}function Vb(e){let t=typeof e?.error=="string"?String(e.error||"").trim().toLowerCase():"",n=typeof e?.message=="string"?String(e.message||"").trim():"";return t==="not-allowed"||t==="service-not-allowed"?{code:"permission_denied",message:"Microphone access was blocked. Allow microphone access and try again.",recoverable:!1}:t==="audio-capture"?{code:"audio_capture",message:"No working microphone was found for voice dictation.",recoverable:!0}:t==="network"?{code:"network",message:"Network issues interrupted browser dictation.",recoverable:!0}:t==="no-speech"?{code:"no_speech",message:"No speech was detected.",recoverable:!0}:t==="aborted"?{code:"aborted",message:"Voice dictation was interrupted.",recoverable:!0}:{code:"unknown",message:n||"Voice dictation stopped unexpectedly.",recoverable:!0}}function up(e){let t=null,n=null,r=null,o=null,i=null,a=!1,s=!1,c=null;function l(){if(!a||!n||!c){i=null;return}n.getByteFrequencyData(c);let b=0;for(let k=0;k<c.length;k++)b+=c[k];let y=b/c.length/255;e.onFrequencyData?.(y),i=requestAnimationFrame(l)}async function d(){if(!(s||a))try{o=await navigator.mediaDevices.getUserMedia({audio:!0}),t=new AudioContext,n=t.createAnalyser(),n.fftSize=128,c=new Uint8Array(n.frequencyBinCount),r=t.createMediaStreamSource(o),r.connect(n),a=!0,i=requestAnimationFrame(l)}catch{m()}}function m(){if(i!=null&&(cancelAnimationFrame(i),i=null),r){try{r.disconnect()}catch{}r=null}if(n){try{n.disconnect()}catch{}n=null}if(t){try{t.close()}catch{}t=null}o&&(o.getTracks().forEach(b=>b.stop()),o=null),c=null,a=!1}function f(){m()}function p(){s=!0,m()}return{start:d,stop:f,dispose:p,isActive:()=>a}}function pp(e={}){let t=null,n=!1,r=!1;function o(){t&&(t.onstart=null,t.onresult=null,t.onerror=null,t.onend=null,t.onspeechstart=null,t.onspeechend=null,t=null)}function i(a){let s=Wb();if(!s)return null;let c=new s;return c.continuous=!0,c.interimResults=!0,c.maxAlternatives=1,c.lang=String(a||navigator.language||"en-US").trim()||"en-US",c.onstart=()=>{e.onStart?.()},c.onresult=l=>{e.onResult?.(CT(l))},c.onspeechstart=()=>{e.onSpeechStart?.()},c.onspeechend=()=>{e.onSpeechEnd?.()},c.onerror=l=>{e.onError?.(Vb(l))},c.onend=()=>{let l=r;r=!1,o(),e.onEnd?.({requested:l})},c}return{isSupported(){return!!Wb()},start(a){if(n||t)return;let s=i(a?.language);if(!s){e.onError?.({code:"unsupported",message:"Voice dictation is not available in this browser.",recoverable:!1});return}t=s,r=!1;try{t.start()}catch(c){o(),e.onError?.(Vb(c)),e.onEnd?.({requested:!1})}},stop(){if(t){r=!0;try{t.stop()}catch{o(),e.onEnd?.({requested:!0})}}},dispose(){if(n=!0,r=!0,!t)return;let a=t;o();try{a.abort?.()}catch{}}}}function Gb(e){let t=document.createElement("div");t.className="inputBar";let n=document.createElement("div");n.className="inputBarMascot";let r=fa({container:n,token:e.launcherToken,disabled:e.mascotDisabled,imageUrl:e.mascotImage,mp4Url:e.mascotMp4,webmUrl:e.mascotWebm,muted:e.isMuted,fallbackClassName:"inputBarMascotFallback"}),o=r.video;n.addEventListener("click",()=>e.onClose());let i=document.createElement("div");i.className="inputBarComposerSlot";let a=document.createElement("button");a.type="button",a.className="inputBarExpand",a.setAttribute("aria-label","Expand to full panel"),a.innerHTML='<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="7 17 7 7 17 7"/><line x1="7" y1="7" x2="17" y2="17"/></svg>',a.addEventListener("click",()=>e.onExpand());let s=document.createElement("button");return s.type="button",s.className="inputBarClose",s.setAttribute("aria-label","Close input bar"),s.textContent="\xD7",s.addEventListener("click",()=>e.onClose()),t.appendChild(n),t.appendChild(i),t.appendChild(a),t.appendChild(s),{root:t,composerSlot:i,mascotVideo:o,show(){t.classList.add("open")},hide(){t.classList.remove("open")},setMuted(c){r.setMuted(c)},setRunning(c){t.classList.toggle("running",c)},setExpanded(c){a.innerHTML=c?'<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="17 7 17 17 7 17"/><line x1="17" y1="17" x2="7" y2="7"/></svg>':'<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="7 17 7 7 17 7"/><line x1="7" y1="7" x2="17" y2="17"/></svg>',a.setAttribute("aria-label",c?"Collapse panel":"Expand to full panel")},destroy(){}}}function fp(e){let t=[],n=[],r=0,o=!1,i=document.createElement("div");i.className="commandBarOverlay";let a=document.createElement("div");a.className="commandBar";let s=document.createElement("div");s.className="commandBarHeader";let c=document.createElement("span");c.className="commandBarSearchIcon",c.innerHTML='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>';let l=document.createElement("input");l.className="commandBarInput",l.type="text",l.placeholder="Search actions...",l.setAttribute("autocomplete","off"),l.setAttribute("spellcheck","false");let d=document.createElement("kbd");d.className="commandBarKbd",d.textContent="Esc",s.appendChild(c),s.appendChild(l),s.appendChild(d);let m=document.createElement("div");m.className="commandBarList",m.setAttribute("role","listbox");let f=document.createElement("div");f.className="commandBarEmpty",f.textContent="No matching actions",a.appendChild(s),a.appendChild(m),a.appendChild(f),i.appendChild(a);function p(){if(m.innerHTML="",n.length===0){f.classList.add("visible");return}f.classList.remove("visible"),r=Math.min(r,n.length-1);for(let E=0;E<n.length;E++){let _=n[E],z=document.createElement("button");z.type="button",z.className=`commandBarItem${E===r?" highlighted":""}`,z.setAttribute("role","option");let ee=document.createElement("span");if(ee.className="commandBarItemLabel",_.icon){let V=document.createElement("span");V.className="commandBarItemIcon",V.textContent=_.icon,ee.appendChild(V)}if(ee.appendChild(document.createTextNode(_.label)),z.appendChild(ee),_.description){let V=document.createElement("span");V.className="commandBarItemDesc",V.textContent=_.description,z.appendChild(V)}z.addEventListener("click",()=>{k(_)}),z.addEventListener("mouseenter",()=>{r=E,b()}),m.appendChild(z)}}function b(){m.querySelectorAll(".commandBarItem").forEach((z,ee)=>{z.classList.toggle("highlighted",ee===r)});let _=m.querySelector(".commandBarItem.highlighted");_&&_.scrollIntoView({block:"nearest"})}function y(){let E=l.value.toLowerCase().trim();E?n=t.filter(_=>_.label.toLowerCase().includes(E)||_.description&&_.description.toLowerCase().includes(E)):n=t.slice(),r=0,p()}function k(E){x(),e.onSelect(E)}l.addEventListener("input",y),i.addEventListener("keydown",E=>{let _=E;if(_.key==="Escape"){_.preventDefault(),_.stopPropagation(),x();return}if(_.key==="ArrowDown"){_.preventDefault(),n.length>0&&(r=(r+1)%n.length,b());return}if(_.key==="ArrowUp"){_.preventDefault(),n.length>0&&(r=(r-1+n.length)%n.length,b());return}if(_.key==="Enter"){_.preventDefault(),n.length>0&&r<n.length&&k(n[r]);return}}),i.addEventListener("mousedown",E=>{E.target===i&&x()});function w(){o||(o=!0,l.value="",n=t.slice(),r=0,i.classList.add("open"),p(),requestAnimationFrame(()=>l.focus()))}function x(){o&&(o=!1,i.classList.remove("open"),e.onClose())}function h(E){t=E.slice(),o&&y()}function A(){o=!1,i.remove()}return{root:i,input:l,setItems:h,open:w,close:x,isOpen:()=>o,destroy:A}}function mp(e){let{container:t,reducedMotion:n=!1,mobile:r=!1}=e,o=e.size??200,i=r?32:64,a=r?.5:1,s=e.color||"rgba(255, 76, 0, 0.6)",c="idle",l=4,d=null,m=0,f=0,p=!1,b=document.createElement("canvas");b.className="particle-canvas",b.style.cssText=`position:absolute;inset:${-o/2+(o>200?50:36)}px;width:${o}px;height:${o}px;pointer-events:none;z-index:0;`;let y=Math.min(window.devicePixelRatio||1,2);b.width=o*y,b.height=o*y;let k=b.getContext("2d");k.scale(y,y),t.appendChild(b);let w=[];for(let X=0;X<i;X++)w.push({active:!1,x:0,y:0,vx:0,vy:0,life:0,maxLife:0,size:2,alpha:0});function x(){for(let X of w)if(!X.active)return X;return null}function h(X){let te=x();if(!te)return;let de=o/2,me=o/2,be=X??Math.random()*Math.PI*2,Be=c==="burst"?30+Math.random()*40:c==="pulse"?15+Math.random()*20:10+Math.random()*25;if(te.active=!0,te.x=de+Math.cos(be)*(20+Math.random()*10),te.y=me+Math.sin(be)*(20+Math.random()*10),te.vx=Math.cos(be)*Be,te.vy=Math.sin(be)*Be,te.maxLife=c==="burst"?.4+Math.random()*.3:.8+Math.random()*.6,te.life=te.maxLife,te.size=1.5+Math.random()*2,te.alpha=.5+Math.random()*.3,c==="pulse"){let bt=be+Math.PI/2;te.vx+=Math.cos(bt)*12,te.vy+=Math.sin(bt)*12}}function A(X){for(let te of w)if(te.active){if(te.life-=X,te.life<=0){te.active=!1;continue}te.x+=te.vx*X,te.y+=te.vy*X,te.vx*=.98,te.vy*=.98}}function E(){k.clearRect(0,0,o,o);for(let X of w){if(!X.active)continue;let te=X.life/X.maxLife,de=X.alpha*te;de<.01||(k.globalAlpha=de,k.fillStyle=s,k.beginPath(),k.arc(X.x,X.y,X.size*te,0,Math.PI*2),k.fill())}k.globalAlpha=1}function _(X){if(p||c==="idle"){d=null;return}m||(m=X);let te=Math.min((X-m)/1e3,.05);if(m=X,c==="ambient"||c==="pulse")for(f+=l*a*te;f>=1;)h(),f-=1;A(te),E(),w.some(me=>me.active)||c==="ambient"||c==="pulse"?d=requestAnimationFrame(_):(d=null,k.clearRect(0,0,o,o))}function z(){d!=null||p||n||(m=0,f=0,d=requestAnimationFrame(_))}function ee(){d!=null&&(cancelAnimationFrame(d),d=null);for(let X of w)X.active=!1;k.clearRect(0,0,o,o)}function V(X){if(X!==c){if(c=X,c==="idle"){ee();return}if(!n){if(c==="burst"){let te=r?12:20+Math.floor(Math.random()*11);for(let de=0;de<te;de++)h(Math.PI*2*de/te+(Math.random()-.5)*.3);z();return}c==="ambient"?l=r?3:4:c==="pulse"&&(l=r?4:6),z()}}}function ne(){let X=Math.min(window.devicePixelRatio||1,2);b.width=o*X,b.height=o*X,k.setTransform(1,0,0,1,0,0),k.scale(X,X)}function $(X){s=X}function re(){p=!0,ee(),b.remove()}return{canvas:b,setMode:V,setSpawnRate:X=>{l=X},setColor:$,resize:ne,destroy:re}}function hp(e){let{container:t,panel:n,mobileBreakpoint:r=640}=e,o=!1,i=null,a=[],s=document.createElementNS("http://www.w3.org/2000/svg","svg");s.classList.add("filament-overlay"),s.setAttribute("xmlns","http://www.w3.org/2000/svg"),s.style.cssText="position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:2147483645;",t.appendChild(s);function c(){return window.innerWidth<=r}function l(){let E=document.createElementNS("http://www.w3.org/2000/svg","path");return E.setAttribute("fill","none"),E.setAttribute("stroke","var(--rv-accent, #ff4c00)"),E.setAttribute("stroke-width","1.5"),E.setAttribute("stroke-linecap","round"),E.setAttribute("stroke-dasharray","6 4"),E.setAttribute("stroke-opacity","0.6"),E}function d(E,_){let z=E.left+E.width/2,ee=E.top+E.height/2,V=_.left+_.width/2,ne=_.top+_.height/2,$,re,X=V-z,te=ne-ee;Math.abs(X)>Math.abs(te)?($=X>0?E.right:E.left,re=Math.max(E.top+20,Math.min(E.bottom-20,ne))):(re=te>0?E.bottom:E.top,$=Math.max(E.left+20,Math.min(E.right-20,V)));let de=V,me=ne,be=($+de)/2,Be=(re+me)/2,bt=Math.max(40,Math.hypot(de-$,me-re)*.3),Rt=$+(be-$)*.5,ot=re+(re===E.top||re===E.bottom?-Math.sign(te)*bt:0),Oe=de-(de-be)*.5,F=me+(me>re?-bt*.5:bt*.5);return`M ${$} ${re} C ${Rt} ${ot}, ${Oe} ${F}, ${de} ${me}`}function m(){if(o||c()||a.length===0){i!=null&&(cancelAnimationFrame(i),i=null);return}let E=n.getBoundingClientRect();if(E.width===0||E.height===0){i=requestAnimationFrame(m);return}for(let _ of a){let z=e.resolveElement?.(_.elementId);if(!z)continue;let ee=z.getBoundingClientRect();if(ee.width===0&&ee.height===0)continue;let V=d(E,ee);_.path.setAttribute("d",V)}i=requestAnimationFrame(m)}function f(){i!=null||o||(i=requestAnimationFrame(m))}function p(){i!=null&&(cancelAnimationFrame(i),i=null)}function b(E){E.fadeTimer&&clearTimeout(E.fadeTimer),E.path.remove();let _=a.indexOf(E);_>=0&&a.splice(_,1),a.length===0&&p()}function y(E){try{let _=E.path.animate([{strokeOpacity:"0.6"},{strokeOpacity:"0"}],{duration:400,fill:"forwards"});_.onfinish=()=>b(E)}catch{b(E)}}function k(E,_){if(o||c()||a.find(ne=>ne.elementId===E))return;for(;a.length>=3;)y(a[0]);let ee=l();s.appendChild(ee);let V={elementId:E,toolName:_,path:ee};a.push(V),f()}function w(E){let _=a.find(z=>z.elementId===E);_&&y(_)}function x(){for(;a.length>0;)b(a[0]);p()}function h(){}function A(){o=!0,x(),s.remove()}return{overlay:s,addTarget:k,fadeTarget:w,clearAll:x,resize:h,destroy:A}}function Kb(e){return Number.isFinite(Number(e))?Math.max(1,Math.min(4,Math.trunc(Number(e)))):2}function Xb(e={}){let t=document.createElement("div");t.className="liveStack";let n=e.thoughtStyle==="minimal"?"minimal":"concise_cards",r=Kb(e.stream?.maxVisibleLiveCards),o=e.stream?.collapseCompletedSteps!==!1;t.dataset.thoughtStyle=n;let i=document.createElement("div");i.className="liveStackHeader";let a=document.createElement("span");a.className="liveStackDot";let s=document.createElement("span");s.className="liveStackLabel",s.textContent="LIVE STREAM";let c=document.createElement("button");c.type="button",c.className="liveStackExpandBtn",c.setAttribute("aria-label","Expand to full view"),c.innerHTML='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="18 15 12 9 6 15"></polyline></svg>',i.appendChild(a),i.appendChild(s),i.appendChild(c);let l=document.createElement("button");l.type="button",l.className="liveStackOverflow";let d=document.createElement("div");d.className="liveStackCards",t.appendChild(i),t.appendChild(d),t.appendChild(l);let m=new Map,f=[],p=new Set,b=null,y=null,k=null;c.addEventListener("click",()=>{b?.()}),l.addEventListener("click",()=>{b?.()});function w(){let _=document.createElement("div");_.className="liveStackCard hidden";let z=document.createElement("div");z.className="liveStackCardTop";let ee=document.createElement("div");ee.className="liveStackCardMeta";let V=document.createElement("span");V.className="liveStackCardTs";let ne=document.createElement("span");ne.className="liveStackCardSep",ne.textContent="\u2014";let $=document.createElement("span");$.className="liveStackCardStatus";let re=document.createElement("div");re.className="liveStackCardSpinner",ee.appendChild(V),ee.appendChild(ne),ee.appendChild($),z.appendChild(ee),z.appendChild(re);let X=document.createElement("div");X.className="liveStackCardTitle";let te=document.createElement("div");return te.className="liveStackCardDetail",_.appendChild(z),_.appendChild(X),_.appendChild(te),_.addEventListener("click",de=>{if(de.stopPropagation(),_.classList.contains("expanded"))_.classList.remove("expanded");else{for(let me of f)me.classList.remove("expanded");_.classList.add("expanded")}}),_}function x(_){let z=m.get(_);if(z)return z;let ee=w();return m.set(_,ee),f.push(ee),d.appendChild(ee),ee}function h(_,z){let ee=Number(z.ts)||Date.now(),V=Es(z),ne=_s(z),$=Pl(z),re=_.querySelector(".liveStackCardTs"),X=_.querySelector(".liveStackCardStatus"),te=_.querySelector(".liveStackCardTitle"),de=_.querySelector(".liveStackCardDetail");re.textContent=Lo(ee),X.textContent=ne,te.textContent=V||"Processing...",_.classList.toggle("minimalThought",n==="minimal");let me=z.actionCue?"":Pe(z.detail||"")||($!==V?$:"");me?(de.textContent=me.slice(0,500),_.dataset.hasDetail="true"):(de.textContent="",delete _.dataset.hasDetail);let be=Ll(z);_.dataset.status=be}function A(){let _=f.length,z=o?Math.min(_,r):_,ee=Math.max(0,_-z);for(let V=0;V<_;V++){let ne=f[V],$=_-1-V;ne.classList.remove("active","previous","hidden"),$===0?(ne.classList.add("active"),ne.style.display=""):$<z?(ne.classList.add("previous"),ne.style.display=""):(ne.classList.add("hidden"),ne.style.display="none")}ee>0?(l.textContent="More steps",l.classList.add("visible")):l.classList.remove("visible")}function E(){y==null&&(y=requestAnimationFrame(()=>{y=null,A()}))}return{root:t,addTimelineEvent(_){let z=Pe(_.title||"");if(!z||z.toLowerCase()==="assistant update")return;let ee=_.id||po("ls");if(_.id&&p.has(ee))return;p.add(ee);let V=Dl(_),ne=V==="run"||V.startsWith("tool:")||_.kind==="tool_result"||_.kind==="status"&&m.has(V),$=x(ne?V:`${V}:${ee}`);h($,{..._,title:z}),E()},clear(){p.clear(),m.clear(),f.length=0,d.innerHTML="",l.classList.remove("visible"),y!=null&&(cancelAnimationFrame(y),y=null)},show(){k!=null&&(clearTimeout(k),k=null),t.classList.remove("closing"),t.classList.add("open")},hide(){if(!t.classList.contains("open"))return;t.classList.add("closing");let _=()=>{t.classList.remove("open","closing"),k=null};t.addEventListener("animationend",()=>_(),{once:!0}),k=setTimeout(_,280)},setOnExpand(_){b=_},setThoughtStyle(_){n=_==="minimal"?"minimal":"concise_cards",t.dataset.thoughtStyle=n;for(let z of f)z.classList.toggle("minimalThought",n==="minimal")},setStreamConfig(_){r=Kb(_?.maxVisibleLiveCards),o=_?.collapseCompletedSteps!==!1,E()},destroy(){y!=null&&cancelAnimationFrame(y),t.remove()}}}var Zb=3,MT=420,NT=640,Yb=28,LT=6,DT=4;function qr(e,t=48){let n=Pe(String(e||"")).replace(/\s+/g," ").trim();return n?n.length<=t?n:`${n.slice(0,t-3).trim()}...`:""}function OT(e,t){return t.split(/\s+/).map(n=>n.trim()).filter(Boolean).map(n=>{try{let r=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(n):n.replace(/"/g,'\\"');return e.querySelector(`#${r}`)?.textContent||""}catch{return""}}).join(" ")}function PT(e){let t=qr(e.getAttribute("role"));if(t)return t;let n=e.tagName.toLowerCase();if(n==="a")return"link";if(n==="button")return"button";if(n==="select")return"select";if(n==="textarea")return"text area";if(n==="input"){let r=qr(e.type||"input");return r==="submit"||r==="button"?"button":"field"}return n?BT(n.replace(/[-_]+/g," ")):"element"}function BT(e){return String(e||"").replace(/\s+/g," ").trim().split(" ").filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(" ")}function bp(e){if(!e)return"";let t=e.ownerDocument||document,n=qr(e.getAttribute("aria-labelledby"),180),r=n?qr(OT(t,n)):"";if(r)return r;let o=qr(e.getAttribute("aria-label"));if(o)return o;let i=e.labels;if(i&&i.length){let c=Array.from(i).map(d=>d.textContent||"").join(" "),l=qr(c);if(l)return l}let a=qr(e.placeholder);if(a)return a;if(e instanceof HTMLInputElement){let c=String(e.type||"").toLowerCase();if((c==="button"||c==="submit"||c==="reset")&&e.value){let l=qr(e.value);if(l)return l}}let s=qr(e.textContent);return s||PT(e)}function Jb(e){let t=[...Array.isArray(e.actionCue?.elementIds)?e.actionCue.elementIds:[],e.actionCue?.primaryElementId,e.elementId],n=new Set,r=[];for(let o of t){let i=Math.trunc(Number(o));if(!(!Number.isFinite(i)||i<=0||n.has(i))&&(n.add(i),r.push(i),r.length>=Zb))break}return r}function UT(e,t){return e.width>0&&e.height>0&&e.right>=0&&e.bottom>=0&&e.left<=t.width&&e.top<=t.height}function Qb(e){return{left:e.left,top:e.top,right:e.right,bottom:e.bottom,width:e.width,height:e.height}}function gp(e,t){return!t||t.width<=0||t.height<=0?!1:e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top}function zT(e,t){return{left:e.left-t,top:e.top-t,right:e.right+t,bottom:e.bottom+t,width:e.width+t*2,height:e.height+t*2}}function HT(e){let t=e.gap??8,n=e.margin??8,r={width:Math.max(1,e.chip.width),height:Math.max(1,e.chip.height)},o=e.viewport,i=[{side:"right",value:o.width-e.target.right},{side:"left",value:e.target.left},{side:"bottom",value:o.height-e.target.bottom},{side:"top",value:e.target.top}].sort((a,s)=>s.value-a.value);for(let{side:a}of i){let s=0,c=0;a==="right"?(s=e.target.right+t,c=e.target.top+(e.target.height-r.height)/2):a==="left"?(s=e.target.left-r.width-t,c=e.target.top+(e.target.height-r.height)/2):a==="bottom"?(s=e.target.left+(e.target.width-r.width)/2,c=e.target.bottom+t):(s=e.target.left+(e.target.width-r.width)/2,c=e.target.top-r.height-t);let l={left:s,top:c,right:s+r.width,bottom:c+r.height,width:r.width,height:r.height};if(!(l.left<n||l.top<n||l.right>o.width-n||l.bottom>o.height-n)&&!gp(l,zT(e.target,t))&&!gp(l,e.panel)&&!(e.occupied||[]).some(d=>gp(l,d)))return{left:s,top:c,side:a}}return null}function ey(e){let t={click:"Click",type:"Type",select:"Select",clear:"Clear",focus:"Focus",hover:"Hover",press:"Press",scroll:"Scroll",drag:"Drag",navigate:"Open",read:"Read",wait:"Wait",unknown:"Act"};return t[e||"unknown"]||t.unknown}function FT(e,t){let n=ey(e?.kind),r=qr(t||e?.targetLabel,36);return r?`${n} ${r}`:n}function ty(e){let{container:t,panel:n}=e,r=e.mobileBreakpoint??NT,o=!1,i=null,a=[],s=document.createElement("div");s.className="actionSpotlightLayer",t.appendChild(s);function c(){let h=window.visualViewport?.width??window.innerWidth,A=window.visualViewport?.height??window.innerHeight;return{left:0,top:0,right:h,bottom:A,width:h,height:A}}function l(h,A){let E=e.resolveElement?.(h.elementId),_=c();if(!E){h.ring.style.display="none",h.chip&&(h.chip.style.display="none");return}let z=Qb(E.getBoundingClientRect());if(!UT(z,_)){h.ring.style.display="none",h.chip&&(h.chip.style.display="none");return}let ee=(window.visualViewport?.width??window.innerWidth)<=r,V=ee?DT:LT,ne=Math.max(Yb,z.width+V*2),$=Math.max(Yb,z.height+V*2),re=z.left-(ne-z.width)/2,X=z.top-($-z.height)/2;if(h.ring.style.display="block",h.ring.style.width=`${ne}px`,h.ring.style.height=`${$}px`,h.ring.style.transform=`translate3d(${Math.round(re)}px, ${Math.round(X)}px, 0)`,!h.chip||ee||h.cue?.kind==="unknown"){h.chip&&(h.chip.style.display="none");return}let te=bp(E);h.chip.textContent=FT(h.cue,te),h.chip.style.display="block",h.chip.style.transform="translate3d(-10000px, -10000px, 0)";let de=h.chip.getBoundingClientRect(),me=HT({target:z,chip:{width:Math.min(180,Math.max(1,de.width||72)),height:Math.max(1,de.height||28)},viewport:_,panel:Qb(n.getBoundingClientRect()),occupied:A});if(!me){h.chip.style.display="none";return}h.chip.dataset.side=me.side,h.chip.style.transform=`translate3d(${Math.round(me.left)}px, ${Math.round(me.top)}px, 0)`,A.push({left:me.left,top:me.top,right:me.left+Math.min(180,Math.max(1,de.width||72)),bottom:me.top+Math.max(1,de.height||28),width:Math.min(180,Math.max(1,de.width||72)),height:Math.max(1,de.height||28)})}function d(){if(o||a.length===0){i!=null&&(cancelAnimationFrame(i),i=null);return}let h=[];for(let A of a)l(A,h);i=requestAnimationFrame(d)}function m(){i!=null||o||(i=requestAnimationFrame(d))}function f(h){h.fadeTimer&&clearTimeout(h.fadeTimer),h.ring.remove(),h.chip?.remove();let A=a.indexOf(h);A>=0&&a.splice(A,1)}function p(h){h.ring.classList.contains("fading")||(h.ring.classList.add("fading"),h.chip?.classList.add("fading"),h.fadeTimer=setTimeout(()=>f(h),MT))}function b(h,A){let E=document.createElement("div");E.className="actionSpotlightRing",e.reducedMotion||E.classList.add("pulse"),s.appendChild(E);let _=document.createElement("div");_.className="actionSpotlightChip",_.textContent=ey(A.actionCue?.kind),s.appendChild(_);let z={key:String(h),elementId:h,cue:A.actionCue,toolName:A.toolName,ring:E,chip:_,createdAt:Date.now()};return a.push(z),z}function y(h){if(o)return;let A=Jb(h);if(!A.length)return;let E=A.filter(_=>!a.some(z=>z.elementId===_));for(;a.length+E.length>Zb&&a.length>0;){let _=a.shift();_&&p(_)}for(let _ of A){let z=a.find(ee=>ee.elementId===_);z?(z.cue=h.actionCue,z.toolName=h.toolName,z.ring.classList.remove("fading"),z.chip?.classList.remove("fading")):b(_,h)}m()}function k(h){let A=Jb(h);if(A.length)for(let E of A){let _=a.find(z=>z.elementId===E);_&&p(_)}}function w(){for(;a.length;)f(a[0]);i!=null&&(cancelAnimationFrame(i),i=null)}let x=()=>m();return window.addEventListener("scroll",x,!0),window.addEventListener("resize",x),window.visualViewport?.addEventListener("resize",x),window.visualViewport?.addEventListener("scroll",x),{overlay:s,addEvent:y,fadeEvent:k,clearAll:w,destroy(){o=!0,w(),window.removeEventListener("scroll",x,!0),window.removeEventListener("resize",x),window.visualViewport?.removeEventListener("resize",x),window.visualViewport?.removeEventListener("scroll",x),s.remove()}}}var ny=`
21
21
  /* \u2500\u2500 Self-hosted font \u2500\u2500 */
22
22
  @font-face {
23
23
  font-family: 'Manrope';
@@ -414,7 +414,7 @@ Author: ${s.textContent} `),a.textContent&&(t+=`Comment: ${a.textContent}
414
414
  .rvNext {
415
415
  white-space: normal;
416
416
  }
417
- `;var Xb=`
417
+ `;var ry=`
418
418
  /* \u2500\u2500 Keyframe Animations \u2500\u2500 */
419
419
  @keyframes panelOpen {
420
420
  from { opacity: 0; transform: translateY(12px) scale(0.96); }
@@ -518,7 +518,7 @@ Author: ${s.textContent} `),a.textContent&&(t+=`Comment: ${a.textContent}
518
518
  transition-duration: 0.01ms !important;
519
519
  }
520
520
  }
521
- `;var Yb=`
521
+ `;var oy=`
522
522
  /* \u2500\u2500 Launcher / Seed \u2500\u2500 */
523
523
  .launcher {
524
524
  position: fixed;
@@ -848,7 +848,7 @@ Author: ${s.textContent} `),a.textContent&&(t+=`Comment: ${a.textContent}
848
848
  .rover[data-shell="focus_stream"] .launcher {
849
849
  display: none;
850
850
  }
851
- `;var Jb=`
851
+ `;var iy=`
852
852
  /* \u2500\u2500 Panel Backdrop \u2500\u2500 */
853
853
  .panelBackdrop {
854
854
  position: fixed;
@@ -2978,7 +2978,7 @@ Author: ${s.textContent} `),a.textContent&&(t+=`Comment: ${a.textContent}
2978
2978
  background: rgba(30, 33, 48, 0.95);
2979
2979
  border-color: rgba(255, 255, 255, 0.08);
2980
2980
  }
2981
- `;var Qb=`
2981
+ `;var ay=`
2982
2982
  /* \u2500\u2500 Mobile Responsive \u2500\u2500 */
2983
2983
  @media (max-width: 640px) {
2984
2984
  .launcher {
@@ -3149,7 +3149,7 @@ Author: ${s.textContent} `),a.textContent&&(t+=`Comment: ${a.textContent}
3149
3149
  text-overflow: ellipsis;
3150
3150
  }
3151
3151
  }
3152
- `;var Zb=`
3152
+ `;var sy=`
3153
3153
  /* \u2500\u2500 Command Bar Overlay \u2500\u2500 */
3154
3154
  .commandBarOverlay {
3155
3155
  position: fixed;
@@ -3301,7 +3301,7 @@ Author: ${s.textContent} `),a.textContent&&(t+=`Comment: ${a.textContent}
3301
3301
  padding-top: 10vh;
3302
3302
  }
3303
3303
  }
3304
- `;var ey=`
3304
+ `;var cy=`
3305
3305
  /* \u2500\u2500 Particle Canvas \u2500\u2500 */
3306
3306
  .particle-canvas {
3307
3307
  pointer-events: none;
@@ -3323,6 +3323,113 @@ Author: ${s.textContent} `),a.textContent&&(t+=`Comment: ${a.textContent}
3323
3323
  stroke-dasharray: 6 4;
3324
3324
  }
3325
3325
 
3326
+ /* \u2500\u2500 Action Spotlight (agent target highlight) \u2500\u2500 */
3327
+ .actionSpotlightLayer {
3328
+ position: fixed;
3329
+ inset: 0;
3330
+ width: 100vw;
3331
+ height: 100vh;
3332
+ pointer-events: none;
3333
+ z-index: 2147483645;
3334
+ }
3335
+
3336
+ .actionSpotlightRing {
3337
+ position: fixed;
3338
+ left: 0;
3339
+ top: 0;
3340
+ border-radius: 10px;
3341
+ border: 2px solid var(--rv-accent, #ff4c00);
3342
+ background: rgba(255, 76, 0, 0.045);
3343
+ box-shadow:
3344
+ 0 0 0 2px rgba(255, 255, 255, 0.74),
3345
+ 0 0 0 6px rgba(255, 76, 0, 0.12),
3346
+ 0 12px 32px rgba(255, 76, 0, 0.18);
3347
+ opacity: 1;
3348
+ transform-origin: center;
3349
+ will-change: transform, width, height, opacity;
3350
+ transition: opacity 420ms ease, box-shadow 220ms ease;
3351
+ }
3352
+
3353
+ .actionSpotlightRing.pulse {
3354
+ animation: actionSpotlightPulse 720ms var(--rv-ease-decel) 1;
3355
+ }
3356
+
3357
+ .actionSpotlightRing.fading {
3358
+ opacity: 0;
3359
+ box-shadow:
3360
+ 0 0 0 1px rgba(255, 255, 255, 0.4),
3361
+ 0 0 0 2px rgba(255, 76, 0, 0);
3362
+ }
3363
+
3364
+ .actionSpotlightChip {
3365
+ position: fixed;
3366
+ left: 0;
3367
+ top: 0;
3368
+ max-width: 180px;
3369
+ min-height: 26px;
3370
+ padding: 5px 9px;
3371
+ border-radius: 999px;
3372
+ background: rgba(26, 26, 25, 0.88);
3373
+ color: #fff;
3374
+ border: 1px solid rgba(255, 255, 255, 0.14);
3375
+ box-shadow: 0 10px 28px rgba(10, 14, 24, 0.16);
3376
+ backdrop-filter: blur(14px);
3377
+ -webkit-backdrop-filter: blur(14px);
3378
+ font: 700 11px/1.35 'Manrope', system-ui, -apple-system, sans-serif;
3379
+ white-space: nowrap;
3380
+ overflow: hidden;
3381
+ text-overflow: ellipsis;
3382
+ opacity: 1;
3383
+ will-change: transform, opacity;
3384
+ transition: opacity 420ms ease;
3385
+ }
3386
+
3387
+ .actionSpotlightChip.fading {
3388
+ opacity: 0;
3389
+ }
3390
+
3391
+ :host(.dark) .actionSpotlightRing {
3392
+ background: rgba(255, 76, 0, 0.07);
3393
+ box-shadow:
3394
+ 0 0 0 2px rgba(15, 17, 23, 0.72),
3395
+ 0 0 0 6px rgba(255, 76, 0, 0.16),
3396
+ 0 12px 32px rgba(255, 76, 0, 0.22);
3397
+ }
3398
+
3399
+ @keyframes actionSpotlightPulse {
3400
+ 0% {
3401
+ opacity: 0.2;
3402
+ box-shadow:
3403
+ 0 0 0 0 rgba(255, 255, 255, 0.74),
3404
+ 0 0 0 0 rgba(255, 76, 0, 0.22),
3405
+ 0 12px 32px rgba(255, 76, 0, 0.12);
3406
+ }
3407
+ 55% {
3408
+ opacity: 1;
3409
+ box-shadow:
3410
+ 0 0 0 2px rgba(255, 255, 255, 0.74),
3411
+ 0 0 0 10px rgba(255, 76, 0, 0.06),
3412
+ 0 12px 32px rgba(255, 76, 0, 0.2);
3413
+ }
3414
+ 100% {
3415
+ opacity: 1;
3416
+ box-shadow:
3417
+ 0 0 0 2px rgba(255, 255, 255, 0.74),
3418
+ 0 0 0 6px rgba(255, 76, 0, 0.12),
3419
+ 0 12px 32px rgba(255, 76, 0, 0.18);
3420
+ }
3421
+ }
3422
+
3423
+ @media (prefers-reduced-motion: reduce) {
3424
+ .actionSpotlightRing.pulse {
3425
+ animation: none;
3426
+ }
3427
+ .actionSpotlightRing,
3428
+ .actionSpotlightChip {
3429
+ transition: opacity 120ms ease;
3430
+ }
3431
+ }
3432
+
3326
3433
  /* \u2500\u2500 Tool Ripple \u2500\u2500 */
3327
3434
  .tool-ripple {
3328
3435
  position: fixed;
@@ -3423,7 +3530,7 @@ Author: ${s.textContent} `),a.textContent&&(t+=`Comment: ${a.textContent}
3423
3530
  transform: scale(0.98);
3424
3531
  }
3425
3532
 
3426
- `;var ty=`
3533
+ `;var ly=`
3427
3534
  /* \u2500\u2500 Input Bar (minimized state) \u2500\u2500 */
3428
3535
  .inputBar {
3429
3536
  position: fixed;
@@ -3670,7 +3777,7 @@ Author: ${s.textContent} `),a.textContent&&(t+=`Comment: ${a.textContent}
3670
3777
  border-color: var(--rv-border-strong);
3671
3778
  color: var(--rv-text);
3672
3779
  }
3673
- `;var ny=`
3780
+ `;var dy=`
3674
3781
  /* \u2500\u2500 Live Stack (floating card stack above input bar) \u2500\u2500 */
3675
3782
  .liveStack {
3676
3783
  position: fixed;
@@ -4031,7 +4138,7 @@ Author: ${s.textContent} `),a.textContent&&(t+=`Comment: ${a.textContent}
4031
4138
  font-size: 9px;
4032
4139
  }
4033
4140
  }
4034
- `;function ay(e){let t=cb(e.agent?.name),n=lb(t),r=db(t),o=e.mascot?.disabled===!0,a=Yu(e,t,o),i=e.visitorName,s=e.panel?.resizable!==!1,c=document.createElement("div");c.id="rover-widget-root",(document.body||document.documentElement).appendChild(c);let l=c.attachShadow({mode:"closed"}),d=document.createElement("style");d.textContent=`
4141
+ `;function fy(e){let t=db(e.agent?.name),n=ub(t),r=pb(t),o=e.mascot?.disabled===!0,i=Yu(e,t,o),a=e.visitorName,s=e.panel?.resizable!==!1,c=document.createElement("div");c.id="rover-widget-root",(document.body||document.documentElement).appendChild(c);let l=c.attachShadow({mode:"closed"}),d=document.createElement("style");d.textContent=`
4035
4142
  @font-face {
4036
4143
  font-family: 'Manrope';
4037
4144
  font-style: normal;
@@ -4039,21 +4146,21 @@ Author: ${s.textContent} `),a.textContent&&(t+=`Comment: ${a.textContent}
4039
4146
  font-display: swap;
4040
4147
  src: url('https://rover.rtrvr.ai/rover/fonts/manrope-latin.woff2') format('woff2');
4041
4148
  }
4042
- `,document.head.appendChild(d);let m=document.createElement("style");m.textContent=Kb+Xb+Yb+Jb+Qb+Zb+ey+ty+ny,l.appendChild(m);let f=document.createElement("div");f.className="rover",f.dataset.mood="idle",f.dataset.shell="presence";let p=_b("seed"),g=fb({siteId:e.siteId,host:window.location.hostname,muted:e.muted,mascot:e.mascot,readStored:D=>{try{return localStorage.getItem(D)}catch{return null}}}),y=g.soundEnabled&&!o,x=g.isMuted;function T(){if(y){if(x=!x,g.storageKey)try{localStorage.setItem(g.storageKey,String(x))}catch{}k.setMuted(x),W.setMuted(x),ne.setMuted(x)}}let k=Ob({agentName:t,launcherToken:r,mascotDisabled:o,mascotImage:e.mascot?.imageUrl,mascotMp4:e.mascot?.mp4Url,mascotWebm:e.mascot?.webmUrl,experience:a,siteId:e.siteId,onClick:()=>qa()}),b=jb({panelResizable:s,experience:a,agentName:t,onClose:Eo}),P=!1;function R(){P=!P,P?b.conversationDrawer.classList.add("open"):b.conversationDrawer.classList.remove("open")}b.conversationDrawerCloseBtn.addEventListener("click",()=>{P=!1,b.conversationDrawer.classList.remove("open")}),b.conversationNewBtn.addEventListener("click",()=>{P=!1,b.conversationDrawer.classList.remove("open"),e.onNewTask?.()});let _=!1,$=null,te=!1,W=Bb({agentName:t,agentInitial:n,mascotDisabled:o,mascotImage:e.mascot?.imageUrl,mascotMp4:e.mascot?.mp4Url,mascotWebm:e.mascot?.webmUrl,panelResizable:s,showTaskControls:e.showTaskControls!==!1,allowSoundToggle:y,isMuted:x,onClose:Eo,onMinimize:()=>Ur(),onCycleSize:()=>b.cyclePanelSize(),onNewTask:()=>{_&&e.onCancelRun?($="new_task",H({visible:!0,text:"A task is in progress. Cancel it and start new?",primaryLabel:"Cancel & start new",secondaryLabel:"Keep running"})):e.onNewTask?.()},onEndTask:()=>{_&&e.onCancelRun?($="end_task",H({visible:!0,text:"A task is in progress. Cancel and end it?",primaryLabel:"Cancel & end",secondaryLabel:"Keep running"})):e.onEndTask?.()},onCancelRun:()=>e.onCancelRun?.(),onRequestControl:()=>e.onRequestControl?.(),onToggleMute:T,onToggleConversations:R}),oe=Ub({thoughtStyle:e.thoughtStyle,stream:a.stream}),j=Fb(t,i),ae=e.shortcuts?.slice(0,12)||[];ae.length>0&&j.render(ae,e.onShortcutClick),oe.feed.appendChild(j.emptyState);let K=fp({onSelect:D=>{e.onShortcutClick?.(D)},onClose:()=>{}});ae.length>0&&K.setItems(ae);let ne=Vb({mascotDisabled:o,mascotImage:e.mascot?.imageUrl,mascotMp4:e.mascot?.mp4Url,mascotWebm:e.mascot?.webmUrl,launcherToken:r,isMuted:x,onExpand:()=>{p.getState()==="window"?Ur():Hr()},onClose:()=>ja()}),ue=()=>(window.visualViewport?.width??window.innerWidth??640)<=640,ke=mp({container:k.root,reducedMotion:ii(),mobile:ue(),color:a.theme?.accentColor||"rgba(255, 76, 0, 0.6)"}),me=hp({container:f,panel:b.panel,resolveElement:e.resolveElement}),je=up({onFrequencyData:D=>{let Q=1+D*.08;k.root.style.setProperty("--rv-audio-scale",String(Q))}}),pt=0,Et=0;function it(){let D=pt>0?Math.min(1,Et/pt)*100:0;b.panel.style.setProperty("--rv-tide-progress",`${D}%`)}let Me=document.createElement("span");Me.className="pulse-badge",Me.style.display="none",Me.textContent="0",k.root.appendChild(Me);let F=!1;function Y(){let Q=p.getState()==="seed"&&_;Q!==F&&(F=Q,k.root.classList.toggle("pulse",F),a.motion?.particles!==!1&&ke.setMode(F?"pulse":"idle"),Me.style.display=F?"flex":"none",ne.setRunning(_))}function Se(D,Q){let Ce=document.createElement("div");Ce.className="tool-ripple",Ce.style.left=`${D}px`,Ce.style.top=`${Q}px`,f.appendChild(Ce);try{let De=Ce.animate([{transform:"translate(-50%, -50%) scale(0)",opacity:.6},{transform:"translate(-50%, -50%) scale(1)",opacity:0}],{duration:500,fill:"forwards"});De.onfinish=()=>Ce.remove()}catch{setTimeout(()=>Ce.remove(),500)}}let X=Xu(e.voice),ee="idle",re="",xe="",pe="",nt="",et=!1,Pe=null,St=null,nn=null,$e=null,Tt=null,Ue=0,qe=!1,kt=!1,Ot=0,dt=null,It=!1,Nt=!1,Dn="";function Bt(){St&&(clearTimeout(St),St=null)}function rn(){nn&&(clearTimeout(nn),nn=null)}function Pn(){$e&&(clearTimeout($e),$e=null)}function _e(){Tt&&(clearTimeout(Tt),Tt=null)}let Zn=null,Re=null;function on(){Zn&&(clearTimeout(Zn),Zn=null),Re&&(clearTimeout(Re),Re=null)}function bn(){xe="",pe="",nt=""}function At(){Bt(),rn(),Pn(),_e(),Ue=0,qe=!1,kt=!1,Ot=0,dt=null,It=!1,Nt=!1}function Zi(){return vb(xe,pe,nt)}function Pc(){S.setText(Zi())}function ta(){return Ku(X?.autoStopMs)}function to(){return Ue?Math.max(0,Date.now()-Ue):0}function no(D,Q){e.onVoiceTelemetry?.(D,Q)}function _n(D){return{hadSpeech:qe,restartCount:Ot,durationMs:to(),autoStopMs:ta(),...D||{}}}function er(){return{code:"no_speech",message:"No speech was detected.",recoverable:!0}}function qn(D){It||(no("voice_error",_n({code:D.code,recoverable:D.recoverable})),It=!0),D.code==="permission_denied"&&no("voice_permission_denied",_n({code:D.code}))}function an(){let D=X?.enabled===!0&&a.inputs?.voice!==!1,Q=w.isSupported();if(S.setVoiceVisible(D&&Q),S.setVoiceActive(ee==="listening"),ee==="error"&&re){S.setStatusMessage(re,"error");return}if(ee==="listening"){S.setStatusMessage(qe?"Listening. Pause briefly when you're done.":"Listening. Start speaking when you're ready.");return}if(D&&!Q){S.setStatusMessage("Voice dictation is not available in this browser.");return}S.setStatusMessage("")}function kr(D){if(ee!=="listening"||qe||Pe||Ot>=3)return!1;let Q=to();return Q>=5e3||Q>=6e4?!1:D?D.code==="no_speech"||D.code==="aborted"||D.code==="unknown":!0}function Br(){if(ee!=="listening"||qe||!Ue)return;rn();let D=5e3-to();if(D<=0){let Q=dt?.code==="no_speech"?dt:er();Pe="no_speech",ee="error",re=Q.message,qn(Q),an(),w.stop();return}nn=setTimeout(()=>{if(ee!=="listening"||qe)return;let Q=er();dt=Q,Pe="no_speech",ee="error",re=Q.message,qn(Q),an(),w.stop()},D)}function ro(){if(ee!=="listening"||!Ue)return;Pn();let D=6e4-to();if(D<=0){if(qe)A("silence");else{let Q=er();dt=Q,Pe="no_speech",ee="error",re=Q.message,qn(Q),an(),w.stop()}return}$e=setTimeout(()=>{if(ee!=="listening")return;if(qe){A("silence");return}let Q=er();dt=Q,Pe="no_speech",ee="error",re=Q.message,qn(Q),an(),w.stop()},D)}function h(){ee!=="listening"||!qe||kt||(Bt(),St=setTimeout(()=>{ee==="listening"&&A("silence")},ta()))}function M(){kr(dt)&&(_e(),Ot+=1,dt=null,Br(),ro(),Tt=setTimeout(()=>{Tt=null,!(ee!=="listening"||qe||Pe)&&w.start({language:X?.language})},160))}function A(D,Q){if(ee!=="listening"){Q?.resetDraftBase&&(bn(),At());return}Bt(),rn(),Pn(),_e(),Pe=D,w.stop(),Q?.resetDraftBase&&bn()}function C(){if(S.textarea.disabled||!X?.enabled||!w.isSupported()){X?.enabled&&!w.isSupported()&&(ee="error",re="Voice dictation is not available in this browser.",an());return}re="",ee="listening",et=!1,Pe=null,xe=S.textarea.value,pe="",nt="",At(),Ue=Date.now(),Nt=!0,Br(),ro(),an(),w.start({language:X.language}),k.root.classList.add("voice-active"),je.start()}function E(D){dt=D,!(Pe&&(D.code==="aborted"||D.code==="no_speech"||D.code==="unknown"))&&(D.code==="aborted"||D.code==="no_speech"||D.code==="unknown"||(Bt(),rn(),_e(),ee="error",re=D.message,Pe="error",an(),qn(D)))}let w=pp({onStart:()=>{ee="listening",re="",dt=null,Br(),ro(),Nt&&(no("voice_started",_n({provider:"browser"})),Nt=!1),an()},onSpeechStart:()=>{ee==="listening"&&(qe=!0,kt=!0,dt=null,rn(),Bt(),an())},onSpeechEnd:()=>{ee==="listening"&&(kt=!1,qe&&h(),an())},onResult:({finalTranscript:D,interimTranscript:Q})=>{(D||Q)&&(qe=!0,kt=Q.length>0,dt=null,rn(),Bt()),pe=D,nt=Q,Pc(),qe&&!kt&&h(),an()},onEnd:({requested:D})=>{if(k.root.classList.remove("voice-active"),je.stop(),k.root.style.removeProperty("--rv-audio-scale"),_e(),!D&&kr(dt)){M();return}let Q=ze(Zi()),Ce=ze(xe).length>0,De=dt,Be=Pe||(D?"manual":"silence");if(Bt(),rn(),Pn(),!qe&&!D&&ee!=="error"){let fn=De?.code==="no_speech"?De:er();ee="error",re=fn.message,Pe="no_speech",Be="no_speech",qn(fn)}else!D&&!Pe&&qe?Be="silence":Pe&&(Be=Pe);ee!=="error"&&(ee="idle",re=""),Q&&no("voice_transcript_ready",_n({chars:Q.length,hadExistingDraft:Ce})),no("voice_stopped",_n({reason:Be,stopReason:Be,requested:D,errorCode:De?.code}));let Rt=et;et=!1,Pe=null,bn(),At(),an(),Rt&&Gt()},onError:E}),S=zb({agentName:t,experience:a,onSubmit:(D,Q)=>{if(!S.textarea.disabled){if(ee==="listening"){et=!0,A("submit");return}Gt()}},onVoiceStart:()=>{if(ee==="listening"){A("manual");return}C()},onVoiceStop:()=>A("manual")}),N=!1,q=!1,z=0,G="",Z=null,ie="Ready",he=!1,Ee="controller",tt=!1,ve=null,Ie=null,Ne={},lt="";function Gt(){if(S.textarea.disabled)return;let D=ze(S.textarea.value),Q=S.getPendingAttachments(),Ce=D||(Q.length>0?"Use the attached files as context for this task.":"");Ce&&(H({visible:!1}),G=D||(Q.length>0?`Review ${Q.length===1?Q[0].name:`${Q.length} attachments`}`:G),z=Date.now(),e.onSend(Ce,Q.length>0?{attachments:Q}:void 0),S.setText(""),S.clearAttachments(),re="",ee="idle",bn(),At(),et=!1,Pe=null,He(),an())}function He(){let D=!!(G||_);if(b.taskStage.style.display=D?"":"none",!D)return;b.taskStageTitle.textContent=_s(G,{maxLength:120,maxUrlLength:56})||`${a.presence?.assistantName||t} is working\u2026`;let Q=[];z>0&&Q.push(Mo(z)),ie&&ie.toLowerCase()!=="ready"&&Q.push(ie),b.taskStageMeta.textContent=Q.join(" \u2022 "),b.taskStageStatusPill.textContent=_?"Active task":"Done",b.taskStageStatusPill.classList.toggle("running",_),b.taskStageStatusPill.classList.toggle("idle",!_)}function Je(){if(b.artifactStageBody.innerHTML="",b.artifactStage.classList.toggle("visible",!!Z),b.artifactStage.classList.toggle("expanded",q),b.artifactStageToggle.textContent=q?"Collapse":"Expand",!Z){b.artifactStageBody.appendChild(b.artifactStageEmpty);return}let D=Is(Z);D?b.artifactStageBody.appendChild(D):b.artifactStageBody.appendChild(b.artifactStageEmpty)}function rt(D){if(!Array.isArray(D)||D.length===0)return;let Q=D.find(Ce=>Ce.type==="tool_output"||Ce.type==="json")||null;Q&&(Z=Q,a.stream?.artifactAutoMinimize!==!1&&(q=!1),Je())}b.artifactStageToggle.addEventListener("click",()=>{q=!q,Je()});function Xe(){let D=p.getState(),Q=b.panel.classList.contains("open")&&!b.panel.classList.contains("closing");D==="bar"?f.dataset.shell="bar":D==="window"?f.dataset.shell=_?"focus_stream":"stage":f.dataset.shell="presence";let Ce=Q&&!_&&(a.shell?.dimBackground!==!1||a.shell?.blurBackground!==!1);b.backdrop.classList.toggle("visible",Ce)}function mt(){oe.showTyping(_&&he)}function xt(){let D=_||Ee==="observer"&&!tt;S.setDisabled(D),b.questionPromptCancel.disabled=D,b.questionPromptSubmit.disabled=D;for(let Q of Array.from(b.questionPromptForm.querySelectorAll(".questionPromptInput")))Q.disabled=D;D&&ee==="listening"&&A("disabled"),an()}b.taskSuggestionPrimaryBtn.addEventListener("click",()=>{if($){let D=$;$=null,H({visible:!1}),e.onCancelRun?.(),D==="new_task"?e.onNewTask?.():D==="end_task"&&e.onEndTask?.();return}e.onTaskSuggestionPrimary?.()}),b.taskSuggestionSecondaryBtn.addEventListener("click",()=>{if($){$=null,H({visible:!1});return}e.onTaskSuggestionSecondary?.()});function Ae(D){if(!D||!Array.isArray(D.questions))return[];let Q=[],Ce=new Set;for(let De=0;De<D.questions.length;De+=1){let Be=D.questions[De];if(!Be||typeof Be!="object")continue;let Rt=String(Be.key||Be.id||"").trim()||`clarification_${De+1}`,fn=String(Be.query||Be.question||"").trim();if(!fn||Ce.has(Rt))continue;Ce.add(Rt);let Kt=typeof Be.required=="boolean",Xt=typeof Be.optional=="boolean",ur=Kt?!!Be.required:Xt?!Be.optional:!0;Q.push({key:Rt,query:fn,...Be.id?{id:Be.id}:{},...Be.question?{question:Be.question}:{},...Array.isArray(Be.choices)?{choices:Be.choices}:{},required:ur})}return Q.slice(0,6)}function ge(D){return D.map(Q=>{let Ce=Array.isArray(Q.choices)?Q.choices.map(De=>ze(String(De||""))).filter(Boolean).join("|"):"";return`${Q.key}::${ze(Q.query)}::${Ce}::${Q.required===!1?"optional":"required"}`}).join("||")}function Oe(D){for(let Q of Array.from(b.questionPromptForm.querySelectorAll(".questionPromptInput")))if(Q.dataset.key===D)return Q;return null}b.questionPromptForm.addEventListener("submit",D=>{if(D.preventDefault(),S.textarea.disabled||!ve?.questions?.length)return;let Q={},Ce=[],De=null;for(let Kt of ve.questions){let Xt=Oe(Kt.key);if(!Xt)continue;let ur=ze(Xt.value);if(!ur&&Kt.required!==!1){Xt.classList.add("invalid"),De||(De=Xt);continue}Xt.classList.remove("invalid"),ur?(Ne[Kt.key]=ur,Q[Kt.key]=ur,Ce.push(`${Kt.key}: ${ur}`)):(delete Ne[Kt.key],Ce.push(`${Kt.key}: (no answer provided)`))}if(De){De.focus();return}let Be=ve.questions.map(Kt=>Kt.key),Rt=Ce.length?Ce.join(`
4043
- `):Be.map(Kt=>`${Kt}: (no answer provided)`).join(`
4044
- `),fn=S.getPendingAttachments();e.onSend(Rt,{askUserAnswers:{answersByKey:Q,rawText:Rt,keys:Be},attachments:fn.length?fn:void 0}),S.clearAttachments()}),b.questionPromptCancel.addEventListener("click",()=>{if(!S.textarea.disabled){if(e.onCancelQuestionFlow){e.onCancelQuestionFlow();return}e.onCancelRun?.()}}),b.panel.appendChild(b.panelGrabber),b.panel.appendChild(W.root),b.panel.appendChild(b.taskStage),b.panel.appendChild(b.artifactStage),b.panel.appendChild(b.conversationPill),b.panel.appendChild(b.pausedTaskBanner),b.panel.appendChild(oe.root),b.panel.appendChild(b.taskSuggestion),b.panel.appendChild(j.bar),b.panel.appendChild(b.questionPrompt),b.panel.appendChild(b.resizeHandle),b.panel.appendChild(b.conversationDrawer),ne.composerSlot.appendChild(S.root);let Ge=Gb({thoughtStyle:e.thoughtStyle,stream:a.stream});Ge.setOnExpand(()=>{Ge.hide(),p.getState()==="bar"&&Hr(),oe.setTraceExpanded(!0,a.stream?.maxVisibleLiveCards)}),f.appendChild(b.backdrop),f.appendChild(k.root),f.appendChild(k.greetingBubble),f.appendChild(b.panel),f.appendChild(Ge.root),f.appendChild(ne.root),f.appendChild(K.root),l.appendChild(f),l.addEventListener("keydown",D=>{let Q=D;if(Q.key==="Escape"){if(Q.stopPropagation(),K.isOpen()){K.close();return}if(b.panel.classList.contains("open")){Ur();return}if(p.getState()==="bar"){ja();return}}});let yn=D=>{if((D.metaKey||D.ctrlKey)&&D.code==="KeyK"){D.preventDefault(),D.stopPropagation(),K.isOpen()?K.close():K.open();return}D.code==="Period"&&D.shiftKey&&(D.metaKey||D.ctrlKey)&&(D.preventDefault(),D.stopPropagation(),b.panel.classList.contains("open")?Eo():na())};document.addEventListener("keydown",yn);let Ct=()=>{b.applyLayout(),k.applyPosition()};if(window.addEventListener("resize",Ct),window.addEventListener("orientationchange",Ct),window.visualViewport?.addEventListener("resize",Ct),window.visualViewport?.addEventListener("scroll",Ct),b.applyLayout(),k.applyPosition(),k.setMuted(x),W.setMuted(x),ne.setMuted(x),we("controller"),ht(X),oe.setTraceExpanded(!1,a.stream?.maxVisibleLiveCards),Je(),He(),a.theme?.accentColor){let D=Ju(a.theme.accentColor);for(let[Q,Ce]of Object.entries(D))f.style.setProperty(Q,Ce)}function Ur(){if(te=!0,p.getState()!=="window")return;W.closeOverflow(),a.shell?.transitionStyle!=="crossfade"&&!ii()?(b.backdrop.classList.remove("visible"),b.panel.animate([{opacity:1,transform:"translateY(0) scale(1)",filter:"blur(0)"},{opacity:0,transform:"translateY(12px) scale(0.97)",filter:"blur(3px)"}],{duration:Rs(250,a.motion?.intensity||"balanced"),easing:"cubic-bezier(0.4, 0, 0.2, 1)",fill:"forwards"}).finished.then(()=>{b.panel.classList.remove("open"),b.panel.style.display="none",b.panel.style.transform="",b.panel.style.filter="",b.panel.style.animation="",Xe()}).catch(()=>{})):(b.panel.classList.remove("open"),b.panel.style.display="none",b.backdrop.classList.remove("visible"),Xe()),p.setState("bar"),ne.setExpanded(!1),Y(),_&&Ge.show()}function Hr(){if(p.getState()!=="bar")return;b.applyLayout(),b.panel.style.transition="",a.shell?.transitionStyle!=="crossfade"&&!ii()?(b.backdrop.classList.add("visible"),b.panel.style.animation="none",b.panel.style.opacity="0",b.panel.style.display="flex",b.panel.classList.add("open"),b.panel.animate([{opacity:0,transform:"translateY(12px) scale(0.97)",filter:"blur(3px)"},{opacity:1,transform:"translateY(0) scale(1)",filter:"blur(0)"}],{duration:Rs(320,a.motion?.intensity||"balanced"),easing:"cubic-bezier(0.16, 1, 0.3, 1)",fill:"forwards"}).finished.then(()=>{b.panel.style.transform="",b.panel.style.filter="",b.panel.style.opacity="",Xe(),S.textarea.disabled||S.textarea.focus()}).catch(()=>{})):(b.panel.classList.add("open"),b.panel.style.display="flex",b.backdrop.classList.add("visible"),Xe(),S.textarea.disabled||S.textarea.focus()),p.setState("window"),ne.setExpanded(!0),Y(),e.onOpen?.()}function ja(){te=!1;let D=p.getState();if(D==="window")W.closeOverflow(),b.panel.classList.remove("open"),b.panel.style.display="none",b.panel.style.transform="",b.panel.style.filter="",b.panel.style.animation="",b.backdrop.classList.remove("visible"),p.setState("bar"),ne.setExpanded(!1),Y();else if(D!=="bar")return;p.setState("seed"),p.setMood("idle"),Y(),!ii()?(Ib({seed:k.root,bar:ne.root,duration:Rs(280,a.motion?.intensity||"balanced")}),Xe()):(ne.hide(),Xe()),e.onClose?.()}function qa(){if(p.getState()!=="seed")return;K.isOpen()&&K.close(),k.setGreeting(null),on(),p.setState("bar"),Y(),!ii()?Eb({seed:k.root,bar:ne.root,duration:Rs(300,a.motion?.intensity||"balanced")}).then(()=>{Xe(),te||Hr()}):(ne.show(),Xe(),te||Hr())}function na(){if(K.isOpen()&&K.close(),p.getState()==="bar"){Hr();return}if(p.getState()==="seed"){qa();return}}function Eo(){if(p.getState()==="bar"){ja();return}if(W.closeOverflow(),!b.panel.classList.contains("open")){e.onClose?.();return}Ur()}function v(D,Q,Ce){oe.addMessage(D,Q,Ce?.blocks),D==="assistant"&&_&&he&&(he=!1,mt()),D==="user"&&(G=ze(Q)||G,z=Date.now(),q=!1),D==="assistant"&&rt(Ce?.blocks),N=!0,He(),j.syncVisibility(N,_,!!ve?.questions?.length),D==="user"?p.setMood("typing",1200):D==="assistant"?p.setMood("success",1400):p.setMood("running",900),f.dataset.mood=p.getMood(),a.motion?.palimpsest!==!1&&b.backdrop.classList.toggle("palimpsest",_&&p.getMood()==="running")}function L(D){let Q=Ae(D);if(!Q.length){ve=null,Ie=null,Ne={},b.questionPromptList.innerHTML="",b.questionPrompt.classList.remove("visible"),j.syncVisibility(N,_,!1);return}let Ce=ge(Q),De=Ce!==Ie||!ve;if(ve={questions:Q},De){let Be=Ne;Ne={},b.questionPromptList.innerHTML="";for(let Rt of Q){let fn=document.createElement("label");fn.className="questionPromptItem";let Kt=document.createElement("span");Kt.className="questionPromptLabel",Kt.textContent=Rt.required===!1?`${Rt.query} (optional)`:Rt.query,fn.appendChild(Kt);let Xt=document.createElement("input");Xt.type="text",Xt.className="questionPromptInput",Xt.dataset.key=Rt.key,Xt.required=Rt.required!==!1;let ur=String(Be[Rt.key]||"");Ne[Rt.key]=ur,Xt.value=ur,Xt.addEventListener("input",()=>{Ne[Rt.key]=Xt.value,Xt.classList.remove("invalid")}),fn.appendChild(Xt),b.questionPromptList.appendChild(fn)}Ie=Ce}b.questionPrompt.classList.add("visible"),xt(),j.syncVisibility(N,_,!0)}function B(){oe.clearMessages(),N=!1,G="",z=0,Z=null,q=!1,S.clearAttachments(),Je(),He(),L(void 0),j.syncVisibility(!1,_,!1)}function H(D){b.taskSuggestion.classList.toggle("visible",!!D?.visible),b.taskSuggestionTextEl.textContent=D?.text||"Looks like a new request. Start a new task?",b.taskSuggestionPrimaryBtn.textContent=D?.primaryLabel||"Start new",b.taskSuggestionSecondaryBtn.textContent=D?.secondaryLabel||"Continue"}function J(D){let Q=String(D||"ready");W.setStatus(Q),ie=Q;let Ce=Q.toLowerCase(),De=p.getMood();if(Ce.includes("error")||Ce.includes("failed")){if(p.setMood("error",1800),De!=="error"){try{k.root.animate([{transform:"translateX(0)"},{transform:"translateX(-6px)"},{transform:"translateX(5px)"},{transform:"translateX(-4px)"},{transform:"translateX(3px)"},{transform:"translateX(-1px)"},{transform:"translateX(0)"}],{duration:800,easing:"ease-out"})}catch{}k.root.classList.add("error-wobble"),setTimeout(()=>k.root.classList.remove("error-wobble"),850)}}else Ce.includes("waiting")||Ce.includes("queued")||Ce.includes("paused")?p.setMood("waiting",0):Ce==="ready"||Ce.includes("complete")?p.setMood("idle"):p.setMood("running",1e3);f.dataset.mood=p.getMood(),a.motion?.palimpsest!==!1&&b.backdrop.classList.toggle("palimpsest",_&&p.getMood()==="running"),He()}function le(D){let Q=_;if(_=D,D)he=!0,z||(z=Date.now()),pt=0,Et=0,it(),a.motion?.particles!==!1&&ke.setMode("ambient"),p.getState()==="window"&&(W.closeOverflow(),b.panel.classList.remove("open"),b.panel.style.display="none",b.panel.style.transform="",b.panel.style.filter="",b.panel.style.animation="",b.backdrop.classList.remove("visible"),p.setState("bar"),ne.setExpanded(!1)),Ge.show(),ne.setRunning(!0),S.setSendAsStop(!0,()=>{e.onCancelRun?.()});else if(Ge.hide(),ne.setRunning(!1),S.setSendAsStop(!1,()=>{}),he=!1,me.clearAll(),Q&&p.getState()!=="window"&&Hr(),setTimeout(()=>oe.smartScrollToBottom(),80),Q&&p.getMood()!=="error"){a.motion?.particles!==!1&&ke.setMode("burst");try{k.root.animate([{transform:"scale(1)"},{transform:"scale(1.08)"},{transform:"scale(0.97)"},{transform:"scale(1)"}],{duration:600,easing:"ease-out"})}catch{}k.root.classList.add("completion-burst"),setTimeout(()=>{k.root.classList.remove("completion-burst"),Y()},700)}else a.motion?.particles!==!1&&ke.setMode("idle");a.motion?.palimpsest!==!1&&b.backdrop.classList.toggle("palimpsest",D&&p.getMood()==="running"),mt(),xt(),W.setRunning(D),!D&&a.stream?.artifactAutoMinimize!==!1&&(q=!1,Je()),He(),j.syncVisibility(N,_,!!ve?.questions?.length),Xe(),Q&&!D&&p.getMood()!=="error"||Y()}function we(D,Q){Ee=D,tt=D==="observer"?Q?.canComposeInObserver===!0:!0,xt(),W.setExecutionMode(D,Q),D==="controller"?S.setStaticPlaceholder(""):Q?.note?S.setStaticPlaceholder(Q.note):tt?S.setStaticPlaceholder("Send to take control and run here."):S.setStaticPlaceholder("Observer mode. Take control to run actions here.")}function Le(D){let Q=ze(D);Q&&!b.panel.classList.contains("open")&&k.setGreeting(Q)}function Qe(){k.setGreeting(null)}function ft(D){i=D||void 0,j.setVisitorName(i,t)}function ht(D){let Q=Xu(D),Ce=JSON.stringify(X||null),De=JSON.stringify(Q||null);if(Ce===De){an();return}X=Q,re="",et=!1,ee==="listening"?A("config"):(bn(),At(),ee="idle"),an()}function _t(D){if(a=Yu({...e,experience:D},t,o),k.update(a),S.update(a),oe.setStreamConfig(a.stream),Ge.setStreamConfig(a.stream),oe.setThoughtStyle(e.thoughtStyle),Ge.setThoughtStyle(e.thoughtStyle),a.theme?.accentColor){let Q=Ju(a.theme.accentColor);for(let[Ce,De]of Object.entries(Q))f.style.setProperty(Ce,De)}a.theme?.fontFamily&&f.style.setProperty("font-family",`${a.theme.fontFamily}, Manrope, sans-serif`),f.dataset.surfaceStyle=a.theme?.surfaceStyle||"glass",a.motion?.particles===!1&&ke.setMode("idle"),a.motion?.filaments===!1&&me.clearAll(),a.motion?.palimpsest===!1&&b.backdrop.classList.remove("palimpsest"),He(),Je(),k.applyPosition()}function pn(){b.applyLayout(),f.style.display="",k.applyPosition(),Xe()}function dr(){Eo(),f.style.display="none",Xe()}function oo(){p.destroy(),on(),Bt(),w.dispose(),K.destroy(),ne.destroy(),Ge.destroy(),ke.destroy(),me.destroy(),je.dispose(),window.removeEventListener("resize",Ct),window.removeEventListener("orientationchange",Ct),window.visualViewport?.removeEventListener("resize",Ct),window.visualViewport?.removeEventListener("scroll",Ct),document.removeEventListener("keydown",yn),d.remove(),c.remove()}function En(D){}let Mt="";function Pt(D){let Q=D.map(De=>`${De.id}|${De.summary}|${De.status}|${De.updatedAt}|${De.isActive}`).join(";;");if(Q===Mt)return;Mt=Q;let Ce=D.find(De=>De.isActive);b.conversationPillLabel.textContent=Ce&&_s(Ce.summary,{maxLength:44,maxUrlLength:32})||"Current task",b.conversationPill.style.display=D.length>1?"flex":"none",b.conversationList.innerHTML="";for(let De of D){let Be=document.createElement("div");Be.className=`conversationItem ${De.status}${De.isActive?" active":""}`,Be.dataset.id=De.id;let Rt=document.createElement("span");Rt.className="conversationDot";let fn=document.createElement("div");fn.className="conversationContent";let Kt=document.createElement("div");Kt.className="conversationSummary",Kt.textContent=_s(De.summary,{maxLength:64,maxUrlLength:36})||"Task";let Xt=document.createElement("div");Xt.className="conversationMeta";let ur=De.status==="running"?"Running":De.status==="paused"?"Paused":De.status==="completed"?"Done":De.status;Xt.textContent=`${ur} \xB7 ${Mo(De.updatedAt)}`,fn.appendChild(Kt),fn.appendChild(Xt);let Zd=document.createElement("div");Zd.className="conversationActions";let es=document.createElement("button");es.type="button",es.className="conversationDeleteBtn",es.textContent="\xD7",es.addEventListener("click",_x=>{_x.stopPropagation(),e.onDeleteConversation?.(De.id)}),Zd.appendChild(es),Be.appendChild(Rt),Be.appendChild(fn),Be.appendChild(Zd),Be.addEventListener("click",()=>{P=!1,b.conversationDrawer.classList.remove("open"),e.onSwitchConversation?.(De.id)}),b.conversationList.appendChild(Be)}}function ao(D){b.conversationList.querySelectorAll(".conversationItem").forEach(Q=>{Q.dataset.id===D?Q.classList.add("active"):Q.classList.remove("active")})}function Oc(D){lt=D.taskId;let Q=_s(D.rootUserInput,{maxLength:56,maxUrlLength:32})||"Task";b.pausedTaskBanner.innerHTML="";let Ce=document.createElement("span");Ce.className="pausedTaskText",Ce.textContent=`Paused: "${Q}"`;let De=document.createElement("div");De.className="pausedTaskActions";let Be=document.createElement("button");Be.type="button",Be.className="pausedTaskResumeBtn",Be.textContent="Resume",Be.addEventListener("click",()=>e.onResumeTask?.(lt));let Rt=document.createElement("button");Rt.type="button",Rt.className="pausedTaskCancelBtn",Rt.textContent="Cancel",Rt.addEventListener("click",()=>e.onCancelPausedTask?.(lt)),De.appendChild(Be),De.appendChild(Rt),b.pausedTaskBanner.appendChild(Ce),b.pausedTaskBanner.appendChild(De),b.pausedTaskBanner.classList.add("visible")}function Sx(){lt="",b.pausedTaskBanner.classList.remove("visible")}if(e.greeting?.text&&e.greeting.disabled!==!0){let D=e.greeting.delay??800;Zn=setTimeout(()=>{Zn=null,b.panel.classList.contains("open")||(Le(e.greeting.text),e.greeting.duration!=null&&e.greeting.duration>0&&(Re=setTimeout(()=>{Re=null,Qe()},e.greeting.duration)))},D)}return{addMessage:v,setTranscript:(D,Q)=>{oe.setTranscript(D,Q),N=D.length>0||Q.length>0;let Ce=[...D].reverse().find(De=>De.role==="user");G=Ce?ze(Ce.text):"",He(),j.syncVisibility(N,_,!!ve?.questions?.length)},setQuestionPrompt:L,clearMessages:B,addTimelineEvent:D=>{oe.addTimelineEvent(D),Ge.addTimelineEvent(D),rt(D.detailBlocks),D.kind==="thought"&&_&&he&&(he=!1,mt()),(D.title||"").toLowerCase()==="run completed"&&oe.setTraceExpanded(!1,a.stream?.maxVisibleLiveCards);let Q=D.status||(D.kind==="error"?"error":D.kind==="tool_result"?"success":"pending");if(Q==="error"?p.setMood("error",2200):Q==="success"?p.setMood("success",1200):p.setMood("running",800),f.dataset.mood=p.getMood(),a.motion?.palimpsest!==!1&&b.backdrop.classList.toggle("palimpsest",_&&p.getMood()==="running"),He(),D.kind==="tool_start"&&(pt++,it(),D.elementId!=null&&a.motion?.filaments!==!1)){me.addTarget(D.elementId,D.toolName);let De=e.resolveElement?.(D.elementId);if(De){let Be=De.getBoundingClientRect();Se(Be.left+Be.width/2,Be.top+Be.height/2),f.style.setProperty("--rv-palimpsest-x",`${Be.left+Be.width/2}px`),f.style.setProperty("--rv-palimpsest-y",`${Be.top+Be.height/2}px`)}else{let Be=b.panel.getBoundingClientRect();Se(Be.left,Be.top+Be.height/2)}}D.kind==="tool_result"&&(Et++,it(),D.elementId!=null&&me.fadeTarget(D.elementId));let Ce=oe.traceOrder.length;Me.textContent=String(Ce),Y()},clearTimeline:()=>{oe.clearTimeline(),Ge.clear(),Z=null,q=!1,Je(),He(),pt=0,Et=0,it(),me.clearAll(),Me.textContent="0"},setTaskSuggestion:H,setStatus:J,setRunning:le,setExecutionMode:we,setShortcuts:D=>{j.render(D,e.onShortcutClick),j.syncVisibility(N,_,!!ve?.questions?.length),K.setItems(D)},showGreeting:Le,dismissGreeting:Qe,setVisitorName:ft,setVoiceConfig:ht,setPlaceholders:D=>{S.setPlaceholders(D)},setExperience:_t,open:na,close:Eo,minimize:Ur,maximize:Hr,show:pn,hide:dr,destroy:oo,setState:D=>{D==="window"?na():D==="bar"?Ur():Eo()},getState:()=>p.getState(),setTabs:En,setConversations:Pt,setActiveConversationId:ao,getScrollPosition:()=>oe.getScrollPosition(),setScrollPosition:D=>oe.setScrollPosition(D),showPausedTaskBanner:Oc,hidePausedTaskBanner:Sx}}var cy=3,vS="rover:shared:",kS="rover:channel:",kp=2*6e4,iy=9e4,xp=45e3,wp=2e4,xS=45e3;function ye(){return Date.now()}function qr(e){try{return`${e}-${crypto.randomUUID()}`}catch{return`${e}-${Date.now()}-${Math.floor(Math.random()*1e5)}`}}function Hl(e){let t=String(e||"").trim();if(!t)return"";try{return new URL(t,window.location.href).toString()}catch{return t}}function ly(e){if(!e||typeof e!="object")return;let t=typeof e.taskId=="string"?e.taskId.trim():"";if(!t)return;let n=e.status==="completed"||e.status==="cancelled"||e.status==="failed"||e.status==="ended"||e.status==="running"?e.status:"running";return{taskId:t,status:n,startedAt:Number(e.startedAt)||ye(),lastUserAt:Number(e.lastUserAt)||void 0,lastAssistantAt:Number(e.lastAssistantAt)||void 0,boundaryReason:typeof e.boundaryReason=="string"?e.boundaryReason:void 0,endedAt:Number(e.endedAt)||void 0}}function dy(e){return e==="completed"?"completed":e==="cancelled"||e==="ended"?"cancelled":e==="failed"?"failed":"running"}function Fl(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(-4)){let r=n?.role==="user"?"user":n?.role==="model"?"model":void 0;if(!r)continue;let o=String(n?.message||"").replace(/\s+/g," ").trim();if(!o)continue;let a=t[t.length-1];a&&a.role===r&&a.message===o||t.push({role:r,message:o})}return t}function Cs(e,t){if(!e)return;let n=typeof e=="string"?e:e?.text,r=String(n||"").trim();if(!r)return;let o=typeof e?.runId=="string"&&e.runId.trim()?e.runId.trim():typeof t?.runId=="string"&&t.runId.trim()?t.runId.trim():void 0,a=typeof e?.taskId=="string"&&e.taskId.trim()?e.taskId.trim():typeof t?.taskId=="string"&&t.taskId.trim()?t.taskId.trim():void 0;return{text:r,ts:Number(e?.ts)||ye(),runId:o,taskId:a,stage:typeof e?.stage=="string"&&e.stage.trim()?e.stage.trim():void 0}}function uy(e){return Array.isArray(e)?e.slice(-zt.uiMessages).map(t=>({id:String(t?.id||qr("msg")),role:t?.role==="user"||t?.role==="assistant"||t?.role==="system"?t.role:"system",text:String(t?.text||""),blocks:fi(t?.blocks),ts:Number(t?.ts)||ye(),sourceRuntimeId:typeof t?.sourceRuntimeId=="string"?t.sourceRuntimeId:void 0})).filter(t=>!!t.text||!!t.blocks?.length):[]}function py(e){return Array.isArray(e)?e.slice(-zt.timelineEvents).map(t=>({id:String(t?.id||qr("timeline")),kind:String(t?.kind||"status"),title:String(t?.title||"Step"),detail:typeof t?.detail=="string"?t.detail:void 0,detailBlocks:fi(t?.detailBlocks),status:t?.status==="pending"||t?.status==="success"||t?.status==="error"||t?.status==="info"?t.status:void 0,ts:Number(t?.ts)||ye(),sourceRuntimeId:typeof t?.sourceRuntimeId=="string"?t.sourceRuntimeId:void 0})).filter(t=>!!t.title):[]}var wS=new Set(["idle","running","awaiting_user","paused","blocked","completed","failed","cancelled"]);function TS(e){if(!e||typeof e!="object")return;let t=typeof e.taskId=="string"?e.taskId.trim():"";if(!t)return;let n=wS.has(e.state)?e.state:"running";return{taskId:t,state:n,startedAt:Number(e.startedAt)||ye(),endedAt:Number(e.endedAt)||void 0,activeRun:e.activeRun&&typeof e.activeRun=="object"&&e.activeRun.runId?{runId:String(e.activeRun.runId),text:String(e.activeRun.text||""),runtimeId:String(e.activeRun.runtimeId||""),startedAt:Number(e.activeRun.startedAt)||ye(),updatedAt:Number(e.activeRun.updatedAt)||ye()}:void 0,workerContext:jl(e.workerContext),uiMessages:Array.isArray(e.uiMessages)?e.uiMessages.slice(-zt.uiMessages).map(r=>({id:String(r?.id||qr("msg")),role:r?.role==="user"||r?.role==="assistant"||r?.role==="system"?r.role:"system",text:String(r?.text||""),blocks:fi(r?.blocks),ts:Number(r?.ts)||ye(),sourceRuntimeId:typeof r?.sourceRuntimeId=="string"?r.sourceRuntimeId:void 0})).filter(r=>!!r.text||!!r.blocks?.length):[],timeline:Array.isArray(e.timeline)?e.timeline.slice(-zt.timelineEvents).map(r=>({id:String(r?.id||qr("timeline")),kind:String(r?.kind||"status"),title:String(r?.title||"Step"),detail:typeof r?.detail=="string"?r.detail:void 0,detailBlocks:fi(r?.detailBlocks),status:r?.status==="pending"||r?.status==="success"||r?.status==="error"||r?.status==="info"?r.status:void 0,ts:Number(r?.ts)||ye(),sourceRuntimeId:typeof r?.sourceRuntimeId=="string"?r.sourceRuntimeId:void 0})).filter(r=>!!r.title):[],rootUserInput:typeof e.rootUserInput=="string"?e.rootUserInput:void 0,summary:typeof e.summary=="string"?e.summary:void 0,seedChatLog:Fl(e.seedChatLog),transientStatus:Cs(e.transientStatus,{runId:e.activeRun?.runId,taskId:t})}}function SS(e){if(!e||typeof e!="object")return;let t={},n=0;for(let r of Object.keys(e)){if(n>=20)break;let o=TS(e[r]);o&&(t[o.taskId]=o,n++)}return Object.keys(t).length>0?t:void 0}function fy(e){if(e==null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;try{return structuredClone(e)}catch{try{return JSON.parse(JSON.stringify(e))}catch{return}}}function fi(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(!n||typeof n!="object")continue;let r=n.type;if(r==="text"){let o=String(n.text||"");if(!o)continue;t.push({type:"text",text:o});continue}if(r==="tool_output"||r==="json"){let o=fy(n.data);t.push({type:r,data:o,label:typeof n.label=="string"?n.label:void 0,toolName:typeof n.toolName=="string"?n.toolName:void 0})}}return t.length?t:void 0}function sy(e,t){if(!Array.isArray(e))return[];let n=e.length<=t?e:[e[0],...e.slice(-(t-1))],r=[];for(let o of n){let a=fy(o);a!==void 0&&r.push(a)}return r}function jl(e){if(!e||typeof e!="object")return;let t=Array.isArray(e.pendingAskUser?.questions)?e.pendingAskUser.questions.map((l,d)=>{let m=String(l?.key||l?.id||"").trim()||`clarification_${d+1}`,f=String(l?.query||l?.question||"").trim();if(f)return{key:m,query:f,id:typeof l?.id=="string"?l.id:void 0,question:typeof l?.question=="string"?l.question:void 0,choices:Array.isArray(l?.choices)?l.choices:void 0}}).filter(l=>!!l).slice(0,6):[],n=e.pendingAskUser?.stepRef,r=n&&Number.isFinite(Number(n.stepIndex))&&Number(n.stepIndex)>=0&&Number.isFinite(Number(n.functionIndex))&&Number(n.functionIndex)>=0?{stepIndex:Number(n.stepIndex),functionIndex:Number(n.functionIndex),...typeof n.accTreeId=="string"&&n.accTreeId.trim()?{accTreeId:n.accTreeId.trim()}:{}}:void 0,o=l=>l.slice(-zt.uiMessages).map(d=>({role:typeof d?.role=="string"?d.role:"assistant",content:typeof d?.content=="string"?d.content:""})).filter(d=>!!d.content),a=Array.isArray(e.history)?o(e.history):[],i=sy(e.plannerHistory,zt.plannerHistory),s=sy(e.agentPrevSteps,zt.prevSteps),c=typeof e.rootUserInput=="string"?e.rootUserInput.trim():"";return{trajectoryId:typeof e.trajectoryId=="string"?e.trajectoryId:void 0,taskBoundaryId:typeof e.taskBoundaryId=="string"&&e.taskBoundaryId.trim()?e.taskBoundaryId.trim():void 0,rootUserInput:c||void 0,seedChatLog:Fl(e.seedChatLog),history:a,plannerHistory:i,agentPrevSteps:s,pendingAskUser:t.length?{questions:t,source:e.pendingAskUser?.source==="planner"?"planner":"act",askedAt:Number(e.pendingAskUser?.askedAt)||ye(),boundaryId:typeof e.pendingAskUser?.boundaryId=="string"&&e.pendingAskUser.boundaryId.trim()?e.pendingAskUser.boundaryId.trim():void 0,...r?{stepRef:r}:{}}:void 0,updatedAt:Number(e.updatedAt)||ye()}}function Tp(e,t){return{version:cy,siteId:e,sessionId:t,seq:1,updatedAt:ye(),lease:void 0,tabs:[],nextLogicalTabId:1,activeLogicalTabId:void 0,uiMessages:[],timeline:[],uiStatus:void 0,transientStatus:void 0,activeRun:void 0,taskEpoch:1,task:void 0,workerContext:void 0,workflowLock:void 0,tasks:void 0,activeTaskId:void 0}}function ui(e,t,n){let r=Tp(t,n);if(!e||typeof e!="object")return r;let o={...r,version:cy,siteId:t,sessionId:n,seq:Math.max(1,Number(e.seq)||1),updatedAt:Number(e.updatedAt)||ye(),tabs:Array.isArray(e.tabs)?e.tabs.map(s=>({logicalTabId:Math.max(1,Number(s?.logicalTabId)||0),runtimeId:typeof s?.runtimeId=="string"?s.runtimeId:void 0,url:String(s?.url||""),title:typeof s?.title=="string"?s.title:void 0,openedAt:Number(s?.openedAt)||ye(),updatedAt:Number(s?.updatedAt)||ye(),external:!!s?.external,openerRuntimeId:typeof s?.openerRuntimeId=="string"?s.openerRuntimeId:void 0,detachedAt:Number(s?.detachedAt)||void 0,detachedReason:s?.detachedReason==="navigation_handoff"||s?.detachedReason==="tab_close"||s?.detachedReason==="opened_pending_attach"||s?.detachedReason==="unknown"?s.detachedReason:void 0,handoffId:typeof s?.handoffId=="string"?s.handoffId:void 0,handoffRunId:typeof s?.handoffRunId=="string"?s.handoffRunId:void 0,handoffTargetUrl:typeof s?.handoffTargetUrl=="string"?s.handoffTargetUrl:void 0,handoffCreatedAt:Number(s?.handoffCreatedAt)||void 0})).filter(s=>!!s.logicalTabId):[],nextLogicalTabId:Math.max(1,Number(e.nextLogicalTabId)||1),activeLogicalTabId:Number(e.activeLogicalTabId)||void 0,uiMessages:uy(e.uiMessages),timeline:py(e.timeline),taskEpoch:Math.max(1,Number(e.taskEpoch)||1),task:ly(e.task),workerContext:jl(e.workerContext),uiStatus:typeof e.uiStatus=="string"?e.uiStatus:void 0,transientStatus:Cs(e.transientStatus??e.uiStatus,{runId:e.activeRun?.runId,taskId:e.task?.taskId}),activeRun:e.activeRun&&typeof e.activeRun=="object"?{runId:String(e.activeRun.runId||""),text:String(e.activeRun.text||""),runtimeId:String(e.activeRun.runtimeId||""),startedAt:Number(e.activeRun.startedAt)||ye(),updatedAt:Number(e.activeRun.updatedAt)||ye()}:void 0,lease:e.lease&&typeof e.lease=="object"&&e.lease.holderRuntimeId?{holderRuntimeId:String(e.lease.holderRuntimeId),expiresAt:Number(e.lease.expiresAt)||0,updatedAt:Number(e.lease.updatedAt)||ye()}:void 0,workflowLock:e.workflowLock&&typeof e.workflowLock=="object"&&e.workflowLock.runtimeId&&e.workflowLock.runId?{runtimeId:String(e.workflowLock.runtimeId),runId:String(e.workflowLock.runId),lockedAt:Number(e.workflowLock.lockedAt)||ye(),expiresAt:Number(e.workflowLock.expiresAt)||0}:void 0,tasks:e.tasks&&typeof e.tasks=="object"?SS(e.tasks):void 0,activeTaskId:typeof e.activeTaskId=="string"?e.activeTaskId:void 0},a=o.tabs.length,i=new Set;return o.tabs=o.tabs.filter(s=>i.has(s.logicalTabId)?!1:(i.add(s.logicalTabId),!0)),o.nextLogicalTabId<=(o.tabs.at(-1)?.logicalTabId??0)&&(o.nextLogicalTabId=o.tabs.reduce((s,c)=>Math.max(s,c.logicalTabId),0)+1),a>0&&o.tabs.length<a&&console.warn(`[rover] sanitizeSharedState: dropped ${a-o.tabs.length} invalid/duplicate tab entries`),Gn(o),o}function _S(e){let t=String(e.task?.taskId||e.activeTaskId||"").trim();if(!t)return;let n=Number(e.task?.startedAt)||ye();e.tasks||(e.tasks={});let r=e.tasks[t];if(r)return e.activeTaskId=t,r;let o={taskId:t,state:dy(e.task?.status),startedAt:n,endedAt:e.task?.endedAt,activeRun:e.activeRun,workerContext:e.workerContext,uiMessages:[...e.uiMessages],timeline:[...e.timeline],rootUserInput:e.workerContext?.rootUserInput,summary:void 0,seedChatLog:Fl(e.workerContext?.seedChatLog),transientStatus:Cs(e.transientStatus??e.uiStatus,{runId:e.activeRun?.runId,taskId:t})};return e.tasks[t]=o,e.activeTaskId=t,o}function Gn(e){let t=_S(e);if(!t)return;t.state=dy(e.task?.status),t.startedAt=Number(e.task?.startedAt)||t.startedAt||ye(),t.endedAt=Number(e.task?.endedAt)||void 0,t.activeRun=e.activeRun,t.workerContext=jl(e.workerContext),t.uiMessages=uy(e.uiMessages),t.timeline=py(e.timeline),t.rootUserInput=e.workerContext?.rootUserInput||t.rootUserInput;let n=[...t.uiMessages].reverse().find(r=>r.role==="assistant");t.summary=n?.text||t.summary,t.seedChatLog=Fl(e.workerContext?.seedChatLog),t.transientStatus=Cs(e.transientStatus??e.uiStatus,{runId:e.activeRun?.runId,taskId:t.taskId})}var pi=class pi{constructor(t){U(this,"siteId");U(this,"sessionId");U(this,"runtimeId");U(this,"leaseMs");U(this,"workflowLockMs");U(this,"heartbeatMs");U(this,"maxMessages");U(this,"maxTimeline");U(this,"onRoleChange");U(this,"onStateChange");U(this,"onSwitchRequested");U(this,"onTaskTabsExhausted");U(this,"key");U(this,"channelName");U(this,"state");U(this,"taskTabMapping",new Map);U(this,"channel",null);U(this,"heartbeatTimer",null);U(this,"storageHandler",null);U(this,"localLogicalTabId");U(this,"closing",!1);U(this,"started",!1);U(this,"heartbeatCount",0);U(this,"lastNotifiedStateHash","");U(this,"pendingRpcRequests",new Map);U(this,"rpcRequestHandler");U(this,"lastNotifiedRole");U(this,"roleChangeTimer",null);U(this,"probeTimers",[]);U(this,"onSessionTokenReceived");U(this,"onProjectionReceived");U(this,"lastFullHeartbeatAt",0);this.siteId=t.siteId,this.sessionId=t.sessionId,this.runtimeId=t.runtimeId,this.leaseMs=Math.max(4e3,Number(t.leaseMs)||12e3),this.workflowLockMs=Math.max(3e4,Number(t.workflowLockMs)||18e4),this.heartbeatMs=Math.max(800,Number(t.heartbeatMs)||2e3),this.maxMessages=Math.max(20,Number(t.maxMessages)||zt.uiMessages),this.maxTimeline=Math.max(20,Number(t.maxTimeline)||zt.timelineEvents),this.onRoleChange=t.onRoleChange,this.onStateChange=t.onStateChange,this.onSwitchRequested=t.onSwitchRequested,this.onTaskTabsExhausted=t.onTaskTabsExhausted,this.key=`${vS}${this.siteId}:${this.sessionId}`,this.channelName=`${kS}${this.siteId}:${this.sessionId}`,this.state=this.loadState(),this.normalizeDraftTabs(this.state)}tabFreshnessTs(t){return Math.max(Number(t.updatedAt)||0,Number(t.openedAt)||0,Number(t.detachedAt)||0)}isBetterTabCandidate(t,n){if(!n)return!0;let r=this.tabFreshnessTs(t),o=this.tabFreshnessTs(n);return r!==o?r>o:!!t.runtimeId!=!!n.runtimeId?!!t.runtimeId:t.logicalTabId<n.logicalTabId}isRuntimeTabFresh(t,n){return t.runtimeId?t.runtimeId===this.runtimeId?!0:n-this.tabFreshnessTs(t)<=xS:!1}isTabVisibleInScope(t,n,r){return t.runtimeId?this.isRuntimeTabFresh(t,n):t.external?n-this.tabFreshnessTs(t)<=kp:t.detachedReason==="opened_pending_attach"?n-this.tabFreshnessTs(t)<=wp:r==="context"?!1:t.detachedReason==="navigation_handoff"?n-this.tabFreshnessTs(t)<=xp:n-this.tabFreshnessTs(t)<=iy}normalizeDraftTabs(t){let n=new Map;for(let p of t.tabs){if(!Number.isFinite(Number(p.logicalTabId))||Number(p.logicalTabId)<=0)continue;let g=n.get(p.logicalTabId);this.isBetterTabCandidate(p,g)&&n.set(p.logicalTabId,p)}let r=[],o=new Set;for(let p of t.tabs){if(o.has(p.logicalTabId))continue;let g=n.get(p.logicalTabId);g&&g===p&&(r.push(g),o.add(g.logicalTabId))}for(let[p,g]of n.entries())o.has(p)||(r.push(g),o.add(p));let a=new Map;for(let p of r){if(!p.runtimeId)continue;let g=a.get(p.runtimeId);this.isBetterTabCandidate(p,g)&&a.set(p.runtimeId,p)}if(t.tabs=r.filter(p=>!p.runtimeId||a.get(p.runtimeId)===p).sort((p,g)=>p.logicalTabId-g.logicalTabId),!t.tabs.length){t.activeLogicalTabId=void 0,t.nextLogicalTabId=1;return}let i=ye(),s=t.activeLogicalTabId?t.tabs.find(p=>p.logicalTabId===t.activeLogicalTabId):void 0,c=t.tabs.find(p=>p.runtimeId===this.runtimeId),d=[...t.tabs.filter(p=>this.isRuntimeTabFresh(p,i))].sort((p,g)=>this.tabFreshnessTs(g)-this.tabFreshnessTs(p))[0],m=s?.logicalTabId;s?(!s.runtimeId||!this.isRuntimeTabFresh(s,i))&&(m=c?.logicalTabId||d?.logicalTabId||s.logicalTabId):m=c?.logicalTabId||d?.logicalTabId||t.tabs[0]?.logicalTabId,t.activeLogicalTabId=m;let f=t.tabs.reduce((p,g)=>Math.max(p,g.logicalTabId),0);t.nextLogicalTabId=Math.max(Number(t.nextLogicalTabId)||1,f+1)}setTaskTabMapping(t){this.taskTabMapping=t}pruneDetachedTabs(t,n){let r=!!n?.dropRuntimeDetached,o=!!n?.dropAllDetachedExternal,a=!!n?.keepOnlyActiveLiveTab,i=!!n?.keepRecentExternalPlaceholders,s=ye(),c=new Map;if(this.onTaskTabsExhausted&&this.taskTabMapping.size>0)for(let l of t.tabs){let d=this.taskTabMapping.get(l.logicalTabId);if(d){let m=c.get(d);m||(m=new Set,c.set(d,m)),m.add(l.logicalTabId)}}if(t.tabs=t.tabs.filter(l=>{if(l.runtimeId)return this.isRuntimeTabFresh(l,s);if(r&&!l.external&&l.openerRuntimeId===this.runtimeId)return!1;if(l.external)return o?!1:s-this.tabFreshnessTs(l)<=kp;let d=s-this.tabFreshnessTs(l);return l.detachedReason==="navigation_handoff"?d<=xp:l.detachedReason==="opened_pending_attach"?d<=wp:d<=iy}),a){this.normalizeDraftTabs(t);let l=t.tabs.filter(g=>this.isRuntimeTabFresh(g,s)),d=l.find(g=>g.logicalTabId===t.activeLogicalTabId),m=l.find(g=>g.runtimeId===this.runtimeId),f=[...l].sort((g,y)=>this.tabFreshnessTs(y)-this.tabFreshnessTs(g))[0],p=d?.logicalTabId||m?.logicalTabId||f?.logicalTabId;t.tabs=t.tabs.filter(g=>g.runtimeId?!!p&&g.logicalTabId===p:g.external?i&&s-this.tabFreshnessTs(g)<=kp:!1),t.activeLogicalTabId=p||t.tabs.find(g=>g.runtimeId)?.logicalTabId||t.tabs[0]?.logicalTabId}if(this.normalizeDraftTabs(t),this.onTaskTabsExhausted&&c.size>0){let l=new Set(t.tabs.map(d=>d.logicalTabId));for(let[d,m]of c){let f=!1;for(let p of m)if(l.has(p)){f=!0;break}f||this.onTaskTabsExhausted(d)}}}resetDraftToSingleCurrentTab(t,n,r){let o=ye(),a=Hl(n),i=t.tabs.find(c=>c.runtimeId===this.runtimeId),s=Number(i?.openedAt)||o;t.tabs=[{logicalTabId:1,runtimeId:this.runtimeId,url:a||i?.url||"",title:r||i?.title,openedAt:s,updatedAt:o,external:!1,detachedAt:void 0,detachedReason:void 0}],t.activeLogicalTabId=1,t.nextLogicalTabId=2,t.lease={holderRuntimeId:this.runtimeId,expiresAt:o+this.leaseMs,updatedAt:o}}start(t){this.started||(this.started=!0,this.mutate("local",n=>{this.pruneDetachedTabs(n,{dropRuntimeDetached:!0})}),this.registerCurrentTab(window.location.href,document.title||void 0,t),this.claimLease(!1),typeof BroadcastChannel<"u"&&(this.channel=new BroadcastChannel(this.channelName),this.channel.onmessage=n=>{let r=n.data;if(!(!r||typeof r!="object")){if(r.type==="state"&&r.state){let o=ui(r.state,this.siteId,this.sessionId);this.applyIncomingState(o)}r.type==="switch_request"&&r.targetRuntimeId===this.runtimeId&&this.onSwitchRequested?.(Number(r.logicalTabId)||0),r.type==="rpc_request"&&r.targetRuntimeId===this.runtimeId&&this.handleInboundRpcRequest(r),r.type==="rpc_response"&&r.targetRuntimeId===this.runtimeId&&this.handleInboundRpcResponse(r),r.type==="tab_navigated"&&r.runtimeId&&r.runtimeId!==this.runtimeId&&this.handleRemoteNavigation(r),r.type==="tab_closing"&&r.runtimeId&&r.runtimeId!==this.runtimeId&&this.handleRemoteTabClosing(r),r.type==="session_token"&&r.runtimeId!==this.runtimeId&&this.onSessionTokenReceived?.(r.token,r.expiresAt),r.type==="projection"&&r.runtimeId!==this.runtimeId&&this.onProjectionReceived?.(r.projection)}}),this.storageHandler=n=>{if(!(n.key!==this.key||!n.newValue))try{let r=ui(JSON.parse(n.newValue),this.siteId,this.sessionId);this.applyIncomingState(r)}catch{}},window.addEventListener("storage",this.storageHandler),this.heartbeatTimer=window.setInterval(()=>{this.heartbeat()},this.heartbeatMs),typeof this.heartbeatTimer?.unref=="function"&&this.heartbeatTimer.unref(),this.notifyRoleChange(),this.onStateChange?.(this.state,"local"))}stop(){this.heartbeatCount=0,this.heartbeatTimer!=null&&(window.clearInterval(this.heartbeatTimer),this.heartbeatTimer=null),this.roleChangeTimer!=null&&(window.clearTimeout(this.roleChangeTimer),this.roleChangeTimer=null),this.storageHandler&&(window.removeEventListener("storage",this.storageHandler),this.storageHandler=null),this.channel&&(this.channel.close(),this.channel=null);for(let[,t]of this.pendingRpcRequests)window.clearTimeout(t.timer),t.reject(new Error("SessionCoordinator stopped"));this.pendingRpcRequests.clear();for(let t of this.probeTimers)clearTimeout(t);this.probeTimers=[],this.started&&(this.started=!1,this.mutate("local",t=>{t.tabs=t.tabs.filter(n=>n.runtimeId!==this.runtimeId),t.lease?.holderRuntimeId===this.runtimeId&&(t.lease=void 0),t.activeLogicalTabId&&!t.tabs.some(n=>n.logicalTabId===t.activeLogicalTabId)&&(t.activeLogicalTabId=void 0)}))}isController(){let t=this.state.lease;return!t||t.expiresAt<=ye()?!1:t.holderRuntimeId===this.runtimeId}getRole(){return this.isController()?"controller":"observer"}getLocalLogicalTabId(){return this.localLogicalTabId}getActiveLogicalTabId(){return this.state.activeLogicalTabId}getCurrentHolderRuntimeId(){return this.state.lease?.holderRuntimeId}getState(){return this.state}getTaskEpoch(){return this.state.taskEpoch}getTask(){return this.state.task}getWorkerContext(){return this.state.workerContext}syncTask(t,n){this.mutate("local",r=>{n&&Number.isFinite(n)&&n>r.taskEpoch&&(r.taskEpoch=Math.max(1,Math.trunc(n))),t&&(r.task=ly(t)||r.task,Gn(r))})}hydrateExternalState(t){let n=ui(t,this.siteId,this.sessionId);this.pruneDetachedTabs(n,{dropRuntimeDetached:!0});let r=this.state.seq,o=this.state.updatedAt;this.applyIncomingState(n);let a=this.state.seq!==r||this.state.updatedAt!==o;if(!a&&this.state.tabs.some(s=>s.runtimeId?!1:s.external?!0:s.openerRuntimeId===this.runtimeId)){let s=this.state.tabs.length;this.mutate("local",c=>{this.pruneDetachedTabs(c,{dropRuntimeDetached:!0})}),a=this.state.tabs.length!==s}return a?(this.persistState(),this.localLogicalTabId||this.registerCurrentTab(window.location.href,document.title||void 0),!0):!1}listTabs(t){let n=t?.scope==="all"?"all":"context",r=ye();return this.state.tabs.filter(o=>this.isTabVisibleInScope(o,r,n))}pruneTabs(t){this.mutate("local",n=>{this.pruneDetachedTabs(n,t)})}resetTabsToCurrent(t,n){return this.mutate("local",r=>{this.resetDraftToSingleCurrentTab(r,t,n)}),this.notifyRoleChange(),this.localLogicalTabId||1}startNewTask(t){let n=Number(t.startedAt)||ye(),r={taskId:String(t.taskId||qr("task")),status:t.status==="completed"||t.status==="cancelled"||t.status==="failed"||t.status==="ended"?t.status:"running",startedAt:n,lastUserAt:Number(t.lastUserAt)||n,lastAssistantAt:Number(t.lastAssistantAt)||void 0,boundaryReason:t.boundaryReason,endedAt:void 0};return this.mutate("local",o=>{o.taskEpoch=Math.max(1,Number(o.taskEpoch)||1)+1,o.task=r,o.uiMessages=[],o.timeline=[],o.uiStatus=void 0,o.transientStatus=void 0,o.activeRun=void 0,o.workerContext=void 0,this.resetDraftToSingleCurrentTab(o,window.location.href,document.title||void 0),Gn(o)}),r}endTask(t){let n;return this.mutate("local",r=>{r.task&&(r.task={...r.task,status:"ended",boundaryReason:t||r.task.boundaryReason,endedAt:ye()},r.activeRun=void 0,r.transientStatus=void 0,r.uiStatus=void 0,Gn(r),n=r.task)}),n}markTaskActivity(t,n=ye()){t!=="system"&&this.mutate("local",r=>{if(!r.task){r.task={taskId:qr("task"),status:"running",startedAt:n,boundaryReason:"implicit",lastUserAt:t==="user"?n:void 0,lastAssistantAt:t==="assistant"?n:void 0};return}r.task.status==="running"&&(t==="user"&&(r.task.lastUserAt=n),t==="assistant"&&(r.task.lastAssistantAt=n),Gn(r))})}setWorkerContext(t){this.mutate("local",n=>{if(!t){n.workerContext=void 0,Gn(n);return}n.workerContext=jl(t),Gn(n)})}setStatus(t){this.mutate("local",n=>{let r=Cs(t,{runId:n.activeRun?.runId,taskId:n.task?.taskId});n.uiStatus=r?.text,n.transientStatus=r,Gn(n)})}appendMessage(t){let n={id:t.id||qr("msg"),role:t.role,text:String(t.text||""),blocks:fi(t.blocks),ts:Number(t.ts)||ye(),sourceRuntimeId:this.runtimeId};return this.mutate("local",r=>{r.uiMessages.push(n),r.uiMessages.length>this.maxMessages&&(r.uiMessages=r.uiMessages.slice(-this.maxMessages)),r.task||(r.task={taskId:qr("task"),status:"running",startedAt:n.ts,boundaryReason:"implicit"}),n.role==="user"?r.task.lastUserAt=n.ts:n.role==="assistant"&&(r.task.lastAssistantAt=n.ts),Gn(r)}),n}appendTimeline(t){let n={id:t.id||qr("timeline"),kind:String(t.kind||"status"),title:String(t.title||"Step"),detail:t.detail?String(t.detail):void 0,detailBlocks:fi(t.detailBlocks),status:t.status,ts:Number(t.ts)||ye(),sourceRuntimeId:this.runtimeId};return this.mutate("local",r=>{r.timeline.push(n),r.timeline.length>this.maxTimeline&&(r.timeline=r.timeline.slice(-this.maxTimeline)),Gn(r)}),n}clearTimeline(){this.mutate("local",t=>{t.timeline=[],Gn(t)})}setActiveRun(t){this.mutate("local",n=>{if(!t){n.activeRun=void 0,n.transientStatus=void 0,n.uiStatus=void 0,Gn(n);return}if(n.task&&n.task.status!=="running"){n.activeRun=void 0,Gn(n);return}n.activeRun={runId:t.runId,text:t.text,runtimeId:this.runtimeId,startedAt:n.activeRun?.runId===t.runId?n.activeRun.startedAt:ye(),updatedAt:ye()},Gn(n)})}requestControl(){return this.claimLease(!0)}registerCurrentTab(t,n,r){let o=Hl(t),a=typeof r?.handoffId=="string"?r.handoffId.trim():"",i=Number(r?.sourceLogicalTabId),s;return this.mutate("local",c=>{let l=ye(),m=!!(c.lease&&c.lease.expiresAt>l)?c.lease?.holderRuntimeId:void 0,f=c.workflowLock&&c.workflowLock.runtimeId&&c.workflowLock.runtimeId!==this.runtimeId&&c.workflowLock.expiresAt>l?c.workflowLock:void 0,p=f?c.tabs.find(T=>T.runtimeId===f.runtimeId&&T.updatedAt>l-2*this.heartbeatMs):void 0,g=!p&&(!m||m===this.runtimeId),y=c.tabs.find(T=>T.runtimeId===this.runtimeId);if(y)y.url=o||y.url,y.title=n||y.title,y.updatedAt=l,y.detachedAt=void 0,y.detachedReason=void 0,y.handoffId=void 0,y.handoffRunId=void 0,y.handoffTargetUrl=void 0,y.handoffCreatedAt=void 0,s=y.logicalTabId;else{let T;if(a&&(T=c.tabs.find(k=>{if(k.runtimeId||String(k.handoffId||"").trim()!==a||Number.isFinite(i)&&i>0&&k.logicalTabId!==i)return!1;let b=l-Number(k.handoffCreatedAt||k.updatedAt||k.openedAt||0);return b>=0&&b<=3e4})),T||(T=c.tabs.find(k=>!k.runtimeId&&!k.external&&k.url===o&&l-k.openedAt<18e4)),T)T.runtimeId=this.runtimeId,T.url=o||T.url,T.title=n||T.title,T.updatedAt=l,T.detachedAt=void 0,T.detachedReason=void 0,T.handoffId=void 0,T.handoffRunId=void 0,T.handoffTargetUrl=void 0,T.handoffCreatedAt=void 0,s=T.logicalTabId;else{let k=c.nextLogicalTabId++;c.tabs.push({logicalTabId:k,runtimeId:this.runtimeId,url:o,title:n,openedAt:l,updatedAt:l,external:!1,detachedAt:void 0,detachedReason:void 0}),s=k}}s&&(c.tabs=c.tabs.filter(T=>{if(T.logicalTabId===s||T.runtimeId||T.external)return!0;if(a&&String(T.handoffId||"").trim()===a)return!1;let k=l-this.tabFreshnessTs(T);return!(!String(T.url||"").trim()&&k>wp||o&&T.url===o&&k<=xp)}));let x=c.activeLogicalTabId?c.tabs.find(T=>T.logicalTabId===c.activeLogicalTabId):void 0;p?c.activeLogicalTabId=p.logicalTabId:(!x||!x.runtimeId||x.logicalTabId===s||g)&&(c.activeLogicalTabId=s)}),this.notifyRoleChange(),this.localLogicalTabId||s||1}registerOpenedTab(t){let n=Hl(t.url),r=0;return this.mutate("local",o=>{let a=ye(),i=o.tabs.find(s=>!s.runtimeId&&!!s.external==!!t.external&&s.url===n);if(i){i.title=t.title||i.title,i.updatedAt=a,i.openerRuntimeId=t.openerRuntimeId||i.openerRuntimeId,i.detachedAt=i.detachedAt||a,i.detachedReason="opened_pending_attach",r=i.logicalTabId;return}r=o.nextLogicalTabId++,o.tabs.push({logicalTabId:r,runtimeId:void 0,url:n,title:t.title,openedAt:a,updatedAt:a,external:!!t.external,openerRuntimeId:t.openerRuntimeId,detachedAt:a,detachedReason:"opened_pending_attach"})}),t.external&&this.probeRoverAvailability(r),{logicalTabId:r}}probeRoverAvailability(t){let r=setTimeout(()=>{let o=this.state.tabs.find(a=>a.logicalTabId===t);o&&!o.runtimeId&&this.mutate("local",a=>{let i=a.tabs.find(s=>s.logicalTabId===t);i&&(i.roverAvailability="not_available")})},5e3);typeof r?.unref=="function"&&r.unref(),this.probeTimers.push(r)}switchToLogicalTab(t){let n={ok:!1,reason:"Unknown tab"};return this.mutate("local",r=>{let o=r.tabs.find(a=>a.logicalTabId===t);if(!o){n={ok:!1,reason:`Tab ${t} not found`};return}if(r.activeLogicalTabId=t,o.runtimeId&&o.runtimeId!==this.runtimeId){r.lease={holderRuntimeId:o.runtimeId,expiresAt:ye()+this.leaseMs,updatedAt:ye()},this.channel&&this.channel.postMessage({type:"switch_request",logicalTabId:t,targetRuntimeId:o.runtimeId,sourceRuntimeId:this.runtimeId}),n={ok:!0,delegated:!0};return}if(!o.runtimeId){n={ok:!1,reason:`Tab ${t} is not attached to an active Rover runtime yet`};return}r.lease={holderRuntimeId:this.runtimeId,expiresAt:ye()+this.leaseMs,updatedAt:ye()},n={ok:!0,delegated:!1}}),this.notifyRoleChange(),n}sendCrossTabRpc(t,n,r,o=15e3){return new Promise((a,i)=>{if(!this.channel){i(new Error("BroadcastChannel not available"));return}let s=qr("rpc"),c=window.setTimeout(()=>{this.pendingRpcRequests.delete(s),i(new Error(`Cross-tab RPC timed out after ${o}ms (method=${n}, target=${t})`))},o);typeof c?.unref=="function"&&c.unref(),this.pendingRpcRequests.set(s,{resolve:a,reject:i,timer:c}),this.channel.postMessage({type:"rpc_request",requestId:s,sourceRuntimeId:this.runtimeId,targetRuntimeId:t,method:n,params:r,timeoutMs:o,createdAt:ye()})})}setRpcRequestHandler(t){this.rpcRequestHandler=t}broadcastNavigation(t,n){this.channel&&this.channel.postMessage({type:"tab_navigated",runtimeId:this.runtimeId,logicalTabId:this.localLogicalTabId,url:t,title:n})}broadcastClosing(t){this.closing=!0,this.mutate("local",n=>{let r=ye(),o=n.tabs.find(a=>a.runtimeId===this.runtimeId);o&&(o.runtimeId=void 0,o.updatedAt=r,o.detachedAt=r,o.detachedReason=t?"navigation_handoff":"tab_close",o.handoffId=typeof t?.handoffId=="string"?t.handoffId:void 0,o.handoffRunId=typeof t?.runId=="string"?t.runId:void 0,o.handoffTargetUrl=typeof t?.targetUrl=="string"?t.targetUrl:void 0,o.handoffCreatedAt=Number(t?.ts)||r),n.lease?.holderRuntimeId===this.runtimeId&&(n.lease=void 0)}),this.channel&&this.channel.postMessage({type:"tab_closing",runtimeId:this.runtimeId,logicalTabId:this.localLogicalTabId,handoff:t})}isTabAlive(t){let n=this.state.tabs.find(r=>r.logicalTabId===t);return n?n.updatedAt>ye()-2*this.heartbeatMs:!1}broadcastSessionToken(t,n){this.channel&&this.channel.postMessage({type:"session_token",runtimeId:this.runtimeId,token:t,expiresAt:n})}broadcastProjection(t){this.channel&&this.channel.postMessage({type:"projection",runtimeId:this.runtimeId,projection:t})}acquireWorkflowLock(t,n){let r=!1;return this.mutate("local",o=>{let a=o.workflowLock;if(!n?.force&&a&&a.runtimeId!==this.runtimeId&&a.expiresAt>ye()){let i=o.tabs.find(c=>c.runtimeId===a.runtimeId);if(i&&i.updatedAt>ye()-2*this.heartbeatMs){r=!1;return}}o.workflowLock={runtimeId:this.runtimeId,runId:t,lockedAt:ye(),expiresAt:ye()+this.workflowLockMs},r=!0}),r}releaseWorkflowLock(t){this.mutate("local",n=>{n.workflowLock&&n.workflowLock.runId===t&&(n.workflowLock=void 0)})}isWorkflowLocked(){let t=this.state.workflowLock;return!t||t.runtimeId===this.runtimeId?!1:t.expiresAt>ye()}getWorkflowLockInfo(){let t=this.state.workflowLock;return!t||t.expiresAt<=ye()?{locked:!1}:{locked:!0,holderRuntimeId:t.runtimeId,runId:t.runId}}async handleInboundRpcRequest(t){let{requestId:n,sourceRuntimeId:r,method:o,params:a}=t;if(!this.rpcRequestHandler){this.channel?.postMessage({type:"rpc_response",requestId:n,sourceRuntimeId:this.runtimeId,targetRuntimeId:r,ok:!1,error:{message:"No RPC handler registered",code:"NO_HANDLER"}});return}try{let i=await this.rpcRequestHandler({method:o,params:a});this.channel?.postMessage({type:"rpc_response",requestId:n,sourceRuntimeId:this.runtimeId,targetRuntimeId:r,ok:!0,result:i})}catch(i){this.channel?.postMessage({type:"rpc_response",requestId:n,sourceRuntimeId:this.runtimeId,targetRuntimeId:r,ok:!1,error:{message:i?.message||String(i)}})}}handleInboundRpcResponse(t){let{requestId:n,ok:r,result:o,error:a}=t,i=this.pendingRpcRequests.get(n);i&&(this.pendingRpcRequests.delete(n),window.clearTimeout(i.timer),r?i.resolve(o):i.reject(new Error(a?.message||"Cross-tab RPC failed")))}handleRemoteNavigation(t){let{runtimeId:n,url:r,title:o}=t;this.mutate("local",a=>{let i=a.tabs.find(s=>s.runtimeId===n);i&&(i.url=r||i.url,i.title=o||i.title,i.updatedAt=ye())})}handleRemoteTabClosing(t){let{runtimeId:n}=t,r=t?.handoff,o=typeof r?.handoffId=="string"&&r.handoffId.trim()?r.handoffId.trim():void 0,a=typeof r?.runId=="string"&&r.runId.trim()?r.runId.trim():void 0,i=typeof r?.targetUrl=="string"&&r.targetUrl.trim()?r.targetUrl.trim():void 0,s=Number(r?.ts)||ye();this.mutate("local",c=>{let l=ye(),d=c.tabs.find(m=>m.runtimeId===n);d&&(d.runtimeId=void 0,d.updatedAt=l,d.detachedAt=l,d.detachedReason=o?"navigation_handoff":"tab_close",d.handoffId=o,d.handoffRunId=a,d.handoffTargetUrl=i,d.handoffCreatedAt=s),c.lease?.holderRuntimeId===n&&(c.lease=void 0),c.workflowLock?.runtimeId===n&&(c.workflowLock=void 0),c.activeRun?.runtimeId===n&&(c.activeRun=void 0),c.activeLogicalTabId&&!c.tabs.some(m=>m.logicalTabId===c.activeLogicalTabId)&&(c.activeLogicalTabId=this.localLogicalTabId||c.tabs[0]?.logicalTabId)}),this.notifyRoleChange()}heartbeat(){if(this.closing)return;this.heartbeatCount++;let t=Hl(window.location.href),n=document.title||void 0,r=ye(),o=this.state.lease,a=o&&o.holderRuntimeId===this.runtimeId&&o.expiresAt>r,i=r-this.lastFullHeartbeatAt<5e3,s=this.state.tabs.find(l=>l.runtimeId===this.runtimeId);if(a&&i&&s){s.url=t||s.url,s.title=n||s.title,s.updatedAt=r,s.detachedAt=void 0,s.detachedReason=void 0,this.state.updatedAt=r;return}this.lastFullHeartbeatAt=r;let c=this.heartbeatCount%pi.LS_HEARTBEAT_DIVISOR!==0;this.mutate("local",l=>{let d=l.tabs.find(_=>_.runtimeId===this.runtimeId);if(d)d.url=t||d.url,d.title=n||d.title,d.updatedAt=ye(),d.detachedAt=void 0,d.detachedReason=void 0;else{let _=ye(),$=l.nextLogicalTabId++;l.tabs.push({logicalTabId:$,runtimeId:this.runtimeId,url:t,title:n,openedAt:_,updatedAt:_,external:!1,detachedAt:void 0,detachedReason:void 0})}let m=l.lease,f=!m||m.expiresAt<=ye(),p=m&&m.holderRuntimeId!==this.runtimeId&&m.expiresAt>ye()?m.holderRuntimeId:void 0,g=p?l.tabs.find(_=>_.runtimeId===p):void 0,y=!!(g&&g.updatedAt>ye()-2*this.heartbeatMs),x=l.workflowLock?.runtimeId,T=x?l.tabs.find(_=>_.runtimeId===x):void 0,k=!!(T&&T.runtimeId&&T.runtimeId!==this.runtimeId&&T.updatedAt>ye()-2*this.heartbeatMs);if(l.workflowLock&&l.workflowLock.runtimeId!==this.runtimeId&&(l.workflowLock.expiresAt<=ye()||!k)&&(l.workflowLock=void 0),l.workflowLock&&l.workflowLock.runtimeId!==this.runtimeId&&k&&T&&(l.activeLogicalTabId=T.logicalTabId),l.activeRun?.runtimeId&&l.activeRun.runtimeId!==this.runtimeId){let _=l.tabs.find(te=>te.runtimeId===l.activeRun?.runtimeId);_&&_.updatedAt>ye()-2*this.heartbeatMs||(l.activeRun=void 0)}let b=!!(l.activeRun?.runtimeId&&l.activeRun.runtimeId!==this.runtimeId),P=!!(l.workflowLock&&l.workflowLock.runtimeId!==this.runtimeId&&l.workflowLock.expiresAt>ye()),R=!!(p&&!y&&!b&&!P);(f||m?.holderRuntimeId===this.runtimeId||R)&&(l.lease={holderRuntimeId:this.runtimeId,expiresAt:ye()+this.leaseMs,updatedAt:ye()},!l.activeLogicalTabId&&this.localLogicalTabId&&(l.activeLogicalTabId=this.localLogicalTabId)),l.workflowLock?.runtimeId===this.runtimeId&&(l.workflowLock.expiresAt=ye()+this.workflowLockMs),this.pruneDetachedTabs(l)},{skipPersist:c}),this.notifyRoleChange()}reloadFromStorage(){let t=this.loadState();return this.normalizeDraftTabs(t),(t.seq>this.state.seq||t.seq===this.state.seq&&t.updatedAt>this.state.updatedAt)&&(this.state=t,this.syncLocalLogicalTabId(),this.onStateChange?.(this.state,"remote")),this.closing=!1,this.state}claimLease(t){let n=!1;return this.mutate("local",r=>{let o=r.lease,a=!o||o.expiresAt<=ye();(t||a||o?.holderRuntimeId===this.runtimeId)&&(r.lease={holderRuntimeId:this.runtimeId,expiresAt:ye()+this.leaseMs,updatedAt:ye()},!r.activeLogicalTabId&&this.localLogicalTabId&&(r.activeLogicalTabId=this.localLogicalTabId),n=!0)}),this.notifyRoleChange(),n}notifyRoleChange(){this.getRole()!==this.lastNotifiedRole&&(this.roleChangeTimer!=null&&window.clearTimeout(this.roleChangeTimer),this.roleChangeTimer=window.setTimeout(()=>{this.roleChangeTimer=null;let n=this.getRole();n!==this.lastNotifiedRole&&(this.lastNotifiedRole=n,this.onRoleChange?.(n,{localLogicalTabId:this.localLogicalTabId,activeLogicalTabId:this.state.activeLogicalTabId,holderRuntimeId:this.state.lease?.holderRuntimeId}))},pi.ROLE_CHANGE_DEBOUNCE_MS),typeof this.roleChangeTimer?.unref=="function"&&this.roleChangeTimer.unref())}syncLocalLogicalTabId(){let t=this.state.tabs.find(n=>n.runtimeId===this.runtimeId);this.localLogicalTabId=t?.logicalTabId}mutate(t,n,r){if(t==="local")try{let i=window.localStorage.getItem(this.key);if(i){let s=ui(JSON.parse(i),this.siteId,this.sessionId);(s.seq>this.state.seq||s.seq===this.state.seq&&s.updatedAt>this.state.updatedAt)&&(this.state=s)}}catch{}let o=ui(this.state,this.siteId,this.sessionId);n(o),this.normalizeDraftTabs(o),o.seq=Math.max(1,Number(o.seq)||1)+(t==="local"?1:0),o.updatedAt=ye(),this.state=o,this.syncLocalLogicalTabId(),t==="local"&&(r?.skipPersist||this.persistState(),this.channel&&this.channel.postMessage({type:"state",sourceRuntimeId:this.runtimeId,state:this.state}));let a=this.computeStateHash(this.state);a!==this.lastNotifiedStateHash&&(this.lastNotifiedStateHash=a,this.onStateChange?.(this.state,t))}computeStateHash(t){let n=t.tabs;return`${n.length}:${n.map(r=>`${r.logicalTabId}|${r.runtimeId||""}|${r.url}|${r.title||""}|${!!r.detachedAt}`).join(";")}:${t.activeLogicalTabId??""}:${t.lease?.holderRuntimeId??""}:${t.activeRun?.runId??""}:${t.activeRun?.runtimeId??""}:${t.workflowLock?.runtimeId??""}:${t.taskEpoch??""}:${t.uiMessages?.length??0}:${t.timeline?.length??0}:${t.transientStatus?.text??t.uiStatus??""}`}applyIncomingState(t){t&&(t.seq<this.state.seq||t.seq===this.state.seq&&t.updatedAt<=this.state.updatedAt||(this.pruneDetachedTabs(t),this.normalizeDraftTabs(t),this.state=t,this.syncLocalLogicalTabId(),this.onStateChange?.(this.state,"remote"),this.notifyRoleChange()))}loadState(){try{let t=window.localStorage.getItem(this.key);if(!t)return Tp(this.siteId,this.sessionId);let n=JSON.parse(t);return ui(n,this.siteId,this.sessionId)}catch(t){return console.warn("[rover] Failed to load shared state from localStorage:",t),Tp(this.siteId,this.sessionId)}}persistState(){try{window.localStorage.setItem(this.key,JSON.stringify(this.state))}catch{}}};U(pi,"LS_HEARTBEAT_DIVISOR",5),U(pi,"ROLE_CHANGE_DEBOUNCE_MS",200);var zl=pi;var my="rover",ql="rover_shortcut";function hy(e,t){return String(e||"").trim().replace(/^[?#&]+/,"").slice(0,64)||t}function by(e){return e instanceof URL?new URL(e.toString()):new URL(String(e||""),"https://rover.local")}function gy(e,t){let n=e.getAll(t);for(let r=n.length-1;r>=0;r-=1){let o=String(n[r]||"").trim();if(o)return o}return""}function Ms(e){let t=hy(e?.promptParam,my),n=hy(e?.shortcutParam,ql);return n===t&&(n=n===ql?`${ql}_id`:ql,n===t&&(t=my)),{...typeof e?.enabled=="boolean"?{enabled:e.enabled}:{},promptParam:t,shortcutParam:n,consume:e?.consume!==!1}}function $l(e){let t=Ms(e);return{enabled:t.enabled===!0,promptParam:t.promptParam,shortcutParam:t.shortcutParam,consume:t.consume}}function Sp(e){let t=typeof e?.enabled=="boolean",n=typeof e?.allowPromptLaunch=="boolean",r=typeof e?.allowShortcutLaunch=="boolean",o=e?.enabled===!0,a=t?o&&e?.allowPromptLaunch!==!1:n?e?.allowPromptLaunch===!0:!1,i=t?o&&e?.allowShortcutLaunch!==!1:r?e?.allowShortcutLaunch===!0:!1;return{enabled:a||i,promptLaunchEnabled:a,shortcutLaunchEnabled:i}}function yy(e,t){let n=Ms(e),r=typeof n.enabled=="boolean",o=typeof t?.allowPromptLaunch=="boolean",a=typeof t?.allowShortcutLaunch=="boolean",i=Sp(t),s=r?n.enabled===!0:i.enabled;return{enabled:s,promptParam:n.promptParam,shortcutParam:n.shortcutParam,consume:n.consume,promptLaunchEnabled:s?r?o?t?.allowPromptLaunch===!0:!0:i.promptLaunchEnabled:!1,shortcutLaunchEnabled:s?r?a?t?.allowShortcutLaunch===!0:!0:i.shortcutLaunchEnabled:!1}}function vy(e,t){let n=$l(t),r=by(e),o=gy(r.searchParams,n.shortcutParam);if(o)return{kind:"shortcut",paramName:n.shortcutParam,value:o,signature:`shortcut:${n.shortcutParam}:${o}`};let a=gy(r.searchParams,n.promptParam);return a?{kind:"prompt",paramName:n.promptParam,value:a,signature:`prompt:${n.promptParam}:${a}`}:null}function _p(e,t){let n=$l(t),r=by(e);r.searchParams.delete(n.promptParam),r.searchParams.delete(n.shortcutParam);let o=r.searchParams.toString();return`${r.pathname}${o?`?${o}`:""}${r.hash}`}var Ep="rover_launch",xy="rover_attach";function wy(e){return e instanceof URL?new URL(e.toString()):new URL(String(e||""),"https://rover.local")}function ky(e,t){let n=e.getAll(t);for(let r=n.length-1;r>=0;r-=1){let o=String(n[r]||"").trim();if(o)return o}return""}function Ty(e){let t=wy(e),n=ky(t.searchParams,Ep),r=ky(t.searchParams,xy);return!n||!r?null:{requestId:n,attachToken:r,signature:`${Ep}:${n}:${r}`}}function Sy(e){let t=wy(e);t.searchParams.delete(Ep),t.searchParams.delete(xy);let n=t.searchParams.toString();return`${t.pathname}${n?`?${n}`:""}${t.hash}`}function Ns(e){return e==="cross_host_navigation"||e==="agent_navigation"||e==="handoff"||e==="page_reload"||e==="worker_interrupted"?e:void 0}function Ip(e){return Ns(e)!==void 0}var Rp="rover_receipt",Ap="rover_anchor";function _y(e){return e instanceof URL?new URL(e.toString()):new URL(String(e||""),"https://rover.local")}function Cp(e,t){let n=e.getAll(t);for(let r=n.length-1;r>=0;r-=1){let o=String(n[r]||"").trim();if(o)return o}return""}function Ey(e){return new URLSearchParams(String(e.hash||"").replace(/^#\??/,""))}function Mp(e){let t=_y(e),n=Ey(t),r=Cp(n,Rp);if(!r)return null;let o=Cp(n,Ap)||void 0;return{receipt:r,anchor:o,signature:`${Rp}:${r}`}}function Iy(e){let t=_y(e),n=Ey(t),r=Cp(n,Ap);n.delete(Rp),n.delete(Ap);let o=n.toString(),a=t.searchParams.toString(),i=r?`#${r}${o?`&${o}`:""}`:o?`#${o}`:"";return`${t.pathname}${a?`?${a}`:""}${i}`}var ES="https://rover.rtrvr.ai/embed.js",IS="https://agent.rtrvr.ai";function hn(e){return String(e||"").trim()}function mn(e){return String(e||"").replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function RS(e){return e.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026")}function Np(e){let t=hn(e).toLowerCase();if(t){if(["1","true","yes","on"].includes(t))return!0;if(["0","false","no","off"].includes(t))return!1}}function AS(e){let t=hn(e).split(",").map(n=>n.trim()).filter(Boolean);if(t.length)return Array.from(new Set(t))}function CS(e){let t=Number(hn(e));return Number.isFinite(t)?Math.trunc(t):void 0}function MS(e){if(!e||typeof e!="object")return;let t={};typeof e.enabled=="boolean"&&(t.enabled=e.enabled);let n=hn(e.language).replace(/[^a-zA-Z0-9-]/g,"").slice(0,48);n&&(t.language=n);let r=Number(e.autoStopMs);return Number.isFinite(r)&&(t.autoStopMs=Math.max(800,Math.min(5e3,Math.trunc(r)))),Object.keys(t).length?t:void 0}function NS(e){if(!e||typeof e!="object")return;let t={},n=MS(e.voice);return n&&(t.voice=n),Object.keys(t).length?t:void 0}function Lp(e){let t={...e,scriptUrl:hn(e.scriptUrl)||ES},n=NS(e.ui);return n?t.ui=n:delete t.ui,t}function Ry(e){let t=Lp(e),n={siteId:t.siteId};return t.publicKey&&(n.publicKey=t.publicKey),t.sessionToken&&(n.sessionToken=t.sessionToken),t.sessionId&&(n.sessionId=t.sessionId),t.siteKeyId&&(n.siteKeyId=t.siteKeyId),t.apiBase&&(n.apiBase=t.apiBase),t.workerUrl&&(n.workerUrl=t.workerUrl),t.allowedDomains?.length&&(n.allowedDomains=t.allowedDomains),t.domainScopeMode&&(n.domainScopeMode=t.domainScopeMode),t.externalNavigationPolicy&&(n.externalNavigationPolicy=t.externalNavigationPolicy),t.sessionScope&&(n.sessionScope=t.sessionScope),typeof t.openOnInit=="boolean"&&(n.openOnInit=t.openOnInit),t.mode&&(n.mode=t.mode),typeof t.allowActions=="boolean"&&(n.allowActions=t.allowActions),t.ui?.voice&&(n.ui={voice:t.ui.voice}),n}function LS(){return["(function(){"," var r = window.rover = window.rover || function(){"," (r.q = r.q || []).push(arguments);"," };"," r.l = +new Date();","})();"].join(`
4045
- `)}function DS(){return"(function(){var r=window.rover=window.rover||function(){(r.q=r.q||[]).push(arguments)};r.l=+new Date()})();"}function Ay(e,t=!1){let n=Lp(e),r=t?JSON.stringify(Ry(n)):JSON.stringify(Ry(n),null,2),o=n.attachLaunch?t?JSON.stringify(n.attachLaunch):JSON.stringify(n.attachLaunch,null,2):"",a=JSON.stringify(n.scriptUrl);if(t)return[DS(),`rover('boot', ${r});`,n.attachLaunch?`rover('attachLaunch', ${o});`:"",`(function(){var s=document.createElement('script');s.src=${a};s.async=true;(document.head||document.documentElement).appendChild(s)})();`].filter(Boolean).join("");let i=[LS(),"",`rover('boot', ${r});`];return n.attachLaunch&&i.push(`rover('attachLaunch', ${o});`),i.push("","(function(){",' var s = document.createElement("script");',` s.src = ${a};`," s.async = true;"," (document.head || document.documentElement).appendChild(s);","})();"),i.join(`
4046
- `)}function Cy(e){return Ay(e,!1)}function My(e){return`javascript:${Ay(e,!0)}`}function Ny(e){let t=Lp(e),n=[`src="${mn(t.scriptUrl)}"`,`data-site-id="${mn(t.siteId)}"`];t.publicKey&&n.push(`data-public-key="${mn(t.publicKey)}"`),t.sessionToken&&n.push(`data-session-token="${mn(t.sessionToken)}"`),t.sessionId&&n.push(`data-session-id="${mn(t.sessionId)}"`),t.siteKeyId&&n.push(`data-site-key-id="${mn(t.siteKeyId)}"`),t.apiBase&&n.push(`data-api-base="${mn(t.apiBase)}"`),t.workerUrl&&n.push(`data-worker-url="${mn(t.workerUrl)}"`),t.allowedDomains?.length&&n.push(`data-allowed-domains="${mn(t.allowedDomains.join(","))}"`),t.domainScopeMode&&n.push(`data-domain-scope-mode="${mn(t.domainScopeMode)}"`),t.externalNavigationPolicy&&n.push(`data-external-navigation-policy="${mn(t.externalNavigationPolicy)}"`),t.sessionScope&&n.push(`data-session-scope="${mn(t.sessionScope)}"`),typeof t.openOnInit=="boolean"&&n.push(`data-open-on-init="${mn(String(t.openOnInit))}"`),t.mode&&n.push(`data-mode="${mn(t.mode)}"`),typeof t.allowActions=="boolean"&&n.push(`data-allow-actions="${mn(String(t.allowActions))}"`),typeof t.ui?.voice?.enabled=="boolean"&&n.push(`data-voice-enabled="${mn(String(t.ui.voice.enabled))}"`),t.ui?.voice?.language&&n.push(`data-voice-language="${mn(t.ui.voice.language)}"`),typeof t.ui?.voice?.autoStopMs=="number"&&n.push(`data-voice-auto-stop-ms="${mn(String(t.ui.voice.autoStopMs))}"`);let r=`${hn(t.apiBase)||IS}/v1/tasks`;return[`<script type="application/agent+json" data-rover-agent-discovery="marker">${RS(JSON.stringify({task:r}))}<\/script>`,'<link rel="service-desc" href="/.well-known/agent-card.json" type="application/json" data-rover-agent-discovery="service-desc" />','<link rel="service-doc" href="/llms.txt" type="text/markdown" data-rover-agent-discovery="service-doc" />',`<script ${n.join(" ")}><\/script>`].join(`
4047
- `)}function Dp(e){let t=hn(e.getAttribute("data-site-id")),n=hn(e.getAttribute("data-public-key")),r=hn(e.getAttribute("data-session-token"));if(!t||!n&&!r)return null;let o={siteId:t};n&&(o.publicKey=n),r&&(o.sessionToken=r);let a=hn(e.getAttribute("data-session-id"));a&&(o.sessionId=a);let i=hn(e.getAttribute("data-site-key-id"));i&&(o.siteKeyId=i);let s=hn(e.getAttribute("data-api-base"));s&&(o.apiBase=s);let c=hn(e.getAttribute("data-worker-url"));c&&(o.workerUrl=c);let l=AS(e.getAttribute("data-allowed-domains"));l&&(o.allowedDomains=l);let d=hn(e.getAttribute("data-domain-scope-mode"));(d==="host_only"||d==="registrable_domain")&&(o.domainScopeMode=d);let m=hn(e.getAttribute("data-external-navigation-policy"));(m==="open_new_tab_notice"||m==="block"||m==="allow")&&(o.externalNavigationPolicy=m);let f=hn(e.getAttribute("data-session-scope"));(f==="shared_site"||f==="tab")&&(o.sessionScope=f);let p=Np(e.getAttribute("data-open-on-init"));typeof p=="boolean"&&(o.openOnInit=p);let g=hn(e.getAttribute("data-mode"));(g==="safe"||g==="full")&&(o.mode=g);let y=Np(e.getAttribute("data-allow-actions"));typeof y=="boolean"&&(o.allowActions=y);let x=Np(e.getAttribute("data-voice-enabled")),T=hn(e.getAttribute("data-voice-language")),k=CS(e.getAttribute("data-voice-auto-stop-ms"));return(typeof x=="boolean"||T||typeof k=="number")&&(o.ui={voice:{...typeof x=="boolean"?{enabled:x}:{},...T?{language:T}:{},...typeof k=="number"?{autoStopMs:k}:{}}}),o}function PS(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function Er(e){let t="https://agent.rtrvr.ai",n=String(e||t).trim().replace(/\/+$/,"");if(!n)return t;if(n.endsWith("/extensionRouter/v2/rover"))return n.slice(0,-25);let r=n.match(/\/v\d+\/rover$/);return r?.[0]?n.slice(0,-r[0].length):n.endsWith("/extensionRouter")?n.slice(0,-16):n.endsWith("/v2/rover")?n.slice(0,-9):n}function Ds(e){let t=new Set,n=[];for(let r of e){let o=Ps(r);!o||t.has(o)||(t.add(o),n.push(o))}return n}function OS(e){let t=Er(e),n=`${t}/v2/rover`,r=Ps(String(e||"").trim()),o=r.replace("/extensionRouter/v2/rover","/v2/rover");return r.endsWith("/v2/rover")||r.endsWith("/extensionRouter/v2/rover")?Ds([o,n]):Ds(!r&&t==="https://agent.rtrvr.ai"?[n,"https://extensionrouter.rtrvr.ai/v2/rover"]:[n])}function Ly(e){return OS(e)}function BS(e){return Ly(e)[0]||`${Er(e)}/v2/rover`}function ya(e){return Ly(e)}function Wl(e){return BS(e)}function Ps(e){return String(e||"").replace(/\/+$/,"")}function Vl(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}function ba(e){return!!e&&typeof e=="object"&&typeof e.sessionId=="string"&&Number.isFinite(Number(e.epoch))}function Gl(e){let t=Number(e);return Number.isFinite(t)?t:void 0}function US(e){if(!e||typeof e!="object")return;let t=String(e?.error||"").trim().toLowerCase(),n=e?.data&&typeof e.data=="object"?e.data:{},r=n?.conflict&&typeof n.conflict=="object"?n.conflict:{},o=String(r?.type||t||"").trim().toLowerCase(),a=o==="stale_seq"||o==="stale_epoch"||o==="active_run_exists"?o:void 0;if(!a)return;let i=Gl(n?.currentSeq??r?.currentSeq),s=Gl(n?.currentEpoch??n?.sessionEpoch??r?.currentEpoch),c=typeof r?.retryable=="boolean"?r.retryable:a==="stale_seq"||a==="stale_epoch";return{type:a,currentSeq:i,currentEpoch:s,retryable:c,decisionHint:typeof n?.decisionHint=="string"?n.decisionHint:void 0,decisionReason:typeof n?.decisionReason=="string"?n.decisionReason:void 0,runId:typeof n?.runId=="string"?n.runId:void 0,sessionId:typeof n?.sessionId=="string"?n.sessionId:void 0,clientEventId:typeof n?.clientEventId=="string"?n.clientEventId:void 0}}function Ls(e){return String(e?.error||e?.data?.code||e?.code||"").trim().toUpperCase()}async function mi(e){try{return await e.json()}catch{let t=await e.text().catch(()=>"");return t?{error:t}:void 0}}function Pp(e,t,n){let r=String(t||"").trim(),o=r.startsWith("http://")||r.startsWith("https://")?new URL(r):new URL(`${Er(e)}/v1/tasks/${encodeURIComponent(r)}`);return n&&!o.searchParams.get("access")&&o.searchParams.set("access",n),o.toString()}var $r=class $r{constructor(t){U(this,"options");U(this,"base");U(this,"baseCandidates");U(this,"baseIndex",0);U(this,"sessionToken");U(this,"sessionTokenExpiresAt",0);U(this,"sessionId");U(this,"epoch",1);U(this,"eventSource",null);U(this,"pollTimer",null);U(this,"reconnectTimer",null);U(this,"sseReconnectAttempts",0);U(this,"started",!1);U(this,"lastSeq",0);U(this,"lastRunId","");U(this,"lastSnapshotDigest","");U(this,"activeRunId");U(this,"visibilityListener",null);U(this,"pollIntervalMs",2e3);U(this,"commandInFlight",!1);U(this,"commandQueue",Promise.resolve());this.options=t,this.baseCandidates=ya(t.apiBase),this.base=this.baseCandidates[0]||Wl(t.apiBase),this.sessionId=t.getSessionId()}getSessionToken(){return this.sessionToken}getSessionTokenExpiresAt(){return this.sessionTokenExpiresAt}getEpoch(){return Math.max(1,this.epoch)}getLastSeq(){return Math.max(0,this.lastSeq)}getActiveRunId(){return this.activeRunId}setApiBase(t){this.baseCandidates=ya(t),this.baseIndex=0,this.base=this.baseCandidates[0]||Wl(t)}stop(){this.started=!1,this.pauseBackgroundTransport(),this.visibilityListener&&typeof document<"u"&&(document.removeEventListener("visibilitychange",this.visibilityListener),this.visibilityListener=null),this.sseReconnectAttempts=0,this.lastSeq=0,this.lastRunId="",this.lastSnapshotDigest="",this.activeRunId=void 0}async start(){if(this.started=!0,typeof document<"u"&&!this.visibilityListener&&(this.visibilityListener=()=>{this.handleVisibilityChange()},document.addEventListener("visibilitychange",this.visibilityListener)),await this.ensureSession(!1),!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}this.startProjectionStream()}reportError(t){this.options.onError?.(t)}withCommandLock(t){let n=async()=>{this.commandInFlight=!0;try{return await t()}finally{this.commandInFlight=!1}},r=this.commandQueue.then(n,n);return this.commandQueue=r.then(()=>{},()=>{}),r}isDocumentHidden(){return typeof document<"u"&&document.visibilityState==="hidden"}hasOwnershipTransportAllowance(){if(typeof this.options.shouldKeepTransportActive=="function")try{return!!this.options.shouldKeepTransportActive()}catch{return!1}return!!this.activeRunId}shouldKeepTransportActive(){return!this.isDocumentHidden()||this.hasOwnershipTransportAllowance()}pauseBackgroundTransport(){this.eventSource&&(this.eventSource.close(),this.eventSource=null),this.pollTimer!=null&&(window.clearTimeout(this.pollTimer),this.pollTimer=null),this.pollIntervalMs=2e3,this.reconnectTimer!=null&&(window.clearTimeout(this.reconnectTimer),this.reconnectTimer=null)}handleVisibilityChange(){if(this.started){if(!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}this.ensureSession(!1).catch(t=>this.reportError(t)).finally(()=>{this.startProjectionStream(),this.eventSource||this.startProjectionPolling(),this.fetchProjection().catch(t=>this.reportError(t))})}}getActiveBase(){return this.baseCandidates.length?Ps(this.baseCandidates[this.baseIndex]||this.base):Ps(this.base)}rotateBaseCandidate(){this.baseCandidates.length<=1||(this.baseIndex=(this.baseIndex+1)%this.baseCandidates.length,this.base=this.baseCandidates[this.baseIndex]||this.base)}async requestJson(t,n){this.baseCandidates.length||(this.baseCandidates=ya(this.base),this.base=this.baseCandidates[0]||this.base,this.baseIndex=0);let r,o=Math.max(1,this.baseCandidates.length);for(let a=0;a<o;a+=1){let i=(this.baseIndex+a)%o,s=Ps(this.baseCandidates[i]||this.base);try{let c=await fetch(`${s}${t}`,n),l=await mi(c);if(c.status===404||c.status===405){r=new Error(`Rover endpoint not found at ${s}${t}`);continue}return this.baseIndex=i,this.base=s,{response:c,json:l}}catch(c){r=c}}throw r instanceof Error?r:new Error(`Rover request failed for ${t}`)}applySessionData(t){t.sessionId&&(this.sessionId=t.sessionId),t.sessionToken&&(this.sessionToken=t.sessionToken,this.sessionTokenExpiresAt=PS(t.sessionTokenExpiresAt,Date.now()+8*6e4)),Number.isFinite(Number(t.epoch))&&(this.epoch=Math.max(1,Number(t.epoch))),t.projection&&ba(t.projection)&&this.applyProjection(t.projection),this.options.onSession?.(t)}applyProjection(t){let n=this.epoch,r=this.lastRunId,o=this.lastSeq,a=this.lastSnapshotDigest;this.sessionId=t.sessionId||this.sessionId,this.epoch=Math.max(1,Number(t.epoch||this.epoch));let i=String(t.activeRunId||"");this.activeRunId=i||void 0,i!==this.lastRunId&&(this.lastRunId=i,this.lastSeq=0);let s=Array.isArray(t.events)?t.events:[];if(s.length){let d=Number(s[s.length-1]?.seq||0);Number.isFinite(d)&&d>this.lastSeq&&(this.lastSeq=d)}let c=String(t.snapshotMeta?.digest||"").trim()||(Number.isFinite(Number(t.snapshotMeta?.updatedAt))?`u:${Math.max(0,Number(t.snapshotMeta?.updatedAt||0))}`:Number.isFinite(Number(t.snapshotUpdatedAt))?`u:${Math.max(0,Number(t.snapshotUpdatedAt||0))}`:"");c&&(this.lastSnapshotDigest=c),this.isDocumentHidden()&&!this.shouldKeepTransportActive()&&this.pauseBackgroundTransport(),(this.epoch!==n||i!==r||this.lastSeq!==o||t.snapshot||c&&c!==a)&&this.options.onProjection?.(t)}shouldRefreshSessionToken(){return this.sessionToken?Date.now()+6e4>=this.sessionTokenExpiresAt:!0}async ensureSession(t=!1){if(this.sessionId=this.options.getSessionId()||this.sessionId,!t&&!this.shouldRefreshSessionToken())return null;let n=this.options.getBootstrapToken(),r={siteId:this.options.siteId,sessionId:this.sessionId,requestedSessionId:this.sessionId,host:this.options.getHost(),url:this.options.getPageUrl(),pageUrl:this.options.getPageUrl()},o=!t&&!!this.sessionToken,a={...r,...o?{sessionToken:this.sessionToken}:{},...n?{bootstrapToken:n}:{}};if(!a.sessionToken&&!a.bootstrapToken)return null;let i=async d=>this.requestJson("/session/open",{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(d)}),{response:s,json:c}=await i(a);if(s.status===401&&o&&n&&(Ls(c)==="SESSION_TOKEN_EXPIRED"||Ls(c)==="SESSION_TOKEN_INVALID"||Ls(c)==="BOOTSTRAP_REQUIRED")&&(this.sessionToken=void 0,this.sessionTokenExpiresAt=0,{response:s,json:c}=await i({...r,bootstrapToken:n})),!s.ok||!c?.success||!c?.data){let d=Ls(c),m=c?.data?.message||c?.error||`session/open failed (${s.status})`,f=new Error(String(m));throw f.code=d||void 0,f}let l=c.data;return this.applySessionData(l),l}syncCursorFromPayload(t){if(!t||typeof t!="object")return;let n=Gl(t?.currentEpoch??t?.sessionEpoch);n!==void 0&&(this.epoch=Math.max(1,n));let r=Gl(t?.currentSeq);r!==void 0&&r>=0&&(this.lastSeq=Math.max(this.lastSeq,r))}async postJson(t,n,r){await this.ensureSession(!1);let o={...n,requestNonce:Vl(),sessionToken:this.sessionToken,sessionId:n.sessionId||this.sessionId},{response:a,json:i}=await this.requestJson(t,{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(o)}),s=Math.max(0,Number(r?.authRetryCount||0));if(a.status===401&&s<1){let c=Ls(i);if(c==="SESSION_TOKEN_EXPIRED"||c==="SESSION_TOKEN_INVALID"||c==="BOOTSTRAP_REQUIRED")return this.sessionToken=void 0,this.sessionTokenExpiresAt=0,await this.ensureSession(!0),this.postJson(t,n,{authRetryCount:s+1})}if(a.status===409)return this.syncCursorFromPayload(i?.data),{ok:!1,data:i?.data||null,conflict:US(i),raw:i};if(!a.ok||!i?.success){let c=i?.error||`request failed (${a.status})`,l=new Error(String(c));throw l.status=a.status,l.code=String(i?.error||i?.data?.code||"").trim()||void 0,l.details=i?.data||i,l}return this.syncCursorFromPayload(i?.data),{ok:!0,data:i?.data||null,raw:i}}async submitRunInput(t){return this.withCommandLock(async()=>{let n=String(t.clientEventId||"").trim()||(typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():void 0);for(let r=0;r<2;r+=1){let o=await this.postJson("/command",{type:"RUN_INPUT",commandId:n,expectedEpoch:this.epoch,expectedSeq:this.lastSeq,payload:{runId:t.runId,message:t.message,files:Array.isArray(t.files)?t.files:void 0,continueRun:!!t.continueRun,forceNewRun:!!t.forceNewRun,requestedMode:t.requestedMode,taskBoundaryId:this.options.getTaskBoundaryId?.()}});if(!o.ok){let l=(o.data||null)?.data||null;ba(l?.projection)&&this.applyProjection(l.projection);let d=String(o.conflict?.type||"").trim(),m=o.conflict?.retryable!==!1&&(d==="stale_seq"||d==="stale_epoch");if(r===0&&m)continue;return l}let a=o.data||{},i=a?.data||null,s=String(a?.runId||i?.runId||"").trim();return s&&(this.activeRunId=s,this.lastRunId=s,Number(a?.seq||i?.seq||0)===0&&this.lastSeq>0&&(this.lastSeq=0)),Number.isFinite(Number(a?.epoch))&&(this.epoch=Math.max(1,Number(a?.epoch))),Number.isFinite(Number(a?.seq))&&(this.lastSeq=Math.max(0,Number(a?.seq||0))),i}return null})}async uploadAttachment(t){let n=await this.postJson("/attachments/upload",{fileName:t.fileName,mimeType:t.mimeType,dataBase64:t.dataBase64,sizeBytes:t.sizeBytes});if(!n.ok){let r=n.data?.message||n.raw?.error||"upload failed";throw new Error(String(r))}return n.data?.file||null}async controlRun(t){return this.withCommandLock(async()=>{let n=String(t.clientEventId||"").trim()||(typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():void 0);for(let r=0;r<2;r++){let o=await this.postJson("/command",{type:"RUN_CONTROL",commandId:n,expectedEpoch:this.epoch,expectedSeq:this.lastSeq,payload:{action:t.action,runId:t.runId,reason:t.reason}});if(!o.ok){if(r===0&&o.conflict?.retryable!==!1)continue;return o.data?.data||null}let a=o.data||{},i=a?.data||null;return Number.isFinite(Number(a?.seq))&&(this.lastSeq=Math.max(0,Number(a.seq||0))),ba(i?.projection)&&this.applyProjection(i.projection),i}return null})}async fetchExternalContext(t){return this.withCommandLock(async()=>{let n=String(t.runId||this.activeRunId||this.lastRunId||"").trim()||void 0,r=typeof t.tabId=="string"&&t.tabId.trim()?t.tabId.trim():Number.isFinite(Number(t.tabId))&&Number(t.tabId)>0?String(Math.trunc(Number(t.tabId))):void 0,o=t.intent==="act"||t.intent==="open_only"||t.intent==="read_context"?t.intent:"read_context",a=t.source==="google_search"?"google_search":"direct_url";for(let i=0;i<2;i+=1){let s=await this.postJson("/context/external",{runId:n,logicalTabId:r,url:t.url,intent:o,source:a,message:t.message,adversarialScore:Number.isFinite(Number(t.adversarialScore))?Number(t.adversarialScore):void 0,expectedEpoch:this.epoch,expectedSeq:this.lastSeq});if(!s.ok){let c=String(s.conflict?.type||"").trim(),l=s.conflict?.retryable!==!1&&(c==="stale_seq"||c==="stale_epoch");if(i===0&&l)continue;return s.data||null}return s.data||null}return null})}async sendTabEvent(t){return this.withCommandLock(async()=>{let n=Vl(),r={runId:t.runId,currentUrl:t.currentUrl,targetUrl:t.targetUrl,logicalTabId:t.logicalTabId,message:t.message,adversarialScore:t.adversarialScore,currentHost:t.currentHost,targetHost:t.targetHost,isCrossHost:t.isCrossHost,navigationClass:t.navigationClass,clientEventId:n},o=await this.postJson("/command",{type:"TAB_EVENT",commandId:n,expectedEpoch:this.epoch,expectedSeq:this.lastSeq,payload:r});if(o.ok){let c=o.data||{},l=c?.data||null;return Number.isFinite(Number(c?.epoch))&&(this.epoch=Math.max(1,Number(c?.epoch||this.epoch))),Number.isFinite(Number(c?.seq))&&(this.lastSeq=Math.max(0,Number(c?.seq||0))),l?{...l,clientEventId:n,retryAttempted:!1,retryExhausted:!1}:null}let a=o.conflict;if(a?.retryable&&(a.type==="stale_seq"||a.type==="stale_epoch")){let c=await this.postJson("/command",{type:"TAB_EVENT",commandId:n,expectedEpoch:this.epoch,expectedSeq:this.lastSeq,payload:r});if(c.ok){let m=c.data||{},f=m?.data||null;return Number.isFinite(Number(m?.epoch))&&(this.epoch=Math.max(1,Number(m?.epoch||this.epoch))),Number.isFinite(Number(m?.seq))&&(this.lastSeq=Math.max(0,Number(m?.seq||0))),f?{...f,clientEventId:n,retryAttempted:!0,retryExhausted:!1}:{clientEventId:n,retryAttempted:!0,retryExhausted:!1}}let l=c.conflict||a,d=(c.data||o.data||null)?.data||null;return this.fetchProjection().catch(()=>{}),{...d||{},clientEventId:n,retryAttempted:!0,retryExhausted:!0,decisionReason:d?.decisionReason||l?.decisionReason||(l?.type==="stale_epoch"?"stale_epoch_retryable":"stale_seq_retryable"),conflict:l?{type:l.type,currentSeq:l.currentSeq,currentEpoch:l.currentEpoch,retryable:!!l.retryable}:void 0}}let s=(o.data||null)?.data||null;return a?.type&&this.fetchProjection().catch(()=>{}),{...s||{},clientEventId:n,retryAttempted:!1,retryExhausted:!!a,conflict:a?{type:a.type,currentSeq:a.currentSeq,currentEpoch:a.currentEpoch,retryable:!!a.retryable}:s?.conflict}})}async fetchProjection(){if(await this.ensureSession(!1),!this.sessionToken||!this.sessionId)return null;let t=new URLSearchParams({sessionId:this.sessionId,seqAfter:String(this.lastSeq),sessionToken:this.sessionToken}),{response:n,json:r}=await this.requestJson(`/state?${t.toString()}`,{method:"GET"}),o=r?.data&&typeof r.data=="object"&&ba(r.data?.projection)?r.data.projection:r?.data;if(!n.ok||!r?.success||!ba(o))return null;let a=o;return this.applyProjection(a),a}async saveSnapshot(t){return this.withCommandLock(async()=>!!(await this.postJson("/snapshot",{checkpoint:t.checkpoint,updatedAt:t.updatedAt,version:t.version,seq:t.seq,chatSummary:t.chatSummary,compactedPrevSteps:t.compactedPrevSteps,ttlHours:t.ttlHours,visitorId:t.visitorId}))?.ok)}async sendBatch(t){if(!t.length)return[];let r=t.slice(0,5);return(await this.postJson("/batch",{requests:r.map(a=>({path:a.path,body:a.body}))}))?.data?.results||[]}async attachLaunch(t){let n=String(t.requestId||"").trim(),r=String(t.attachToken||"").trim();if(!n||!r)return null;let o=await this.postJson(`/launches/${encodeURIComponent(n)}/attach`,{attachToken:r,roverAttach:r,host:this.options.getHost?.()});return o.ok&&o.data||null}async claimBrowserTaskReceipt(t){let n=String(t.receipt||"").trim();if(!n)return null;await this.ensureSession(!1);let r={receipt:n,requestNonce:Vl(),sessionToken:this.sessionToken,sessionId:this.sessionId,host:this.options.getHost?.()};this.baseCandidates.length||(this.baseCandidates=ya(this.base),this.base=this.baseCandidates[0]||this.base,this.baseIndex=0);let o=Ds(this.baseCandidates.map(i=>Er(i))),a;for(let i of o)try{let s=await fetch(`${i}/v1/tasks/claim-browser`,{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(r)}),c=await mi(s);if(!s.ok||!c?.success){a=new Error(String(c?.error||`request failed (${s.status})`)),a.status=s.status,a.details=c?.data||c;continue}return c.data||null}catch(s){a=s}throw a instanceof Error?a:new Error("Browser receipt claim failed.")}async createSessionRootTask(t){let n=String(t.url||"").trim(),r=String(t.prompt||"").trim();if(!n||!r)return null;await this.ensureSession(!1);let o={url:n,prompt:r,runId:String(t.runId||"").trim()||void 0,requestNonce:Vl(),sessionToken:this.sessionToken,sessionId:this.sessionId,host:this.options.getHost?.()};this.baseCandidates.length||(this.baseCandidates=ya(this.base),this.base=this.baseCandidates[0]||this.base,this.baseIndex=0);let a=Ds(this.baseCandidates.map(s=>Er(s))),i;for(let s of a)try{let c=await fetch(`${s}/v1/tasks/session-root`,{method:"POST",headers:{"Content-Type":"text/plain",Accept:"application/json"},body:JSON.stringify(o)}),l=await mi(c);if(!c.ok||!l?.success){i=new Error(String(l?.error||`request failed (${c.status})`)),i.status=c.status,i.details=l?.data||l;continue}return l.data||null}catch(c){i=c}throw i instanceof Error?i:new Error("Session root task creation failed.")}async createTaskHandoff(t){let n=String(t.parentTaskId||"").trim(),r=String(t.taskAccessToken||"").trim(),o=String(t.url||"").trim();if(!n||!r||!o)return null;await this.ensureSession(!1);let a=Pp(Er(this.base),n,r).replace(/\/+$/,"").concat("/handoffs"),i=new Headers({"Content-Type":"application/json",Accept:"application/json"}),s=[];t.execution&&s.push(`execution=${t.execution}`),s.length&&i.set("Prefer",s.join(", "));let c={url:o,...String(t.prompt||"").trim()?{prompt:String(t.prompt).trim()}:{},...String(t.instruction||"").trim()?{instruction:String(t.instruction).trim()}:{},...String(t.shortcutId||"").trim()?{shortcutId:String(t.shortcutId).trim()}:{},...String(t.contextSummary||"").trim()?{contextSummary:String(t.contextSummary).trim()}:{},...String(t.expectedOutput||"").trim()?{expectedOutput:String(t.expectedOutput).trim()}:{},...String(t.originalGoal||"").trim()?{originalGoal:String(t.originalGoal).trim()}:{},...t.lastObservation&&typeof t.lastObservation=="object"?{lastObservation:t.lastObservation}:{},sessionToken:this.sessionToken,sessionId:this.sessionId,host:this.options.getHost?.()},l=await fetch(a,{method:"POST",headers:i,body:JSON.stringify(c)}),d=await mi(l);if(!l.ok||!d?.success){let m=String(d?.error||`request failed (${l.status})`),f=new Error(m);throw f.status=l.status,f.details=d?.data||d,f}return d.data||null}async getPublicTask(t,n={}){let r=new Headers({Accept:"application/json"});typeof n.waitSeconds=="number"&&n.waitSeconds>0&&r.set("Prefer",`wait=${Math.trunc(n.waitSeconds)}`);let o=Pp(Er(this.base),t,n.accessToken),a=await fetch(o,{method:"GET",headers:r}),i=await mi(a);if(!a.ok||!i?.success){let s=String(i?.error||`request failed (${a.status})`),c=new Error(s);throw c.status=a.status,c.details=i?.data||i,c}return i.data||null}async continuePublicTask(t,n,r={}){let o=String(n||"").trim();if(!o)return null;let a=new Headers({Accept:"application/json","Content-Type":"application/json"}),i=Pp(Er(this.base),t,r.accessToken),s=await fetch(i,{method:"POST",headers:a,body:JSON.stringify({input:o})}),c=await mi(s);if(!s.ok||!c?.success){let l=String(c?.error||`request failed (${s.status})`),d=new Error(l);throw d.status=s.status,d.details=c?.data||c,d}return c.data||null}async ingestLaunchEvents(t){let n=String(t.requestId||"").trim(),r=Array.isArray(t.events)?t.events.filter(Boolean):[];if(!n||!r.length)return!1;let o=await this.postJson("/events/ingest",{launchRequestId:n,runId:String(t.runId||"").trim()||void 0,events:r.map(a=>({type:a.type,ts:a.ts,data:a.data}))});return o.ok&&o.data?.accepted!==!1}scheduleProjectionPoll(t){this.pollTimer!=null&&(window.clearTimeout(this.pollTimer),this.pollTimer=null),this.pollTimer=window.setTimeout(async()=>{if(this.pollTimer=null,!this.started||!this.shouldKeepTransportActive())return;let n=this.epoch,r=this.lastSeq,o=this.lastSnapshotDigest;try{await this.fetchProjection()}catch(i){this.reportError(i)}this.epoch!==n||this.lastSeq!==r||this.lastSnapshotDigest!==o?this.pollIntervalMs=2e3:this.pollIntervalMs=Math.min(15e3,Math.round(this.pollIntervalMs*1.4)),this.started&&this.shouldKeepTransportActive()&&!this.eventSource&&this.scheduleProjectionPoll(this.pollIntervalMs)},t)}startProjectionPolling(){this.pollTimer==null&&(this.pollIntervalMs=2e3,this.scheduleProjectionPoll(this.pollIntervalMs))}scheduleSseReconnect(){if(!this.started||!this.shouldKeepTransportActive()||this.reconnectTimer!=null)return;if(this.sseReconnectAttempts>=$r.SSE_MAX_RECONNECT_ATTEMPTS){this.sseReconnectAttempts=0;return}let t=$r.SSE_BASE_DELAY_MS,n=Math.min(t*Math.pow(2,this.sseReconnectAttempts),$r.SSE_MAX_DELAY_MS),r=Math.random()*$r.SSE_MAX_JITTER_MS,o=Math.round(n+r);this.sseReconnectAttempts++,this.reconnectTimer=window.setTimeout(()=>{this.reconnectTimer=null,this.startProjectionStream()},o)}startProjectionStream(){if(!this.started)return;if(!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}if(!this.sessionToken||!this.sessionId){this.startProjectionPolling();return}if(this.eventSource)return;if(typeof EventSource>"u"){this.startProjectionPolling();return}let t=new URLSearchParams({sessionId:this.sessionId,cursor:String(this.lastSeq),sessionToken:this.sessionToken}),n=`${this.getActiveBase()}/stream?${t.toString()}`,r=new EventSource(n,{withCredentials:!1});this.eventSource=r;let o=a=>{try{let i=JSON.parse(a||"{}"),s=i&&typeof i=="object"&&ba(i.projection)?i.projection:i;ba(s)&&this.applyProjection(s)}catch(i){this.reportError(i)}};r.addEventListener("projection",a=>{o(a.data||"{}")}),r.addEventListener("projection_delta",a=>{o(a.data||"{}")}),r.onerror=()=>{this.eventSource&&(this.eventSource.close(),this.eventSource=null),this.ensureSession(!0).catch(a=>this.reportError(a)).finally(()=>{if(this.rotateBaseCandidate(),!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}this.pollTimer==null&&this.startProjectionPolling(),this.scheduleSseReconnect()})},r.onopen=()=>{if(!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}this.sseReconnectAttempts=0,this.pollTimer!=null&&(window.clearTimeout(this.pollTimer),this.pollTimer=null,this.pollIntervalMs=2e3)}}};U($r,"SSE_BASE_DELAY_MS",2e3),U($r,"SSE_MAX_DELAY_MS",6e4),U($r,"SSE_MAX_JITTER_MS",3e3),U($r,"SSE_MAX_RECONNECT_ATTEMPTS",10);var Kl=$r;var yo="/.well-known/agent-card.json",va="/.well-known/rover-site.json";var By="__ROVER_WEBMCP_TOOL_DEFS__",Bs=3,HS=2e3,Uy={type:"object",properties:{status:{type:"string",description:"Task status returned by Rover."},summary:{type:"string",description:"High-level summary of what Rover completed or observed."},task:{type:"string",description:"Canonical Rover task URL."},workflow:{type:"string",description:"Canonical Rover workflow URL when delegation occurs."}}},zS={type:"object",properties:{success:{type:"boolean",description:"Whether the tool completed successfully."},summary:{type:"string",description:"Human-readable summary of the explicit site action."}}};function fe(e,t=0){let n=String(e||"").replace(/\s+/g," ").trim();return!t||n.length<=t?n:n.slice(0,t).trim()}function go(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function gt(e,t){if(!Array.isArray(e))return[];let n=new Set,r=[],o=Math.max(1,Number(t?.max)||24),a=Math.max(8,Number(t?.maxLen)||160);for(let i of e){let s=fe(i,a);if(!s)continue;let c=s.toLowerCase();if(!n.has(c)&&(n.add(c),r.push(s),r.length>=o))break}return r}function bo(e){let t=go(e);return t?{...t}:void 0}function Os(e){try{let t=new URL(e);return t.hash="",t.search="",t.toString()}catch{return fe(e)||"https://example.com/"}}function Hy(e){let t=fe(e,512);if(t){if(t==="*"||t==="/*")return"*";if(/^https?:\/\//i.test(t))try{return new URL(t).pathname||"/"}catch{return}return t.startsWith("/")?t:`/${t}`}}function FS(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){let o=r==="text"||r==="markdown"||r==="json"||r==="observation"||r==="artifacts"?r:void 0;!o||n.has(o)||(n.add(o),t.push(o))}return t}function hi(e,t="beacon"){return e==="silent"||e==="beacon"||e==="integrated"||e==="debug"?e:t}function jS(e,t="site"){return e==="site"||e==="co"||e==="rover"?e:t}function Us(e,t="auto"){return e==="auto"||e==="existing-assistant"||e==="floating-corner"||e==="inline-primary"?e:t}function Hs(e,t="click"){return e==="click"||e==="focus"||e==="keyboard"||e==="agent-handshake"?e:t}function qS(e){return e.mode==="silent"?["Read rover-site.json, the page manifest, or the well-known agent card before falling back to raw DOM guesses."]:e.hostSurface==="existing-assistant"||e.mode==="integrated"?["Use the site assistant or chat entrypoint first when it is present on the page.","Prefer Rover task and shortcut surfaces over selector or screenshot guessing once the assistant surface is active."]:["Use the page beacon or task endpoint before attempting generic DOM automation.","When Rover is already active, prefer the current-page actions over screenshot loops."]}function $S(e){let t=e.discoverySurface||{},n=hi(t.mode,e.visibleCue===!1?"silent":"beacon"),r=Us(t.hostSurface,"auto"),o=Hs(t.actionReveal,"click"),a=fe(t.beaconLabel||e.pageContext?.beaconLabel||e.pageContext?.visibleCueLabel,180)||void 0,i={mode:n,branding:jS(t.branding,"site"),hostSurface:r,actionReveal:o,beaconLabel:a,agentModeEntryHints:gt(t.agentModeEntryHints,{max:8,maxLen:240})};return{...i,agentModeEntryHints:i.agentModeEntryHints.length?i.agentModeEntryHints:qS(i)}}function gi(e){let t=go(e);if(!t)return;let n=go(t.discoverySurface),r={};if(n){let a=hi(n.mode,"beacon");(n.mode==="silent"||n.mode==="beacon"||n.mode==="integrated"||n.mode==="debug")&&(r.mode=a),(n.branding==="site"||n.branding==="co"||n.branding==="rover")&&(r.branding=n.branding),(n.hostSurface==="auto"||n.hostSurface==="existing-assistant"||n.hostSurface==="floating-corner"||n.hostSurface==="inline-primary")&&(r.hostSurface=n.hostSurface),(n.actionReveal==="click"||n.actionReveal==="focus"||n.actionReveal==="keyboard"||n.actionReveal==="agent-handshake")&&(r.actionReveal=n.actionReveal);let i=fe(n.beaconLabel||n.visibleCueLabel,180)||void 0;i&&(r.beaconLabel=i);let s=gt(n.agentModeEntryHints,{max:8,maxLen:240});s.length>0&&(r.agentModeEntryHints=s)}let o={};return typeof t.enabled=="boolean"?o.enabled=t.enabled:typeof t.visibleCue=="boolean"&&(o.enabled=t.visibleCue),typeof t.siteUrl=="string"&&fe(t.siteUrl)&&(o.siteUrl=fe(t.siteUrl)),typeof t.siteId=="string"&&fe(t.siteId,160)&&(o.siteId=fe(t.siteId,160)),typeof t.apiBase=="string"&&fe(t.apiBase,240)&&(o.apiBase=fe(t.apiBase,240)),typeof t.siteName=="string"&&fe(t.siteName,160)&&(o.siteName=fe(t.siteName,160)),typeof t.description=="string"&&fe(t.description,400)&&(o.description=fe(t.description,400)),typeof t.version=="string"&&fe(t.version,120)&&(o.version=fe(t.version,120)),typeof t.agentCardUrl=="string"&&fe(t.agentCardUrl,240)&&(o.agentCardUrl=fe(t.agentCardUrl,240)),typeof t.roverSiteUrl=="string"&&fe(t.roverSiteUrl,240)&&(o.roverSiteUrl=fe(t.roverSiteUrl,240)),typeof t.llmsUrl=="string"&&fe(t.llmsUrl,240)&&(o.llmsUrl=fe(t.llmsUrl,240)),typeof t.visibleCue=="boolean"&&(o.visibleCue=t.visibleCue),typeof t.hostSurfaceSelector=="string"&&fe(t.hostSurfaceSelector,240)&&(o.hostSurfaceSelector=fe(t.hostSurfaceSelector,240)),(t.preferExecution==="auto"||t.preferExecution==="browser"||t.preferExecution==="cloud")&&(o.preferExecution=t.preferExecution),Object.keys(r).length>0&&(o.discoverySurface=r),Object.keys(o).length?o:void 0}function zy(e){return e==="browser"?["browser"]:e==="cloud"?["cloud"]:["auto","browser","cloud"]}function VS(e,t){let n=go(e);if(!n)return null;let r=fe(n.capabilityId||n.id,120),o=fe(n.label||n.name,180),a=fe(n.description,480);if(!r||!o||!a)return null;let i=Array.isArray(n.allowedExecutionModes)?n.allowedExecutionModes.filter(c=>c==="auto"||c==="browser"||c==="cloud"):[],s=FS(n.resultModes);return{capabilityId:r,version:fe(n.version,80)||t.version,label:o,description:a,inputSchema:bo(n.inputSchema),outputSchema:bo(n.outputSchema),sideEffect:n.sideEffect==="none"||n.sideEffect==="read"||n.sideEffect==="write"||n.sideEffect==="transactional"?n.sideEffect:void 0,requiresConfirmation:typeof n.requiresConfirmation=="boolean"?n.requiresConfirmation:void 0,preferredInterface:Op({preferredInterface:n.preferredInterface}).preferredInterface,allowedExecutionModes:i.length?i:t.allowedExecutionModes,resultModes:s.length?s:t.resultModes,pageScope:gt(n.pageScope,{max:24,maxLen:80}),analyticsTags:gt(n.analyticsTags,{max:24,maxLen:64}),rover:go(n.rover)?{...n.rover}:void 0}}function Fy(e,t){let n=go(e);if(!n)return null;let r=fe(n.pageId||n.id,120);if(!r)return null;let o=fe(n.beaconLabel||n.visibleCueLabel||t?.beaconLabel,180)||void 0;return{pageId:r,route:Hy(n.route),label:fe(n.label,180)||void 0,capabilityIds:gt(n.capabilityIds,{max:48,maxLen:120}),entityHints:gt(n.entityHints,{max:24,maxLen:120}),formHints:gt(n.formHints,{max:24,maxLen:120}),visibleCueLabel:o,beaconLabel:o,discoveryMode:hi(n.discoveryMode,t?.mode||"beacon"),hostSurface:Us(n.hostSurface,t?.hostSurface||"auto"),actionReveal:Hs(n.actionReveal,t?.actionReveal||"click"),agentModeEntryHints:gt(Array.isArray(n.agentModeEntryHints)&&n.agentModeEntryHints.length?n.agentModeEntryHints:t?.agentModeEntryHints,{max:8,maxLen:240}),capabilitySummary:gt(n.capabilitySummary,{max:12,maxLen:180})}}function jy(e){return`${Er(e)}/v1/tasks`}function qy(e){return`${Er(e)}/v1/workflows`}function WS(e,t){try{let n=new URL(e);return n.searchParams.set("rover_shortcut",t),n.toString()}catch{let n=e.includes("?")?"&":"?";return`${e}${n}rover_shortcut=${encodeURIComponent(t)}`}}function GS(e){return fe(e).replace(/[_-]+/g," ").replace(/\s+/g," ").replace(/\b\w/g,t=>t.toUpperCase())}function KS(e,t=[]){if(!e||typeof e!="object")return;let n={};for(let[r,o]of Object.entries(e)){let a=go(o);if(!a)continue;let i=fe(a.type)||"string",s={type:["string","number","integer","boolean","array","object"].includes(i)?i:"string"};if(a.description&&(s.description=fe(a.description,240)),a.enum&&Array.isArray(a.enum)){let c=gt(a.enum,{max:24,maxLen:80});c.length&&(s.enum=c)}if(i==="array"&&a.items&&(s.items=bo(a.items)||{type:fe(a.items?.type)||"string"}),i==="object"&&a.properties&&typeof a.properties=="object"){s.properties={};for(let[c,l]of Object.entries(a.properties)){let d=go(l);d&&(s.properties[c]={type:fe(d.type)||"string",...d.description?{description:fe(d.description,240)}:{}})}if(Array.isArray(a.required)){let c=gt(a.required,{max:50,maxLen:80});c.length&&(s.required=c)}}n[r]=s}return{type:"object",properties:n,...t.length?{required:gt(t,{max:50,maxLen:80})}:{}}}function Op(e){let t=go(e)||{};return{category:fe(t.category,40)||void 0,tags:gt(t.tags,{max:16,maxLen:40}),examples:gt(t.examples,{max:6,maxLen:200}),whenToUse:fe(t.whenToUse,280)||void 0,whyUse:fe(t.whyUse,280)||void 0,sideEffect:t.sideEffect==="none"||t.sideEffect==="read"||t.sideEffect==="write"||t.sideEffect==="transactional"?t.sideEffect:void 0,requiresConfirmation:typeof t.requiresConfirmation=="boolean"?t.requiresConfirmation:void 0,preferredInterface:t.preferredInterface==="task"||t.preferredInterface==="shortcut"||t.preferredInterface==="client_tool"||t.preferredInterface==="webmcp"?t.preferredInterface:void 0,priority:t.priority==="primary"||t.priority==="secondary"?t.priority:void 0}}function $y(e,t,n){if(n?.sideEffect)return n.sideEffect;if(t==="shortcut")return"transactional";let r=e.toLowerCase();return/^(get|read|list|show|find|search|compare|inspect|lookup)/.test(r)?"read":/^(save|create|reply|vote|leave|submit|answer|book|start|checkout|handoff)/.test(r)?"write":r.includes("run_task")?"transactional":"read"}function Vy(e,t){return typeof t?.requiresConfirmation=="boolean"?t.requiresConfirmation:e==="write"||e==="transactional"}function Wy(e,t,n,r){let o=[];return e&&o.push(fe(e,120)),t&&o.push(fe(t,320)),n.whenToUse&&o.push(`When to use: ${n.whenToUse}`),n.whyUse&&o.push(`Why use this path: ${n.whyUse}`),!t&&r==="shortcut"&&o.push("Use this explicit Rover shortcut when the user intent matches this site journey instead of improvising with raw DOM actions."),o.join(" ").trim()}function Gy(e){let t=fe(e.id,80),n=fe(e.label,120),r=fe(e.prompt,HS);if(!t||!n||!r||e.enabled===!1)return null;let o=fe(e.description,320);return{id:t,label:n,prompt:r,...o?{description:o}:{},...e.routing?{routing:e.routing}:{}}}function XS(e,t,n){let r=Gy(e);if(!r)return null;let{id:o,label:a,prompt:i}=r,s=gt([...e.tags||[],"shortcut","rover"],{max:16,maxLen:40}),c=gt([...e.examples||[],i],{max:6,maxLen:220}),l=Op({tags:s,examples:c,sideEffect:e.sideEffect,requiresConfirmation:e.requiresConfirmation,preferredInterface:e.preferredInterface||"shortcut",priority:"primary"}),d="shortcut",m=$y(o,d,l),f=Vy(m,l);return{id:o,name:a,description:Wy(a,e.description||`Run the "${a}" site flow with Rover using the exact shortcut id "${o}".`,{...l,whenToUse:l.whenToUse||"Use this when the user wants this exact site outcome and you want a stable path that avoids brittle DOM guessing.",whyUse:l.whyUse||"Rover shortcuts are explicit site-owned entrypoints with structured task progress and cleaner recovery than generic DOM automation."},d),tags:s,examples:c,inputSchema:bo(e.inputSchema)||{type:"object",additionalProperties:!1,description:"This shortcut is parameterless. Invoke it directly by id."},outputSchema:bo(e.outputSchema)||{...Uy},sideEffect:m,requiresConfirmation:f,preferredInterface:d,category:"primary",rover:{shortcutId:o,prompt:i,routing:e.routing,deepLink:WS(t.siteUrl,o),task:{endpoint:n,payload:{url:Os(t.siteUrl),shortcut:o},preferExecution:t.preferExecution||"auto"},source:"shortcut"}}}function Dy(e,t){let n=fe(e.name,120);if(!n||e.llmCallable===!1)return null;let r=Op(e.annotations),o=$y(n,t,r),a=Vy(o,r),i=gt([...r.tags||[],t,"rover"],{max:16,maxLen:40}),s=gt(r.examples||[],{max:6,maxLen:220});return{id:n,name:fe(e.title,120)||GS(n),description:Wy(fe(e.title,120),e.description,{...r,whenToUse:r.whenToUse||(t==="webmcp"?"Use this explicit WebMCP tool when the browser exposes it instead of simulating DOM actions for the same outcome.":"Use this explicit site tool when it matches the user goal instead of reconstructing the same action through generic DOM automation."),whyUse:r.whyUse||"Explicit site tools expose stable schemas, clearer validation errors, and structured results that are easier to recover from than brittle DOM inference."},t),...i.length?{tags:i}:{},...s.length?{examples:s}:{},inputSchema:bo(e.schema)||KS(e.parameters,e.required||[])||{type:"object",additionalProperties:!1},outputSchema:bo(e.outputSchema)||{...zS},sideEffect:o,requiresConfirmation:a,preferredInterface:t,category:r.priority==="primary"?"primary":"secondary",rover:{toolName:n,source:t==="webmcp"?"webmcp":"client_tool"}}}function YS(e){let t=[],n=new Set;for(let r of e){let o=fe(r.id,120);!o||n.has(o.toLowerCase())||(n.add(o.toLowerCase()),t.push({...r,id:o}))}return t}function JS(e){let t=[],n=new Set;for(let r of e){let o=fe(r.capabilityId,120);!o||n.has(o.toLowerCase())||(n.add(o.toLowerCase()),t.push({...r,capabilityId:o,pageScope:gt(r.pageScope,{max:24,maxLen:80}),analyticsTags:gt(r.analyticsTags,{max:24,maxLen:64}),allowedExecutionModes:Array.from(new Set(r.allowedExecutionModes||[])),resultModes:Array.from(new Set(r.resultModes||[]))}))}return t}function QS(e,t){let n=[],r=new Set;for(let o of e){let a=fe(o.pageId,120);if(!a||r.has(a.toLowerCase()))continue;r.add(a.toLowerCase());let i=fe(o.beaconLabel||o.visibleCueLabel||t?.beaconLabel,180)||void 0;n.push({pageId:a,route:Hy(o.route),label:fe(o.label,180)||void 0,capabilityIds:gt(o.capabilityIds,{max:48,maxLen:120}),entityHints:gt(o.entityHints,{max:24,maxLen:120}),formHints:gt(o.formHints,{max:24,maxLen:120}),visibleCueLabel:i,beaconLabel:i,discoveryMode:hi(o.discoveryMode,t?.mode||"beacon"),hostSurface:Us(o.hostSurface,t?.hostSurface||"auto"),actionReveal:Hs(o.actionReveal,t?.actionReveal||"click"),agentModeEntryHints:gt(Array.isArray(o.agentModeEntryHints)&&o.agentModeEntryHints.length?o.agentModeEntryHints:t?.agentModeEntryHints,{max:8,maxLen:240}),capabilitySummary:gt(o.capabilitySummary,{max:12,maxLen:180})})}return n}function Py(e,t,n){let r=gt(e.capabilityIds,{max:48,maxLen:120}),o=gt(Array.isArray(e.capabilitySummary)&&e.capabilitySummary.length?e.capabilitySummary:r.map(s=>t.find(c=>c.capabilityId===s)?.label).filter(s=>!!s),{max:12,maxLen:180}),a=fe(e.beaconLabel||e.visibleCueLabel||n.beaconLabel,180)||void 0,i=gt(Array.isArray(e.agentModeEntryHints)&&e.agentModeEntryHints.length?e.agentModeEntryHints:n.agentModeEntryHints,{max:8,maxLen:240});return{...e,capabilityIds:r,visibleCueLabel:a,beaconLabel:a,discoveryMode:hi(e.discoveryMode,n.mode),hostSurface:Us(e.hostSurface,n.hostSurface),actionReveal:Hs(e.actionReveal,n.actionReveal),agentModeEntryHints:i,capabilitySummary:o}}function ZS(e,t){let n=t.preferExecution||"auto";return{capabilityId:e.id,version:fe(t.version,80)||"1.0.0",label:e.name,description:e.description,inputSchema:bo(e.inputSchema),outputSchema:bo(e.outputSchema)||{...Uy},sideEffect:e.sideEffect,requiresConfirmation:e.requiresConfirmation,preferredInterface:e.preferredInterface,allowedExecutionModes:zy(n),resultModes:["text","json","observation","artifacts"],pageScope:gt(e.rover?.shortcutId?["site",e.rover.shortcutId]:["site"],{max:8,maxLen:80}),analyticsTags:gt(e.tags,{max:24,maxLen:64}),rover:e.rover?{...e.rover}:void 0}}function e_(e,t,n){let r=Os(e.siteUrl),o="/";try{o=new URL(r).pathname||"/"}catch{o="/"}return Fy({pageId:e.pageContext?.pageId||o.replace(/^\/+|\/+$/g,"").replace(/[^a-z0-9/_-]+/gi,"-").replace(/\//g,"__")||"home",route:e.pageContext?.route||o,label:e.pageContext?.label,capabilityIds:e.pageContext?.capabilityIds,entityHints:e.pageContext?.entityHints,formHints:e.pageContext?.formHints,visibleCueLabel:e.pageContext?.visibleCueLabel,beaconLabel:e.pageContext?.beaconLabel,discoveryMode:e.pageContext?.discoveryMode,hostSurface:e.pageContext?.hostSurface,actionReveal:e.pageContext?.actionReveal,agentModeEntryHints:e.pageContext?.agentModeEntryHints,capabilitySummary:e.pageContext?.capabilitySummary},n)||{pageId:"home",route:o,label:void 0,capabilityIds:t.slice(0,12).map(i=>i.capabilityId),entityHints:[],formHints:[],visibleCueLabel:n.beaconLabel,beaconLabel:n.beaconLabel,discoveryMode:n.mode,hostSurface:n.hostSurface,actionReveal:n.actionReveal,agentModeEntryHints:n.agentModeEntryHints,capabilitySummary:t.slice(0,6).map(i=>i.label)}}function t_(e,t,n){let r=t.map(d=>ZS(d,e)),o=(e.capabilities||[]).map(d=>VS(d,{version:fe(e.version,80)||"1.0.0",allowedExecutionModes:zy(e.preferExecution||"auto"),resultModes:["text","json","observation","artifacts"]})).filter(d=>!!d),a=JS([...o,...r]),i=e_(e,a,n),s=(e.pages||[]).map(d=>Fy(d,n)).filter(d=>!!d);i.capabilityIds?.length||(i.capabilityIds=a.slice(0,12).map(d=>d.capabilityId));let c=QS([...s,i],n).map(d=>Py(d,a,n)),l=c.find(d=>d.pageId===i.pageId)||Py(i,a,n);return{capabilities:a,pages:c,currentPage:l}}function Oy(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Xl(e){return e.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026")}function n_(e){return`data:application/json;charset=utf-8,${encodeURIComponent(e)}`}function Do(e){let t=Os(e.siteUrl),n=jy(e.apiBase),r=qy(e.apiBase),o=fe(e.agentCardUrl)||yo,a=fe(e.roverSiteUrl)||va,i=fe(e.llmsUrl),s=Sp(e.aiAccess),c=s.promptLaunchEnabled,l=s.shortcutLaunchEnabled,d=c||l,m=e.aiAccess?.allowCloudBrowser!==!1,f=e.aiAccess?.allowDelegatedHandoffs===!0,p=(e.shortcuts||[]).map(_=>XS(_,e,n)).filter(_=>!!_),g=(e.tools||[]).map(_=>Dy(_,"client_tool")).filter(_=>!!_),y=(e.webmcpTools||[]).map(_=>Dy(_,"webmcp")).filter(_=>!!_),x=YS([...p,...e.additionalSkills||[],...g,...y]),T=$S(e),k=t_(e,x,T),b={mode:hi(k.currentPage.discoveryMode,T.mode),branding:T.branding,hostSurface:Us(k.currentPage.hostSurface,T.hostSurface),actionReveal:Hs(k.currentPage.actionReveal,T.actionReveal),beaconLabel:fe(k.currentPage.beaconLabel||k.currentPage.visibleCueLabel||T.beaconLabel,180)||void 0,agentModeEntryHints:gt(k.currentPage.agentModeEntryHints?.length?k.currentPage.agentModeEntryHints:T.agentModeEntryHints,{max:8,maxLen:240}),compactActionMaxActions:Bs},P=fe(e.siteName,120)||(()=>{try{return new URL(t).hostname}catch{return"Rover Site"}})(),R=fe(e.description,320)||`Structured Rover entrypoints for ${P}. Prefer the published shortcuts and explicit tools over raw DOM automation whenever they match the user's goal.`;return{name:P,description:R,url:n,version:fe(e.version,80)||"1.0.0",defaultInputModes:["text/plain","application/json"],defaultOutputModes:["text/plain","application/json"],capabilities:{streaming:d,publicTasks:d,stateTransitions:d,delegatedHandoffs:f,webmcp:y.length>0},skills:x,interfaces:[{type:"task",url:n,description:"Canonical Rover ATP task creation endpoint.",available:c},{type:"workflow",url:r,description:"Aggregated Rover workflow resource for delegated tasks.",available:!0},{type:"site",url:t,description:"Human-visible website entrypoint.",available:!0},{type:"deep_link",url:t,description:"Browser-first Rover deep link surface using rover= or rover_shortcut= query params.",available:d},{type:"webmcp",url:t,description:"WebMCP tool surface when the browser host supports navigator.modelContext.",available:y.length>0}],extensions:{rover:{siteId:fe(e.siteId,120)||void 0,siteUrl:t,taskEndpoint:n,workflowEndpoint:r,serviceDescUrl:o,roverSiteUrl:a,...i?{llmsUrl:i}:{},preferredExecution:e.preferExecution||"auto",promptLaunchEnabled:c,shortcutLaunchEnabled:l,cloudBrowserAllowed:m,delegatedHandoffs:f,instructions:["Prefer exact Rover shortcuts and explicit site tools over raw DOM automation when the user goal matches a published skill.","Use POST /v1/tasks when you need structured progress, continuation input, or a stable final result channel.","Fall back to generic DOM automation only when no matching Rover shortcut or explicit tool exists for the requested outcome."],capabilitiesGraph:k.capabilities,pages:k.pages,currentPage:k.currentPage,discoverySurface:b,shortcuts:(e.shortcuts||[]).map(_=>Gy(_)).filter(_=>!!_),webmcp:{available:y.length>0,tools:y.map(_=>_.id)}}}}}function bi(e){let t=Do(e),n=t.extensions?.rover;return{identity:{siteId:n?.siteId,name:t.name,description:t.description,siteUrl:n?.siteUrl||Os(e.siteUrl),version:t.version},actions:n?.capabilitiesGraph||[],pages:n?.pages||[],policies:{preferredExecution:n?.preferredExecution||"auto",promptLaunchEnabled:n?.promptLaunchEnabled!==!1,shortcutLaunchEnabled:n?.shortcutLaunchEnabled!==!1,cloudBrowserAllowed:n?.cloudBrowserAllowed!==!1,delegatedHandoffs:n?.delegatedHandoffs===!0},auth:{taskEndpoint:n?.taskEndpoint||jy(e.apiBase),workflowEndpoint:n?.workflowEndpoint||qy(e.apiBase),acceptsHttpMessageSignatures:!0,supportsUnsignedSelfReportedIdentity:!0},analytics:{layer:"roverbook",taskIdField:"taskId",workflowIdField:"workflowId",capabilityIdField:"capabilityId",pageIdField:"pageId"},currentPage:n?.currentPage,display:{mode:n?.discoverySurface.mode||"beacon",branding:n?.discoverySurface.branding||"site",hostSurface:n?.discoverySurface.hostSurface||"auto",actionReveal:n?.discoverySurface.actionReveal||"click",beaconLabel:n?.discoverySurface.beaconLabel,agentModeEntryHints:n?.discoverySurface.agentModeEntryHints||[],compactActionMaxActions:n?.discoverySurface.compactActionMaxActions||Bs},artifacts:{agentCardUrl:n?.serviceDescUrl||fe(e.agentCardUrl)||yo,roverSiteUrl:n?.roverSiteUrl||fe(e.roverSiteUrl)||va,...n?.llmsUrl?{llmsUrl:n.llmsUrl}:{},siteUrl:n?.siteUrl||Os(e.siteUrl)},interfaces:t.interfaces}}function Yl(e){let t=yi(e),n=Do(e),r=bi(e),o=JSON.stringify(r,null,2),a=n_(t),i=fe(e.agentCardUrl)||a,s=fe(e.roverSiteUrl)||va,c=n.extensions?.rover.currentPage||{pageId:"home",route:"/",capabilityIds:[]},l=JSON.stringify(c,null,2),d={task:n.extensions?.rover.taskEndpoint,card:i,roverSite:s,site:n.extensions?.rover.siteUrl,workflow:n.extensions?.rover.workflowEndpoint,page:c.pageId,preferExecution:n.extensions?.rover.preferredExecution,discoveryMode:n.extensions?.rover.discoverySurface.mode,hostSurface:n.extensions?.rover.discoverySurface.hostSurface,actionReveal:n.extensions?.rover.discoverySurface.actionReveal,beaconLabel:n.extensions?.rover.discoverySurface.beaconLabel,skills:n.skills.slice(0,24).map(m=>({id:m.id,name:m.name})),capabilities:(n.extensions?.rover.capabilitiesGraph||[]).slice(0,24).map(m=>({capabilityId:m.capabilityId,label:m.label}))};return{card:n,cardJson:t,serviceDescHref:i,roverSite:r,roverSiteJson:o,roverSiteHref:s,pageManifest:c,pageManifestJson:l,llmsUrl:fe(e.llmsUrl||n.extensions?.rover.llmsUrl)||void 0,marker:d,markerJson:Xl(JSON.stringify(d))}}function yi(e,t){return JSON.stringify(Do(e),null,t?.pretty===!1?void 0:2)}function Ky(e,t){return yi(e,t)}function zs(e,t){return JSON.stringify(bi(e),null,t?.pretty===!1?void 0:2)}function Xy(e,t){return zs(e,t)}function Jl(e){let t=[`<${fe(e.agentCardUrl)||yo}>; rel="service-desc"; type="application/json"`],n=fe(e.llmsUrl);return n&&t.push(`<${n}>; rel="service-doc"; type="text/markdown"`),t.join(", ")}function Yy(e){let{cardJson:t,llmsUrl:n,markerJson:r,pageManifestJson:o,roverSiteJson:a,serviceDescHref:i}=Yl(e),s=Xl(t),c=Xl(a),l=Xl(o),d=[`<script type="application/agent+json">${r}<\/script>`,`<link rel="service-desc" href="${Oy(i)}" type="application/json" />`];return n&&d.push(`<link rel="service-doc" href="${Oy(n)}" type="text/markdown" />`),d.push(`<script type="application/rover-site+json">${c}<\/script>`),d.push(`<script type="application/rover-page+json">${l}<\/script>`),d.push(`<script type="application/agent-card+json">${s}<\/script>`),d.join(`
4048
- `)}var r_="https://rover.rtrvr.ai/embed.js",o_="https://rover.rtrvr.ai/roverbook.js";function jt(e){return String(e||"").trim()}function Ql(e){return String(e||"").replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function ki(e){return String(e||"").replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026")}function Jy(e,t,n){if(!n)return e;let r=new RegExp(`<script[^>]+data-rover-agent-discovery="${t}"[^>]*>[\\s\\S]*?<\\/script>`);return r.test(e)?e.replace(r,n):[e,n].filter(Boolean).join(`
4049
- `)}function a_(e,t){let n=vi(t.ui?.experience)?t.ui?.experience:null;if(!n)return e;let r=vi(n.presence)?n.presence:{},o=vi(n.inputs)?n.inputs:{},a=vi(n.shell)?n.shell:{},i=vi(n.stream)?n.stream:{},s=jt(r.ctaText)||`Do it with ${jt(t.ui?.agent?.name)||"Rover"}`,c=jt(r.assistantName)||jt(t.ui?.agent?.name)||"Rover",l=e.agentCard?JSON.parse(JSON.stringify(e.agentCard)):void 0;l?.extensions?.rover&&(l.extensions.rover.discoverySurface={...l.extensions.rover.discoverySurface||{},mode:"beacon",hostSurface:"floating-corner",actionReveal:"click",beaconLabel:s},l.extensions.rover.presence={assistantName:c,ctaText:s,draggable:r.draggable!==!1},l.extensions.rover.experience=n,l.extensions.rover.inputs={filesEnabled:o.files!==!1,acceptedMimeGroups:Array.isArray(o.acceptedMimeGroups)?o.acceptedMimeGroups:["images","pdfs","office","text"],allowMultipleFiles:o.allowMultipleFiles!==!1});let d=e.roverSite?JSON.parse(JSON.stringify(e.roverSite)):void 0;d&&(d.display={...d.display||{},mode:"beacon",hostSurface:"floating-corner",actionReveal:"click",beaconLabel:s,presence:"draggable_pill",openMode:jt(a.openMode)||"center_stage",mobileMode:jt(a.mobileMode)||"fullscreen_sheet",streamMode:jt(i.layout)||"single_column",focusView:"focus_stream"},d.experience=n,d.inputs={...d.inputs||{},filesEnabled:o.files!==!1,acceptedMimeGroups:Array.isArray(o.acceptedMimeGroups)?o.acceptedMimeGroups:["images","pdfs","office","text"],allowMultipleFiles:o.allowMultipleFiles!==!1});let m=l?JSON.stringify(l,null,2):e.agentCardJson,f=d?JSON.stringify(d,null,2):e.roverSiteJson,p=m?`<script type="application/agent-card+json" data-rover-agent-discovery="agent-card">${ki(m)}<\/script>`:e.metadata.inlineAgentCardScript,g=f?`<script type="application/rover-site+json" data-rover-agent-discovery="rover-site">${ki(f)}<\/script>`:e.metadata.inlineRoverSiteScript;return{...e,agentCard:l,agentCardJson:m,roverSite:d,roverSiteJson:f,bodyInstallHtml:Jy(Jy(e.bodyInstallHtml,"agent-card",p),"rover-site",g),metadata:{...e.metadata,roverSiteJson:f,inlineAgentCardScript:p,inlineRoverSiteScript:g}}}function Qy(e){return JSON.stringify(e,null,2).split(`
4149
+ `,document.head.appendChild(d);let m=document.createElement("style");m.textContent=ny+ry+oy+iy+ay+sy+cy+ly+dy,l.appendChild(m);let f=document.createElement("div");f.className="rover",f.dataset.mood="idle",f.dataset.shell="presence";let p=Ib("seed"),b=hb({siteId:e.siteId,host:window.location.hostname,muted:e.muted,mascot:e.mascot,readStored:O=>{try{return localStorage.getItem(O)}catch{return null}}}),y=b.soundEnabled&&!o,k=b.isMuted;function w(){if(y){if(k=!k,b.storageKey)try{localStorage.setItem(b.storageKey,String(k))}catch{}x.setMuted(k),V.setMuted(k),te.setMuted(k)}}let x=Ub({agentName:t,launcherToken:r,mascotDisabled:o,mascotImage:e.mascot?.imageUrl,mascotMp4:e.mascot?.mp4Url,mascotWebm:e.mascot?.webmUrl,experience:i,siteId:e.siteId,onClick:()=>Bc()}),h=$b({panelResizable:s,experience:i,agentName:t,onClose:L}),A=!1;function E(){A=!A,A?h.conversationDrawer.classList.add("open"):h.conversationDrawer.classList.remove("open")}h.conversationDrawerCloseBtn.addEventListener("click",()=>{A=!1,h.conversationDrawer.classList.remove("open")}),h.conversationNewBtn.addEventListener("click",()=>{A=!1,h.conversationDrawer.classList.remove("open"),e.onNewTask?.()});let _=!1,z=null,ee=!1,V=zb({agentName:t,agentInitial:n,mascotDisabled:o,mascotImage:e.mascot?.imageUrl,mascotMp4:e.mascot?.mp4Url,mascotWebm:e.mascot?.webmUrl,panelResizable:s,showTaskControls:e.showTaskControls!==!1,allowSoundToggle:y,isMuted:k,onClose:L,onMinimize:()=>no(),onCycleSize:()=>h.cyclePanelSize(),onNewTask:()=>{_&&e.onCancelRun?(z="new_task",le({visible:!0,text:"A task is in progress. Cancel it and start new?",primaryLabel:"Cancel & start new",secondaryLabel:"Keep running"})):e.onNewTask?.()},onEndTask:()=>{_&&e.onCancelRun?(z="end_task",le({visible:!0,text:"A task is in progress. Cancel and end it?",primaryLabel:"Cancel & end",secondaryLabel:"Keep running"})):e.onEndTask?.()},onCancelRun:()=>e.onCancelRun?.(),onRequestControl:()=>e.onRequestControl?.(),onToggleMute:w,onToggleConversations:E}),ne=Hb({thoughtStyle:e.thoughtStyle,stream:i.stream}),$=qb(t,a),re=e.shortcuts?.slice(0,12)||[];re.length>0&&$.render(re,e.onShortcutClick),ne.feed.appendChild($.emptyState);let X=fp({onSelect:O=>{e.onShortcutClick?.(O)},onClose:()=>{}});re.length>0&&X.setItems(re);let te=Gb({mascotDisabled:o,mascotImage:e.mascot?.imageUrl,mascotMp4:e.mascot?.mp4Url,mascotWebm:e.mascot?.webmUrl,launcherToken:r,isMuted:k,onExpand:()=>{p.getState()==="window"?no():xr()},onClose:()=>oi()}),de=()=>(window.visualViewport?.width??window.innerWidth??640)<=640,me=mp({container:x.root,reducedMotion:fo(),mobile:de(),color:i.theme?.accentColor||"rgba(255, 76, 0, 0.6)"}),be=hp({container:f,panel:h.panel,resolveElement:e.resolveElement}),Be=ty({container:f,panel:h.panel,resolveElement:e.resolveElement,reducedMotion:fo()}),bt=up({onFrequencyData:O=>{let W=1+O*.08;x.root.style.setProperty("--rv-audio-scale",String(W))}}),Rt=0,ot=0;function Oe(){let O=Rt>0?Math.min(1,ot/Rt)*100:0;h.panel.style.setProperty("--rv-tide-progress",`${O}%`)}let F=document.createElement("span");F.className="pulse-badge",F.style.display="none",F.textContent="0",x.root.appendChild(F);let Y=!1;function ye(){let W=p.getState()==="seed"&&_;W!==Y&&(Y=W,x.root.classList.toggle("pulse",Y),i.motion?.particles!==!1&&me.setMode(Y?"pulse":"idle"),F.style.display=Y?"flex":"none",te.setRunning(_))}function Q(O,W){let Ee=document.createElement("div");Ee.className="tool-ripple",Ee.style.left=`${O}px`,Ee.style.top=`${W}px`,f.appendChild(Ee);try{let Ne=Ee.animate([{transform:"translate(-50%, -50%) scale(0)",opacity:.6},{transform:"translate(-50%, -50%) scale(1)",opacity:0}],{duration:500,fill:"forwards"});Ne.onfinish=()=>Ee.remove()}catch{setTimeout(()=>Ee.remove(),500)}}function ue(O){let W=O.actionCue;if(!W||W.targetLabel)return O;let Ee=W.primaryElementId??O.elementId,Ne=Ee!=null?e.resolveElement?.(Ee):null,Fe=bp(Ne);return Fe?{...O,actionCue:{...W,targetLabel:Fe}}:O}let ie=Xu(e.voice),ae="idle",pe="",Qe="",et="",Je="",Tt=!1,gt=null,je=null,At=null,Ue=null,ct=null,_t=0,pt=!1,Nt=!1,Ct=0,ft=null,fn=!1,mn=!1,lr="";function on(){je&&(clearTimeout(je),je=null)}function we(){At&&(clearTimeout(At),At=null)}function dr(){Ue&&(clearTimeout(Ue),Ue=null)}function Ae(){ct&&(clearTimeout(ct),ct=null)}let zt=null,bn=null;function Ht(){zt&&(clearTimeout(zt),zt=null),bn&&(clearTimeout(bn),bn=null)}function _o(){Qe="",et="",Je=""}function Eo(){on(),we(),dr(),Ae(),_t=0,pt=!1,Nt=!1,Ct=0,ft=null,fn=!1,mn=!1}function ri(){return xb(Qe,et,Je)}function $i(){U.setText(ri())}function Wi(){return Ku(ie?.autoStopMs)}function Dn(){return _t?Math.max(0,Date.now()-_t):0}function Qn(O,W){e.onVoiceTelemetry?.(O,W)}function Zn(O){return{hadSpeech:pt,restartCount:Ct,durationMs:Dn(),autoStopMs:Wi(),...O||{}}}function Io(){return{code:"no_speech",message:"No speech was detected.",recoverable:!0}}function On(O){fn||(Qn("voice_error",Zn({code:O.code,recoverable:O.recoverable})),fn=!0),O.code==="permission_denied"&&Qn("voice_permission_denied",Zn({code:O.code}))}function Bt(){let O=ie?.enabled===!0&&i.inputs?.voice!==!1,W=D.isSupported();if(U.setVoiceVisible(O&&W),U.setVoiceActive(ae==="listening"),ae==="error"&&pe){U.setStatusMessage(pe,"error");return}if(ae==="listening"){U.setStatusMessage(pt?"Listening. Pause briefly when you're done.":"Listening. Start speaking when you're ready.");return}if(O&&!W){U.setStatusMessage("Voice dictation is not available in this browser.");return}U.setStatusMessage("")}function Ro(O){if(ae!=="listening"||pt||gt||Ct>=3)return!1;let W=Dn();return W>=5e3||W>=6e4?!1:O?O.code==="no_speech"||O.code==="aborted"||O.code==="unknown":!0}function g(){if(ae!=="listening"||pt||!_t)return;we();let O=5e3-Dn();if(O<=0){let W=ft?.code==="no_speech"?ft:Io();gt="no_speech",ae="error",pe=W.message,On(W),Bt(),D.stop();return}At=setTimeout(()=>{if(ae!=="listening"||pt)return;let W=Io();ft=W,gt="no_speech",ae="error",pe=W.message,On(W),Bt(),D.stop()},O)}function N(){if(ae!=="listening"||!_t)return;dr();let O=6e4-Dn();if(O<=0){if(pt)T("silence");else{let W=Io();ft=W,gt="no_speech",ae="error",pe=W.message,On(W),Bt(),D.stop()}return}Ue=setTimeout(()=>{if(ae!=="listening")return;if(pt){T("silence");return}let W=Io();ft=W,gt="no_speech",ae="error",pe=W.message,On(W),Bt(),D.stop()},O)}function C(){ae!=="listening"||!pt||Nt||(on(),je=setTimeout(()=>{ae==="listening"&&T("silence")},Wi()))}function M(){Ro(ft)&&(Ae(),Ct+=1,ft=null,g(),N(),ct=setTimeout(()=>{ct=null,!(ae!=="listening"||pt||gt)&&D.start({language:ie?.language})},160))}function T(O,W){if(ae!=="listening"){W?.resetDraftBase&&(_o(),Eo());return}on(),we(),dr(),Ae(),gt=O,D.stop(),W?.resetDraftBase&&_o()}function S(){if(U.textarea.disabled||!ie?.enabled||!D.isSupported()){ie?.enabled&&!D.isSupported()&&(ae="error",pe="Voice dictation is not available in this browser.",Bt());return}pe="",ae="listening",Tt=!1,gt=null,Qe=U.textarea.value,et="",Je="",Eo(),_t=Date.now(),mn=!0,g(),N(),Bt(),D.start({language:ie.language}),x.root.classList.add("voice-active"),bt.start()}function I(O){ft=O,!(gt&&(O.code==="aborted"||O.code==="no_speech"||O.code==="unknown"))&&(O.code==="aborted"||O.code==="no_speech"||O.code==="unknown"||(on(),we(),Ae(),ae="error",pe=O.message,gt="error",Bt(),On(O)))}let D=pp({onStart:()=>{ae="listening",pe="",ft=null,g(),N(),mn&&(Qn("voice_started",Zn({provider:"browser"})),mn=!1),Bt()},onSpeechStart:()=>{ae==="listening"&&(pt=!0,Nt=!0,ft=null,we(),on(),Bt())},onSpeechEnd:()=>{ae==="listening"&&(Nt=!1,pt&&C(),Bt())},onResult:({finalTranscript:O,interimTranscript:W})=>{(O||W)&&(pt=!0,Nt=W.length>0,ft=null,we(),on()),et=O,Je=W,$i(),pt&&!Nt&&C(),Bt()},onEnd:({requested:O})=>{if(x.root.classList.remove("voice-active"),bt.stop(),x.root.style.removeProperty("--rv-audio-scale"),Ae(),!O&&Ro(ft)){M();return}let W=Pe(ri()),Ee=Pe(Qe).length>0,Ne=ft,Fe=gt||(O?"manual":"silence");if(on(),we(),dr(),!pt&&!O&&ae!=="error"){let hn=Ne?.code==="no_speech"?Ne:Io();ae="error",pe=hn.message,gt="no_speech",Fe="no_speech",On(hn)}else!O&&!gt&&pt?Fe="silence":gt&&(Fe=gt);ae!=="error"&&(ae="idle",pe=""),W&&Qn("voice_transcript_ready",Zn({chars:W.length,hadExistingDraft:Ee})),Qn("voice_stopped",Zn({reason:Fe,stopReason:Fe,requested:O,errorCode:Ne?.code}));let tt=Tt;Tt=!1,gt=null,_o(),Eo(),Bt(),tt&&it()},onError:I}),U=jb({agentName:t,experience:i,onSubmit:(O,W)=>{if(!U.textarea.disabled){if(ae==="listening"){Tt=!0,T("submit");return}it()}},onVoiceStart:()=>{if(ae==="listening"){T("manual");return}S()},onVoiceStop:()=>T("manual")}),q=!1,K=!1,Z=0,oe="",ve=null,Se="Ready",We=!1,Ce="controller",Ie=!1,Me=null,dt=null,Lt={},Ge="";function it(){if(U.textarea.disabled)return;let O=Pe(U.textarea.value),W=U.getPendingAttachments(),Ee=O||(W.length>0?"Use the attached files as context for this task.":"");Ee&&(le({visible:!1}),oe=O||(W.length>0?`Review ${W.length===1?W[0].name:`${W.length} attachments`}`:oe),Z=Date.now(),e.onSend(Ee,W.length>0?{attachments:W}:void 0),U.setText(""),U.clearAttachments(),pe="",ae="idle",_o(),Eo(),Tt=!1,gt=null,qe(),Bt())}function qe(){let O=!!(oe||_);if(h.taskStage.style.display=O?"":"none",!O)return;h.taskStageTitle.textContent=Is(oe,{maxLength:120,maxUrlLength:56})||`${i.presence?.assistantName||t} is working\u2026`;let W=[];Z>0&&W.push(Lo(Z)),Se&&Se.toLowerCase()!=="ready"&&W.push(Se),h.taskStageMeta.textContent=W.join(" \u2022 "),h.taskStageStatusPill.textContent=_?"Active task":"Done",h.taskStageStatusPill.classList.toggle("running",_),h.taskStageStatusPill.classList.toggle("idle",!_)}function Ze(){if(h.artifactStageBody.innerHTML="",h.artifactStage.classList.toggle("visible",!!ve),h.artifactStage.classList.toggle("expanded",K),h.artifactStageToggle.textContent=K?"Collapse":"Expand",!ve){h.artifactStageBody.appendChild(h.artifactStageEmpty);return}let O=As(ve);O?h.artifactStageBody.appendChild(O):h.artifactStageBody.appendChild(h.artifactStageEmpty)}function wt(O){if(!Array.isArray(O)||O.length===0)return;let W=O.find(Ee=>Ee.type==="tool_output"||Ee.type==="json")||null;W&&(ve=W,i.stream?.artifactAutoMinimize!==!1&&(K=!1),Ze())}h.artifactStageToggle.addEventListener("click",()=>{K=!K,Ze()});function at(){let O=p.getState(),W=h.panel.classList.contains("open")&&!h.panel.classList.contains("closing");O==="bar"?f.dataset.shell="bar":O==="window"?f.dataset.shell=_?"focus_stream":"stage":f.dataset.shell="presence";let Ee=W&&!_&&(i.shell?.dimBackground!==!1||i.shell?.blurBackground!==!1);h.backdrop.classList.toggle("visible",Ee)}function Re(){ne.showTyping(_&&We)}function ge(){let O=_||Ce==="observer"&&!Ie;U.setDisabled(O),h.questionPromptCancel.disabled=O,h.questionPromptSubmit.disabled=O;for(let W of Array.from(h.questionPromptForm.querySelectorAll(".questionPromptInput")))W.disabled=O;O&&ae==="listening"&&T("disabled"),Bt()}h.taskSuggestionPrimaryBtn.addEventListener("click",()=>{if(z){let O=z;z=null,le({visible:!1}),e.onCancelRun?.(),O==="new_task"?e.onNewTask?.():O==="end_task"&&e.onEndTask?.();return}e.onTaskSuggestionPrimary?.()}),h.taskSuggestionSecondaryBtn.addEventListener("click",()=>{if(z){z=null,le({visible:!1});return}e.onTaskSuggestionSecondary?.()});function Le(O){if(!O||!Array.isArray(O.questions))return[];let W=[],Ee=new Set;for(let Ne=0;Ne<O.questions.length;Ne+=1){let Fe=O.questions[Ne];if(!Fe||typeof Fe!="object")continue;let tt=String(Fe.key||Fe.id||"").trim()||`clarification_${Ne+1}`,hn=String(Fe.query||Fe.question||"").trim();if(!hn||Ee.has(tt))continue;Ee.add(tt);let Yt=typeof Fe.required=="boolean",Jt=typeof Fe.optional=="boolean",pr=Yt?!!Fe.required:Jt?!Fe.optional:!0;W.push({key:tt,query:hn,...Fe.id?{id:Fe.id}:{},...Fe.question?{question:Fe.question}:{},...Array.isArray(Fe.choices)?{choices:Fe.choices}:{},required:pr})}return W.slice(0,6)}function ut(O){return O.map(W=>{let Ee=Array.isArray(W.choices)?W.choices.map(Ne=>Pe(String(Ne||""))).filter(Boolean).join("|"):"";return`${W.key}::${Pe(W.query)}::${Ee}::${W.required===!1?"optional":"required"}`}).join("||")}function En(O){for(let W of Array.from(h.questionPromptForm.querySelectorAll(".questionPromptInput")))if(W.dataset.key===O)return W;return null}h.questionPromptForm.addEventListener("submit",O=>{if(O.preventDefault(),U.textarea.disabled||!Me?.questions?.length)return;let W={},Ee=[],Ne=null;for(let Yt of Me.questions){let Jt=En(Yt.key);if(!Jt)continue;let pr=Pe(Jt.value);if(!pr&&Yt.required!==!1){Jt.classList.add("invalid"),Ne||(Ne=Jt);continue}Jt.classList.remove("invalid"),pr?(Lt[Yt.key]=pr,W[Yt.key]=pr,Ee.push(`${Yt.key}: ${pr}`)):(delete Lt[Yt.key],Ee.push(`${Yt.key}: (no answer provided)`))}if(Ne){Ne.focus();return}let Fe=Me.questions.map(Yt=>Yt.key),tt=Ee.length?Ee.join(`
4150
+ `):Fe.map(Yt=>`${Yt}: (no answer provided)`).join(`
4151
+ `),hn=U.getPendingAttachments();e.onSend(tt,{askUserAnswers:{answersByKey:W,rawText:tt,keys:Fe},attachments:hn.length?hn:void 0}),U.clearAttachments()}),h.questionPromptCancel.addEventListener("click",()=>{if(!U.textarea.disabled){if(e.onCancelQuestionFlow){e.onCancelQuestionFlow();return}e.onCancelRun?.()}}),h.panel.appendChild(h.panelGrabber),h.panel.appendChild(V.root),h.panel.appendChild(h.taskStage),h.panel.appendChild(h.artifactStage),h.panel.appendChild(h.conversationPill),h.panel.appendChild(h.pausedTaskBanner),h.panel.appendChild(ne.root),h.panel.appendChild(h.taskSuggestion),h.panel.appendChild($.bar),h.panel.appendChild(h.questionPrompt),h.panel.appendChild(h.resizeHandle),h.panel.appendChild(h.conversationDrawer),te.composerSlot.appendChild(U.root);let It=Xb({thoughtStyle:e.thoughtStyle,stream:i.stream});It.setOnExpand(()=>{It.hide(),p.getState()==="bar"&&xr(),ne.setTraceExpanded(!0,i.stream?.maxVisibleLiveCards)}),f.appendChild(h.backdrop),f.appendChild(x.root),f.appendChild(x.greetingBubble),f.appendChild(h.panel),f.appendChild(It.root),f.appendChild(te.root),f.appendChild(X.root),l.appendChild(f),l.addEventListener("keydown",O=>{let W=O;if(W.key==="Escape"){if(W.stopPropagation(),X.isOpen()){X.close();return}if(h.panel.classList.contains("open")){no();return}if(p.getState()==="bar"){oi();return}}});let Vi=O=>{if((O.metaKey||O.ctrlKey)&&O.code==="KeyK"){O.preventDefault(),O.stopPropagation(),X.isOpen()?X.close():X.open();return}O.code==="Period"&&O.shiftKey&&(O.metaKey||O.ctrlKey)&&(O.preventDefault(),O.stopPropagation(),h.panel.classList.contains("open")?L():v())};document.addEventListener("keydown",Vi);let kr=()=>{h.applyLayout(),x.applyPosition()};if(window.addEventListener("resize",kr),window.addEventListener("orientationchange",kr),window.visualViewport?.addEventListener("resize",kr),window.visualViewport?.addEventListener("scroll",kr),h.applyLayout(),x.applyPosition(),x.setMuted(k),V.setMuted(k),te.setMuted(k),Xe("controller"),an(ie),ne.setTraceExpanded(!1,i.stream?.maxVisibleLiveCards),Ze(),qe(),i.theme?.accentColor){let O=Ju(i.theme.accentColor);for(let[W,Ee]of Object.entries(O))f.style.setProperty(W,Ee)}function no(){if(ee=!0,p.getState()!=="window")return;V.closeOverflow(),i.shell?.transitionStyle!=="crossfade"&&!fo()?(h.backdrop.classList.remove("visible"),h.panel.animate([{opacity:1,transform:"translateY(0) scale(1)",filter:"blur(0)"},{opacity:0,transform:"translateY(12px) scale(0.97)",filter:"blur(3px)"}],{duration:Cs(250,i.motion?.intensity||"balanced"),easing:"cubic-bezier(0.4, 0, 0.2, 1)",fill:"forwards"}).finished.then(()=>{h.panel.classList.remove("open"),h.panel.style.display="none",h.panel.style.transform="",h.panel.style.filter="",h.panel.style.animation="",at()}).catch(()=>{})):(h.panel.classList.remove("open"),h.panel.style.display="none",h.backdrop.classList.remove("visible"),at()),p.setState("bar"),te.setExpanded(!1),ye(),_&&It.show()}function xr(){if(p.getState()!=="bar")return;h.applyLayout(),h.panel.style.transition="",i.shell?.transitionStyle!=="crossfade"&&!fo()?(h.backdrop.classList.add("visible"),h.panel.style.animation="none",h.panel.style.opacity="0",h.panel.style.display="flex",h.panel.classList.add("open"),h.panel.animate([{opacity:0,transform:"translateY(12px) scale(0.97)",filter:"blur(3px)"},{opacity:1,transform:"translateY(0) scale(1)",filter:"blur(0)"}],{duration:Cs(320,i.motion?.intensity||"balanced"),easing:"cubic-bezier(0.16, 1, 0.3, 1)",fill:"forwards"}).finished.then(()=>{h.panel.style.transform="",h.panel.style.filter="",h.panel.style.opacity="",at(),U.textarea.disabled||U.textarea.focus()}).catch(()=>{})):(h.panel.classList.add("open"),h.panel.style.display="flex",h.backdrop.classList.add("visible"),at(),U.textarea.disabled||U.textarea.focus()),p.setState("window"),te.setExpanded(!0),ye(),e.onOpen?.()}function oi(){ee=!1;let O=p.getState();if(O==="window")V.closeOverflow(),h.panel.classList.remove("open"),h.panel.style.display="none",h.panel.style.transform="",h.panel.style.filter="",h.panel.style.animation="",h.backdrop.classList.remove("visible"),p.setState("bar"),te.setExpanded(!1),ye();else if(O!=="bar")return;p.setState("seed"),p.setMood("idle"),ye(),!fo()?(Ab({seed:x.root,bar:te.root,duration:Cs(280,i.motion?.intensity||"balanced")}),at()):(te.hide(),at()),e.onClose?.()}function Bc(){if(p.getState()!=="seed")return;X.isOpen()&&X.close(),x.setGreeting(null),Ht(),p.setState("bar"),ye(),!fo()?Rb({seed:x.root,bar:te.root,duration:Cs(300,i.motion?.intensity||"balanced")}).then(()=>{at(),ee||xr()}):(te.show(),at(),ee||xr())}function v(){if(X.isOpen()&&X.close(),p.getState()==="bar"){xr();return}if(p.getState()==="seed"){Bc();return}}function L(){if(p.getState()==="bar"){oi();return}if(V.closeOverflow(),!h.panel.classList.contains("open")){e.onClose?.();return}no()}function B(O,W,Ee){ne.addMessage(O,W,Ee?.blocks),O==="assistant"&&_&&We&&(We=!1,Re()),O==="user"&&(oe=Pe(W)||oe,Z=Date.now(),K=!1),O==="assistant"&&wt(Ee?.blocks),q=!0,qe(),$.syncVisibility(q,_,!!Me?.questions?.length),O==="user"?p.setMood("typing",1200):O==="assistant"?p.setMood("success",1400):p.setMood("running",900),f.dataset.mood=p.getMood(),i.motion?.palimpsest!==!1&&h.backdrop.classList.toggle("palimpsest",_&&p.getMood()==="running")}function j(O){let W=Le(O);if(!W.length){Me=null,dt=null,Lt={},h.questionPromptList.innerHTML="",h.questionPrompt.classList.remove("visible"),$.syncVisibility(q,_,!1);return}let Ee=ut(W),Ne=Ee!==dt||!Me;if(Me={questions:W},Ne){let Fe=Lt;Lt={},h.questionPromptList.innerHTML="";for(let tt of W){let hn=document.createElement("label");hn.className="questionPromptItem";let Yt=document.createElement("span");Yt.className="questionPromptLabel",Yt.textContent=tt.required===!1?`${tt.query} (optional)`:tt.query,hn.appendChild(Yt);let Jt=document.createElement("input");Jt.type="text",Jt.className="questionPromptInput",Jt.dataset.key=tt.key,Jt.required=tt.required!==!1;let pr=String(Fe[tt.key]||"");Lt[tt.key]=pr,Jt.value=pr,Jt.addEventListener("input",()=>{Lt[tt.key]=Jt.value,Jt.classList.remove("invalid")}),hn.appendChild(Jt),h.questionPromptList.appendChild(hn)}dt=Ee}h.questionPrompt.classList.add("visible"),ge(),$.syncVisibility(q,_,!0)}function J(){ne.clearMessages(),q=!1,oe="",Z=0,ve=null,K=!1,U.clearAttachments(),Ze(),qe(),j(void 0),$.syncVisibility(!1,_,!1)}function le(O){h.taskSuggestion.classList.toggle("visible",!!O?.visible),h.taskSuggestionTextEl.textContent=O?.text||"Looks like a new request. Start a new task?",h.taskSuggestionPrimaryBtn.textContent=O?.primaryLabel||"Start new",h.taskSuggestionSecondaryBtn.textContent=O?.secondaryLabel||"Continue"}function _e(O){let W=String(O||"ready");V.setStatus(W),Se=W;let Ee=W.toLowerCase(),Ne=p.getMood();if(Ee.includes("error")||Ee.includes("failed")){if(p.setMood("error",1800),Ne!=="error"){try{x.root.animate([{transform:"translateX(0)"},{transform:"translateX(-6px)"},{transform:"translateX(5px)"},{transform:"translateX(-4px)"},{transform:"translateX(3px)"},{transform:"translateX(-1px)"},{transform:"translateX(0)"}],{duration:800,easing:"ease-out"})}catch{}x.root.classList.add("error-wobble"),setTimeout(()=>x.root.classList.remove("error-wobble"),850)}}else Ee.includes("waiting")||Ee.includes("queued")||Ee.includes("paused")?p.setMood("waiting",0):Ee==="ready"||Ee.includes("complete")?p.setMood("idle"):p.setMood("running",1e3);f.dataset.mood=p.getMood(),i.motion?.palimpsest!==!1&&h.backdrop.classList.toggle("palimpsest",_&&p.getMood()==="running"),qe()}function De(O){let W=_;if(_=O,O)We=!0,Z||(Z=Date.now()),Rt=0,ot=0,Oe(),i.motion?.particles!==!1&&me.setMode("ambient"),p.getState()==="window"&&(V.closeOverflow(),h.panel.classList.remove("open"),h.panel.style.display="none",h.panel.style.transform="",h.panel.style.filter="",h.panel.style.animation="",h.backdrop.classList.remove("visible"),p.setState("bar"),te.setExpanded(!1)),It.show(),te.setRunning(!0),U.setSendAsStop(!0,()=>{e.onCancelRun?.()});else if(It.hide(),te.setRunning(!1),U.setSendAsStop(!1,()=>{}),We=!1,be.clearAll(),Be.clearAll(),W&&p.getState()!=="window"&&xr(),setTimeout(()=>ne.smartScrollToBottom(),80),W&&p.getMood()!=="error"){i.motion?.particles!==!1&&me.setMode("burst");try{x.root.animate([{transform:"scale(1)"},{transform:"scale(1.08)"},{transform:"scale(0.97)"},{transform:"scale(1)"}],{duration:600,easing:"ease-out"})}catch{}x.root.classList.add("completion-burst"),setTimeout(()=>{x.root.classList.remove("completion-burst"),ye()},700)}else i.motion?.particles!==!1&&me.setMode("idle");i.motion?.palimpsest!==!1&&h.backdrop.classList.toggle("palimpsest",O&&p.getMood()==="running"),Re(),ge(),V.setRunning(O),!O&&i.stream?.artifactAutoMinimize!==!1&&(K=!1,Ze()),qe(),$.syncVisibility(q,_,!!Me?.questions?.length),at(),W&&!O&&p.getMood()!=="error"||ye()}function Xe(O,W){Ce=O,Ie=O==="observer"?W?.canComposeInObserver===!0:!0,ge(),V.setExecutionMode(O,W),O==="controller"?U.setStaticPlaceholder(""):W?.note?U.setStaticPlaceholder(W.note):Ie?U.setStaticPlaceholder("Send to take control and run here."):U.setStaticPlaceholder("Observer mode. Take control to run actions here.")}function mt(O){let W=Pe(O);W&&!h.panel.classList.contains("open")&&x.setGreeting(W)}function yt(){x.setGreeting(null)}function Mt(O){a=O||void 0,$.setVisitorName(a,t)}function an(O){let W=Xu(O),Ee=JSON.stringify(ie||null),Ne=JSON.stringify(W||null);if(Ee===Ne){Bt();return}ie=W,pe="",Tt=!1,ae==="listening"?T("config"):(_o(),Eo(),ae="idle"),Bt()}function ur(O){if(i=Yu({...e,experience:O},t,o),x.update(i),U.update(i),ne.setStreamConfig(i.stream),It.setStreamConfig(i.stream),ne.setThoughtStyle(e.thoughtStyle),It.setThoughtStyle(e.thoughtStyle),i.theme?.accentColor){let W=Ju(i.theme.accentColor);for(let[Ee,Ne]of Object.entries(W))f.style.setProperty(Ee,Ne)}i.theme?.fontFamily&&f.style.setProperty("font-family",`${i.theme.fontFamily}, Manrope, sans-serif`),f.dataset.surfaceStyle=i.theme?.surfaceStyle||"glass",i.motion?.particles===!1&&me.setMode("idle"),i.motion?.filaments===!1&&be.clearAll(),i.motion?.actionSpotlight===!1&&Be.clearAll(),i.motion?.palimpsest===!1&&h.backdrop.classList.remove("palimpsest"),qe(),Ze(),x.applyPosition()}function ro(){h.applyLayout(),f.style.display="",x.applyPosition(),at()}function In(){L(),f.style.display="none",at()}function Dt(){p.destroy(),Ht(),on(),D.dispose(),X.destroy(),te.destroy(),It.destroy(),me.destroy(),be.destroy(),Be.destroy(),bt.dispose(),window.removeEventListener("resize",kr),window.removeEventListener("orientationchange",kr),window.visualViewport?.removeEventListener("resize",kr),window.visualViewport?.removeEventListener("scroll",kr),document.removeEventListener("keydown",Vi),d.remove(),c.remove()}function Ut(O){}let zr="";function Uc(O){let W=O.map(Ne=>`${Ne.id}|${Ne.summary}|${Ne.status}|${Ne.updatedAt}|${Ne.isActive}`).join(";;");if(W===zr)return;zr=W;let Ee=O.find(Ne=>Ne.isActive);h.conversationPillLabel.textContent=Ee&&Is(Ee.summary,{maxLength:44,maxUrlLength:32})||"Current task",h.conversationPill.style.display=O.length>1?"flex":"none",h.conversationList.innerHTML="";for(let Ne of O){let Fe=document.createElement("div");Fe.className=`conversationItem ${Ne.status}${Ne.isActive?" active":""}`,Fe.dataset.id=Ne.id;let tt=document.createElement("span");tt.className="conversationDot";let hn=document.createElement("div");hn.className="conversationContent";let Yt=document.createElement("div");Yt.className="conversationSummary",Yt.textContent=Is(Ne.summary,{maxLength:64,maxUrlLength:36})||"Task";let Jt=document.createElement("div");Jt.className="conversationMeta";let pr=Ne.status==="running"?"Running":Ne.status==="paused"?"Paused":Ne.status==="completed"?"Done":Ne.status;Jt.textContent=`${pr} \xB7 ${Lo(Ne.updatedAt)}`,hn.appendChild(Yt),hn.appendChild(Jt);let Qd=document.createElement("div");Qd.className="conversationActions";let ns=document.createElement("button");ns.type="button",ns.className="conversationDeleteBtn",ns.textContent="\xD7",ns.addEventListener("click",zx=>{zx.stopPropagation(),e.onDeleteConversation?.(Ne.id)}),Qd.appendChild(ns),Fe.appendChild(tt),Fe.appendChild(hn),Fe.appendChild(Qd),Fe.addEventListener("click",()=>{A=!1,h.conversationDrawer.classList.remove("open"),e.onSwitchConversation?.(Ne.id)}),h.conversationList.appendChild(Fe)}}function Px(O){h.conversationList.querySelectorAll(".conversationItem").forEach(W=>{W.dataset.id===O?W.classList.add("active"):W.classList.remove("active")})}function Bx(O){Ge=O.taskId;let W=Is(O.rootUserInput,{maxLength:56,maxUrlLength:32})||"Task";h.pausedTaskBanner.innerHTML="";let Ee=document.createElement("span");Ee.className="pausedTaskText",Ee.textContent=`Paused: "${W}"`;let Ne=document.createElement("div");Ne.className="pausedTaskActions";let Fe=document.createElement("button");Fe.type="button",Fe.className="pausedTaskResumeBtn",Fe.textContent="Resume",Fe.addEventListener("click",()=>e.onResumeTask?.(Ge));let tt=document.createElement("button");tt.type="button",tt.className="pausedTaskCancelBtn",tt.textContent="Cancel",tt.addEventListener("click",()=>e.onCancelPausedTask?.(Ge)),Ne.appendChild(Fe),Ne.appendChild(tt),h.pausedTaskBanner.appendChild(Ee),h.pausedTaskBanner.appendChild(Ne),h.pausedTaskBanner.classList.add("visible")}function Ux(){Ge="",h.pausedTaskBanner.classList.remove("visible")}if(e.greeting?.text&&e.greeting.disabled!==!0){let O=e.greeting.delay??800;zt=setTimeout(()=>{zt=null,h.panel.classList.contains("open")||(mt(e.greeting.text),e.greeting.duration!=null&&e.greeting.duration>0&&(bn=setTimeout(()=>{bn=null,yt()},e.greeting.duration)))},O)}return{addMessage:B,setTranscript:(O,W)=>{ne.setTranscript(O,W.map(ue)),q=O.length>0||W.length>0;let Ee=[...O].reverse().find(Ne=>Ne.role==="user");oe=Ee?Pe(Ee.text):"",qe(),$.syncVisibility(q,_,!!Me?.questions?.length)},setQuestionPrompt:j,clearMessages:J,addTimelineEvent:O=>{let W=ue(O);ne.addTimelineEvent(W),It.addTimelineEvent(W),wt(W.detailBlocks),W.kind==="thought"&&_&&We&&(We=!1,Re()),(W.title||"").toLowerCase()==="run completed"&&(ne.setTraceExpanded(!1,i.stream?.maxVisibleLiveCards),Be.clearAll());let Ee=W.status||(W.kind==="error"?"error":W.kind==="tool_result"?"success":"pending");if(Ee==="error"?p.setMood("error",2200):Ee==="success"?p.setMood("success",1200):p.setMood("running",800),f.dataset.mood=p.getMood(),i.motion?.palimpsest!==!1&&h.backdrop.classList.toggle("palimpsest",_&&p.getMood()==="running"),qe(),W.kind==="tool_start"&&(Rt++,Oe(),i.motion?.actionSpotlight!==!1&&Be.addEvent(W),W.elementId!=null&&i.motion?.filaments!==!1)){be.addTarget(W.elementId,W.toolName);let Fe=e.resolveElement?.(W.elementId);if(Fe){let tt=Fe.getBoundingClientRect();fo()||Q(tt.left+tt.width/2,tt.top+tt.height/2),f.style.setProperty("--rv-palimpsest-x",`${tt.left+tt.width/2}px`),f.style.setProperty("--rv-palimpsest-y",`${tt.top+tt.height/2}px`)}else{let tt=h.panel.getBoundingClientRect();fo()||Q(tt.left,tt.top+tt.height/2)}}W.kind==="tool_result"&&(ot++,Oe(),Be.fadeEvent(W),W.elementId!=null&&be.fadeTarget(W.elementId));let Ne=ne.traceOrder.length;F.textContent=String(Ne),ye()},clearTimeline:()=>{ne.clearTimeline(),It.clear(),ve=null,K=!1,Ze(),qe(),Rt=0,ot=0,Oe(),be.clearAll(),Be.clearAll(),F.textContent="0"},setTaskSuggestion:le,setStatus:_e,setRunning:De,setExecutionMode:Xe,setShortcuts:O=>{$.render(O,e.onShortcutClick),$.syncVisibility(q,_,!!Me?.questions?.length),X.setItems(O)},showGreeting:mt,dismissGreeting:yt,setVisitorName:Mt,setVoiceConfig:an,setPlaceholders:O=>{U.setPlaceholders(O)},setExperience:ur,open:v,close:L,minimize:no,maximize:xr,show:ro,hide:In,destroy:Dt,setState:O=>{O==="window"?v():O==="bar"?no():L()},getState:()=>p.getState(),setTabs:Ut,setConversations:Uc,setActiveConversationId:Px,getScrollPosition:()=>ne.getScrollPosition(),setScrollPosition:O=>ne.setScrollPosition(O),showPausedTaskBanner:Bx,hidePausedTaskBanner:Ux}}var gy=3,WT="rover:shared:",VT="rover:channel:",wp=2*6e4,my=9e4,Sp=45e3,Tp=2e4,GT=45e3;function xe(){return Date.now()}function $r(e){try{return`${e}-${crypto.randomUUID()}`}catch{return`${e}-${Date.now()}-${Math.floor(Math.random()*1e5)}`}}function zl(e){let t=String(e||"").trim();if(!t)return"";try{return new URL(t,window.location.href).toString()}catch{return t}}function by(e){if(!e||typeof e!="object")return;let t=typeof e.taskId=="string"?e.taskId.trim():"";if(!t)return;let n=e.status==="completed"||e.status==="cancelled"||e.status==="failed"||e.status==="ended"||e.status==="running"?e.status:"running";return{taskId:t,status:n,startedAt:Number(e.startedAt)||xe(),lastUserAt:Number(e.lastUserAt)||void 0,lastAssistantAt:Number(e.lastAssistantAt)||void 0,boundaryReason:typeof e.boundaryReason=="string"?e.boundaryReason:void 0,endedAt:Number(e.endedAt)||void 0}}function yy(e){return e==="completed"?"completed":e==="cancelled"||e==="ended"?"cancelled":e==="failed"?"failed":"running"}function Fl(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(-4)){let r=n?.role==="user"?"user":n?.role==="model"?"model":void 0;if(!r)continue;let o=String(n?.message||"").replace(/\s+/g," ").trim();if(!o)continue;let i=t[t.length-1];i&&i.role===r&&i.message===o||t.push({role:r,message:o})}return t}function Ns(e,t){if(!e)return;let n=typeof e=="string"?e:e?.text,r=String(n||"").trim();if(!r)return;let o=typeof e?.runId=="string"&&e.runId.trim()?e.runId.trim():typeof t?.runId=="string"&&t.runId.trim()?t.runId.trim():void 0,i=typeof e?.taskId=="string"&&e.taskId.trim()?e.taskId.trim():typeof t?.taskId=="string"&&t.taskId.trim()?t.taskId.trim():void 0;return{text:r,ts:Number(e?.ts)||xe(),runId:o,taskId:i,stage:typeof e?.stage=="string"&&e.stage.trim()?e.stage.trim():void 0}}function vy(e){return Array.isArray(e)?e.slice(-qt.uiMessages).map(t=>({id:String(t?.id||$r("msg")),role:t?.role==="user"||t?.role==="assistant"||t?.role==="system"?t.role:"system",text:String(t?.text||""),blocks:ga(t?.blocks),ts:Number(t?.ts)||xe(),sourceRuntimeId:typeof t?.sourceRuntimeId=="string"?t.sourceRuntimeId:void 0})).filter(t=>!!t.text||!!t.blocks?.length):[]}var KT=new Set(["click","type","select","clear","focus","hover","press","scroll","drag","navigate","read","wait","unknown"]);function XT(e){if(!Array.isArray(e))return;let t=new Set,n=[];for(let r of e){let o=Math.trunc(Number(r));!Number.isFinite(o)||o<=0||t.has(o)||(t.add(o),n.push(o))}return n.length?n:void 0}function Ep(e){if(!e||typeof e!="object")return;let t=e,n=String(t.kind||"").trim();if(!KT.has(n))return;let r=Math.trunc(Number(t.primaryElementId)),o=XT(t.elementIds),i=typeof t.toolCallId=="string"&&t.toolCallId.trim()?t.toolCallId.trim().slice(0,128):void 0,a=typeof t.targetLabel=="string"&&t.targetLabel.trim()?t.targetLabel.trim().slice(0,64):void 0;return{kind:n,toolCallId:i,primaryElementId:Number.isFinite(r)&&r>0?r:void 0,elementIds:o,valueRedacted:typeof t.valueRedacted=="boolean"?t.valueRedacted:void 0,targetLabel:a}}function ky(e){return Array.isArray(e)?e.slice(-qt.timelineEvents).map(t=>({id:String(t?.id||$r("timeline")),kind:String(t?.kind||"status"),title:String(t?.title||"Step"),detail:typeof t?.detail=="string"?t.detail:void 0,detailBlocks:ga(t?.detailBlocks),status:t?.status==="pending"||t?.status==="success"||t?.status==="error"||t?.status==="info"?t.status:void 0,ts:Number(t?.ts)||xe(),sourceRuntimeId:typeof t?.sourceRuntimeId=="string"?t.sourceRuntimeId:void 0,elementId:Number.isFinite(Number(t?.elementId))?Math.trunc(Number(t.elementId)):void 0,toolName:typeof t?.toolName=="string"?t.toolName.slice(0,120):void 0,actionCue:Ep(t?.actionCue)})).filter(t=>!!t.title):[]}var YT=new Set(["idle","running","awaiting_user","paused","blocked","completed","failed","cancelled"]);function JT(e){if(!e||typeof e!="object")return;let t=typeof e.taskId=="string"?e.taskId.trim():"";if(!t)return;let n=YT.has(e.state)?e.state:"running";return{taskId:t,state:n,startedAt:Number(e.startedAt)||xe(),endedAt:Number(e.endedAt)||void 0,activeRun:e.activeRun&&typeof e.activeRun=="object"&&e.activeRun.runId?{runId:String(e.activeRun.runId),text:String(e.activeRun.text||""),runtimeId:String(e.activeRun.runtimeId||""),startedAt:Number(e.activeRun.startedAt)||xe(),updatedAt:Number(e.activeRun.updatedAt)||xe()}:void 0,workerContext:jl(e.workerContext),uiMessages:Array.isArray(e.uiMessages)?e.uiMessages.slice(-qt.uiMessages).map(r=>({id:String(r?.id||$r("msg")),role:r?.role==="user"||r?.role==="assistant"||r?.role==="system"?r.role:"system",text:String(r?.text||""),blocks:ga(r?.blocks),ts:Number(r?.ts)||xe(),sourceRuntimeId:typeof r?.sourceRuntimeId=="string"?r.sourceRuntimeId:void 0})).filter(r=>!!r.text||!!r.blocks?.length):[],timeline:Array.isArray(e.timeline)?e.timeline.slice(-qt.timelineEvents).map(r=>({id:String(r?.id||$r("timeline")),kind:String(r?.kind||"status"),title:String(r?.title||"Step"),detail:typeof r?.detail=="string"?r.detail:void 0,detailBlocks:ga(r?.detailBlocks),status:r?.status==="pending"||r?.status==="success"||r?.status==="error"||r?.status==="info"?r.status:void 0,ts:Number(r?.ts)||xe(),sourceRuntimeId:typeof r?.sourceRuntimeId=="string"?r.sourceRuntimeId:void 0,elementId:Number.isFinite(Number(r?.elementId))?Math.trunc(Number(r.elementId)):void 0,toolName:typeof r?.toolName=="string"?r.toolName.slice(0,120):void 0,actionCue:Ep(r?.actionCue)})).filter(r=>!!r.title):[],rootUserInput:typeof e.rootUserInput=="string"?e.rootUserInput:void 0,summary:typeof e.summary=="string"?e.summary:void 0,seedChatLog:Fl(e.seedChatLog),transientStatus:Ns(e.transientStatus,{runId:e.activeRun?.runId,taskId:t})}}function QT(e){if(!e||typeof e!="object")return;let t={},n=0;for(let r of Object.keys(e)){if(n>=20)break;let o=JT(e[r]);o&&(t[o.taskId]=o,n++)}return Object.keys(t).length>0?t:void 0}function xy(e){if(e==null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;try{return structuredClone(e)}catch{try{return JSON.parse(JSON.stringify(e))}catch{return}}}function ga(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(!n||typeof n!="object")continue;let r=n.type;if(r==="text"){let o=String(n.text||"");if(!o)continue;t.push({type:"text",text:o});continue}if(r==="tool_output"||r==="json"){let o=xy(n.data);t.push({type:r,data:o,label:typeof n.label=="string"?n.label:void 0,toolName:typeof n.toolName=="string"?n.toolName:void 0})}}return t.length?t:void 0}function hy(e,t){if(!Array.isArray(e))return[];let n=e.length<=t?e:[e[0],...e.slice(-(t-1))],r=[];for(let o of n){let i=xy(o);i!==void 0&&r.push(i)}return r}function jl(e){if(!e||typeof e!="object")return;let t=Array.isArray(e.pendingAskUser?.questions)?e.pendingAskUser.questions.map((l,d)=>{let m=String(l?.key||l?.id||"").trim()||`clarification_${d+1}`,f=String(l?.query||l?.question||"").trim();if(f)return{key:m,query:f,id:typeof l?.id=="string"?l.id:void 0,question:typeof l?.question=="string"?l.question:void 0,choices:Array.isArray(l?.choices)?l.choices:void 0}}).filter(l=>!!l).slice(0,6):[],n=e.pendingAskUser?.stepRef,r=n&&Number.isFinite(Number(n.stepIndex))&&Number(n.stepIndex)>=0&&Number.isFinite(Number(n.functionIndex))&&Number(n.functionIndex)>=0?{stepIndex:Number(n.stepIndex),functionIndex:Number(n.functionIndex),...typeof n.accTreeId=="string"&&n.accTreeId.trim()?{accTreeId:n.accTreeId.trim()}:{}}:void 0,o=l=>l.slice(-qt.uiMessages).map(d=>({role:typeof d?.role=="string"?d.role:"assistant",content:typeof d?.content=="string"?d.content:""})).filter(d=>!!d.content),i=Array.isArray(e.history)?o(e.history):[],a=hy(e.plannerHistory,qt.plannerHistory),s=hy(e.agentPrevSteps,qt.prevSteps),c=typeof e.rootUserInput=="string"?e.rootUserInput.trim():"";return{trajectoryId:typeof e.trajectoryId=="string"?e.trajectoryId:void 0,taskBoundaryId:typeof e.taskBoundaryId=="string"&&e.taskBoundaryId.trim()?e.taskBoundaryId.trim():void 0,rootUserInput:c||void 0,seedChatLog:Fl(e.seedChatLog),history:i,plannerHistory:a,agentPrevSteps:s,pendingAskUser:t.length?{questions:t,source:e.pendingAskUser?.source==="planner"?"planner":"act",askedAt:Number(e.pendingAskUser?.askedAt)||xe(),boundaryId:typeof e.pendingAskUser?.boundaryId=="string"&&e.pendingAskUser.boundaryId.trim()?e.pendingAskUser.boundaryId.trim():void 0,...r?{stepRef:r}:{}}:void 0,updatedAt:Number(e.updatedAt)||xe()}}function _p(e,t){return{version:gy,siteId:e,sessionId:t,seq:1,updatedAt:xe(),lease:void 0,tabs:[],nextLogicalTabId:1,activeLogicalTabId:void 0,uiMessages:[],timeline:[],uiStatus:void 0,transientStatus:void 0,activeRun:void 0,taskEpoch:1,task:void 0,workerContext:void 0,workflowLock:void 0,tasks:void 0,activeTaskId:void 0}}function ma(e,t,n){let r=_p(t,n);if(!e||typeof e!="object")return r;let o={...r,version:gy,siteId:t,sessionId:n,seq:Math.max(1,Number(e.seq)||1),updatedAt:Number(e.updatedAt)||xe(),tabs:Array.isArray(e.tabs)?e.tabs.map(s=>({logicalTabId:Math.max(1,Number(s?.logicalTabId)||0),runtimeId:typeof s?.runtimeId=="string"?s.runtimeId:void 0,url:String(s?.url||""),title:typeof s?.title=="string"?s.title:void 0,openedAt:Number(s?.openedAt)||xe(),updatedAt:Number(s?.updatedAt)||xe(),external:!!s?.external,openerRuntimeId:typeof s?.openerRuntimeId=="string"?s.openerRuntimeId:void 0,detachedAt:Number(s?.detachedAt)||void 0,detachedReason:s?.detachedReason==="navigation_handoff"||s?.detachedReason==="tab_close"||s?.detachedReason==="opened_pending_attach"||s?.detachedReason==="unknown"?s.detachedReason:void 0,handoffId:typeof s?.handoffId=="string"?s.handoffId:void 0,handoffRunId:typeof s?.handoffRunId=="string"?s.handoffRunId:void 0,handoffTargetUrl:typeof s?.handoffTargetUrl=="string"?s.handoffTargetUrl:void 0,handoffCreatedAt:Number(s?.handoffCreatedAt)||void 0})).filter(s=>!!s.logicalTabId):[],nextLogicalTabId:Math.max(1,Number(e.nextLogicalTabId)||1),activeLogicalTabId:Number(e.activeLogicalTabId)||void 0,uiMessages:vy(e.uiMessages),timeline:ky(e.timeline),taskEpoch:Math.max(1,Number(e.taskEpoch)||1),task:by(e.task),workerContext:jl(e.workerContext),uiStatus:typeof e.uiStatus=="string"?e.uiStatus:void 0,transientStatus:Ns(e.transientStatus??e.uiStatus,{runId:e.activeRun?.runId,taskId:e.task?.taskId}),activeRun:e.activeRun&&typeof e.activeRun=="object"?{runId:String(e.activeRun.runId||""),text:String(e.activeRun.text||""),runtimeId:String(e.activeRun.runtimeId||""),startedAt:Number(e.activeRun.startedAt)||xe(),updatedAt:Number(e.activeRun.updatedAt)||xe()}:void 0,lease:e.lease&&typeof e.lease=="object"&&e.lease.holderRuntimeId?{holderRuntimeId:String(e.lease.holderRuntimeId),expiresAt:Number(e.lease.expiresAt)||0,updatedAt:Number(e.lease.updatedAt)||xe()}:void 0,workflowLock:e.workflowLock&&typeof e.workflowLock=="object"&&e.workflowLock.runtimeId&&e.workflowLock.runId?{runtimeId:String(e.workflowLock.runtimeId),runId:String(e.workflowLock.runId),lockedAt:Number(e.workflowLock.lockedAt)||xe(),expiresAt:Number(e.workflowLock.expiresAt)||0}:void 0,tasks:e.tasks&&typeof e.tasks=="object"?QT(e.tasks):void 0,activeTaskId:typeof e.activeTaskId=="string"?e.activeTaskId:void 0},i=o.tabs.length,a=new Set;return o.tabs=o.tabs.filter(s=>a.has(s.logicalTabId)?!1:(a.add(s.logicalTabId),!0)),o.nextLogicalTabId<=(o.tabs.at(-1)?.logicalTabId??0)&&(o.nextLogicalTabId=o.tabs.reduce((s,c)=>Math.max(s,c.logicalTabId),0)+1),i>0&&o.tabs.length<i&&console.warn(`[rover] sanitizeSharedState: dropped ${i-o.tabs.length} invalid/duplicate tab entries`),Vn(o),o}function ZT(e){let t=String(e.task?.taskId||e.activeTaskId||"").trim();if(!t)return;let n=Number(e.task?.startedAt)||xe();e.tasks||(e.tasks={});let r=e.tasks[t];if(r)return e.activeTaskId=t,r;let o={taskId:t,state:yy(e.task?.status),startedAt:n,endedAt:e.task?.endedAt,activeRun:e.activeRun,workerContext:e.workerContext,uiMessages:[...e.uiMessages],timeline:[...e.timeline],rootUserInput:e.workerContext?.rootUserInput,summary:void 0,seedChatLog:Fl(e.workerContext?.seedChatLog),transientStatus:Ns(e.transientStatus??e.uiStatus,{runId:e.activeRun?.runId,taskId:t})};return e.tasks[t]=o,e.activeTaskId=t,o}function Vn(e){let t=ZT(e);if(!t)return;t.state=yy(e.task?.status),t.startedAt=Number(e.task?.startedAt)||t.startedAt||xe(),t.endedAt=Number(e.task?.endedAt)||void 0,t.activeRun=e.activeRun,t.workerContext=jl(e.workerContext),t.uiMessages=vy(e.uiMessages),t.timeline=ky(e.timeline),t.rootUserInput=e.workerContext?.rootUserInput||t.rootUserInput;let n=[...t.uiMessages].reverse().find(r=>r.role==="assistant");t.summary=n?.text||t.summary,t.seedChatLog=Fl(e.workerContext?.seedChatLog),t.transientStatus=Ns(e.transientStatus??e.uiStatus,{runId:e.activeRun?.runId,taskId:t.taskId})}var ha=class ha{constructor(t){H(this,"siteId");H(this,"sessionId");H(this,"runtimeId");H(this,"leaseMs");H(this,"workflowLockMs");H(this,"heartbeatMs");H(this,"maxMessages");H(this,"maxTimeline");H(this,"onRoleChange");H(this,"onStateChange");H(this,"onSwitchRequested");H(this,"onTaskTabsExhausted");H(this,"key");H(this,"channelName");H(this,"state");H(this,"taskTabMapping",new Map);H(this,"channel",null);H(this,"heartbeatTimer",null);H(this,"storageHandler",null);H(this,"localLogicalTabId");H(this,"closing",!1);H(this,"started",!1);H(this,"heartbeatCount",0);H(this,"lastNotifiedStateHash","");H(this,"pendingRpcRequests",new Map);H(this,"rpcRequestHandler");H(this,"lastNotifiedRole");H(this,"roleChangeTimer",null);H(this,"probeTimers",[]);H(this,"onSessionTokenReceived");H(this,"onProjectionReceived");H(this,"lastFullHeartbeatAt",0);this.siteId=t.siteId,this.sessionId=t.sessionId,this.runtimeId=t.runtimeId,this.leaseMs=Math.max(4e3,Number(t.leaseMs)||12e3),this.workflowLockMs=Math.max(3e4,Number(t.workflowLockMs)||18e4),this.heartbeatMs=Math.max(800,Number(t.heartbeatMs)||2e3),this.maxMessages=Math.max(20,Number(t.maxMessages)||qt.uiMessages),this.maxTimeline=Math.max(20,Number(t.maxTimeline)||qt.timelineEvents),this.onRoleChange=t.onRoleChange,this.onStateChange=t.onStateChange,this.onSwitchRequested=t.onSwitchRequested,this.onTaskTabsExhausted=t.onTaskTabsExhausted,this.key=`${WT}${this.siteId}:${this.sessionId}`,this.channelName=`${VT}${this.siteId}:${this.sessionId}`,this.state=this.loadState(),this.normalizeDraftTabs(this.state)}tabFreshnessTs(t){return Math.max(Number(t.updatedAt)||0,Number(t.openedAt)||0,Number(t.detachedAt)||0)}isBetterTabCandidate(t,n){if(!n)return!0;let r=this.tabFreshnessTs(t),o=this.tabFreshnessTs(n);return r!==o?r>o:!!t.runtimeId!=!!n.runtimeId?!!t.runtimeId:t.logicalTabId<n.logicalTabId}isRuntimeTabFresh(t,n){return t.runtimeId?t.runtimeId===this.runtimeId?!0:n-this.tabFreshnessTs(t)<=GT:!1}isTabVisibleInScope(t,n,r){return t.runtimeId?this.isRuntimeTabFresh(t,n):t.external?n-this.tabFreshnessTs(t)<=wp:t.detachedReason==="opened_pending_attach"?n-this.tabFreshnessTs(t)<=Tp:r==="context"?!1:t.detachedReason==="navigation_handoff"?n-this.tabFreshnessTs(t)<=Sp:n-this.tabFreshnessTs(t)<=my}normalizeDraftTabs(t){let n=new Map;for(let p of t.tabs){if(!Number.isFinite(Number(p.logicalTabId))||Number(p.logicalTabId)<=0)continue;let b=n.get(p.logicalTabId);this.isBetterTabCandidate(p,b)&&n.set(p.logicalTabId,p)}let r=[],o=new Set;for(let p of t.tabs){if(o.has(p.logicalTabId))continue;let b=n.get(p.logicalTabId);b&&b===p&&(r.push(b),o.add(b.logicalTabId))}for(let[p,b]of n.entries())o.has(p)||(r.push(b),o.add(p));let i=new Map;for(let p of r){if(!p.runtimeId)continue;let b=i.get(p.runtimeId);this.isBetterTabCandidate(p,b)&&i.set(p.runtimeId,p)}if(t.tabs=r.filter(p=>!p.runtimeId||i.get(p.runtimeId)===p).sort((p,b)=>p.logicalTabId-b.logicalTabId),!t.tabs.length){t.activeLogicalTabId=void 0,t.nextLogicalTabId=1;return}let a=xe(),s=t.activeLogicalTabId?t.tabs.find(p=>p.logicalTabId===t.activeLogicalTabId):void 0,c=t.tabs.find(p=>p.runtimeId===this.runtimeId),d=[...t.tabs.filter(p=>this.isRuntimeTabFresh(p,a))].sort((p,b)=>this.tabFreshnessTs(b)-this.tabFreshnessTs(p))[0],m=s?.logicalTabId;s?(!s.runtimeId||!this.isRuntimeTabFresh(s,a))&&(m=c?.logicalTabId||d?.logicalTabId||s.logicalTabId):m=c?.logicalTabId||d?.logicalTabId||t.tabs[0]?.logicalTabId,t.activeLogicalTabId=m;let f=t.tabs.reduce((p,b)=>Math.max(p,b.logicalTabId),0);t.nextLogicalTabId=Math.max(Number(t.nextLogicalTabId)||1,f+1)}setTaskTabMapping(t){this.taskTabMapping=t}pruneDetachedTabs(t,n){let r=!!n?.dropRuntimeDetached,o=!!n?.dropAllDetachedExternal,i=!!n?.keepOnlyActiveLiveTab,a=!!n?.keepRecentExternalPlaceholders,s=xe(),c=new Map;if(this.onTaskTabsExhausted&&this.taskTabMapping.size>0)for(let l of t.tabs){let d=this.taskTabMapping.get(l.logicalTabId);if(d){let m=c.get(d);m||(m=new Set,c.set(d,m)),m.add(l.logicalTabId)}}if(t.tabs=t.tabs.filter(l=>{if(l.runtimeId)return this.isRuntimeTabFresh(l,s);if(r&&!l.external&&l.openerRuntimeId===this.runtimeId)return!1;if(l.external)return o?!1:s-this.tabFreshnessTs(l)<=wp;let d=s-this.tabFreshnessTs(l);return l.detachedReason==="navigation_handoff"?d<=Sp:l.detachedReason==="opened_pending_attach"?d<=Tp:d<=my}),i){this.normalizeDraftTabs(t);let l=t.tabs.filter(b=>this.isRuntimeTabFresh(b,s)),d=l.find(b=>b.logicalTabId===t.activeLogicalTabId),m=l.find(b=>b.runtimeId===this.runtimeId),f=[...l].sort((b,y)=>this.tabFreshnessTs(y)-this.tabFreshnessTs(b))[0],p=d?.logicalTabId||m?.logicalTabId||f?.logicalTabId;t.tabs=t.tabs.filter(b=>b.runtimeId?!!p&&b.logicalTabId===p:b.external?a&&s-this.tabFreshnessTs(b)<=wp:!1),t.activeLogicalTabId=p||t.tabs.find(b=>b.runtimeId)?.logicalTabId||t.tabs[0]?.logicalTabId}if(this.normalizeDraftTabs(t),this.onTaskTabsExhausted&&c.size>0){let l=new Set(t.tabs.map(d=>d.logicalTabId));for(let[d,m]of c){let f=!1;for(let p of m)if(l.has(p)){f=!0;break}f||this.onTaskTabsExhausted(d)}}}resetDraftToSingleCurrentTab(t,n,r){let o=xe(),i=zl(n),a=t.tabs.find(c=>c.runtimeId===this.runtimeId),s=Number(a?.openedAt)||o;t.tabs=[{logicalTabId:1,runtimeId:this.runtimeId,url:i||a?.url||"",title:r||a?.title,openedAt:s,updatedAt:o,external:!1,detachedAt:void 0,detachedReason:void 0}],t.activeLogicalTabId=1,t.nextLogicalTabId=2,t.lease={holderRuntimeId:this.runtimeId,expiresAt:o+this.leaseMs,updatedAt:o}}start(t){this.started||(this.started=!0,this.mutate("local",n=>{this.pruneDetachedTabs(n,{dropRuntimeDetached:!0})}),this.registerCurrentTab(window.location.href,document.title||void 0,t),this.claimLease(!1),typeof BroadcastChannel<"u"&&(this.channel=new BroadcastChannel(this.channelName),this.channel.onmessage=n=>{let r=n.data;if(!(!r||typeof r!="object")){if(r.type==="state"&&r.state){let o=ma(r.state,this.siteId,this.sessionId);this.applyIncomingState(o)}r.type==="switch_request"&&r.targetRuntimeId===this.runtimeId&&this.onSwitchRequested?.(Number(r.logicalTabId)||0),r.type==="rpc_request"&&r.targetRuntimeId===this.runtimeId&&this.handleInboundRpcRequest(r),r.type==="rpc_response"&&r.targetRuntimeId===this.runtimeId&&this.handleInboundRpcResponse(r),r.type==="tab_navigated"&&r.runtimeId&&r.runtimeId!==this.runtimeId&&this.handleRemoteNavigation(r),r.type==="tab_closing"&&r.runtimeId&&r.runtimeId!==this.runtimeId&&this.handleRemoteTabClosing(r),r.type==="session_token"&&r.runtimeId!==this.runtimeId&&this.onSessionTokenReceived?.(r.token,r.expiresAt),r.type==="projection"&&r.runtimeId!==this.runtimeId&&this.onProjectionReceived?.(r.projection)}}),this.storageHandler=n=>{if(!(n.key!==this.key||!n.newValue))try{let r=ma(JSON.parse(n.newValue),this.siteId,this.sessionId);this.applyIncomingState(r)}catch{}},window.addEventListener("storage",this.storageHandler),this.heartbeatTimer=window.setInterval(()=>{this.heartbeat()},this.heartbeatMs),typeof this.heartbeatTimer?.unref=="function"&&this.heartbeatTimer.unref(),this.notifyRoleChange(),this.onStateChange?.(this.state,"local"))}stop(){this.heartbeatCount=0,this.heartbeatTimer!=null&&(window.clearInterval(this.heartbeatTimer),this.heartbeatTimer=null),this.roleChangeTimer!=null&&(window.clearTimeout(this.roleChangeTimer),this.roleChangeTimer=null),this.storageHandler&&(window.removeEventListener("storage",this.storageHandler),this.storageHandler=null),this.channel&&(this.channel.close(),this.channel=null);for(let[,t]of this.pendingRpcRequests)window.clearTimeout(t.timer),t.reject(new Error("SessionCoordinator stopped"));this.pendingRpcRequests.clear();for(let t of this.probeTimers)clearTimeout(t);this.probeTimers=[],this.started&&(this.started=!1,this.mutate("local",t=>{t.tabs=t.tabs.filter(n=>n.runtimeId!==this.runtimeId),t.lease?.holderRuntimeId===this.runtimeId&&(t.lease=void 0),t.activeLogicalTabId&&!t.tabs.some(n=>n.logicalTabId===t.activeLogicalTabId)&&(t.activeLogicalTabId=void 0)}))}isController(){let t=this.state.lease;return!t||t.expiresAt<=xe()?!1:t.holderRuntimeId===this.runtimeId}getRole(){return this.isController()?"controller":"observer"}getLocalLogicalTabId(){return this.localLogicalTabId}getActiveLogicalTabId(){return this.state.activeLogicalTabId}getCurrentHolderRuntimeId(){return this.state.lease?.holderRuntimeId}getState(){return this.state}getTaskEpoch(){return this.state.taskEpoch}getTask(){return this.state.task}getWorkerContext(){return this.state.workerContext}syncTask(t,n){this.mutate("local",r=>{n&&Number.isFinite(n)&&n>r.taskEpoch&&(r.taskEpoch=Math.max(1,Math.trunc(n))),t&&(r.task=by(t)||r.task,Vn(r))})}hydrateExternalState(t){let n=ma(t,this.siteId,this.sessionId);this.pruneDetachedTabs(n,{dropRuntimeDetached:!0});let r=this.state.seq,o=this.state.updatedAt;this.applyIncomingState(n);let i=this.state.seq!==r||this.state.updatedAt!==o;if(!i&&this.state.tabs.some(s=>s.runtimeId?!1:s.external?!0:s.openerRuntimeId===this.runtimeId)){let s=this.state.tabs.length;this.mutate("local",c=>{this.pruneDetachedTabs(c,{dropRuntimeDetached:!0})}),i=this.state.tabs.length!==s}return i?(this.persistState(),this.localLogicalTabId||this.registerCurrentTab(window.location.href,document.title||void 0),!0):!1}listTabs(t){let n=t?.scope==="all"?"all":"context",r=xe();return this.state.tabs.filter(o=>this.isTabVisibleInScope(o,r,n))}pruneTabs(t){this.mutate("local",n=>{this.pruneDetachedTabs(n,t)})}resetTabsToCurrent(t,n){return this.mutate("local",r=>{this.resetDraftToSingleCurrentTab(r,t,n)}),this.notifyRoleChange(),this.localLogicalTabId||1}startNewTask(t){let n=Number(t.startedAt)||xe(),r={taskId:String(t.taskId||$r("task")),status:t.status==="completed"||t.status==="cancelled"||t.status==="failed"||t.status==="ended"?t.status:"running",startedAt:n,lastUserAt:Number(t.lastUserAt)||n,lastAssistantAt:Number(t.lastAssistantAt)||void 0,boundaryReason:t.boundaryReason,endedAt:void 0};return this.mutate("local",o=>{o.taskEpoch=Math.max(1,Number(o.taskEpoch)||1)+1,o.task=r,o.uiMessages=[],o.timeline=[],o.uiStatus=void 0,o.transientStatus=void 0,o.activeRun=void 0,o.workerContext=void 0,this.resetDraftToSingleCurrentTab(o,window.location.href,document.title||void 0),Vn(o)}),r}endTask(t){let n;return this.mutate("local",r=>{r.task&&(r.task={...r.task,status:"ended",boundaryReason:t||r.task.boundaryReason,endedAt:xe()},r.activeRun=void 0,r.transientStatus=void 0,r.uiStatus=void 0,Vn(r),n=r.task)}),n}markTaskActivity(t,n=xe()){t!=="system"&&this.mutate("local",r=>{if(!r.task){r.task={taskId:$r("task"),status:"running",startedAt:n,boundaryReason:"implicit",lastUserAt:t==="user"?n:void 0,lastAssistantAt:t==="assistant"?n:void 0};return}r.task.status==="running"&&(t==="user"&&(r.task.lastUserAt=n),t==="assistant"&&(r.task.lastAssistantAt=n),Vn(r))})}setWorkerContext(t){this.mutate("local",n=>{if(!t){n.workerContext=void 0,Vn(n);return}n.workerContext=jl(t),Vn(n)})}setStatus(t){this.mutate("local",n=>{let r=Ns(t,{runId:n.activeRun?.runId,taskId:n.task?.taskId});n.uiStatus=r?.text,n.transientStatus=r,Vn(n)})}appendMessage(t){let n={id:t.id||$r("msg"),role:t.role,text:String(t.text||""),blocks:ga(t.blocks),ts:Number(t.ts)||xe(),sourceRuntimeId:this.runtimeId};return this.mutate("local",r=>{r.uiMessages.push(n),r.uiMessages.length>this.maxMessages&&(r.uiMessages=r.uiMessages.slice(-this.maxMessages)),r.task||(r.task={taskId:$r("task"),status:"running",startedAt:n.ts,boundaryReason:"implicit"}),n.role==="user"?r.task.lastUserAt=n.ts:n.role==="assistant"&&(r.task.lastAssistantAt=n.ts),Vn(r)}),n}appendTimeline(t){let n={id:t.id||$r("timeline"),kind:String(t.kind||"status"),title:String(t.title||"Step"),detail:t.detail?String(t.detail):void 0,detailBlocks:ga(t.detailBlocks),status:t.status,ts:Number(t.ts)||xe(),sourceRuntimeId:this.runtimeId,elementId:Number.isFinite(Number(t.elementId))?Math.trunc(Number(t.elementId)):void 0,toolName:typeof t.toolName=="string"?t.toolName.slice(0,120):void 0,actionCue:Ep(t.actionCue)};return this.mutate("local",r=>{r.timeline.push(n),r.timeline.length>this.maxTimeline&&(r.timeline=r.timeline.slice(-this.maxTimeline)),Vn(r)}),n}clearTimeline(){this.mutate("local",t=>{t.timeline=[],Vn(t)})}setActiveRun(t){this.mutate("local",n=>{if(!t){n.activeRun=void 0,n.transientStatus=void 0,n.uiStatus=void 0,Vn(n);return}if(n.task&&n.task.status!=="running"){n.activeRun=void 0,Vn(n);return}n.activeRun={runId:t.runId,text:t.text,runtimeId:this.runtimeId,startedAt:n.activeRun?.runId===t.runId?n.activeRun.startedAt:xe(),updatedAt:xe()},Vn(n)})}requestControl(){return this.claimLease(!0)}registerCurrentTab(t,n,r){let o=zl(t),i=typeof r?.handoffId=="string"?r.handoffId.trim():"",a=Number(r?.sourceLogicalTabId),s;return this.mutate("local",c=>{let l=xe(),m=!!(c.lease&&c.lease.expiresAt>l)?c.lease?.holderRuntimeId:void 0,f=c.workflowLock&&c.workflowLock.runtimeId&&c.workflowLock.runtimeId!==this.runtimeId&&c.workflowLock.expiresAt>l?c.workflowLock:void 0,p=f?c.tabs.find(w=>w.runtimeId===f.runtimeId&&w.updatedAt>l-2*this.heartbeatMs):void 0,b=!p&&(!m||m===this.runtimeId),y=c.tabs.find(w=>w.runtimeId===this.runtimeId);if(y)y.url=o||y.url,y.title=n||y.title,y.updatedAt=l,y.detachedAt=void 0,y.detachedReason=void 0,y.handoffId=void 0,y.handoffRunId=void 0,y.handoffTargetUrl=void 0,y.handoffCreatedAt=void 0,s=y.logicalTabId;else{let w;if(i&&(w=c.tabs.find(x=>{if(x.runtimeId||String(x.handoffId||"").trim()!==i||Number.isFinite(a)&&a>0&&x.logicalTabId!==a)return!1;let h=l-Number(x.handoffCreatedAt||x.updatedAt||x.openedAt||0);return h>=0&&h<=3e4})),w||(w=c.tabs.find(x=>!x.runtimeId&&!x.external&&x.url===o&&l-x.openedAt<18e4)),w)w.runtimeId=this.runtimeId,w.url=o||w.url,w.title=n||w.title,w.updatedAt=l,w.detachedAt=void 0,w.detachedReason=void 0,w.handoffId=void 0,w.handoffRunId=void 0,w.handoffTargetUrl=void 0,w.handoffCreatedAt=void 0,s=w.logicalTabId;else{let x=c.nextLogicalTabId++;c.tabs.push({logicalTabId:x,runtimeId:this.runtimeId,url:o,title:n,openedAt:l,updatedAt:l,external:!1,detachedAt:void 0,detachedReason:void 0}),s=x}}s&&(c.tabs=c.tabs.filter(w=>{if(w.logicalTabId===s||w.runtimeId||w.external)return!0;if(i&&String(w.handoffId||"").trim()===i)return!1;let x=l-this.tabFreshnessTs(w);return!(!String(w.url||"").trim()&&x>Tp||o&&w.url===o&&x<=Sp)}));let k=c.activeLogicalTabId?c.tabs.find(w=>w.logicalTabId===c.activeLogicalTabId):void 0;p?c.activeLogicalTabId=p.logicalTabId:(!k||!k.runtimeId||k.logicalTabId===s||b)&&(c.activeLogicalTabId=s)}),this.notifyRoleChange(),this.localLogicalTabId||s||1}registerOpenedTab(t){let n=zl(t.url),r=0;return this.mutate("local",o=>{let i=xe(),a=o.tabs.find(s=>!s.runtimeId&&!!s.external==!!t.external&&s.url===n);if(a){a.title=t.title||a.title,a.updatedAt=i,a.openerRuntimeId=t.openerRuntimeId||a.openerRuntimeId,a.detachedAt=a.detachedAt||i,a.detachedReason="opened_pending_attach",r=a.logicalTabId;return}r=o.nextLogicalTabId++,o.tabs.push({logicalTabId:r,runtimeId:void 0,url:n,title:t.title,openedAt:i,updatedAt:i,external:!!t.external,openerRuntimeId:t.openerRuntimeId,detachedAt:i,detachedReason:"opened_pending_attach"})}),t.external&&this.probeRoverAvailability(r),{logicalTabId:r}}probeRoverAvailability(t){let r=setTimeout(()=>{let o=this.state.tabs.find(i=>i.logicalTabId===t);o&&!o.runtimeId&&this.mutate("local",i=>{let a=i.tabs.find(s=>s.logicalTabId===t);a&&(a.roverAvailability="not_available")})},5e3);typeof r?.unref=="function"&&r.unref(),this.probeTimers.push(r)}switchToLogicalTab(t){let n={ok:!1,reason:"Unknown tab"};return this.mutate("local",r=>{let o=r.tabs.find(i=>i.logicalTabId===t);if(!o){n={ok:!1,reason:`Tab ${t} not found`};return}if(r.activeLogicalTabId=t,o.runtimeId&&o.runtimeId!==this.runtimeId){r.lease={holderRuntimeId:o.runtimeId,expiresAt:xe()+this.leaseMs,updatedAt:xe()},this.channel&&this.channel.postMessage({type:"switch_request",logicalTabId:t,targetRuntimeId:o.runtimeId,sourceRuntimeId:this.runtimeId}),n={ok:!0,delegated:!0};return}if(!o.runtimeId){n={ok:!1,reason:`Tab ${t} is not attached to an active Rover runtime yet`};return}r.lease={holderRuntimeId:this.runtimeId,expiresAt:xe()+this.leaseMs,updatedAt:xe()},n={ok:!0,delegated:!1}}),this.notifyRoleChange(),n}sendCrossTabRpc(t,n,r,o=15e3){return new Promise((i,a)=>{if(!this.channel){a(new Error("BroadcastChannel not available"));return}let s=$r("rpc"),c=window.setTimeout(()=>{this.pendingRpcRequests.delete(s),a(new Error(`Cross-tab RPC timed out after ${o}ms (method=${n}, target=${t})`))},o);typeof c?.unref=="function"&&c.unref(),this.pendingRpcRequests.set(s,{resolve:i,reject:a,timer:c}),this.channel.postMessage({type:"rpc_request",requestId:s,sourceRuntimeId:this.runtimeId,targetRuntimeId:t,method:n,params:r,timeoutMs:o,createdAt:xe()})})}setRpcRequestHandler(t){this.rpcRequestHandler=t}broadcastNavigation(t,n){this.channel&&this.channel.postMessage({type:"tab_navigated",runtimeId:this.runtimeId,logicalTabId:this.localLogicalTabId,url:t,title:n})}broadcastClosing(t){this.closing=!0,this.mutate("local",n=>{let r=xe(),o=n.tabs.find(i=>i.runtimeId===this.runtimeId);o&&(o.runtimeId=void 0,o.updatedAt=r,o.detachedAt=r,o.detachedReason=t?"navigation_handoff":"tab_close",o.handoffId=typeof t?.handoffId=="string"?t.handoffId:void 0,o.handoffRunId=typeof t?.runId=="string"?t.runId:void 0,o.handoffTargetUrl=typeof t?.targetUrl=="string"?t.targetUrl:void 0,o.handoffCreatedAt=Number(t?.ts)||r),n.lease?.holderRuntimeId===this.runtimeId&&(n.lease=void 0)}),this.channel&&this.channel.postMessage({type:"tab_closing",runtimeId:this.runtimeId,logicalTabId:this.localLogicalTabId,handoff:t})}isTabAlive(t){let n=this.state.tabs.find(r=>r.logicalTabId===t);return n?n.updatedAt>xe()-2*this.heartbeatMs:!1}broadcastSessionToken(t,n){this.channel&&this.channel.postMessage({type:"session_token",runtimeId:this.runtimeId,token:t,expiresAt:n})}broadcastProjection(t){this.channel&&this.channel.postMessage({type:"projection",runtimeId:this.runtimeId,projection:t})}acquireWorkflowLock(t,n){let r=!1;return this.mutate("local",o=>{let i=o.workflowLock;if(!n?.force&&i&&i.runtimeId!==this.runtimeId&&i.expiresAt>xe()){let a=o.tabs.find(c=>c.runtimeId===i.runtimeId);if(a&&a.updatedAt>xe()-2*this.heartbeatMs){r=!1;return}}o.workflowLock={runtimeId:this.runtimeId,runId:t,lockedAt:xe(),expiresAt:xe()+this.workflowLockMs},r=!0}),r}releaseWorkflowLock(t){this.mutate("local",n=>{n.workflowLock&&n.workflowLock.runId===t&&(n.workflowLock=void 0)})}isWorkflowLocked(){let t=this.state.workflowLock;return!t||t.runtimeId===this.runtimeId?!1:t.expiresAt>xe()}getWorkflowLockInfo(){let t=this.state.workflowLock;return!t||t.expiresAt<=xe()?{locked:!1}:{locked:!0,holderRuntimeId:t.runtimeId,runId:t.runId}}async handleInboundRpcRequest(t){let{requestId:n,sourceRuntimeId:r,method:o,params:i}=t;if(!this.rpcRequestHandler){this.channel?.postMessage({type:"rpc_response",requestId:n,sourceRuntimeId:this.runtimeId,targetRuntimeId:r,ok:!1,error:{message:"No RPC handler registered",code:"NO_HANDLER"}});return}try{let a=await this.rpcRequestHandler({method:o,params:i});this.channel?.postMessage({type:"rpc_response",requestId:n,sourceRuntimeId:this.runtimeId,targetRuntimeId:r,ok:!0,result:a})}catch(a){this.channel?.postMessage({type:"rpc_response",requestId:n,sourceRuntimeId:this.runtimeId,targetRuntimeId:r,ok:!1,error:{message:a?.message||String(a)}})}}handleInboundRpcResponse(t){let{requestId:n,ok:r,result:o,error:i}=t,a=this.pendingRpcRequests.get(n);a&&(this.pendingRpcRequests.delete(n),window.clearTimeout(a.timer),r?a.resolve(o):a.reject(new Error(i?.message||"Cross-tab RPC failed")))}handleRemoteNavigation(t){let{runtimeId:n,url:r,title:o}=t;this.mutate("local",i=>{let a=i.tabs.find(s=>s.runtimeId===n);a&&(a.url=r||a.url,a.title=o||a.title,a.updatedAt=xe())})}handleRemoteTabClosing(t){let{runtimeId:n}=t,r=t?.handoff,o=typeof r?.handoffId=="string"&&r.handoffId.trim()?r.handoffId.trim():void 0,i=typeof r?.runId=="string"&&r.runId.trim()?r.runId.trim():void 0,a=typeof r?.targetUrl=="string"&&r.targetUrl.trim()?r.targetUrl.trim():void 0,s=Number(r?.ts)||xe();this.mutate("local",c=>{let l=xe(),d=c.tabs.find(m=>m.runtimeId===n);d&&(d.runtimeId=void 0,d.updatedAt=l,d.detachedAt=l,d.detachedReason=o?"navigation_handoff":"tab_close",d.handoffId=o,d.handoffRunId=i,d.handoffTargetUrl=a,d.handoffCreatedAt=s),c.lease?.holderRuntimeId===n&&(c.lease=void 0),c.workflowLock?.runtimeId===n&&(c.workflowLock=void 0),c.activeRun?.runtimeId===n&&(c.activeRun=void 0),c.activeLogicalTabId&&!c.tabs.some(m=>m.logicalTabId===c.activeLogicalTabId)&&(c.activeLogicalTabId=this.localLogicalTabId||c.tabs[0]?.logicalTabId)}),this.notifyRoleChange()}heartbeat(){if(this.closing)return;this.heartbeatCount++;let t=zl(window.location.href),n=document.title||void 0,r=xe(),o=this.state.lease,i=o&&o.holderRuntimeId===this.runtimeId&&o.expiresAt>r,a=r-this.lastFullHeartbeatAt<5e3,s=this.state.tabs.find(l=>l.runtimeId===this.runtimeId);if(i&&a&&s){s.url=t||s.url,s.title=n||s.title,s.updatedAt=r,s.detachedAt=void 0,s.detachedReason=void 0,this.state.updatedAt=r;return}this.lastFullHeartbeatAt=r;let c=this.heartbeatCount%ha.LS_HEARTBEAT_DIVISOR!==0;this.mutate("local",l=>{let d=l.tabs.find(_=>_.runtimeId===this.runtimeId);if(d)d.url=t||d.url,d.title=n||d.title,d.updatedAt=xe(),d.detachedAt=void 0,d.detachedReason=void 0;else{let _=xe(),z=l.nextLogicalTabId++;l.tabs.push({logicalTabId:z,runtimeId:this.runtimeId,url:t,title:n,openedAt:_,updatedAt:_,external:!1,detachedAt:void 0,detachedReason:void 0})}let m=l.lease,f=!m||m.expiresAt<=xe(),p=m&&m.holderRuntimeId!==this.runtimeId&&m.expiresAt>xe()?m.holderRuntimeId:void 0,b=p?l.tabs.find(_=>_.runtimeId===p):void 0,y=!!(b&&b.updatedAt>xe()-2*this.heartbeatMs),k=l.workflowLock?.runtimeId,w=k?l.tabs.find(_=>_.runtimeId===k):void 0,x=!!(w&&w.runtimeId&&w.runtimeId!==this.runtimeId&&w.updatedAt>xe()-2*this.heartbeatMs);if(l.workflowLock&&l.workflowLock.runtimeId!==this.runtimeId&&(l.workflowLock.expiresAt<=xe()||!x)&&(l.workflowLock=void 0),l.workflowLock&&l.workflowLock.runtimeId!==this.runtimeId&&x&&w&&(l.activeLogicalTabId=w.logicalTabId),l.activeRun?.runtimeId&&l.activeRun.runtimeId!==this.runtimeId){let _=l.tabs.find(ee=>ee.runtimeId===l.activeRun?.runtimeId);_&&_.updatedAt>xe()-2*this.heartbeatMs||(l.activeRun=void 0)}let h=!!(l.activeRun?.runtimeId&&l.activeRun.runtimeId!==this.runtimeId),A=!!(l.workflowLock&&l.workflowLock.runtimeId!==this.runtimeId&&l.workflowLock.expiresAt>xe()),E=!!(p&&!y&&!h&&!A);(f||m?.holderRuntimeId===this.runtimeId||E)&&(l.lease={holderRuntimeId:this.runtimeId,expiresAt:xe()+this.leaseMs,updatedAt:xe()},!l.activeLogicalTabId&&this.localLogicalTabId&&(l.activeLogicalTabId=this.localLogicalTabId)),l.workflowLock?.runtimeId===this.runtimeId&&(l.workflowLock.expiresAt=xe()+this.workflowLockMs),this.pruneDetachedTabs(l)},{skipPersist:c}),this.notifyRoleChange()}reloadFromStorage(){let t=this.loadState();return this.normalizeDraftTabs(t),(t.seq>this.state.seq||t.seq===this.state.seq&&t.updatedAt>this.state.updatedAt)&&(this.state=t,this.syncLocalLogicalTabId(),this.onStateChange?.(this.state,"remote")),this.closing=!1,this.state}claimLease(t){let n=!1;return this.mutate("local",r=>{let o=r.lease,i=!o||o.expiresAt<=xe();(t||i||o?.holderRuntimeId===this.runtimeId)&&(r.lease={holderRuntimeId:this.runtimeId,expiresAt:xe()+this.leaseMs,updatedAt:xe()},!r.activeLogicalTabId&&this.localLogicalTabId&&(r.activeLogicalTabId=this.localLogicalTabId),n=!0)}),this.notifyRoleChange(),n}notifyRoleChange(){this.getRole()!==this.lastNotifiedRole&&(this.roleChangeTimer!=null&&window.clearTimeout(this.roleChangeTimer),this.roleChangeTimer=window.setTimeout(()=>{this.roleChangeTimer=null;let n=this.getRole();n!==this.lastNotifiedRole&&(this.lastNotifiedRole=n,this.onRoleChange?.(n,{localLogicalTabId:this.localLogicalTabId,activeLogicalTabId:this.state.activeLogicalTabId,holderRuntimeId:this.state.lease?.holderRuntimeId}))},ha.ROLE_CHANGE_DEBOUNCE_MS),typeof this.roleChangeTimer?.unref=="function"&&this.roleChangeTimer.unref())}syncLocalLogicalTabId(){let t=this.state.tabs.find(n=>n.runtimeId===this.runtimeId);this.localLogicalTabId=t?.logicalTabId}mutate(t,n,r){if(t==="local")try{let a=window.localStorage.getItem(this.key);if(a){let s=ma(JSON.parse(a),this.siteId,this.sessionId);(s.seq>this.state.seq||s.seq===this.state.seq&&s.updatedAt>this.state.updatedAt)&&(this.state=s)}}catch{}let o=ma(this.state,this.siteId,this.sessionId);n(o),this.normalizeDraftTabs(o),o.seq=Math.max(1,Number(o.seq)||1)+(t==="local"?1:0),o.updatedAt=xe(),this.state=o,this.syncLocalLogicalTabId(),t==="local"&&(r?.skipPersist||this.persistState(),this.channel&&this.channel.postMessage({type:"state",sourceRuntimeId:this.runtimeId,state:this.state}));let i=this.computeStateHash(this.state);i!==this.lastNotifiedStateHash&&(this.lastNotifiedStateHash=i,this.onStateChange?.(this.state,t))}computeStateHash(t){let n=t.tabs;return`${n.length}:${n.map(r=>`${r.logicalTabId}|${r.runtimeId||""}|${r.url}|${r.title||""}|${!!r.detachedAt}`).join(";")}:${t.activeLogicalTabId??""}:${t.lease?.holderRuntimeId??""}:${t.activeRun?.runId??""}:${t.activeRun?.runtimeId??""}:${t.workflowLock?.runtimeId??""}:${t.taskEpoch??""}:${t.uiMessages?.length??0}:${t.timeline?.length??0}:${t.transientStatus?.text??t.uiStatus??""}`}applyIncomingState(t){t&&(t.seq<this.state.seq||t.seq===this.state.seq&&t.updatedAt<=this.state.updatedAt||(this.pruneDetachedTabs(t),this.normalizeDraftTabs(t),this.state=t,this.syncLocalLogicalTabId(),this.onStateChange?.(this.state,"remote"),this.notifyRoleChange()))}loadState(){try{let t=window.localStorage.getItem(this.key);if(!t)return _p(this.siteId,this.sessionId);let n=JSON.parse(t);return ma(n,this.siteId,this.sessionId)}catch(t){return console.warn("[rover] Failed to load shared state from localStorage:",t),_p(this.siteId,this.sessionId)}}persistState(){try{window.localStorage.setItem(this.key,JSON.stringify(this.state))}catch{}}};H(ha,"LS_HEARTBEAT_DIVISOR",5),H(ha,"ROLE_CHANGE_DEBOUNCE_MS",200);var Hl=ha;var wy="rover",ql="rover_shortcut";function Sy(e,t){return String(e||"").trim().replace(/^[?#&]+/,"").slice(0,64)||t}function _y(e){return e instanceof URL?new URL(e.toString()):new URL(String(e||""),"https://rover.local")}function Ty(e,t){let n=e.getAll(t);for(let r=n.length-1;r>=0;r-=1){let o=String(n[r]||"").trim();if(o)return o}return""}function Ls(e){let t=Sy(e?.promptParam,wy),n=Sy(e?.shortcutParam,ql);return n===t&&(n=n===ql?`${ql}_id`:ql,n===t&&(t=wy)),{...typeof e?.enabled=="boolean"?{enabled:e.enabled}:{},promptParam:t,shortcutParam:n,consume:e?.consume!==!1}}function $l(e){let t=Ls(e);return{enabled:t.enabled===!0,promptParam:t.promptParam,shortcutParam:t.shortcutParam,consume:t.consume}}function Ip(e){return{enabled:e?.enabled===!0}}function Ey(e,t){let n=Ls(e),r=typeof n.enabled=="boolean",o=Ip(t);return{enabled:r?n.enabled===!0:o.enabled,promptParam:n.promptParam,shortcutParam:n.shortcutParam,consume:n.consume}}function Iy(e,t){let n=$l(t),r=_y(e),o=Ty(r.searchParams,n.shortcutParam);if(o)return{kind:"shortcut",paramName:n.shortcutParam,value:o,signature:`shortcut:${n.shortcutParam}:${o}`};let i=Ty(r.searchParams,n.promptParam);return i?{kind:"prompt",paramName:n.promptParam,value:i,signature:`prompt:${n.promptParam}:${i}`}:null}function Rp(e,t){let n=$l(t),r=_y(e);r.searchParams.delete(n.promptParam),r.searchParams.delete(n.shortcutParam);let o=r.searchParams.toString();return`${r.pathname}${o?`?${o}`:""}${r.hash}`}var Ap="rover_launch",Ay="rover_attach";function Cy(e){return e instanceof URL?new URL(e.toString()):new URL(String(e||""),"https://rover.local")}function Ry(e,t){let n=e.getAll(t);for(let r=n.length-1;r>=0;r-=1){let o=String(n[r]||"").trim();if(o)return o}return""}function My(e){let t=Cy(e),n=Ry(t.searchParams,Ap),r=Ry(t.searchParams,Ay);return!n||!r?null:{requestId:n,attachToken:r,signature:`${Ap}:${n}:${r}`}}function Ny(e){let t=Cy(e);t.searchParams.delete(Ap),t.searchParams.delete(Ay);let n=t.searchParams.toString();return`${t.pathname}${n?`?${n}`:""}${t.hash}`}function Ds(e){return e==="cross_host_navigation"||e==="agent_navigation"||e==="handoff"||e==="page_reload"||e==="worker_interrupted"?e:void 0}function Cp(e){return Ds(e)!==void 0}var Mp="rover_receipt",Np="rover_anchor";function Ly(e){return e instanceof URL?new URL(e.toString()):new URL(String(e||""),"https://rover.local")}function Lp(e,t){let n=e.getAll(t);for(let r=n.length-1;r>=0;r-=1){let o=String(n[r]||"").trim();if(o)return o}return""}function Dy(e){return new URLSearchParams(String(e.hash||"").replace(/^#\??/,""))}function Dp(e){let t=Ly(e),n=Dy(t),r=Lp(n,Mp);if(!r)return null;let o=Lp(n,Np)||void 0;return{receipt:r,anchor:o,signature:`${Mp}:${r}`}}function Oy(e){let t=Ly(e),n=Dy(t),r=Lp(n,Np);n.delete(Mp),n.delete(Np);let o=n.toString(),i=t.searchParams.toString(),a=r?`#${r}${o?`&${o}`:""}`:o?`#${o}`:"";return`${t.pathname}${i?`?${i}`:""}${a}`}var e_="https://rover.rtrvr.ai/embed.js",t_="https://agent.rtrvr.ai";function xn(e){return String(e||"").trim()}function kn(e){return String(e||"").replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function n_(e){return e.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026")}function Op(e){let t=xn(e).toLowerCase();if(t){if(["1","true","yes","on"].includes(t))return!0;if(["0","false","no","off"].includes(t))return!1}}function r_(e){let t=xn(e).split(",").map(n=>n.trim()).filter(Boolean);if(t.length)return Array.from(new Set(t))}function o_(e){let t=Number(xn(e));return Number.isFinite(t)?Math.trunc(t):void 0}function i_(e){if(!e||typeof e!="object")return;let t={};typeof e.enabled=="boolean"&&(t.enabled=e.enabled);let n=xn(e.language).replace(/[^a-zA-Z0-9-]/g,"").slice(0,48);n&&(t.language=n);let r=Number(e.autoStopMs);return Number.isFinite(r)&&(t.autoStopMs=Math.max(800,Math.min(5e3,Math.trunc(r)))),Object.keys(t).length?t:void 0}function a_(e){if(!e||typeof e!="object")return;let t={},n=i_(e.voice);return n&&(t.voice=n),Object.keys(t).length?t:void 0}function Pp(e){let t={...e,scriptUrl:xn(e.scriptUrl)||e_},n=a_(e.ui);return n?t.ui=n:delete t.ui,t}function Py(e){let t=Pp(e),n={siteId:t.siteId};return t.publicKey&&(n.publicKey=t.publicKey),t.sessionToken&&(n.sessionToken=t.sessionToken),t.sessionId&&(n.sessionId=t.sessionId),t.siteKeyId&&(n.siteKeyId=t.siteKeyId),t.apiBase&&(n.apiBase=t.apiBase),t.workerUrl&&(n.workerUrl=t.workerUrl),t.allowedDomains?.length&&(n.allowedDomains=t.allowedDomains),t.domainScopeMode&&(n.domainScopeMode=t.domainScopeMode),t.sessionScope&&(n.sessionScope=t.sessionScope),typeof t.openOnInit=="boolean"&&(n.openOnInit=t.openOnInit),t.mode&&(n.mode=t.mode),typeof t.allowActions=="boolean"&&(n.allowActions=t.allowActions),t.ui?.voice&&(n.ui={voice:t.ui.voice}),n}function s_(){return["(function(){"," var r = window.rover = window.rover || function(){"," (r.q = r.q || []).push(arguments);"," };"," r.l = +new Date();","})();"].join(`
4152
+ `)}function c_(){return"(function(){var r=window.rover=window.rover||function(){(r.q=r.q||[]).push(arguments)};r.l=+new Date()})();"}function By(e,t=!1){let n=Pp(e),r=t?JSON.stringify(Py(n)):JSON.stringify(Py(n),null,2),o=n.attachLaunch?t?JSON.stringify(n.attachLaunch):JSON.stringify(n.attachLaunch,null,2):"",i=JSON.stringify(n.scriptUrl);if(t)return[c_(),`rover('boot', ${r});`,n.attachLaunch?`rover('attachLaunch', ${o});`:"",`(function(){var s=document.createElement('script');s.src=${i};s.async=true;(document.head||document.documentElement).appendChild(s)})();`].filter(Boolean).join("");let a=[s_(),"",`rover('boot', ${r});`];return n.attachLaunch&&a.push(`rover('attachLaunch', ${o});`),a.push("","(function(){",' var s = document.createElement("script");',` s.src = ${i};`," s.async = true;"," (document.head || document.documentElement).appendChild(s);","})();"),a.join(`
4153
+ `)}function Uy(e){return By(e,!1)}function zy(e){return`javascript:${By(e,!0)}`}function Hy(e){let t=Pp(e),n=[`src="${kn(t.scriptUrl)}"`,`data-site-id="${kn(t.siteId)}"`];t.publicKey&&n.push(`data-public-key="${kn(t.publicKey)}"`),t.sessionToken&&n.push(`data-session-token="${kn(t.sessionToken)}"`),t.sessionId&&n.push(`data-session-id="${kn(t.sessionId)}"`),t.siteKeyId&&n.push(`data-site-key-id="${kn(t.siteKeyId)}"`),t.apiBase&&n.push(`data-api-base="${kn(t.apiBase)}"`),t.workerUrl&&n.push(`data-worker-url="${kn(t.workerUrl)}"`),t.allowedDomains?.length&&n.push(`data-allowed-domains="${kn(t.allowedDomains.join(","))}"`),t.domainScopeMode&&n.push(`data-domain-scope-mode="${kn(t.domainScopeMode)}"`),t.sessionScope&&n.push(`data-session-scope="${kn(t.sessionScope)}"`),typeof t.openOnInit=="boolean"&&n.push(`data-open-on-init="${kn(String(t.openOnInit))}"`),t.mode&&n.push(`data-mode="${kn(t.mode)}"`),typeof t.allowActions=="boolean"&&n.push(`data-allow-actions="${kn(String(t.allowActions))}"`),typeof t.ui?.voice?.enabled=="boolean"&&n.push(`data-voice-enabled="${kn(String(t.ui.voice.enabled))}"`),t.ui?.voice?.language&&n.push(`data-voice-language="${kn(t.ui.voice.language)}"`),typeof t.ui?.voice?.autoStopMs=="number"&&n.push(`data-voice-auto-stop-ms="${kn(String(t.ui.voice.autoStopMs))}"`);let r=`${xn(t.apiBase)||t_}/v1/a2w/runs`;return[`<script type="application/agent+json" data-rover-agent-discovery="marker">${n_(JSON.stringify({a2w:r,run:r,task:r}))}<\/script>`,'<link rel="service-desc" href="/.well-known/agent-card.json" type="application/json" data-rover-agent-discovery="service-desc" />','<link rel="service-doc" href="/llms.txt" type="text/markdown" data-rover-agent-discovery="service-doc" />',`<script ${n.join(" ")}><\/script>`].join(`
4154
+ `)}function Bp(e){let t=xn(e.getAttribute("data-site-id")),n=xn(e.getAttribute("data-public-key")),r=xn(e.getAttribute("data-session-token"));if(!t||!n&&!r)return null;let o={siteId:t};n&&(o.publicKey=n),r&&(o.sessionToken=r);let i=xn(e.getAttribute("data-session-id"));i&&(o.sessionId=i);let a=xn(e.getAttribute("data-site-key-id"));a&&(o.siteKeyId=a);let s=xn(e.getAttribute("data-api-base"));s&&(o.apiBase=s);let c=xn(e.getAttribute("data-worker-url"));c&&(o.workerUrl=c);let l=r_(e.getAttribute("data-allowed-domains"));l&&(o.allowedDomains=l);let d=xn(e.getAttribute("data-domain-scope-mode"));(d==="host_only"||d==="registrable_domain")&&(o.domainScopeMode=d);let m=xn(e.getAttribute("data-session-scope"));(m==="shared_site"||m==="tab")&&(o.sessionScope=m);let f=Op(e.getAttribute("data-open-on-init"));typeof f=="boolean"&&(o.openOnInit=f);let p=xn(e.getAttribute("data-mode"));(p==="safe"||p==="full")&&(o.mode=p);let b=Op(e.getAttribute("data-allow-actions"));typeof b=="boolean"&&(o.allowActions=b);let y=Op(e.getAttribute("data-voice-enabled")),k=xn(e.getAttribute("data-voice-language")),w=o_(e.getAttribute("data-voice-auto-stop-ms"));return(typeof y=="boolean"||k||typeof w=="number")&&(o.ui={voice:{...typeof y=="boolean"?{enabled:y}:{},...k?{language:k}:{},...typeof w=="number"?{autoStopMs:w}:{}}}),o}function l_(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function Rr(e){let t="https://agent.rtrvr.ai",n=String(e||t).trim().replace(/\/+$/,"");if(!n)return t;if(n.endsWith("/extensionRouter/v2/rover"))return n.slice(0,-25);let r=n.match(/\/v\d+\/rover$/);return r?.[0]?n.slice(0,-r[0].length):n.endsWith("/extensionRouter")?n.slice(0,-16):n.endsWith("/v2/rover")?n.slice(0,-9):n}function Ps(e){let t=new Set,n=[];for(let r of e){let o=Bs(r);!o||t.has(o)||(t.add(o),n.push(o))}return n}function d_(e){let t=Rr(e),n=`${t}/v2/rover`,r=Bs(String(e||"").trim()),o=r.replace("/extensionRouter/v2/rover","/v2/rover");return r.endsWith("/v2/rover")||r.endsWith("/extensionRouter/v2/rover")?Ps([o,n]):Ps(!r&&t==="https://agent.rtrvr.ai"?[n,"https://extensionrouter.rtrvr.ai/v2/rover"]:[n])}function Fy(e){return d_(e)}function u_(e){return Fy(e)[0]||`${Rr(e)}/v2/rover`}function ki(e){return Fy(e)}function Vl(e){return u_(e)}function Bs(e){return String(e||"").replace(/\/+$/,"")}function Wl(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}function vi(e){return!!e&&typeof e=="object"&&typeof e.sessionId=="string"&&Number.isFinite(Number(e.epoch))}function Gl(e){let t=Number(e);return Number.isFinite(t)?t:void 0}function p_(e){if(!e||typeof e!="object")return;let t=String(e?.error||"").trim().toLowerCase(),n=e?.data&&typeof e.data=="object"?e.data:{},r=n?.conflict&&typeof n.conflict=="object"?n.conflict:{},o=String(r?.type||t||"").trim().toLowerCase(),i=o==="stale_seq"||o==="stale_epoch"||o==="active_run_exists"?o:void 0;if(!i)return;let a=Gl(n?.currentSeq??r?.currentSeq),s=Gl(n?.currentEpoch??n?.sessionEpoch??r?.currentEpoch),c=typeof r?.retryable=="boolean"?r.retryable:i==="stale_seq"||i==="stale_epoch";return{type:i,currentSeq:a,currentEpoch:s,retryable:c,decisionHint:typeof n?.decisionHint=="string"?n.decisionHint:void 0,decisionReason:typeof n?.decisionReason=="string"?n.decisionReason:void 0,runId:typeof n?.runId=="string"?n.runId:void 0,sessionId:typeof n?.sessionId=="string"?n.sessionId:void 0,clientEventId:typeof n?.clientEventId=="string"?n.clientEventId:void 0}}function Os(e){return String(e?.error||e?.data?.code||e?.code||"").trim().toUpperCase()}async function ba(e){try{return await e.json()}catch{let t=await e.text().catch(()=>"");return t?{error:t}:void 0}}function Up(e,t,n){let r=String(t||"").trim(),o=r.startsWith("http://")||r.startsWith("https://")?new URL(r):new URL(`${Rr(e)}/v1/a2w/runs/${encodeURIComponent(r)}`);return n&&!o.searchParams.get("access")&&o.searchParams.set("access",n),o.toString()}var Wr=class Wr{constructor(t){H(this,"options");H(this,"base");H(this,"baseCandidates");H(this,"baseIndex",0);H(this,"sessionToken");H(this,"sessionTokenExpiresAt",0);H(this,"sessionId");H(this,"epoch",1);H(this,"eventSource",null);H(this,"pollTimer",null);H(this,"reconnectTimer",null);H(this,"sseReconnectAttempts",0);H(this,"started",!1);H(this,"lastSeq",0);H(this,"lastRunId","");H(this,"lastSnapshotDigest","");H(this,"activeRunId");H(this,"visibilityListener",null);H(this,"pollIntervalMs",2e3);H(this,"commandInFlight",!1);H(this,"commandQueue",Promise.resolve());this.options=t,this.baseCandidates=ki(t.apiBase),this.base=this.baseCandidates[0]||Vl(t.apiBase),this.sessionId=t.getSessionId()}getSessionToken(){return this.sessionToken}getSessionTokenExpiresAt(){return this.sessionTokenExpiresAt}getEpoch(){return Math.max(1,this.epoch)}getLastSeq(){return Math.max(0,this.lastSeq)}getActiveRunId(){return this.activeRunId}setApiBase(t){this.baseCandidates=ki(t),this.baseIndex=0,this.base=this.baseCandidates[0]||Vl(t)}stop(){this.started=!1,this.pauseBackgroundTransport(),this.visibilityListener&&typeof document<"u"&&(document.removeEventListener("visibilitychange",this.visibilityListener),this.visibilityListener=null),this.sseReconnectAttempts=0,this.lastSeq=0,this.lastRunId="",this.lastSnapshotDigest="",this.activeRunId=void 0}async start(){if(this.started=!0,typeof document<"u"&&!this.visibilityListener&&(this.visibilityListener=()=>{this.handleVisibilityChange()},document.addEventListener("visibilitychange",this.visibilityListener)),await this.ensureSession(!1),!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}this.startProjectionStream()}reportError(t){this.options.onError?.(t)}withCommandLock(t){let n=async()=>{this.commandInFlight=!0;try{return await t()}finally{this.commandInFlight=!1}},r=this.commandQueue.then(n,n);return this.commandQueue=r.then(()=>{},()=>{}),r}isDocumentHidden(){return typeof document<"u"&&document.visibilityState==="hidden"}hasOwnershipTransportAllowance(){if(typeof this.options.shouldKeepTransportActive=="function")try{return!!this.options.shouldKeepTransportActive()}catch{return!1}return!!this.activeRunId}shouldKeepTransportActive(){return!this.isDocumentHidden()||this.hasOwnershipTransportAllowance()}pauseBackgroundTransport(){this.eventSource&&(this.eventSource.close(),this.eventSource=null),this.pollTimer!=null&&(window.clearTimeout(this.pollTimer),this.pollTimer=null),this.pollIntervalMs=2e3,this.reconnectTimer!=null&&(window.clearTimeout(this.reconnectTimer),this.reconnectTimer=null)}handleVisibilityChange(){if(this.started){if(!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}this.ensureSession(!1).catch(t=>this.reportError(t)).finally(()=>{this.startProjectionStream(),this.eventSource||this.startProjectionPolling(),this.fetchProjection().catch(t=>this.reportError(t))})}}getActiveBase(){return this.baseCandidates.length?Bs(this.baseCandidates[this.baseIndex]||this.base):Bs(this.base)}rotateBaseCandidate(){this.baseCandidates.length<=1||(this.baseIndex=(this.baseIndex+1)%this.baseCandidates.length,this.base=this.baseCandidates[this.baseIndex]||this.base)}async requestJson(t,n){this.baseCandidates.length||(this.baseCandidates=ki(this.base),this.base=this.baseCandidates[0]||this.base,this.baseIndex=0);let r,o=Math.max(1,this.baseCandidates.length);for(let i=0;i<o;i+=1){let a=(this.baseIndex+i)%o,s=Bs(this.baseCandidates[a]||this.base);try{let c=await fetch(`${s}${t}`,n),l=await ba(c);if(c.status===404||c.status===405){r=new Error(`Rover endpoint not found at ${s}${t}`);continue}return this.baseIndex=a,this.base=s,{response:c,json:l}}catch(c){r=c}}throw r instanceof Error?r:new Error(`Rover request failed for ${t}`)}applySessionData(t){t.sessionId&&(this.sessionId=t.sessionId),t.sessionToken&&(this.sessionToken=t.sessionToken,this.sessionTokenExpiresAt=l_(t.sessionTokenExpiresAt,Date.now()+8*6e4)),Number.isFinite(Number(t.epoch))&&(this.epoch=Math.max(1,Number(t.epoch))),t.projection&&vi(t.projection)&&this.applyProjection(t.projection),this.options.onSession?.(t)}applyProjection(t){let n=this.epoch,r=this.lastRunId,o=this.lastSeq,i=this.lastSnapshotDigest;this.sessionId=t.sessionId||this.sessionId,this.epoch=Math.max(1,Number(t.epoch||this.epoch));let a=String(t.activeRunId||"");this.activeRunId=a||void 0,a!==this.lastRunId&&(this.lastRunId=a,this.lastSeq=0);let s=Array.isArray(t.events)?t.events:[];if(s.length){let d=Number(s[s.length-1]?.seq||0);Number.isFinite(d)&&d>this.lastSeq&&(this.lastSeq=d)}let c=String(t.snapshotMeta?.digest||"").trim()||(Number.isFinite(Number(t.snapshotMeta?.updatedAt))?`u:${Math.max(0,Number(t.snapshotMeta?.updatedAt||0))}`:Number.isFinite(Number(t.snapshotUpdatedAt))?`u:${Math.max(0,Number(t.snapshotUpdatedAt||0))}`:"");c&&(this.lastSnapshotDigest=c),this.isDocumentHidden()&&!this.shouldKeepTransportActive()&&this.pauseBackgroundTransport(),(this.epoch!==n||a!==r||this.lastSeq!==o||t.snapshot||c&&c!==i)&&this.options.onProjection?.(t)}shouldRefreshSessionToken(){return this.sessionToken?Date.now()+6e4>=this.sessionTokenExpiresAt:!0}async ensureSession(t=!1){if(this.sessionId=this.options.getSessionId()||this.sessionId,!t&&!this.shouldRefreshSessionToken())return null;let n=this.options.getBootstrapToken(),r={siteId:this.options.siteId,sessionId:this.sessionId,requestedSessionId:this.sessionId,host:this.options.getHost(),url:this.options.getPageUrl(),pageUrl:this.options.getPageUrl()},o=!t&&!!this.sessionToken,i={...r,...o?{sessionToken:this.sessionToken}:{},...n?{bootstrapToken:n}:{}};if(!i.sessionToken&&!i.bootstrapToken)return null;let a=async d=>this.requestJson("/session/open",{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(d)}),{response:s,json:c}=await a(i);if(s.status===401&&o&&n&&(Os(c)==="SESSION_TOKEN_EXPIRED"||Os(c)==="SESSION_TOKEN_INVALID"||Os(c)==="BOOTSTRAP_REQUIRED")&&(this.sessionToken=void 0,this.sessionTokenExpiresAt=0,{response:s,json:c}=await a({...r,bootstrapToken:n})),!s.ok||!c?.success||!c?.data){let d=Os(c),m=c?.data?.message||c?.error||`session/open failed (${s.status})`,f=new Error(String(m));throw f.code=d||void 0,f}let l=c.data;return this.applySessionData(l),l}syncCursorFromPayload(t){if(!t||typeof t!="object")return;let n=Gl(t?.currentEpoch??t?.sessionEpoch);n!==void 0&&(this.epoch=Math.max(1,n));let r=Gl(t?.currentSeq);r!==void 0&&r>=0&&(this.lastSeq=Math.max(this.lastSeq,r))}async postJson(t,n,r){await this.ensureSession(!1);let o={...n,requestNonce:Wl(),sessionToken:this.sessionToken,sessionId:n.sessionId||this.sessionId},{response:i,json:a}=await this.requestJson(t,{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(o)}),s=Math.max(0,Number(r?.authRetryCount||0));if(i.status===401&&s<1){let c=Os(a);if(c==="SESSION_TOKEN_EXPIRED"||c==="SESSION_TOKEN_INVALID"||c==="BOOTSTRAP_REQUIRED")return this.sessionToken=void 0,this.sessionTokenExpiresAt=0,await this.ensureSession(!0),this.postJson(t,n,{authRetryCount:s+1})}if(i.status===409)return this.syncCursorFromPayload(a?.data),{ok:!1,data:a?.data||null,conflict:p_(a),raw:a};if(!i.ok||!a?.success){let c=a?.error||`request failed (${i.status})`,l=new Error(String(c));throw l.status=i.status,l.code=String(a?.error||a?.data?.code||"").trim()||void 0,l.details=a?.data||a,l}return this.syncCursorFromPayload(a?.data),{ok:!0,data:a?.data||null,raw:a}}async submitRunInput(t){return this.withCommandLock(async()=>{let n=String(t.clientEventId||"").trim()||(typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():void 0);for(let r=0;r<2;r+=1){let o=await this.postJson("/command",{type:"RUN_INPUT",commandId:n,expectedEpoch:this.epoch,expectedSeq:this.lastSeq,payload:{runId:t.runId,message:t.message,files:Array.isArray(t.files)?t.files:void 0,continueRun:!!t.continueRun,forceNewRun:!!t.forceNewRun,requestedMode:t.requestedMode,taskBoundaryId:this.options.getTaskBoundaryId?.()}});if(!o.ok){let l=(o.data||null)?.data||null;vi(l?.projection)&&this.applyProjection(l.projection);let d=String(o.conflict?.type||"").trim(),m=o.conflict?.retryable!==!1&&(d==="stale_seq"||d==="stale_epoch");if(r===0&&m)continue;return l}let i=o.data||{},a=i?.data||null,s=String(i?.runId||a?.runId||"").trim();return s&&(this.activeRunId=s,this.lastRunId=s,Number(i?.seq||a?.seq||0)===0&&this.lastSeq>0&&(this.lastSeq=0)),Number.isFinite(Number(i?.epoch))&&(this.epoch=Math.max(1,Number(i?.epoch))),Number.isFinite(Number(i?.seq))&&(this.lastSeq=Math.max(0,Number(i?.seq||0))),a}return null})}async uploadAttachment(t){let n=await this.postJson("/attachments/upload",{fileName:t.fileName,mimeType:t.mimeType,dataBase64:t.dataBase64,sizeBytes:t.sizeBytes});if(!n.ok){let r=n.data?.message||n.raw?.error||"upload failed";throw new Error(String(r))}return n.data?.file||null}async controlRun(t){return this.withCommandLock(async()=>{let n=String(t.clientEventId||"").trim()||(typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():void 0);for(let r=0;r<2;r++){let o=await this.postJson("/command",{type:"RUN_CONTROL",commandId:n,expectedEpoch:this.epoch,expectedSeq:this.lastSeq,payload:{action:t.action,runId:t.runId,reason:t.reason}});if(!o.ok){if(r===0&&o.conflict?.retryable!==!1)continue;return o.data?.data||null}let i=o.data||{},a=i?.data||null;return Number.isFinite(Number(i?.seq))&&(this.lastSeq=Math.max(0,Number(i.seq||0))),vi(a?.projection)&&this.applyProjection(a.projection),a}return null})}async fetchExternalContext(t){return this.withCommandLock(async()=>{let n=String(t.runId||this.activeRunId||this.lastRunId||"").trim()||void 0,r=typeof t.tabId=="string"&&t.tabId.trim()?t.tabId.trim():Number.isFinite(Number(t.tabId))&&Number(t.tabId)>0?String(Math.trunc(Number(t.tabId))):void 0,o=t.intent==="act"||t.intent==="open_only"||t.intent==="read_context"?t.intent:"read_context",i=t.source==="google_search"?"google_search":"direct_url";for(let a=0;a<2;a+=1){let s=await this.postJson("/context/external",{runId:n,logicalTabId:r,url:t.url,intent:o,source:i,message:t.message,adversarialScore:Number.isFinite(Number(t.adversarialScore))?Number(t.adversarialScore):void 0,expectedEpoch:this.epoch,expectedSeq:this.lastSeq});if(!s.ok){let c=String(s.conflict?.type||"").trim(),l=s.conflict?.retryable!==!1&&(c==="stale_seq"||c==="stale_epoch");if(a===0&&l)continue;return s.data||null}return s.data||null}return null})}async sendTabEvent(t){return this.withCommandLock(async()=>{let n=Wl(),r={runId:t.runId,currentUrl:t.currentUrl,targetUrl:t.targetUrl,logicalTabId:t.logicalTabId,message:t.message,adversarialScore:t.adversarialScore,currentHost:t.currentHost,targetHost:t.targetHost,isCrossHost:t.isCrossHost,navigationClass:t.navigationClass,clientEventId:n},o=await this.postJson("/command",{type:"TAB_EVENT",commandId:n,expectedEpoch:this.epoch,expectedSeq:this.lastSeq,payload:r});if(o.ok){let c=o.data||{},l=c?.data||null;return Number.isFinite(Number(c?.epoch))&&(this.epoch=Math.max(1,Number(c?.epoch||this.epoch))),Number.isFinite(Number(c?.seq))&&(this.lastSeq=Math.max(0,Number(c?.seq||0))),l?{...l,clientEventId:n,retryAttempted:!1,retryExhausted:!1}:null}let i=o.conflict;if(i?.retryable&&(i.type==="stale_seq"||i.type==="stale_epoch")){let c=await this.postJson("/command",{type:"TAB_EVENT",commandId:n,expectedEpoch:this.epoch,expectedSeq:this.lastSeq,payload:r});if(c.ok){let m=c.data||{},f=m?.data||null;return Number.isFinite(Number(m?.epoch))&&(this.epoch=Math.max(1,Number(m?.epoch||this.epoch))),Number.isFinite(Number(m?.seq))&&(this.lastSeq=Math.max(0,Number(m?.seq||0))),f?{...f,clientEventId:n,retryAttempted:!0,retryExhausted:!1}:{clientEventId:n,retryAttempted:!0,retryExhausted:!1}}let l=c.conflict||i,d=(c.data||o.data||null)?.data||null;return this.fetchProjection().catch(()=>{}),{...d||{},clientEventId:n,retryAttempted:!0,retryExhausted:!0,decisionReason:d?.decisionReason||l?.decisionReason||(l?.type==="stale_epoch"?"stale_epoch_retryable":"stale_seq_retryable"),conflict:l?{type:l.type,currentSeq:l.currentSeq,currentEpoch:l.currentEpoch,retryable:!!l.retryable}:void 0}}let s=(o.data||null)?.data||null;return i?.type&&this.fetchProjection().catch(()=>{}),{...s||{},clientEventId:n,retryAttempted:!1,retryExhausted:!!i,conflict:i?{type:i.type,currentSeq:i.currentSeq,currentEpoch:i.currentEpoch,retryable:!!i.retryable}:s?.conflict}})}async fetchProjection(){if(await this.ensureSession(!1),!this.sessionToken||!this.sessionId)return null;let t=new URLSearchParams({sessionId:this.sessionId,seqAfter:String(this.lastSeq),sessionToken:this.sessionToken}),{response:n,json:r}=await this.requestJson(`/state?${t.toString()}`,{method:"GET"}),o=r?.data&&typeof r.data=="object"&&vi(r.data?.projection)?r.data.projection:r?.data;if(!n.ok||!r?.success||!vi(o))return null;let i=o;return this.applyProjection(i),i}async saveSnapshot(t){return this.withCommandLock(async()=>!!(await this.postJson("/snapshot",{checkpoint:t.checkpoint,updatedAt:t.updatedAt,version:t.version,seq:t.seq,chatSummary:t.chatSummary,compactedPrevSteps:t.compactedPrevSteps,ttlHours:t.ttlHours,visitorId:t.visitorId}))?.ok)}async sendBatch(t){if(!t.length)return[];let r=t.slice(0,5);return(await this.postJson("/batch",{requests:r.map(i=>({path:i.path,body:i.body}))}))?.data?.results||[]}async attachLaunch(t){let n=String(t.requestId||"").trim(),r=String(t.attachToken||"").trim();if(!n||!r)return null;let o=await this.postJson(`/launches/${encodeURIComponent(n)}/attach`,{attachToken:r,roverAttach:r,host:this.options.getHost?.()});return o.ok&&o.data||null}async claimBrowserRunReceipt(t){let n=String(t.receipt||"").trim();if(!n)return null;await this.ensureSession(!1);let r={receipt:n,requestNonce:Wl(),sessionToken:this.sessionToken,sessionId:this.sessionId,host:this.options.getHost?.()};this.baseCandidates.length||(this.baseCandidates=ki(this.base),this.base=this.baseCandidates[0]||this.base,this.baseIndex=0);let o=Ps(this.baseCandidates.map(a=>Rr(a))),i;for(let a of o)try{let s=await fetch(`${a}/v1/a2w/runs/claim-browser`,{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(r)}),c=await ba(s);if(!s.ok||!c?.success){i=new Error(String(c?.error||`request failed (${s.status})`)),i.status=s.status,i.details=c?.data||c;continue}return c.data||null}catch(s){i=s}throw i instanceof Error?i:new Error("Browser receipt claim failed.")}async createSessionRootRun(t){let n=String(t.url||"").trim(),r=String(t.prompt||"").trim();if(!n||!r)return null;await this.ensureSession(!1);let o={url:n,prompt:r,executionId:String(t.executionId||"").trim()||void 0,requestNonce:Wl(),sessionToken:this.sessionToken,sessionId:this.sessionId,host:this.options.getHost?.()};this.baseCandidates.length||(this.baseCandidates=ki(this.base),this.base=this.baseCandidates[0]||this.base,this.baseIndex=0);let i=Ps(this.baseCandidates.map(s=>Rr(s))),a;for(let s of i)try{let c=await fetch(`${s}/v1/a2w/runs/session-root`,{method:"POST",headers:{"Content-Type":"text/plain",Accept:"application/json"},body:JSON.stringify(o)}),l=await ba(c);if(!c.ok||!l?.success){a=new Error(String(l?.error||`request failed (${c.status})`)),a.status=c.status,a.details=l?.data||l;continue}return l.data||null}catch(c){a=c}throw a instanceof Error?a:new Error("Session root A2W run creation failed.")}async createRunHandoff(t){let n=String(t.parentRunId||"").trim(),r=String(t.runAccessToken||"").trim(),o=String(t.url||"").trim();if(!n||!r||!o)return null;await this.ensureSession(!1);let i=Up(Rr(this.base),n,r).replace(/\/+$/,"").concat("/handoffs"),a=new Headers({"Content-Type":"application/json",Accept:"application/json"}),s=[];t.execution&&s.push(`execution=${t.execution}`),s.length&&a.set("Prefer",s.join(", "));let c={url:o,...String(t.prompt||"").trim()?{prompt:String(t.prompt).trim()}:{},...String(t.instruction||"").trim()?{instruction:String(t.instruction).trim()}:{},...String(t.shortcutId||"").trim()?{shortcutId:String(t.shortcutId).trim()}:{},...String(t.contextSummary||"").trim()?{contextSummary:String(t.contextSummary).trim()}:{},...String(t.expectedOutput||"").trim()?{expectedOutput:String(t.expectedOutput).trim()}:{},...String(t.originalGoal||"").trim()?{originalGoal:String(t.originalGoal).trim()}:{},...t.lastObservation&&typeof t.lastObservation=="object"?{lastObservation:t.lastObservation}:{},sessionToken:this.sessionToken,sessionId:this.sessionId,host:this.options.getHost?.()},l=await fetch(i,{method:"POST",headers:a,body:JSON.stringify(c)}),d=await ba(l);if(!l.ok||!d?.success){let m=String(d?.error||`request failed (${l.status})`),f=new Error(m);throw f.status=l.status,f.details=d?.data||d,f}return d.data||null}async getPublicRun(t,n={}){let r=new Headers({Accept:"application/json"});typeof n.waitSeconds=="number"&&n.waitSeconds>0&&r.set("Prefer",`wait=${Math.trunc(n.waitSeconds)}`);let o=Up(Rr(this.base),t,n.accessToken),i=await fetch(o,{method:"GET",headers:r}),a=await ba(i);if(!i.ok||!a?.success){let s=String(a?.error||`request failed (${i.status})`),c=new Error(s);throw c.status=i.status,c.details=a?.data||a,c}return a.data||null}async continuePublicRun(t,n,r={}){let o=String(n||"").trim();if(!o)return null;let i=new Headers({Accept:"application/json","Content-Type":"application/json"}),a=Up(Rr(this.base),t,r.accessToken),s=await fetch(a,{method:"POST",headers:i,body:JSON.stringify({input:o})}),c=await ba(s);if(!s.ok||!c?.success){let l=String(c?.error||`request failed (${s.status})`),d=new Error(l);throw d.status=s.status,d.details=c?.data||c,d}return c.data||null}async ingestLaunchEvents(t){let n=String(t.requestId||"").trim(),r=Array.isArray(t.events)?t.events.filter(Boolean):[];if(!n||!r.length)return!1;let o=await this.postJson("/events/ingest",{launchRequestId:n,runId:String(t.runId||"").trim()||void 0,events:r.map(i=>({type:i.type,ts:i.ts,data:i.data}))});return o.ok&&o.data?.accepted!==!1}scheduleProjectionPoll(t){this.pollTimer!=null&&(window.clearTimeout(this.pollTimer),this.pollTimer=null),this.pollTimer=window.setTimeout(async()=>{if(this.pollTimer=null,!this.started||!this.shouldKeepTransportActive())return;let n=this.epoch,r=this.lastSeq,o=this.lastSnapshotDigest;try{await this.fetchProjection()}catch(a){this.reportError(a)}this.epoch!==n||this.lastSeq!==r||this.lastSnapshotDigest!==o?this.pollIntervalMs=2e3:this.pollIntervalMs=Math.min(15e3,Math.round(this.pollIntervalMs*1.4)),this.started&&this.shouldKeepTransportActive()&&!this.eventSource&&this.scheduleProjectionPoll(this.pollIntervalMs)},t)}startProjectionPolling(){this.pollTimer==null&&(this.pollIntervalMs=2e3,this.scheduleProjectionPoll(this.pollIntervalMs))}scheduleSseReconnect(){if(!this.started||!this.shouldKeepTransportActive()||this.reconnectTimer!=null)return;if(this.sseReconnectAttempts>=Wr.SSE_MAX_RECONNECT_ATTEMPTS){this.sseReconnectAttempts=0;return}let t=Wr.SSE_BASE_DELAY_MS,n=Math.min(t*Math.pow(2,this.sseReconnectAttempts),Wr.SSE_MAX_DELAY_MS),r=Math.random()*Wr.SSE_MAX_JITTER_MS,o=Math.round(n+r);this.sseReconnectAttempts++,this.reconnectTimer=window.setTimeout(()=>{this.reconnectTimer=null,this.startProjectionStream()},o)}startProjectionStream(){if(!this.started)return;if(!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}if(!this.sessionToken||!this.sessionId){this.startProjectionPolling();return}if(this.eventSource)return;if(typeof EventSource>"u"){this.startProjectionPolling();return}let t=new URLSearchParams({sessionId:this.sessionId,cursor:String(this.lastSeq),sessionToken:this.sessionToken}),n=`${this.getActiveBase()}/stream?${t.toString()}`,r=new EventSource(n,{withCredentials:!1});this.eventSource=r;let o=i=>{try{let a=JSON.parse(i||"{}"),s=a&&typeof a=="object"&&vi(a.projection)?a.projection:a;vi(s)&&this.applyProjection(s)}catch(a){this.reportError(a)}};r.addEventListener("projection",i=>{o(i.data||"{}")}),r.addEventListener("projection_delta",i=>{o(i.data||"{}")}),r.onerror=()=>{this.eventSource&&(this.eventSource.close(),this.eventSource=null),this.ensureSession(!0).catch(i=>this.reportError(i)).finally(()=>{if(this.rotateBaseCandidate(),!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}this.pollTimer==null&&this.startProjectionPolling(),this.scheduleSseReconnect()})},r.onopen=()=>{if(!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}this.sseReconnectAttempts=0,this.pollTimer!=null&&(window.clearTimeout(this.pollTimer),this.pollTimer=null,this.pollIntervalMs=2e3)}}};H(Wr,"SSE_BASE_DELAY_MS",2e3),H(Wr,"SSE_MAX_DELAY_MS",6e4),H(Wr,"SSE_MAX_JITTER_MS",3e3),H(Wr,"SSE_MAX_RECONNECT_ATTEMPTS",10);var Kl=Wr;var bo="/.well-known/agent-card.json",xi="/.well-known/rover-site.json";var Wy="__ROVER_WEBMCP_TOOL_DEFS__",zs=3,f_="/v1/a2w/runs",m_="/v1/a2w/workflows",h_=2e3,Vy={type:"object",properties:{status:{type:"string",description:"A2W run status returned by Rover."},summary:{type:"string",description:"High-level summary of what Rover completed or observed."},run:{type:"string",description:"Canonical A2W run URL."},workflow:{type:"string",description:"Canonical A2W workflow URL when delegation occurs."}}},g_={type:"object",properties:{success:{type:"boolean",description:"Whether the tool completed successfully."},summary:{type:"string",description:"Human-readable summary of the explicit site action."}}};function he(e,t=0){let n=String(e||"").replace(/\s+/g," ").trim();return!t||n.length<=t?n:n.slice(0,t).trim()}function ho(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function vt(e,t){if(!Array.isArray(e))return[];let n=new Set,r=[],o=Math.max(1,Number(t?.max)||24),i=Math.max(8,Number(t?.maxLen)||160);for(let a of e){let s=he(a,i);if(!s)continue;let c=s.toLowerCase();if(!n.has(c)&&(n.add(c),r.push(s),r.length>=o))break}return r}function go(e){let t=ho(e);return t?{...t}:void 0}function Us(e){try{let t=new URL(e);return t.hash="",t.search="",t.toString()}catch{return he(e)||"https://example.com/"}}function Gy(e){let t=he(e,512);if(t){if(t==="*"||t==="/*")return"*";if(/^https?:\/\//i.test(t))try{return new URL(t).pathname||"/"}catch{return}return t.startsWith("/")?t:`/${t}`}}function b_(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){let o=r==="text"||r==="markdown"||r==="json"||r==="observation"||r==="artifacts"?r:void 0;!o||n.has(o)||(n.add(o),t.push(o))}return t}function ya(e,t="beacon"){return e==="silent"||e==="beacon"||e==="integrated"||e==="debug"?e:t}function y_(e,t="site"){return e==="site"||e==="co"||e==="rover"?e:t}function Hs(e,t="auto"){return e==="auto"||e==="existing-assistant"||e==="floating-corner"||e==="inline-primary"?e:t}function Fs(e,t="click"){return e==="click"||e==="focus"||e==="keyboard"||e==="agent-handshake"?e:t}function v_(e){return e.mode==="silent"?["Read rover-site.json, the page manifest, or the well-known agent card before falling back to raw DOM guesses."]:e.hostSurface==="existing-assistant"||e.mode==="integrated"?["Use the site assistant or chat entrypoint first when it is present on the page.","Prefer Rover A2W run and shortcut surfaces over selector or screenshot guessing once the assistant surface is active."]:["Use the page beacon or A2W run endpoint before attempting generic DOM automation.","When Rover is already active, prefer the current-page actions over screenshot loops."]}function k_(e){let t=e.discoverySurface||{},n=ya(t.mode,e.visibleCue===!1?"silent":"beacon"),r=Hs(t.hostSurface,"auto"),o=Fs(t.actionReveal,"click"),i=he(t.beaconLabel||e.pageContext?.beaconLabel||e.pageContext?.visibleCueLabel,180)||void 0,a={mode:n,branding:y_(t.branding,"site"),hostSurface:r,actionReveal:o,beaconLabel:i,agentModeEntryHints:vt(t.agentModeEntryHints,{max:8,maxLen:240})};return{...a,agentModeEntryHints:a.agentModeEntryHints.length?a.agentModeEntryHints:v_(a)}}function va(e){let t=ho(e);if(!t)return;let n=ho(t.discoverySurface),r={};if(n){let i=ya(n.mode,"beacon");(n.mode==="silent"||n.mode==="beacon"||n.mode==="integrated"||n.mode==="debug")&&(r.mode=i),(n.branding==="site"||n.branding==="co"||n.branding==="rover")&&(r.branding=n.branding),(n.hostSurface==="auto"||n.hostSurface==="existing-assistant"||n.hostSurface==="floating-corner"||n.hostSurface==="inline-primary")&&(r.hostSurface=n.hostSurface),(n.actionReveal==="click"||n.actionReveal==="focus"||n.actionReveal==="keyboard"||n.actionReveal==="agent-handshake")&&(r.actionReveal=n.actionReveal);let a=he(n.beaconLabel||n.visibleCueLabel,180)||void 0;a&&(r.beaconLabel=a);let s=vt(n.agentModeEntryHints,{max:8,maxLen:240});s.length>0&&(r.agentModeEntryHints=s)}let o={};return typeof t.enabled=="boolean"?o.enabled=t.enabled:typeof t.visibleCue=="boolean"&&(o.enabled=t.visibleCue),typeof t.siteUrl=="string"&&he(t.siteUrl)&&(o.siteUrl=he(t.siteUrl)),typeof t.siteId=="string"&&he(t.siteId,160)&&(o.siteId=he(t.siteId,160)),typeof t.apiBase=="string"&&he(t.apiBase,240)&&(o.apiBase=he(t.apiBase,240)),typeof t.siteName=="string"&&he(t.siteName,160)&&(o.siteName=he(t.siteName,160)),typeof t.description=="string"&&he(t.description,400)&&(o.description=he(t.description,400)),typeof t.version=="string"&&he(t.version,120)&&(o.version=he(t.version,120)),typeof t.agentCardUrl=="string"&&he(t.agentCardUrl,240)&&(o.agentCardUrl=he(t.agentCardUrl,240)),typeof t.roverSiteUrl=="string"&&he(t.roverSiteUrl,240)&&(o.roverSiteUrl=he(t.roverSiteUrl,240)),typeof t.llmsUrl=="string"&&he(t.llmsUrl,240)&&(o.llmsUrl=he(t.llmsUrl,240)),typeof t.visibleCue=="boolean"&&(o.visibleCue=t.visibleCue),typeof t.hostSurfaceSelector=="string"&&he(t.hostSurfaceSelector,240)&&(o.hostSurfaceSelector=he(t.hostSurfaceSelector,240)),(t.preferExecution==="auto"||t.preferExecution==="browser"||t.preferExecution==="cloud")&&(o.preferExecution=t.preferExecution),Object.keys(r).length>0&&(o.discoverySurface=r),Object.keys(o).length?o:void 0}function Ky(e){return e==="browser"?["browser"]:e==="cloud"?["cloud"]:["auto","browser","cloud"]}function x_(e,t){let n=ho(e);if(!n)return null;let r=he(n.capabilityId||n.id,120),o=he(n.label||n.name,180),i=he(n.description,480);if(!r||!o||!i)return null;let a=Array.isArray(n.allowedExecutionModes)?n.allowedExecutionModes.filter(c=>c==="auto"||c==="browser"||c==="cloud"):[],s=b_(n.resultModes);return{capabilityId:r,version:he(n.version,80)||t.version,label:o,description:i,inputSchema:go(n.inputSchema),outputSchema:go(n.outputSchema),sideEffect:n.sideEffect==="none"||n.sideEffect==="read"||n.sideEffect==="write"||n.sideEffect==="transactional"?n.sideEffect:void 0,requiresConfirmation:typeof n.requiresConfirmation=="boolean"?n.requiresConfirmation:void 0,preferredInterface:zp({preferredInterface:n.preferredInterface}).preferredInterface,allowedExecutionModes:a.length?a:t.allowedExecutionModes,resultModes:s.length?s:t.resultModes,pageScope:vt(n.pageScope,{max:24,maxLen:80}),analyticsTags:vt(n.analyticsTags,{max:24,maxLen:64}),rover:ho(n.rover)?{...n.rover}:void 0}}function Xy(e,t){let n=ho(e);if(!n)return null;let r=he(n.pageId||n.id,120);if(!r)return null;let o=he(n.beaconLabel||n.visibleCueLabel||t?.beaconLabel,180)||void 0;return{pageId:r,route:Gy(n.route),label:he(n.label,180)||void 0,capabilityIds:vt(n.capabilityIds,{max:48,maxLen:120}),entityHints:vt(n.entityHints,{max:24,maxLen:120}),formHints:vt(n.formHints,{max:24,maxLen:120}),visibleCueLabel:o,beaconLabel:o,discoveryMode:ya(n.discoveryMode,t?.mode||"beacon"),hostSurface:Hs(n.hostSurface,t?.hostSurface||"auto"),actionReveal:Fs(n.actionReveal,t?.actionReveal||"click"),agentModeEntryHints:vt(Array.isArray(n.agentModeEntryHints)&&n.agentModeEntryHints.length?n.agentModeEntryHints:t?.agentModeEntryHints,{max:8,maxLen:240}),capabilitySummary:vt(n.capabilitySummary,{max:12,maxLen:180})}}function Yy(e){return`${Rr(e)}${f_}`}function Jy(e){return`${Rr(e)}${m_}`}function w_(e,t){try{let n=new URL(e);return n.searchParams.set("rover_shortcut",t),n.toString()}catch{let n=e.includes("?")?"&":"?";return`${e}${n}rover_shortcut=${encodeURIComponent(t)}`}}function S_(e){return he(e).replace(/[_-]+/g," ").replace(/\s+/g," ").replace(/\b\w/g,t=>t.toUpperCase())}function T_(e,t=[]){if(!e||typeof e!="object")return;let n={};for(let[r,o]of Object.entries(e)){let i=ho(o);if(!i)continue;let a=he(i.type)||"string",s={type:["string","number","integer","boolean","array","object"].includes(a)?a:"string"};if(i.description&&(s.description=he(i.description,240)),i.enum&&Array.isArray(i.enum)){let c=vt(i.enum,{max:24,maxLen:80});c.length&&(s.enum=c)}if(a==="array"&&i.items&&(s.items=go(i.items)||{type:he(i.items?.type)||"string"}),a==="object"&&i.properties&&typeof i.properties=="object"){s.properties={};for(let[c,l]of Object.entries(i.properties)){let d=ho(l);d&&(s.properties[c]={type:he(d.type)||"string",...d.description?{description:he(d.description,240)}:{}})}if(Array.isArray(i.required)){let c=vt(i.required,{max:50,maxLen:80});c.length&&(s.required=c)}}n[r]=s}return{type:"object",properties:n,...t.length?{required:vt(t,{max:50,maxLen:80})}:{}}}function zp(e){let t=ho(e)||{};return{category:he(t.category,40)||void 0,tags:vt(t.tags,{max:16,maxLen:40}),examples:vt(t.examples,{max:6,maxLen:200}),whenToUse:he(t.whenToUse,280)||void 0,whyUse:he(t.whyUse,280)||void 0,sideEffect:t.sideEffect==="none"||t.sideEffect==="read"||t.sideEffect==="write"||t.sideEffect==="transactional"?t.sideEffect:void 0,requiresConfirmation:typeof t.requiresConfirmation=="boolean"?t.requiresConfirmation:void 0,preferredInterface:t.preferredInterface==="task"||t.preferredInterface==="shortcut"||t.preferredInterface==="client_tool"||t.preferredInterface==="webmcp"?t.preferredInterface:void 0,priority:t.priority==="primary"||t.priority==="secondary"?t.priority:void 0}}function Qy(e,t,n){if(n?.sideEffect)return n.sideEffect;if(t==="shortcut")return"transactional";let r=e.toLowerCase();return/^(get|read|list|show|find|search|compare|inspect|lookup)/.test(r)?"read":/^(save|create|reply|vote|leave|submit|answer|book|start|checkout|handoff)/.test(r)?"write":r.includes("run_task")?"transactional":"read"}function Zy(e,t){return typeof t?.requiresConfirmation=="boolean"?t.requiresConfirmation:e==="write"||e==="transactional"}function ev(e,t,n,r){let o=[];return e&&o.push(he(e,120)),t&&o.push(he(t,320)),n.whenToUse&&o.push(`When to use: ${n.whenToUse}`),n.whyUse&&o.push(`Why use this path: ${n.whyUse}`),!t&&r==="shortcut"&&o.push("Use this explicit Rover shortcut when the user intent matches this site journey instead of improvising with raw DOM actions."),o.join(" ").trim()}function tv(e){let t=he(e.id,80),n=he(e.label,120),r=he(e.prompt,h_);if(!t||!n||!r||e.enabled===!1)return null;let o=he(e.description,320);return{id:t,label:n,prompt:r,...o?{description:o}:{},...e.routing?{routing:e.routing}:{}}}function __(e,t,n){let r=tv(e);if(!r)return null;let{id:o,label:i,prompt:a}=r,s=vt([...e.tags||[],"shortcut","rover"],{max:16,maxLen:40}),c=vt([...e.examples||[],a],{max:6,maxLen:220}),l=zp({tags:s,examples:c,sideEffect:e.sideEffect,requiresConfirmation:e.requiresConfirmation,preferredInterface:e.preferredInterface||"shortcut",priority:"primary"}),d="shortcut",m=Qy(o,d,l),f=Zy(m,l);return{id:o,name:i,description:ev(i,e.description||`Run the "${i}" site flow with Rover using the exact shortcut id "${o}".`,{...l,whenToUse:l.whenToUse||"Use this when the user wants this exact site outcome and you want a stable path that avoids brittle DOM guessing.",whyUse:l.whyUse||"Rover shortcuts are explicit site-owned entrypoints with structured A2W run progress and cleaner recovery than generic DOM automation."},d),tags:s,examples:c,inputSchema:go(e.inputSchema)||{type:"object",additionalProperties:!1,description:"This shortcut is parameterless. Invoke it directly by id."},outputSchema:go(e.outputSchema)||{...Vy},sideEffect:m,requiresConfirmation:f,preferredInterface:d,category:"primary",rover:{shortcutId:o,prompt:a,routing:e.routing,deepLink:w_(t.siteUrl,o),run:{endpoint:n,payload:{url:Us(t.siteUrl),shortcut:o},preferExecution:t.preferExecution||"auto"},source:"shortcut"}}}function jy(e,t){let n=he(e.name,120);if(!n||e.llmCallable===!1)return null;let r=zp(e.annotations),o=Qy(n,t,r),i=Zy(o,r),a=vt([...r.tags||[],t,"rover"],{max:16,maxLen:40}),s=vt(r.examples||[],{max:6,maxLen:220});return{id:n,name:he(e.title,120)||S_(n),description:ev(he(e.title,120),e.description,{...r,whenToUse:r.whenToUse||(t==="webmcp"?"Use this explicit WebMCP tool when the browser exposes it instead of simulating DOM actions for the same outcome.":"Use this explicit site tool when it matches the user goal instead of reconstructing the same action through generic DOM automation."),whyUse:r.whyUse||"Explicit site tools expose stable schemas, clearer validation errors, and structured results that are easier to recover from than brittle DOM inference."},t),...a.length?{tags:a}:{},...s.length?{examples:s}:{},inputSchema:go(e.schema)||T_(e.parameters,e.required||[])||{type:"object",additionalProperties:!1},outputSchema:go(e.outputSchema)||{...g_},sideEffect:o,requiresConfirmation:i,preferredInterface:t,category:r.priority==="primary"?"primary":"secondary",rover:{toolName:n,source:t==="webmcp"?"webmcp":"client_tool"}}}function E_(e){let t=[],n=new Set;for(let r of e){let o=he(r.id,120);!o||n.has(o.toLowerCase())||(n.add(o.toLowerCase()),t.push({...r,id:o}))}return t}function I_(e){let t=[],n=new Set;for(let r of e){let o=he(r.capabilityId,120);!o||n.has(o.toLowerCase())||(n.add(o.toLowerCase()),t.push({...r,capabilityId:o,pageScope:vt(r.pageScope,{max:24,maxLen:80}),analyticsTags:vt(r.analyticsTags,{max:24,maxLen:64}),allowedExecutionModes:Array.from(new Set(r.allowedExecutionModes||[])),resultModes:Array.from(new Set(r.resultModes||[]))}))}return t}function R_(e,t){let n=[],r=new Set;for(let o of e){let i=he(o.pageId,120);if(!i||r.has(i.toLowerCase()))continue;r.add(i.toLowerCase());let a=he(o.beaconLabel||o.visibleCueLabel||t?.beaconLabel,180)||void 0;n.push({pageId:i,route:Gy(o.route),label:he(o.label,180)||void 0,capabilityIds:vt(o.capabilityIds,{max:48,maxLen:120}),entityHints:vt(o.entityHints,{max:24,maxLen:120}),formHints:vt(o.formHints,{max:24,maxLen:120}),visibleCueLabel:a,beaconLabel:a,discoveryMode:ya(o.discoveryMode,t?.mode||"beacon"),hostSurface:Hs(o.hostSurface,t?.hostSurface||"auto"),actionReveal:Fs(o.actionReveal,t?.actionReveal||"click"),agentModeEntryHints:vt(Array.isArray(o.agentModeEntryHints)&&o.agentModeEntryHints.length?o.agentModeEntryHints:t?.agentModeEntryHints,{max:8,maxLen:240}),capabilitySummary:vt(o.capabilitySummary,{max:12,maxLen:180})})}return n}function qy(e,t,n){let r=vt(e.capabilityIds,{max:48,maxLen:120}),o=vt(Array.isArray(e.capabilitySummary)&&e.capabilitySummary.length?e.capabilitySummary:r.map(s=>t.find(c=>c.capabilityId===s)?.label).filter(s=>!!s),{max:12,maxLen:180}),i=he(e.beaconLabel||e.visibleCueLabel||n.beaconLabel,180)||void 0,a=vt(Array.isArray(e.agentModeEntryHints)&&e.agentModeEntryHints.length?e.agentModeEntryHints:n.agentModeEntryHints,{max:8,maxLen:240});return{...e,capabilityIds:r,visibleCueLabel:i,beaconLabel:i,discoveryMode:ya(e.discoveryMode,n.mode),hostSurface:Hs(e.hostSurface,n.hostSurface),actionReveal:Fs(e.actionReveal,n.actionReveal),agentModeEntryHints:a,capabilitySummary:o}}function A_(e,t){let n=t.preferExecution||"auto";return{capabilityId:e.id,version:he(t.version,80)||"1.0.0",label:e.name,description:e.description,inputSchema:go(e.inputSchema),outputSchema:go(e.outputSchema)||{...Vy},sideEffect:e.sideEffect,requiresConfirmation:e.requiresConfirmation,preferredInterface:e.preferredInterface,allowedExecutionModes:Ky(n),resultModes:["text","json","observation","artifacts"],pageScope:vt(e.rover?.shortcutId?["site",e.rover.shortcutId]:["site"],{max:8,maxLen:80}),analyticsTags:vt(e.tags,{max:24,maxLen:64}),rover:e.rover?{...e.rover}:void 0}}function C_(e,t,n){let r=Us(e.siteUrl),o="/";try{o=new URL(r).pathname||"/"}catch{o="/"}return Xy({pageId:e.pageContext?.pageId||o.replace(/^\/+|\/+$/g,"").replace(/[^a-z0-9/_-]+/gi,"-").replace(/\//g,"__")||"home",route:e.pageContext?.route||o,label:e.pageContext?.label,capabilityIds:e.pageContext?.capabilityIds,entityHints:e.pageContext?.entityHints,formHints:e.pageContext?.formHints,visibleCueLabel:e.pageContext?.visibleCueLabel,beaconLabel:e.pageContext?.beaconLabel,discoveryMode:e.pageContext?.discoveryMode,hostSurface:e.pageContext?.hostSurface,actionReveal:e.pageContext?.actionReveal,agentModeEntryHints:e.pageContext?.agentModeEntryHints,capabilitySummary:e.pageContext?.capabilitySummary},n)||{pageId:"home",route:o,label:void 0,capabilityIds:t.slice(0,12).map(a=>a.capabilityId),entityHints:[],formHints:[],visibleCueLabel:n.beaconLabel,beaconLabel:n.beaconLabel,discoveryMode:n.mode,hostSurface:n.hostSurface,actionReveal:n.actionReveal,agentModeEntryHints:n.agentModeEntryHints,capabilitySummary:t.slice(0,6).map(a=>a.label)}}function M_(e,t,n){let r=t.map(d=>A_(d,e)),o=(e.capabilities||[]).map(d=>x_(d,{version:he(e.version,80)||"1.0.0",allowedExecutionModes:Ky(e.preferExecution||"auto"),resultModes:["text","json","observation","artifacts"]})).filter(d=>!!d),i=I_([...o,...r]),a=C_(e,i,n),s=(e.pages||[]).map(d=>Xy(d,n)).filter(d=>!!d);a.capabilityIds?.length||(a.capabilityIds=i.slice(0,12).map(d=>d.capabilityId));let c=R_([...s,a],n).map(d=>qy(d,i,n)),l=c.find(d=>d.pageId===a.pageId)||qy(a,i,n);return{capabilities:i,pages:c,currentPage:l}}function $y(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Xl(e){return e.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026")}function N_(e){return`data:application/json;charset=utf-8,${encodeURIComponent(e)}`}function Po(e){let t=Us(e.siteUrl),n=Yy(e.apiBase),r=Jy(e.apiBase),o=he(e.agentCardUrl)||bo,i=he(e.roverSiteUrl)||xi,a=he(e.llmsUrl),c=Ip(e.aiAccess).enabled,l=e.aiAccess?.allowCloudBrowser!==!1,d=e.aiAccess?.allowDelegatedHandoffs===!0,m=(e.shortcuts||[]).map(A=>__(A,e,n)).filter(A=>!!A),f=(e.tools||[]).map(A=>jy(A,"client_tool")).filter(A=>!!A),p=(e.webmcpTools||[]).map(A=>jy(A,"webmcp")).filter(A=>!!A),b=E_([...m,...e.additionalSkills||[],...f,...p]),y=k_(e),k=M_(e,b,y),w={mode:ya(k.currentPage.discoveryMode,y.mode),branding:y.branding,hostSurface:Hs(k.currentPage.hostSurface,y.hostSurface),actionReveal:Fs(k.currentPage.actionReveal,y.actionReveal),beaconLabel:he(k.currentPage.beaconLabel||k.currentPage.visibleCueLabel||y.beaconLabel,180)||void 0,agentModeEntryHints:vt(k.currentPage.agentModeEntryHints?.length?k.currentPage.agentModeEntryHints:y.agentModeEntryHints,{max:8,maxLen:240}),compactActionMaxActions:zs},x=he(e.siteName,120)||(()=>{try{return new URL(t).hostname}catch{return"Rover Site"}})(),h=he(e.description,320)||`Structured Rover entrypoints for ${x}. Prefer the published shortcuts and explicit tools over raw DOM automation whenever they match the user's goal.`;return{name:x,description:h,url:n,version:he(e.version,80)||"1.0.0",defaultInputModes:["text/plain","application/json"],defaultOutputModes:["text/plain","application/json"],capabilities:{streaming:c,a2wRuns:c,stateTransitions:c,delegatedHandoffs:d,webmcp:p.length>0},skills:b,interfaces:[{type:"run",url:n,description:"Canonical Agent-to-Web Protocol (A2W) run creation endpoint.",available:c},{type:"workflow",url:r,description:"Aggregated Rover workflow resource for delegated runs.",available:!0},{type:"site",url:t,description:"Human-visible website entrypoint.",available:!0},{type:"deep_link",url:t,description:"Browser-first Rover deep link surface using rover= or rover_shortcut= query params.",available:c},{type:"webmcp",url:t,description:"WebMCP tool surface when the browser host supports navigator.modelContext.",available:p.length>0}],extensions:{rover:{siteId:he(e.siteId,120)||void 0,siteUrl:t,runEndpoint:n,workflowEndpoint:r,serviceDescUrl:o,roverSiteUrl:i,...a?{llmsUrl:a}:{},preferredExecution:e.preferExecution||"auto",a2wRunsEnabled:c,cloudBrowserAllowed:l,delegatedHandoffs:d,instructions:["Prefer exact Rover shortcuts and explicit site tools over raw DOM automation when the user goal matches a published skill.","Use POST /v1/a2w/runs when you need structured A2W progress, continuation input, or a stable final result channel.","Fall back to generic DOM automation only when no matching Rover shortcut or explicit tool exists for the requested outcome."],capabilitiesGraph:k.capabilities,pages:k.pages,currentPage:k.currentPage,discoverySurface:w,shortcuts:(e.shortcuts||[]).map(A=>tv(A)).filter(A=>!!A),webmcp:{available:p.length>0,tools:p.map(A=>A.id)}}}}}function ka(e){let t=Po(e),n=t.extensions?.rover;return{identity:{siteId:n?.siteId,name:t.name,description:t.description,siteUrl:n?.siteUrl||Us(e.siteUrl),version:t.version},actions:n?.capabilitiesGraph||[],pages:n?.pages||[],policies:{preferredExecution:n?.preferredExecution||"auto",a2wRunsEnabled:n?.a2wRunsEnabled!==!1,cloudBrowserAllowed:n?.cloudBrowserAllowed!==!1,delegatedHandoffs:n?.delegatedHandoffs===!0},auth:{runEndpoint:n?.runEndpoint||Yy(e.apiBase),workflowEndpoint:n?.workflowEndpoint||Jy(e.apiBase),acceptsHttpMessageSignatures:!0,supportsUnsignedSelfReportedIdentity:!0},analytics:{layer:"roverbook",runIdField:"runId",workflowIdField:"workflowId",capabilityIdField:"capabilityId",pageIdField:"pageId"},currentPage:n?.currentPage,display:{mode:n?.discoverySurface.mode||"beacon",branding:n?.discoverySurface.branding||"site",hostSurface:n?.discoverySurface.hostSurface||"auto",actionReveal:n?.discoverySurface.actionReveal||"click",beaconLabel:n?.discoverySurface.beaconLabel,agentModeEntryHints:n?.discoverySurface.agentModeEntryHints||[],compactActionMaxActions:n?.discoverySurface.compactActionMaxActions||zs},artifacts:{agentCardUrl:n?.serviceDescUrl||he(e.agentCardUrl)||bo,roverSiteUrl:n?.roverSiteUrl||he(e.roverSiteUrl)||xi,...n?.llmsUrl?{llmsUrl:n.llmsUrl}:{},siteUrl:n?.siteUrl||Us(e.siteUrl)},interfaces:t.interfaces}}function Yl(e){let t=xa(e),n=Po(e),r=ka(e),o=JSON.stringify(r,null,2),i=N_(t),a=he(e.agentCardUrl)||i,s=he(e.roverSiteUrl)||xi,c=n.extensions?.rover.currentPage||{pageId:"home",route:"/",capabilityIds:[]},l=JSON.stringify(c,null,2),d={a2w:n.extensions?.rover.runEndpoint,run:n.extensions?.rover.runEndpoint,card:a,roverSite:s,site:n.extensions?.rover.siteUrl,workflow:n.extensions?.rover.workflowEndpoint,page:c.pageId,preferExecution:n.extensions?.rover.preferredExecution,discoveryMode:n.extensions?.rover.discoverySurface.mode,hostSurface:n.extensions?.rover.discoverySurface.hostSurface,actionReveal:n.extensions?.rover.discoverySurface.actionReveal,beaconLabel:n.extensions?.rover.discoverySurface.beaconLabel,skills:n.skills.slice(0,24).map(m=>({id:m.id,name:m.name})),capabilities:(n.extensions?.rover.capabilitiesGraph||[]).slice(0,24).map(m=>({capabilityId:m.capabilityId,label:m.label}))};return{card:n,cardJson:t,serviceDescHref:a,roverSite:r,roverSiteJson:o,roverSiteHref:s,pageManifest:c,pageManifestJson:l,llmsUrl:he(e.llmsUrl||n.extensions?.rover.llmsUrl)||void 0,marker:d,markerJson:Xl(JSON.stringify(d))}}function xa(e,t){return JSON.stringify(Po(e),null,t?.pretty===!1?void 0:2)}function nv(e,t){return xa(e,t)}function js(e,t){return JSON.stringify(ka(e),null,t?.pretty===!1?void 0:2)}function rv(e,t){return js(e,t)}function Jl(e){let t=[`<${he(e.agentCardUrl)||bo}>; rel="service-desc"; type="application/json"`],n=he(e.llmsUrl);return n&&t.push(`<${n}>; rel="service-doc"; type="text/markdown"`),t.join(", ")}function ov(e){let{cardJson:t,llmsUrl:n,markerJson:r,pageManifestJson:o,roverSiteJson:i,serviceDescHref:a}=Yl(e),s=Xl(t),c=Xl(i),l=Xl(o),d=[`<script type="application/agent+json">${r}<\/script>`,`<link rel="service-desc" href="${$y(a)}" type="application/json" />`];return n&&d.push(`<link rel="service-doc" href="${$y(n)}" type="text/markdown" />`),d.push(`<script type="application/rover-site+json">${c}<\/script>`),d.push(`<script type="application/rover-page+json">${l}<\/script>`),d.push(`<script type="application/agent-card+json">${s}<\/script>`),d.join(`
4155
+ `)}var L_="https://rover.rtrvr.ai/embed.js",D_="https://rover.rtrvr.ai/roverbook.js";function Wt(e){return String(e||"").trim()}function Ql(e){return String(e||"").replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Sa(e){return String(e||"").replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026")}function iv(e,t,n){if(!n)return e;let r=new RegExp(`<script[^>]+data-rover-agent-discovery="${t}"[^>]*>[\\s\\S]*?<\\/script>`);return r.test(e)?e.replace(r,n):[e,n].filter(Boolean).join(`
4156
+ `)}function O_(e,t){let n=wa(t.ui?.experience)?t.ui?.experience:null;if(!n)return e;let r=wa(n.presence)?n.presence:{},o=wa(n.inputs)?n.inputs:{},i=wa(n.shell)?n.shell:{},a=wa(n.stream)?n.stream:{},s=Wt(r.ctaText)||`Do it with ${Wt(t.ui?.agent?.name)||"Rover"}`,c=Wt(r.assistantName)||Wt(t.ui?.agent?.name)||"Rover",l=e.agentCard?JSON.parse(JSON.stringify(e.agentCard)):void 0;l?.extensions?.rover&&(l.extensions.rover.discoverySurface={...l.extensions.rover.discoverySurface||{},mode:"beacon",hostSurface:"floating-corner",actionReveal:"click",beaconLabel:s},l.extensions.rover.presence={assistantName:c,ctaText:s,draggable:r.draggable!==!1},l.extensions.rover.experience=n,l.extensions.rover.inputs={filesEnabled:o.files!==!1,acceptedMimeGroups:Array.isArray(o.acceptedMimeGroups)?o.acceptedMimeGroups:["images","pdfs","office","text"],allowMultipleFiles:o.allowMultipleFiles!==!1});let d=e.roverSite?JSON.parse(JSON.stringify(e.roverSite)):void 0;d&&(d.display={...d.display||{},mode:"beacon",hostSurface:"floating-corner",actionReveal:"click",beaconLabel:s,presence:"draggable_pill",openMode:Wt(i.openMode)||"center_stage",mobileMode:Wt(i.mobileMode)||"fullscreen_sheet",streamMode:Wt(a.layout)||"single_column",focusView:"focus_stream"},d.experience=n,d.inputs={...d.inputs||{},filesEnabled:o.files!==!1,acceptedMimeGroups:Array.isArray(o.acceptedMimeGroups)?o.acceptedMimeGroups:["images","pdfs","office","text"],allowMultipleFiles:o.allowMultipleFiles!==!1});let m=l?JSON.stringify(l,null,2):e.agentCardJson,f=d?JSON.stringify(d,null,2):e.roverSiteJson,p=m?`<script type="application/agent-card+json" data-rover-agent-discovery="agent-card">${Sa(m)}<\/script>`:e.metadata.inlineAgentCardScript,b=f?`<script type="application/rover-site+json" data-rover-agent-discovery="rover-site">${Sa(f)}<\/script>`:e.metadata.inlineRoverSiteScript;return{...e,agentCard:l,agentCardJson:m,roverSite:d,roverSiteJson:f,bodyInstallHtml:iv(iv(e.bodyInstallHtml,"agent-card",p),"rover-site",b),metadata:{...e.metadata,roverSiteJson:f,inlineAgentCardScript:p,inlineRoverSiteScript:b}}}function av(e){return JSON.stringify(e,null,2).split(`
4050
4157
  `).map(t=>` ${t}`).join(`
4051
- `)}function vi(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function i_(e){return vi(e)&&Object.keys(e).length>0}function s_(e){let t=Number(e);return!Number.isFinite(t)||t<10?50:Math.round(t)}function c_(e){let t=Number(e);return!Number.isFinite(t)||t<1?300:Math.round(t)}function Zy(e){return!!e&&e.enabled!==!1&&e.aiAccess?.enabled!==!1}function l_(e,t){return Zy(t)?e.emitLlmsTxt===!0||!!jt(t.llmsUrl):!1}function d_(e,t){return{task:e.extensions?.rover.taskEndpoint,card:t,roverSite:e.extensions?.rover.roverSiteUrl,site:e.extensions?.rover.siteUrl,workflow:e.extensions?.rover.workflowEndpoint,page:e.extensions?.rover.currentPage?.pageId,preferExecution:e.extensions?.rover.preferredExecution,display:e.extensions?.rover.discoverySurface?{mode:e.extensions.rover.discoverySurface.mode,hostSurface:e.extensions.rover.discoverySurface.hostSurface,actionReveal:e.extensions.rover.discoverySurface.actionReveal,beaconLabel:e.extensions.rover.discoverySurface.beaconLabel}:void 0,skills:e.skills.slice(0,24).map(n=>({id:n.id,name:n.name})),capabilities:(e.extensions?.rover.capabilitiesGraph||[]).slice(0,24).map(n=>({capabilityId:n.capabilityId,label:n.label}))}}function u_(e,t){let n=[`# ${e.name}`,"",e.description,"","Prefer Rover shortcuts, explicit site tools, and public task flows over raw DOM automation when they match the requested outcome.",`Primary task endpoint: ${jt(e.extensions?.rover.taskEndpoint||e.url)}`,`Workflow endpoint: ${jt(e.extensions?.rover.workflowEndpoint)}`,`Capability card: ${t.agentCardUrl}`],r=e.skills.map(a=>({id:jt(a.id),name:jt(a.name),description:jt(a.description),interface:jt(a.preferredInterface||a.rover?.source||"task")})).filter(a=>a.id&&a.name);if(r.length>0){n.push("","Published skills:");for(let a of r){let i=a.description?` - ${a.description}`:"";n.push(`- ${a.id}: ${a.name} [${a.interface}]${i}`)}}let o=(e.extensions?.rover.shortcuts||[]).map(a=>`${jt(a.id)}: ${jt(a.label)}`).filter(Boolean);if(o.length>0){n.push("","Shortcut IDs:");for(let a of o)n.push(`- ${a}`)}return n.join(`
4052
- `)}function p_(){return["(function(){ var r = window.rover = window.rover || function(){ (r.q = r.q || []).push(arguments); }; r.l = +new Date(); })();"]}function ev(e){return e.cloudSandboxEnabled!==!0?e:{...e,tools:{...e.tools||{},web:{...e.tools?.web||{},enableExternalWebContext:!0,scrapeMode:"on_demand"}}}}function f_(e){let t=ev(e);return["<script>",...p_().map(r=>` ${r}`),` rover('boot', ${Qy(t)});`,"<\/script>"].join(`
4053
- `)}function m_(e,t){let n=s_(t?.pollIntervalMs),r=c_(t?.maxAttempts);return["<script>"," (function(){",` var roverBookConfig = ${Qy(e)};`," function attachRoverBook(){"," if (window.__ROVERBOOK_INSTANCE__) return true;"," var roverApi = window.rover;"," var roverBook = window.RoverBook;"," if (!roverApi || typeof roverApi.on !== 'function' || typeof roverApi.requestSigned !== 'function') return false;"," if (!roverBook || typeof roverBook.enableRoverBook !== 'function') return false;"," window.__ROVERBOOK_INSTANCE__ = roverBook.enableRoverBook(roverApi, roverBookConfig);"," return true;"," }"," if (attachRoverBook()) return;"," var attempts = 0;"," var timer = setInterval(function(){"," attempts += 1;",` if (attachRoverBook() || attempts >= ${r}) clearInterval(timer);`,` }, ${n});`," })();","<\/script>"].join(`
4054
- `)}function tv(e){let t=ev(e.bootConfig),n=Zy(e.discovery)?e.discovery:null,r=n?jt(n.agentCardUrl)||yo:"",o=n?jt(n.roverSiteUrl)||va:"",a=l_(e,n),i=n?jt(n.llmsUrl):"",s=jt(e.embedScriptUrl)||r_,c=e.roverBook?.enabled!==!1&&i_(e.roverBook?.config),l=c?jt(e.roverBook?.scriptUrl)||o_:"",d=n?Do(n):void 0,m=n?yi(n):void 0,f=n?bi(n):void 0,p=n?zs(n):void 0,g=n?JSON.stringify(d?.extensions?.rover.currentPage||null,null,2):void 0,y=d&&r?d_(d,r):void 0,x=y?ki(JSON.stringify(y)):void 0,T=m?ki(m):void 0,k=p?ki(p):void 0,b=g?ki(g):void 0,P=n&&r?`<link rel="service-desc" href="${Ql(r)}" type="application/json" />`:void 0,R=n&&i?`<link rel="service-doc" href="${Ql(i)}" type="text/markdown" />`:void 0,_=[];x&&_.push(`<script type="application/agent+json" data-rover-agent-discovery="marker">${x}<\/script>`),k&&_.push(`<script type="application/rover-site+json" data-rover-agent-discovery="rover-site">${k}<\/script>`),b&&_.push(`<script type="application/rover-page+json" data-rover-agent-discovery="page">${b}<\/script>`),T&&_.push(`<script type="application/agent-card+json" data-rover-agent-discovery="agent-card">${T}<\/script>`),_.push(f_(t)),_.push(`<script src="${Ql(s)}" async><\/script>`),c&&l&&(_.push(`<script src="${Ql(l)}" async><\/script>`),_.push(m_(e.roverBook?.config||{},{pollIntervalMs:e.roverBook?.attachPollIntervalMs,maxAttempts:e.roverBook?.attachMaxAttempts})));let $=a&&d?jt(e.llmsTxt)?e.llmsTxt:u_(d,{agentCardUrl:r||yo}):void 0;return a_({bodyInstallHtml:_.join(`
4055
- `),headDiscoveryHtml:[P,R].filter(Boolean).join(`
4056
- `),agentCard:d,agentCardJson:m,roverSite:f,roverSiteJson:p,serviceDescLinkHeader:n?Jl({agentCardUrl:r||yo,...i?{llmsUrl:i}:{}}):void 0,llmsTxt:$,metadata:{discoveryEnabled:!!n,llmsPublished:!!R,embedScriptUrl:s,roverBookEnabled:c,roverBookScriptUrl:l||void 0,publishedAgentCardUrl:r||void 0,publishedRoverSiteUrl:o||void 0,publishedLlmsUrl:i||void 0,serviceDescLinkTag:P,serviceDocLinkTag:R,markerJson:x,markerScript:x?`<script type="application/agent+json" data-rover-agent-discovery="marker">${x}<\/script>`:void 0,inlineAgentCardScript:T?`<script type="application/agent-card+json" data-rover-agent-discovery="agent-card">${T}<\/script>`:void 0,roverSiteJson:p,inlineRoverSiteScript:k?`<script type="application/rover-site+json" data-rover-agent-discovery="rover-site">${k}<\/script>`:void 0,pageManifestJson:g,pageManifestScript:b?`<script type="application/rover-page+json" data-rover-agent-discovery="page">${b}<\/script>`:void 0}},e.bootConfig)}var ov="https://agent.rtrvr.ai",nv="rvrsess_";function xi(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function h_(e,t=8e3){let n=String(e??"");return n.length<=t?n:`${n.slice(0,t)}\u2026`}function g_(e){let t=String(e||"").trim();if(!t)return"";try{let n=new URL(t);return n.hash="",`${n.origin}${n.pathname}${n.search}`}catch{return t}}function Up(e){return e==null?"null":typeof e=="number"?Number.isFinite(e)?String(e):JSON.stringify(String(e)):typeof e=="boolean"?e?"true":"false":typeof e=="string"?JSON.stringify(e):Array.isArray(e)?`[${e.map(t=>Up(t)).join(",")}]`:typeof e=="object"?`{${Object.entries(e).filter(([n])=>n!=="updatedAt"&&n!=="ts"&&n!=="timestamp").sort(([n],[r])=>n.localeCompare(r)).map(([n,r])=>`${JSON.stringify(n)}:${Up(r)}`).join(",")}}`:JSON.stringify(String(e))}function b_(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return`sd:${(t>>>0).toString(16)}`}function rv(e){let t=Array.isArray(e.sharedState?.tabs)?e.sharedState.tabs:[],n=e.runtimeState?.workerState||{},r=e.runtimeState?.taskTabScope||{},o=e.sharedState?.activeRun||{},a=e.runtimeState?.pendingRun||{},i=Array.isArray(n.plannerHistory)?n.plannerHistory:[],s=Array.isArray(n.agentPrevSteps)?n.agentPrevSteps:[],c=i.length?i[i.length-1]:void 0,l=s.length?s[s.length-1]:void 0,d=i.map(p=>String(p?.id||p?.toolCall?.name||p?.toolName||p?.name||"")),m=s.map(p=>String(p?.id||p?.toolCall?.name||p?.toolName||p?.name||"")),f={sessionId:String(e.sessionId||""),shared:{taskEpoch:Number(e.sharedState?.taskEpoch||0),taskId:String(e.sharedState?.task?.taskId||""),taskStatus:String(e.sharedState?.task?.status||""),activeRunId:String(o.runId||""),activeRunStatus:String(o.status||""),tabs:t.map(p=>({logicalTabId:Number(p?.logicalTabId)||0,scope:String(p?.scope||""),status:String(p?.status||""),url:g_(p?.url),external:!!p?.external}))},runtime:{taskEpoch:Number(e.runtimeState?.taskEpoch||0),activeTaskId:String(e.runtimeState?.activeTask?.taskId||""),activeTaskStatus:String(e.runtimeState?.activeTask?.status||""),pendingRunId:String(a.id||""),pendingRunStatus:String(a.status||""),pendingResumeRequired:a.resumeRequired===!0,worker:{taskBoundaryId:String(n.taskBoundaryId||""),trajectoryId:String(n.trajectoryId||""),pendingAskBoundaryId:String(n.pendingAskUser?.boundaryId||""),plannerHistoryCount:i.length,agentPrevStepsCount:s.length,lastPlannerStepId:String(c?.id||""),lastAgentStepId:String(l?.id||""),plannerStepMarkers:d,agentStepMarkers:m},continuity:{boundaryId:String(r.boundaryId||""),seedTabId:Number(r.seedTabId||0),touchedTabIds:Array.isArray(r.touchedTabIds)?r.touchedTabIds.map(p=>Number(p)||0).filter(p=>p>0):[]}}};return b_(Up(f))}function y_(e){let t=ov,n=String(e||t).trim().replace(/\/+$/,"");if(!n)return t;if(n.endsWith("/extensionRouter/v2/rover"))return n.slice(0,-25);if(n.endsWith("/v2/rover"))return n.slice(0,-9);let r=n.match(/\/v\d+\/rover$/);return r?.[0]?n.slice(0,-r[0].length):n.endsWith("/extensionRouter")?n.slice(0,-16):n}function Bp(e){let t=new Set,n=[];for(let r of e){let o=String(r||"").trim().replace(/\/+$/,"");!o||t.has(o)||(t.add(o),n.push(o))}return n}function v_(e){let t=y_(e),n=String(e||"").trim().replace(/\/+$/,"");return n.endsWith("/v2/rover")||n.endsWith("/extensionRouter/v2/rover")?Bp([n.replace("/extensionRouter/v2/rover","/v2/rover"),`${t}/v2/rover`]):Bp(!n&&t==="https://agent.rtrvr.ai"?[`${t}/v2/rover`,"https://extensionrouter.rtrvr.ai/v2/rover"]:[`${t}/v2/rover`])}function ka(e,t){let n=new Error(e);return n.details=t,n}function k_(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}var Zl=class{constructor(t){U(this,"endpoint");U(this,"endpointCandidates");U(this,"endpointIndex",0);U(this,"getToken");U(this,"siteId");U(this,"visitorId");U(this,"ttlHours");U(this,"flushIntervalMs");U(this,"pullIntervalMs");U(this,"minFlushIntervalMs");U(this,"maxSnapshotBytes");U(this,"shouldSync");U(this,"shouldWrite");U(this,"buildCheckpoint");U(this,"onCheckpoint");U(this,"onStateChange");U(this,"onError");U(this,"idlePullIntervalMs");U(this,"started",!1);U(this,"idleMode",!1);U(this,"dirty",!1);U(this,"flushTimer",null);U(this,"pullTimer",null);U(this,"lastFlushAt",0);U(this,"lastPullAt",0);U(this,"lastUploadedRevision","");U(this,"lastAppliedRemoteUpdatedAt",0);U(this,"lastAppliedRemoteDigest","");U(this,"pushInFlight",!1);U(this,"pullInFlight",!1);U(this,"state","active");U(this,"visibilityListener",null);let n=String(t.authToken||"").trim(),r=t.getSessionToken,o=r?String(r()||"").trim():n;if(!o||!o.startsWith(nv))throw ka("Rover cloud checkpoint requires a session token (rvrsess_...).");this.endpointCandidates=v_(t.apiBase),this.endpoint=this.endpointCandidates[0]||`${ov}/v2/rover`,this.getToken=()=>{let a=r?String(r()||"").trim():n;if(!a||!a.startsWith(nv))throw ka("Rover cloud checkpoint requires an active session token.");return a},this.siteId=t.siteId,this.visitorId=t.visitorId,this.ttlHours=Math.max(1,Math.min(168,Math.floor(xi(t.ttlHours,1)))),this.flushIntervalMs=Math.max(2e3,Math.floor(xi(t.flushIntervalMs,3e4))),this.pullIntervalMs=Math.max(2e3,Math.floor(xi(t.pullIntervalMs,3e4))),this.idlePullIntervalMs=12e4,this.minFlushIntervalMs=Math.max(1e3,Math.floor(xi(t.minFlushIntervalMs,2500))),this.maxSnapshotBytes=Math.max(64e3,Math.min(1048576,Math.floor(xi(t.maxSnapshotBytes,262144)))),this.shouldSync=t.shouldSync||(()=>!0),this.shouldWrite=t.shouldWrite||(()=>!0),this.buildCheckpoint=t.buildCheckpoint,this.onCheckpoint=t.onCheckpoint,this.onStateChange=t.onStateChange,this.onError=t.onError}start(){this.started||(this.started=!0,this.setState("active"),typeof document<"u"&&!this.visibilityListener&&(this.visibilityListener=()=>{if(this.started){if(document.hidden){this.enterIdleMode();return}this.enterActiveMode(),this.shouldSync()&&(this.pull(!0),this.dirty&&this.flush(!0))}},document.addEventListener("visibilitychange",this.visibilityListener)),this.flushTimer=window.setInterval(()=>{this.shouldSync()&&this.flush(!1)},this.flushIntervalMs),this.pullTimer=window.setInterval(()=>{this.shouldSync()&&this.pull(!1)},this.pullIntervalMs),this.pull(!0))}stop(){this.started&&(this.started=!1,this.idleMode=!1,this.flushTimer!=null&&(window.clearInterval(this.flushTimer),this.flushTimer=null),this.pullTimer!=null&&(window.clearInterval(this.pullTimer),this.pullTimer=null),this.visibilityListener&&typeof document<"u"&&(document.removeEventListener("visibilitychange",this.visibilityListener),this.visibilityListener=null),this.flush(!0))}markDirty(){this.dirty=!0}syncNow(t){let n=t?.push!==!1,r=t?.pull!==!1;n&&this.flush(!0),r&&this.pull(!0)}syncPullFirst(){(async()=>(await this.pull(!0),await this.flush(!0)))()}pullNow(t=!0){this.pull(!!t)}enterIdleMode(){this.idleMode||(this.idleMode=!0,this.flushTimer!=null&&(window.clearInterval(this.flushTimer),this.flushTimer=null),this.pullTimer!=null&&(window.clearInterval(this.pullTimer),this.pullTimer=null),this.started&&(this.pullTimer=window.setInterval(()=>{this.shouldSync()&&this.pull(!1)},this.idlePullIntervalMs)))}enterActiveMode(){this.idleMode&&(this.idleMode=!1,this.started&&(this.flushTimer==null&&(this.flushTimer=window.setInterval(()=>{this.shouldSync()&&this.flush(!1)},this.flushIntervalMs)),this.pullTimer==null&&(this.pullTimer=window.setInterval(()=>{this.shouldSync()&&this.pull(!1)},this.pullIntervalMs))))}getActiveEndpoint(){return this.endpointCandidates.length?this.endpointCandidates[this.endpointIndex]||this.endpoint:this.endpoint}rotateEndpoint(){this.endpointCandidates.length<=1||(this.endpointIndex=(this.endpointIndex+1)%this.endpointCandidates.length,this.endpoint=this.endpointCandidates[this.endpointIndex]||this.endpoint)}async requestJson(t,n){let r=Math.max(1,this.endpointCandidates.length||1),o;for(let a=0;a<r;a+=1){let i=(this.endpointIndex+a)%r,s=this.endpointCandidates[i]||this.endpoint;try{let c=await fetch(`${s}${t}`,n),l=await c.json().catch(()=>{});if(c.status===404||c.status===405){o=ka(`Checkpoint endpoint unavailable at ${s}${t}`,{status:c.status,payload:l});continue}return this.endpointIndex=i,this.endpoint=s,{response:c,payload:l}}catch(c){o=c}}throw o instanceof Error?o:ka(`Checkpoint request failed for ${t}`)}async flush(t){if(this.pushInFlight||this.idleMode||this.state==="paused_auth"||!t&&!this.shouldSync()||!this.dirty&&!t||!this.shouldWrite()||!t&&Date.now()-this.lastFlushAt<this.minFlushIntervalMs)return;let n=this.buildCheckpoint();if(!n)return;let r=rv(n);if(n.digest=r,!t&&r===this.lastUploadedRevision){this.dirty=!1;return}this.pushInFlight=!0;try{let o=await this.callCheckpointApi("session_snapshot_upsert",{siteId:this.siteId,visitorId:this.visitorId,sessionId:n.sessionId,ttlHours:this.ttlHours,updatedAt:n.updatedAt,checkpoint:n});this.lastFlushAt=Date.now(),o?.saved&&(this.dirty=!1,this.lastUploadedRevision=r),o?.stale&&o?.checkpoint&&typeof o.checkpoint=="object"&&(this.applyRemoteCheckpoint(o.checkpoint,"push_stale"),this.dirty=!1),this.setState("active")}catch(o){this.handleCheckpointError(o,"session_snapshot_upsert")}finally{this.pushInFlight=!1}}async pull(t){if(!this.pullInFlight&&this.state!=="paused_auth"&&!(!t&&!this.shouldSync())&&!(!t&&Date.now()-this.lastPullAt<this.pullIntervalMs)){this.pullInFlight=!0;try{let n=await this.callCheckpointApi("session_projection_get",{siteId:this.siteId,visitorId:this.visitorId,sessionId:this.buildCheckpoint()?.sessionId});if(this.lastPullAt=Date.now(),!n?.found||!n?.checkpoint||typeof n.checkpoint!="object")return;this.applyRemoteCheckpoint(n.checkpoint,"pull"),this.setState("active")}catch(n){this.handleCheckpointError(n,"session_projection_get")}finally{this.pullInFlight=!1}}}applyRemoteCheckpoint(t,n){let r=Math.max(0,Math.floor(xi(t?.updatedAt,0))),o=String(t?.digest||"").trim()||rv(t);r<=this.lastAppliedRemoteUpdatedAt&&(!o||o===this.lastAppliedRemoteDigest)||(this.lastAppliedRemoteUpdatedAt=r,o&&(this.lastAppliedRemoteDigest=o),this.onCheckpoint(t,n))}async callCheckpointApi(t,n){return this.callRoverV2(t,n)}async callRoverV2(t,n){let r=this.getToken();if(t==="session_snapshot_upsert"){let c=JSON.stringify({requestNonce:k_(),sessionToken:r,sessionId:n?.sessionId,visitorId:n?.visitorId,ttlHours:n?.ttlHours,updatedAt:n?.updatedAt,version:n?.checkpoint?.version||n?.version||1,checkpoint:n?.checkpoint});if(c.length>this.maxSnapshotBytes)throw ka("Checkpoint snapshot exceeds maxSnapshotBytes limit.",{action:t,size:c.length,maxSnapshotBytes:this.maxSnapshotBytes,code:"SNAPSHOT_TOO_LARGE"});let l=c.length<6e4,{response:d,payload:m}=await this.requestJson("/snapshot",{method:"POST",headers:{"Content-Type":"text/plain"},keepalive:l,body:c});if(!d.ok||!m?.success)throw ka(`Checkpoint HTTP ${d.status}`,{action:t,status:d.status,payload:m});return{saved:!!m?.data?.saved,stale:m?.data?.stale===!0,checkpoint:m?.data?.checkpoint,updatedAt:Number(m?.data?.updatedAt)||void 0}}let o=new URLSearchParams({sessionId:String(n?.sessionId||""),sessionToken:r,includeSnapshot:"true"}),{response:a,payload:i}=await this.requestJson(`/state?${o.toString()}`,{method:"GET"});if(!a.ok||!i?.success)throw ka(`Checkpoint HTTP ${a.status}`,{action:t,status:a.status,payload:i});let s=i?.data?.projection?.snapshot??i?.data?.snapshot;return{found:!!s,checkpoint:s}}setState(t,n){this.state!==t&&(this.state=t,this.onStateChange?.(t,n||{}))}handleCheckpointError(t,n){let r=this.normalizeCheckpointError(t),o=this.isAuthFailure(r);o&&this.setState("paused_auth",{reason:"auth_failed",action:n,code:r.code,message:r.message}),this.onError?.(t,{action:n,state:this.state,code:r.code,message:r.message,status:r.status,paused:o})}normalizeCheckpointError(t){let n=t,r=n?.details,o=r?.payload||r?.response||r,a=o?.errorCode||o?.errorDetails?.code||o?.error?.code||o?.code,i=o?.error||o?.errorDetails?.message||o?.error?.message||n?.message||"Checkpoint request failed",s=Number(r?.status);return{code:typeof a=="string"?a:void 0,message:h_(i,1e3),status:Number.isFinite(s)?s:void 0}}isAuthFailure(t){let n=String(t.code||"").toUpperCase();return n==="INVALID_API_KEY"||n==="MISSING_API_KEY"||n==="UNAUTHENTICATED"||n==="PERMISSION_DENIED"?!0:t.status===401||t.status===403}};var x_="rover-runtime-state-db",ed="runtime-state",Hp=class{read(t){try{let n=window.sessionStorage.getItem(t);return n?JSON.parse(n):null}catch{return null}}write(t,n){try{window.sessionStorage.setItem(t,JSON.stringify(n))}catch{}}remove(t){try{window.sessionStorage.removeItem(t)}catch{}}},zp=class{constructor(){U(this,"dbPromise",null)}openDb(){return this.dbPromise?this.dbPromise:(this.dbPromise=new Promise((t,n)=>{if(typeof indexedDB>"u"){n(new Error("indexedDB unavailable"));return}let r=indexedDB.open(x_,1);r.onupgradeneeded=()=>{let o=r.result;o.objectStoreNames.contains(ed)||o.createObjectStore(ed)},r.onsuccess=()=>{t(r.result)},r.onerror=()=>{n(r.error||new Error("indexedDB open failed"))}}).catch(t=>{throw this.dbPromise=null,t}),this.dbPromise)}async withStore(t,n){let r=await this.openDb();return new Promise((o,a)=>{let i=r.transaction(ed,t),s=i.objectStore(ed);n(s,o,a),i.onerror=()=>{a(i.error||new Error("indexedDB transaction failed"))}})}async read(t){try{return await this.withStore("readonly",(n,r,o)=>{let a=n.get(t);a.onsuccess=()=>{let i=a.result;r(i??null)},a.onerror=()=>{o(a.error||new Error("indexedDB read failed"))}})}catch{return null}}async write(t,n){await this.withStore("readwrite",(r,o,a)=>{let i=r.put(n,t);i.onsuccess=()=>o(),i.onerror=()=>{a(i.error||new Error("indexedDB write failed"))}}).catch(()=>{})}async remove(t){await this.withStore("readwrite",(n,r,o)=>{let a=n.delete(t);a.onsuccess=()=>r(),a.onerror=()=>{o(a.error||new Error("indexedDB delete failed"))}}).catch(()=>{})}};function av(){let e=new Hp,t=new zp;return{readSync:n=>e.read(n),readSyncAny:n=>{for(let r of n){if(!r)continue;let o=e.read(r);if(o)return o}return null},readAsync:async n=>t.read(n),readAsyncAny:async n=>{for(let r of n){if(!r)continue;let o=await t.read(r);if(o)return o}return null},write:(n,r)=>{e.write(n,r),t.write(n,r)},remove:n=>{e.remove(n),t.remove(n)}}}function iv(e){if(typeof e=="string"){let n=String(e||"").trim().slice(0,4e3);return n?{role:"model",message:n}:null}if(!e||typeof e!="object")return null;let t=String(e.message||"").trim().slice(0,4e3);return t?{role:"model",message:t}:null}function sv(e){let t=e.normalizeTaskBoundaryId||(n=>String(n||"").trim()||void 0);return{taskId:String(e.taskId||"").trim()||void 0,runId:typeof e.msg?.runId=="string"?e.msg.runId:void 0,taskBoundaryId:typeof e.msg?.taskBoundaryId=="string"?t(e.msg.taskBoundaryId):t(e.currentTaskBoundaryId),text:typeof e.msg?.text=="string"?e.msg.text:void 0,startedAt:e.now||Date.now(),pageUrl:e.pageUrl}}function cv(e){let t=e.normalizeTaskBoundaryId||(s=>String(s||"").trim()||void 0),n=typeof e.msg?.runId=="string"&&e.msg.runId.trim()?e.msg.runId.trim():void 0,r=e.completionState.terminalState==="waiting_input"?"waiting_input":e.completionState.terminalState,o=String(e.msg?.summary||e.msg?.message||e.msg?.result?.summary||e.latestSummary||"").trim()||void 0,a=String(e.msg?.error||e.msg?.result?.error||"").trim()||void 0,i=r==="completed"?"success":r==="failed"?"failure":e.completionState.needsUserInput||r==="in_progress"?"partial":"abandoned";return{taskId:String(e.taskId||"").trim()||void 0,runId:n,taskBoundaryId:typeof e.msg?.taskBoundaryId=="string"?t(e.msg.taskBoundaryId):t(e.currentTaskBoundaryId),terminalState:r,continuationReason:e.completionState.continuationReason,taskComplete:e.completionState.taskComplete,needsUserInput:e.completionState.needsUserInput,summary:o,error:a,ok:e.msg?.ok!==!1,questions:e.completionState.questions,endedAt:e.now||Date.now(),outcome:i,pageUrl:e.pageUrl}}var w_="rover_xdr_",dv=300;function uv(e){return sr(e)}function pv(e){let t=Vn(e);return!(!t||t==="localhost"||Vu(t))}function Fp(e){return`${w_}${e.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,40)}`}function td(e){let t=String(e||"").trim();if(!t)return"";try{let n=new URL(t,window.location.href);return n.hash="",n.toString()}catch{return t}}function lv(e){let t=String(e||"").trim();return!t||t==="/"?"/":t.replace(/\/\/+/g,"/").replace(/\/+$/,"")||"/"}function T_(e,t){let n=new Set;for(let[r]of e.entries())n.add(r);for(let r of n){let o=e.getAll(r);if(!o.length)continue;let a=t.getAll(r);if(!a.length)return!1;let i=new Map;for(let s of a)i.set(s,(i.get(s)||0)+1);for(let s of o){let c=i.get(s)||0;if(c<=0)return!1;i.set(s,c-1)}}return!0}function jp(e,t){let n=td(e),r=td(t);if(!n||!r)return!1;try{let o=new URL(n,window.location.href),a=new URL(r,window.location.href);return o.origin.toLowerCase()!==a.origin.toLowerCase()||lv(o.pathname)!==lv(a.pathname)?!1:T_(o.searchParams,a.searchParams)}catch{return n===r}}function fv(e,t){try{let n=Fp(e),r=uv(window.location.hostname),o=encodeURIComponent(JSON.stringify(t)),a=window.location.protocol==="https:",i=[`${n}=${o}`,"path=/",`max-age=${dv}`,"SameSite=Lax"];pv(r)&&i.push(`domain=.${r}`),a&&i.push("Secure"),document.cookie=i.join("; ")}catch{}}function qp(e,t){try{let n=Fp(e),r=document.cookie.split(";"),o=Math.max(1e3,Number(t?.maxAgeMs)||dv*1e3),a=td(t?.currentUrl||window.location.href),i=Vn(t?.currentHost||window.location.hostname||""),s=String(t?.expectedHandoffId||"").trim(),c=t?.requireTargetMatch!==!1;for(let l of r){let[d,...m]=l.trim().split("=");if(d===n){let f=m.join("="),p=JSON.parse(decodeURIComponent(f));if(!p.timestamp||Date.now()-p.timestamp>=o)continue;let g=String(p.handoffId||p.handoff?.handoffId||"").trim();if(!g||s&&g!==s)continue;if(c){let y=td(p.targetUrl||p.handoff?.targetUrl||"");if(!y||!a||!jp(y,a))continue}if(p.sourceHost){let y=Vn(p.sourceHost||"");if(y&&i&&y===i&&!s)continue}if(p.sessionId&&typeof p.sessionId=="string")return p}}}catch{}return null}function Fs(e){try{let t=Fp(e),n=uv(window.location.hostname),r=window.location.protocol==="https:",o=[`${t}=`,"path=/","max-age=0","SameSite=Lax"];pv(n)&&o.push(`domain=.${n}`),r&&o.push("Secure"),document.cookie=o.join("; ")}catch{}}function We(e){return String(e||"").trim()||void 0}function S_(e){let t=We(e.incomingBoundaryId),n=We(e.currentBoundaryId);return!t||t===n?!1:n?e.taskEpochAdvanced===!0&&e.hasPendingRun!==!0:e.allowBootstrapAdoption!==!1}function mv(e){let t=We(e.incomingBoundaryId),n=We(e.currentBoundaryId);return t&&n&&t===n?{accept:!0,reason:"match"}:t?S_(e)?{accept:!0,adoptedBoundaryId:t,reason:n?"epoch_adopt":"bootstrap_adopt"}:{accept:!1,reason:"mismatch"}:!n&&e.allowBootstrapAdoption!==!1?{accept:!0,reason:"bootstrap_adopt"}:{accept:!1,reason:"missing_incoming"}}function __(){return[{kind:"create_task"},{kind:"rotate_boundary"},{kind:"assign_worker"}]}function $p(){return[{kind:"release_worker"},{kind:"clear_run"}]}function nd(){return[{kind:"release_worker"},{kind:"clear_run"}]}function xa(){return[{kind:"archive_task"},{kind:"clear_run"},{kind:"clear_worker_state"}]}var E_={idle:{START:{to:"running",sideEffects:()=>__()}},running:{AGENT_PROGRESS:{to:"running",sideEffects:()=>[{kind:"update_timestamps",ts:Date.now()}]},NAVIGATION_STARTED:{to:"running",sideEffects:e=>[{kind:"record_navigation",targetUrl:e.targetUrl,isCrossHost:e.isCrossHost},{kind:"update_timestamps",ts:Date.now()}]},NAVIGATION_COMPLETED:{to:"running",sideEffects:()=>[{kind:"clear_navigation"},{kind:"update_timestamps",ts:Date.now()}]},ASK_USER:{to:"awaiting_user",sideEffects:e=>[{kind:"set_pending_questions",questions:e.questions||[]}]},PAUSE:{to:"paused",sideEffects:()=>[{kind:"snapshot_worker_state"},{kind:"release_worker"}]},BLOCK:{to:"blocked",sideEffects:e=>[{kind:"record_block_reason",reason:e.reason},{kind:"notify_agent_blocked"}]},COMPLETE:{to:"completed",sideEffects:()=>$p()},FAIL:{to:"failed",sideEffects:e=>[...$p(),{kind:"emit_error",error:e.error}]},CANCEL:{to:"cancelled",sideEffects:()=>nd()},RESET:{to:"idle",sideEffects:()=>xa()}},awaiting_user:{USER_RESPONDED:{to:"running",sideEffects:()=>[{kind:"clear_questions"}]},PAUSE:{to:"paused",sideEffects:()=>[{kind:"snapshot_worker_state"},{kind:"release_worker"}]},CANCEL:{to:"cancelled",sideEffects:()=>nd()},RESET:{to:"idle",sideEffects:()=>xa()}},paused:{RESUME:{to:"running",sideEffects:()=>[{kind:"restore_snapshot"},{kind:"assign_worker"}]},CANCEL:{to:"cancelled",sideEffects:()=>nd()},RESET:{to:"idle",sideEffects:()=>xa()}},blocked:{UNBLOCK:{to:"running",sideEffects:()=>[{kind:"resume_from_block"}]},CANCEL:{to:"cancelled",sideEffects:()=>nd()},FAIL:{to:"failed",sideEffects:e=>[...$p(),{kind:"emit_error",error:e.error}]},RESET:{to:"idle",sideEffects:()=>xa()}},completed:{RESET:{to:"idle",sideEffects:()=>xa()}},failed:{RESET:{to:"idle",sideEffects:()=>xa()}},cancelled:{RESET:{to:"idle",sideEffects:()=>xa()}}};function I_(e,t,n){let o=E_[e]?.[t.type];if(!o)return{next:e,rejected:!0,rejectedReason:`Invalid transition: ${e} + ${t.type}`,sideEffects:[]};let a=o.to;return e==="paused"&&t.type==="RESUME"&&n?.prePauseState==="awaiting_user"&&(a="awaiting_user"),{next:a,rejected:!1,sideEffects:o.sideEffects(t,n)}}function js(e){return e==="completed"||e==="failed"||e==="cancelled"}function hv(e){switch(e){case"idle":return"running";case"running":return"running";case"awaiting_user":return"running";case"paused":return"running";case"blocked":return"running";case"completed":return"completed";case"failed":return"failed";case"cancelled":return"cancelled";default:return"running"}}function qs(e,t){if(!e)return"idle";switch(e){case"running":{let n=String(t||"").trim().toLowerCase();return n.includes("waiting_for_input")||n.includes("awaiting_user")?"awaiting_user":"running"}case"completed":return"completed";case"cancelled":return"cancelled";case"failed":return"failed";case"ended":return"cancelled";default:return"idle"}}function gv(e,t){let n=I_(e.state,t,e);if(n.rejected)return{record:e,result:n};let r=Date.now(),o={...e,state:n.next};if(n.next==="paused"&&!o.pausedAt&&(o.pausedAt=r,o.prePauseState=e.state==="awaiting_user"?"awaiting_user":"running"),n.next==="blocked"){o.blockedAt=r;let a=t;o.blockReason=a.reason}return n.next==="running"&&e.state==="paused"&&(o.pausedAt=void 0,o.prePauseState=void 0),n.next==="running"&&e.state==="blocked"&&(o.blockedAt=void 0,o.blockReason=void 0),n.next==="running"&&e.state==="awaiting_user"&&(o.pausedAt=void 0,o.prePauseState=void 0),js(n.next)&&(o.endedAt=r),t.type==="COMPLETE"&&t.summary&&(o.summary=t.summary),t.type==="RESET"&&(o.pausedAt=void 0,o.prePauseState=void 0,o.blockedAt=void 0,o.blockReason=void 0,o.endedAt=void 0),{record:o,result:n}}function Vp(e){let t=Date.now(),n=e?.taskId||R_(),r=e?.boundaryId||A_();return{taskId:n,state:"idle",boundaryId:r,startedAt:t,uiMessages:[],timeline:[],seedChatLog:[],tabIds:[],...e}}function R_(){return`task_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function A_(){return`bnd_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function rd(e){return e==="running"}function bv(e){return e.resumeRequired?e.hasLiveRemoteController?"defer_remote_owner":e.policy==="never"?"cancel_resume":e.policy==="confirm"?"prompt_resume":"auto_resume":"noop"}function yv(e){let t=We(e.currentTaskBoundaryId),n=We(e.localPendingTaskBoundaryId),r=We(e.candidateTaskBoundaryId);return!(!n||t&&n!==t||r&&r!==(t||n))}function vv(e){let t=String(e.serverRunId||"").trim();if(!t||e.taskStatus!=="running"||e.ignoredRunIds?.has(t))return!1;let n=String(e.localPendingRunId||"").trim();return!n||n!==t?!1:yv({currentTaskBoundaryId:e.currentTaskBoundaryId,localPendingTaskBoundaryId:e.localPendingTaskBoundaryId})}function kv(e){let t=String(e.serverRunId||"").trim();if(!t||!e.ignoredRunIds?.has(t))return!1;let n=String(e.runStatus||"").trim().toLowerCase();return!(n==="completed"||n==="cancelled"||n==="failed"||n==="ended")}function Wp(e){if(e.taskStatus!=="running")return!1;let t=String(e.candidateRunId||"").trim(),n=String(e.localPendingRunId||"").trim();return!t||!String(e.candidateRunText||"").trim()||!n||e.ignoredRunIds?.has(t)||n!==t?!1:yv({currentTaskBoundaryId:e.currentTaskBoundaryId,localPendingTaskBoundaryId:e.localPendingTaskBoundaryId,candidateTaskBoundaryId:e.candidateTaskBoundaryId})}function Gp(e){return!!(e.localTaskStatus!=="running"||e.remoteTaskStatus&&e.remoteTaskStatus!=="running"||e.mode==="observer"&&!e.hasRemoteActiveRun)}function xv(e){let{type:t,messageRunId:n,messageTaskBoundaryId:r,currentTaskBoundaryId:o,pendingRunId:a,sharedActiveRunId:i,authoritativeActiveRunId:s,taskStatus:c,ignoredRunIds:l}=e,d=We(o),m=We(r),f=t==="run_state_transition"||t==="run_completed";if(d&&(m&&m!==d||(t==="run_started"||t==="run_resumed"||f)&&!m&&!(f&&!!n&&!!a&&n===a&&c==="running")))return!0;if(!n&&t!=="run_started"&&t!=="run_resumed")return!1;if(n&&l?.has(n))return!0;let y=s||i;return t==="run_started"||t==="run_resumed"?!n||y&&y===n?!1:a?a!==n&&(!y||y!==n):!0:n?t==="run_completed"||t==="run_state_transition"?c!=="running"?!0:a?a!==n&&(!y||y!==n):!(y&&y===n):a?a!==n:!0:!1}function C_(e){return Math.max(1,Number(e)||1)}function M_(e){if(!e)return"idle";if(e.status!=="running")return"terminal";let t=String(e.boundaryReason||"").trim().toLowerCase();return t.includes("waiting_for_input")||t.includes("awaiting_user")?"awaiting_user":"running"}function Kp(e){return e==="completed"||e==="cancelled"||e==="failed"||e==="ended"}function wv(e,t,n){let r=Number(t.at)||Date.now(),o=String(t.reason||"kernel").trim()||"kernel",a=C_(e.taskEpoch),i=e.task||n.createTask(o,r,t.taskId);if(t.type==="new_task")return{task:n.createTask(o,r,t.taskId),taskEpoch:a+1,lifecycle:"running",rotateBoundary:!0,clearPendingRun:!0,clearWorkerState:!0};if(t.type==="terminal"){let l=t.terminal;return{task:{...i,status:l,boundaryReason:o,endedAt:r},taskEpoch:a,lifecycle:"terminal",rotateBoundary:!1,clearPendingRun:!0,clearWorkerState:!0}}let c={...i,status:"running",boundaryReason:o,endedAt:void 0};return!c.lastUserAt&&!c.lastAssistantAt&&(c.lastAssistantAt=r),{task:c,taskEpoch:a,lifecycle:t.type==="awaiting_user"?"awaiting_user":M_(c),rotateBoundary:!1,clearPendingRun:!1,clearWorkerState:!1}}function $s(e){return Array.isArray(e)?e.length:0}function Xp(e){return String(e||"").trim()||void 0}function Tv(e){return String(e||"").trim()||void 0}function Sv(e){if(!e)return 0;let t=0;String(e.pendingRun?.id||"").trim()&&(t+=4,e.pendingRun?.resumeRequired&&(t+=1),Xp(e.pendingRun?.taskBoundaryId)&&(t+=1)),e.activeTask?.status==="running"&&(t+=2);let r=e.workerState;return r&&(t+=1,String(r.rootUserInput||"").trim()&&(t+=1),t+=Math.min(3,$s(r.history)),t+=Math.min(3,$s(r.plannerHistory)),t+=Math.min(4,$s(r.agentPrevSteps)),$s(r.pendingAskUser?.questions)>0&&(t+=3)),$s(e.taskTabScope?.touchedTabIds)>0&&(t+=1),t}function Yp(e){let t=Tv(e.localState.pendingRun?.id),n=Tv(e.incomingState.pendingRun?.id),r=Xp(e.localState.pendingRun?.taskBoundaryId||e.localState.workerState?.taskBoundaryId),o=Xp(e.incomingState.pendingRun?.taskBoundaryId||e.incomingState.workerState?.taskBoundaryId);return{localRunId:t,incomingRunId:n,exactRunMatch:!!(t&&n&&t===n),localBoundaryId:r,incomingBoundaryId:o,exactBoundaryMatch:!!(r&&o&&r===o),localScore:Sv(e.localState),incomingScore:Sv(e.incomingState)}}function Jp(e){let t=Math.max(0,Number(e.clockSkewMs)||200);if(e.incomingUpdatedAt>e.localUpdatedAt+t)return!0;if(!e.crossDomainResumeActive)return!1;let n=Yp({localState:e.localState,incomingState:e.incomingState});if(n.incomingScore<=n.localScore)return!1;if(n.localBoundaryId&&n.incomingBoundaryId&&n.localBoundaryId!==n.incomingBoundaryId){let o=Math.max(1,Number(e.localState.taskEpoch)||1);if(Math.max(1,Number(e.incomingState.taskEpoch)||1)<o)return!1}return!!(n.exactRunMatch||n.exactBoundaryMatch||!!!(n.localRunId||n.localBoundaryId))}function Vr(e){return String(e||"").trim()||void 0}function Qp(e){return e==="preserve_if_running"}function _v(e,t){let n=Vr(t.boundaryId),r=Vr(t.runId),o=Vr(t.taskId),a=Array.from(e);if(n){let i=a.find(s=>Vr(s.boundaryId)===n);if(i)return i}if(r){let i=a.find(s=>Vr(s.pendingRun?.id)===r);if(i)return i}if(o){let i=a.find(s=>Vr(s.taskId)===o);if(i)return i}}function Ev(e){let t=Vr(e.localPendingRunId);if(t)return t;let n=Vr(e.sharedActiveRunId);if(!n)return;let r=Vr(e.sharedTaskId),o=Vr(e.activeTaskId);if(!(r&&o&&r!==o))return n}var od=class{constructor(t){U(this,"maxWorkers");U(this,"maxQueue");U(this,"activeWorkers",new Map);U(this,"queue",[]);U(this,"onWorkerFreed");this.maxWorkers=Math.min(Math.max(1,Number(t?.maxWorkers)||1),2),this.maxQueue=Math.max(1,Number(t?.maxQueue)||3),this.onWorkerFreed=t?.onWorkerFreed}acquire(t,n){if(this.activeWorkers.has(t))return this.activeWorkers.get(t);if(this.removeFromQueue(t),this.activeWorkers.size<this.maxWorkers){let r=new Worker(n.workerUrl,n.workerOptions);return this.activeWorkers.set(t,r),r}return this.queue.length>=this.maxQueue&&this.queue.shift(),this.queue.push(t),null}release(t){let n=this.activeWorkers.get(t);if(n){try{n.terminate()}catch{}this.activeWorkers.delete(t)}this.removeFromQueue(t),this.dequeueNext()}getWorker(t){return this.activeWorkers.get(t)}getActiveCount(){return this.activeWorkers.size}isQueued(t){return this.queue.includes(t)}getQueuedTasks(){return[...this.queue]}getActiveTasks(){return Array.from(this.activeWorkers.keys())}shutdown(){for(let[,t]of this.activeWorkers)try{t.terminate()}catch{}this.activeWorkers.clear(),this.queue=[]}removeFromQueue(t){let n=this.queue.indexOf(t);n>=0&&this.queue.splice(n,1)}dequeueNext(){if(this.queue.length===0||this.activeWorkers.size>=this.maxWorkers)return;let t=this.queue.shift();t&&this.onWorkerFreed&&this.onWorkerFreed(t)}};var N_=10,L_=8,D_=12,Iv=40,Rv=60,P_=5*6e4,O_=5,wi=class e{constructor(t){U(this,"tasks",new Map);U(this,"activeTaskId");U(this,"taskOrder",[]);U(this,"workerPool");U(this,"maxArchivedTasks");U(this,"tabToTask",new Map);this.workerPool=new od({maxWorkers:t?.maxConcurrentWorkers,maxQueue:t?.maxQueuedTasks,onWorkerFreed:n=>this.onWorkerSlotFreed(n)}),this.maxArchivedTasks=Math.max(1,Number(t?.maxArchivedTasks)||N_)}createTask(t,n){let r=Vp(n);return this.tasks.set(r.taskId,r),this.taskOrder.push(r.taskId),r}dispatch(t,n){let r=this.tasks.get(t);if(!r)return{accepted:!1,task:Vp({taskId:t}),sideEffects:[],rejectedReason:`Task ${t} not found`};let{record:o,result:a}=gv(r,n);return a.rejected||this.tasks.set(t,o),{accepted:!a.rejected,task:a.rejected?r:o,sideEffects:a.sideEffects,rejectedReason:a.rejectedReason}}switchActiveTask(t){let n=this.tasks.get(t);if(!n)return;let r=this.getActiveTask();return this.activeTaskId=t,n}getActiveTask(){if(this.activeTaskId)return this.tasks.get(this.activeTaskId)}getActiveTaskId(){return this.activeTaskId}listTasks(){return this.taskOrder.map(t=>this.tasks.get(t)).filter(t=>!!t)}getTask(t){return this.tasks.get(t)}hasTask(t){return this.tasks.has(t)}getTaskCount(){return this.tasks.size}updateTask(t,n){let r=this.tasks.get(t);if(!r)return;let o=n(r);return this.tasks.set(t,o),o}updateScrollPosition(t,n){let r=this.tasks.get(t);r&&this.tasks.set(t,{...r,scrollPosition:n})}assignWorker(t,n){let r=this.workerPool.acquire(t,n);if(r){let o=this.tasks.get(t);o&&this.tasks.set(t,{...o,workerId:t})}return r}releaseWorker(t){this.workerPool.release(t);let n=this.tasks.get(t);n&&this.tasks.set(t,{...n,workerId:void 0})}getWorker(t){return this.workerPool.getWorker(t)}getQueuedTasks(){return this.workerPool.getQueuedTasks()}isTaskQueued(t){return this.workerPool.isQueued(t)}onWorkerSlotFreed(t){}mapTabToTask(t,n){this.tabToTask.set(t,n);let r=this.tasks.get(n);r&&!r.tabIds.includes(t)&&this.tasks.set(n,{...r,tabIds:[...r.tabIds,t]})}getTaskForTab(t){let n=this.tabToTask.get(t);if(n)return this.tasks.get(n)}getTaskByBoundaryId(t){for(let n of this.tasks.values())if(n.boundaryId===t)return n}archiveTask(t){let n=this.tasks.get(t);if(!n)return;let r={...n,uiMessages:n.uiMessages.slice(-L_),timeline:n.timeline.slice(-D_),transientStatus:void 0,workerState:void 0,pendingRun:void 0};this.tasks.set(t,r),this.workerPool.release(t)}pruneArchivedTasks(){let t=[];for(let n of this.taskOrder){let r=this.tasks.get(n);r&&js(r.state)&&t.push(n)}for(;t.length>this.maxArchivedTasks;){let n=t.shift();this.tasks.delete(n),this.taskOrder=this.taskOrder.filter(r=>r!==n);for(let[r,o]of this.tabToTask)o===n&&this.tabToTask.delete(r)}}deleteTask(t){if(!this.tasks.has(t))return!1;this.workerPool.release(t),this.tasks.delete(t),this.taskOrder=this.taskOrder.filter(n=>n!==t);for(let[n,r]of this.tabToTask)r===t&&this.tabToTask.delete(n);return this.activeTaskId===t&&(this.activeTaskId=this.taskOrder.length>0?this.taskOrder[this.taskOrder.length-1]:void 0),!0}toPersistedState(){let t={};for(let[n,r]of this.tasks)t[n]=r;return{tasks:t,activeTaskId:this.activeTaskId,taskOrder:[...this.taskOrder]}}static fromPersistedState(t,n){let r=new e(n);if(t.tasks&&typeof t.tasks=="object"){for(let[o,a]of Object.entries(t.tasks))if(a&&typeof a=="object"&&a.taskId&&(r.tasks.set(o,a),Array.isArray(a.tabIds)))for(let i of a.tabIds)r.tabToTask.set(i,o)}return r.taskOrder=Array.isArray(t.taskOrder)?t.taskOrder.filter(o=>r.tasks.has(o)):Array.from(r.tasks.keys()),r.activeTaskId=t.activeTaskId&&r.tasks.has(t.activeTaskId)?t.activeTaskId:r.taskOrder.length>0?r.taskOrder[r.taskOrder.length-1]:void 0,r}static fromV1State(t,n){let r=new e(n);if(t.activeTask){let o=qs(t.activeTask.status,t.activeTask.boundaryReason),a={taskId:t.activeTask.taskId,state:o,boundaryId:t.workerState?.taskBoundaryId||t.pendingRun?.taskBoundaryId||`bnd_migrated_${Date.now().toString(36)}`,startedAt:t.activeTask.startedAt,endedAt:t.activeTask.endedAt,lastUserAt:t.activeTask.lastUserAt,lastAssistantAt:t.activeTask.lastAssistantAt,uiMessages:Array.isArray(t.uiMessages)?[...t.uiMessages]:[],timeline:Array.isArray(t.timeline)?[...t.timeline]:[],workerState:t.workerState?{...t.workerState}:void 0,pendingRun:t.pendingRun?{...t.pendingRun}:void 0,tabScope:t.taskTabScope?{...t.taskTabScope}:void 0,rootUserInput:t.workerState?.rootUserInput,seedChatLog:t.workerState?.seedChatLog?[...t.workerState.seedChatLog]:[],transientStatus:t.transientStatus?{...t.transientStatus}:void 0,tabIds:t.taskTabScope?.touchedTabIds?[...t.taskTabScope.touchedTabIds]:[]};r.tasks.set(a.taskId,a),r.taskOrder.push(a.taskId),r.activeTaskId=a.taskId;for(let i of a.tabIds)r.tabToTask.set(i,a.taskId)}return r}enforceMemoryCaps(){for(let[,t]of this.tasks)js(t.state)||(t.uiMessages.length>Iv&&(t.uiMessages=t.uiMessages.slice(-Iv)),t.timeline.length>Rv&&(t.timeline=t.timeline.slice(-Rv)))}terminateInactiveWorkers(){let t=Date.now(),n=[];for(let[r,o]of this.tasks){if(o.state!=="paused")continue;t-(o.pausedAt||t)>P_&&this.workerPool.getWorker(r)&&(this.workerPool.release(r),n.push(r))}return n}canCreateNewTask(t){if(t>O_)return{allowed:!1,reason:`Too many Rover tabs open (${t}). Close some tabs to create new tasks.`};let n=this.workerPool.getActiveCount(),r=this.workerPool.getQueuedTasks().length;return n>=2&&r>=3?{allowed:!1,reason:"Maximum parallel tasks reached. Complete or cancel a task first."}:{allowed:!0}}shutdown(){this.workerPool.shutdown(),this.tasks.clear(),this.taskOrder=[],this.tabToTask.clear(),this.activeTaskId=void 0}};var B_=[/\/login/i,/\/signin/i,/\/auth/i,/\/oauth/i,/\/password/i,/\/reset/i,/\/verify/i,/\/confirm/i,/\/account/i,/\/security/i,/\/2fa/i,/\/mfa/i],U_=[/data:/i,/javascript:/i,/vbscript:/i,/blob:/i],H_=[/token/i,/secret/i,/password/i,/apikey/i,/api_key/i,/access_token/i,/refresh_token/i,/session/i,/cookie/i,/credential/i],z_=/^(\d{1,3}\.){3}\d{1,3}$/;function Zp(e,t){let n=0,r=[],o;try{o=new URL(e)}catch{return{score:1,blocked:!1,reasons:["invalid_url"]}}for(let d of U_)if(d.test(e)){n+=3,r.push("exfiltration_scheme");break}z_.test(o.hostname)&&(n+=2,r.push("ip_address_host")),o.hostname.split(".").length>4&&(n+=1,r.push("excessive_subdomains"));let i=B_.filter(d=>d.test(o.pathname)).length;i>=2?(n+=2,r.push("multiple_credential_paths")):i===1&&(n+=1,r.push("credential_path"));let c=Array.from(o.searchParams.keys()).filter(d=>H_.some(m=>m.test(d))).length;return c>0&&(n+=Math.min(2,c),r.push("sensitive_query_params")),e.length>2e3&&(n+=1,r.push("excessive_url_length")),(e.match(/%[0-9A-Fa-f]{2}/g)||[]).length>20&&(n+=1,r.push("excessive_encoding")),o.port&&o.port!=="80"&&o.port!=="443"&&(n+=1,r.push("non_standard_port")),{score:n,blocked:n>=3,reasons:r}}function Av(e,t){return Zp(e,t).blocked}var Si,ad=null,Vs=!1,mr=32,Ti=4,F_="#6b6bff";function j_(){return document.querySelector('link[rel="icon"], link[rel="shortcut icon"]')}function Cv(){let e=document.createElement("link");return e.rel="icon",e.type="image/png",document.head.appendChild(e),e}function Mv(e=F_){if(Vs)return!0;try{let t=j_();t&&(Si=t.href,ad=t);let n=document.createElement("canvas");n.width=mr,n.height=mr;let r=n.getContext("2d");if(!r)return!1;let o=new Image;return o.crossOrigin="anonymous",o.onload=()=>{r.drawImage(o,0,0,mr,mr),r.beginPath(),r.arc(mr-Ti-1,mr-Ti-1,Ti,0,Math.PI*2),r.fillStyle=e,r.fill(),r.strokeStyle="#1a1a2e",r.lineWidth=1,r.stroke();let a=n.toDataURL("image/png"),i=t||Cv();i.href=a,Vs=!0},o.onerror=()=>{r.fillStyle="#1a1a2e",r.fillRect(0,0,mr,mr),r.fillStyle="#fff",r.font="bold 20px sans-serif",r.textAlign="center",r.textBaseline="middle",r.fillText("R",mr/2,mr/2),r.beginPath(),r.arc(mr-Ti-1,mr-Ti-1,Ti,0,Math.PI*2),r.fillStyle=e,r.fill();let a=n.toDataURL("image/png"),i=t||Cv();i.href=a,Vs=!0},Si?o.src=Si:o.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEAAAAALAAAAAABAAEAAAIBAAA=",!0}catch{return!1}}function Nv(){if(Vs){Vs=!1;try{ad&&Si&&(ad.href=Si),Si=void 0,ad=null}catch{}}}function Lv(e){if(e.crossRegistrableDomain&&!e.serverAvailable)return{decision:e.fallbackDecision,decisionReason:"preflight_unavailable_fallback",failSafeBlocked:!1};let t=e.serverDecision==="stale_run"?e.fallbackDecision:e.serverDecision||e.fallbackDecision;return{decision:t,decisionReason:t,failSafeBlocked:!1}}function Dv(e){let t=String(e.pendingRunText||"").trim();if(t)return t;let n=String(e.activeRunText||"").trim();if(n)return n;let r=String(e.rootWorkerInput||"").trim();if(r)return r;let o=String(e.lastUserInputText||"").trim();return o||String(e.fallback||"navigation request").trim()||"navigation request"}function id(e){let t=String(e||"").trim();if(t)try{return new URL(t).hostname.toLowerCase()}catch{return t.toLowerCase()}}function Pv(e){let t=String(e||"").trim();if(t)try{let n=new URL(t);return n.hash="",n.toString()}catch{return}}function q_(e){let t=Pv(e.targetUrl),n=id(e.targetUrl);if(!n)return!1;let r=Number(e.sourceLogicalTabId);return(e.knownTabs||[]).some(o=>{if(!Number.isFinite(Number(o.logicalTabId))||Number(o.logicalTabId)<=0||Number.isFinite(r)&&Number(o.logicalTabId)===r)return!1;let a=Pv(o.url);return t&&a&&a===t?!0:id(o.url)===n})}function $_(e){let t=Array.from(new Set((e.taskScopedTabIds||[]).map(r=>Number(r)).filter(r=>Number.isFinite(r)&&r>0))),n=Number(e.sourceLogicalTabId);return t.length>=2?!0:!Number.isFinite(n)||n<=0?!1:t.some(r=>r!==n)}function Ov(e){let t=id(e.targetUrl),n=id(e.currentHost||e.currentUrl);return t?xs({host:t,currentHost:n,allowedDomains:e.allowedDomains,domainScopeMode:e.domainScopeMode})?n&&t===n?e.preferredDisposition==="new_tab"?"open_new_tab":"allow_same_tab":e.crossHostPolicy==="open_new_tab"||e.preferredDisposition==="new_tab"||q_(e)||$_(e)?"open_new_tab":"allow_same_tab":e.externalNavigationPolicy==="block"?"block":e.externalNavigationPolicy==="allow"?"allow_same_tab":"open_new_tab":"allow_same_tab"}function Ws(e,t="tab_not_accessible"){let n=Number(e?.logicalTabId)||void 0,r=e?.url||"",o=e?.title||(e?.external?"External Tab (Inaccessible)":"Detached Runtime Tab (Unavailable)"),a=String(t||"").trim(),i=a?` Reason: ${a}.`:"",s=e?.external?`This external tab is tracked in virtual mode only. Live DOM control and accessibility-tree access are unavailable here.${i}`:`This tab is a detached runtime placeholder and is not attached to an active Rover runtime. Switch to an attached tab or reopen the page.${i}`;return{url:r,title:o,contentType:"text/html",content:s,metadata:{inaccessible:!0,external:!!e?.external,accessMode:e?.external?"external_placeholder":"detached_runtime_placeholder",roverAvailability:e?.roverAvailability||"unknown",reason:t,logicalTabId:n}}}function Gs(e,t,n="tab_not_accessible"){let r=Number(t?.logicalTabId)||0,o=t?.url||"",a=t?.external?`Tab ${r} is external to the active runtime and cannot be controlled directly.`:`Tab ${r} is not attached to an active Rover runtime.`,i=t?.external?"DOMAIN_SCOPE_BLOCKED":"TAB_NOT_ACCESSIBLE";return{success:!1,error:a,allowFallback:!0,output:{success:!1,error:{code:i,message:a,missing:[],next_action:t?.external?"External pages open in a new tab with notice. Switch to that tab or continue on an allowed Rover tab.":"Switch to an active tab and retry.",retryable:!1},blocked_url:o||void 0,logical_tab_id:r||void 0,external:!!t?.external,policy_action:t?.external?e.externalNavigationPolicy||"open_new_tab_notice":void 0,reason:n},errorDetails:{code:i,message:a,retryable:!1,details:{logicalTabId:r,blockedUrl:o,external:!!t?.external,reason:n}}}}function V_(e){if(e.startNewTask||!e.hasAskUserAnswers||e.taskStatus!=="running")return!1;let t=We(e.pendingAskUserBoundaryId),n=We(e.currentTaskBoundaryId);return t&&n&&t!==n?!1:(Math.max(0,Number(e.pendingAskUserQuestionCount)||0)<=0,!0)}function Bv(e){return!V_(e)}var W_=new Set(["a","an","and","are","as","at","be","by","for","from","how","i","in","is","it","of","on","or","that","the","this","to","was","what","when","where","who","why","with","you","your"]);function ef(e){return String(e||"").replace(/\s+/g," ").trim().slice(0,2e3)}function G_(e){if(!Array.isArray(e)||e.length===0)return[];let t=[];for(let n of e){if(!n||n.role!=="user"&&n.role!=="assistant")continue;let r=ef(n.text);if(!r)continue;if(n.role==="user"){t.push({user:r,ts:Number(n.ts)||0});continue}if(!t.length)continue;let o=t[t.length-1];o.assistant||(o.assistant=r,o.ts=Math.max(o.ts,Number(n.ts)||0))}return t}function Uv(e){let t=String(e||"").toLowerCase().split(/[^a-z0-9]+/g).map(n=>n.trim()).filter(n=>n.length>=2&&!W_.has(n));return new Set(t)}function K_(e,t){let n=Uv(e),r=Uv(t);if(!n.size||!r.size)return 0;let o=0;for(let i of n)r.has(i)&&(o+=1);let a=n.size+r.size-o;return a<=0?0:o/a}function Hv(e){if(e.mode!=="heuristic_same_window")return{reason:"mode_disabled",overlap:0};let t=e.previousTaskStatus;if(t!=="completed"&&t!=="ended"&&t!=="cancelled")return{reason:"status_ineligible",overlap:0};let n=G_(e.previousTaskMessages),r=ef(e.previousTaskUserInput),o=ef(e.previousTaskAssistantOutput),a=n.length?n:r&&o?[{user:r,assistant:o,ts:Number(e.previousTaskCompletedAt)||0}]:[];if(!a.some(p=>p.user))return{reason:"missing_previous_intent",overlap:0};if(!a.some(p=>p.assistant))return{reason:"missing_previous_output",overlap:0};let i=Math.max(0,Number(e.previousTaskCompletedAt)||0),s=Math.max(i,Number(e.now)||Date.now()),c=Math.max(1e3,Number(e.ttlMs)||0);if(!i||s-i>c)return{reason:"ttl_expired",overlap:0};let l=Math.max(0,Math.min(1,Number(e.minLexicalOverlap)||0)),d=a.map((p,g)=>{let y=K_(p.user,e.currentPrompt),x=a.length>1?g/(a.length-1)*.05:.05;return{...p,overlap:y,score:y+x,index:g}}).filter(p=>!!p.assistant);if(!d.length)return{reason:"missing_previous_output",overlap:0};let m=d.filter(p=>p.overlap>=l).sort((p,g)=>g.score!==p.score?g.score-p.score:g.index-p.index).slice(0,2).sort((p,g)=>p.index-g.index),f=d.reduce((p,g)=>Math.max(p,g.overlap),0);return m.length?{reason:"attached",overlap:f,chatLog:m.flatMap(p=>[{role:"user",message:p.user},{role:"model",message:p.assistant||""}])}:{reason:"low_lexical_overlap",overlap:f}}var Pf=2,Hd="rover:runtime:",X_="rover:runtime-id:",ck="rover:visitor-id:",kd=zt.uiMessages,xd=zt.timelineEvents,Of=zt.uiMessages,Y_=4,Bf=zt.plannerHistory,Uf=zt.prevSteps,J_=8e3,Q_=12,Z_=15*6e4,eE=2,tE=12e4,nE=.18,rE=30,oE=3600*24*365,lk=1,aE=3e3,iE=4500,sE=12e3,cE=30,wd=240,zv=5*6e4,Td=100,Sd=12,lE=80,dE=200,uE=2e3,pE=8,fE=240,mE=48,hE=2600,gE=800,bE=5e3,yE="rover:handoff-bootstrap:",dk=3e4,vE=12e4,kE=2500,xE=2*6e4,wE=45e3,TE=2e4,lc=400,SE=15e3,_E=7,EE=80,IE=2500,RE=250,AE=1e4,CE=400,tf=40,nf=1e3,ME=350,NE=1e4,dc=3e4,LE=20,DE=6,PE=12,OE=PE*1024*1024,zi="data-rover-agent-discovery",Bn="rover-agent-discovery-cue",uf="rover-agent-discovery-cue-style",An="rover-agent-discovery-landmark",Cn="rover-agent-discovery-actions",BE="AI ready",pf="AI-ready path available on this page",Fv="Alt+Shift+A",UE="rover:agent-discovery-changed",jv=28,qv=12,Fo=null,bt=null,at=null,ce=null,I=null,Un=null,vo=null,u=null,xo=null,vt="",O=null,$t=null,pd=null,Kn=[],fd=!1,Ci=!1,uk=0,ff=0,mf=0,_d=0,tc=!1,wo=null,HE=1500,zE=5e3,$v=1e4,Vv=1200,pk=new Set(["error","navigation_guardrail","checkpoint_error","tab_event_conflict_exhausted","voice_error","voice_permission_denied"]),FE=new Set(["ready","error","auth_required","navigation_guardrail","checkpoint_error","tab_event_conflict_exhausted","voice_error","voice_permission_denied"]),tn,Rr,Wo=!1,Aa=!1,nc=null,rc=null,gn=null,hf="",Fi=!1,Ei="",Dt="controller",vr=!1,ji=!1,Ir=!0,Lr=!1,Nn=!1,zn=!1,Kr=!1,wa=[],jE=3,Wv=1e4,Fe="",Vt=null,Lt=null,Hn=0,Oo=null,md=!1,gf=!1,bf=!1,yf=!1,qo=[],Mi=null,Ni=null,Ri="",_a="",Bo=null,Li=null,oc="",Qs="",Uo=null,Ea="",uc=null,Ke=null,Di=null,dn=!1,Go=!1,vf=!1;function Hf(e){if(!e||typeof e!="object")return;let t=typeof e.requestId=="string"?e.requestId.trim():"";if(!t)return;let n=e.executionTarget==="browser_attach"||e.executionTarget==="cloud_browser"?e.executionTarget:void 0,r=e.promptDispatchState==="pending"||e.promptDispatchState==="started"||e.promptDispatchState==="failed"?e.promptDispatchState:void 0;return{requestId:t,status:typeof e.status=="string"&&e.status.trim()||void 0,executionTarget:n,runId:typeof e.runId=="string"&&e.runId.trim()||void 0,promptDispatchState:r,attachedAt:Number(e.attachedAt)||void 0}}function fk(e=Ke){if(e)return Hf({requestId:e.requestId,status:e.status,executionTarget:e.executionTarget,runId:e.runId,promptDispatchState:e.promptDispatchState,attachedAt:e.attachCompletedAt})}function Ca(){u&&(u.launchBinding=fk(),Ze())}function mk(){return fk()||Hf(u?.launchBinding)}function Ma(e,t,n,r){e.addEventListener(t,n,r),qo.push({target:e,event:t,handler:n,options:r}),qo.length>100&&qo.length%50===0&&qE()}function qE(){for(let e=qo.length-1;e>=0;e--){let t=qo[e],n=t.target;if(n&&"isConnected"in n&&n.isConnected===!1){try{t.target.removeEventListener(t.event,t.handler,t.options)}catch{}qo.splice(e,1)}}}var Ed=null,Zs=0,$o=null,Pi,sd="",Tn,ac,ic=!1,Oi=null,Da,Qr,qi=0,$E=50,VE=100,WE=20,GE=3e5;function hk(e,t){for(;e.size>t;){let n=e.keys().next();if(n.done)break;e.delete(n.value)}}function KE(e,t){let n=e.values();for(;e.size>t;){let r=n.next();if(r.done)break;e.delete(r.value)}}var Xr=new Map,gr=new Set,Te=null,xn,Yr=0,ko=1,wc,pc="",se=null,Ho=null,fc=new Set,sc="",Ii="",zo=null,mc=null,kf=!1,XE=new Set(["run_started","run_state_transition","run_completed","assistant","status","tool_start","tool_result","runtime_tabs_diagnostics","auth_required","navigation_guardrail","error"]),xf={read:"rover_external_read_context",act:"rover_external_act_context"},hd=[],gd=new Map,Mn=new Map;function st(e,t){ct(e,t);let n=gd.get(e);if(n)for(let r of n)try{r(t)}catch{}}function gk(e){return iv(e)}async function YE(e){if(fc.size===0)return[];let t=[];for(let n of fc)try{let r=await n(e),o=Array.isArray(r)?r:r==null?[]:[r];for(let a of o){let i=gk(a);i&&t.push(i)}}catch{}return Or(t)}function bk(e){return sv({msg:e,taskId:String(u?.activeTask?.taskId||Gi()?.taskId||"").trim()||void 0,currentTaskBoundaryId:u?.pendingRun?.taskBoundaryId||Fe,normalizeTaskBoundaryId:t=>We(typeof t=="string"?t:void 0),pageUrl:typeof window<"u"?window.location.href:void 0,now:Date.now()})}function yk(e,t){let n=typeof e?.runId=="string"&&e.runId.trim()?e.runId.trim():String(u?.pendingRun?.id||"").trim()||void 0;return cv({msg:n?{...e,runId:n}:e,taskId:String(u?.activeTask?.taskId||Gi()?.taskId||"").trim()||void 0,currentTaskBoundaryId:u?.pendingRun?.taskBoundaryId||Fe,normalizeTaskBoundaryId:r=>We(typeof r=="string"?r:void 0),completionState:t,latestSummary:n?Xr.get(n):void 0,pageUrl:typeof window<"u"?window.location.href:void 0,now:Date.now()})}function vk(e,t){gd.has(e)||gd.set(e,new Set);let n=gd.get(e);return n.add(t),()=>{n.delete(t)}}function JE(e){return typeof e=="string"?{name:e}:e}function QE(){if(typeof window>"u")return[];let e=window[By];if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){if(!r||typeof r!="object")continue;let o=String(r.name||"").trim();!o||n.has(o)||(n.add(o),t.push(r))}return t}function zf(){let e=Ff(I);return e?Do(e):null}function Ff(e){if(!e||typeof window>"u")return null;let t=hm(e);if(t?.enabled===!1)return null;let n=String(e.agentDiscovery?.siteUrl||`${window.location.origin}/`).trim(),r=gm(e),o=bt?.listClientTools?.()||e.tools?.client||[],a=QE();return{siteId:e.siteId,siteUrl:String(t?.siteUrl||n).trim(),apiBase:e.apiBase,siteName:String(t?.siteName||e.ui?.agent?.name||document.title||"").trim()||window.location.hostname,description:String(t?.description||"").trim()||`Structured Rover entrypoints for ${window.location.hostname}. Prefer these explicit Rover skills and tools over brittle DOM automation whenever they match the user's goal.`,version:String(t?.version||gn?.version||"").trim()||void 0,agentCardUrl:String(t?.agentCardUrl||"").trim()||yo,roverSiteUrl:String(t?.roverSiteUrl||"").trim()||va,llmsUrl:String(t?.llmsUrl||"").trim()||void 0,enabled:t?.enabled,visibleCue:t?.visibleCue,discoverySurface:t?.discoverySurface,hostSurfaceSelector:t?.hostSurfaceSelector,preferExecution:t?.preferExecution||(r?.allowCloudBrowser===!1?"browser":"auto"),shortcuts:bm(e),tools:o,webmcpTools:a,additionalSkills:t?.additionalSkills,capabilities:t?.capabilities,pages:t?.pages,pageContext:t?.pageContext,aiAccess:r}}function zd(e){return!e||typeof document>"u"||gm(e)?.enabled===!1?!1:hm(e)?.enabled!==!1}function Id(){if(!(typeof document>"u"))for(let e of Array.from(document.querySelectorAll(`[${zi}]`)))e.remove()}function cd(e,t,n){let r=document.head||document.documentElement;if(!r)return;let o=document.querySelector(`script[${zi}="${e}"]`);o?o.type!==t&&(o.type=t):(o=document.createElement("script"),o.setAttribute(zi,e),o.type=t,r.appendChild(o)),o.textContent!==n&&(o.textContent=n)}function Gv(e,t,n,r){let o=document.head||document.documentElement;if(!o)return;let a=document.querySelector(`link[${zi}="${e}"]`);a||(a=document.createElement("link"),a.setAttribute(zi,e),o.appendChild(a)),a.rel=t,a.href=n,a.type=r}function jf(e){if(typeof document>"u")return;if(!zd(e)){Id();return}let t=Ff(e);if(!t){Id();return}let{cardJson:n,llmsUrl:r,marker:o,pageManifestJson:a,roverSiteJson:i,serviceDescHref:s}=Yl(t);cd("marker","application/agent+json",JSON.stringify(o)),Gv("service-desc","service-desc",s,"application/json"),r?Gv("service-doc","service-doc",r,"text/markdown"):document.querySelector(`link[${zi}="service-doc"]`)?.remove(),cd("rover-site","application/rover-site+json",i),cd("page","application/rover-page+json",a),cd("agent-card","application/agent-card+json",n)}function Xn(e){return String(e||"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function ZE(e){let t=String(e.page?.beaconLabel||e.page?.visibleCueLabel||e.policy?.beaconLabel||"").trim();return t||(e.policy?.branding==="rover"?"Rover AI":e.policy?.branding==="co"?"AI with Rover":BE)}function kk(e){let t=String(e||"").trim();return t?`${t}. ${pf}`:pf}function eI(){return!!(Go||u?.uiOpen||Ho||Ke?.requestId)}function qf(){if(!(typeof document>"u"))for(let e of Array.from(document.querySelectorAll('[data-rover-discovery-host="true"]')))e.removeAttribute("data-rover-discovery-host"),e.removeAttribute("data-rover-discovery-mode"),e.removeAttribute("data-rover-host-surface"),e.removeAttribute("data-rover-discovery-branding"),e.removeAttribute("data-rover-current-page"),e.removeAttribute("data-rover-capability-count")}function tI(e,t){if(typeof document>"u"||t?.hostSurface==="floating-corner")return null;let n=[String(e.hostSurfaceSelector||"").trim(),"[data-rover-host-surface]","[data-rover-assistant-surface]","[data-rover-chat-surface]"].filter(Boolean);for(let r of n)try{let o=document.querySelector(r);if(o instanceof HTMLElement)return o}catch{}return null}function Ko(e){if(!zd(e))return null;let t=Ff(e);if(!t)return null;let n=Yl(t),r=n.pageManifest,o=n.card.extensions?.rover.discoverySurface;if(!o)return null;let a=n.roverSite.actions||[],i=(r.capabilityIds||[]).map(m=>a.find(f=>f.capabilityId===m)).filter(m=>!!m),s=tI(t,o),c=!!s&&o.mode!=="debug"&&(o.mode==="integrated"||o.hostSurface!=="floating-corner"),l=u?.uiHidden===!0||u?.uiOpen===!0,d=ZE({page:r,policy:o});return{config:t,payloads:n,page:r,policy:o,visibleCapabilities:i,hostSurfaceTarget:s,integratedHost:c,agentModeActive:eI(),hidden:l,beaconLabel:d}}function xk(){typeof document>"u"||vf||(vf=!0,Ma(document,"keydown",(e=>{let t=e;if(t.key==="Escape"&&dn){dn=!1,Fn(I);return}if(!t.altKey||!t.shiftKey||t.key.toLowerCase()!=="a")return;let n=Ko(I);!n||n.policy.mode==="silent"||n.integratedHost||(t.preventDefault(),Go=!0,dn=!dn,Fn(I))}),!0),Ma(document,"pointerdown",(e=>{if(!dn)return;let n=e.target;if(!n)return;let r=document.getElementById(Bn),o=document.getElementById(Cn);r?.contains(n)||o?.contains(n)||(dn=!1,Fn(I))}),!0))}function $f(){if(typeof document>"u"||document.getElementById(uf))return;let e=`calc(${78+qv}px + env(safe-area-inset-right))`,t=`calc(${20+Math.round((58-jv)/2)}px + env(safe-area-inset-bottom))`,n=`calc(${66+qv}px + env(safe-area-inset-right))`,r=`calc(${14+Math.round((52-jv)/2)}px + env(safe-area-inset-bottom))`,o=document.createElement("style");o.id=uf,o.textContent=`
4158
+ `)}function wa(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function P_(e){return wa(e)&&Object.keys(e).length>0}function B_(e){let t=Number(e);return!Number.isFinite(t)||t<10?50:Math.round(t)}function U_(e){let t=Number(e);return!Number.isFinite(t)||t<1?300:Math.round(t)}function sv(e){return!!e&&e.enabled!==!1&&e.aiAccess?.enabled!==!1}function z_(e,t){return sv(t)?e.emitLlmsTxt===!0||!!Wt(t.llmsUrl):!1}function H_(e,t){let n=e.extensions?.rover.runEndpoint;return{a2w:n,run:n,card:t,roverSite:e.extensions?.rover.roverSiteUrl,site:e.extensions?.rover.siteUrl,workflow:e.extensions?.rover.workflowEndpoint,page:e.extensions?.rover.currentPage?.pageId,preferExecution:e.extensions?.rover.preferredExecution,display:e.extensions?.rover.discoverySurface?{mode:e.extensions.rover.discoverySurface.mode,hostSurface:e.extensions.rover.discoverySurface.hostSurface,actionReveal:e.extensions.rover.discoverySurface.actionReveal,beaconLabel:e.extensions.rover.discoverySurface.beaconLabel}:void 0,skills:e.skills.slice(0,24).map(r=>({id:r.id,name:r.name})),capabilities:(e.extensions?.rover.capabilitiesGraph||[]).slice(0,24).map(r=>({capabilityId:r.capabilityId,label:r.label}))}}function F_(e,t){let n=[`# ${e.name}`,"",e.description,"","Prefer Rover shortcuts, explicit site tools, and A2W runs over raw DOM automation when they match the requested outcome.",`Primary A2W run endpoint: ${Wt(e.extensions?.rover.runEndpoint||e.url)}`,`A2W workflow endpoint: ${Wt(e.extensions?.rover.workflowEndpoint)}`,`Capability card: ${t.agentCardUrl}`],r=e.skills.map(i=>({id:Wt(i.id),name:Wt(i.name),description:Wt(i.description),interface:Wt(i.preferredInterface||i.rover?.source||"run")})).filter(i=>i.id&&i.name);if(r.length>0){n.push("","Published skills:");for(let i of r){let a=i.description?` - ${i.description}`:"";n.push(`- ${i.id}: ${i.name} [${i.interface}]${a}`)}}let o=(e.extensions?.rover.shortcuts||[]).map(i=>`${Wt(i.id)}: ${Wt(i.label)}`).filter(Boolean);if(o.length>0){n.push("","Shortcut IDs:");for(let i of o)n.push(`- ${i}`)}return n.join(`
4159
+ `)}function j_(){return["(function(){ var r = window.rover = window.rover || function(){ (r.q = r.q || []).push(arguments); }; r.l = +new Date(); })();"]}function cv(e){return e.cloudSandboxEnabled!==!0?e:{...e,tools:{...e.tools||{},web:{...e.tools?.web||{},enableExternalWebContext:!0,scrapeMode:"on_demand"}}}}function q_(e){let t=cv(e);return["<script>",...j_().map(r=>` ${r}`),` rover('boot', ${av(t)});`,"<\/script>"].join(`
4160
+ `)}function $_(e,t){let n=B_(t?.pollIntervalMs),r=U_(t?.maxAttempts);return["<script>"," (function(){",` var roverBookConfig = ${av(e)};`," function attachRoverBook(){"," if (window.__ROVERBOOK_INSTANCE__) return true;"," var roverApi = window.rover;"," var roverBook = window.RoverBook;"," if (!roverApi || typeof roverApi.on !== 'function' || typeof roverApi.requestSigned !== 'function') return false;"," if (!roverBook || typeof roverBook.enableRoverBook !== 'function') return false;"," window.__ROVERBOOK_INSTANCE__ = roverBook.enableRoverBook(roverApi, roverBookConfig);"," return true;"," }"," if (attachRoverBook()) return;"," var attempts = 0;"," var timer = setInterval(function(){"," attempts += 1;",` if (attachRoverBook() || attempts >= ${r}) clearInterval(timer);`,` }, ${n});`," })();","<\/script>"].join(`
4161
+ `)}function lv(e){let t=cv(e.bootConfig),n=sv(e.discovery)?e.discovery:null,r=n?Wt(n.agentCardUrl)||bo:"",o=n?Wt(n.roverSiteUrl)||xi:"",i=z_(e,n),a=n?Wt(n.llmsUrl):"",s=Wt(e.embedScriptUrl)||L_,c=e.roverBook?.enabled!==!1&&P_(e.roverBook?.config),l=c?Wt(e.roverBook?.scriptUrl)||D_:"",d=n?Po(n):void 0,m=n?xa(n):void 0,f=n?ka(n):void 0,p=n?js(n):void 0,b=n?JSON.stringify(d?.extensions?.rover.currentPage||null,null,2):void 0,y=d&&r?H_(d,r):void 0,k=y?Sa(JSON.stringify(y)):void 0,w=m?Sa(m):void 0,x=p?Sa(p):void 0,h=b?Sa(b):void 0,A=n&&r?`<link rel="service-desc" href="${Ql(r)}" type="application/json" />`:void 0,E=n&&a?`<link rel="service-doc" href="${Ql(a)}" type="text/markdown" />`:void 0,_=[];k&&_.push(`<script type="application/agent+json" data-rover-agent-discovery="marker">${k}<\/script>`),x&&_.push(`<script type="application/rover-site+json" data-rover-agent-discovery="rover-site">${x}<\/script>`),h&&_.push(`<script type="application/rover-page+json" data-rover-agent-discovery="page">${h}<\/script>`),w&&_.push(`<script type="application/agent-card+json" data-rover-agent-discovery="agent-card">${w}<\/script>`),_.push(q_(t)),_.push(`<script src="${Ql(s)}" async><\/script>`),c&&l&&(_.push(`<script src="${Ql(l)}" async><\/script>`),_.push($_(e.roverBook?.config||{},{pollIntervalMs:e.roverBook?.attachPollIntervalMs,maxAttempts:e.roverBook?.attachMaxAttempts})));let z=i&&d?Wt(e.llmsTxt)?e.llmsTxt:F_(d,{agentCardUrl:r||bo}):void 0;return O_({bodyInstallHtml:_.join(`
4162
+ `),headDiscoveryHtml:[A,E].filter(Boolean).join(`
4163
+ `),agentCard:d,agentCardJson:m,roverSite:f,roverSiteJson:p,serviceDescLinkHeader:n?Jl({agentCardUrl:r||bo,...a?{llmsUrl:a}:{}}):void 0,llmsTxt:z,metadata:{discoveryEnabled:!!n,llmsPublished:!!E,embedScriptUrl:s,roverBookEnabled:c,roverBookScriptUrl:l||void 0,publishedAgentCardUrl:r||void 0,publishedRoverSiteUrl:o||void 0,publishedLlmsUrl:a||void 0,serviceDescLinkTag:A,serviceDocLinkTag:E,markerJson:k,markerScript:k?`<script type="application/agent+json" data-rover-agent-discovery="marker">${k}<\/script>`:void 0,inlineAgentCardScript:w?`<script type="application/agent-card+json" data-rover-agent-discovery="agent-card">${w}<\/script>`:void 0,roverSiteJson:p,inlineRoverSiteScript:x?`<script type="application/rover-site+json" data-rover-agent-discovery="rover-site">${x}<\/script>`:void 0,pageManifestJson:b,pageManifestScript:h?`<script type="application/rover-page+json" data-rover-agent-discovery="page">${h}<\/script>`:void 0}},e.bootConfig)}var pv="https://agent.rtrvr.ai",dv="rvrsess_";function Ta(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function W_(e,t=8e3){let n=String(e??"");return n.length<=t?n:`${n.slice(0,t)}\u2026`}function V_(e){let t=String(e||"").trim();if(!t)return"";try{let n=new URL(t);return n.hash="",`${n.origin}${n.pathname}${n.search}`}catch{return t}}function Fp(e){return e==null?"null":typeof e=="number"?Number.isFinite(e)?String(e):JSON.stringify(String(e)):typeof e=="boolean"?e?"true":"false":typeof e=="string"?JSON.stringify(e):Array.isArray(e)?`[${e.map(t=>Fp(t)).join(",")}]`:typeof e=="object"?`{${Object.entries(e).filter(([n])=>n!=="updatedAt"&&n!=="ts"&&n!=="timestamp").sort(([n],[r])=>n.localeCompare(r)).map(([n,r])=>`${JSON.stringify(n)}:${Fp(r)}`).join(",")}}`:JSON.stringify(String(e))}function G_(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return`sd:${(t>>>0).toString(16)}`}function uv(e){let t=Array.isArray(e.sharedState?.tabs)?e.sharedState.tabs:[],n=e.runtimeState?.workerState||{},r=e.runtimeState?.taskTabScope||{},o=e.sharedState?.activeRun||{},i=e.runtimeState?.pendingRun||{},a=Array.isArray(n.plannerHistory)?n.plannerHistory:[],s=Array.isArray(n.agentPrevSteps)?n.agentPrevSteps:[],c=a.length?a[a.length-1]:void 0,l=s.length?s[s.length-1]:void 0,d=a.map(p=>String(p?.id||p?.toolCall?.name||p?.toolName||p?.name||"")),m=s.map(p=>String(p?.id||p?.toolCall?.name||p?.toolName||p?.name||"")),f={sessionId:String(e.sessionId||""),shared:{taskEpoch:Number(e.sharedState?.taskEpoch||0),taskId:String(e.sharedState?.task?.taskId||""),taskStatus:String(e.sharedState?.task?.status||""),activeRunId:String(o.runId||""),activeRunStatus:String(o.status||""),tabs:t.map(p=>({logicalTabId:Number(p?.logicalTabId)||0,scope:String(p?.scope||""),status:String(p?.status||""),url:V_(p?.url),external:!!p?.external}))},runtime:{taskEpoch:Number(e.runtimeState?.taskEpoch||0),activeTaskId:String(e.runtimeState?.activeTask?.taskId||""),activeTaskStatus:String(e.runtimeState?.activeTask?.status||""),pendingRunId:String(i.id||""),pendingRunStatus:String(i.status||""),pendingResumeRequired:i.resumeRequired===!0,worker:{taskBoundaryId:String(n.taskBoundaryId||""),trajectoryId:String(n.trajectoryId||""),pendingAskBoundaryId:String(n.pendingAskUser?.boundaryId||""),plannerHistoryCount:a.length,agentPrevStepsCount:s.length,lastPlannerStepId:String(c?.id||""),lastAgentStepId:String(l?.id||""),plannerStepMarkers:d,agentStepMarkers:m},continuity:{boundaryId:String(r.boundaryId||""),seedTabId:Number(r.seedTabId||0),touchedTabIds:Array.isArray(r.touchedTabIds)?r.touchedTabIds.map(p=>Number(p)||0).filter(p=>p>0):[]}}};return G_(Fp(f))}function K_(e){let t=pv,n=String(e||t).trim().replace(/\/+$/,"");if(!n)return t;if(n.endsWith("/extensionRouter/v2/rover"))return n.slice(0,-25);if(n.endsWith("/v2/rover"))return n.slice(0,-9);let r=n.match(/\/v\d+\/rover$/);return r?.[0]?n.slice(0,-r[0].length):n.endsWith("/extensionRouter")?n.slice(0,-16):n}function Hp(e){let t=new Set,n=[];for(let r of e){let o=String(r||"").trim().replace(/\/+$/,"");!o||t.has(o)||(t.add(o),n.push(o))}return n}function X_(e){let t=K_(e),n=String(e||"").trim().replace(/\/+$/,"");return n.endsWith("/v2/rover")||n.endsWith("/extensionRouter/v2/rover")?Hp([n.replace("/extensionRouter/v2/rover","/v2/rover"),`${t}/v2/rover`]):Hp(!n&&t==="https://agent.rtrvr.ai"?[`${t}/v2/rover`,"https://extensionrouter.rtrvr.ai/v2/rover"]:[`${t}/v2/rover`])}function wi(e,t){let n=new Error(e);return n.details=t,n}function Y_(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}var Zl=class{constructor(t){H(this,"endpoint");H(this,"endpointCandidates");H(this,"endpointIndex",0);H(this,"getToken");H(this,"siteId");H(this,"visitorId");H(this,"ttlHours");H(this,"flushIntervalMs");H(this,"pullIntervalMs");H(this,"minFlushIntervalMs");H(this,"maxSnapshotBytes");H(this,"shouldSync");H(this,"shouldWrite");H(this,"buildCheckpoint");H(this,"onCheckpoint");H(this,"onStateChange");H(this,"onError");H(this,"idlePullIntervalMs");H(this,"started",!1);H(this,"idleMode",!1);H(this,"dirty",!1);H(this,"flushTimer",null);H(this,"pullTimer",null);H(this,"lastFlushAt",0);H(this,"lastPullAt",0);H(this,"lastUploadedRevision","");H(this,"lastAppliedRemoteUpdatedAt",0);H(this,"lastAppliedRemoteDigest","");H(this,"pushInFlight",!1);H(this,"pullInFlight",!1);H(this,"state","active");H(this,"visibilityListener",null);let n=String(t.authToken||"").trim(),r=t.getSessionToken,o=r?String(r()||"").trim():n;if(!o||!o.startsWith(dv))throw wi("Rover cloud checkpoint requires a session token (rvrsess_...).");this.endpointCandidates=X_(t.apiBase),this.endpoint=this.endpointCandidates[0]||`${pv}/v2/rover`,this.getToken=()=>{let i=r?String(r()||"").trim():n;if(!i||!i.startsWith(dv))throw wi("Rover cloud checkpoint requires an active session token.");return i},this.siteId=t.siteId,this.visitorId=t.visitorId,this.ttlHours=Math.max(1,Math.min(168,Math.floor(Ta(t.ttlHours,1)))),this.flushIntervalMs=Math.max(2e3,Math.floor(Ta(t.flushIntervalMs,3e4))),this.pullIntervalMs=Math.max(2e3,Math.floor(Ta(t.pullIntervalMs,3e4))),this.idlePullIntervalMs=12e4,this.minFlushIntervalMs=Math.max(1e3,Math.floor(Ta(t.minFlushIntervalMs,2500))),this.maxSnapshotBytes=Math.max(64e3,Math.min(1048576,Math.floor(Ta(t.maxSnapshotBytes,262144)))),this.shouldSync=t.shouldSync||(()=>!0),this.shouldWrite=t.shouldWrite||(()=>!0),this.buildCheckpoint=t.buildCheckpoint,this.onCheckpoint=t.onCheckpoint,this.onStateChange=t.onStateChange,this.onError=t.onError}start(){this.started||(this.started=!0,this.setState("active"),typeof document<"u"&&!this.visibilityListener&&(this.visibilityListener=()=>{if(this.started){if(document.hidden){this.enterIdleMode();return}this.enterActiveMode(),this.shouldSync()&&(this.pull(!0),this.dirty&&this.flush(!0))}},document.addEventListener("visibilitychange",this.visibilityListener)),this.flushTimer=window.setInterval(()=>{this.shouldSync()&&this.flush(!1)},this.flushIntervalMs),this.pullTimer=window.setInterval(()=>{this.shouldSync()&&this.pull(!1)},this.pullIntervalMs),this.pull(!0))}stop(){this.started&&(this.started=!1,this.idleMode=!1,this.flushTimer!=null&&(window.clearInterval(this.flushTimer),this.flushTimer=null),this.pullTimer!=null&&(window.clearInterval(this.pullTimer),this.pullTimer=null),this.visibilityListener&&typeof document<"u"&&(document.removeEventListener("visibilitychange",this.visibilityListener),this.visibilityListener=null),this.flush(!0))}markDirty(){this.dirty=!0}syncNow(t){let n=t?.push!==!1,r=t?.pull!==!1;n&&this.flush(!0),r&&this.pull(!0)}syncPullFirst(){(async()=>(await this.pull(!0),await this.flush(!0)))()}pullNow(t=!0){this.pull(!!t)}enterIdleMode(){this.idleMode||(this.idleMode=!0,this.flushTimer!=null&&(window.clearInterval(this.flushTimer),this.flushTimer=null),this.pullTimer!=null&&(window.clearInterval(this.pullTimer),this.pullTimer=null),this.started&&(this.pullTimer=window.setInterval(()=>{this.shouldSync()&&this.pull(!1)},this.idlePullIntervalMs)))}enterActiveMode(){this.idleMode&&(this.idleMode=!1,this.started&&(this.flushTimer==null&&(this.flushTimer=window.setInterval(()=>{this.shouldSync()&&this.flush(!1)},this.flushIntervalMs)),this.pullTimer==null&&(this.pullTimer=window.setInterval(()=>{this.shouldSync()&&this.pull(!1)},this.pullIntervalMs))))}getActiveEndpoint(){return this.endpointCandidates.length?this.endpointCandidates[this.endpointIndex]||this.endpoint:this.endpoint}rotateEndpoint(){this.endpointCandidates.length<=1||(this.endpointIndex=(this.endpointIndex+1)%this.endpointCandidates.length,this.endpoint=this.endpointCandidates[this.endpointIndex]||this.endpoint)}async requestJson(t,n){let r=Math.max(1,this.endpointCandidates.length||1),o;for(let i=0;i<r;i+=1){let a=(this.endpointIndex+i)%r,s=this.endpointCandidates[a]||this.endpoint;try{let c=await fetch(`${s}${t}`,n),l=await c.json().catch(()=>{});if(c.status===404||c.status===405){o=wi(`Checkpoint endpoint unavailable at ${s}${t}`,{status:c.status,payload:l});continue}return this.endpointIndex=a,this.endpoint=s,{response:c,payload:l}}catch(c){o=c}}throw o instanceof Error?o:wi(`Checkpoint request failed for ${t}`)}async flush(t){if(this.pushInFlight||this.idleMode||this.state==="paused_auth"||!t&&!this.shouldSync()||!this.dirty&&!t||!this.shouldWrite()||!t&&Date.now()-this.lastFlushAt<this.minFlushIntervalMs)return;let n=this.buildCheckpoint();if(!n)return;let r=uv(n);if(n.digest=r,!t&&r===this.lastUploadedRevision){this.dirty=!1;return}this.pushInFlight=!0;try{let o=await this.callCheckpointApi("session_snapshot_upsert",{siteId:this.siteId,visitorId:this.visitorId,sessionId:n.sessionId,ttlHours:this.ttlHours,updatedAt:n.updatedAt,checkpoint:n});this.lastFlushAt=Date.now(),o?.saved&&(this.dirty=!1,this.lastUploadedRevision=r),o?.stale&&o?.checkpoint&&typeof o.checkpoint=="object"&&(this.applyRemoteCheckpoint(o.checkpoint,"push_stale"),this.dirty=!1),this.setState("active")}catch(o){this.handleCheckpointError(o,"session_snapshot_upsert")}finally{this.pushInFlight=!1}}async pull(t){if(!this.pullInFlight&&this.state!=="paused_auth"&&!(!t&&!this.shouldSync())&&!(!t&&Date.now()-this.lastPullAt<this.pullIntervalMs)){this.pullInFlight=!0;try{let n=await this.callCheckpointApi("session_projection_get",{siteId:this.siteId,visitorId:this.visitorId,sessionId:this.buildCheckpoint()?.sessionId});if(this.lastPullAt=Date.now(),!n?.found||!n?.checkpoint||typeof n.checkpoint!="object")return;this.applyRemoteCheckpoint(n.checkpoint,"pull"),this.setState("active")}catch(n){this.handleCheckpointError(n,"session_projection_get")}finally{this.pullInFlight=!1}}}applyRemoteCheckpoint(t,n){let r=Math.max(0,Math.floor(Ta(t?.updatedAt,0))),o=String(t?.digest||"").trim()||uv(t);r<=this.lastAppliedRemoteUpdatedAt&&(!o||o===this.lastAppliedRemoteDigest)||(this.lastAppliedRemoteUpdatedAt=r,o&&(this.lastAppliedRemoteDigest=o),this.onCheckpoint(t,n))}async callCheckpointApi(t,n){return this.callRoverV2(t,n)}async callRoverV2(t,n){let r=this.getToken();if(t==="session_snapshot_upsert"){let c=JSON.stringify({requestNonce:Y_(),sessionToken:r,sessionId:n?.sessionId,visitorId:n?.visitorId,ttlHours:n?.ttlHours,updatedAt:n?.updatedAt,version:n?.checkpoint?.version||n?.version||1,checkpoint:n?.checkpoint});if(c.length>this.maxSnapshotBytes)throw wi("Checkpoint snapshot exceeds maxSnapshotBytes limit.",{action:t,size:c.length,maxSnapshotBytes:this.maxSnapshotBytes,code:"SNAPSHOT_TOO_LARGE"});let l=c.length<6e4,{response:d,payload:m}=await this.requestJson("/snapshot",{method:"POST",headers:{"Content-Type":"text/plain"},keepalive:l,body:c});if(!d.ok||!m?.success)throw wi(`Checkpoint HTTP ${d.status}`,{action:t,status:d.status,payload:m});return{saved:!!m?.data?.saved,stale:m?.data?.stale===!0,checkpoint:m?.data?.checkpoint,updatedAt:Number(m?.data?.updatedAt)||void 0}}let o=new URLSearchParams({sessionId:String(n?.sessionId||""),sessionToken:r,includeSnapshot:"true"}),{response:i,payload:a}=await this.requestJson(`/state?${o.toString()}`,{method:"GET"});if(!i.ok||!a?.success)throw wi(`Checkpoint HTTP ${i.status}`,{action:t,status:i.status,payload:a});let s=a?.data?.projection?.snapshot??a?.data?.snapshot;return{found:!!s,checkpoint:s}}setState(t,n){this.state!==t&&(this.state=t,this.onStateChange?.(t,n||{}))}handleCheckpointError(t,n){let r=this.normalizeCheckpointError(t),o=this.isAuthFailure(r);o&&this.setState("paused_auth",{reason:"auth_failed",action:n,code:r.code,message:r.message}),this.onError?.(t,{action:n,state:this.state,code:r.code,message:r.message,status:r.status,paused:o})}normalizeCheckpointError(t){let n=t,r=n?.details,o=r?.payload||r?.response||r,i=o?.errorCode||o?.errorDetails?.code||o?.error?.code||o?.code,a=o?.error||o?.errorDetails?.message||o?.error?.message||n?.message||"Checkpoint request failed",s=Number(r?.status);return{code:typeof i=="string"?i:void 0,message:W_(a,1e3),status:Number.isFinite(s)?s:void 0}}isAuthFailure(t){let n=String(t.code||"").toUpperCase();return n==="INVALID_API_KEY"||n==="MISSING_API_KEY"||n==="UNAUTHENTICATED"||n==="PERMISSION_DENIED"?!0:t.status===401||t.status===403}};var J_="rover-runtime-state-db",ed="runtime-state",jp=class{read(t){try{let n=window.sessionStorage.getItem(t);return n?JSON.parse(n):null}catch{return null}}write(t,n){try{window.sessionStorage.setItem(t,JSON.stringify(n))}catch{}}remove(t){try{window.sessionStorage.removeItem(t)}catch{}}},qp=class{constructor(){H(this,"dbPromise",null)}openDb(){return this.dbPromise?this.dbPromise:(this.dbPromise=new Promise((t,n)=>{if(typeof indexedDB>"u"){n(new Error("indexedDB unavailable"));return}let r=indexedDB.open(J_,1);r.onupgradeneeded=()=>{let o=r.result;o.objectStoreNames.contains(ed)||o.createObjectStore(ed)},r.onsuccess=()=>{t(r.result)},r.onerror=()=>{n(r.error||new Error("indexedDB open failed"))}}).catch(t=>{throw this.dbPromise=null,t}),this.dbPromise)}async withStore(t,n){let r=await this.openDb();return new Promise((o,i)=>{let a=r.transaction(ed,t),s=a.objectStore(ed);n(s,o,i),a.onerror=()=>{i(a.error||new Error("indexedDB transaction failed"))}})}async read(t){try{return await this.withStore("readonly",(n,r,o)=>{let i=n.get(t);i.onsuccess=()=>{let a=i.result;r(a??null)},i.onerror=()=>{o(i.error||new Error("indexedDB read failed"))}})}catch{return null}}async write(t,n){await this.withStore("readwrite",(r,o,i)=>{let a=r.put(n,t);a.onsuccess=()=>o(),a.onerror=()=>{i(a.error||new Error("indexedDB write failed"))}}).catch(()=>{})}async remove(t){await this.withStore("readwrite",(n,r,o)=>{let i=n.delete(t);i.onsuccess=()=>r(),i.onerror=()=>{o(i.error||new Error("indexedDB delete failed"))}}).catch(()=>{})}};function fv(){let e=new jp,t=new qp;return{readSync:n=>e.read(n),readSyncAny:n=>{for(let r of n){if(!r)continue;let o=e.read(r);if(o)return o}return null},readAsync:async n=>t.read(n),readAsyncAny:async n=>{for(let r of n){if(!r)continue;let o=await t.read(r);if(o)return o}return null},write:(n,r)=>{e.write(n,r),t.write(n,r)},remove:n=>{e.remove(n),t.remove(n)}}}function mv(e){if(typeof e=="string"){let n=String(e||"").trim().slice(0,4e3);return n?{role:"model",message:n}:null}if(!e||typeof e!="object")return null;let t=String(e.message||"").trim().slice(0,4e3);return t?{role:"model",message:t}:null}function hv(e){let t=e.normalizeRunBoundaryId||(r=>String(r||"").trim()||void 0),n=typeof e.msg?.executionId=="string"&&e.msg.executionId.trim()?e.msg.executionId.trim():typeof e.msg?.runId=="string"?e.msg.runId:void 0;return{runId:String(e.runId||"").trim()||void 0,executionId:n,runBoundaryId:typeof e.msg?.runBoundaryId=="string"?t(e.msg.runBoundaryId):t(e.currentRunBoundaryId),text:typeof e.msg?.text=="string"?e.msg.text:void 0,startedAt:e.now||Date.now(),pageUrl:e.pageUrl}}function gv(e){let t=e.normalizeRunBoundaryId||(s=>String(s||"").trim()||void 0),n=typeof e.msg?.executionId=="string"&&e.msg.executionId.trim()?e.msg.executionId.trim():typeof e.msg?.runId=="string"&&e.msg.runId.trim()?e.msg.runId.trim():void 0,r=e.completionState.terminalState==="waiting_input"?"waiting_input":e.completionState.terminalState,o=String(e.msg?.summary||e.msg?.message||e.msg?.result?.summary||e.latestSummary||"").trim()||void 0,i=String(e.msg?.error||e.msg?.result?.error||"").trim()||void 0,a=r==="completed"?"success":r==="failed"?"failure":e.completionState.needsUserInput||r==="in_progress"?"partial":"abandoned";return{runId:String(e.runId||"").trim()||void 0,executionId:n,runBoundaryId:typeof e.msg?.runBoundaryId=="string"?t(e.msg.runBoundaryId):t(e.currentRunBoundaryId),terminalState:r,continuationReason:e.completionState.continuationReason,runComplete:e.completionState.runComplete===!0,needsUserInput:e.completionState.needsUserInput,summary:o,error:i,ok:e.msg?.ok!==!1,questions:e.completionState.questions,endedAt:e.now||Date.now(),outcome:a,pageUrl:e.pageUrl}}var Q_=/(?:password|passcode|secret|token|api[_-]?key|authorization|cookie|session|credit|card|cvv|cvc|ssn|otp|mfa|email|phone)/i,Z_=/^(?:text|value|input|content|typed_text|field_value|option_value|search_text|query)$/i;function eE(e){let t=Math.trunc(Number(e));return Number.isFinite(t)&&t>0?t:void 0}function tE(e){if(!e||typeof e!="object")return[];let t=new Set,n=[];for(let r of Gi){let o=e[r],i=Array.isArray(o)?o:[o];for(let a of i){let s=eE(a);!s||t.has(s)||(t.add(s),n.push(s))}}return n}function bv(e){let t=String(e||"").trim().toLowerCase();return t?/double_click|right_click|click|tap|long_press/.test(t)?"click":/type|fill|set_value|input|paste/.test(t)?"type":/select_dropdown|select_text|select/.test(t)?"select":/clear/.test(t)?"clear":/focus/.test(t)?"focus":/hover/.test(t)?"hover":/press_key|press/.test(t)?"press":/scroll|wheel|swipe/.test(t)?"scroll":/drag|drop|pointer_path|slider|pinch/.test(t)?"drag":/goto|navigate|open_new_tab|switch_tab|go_back|go_forward|refresh|url/.test(t)?"navigate":/read|describe|get|extract|scrape|search|context|screenshot|snapshot/.test(t)?"read":/wait|monitor|observe/.test(t)?"wait":"unknown":"unknown"}function nE(e,t){return!!(Q_.test(e)||(t==="type"||t==="select")&&Z_.test(e))}function rE(e){if(typeof e=="string"){let t=[...e].length;return t>0?`[REDACTED ${t} chars]`:"[REDACTED]"}return"[REDACTED]"}function $p(e,t,n="",r=0){if(r>5)return{value:"[Truncated]",redacted:!1};if(nE(n,t))return{value:rE(e),redacted:!0};if(Array.isArray(e)){let o=!1,i=e.slice(0,40).map(a=>{let s=$p(a,t,n,r+1);return o=o||s.redacted,s.value});return e.length>40&&i.push(`[${e.length-40} more items]`),{value:i,redacted:o}}if(e&&typeof e=="object"){let o=!1,i={};for(let[a,s]of Object.entries(e).slice(0,80)){let c=$p(s,t,a,r+1);o=o||c.redacted,i[a]=c.value}return{value:i,redacted:o}}return{value:e,redacted:!1}}function yv(e,t){if(!e||typeof e!="object")return{args:{},valueRedacted:!1};let n=$p(e,t);return{args:n.value&&typeof n.value=="object"&&!Array.isArray(n.value)?n.value:{},valueRedacted:n.redacted}}function qs(e,t){if(!e||typeof e!="object")return;let n=bv(e.name),r=tE(e.args),o=r[0],i=yv(e.args,n);return{kind:n,toolCallId:String(t||e.id||"").trim()||void 0,primaryElementId:o,elementIds:r.length?r:void 0,valueRedacted:i.valueRedacted||void 0}}function vv(e){if(!e?.args)return;let t=bv(e.name),n=yv(e.args,t);if(Object.keys(n.args).length)return[{type:"json",label:`${e.name||"tool"} args`,toolName:e.name,data:n.args}]}var oE="rover_xdr_",xv=300;function wv(e){return ar(e)}function Sv(e){let t=$n(e);return!(!t||t==="localhost"||Wu(t))}function Wp(e){return`${oE}${e.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,40)}`}function td(e){let t=String(e||"").trim();if(!t)return"";try{let n=new URL(t,window.location.href);return n.hash="",n.toString()}catch{return t}}function kv(e){let t=String(e||"").trim();return!t||t==="/"?"/":t.replace(/\/\/+/g,"/").replace(/\/+$/,"")||"/"}function iE(e,t){let n=new Set;for(let[r]of e.entries())n.add(r);for(let r of n){let o=e.getAll(r);if(!o.length)continue;let i=t.getAll(r);if(!i.length)return!1;let a=new Map;for(let s of i)a.set(s,(a.get(s)||0)+1);for(let s of o){let c=a.get(s)||0;if(c<=0)return!1;a.set(s,c-1)}}return!0}function Vp(e,t){let n=td(e),r=td(t);if(!n||!r)return!1;try{let o=new URL(n,window.location.href),i=new URL(r,window.location.href);return o.origin.toLowerCase()!==i.origin.toLowerCase()||kv(o.pathname)!==kv(i.pathname)?!1:iE(o.searchParams,i.searchParams)}catch{return n===r}}function Tv(e,t){try{let n=Wp(e),r=wv(window.location.hostname),o=encodeURIComponent(JSON.stringify(t)),i=window.location.protocol==="https:",a=[`${n}=${o}`,"path=/",`max-age=${xv}`,"SameSite=Lax"];Sv(r)&&a.push(`domain=.${r}`),i&&a.push("Secure"),document.cookie=a.join("; ")}catch{}}function Gp(e,t){try{let n=Wp(e),r=document.cookie.split(";"),o=Math.max(1e3,Number(t?.maxAgeMs)||xv*1e3),i=td(t?.currentUrl||window.location.href),a=$n(t?.currentHost||window.location.hostname||""),s=String(t?.expectedHandoffId||"").trim(),c=t?.requireTargetMatch!==!1;for(let l of r){let[d,...m]=l.trim().split("=");if(d===n){let f=m.join("="),p=JSON.parse(decodeURIComponent(f));if(!p.timestamp||Date.now()-p.timestamp>=o)continue;let b=String(p.handoffId||p.handoff?.handoffId||"").trim();if(!b||s&&b!==s)continue;if(c){let y=td(p.targetUrl||p.handoff?.targetUrl||"");if(!y||!i||!Vp(y,i))continue}if(p.sourceHost){let y=$n(p.sourceHost||"");if(y&&a&&y===a&&!s)continue}if(p.sessionId&&typeof p.sessionId=="string")return p}}}catch{}return null}function $s(e){try{let t=Wp(e),n=wv(window.location.hostname),r=window.location.protocol==="https:",o=[`${t}=`,"path=/","max-age=0","SameSite=Lax"];Sv(n)&&o.push(`domain=.${n}`),r&&o.push("Secure"),document.cookie=o.join("; ")}catch{}}function ze(e){return String(e||"").trim()||void 0}function aE(e){let t=ze(e.incomingBoundaryId),n=ze(e.currentBoundaryId);return!t||t===n?!1:n?e.taskEpochAdvanced===!0&&e.hasPendingRun!==!0:e.allowBootstrapAdoption!==!1}function _v(e){let t=ze(e.incomingBoundaryId),n=ze(e.currentBoundaryId);return t&&n&&t===n?{accept:!0,reason:"match"}:t?aE(e)?{accept:!0,adoptedBoundaryId:t,reason:n?"epoch_adopt":"bootstrap_adopt"}:{accept:!1,reason:"mismatch"}:!n&&e.allowBootstrapAdoption!==!1?{accept:!0,reason:"bootstrap_adopt"}:{accept:!1,reason:"missing_incoming"}}function sE(){return[{kind:"create_task"},{kind:"rotate_boundary"},{kind:"assign_worker"}]}function Kp(){return[{kind:"release_worker"},{kind:"clear_run"}]}function nd(){return[{kind:"release_worker"},{kind:"clear_run"}]}function Si(){return[{kind:"archive_task"},{kind:"clear_run"},{kind:"clear_worker_state"}]}var cE={idle:{START:{to:"running",sideEffects:()=>sE()}},running:{AGENT_PROGRESS:{to:"running",sideEffects:()=>[{kind:"update_timestamps",ts:Date.now()}]},NAVIGATION_STARTED:{to:"running",sideEffects:e=>[{kind:"record_navigation",targetUrl:e.targetUrl,isCrossHost:e.isCrossHost},{kind:"update_timestamps",ts:Date.now()}]},NAVIGATION_COMPLETED:{to:"running",sideEffects:()=>[{kind:"clear_navigation"},{kind:"update_timestamps",ts:Date.now()}]},ASK_USER:{to:"awaiting_user",sideEffects:e=>[{kind:"set_pending_questions",questions:e.questions||[]}]},PAUSE:{to:"paused",sideEffects:()=>[{kind:"snapshot_worker_state"},{kind:"release_worker"}]},BLOCK:{to:"blocked",sideEffects:e=>[{kind:"record_block_reason",reason:e.reason},{kind:"notify_agent_blocked"}]},COMPLETE:{to:"completed",sideEffects:()=>Kp()},FAIL:{to:"failed",sideEffects:e=>[...Kp(),{kind:"emit_error",error:e.error}]},CANCEL:{to:"cancelled",sideEffects:()=>nd()},RESET:{to:"idle",sideEffects:()=>Si()}},awaiting_user:{USER_RESPONDED:{to:"running",sideEffects:()=>[{kind:"clear_questions"}]},PAUSE:{to:"paused",sideEffects:()=>[{kind:"snapshot_worker_state"},{kind:"release_worker"}]},CANCEL:{to:"cancelled",sideEffects:()=>nd()},RESET:{to:"idle",sideEffects:()=>Si()}},paused:{RESUME:{to:"running",sideEffects:()=>[{kind:"restore_snapshot"},{kind:"assign_worker"}]},CANCEL:{to:"cancelled",sideEffects:()=>nd()},RESET:{to:"idle",sideEffects:()=>Si()}},blocked:{UNBLOCK:{to:"running",sideEffects:()=>[{kind:"resume_from_block"}]},CANCEL:{to:"cancelled",sideEffects:()=>nd()},FAIL:{to:"failed",sideEffects:e=>[...Kp(),{kind:"emit_error",error:e.error}]},RESET:{to:"idle",sideEffects:()=>Si()}},completed:{RESET:{to:"idle",sideEffects:()=>Si()}},failed:{RESET:{to:"idle",sideEffects:()=>Si()}},cancelled:{RESET:{to:"idle",sideEffects:()=>Si()}}};function lE(e,t,n){let o=cE[e]?.[t.type];if(!o)return{next:e,rejected:!0,rejectedReason:`Invalid transition: ${e} + ${t.type}`,sideEffects:[]};let i=o.to;return e==="paused"&&t.type==="RESUME"&&n?.prePauseState==="awaiting_user"&&(i="awaiting_user"),{next:i,rejected:!1,sideEffects:o.sideEffects(t,n)}}function Ws(e){return e==="completed"||e==="failed"||e==="cancelled"}function Ev(e){switch(e){case"idle":return"running";case"running":return"running";case"awaiting_user":return"running";case"paused":return"running";case"blocked":return"running";case"completed":return"completed";case"failed":return"failed";case"cancelled":return"cancelled";default:return"running"}}function Vs(e,t){if(!e)return"idle";switch(e){case"running":{let n=String(t||"").trim().toLowerCase();return n.includes("waiting_for_input")||n.includes("awaiting_user")?"awaiting_user":"running"}case"completed":return"completed";case"cancelled":return"cancelled";case"failed":return"failed";case"ended":return"cancelled";default:return"idle"}}function Iv(e,t){let n=lE(e.state,t,e);if(n.rejected)return{record:e,result:n};let r=Date.now(),o={...e,state:n.next};if(n.next==="paused"&&!o.pausedAt&&(o.pausedAt=r,o.prePauseState=e.state==="awaiting_user"?"awaiting_user":"running"),n.next==="blocked"){o.blockedAt=r;let i=t;o.blockReason=i.reason}return n.next==="running"&&e.state==="paused"&&(o.pausedAt=void 0,o.prePauseState=void 0),n.next==="running"&&e.state==="blocked"&&(o.blockedAt=void 0,o.blockReason=void 0),n.next==="running"&&e.state==="awaiting_user"&&(o.pausedAt=void 0,o.prePauseState=void 0),Ws(n.next)&&(o.endedAt=r),t.type==="COMPLETE"&&t.summary&&(o.summary=t.summary),t.type==="RESET"&&(o.pausedAt=void 0,o.prePauseState=void 0,o.blockedAt=void 0,o.blockReason=void 0,o.endedAt=void 0),{record:o,result:n}}function Xp(e){let t=Date.now(),n=e?.taskId||dE(),r=e?.boundaryId||uE();return{taskId:n,state:"idle",boundaryId:r,startedAt:t,uiMessages:[],timeline:[],seedChatLog:[],tabIds:[],...e}}function dE(){return`task_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function uE(){return`bnd_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function rd(e){return e==="running"}function Rv(e){return e.resumeRequired?e.hasLiveRemoteController?"defer_remote_owner":e.policy==="never"?"cancel_resume":e.policy==="confirm"?"prompt_resume":"auto_resume":"noop"}function Av(e){let t=ze(e.currentTaskBoundaryId),n=ze(e.localPendingTaskBoundaryId),r=ze(e.candidateTaskBoundaryId);return!(!n||t&&n!==t||r&&r!==(t||n))}function Cv(e){let t=String(e.serverRunId||"").trim();if(!t||e.taskStatus!=="running"||e.ignoredRunIds?.has(t))return!1;let n=String(e.localPendingRunId||"").trim();return!n||n!==t?!1:Av({currentTaskBoundaryId:e.currentTaskBoundaryId,localPendingTaskBoundaryId:e.localPendingTaskBoundaryId})}function Mv(e){let t=String(e.serverRunId||"").trim();if(!t||!e.ignoredRunIds?.has(t))return!1;let n=String(e.runStatus||"").trim().toLowerCase();return!(n==="completed"||n==="cancelled"||n==="failed"||n==="ended")}function Yp(e){if(e.taskStatus!=="running")return!1;let t=String(e.candidateRunId||"").trim(),n=String(e.localPendingRunId||"").trim();return!t||!String(e.candidateRunText||"").trim()||!n||e.ignoredRunIds?.has(t)||n!==t?!1:Av({currentTaskBoundaryId:e.currentTaskBoundaryId,localPendingTaskBoundaryId:e.localPendingTaskBoundaryId,candidateTaskBoundaryId:e.candidateTaskBoundaryId})}function Jp(e){return!!(e.localTaskStatus!=="running"||e.remoteTaskStatus&&e.remoteTaskStatus!=="running"||e.mode==="observer"&&!e.hasRemoteActiveRun)}function Nv(e){let{type:t,messageRunId:n,messageTaskBoundaryId:r,currentTaskBoundaryId:o,pendingRunId:i,sharedActiveRunId:a,authoritativeActiveRunId:s,taskStatus:c,ignoredRunIds:l}=e,d=ze(o),m=ze(r),f=t==="run_state_transition"||t==="run_completed";if(d&&(m&&m!==d||(t==="run_started"||t==="run_resumed"||f)&&!m&&!(f&&!!n&&!!i&&n===i&&c==="running")))return!0;if(!n&&t!=="run_started"&&t!=="run_resumed")return!1;if(n&&l?.has(n))return!0;let y=s||a;return t==="run_started"||t==="run_resumed"?!n||y&&y===n?!1:i?i!==n&&(!y||y!==n):!0:n?t==="run_completed"||t==="run_state_transition"?c!=="running"?!0:i?i!==n&&(!y||y!==n):!(y&&y===n):i?i!==n:!0:!1}function pE(e){return Math.max(1,Number(e)||1)}function fE(e){if(!e)return"idle";if(e.status!=="running")return"terminal";let t=String(e.boundaryReason||"").trim().toLowerCase();return t.includes("waiting_for_input")||t.includes("awaiting_user")?"awaiting_user":"running"}function Qp(e){return e==="completed"||e==="cancelled"||e==="failed"||e==="ended"}function Lv(e,t,n){let r=Number(t.at)||Date.now(),o=String(t.reason||"kernel").trim()||"kernel",i=pE(e.taskEpoch),a=e.task||n.createTask(o,r,t.taskId);if(t.type==="new_task")return{task:n.createTask(o,r,t.taskId),taskEpoch:i+1,lifecycle:"running",rotateBoundary:!0,clearPendingRun:!0,clearWorkerState:!0};if(t.type==="terminal"){let l=t.terminal;return{task:{...a,status:l,boundaryReason:o,endedAt:r},taskEpoch:i,lifecycle:"terminal",rotateBoundary:!1,clearPendingRun:!0,clearWorkerState:!0}}let c={...a,status:"running",boundaryReason:o,endedAt:void 0};return!c.lastUserAt&&!c.lastAssistantAt&&(c.lastAssistantAt=r),{task:c,taskEpoch:i,lifecycle:t.type==="awaiting_user"?"awaiting_user":fE(c),rotateBoundary:!1,clearPendingRun:!1,clearWorkerState:!1}}function Gs(e){return Array.isArray(e)?e.length:0}function Zp(e){return String(e||"").trim()||void 0}function Dv(e){return String(e||"").trim()||void 0}function Ov(e){if(!e)return 0;let t=0;String(e.pendingRun?.id||"").trim()&&(t+=4,e.pendingRun?.resumeRequired&&(t+=1),Zp(e.pendingRun?.taskBoundaryId)&&(t+=1)),e.activeTask?.status==="running"&&(t+=2);let r=e.workerState;return r&&(t+=1,String(r.rootUserInput||"").trim()&&(t+=1),t+=Math.min(3,Gs(r.history)),t+=Math.min(3,Gs(r.plannerHistory)),t+=Math.min(4,Gs(r.agentPrevSteps)),Gs(r.pendingAskUser?.questions)>0&&(t+=3)),Gs(e.taskTabScope?.touchedTabIds)>0&&(t+=1),t}function ef(e){let t=Dv(e.localState.pendingRun?.id),n=Dv(e.incomingState.pendingRun?.id),r=Zp(e.localState.pendingRun?.taskBoundaryId||e.localState.workerState?.taskBoundaryId),o=Zp(e.incomingState.pendingRun?.taskBoundaryId||e.incomingState.workerState?.taskBoundaryId);return{localRunId:t,incomingRunId:n,exactRunMatch:!!(t&&n&&t===n),localBoundaryId:r,incomingBoundaryId:o,exactBoundaryMatch:!!(r&&o&&r===o),localScore:Ov(e.localState),incomingScore:Ov(e.incomingState)}}function tf(e){let t=Math.max(0,Number(e.clockSkewMs)||200);if(e.incomingUpdatedAt>e.localUpdatedAt+t)return!0;if(!e.crossDomainResumeActive)return!1;let n=ef({localState:e.localState,incomingState:e.incomingState});if(n.incomingScore<=n.localScore)return!1;if(n.localBoundaryId&&n.incomingBoundaryId&&n.localBoundaryId!==n.incomingBoundaryId){let o=Math.max(1,Number(e.localState.taskEpoch)||1);if(Math.max(1,Number(e.incomingState.taskEpoch)||1)<o)return!1}return!!(n.exactRunMatch||n.exactBoundaryMatch||!!!(n.localRunId||n.localBoundaryId))}function Vr(e){return String(e||"").trim()||void 0}function nf(e){return e==="preserve_if_running"}function Pv(e,t){let n=Vr(t.boundaryId),r=Vr(t.runId),o=Vr(t.taskId),i=Array.from(e);if(n){let a=i.find(s=>Vr(s.boundaryId)===n);if(a)return a}if(r){let a=i.find(s=>Vr(s.pendingRun?.id)===r);if(a)return a}if(o){let a=i.find(s=>Vr(s.taskId)===o);if(a)return a}}function Bv(e){let t=Vr(e.localPendingRunId);if(t)return t;let n=Vr(e.sharedActiveRunId);if(!n)return;let r=Vr(e.sharedTaskId),o=Vr(e.activeTaskId);if(!(r&&o&&r!==o))return n}var od=class{constructor(t){H(this,"maxWorkers");H(this,"maxQueue");H(this,"activeWorkers",new Map);H(this,"queue",[]);H(this,"onWorkerFreed");this.maxWorkers=Math.min(Math.max(1,Number(t?.maxWorkers)||1),2),this.maxQueue=Math.max(1,Number(t?.maxQueue)||3),this.onWorkerFreed=t?.onWorkerFreed}acquire(t,n){if(this.activeWorkers.has(t))return this.activeWorkers.get(t);if(this.removeFromQueue(t),this.activeWorkers.size<this.maxWorkers){let r=new Worker(n.workerUrl,n.workerOptions);return this.activeWorkers.set(t,r),r}return this.queue.length>=this.maxQueue&&this.queue.shift(),this.queue.push(t),null}release(t){let n=this.activeWorkers.get(t);if(n){try{n.terminate()}catch{}this.activeWorkers.delete(t)}this.removeFromQueue(t),this.dequeueNext()}getWorker(t){return this.activeWorkers.get(t)}getActiveCount(){return this.activeWorkers.size}isQueued(t){return this.queue.includes(t)}getQueuedTasks(){return[...this.queue]}getActiveTasks(){return Array.from(this.activeWorkers.keys())}shutdown(){for(let[,t]of this.activeWorkers)try{t.terminate()}catch{}this.activeWorkers.clear(),this.queue=[]}removeFromQueue(t){let n=this.queue.indexOf(t);n>=0&&this.queue.splice(n,1)}dequeueNext(){if(this.queue.length===0||this.activeWorkers.size>=this.maxWorkers)return;let t=this.queue.shift();t&&this.onWorkerFreed&&this.onWorkerFreed(t)}};var mE=10,hE=8,gE=12,Uv=40,zv=60,bE=5*6e4,yE=5,_a=class e{constructor(t){H(this,"tasks",new Map);H(this,"activeTaskId");H(this,"taskOrder",[]);H(this,"workerPool");H(this,"maxArchivedTasks");H(this,"tabToTask",new Map);this.workerPool=new od({maxWorkers:t?.maxConcurrentWorkers,maxQueue:t?.maxQueuedTasks,onWorkerFreed:n=>this.onWorkerSlotFreed(n)}),this.maxArchivedTasks=Math.max(1,Number(t?.maxArchivedTasks)||mE)}createTask(t,n){let r=Xp(n);return this.tasks.set(r.taskId,r),this.taskOrder.push(r.taskId),r}dispatch(t,n){let r=this.tasks.get(t);if(!r)return{accepted:!1,task:Xp({taskId:t}),sideEffects:[],rejectedReason:`Task ${t} not found`};let{record:o,result:i}=Iv(r,n);return i.rejected||this.tasks.set(t,o),{accepted:!i.rejected,task:i.rejected?r:o,sideEffects:i.sideEffects,rejectedReason:i.rejectedReason}}switchActiveTask(t){let n=this.tasks.get(t);if(!n)return;let r=this.getActiveTask();return this.activeTaskId=t,n}getActiveTask(){if(this.activeTaskId)return this.tasks.get(this.activeTaskId)}getActiveTaskId(){return this.activeTaskId}listTasks(){return this.taskOrder.map(t=>this.tasks.get(t)).filter(t=>!!t)}getTask(t){return this.tasks.get(t)}hasTask(t){return this.tasks.has(t)}getTaskCount(){return this.tasks.size}updateTask(t,n){let r=this.tasks.get(t);if(!r)return;let o=n(r);return this.tasks.set(t,o),o}updateScrollPosition(t,n){let r=this.tasks.get(t);r&&this.tasks.set(t,{...r,scrollPosition:n})}assignWorker(t,n){let r=this.workerPool.acquire(t,n);if(r){let o=this.tasks.get(t);o&&this.tasks.set(t,{...o,workerId:t})}return r}releaseWorker(t){this.workerPool.release(t);let n=this.tasks.get(t);n&&this.tasks.set(t,{...n,workerId:void 0})}getWorker(t){return this.workerPool.getWorker(t)}getQueuedTasks(){return this.workerPool.getQueuedTasks()}isTaskQueued(t){return this.workerPool.isQueued(t)}onWorkerSlotFreed(t){}mapTabToTask(t,n){this.tabToTask.set(t,n);let r=this.tasks.get(n);r&&!r.tabIds.includes(t)&&this.tasks.set(n,{...r,tabIds:[...r.tabIds,t]})}getTaskForTab(t){let n=this.tabToTask.get(t);if(n)return this.tasks.get(n)}getTaskByBoundaryId(t){for(let n of this.tasks.values())if(n.boundaryId===t)return n}archiveTask(t){let n=this.tasks.get(t);if(!n)return;let r={...n,uiMessages:n.uiMessages.slice(-hE),timeline:n.timeline.slice(-gE),transientStatus:void 0,workerState:void 0,pendingRun:void 0};this.tasks.set(t,r),this.workerPool.release(t)}pruneArchivedTasks(){let t=[];for(let n of this.taskOrder){let r=this.tasks.get(n);r&&Ws(r.state)&&t.push(n)}for(;t.length>this.maxArchivedTasks;){let n=t.shift();this.tasks.delete(n),this.taskOrder=this.taskOrder.filter(r=>r!==n);for(let[r,o]of this.tabToTask)o===n&&this.tabToTask.delete(r)}}deleteTask(t){if(!this.tasks.has(t))return!1;this.workerPool.release(t),this.tasks.delete(t),this.taskOrder=this.taskOrder.filter(n=>n!==t);for(let[n,r]of this.tabToTask)r===t&&this.tabToTask.delete(n);return this.activeTaskId===t&&(this.activeTaskId=this.taskOrder.length>0?this.taskOrder[this.taskOrder.length-1]:void 0),!0}toPersistedState(){let t={};for(let[n,r]of this.tasks)t[n]=r;return{tasks:t,activeTaskId:this.activeTaskId,taskOrder:[...this.taskOrder]}}static fromPersistedState(t,n){let r=new e(n);if(t.tasks&&typeof t.tasks=="object"){for(let[o,i]of Object.entries(t.tasks))if(i&&typeof i=="object"&&i.taskId&&(r.tasks.set(o,i),Array.isArray(i.tabIds)))for(let a of i.tabIds)r.tabToTask.set(a,o)}return r.taskOrder=Array.isArray(t.taskOrder)?t.taskOrder.filter(o=>r.tasks.has(o)):Array.from(r.tasks.keys()),r.activeTaskId=t.activeTaskId&&r.tasks.has(t.activeTaskId)?t.activeTaskId:r.taskOrder.length>0?r.taskOrder[r.taskOrder.length-1]:void 0,r}static fromV1State(t,n){let r=new e(n);if(t.activeTask){let o=Vs(t.activeTask.status,t.activeTask.boundaryReason),i={taskId:t.activeTask.taskId,state:o,boundaryId:t.workerState?.taskBoundaryId||t.pendingRun?.taskBoundaryId||`bnd_migrated_${Date.now().toString(36)}`,startedAt:t.activeTask.startedAt,endedAt:t.activeTask.endedAt,lastUserAt:t.activeTask.lastUserAt,lastAssistantAt:t.activeTask.lastAssistantAt,uiMessages:Array.isArray(t.uiMessages)?[...t.uiMessages]:[],timeline:Array.isArray(t.timeline)?[...t.timeline]:[],workerState:t.workerState?{...t.workerState}:void 0,pendingRun:t.pendingRun?{...t.pendingRun}:void 0,tabScope:t.taskTabScope?{...t.taskTabScope}:void 0,rootUserInput:t.workerState?.rootUserInput,seedChatLog:t.workerState?.seedChatLog?[...t.workerState.seedChatLog]:[],transientStatus:t.transientStatus?{...t.transientStatus}:void 0,tabIds:t.taskTabScope?.touchedTabIds?[...t.taskTabScope.touchedTabIds]:[]};r.tasks.set(i.taskId,i),r.taskOrder.push(i.taskId),r.activeTaskId=i.taskId;for(let a of i.tabIds)r.tabToTask.set(a,i.taskId)}return r}enforceMemoryCaps(){for(let[,t]of this.tasks)Ws(t.state)||(t.uiMessages.length>Uv&&(t.uiMessages=t.uiMessages.slice(-Uv)),t.timeline.length>zv&&(t.timeline=t.timeline.slice(-zv)))}terminateInactiveWorkers(){let t=Date.now(),n=[];for(let[r,o]of this.tasks){if(o.state!=="paused")continue;t-(o.pausedAt||t)>bE&&this.workerPool.getWorker(r)&&(this.workerPool.release(r),n.push(r))}return n}canCreateNewTask(t){if(t>yE)return{allowed:!1,reason:`Too many Rover tabs open (${t}). Close some tabs to create new tasks.`};let n=this.workerPool.getActiveCount(),r=this.workerPool.getQueuedTasks().length;return n>=2&&r>=3?{allowed:!1,reason:"Maximum parallel tasks reached. Complete or cancel a task first."}:{allowed:!0}}shutdown(){this.workerPool.shutdown(),this.tasks.clear(),this.taskOrder=[],this.tabToTask.clear(),this.activeTaskId=void 0}};var vE=[/\/login/i,/\/signin/i,/\/auth/i,/\/oauth/i,/\/password/i,/\/reset/i,/\/verify/i,/\/confirm/i,/\/account/i,/\/security/i,/\/2fa/i,/\/mfa/i],kE=[/data:/i,/javascript:/i,/vbscript:/i,/blob:/i],xE=[/token/i,/secret/i,/password/i,/apikey/i,/api_key/i,/access_token/i,/refresh_token/i,/session/i,/cookie/i,/credential/i],wE=/^(\d{1,3}\.){3}\d{1,3}$/;function rf(e,t){let n=0,r=[],o;try{o=new URL(e)}catch{return{score:1,blocked:!1,reasons:["invalid_url"]}}for(let d of kE)if(d.test(e)){n+=3,r.push("exfiltration_scheme");break}wE.test(o.hostname)&&(n+=2,r.push("ip_address_host")),o.hostname.split(".").length>4&&(n+=1,r.push("excessive_subdomains"));let a=vE.filter(d=>d.test(o.pathname)).length;a>=2?(n+=2,r.push("multiple_credential_paths")):a===1&&(n+=1,r.push("credential_path"));let c=Array.from(o.searchParams.keys()).filter(d=>xE.some(m=>m.test(d))).length;return c>0&&(n+=Math.min(2,c),r.push("sensitive_query_params")),e.length>2e3&&(n+=1,r.push("excessive_url_length")),(e.match(/%[0-9A-Fa-f]{2}/g)||[]).length>20&&(n+=1,r.push("excessive_encoding")),o.port&&o.port!=="80"&&o.port!=="443"&&(n+=1,r.push("non_standard_port")),{score:n,blocked:n>=3,reasons:r}}function Hv(e,t){return rf(e,t).blocked}var Ia,id=null,Ks=!1,mr=32,Ea=4,SE="#6b6bff";function TE(){return document.querySelector('link[rel="icon"], link[rel="shortcut icon"]')}function Fv(){let e=document.createElement("link");return e.rel="icon",e.type="image/png",document.head.appendChild(e),e}function jv(e=SE){if(Ks)return!0;try{let t=TE();t&&(Ia=t.href,id=t);let n=document.createElement("canvas");n.width=mr,n.height=mr;let r=n.getContext("2d");if(!r)return!1;let o=new Image;return o.crossOrigin="anonymous",o.onload=()=>{r.drawImage(o,0,0,mr,mr),r.beginPath(),r.arc(mr-Ea-1,mr-Ea-1,Ea,0,Math.PI*2),r.fillStyle=e,r.fill(),r.strokeStyle="#1a1a2e",r.lineWidth=1,r.stroke();let i=n.toDataURL("image/png"),a=t||Fv();a.href=i,Ks=!0},o.onerror=()=>{r.fillStyle="#1a1a2e",r.fillRect(0,0,mr,mr),r.fillStyle="#fff",r.font="bold 20px sans-serif",r.textAlign="center",r.textBaseline="middle",r.fillText("R",mr/2,mr/2),r.beginPath(),r.arc(mr-Ea-1,mr-Ea-1,Ea,0,Math.PI*2),r.fillStyle=e,r.fill();let i=n.toDataURL("image/png"),a=t||Fv();a.href=i,Ks=!0},Ia?o.src=Ia:o.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEAAAAALAAAAAABAAEAAAIBAAA=",!0}catch{return!1}}function qv(){if(Ks){Ks=!1;try{id&&Ia&&(id.href=Ia),Ia=void 0,id=null}catch{}}}function $v(e){if(e.crossRegistrableDomain&&!e.serverAvailable)return{decision:e.fallbackDecision,decisionReason:"preflight_unavailable_fallback",failSafeBlocked:!1};let t=e.serverDecision==="stale_run"?e.fallbackDecision:e.serverDecision||e.fallbackDecision;return{decision:t,decisionReason:t,failSafeBlocked:!1}}function Wv(e){let t=String(e.pendingRunText||"").trim();if(t)return t;let n=String(e.activeRunText||"").trim();if(n)return n;let r=String(e.rootWorkerInput||"").trim();if(r)return r;let o=String(e.lastUserInputText||"").trim();return o||String(e.fallback||"navigation request").trim()||"navigation request"}function ad(e){let t=String(e||"").trim();if(t)try{return new URL(t).hostname.toLowerCase()}catch{return t.toLowerCase()}}function Vv(e){let t=String(e||"").trim();if(t)try{let n=new URL(t);return n.hash="",n.toString()}catch{return}}function _E(e){let t=Vv(e.targetUrl),n=ad(e.targetUrl);if(!n)return!1;let r=Number(e.sourceLogicalTabId);return(e.knownTabs||[]).some(o=>{if(!Number.isFinite(Number(o.logicalTabId))||Number(o.logicalTabId)<=0||Number.isFinite(r)&&Number(o.logicalTabId)===r)return!1;let i=Vv(o.url);return t&&i&&i===t?!0:ad(o.url)===n})}function EE(e){let t=Array.from(new Set((e.taskScopedTabIds||[]).map(r=>Number(r)).filter(r=>Number.isFinite(r)&&r>0))),n=Number(e.sourceLogicalTabId);return t.length>=2?!0:!Number.isFinite(n)||n<=0?!1:t.some(r=>r!==n)}function Gv(e){let t=ad(e.targetUrl),n=ad(e.currentHost||e.currentUrl);return t?Ss({host:t,currentHost:n,allowedDomains:e.allowedDomains,domainScopeMode:e.domainScopeMode})?n&&t===n?e.preferredDisposition==="new_tab"?"open_new_tab":"allow_same_tab":e.preferredDisposition==="new_tab"||_E(e)||EE(e)?"open_new_tab":"allow_same_tab":"open_new_tab":"allow_same_tab"}function Xs(e,t="tab_not_accessible"){let n=Number(e?.logicalTabId)||void 0,r=e?.url||"",o=e?.title||(e?.external?"External Tab (Inaccessible)":"Detached Runtime Tab (Unavailable)"),i=String(t||"").trim(),a=i?` Reason: ${i}.`:"",s=e?.external?`This external tab is tracked in virtual mode only. Live DOM control and accessibility-tree access are unavailable here.${a}`:`This tab is a detached runtime placeholder and is not attached to an active Rover runtime. Switch to an attached tab or reopen the page.${a}`;return{url:r,title:o,contentType:"text/html",content:s,metadata:{inaccessible:!0,external:!!e?.external,accessMode:e?.external?"external_placeholder":"detached_runtime_placeholder",roverAvailability:e?.roverAvailability||"unknown",reason:t,logicalTabId:n}}}function Ys(e,t,n="tab_not_accessible"){let r=Number(t?.logicalTabId)||0,o=t?.url||"",i=t?.external?`Tab ${r} is external to the active runtime and cannot be controlled directly.`:`Tab ${r} is not attached to an active Rover runtime.`,a=t?.external?"DOMAIN_SCOPE_BLOCKED":"TAB_NOT_ACCESSIBLE";return{success:!1,error:i,allowFallback:!0,output:{success:!1,error:{code:a,message:i,missing:[],next_action:t?.external?"External pages open in a new tab with notice. Switch to that tab or continue on an allowed Rover tab.":"Switch to an active tab and retry.",retryable:!1},blocked_url:o||void 0,logical_tab_id:r||void 0,external:!!t?.external,policy_action:t?.external?"open_new_tab_notice":void 0,reason:n},errorDetails:{code:a,message:i,retryable:!1,details:{logicalTabId:r,blockedUrl:o,external:!!t?.external,reason:n}}}}function IE(e){if(e.startNewTask||!e.hasAskUserAnswers||e.taskStatus!=="running")return!1;let t=ze(e.pendingAskUserBoundaryId),n=ze(e.currentTaskBoundaryId);return t&&n&&t!==n?!1:(Math.max(0,Number(e.pendingAskUserQuestionCount)||0)<=0,!0)}function Kv(e){return!IE(e)}var RE=new Set(["a","an","and","are","as","at","be","by","for","from","how","i","in","is","it","of","on","or","that","the","this","to","was","what","when","where","who","why","with","you","your"]);function of(e){return String(e||"").replace(/\s+/g," ").trim().slice(0,2e3)}function AE(e){if(!Array.isArray(e)||e.length===0)return[];let t=[];for(let n of e){if(!n||n.role!=="user"&&n.role!=="assistant")continue;let r=of(n.text);if(!r)continue;if(n.role==="user"){t.push({user:r,ts:Number(n.ts)||0});continue}if(!t.length)continue;let o=t[t.length-1];o.assistant||(o.assistant=r,o.ts=Math.max(o.ts,Number(n.ts)||0))}return t}function Xv(e){let t=String(e||"").toLowerCase().split(/[^a-z0-9]+/g).map(n=>n.trim()).filter(n=>n.length>=2&&!RE.has(n));return new Set(t)}function CE(e,t){let n=Xv(e),r=Xv(t);if(!n.size||!r.size)return 0;let o=0;for(let a of n)r.has(a)&&(o+=1);let i=n.size+r.size-o;return i<=0?0:o/i}function Yv(e){if(e.mode!=="heuristic_same_window")return{reason:"mode_disabled",overlap:0};let t=e.previousTaskStatus;if(t!=="completed"&&t!=="ended"&&t!=="cancelled")return{reason:"status_ineligible",overlap:0};let n=AE(e.previousTaskMessages),r=of(e.previousTaskUserInput),o=of(e.previousTaskAssistantOutput),i=n.length?n:r&&o?[{user:r,assistant:o,ts:Number(e.previousTaskCompletedAt)||0}]:[];if(!i.some(p=>p.user))return{reason:"missing_previous_intent",overlap:0};if(!i.some(p=>p.assistant))return{reason:"missing_previous_output",overlap:0};let a=Math.max(0,Number(e.previousTaskCompletedAt)||0),s=Math.max(a,Number(e.now)||Date.now()),c=Math.max(1e3,Number(e.ttlMs)||0);if(!a||s-a>c)return{reason:"ttl_expired",overlap:0};let l=Math.max(0,Math.min(1,Number(e.minLexicalOverlap)||0)),d=i.map((p,b)=>{let y=CE(p.user,e.currentPrompt),k=i.length>1?b/(i.length-1)*.05:.05;return{...p,overlap:y,score:y+k,index:b}}).filter(p=>!!p.assistant);if(!d.length)return{reason:"missing_previous_output",overlap:0};let m=d.filter(p=>p.overlap>=l).sort((p,b)=>b.score!==p.score?b.score-p.score:b.index-p.index).slice(0,2).sort((p,b)=>p.index-b.index),f=d.reduce((p,b)=>Math.max(p,b.overlap),0);return m.length?{reason:"attached",overlap:f,chatLog:m.flatMap(p=>[{role:"user",message:p.user},{role:"model",message:p.assistant||""}])}:{reason:"low_lexical_overlap",overlap:f}}var zf=2,Ud="rover:runtime:",ME="rover:runtime-id:",vk="rover:visitor-id:",vd=qt.uiMessages,kd=qt.timelineEvents,Hf=qt.uiMessages,NE=4,Ff=qt.plannerHistory,jf=qt.prevSteps,LE=8e3,DE=12,OE=15*6e4,PE=2,BE=12e4,UE=.18,zE=30,HE=3600*24*365,kk=1,FE=3e3,jE=4500,qE=12e3,$E=30,xd=240,Jv=5*6e4,wd=100,Sd=12,WE=80,VE=200,GE=2e3,KE=8,XE=240,YE=48,JE=2600,QE=800,ZE=5e3,eI="rover:handoff-bootstrap:",xk=3e4,tI=12e4,nI=2500,rI=2*6e4,oI=45e3,iI=2e4,pc=400,aI=15e3,sI=7,cI=80,lI=2500,dI=250,uI=1e4,pI=400,af=40,sf=1e3,fI=350,mI=1e4,fc=3e4,hI=20,gI=6,bI=12,yI=bI*1024*1024,qa="data-rover-agent-discovery",Bn="rover-agent-discovery-cue",hf="rover-agent-discovery-cue-style",Cn="rover-agent-discovery-landmark",Mn="rover-agent-discovery-actions",vI="AI ready",gf="AI-ready path available on this page",Qv="Alt+Shift+A",kI="rover:agent-discovery-changed",Zv=28,ek=12,qo=null,kt=null,rt=null,ce=null,R=null,Un=null,yo=null,u=null,ko=null,St="",P=null,Gt=null,pd=null,Gn=[],fd=!1,La=!1,wk=0,bf=0,yf=0,Td=0,oc=!1,xo=null,xI=1500,wI=5e3,tk=1e4,nk=1200,Sk=new Set(["error","navigation_guardrail","checkpoint_error","tab_event_conflict_exhausted","voice_error","voice_permission_denied"]),SI=new Set(["ready","error","auth_required","navigation_guardrail","checkpoint_error","tab_event_conflict_exhausted","voice_error","voice_permission_denied"]),rn,Cr,Ko=!1,Mi=!1,ic=null,ac=null,gn=null,vf="",$a=!1,Aa="",Pt="controller",vr=!1,Wa=!1,Ar=!0,Or=!1,Ln=!1,Hn=!1,Xr=!1,Ti=[],TI=3,rk=1e4,He="",Kt=null,Ot=null,zn=0,Uo=null,md=!1,kf=!1,xf=!1,wf=!1,Wo=[],Da=null,Oa=null,Ma="",Ii="",zo=null,Pa=null,sc="",tc="",Ho=null,Ri="",mc=null,Ve=null,Ba=null,dn=!1,Xo=!1,Sf=!1;function qf(e){if(!e||typeof e!="object")return;let t=typeof e.requestId=="string"?e.requestId.trim():"";if(!t)return;let n=e.executionTarget==="browser_attach"||e.executionTarget==="cloud_browser"?e.executionTarget:void 0,r=e.promptDispatchState==="pending"||e.promptDispatchState==="started"||e.promptDispatchState==="failed"?e.promptDispatchState:void 0;return{requestId:t,status:typeof e.status=="string"&&e.status.trim()||void 0,executionTarget:n,runId:typeof e.runId=="string"&&e.runId.trim()||void 0,promptDispatchState:r,attachedAt:Number(e.attachedAt)||void 0}}function Tk(e=Ve){if(e)return qf({requestId:e.requestId,status:e.status,executionTarget:e.executionTarget,runId:e.runId,promptDispatchState:e.promptDispatchState,attachedAt:e.attachCompletedAt})}function Ni(){u&&(u.launchBinding=Tk(),Ye())}function _k(){return Tk()||qf(u?.launchBinding)}function Li(e,t,n,r){e.addEventListener(t,n,r),Wo.push({target:e,event:t,handler:n,options:r}),Wo.length>100&&Wo.length%50===0&&_I()}function _I(){for(let e=Wo.length-1;e>=0;e--){let t=Wo[e],n=t.target;if(n&&"isConnected"in n&&n.isConnected===!1){try{t.target.removeEventListener(t.event,t.handler,t.options)}catch{}Wo.splice(e,1)}}}var _d=null,nc=0,Vo=null,Ua,sd="",Tn,cc,lc=!1,za=null,Pi,Zr,Va=0,EI=50,II=100,RI=20,AI=3e5;function Ek(e,t){for(;e.size>t;){let n=e.keys().next();if(n.done)break;e.delete(n.value)}}function CI(e,t){let n=e.values();for(;e.size>t;){let r=n.next();if(r.done)break;e.delete(r.value)}}var Yr=new Map,gr=new Set,Te=null,wn,Jr=0,vo=1,Tc,hc="",se=null,Fo=null,gc=new Set,dc="",Ca="",jo=null,bc=null,Tf=!1,MI=new Set(["execution_started","execution_state_transition","execution_completed","assistant","status","tool_start","tool_result","runtime_tabs_diagnostics","auth_required","navigation_guardrail","error"]),_f={read:"rover_external_read_context",act:"rover_external_act_context"},hd=[],gd=new Map,Nn=new Map;function lt(e,t){st(e,t);let n=gd.get(e);if(n)for(let r of n)try{r(t)}catch{}}function Ik(e){return mv(e)}async function NI(e){if(gc.size===0)return[];let t=[];for(let n of gc)try{let r=await n(e),o=Array.isArray(r)?r:r==null?[]:[r];for(let i of o){let a=Ik(i);a&&t.push(a)}}catch{}return Ur(t)}function Rk(e){return hv({msg:e,runId:String(u?.activeTask?.taskId||Ya()?.taskId||"").trim()||void 0,currentRunBoundaryId:u?.pendingRun?.taskBoundaryId||He,normalizeRunBoundaryId:t=>ze(typeof t=="string"?t:void 0),pageUrl:typeof window<"u"?window.location.href:void 0,now:Date.now()})}function Ak(e,t){let n=typeof e?.runId=="string"&&e.runId.trim()?e.runId.trim():String(u?.pendingRun?.id||"").trim()||void 0,r=String(u?.activeTask?.taskId||Ya()?.taskId||"").trim()||void 0;return gv({msg:n?{...e,executionId:n}:e,runId:r,currentRunBoundaryId:u?.pendingRun?.taskBoundaryId||He,normalizeRunBoundaryId:o=>ze(typeof o=="string"?o:void 0),completionState:t,latestSummary:n?Yr.get(n):void 0,pageUrl:typeof window<"u"?window.location.href:void 0,now:Date.now()})}function Ck(e,t){gd.has(e)||gd.set(e,new Set);let n=gd.get(e);return n.add(t),()=>{n.delete(t)}}function LI(e){return typeof e=="string"?{name:e}:e}function DI(){if(typeof window>"u")return[];let e=window[Wy];if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){if(!r||typeof r!="object")continue;let o=String(r.name||"").trim();!o||n.has(o)||(n.add(o),t.push(r))}return t}function $f(){let e=Wf(R);return e?Po(e):null}function Wf(e){if(!e||typeof window>"u")return null;let t=vm(e);if(t?.enabled===!1)return null;let n=String(e.agentDiscovery?.siteUrl||`${window.location.origin}/`).trim(),r=km(e),o=kt?.listClientTools?.()||e.tools?.client||[],i=DI();return{siteId:e.siteId,siteUrl:String(t?.siteUrl||n).trim(),apiBase:e.apiBase,siteName:String(t?.siteName||e.ui?.agent?.name||document.title||"").trim()||window.location.hostname,description:String(t?.description||"").trim()||`Structured Rover entrypoints for ${window.location.hostname}. Prefer these explicit Rover skills and tools over brittle DOM automation whenever they match the user's goal.`,version:String(t?.version||gn?.version||"").trim()||void 0,agentCardUrl:String(t?.agentCardUrl||"").trim()||bo,roverSiteUrl:String(t?.roverSiteUrl||"").trim()||xi,llmsUrl:String(t?.llmsUrl||"").trim()||void 0,enabled:t?.enabled,visibleCue:t?.visibleCue,discoverySurface:t?.discoverySurface,hostSurfaceSelector:t?.hostSurfaceSelector,preferExecution:t?.preferExecution||(r?.allowCloudBrowser===!1?"browser":"auto"),shortcuts:xm(e),tools:o,webmcpTools:i,additionalSkills:t?.additionalSkills,capabilities:t?.capabilities,pages:t?.pages,pageContext:t?.pageContext,aiAccess:r}}function zd(e){return!e||typeof document>"u"||km(e)?.enabled===!1?!1:vm(e)?.enabled!==!1}function Ed(){if(!(typeof document>"u"))for(let e of Array.from(document.querySelectorAll(`[${qa}]`)))e.remove()}function cd(e,t,n){let r=document.head||document.documentElement;if(!r)return;let o=document.querySelector(`script[${qa}="${e}"]`);o?o.type!==t&&(o.type=t):(o=document.createElement("script"),o.setAttribute(qa,e),o.type=t,r.appendChild(o)),o.textContent!==n&&(o.textContent=n)}function ok(e,t,n,r){let o=document.head||document.documentElement;if(!o)return;let i=document.querySelector(`link[${qa}="${e}"]`);i||(i=document.createElement("link"),i.setAttribute(qa,e),o.appendChild(i)),i.rel=t,i.href=n,i.type=r}function Vf(e){if(typeof document>"u")return;if(!zd(e)){Ed();return}let t=Wf(e);if(!t){Ed();return}let{cardJson:n,llmsUrl:r,marker:o,pageManifestJson:i,roverSiteJson:a,serviceDescHref:s}=Yl(t);cd("marker","application/agent+json",JSON.stringify(o)),ok("service-desc","service-desc",s,"application/json"),r?ok("service-doc","service-doc",r,"text/markdown"):document.querySelector(`link[${qa}="service-doc"]`)?.remove(),cd("rover-site","application/rover-site+json",a),cd("page","application/rover-page+json",i),cd("agent-card","application/agent-card+json",n)}function Kn(e){return String(e||"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function OI(e){let t=String(e.page?.beaconLabel||e.page?.visibleCueLabel||e.policy?.beaconLabel||"").trim();return t||(e.policy?.branding==="rover"?"Rover AI":e.policy?.branding==="co"?"AI with Rover":vI)}function Mk(e){let t=String(e||"").trim();return t?`${t}. ${gf}`:gf}function PI(){return!!(Xo||u?.uiOpen||Fo||Ve?.requestId)}function Gf(){if(!(typeof document>"u"))for(let e of Array.from(document.querySelectorAll('[data-rover-discovery-host="true"]')))e.removeAttribute("data-rover-discovery-host"),e.removeAttribute("data-rover-discovery-mode"),e.removeAttribute("data-rover-host-surface"),e.removeAttribute("data-rover-discovery-branding"),e.removeAttribute("data-rover-current-page"),e.removeAttribute("data-rover-capability-count")}function BI(e,t){if(typeof document>"u"||t?.hostSurface==="floating-corner")return null;let n=[String(e.hostSurfaceSelector||"").trim(),"[data-rover-host-surface]","[data-rover-assistant-surface]","[data-rover-chat-surface]"].filter(Boolean);for(let r of n)try{let o=document.querySelector(r);if(o instanceof HTMLElement)return o}catch{}return null}function Yo(e){if(!zd(e))return null;let t=Wf(e);if(!t)return null;let n=Yl(t),r=n.pageManifest,o=n.card.extensions?.rover.discoverySurface;if(!o)return null;let i=n.roverSite.actions||[],a=(r.capabilityIds||[]).map(m=>i.find(f=>f.capabilityId===m)).filter(m=>!!m),s=BI(t,o),c=!!s&&o.mode!=="debug"&&(o.mode==="integrated"||o.hostSurface!=="floating-corner"),l=u?.uiHidden===!0||u?.uiOpen===!0,d=OI({page:r,policy:o});return{config:t,payloads:n,page:r,policy:o,visibleCapabilities:a,hostSurfaceTarget:s,integratedHost:c,agentModeActive:PI(),hidden:l,beaconLabel:d}}function Nk(){typeof document>"u"||Sf||(Sf=!0,Li(document,"keydown",(e=>{let t=e;if(t.key==="Escape"&&dn){dn=!1,Fn(R);return}if(!t.altKey||!t.shiftKey||t.key.toLowerCase()!=="a")return;let n=Yo(R);!n||n.policy.mode==="silent"||n.integratedHost||(t.preventDefault(),Xo=!0,dn=!dn,Fn(R))}),!0),Li(document,"pointerdown",(e=>{if(!dn)return;let n=e.target;if(!n)return;let r=document.getElementById(Bn),o=document.getElementById(Mn);r?.contains(n)||o?.contains(n)||(dn=!1,Fn(R))}),!0))}function Kf(){if(typeof document>"u"||document.getElementById(hf))return;let e=`calc(${78+ek}px + env(safe-area-inset-right))`,t=`calc(${20+Math.round((58-Zv)/2)}px + env(safe-area-inset-bottom))`,n=`calc(${66+ek}px + env(safe-area-inset-right))`,r=`calc(${14+Math.round((52-Zv)/2)}px + env(safe-area-inset-bottom))`,o=document.createElement("style");o.id=hf,o.textContent=`
4057
4164
  #${Bn} {
4058
4165
  position: fixed;
4059
4166
  right: ${e};
@@ -4117,7 +4224,7 @@ Author: ${s.textContent} `),a.textContent&&(t+=`Comment: ${a.textContent}
4117
4224
  text-overflow: ellipsis;
4118
4225
  white-space: nowrap;
4119
4226
  }
4120
- #${Cn} {
4227
+ #${Mn} {
4121
4228
  position: fixed;
4122
4229
  right: 24px;
4123
4230
  bottom: 60px;
@@ -4132,24 +4239,24 @@ Author: ${s.textContent} `),a.textContent&&(t+=`Comment: ${a.textContent}
4132
4239
  backdrop-filter: blur(14px);
4133
4240
  -webkit-backdrop-filter: blur(14px);
4134
4241
  }
4135
- #${Cn}[hidden] {
4242
+ #${Mn}[hidden] {
4136
4243
  display: none !important;
4137
4244
  }
4138
- #${Cn} h2 {
4245
+ #${Mn} h2 {
4139
4246
  margin: 0 0 4px;
4140
4247
  font: 700 12px/1.25 ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
4141
4248
  }
4142
- #${Cn} p {
4249
+ #${Mn} p {
4143
4250
  margin: 0 0 10px;
4144
4251
  color: rgba(23, 23, 23, 0.7);
4145
4252
  font: 500 11px/1.4 ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
4146
4253
  }
4147
- #${Cn} .rover-discovery-actions {
4254
+ #${Mn} .rover-discovery-actions {
4148
4255
  display: flex;
4149
4256
  flex-direction: column;
4150
4257
  gap: 8px;
4151
4258
  }
4152
- #${Cn} .rover-discovery-action {
4259
+ #${Mn} .rover-discovery-action {
4153
4260
  width: 100%;
4154
4261
  display: block;
4155
4262
  padding: 9px 10px;
@@ -4161,17 +4268,17 @@ Author: ${s.textContent} `),a.textContent&&(t+=`Comment: ${a.textContent}
4161
4268
  cursor: pointer;
4162
4269
  font: 600 12px/1.3 ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
4163
4270
  }
4164
- #${Cn} .rover-discovery-action:hover {
4271
+ #${Mn} .rover-discovery-action:hover {
4165
4272
  border-color: rgba(0, 0, 0, 0.14);
4166
4273
  transform: translateY(-1px);
4167
4274
  }
4168
- #${Cn} .rover-discovery-action-copy {
4275
+ #${Mn} .rover-discovery-action-copy {
4169
4276
  display: block;
4170
4277
  margin-top: 3px;
4171
4278
  font: 500 11px/1.35 ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
4172
4279
  color: rgba(23, 23, 23, 0.64);
4173
4280
  }
4174
- #${An} {
4281
+ #${Cn} {
4175
4282
  position: absolute;
4176
4283
  width: 1px;
4177
4284
  height: 1px;
@@ -4182,10 +4289,10 @@ Author: ${s.textContent} `),a.textContent&&(t+=`Comment: ${a.textContent}
4182
4289
  white-space: nowrap;
4183
4290
  border: 0;
4184
4291
  }
4185
- #${An}[hidden] {
4292
+ #${Cn}[hidden] {
4186
4293
  display: none !important;
4187
4294
  }
4188
- #${An}[data-rover-debug="true"] {
4295
+ #${Cn}[data-rover-debug="true"] {
4189
4296
  position: fixed;
4190
4297
  right: 24px;
4191
4298
  bottom: 96px;
@@ -4206,7 +4313,7 @@ Author: ${s.textContent} `),a.textContent&&(t+=`Comment: ${a.textContent}
4206
4313
  backdrop-filter: blur(12px);
4207
4314
  -webkit-backdrop-filter: blur(12px);
4208
4315
  }
4209
- #${An} strong {
4316
+ #${Cn} strong {
4210
4317
  display: block;
4211
4318
  margin-bottom: 8px;
4212
4319
  font-size: 12px;
@@ -4214,28 +4321,28 @@ Author: ${s.textContent} `),a.textContent&&(t+=`Comment: ${a.textContent}
4214
4321
  text-transform: uppercase;
4215
4322
  color: rgba(23, 23, 23, 0.78);
4216
4323
  }
4217
- #${An} .rover-discovery-summary {
4324
+ #${Cn} .rover-discovery-summary {
4218
4325
  display: block;
4219
4326
  margin-bottom: 8px;
4220
4327
  color: rgba(23, 23, 23, 0.74);
4221
4328
  }
4222
- #${An} ol {
4329
+ #${Cn} ol {
4223
4330
  margin: 0;
4224
4331
  padding-left: 18px;
4225
4332
  }
4226
- #${An} li + li {
4333
+ #${Cn} li + li {
4227
4334
  margin-top: 8px;
4228
4335
  }
4229
- #${An} .rover-discovery-capability-label {
4336
+ #${Cn} .rover-discovery-capability-label {
4230
4337
  display: inline-block;
4231
4338
  font-weight: 600;
4232
4339
  }
4233
- #${An} .rover-discovery-capability-copy {
4340
+ #${Cn} .rover-discovery-capability-copy {
4234
4341
  display: block;
4235
4342
  margin-top: 2px;
4236
4343
  color: rgba(23, 23, 23, 0.68);
4237
4344
  }
4238
- #${An} code {
4345
+ #${Cn} code {
4239
4346
  font: 600 11px/1.35 ui-monospace, SFMono-Regular, Menlo, monospace;
4240
4347
  background: rgba(0, 0, 0, 0.06);
4241
4348
  border-radius: 6px;
@@ -4246,15 +4353,15 @@ Author: ${s.textContent} `),a.textContent&&(t+=`Comment: ${a.textContent}
4246
4353
  #${Bn} {
4247
4354
  max-width: min(88px, calc(100vw - 32px));
4248
4355
  }
4249
- #${Cn},
4250
- #${An}[data-rover-debug="true"] {
4356
+ #${Mn},
4357
+ #${Cn}[data-rover-debug="true"] {
4251
4358
  right: 16px;
4252
4359
  width: min(280px, calc(100vw - 32px));
4253
4360
  }
4254
- #${Cn} {
4361
+ #${Mn} {
4255
4362
  bottom: 52px;
4256
4363
  }
4257
- #${An}[data-rover-debug="true"] {
4364
+ #${Cn}[data-rover-debug="true"] {
4258
4365
  bottom: 88px;
4259
4366
  }
4260
4367
  }
@@ -4264,7 +4371,7 @@ Author: ${s.textContent} `),a.textContent&&(t+=`Comment: ${a.textContent}
4264
4371
  bottom: ${r};
4265
4372
  }
4266
4373
  }
4267
- `,(document.head||document.documentElement)?.appendChild(o)}function Vf(){typeof document>"u"||(document.getElementById(Bn)?.remove(),document.getElementById(Cn)?.remove(),dn=!1)}function Wf(){typeof document>"u"||document.getElementById(An)?.remove()}function wk(){typeof document>"u"||document.getElementById(uf)?.remove()}function nI(){if(typeof document>"u")return null;xk(),$f();let e=document.getElementById(Bn);return e||(e=document.createElement("button"),e.id=Bn,e.type="button",e.setAttribute("data-rover-discovery-cue","true"),e.addEventListener("click",()=>{let t=Ko(I);if(t){if(Go=!0,!t.visibleCapabilities.length||t.policy.mode==="debug"){dn=!1,Sn();return}dn=!dn,Fn(I)}}),e.addEventListener("focus",()=>{let t=Ko(I);!t||t.policy.actionReveal!=="focus"||t.hidden||(Go=!0,dn=!0,Fn(I))}),(document.body||document.documentElement)?.appendChild(e),e)}function rI(){if(typeof document>"u")return null;xk(),$f();let e=document.getElementById(Cn);return e||(e=document.createElement("section"),e.id=Cn,e.setAttribute("role","dialog"),e.setAttribute("aria-modal","false"),e.setAttribute("aria-label","Rover actions"),e.hidden=!0,(document.body||document.documentElement)?.appendChild(e),e)}function oI(){if(typeof document>"u")return null;$f();let e=document.getElementById(An);return e||(e=document.createElement("aside"),e.id=An,e.setAttribute("role","complementary"),e.setAttribute("aria-label",pf),(document.body||document.documentElement)?.appendChild(e),e)}function aI(e){qf();let t=Ko(e);t?.hostSurfaceTarget&&(t.hostSurfaceTarget.setAttribute("data-rover-discovery-host","true"),t.hostSurfaceTarget.setAttribute("data-rover-discovery-mode",t.policy.mode),t.hostSurfaceTarget.setAttribute("data-rover-host-surface",t.policy.hostSurface),t.hostSurfaceTarget.setAttribute("data-rover-discovery-branding",t.policy.branding),t.hostSurfaceTarget.setAttribute("data-rover-current-page",t.page.pageId),t.hostSurfaceTarget.setAttribute("data-rover-capability-count",String(t.visibleCapabilities.length)))}function iI(e){if(typeof document>"u")return;if(!zd(e)){Wf();return}let t=Ko(e);if(!t)return;let n=oI();if(!n)return;let r=t.policy.mode==="debug";if(n.hidden=!1,n.setAttribute("aria-label",kk(t.beaconLabel)),n.setAttribute("data-rover-debug",r?"true":"false"),n.setAttribute("data-rover-discovery-mode",t.policy.mode),n.setAttribute("data-rover-host-surface",t.policy.hostSurface),n.setAttribute("data-rover-current-page",t.page.pageId),!t.visibleCapabilities.length){n.innerHTML=[`<strong>${Xn(t.beaconLabel)}</strong>`,'<div class="rover-discovery-summary">Rover is published on this page and ready through the task protocol, page manifest, and semantic surface.</div>'].join("");return}let o=t.visibleCapabilities.slice(0,6).map(a=>{let i=String(a.description||"Rover action available on this page.").trim();return[`<li data-rover-capability-id="${Xn(a.capabilityId)}">`,`<span class="rover-discovery-capability-label">${Xn(a.label)}</span>`,r?`<code>${Xn(a.capabilityId)}</code>`:"",`<span class="rover-discovery-capability-copy">${Xn(i)}</span>`,"</li>"].join("")}).join("");n.innerHTML=[`<strong>${Xn(t.beaconLabel)}</strong>`,`<div class="rover-discovery-summary">${Xn(t.page.capabilitySummary?.length?t.page.capabilitySummary.join(" \u2022 "):"Current-page Rover actions are available.")}</div>`,`<ol>${o}</ol>`].join("")}function sI(e){if(typeof document>"u")return;let t=Ko(e);if(!t||t.policy.mode==="silent"||t.integratedHost||t.policy.mode!=="debug"){Vf();return}let n=nI();n&&(n.innerHTML=`<span class="rover-discovery-mark" aria-hidden="true"><span></span><span></span><span></span></span><span class="rover-discovery-label">${Xn(t.beaconLabel)}</span>`,n.setAttribute("aria-label",kk(t.beaconLabel)),n.setAttribute("aria-describedby",An),n.setAttribute("aria-haspopup",t.visibleCapabilities.length?"dialog":"false"),n.setAttribute("aria-expanded",dn?"true":"false"),n.setAttribute("aria-keyshortcuts",Fv),n.setAttribute("title",`${t.beaconLabel} (${Fv})`),n.setAttribute("data-rover-discovery-mode",t.policy.mode),n.setAttribute("data-rover-host-surface",t.policy.hostSurface),n.setAttribute("data-rover-branding",t.policy.branding),n.hidden=t.hidden,n.setAttribute("aria-hidden",t.hidden?"true":"false"))}function cI(e){if(typeof document>"u")return;let t=Ko(e);if(!t||t.policy.mode==="silent"||t.integratedHost||t.policy.mode!=="debug"){document.getElementById(Cn)?.remove(),dn=!1;return}if(!(!t.hidden&&t.visibleCapabilities.length>0&&(dn||t.policy.actionReveal==="agent-handshake"&&t.agentModeActive))){document.getElementById(Cn)?.remove(),dn=!1;return}let r=rI();if(!r)return;let o=t.visibleCapabilities.slice(0,Bs),a=t.visibleCapabilities.length>Bs?"More actions":"Open Rover";r.hidden=!1,r.setAttribute("data-rover-discovery-mode",t.policy.mode),r.setAttribute("data-rover-current-page",t.page.pageId),r.innerHTML=[`<h2>${Xn(t.beaconLabel)}</h2>`,`<p>${Xn(t.page.capabilitySummary?.length?t.page.capabilitySummary.join(" \u2022 "):"Current-page Rover actions are available.")}</p>`,'<div class="rover-discovery-actions">',...o.map(i=>[`<button type="button" class="rover-discovery-action" data-rover-discovery-action="capability" data-rover-capability-id="${Xn(i.capabilityId)}">`,Xn(i.label),`<span class="rover-discovery-action-copy">${Xn(String(i.description||"Open Rover on this action.").trim())}</span>`,"</button>"].join("")),`<button type="button" class="rover-discovery-action" data-rover-discovery-action="open">${Xn(a)}</button>`,"</div>"].join("");for(let i of Array.from(r.querySelectorAll("[data-rover-discovery-action]")))i.addEventListener("click",()=>{if(Go=!0,i.getAttribute("data-rover-discovery-action")==="capability"){let c=String(i.getAttribute("data-rover-capability-id")||"").trim(),d=Ko(I)?.visibleCapabilities.find(m=>m.capabilityId===c);dn=!1,Sn(),d?.rover?.prompt?br(d.rover.prompt,{reason:"agent_discovery_surface",routing:d.rover.routing==="act"||d.rover.routing==="planner"?d.rover.routing:"auto"}):d&&wn("system",`Rover can help with "${d.label}" from this page. Continue in the assistant to execute it safely.`,!0),Fn(I);return}dn=!1,Sn(),Fn(I)})}function Fn(e){if(!zd(e)){Id(),Vf(),Wf(),wk(),qf();return}jf(e),aI(e),sI(e),cI(e),iI(e)}function So(e){try{return`${e}-${crypto.randomUUID()}`}catch{return`${e}-${Date.now()}-${Math.floor(Math.random()*1e5)}`}}function Dr(){return So("task-boundary")}function _o(e){if(!e||typeof e!="object")return;let t=typeof e.handoffId=="string"?e.handoffId.trim():"",n=typeof e.targetUrl=="string"?e.targetUrl.trim():"";if(!t||!n)return;let r=Number(e.sourceLogicalTabId);return{handoffId:t,targetUrl:n,sourceLogicalTabId:Number.isFinite(r)&&r>0?r:void 0,runId:typeof e.runId=="string"&&e.runId.trim()?e.runId.trim():void 0,createdAt:Number(e.createdAt)||Date.now(),consumed:e.consumed===!0}}function Tk(e){if(e)return{handoffId:e.handoffId,targetUrl:e.targetUrl,sourceLogicalTabId:e.sourceLogicalTabId,runId:e.runId,ts:e.createdAt}}function rf(e){return{handoffId:e.handoffId,targetUrl:e.targetUrl,sourceLogicalTabId:e.sourceLogicalTabId,runId:e.runId,createdAt:Number(e.ts)||Date.now(),consumed:!1}}function Pa(e){let t=typeof e?.pendingRun?.taskBoundaryId=="string"?e.pendingRun.taskBoundaryId:void 0;if(t)return We(t);let n=typeof e?.workerState?.taskBoundaryId=="string"?e.workerState.taskBoundaryId:void 0;if(n)return We(n)}function lI(e){let t=Pa(e);return t||Dr()}function Yn(){return We(Fe)||Pa(u)}function Na(e){let t=mv({source:e.source,incomingBoundaryId:e.incomingBoundaryId,currentBoundaryId:Yn(),taskEpochAdvanced:e.taskEpochAdvanced,hasPendingRun:!!u?.pendingRun,taskStatus:u?.activeTask?.status,allowBootstrapAdoption:e.allowBootstrapAdoption});return t.accept?(t.adoptedBoundaryId&&(Fe=t.adoptedBoundaryId),!0):!1}function Gf(e=12e4){let t=_o(u?.lastNavigationHandoff);if(!t||t.consumed===!0)return;let n=Date.now()-Number(t.createdAt||0);if(!(!Number.isFinite(n)||n<-5e3||n>e))return t}function dI(e){if(!u||!Ip(e.resumeReason))return!1;let t=_o(u.lastNavigationHandoff);if(!t?.targetUrl)return!1;let n=Date.now()-Number(t.createdAt||0);return!Number.isFinite(n)||n<-5e3||n>12e4?!1:jp(t.targetUrl,window.location.href)}function uI(e){if(!Kr||!Ip(e.resumeReason))return!1;let t=_o(u?.lastNavigationHandoff);if(!t)return!1;let n=Date.now()-Number(t.createdAt||0);return Number.isFinite(n)&&n>=-5e3&&n<=dk}function $i(e){let t=yt(u?.pendingRun)?.taskBoundaryId;if(t){Fe=t;return}let n=un(u?.workerState)?.taskBoundaryId;if(n){Fe=n;return}(!Fe||e?.rotateIfMissing)&&(Fe=Dr())}function pI(e){let t=`${X_}${e}`;try{let n=window.sessionStorage.getItem(t);if(n&&n.trim())return n.trim();let r=So("runtime");return window.sessionStorage.setItem(t,r),r}catch{return So("runtime")}}function hc(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}function ld(e){return String(e||"").trim().replace(/[^a-zA-Z0-9._:-]/g,"").slice(0,180)}function Sk(e){try{let t=document.cookie.match(new RegExp(`(?:^|; )${e}=([^;]*)`));return t?decodeURIComponent(t[1]||""):void 0}catch{return}}function Kv(e,t,n){try{let r=n?`; domain=${n}`:"";return document.cookie=`${e}=${encodeURIComponent(t)}; path=/; max-age=${oE}; samesite=lax${r}`,Sk(e)===t}catch{return!1}}function fI(e){let t=String(e||"").trim().toLowerCase();if(!t||t==="localhost"||/^\d{1,3}(\.\d{1,3}){3}$/.test(t))return[];let n=t.split(".").filter(Boolean);if(n.length<2)return[];let r=[];for(let o=n.length-2;o>=0;o-=1)r.push(`.${n.slice(o).join(".")}`);return r}function mI(e,t){let n=`rover_vid_${hc(e)}`;for(let r of fI(window.location.hostname))if(Kv(n,t,r))return;Kv(n,t)}function dd(e,t){let n=`${ck}${e}`;try{window.localStorage.setItem(n,t)}catch{}try{window.sessionStorage.setItem(n,t)}catch{}mI(e,t)}function _k(e,t){u&&(u.visitor=t,Ze());try{localStorage.setItem(`rover:visitor:${e}`,JSON.stringify(t))}catch{}}function hI(e){if(u?.visitor?.name||u?.visitor?.email)return u.visitor;try{let t=localStorage.getItem(`rover:visitor:${e}`);return t?JSON.parse(t):void 0}catch{return}}function Ek(e){let t=ld(e.visitorId||"");if(t)return t;if(e.checkpointing?.autoVisitorId===!1)return;let n=`${ck}${e.siteId}`,r=`rover_vid_${hc(e.siteId)}`,o=ld(Sk(r)||"");if(o)return dd(e.siteId,o),o;try{let i=ld(window.localStorage.getItem(n)||"");if(i)return dd(e.siteId,i),i}catch{}try{let i=ld(window.sessionStorage.getItem(n)||"");if(i)return dd(e.siteId,i),i}catch{}let a=`v_${hc(`${e.siteId}:${So("visitor")}`)}_${Date.now().toString(36)}`;return dd(e.siteId,a),a}function Xv(e,t){return`visitor-${hc(`${e}:${t}`)}`}function Kf(e){!bt||!at||(bt.registerTool(e.def,e.handler),at.postMessage({type:"register_tool",tool:e.def}),jf(I))}function Bi(e){return`${Hd}${e}`}function bd(e,t){let n=String(t||"").trim();return n?`${Hd}${e}:${hc(n)}`:Bi(e)}function wf(e){return`${Hd}${e}:latest_key`}function gI(e){try{let t=String(sessionStorage.getItem(wf(e))||"").trim();return!t||!t.startsWith(Hd)?void 0:t}catch{return}}function Tf(e,t){if(e)try{if(!t){sessionStorage.removeItem(wf(e));return}sessionStorage.setItem(wf(e),t)}catch{}}function Xf(e){return`${yE}${e}`}function bI(e,t){try{sessionStorage.setItem(Xf(e),JSON.stringify(t))}catch{}}function yI(e){try{let t=Xf(e),n=sessionStorage.getItem(t);if(!n)return;sessionStorage.removeItem(t);let r=JSON.parse(n),o=Number(r?.ts)||0;return!r?.runId||!o||Date.now()-o>dk?void 0:{runId:String(r.runId),text:typeof r.text=="string"?r.text:void 0,taskBoundaryId:typeof r.taskBoundaryId=="string"&&r.taskBoundaryId.trim()?r.taskBoundaryId.trim():void 0,resumeReason:Ns(r.resumeReason),handoffId:typeof r.handoffId=="string"?r.handoffId:void 0,openIntent:r.openIntent==="preserve_if_running"?"preserve_if_running":void 0,ts:o}}catch{return}}function Ik(e){if(e)try{sessionStorage.removeItem(Xf(e))}catch{}}function Yv(e){let t=typeof e?.runId=="string"&&e.runId.trim()?e.runId.trim():void 0,n=typeof e?.taskId=="string"&&e.taskId.trim()?e.taskId.trim():void 0;if(!t&&!n){Pi=void 0;return}Pi={runId:t,taskId:n,expiresAt:Date.now()+Math.max(1e3,Number(e?.ttlMs)||vE)}}function Oa(){Pi=void 0}function Yf(e){let t=Pi;if(!t)return!1;if(t.expiresAt<=Date.now())return Pi=void 0,!1;let n=String(e?.activeTask?.status||"").trim();if(n&&n!=="running")return Pi=void 0,!1;let r=String(t.runId||"").trim(),o=String(t.taskId||"").trim(),a=String(e?.pendingRun?.id||"").trim(),i=String(e?.activeTask?.taskId||"").trim();return!(r&&a&&r!==a&&(!o||!i||o!==i)||o&&i&&o!==i)}function Tc(e){e&&Yf(e)&&(e.uiHidden=!1,e.uiOpen=!0)}function jn(e="session_start",t=Date.now(),n){return{taskId:n||So("task"),status:"running",startedAt:t,lastUserAt:void 0,lastAssistantAt:void 0,boundaryReason:e,endedAt:void 0}}function Sf(e,t){return{version:Pf,sessionId:e,runtimeId:t,uiOpen:!1,uiHidden:!1,uiStatus:void 0,transientStatus:void 0,uiMessages:[],timeline:[],executionMode:"controller",workerState:void 0,pendingRun:void 0,lastNavigationHandoff:void 0,taskEpoch:1,activeTask:jn(),taskTabScope:void 0,lastRoutingDecision:void 0,launchBinding:void 0,updatedAt:Date.now(),tasks:{},activeTaskId:void 0,taskOrder:[]}}function Ln(e,t=J_){return e.length<=t?e:`${e.slice(0,t)}\u2026`}function yd(e){if(e!=null){if(typeof e=="string")return Ln(e,1200);try{return Ln(JSON.stringify(e),1200)}catch{try{return Ln(String(e),1200)}catch{return}}}}function Fd(e){let t=e?.telemetry,n=Number(t?.sampleRate),r=Number.isFinite(n)?Math.min(1,Math.max(0,n)):1,o=Number(t?.flushIntervalMs),a=Number.isFinite(o)?Math.min(6e4,Math.max(2e3,Math.floor(o))):sE,i=Number(t?.maxBatchSize),s=Number.isFinite(i)?Math.min(80,Math.max(1,Math.floor(i))):cE;return{enabled:t?.enabled!==!1,sampleRate:r,flushIntervalMs:a,maxBatchSize:s,includePayloads:t?.includePayloads===!0}}function gc(e){return e==="same_tab"||e==="open_new_tab"?e:"same_tab"}function bc(e){return e==="host_only"?"host_only":"registrable_domain"}function Sc(e,t){return e==="observer"?"This tab is in observer mode because another tab currently holds Rover action control.":t?"Controller tab ready for actions.":"Actions are disabled by configuration (allowActions=false)."}function Jf(e){return e==="auto"||e==="confirm"||e==="never"?e:"confirm"}function Rk(e){return"host_session"}function Ak(e){return"task_touched_only"}function Qf(e){return"crash_only"}function Rd(e){let t=Number(e);return Number.isFinite(t)?Math.max(6e4,Math.min(30*6e4,Math.floor(t))):Z_}function Zf(e){return"read_only"}function Ck(e){return"heuristic_same_window"}function em(e){let t=Number(e);return Number.isFinite(t)?Math.max(1e4,Math.min(10*6e4,Math.floor(t))):tE}function tm(e){let t=Number(e);return Number.isFinite(t)?Math.max(.05,Math.min(.9,t)):nE}function Mk(e){return"empty"}function Nk(e){return"deterministic_cues"}function Lk(e){let t=Number(e);return Number.isFinite(t)?Math.max(1,Math.min(4,Math.floor(t))):eE}function Dk(e){return"auto"}function Pk(e){return!1}function Ok(e){return"pre_tool_block"}function vI(){return Dv({pendingRunText:u?.pendingRun?.text,activeRunText:O?.getState()?.activeRun?.text,rootWorkerInput:u?.workerState?.rootUserInput,lastUserInputText:Tn,fallback:"navigation request"})}function Bk(e){return e!==!1}function ln(e,t,n){let r=Number(e);if(Number.isFinite(r))return Math.max(t,Math.min(n,Math.floor(r)))}function nm(e){return"on_demand"}function rm(e){let t=Number(e);return Number.isFinite(t)?Math.max(5e3,Math.min(12e4,Math.floor(t))):ug.idleCloseMs}function Vi(e,t){let n=Number(e);return Number.isFinite(n)?Math.max(32768,Math.min(2097152,Math.floor(n))):t}function om(e){return!(!e||!Fd(e).enabled||!Qn(e))}function Jv(e){if(e!=null){if(typeof e=="string")return Ln(e,260);if(typeof e=="number"||typeof e=="boolean")return e;if(Array.isArray(e))return{type:"array",length:e.length};if(typeof e=="object"){let n={type:"object",keys:Object.keys(e).slice(0,20)},r=["code","message","stage","status","reason","taskId","runId","policyAction"];for(let o of r){let a=e?.[o];a!=null&&(typeof a=="string"?n[o]=Ln(a,180):(typeof a=="number"||typeof a=="boolean")&&(n[o]=a))}return n}}}function kI(e,t){if(!t)return Jv(e);let n=sm(e);if(n!=null)return typeof n=="string"?Ln(n,1e3):typeof n=="number"||typeof n=="boolean"?n:Array.isArray(n)?{type:"array",length:n.length}:typeof n=="object"?n:Jv(e)}function am(){pd&&(clearInterval(pd),pd=null),wo&&(clearTimeout(wo),wo=null),tc=!1}function xI(e){return`${Wl(e.apiBase)}/telemetry/ingest`}function Ad(e){let t=e||I,n=String(t?.publicKey||"").trim();if(n.startsWith("pk_site_"))return n;let r=String(t?.authToken||"").trim();return r.startsWith("pk_site_")?r:""}function Qn(e){if(xn&&Yr>Date.now()+2e3)return xn;try{let r=I?.siteId||e?.siteId||"";if(r){let o=sessionStorage.getItem(`rover:sess:${r}`);if(o){let{t:a,e:i}=JSON.parse(o);if(a&&typeof a=="string"&&a.startsWith("rvrsess_")&&Number(i)>Date.now()+2e3)return xn=a,Yr=Number(i),a}}}catch{}let t=e||I,n=String(t?.sessionToken||t?.authToken||"").trim();return n.startsWith("rvrsess_")?n:""}function Cd(e,t){let n=String(e||"").trim();xn=n||void 0,Yr=Number(t)>0?Number(t):0;try{let r=I?.siteId||"";n&&Yr>Date.now()?sessionStorage.setItem(`rover:sess:${r}`,JSON.stringify({t:n,e:Yr})):sessionStorage.removeItem(`rover:sess:${r}`)}catch{}}function wI(e){try{let t=String(e||"").replace(/-/g,"+").replace(/_/g,"/"),n=t+"=".repeat((4-(t.length%4||4))%4);if(typeof atob=="function"){let r=atob(n),o=Uint8Array.from(r,a=>a.charCodeAt(0));return new TextDecoder().decode(o)}}catch{}return""}function TI(e){let t=String(e||"").trim();if(!t.startsWith("rvrsess_"))return null;let n=t.slice(8),r=n.lastIndexOf(".");if(r<=0)return null;let o=wI(n.slice(0,r));if(!o)return null;try{let a=JSON.parse(o),i=String(a.agentKey||"").trim(),s=String(a.agentName||"").trim()||void 0,c=String(a.agentVendor||"").trim()||void 0,l=String(a.agentModel||"").trim()||void 0,d=String(a.agentTrust||"").trim(),m=String(a.agentSource||"").trim(),f=String(a.agentMemoryKey||"").trim()||void 0,p=String(a.launchSource||"").trim();return!i&&!s&&!c&&!l?null:{agentKey:i||f||c||s||"anonymous",agentName:s,agentVendor:c,agentModel:l,agentTrust:d==="verified_signed"||d==="signed_directory_only"||d==="self_reported"||d==="heuristic"||d==="anonymous"?d:d==="verified"?"verified_signed":void 0,agentSource:m==="public_task_agent"||m==="handoff_agent"||m==="webmcp_agent"||m==="signature_agent"||m==="user_agent"||m==="owner_resolver"||m==="anonymous"?m:void 0,agentMemoryKey:f,launchSource:p==="public_task_api"||p==="delegated_handoff"||p==="webmcp"||p==="embedded_widget"?p:void 0}}catch{return null}}function SI(e){if(!e||!I)return;let t=e.cloudSandboxEnabled===!0||e.enableExternalWebContext===!0&&e.externalScrapeMode==="on_demand";I.externalNavigationPolicy=e.externalNavigationPolicy||I.externalNavigationPolicy,e.domainScopeMode&&(I.domainScopeMode=bc(e.domainScopeMode)),(e.crossHostPolicy==="open_new_tab"||e.crossHostPolicy==="same_tab")&&(I.navigation={...I.navigation||{},crossHostPolicy:gc(e.crossHostPolicy)}),I.tools||(I.tools={}),I.tools.web||(I.tools.web={}),I.tools.web.enableExternalWebContext=t?!0:e.enableExternalWebContext??I.tools.web.enableExternalWebContext,I.tools.web.scrapeMode=t?"on_demand":e.externalScrapeMode??I.tools.web.scrapeMode,Array.isArray(e.externalAllowDomains)&&(I.tools.web.allowDomains=e.externalAllowDomains),Array.isArray(e.externalDenyDomains)&&(I.tools.web.denyDomains=e.externalDenyDomains),typeof e.uiMascotSoundEnabled=="boolean"&&(I.ui||(I.ui={}),I.ui.mascot||(I.ui.mascot={}),I.ui.mascot.soundEnabled=e.uiMascotSoundEnabled),typeof e.uiMuted=="boolean"&&(I.ui||(I.ui={}),I.ui.muted=e.uiMuted)}function _f(e){if(!u||!e)return;ko=Math.max(1,Number(e.epoch||ko));let t=typeof e.activeRunId=="string"?e.activeRunId:"",n=String(e.runStatus||"").trim().toLowerCase();kv({serverRunId:t,runStatus:n,ignoredRunIds:gr})&&Xo(t,"projection_ignored_active_run",{attemptImmediately:!0}),Vo(t||void 0);let r=u.pendingRun,o=r?.id||"";!t&&o?(n==="completed"||n==="cancelled"||n==="failed"||n==="ended"||u.activeTask?.status!=="running")&&(Qo(o),Wt(void 0),O?.setActiveRun(void 0)):t&&!eo()&&_c(Dt)!=="observer"&&vv({serverRunId:t,localPendingRunId:o,localPendingTaskBoundaryId:r?.taskBoundaryId,currentTaskBoundaryId:Fe,taskStatus:u.activeTask?.status,ignoredRunIds:gr})?Wt({id:t,text:r?.text||"",startedAt:r?.startedAt||Date.now(),attempts:r?.attempts||0,autoResume:!0,taskBoundaryId:r?.taskBoundaryId||Fe,resumeRequired:r?.resumeRequired===!0,resumeReason:r?.resumeReason}):t&&gr.has(t)&&o===t&&(O?.releaseWorkflowLock(t),Wt(void 0),O?.setActiveRun(void 0));let a=String(e.snapshotMeta?.digest||"").trim()||(Number.isFinite(Number(e.snapshotMeta?.updatedAt))?`u:${Math.max(0,Number(e.snapshotMeta?.updatedAt||0))}`:Number.isFinite(Number(e.snapshotUpdatedAt))?`u:${Math.max(0,Number(e.snapshotUpdatedAt||0))}`:""),i=a?`${e.sessionId}:${a}`:"";if(e.snapshot&&typeof e.snapshot=="object"&&(!i||i!==pc)){let c=e.snapshot?.runtimeState,l=e.snapshot?.sharedState;if(c&&typeof c=="object"){Fi=!0;try{lx({version:lk,siteId:I?.siteId||u.sessionId,visitorId:tn||"server_projection",sessionId:u.sessionId,updatedAt:Number(e.snapshot?.updatedAt)||Date.now(),runtimeState:c,sharedState:l})}finally{Fi=!1}i&&(pc=i)}}let s=String(u?.pendingRun?.id||"").trim();s&&gr.has(s)&&(O?.releaseWorkflowLock(s),Wt(void 0),O?.setActiveRun(void 0)),Md()}async function Zr(e){if(!(!u||!e.apiBase&&!e.publicKey&&!e.authToken&&!e.sessionToken||!Ad(e)&&!xn)){Te?Te.setApiBase(e.apiBase):Te=new Kl({apiBase:e.apiBase,siteId:e.siteId,getSessionId:()=>u?.sessionId,getBootstrapToken:()=>Ad(I),getHost:()=>window.location.hostname,getPageUrl:()=>window.location.href,getTaskBoundaryId:()=>Fe,shouldKeepTransportActive:()=>!Ba(),onSession:n=>{if(Cd(n.sessionToken,n.sessionTokenExpiresAt),Ir&&O?.broadcastSessionToken(n.sessionToken||"",n.sessionTokenExpiresAt||0),ko=Math.max(1,Number(n.epoch||ko)),u&&n.sessionId&&u.sessionId!==n.sessionId&&(u.sessionId=n.sessionId,pc="",Ze()),SI(n.policy),n.siteConfig&&typeof n.siteConfig=="object"&&I){let r={shortcuts:Jo(n.siteConfig.shortcuts),businessType:Lc(n.siteConfig.businessType),experience:La(n.siteConfig.experience),greeting:Fa(n.siteConfig.greeting),voice:Xi(n.siteConfig.voice),aiAccess:Ac(n.siteConfig.aiAccess),limits:Kd(n.siteConfig.limits),pageConfig:To(n.siteConfig.pageConfig),agentDiscovery:gi(n.siteConfig.agentDiscovery),version:n.siteConfig.version!=null?String(n.siteConfig.version):void 0};gn=r,dx(I.siteId,r),Od(I)}n.projection&&_f(n.projection),at&&at.postMessage({type:"update_config",config:{...za(),pageConfig:vc(I),publicKey:void 0,sessionToken:xn,authToken:Qn(I),sessionId:u?.sessionId,activeRunId:u?.pendingRun?.id,sessionEpoch:Te?.getEpoch?.()??ko,sessionSeq:Te?.getLastSeq?.()??0}}),bt&&bt.setNavigationPolicy({allowedDomains:I?.allowedDomains,domainScopeMode:I?.domainScopeMode,externalNavigationPolicy:I?.externalNavigationPolicy,crossHostPolicy:I?.navigation?.crossHostPolicy}),I&&(mm(I),jd(I)),ji=!0,Jr(),Md()},onProjection:n=>{_f(n),Ir&&O?.broadcastProjection(n),Md(),at&&at.postMessage({type:"update_config",config:{...za(),pageConfig:vc(I),sessionToken:xn,authToken:Qn(I),sessionId:u?.sessionId,activeRunId:u?.pendingRun?.id,sessionEpoch:Te?.getEpoch?.()??ko,sessionSeq:Te?.getLastSeq?.()??0}})},onError:n=>{ct("error",{message:n?.message||"server runtime sync failed",scope:"server_runtime"})}});try{await Te.start()}catch(n){I?.apiMode!==!1&&st("error",{message:n?.message||"server runtime sync failed",scope:"server_runtime_start"})}}}async function Ra(e=!1){if(fd||Ci)return;if(!I||!om(I)){Kn=[];return}if(!e&&Ba()||!Kn.length)return;let t=Fd(I),n=Qn(I);if(!n)return;let r=Kn.splice(0,t.maxBatchSize);if(r.length){fd=!0,_d=Date.now();try{let o=await fetch(xI(I),{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify({sessionToken:n,sessionId:u?.sessionId,runId:u?.pendingRun?.id,siteId:I.siteId,runtimeId:vt,visitorId:tn,flushReason:e?"manual":"interval",sdkVersion:"rover_sdk_v1",pageUrl:window.location.href,userAgent:navigator.userAgent,sampleRate:t.sampleRate,events:r})});if(!o.ok){o.status===401||o.status===403?Ci=!0:Kn=[...r,...Kn].slice(-wd);return}let a=await o.json().catch(()=>{});if(a?.success===!1){let i=String(a?.errorCode||a?.errorDetails?.code||"").toUpperCase();(i==="INVALID_API_KEY"||i==="MISSING_API_KEY"||i==="UNAUTHENTICATED"||i==="PERMISSION_DENIED")&&(Ci=!0);return}}catch{Kn=[...r,...Kn].slice(-wd)}finally{fd=!1}}}function jd(e){if(am(),Ci=!1,!om(e)){Kn=[];return}let t=Fd(e);pd=setInterval(()=>{Ra(!1)},t.flushIntervalMs)}function ct(e,t){if(!om(I)||Ci||Ba()&&!FE.has(e))return;let n=Fd(I);if(n.sampleRate<1&&Math.random()>n.sampleRate)return;let r=Date.now();if(e==="status"){if(!String(t?.event||"").trim().startsWith("deep_link_")){if(r-ff<HE)return;ff=r}}else if(e==="checkpoint_state"){if(r-mf<zE)return;mf=r}let o={name:e,ts:r,seq:++uk,payload:kI(t,n.includePayloads)};if(Kn.push(o),Kn.length>wd&&(Kn=Kn.slice(-wd)),pk.has(e)){let i=Date.now()-_d;if(i>=Vv){Ra(!1);return}wo||(wo=setTimeout(()=>{wo=null,Ra(!1)},Vv-i));return}if(Kn.length>=n.maxBatchSize){let i=Date.now()-_d;i>=$v?Ra(!1):tc||(tc=!0,setTimeout(()=>{tc=!1,Ra(!1)},$v-i))}}function _I(e,t){ct(e,t)}function Uk(e){if(e==="analyze"||e==="route"||e==="execute"||e==="verify"||e==="complete")return e}function EI(e){return e?e==="analyze"?"Analyze":e==="route"?"Route":e==="execute"?"Execute":e==="verify"?"Verify":e==="complete"?"Complete":"Status":"Status"}function II(e,t,n){return[String(t||""),String(e||"").trim().toLowerCase(),String(n||"").trim().toLowerCase()].join("|")}function RI(e,t){if(!e)return!0;let n=e.trim();return!!(t&&n.toLowerCase()===t.trim().toLowerCase()||/^complexity score\b/i.test(n)||/\btool loop$/i.test(n)||/^calling \w[\w\s]*(workflow|sub-agent)$/i.test(n))}function AI(){return u?.pendingRun?.id}function Vo(e){wc=String(e||"").trim()||void 0}function Qv(){let e=u?.pendingRun?.id;if(!e)return;if(!Te)return e;let t=Te.getActiveRunId(),n=String(t||wc||"").trim();if(n)return n===e?e:void 0}function Qo(e){e&&(gr.add(e),KE(gr,VE))}function Ef(e){e&&gr.delete(e)}function If(e){let t=Math.max(0,Math.floor(e)),n=lc*2**t;return Math.max(120,Math.min(SE,n))}function CI(){if(!Mn.size)return null;let e=Number.POSITIVE_INFINITY;for(let t of Mn.values())e=Math.min(e,Number(t.nextAttemptAt)||Number.POSITIVE_INFINITY);return Number.isFinite(e)?Math.max(120,Math.floor(e-Date.now())):null}function Rf(e=lc){Oo&&(clearTimeout(Oo),Oo=null);let t=Math.max(80,Math.floor(e));Oo=setTimeout(()=>{Oo=null,Md()},t)}function Xo(e,t="local_run_abandoned",n){let r=String(e||"").trim();if(!r)return;let o=Date.now(),a=Mn.get(r),i=n?.attemptImmediately===!0?o:a?.nextAttemptAt&&a.nextAttemptAt>o?a.nextAttemptAt:o+If(a?.attempts||0);for(Mn.set(r,{runId:r,reason:String(t||a?.reason||"local_run_abandoned").trim()||"local_run_abandoned",attempts:a?.attempts||0,nextAttemptAt:i,createdAt:a?.createdAt||o,lastError:a?.lastError});Mn.size>EE;){let s=Array.from(Mn.values()).sort((c,l)=>Number(c.createdAt)-Number(l.createdAt))[0];if(!s?.runId)break;Mn.delete(s.runId)}Rf(n?.attemptImmediately?50:lc)}async function Md(){if(md||!Mn.size)return;if(!(!!Te&&!!ji&&!!Qn(I))){Rf(lc);return}md=!0;try{let t=Date.now(),n=Array.from(Mn.values()).sort((r,o)=>Number(r.nextAttemptAt)-Number(o.nextAttemptAt));for(let r of n){if(r.nextAttemptAt>t)break;if(!Mn.has(r.runId))continue;if(um(r.runId)){Mn.set(r.runId,{...r,nextAttemptAt:Date.now()+If(Math.max(1,r.attempts))});continue}let o=Te;if(!o){Mn.set(r.runId,{...r,nextAttemptAt:Date.now()+lc});continue}try{if(await o.controlRun({action:"cancel",runId:r.runId,reason:r.reason})){Mn.delete(r.runId);continue}throw new Error("cancel_control_no_response")}catch(a){let i=Math.max(0,Number(r.attempts||0))+1;if(i>=_E){Mn.delete(r.runId),st("error",{message:`Failed to cancel stale run ${r.runId} after retries.`,scope:"run_cancel_repair",code:"RUN_CANCEL_REPAIR_FAILED",runId:r.runId});continue}Mn.set(r.runId,{...r,attempts:i,lastError:String(a?.message||"cancel_control_failed"),nextAttemptAt:Date.now()+If(i)})}}}finally{md=!1;let t=CI();t!=null&&Rf(t)}}function Po(){return u?.activeTask?.status==="running"}function Hk(){$t&&(Po()||Af()?$t.enterActiveMode():$t.enterIdleMode())}function MI(){return typeof document<"u"&&document.visibilityState==="hidden"}function Af(){return!!u?.pendingRun?.id}function NI(){let e=O?.getState()?.activeRun;if(!e)return!1;if(e.runtimeId)return e.runtimeId===vt;let t=String(u?.pendingRun?.id||"").trim();return!!(t&&e.runId===t)}function LI(){let e=O?.getWorkflowLockInfo();return!!(e?.locked&&e.holderRuntimeId===vt)}function zk(){return O?LI()||NI()?!0:Af()&&!eo():Po()||Af()}function DI(){return nm(I?.transport?.activation)!=="on_demand"?!0:!!(u?.uiOpen||zk()||Fk()||jk())}function Ba(){if(!Ir)return!0;if(DI())Zs=0;else{let t=rm(I?.transport?.idleCloseMs);return Zs<=0&&(Zs=Date.now()+t),!(Date.now()<Zs)}return MI()?!zk()&&!u?.uiOpen:!1}function Pr(e=!1){if(typeof window>"u")return;let t=Ba();if(!(!e&&Ed===t)){Ed=t;try{let n=window.rtrvrAISetObserverPaused;typeof n=="function"&&n(t)}catch{}}}function Fk(){let e=O?.getState()?.activeRun;return!!(e&&e.runtimeId&&e.runtimeId!==vt)}function jk(){let e=O;if(!e?.isWorkflowLocked())return!1;let t=e.getWorkflowLockInfo();if(!t.locked||!t.holderRuntimeId||t.holderRuntimeId===vt)return!1;let n=e.listTabs({scope:"all"}).find(r=>r.runtimeId===t.holderRuntimeId);return n?Number(n.updatedAt)>Date.now()-5e3:!1}function eo(){return jk()}function _c(e){return eo()?"observer":e==="observer"?"controller":e}function qk(){return Zf(I?.task?.observerInput)==="read_only"?!eo():!Fk()}function $k(e){if(e==="observer")return eo()?"Observing active run in another tab...":"Send to take control and run here."}function PI(){if(!O)return!1;let e=O.getState(),t=e?.activeRun,n=String(t?.runId||"").trim(),r=String(t?.text||"").trim();if(!O.requestControl())return!1;if(!n)return!0;if(!O.acquireWorkflowLock(n,{force:!0}))return!1;if(!u)return!0;let i=Ar(un(e?.workerContext),Yn());return i&&(u.workerState=i,$i(),O.setWorkerContext(Ic(u.workerState)),vr&&at&&(yr(),at.postMessage({type:"hydrate_state",state:u.workerState}),st("context_restored",{source:"controller_handoff",ts:Date.now()}))),e?.task&&(u.activeTask=Xk(e.task,u.activeTask||jn("handoff"))),u.uiHidden=!1,u.uiOpen=!0,(r||n)&&(Wt(yt({id:n,text:r||u.pendingRun?.text||Tn||"Continue task",startedAt:t?.startedAt||u.pendingRun?.startedAt||Date.now(),attempts:u.pendingRun?.id===n&&u.pendingRun.attempts||0,autoResume:!0,taskBoundaryId:u.pendingRun?.taskBoundaryId||u.workerState?.taskBoundaryId||Fe,resumeRequired:!0,resumeReason:"handoff"})),O.setActiveRun({runId:n,text:r||u.pendingRun?.text||"Continue task"})),Ze(),Jr({overridePolicyAction:"auto_resume"}),!0}function OI(e){let t=typeof e?.type=="string"?e.type:"";if(!XE.has(t))return!1;let n=typeof e?.runId=="string"&&e.runId?e.runId:void 0,r=typeof e?.taskBoundaryId=="string"&&e.taskBoundaryId?e.taskBoundaryId:void 0,o=String(Te?.getActiveRunId()||wc||"").trim()||void 0;return xv({type:t,messageRunId:n,messageTaskBoundaryId:r,currentTaskBoundaryId:Yn(),pendingRunId:AI(),sharedActiveRunId:O?.getState()?.activeRun?.runId,authoritativeActiveRunId:o,taskStatus:u?.activeTask?.status,ignoredRunIds:gr})}function Cr(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r=0;r<e.length;r+=1){let o=e[r];if(!o||typeof o!="object")continue;let a=String(o.key||o.id||"").trim()||`clarification_${r+1}`,i=String(o.query||o.question||"").trim();if(!i)continue;let s=typeof o.required=="boolean",c=typeof o.optional=="boolean",l=s?!!o.required:c?!o.optional:!0,d=`${a}::${i}`.toLowerCase();if(n.has(d))continue;n.add(d);let m={key:a,query:i,...typeof o.id=="string"&&o.id.trim()?{id:o.id.trim()}:{},...typeof o.question=="string"&&o.question.trim()?{question:o.question.trim()}:{},...Array.isArray(o.choices)?{choices:o.choices}:{}};l||(m.required=!1),t.push(m)}return t.slice(0,6)}function BI(e,t){let n=String(e||"").trim();if(n)return n;if(!t||typeof t!="object")return"";let r=t.answersByKey&&typeof t.answersByKey=="object"?t.answersByKey:{},o=Cr(u?.workerState?.pendingAskUser?.questions),i=(Array.isArray(t.keys)?t.keys:[]).map(l=>String(l||"").trim()).filter(Boolean);if(i.length===0)for(let l of o){let d=String(l.key||"").trim();d&&i.push(d)}if(i.length===0)for(let l of Object.keys(r)){let d=String(l||"").trim();d&&i.push(d)}let s=[],c=new Set;for(let l of i){let d=String(l||"").trim();if(!d||c.has(d))continue;c.add(d);let m=String(r[d]||"").trim();s.push(`${d}: ${m||"(no answer provided)"}`)}return s.length>0?s.join(`
4268
- `):String(t.rawText||"").trim()}function im(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){if(!r||typeof r!="object")continue;let o=r,a=String(o.id||"").trim(),i=String(o.displayName||"").trim(),s=String(o.mimeType||"").trim();if(!(!a||!i||!s||n.has(a))&&(n.add(a),t.push({id:a,displayName:i,mimeType:s,storageUrl:typeof o.storageUrl=="string"&&o.storageUrl.trim()?o.storageUrl.trim():void 0,gcsUri:typeof o.gcsUri=="string"&&o.gcsUri.trim()?o.gcsUri.trim():void 0,sizeBytes:Number.isFinite(Number(o.sizeBytes))?Math.max(0,Number(o.sizeBytes)):void 0,downloadUrl:typeof o.downloadUrl=="string"&&o.downloadUrl.trim()?o.downloadUrl.trim():void 0,expiresAt:typeof o.expiresAt=="string"&&o.expiresAt.trim()?o.expiresAt.trim():void 0,kind:typeof o.kind=="string"&&o.kind.trim()?o.kind.trim():void 0,sourceStepId:typeof o.sourceStepId=="string"&&o.sourceStepId.trim()?o.sourceStepId.trim():void 0,originalIndex:Number.isFinite(Number(o.originalIndex))?Math.max(0,Number(o.originalIndex)):void 0,data:typeof o.data=="string"&&o.data.trim()?o.data.trim():void 0,ORIGIN_KEY:o.ORIGIN_KEY==="tool"?"tool":"user"}),t.length>=12))break}return t}function UI(){let e=Number(Xd(I)?.inputs?.attachmentLimit);return Number.isFinite(e)?Math.max(1,Math.min(12,Math.trunc(e))):DE}function HI(){let e=Number(Xd(I)?.inputs?.maxFileSizeMb);return Number.isFinite(e)?Math.max(1,Math.min(32,Math.trunc(e)))*1024*1024:OE}function zI(e){let t="";for(let r=0;r<e.length;r+=32768){let o=e.subarray(r,r+32768);t+=String.fromCharCode(...o)}return btoa(t)}async function FI(e){let t=await e.arrayBuffer();return zI(new Uint8Array(t))}function Vk(e,t,n){return{id:`inline_${crypto.randomUUID()}`,displayName:String(e.name||`attachment-${n+1}`).trim()||`attachment-${n+1}`,mimeType:String(e.type||"application/octet-stream").trim()||"application/octet-stream",sizeBytes:Number.isFinite(e.size)?e.size:void 0,originalIndex:n,data:t,ORIGIN_KEY:"user"}}function jI(e,t,n,r){let o=Vk(e,r||"",n);return t?.id?{id:t.id,displayName:String(t.displayName||o.displayName).trim()||o.displayName,mimeType:String(t.mimeType||o.mimeType).trim()||o.mimeType,storageUrl:t.storageUrl,gcsUri:t.gcsUri,sizeBytes:Number.isFinite(Number(t.sizeBytes))?Number(t.sizeBytes):o.sizeBytes,downloadUrl:t.downloadUrl,expiresAt:t.expiresAt,kind:t.kind,sourceStepId:t.sourceStepId,originalIndex:Number.isFinite(Number(t.originalIndex))?Number(t.originalIndex):n,data:t.data||o.data,ORIGIN_KEY:"user"}:o}async function qI(e){if(!Array.isArray(e)||e.length===0)return[];let t=UI(),n=HI(),r=e.slice(0,t),o=[];for(let a=0;a<r.length;a+=1){let i=r[a];if(!(i instanceof File))continue;if(Number.isFinite(i.size)&&i.size>n)throw new Error(`${i.name} exceeds the ${Math.round(n/(1024*1024))}MB limit.`);let s=await FI(i);if(Te){let c=await Te.uploadAttachment({fileName:i.name,mimeType:i.type||"application/octet-stream",dataBase64:s,sizeBytes:i.size});o.push(jI(i,c,a,s))}else o.push(Vk(i,s,a))}return im(o)}function Nd(e){let t=String(se?.getActiveTask()?.rootUserInput||"").trim();if(t)return t;let n=String(u?.workerState?.rootUserInput||"").trim();if(n)return n;let r=u?.pendingRun,o=r&&r.id===e?String(r.text||"").trim():"";if(o)return o;let a=String(r?.text||"").trim();return a||String(Tn||"").trim()||void 0}function $I(e){if(!e||typeof e!="object")return{taskComplete:!1,needsUserInput:!1,terminalState:"in_progress",contextResetRecommended:!1};let t=String(e.terminalState||"").trim().toLowerCase(),n=e.needsUserInput===!0,r=t==="waiting_input"||t==="in_progress"||t==="completed"||t==="failed"?t:n?"waiting_input":e.taskComplete===!0?"completed":e.ok===!1?"failed":"in_progress",o=r==="completed"||e.taskComplete===!0&&r!=="waiting_input",a=Cr(e.questions),i=String(e.continuationReason||"").trim().toLowerCase(),s=i==="loop_continue"||i==="same_tab_navigation_handoff"||i==="awaiting_user"?i:r==="waiting_input"?"awaiting_user":r==="in_progress"?"loop_continue":void 0;return{taskComplete:o,needsUserInput:r==="waiting_input"||n,terminalState:r,contextResetRecommended:e.contextResetRecommended===!0||r==="completed",continuationReason:s,...a.length?{questions:a}:{}}}function VI(e){return xo?xo.readSync(e):null}function sm(e){if(e==null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;try{return structuredClone(e)}catch{try{return JSON.parse(JSON.stringify(e))}catch{return}}}function Yo(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(!n||typeof n!="object")continue;let r=n.type;if(r==="text"){let o=String(n.text||"");if(!o)continue;t.push({type:"text",text:o});continue}(r==="tool_output"||r==="json")&&t.push({type:r,data:sm(n.data),label:typeof n.label=="string"?n.label:void 0,toolName:typeof n.toolName=="string"?n.toolName:void 0})}return t.length?t:void 0}function Zv(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.entries(e).filter(([,a])=>a!=null);if(t.length!==1)return!1;let[n,r]=t[0];return typeof r!="string"||!r.trim()?!1:new Set(["response","message","summary","text","content","result","description"]).has(n)}function WI(e,t){if(e==null)return!1;if(typeof e=="string"){let n=e.trim();return n?!t||n!==t.trim():!1}if(Array.isArray(e)){let n=e.filter(r=>r!=null);if(n.length===1){let r=n[0];if(typeof r=="string"||typeof r=="number"||typeof r=="boolean"||Zv(r))return!1}return!0}return!Zv(e)}function Wk(e){if(!Array.isArray(e)||!e.length)return;let t=e.filter(r=>r.type==="text").map(r=>String(r.text||"").trim()).filter(Boolean);if(t.length)return t.join(`
4374
+ `,(document.head||document.documentElement)?.appendChild(o)}function Xf(){typeof document>"u"||(document.getElementById(Bn)?.remove(),document.getElementById(Mn)?.remove(),dn=!1)}function Yf(){typeof document>"u"||document.getElementById(Cn)?.remove()}function Lk(){typeof document>"u"||document.getElementById(hf)?.remove()}function UI(){if(typeof document>"u")return null;Nk(),Kf();let e=document.getElementById(Bn);return e||(e=document.createElement("button"),e.id=Bn,e.type="button",e.setAttribute("data-rover-discovery-cue","true"),e.addEventListener("click",()=>{let t=Yo(R);if(t){if(Xo=!0,!t.visibleCapabilities.length||t.policy.mode==="debug"){dn=!1,_n();return}dn=!dn,Fn(R)}}),e.addEventListener("focus",()=>{let t=Yo(R);!t||t.policy.actionReveal!=="focus"||t.hidden||(Xo=!0,dn=!0,Fn(R))}),(document.body||document.documentElement)?.appendChild(e),e)}function zI(){if(typeof document>"u")return null;Nk(),Kf();let e=document.getElementById(Mn);return e||(e=document.createElement("section"),e.id=Mn,e.setAttribute("role","dialog"),e.setAttribute("aria-modal","false"),e.setAttribute("aria-label","Rover actions"),e.hidden=!0,(document.body||document.documentElement)?.appendChild(e),e)}function HI(){if(typeof document>"u")return null;Kf();let e=document.getElementById(Cn);return e||(e=document.createElement("aside"),e.id=Cn,e.setAttribute("role","complementary"),e.setAttribute("aria-label",gf),(document.body||document.documentElement)?.appendChild(e),e)}function FI(e){Gf();let t=Yo(e);t?.hostSurfaceTarget&&(t.hostSurfaceTarget.setAttribute("data-rover-discovery-host","true"),t.hostSurfaceTarget.setAttribute("data-rover-discovery-mode",t.policy.mode),t.hostSurfaceTarget.setAttribute("data-rover-host-surface",t.policy.hostSurface),t.hostSurfaceTarget.setAttribute("data-rover-discovery-branding",t.policy.branding),t.hostSurfaceTarget.setAttribute("data-rover-current-page",t.page.pageId),t.hostSurfaceTarget.setAttribute("data-rover-capability-count",String(t.visibleCapabilities.length)))}function jI(e){if(typeof document>"u")return;if(!zd(e)){Yf();return}let t=Yo(e);if(!t)return;let n=HI();if(!n)return;let r=t.policy.mode==="debug";if(n.hidden=!1,n.setAttribute("aria-label",Mk(t.beaconLabel)),n.setAttribute("data-rover-debug",r?"true":"false"),n.setAttribute("data-rover-discovery-mode",t.policy.mode),n.setAttribute("data-rover-host-surface",t.policy.hostSurface),n.setAttribute("data-rover-current-page",t.page.pageId),!t.visibleCapabilities.length){n.innerHTML=[`<strong>${Kn(t.beaconLabel)}</strong>`,'<div class="rover-discovery-summary">Rover is published on this page and ready through the A2W run protocol, page manifest, and semantic surface.</div>'].join("");return}let o=t.visibleCapabilities.slice(0,6).map(i=>{let a=String(i.description||"Rover action available on this page.").trim();return[`<li data-rover-capability-id="${Kn(i.capabilityId)}">`,`<span class="rover-discovery-capability-label">${Kn(i.label)}</span>`,r?`<code>${Kn(i.capabilityId)}</code>`:"",`<span class="rover-discovery-capability-copy">${Kn(a)}</span>`,"</li>"].join("")}).join("");n.innerHTML=[`<strong>${Kn(t.beaconLabel)}</strong>`,`<div class="rover-discovery-summary">${Kn(t.page.capabilitySummary?.length?t.page.capabilitySummary.join(" \u2022 "):"Current-page Rover actions are available.")}</div>`,`<ol>${o}</ol>`].join("")}function qI(e){if(typeof document>"u")return;let t=Yo(e);if(!t||t.policy.mode==="silent"||t.integratedHost||t.policy.mode!=="debug"){Xf();return}let n=UI();n&&(n.innerHTML=`<span class="rover-discovery-mark" aria-hidden="true"><span></span><span></span><span></span></span><span class="rover-discovery-label">${Kn(t.beaconLabel)}</span>`,n.setAttribute("aria-label",Mk(t.beaconLabel)),n.setAttribute("aria-describedby",Cn),n.setAttribute("aria-haspopup",t.visibleCapabilities.length?"dialog":"false"),n.setAttribute("aria-expanded",dn?"true":"false"),n.setAttribute("aria-keyshortcuts",Qv),n.setAttribute("title",`${t.beaconLabel} (${Qv})`),n.setAttribute("data-rover-discovery-mode",t.policy.mode),n.setAttribute("data-rover-host-surface",t.policy.hostSurface),n.setAttribute("data-rover-branding",t.policy.branding),n.hidden=t.hidden,n.setAttribute("aria-hidden",t.hidden?"true":"false"))}function $I(e){if(typeof document>"u")return;let t=Yo(e);if(!t||t.policy.mode==="silent"||t.integratedHost||t.policy.mode!=="debug"){document.getElementById(Mn)?.remove(),dn=!1;return}if(!(!t.hidden&&t.visibleCapabilities.length>0&&(dn||t.policy.actionReveal==="agent-handshake"&&t.agentModeActive))){document.getElementById(Mn)?.remove(),dn=!1;return}let r=zI();if(!r)return;let o=t.visibleCapabilities.slice(0,zs),i=t.visibleCapabilities.length>zs?"More actions":"Open Rover";r.hidden=!1,r.setAttribute("data-rover-discovery-mode",t.policy.mode),r.setAttribute("data-rover-current-page",t.page.pageId),r.innerHTML=[`<h2>${Kn(t.beaconLabel)}</h2>`,`<p>${Kn(t.page.capabilitySummary?.length?t.page.capabilitySummary.join(" \u2022 "):"Current-page Rover actions are available.")}</p>`,'<div class="rover-discovery-actions">',...o.map(a=>[`<button type="button" class="rover-discovery-action" data-rover-discovery-action="capability" data-rover-capability-id="${Kn(a.capabilityId)}">`,Kn(a.label),`<span class="rover-discovery-action-copy">${Kn(String(a.description||"Open Rover on this action.").trim())}</span>`,"</button>"].join("")),`<button type="button" class="rover-discovery-action" data-rover-discovery-action="open">${Kn(i)}</button>`,"</div>"].join("");for(let a of Array.from(r.querySelectorAll("[data-rover-discovery-action]")))a.addEventListener("click",()=>{if(Xo=!0,a.getAttribute("data-rover-discovery-action")==="capability"){let c=String(a.getAttribute("data-rover-capability-id")||"").trim(),d=Yo(R)?.visibleCapabilities.find(m=>m.capabilityId===c);dn=!1,_n(),d?.rover?.prompt?br(d.rover.prompt,{reason:"agent_discovery_surface",routing:d.rover.routing==="act"||d.rover.routing==="planner"?d.rover.routing:"auto"}):d&&Sn("system",`Rover can help with "${d.label}" from this page. Continue in the assistant to execute it safely.`,!0),Fn(R);return}dn=!1,_n(),Fn(R)})}function Fn(e){if(!zd(e)){Ed(),Xf(),Yf(),Lk(),Gf();return}Vf(e),FI(e),qI(e),$I(e),jI(e)}function So(e){try{return`${e}-${crypto.randomUUID()}`}catch{return`${e}-${Date.now()}-${Math.floor(Math.random()*1e5)}`}}function Pr(){return So("task-boundary")}function To(e){if(!e||typeof e!="object")return;let t=typeof e.handoffId=="string"?e.handoffId.trim():"",n=typeof e.targetUrl=="string"?e.targetUrl.trim():"";if(!t||!n)return;let r=Number(e.sourceLogicalTabId);return{handoffId:t,targetUrl:n,sourceLogicalTabId:Number.isFinite(r)&&r>0?r:void 0,runId:typeof e.runId=="string"&&e.runId.trim()?e.runId.trim():void 0,createdAt:Number(e.createdAt)||Date.now(),consumed:e.consumed===!0}}function Dk(e){if(e)return{handoffId:e.handoffId,targetUrl:e.targetUrl,sourceLogicalTabId:e.sourceLogicalTabId,runId:e.runId,ts:e.createdAt}}function cf(e){return{handoffId:e.handoffId,targetUrl:e.targetUrl,sourceLogicalTabId:e.sourceLogicalTabId,runId:e.runId,createdAt:Number(e.ts)||Date.now(),consumed:!1}}function Bi(e){let t=typeof e?.pendingRun?.taskBoundaryId=="string"?e.pendingRun.taskBoundaryId:void 0;if(t)return ze(t);let n=typeof e?.workerState?.taskBoundaryId=="string"?e.workerState.taskBoundaryId:void 0;if(n)return ze(n)}function WI(e){let t=Bi(e);return t||Pr()}function Xn(){return ze(He)||Bi(u)}function Di(e){let t=_v({source:e.source,incomingBoundaryId:e.incomingBoundaryId,currentBoundaryId:Xn(),taskEpochAdvanced:e.taskEpochAdvanced,hasPendingRun:!!u?.pendingRun,taskStatus:u?.activeTask?.status,allowBootstrapAdoption:e.allowBootstrapAdoption});return t.accept?(t.adoptedBoundaryId&&(He=t.adoptedBoundaryId),!0):!1}function Jf(e=12e4){let t=To(u?.lastNavigationHandoff);if(!t||t.consumed===!0)return;let n=Date.now()-Number(t.createdAt||0);if(!(!Number.isFinite(n)||n<-5e3||n>e))return t}function VI(e){if(!u||!Cp(e.resumeReason))return!1;let t=To(u.lastNavigationHandoff);if(!t?.targetUrl)return!1;let n=Date.now()-Number(t.createdAt||0);return!Number.isFinite(n)||n<-5e3||n>12e4?!1:Vp(t.targetUrl,window.location.href)}function GI(e){if(!Xr||!Cp(e.resumeReason))return!1;let t=To(u?.lastNavigationHandoff);if(!t)return!1;let n=Date.now()-Number(t.createdAt||0);return Number.isFinite(n)&&n>=-5e3&&n<=xk}function Ga(e){let t=xt(u?.pendingRun)?.taskBoundaryId;if(t){He=t;return}let n=pn(u?.workerState)?.taskBoundaryId;if(n){He=n;return}(!He||e?.rotateIfMissing)&&(He=Pr())}function KI(e){let t=`${ME}${e}`;try{let n=window.sessionStorage.getItem(t);if(n&&n.trim())return n.trim();let r=So("runtime");return window.sessionStorage.setItem(t,r),r}catch{return So("runtime")}}function yc(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}function ld(e){return String(e||"").trim().replace(/[^a-zA-Z0-9._:-]/g,"").slice(0,180)}function Ok(e){try{let t=document.cookie.match(new RegExp(`(?:^|; )${e}=([^;]*)`));return t?decodeURIComponent(t[1]||""):void 0}catch{return}}function ik(e,t,n){try{let r=n?`; domain=${n}`:"";return document.cookie=`${e}=${encodeURIComponent(t)}; path=/; max-age=${HE}; samesite=lax${r}`,Ok(e)===t}catch{return!1}}function XI(e){let t=String(e||"").trim().toLowerCase();if(!t||t==="localhost"||/^\d{1,3}(\.\d{1,3}){3}$/.test(t))return[];let n=t.split(".").filter(Boolean);if(n.length<2)return[];let r=[];for(let o=n.length-2;o>=0;o-=1)r.push(`.${n.slice(o).join(".")}`);return r}function YI(e,t){let n=`rover_vid_${yc(e)}`;for(let r of XI(window.location.hostname))if(ik(n,t,r))return;ik(n,t)}function dd(e,t){let n=`${vk}${e}`;try{window.localStorage.setItem(n,t)}catch{}try{window.sessionStorage.setItem(n,t)}catch{}YI(e,t)}function Pk(e,t){u&&(u.visitor=t,Ye());try{localStorage.setItem(`rover:visitor:${e}`,JSON.stringify(t))}catch{}}function JI(e){if(u?.visitor?.name||u?.visitor?.email)return u.visitor;try{let t=localStorage.getItem(`rover:visitor:${e}`);return t?JSON.parse(t):void 0}catch{return}}function Bk(e){let t=ld(e.visitorId||"");if(t)return t;if(e.checkpointing?.autoVisitorId===!1)return;let n=`${vk}${e.siteId}`,r=`rover_vid_${yc(e.siteId)}`,o=ld(Ok(r)||"");if(o)return dd(e.siteId,o),o;try{let a=ld(window.localStorage.getItem(n)||"");if(a)return dd(e.siteId,a),a}catch{}try{let a=ld(window.sessionStorage.getItem(n)||"");if(a)return dd(e.siteId,a),a}catch{}let i=`v_${yc(`${e.siteId}:${So("visitor")}`)}_${Date.now().toString(36)}`;return dd(e.siteId,i),i}function ak(e,t){return`visitor-${yc(`${e}:${t}`)}`}function Qf(e){!kt||!rt||(kt.registerTool(e.def,e.handler),rt.postMessage({type:"register_tool",tool:e.def}),Vf(R))}function Ha(e){return`${Ud}${e}`}function bd(e,t){let n=String(t||"").trim();return n?`${Ud}${e}:${yc(n)}`:Ha(e)}function Ef(e){return`${Ud}${e}:latest_key`}function QI(e){try{let t=String(sessionStorage.getItem(Ef(e))||"").trim();return!t||!t.startsWith(Ud)?void 0:t}catch{return}}function If(e,t){if(e)try{if(!t){sessionStorage.removeItem(Ef(e));return}sessionStorage.setItem(Ef(e),t)}catch{}}function Zf(e){return`${eI}${e}`}function ZI(e,t){try{sessionStorage.setItem(Zf(e),JSON.stringify(t))}catch{}}function eR(e){try{let t=Zf(e),n=sessionStorage.getItem(t);if(!n)return;sessionStorage.removeItem(t);let r=JSON.parse(n),o=Number(r?.ts)||0;return!r?.runId||!o||Date.now()-o>xk?void 0:{runId:String(r.runId),text:typeof r.text=="string"?r.text:void 0,taskBoundaryId:typeof r.taskBoundaryId=="string"&&r.taskBoundaryId.trim()?r.taskBoundaryId.trim():void 0,resumeReason:Ds(r.resumeReason),handoffId:typeof r.handoffId=="string"?r.handoffId:void 0,openIntent:r.openIntent==="preserve_if_running"?"preserve_if_running":void 0,ts:o}}catch{return}}function Uk(e){if(e)try{sessionStorage.removeItem(Zf(e))}catch{}}function sk(e){let t=typeof e?.runId=="string"&&e.runId.trim()?e.runId.trim():void 0,n=typeof e?.taskId=="string"&&e.taskId.trim()?e.taskId.trim():void 0;if(!t&&!n){Ua=void 0;return}Ua={runId:t,taskId:n,expiresAt:Date.now()+Math.max(1e3,Number(e?.ttlMs)||tI)}}function Ui(){Ua=void 0}function em(e){let t=Ua;if(!t)return!1;if(t.expiresAt<=Date.now())return Ua=void 0,!1;let n=String(e?.activeTask?.status||"").trim();if(n&&n!=="running")return Ua=void 0,!1;let r=String(t.runId||"").trim(),o=String(t.taskId||"").trim(),i=String(e?.pendingRun?.id||"").trim(),a=String(e?.activeTask?.taskId||"").trim();return!(r&&i&&r!==i&&(!o||!a||o!==a)||o&&a&&o!==a)}function _c(e){e&&em(e)&&(e.uiHidden=!1,e.uiOpen=!0)}function jn(e="session_start",t=Date.now(),n){return{taskId:n||So("task"),status:"running",startedAt:t,lastUserAt:void 0,lastAssistantAt:void 0,boundaryReason:e,endedAt:void 0}}function Rf(e,t){return{version:zf,sessionId:e,runtimeId:t,uiOpen:!1,uiHidden:!1,uiStatus:void 0,transientStatus:void 0,uiMessages:[],timeline:[],executionMode:"controller",workerState:void 0,pendingRun:void 0,lastNavigationHandoff:void 0,taskEpoch:1,activeTask:jn(),taskTabScope:void 0,lastRoutingDecision:void 0,launchBinding:void 0,updatedAt:Date.now(),tasks:{},activeTaskId:void 0,taskOrder:[]}}function un(e,t=LE){return e.length<=t?e:`${e.slice(0,t)}\u2026`}function zk(e){if(e!=null){if(typeof e=="string")return un(e,1200);try{return un(JSON.stringify(e),1200)}catch{try{return un(String(e),1200)}catch{return}}}}function Hd(e){let t=e?.telemetry,n=Number(t?.sampleRate),r=Number.isFinite(n)?Math.min(1,Math.max(0,n)):1,o=Number(t?.flushIntervalMs),i=Number.isFinite(o)?Math.min(6e4,Math.max(2e3,Math.floor(o))):qE,a=Number(t?.maxBatchSize),s=Number.isFinite(a)?Math.min(80,Math.max(1,Math.floor(a))):$E;return{enabled:t?.enabled!==!1,sampleRate:r,flushIntervalMs:i,maxBatchSize:s,includePayloads:t?.includePayloads===!0}}function vc(e){return e==="host_only"?"host_only":"registrable_domain"}function Ec(e,t){return e==="observer"?"This tab is in observer mode because another tab currently holds Rover action control.":t?"Controller tab ready for actions.":"Actions are disabled by configuration (allowActions=false)."}function tm(e){return e==="auto"||e==="confirm"||e==="never"?e:"confirm"}function Hk(e){return"host_session"}function Fk(e){return"task_touched_only"}function nm(e){return"crash_only"}function Id(e){let t=Number(e);return Number.isFinite(t)?Math.max(6e4,Math.min(30*6e4,Math.floor(t))):OE}function rm(e){return"read_only"}function jk(e){return"heuristic_same_window"}function om(e){let t=Number(e);return Number.isFinite(t)?Math.max(1e4,Math.min(10*6e4,Math.floor(t))):BE}function im(e){let t=Number(e);return Number.isFinite(t)?Math.max(.05,Math.min(.9,t)):UE}function qk(e){return"empty"}function $k(e){return"deterministic_cues"}function Wk(e){let t=Number(e);return Number.isFinite(t)?Math.max(1,Math.min(4,Math.floor(t))):PE}function Vk(e){return"auto"}function Gk(e){return!1}function Kk(e){return"pre_tool_block"}function tR(){return Wv({pendingRunText:u?.pendingRun?.text,activeRunText:P?.getState()?.activeRun?.text,rootWorkerInput:u?.workerState?.rootUserInput,lastUserInputText:Tn,fallback:"navigation request"})}function Xk(e){return e!==!1}function ln(e,t,n){let r=Number(e);if(Number.isFinite(r))return Math.max(t,Math.min(n,Math.floor(r)))}function am(e){return"on_demand"}function sm(e){let t=Number(e);return Number.isFinite(t)?Math.max(5e3,Math.min(12e4,Math.floor(t))):hg.idleCloseMs}function Ka(e,t){let n=Number(e);return Number.isFinite(n)?Math.max(32768,Math.min(2097152,Math.floor(n))):t}function cm(e){return!(!e||!Hd(e).enabled||!Jn(e))}function ck(e){if(e!=null){if(typeof e=="string")return un(e,260);if(typeof e=="number"||typeof e=="boolean")return e;if(Array.isArray(e))return{type:"array",length:e.length};if(typeof e=="object"){let n={type:"object",keys:Object.keys(e).slice(0,20)},r=["code","message","stage","status","reason","taskId","runId","policyAction"];for(let o of r){let i=e?.[o];i!=null&&(typeof i=="string"?n[o]=un(i,180):(typeof i=="number"||typeof i=="boolean")&&(n[o]=i))}return n}}}function nR(e,t){if(!t)return ck(e);let n=um(e);if(n!=null)return typeof n=="string"?un(n,1e3):typeof n=="number"||typeof n=="boolean"?n:Array.isArray(n)?{type:"array",length:n.length}:typeof n=="object"?n:ck(e)}function lm(){pd&&(clearInterval(pd),pd=null),xo&&(clearTimeout(xo),xo=null),oc=!1}function rR(e){return`${Vl(e.apiBase)}/telemetry/ingest`}function Rd(e){let t=e||R,n=String(t?.publicKey||"").trim();if(n.startsWith("pk_site_"))return n;let r=String(t?.authToken||"").trim();return r.startsWith("pk_site_")?r:""}function Jn(e){if(wn&&Jr>Date.now()+2e3)return wn;try{let r=R?.siteId||e?.siteId||"";if(r){let o=sessionStorage.getItem(`rover:sess:${r}`);if(o){let{t:i,e:a}=JSON.parse(o);if(i&&typeof i=="string"&&i.startsWith("rvrsess_")&&Number(a)>Date.now()+2e3)return wn=i,Jr=Number(a),i}}}catch{}let t=e||R,n=String(t?.sessionToken||t?.authToken||"").trim();return n.startsWith("rvrsess_")?n:""}function Ad(e,t){let n=String(e||"").trim();wn=n||void 0,Jr=Number(t)>0?Number(t):0;try{let r=R?.siteId||"";n&&Jr>Date.now()?sessionStorage.setItem(`rover:sess:${r}`,JSON.stringify({t:n,e:Jr})):sessionStorage.removeItem(`rover:sess:${r}`)}catch{}}function oR(e){try{let t=String(e||"").replace(/-/g,"+").replace(/_/g,"/"),n=t+"=".repeat((4-(t.length%4||4))%4);if(typeof atob=="function"){let r=atob(n),o=Uint8Array.from(r,i=>i.charCodeAt(0));return new TextDecoder().decode(o)}}catch{}return""}function iR(e){let t=String(e||"").trim();if(!t.startsWith("rvrsess_"))return null;let n=t.slice(8),r=n.lastIndexOf(".");if(r<=0)return null;let o=oR(n.slice(0,r));if(!o)return null;try{let i=JSON.parse(o),a=String(i.agentKey||"").trim(),s=String(i.agentName||"").trim()||void 0,c=String(i.agentVendor||"").trim()||void 0,l=String(i.agentModel||"").trim()||void 0,d=String(i.agentTrust||"").trim(),m=String(i.agentSource||"").trim(),f=String(i.agentMemoryKey||"").trim()||void 0,p=String(i.launchSource||"").trim();return!a&&!s&&!c&&!l?null:{agentKey:a||f||c||s||"anonymous",agentName:s,agentVendor:c,agentModel:l,agentTrust:d==="verified_signed"||d==="signed_directory_only"||d==="self_reported"||d==="heuristic"||d==="anonymous"?d:d==="verified"?"verified_signed":void 0,agentSource:m==="public_run_agent"||m==="handoff_agent"||m==="webmcp_agent"||m==="signature_agent"||m==="user_agent"||m==="owner_resolver"||m==="anonymous"?m:void 0,agentMemoryKey:f,launchSource:p==="public_run_api"||p==="delegated_handoff"||p==="webmcp"||p==="embedded_widget"?p:void 0}}catch{return null}}function aR(e){if(!e||!R)return;let t=e.cloudSandboxEnabled===!0||e.enableExternalWebContext===!0&&e.externalScrapeMode==="on_demand";e.domainScopeMode&&(R.domainScopeMode=vc(e.domainScopeMode)),R.tools||(R.tools={}),R.tools.web||(R.tools.web={}),R.tools.web.enableExternalWebContext=t?!0:e.enableExternalWebContext??R.tools.web.enableExternalWebContext,R.tools.web.scrapeMode=t?"on_demand":e.externalScrapeMode??R.tools.web.scrapeMode,Array.isArray(e.externalAllowDomains)&&(R.tools.web.allowDomains=e.externalAllowDomains),Array.isArray(e.externalDenyDomains)&&(R.tools.web.denyDomains=e.externalDenyDomains),typeof e.uiMascotSoundEnabled=="boolean"&&(R.ui||(R.ui={}),R.ui.mascot||(R.ui.mascot={}),R.ui.mascot.soundEnabled=e.uiMascotSoundEnabled),typeof e.uiMuted=="boolean"&&(R.ui||(R.ui={}),R.ui.muted=e.uiMuted)}function Af(e){if(!u||!e)return;vo=Math.max(1,Number(e.epoch||vo));let t=typeof e.activeRunId=="string"?e.activeRunId:"",n=String(e.runStatus||"").trim().toLowerCase();Mv({serverRunId:t,runStatus:n,ignoredRunIds:gr})&&Jo(t,"projection_ignored_active_run",{attemptImmediately:!0}),Go(t||void 0);let r=u.pendingRun,o=r?.id||"";!t&&o?(n==="completed"||n==="cancelled"||n==="failed"||n==="ended"||u.activeTask?.status!=="running")&&(ei(o),Xt(void 0),P?.setActiveRun(void 0)):t&&!to()&&Ic(Pt)!=="observer"&&Cv({serverRunId:t,localPendingRunId:o,localPendingTaskBoundaryId:r?.taskBoundaryId,currentTaskBoundaryId:He,taskStatus:u.activeTask?.status,ignoredRunIds:gr})?Xt({id:t,text:r?.text||"",startedAt:r?.startedAt||Date.now(),attempts:r?.attempts||0,autoResume:!0,taskBoundaryId:r?.taskBoundaryId||He,resumeRequired:r?.resumeRequired===!0,resumeReason:r?.resumeReason}):t&&gr.has(t)&&o===t&&(P?.releaseWorkflowLock(t),Xt(void 0),P?.setActiveRun(void 0));let i=String(e.snapshotMeta?.digest||"").trim()||(Number.isFinite(Number(e.snapshotMeta?.updatedAt))?`u:${Math.max(0,Number(e.snapshotMeta?.updatedAt||0))}`:Number.isFinite(Number(e.snapshotUpdatedAt))?`u:${Math.max(0,Number(e.snapshotUpdatedAt||0))}`:""),a=i?`${e.sessionId}:${i}`:"";if(e.snapshot&&typeof e.snapshot=="object"&&(!a||a!==hc)){let c=e.snapshot?.runtimeState,l=e.snapshot?.sharedState;if(c&&typeof c=="object"){$a=!0;try{xx({version:kk,siteId:R?.siteId||u.sessionId,visitorId:rn||"server_projection",sessionId:u.sessionId,updatedAt:Number(e.snapshot?.updatedAt)||Date.now(),runtimeState:c,sharedState:l})}finally{$a=!1}a&&(hc=a)}}let s=String(u?.pendingRun?.id||"").trim();s&&gr.has(s)&&(P?.releaseWorkflowLock(s),Xt(void 0),P?.setActiveRun(void 0)),Cd()}async function eo(e){if(!(!u||!e.apiBase&&!e.publicKey&&!e.authToken&&!e.sessionToken||!Rd(e)&&!wn)){Te?Te.setApiBase(e.apiBase):Te=new Kl({apiBase:e.apiBase,siteId:e.siteId,getSessionId:()=>u?.sessionId,getBootstrapToken:()=>Rd(R),getHost:()=>window.location.hostname,getPageUrl:()=>window.location.href,getTaskBoundaryId:()=>He,shouldKeepTransportActive:()=>!zi(),onSession:n=>{if(Ad(n.sessionToken,n.sessionTokenExpiresAt),Ar&&P?.broadcastSessionToken(n.sessionToken||"",n.sessionTokenExpiresAt||0),vo=Math.max(1,Number(n.epoch||vo)),u&&n.sessionId&&u.sessionId!==n.sessionId&&(u.sessionId=n.sessionId,hc="",Ye()),aR(n.policy),n.siteConfig&&typeof n.siteConfig=="object"&&R){let r={shortcuts:Zo(n.siteConfig.shortcuts),businessType:Oc(n.siteConfig.businessType),experience:Oi(n.siteConfig.experience),greeting:qi(n.siteConfig.greeting),voice:Qa(n.siteConfig.voice),aiAccess:Mc(n.siteConfig.aiAccess),limits:Gd(n.siteConfig.limits),pageConfig:wo(n.siteConfig.pageConfig),agentDiscovery:va(n.siteConfig.agentDiscovery),version:n.siteConfig.version!=null?String(n.siteConfig.version):void 0};gn=r,wx(R.siteId,r),Od(R)}n.projection&&Af(n.projection),rt&&rt.postMessage({type:"update_config",config:{...ji(),pageConfig:xc(R),publicKey:void 0,sessionToken:wn,authToken:Jn(R),sessionId:u?.sessionId,activeRunId:u?.pendingRun?.id,sessionEpoch:Te?.getEpoch?.()??vo,sessionSeq:Te?.getLastSeq?.()??0}}),kt&&kt.setNavigationPolicy({allowedDomains:R?.allowedDomains,domainScopeMode:R?.domainScopeMode}),R&&(ym(R),Fd(R)),Wa=!0,Qr(),Cd()},onProjection:n=>{Af(n),Ar&&P?.broadcastProjection(n),Cd(),rt&&rt.postMessage({type:"update_config",config:{...ji(),pageConfig:xc(R),sessionToken:wn,authToken:Jn(R),sessionId:u?.sessionId,activeRunId:u?.pendingRun?.id,sessionEpoch:Te?.getEpoch?.()??vo,sessionSeq:Te?.getLastSeq?.()??0}})},onError:n=>{st("error",{message:n?.message||"server runtime sync failed",scope:"server_runtime"})}});try{await Te.start()}catch(n){R?.apiMode!==!1&&lt("error",{message:n?.message||"server runtime sync failed",scope:"server_runtime_start"})}}}async function Ci(e=!1){if(fd||La)return;if(!R||!cm(R)){Gn=[];return}if(!e&&zi()||!Gn.length)return;let t=Hd(R),n=Jn(R);if(!n)return;let r=Gn.splice(0,t.maxBatchSize);if(r.length){fd=!0,Td=Date.now();try{let o=await fetch(rR(R),{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify({sessionToken:n,sessionId:u?.sessionId,runId:u?.pendingRun?.id,siteId:R.siteId,runtimeId:St,visitorId:rn,flushReason:e?"manual":"interval",sdkVersion:"rover_sdk_v1",pageUrl:window.location.href,userAgent:navigator.userAgent,sampleRate:t.sampleRate,events:r})});if(!o.ok){o.status===401||o.status===403?La=!0:Gn=[...r,...Gn].slice(-xd);return}let i=await o.json().catch(()=>{});if(i?.success===!1){let a=String(i?.errorCode||i?.errorDetails?.code||"").toUpperCase();(a==="INVALID_API_KEY"||a==="MISSING_API_KEY"||a==="UNAUTHENTICATED"||a==="PERMISSION_DENIED")&&(La=!0);return}}catch{Gn=[...r,...Gn].slice(-xd)}finally{fd=!1}}}function Fd(e){if(lm(),La=!1,!cm(e)){Gn=[];return}let t=Hd(e);pd=setInterval(()=>{Ci(!1)},t.flushIntervalMs)}function st(e,t){if(!cm(R)||La||zi()&&!SI.has(e))return;let n=Hd(R);if(n.sampleRate<1&&Math.random()>n.sampleRate)return;let r=Date.now();if(e==="status"){if(!String(t?.event||"").trim().startsWith("deep_link_")){if(r-bf<xI)return;bf=r}}else if(e==="checkpoint_state"){if(r-yf<wI)return;yf=r}let o={name:e,ts:r,seq:++wk,payload:nR(t,n.includePayloads)};if(Gn.push(o),Gn.length>xd&&(Gn=Gn.slice(-xd)),Sk.has(e)){let a=Date.now()-Td;if(a>=nk){Ci(!1);return}xo||(xo=setTimeout(()=>{xo=null,Ci(!1)},nk-a));return}if(Gn.length>=n.maxBatchSize){let a=Date.now()-Td;a>=tk?Ci(!1):oc||(oc=!0,setTimeout(()=>{oc=!1,Ci(!1)},tk-a))}}function sR(e,t){st(e,t)}function Yk(e){if(e==="analyze"||e==="route"||e==="execute"||e==="verify"||e==="complete")return e}function cR(e){return e?e==="analyze"?"Analyze":e==="route"?"Route":e==="execute"?"Execute":e==="verify"?"Verify":e==="complete"?"Complete":"Status":"Status"}function lR(e,t,n){return[String(t||""),String(e||"").trim().toLowerCase(),String(n||"").trim().toLowerCase()].join("|")}function dR(e,t){if(!e)return!0;let n=e.trim();return!!(t&&n.toLowerCase()===t.trim().toLowerCase()||/^complexity score\b/i.test(n)||/\btool loop$/i.test(n)||/^calling \w[\w\s]*(workflow|sub-agent)$/i.test(n))}function uR(){return u?.pendingRun?.id}function Go(e){Tc=String(e||"").trim()||void 0}function lk(){let e=u?.pendingRun?.id;if(!e)return;if(!Te)return e;let t=Te.getActiveRunId(),n=String(t||Tc||"").trim();if(n)return n===e?e:void 0}function ei(e){e&&(gr.add(e),CI(gr,II))}function Cf(e){e&&gr.delete(e)}function Mf(e){let t=Math.max(0,Math.floor(e)),n=pc*2**t;return Math.max(120,Math.min(aI,n))}function pR(){if(!Nn.size)return null;let e=Number.POSITIVE_INFINITY;for(let t of Nn.values())e=Math.min(e,Number(t.nextAttemptAt)||Number.POSITIVE_INFINITY);return Number.isFinite(e)?Math.max(120,Math.floor(e-Date.now())):null}function Nf(e=pc){Uo&&(clearTimeout(Uo),Uo=null);let t=Math.max(80,Math.floor(e));Uo=setTimeout(()=>{Uo=null,Cd()},t)}function Jo(e,t="local_run_abandoned",n){let r=String(e||"").trim();if(!r)return;let o=Date.now(),i=Nn.get(r),a=n?.attemptImmediately===!0?o:i?.nextAttemptAt&&i.nextAttemptAt>o?i.nextAttemptAt:o+Mf(i?.attempts||0);for(Nn.set(r,{runId:r,reason:String(t||i?.reason||"local_run_abandoned").trim()||"local_run_abandoned",attempts:i?.attempts||0,nextAttemptAt:a,createdAt:i?.createdAt||o,lastError:i?.lastError});Nn.size>cI;){let s=Array.from(Nn.values()).sort((c,l)=>Number(c.createdAt)-Number(l.createdAt))[0];if(!s?.runId)break;Nn.delete(s.runId)}Nf(n?.attemptImmediately?50:pc)}async function Cd(){if(md||!Nn.size)return;if(!(!!Te&&!!Wa&&!!Jn(R))){Nf(pc);return}md=!0;try{let t=Date.now(),n=Array.from(Nn.values()).sort((r,o)=>Number(r.nextAttemptAt)-Number(o.nextAttemptAt));for(let r of n){if(r.nextAttemptAt>t)break;if(!Nn.has(r.runId))continue;if(hm(r.runId)){Nn.set(r.runId,{...r,nextAttemptAt:Date.now()+Mf(Math.max(1,r.attempts))});continue}let o=Te;if(!o){Nn.set(r.runId,{...r,nextAttemptAt:Date.now()+pc});continue}try{if(await o.controlRun({action:"cancel",runId:r.runId,reason:r.reason})){Nn.delete(r.runId);continue}throw new Error("cancel_control_no_response")}catch(i){let a=Math.max(0,Number(r.attempts||0))+1;if(a>=sI){Nn.delete(r.runId),lt("error",{message:`Failed to cancel stale run ${r.runId} after retries.`,scope:"run_cancel_repair",code:"RUN_CANCEL_REPAIR_FAILED",runId:r.runId});continue}Nn.set(r.runId,{...r,attempts:a,lastError:String(i?.message||"cancel_control_failed"),nextAttemptAt:Date.now()+Mf(a)})}}}finally{md=!1;let t=pR();t!=null&&Nf(t)}}function Bo(){return u?.activeTask?.status==="running"}function Jk(){Gt&&(Bo()||Lf()?Gt.enterActiveMode():Gt.enterIdleMode())}function fR(){return typeof document<"u"&&document.visibilityState==="hidden"}function Lf(){return!!u?.pendingRun?.id}function mR(){let e=P?.getState()?.activeRun;if(!e)return!1;if(e.runtimeId)return e.runtimeId===St;let t=String(u?.pendingRun?.id||"").trim();return!!(t&&e.runId===t)}function hR(){let e=P?.getWorkflowLockInfo();return!!(e?.locked&&e.holderRuntimeId===St)}function Qk(){return P?hR()||mR()?!0:Lf()&&!to():Bo()||Lf()}function gR(){return am(R?.transport?.activation)!=="on_demand"?!0:!!(u?.uiOpen||Qk()||Zk()||ex())}function zi(){if(!Ar)return!0;if(gR())nc=0;else{let t=sm(R?.transport?.idleCloseMs);return nc<=0&&(nc=Date.now()+t),!(Date.now()<nc)}return fR()?!Qk()&&!u?.uiOpen:!1}function Br(e=!1){if(typeof window>"u")return;let t=zi();if(!(!e&&_d===t)){_d=t;try{let n=window.rtrvrAISetObserverPaused;typeof n=="function"&&n(t)}catch{}}}function Zk(){let e=P?.getState()?.activeRun;return!!(e&&e.runtimeId&&e.runtimeId!==St)}function ex(){let e=P;if(!e?.isWorkflowLocked())return!1;let t=e.getWorkflowLockInfo();if(!t.locked||!t.holderRuntimeId||t.holderRuntimeId===St)return!1;let n=e.listTabs({scope:"all"}).find(r=>r.runtimeId===t.holderRuntimeId);return n?Number(n.updatedAt)>Date.now()-5e3:!1}function to(){return ex()}function Ic(e){return to()?"observer":e==="observer"?"controller":e}function tx(){return rm(R?.task?.observerInput)==="read_only"?!to():!Zk()}function nx(e){if(e==="observer")return to()?"Observing active run in another tab...":"Send to take control and run here."}function bR(){if(!P)return!1;let e=P.getState(),t=e?.activeRun,n=String(t?.runId||"").trim(),r=String(t?.text||"").trim();if(!P.requestControl())return!1;if(!n)return!0;if(!P.acquireWorkflowLock(n,{force:!0}))return!1;if(!u)return!0;let a=Mr(pn(e?.workerContext),Xn());return a&&(u.workerState=a,Ga(),P.setWorkerContext(Ac(u.workerState)),vr&&rt&&(yr(),rt.postMessage({type:"hydrate_state",state:u.workerState}),lt("context_restored",{source:"controller_handoff",ts:Date.now()}))),e?.task&&(u.activeTask=sx(e.task,u.activeTask||jn("handoff"))),u.uiHidden=!1,u.uiOpen=!0,(r||n)&&(Xt(xt({id:n,text:r||u.pendingRun?.text||Tn||"Continue task",startedAt:t?.startedAt||u.pendingRun?.startedAt||Date.now(),attempts:u.pendingRun?.id===n&&u.pendingRun.attempts||0,autoResume:!0,taskBoundaryId:u.pendingRun?.taskBoundaryId||u.workerState?.taskBoundaryId||He,resumeRequired:!0,resumeReason:"handoff"})),P.setActiveRun({runId:n,text:r||u.pendingRun?.text||"Continue task"})),Ye(),Qr({overridePolicyAction:"auto_resume"}),!0}function yR(e){let t=typeof e?.type=="string"?e.type:"";if(!MI.has(t))return!1;let n=typeof e?.runId=="string"&&e.runId?e.runId:void 0,r=typeof e?.runBoundaryId=="string"&&e.runBoundaryId?e.runBoundaryId:typeof e?.taskBoundaryId=="string"&&e.taskBoundaryId?e.taskBoundaryId:void 0,o=String(Te?.getActiveRunId()||Tc||"").trim()||void 0;return Nv({type:t,messageRunId:n,messageTaskBoundaryId:r,currentTaskBoundaryId:Xn(),pendingRunId:uR(),sharedActiveRunId:P?.getState()?.activeRun?.runId,authoritativeActiveRunId:o,taskStatus:u?.activeTask?.status,ignoredRunIds:gr})}function Nr(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r=0;r<e.length;r+=1){let o=e[r];if(!o||typeof o!="object")continue;let i=String(o.key||o.id||"").trim()||`clarification_${r+1}`,a=String(o.query||o.question||"").trim();if(!a)continue;let s=typeof o.required=="boolean",c=typeof o.optional=="boolean",l=s?!!o.required:c?!o.optional:!0,d=`${i}::${a}`.toLowerCase();if(n.has(d))continue;n.add(d);let m={key:i,query:a,...typeof o.id=="string"&&o.id.trim()?{id:o.id.trim()}:{},...typeof o.question=="string"&&o.question.trim()?{question:o.question.trim()}:{},...Array.isArray(o.choices)?{choices:o.choices}:{}};l||(m.required=!1),t.push(m)}return t.slice(0,6)}function vR(e,t){let n=String(e||"").trim();if(n)return n;if(!t||typeof t!="object")return"";let r=t.answersByKey&&typeof t.answersByKey=="object"?t.answersByKey:{},o=Nr(u?.workerState?.pendingAskUser?.questions),a=(Array.isArray(t.keys)?t.keys:[]).map(l=>String(l||"").trim()).filter(Boolean);if(a.length===0)for(let l of o){let d=String(l.key||"").trim();d&&a.push(d)}if(a.length===0)for(let l of Object.keys(r)){let d=String(l||"").trim();d&&a.push(d)}let s=[],c=new Set;for(let l of a){let d=String(l||"").trim();if(!d||c.has(d))continue;c.add(d);let m=String(r[d]||"").trim();s.push(`${d}: ${m||"(no answer provided)"}`)}return s.length>0?s.join(`
4375
+ `):String(t.rawText||"").trim()}function dm(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){if(!r||typeof r!="object")continue;let o=r,i=String(o.id||"").trim(),a=String(o.displayName||"").trim(),s=String(o.mimeType||"").trim();if(!(!i||!a||!s||n.has(i))&&(n.add(i),t.push({id:i,displayName:a,mimeType:s,storageUrl:typeof o.storageUrl=="string"&&o.storageUrl.trim()?o.storageUrl.trim():void 0,gcsUri:typeof o.gcsUri=="string"&&o.gcsUri.trim()?o.gcsUri.trim():void 0,sizeBytes:Number.isFinite(Number(o.sizeBytes))?Math.max(0,Number(o.sizeBytes)):void 0,downloadUrl:typeof o.downloadUrl=="string"&&o.downloadUrl.trim()?o.downloadUrl.trim():void 0,expiresAt:typeof o.expiresAt=="string"&&o.expiresAt.trim()?o.expiresAt.trim():void 0,kind:typeof o.kind=="string"&&o.kind.trim()?o.kind.trim():void 0,sourceStepId:typeof o.sourceStepId=="string"&&o.sourceStepId.trim()?o.sourceStepId.trim():void 0,originalIndex:Number.isFinite(Number(o.originalIndex))?Math.max(0,Number(o.originalIndex)):void 0,data:typeof o.data=="string"&&o.data.trim()?o.data.trim():void 0,ORIGIN_KEY:o.ORIGIN_KEY==="tool"?"tool":"user"}),t.length>=12))break}return t}function kR(){let e=Number(Kd(R)?.inputs?.attachmentLimit);return Number.isFinite(e)?Math.max(1,Math.min(12,Math.trunc(e))):gI}function xR(){let e=Number(Kd(R)?.inputs?.maxFileSizeMb);return Number.isFinite(e)?Math.max(1,Math.min(32,Math.trunc(e)))*1024*1024:yI}function wR(e){let t="";for(let r=0;r<e.length;r+=32768){let o=e.subarray(r,r+32768);t+=String.fromCharCode(...o)}return btoa(t)}async function SR(e){let t=await e.arrayBuffer();return wR(new Uint8Array(t))}function rx(e,t,n){return{id:`inline_${crypto.randomUUID()}`,displayName:String(e.name||`attachment-${n+1}`).trim()||`attachment-${n+1}`,mimeType:String(e.type||"application/octet-stream").trim()||"application/octet-stream",sizeBytes:Number.isFinite(e.size)?e.size:void 0,originalIndex:n,data:t,ORIGIN_KEY:"user"}}function TR(e,t,n,r){let o=rx(e,r||"",n);return t?.id?{id:t.id,displayName:String(t.displayName||o.displayName).trim()||o.displayName,mimeType:String(t.mimeType||o.mimeType).trim()||o.mimeType,storageUrl:t.storageUrl,gcsUri:t.gcsUri,sizeBytes:Number.isFinite(Number(t.sizeBytes))?Number(t.sizeBytes):o.sizeBytes,downloadUrl:t.downloadUrl,expiresAt:t.expiresAt,kind:t.kind,sourceStepId:t.sourceStepId,originalIndex:Number.isFinite(Number(t.originalIndex))?Number(t.originalIndex):n,data:t.data||o.data,ORIGIN_KEY:"user"}:o}async function _R(e){if(!Array.isArray(e)||e.length===0)return[];let t=kR(),n=xR(),r=e.slice(0,t),o=[];for(let i=0;i<r.length;i+=1){let a=r[i];if(!(a instanceof File))continue;if(Number.isFinite(a.size)&&a.size>n)throw new Error(`${a.name} exceeds the ${Math.round(n/(1024*1024))}MB limit.`);let s=await SR(a);if(Te){let c=await Te.uploadAttachment({fileName:a.name,mimeType:a.type||"application/octet-stream",dataBase64:s,sizeBytes:a.size});o.push(TR(a,c,i,s))}else o.push(rx(a,s,i))}return dm(o)}function Md(e){let t=String(se?.getActiveTask()?.rootUserInput||"").trim();if(t)return t;let n=String(u?.workerState?.rootUserInput||"").trim();if(n)return n;let r=u?.pendingRun,o=r&&r.id===e?String(r.text||"").trim():"";if(o)return o;let i=String(r?.text||"").trim();return i||String(Tn||"").trim()||void 0}function ER(e){if(!e||typeof e!="object")return{runComplete:!1,needsUserInput:!1,terminalState:"in_progress",contextResetRecommended:!1};let t=String(e.terminalState||"").trim().toLowerCase(),n=e.needsUserInput===!0,r=t==="waiting_input"||t==="in_progress"||t==="completed"||t==="failed"?t:n?"waiting_input":e.runComplete===!0?"completed":e.ok===!1?"failed":"in_progress",o=r==="completed"||e.runComplete===!0&&r!=="waiting_input",i=Nr(e.questions),a=String(e.continuationReason||"").trim().toLowerCase(),s=a==="loop_continue"||a==="same_tab_navigation_handoff"||a==="awaiting_user"?a:r==="waiting_input"?"awaiting_user":r==="in_progress"?"loop_continue":void 0;return{runComplete:o,needsUserInput:r==="waiting_input"||n,terminalState:r,contextResetRecommended:e.contextResetRecommended===!0||r==="completed",continuationReason:s,...i.length?{questions:i}:{}}}function IR(e){return ko?ko.readSync(e):null}function um(e){if(e==null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;try{return structuredClone(e)}catch{try{return JSON.parse(JSON.stringify(e))}catch{return}}}function Qo(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(!n||typeof n!="object")continue;let r=n.type;if(r==="text"){let o=String(n.text||"");if(!o)continue;t.push({type:"text",text:o});continue}(r==="tool_output"||r==="json")&&t.push({type:r,data:um(n.data),label:typeof n.label=="string"?n.label:void 0,toolName:typeof n.toolName=="string"?n.toolName:void 0})}return t.length?t:void 0}function dk(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.entries(e).filter(([,i])=>i!=null);if(t.length!==1)return!1;let[n,r]=t[0];return typeof r!="string"||!r.trim()?!1:new Set(["response","message","summary","text","content","result","description"]).has(n)}function RR(e,t){if(e==null)return!1;if(typeof e=="string"){let n=e.trim();return n?!t||n!==t.trim():!1}if(Array.isArray(e)){let n=e.filter(r=>r!=null);if(n.length===1){let r=n[0];if(typeof r=="string"||typeof r=="number"||typeof r=="boolean"||dk(r))return!1}return!0}return!dk(e)}function ox(e){if(!Array.isArray(e)||!e.length)return;let t=e.filter(r=>r.type==="text").map(r=>String(r.text||"").trim()).filter(Boolean);if(t.length)return t.join(`
4269
4376
 
4270
- `);let n=e.find(r=>r.type==="tool_output"||r.type==="json");if(n){if(typeof n.data=="string"&&n.data.trim())return n.data.trim();if(typeof n.data=="number"||typeof n.data=="boolean")return String(n.data)}}function GI(e){if(e==null)return;let t=typeof e=="object"&&e!==null?e:void 0,n=t?.output??t?.generatedContentRef??t?.schemaHeaderSheetInfo??e,r=Wk(Yo([{type:"tool_output",data:n}]));if(WI(n,r))return Yo([{type:"tool_output",label:typeof t?.name=="string"?`${t.name} output`:"Tool output",data:n}])}function hr(e){let t=Number(e);if(!(!Number.isFinite(t)||t<=0))return t}function KI(e){if(!e||typeof e!="object")return[];let t=e,n=[hr(t.tab_id),hr(t.logical_tab_id),hr(t.tabId),hr(t.logicalTabId)].filter(r=>!!r);return cr(n)}function XI(e){if(!e||typeof e!="object")return[];let t=e,n=t.output&&typeof t.output=="object"?t.output:void 0,r=[hr(t.tab_id),hr(t.logical_tab_id),hr(t.tabId),hr(t.logicalTabId),hr(n?.tab_id),hr(n?.logical_tab_id),hr(n?.tabId),hr(n?.logicalTabId)].filter(o=>!!o);return cr(r)}function YI(e){if(!e||typeof e!="object")return!1;let t=e,n=t.output&&typeof t.output=="object"?t.output:void 0,r=String(t.status||t.taskStatus||n?.status||n?.taskStatus||"").trim().toLowerCase();return!!(r==="failure"||r==="failed"||r==="error"||t.success===!1||n?.success===!1||t.error||n?.error)}function Gk(e){if(!e||typeof e!="object")return null;let t=e.role,n=e.content;return typeof t!="string"||typeof n!="string"||!n?null:{role:t,content:n}}function Wi(e,t){if(!Array.isArray(e))return[];let n=e.length<=t?e:[e[0],...e.slice(-(t-1))],r=[];for(let o of n){let a=sm(o);a!==void 0&&r.push(a)}return r}function Kk(e){if(!Array.isArray(e)||e.length===0)return[];let t=[...e],n=[];for(let o=0;o<t.length;o+=1){let a=t[o]?.accTreeId;typeof a=="string"&&a.trim()&&n.push(o)}if(n.length<=3)return t;let r=new Set([n[0],...n.slice(-2)]);for(let o of n)r.has(o)||t[o]&&typeof t[o]=="object"&&delete t[o].accTreeId;return t}async function JI(e,t){if(!xo)return null;try{let n=await xo.readAsync(e);if(n)return n;for(let r of t||[]){if(!r||r===e)continue;let o=await xo.readAsync(r);if(o)return o}return null}catch{return null}}function Mr(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(-kd)){let r=n?.role;r!=="user"&&r!=="assistant"&&r!=="system"||t.push({id:typeof n?.id=="string"&&n.id?n.id:So("msg"),role:r,text:String(n?.text||""),blocks:Yo(n?.blocks),ts:Number(n?.ts)||Date.now(),sourceRuntimeId:typeof n?.sourceRuntimeId=="string"?n.sourceRuntimeId:void 0})}return t.filter(n=>!!n.text||!!n.blocks?.length)}function Nr(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(-xd)){let r=Ln(String(n?.title||""),400);if(!r)continue;let o=String(n?.kind||"status"),a=n?.status;t.push({id:typeof n?.id=="string"&&n.id?n.id:So("timeline"),kind:o,title:r,detail:n?.detail?String(n.detail):void 0,detailBlocks:Yo(n?.detailBlocks),status:a==="pending"||a==="success"||a==="error"||a==="info"?a:void 0,ts:Number(n?.ts)||Date.now(),sourceRuntimeId:typeof n?.sourceRuntimeId=="string"?n.sourceRuntimeId:void 0})}return t}function Or(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(-Y_)){let r=n?.role==="user"?"user":n?.role==="model"?"model":void 0;if(!r)continue;let o=Ln(String(n?.message||"").replace(/\s+/g," ").trim(),1500);if(!o)continue;let a=t[t.length-1];a&&a.role===r&&a.message===o||t.push({role:r,message:o})}return t}function Ec(e,t){if(!e)return;let n=typeof e=="string"?e:e?.text,r=Ln(String(n||"").trim(),300);if(!r)return;let o=typeof e?.runId=="string"&&e.runId.trim()?e.runId.trim():typeof t?.runId=="string"&&t.runId.trim()?t.runId.trim():void 0,a=typeof e?.taskId=="string"&&e.taskId.trim()?e.taskId.trim():typeof t?.taskId=="string"&&t.taskId.trim()?t.taskId.trim():void 0,i=typeof e?.stage=="string"&&e.stage.trim()?Ln(e.stage.trim(),40):void 0;return{text:r,ts:Number(e?.ts)||Date.now(),runId:o,taskId:a,stage:i}}function QI(e,t){let n=Number(e.ts)||0,r=Number(t.ts)||0;if(n!==r)return n-r;let o=Array.isArray(e.blocks)?e.blocks.length:0,a=Array.isArray(t.blocks)?t.blocks.length:0;return o!==a?o-a:String(e.text||"").length-String(t.text||"").length}function ZI(e,t){let n=new Map;for(let r of Mr(e))n.set(r.id,r);for(let r of Mr(t)){let o=n.get(r.id);(!o||QI(r,o)>0)&&n.set(r.id,r)}return Mr([...n.values()].sort((r,o)=>{let a=(Number(r.ts)||0)-(Number(o.ts)||0);return a!==0?a:r.id.localeCompare(o.id)}))}function eR(e,t){let n=Number(e.ts)||0,r=Number(t.ts)||0;if(n!==r)return n-r;let o=Array.isArray(e.detailBlocks)?e.detailBlocks.length:0,a=Array.isArray(t.detailBlocks)?t.detailBlocks.length:0;return o!==a?o-a:String(e.detail||"").length-String(t.detail||"").length}function tR(e,t){let n=new Map;for(let r of Nr(e))n.set(r.id,r);for(let r of Nr(t)){let o=n.get(r.id);(!o||eR(r,o)>0)&&n.set(r.id,r)}return Nr([...n.values()].sort((r,o)=>{let a=(Number(r.ts)||0)-(Number(o.ts)||0);return a!==0?a:r.id.localeCompare(o.id)}))}function un(e){if(!e||typeof e!="object")return;let t=String(e.taskBoundaryId||"").trim(),n=Array.isArray(e.history)?e.history:[],r=Array.isArray(e.plannerHistory)?e.plannerHistory:[],o=Array.isArray(e.agentPrevSteps)?e.agentPrevSteps:Array.isArray(e.lastToolPreviousSteps)?e.lastToolPreviousSteps:[],a=n.slice(-Of).map(y=>Gk(y)).filter(y=>!!y),i=Wi(r,Bf),s=Wi(Kk(o),Uf),c=Cr(e?.pendingAskUser?.questions),l=e?.pendingAskUser?.stepRef,d=l&&Number.isFinite(Number(l.stepIndex))&&Number(l.stepIndex)>=0&&Number.isFinite(Number(l.functionIndex))&&Number(l.functionIndex)>=0?{stepIndex:Number(l.stepIndex),functionIndex:Number(l.functionIndex),...typeof l.accTreeId=="string"&&l.accTreeId.trim()?{accTreeId:l.accTreeId.trim()}:{}}:void 0,m=c.length?{questions:c,source:e?.pendingAskUser?.source==="planner"?"planner":"act",askedAt:Number(e?.pendingAskUser?.askedAt)||Date.now(),boundaryId:typeof e?.pendingAskUser?.boundaryId=="string"&&e.pendingAskUser.boundaryId.trim()?e.pendingAskUser.boundaryId.trim():void 0,...d?{stepRef:d}:{}}:void 0,f=We(t||void 0),p=We(m?.boundaryId||f);m&&f&&p&&p!==f&&(m=void 0);let g=typeof e.rootUserInput=="string"?e.rootUserInput.trim():"";return{trajectoryId:typeof e.trajectoryId=="string"?e.trajectoryId:void 0,taskBoundaryId:t||void 0,rootUserInput:g||void 0,seedChatLog:Or(e.seedChatLog),files:im(e.files),history:a,plannerHistory:i,agentPrevSteps:s,lastToolPreviousSteps:s,pendingAskUser:m,updatedAt:Number(e.updatedAt)||Date.now()}}function yc(e,t,n){if(!e||typeof e!="object")return Sf(t,n);let r=jn(),o=Zo(e.activeTask,r),a=yt(e.pendingRun),i=o.status==="running"?a:void 0,s=i?.taskBoundaryId&&String(i.taskBoundaryId).trim()||(typeof e?.workerState?.taskBoundaryId=="string"?String(e.workerState.taskBoundaryId).trim():"")||void 0,c=Ji(e.taskTabScope,s),l={version:Pf,sessionId:typeof e.sessionId=="string"&&e.sessionId?e.sessionId:t,runtimeId:typeof e.runtimeId=="string"&&e.runtimeId?e.runtimeId:n,uiOpen:!!e.uiOpen,uiHidden:!!e.uiHidden,uiStatus:typeof e.uiStatus=="string"?Ln(e.uiStatus,300):void 0,transientStatus:Ec(e.transientStatus??e.uiStatus,{runId:a?.id,taskId:o?.taskId}),uiMessages:Mr(e.uiMessages),timeline:Nr(e.timeline),executionMode:e.executionMode==="observer"||e.executionMode==="controller"?e.executionMode:"controller",workerState:un(e.workerState),pendingRun:i,taskTabScope:c,lastNavigationHandoff:_o(e.lastNavigationHandoff),taskEpoch:Math.max(1,Number(e.taskEpoch)||1),activeTask:o,lastRoutingDecision:e.lastRoutingDecision&&(e.lastRoutingDecision.mode==="act"||e.lastRoutingDecision.mode==="planner")?{mode:e.lastRoutingDecision.mode,score:Number(e.lastRoutingDecision.score)||void 0,reason:typeof e.lastRoutingDecision.reason=="string"?Ln(e.lastRoutingDecision.reason,200):void 0,ts:Number(e.lastRoutingDecision.ts)||Date.now()}:void 0,launchBinding:Hf(e.launchBinding),updatedAt:Number(e.updatedAt)||Date.now(),tasks:e.tasks&&typeof e.tasks=="object"?e.tasks:{},activeTaskId:typeof e.activeTaskId=="string"?e.activeTaskId:void 0,taskOrder:Array.isArray(e.taskOrder)?e.taskOrder:[]};if((Number(e.version)||1)<2&&o&&o.taskId){let m=wi.fromV1State(l),{tasks:f,activeTaskId:p,taskOrder:g}=m.toPersistedState();l.tasks=f,l.activeTaskId=p,l.taskOrder=g,m.shutdown()}return l}function Zo(e,t){if(!e||typeof e!="object")return t;let n=typeof e.taskId=="string"&&e.taskId.trim()?e.taskId.trim():t.taskId,r=e.status==="ended"||e.status==="completed"||e.status==="cancelled"||e.status==="failed"||e.status==="running"?e.status:"running";return{taskId:n,status:r,startedAt:Number(e.startedAt)||t.startedAt,lastUserAt:Number(e.lastUserAt)||void 0,lastAssistantAt:Number(e.lastAssistantAt)||void 0,boundaryReason:typeof e.boundaryReason=="string"?Ln(e.boundaryReason,120):t.boundaryReason,endedAt:Number(e.endedAt)||void 0}}function Xk(e,t){return Zo(e,t)}function Ic(e){if(!e)return;let t=Cr(e.pendingAskUser?.questions);return{trajectoryId:e.trajectoryId,taskBoundaryId:typeof e.taskBoundaryId=="string"?e.taskBoundaryId:void 0,rootUserInput:typeof e.rootUserInput=="string"?e.rootUserInput:void 0,seedChatLog:Or(e.seedChatLog),history:Array.isArray(e.history)?e.history.slice(-Of).map(n=>Gk(n)).filter(n=>!!n):[],plannerHistory:Wi(e.plannerHistory,Bf),agentPrevSteps:Wi(Kk(e.agentPrevSteps),Uf),pendingAskUser:t.length?{questions:t,source:e.pendingAskUser?.source==="planner"?"planner":"act",askedAt:Number(e.pendingAskUser?.askedAt)||Date.now(),boundaryId:typeof e.pendingAskUser?.boundaryId=="string"&&e.pendingAskUser.boundaryId.trim()?e.pendingAskUser.boundaryId.trim():void 0,...e.pendingAskUser?.stepRef&&Number.isFinite(Number(e.pendingAskUser.stepRef.stepIndex))&&Number(e.pendingAskUser.stepRef.stepIndex)>=0&&Number.isFinite(Number(e.pendingAskUser.stepRef.functionIndex))&&Number(e.pendingAskUser.stepRef.functionIndex)>=0?{stepRef:{stepIndex:Number(e.pendingAskUser.stepRef.stepIndex),functionIndex:Number(e.pendingAskUser.stepRef.functionIndex),...typeof e.pendingAskUser.stepRef.accTreeId=="string"&&e.pendingAskUser.stepRef.accTreeId.trim()?{accTreeId:e.pendingAskUser.stepRef.accTreeId.trim()}:{}}}:{}}:void 0,updatedAt:Number(e.updatedAt)||Date.now()}}function cr(e){if(!Array.isArray(e))return[];let t=new Set,n=[];for(let r of e){let o=Number(r);!Number.isFinite(o)||o<=0||t.has(o)||(t.add(o),n.push(o))}return n}function Ji(e,t){if(!e||typeof e!="object")return;let n=typeof e.boundaryId=="string"&&e.boundaryId.trim()?e.boundaryId.trim():typeof t=="string"&&t.trim()?t.trim():void 0;if(!n)return;let r=Number(e.seedTabId);if(!Number.isFinite(r)||r<=0)return;let o=cr(e.touchedTabIds);return o.includes(r)||o.unshift(r),{boundaryId:n,seedTabId:r,touchedTabIds:o.slice(0,24),updatedAt:Number(e.updatedAt)||Date.now()}}function yt(e){if(!e||typeof e!="object")return;let t=typeof e.id=="string"&&e.id.trim()?e.id.trim():void 0,n=typeof e.text=="string"?e.text.trim():"",r=typeof e.lastUserInputText=="string"&&e.lastUserInputText.trim()?e.lastUserInputText.trim():typeof Tn=="string"&&Tn.trim()?Tn.trim():"Continue task",o=n||r,a=typeof e.taskBoundaryId=="string"&&e.taskBoundaryId.trim()?e.taskBoundaryId.trim():void 0;if(t)return{id:t,text:o,startedAt:Number(e.startedAt)||Date.now(),attempts:Math.max(0,Number(e.attempts)||0),autoResume:e.autoResume!==!1,taskBoundaryId:a,resumeRequired:e.resumeRequired===!0,resumeReason:Ns(e.resumeReason)}}function nR(){return Vi(I?.stability?.maxPersistBytes,zt.localPersistBytes)}function rR(e,t){let n={...e,uiMessages:Mr(e.uiMessages).slice(-kd),timeline:Nr(e.timeline).slice(-xd),workerState:un(e.workerState)};n.workerState&&(n.workerState={...n.workerState,history:Array.isArray(n.workerState.history)?n.workerState.history.slice(-Of):[],plannerHistory:Wi(n.workerState.plannerHistory,Bf),agentPrevSteps:Wi(n.workerState.agentPrevSteps,Uf)});let r="";try{r=JSON.stringify(n)}catch{return e}if(r.length<=t)return n;let o={...n,uiMessages:[],timeline:[],workerState:void 0};try{if(JSON.stringify(o).length<=t)return o}catch{return o}return{...o,pendingRun:void 0,activeTask:jn("persist_trim")}}function Ui(e){if(!(!u||!Un))try{if(se){qd(),se.enforceMemoryCaps();let{tasks:r,activeTaskId:o,taskOrder:a}=se.toPersistedState();u.tasks=r,u.activeTaskId=o,u.taskOrder=a}let t=nR();u=rR(u,t);let n=JSON.stringify({s:u.sessionId,p:u.pendingRun?.id,pa:u.pendingRun?.autoResume,t:u.activeTask?.status,te:u.taskEpoch,m:u.uiMessages?.length,tl:u.timeline?.length,o:u.uiOpen,h:u.uiHidden,e:u.executionMode,at:u.activeTaskId});if(n===Cf&&!e?.markCheckpointDirty)return;Cf=n,u.updatedAt=Date.now(),xo?.write(Un,u),vo&&vo!==Un&&(xo?.remove(vo),vo=null),!Fi&&e?.markCheckpointDirty!==!1&&$t?.markDirty()}catch{}}var Ta=!1,Sa=!1,Cf="",Ks=0,_i=0,Mf=2e3,Yk=2e3;function Hi(e){Ui({markCheckpointDirty:!0}),$t?.syncNow({push:!0,pull:!1}),ct("checkpoint_state",{event:"critical_flush",reason:e})}function Ze(e){e?.markCheckpointDirty!==!1&&(Sa=!0);let t=Date.now();if(!Ta)_i=t;else if(_i>0&&t-_i>=Yk){Ta=!1,_i=0;let n=Sa;Sa=!1,Ks=t,Ui({markCheckpointDirty:n});return}Ta||(Ta=!0,setTimeout(()=>{Ta=!1,_i=0;let n=Sa;Sa=!1;let r=Date.now();if(r-Ks<Mf){Ta=!0,setTimeout(()=>{Ta=!1,_i=0,Ks=Date.now(),Ui({markCheckpointDirty:Sa||n}),Sa=!1},Mf-(r-Ks));return}Ks=r,Ui({markCheckpointDirty:n})},0))}function oR(){if(gf)return;gf=!0,bf||(bf=!0,Ma(document,"visibilitychange",()=>{Pr()},{passive:!0})),Ma(window,"pagehide",()=>{if(xn&&I?.siteId)try{sessionStorage.setItem(`rover:sess:${I.siteId}`,JSON.stringify({t:xn,e:Yr}))}catch{}if(u?.pendingRun?.autoResume){let r=u.pendingRun.resumeReason||(Kr?"agent_navigation":"page_reload"),o=yt({...u.pendingRun,resumeRequired:!0,resumeReason:r});if(u.pendingRun=o,o&&I?.siteId){let a=_o(u?.lastNavigationHandoff);bI(I.siteId,{runId:o.id,text:o.text,taskBoundaryId:o.taskBoundaryId||Fe,resumeReason:r,handoffId:a?.handoffId,openIntent:u.uiOpen?"preserve_if_running":void 0,ts:Date.now()})}}let n=Gf();O?.broadcastClosing(Tk(n)),u?.pendingRun&&O?.releaseWorkflowLock(u.pendingRun.id),Ui(),Ra(!0),am(),$t?.markDirty(),$t?.syncNow({push:!0,pull:!1}),$t?.stop(),O?.stop()},{capture:!0}),Ma(window,"pageshow",n=>{n.persisted&&(O&&(O.reloadFromStorage(),O.registerCurrentTab(window.location.href,document.title||void 0),O.claimLease(!1)),Lr=!1,Hn=0,I&&jd(I),Pr(!0))})}function aR(e="implicit"){if(u)return u.activeTask||(u.activeTask=jn(e),u.taskEpoch=Math.max(1,Number(u.taskEpoch)||1)),u.activeTask}function ea(e,t){if(!u)return;let n=u.activeTask?.status,r=We(Fe),o=wv({task:u.activeTask,taskEpoch:u.taskEpoch},e,{createTask:(a,i,s)=>jn(a,i,s)});if(u.activeTask=o.task,u.taskEpoch=o.taskEpoch,o.rotateBoundary&&t?.rotateBoundary!==!1?(Fe=Dr(),lr({forceReset:!0,persist:!1})):lr({persist:!1,appendSeed:!1}),o.clearPendingRun&&u.pendingRun&&Wt(void 0),o.clearWorkerState&&u.workerState&&(u.workerState=void 0,O?.setWorkerContext(void 0)),o.lifecycle==="terminal"&&(Lt&&(clearTimeout(Lt),Lt=null),Rc()),t?.syncShared!==!1&&O?.syncTask({...o.task},u.taskEpoch),t?.persist!==!1){let a=We(Fe);n!==o.task.status?Hi("run_status_transition"):!!a&&a!==r?Hi("task_boundary_transition"):Ze()}if(Pr(),Hk(),se){let a=se.toPersistedState();u.tasks=a.tasks,u.activeTaskId=a.activeTaskId,u.taskOrder=a.taskOrder}return o.task}function jo(){if(!se||!ce)return;qd();let e=se.listTasks(),t=se.getActiveTask()?.taskId;ce.setConversations(e.map(n=>({id:n.taskId,summary:n.rootUserInput||n.taskId.slice(0,8),status:n.state,updatedAt:n.endedAt||n.lastAssistantAt||n.lastUserAt||n.startedAt,isActive:n.taskId===t}))),t&&ce.setActiveConversationId(t)}function Gi(){if(se)return se.getActiveTask()}function iR(e=u,t){let n=String(t||e?.activeTaskId||e?.activeTask?.taskId||"").trim()||void 0,r=We(Pa(e)),o=String(yt(e?.pendingRun)?.id||"").trim()||void 0;return{taskId:n,boundaryId:r,runId:o}}function sR(){let e=Or(Gi()?.seedChatLog);return e.length?e:Or(u?.workerState?.seedChatLog)}function cR(e,t){let n=t||jn("task_record_sync");return Zo({taskId:e.taskId,status:hv(e.state),startedAt:e.startedAt,lastUserAt:e.lastUserAt,lastAssistantAt:e.lastAssistantAt,boundaryReason:e.blockReason||n.boundaryReason,endedAt:e.endedAt},n)}function Jk(e,t){if(!u)return;let n=We(e.boundaryId)||We(e.pendingRun?.taskBoundaryId)||We(e.workerState?.taskBoundaryId)||Yn()||Dr(),r=Or(e.seedChatLog??e.workerState?.seedChatLog),o=Ar(un(e.workerState||r.length||e.rootUserInput?{...e.workerState||{},...e.rootUserInput?{rootUserInput:e.rootUserInput}:{},...r.length?{seedChatLog:r}:{},taskBoundaryId:e.workerState?.taskBoundaryId||n}:void 0),n),a=yt(e.pendingRun),i=Ec(e.transientStatus,{runId:a?.id,taskId:e.taskId});u.activeTaskId=e.taskId,u.activeTask=cR(e,u.activeTask),u.uiMessages=Mr(e.uiMessages),u.timeline=Nr(e.timeline),u.workerState=o,u.pendingRun=a,u.taskTabScope=Ji(e.tabScope,n),u.uiStatus=i?.text,u.transientStatus=i,Fe=n,e.rootUserInput?.trim()&&(Tn=e.rootUserInput.trim()),t?.replayUi!==!1&&(lm(),Vd(u.uiMessages,u.timeline),Wd(u),Ki(),ce?.setRunning(!!u.pendingRun&&u.activeTask?.status==="running"),e.state==="paused"?ce?.showPausedTaskBanner({taskId:e.taskId,rootUserInput:e.rootUserInput||"Task"}):ce?.hidePausedTaskBanner())}function Qk(e){let t=Or(e),n=Gi();n&&se&&se.updateTask(n.taskId,r=>({...r,seedChatLog:t})),u?.workerState&&(u.workerState=un({...u.workerState,seedChatLog:t,updatedAt:Date.now()}),O?.setWorkerContext(Ic(u.workerState)))}function qd(){if(!u||!se)return;let e=se.getActiveTask();if(!e)return;let t=qs(u.activeTask?.status||"running",u.activeTask?.boundaryReason),n=Mr(u.uiMessages),r=Nr(u.timeline),o=[...n].reverse().find(m=>m.role==="assistant"),a=un(u.workerState),i=yt(u.pendingRun),s=We(i?.taskBoundaryId)||We(a?.taskBoundaryId)||We(e.boundaryId)||Yn()||Dr(),c=Ji(u.taskTabScope,s),l=Ec(u.transientStatus,{runId:i?.id,taskId:e.taskId}),d=Or(e.seedChatLog?.length?e.seedChatLog:a?.seedChatLog);se.updateTask(e.taskId,m=>({...m,state:t,boundaryId:s,startedAt:Number(u?.activeTask?.startedAt)||m.startedAt,endedAt:Number(u?.activeTask?.endedAt)||void 0,lastUserAt:Number(u?.activeTask?.lastUserAt)||m.lastUserAt,lastAssistantAt:Number(u?.activeTask?.lastAssistantAt)||m.lastAssistantAt,uiMessages:n,timeline:r,workerState:a,pendingRun:i,tabScope:c,rootUserInput:a?.rootUserInput||i?.text||m.rootUserInput||Tn,summary:o?.text||m.summary,seedChatLog:d,transientStatus:l}))}function cm(e){if(!u||!se)return;let t=iR(u,e?.preferredTaskId),n=_v(se.listTasks(),t);if(!n&&e?.allowCreate!==!1){let o=t.boundaryId||Dr(),a=qs(u.activeTask?.status||"running",u.activeTask?.boundaryReason);n=se.createTask("adopted_continuation",{taskId:t.taskId,state:a,boundaryId:o,startedAt:Number(u.activeTask?.startedAt)||Date.now(),endedAt:Number(u.activeTask?.endedAt)||void 0,lastUserAt:Number(u.activeTask?.lastUserAt)||void 0,lastAssistantAt:Number(u.activeTask?.lastAssistantAt)||void 0,rootUserInput:un(u.workerState)?.rootUserInput||yt(u.pendingRun)?.text||Tn,seedChatLog:Or(u.workerState?.seedChatLog),tabIds:Ji(u.taskTabScope,o)?.touchedTabIds||[]})}if(!n)return;e?.makeActive!==!1&&se.getActiveTaskId()!==n.taskId&&se.switchActiveTask(n.taskId),u.activeTaskId=se.getActiveTaskId()||n.taskId,u.activeTask=Zo({...u.activeTask||jn("adopted_continuation"),taskId:u.activeTaskId},jn("adopted_continuation",Date.now(),u.activeTaskId)),qd();let r=se.toPersistedState();return u.tasks=r.tasks,u.activeTaskId=r.activeTaskId,u.taskOrder=r.taskOrder,jo(),se.getTask(u.activeTaskId||n.taskId)}function lR(e,t=Date.now()){if(!u||e==="system")return;let n=aR("implicit");n&&n.status==="running"&&(e==="user"&&(n.lastUserAt=t),e==="assistant"&&(n.lastAssistantAt=t))}var of="[Rover]";function dR(e){if(!(I?.ui?.tabIndicator?.titlePrefix!==!1))return;let n=e||"[Rover: Running]",r=ic;r||(ac=document.title),ic=!0,of=n;let o=r?document.title.replace(/^\[Rover[^\]]*\]\s*/,"")||ac||"":document.title;if(document.title=`${n} ${o}`,!Oi){let a=document.querySelector("title");a&&(Oi=new MutationObserver(()=>{if(ic&&!document.title.startsWith(of)){let i=document.title.replace(/^\[Rover[^\]]*\]\s*/,"");document.title=`${of} ${i}`}}),Oi.observe(a,{childList:!0,characterData:!0,subtree:!0}))}I?.ui?.tabIndicator?.faviconBadge===!0&&Mv()}function $d(){ic&&(ic=!1,Oi&&(Oi.disconnect(),Oi=null),ac!==void 0?(document.title=ac,ac=void 0):document.title.startsWith("[Rover] ")&&(document.title=document.title.slice(8)),Nv())}function Zk(e="worker_task_active",t=Date.now()){if(se){let n=se.getActiveTask();n&&se.dispatch(n.taskId,{type:"START",reason:e})}ea({type:"ensure_running",reason:e,at:t}),dR()}function uR(e="worker_task_complete",t=Date.now()){if(se){let n=se.getActiveTask();n&&se.dispatch(n.taskId,{type:"COMPLETE"})}ea({type:"terminal",terminal:"completed",reason:e,at:t}),$d()}function ud(e="worker_task_failed",t=Date.now()){if(se){let n=se.getActiveTask();n&&se.dispatch(n.taskId,{type:"FAIL",error:e})}ea({type:"terminal",terminal:"failed",reason:e,at:t}),$d()}function pR(e="worker_task_ended",t=Date.now()){if(se){let n=se.getActiveTask();n&&se.dispatch(n.taskId,{type:"CANCEL",reason:"ended"})}ea({type:"terminal",terminal:"ended",reason:e,at:t}),$d()}function ex(e="worker_task_cancelled",t=Date.now()){if(se){let n=se.getActiveTask();n&&se.dispatch(n.taskId,{type:"CANCEL",reason:e})}ea({type:"terminal",terminal:"cancelled",reason:e,at:t}),$d()}function Jn(){$o=null,ce?.setTaskSuggestion({visible:!1})}function fR(e){let t=String(e?.id||"").trim();if(!t||eo())return!1;let n=String(e?.text||"").trim()||"Continue task";return $o?.kind==="resume_run"&&$o.runId===t?!1:($o={kind:"resume_run",runId:t,text:n,createdAt:Date.now()},ce?.setTaskSuggestion({visible:!0,text:"Resume your interrupted task or cancel it?",primaryLabel:"Resume",secondaryLabel:"Cancel"}),!0)}function Rc(){Nn=!1,zn=!1,Oa(),I?.siteId&&(Fs(I.siteId),Ik(I.siteId)),$t?.markDirty(),$t?.syncNow({push:!0,pull:!1})}function lm(){ce?.clearMessages(),ce?.clearTimeline(),ce?.setQuestionPrompt(void 0),Jn()}function dm(e){if(!u)return;Lt&&(clearTimeout(Lt),Lt=null),Lr=!1,Hn=0,Nn=!1,zn=!1,Vt&&(clearTimeout(Vt),Vt=null);let t=yt(u.pendingRun),n=String(e.runId||t?.id||"").trim();n&&(Qo(n),O?.releaseWorkflowLock(n),um(n)||Xo(n,e.cancelReason||e.reason,{attemptImmediately:!0})),Wt(void 0),O?.setActiveRun(void 0),ce?.setRunning(!1),ce?.setQuestionPrompt(void 0),Jn(),u.activeTask?.status==="running"?ex(e.reason):Rc(),qt(void 0),ct("status",{event:"local_run_abandoned",reason:e.reason,runId:n||void 0}),e.timelineTitle&&wt({kind:e.timelineStatus==="error"?"error":"info",title:e.timelineTitle,detail:e.timelineDetail,status:e.timelineStatus||"info"}),e.emitError?.message&&st("error",{message:e.emitError.message,scope:e.emitError.scope||"resume",code:e.emitError.code,runId:n||void 0})}function mR(e){if(e)return We(e.pendingAskUser?.boundaryId||e.taskBoundaryId)}function Ar(e,t){if(!e)return;let n=We(t);if(!n)return e;let r=We(e.taskBoundaryId);if(r&&r!==n)return;let o=We(e.pendingAskUser?.boundaryId);if(!(o&&o!==n))return e}function Ki(){if(u?.activeTask?.status!=="running"){Ei="",ce?.setQuestionPrompt(void 0);return}let e=Yn(),t=mR(u?.workerState);if(e&&t&&t!==We(e)){Ei="",ce?.setQuestionPrompt(void 0);return}let n=Cr(u?.workerState?.pendingAskUser?.questions);if(!n.length){Ei="",Ke&&(Ke.lastNeedsInputSignature=void 0),ce?.setQuestionPrompt(void 0);return}let r=`${We(t||e)||""}:${n.map(o=>`${o.key}:${o.query}`).join("|")}`;r!==Ei&&(Ei=r,Hi("question_prompt_boundary")),ce?.setQuestionPrompt({questions:n}),hx(n)}function hR(){let e=u?.pendingRun;if(!e)return!1;if(!O)return!0;let t=O?.getState()?.activeRun;if(t?.runId&&t.runId===e.id||t?.runtimeId&&t.runtimeId!==vt)return!0;let n=Date.now()-Number(e.startedAt||0);return n>=0&&n<=aE}function gR(){if(!u?.pendingRun||hR()||!O)return;let e=u.pendingRun;if(e.resumeRequired===!0&&rd(u.activeTask?.status))return;let t=String(Te?.getActiveRunId()||"").trim();if(t&&t===e.id||eo())return;let n=Date.now()-Number(e.startedAt||0);!Number.isFinite(n)||n<iE||(Qo(e.id),Xo(e.id,"stale_pending_cleanup",{attemptImmediately:!0}),Wt(void 0),O?.releaseWorkflowLock(e.id),O?.setActiveRun(void 0),Lt&&(clearTimeout(Lt),Lt=null))}function wn(e,t,n=!0,r){let o=String(t||""),a=Yo(r?.blocks);if(!o&&(!a||a.length===0))return;let i={id:r?.id||So("msg"),role:e,text:o,blocks:a,ts:r?.ts||Date.now(),sourceRuntimeId:r?.sourceRuntimeId};return ce?.addMessage(i.role,i.text,{blocks:i.blocks}),u&&n&&(u.uiMessages.push(i),u.uiMessages.length>kd&&(u.uiMessages=u.uiMessages.slice(-kd)),lR(i.role,i.ts),Ze()),O&&r?.publishShared!==!1&&(O.appendMessage({id:i.id,role:i.role,text:i.text,blocks:i.blocks,ts:i.ts}),O.markTaskActivity(i.role,i.ts)),i}function bR(e){for(let t of e)wn(t.role,t.text,!1,{id:t.id,ts:t.ts,sourceRuntimeId:t.sourceRuntimeId,publishShared:!1,blocks:t.blocks})}function wt(e,t=!0){let n={id:e.id||So("timeline"),kind:e.kind,title:Ln(e.title,400),detail:e.detail?String(e.detail):void 0,detailBlocks:Yo(e.detailBlocks),status:e.status,ts:e.ts||Date.now(),sourceRuntimeId:e.sourceRuntimeId,elementId:e.elementId,toolName:e.toolName};return ce?.addTimelineEvent(n),u&&t&&(u.timeline.push(n),u.timeline.length>xd&&(u.timeline=u.timeline.slice(-xd)),Ze({markCheckpointDirty:!1})),O&&e.publishShared!==!1&&O.appendTimeline({id:n.id,kind:n.kind,title:n.title,detail:n.detail,detailBlocks:n.detailBlocks,status:n.status,ts:n.ts}),n}function yR(e){ce?.clearTimeline();for(let t of e)wt({id:t.id,kind:t.kind,title:t.title,detail:t.detail,detailBlocks:t.detailBlocks,status:t.status,ts:t.ts,sourceRuntimeId:t.sourceRuntimeId,publishShared:!1},!1)}function Vd(e=u?.uiMessages||[],t=u?.timeline||[]){if(ce){if(typeof ce.setTranscript=="function"){ce.setTranscript(e,t);return}ce.clearMessages(),bR(e),yR(t)}}function tx(e,t){if(!e?.text||t?.taskStatus&&t.taskStatus!=="running")return;let n=String(t?.activeRunId||"").trim(),r=String(e.runId||"").trim(),o=String(t?.activeTaskId||"").trim(),a=String(e.taskId||"").trim();if(!(r&&!n)&&!(r&&n&&r!==n)&&!(a&&o&&a!==o))return e.text}function nx(e=u){let t=O?.getState();return Ev({localPendingRunId:e?.pendingRun?.id,sharedActiveRunId:t?.activeRun?.runId,sharedTaskId:t?.task?.taskId||t?.activeTaskId,activeTaskId:e?.activeTask?.taskId||e?.activeTaskId})}function qt(e,t){let n=Ec(e?{text:e,runId:t?.runId||u?.pendingRun?.id,taskId:t?.taskId||u?.activeTask?.taskId||Gi()?.taskId,stage:t?.stage,ts:Date.now()}:void 0,{runId:t?.runId||u?.pendingRun?.id,taskId:t?.taskId||u?.activeTask?.taskId||Gi()?.taskId}),r=tx(n,{activeRunId:nx(u),activeTaskId:u?.activeTask?.taskId,taskStatus:u?.activeTask?.status});r?ce?.setStatus(r):ce?.setStatus?.(void 0),u&&(u.uiStatus=n?.text,u.transientStatus=n,qd(),Ze({markCheckpointDirty:!1})),O&&t?.publishShared!==!1&&O.setStatus(n)}function Wd(e=u){let t=tx(e?.transientStatus,{activeRunId:nx(e),activeTaskId:e?.activeTask?.taskId,taskStatus:e?.activeTask?.status});t?ce?.setStatus(t):ce?.setStatus?.(void 0)}function Ua(e,t){let n=_c(e);Dt=n;let r=t?.localLogicalTabId??O?.getLocalLogicalTabId(),o=t?.activeLogicalTabId??O?.getActiveLogicalTabId(),a=t?.holderRuntimeId??O?.getCurrentHolderRuntimeId(),i=n==="controller"&&!!(I?.allowActions??!0);bt?.setAllowActions(i),bt?.setActionGateContext?.({mode:n,controllerRuntimeId:a,activeLogicalTabId:o,localLogicalTabId:r,reason:Sc(n,i)}),u&&(u.executionMode=n,Ze()),Pr(),ce?.setExecutionMode(n,{controllerRuntimeId:a,localLogicalTabId:r,activeLogicalTabId:o,canTakeControl:!0,canComposeInObserver:qk(),note:$k(n)}),st("mode_change",{mode:n,rawMode:e,...t})}function Wt(e){u&&(e?u.pendingRun=yt({...e,taskBoundaryId:e.taskBoundaryId||Fe}):(u.pendingRun=void 0,u.uiStatus=void 0,u.transientStatus=void 0,Vo(void 0),Yf(u)||Oa()),Tc(u),Pr(),Ze())}function af(e){u&&(u.lastNavigationHandoff=_o(e),Ze())}function Gd(){let e=Number(O?.getLocalLogicalTabId()||O?.getActiveLogicalTabId()||1);return!Number.isFinite(e)||e<=0?1:e}function lr(e){if(!u)return;let t=We(Fe)||Dr();Fe||(Fe=t);let n=Gd(),r=e?.appendSeed!==!1,o=Ji(u.taskTabScope,t);if(!!e?.forceReset||!o||We(o.boundaryId)!==t){let c={boundaryId:t,seedTabId:n,touchedTabIds:[n],updatedAt:Date.now()};return u.taskTabScope=c,e?.persist!==!1&&Ze(),c}let i=cr(o.touchedTabIds);r&&!i.includes(n)&&i.unshift(n);let s={...o,seedTabId:Number.isFinite(Number(o.seedTabId))&&Number(o.seedTabId)>0?Number(o.seedTabId):n,touchedTabIds:i.slice(0,24),updatedAt:Date.now()};return u.taskTabScope=s,e?.persist&&Ze(),s}function rx(e,t){if(!u)return;let n=lr({persist:!1});if(!n)return;let r=cr([n.seedTabId,...n.touchedTabIds||[],...e]),o={...n,touchedTabIds:r.slice(0,24),updatedAt:Date.now()};return u.taskTabScope=o,t?.persist!==!1&&Ze(),o}function vR(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function Ha(e){if(!u)return;let t=lr({persist:!1,appendSeed:!1});if(!t||!O)return t;let n=Date.now(),r=Array.isArray(O.getState()?.tabs)?O.getState().tabs:[],o=new Set;for(let y of r){let x=Number(y?.logicalTabId);if(!Number.isFinite(x)||x<=0)continue;let T=Math.max(Number(y?.updatedAt)||0,Number(y?.openedAt)||0,Number(y?.detachedAt)||0),k=n-T;if(y.runtimeId){o.add(x);continue}if(y.external){k<=xE&&o.add(x);continue}if(y.detachedReason==="navigation_handoff"){k<=wE&&o.add(x);continue}if(y.detachedReason==="opened_pending_attach"){k<=TE&&o.add(x);continue}}let a=Number(O.getLocalLogicalTabId()),i=Number(O.getActiveLogicalTabId()),s=Number(t.seedTabId)>0?Number(t.seedTabId):Gd();Number.isFinite(a)&&a>0&&o.add(a),Number.isFinite(i)&&i>0&&o.add(i),o.size===0&&Number.isFinite(s)&&s>0&&o.add(s);let c=cr(t.touchedTabIds),l=c.filter(y=>o.has(y)),d=o.has(t.seedTabId)?t.seedTabId:Number.isFinite(a)&&a>0?a:Number.isFinite(i)&&i>0?i:s;l.includes(d)||l.unshift(d);let m=cr(l).slice(0,24);if(!(d!==t.seedTabId||!vR(m,c)))return t;let p=c.filter(y=>!m.includes(y)),g={...t,seedTabId:d,touchedTabIds:m.length?m:[d],updatedAt:Date.now()};return u.taskTabScope=g,e?.persist!==!1&&Ze(),ct("status",{event:"scoped_tab_reconciled",removedTabIds:p,scopedTabIds:g.touchedTabIds,seedTabId:g.seedTabId}),g}function Ai(){let e=Ha({persist:!1})||lr({persist:!1,appendSeed:!1});if(!e)return[Gd()];let t=cr(e.touchedTabIds);return t.length?t:[e.seedTabId]}function ox(){let e=Ha({persist:!1})||lr({persist:!1,appendSeed:!1});if(e)return{boundaryId:e.boundaryId,seedTabId:e.seedTabId,touchedTabIds:cr(e.touchedTabIds)}}function kR(e,t){let n=Da,r=Qr,o=qi,a,i=t;if(se){let l=se.listTasks(),d=se.getActiveTask()?.taskId,m=O?.getLocalLogicalTabId(),f=l.filter(y=>y.taskId!==d&&(y.state==="completed"||y.state==="cancelled")&&!!y.endedAt).sort((y,x)=>(Number(x.endedAt)||0)-(Number(y.endedAt)||0)),g=(Number.isFinite(Number(m))&&Number(m)>0?f.filter(y=>Array.isArray(y.tabIds)&&y.tabIds.includes(Number(m))):f)[0];g&&(n=g.rootUserInput||n,r=g.summary||r,o=g.endedAt||o,a=g.uiMessages.map(y=>({role:y.role,text:y.text,ts:y.ts})),i=g.state)}let s=I?.task?.followup,c=Hv({mode:s?.mode,previousTaskStatus:i,previousTaskMessages:a,previousTaskUserInput:n,previousTaskAssistantOutput:r,previousTaskCompletedAt:o,currentPrompt:e,ttlMs:em(s?.ttlMs),minLexicalOverlap:tm(s?.minLexicalOverlap)});return{chatLog:c.chatLog,reason:c.reason,overlap:c.overlap}}var Wr=new Map,Nf=GE;async function xR(e){if(Wr.has(e)){let o=Wr.get(e);if(Date.now()-o.ts<Nf)return;Wr.delete(e)}let t=Date.now();for(let[o,a]of Wr)t-a.ts>=Nf&&Wr.delete(o);let n=u?.pendingRun?.id;if(!n||!Te)return;let r=await Te.fetchExternalContext({runId:n,url:e,source:"direct_url"});r&&(Wr.set(e,{data:r,ts:Date.now()}),hk(Wr,WE))}function wR(e){let t=Wr.get(e);if(t){if(Date.now()-t.ts>=Nf){Wr.delete(e);return}return t.data}}function TR(e){let t=String(e||"").trim();return t===xf.read||t===xf.act}function Xs(e){let t=String(e.code||"EXTERNAL_CONTEXT_FAILED").trim()||"EXTERNAL_CONTEXT_FAILED",n=String(e.message||"External context request failed").trim()||"External context request failed";return{success:!1,error:`${t}: ${n}`,allowFallback:e.retryable!==!1,output:{success:!1,error:{code:t,message:n,retryable:e.retryable===!0,status:Number.isFinite(Number(e.status))?Number(e.status):void 0},details:e.details}}}async function SR(e){let t=String(e.call?.name||"").trim(),n=e.call?.args&&typeof e.call.args=="object"?e.call.args:{},r=t===xf.act?"act":"read_context",o=Number(n.tab_id),a=Number.isFinite(o)&&o>0?Math.trunc(o):Number.isFinite(Number(e.routeTabId))&&Number(e.routeTabId)>0?Math.trunc(Number(e.routeTabId)):void 0,i=O?.listTabs({scope:"all"})||[],s=a?i.find(p=>p.logicalTabId===a):void 0,l=String(n.url||"").trim()||String(s?.url||"").trim(),d=String(n.message||n.user_input||"").trim()||void 0,m=String(n.source||"").trim().toLowerCase()==="google_search"?"google_search":"direct_url";if(!l)return Xs({code:"MISSING_URL",message:"External context tools require a target url or tab with a url.",retryable:!1});if(!Te)return Xs({code:"RUNTIME_UNAVAILABLE",message:"Rover server runtime is not initialized.",retryable:!0});let f=String(u?.pendingRun?.id||Te.getActiveRunId()||wc||"").trim()||void 0;if(!f)return Xs({code:"NO_ACTIVE_RUN",message:"External context tools can only run during an active run.",retryable:!1});try{let p=wR(l);if(p)return p;let g=await Te.fetchExternalContext({runId:f,tabId:a,url:l,intent:r,message:d,source:m});if(!g)return Xs({code:"EMPTY_RESPONSE",message:"Server returned no external context response.",retryable:!0});let x=(g.pageData&&typeof g.pageData=="object"?g.pageData:void 0)||g;return{success:!0,output:{...x,metadata:{...x&&typeof x=="object"?x.metadata||{}:{},external:!0,accessMode:"external_scraped",logicalTabId:a,sourceTool:t},intent:r}}}catch(p){let g=String(p?.code||"").trim().toUpperCase()||"EXTERNAL_CONTEXT_FAILED",y=Number(p?.status),x=y>=500||g==="STALE_SEQ"||g==="STALE_EPOCH";return Xs({code:g,message:String(p?.message||"External context request failed"),retryable:x,status:Number.isFinite(y)?y:void 0,details:p?.details})}}function za(e){let t=Ai();return{taskBoundaryId:Fe,taskTabScope:ox(),scopedTabIds:t,...e||{}}}var ek="";function yr(e){if(!at)return;let t=za(e),n=JSON.stringify(t);n!==ek&&(ek=n,at.postMessage({type:"update_config",config:t}))}function ax(e,t){let n=String(e||"").trim();if(!n||!at)return;if(Dt==="observer"){if(eo()){wn("system","This tab is read-only while another tab is actively running Rover.",!0),wt({kind:"info",title:"Observer mode",detail:"Input is disabled while the active run is controlled by another tab.",status:"info"});return}if(!(O?.requestControl()??!1)){wn("system","Unable to take control right now because another tab is still running Rover actions.",!0),wt({kind:"info",title:"Observer mode",detail:"Action execution is currently owned by another tab runtime.",status:"info"});return}let g=O?.getLocalLogicalTabId(),y=O?.getActiveLogicalTabId(),x=O?.getCurrentHolderRuntimeId()||vt;Ua("controller",{localLogicalTabId:g,activeLogicalTabId:y,holderRuntimeId:x});let T=!!(I?.allowActions??!0);bt?.setAllowActions(T),bt?.setActionGateContext?.({mode:"controller",controllerRuntimeId:x,activeLogicalTabId:y,localLogicalTabId:g,reason:Sc("controller",T)})}let r=t?.runId||crypto.randomUUID(),o=!!t?.resume,a=t?.appendUserMessage!==!1,s=(t?.askUserAnswers?Nd(r):void 0)||n;Ef(r),a&&wn("user",n,!0);let c=u?.pendingRun?.id===r?u.pendingRun.attempts:0,l=u?.pendingRun?.id===r&&u.pendingRun.taskBoundaryId||Fe;rx([Gd()],{persist:!0});let d=Ai(),m=Or(Array.isArray(t?.seedChatLog)?t.seedChatLog:sR());Kr=!1,Wt({id:r,text:s,startedAt:Date.now(),attempts:o?c+1:0,autoResume:t?.autoResume!==!1,taskBoundaryId:l,resumeRequired:!1,resumeReason:void 0}),Zk(o?"worker_task_resumed":"worker_task_active"),Tn=s,u&&(u.workerState=un({...u.workerState||{},taskBoundaryId:l,rootUserInput:u.workerState?.rootUserInput||s,seedChatLog:m,history:u.workerState?.history||[],plannerHistory:u.workerState?.plannerHistory||[],agentPrevSteps:u.workerState?.agentPrevSteps||[],updatedAt:Date.now()}),O?.setWorkerContext(Ic(u.workerState))),Qk(m),O?.acquireWorkflowLock(r),O?.setActiveRun({runId:r,text:s}),at.postMessage({type:"run",text:n,runId:r,trajectoryId:u?.workerState?.trajectoryId,resume:o,preserveHistory:!!t?.preserveHistory,seedChatLog:m,routing:t?.routing,askUserAnswers:t?.askUserAnswers,files:im(t?.files),scopedTabIds:d,taskTabScope:ox()}),Vt&&clearTimeout(Vt);let f=r;Vt=setTimeout(()=>{u?.pendingRun?.id===f&&(dm({reason:"run_timeout_terminal",statusText:"Task timed out.",runId:f,cancelReason:"run_timeout_terminal",timelineTitle:"Run timed out",timelineDetail:"Task timed out after 5 minutes with no response.",timelineStatus:"error",emitError:{message:"Run safety timeout",scope:"run_timeout",code:"RUN_TIMEOUT"}}),wn("system","Task timed out after 5 minutes with no response.",!0)),Vt=null},5*6e4)}async function _R(e,t){let n=BI(e,t?.askUserAnswers);if(!n)return;gR();let r=u?.activeTask?.status,o=Cr(u?.workerState?.pendingAskUser?.questions).length,a=u?.workerState?.pendingAskUser?.boundaryId,i=Bv({startNewTask:!!t?.startNewTask,taskStatus:r,pendingAskUserQuestionCount:o,hasAskUserAnswers:!!t?.askUserAnswers,pendingAskUserBoundaryId:a,currentTaskBoundaryId:Fe}),s=!i,c=s?t?.continueRunId||u?.pendingRun?.id||Te?.getActiveRunId():void 0,l=i?kR(n,r):{reason:"mode_disabled",overlap:0},d=i?await YE({userText:n,isFreshTask:!0,pageUrl:window.location.href,taskId:String(u?.activeTask?.taskId||"").trim()||void 0,taskBoundaryId:We(Fe),visitorId:tn,visitor:Rr}):[],m=Or([...d,...l.chatLog||[]]),f=Array.isArray(t?.attachments)?t.attachments.filter(x=>x instanceof File):[];if(ct("status",{event:"task_boundary_decision",startFreshTask:i,askUserContinuation:s,pendingAskUserQuestionCount:o,activeTaskStatus:r||"none"}),ct("status",{event:"followup_chat_cue",attached:m.length>0,reason:l.reason,overlap:l.overlap}),O?.pruneTabs(i?{dropRuntimeDetached:!0,keepOnlyActiveLiveTab:!0,keepRecentExternalPlaceholders:!0}:{dropRuntimeDetached:!0}),i){let x=!!u?.pendingRun,T=t?.reason||(r==="completed"?"auto_after_task_complete":r==="running"?"auto_new_prompt_boundary":"auto_after_task_end");if(ct("status",{event:"task_boundary_reset",reason:T,hadActiveRun:x}),se&&r==="running"){let k=se.getActiveTask();k&&(k.uiMessages=u?.uiMessages||[],k.timeline=u?.timeline||[],k.rootUserInput=k.rootUserInput||Tn)}if(Dc({reason:T,clearUi:!0}),se){let k=se.getActiveTask();k&&(k.rootUserInput=n,k.seedChatLog=m),jo()}x&&Te&&await new Promise(k=>setTimeout(k,50))}Jn();let p=c,g=t?.routing,y=[];if(f.length>0)try{wt({kind:"tool_start",title:f.length===1?"Uploading attachment":"Uploading attachments",detail:f.map(x=>x.name).join(", "),status:"pending"}),y=await qI(f),wt({kind:"tool_result",title:y.length===1?"Attachment ready":`${y.length} attachments ready`,detail:y.map(x=>x.displayName).join(", "),status:"success"})}catch(x){let T=String(x?.message||"attachment upload failed");wt({kind:"error",title:"Attachment upload failed",detail:T,status:"error"}),wn("system",`Unable to attach files: ${T}`,!0),qt(`Attachment upload failed (${T})`),st("error",{message:T,scope:"attachment_upload"});return}if(Te&&I)try{let x=await Te.submitRunInput({message:n,files:y,clientEventId:crypto.randomUUID(),continueRun:s,forceNewRun:i,runId:s?c:void 0,requestedMode:t?.routing||I.taskRouting?.mode||"act"});if(!x)throw new Error("Server run/input returned no data; run was not accepted.");Number.isFinite(Number(x.epoch||x.currentEpoch))&&(ko=Math.max(1,Number(x.epoch||x.currentEpoch)));let T=typeof x.runId=="string"&&x.runId.trim()?x.runId.trim():"";if(!T){let k=String(x?.conflict?.type||"").trim();if(k==="active_run_exists"&&Te&&i){let b=x?.conflict?.runId||x.runId;if(b){await Te.controlRun({action:"cancel",runId:b,reason:"stale_run_cleanup"});let P=await Te.submitRunInput({message:n,files:y,clientEventId:crypto.randomUUID(),continueRun:!1,forceNewRun:!0,requestedMode:t?.routing||I.taskRouting?.mode||"act"});P?.runId&&(p=P.runId.trim(),Vo(p),(P.acceptedMode==="act"||P.acceptedMode==="planner")&&(g=P.acceptedMode))}}if(!p){let b=String(x.decisionReason||k||x.message||"run_not_accepted").trim();throw new Error(`Server did not accept this run (${b}).`)}}p||(p=T),Vo(p),(x.acceptedMode==="act"||x.acceptedMode==="planner")&&(g=x.acceptedMode)}catch(x){let T=String(x?.message||"server run submission failed");Vo(void 0),wt({kind:"error",title:"Run start failed",detail:T,status:"error"}),wn("system",`Unable to start task: ${T}`,!0),qt(`Task could not start (${T})`),st("error",{message:T,scope:"run_input"});return}ax(n,{runId:p,appendUserMessage:!0,resume:!1,preserveHistory:!1,seedChatLog:m,autoResume:!0,routing:g,askUserAnswers:t?.askUserAnswers,files:y})}function br(e,t){_R(e,t)}function Ys(e,t){dm({reason:e,statusText:t||e,cancelReason:e})}function um(e){let t=String(e||"").trim();if(!t)return!1;let n=O?.getWorkflowLockInfo();if(!n?.locked||!n.holderRuntimeId||n.holderRuntimeId===vt||n.runId!==t)return!1;let r=O?.listTabs({scope:"all"}).find(o=>o.runtimeId===n.holderRuntimeId);return r?Number(r.updatedAt)>Date.now()-5e3:!1}function Js(e=450,t){Lt||(Lt=setTimeout(()=>{Lt=null,Jr(t)},Math.max(120,e)))}function ER(e,t){Lr=!0,Nn=!1,zn=!1,Jn(),qt("Resuming interrupted task...");let n=e.text?.trim()||u?.workerState?.rootUserInput?.trim()||Tn?.trim()||"Continue the current task on this page";ct("status",{event:"resume_dispatch",source:t,runId:e.id}),ax(n,{runId:e.id,resume:!0,appendUserMessage:!1,autoResume:!0})}function Jr(e){if(!u?.pendingRun){Lt&&(clearTimeout(Lt),Lt=null),Hn=0;return}let t=yt(u.pendingRun);if(!t||(Dt==="observer"&&!eo()&&Ua("controller",{localLogicalTabId:O?.getLocalLogicalTabId(),activeLogicalTabId:O?.getActiveLogicalTabId(),holderRuntimeId:O?.getCurrentHolderRuntimeId()}),Dt==="observer")||Lr)return;if(!vr||!at){Js(250,e);return}let n=u.activeTask?.status;if(Kp(n)){Ys("terminal_task","Previous task already ended.");return}if(!rd(n)||!t.autoResume)return;if(Qf(I?.task?.resume?.mode)!=="crash_only"){Ys("unsupported_resume_mode","Previous task dismissed.");return}if(t.resumeRequired!==!0){let l=Date.now()-Number(t.startedAt||0),d=Rd(I?.task?.resume?.ttlMs);if(Number.isFinite(l)&&l>=0&&l<d)t.resumeRequired=!0,t.resumeReason=t.resumeReason||"worker_interrupted",Wt(t);else{Lt&&(clearTimeout(Lt),Lt=null),Hn=0,Jn();return}}let o=Jf(I?.task?.autoResumePolicy),a=um(t.id),i=bv({policy:o,resumeRequired:t.resumeRequired===!0,hasLiveRemoteController:a});if(i==="prompt_resume"&&(t.resumeReason==="agent_navigation"||t.resumeReason==="cross_host_navigation"||t.resumeReason==="worker_interrupted"||t.resumeReason==="page_reload")&&(i="auto_resume"),e?.overridePolicyAction&&i!=="defer_remote_owner"&&i!=="noop"&&(i=e.overridePolicyAction),i==="defer_remote_owner"){Js(650,e);return}if(i==="cancel_resume"){Ys("resume_policy_never","Previous task cancelled by resume policy."),wt({kind:"info",title:"Resume cancelled",detail:"Auto-resume policy is set to never, so the interrupted run was cancelled.",status:"info"});return}if(!zn&&dI(t)&&(zn=!0),!zn&&(t.resumeReason==="worker_interrupted"||t.resumeReason==="agent_navigation"||t.resumeReason==="page_reload")&&(zn=!0),!zn&&uI(t)){Js(320,e);return}if(zn||(zn=!0),a){Js(650,e);return}if(Lt&&(clearTimeout(Lt),Lt=null),!ji&&!e?.overridePolicyAction){if(Hn+=1,ct("status",{event:"resume_blocked_no_session",reason:"session_not_ready",attempt:Hn,runId:t.id}),Hn<rE){qt("Preparing secure resume...");let l=Math.min(2e3,240+Hn*160);Js(l,e);return}Hn=0,Nn=!1,ji=!0}Hn=0;let s=Rd(I?.task?.resume?.ttlMs),c=Date.now()-Number(t.startedAt||0);if(!Number.isFinite(c)||c<0||c>s){Ys("resume_ttl_expired","Previous task expired.");return}if(t.attempts>=Q_){Ys("resume_attempt_limit","Previous task dismissed.");return}if(i==="prompt_resume"){fR(t)&&(qt("Resume available. Choose Resume or Cancel."),ct("status",{event:"resume_prompt_shown",runId:t.id}));return}ER(t,e?.overridePolicyAction==="auto_resume"?"manual_resume_confirm":`policy_${o}`)}function ix(e){if(!Jp({localUpdatedAt:Number(e.localState.updatedAt)||0,incomingUpdatedAt:Number(e.incomingState.updatedAt)||0,localState:e.localState,incomingState:e.incomingState,crossDomainResumeActive:!!e.allowRicherIncomingOnResume&&Nn}))return!1;if(!e.allowRicherIncomingOnResume||!Nn)return!0;let n=Yp({localState:e.localState,incomingState:e.incomingState});return n.exactRunMatch||n.exactBoundaryMatch?!0:!(n.localRunId||n.localBoundaryId)}function tk(e,t,n,r,o){return{pendingRun:o?.includePendingIdentity!==!1&&t?{id:t.id,resumeRequired:t.resumeRequired,taskBoundaryId:t.taskBoundaryId}:void 0,activeTask:n?{status:n}:void 0,workerState:e,taskEpoch:r}}function sx(e){return e.incomingWorkerState?e.localWorkerState?Jp({localUpdatedAt:Number(e.localUpdatedAt)||Number(e.localWorkerState.updatedAt)||0,incomingUpdatedAt:Number(e.incomingUpdatedAt)||Number(e.incomingWorkerState.updatedAt)||0,localState:tk(e.localWorkerState,e.fallbackPendingRun,e.taskStatus,e.taskEpoch,{includePendingIdentity:!0}),incomingState:tk(e.incomingWorkerState,void 0,e.taskStatus,e.taskEpoch,{includePendingIdentity:!1}),crossDomainResumeActive:!!e.allowRicherIncomingOnResume&&Nn}):!0:!1}function cx(e){if(Zo(e.localState.activeTask,jn("compat_local")).status!=="running")return!0;let n=Math.max(1,Number(e.localState.taskEpoch)||1),r=Math.max(1,Number(e.incomingState.taskEpoch)||1);if(r<n)return!1;if(r>n)return!0;let o=We(Pa(e.localState)),a=We(Pa(e.incomingState));return o&&a?o===a:!(o&&!a||!o&&a)}async function IR(e,t){if(!u)return;let n=await JI(e,t);if(!n||!u)return;let r=yc({...n,sessionId:u.sessionId,runtimeId:vt},u.sessionId,vt);if(!ix({localState:u,incomingState:r,allowRicherIncomingOnResume:!0})||!cx({localState:u,incomingState:r}))return;let o=Math.max(1,Number(u.taskEpoch)||1),a=Math.max(1,Number(r.taskEpoch)||1),i=Pa(r);Na({source:"indexeddb_checkpoint",incomingBoundaryId:i,taskEpochAdvanced:a>o,allowBootstrapAdoption:!0})&&(u=yc({...u,...r,sessionId:u.sessionId,runtimeId:vt},u.sessionId,vt),Tc(u),$i({rotateIfMissing:!Fe}),Ha({persist:!1}),cm({preferredTaskId:r.activeTaskId||r.activeTask?.taskId}),Ze(),ce&&(Vd(u.uiMessages,u.timeline),Wd(u),Ki(),u.uiHidden?ce.hide():(ce.show(),u.uiOpen?ce.open():ce.close())),vr&&at&&yr(),vr&&at&&u.workerState&&Dt==="controller"&&(at.postMessage({type:"hydrate_state",state:u.workerState}),st("context_restored",{source:"indexeddb_checkpoint",ts:Date.now()})))}var sf=!1;function pm(e,t){if(u&&!sf){sf=!0;try{if(t==="remote"){let r=Math.max(1,Number(u.taskEpoch)||1),o=Math.max(1,Number(e.taskEpoch)||1),a=o>r;u.taskEpoch=Math.max(r,o);let i=u.activeTask||jn("shared_sync");u.activeTask=Xk(e.task,i),a&&(u.uiMessages=[],u.timeline=[],lm(),Wt(void 0),u.workerState=void 0,Fe=Dr(),u.taskTabScope=void 0,lr({forceReset:!0,persist:!1}),yr(),Jn());let s=Mr(e.uiMessages),c=new Set(s.map(b=>b.id)),l=u.uiMessages,d=u.uiMessages.filter(b=>b.role==="user"&&b.sourceRuntimeId===vt&&!c.has(b.id)).length;d>0&&ct("status",{event:"local_message_preserved",count:d});let m=ZI(l,s),f=m.length!==l.length||m.some((b,P)=>{let R=l[P];return R?R.id!==b.id||R.ts!==b.ts||R.role!==b.role||R.text!==b.text:!0});f&&(u.uiMessages=m);let p=Nr(e.timeline),g=u.timeline,y=tR(g,p),x=y.length!==g.length||y.some((b,P)=>{let R=g[P];return R?R.id!==b.id||R.ts!==b.ts||R.kind!==b.kind||R.title!==b.title||R.detail!==b.detail:!0});x&&(u.timeline=y),(f||x)&&Vd(u.uiMessages,u.timeline),qt(typeof e.transientStatus?.text=="string"?String(e.transientStatus.text):typeof e.uiStatus=="string"?e.uiStatus:void 0,{publishShared:!1,runId:e.transientStatus?.runId||e.activeRun?.runId,taskId:e.transientStatus?.taskId||e.task?.taskId,stage:e.transientStatus?.stage});let T=u.activeTask?.status,k=e.task?.status;if(e.activeRun&&e.activeRun.runtimeId!==vt&&!Gp({localTaskStatus:T,remoteTaskStatus:k,mode:Dt,hasRemoteActiveRun:!0}))if(String(e.activeRun.runtimeId||"").trim()!==""||eo()||_c(Dt)==="observer")Wt(void 0);else{let R=yt(u.pendingRun),_=We(e.workerContext?.taskBoundaryId);Wp({taskStatus:T,localPendingRunId:R?.id,localPendingTaskBoundaryId:R?.taskBoundaryId,currentTaskBoundaryId:Fe,candidateRunId:e.activeRun.runId,candidateRunText:e.activeRun.text,candidateTaskBoundaryId:_,ignoredRunIds:gr})&&Wt(yt({id:e.activeRun.runId,text:e.activeRun.text,startedAt:e.activeRun.startedAt,attempts:R?.attempts||0,autoResume:!0,taskBoundaryId:R?.taskBoundaryId||_||Fe,resumeRequired:R?.resumeRequired===!0,resumeReason:R?.resumeReason}))}else{let b=Gp({localTaskStatus:T,remoteTaskStatus:k,mode:Dt,hasRemoteActiveRun:!!e.activeRun}),R=yt(u.pendingRun)?.resumeRequired===!0&&rd(T);b&&!R&&(u.pendingRun?.id&&Qo(u.pendingRun.id),Wt(void 0),k&&k!=="running"&&Rc())}if(Dt==="observer"&&Ua("observer",{localLogicalTabId:O?.getLocalLogicalTabId(),activeLogicalTabId:O?.getActiveLogicalTabId(),holderRuntimeId:O?.getCurrentHolderRuntimeId()}),e.workerContext){let b=un(e.workerContext),P=Number(u.workerState?.updatedAt)||0,R=Number(b?.updatedAt)||0;b&&sx({localWorkerState:u.workerState,incomingWorkerState:b,fallbackPendingRun:yt(u.pendingRun),taskStatus:u.activeTask?.status,taskEpoch:u.taskEpoch,localUpdatedAt:P,incomingUpdatedAt:R,allowRicherIncomingOnResume:!0})&&Na({source:"shared_worker_context",incomingBoundaryId:b.taskBoundaryId,taskEpochAdvanced:a,allowBootstrapAdoption:!0})&&(u.workerState=Ar(b,Yn()),$i(),vr&&at&&Dt==="controller"&&(yr(),at.postMessage({type:"hydrate_state",state:u.workerState}),st("context_restored",{source:"shared_session",ts:Date.now()})))}}if(u.uiMessages=Mr(u.uiMessages),u.timeline=Nr(u.timeline),u.workerState=Ar(un(u.workerState),Yn()),Tc(u),$i(),Ha({persist:!1}),vr&&at&&Dt==="controller"&&yr(),Pr(),Ki(),u.activeTask=Zo(u.activeTask,jn("implicit")),cm(),O&&se){let r=new Map;for(let o of se.listTasks())for(let a of o.tabIds)r.set(a,o.taskId);O.setTaskTabMapping(r)}let n=I?.ui?.tabIndicator?.widgetTabBar!==!1;if(ce&&e.tabs&&n){let r=O?.getLocalLogicalTabId(),o=O?.getActiveLogicalTabId(),a=(e.tabs||[]).filter(i=>i&&typeof i.logicalTabId=="number").map(i=>({logicalTabId:i.logicalTabId,url:String(i.url||""),title:typeof i.title=="string"?i.title:void 0,isActive:i.logicalTabId===o,isCurrent:i.logicalTabId===r,external:!!i.external,taskId:se?.getTaskForTab(i.logicalTabId)?.taskId}));a.length>1?ce.setTabs(a):ce.setTabs([])}else ce&&ce.setTabs([]);if(t==="local")return;Ze()}finally{sf=!1}}}function fm(e){let t=jn("checkpoint_clone");return{version:Pf,sessionId:e.sessionId,runtimeId:e.runtimeId,uiOpen:!!e.uiOpen,uiHidden:!!e.uiHidden,uiStatus:typeof e.uiStatus=="string"?Ln(e.uiStatus,300):void 0,transientStatus:Ec(e.transientStatus??e.uiStatus,{runId:e.pendingRun?.id,taskId:e.activeTask?.taskId}),uiMessages:Mr(e.uiMessages),timeline:Nr(e.timeline),executionMode:e.executionMode==="observer"||e.executionMode==="controller"?e.executionMode:"controller",workerState:un(e.workerState),pendingRun:yt(e.pendingRun),taskTabScope:Ji(e.taskTabScope,yt(e.pendingRun)?.taskBoundaryId||un(e.workerState)?.taskBoundaryId),lastNavigationHandoff:_o(e.lastNavigationHandoff),tasks:e.tasks?{...e.tasks}:{},activeTaskId:e.activeTaskId,taskOrder:e.taskOrder?[...e.taskOrder]:[],taskEpoch:Math.max(1,Number(e.taskEpoch)||1),activeTask:Zo(e.activeTask,t),lastRoutingDecision:e.lastRoutingDecision&&(e.lastRoutingDecision.mode==="act"||e.lastRoutingDecision.mode==="planner")?{mode:e.lastRoutingDecision.mode,score:Number(e.lastRoutingDecision.score)||void 0,reason:e.lastRoutingDecision.reason,ts:Number(e.lastRoutingDecision.ts)||Date.now()}:void 0,updatedAt:Number(e.updatedAt)||Date.now()}}function RR(e){return!(e.sessionScope==="tab"||e.checkpointing?.enabled===!1||!Qn(e)||!tn)}function AR(){if(!u||!I||!tn)return null;let e=O?.getState(),t=fm(u),n=Math.max(Number(e?.updatedAt||0),Number(t.updatedAt||0)),r=n>0?n:Date.now();return{version:lk,siteId:I.siteId,visitorId:tn,sessionId:u.sessionId,updatedAt:r,sharedState:e,runtimeState:t}}function lx(e){if(!e||typeof e!="object"||!u||!I||e.siteId&&e.siteId!==I.siteId||tn&&e.visitorId&&e.visitorId!==tn)return;let t=typeof e.sessionId=="string"&&e.sessionId.trim()?e.sessionId.trim():u.sessionId;Fi=!0;try{if(t&&u.sessionId!==t&&(u.sessionId=t,I={...I,sessionId:t},Ld(I),yr({sessionId:t})),e.sharedState&&O&&O.hydrateExternalState(e.sharedState)&&(pm(O.getState(),"remote"),Ua(O.getRole(),{localLogicalTabId:O.getLocalLogicalTabId(),activeLogicalTabId:O.getActiveLogicalTabId(),holderRuntimeId:O.getCurrentHolderRuntimeId()})),e.runtimeState&&typeof e.runtimeState=="object"){let n=yc({...e.runtimeState,sessionId:t,runtimeId:vt},t,vt);if(ix({localState:u,incomingState:n,allowRicherIncomingOnResume:!0})){if(!cx({localState:u,incomingState:n}))return;let r=Math.max(1,Number(u.taskEpoch)||1),o=Math.max(1,Number(n.taskEpoch)||1),a=Pa(n);if(!Na({source:"cloud_checkpoint",incomingBoundaryId:a,taskEpochAdvanced:o>r,allowBootstrapAdoption:!0}))return;u=yc({...u,...n,sessionId:t,runtimeId:vt},t,vt),Tc(u),$i(),u.workerState=Ar(u.workerState,Yn()),Ha({persist:!1}),cm({preferredTaskId:n.activeTaskId||n.activeTask?.taskId}),Ze(),Wd(u),u.uiHidden?ce?.hide():(ce?.show(),u.uiOpen?ce?.open():ce?.close()),vr&&yr(),vr&&u.workerState&&(at?.postMessage({type:"hydrate_state",state:u.workerState}),st("context_restored",{source:"cloud_checkpoint",ts:Date.now()})),Dt==="controller"&&Jr(),Nn=!1}}}finally{Fi=!1}}function mm(e){if($t?.stop(),$t=null,!RR(e)||!tn)return;let t=Qn(e);if(!t){st("checkpoint_token_missing",{reason:"missing_or_invalid_session_token",expectedPrefix:"rvrsess_",action:"disabled_cloud_checkpoint_client"});return}try{let n=r=>{st("checkpoint_state",r),e.checkpointing?.onStateChange?.(r)};$t=new Zl({apiBase:e.apiBase,authToken:t,getSessionToken:()=>Qn(I),shouldSync:()=>Dt==="controller"&&!Nn&&!Ba(),siteId:e.siteId,visitorId:tn,ttlHours:e.checkpointing?.ttlHours??1,flushIntervalMs:e.checkpointing?.flushIntervalMs,pullIntervalMs:e.checkpointing?.pullIntervalMs,minFlushIntervalMs:e.checkpointing?.minFlushIntervalMs,maxSnapshotBytes:Vi(e.stability?.maxSnapshotBytes,zt.snapshotBytes),shouldWrite:()=>Dt==="controller"&&!Nn&&!Ba(),buildCheckpoint:()=>AR(),onCheckpoint:r=>{lx(r)},onStateChange:(r,o)=>{n({state:r,reason:o.reason,action:o.action,code:o.code,message:o.message}),r==="paused_auth"&&st("checkpoint_error",{action:o.action,code:o.code||"INVALID_API_KEY",message:o.message||"Checkpoint sync paused due to auth failure.",disabled:!0,reason:o.reason||"auth_failed"})},onError:(r,o)=>{e.checkpointing?.onError?.(o),o.paused||st("checkpoint_error",{action:o.action,code:o.code,message:o.message,status:o.status,disabled:!1,reason:"transient_failure"})}}),$t.start(),$t.markDirty(),Hk()}catch{$t=null}}function Ld(e){if(!u)return;if(O?.stop(),O=null,e.sessionScope==="tab"){Ua("controller");return}O=new zl({siteId:e.siteId,sessionId:u.sessionId,runtimeId:vt,leaseMs:e.tabPolicy?.actionLeaseMs,onRoleChange:(r,o)=>{let a=_c(r);Ua(a,o);let i=Ir;Ir=a==="controller",i!==Ir&&(Ir?(Pr(!0),I&&Zr(I)):Pr(!0));let s=a==="controller"&&(I?.allowActions??!0);if(bt?.setAllowActions(s),bt?.setActionGateContext?.({mode:a,controllerRuntimeId:o?.holderRuntimeId??O?.getCurrentHolderRuntimeId(),activeLogicalTabId:o?.activeLogicalTabId??O?.getActiveLogicalTabId(),localLogicalTabId:o?.localLogicalTabId??O?.getLocalLogicalTabId(),reason:Sc(a,s)}),a==="controller"){lr({persist:!0,appendSeed:!1}),Ha({persist:!0});let c=O?.getWorkerContext();if(c){let l=un(c),d=Number(u?.workerState?.updatedAt)||0,m=Number(l?.updatedAt)||0;l&&m>d+100&&Na({source:"controller_handoff",incomingBoundaryId:l.taskBoundaryId,allowBootstrapAdoption:!0})&&(u&&(u.workerState=Ar(l,Yn()),$i(),Ze()),vr&&at&&(yr(),at.postMessage({type:"hydrate_state",state:u?.workerState}),st("context_restored",{source:"controller_handoff",ts:Date.now()})))}Jr()}},onStateChange:(r,o)=>{pm(r,o)},onSwitchRequested:r=>{r>0&&(Sn(),wt({kind:"status",title:`Switched to tab #${r}`,status:"info"}))},onTaskTabsExhausted:r=>{se&&(se.dispatch(r,{type:"PAUSE",reason:"all_tabs_closed"}),jo(),Ze(),ce?.showPausedTaskBanner({taskId:r,rootUserInput:se.getTask(r)?.rootUserInput||"Task"}))}}),O.onSessionTokenReceived=(r,o)=>{Ir||Cd(r,o)},O.onProjectionReceived=r=>{!Ir&&r&&_f(r)};let t=Gf();O.start(Tk(t)),lr({persist:!0,appendSeed:!1}),Ha({persist:!0}),yt(u?.pendingRun)?.resumeRequired===!0&&O.requestControl(),u?.lastNavigationHandoff&&t&&(u.lastNavigationHandoff=_o({...u.lastNavigationHandoff,consumed:!0}),Ze()),O.setRpcRequestHandler(async r=>{if(!bt)throw new Error("Bridge not available");if(r.method==="getPageData")return bt.getPageData(r.params);if(r.method==="executeTool")return bt.executeTool(r.params.call,r.params.payload);throw new Error(`Unknown RPC method: ${r.method}`)}),u?.activeTask&&O.syncTask({...u.activeTask,taskId:u.activeTask.taskId},u.taskEpoch),u?.workerState&&O.setWorkerContext(Ic(u.workerState))}function CR(e){e&&Xr.delete(e),ce?.clearTimeline(),u&&(u.timeline=[]),O?.clearTimeline()}function MR(e){if(!(!e||typeof e!="object")&&!OI(e)){if(e.type==="assistant"){let t=Yo(e.blocks),n=String(e.text||Wk(t)||"");typeof e.runId=="string"&&e.runId&&(Xr.set(e.runId,n),hk(Xr,$E)),wn("assistant",n,!0,{blocks:t}),wt({kind:"tool_result",title:"Assistant update",detail:n,detailBlocks:t,status:"success"}),Gr("assistant_output",{text:n,blocks:t},{immediate:!0,runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="status"){let t=Uk(e.stage),n=e.message?String(e.message):void 0,r=e.compactThought?String(e.compactThought):void 0,o=II(n,t,r);if(n&&qt(n,{runId:typeof e.runId=="string"?e.runId:u?.pendingRun?.id,taskId:u?.activeTask?.taskId,stage:t}),o&&o!==sd&&(sd=o,n)){let a=!!(e.thought||r),i=r||(e.thought?String(e.thought):"");if(a&&t!=="analyze"&&t!=="route"&&t!=="complete"&&!RI(i,Tn))wt({kind:"thought",title:i,detail:e.thought?String(e.thought):r,status:"pending"});else{let c=t?`${EI(t)}: ${n}`:n;wt({kind:"status",title:c,detail:r||(e.thought?String(e.thought):void 0),status:t==="complete"?"success":"info"})}}st("status",e),Gr("status_update",qR(e),{runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="runtime_tabs_diagnostics"){let t=e?.diagnostics&&typeof e.diagnostics=="object"?e.diagnostics:{},n=cr(t.keptScopedTabIds||[]),r=cr(t.listedTabIds||[]),o=cr(t.resolvedTabOrder||[]),a=n.filter(i=>!r.includes(i));a.length>0&&(wt({kind:"status",title:"Scoped tab placeholder retained",detail:`missing_in_listing=${a.join(",")}; resolved_order=${o.join(",")||"none"}`,status:"info"}),ct("status",{event:"scoped_tab_missing_from_listing",missingScopedTabIds:a,listedTabIds:r,resolvedTabOrder:o}));return}if(e.type==="tool_start"){let t=typeof e.call?.args?.element_id=="number"?e.call.args.element_id:void 0;wt({kind:"tool_start",title:`Running ${e.call?.name||"tool"}`,detail:yd(e.call?.args),status:"pending",elementId:t,toolName:e.call?.name}),st("tool_start",e),Gr("tool_start",$R(e),{runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="tool_result"){if(!YI(e.result)){let r=cr([...KI(e.call?.args),...XI(e.result)]);r.length&&(rx(r,{persist:!0}),yr())}let t=Yo(e.detailBlocks)||GI(e.result),n=typeof e.call?.args?.element_id=="number"?e.call.args.element_id:void 0;wt({kind:"tool_result",title:`${e.call?.name||"tool"} completed`,detail:yd(e.result),detailBlocks:t,status:e?.result?.success===!1?"error":"success",elementId:n,toolName:e.call?.name}),st("tool_result",e),Gr("tool_result",VR(e),{runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="auth_required"){st("auth_required",e.error),e.error?.message&&(wn("system",`Auth required: ${e.error.message}`,!0),wt({kind:"error",title:"Auth required",detail:String(e.error.message),status:"error"}));return}if(e.type==="navigation_guardrail"){st("navigation_guardrail",e),wt({kind:"status",title:"Navigation guardrail",detail:yd(e),status:"info"});return}if(e.type==="error"){wn("system",`Error: ${e.message||"unknown"}`,!0),wt({kind:"error",title:"Execution error",detail:String(e.message||"unknown"),status:"error"}),st("error",e),Gr("error",{message:String(e.message||"unknown")},{immediate:!0,runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="state_snapshot"){if(u){let t=un({...e.state||{},updatedAt:Date.now()});if(!t||!Na({source:"worker_snapshot",incomingBoundaryId:t.taskBoundaryId,allowBootstrapAdoption:!0}))return;u.workerState=Ar(t,Yn());let n=typeof e?.activeRun?.runId=="string"&&e.activeRun.runId?e.activeRun.runId:void 0,r=typeof e?.activeRun?.text=="string"?e.activeRun.text:void 0,o=yt(u.pendingRun),a=Wp({taskStatus:u.activeTask?.status,localPendingRunId:o?.id,localPendingTaskBoundaryId:o?.taskBoundaryId,currentTaskBoundaryId:Fe,candidateRunId:n,candidateRunText:r,candidateTaskBoundaryId:t.taskBoundaryId,ignoredRunIds:gr});if(a&&Wt(yt({id:n,text:r,startedAt:e.activeRun.startedAt,attempts:o?.attempts||0,autoResume:!0,taskBoundaryId:o?.taskBoundaryId||t.taskBoundaryId||Fe,resumeRequired:o?.resumeRequired===!0,resumeReason:o?.resumeReason})),n&&r&&a?O?.setActiveRun({runId:n,text:r}):n&&(!Po()||gr.has(n)||o?.id!==n)&&O?.setActiveRun(void 0),!Po()&&u.pendingRun&&Wt(void 0),u.workerState&&O?.setWorkerContext(Ic(u.workerState)),se&&t?.taskBoundaryId){let i=se.getTaskByBoundaryId(t.taskBoundaryId);i&&(i.workerState=u.workerState,n&&(i.pendingRun=u.pendingRun))}Ki(),Ze()}return}if(e.type==="task_started"){st("task_started",{taskId:e.taskId,reason:"worker"});return}if(e.type==="run_started"){if(sd="",Jn(),typeof e.runId=="string"&&e.runId&&Xr.delete(e.runId),!Po()){O?.setActiveRun(void 0);return}let t=u?.pendingRun,n=typeof e?.taskBoundaryId=="string"?We(e.taskBoundaryId):void 0;typeof e.runId=="string"&&e.runId&&Ef(e.runId),Wt(yt({id:e.runId,text:e.text,startedAt:t?.startedAt||Date.now(),attempts:t?.attempts||0,autoResume:t?.autoResume!==!1,taskBoundaryId:n||t?.taskBoundaryId||Fe,resumeReason:t?.resumeReason,resumeRequired:t?.resumeRequired})),O?.setActiveRun({runId:e.runId,text:String(e.text||"")}),ce?.setRunning(!0),ce?.setQuestionPrompt(void 0);let r=`run:${String(e.runId||"")}:start`;if(u?.timeline.some(o=>o.id===r)||wt({id:r,kind:"plan",title:e.resume?"Run resumed":"Run started",detail:String(e.text||""),status:"pending"}),se&&n){let o=se.getTaskByBoundaryId(n);o&&(o.pendingRun=u?.pendingRun,se.dispatch(o.taskId,{type:"START"}))}Gr("state_transition",{status:"running",mode:u?.lastRoutingDecision?.mode,reason:e.resume?"run_resumed":"run_started"},{immediate:!0,runId:typeof e.runId=="string"?e.runId:void 0}),Ke&&(Ke.status="running",Ke.runId=typeof e.runId=="string"&&e.runId?e.runId:Ke.runId,Ke.promptDispatchState="started",Ca()),st("run_started",bk(e));return}if(e.type==="run_completed"||e.type==="run_state_transition"){sd="",Lr=!1,Hn=0;let t=$I(e),n=yk(e,t),r=t.terminalState,o=t.continuationReason,a=t.needsUserInput?"awaiting_user":r==="completed"?"completed":r==="failed"||e?.ok===!1?"failed":"running",i=e?.ok===!1||r==="completed"||r==="failed",s=!i&&r==="in_progress"&&o!=="awaiting_user";ce?.setRunning(s),Vt&&(clearTimeout(Vt),Vt=null);let c=typeof e.runId=="string"&&e.runId?e.runId:void 0,l=typeof e?.taskBoundaryId=="string"?We(e.taskBoundaryId):void 0;if(i){let d=yt(u?.pendingRun),m=String(d?.text||Tn||"").trim(),f=String((c?Xr.get(c):"")||"").trim();Da=m||Da,Qr=f||Qr,qi=Date.now(),d?.id&&O?.releaseWorkflowLock(d.id),c&&O?.releaseWorkflowLock(c),Wt(void 0),Vo(void 0),O?.setActiveRun(void 0),Jn(),c&&Qo(c)}else if(Po()&&c){Ef(c),Vo(c);let d=u?.pendingRun,m=d?.id===c&&d?.text?d.text:Tn||d?.text||"Continue task";Wt(yt({id:c,text:m,startedAt:d?.startedAt||Date.now(),attempts:d?.attempts||0,autoResume:d?.autoResume!==!1,taskBoundaryId:l||d?.taskBoundaryId||Fe,resumeRequired:r==="in_progress"&&o==="same_tab_navigation_handoff",resumeReason:r==="in_progress"&&o==="same_tab_navigation_handoff"?d?.resumeReason||"agent_navigation":void 0})),O?.setActiveRun({runId:c,text:m})}if(u&&e?.route&&(e.route.mode==="act"||e.route.mode==="planner")&&(u.lastRoutingDecision={mode:e.route.mode,score:Number(e.route.score)||void 0,reason:typeof e.route.reason=="string"?Ln(e.route.reason,200):void 0,ts:Date.now()},Ze()),!e.ok&&e.error){if(c&&Xr.delete(c),c&&(Xo(c,"worker_run_failed",{attemptImmediately:!0}),Te?.controlRun({action:"cancel",runId:c,reason:"worker_run_failed"})),!Po())return;ce?.setQuestionPrompt(void 0),t.contextResetRecommended?(ud("worker_run_failed_terminal"),O?.resetTabsToCurrent(window.location.href,document.title||void 0),qt(void 0)):(ud("worker_run_failed_terminal"),qt(void 0)),c&&Xr.delete(c),wt({kind:"error",title:"Run failed",detail:String(e.error),status:"error"})}else if(e.ok){if(!Po())return;let d=t.taskComplete,m=t.needsUserInput,f=t.questions||Cr(e.questions),p=Cr(u?.workerState?.pendingAskUser?.questions),g=f.length?f:m?p:[];if(r==="failed")c&&(Xo(c,"worker_terminal_failed",{attemptImmediately:!0}),Te?.controlRun({action:"cancel",runId:c,reason:"worker_terminal_failed"})),ce?.setQuestionPrompt(void 0),t.contextResetRecommended?(ud("worker_run_failed_terminal"),O?.resetTabsToCurrent(window.location.href,document.title||void 0),qt(void 0)):(ud("worker_run_failed_terminal"),qt(void 0)),wt({kind:"error",title:"Run failed",detail:typeof e.error=="string"?e.error:"Run reported failure state.",status:"error"});else if(d||r==="completed")c&&Te?.controlRun({action:"end_task",runId:c,reason:"worker_task_complete"}),ce?.setQuestionPrompt(void 0),uR("worker_task_complete"),O?.resetTabsToCurrent(window.location.href,document.title||void 0),qt(void 0),CR(typeof e.runId=="string"?e.runId:void 0);else{let y=m?"worker_waiting_for_input":o==="same_tab_navigation_handoff"?"worker_navigation_handoff":r==="in_progress"?"worker_loop_continue":"worker_task_active";if(m){if(se){let x=se.getActiveTask();x&&se.dispatch(x.taskId,{type:"ASK_USER"})}ea({type:"awaiting_user",reason:y,at:Date.now()})}else Zk(y);m&&g.length>0?ce?.setQuestionPrompt({questions:g}):m?Ki():ce?.setQuestionPrompt(void 0),m?(qt(void 0),wt({kind:"status",title:"Waiting for your input",detail:g.length?`Please answer: ${g.map(x=>`${x.key} (${x.query})`).join("; ")}`:"Planner requested more information before marking the task complete.",status:"info"})):o==="same_tab_navigation_handoff"?(qt("Navigating to continue task..."),wt({kind:"status",title:"Navigation handoff",detail:"Rover will resume after same-tab navigation completes.",status:"pending"})):qt("Working...")}}if(se&&l){let d=se.getTaskByBoundaryId(l);if(d)if(i){let m=r==="completed"?{type:"COMPLETE"}:{type:"FAIL",error:typeof e.error=="string"?e.error:void 0};se.dispatch(d.taskId,m),se.releaseWorker(d.taskId)}else t.continuationReason==="awaiting_user"&&se.dispatch(d.taskId,{type:"ASK_USER"})}if(Gr("state_transition",{status:a,mode:e?.route?.mode==="act"||e?.route?.mode==="planner"?e.route.mode:u?.lastRoutingDecision?.mode,reason:typeof e?.error=="string"?e.error:o||r,terminalState:r},{immediate:i||t.needsUserInput,runId:c}),t.needsUserInput){let d=t.questions||Cr(e.questions);d.length&&hx(d)}Ke&&(Ke.status=a,Ke.runId=c||Ke.runId,a==="failed"?Ke.promptDispatchState="failed":(a==="running"||a==="awaiting_user"||a==="completed")&&(Ke.promptDispatchState="started"),Ca()),i&&GR(c),st("run_state_transition",n),(e.type==="run_completed"||i)&&st("run_completed",n),jo();return}if(e.type==="ready"){vr=!0,qt(void 0),st("ready"),I&&wx(I);let t=O?.getWorkerContext(),n=Ar(un(t),Yn()),r=n&&Na({source:"ready_hydrate",incomingBoundaryId:n.taskBoundaryId,allowBootstrapAdoption:!0})?n:void 0,o=Ar(un(u?.workerState),Yn()),a=o&&Na({source:"ready_hydrate",incomingBoundaryId:o.taskBoundaryId,allowBootstrapAdoption:!0})?o:void 0,i=Number(a?.updatedAt)||0,s=Number(r?.updatedAt)||0,c=r&&sx({localWorkerState:a,incomingWorkerState:r,fallbackPendingRun:yt(u?.pendingRun),taskStatus:u?.activeTask?.status,taskEpoch:u?.taskEpoch,localUpdatedAt:i,incomingUpdatedAt:s,allowRicherIncomingOnResume:!0})?r:a;u&&(c&&c!==u.workerState?(u.workerState=Ar(c,Yn()),Ze()):!c&&u.workerState&&(u.workerState=void 0,Ze())),c?(at?.postMessage({type:"hydrate_state",state:c}),st("context_restored",{source:"runtime_start",ts:Date.now()}),setTimeout(()=>{Lr||Jr()},500)):Nn&&$t?(ct("status",{event:"checkpoint_pull_first"}),$t.syncPullFirst()):Jr();return}if(e.type==="hydrated"){Jr();return}e.type==="updated"&&st("updated")}}function Lf(e,t){let n=Number(e);return Number.isFinite(n)?Math.max(t.min,Math.min(t.max,Math.floor(n))):t.fallback}function Kd(e){if(!e||typeof e!="object")return;let t=Lf(e.shortcutMaxStored,{min:1,max:Td,fallback:Td}),n=Lf(e.shortcutMaxRendered,{min:1,max:Sd,fallback:Sd});return{shortcutMaxStored:t,shortcutMaxRendered:n}}function To(e){return hl(e)}function NR(e){let t=Number(e);if(Number.isFinite(t))return Math.max(gE,Math.min(bE,Math.floor(t)))}function Xi(e){if(!e||typeof e!="object")return;let t=e,n={};typeof t.enabled=="boolean"&&(n.enabled=t.enabled);let r=String(t.language||"").trim().replace(/[^a-zA-Z0-9-]/g,"").slice(0,mE);r&&(n.language=r);let o=NR(t.autoStopMs);return o!==void 0&&(n.autoStopMs=o),Object.keys(n).length?n:void 0}function Ac(e){if(!e||typeof e!="object")return;let t=e,n={};return typeof t.enabled=="boolean"&&(n.enabled=t.enabled),typeof t.allowPromptLaunch=="boolean"&&(n.allowPromptLaunch=t.allowPromptLaunch),typeof t.allowShortcutLaunch=="boolean"&&(n.allowShortcutLaunch=t.allowShortcutLaunch),typeof t.allowCloudBrowser=="boolean"&&(n.allowCloudBrowser=t.allowCloudBrowser),typeof t.allowDelegatedHandoffs=="boolean"&&(n.allowDelegatedHandoffs=t.allowDelegatedHandoffs),typeof t.debugStreaming=="boolean"&&(n.debugStreaming=t.debugStreaming),Object.keys(n).length?n:void 0}function La(e){if(!e||typeof e!="object")return;let t=e,n={};if(t.presence&&typeof t.presence=="object"){let r=t.presence,o={},a=String(r.assistantName||"").trim();a&&(o.assistantName=a.slice(0,160));let i=String(r.ctaText||"").trim();i&&(o.ctaText=i.slice(0,160)),(r.iconMode==="logo"||r.iconMode==="mascot"||r.iconMode==="rover")&&(o.iconMode=r.iconMode),typeof r.draggable=="boolean"&&(o.draggable=r.draggable),(r.defaultAnchor==="bottom-right"||r.defaultAnchor==="bottom-left"||r.defaultAnchor==="top-right"||r.defaultAnchor==="top-left"||r.defaultAnchor==="bottom-center")&&(o.defaultAnchor=r.defaultAnchor),typeof r.persistPosition=="boolean"&&(o.persistPosition=r.persistPosition),(r.idleAnimation==="breathe"||r.idleAnimation==="orbit"||r.idleAnimation==="none")&&(o.idleAnimation=r.idleAnimation),(r.firstRunIntro==="ambient"||r.firstRunIntro==="headline"||r.firstRunIntro==="none")&&(o.firstRunIntro=r.firstRunIntro),Object.keys(o).length&&(n.presence=o)}if(t.shell&&typeof t.shell=="object"){let r=t.shell,o={};r.openMode==="center_stage"&&(o.openMode=r.openMode),r.mobileMode==="fullscreen_sheet"&&(o.mobileMode=r.mobileMode),(r.desktopSize==="compact"||r.desktopSize==="stage"||r.desktopSize==="cinema")&&(o.desktopSize=r.desktopSize),(r.desktopHeight==="tall"||r.desktopHeight==="full")&&(o.desktopHeight=r.desktopHeight),typeof r.dimBackground=="boolean"&&(o.dimBackground=r.dimBackground),typeof r.blurBackground=="boolean"&&(o.blurBackground=r.blurBackground),Number.isFinite(Number(r.safeAreaInsetPx))&&(o.safeAreaInsetPx=Math.max(0,Math.min(48,Math.trunc(Number(r.safeAreaInsetPx))))),Object.keys(o).length&&(n.shell=o)}if(t.stream&&typeof t.stream=="object"){let r=t.stream,o={};r.layout==="single_column"&&(o.layout=r.layout),Number.isFinite(Number(r.maxVisibleLiveCards))&&(o.maxVisibleLiveCards=Math.max(1,Math.min(4,Math.trunc(Number(r.maxVisibleLiveCards))))),typeof r.collapseCompletedSteps=="boolean"&&(o.collapseCompletedSteps=r.collapseCompletedSteps),typeof r.artifactAutoMinimize=="boolean"&&(o.artifactAutoMinimize=r.artifactAutoMinimize),(r.artifactOpenMode==="inline"||r.artifactOpenMode==="overlay")&&(o.artifactOpenMode=r.artifactOpenMode),Object.keys(o).length&&(n.stream=o)}if(t.inputs&&typeof t.inputs=="object"){let r=t.inputs,o={};typeof r.text=="boolean"&&(o.text=r.text),typeof r.voice=="boolean"&&(o.voice=r.voice),typeof r.files=="boolean"&&(o.files=r.files);let a=Array.isArray(r.acceptedMimeGroups)?r.acceptedMimeGroups.filter(i=>i==="images"||i==="pdfs"||i==="office"||i==="text"):[];a.length&&(o.acceptedMimeGroups=Array.from(new Set(a))),typeof r.allowMultipleFiles=="boolean"&&(o.allowMultipleFiles=r.allowMultipleFiles),typeof r.mobileCameraCapture=="boolean"&&(o.mobileCameraCapture=r.mobileCameraCapture),Number.isFinite(Number(r.attachmentLimit))&&(o.attachmentLimit=Math.max(1,Math.min(12,Math.trunc(Number(r.attachmentLimit))))),Number.isFinite(Number(r.maxFileSizeMb))&&(o.maxFileSizeMb=Math.max(1,Math.min(32,Math.trunc(Number(r.maxFileSizeMb))))),Object.keys(o).length&&(n.inputs=o)}if(t.motion&&typeof t.motion=="object"){let r=t.motion,o={};(r.intensity==="calm"||r.intensity==="balanced"||r.intensity==="expressive")&&(o.intensity=r.intensity),(r.reducedMotionFallback==="reduce"||r.reducedMotionFallback==="remove")&&(o.reducedMotionFallback=r.reducedMotionFallback),(r.performanceBudget==="standard"||r.performanceBudget==="high")&&(o.performanceBudget=r.performanceBudget),Object.keys(o).length&&(n.motion=o)}if(t.theme&&typeof t.theme=="object"){let r=t.theme,o={};(r.mode==="auto"||r.mode==="light"||r.mode==="dark")&&(o.mode=r.mode);let a=String(r.accentColor||"").trim();a&&(o.accentColor=a.slice(0,32)),(r.surfaceStyle==="glass"||r.surfaceStyle==="solid")&&(o.surfaceStyle=r.surfaceStyle),(r.radius==="soft"||r.radius==="rounded"||r.radius==="pill")&&(o.radius=r.radius);let i=String(r.fontFamily||"").trim();i&&(o.fontFamily=i.slice(0,120)),Object.keys(o).length&&(n.theme=o)}return Object.keys(n).length?n:void 0}function Xd(e){if(!e)return;let t=La(gn?.experience),n=La(e.ui?.experience),r={...t||{},...n||{}};(t?.presence||n?.presence)&&(r.presence={...t?.presence||{},...n?.presence||{}}),(t?.shell||n?.shell)&&(r.shell={...t?.shell||{},...n?.shell||{}}),(t?.stream||n?.stream)&&(r.stream={...t?.stream||{},...n?.stream||{}}),(t?.inputs||n?.inputs)&&(r.inputs={...t?.inputs||{},...n?.inputs||{}}),(t?.motion||n?.motion)&&(r.motion={...t?.motion||{},...n?.motion||{}}),(t?.theme||n?.theme)&&(r.theme={...t?.theme||{},...n?.theme||{}});let o=Fa(gn?.greeting||e.ui?.greeting),a=vm(e),i=hm(e),s={};return(i?.discoverySurface?.beaconLabel||o?.disabled===!0)&&(s.presence={...i?.discoverySurface?.beaconLabel?{ctaText:i.discoverySurface.beaconLabel}:{},...o?.disabled===!0?{firstRunIntro:"none"}:{}}),a?.enabled===!1&&(s.inputs={voice:!1}),La({...s,...r,presence:{...s.presence||{},...r.presence||{}},inputs:{...s.inputs||{},...r.inputs||{}},shell:r.shell,stream:r.stream,motion:r.motion,theme:r.theme})}function hm(e){if(!e)return;let t=gi(gn?.agentDiscovery),n=e.agentDiscovery?{...e.agentDiscovery}:void 0;if(!t&&!n)return;let r={...t||{},...n||{}};return(t?.discoverySurface||n?.discoverySurface)&&(r.discoverySurface={...t?.discoverySurface||{},...n?.discoverySurface||{}}),(t?.pageContext||n?.pageContext)&&(r.pageContext={...t?.pageContext||{},...n?.pageContext||{}}),Object.keys(r).length?r:void 0}function vc(e){if(!e)return;let t=To(gn?.pageConfig),n=To(e.pageConfig);return To({...t||{},...n||{}})}function gm(e){if(e)return Ac(gn?.aiAccess)}function LR(e){if(!at||!e)return;let t=vc(e),n=JSON.stringify(t||null);n!==hf&&(hf=n,at.postMessage({type:"update_config",config:{...za(),pageConfig:t}}))}function Cc(){nc&&(clearTimeout(nc),nc=null),rc&&(clearTimeout(rc),rc=null)}function DR(e){try{let t=localStorage.getItem(`rover:site-config:${e}`);if(t){let n=JSON.parse(t);return!n||typeof n.ts!="number"||typeof n.data!="object"||!n.data||Date.now()-n.ts>zv?null:{shortcuts:Jo(n.data.shortcuts),businessType:Lc(n.data.businessType),experience:La(n.data.experience),greeting:Fa(n.data.greeting),voice:Xi(n.data.voice),aiAccess:Ac(n.data.aiAccess),limits:Kd(n.data.limits),pageConfig:To(n.data.pageConfig),agentDiscovery:gi(n.data.agentDiscovery),version:typeof n.version=="string"?n.version:void 0}}}catch{}try{let t=localStorage.getItem(`rover:shortcuts:${e}`);if(!t)return null;let n=JSON.parse(t);return!n||typeof n.ts!="number"||!Array.isArray(n.data)||Date.now()-n.ts>zv?null:{shortcuts:Jo(n.data)}}catch{return null}}function dx(e,t){try{localStorage.setItem(`rover:site-config:${e}`,JSON.stringify({ts:Date.now(),version:t.version,data:{shortcuts:Jo(t.shortcuts),businessType:Lc(t.businessType),experience:La(t.experience),greeting:Fa(t.greeting),voice:Xi(t.voice),aiAccess:Ac(t.aiAccess),limits:Kd(t.limits),pageConfig:To(t.pageConfig),agentDiscovery:gi(t.agentDiscovery)}}))}catch{}}function Fa(e){if(!e||typeof e!="object")return;let t={},n=String(e.text||"").trim();n&&(t.text=n.slice(0,fE));let r=Number(e.delay);Number.isFinite(r)&&(t.delay=Math.max(0,Math.min(6e4,Math.floor(r))));let o=Number(e.duration);return Number.isFinite(o)&&(t.duration=Math.max(1200,Math.min(6e4,Math.floor(o)))),typeof e.disabled=="boolean"&&(t.disabled=e.disabled),Object.keys(t).length?t:void 0}function nk(e,t){if(!Array.isArray(e))return;let n=[],r=new Set;for(let o of e){let a=String(o||"").trim().slice(0,t.maxChars);if(!a)continue;let i=a.toLowerCase();if(!r.has(i)&&(r.add(i),n.push(a),n.length>=t.maxItems))break}return n.length?n:void 0}function PR(e){if(!e||typeof e!="object")return null;let t=String(e.id||"").trim().slice(0,80),n=String(e.label||"").trim().slice(0,lE),r=String(e.prompt||"").trim().slice(0,uE);if(!t||!n||!r)return null;let o={id:t,label:n,prompt:r,enabled:e.enabled!==!1};e.description&&(o.description=String(e.description).trim().slice(0,dE)),e.icon&&(o.icon=String(e.icon).trim().slice(0,pE)),(e.routing==="auto"||e.routing==="act"||e.routing==="planner")&&(o.routing=e.routing);let a=Number(e.order);Number.isFinite(a)&&(o.order=Math.trunc(a));let i=nk(e.tags,{maxItems:16,maxChars:40});i&&(o.tags=i);let s=nk(e.examples,{maxItems:6,maxChars:220});return s&&(o.examples=s),e.inputSchema&&typeof e.inputSchema=="object"&&!Array.isArray(e.inputSchema)&&(o.inputSchema=e.inputSchema),e.outputSchema&&typeof e.outputSchema=="object"&&!Array.isArray(e.outputSchema)&&(o.outputSchema=e.outputSchema),(e.sideEffect==="none"||e.sideEffect==="read"||e.sideEffect==="write"||e.sideEffect==="transactional")&&(o.sideEffect=e.sideEffect),typeof e.requiresConfirmation=="boolean"&&(o.requiresConfirmation=e.requiresConfirmation),(e.preferredInterface==="task"||e.preferredInterface==="shortcut"||e.preferredInterface==="client_tool"||e.preferredInterface==="webmcp")&&(o.preferredInterface=e.preferredInterface),o}function Jo(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){if(t.length>=Td)break;let o=PR(r);!o||n.has(o.id)||(n.add(o.id),t.push(o))}return t}function OR(e){return e.map((t,n)=>({item:t,index:n})).sort((t,n)=>{let r=Number.isFinite(t.item.order),o=Number.isFinite(n.item.order);return r&&o?Number(t.item.order)-Number(n.item.order):r?-1:o?1:t.index-n.index}).map(t=>t.item)}function BR(e,t){let n=new Map;for(let r of t)n.set(r.id,r);for(let r of e){let o=n.get(r.id);n.set(r.id,o?{...o,...r}:r)}return OR(Array.from(n.values())).slice(0,Td)}function bm(e){if(!e)return[];let t=Jo(e.ui?.shortcuts||[]),n=Jo(gn?.shortcuts||[]),r=BR(t,n);if(r.length>=3)return r;let o=uA(gn?.businessType);if(!o.length)return r;let a=new Set(r.map(d=>d.id)),i=new Set(r.map(d=>d.label.trim().toLowerCase())),s=new Set(r.map(d=>d.prompt.trim().toLowerCase())),c=Math.max(0,3-r.length),l=o.filter(d=>{let m=d.label.trim().toLowerCase(),f=d.prompt.trim().toLowerCase();return a.has(d.id)||i.has(m)||s.has(f)?!1:(a.add(d.id),i.add(m),s.add(f),!0)}).slice(0,c);return[...r,...l]}function ux(e){let t=Lf(gn?.limits?.shortcutMaxRendered,{min:1,max:Sd,fallback:Sd});return e.filter(n=>n.enabled!==!1).slice(0,t)}function cc(){Uo&&(clearTimeout(Uo),Uo=null),uc=null}function UR(e){return`${window.location.href}::${e.signature}`}function px(e){let t=`${window.location.pathname}${window.location.search}${window.location.hash}`,n=Sy(window.location.href);if(n!==t)try{history.replaceState(history.state,document.title,n),ct("status",{event:"launch_params_consumed",requestId:e.requestId})}catch{}}function cf(e,t,n){let r=uc;r?.handleKey===e&&r.deadlineAt===n&&Uo||(Uo&&clearTimeout(Uo),uc={handleKey:e,request:t,deadlineAt:n},Uo=setTimeout(()=>{Uo=null,Mc("attach_retry")},CE))}function fx(){Di&&(clearTimeout(Di),Di=null)}function HR(){fx(),Ke=null}function ec(e=0){Ke?.pendingEvents.length&&(Di||(Di=setTimeout(()=>{Di=null,ym()},Math.max(0,e))))}async function ym(e=!1){let t=Ke;if(!t||!t.pendingEvents.length||t.ingestInFlight||!Te)return;if(!e&&Ba()){ec(nf);return}let n=t.pendingEvents.splice(0,tf);if(n.length){t.ingestInFlight=!0;try{await Te.ingestLaunchEvents({requestId:t.requestId,runId:t.runId,events:n})||(t.pendingEvents=[...n,...t.pendingEvents].slice(-tf*4),ec(nf))}catch{t.pendingEvents=[...n,...t.pendingEvents].slice(-tf*4),ec(nf)}finally{t.ingestInFlight=!1}t.pendingEvents.length&&ec(0)}}function Gr(e,t,n){let r=Ke;if(r){if(n?.runId&&(r.runId=n.runId),r.pendingEvents.push({type:e,ts:Date.now(),data:t}),n?.immediate){fx(),ym(!0);return}ec(0)}}function zR(e){let t=String(e||"").trim();if(t){let o=String(Xr.get(t)||"").trim();if(o)return o}let n=[...u?.uiMessages||[]].reverse().find(o=>o.role==="assistant");return String(n?.text||"").trim()||void 0}function FR(){let e=String(pc||"").trim();if(!e)return;let t=e.indexOf(":");return t<0?void 0:e.slice(t+1).trim()||void 0}function mx(){return Ke?.detail==="full"||Ke?.detail==="debug"}function jR(){return Ke?.detail==="debug"}function qR(e){let t={stage:Uk(e?.stage),message:typeof e?.message=="string"?e.message:void 0,compactThought:typeof e?.compactThought=="string"?e.compactThought:void 0};return jR()&&(t.thought=typeof e?.thought=="string"?e.thought:void 0),t}function $R(e){let t={toolName:typeof e?.call?.name=="string"?e.call.name:"tool"};return mx()&&(t.args=e?.call?.args),t}function VR(e){let t={toolName:typeof e?.call?.name=="string"?e.call.name:"tool",success:e?.result?.success!==!1};return mx()?t.result=e?.result:typeof e?.result?.message=="string"&&(t.message=e.result.message),t}function WR(e){let t=window.location.href,n=String(document.title||"").trim()||void 0,r=String(window.location.hostname||"").trim()||void 0,o=zR(e),a=FR();return{url:t,title:n,host:r,summary:o,snapshotDigest:a}}function hx(e){let t=Ke;if(!t||!e.length)return;let n=e.map(r=>`${r.key}:${r.query}`).join("|");t.lastNeedsInputSignature!==n&&(t.lastNeedsInputSignature=n,Gr("needs_input",{questions:e},{immediate:!0}))}function GR(e){let t=Ke;if(!t)return;let n=String(e||t.runId||"").trim()||void 0;n&&t.finalObservationRunId===n||(n&&(t.finalObservationRunId=n),Gr("page_observation",WR(n),{immediate:!0,runId:n}))}function lf(e,t,n,r){cc(),Ea="",r?.openWidget!==!1&&(Sn(),wn("system",`Rover couldn't start the AI launch: ${n}`,!0)),ct("status",{event:"launch_attach_failed",requestId:e.requestId,message:n}),oc=t,r?.consume!==!1&&px(e)}function Dd(e){let t=String(e.requestId||"").trim();if(!t)return!1;let n=mk();return n?.requestId!==t?!String(e.runId||"").trim():n.promptDispatchState==="started"?!1:n.promptDispatchState==="failed"?!0:String(n.runId||"").trim()&&String(e.runId||"").trim()?!1:!String(e.runId||"").trim()}function gx(e){let t=e.input;if(!t||typeof t.prompt!="string"||!t.prompt.trim())throw new Error("Launch attach response did not include a prompt.");let n=e.executionTarget==="cloud_browser";n&&ct("status",{event:"hosted_launch_attached",requestId:e.requestId,detail:e.detail}),Ke&&(Ke.status=e.status||Ke.status,Ke.executionTarget=e.executionTarget||Ke.executionTarget,Ke.runId=String(e.runId||Ke.runId||"").trim()||void 0,Ke.promptDispatchState="pending",Ca()),Sn();try{t.kind==="shortcut"?br(t.prompt,{reason:"launch_shortcut",routing:t.routing}):br(t.prompt,{reason:"launch_prompt"}),n&&ct("status",{event:"hosted_launch_prompt_dispatched",requestId:e.requestId,detail:e.detail,inputKind:t.kind}),Ke&&(Ke.promptDispatchState="started",Ke.status=e.status==="awaiting_user"?"awaiting_user":e.status||"running",Ke.runId=String(e.runId||Ke.runId||"").trim()||void 0,Ca())}catch(r){throw n&&ct("status",{event:"hosted_launch_prompt_failed",requestId:e.requestId,detail:e.detail,message:String(r?.message||"launch_prompt_dispatch_failed")}),Ke&&(Ke.promptDispatchState="failed",Ke.status="failed",Ca()),r}}function Mc(e){if(!I||typeof window>"u")return;let t=Ty(window.location.href);if(!t){cc(),oc="",Qs="",Ea="";return}let n=UR(t);if(n===oc||Ke?.handleKey===n||Ea===n)return;let r=gm(I);if(r&&r.enabled===!1){cc(),Qs!==n&&(ct("status",{event:"launch_ignored_disabled",requestId:t.requestId,source:e}),Qs=n),lf(t,n,"AI launch is not enabled for this Rover embed.",{consume:!0,openWidget:!0});return}Qs="";let o=uc?.handleKey===n?uc.deadlineAt:Date.now()+AE;if(Date.now()>=o){lf(t,n,"Launch attach timed out before Rover finished booting.",{consume:!0,openWidget:!0});return}Ea=n,Zr(I).then(async()=>{if(!Te){cf(n,t,o);return}let a=await Te.attachLaunch({requestId:t.requestId,attachToken:t.attachToken});if(!a){cf(n,t,o);return}cc(),Ke={requestId:t.requestId,attachToken:t.attachToken,handleKey:n,status:a.status,detail:a.detail,executionTarget:a.executionTarget,runId:a.runId,promptDispatchState:Dd(a)?"pending":"started",pendingEvents:[],attachCompletedAt:Date.now()},Ca(),Dd(a)?gx(a):Sn(),Gr("state_transition",{status:a.status==="awaiting_user"?"awaiting_user":"running",executionTarget:a.executionTarget,detail:a.detail,source:"launch_attach"},{immediate:!0,runId:a.runId}),ct("status",{event:"launch_attached",requestId:t.requestId,source:e,executionTarget:a.executionTarget,detail:a.detail}),oc=n,px(t)}).catch(a=>{if(Date.now()<o){cf(n,t,o);return}lf(t,n,a?.message||"Unknown launch attach failure.",{consume:!0,openWidget:!0})}).finally(()=>{Ea===n&&(Ea="")})}function Ia(){Bo&&(clearTimeout(Bo),Bo=null),Li=null}function KR(e){return`${window.location.href}::${e.signature}`}function XR(e){return e?!!(Ad(e)||Qn(e)):!1}function Df(e,t){if(!e.consume)return;let n=`${window.location.pathname}${window.location.search}${window.location.hash}`,r=_p(window.location.href,e);if(r!==n)try{history.replaceState(history.state,document.title,r),ct("status",{event:"deep_link_consumed",kind:t.kind,paramName:t.paramName})}catch{}}function YR(e,t,n){let r=Li;r?.handleKey===e&&r.deadlineAt===n&&Bo||(Bo&&clearTimeout(Bo),Li={handleKey:e,request:t,deadlineAt:n},Bo=setTimeout(()=>{Bo=null,Qi("shortcut_retry")},RE))}function JR(e,t,n){Ia(),Sn(),wn("system",`Rover couldn't find shortcut "${e.value}" for this embed. Check the URL or expose that shortcut in the Rover boot config/site config.`,!0),ct("status",{event:"deep_link_shortcut_not_found",shortcutId:e.value,paramName:e.paramName}),Ri=t,Df(n,e)}function bx(){let e=String(I?.apiBase||"https://agent.rtrvr.ai").trim().replace(/\/+$/,"");return e?e.endsWith("/extensionRouter/v2/rover")?e.slice(0,-25):e.endsWith("/v2/rover")?e.slice(0,-9):e:"https://agent.rtrvr.ai"}function Yi(e){let t=String(e||"").trim();if(t)try{let n=new URL(t);return String(n.searchParams.get("access")||"").trim()||void 0}catch{return}}function QR(e,t){let n=new URL(`${bx()}/v1/tasks/${encodeURIComponent(e)}`);return t&&n.searchParams.set("access",t),n.toString()}function ZR(e,t){let n=new URL(`${bx()}/v1/workflows/${encodeURIComponent(e)}`);return t&&n.searchParams.set("access",t),n.toString()}function yx(e){let t=String(e.taskId||"").trim();if(!t)return;let n=String(e.taskAccessToken||Yi(e.taskUrl)||"").trim()||void 0,r=String(e.workflowId||"").trim()||void 0,o=String(e.workflowAccessToken||Yi(e.workflowUrl)||"").trim()||void 0;Ho={taskId:t,taskUrl:String(e.taskUrl||QR(t,n)).trim(),taskAccessToken:n,workflowId:r,workflowUrl:r?String(e.workflowUrl||ZR(r,o)).trim():void 0,workflowAccessToken:o,taskBoundaryId:We(Fe||u?.workerState?.taskBoundaryId),runId:String(e.runId||u?.pendingRun?.id||"").trim()||void 0,updatedAt:Date.now()},Fn(I)}function eA(){return We(Fe||u?.workerState?.taskBoundaryId)||""}function tA(e){let t=String(e||"").trim().toLowerCase();return t==="browser"||t==="cloud"?t:"auto"}function vd(e){let t=String(e||"").trim().toLowerCase();return t==="completed"||t==="failed"||t==="cancelled"||t==="expired"}function vx(e){let t=String(e||"").trim();if(t){if(!/^https?:\/\//i.test(t))return t;try{let r=new URL(t).pathname.split("/").filter(Boolean),o=r.lastIndexOf("tasks");if(o>=0&&r[o+1])return decodeURIComponent(r[o+1]);let a=r.lastIndexOf("workflows");if(a>=0&&r[a+1])return decodeURIComponent(r[a+1])}catch{}}}function nA(){let e=String(Qr||u?.uiStatus||u?.transientStatus?.text||"").trim();return{url:window.location.href,title:document.title,host:window.location.hostname,...e?{summary:e}:{}}}function rA(){let e=String(document.title||"").trim();return e?`Continue the current Rover workflow on ${e}.`:`Continue the current Rover workflow on ${window.location.hostname}.`}async function oA(){let e=eA(),t=Ho;if(t&&t.taskId&&t.taskAccessToken&&(!e||t.taskBoundaryId===e))return t.runId=String(u?.pendingRun?.id||t.runId||"").trim()||void 0,t.updatedAt=Date.now(),t;if(!I)throw new Error("Rover is not booted.");if(await Zr(I),!Te)throw new Error("Rover server runtime is unavailable.");let n=Nd(u?.pendingRun?.id)||rA(),r=await Te.createSessionRootTask({url:window.location.href,prompt:n,runId:String(u?.pendingRun?.id||"").trim()||void 0});if(!r?.id||!r.task)throw new Error("Failed to create the root public workflow task.");if(yx({taskId:r.id,taskUrl:r.task,taskAccessToken:Yi(r.task),workflowId:vx(r.workflow||""),workflowUrl:r.workflow,workflowAccessToken:Yi(r.workflow),runId:String(u?.pendingRun?.id||"").trim()||void 0}),!Ho?.taskAccessToken)throw new Error("Root public workflow task is missing an access token.");return ct("status",{event:"handoff_root_task_created",taskId:Ho.taskId,workflowId:Ho.workflowId}),Ho}async function rk(e,t,n=dc){if(!I)return null;if(await Zr(I),!Te)throw new Error("Rover server runtime is unavailable.");let r=Date.now()+Math.max(0,n),o=null;for(;;){let a=r-Date.now(),i=a>0?Math.max(1,Math.min(LE,Math.ceil(a/1e3))):0;if(o=await Te.getPublicTask(e,{accessToken:t,waitSeconds:i}),!o||vd(o.status)||o.status==="input_required"||a<=0)return o}}function ok(e,t){if(t==="cloud")return{opened:!1};let n=String(e.open||e.browserLink||"").trim();if(!n)return{opened:!1};try{return window.open(n,"_blank","noopener,noreferrer")?{opened:!0,targetUrl:n}:{opened:!1,targetUrl:n,error:"Browser blocked the delegated Rover handoff window."}}catch(r){return{opened:!1,targetUrl:n,error:r?.message||"Unable to open the delegated Rover site."}}}function ak(e,t){let n=String(e.status||"pending").trim().toLowerCase(),r=String(e.task||"").trim(),o=String(e.workflow||"").trim(),a=String(e.result?.summary||e.result?.text||e.input?.message||"").trim(),i=Cr(e.input?.questions),s=t?.browserOpen,c={success:n==="completed",status:n,task:r||void 0,workflow:o||void 0,open:e.open,browserLink:e.browserLink,result:e.result,handoff:e.handoff,summary:e.result?.summary,text:e.result?.text||a||void 0,observation:e.result?.observation,transcript:e.result?.transcript,artifacts:e.result?.artifacts,taskStatus:n,...s?.targetUrl?{browserOpenUrl:s.targetUrl}:{},...s?.opened?{browserOpened:!0}:{},...s?.error?{browserOpenError:s.error}:{}};if(n==="completed")return{...c,taskComplete:!0,terminalState:"completed",message:a||"Delegated Rover task completed."};if(n==="input_required")return{...c,success:!1,taskComplete:!1,terminalState:"waiting_input",continuationReason:"awaiting_user",needsUserInput:!0,waitingForUserInput:!0,questions:i.length?i:e.input?.questions,input:e.input,message:String(e.input?.message||a||"Delegated Rover task needs more input.").trim()};if(n==="failed"||n==="cancelled"||n==="expired"){let d=String(e.result?.error||a||`Delegated Rover task ${n}.`).trim();return{...c,success:!1,taskComplete:!1,terminalState:"failed",error:d,message:d}}return{...c,success:!1,taskComplete:!1,terminalState:"in_progress",continuationReason:"loop_continue",message:n==="waiting_browser"?'Delegated Rover task is waiting for a browser attachment. Re-open the returned URL or call again with execution="cloud" for a browserless run.':"Delegated Rover task is still running. Call handoff_to_rover_site again with the returned task URL to keep following it."}}async function aA(e){let t=e&&typeof e=="object"?e:{};if(!I)throw new Error("Rover is not booted.");if(await Zr(I),!Te)throw new Error("Rover server runtime is unavailable.");let n=tA(t.execution),r=String(t.answer||"").trim(),o=String(t.task||"").trim();if(o){let g=Yi(o),y=r?await Te.continuePublicTask(o,r,{accessToken:g}):await Te.getPublicTask(o,{accessToken:g});if(!y)throw new Error("Delegated Rover task could not be loaded.");let x;return!vd(y.status)&&y.status!=="input_required"&&(x=ok(y,n),y=await rk(o,g,dc)||y),ak(y,x?{browserOpen:x}:void 0)}let a=String(t.url||"").trim(),i=String(t.shortcutId||"").trim(),s=String(t.instruction||"").trim(),c=String(t.prompt||"").trim();if(!a)throw new Error("handoff_to_rover_site requires url or task.");if(!i&&!s&&!c)throw new Error("handoff_to_rover_site requires instruction, prompt, or shortcutId when creating a new handoff.");let l=await oA(),d=await Te.createTaskHandoff({parentTaskId:l.taskId,taskAccessToken:String(l.taskAccessToken||"").trim(),url:a,...i?{shortcutId:i}:{},...!i&&s?{instruction:s}:{},...!i&&!s&&c?{prompt:c}:{},...String(t.contextSummary||Qr||"").trim()?{contextSummary:String(t.contextSummary||Qr).trim()}:{},...String(t.expectedOutput||"").trim()?{expectedOutput:String(t.expectedOutput).trim()}:{},...String(Nd(u?.pendingRun?.id)||"").trim()?{originalGoal:String(Nd(u?.pendingRun?.id)||"").trim()}:{},lastObservation:nA(),execution:n});if(!d)throw new Error("Delegated Rover handoff could not be created.");let m;!vd(d.status)&&d.status!=="input_required"&&(m=ok(d,n));let f=Yi(d.task),p=!vd(d.status)&&d.status!=="input_required"&&await rk(d.task,f,dc)||d;return ct("status",{event:"handoff_task_created",parentTaskId:l.taskId,childTaskId:p.id,workflowId:vx(p.workflow||"")||l.workflowId,targetHost:(()=>{try{return new URL(a).hostname}catch{return}})()}),ak(p,m?{browserOpen:m}:void 0)}var iA={name:"handoff_to_rover_site",title:"Delegate To Another Rover Site",description:"Delegate part of the current workflow to Rover on another Rover-enabled site. Use this when the next step belongs to a different Rover-enabled domain and you want structured handoff state, lineage, and recovery instead of opening the target site and improvising with raw DOM actions.",parameters:{url:{type:"string",description:"Absolute URL for the Rover-enabled site that should handle the delegated step."},instruction:{type:"string",description:"Delegation instruction for the target site. Use this for natural-language delegation."},prompt:{type:"string",description:"Prompt alias for instruction when creating a delegated task."},shortcutId:{type:"string",description:"Exact shortcut ID to run on the delegated Rover site instead of a natural-language instruction."},contextSummary:{type:"string",description:"Short structured summary of what the target Rover site should know before continuing."},expectedOutput:{type:"string",description:"Describe the output the delegated site should return to the parent workflow."},execution:{type:"string",enum:["auto","browser","cloud"],description:"Use browser to try a new tab first, cloud for guaranteed browserless execution, or auto for browser-first hybrid behavior."},task:{type:"string",description:"Existing delegated task URL or task ID to keep following or resume after user input."},answer:{type:"string",description:"Answer to send when resuming a delegated task that is waiting for user input."}},outputSchema:{type:"object",properties:{success:{type:"boolean",description:"Whether the delegated Rover task completed or reached a stable state."},status:{type:"string",description:"Current delegated task status."},summary:{type:"string",description:"High-level summary of what the delegated site returned."},task:{type:"string",description:"Canonical delegated task URL."},workflow:{type:"string",description:"Canonical workflow URL spanning the parent and child tasks."}}},annotations:{category:"delegation",priority:"secondary",sideEffect:"transactional",requiresConfirmation:!0,preferredInterface:"client_tool",whenToUse:"Use this when the user goal crosses into another Rover-enabled site or domain-specific workflow.",whyUse:"The explicit Rover handoff preserves workflow lineage, structured continuation, and final results better than navigating away and reconstructing the state through generic DOM automation.",examples:["Delegate checkout financing to a Rover-enabled lender site.","Continue identity verification on a partner site without losing workflow state."]},llmCallable:!0};function sA(){kf||!bt||!at||(Kf({def:iA,handler:aA}),kf=!0)}function Pd(){zo&&(clearTimeout(zo),zo=null),mc=null}function cA(e){return`${window.location.href}::${e.signature}`}function kx(e,t){let n=`${window.location.pathname}${window.location.search}${window.location.hash}`,r=Iy(window.location.href);if(t?.consumeDeepLink&&I){let o=new URL(r,window.location.origin).toString();r=_p(o,$l(I.deepLink))}if(r!==n)try{history.replaceState(history.state,document.title,r),ct("status",{event:"browser_receipt_consumed",receipt:e.receipt,consumeDeepLink:t?.consumeDeepLink===!0})}catch{}}function df(e,t){let n=mc;n?.handleKey===e&&n.deadlineAt===t&&zo||(zo&&clearTimeout(zo),mc={handleKey:e,deadlineAt:t},zo=setTimeout(()=>{zo=null,Nc("receipt_retry")},ME))}function lA(e){let t=e.input;if(!t||typeof t.prompt!="string"||!t.prompt.trim())throw new Error("Browser receipt claim did not include a prompt.");if(Sn(),t.kind==="shortcut"){br(t.prompt,{reason:"browser_receipt_shortcut",routing:t.routing});return}br(t.prompt,{reason:"browser_receipt_prompt"})}function ik(e,t,n,r){Pd(),r?.openWidget&&(Sn(),wn("system",`Rover couldn't claim the browser receipt: ${n}`,!0)),ct("status",{event:"browser_receipt_claim_failed",message:n}),sc=t,kx(e,{consumeDeepLink:!1}),r?.fallbackToDeepLink&&Qi("receipt_fallback")}function Nc(e){if(!I||typeof window>"u")return!1;let t=Mp(window.location.href);if(!t)return Pd(),sc="",Ii="",!1;let n=cA(t);if(n===sc||Ii===n)return!0;let r=mc?.handleKey===n?mc.deadlineAt:Date.now()+NE;return Date.now()>=r?(ik(t,n,"Browser receipt claim timed out before Rover finished booting.",{fallbackToDeepLink:!0,openWidget:!0}),!0):(Ii=n,Zr(I).then(async()=>{if(!Te){df(n,r);return}let o=await Te.claimBrowserTaskReceipt({receipt:t.receipt});if(!o){df(n,r);return}Pd(),yx({taskId:o.taskId,taskAccessToken:o.taskAccessToken,workflowId:o.workflowId,workflowAccessToken:o.workflowAccessToken,runId:o.runId}),lA(o),ct("status",{event:"browser_receipt_claimed",source:e,taskId:o.taskId}),sc=n,kx(t,{consumeDeepLink:!0})}).catch(o=>{if(Date.now()<r){df(n,r);return}ik(t,n,o?.message||"Unknown browser receipt failure.",{fallbackToDeepLink:!0,openWidget:!0})}).finally(()=>{Ii===n&&(Ii="")}),!0)}function Qi(e){if(!I||typeof window>"u")return;let t=yy(I.deepLink,gn?.aiAccess);if(e!=="receipt_fallback"&&Mp(window.location.href))return;let n=vy(window.location.href,t);if(!n){Ia(),Ri="",_a="";return}let r=KR(n);if(!t.enabled){Ia(),_a!==r&&(ct("status",{event:"deep_link_ignored_disabled",kind:n.kind,paramName:n.paramName,source:e}),_a=r);return}if(_a="",r===Ri)return;if(n.kind==="prompt"&&!t.promptLaunchEnabled||n.kind==="shortcut"&&!t.shortcutLaunchEnabled){Ia(),_a!==r&&(ct("status",{event:"deep_link_ignored_disabled",kind:n.kind,paramName:n.paramName,source:e}),_a=r);return}if(Li?.handleKey===r||ct("status",{event:"deep_link_detected",kind:n.kind,paramName:n.paramName,source:e}),n.kind==="prompt"){Ia(),Sn(),br(n.value,{reason:"deep_link_prompt"}),ct("status",{event:"deep_link_dispatched",kind:n.kind,paramName:n.paramName}),Ri=r,Df(t,n);return}let a=bm(I).find(s=>s.enabled!==!1&&s.id===n.value);if(a){Ia(),Sn(),br(a.prompt,{reason:"deep_link_shortcut",routing:a.routing}),ct("status",{event:"deep_link_dispatched",kind:n.kind,paramName:n.paramName,shortcutId:a.id,routing:a.routing}),Ri=r,Df(t,n);return}let i=Li?.handleKey===r?Li.deadlineAt:Date.now()+IE;if(Date.now()<i&&XR(I)){YR(r,n,i);return}JR(n,r,t)}function Yd(e){if(!e)return;let t=Fa(gn?.greeting),n=Fa(e.ui?.greeting);if(!(!t&&!n))return{...t||{},...n||{}}}function vm(e){if(!e)return;let t=Xi(gn?.voice),n=Xi(e.ui?.voice);if(!t&&!n)return;let r={...t||{},...n||{}};return r.enabled===!0&&r.autoStopMs===void 0&&(r.autoStopMs=hE),r}function km(e){let t=Rr?.name,n=e?.text;return n?n.replace(/\{name\}/g,t||"").trim()||(t?`Hey ${t}! Need any help?`:"Hey! Need any help?"):t?`Hey ${t}! Need any help?`:"Hey! Need any help?"}function kc(){if(Wo||!ce||!I||u?.uiOpen)return;let e=Yd(I);if(e?.disabled===!0)return;let t=`rover:greeting-shown:${I.siteId}`;try{if(sessionStorage.getItem(t)){Aa=!0;return}}catch{}if(Aa)return;Cc();let n=e?.delay??3e3,r=e?.duration??8e3,o=km(e);nc=setTimeout(()=>{if(nc=null,!(Wo||u?.uiOpen)){ce?.showGreeting(o),Aa=!0;try{sessionStorage.setItem(t,"1")}catch{}rc=setTimeout(()=>{rc=null,ce?.dismissGreeting()},r)}},n)}function Lc(e){return["ecommerce","travel","saas","finance","healthcare","real_estate","restaurant","education","support","legal","automotive","general"].includes(e)?e:void 0}var xx={ecommerce:["Find the best deal here...","Add this to my cart...","What sizes are available?","Track my order..."],travel:["Book this for me...","Find flights to Paris...","What's the check-in time?","Compare hotel prices..."],saas:["How do I export my data?","Set up an integration...","Help me configure this...","Show me usage analytics..."],finance:["Check my account balance...","Help me apply for a loan...","What are the transfer fees?","Explain this charge..."],healthcare:["Book an appointment...","Refill my prescription...","Find a specialist near me...","What are your office hours?"],real_estate:["Schedule a viewing...","What's the price per sqft?","Find homes near good schools...","Tell me about this property..."],restaurant:["Make a reservation...","What's on the menu today?","Do you have vegan options?","Order delivery to my address..."],education:["Enroll me in this course...","What are the prerequisites?","Show my learning progress...","Find a tutor for calculus..."],support:["I need help with...","Reset my password...","Track my support ticket...","Report a problem..."],legal:["Schedule a consultation...","Explain this clause...","What documents do I need?","Find a lawyer specializing in..."],automotive:["Schedule a test drive...","What's the trade-in value?","Book a service appointment...","Check parts availability..."],general:["Fill this form for me...","Find the best option here...","Help me get started...","What can you do for me?"]},dA=xx.general,sk={ecommerce:[{id:"biz_ecommerce_compare",label:"Compare pricing",description:"Check plans, bundles, or pricing tiers on this site.",prompt:"Compare the main pricing or product options on this site and summarize the best fit."},{id:"biz_ecommerce_checkout",label:"Complete checkout",description:"Add items, apply a code, and walk through checkout.",prompt:"Help me buy the right item on this site and walk me through checkout."},{id:"biz_ecommerce_support",label:"Track an order",description:"Find order status, shipping, or return information.",prompt:"Find the order tracking or returns flow on this site and help me complete it."}],travel:[{id:"biz_travel_book",label:"Book travel",description:"Search dates, compare options, and complete a booking flow.",prompt:"Help me compare the main travel options on this site and complete the best booking."},{id:"biz_travel_policy",label:"Check policies",description:"Find cancellation, baggage, or check-in rules.",prompt:"Find the important travel policies on this site and summarize them clearly."},{id:"biz_travel_support",label:"Manage reservation",description:"Open the reservation flow and help with changes.",prompt:"Help me find and manage an existing reservation on this site."}],saas:[{id:"biz_saas_pricing",label:"Compare plans",description:"Review pricing, tiers, and feature differences.",prompt:"Compare the pricing plans on this site and recommend the right one for my use case."},{id:"biz_saas_docs",label:"Find setup docs",description:"Locate docs, integrations, and onboarding steps.",prompt:"Find the best setup or integration docs on this site and summarize the next steps."},{id:"biz_saas_contact",label:"Talk to sales",description:"Open demo or contact flows and prepare the form.",prompt:"Find the sales or demo request flow on this site and help me complete it."}],finance:[{id:"biz_finance_rates",label:"Check rates",description:"Compare rates, fees, or account options.",prompt:"Compare the main rates or fees on this site and explain the important differences."},{id:"biz_finance_apply",label:"Start application",description:"Open the relevant application flow and prepare inputs.",prompt:"Help me find the right application flow on this site and get it started."},{id:"biz_finance_support",label:"Resolve account issue",description:"Find support, dispute, or account-help flows.",prompt:"Find the best support or dispute path on this site and help me use it."}],healthcare:[{id:"biz_healthcare_book",label:"Book appointment",description:"Find providers, locations, and scheduling steps.",prompt:"Help me find the right appointment flow on this site and complete the booking steps."},{id:"biz_healthcare_forms",label:"Prepare forms",description:"Locate intake, insurance, or patient forms.",prompt:"Find the forms or patient-prep information I need on this site."},{id:"biz_healthcare_support",label:"Patient portal help",description:"Navigate patient support or portal entry points.",prompt:"Help me find the patient portal or support path on this site."}],real_estate:[{id:"biz_real_estate_search",label:"Explore listings",description:"Search listings, filters, and property details.",prompt:"Help me compare the best matching listings on this site."},{id:"biz_real_estate_tour",label:"Request a tour",description:"Open contact, showing, or inquiry flows.",prompt:"Find the right showing or inquiry flow on this site and help me use it."},{id:"biz_real_estate_market",label:"Research property",description:"Summarize pricing, location, and property facts.",prompt:"Summarize the most important facts and pricing details for this property."}],restaurant:[{id:"biz_restaurant_reserve",label:"Reserve a table",description:"Find reservation or booking steps.",prompt:"Help me make a reservation on this site."},{id:"biz_restaurant_menu",label:"Review the menu",description:"Summarize menu sections, dietary filters, and specials.",prompt:"Summarize the menu on this site and highlight the best options."},{id:"biz_restaurant_order",label:"Start an order",description:"Navigate pickup or delivery ordering flow.",prompt:"Help me place an order on this site."}],education:[{id:"biz_education_course",label:"Compare courses",description:"Review programs, syllabus, and enrollment details.",prompt:"Compare the main courses or programs on this site and summarize the differences."},{id:"biz_education_apply",label:"Start enrollment",description:"Open signup or application flows.",prompt:"Help me find the right enrollment or application flow on this site."},{id:"biz_education_support",label:"Find support",description:"Locate advising, tuition, or admissions help.",prompt:"Find the most useful support or admissions contact path on this site."}],support:[{id:"biz_support_ticket",label:"Open support path",description:"Find the fastest route to help or ticket submission.",prompt:"Help me find the best support path on this site and use it."},{id:"biz_support_docs",label:"Search help docs",description:"Look through troubleshooting or FAQ content.",prompt:"Search the help content on this site and summarize the answer."},{id:"biz_support_status",label:"Check status",description:"Find system status or issue updates.",prompt:"Find the current status or outage information on this site."}],legal:[{id:"biz_legal_consult",label:"Request consultation",description:"Open consultation or contact intake flow.",prompt:"Help me request a consultation on this site."},{id:"biz_legal_pricing",label:"Review services",description:"Compare services, practice areas, or pricing.",prompt:"Compare the main services on this legal site and summarize what matters."},{id:"biz_legal_docs",label:"Find requirements",description:"Locate intake requirements or needed documents.",prompt:"Find the documents or information this site says I need before getting started."}],automotive:[{id:"biz_auto_inventory",label:"Compare inventory",description:"Review vehicles, trims, and availability.",prompt:"Compare the best matching vehicles on this site."},{id:"biz_auto_service",label:"Book service",description:"Find service scheduling and maintenance flows.",prompt:"Help me schedule service on this site."},{id:"biz_auto_financing",label:"Check financing",description:"Compare financing, lease, or trade-in paths.",prompt:"Find the financing or trade-in flow on this site and summarize the options."}],general:[{id:"biz_general_start",label:"Get started",description:"Open the main conversion or onboarding path on this site.",prompt:"Help me complete the main get-started flow on this site."},{id:"biz_general_compare",label:"Compare options",description:"Summarize the main plans, products, or actions here.",prompt:"Compare the main options on this site and tell me which one fits best."},{id:"biz_general_contact",label:"Find the right contact",description:"Locate the best contact, demo, or support path.",prompt:"Find the best contact or support path on this site."}]};function uA(e){let t=Lc(e)||"general";return(sk[t]||sk.general).map((n,r)=>({...n,id:`suggested_${t}_${n.id}`,enabled:!0,order:1e4+r,preferredInterface:"task"}))}function pA(){let e=gn?.businessType;return(e&&xx[e])??dA}function Od(e){let t=bm(e);ce?.setShortcuts(ux(t)),ce?.setExperience?.(Xd(e)),ce?.setVoiceConfig(vm(e)),ce?.setPlaceholders?.(pA()),LR(e),Fn(e),Nc("site_config"),Mc("site_config"),Qi("site_config")}async function fA(e){let t=null,n=Ad(e)||Qn(e);if(!n)return null;let r={siteId:e.siteId,sessionId:u?.sessionId||e.sessionId,requestedSessionId:u?.sessionId||e.sessionId,host:window.location.hostname,url:window.location.href,pageUrl:window.location.href};n.startsWith("rvrsess_")?r.sessionToken=n:r.bootstrapToken=n;let o=ya(e.apiBase);for(let a of o)try{let i=await fetch(`${a}/session/open`,{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(r)}),s=await i.json().catch(()=>{});if(!i.ok||!s?.success)continue;if(t=s?.data?.siteConfig||null,t)break}catch{}return t?{shortcuts:Jo(t.shortcuts),businessType:Lc(t.businessType),experience:La(t.experience),greeting:Fa(t.greeting),voice:Xi(t.voice),aiAccess:Ac(t.aiAccess),limits:Kd(t.limits),pageConfig:To(t.pageConfig),agentDiscovery:gi(t.agentDiscovery),version:t.version!=null?String(t.version):void 0}:null}function wx(e){let t=DR(e.siteId);t&&(gn=t),Od(e),kc(),fA(e).then(n=>{if(n&&(gn=n,dx(e.siteId,n),Od(e),!Wo)){let r=Yd(e);Aa&&!u?.uiOpen?ce?.showGreeting(km(r)):kc()}}).catch(()=>{})}function xm(e){if(!I)return;let t={...Rr,...e};t.name&&(t.name=String(t.name).trim().slice(0,120)),t.email&&(t.email=String(t.email).trim().slice(0,240)),Rr=t,_k(I.siteId,Rr),ce?.setVisitorName(Rr.name||""),Wo||(Aa&&!u?.uiOpen?ce?.showGreeting(km(Yd(I))):kc())}function mA(e){if(Ld(e),typeof window<"u"&&Ma(window,UE,()=>{jf(I)}),O){let f=_c(O.getRole());Dt=f,Ir=f==="controller",u&&(u.executionMode=f)}mm(e),jd(e),Pr(!0);let t=(e.allowActions??!0)&&(O?O.isController():!0),n=f=>{if(!u)return;let p=yt(u.pendingRun);if(p){let k=yt({...p,taskBoundaryId:p.taskBoundaryId||Fe,resumeRequired:!0,resumeReason:f});return u.pendingRun=k,k&&O?.setActiveRun({runId:k.id,text:k.text}),k}let g=O?.getState().activeRun,y=String(Te?.getActiveRunId()||wc||g?.runId||"").trim();if(!y)return;let x=String(g?.text||Tn||"Continue task").trim()||"Continue task",T=yt({id:y,text:x,startedAt:Date.now(),attempts:0,autoResume:!0,taskBoundaryId:Fe,resumeRequired:!0,resumeReason:f});return u.pendingRun=T,T&&O?.setActiveRun({runId:T.id,text:T.text}),T};bt=new Cl({allowActions:t,runtimeId:vt,allowedDomains:e.allowedDomains,domainScopeMode:bc(e.domainScopeMode),externalNavigationPolicy:e.externalNavigationPolicy,crossHostPolicy:gc(e.navigation?.crossHostPolicy),navigationDelayMs:e.timing?.navigationDelayMs,domSettle:{debounceMs:ln(e.timing?.domSettleDebounceMs,8,500),maxWaitMs:ln(e.timing?.domSettleMaxWaitMs,80,5e3),retries:ln(e.timing?.domSettleRetries,0,6),sparseTreeRetryDelayMs:ln(e.timing?.sparseTreeRetryDelayMs,20,1e3),sparseTreeRetryMaxAttempts:ln(e.timing?.sparseTreeRetryMaxAttempts,0,4)},registerOpenedTab:f=>O?.registerOpenedTab(f),switchToLogicalTab:f=>O?.switchToLogicalTab(f)||{ok:!1,reason:"No session coordinator"},listKnownTabs:()=>(O?.listTabs({scope:"all"})||[]).map(f=>({logicalTabId:f.logicalTabId,runtimeId:f.runtimeId,url:f.url,title:f.title,external:!!f.external})),onNavigationGuardrail:f=>{if(st("navigation_guardrail",f),wt({kind:"status",title:"Navigation guardrail",detail:yd(f),status:"info"}),Te&&f?.blockedUrl){let p=Qv();if(!p)return;let g=String(window.location.hostname||"").toLowerCase(),y=(()=>{try{return new URL(String(f.blockedUrl)).hostname.toLowerCase()}catch{return}})();Te.sendTabEvent({runId:p,currentUrl:String(f.currentUrl||window.location.href),targetUrl:String(f.blockedUrl),message:String(f.reason||""),currentHost:g||void 0,targetHost:y,isCrossHost:!!y&&!!g&&y!==g}).then(x=>{x&&(x.retryAttempted&&st("tab_event_conflict_retry",{runId:x.runId||p,decisionReason:x.decisionReason,conflict:x.conflict}),x.retryExhausted&&st("tab_event_conflict_exhausted",{runId:x.runId||p,decisionReason:x.decisionReason,conflict:x.conflict}))}).catch(()=>{})}},onBeforeAgentNavigation:async f=>{let p=Qv(),g=String(window.location.hostname||"").toLowerCase();if(f?.targetUrl&&Av(f.targetUrl,g)){let W=Zp(f.targetUrl,g);return ct("navigation_guardrail",{event:"adversarial_blocked",targetUrl:f.targetUrl,score:W.score,reasons:W.reasons}),{decision:"block",reason:`Navigation blocked: suspicious URL detected (adversarial score ${W.score}).`,decisionReason:"adversarial_block"}}if(f?.isCrossHost){let W=Date.now();for(wa.push(W);wa.length>0&&wa[0]<W-Wv;)wa.shift();if(wa.length>jE)return ct("navigation_guardrail",{event:"rapid_cross_origin_blocked",targetUrl:f.targetUrl,count:wa.length}),{decision:"block",reason:`Navigation blocked: too many cross-origin navigations (${wa.length} in ${Wv/1e3}s).`,decisionReason:"rapid_cross_origin_block"}}let y=(()=>{try{return new URL(String(f?.targetUrl||"")).hostname.toLowerCase()}catch{return}})(),x=!!g&&!!y&&sr(g)!==sr(y),T=!!g&&!!y&&g!==y,k=xs({host:y,currentHost:g,allowedDomains:I?.allowedDomains,domainScopeMode:I?.domainScopeMode}),b=Ov({targetUrl:f?.targetUrl,currentUrl:window.location.href,currentHost:g,allowedDomains:I?.allowedDomains,domainScopeMode:I?.domainScopeMode,externalNavigationPolicy:I?.externalNavigationPolicy,crossHostPolicy:gc(I?.navigation?.crossHostPolicy),preferredDisposition:f?.preferredDisposition||"auto",knownTabs:(O?.listTabs({scope:"all"})||[]).map(W=>({logicalTabId:W.logicalTabId,url:W.url,external:!!W.external})),taskScopedTabIds:Ai(),sourceLogicalTabId:f?.sourceLogicalTabId}),P=vI(),R=b==="allow_same_tab";if(R&&u){if(Kr=!0,af(rf(f)),n(f.isCrossHost?"cross_host_navigation":"agent_navigation"),xn&&I?.siteId)try{sessionStorage.setItem(`rover:sess:${I.siteId}`,JSON.stringify({t:xn,e:Yr}))}catch{}if(se){let W=se.getActiveTask();W&&se.dispatch(W.taskId,{type:"NAVIGATION_STARTED",targetUrl:f.targetUrl,isCrossHost:f.isCrossHost})}Hi("same_tab_navigation_handoff_early")}let _=null;if(f?.targetUrl&&Te&&p){let W=!!y&&!!g&&y!==g;_=await Te.sendTabEvent({runId:p,currentUrl:window.location.href,targetUrl:f.targetUrl,message:P,currentHost:g||void 0,targetHost:y,isCrossHost:W}).catch(()=>null),_?.retryAttempted&&st("tab_event_conflict_retry",{runId:_.runId||p,decisionReason:_.decisionReason,conflict:_.conflict,targetUrl:f.targetUrl}),_?.retryExhausted&&st("tab_event_conflict_exhausted",{runId:_.runId||p,decisionReason:_.decisionReason,conflict:_.conflict,targetUrl:f.targetUrl})}let $=Lv({crossRegistrableDomain:x,fallbackDecision:b,serverDecision:_?.decision,serverAvailable:!!_}),te=$.decision;if(te==="block")return R&&(Kr=!1),{decision:"block",reason:$.failSafeBlocked?"Cross-domain navigation blocked because preflight policy check is unavailable.":_?.reason||"Navigation blocked by policy.",decisionReason:$.failSafeBlocked?"preflight_unavailable_block":_?.decisionReason||"policy_blocked"};if(te==="open_new_tab"){R&&(Kr=!1),I?.tools?.web?.scrapeMode==="on_demand"&&Te&&f?.targetUrl&&xR(f.targetUrl).catch(()=>{});let oe=$.decisionReason==="preflight_unavailable_fallback"&&!_;return{decision:"open_new_tab",reason:_?.reason||(oe?"Preflight is unavailable; Rover will open this page in a new tab and keep the task moving there.":"Rover will open this page in a new tab and keep the task moving there."),decisionReason:_?.decisionReason||$.decisionReason||"open_new_tab"}}return!R&&u?(Kr=!0,af(rf(f)),n(f.isCrossHost?"cross_host_navigation":"agent_navigation"),Hi("same_tab_navigation_handoff")):R||(Kr=!0),{decision:"allow_same_tab",reason:_?.reason||($.decisionReason==="preflight_unavailable_fallback"&&!_?"Preflight is unavailable; Rover will continue in the current tab.":"Navigation allowed."),decisionReason:_?.decisionReason||$.decisionReason||"allow_same_tab"}},onBeforeCrossHostNavigation:f=>{if(Kr=!0,!u||!I)return;af(rf(f));let p=Gf(),g=n("cross_host_navigation");fv(I.siteId,{sessionId:u.sessionId,sessionToken:xn,sessionTokenExpiresAt:Yr,openIntent:u.uiOpen?"preserve_if_running":void 0,targetUrl:String(f?.targetUrl||"").trim()||void 0,sourceHost:String(window.location.hostname||"").trim().toLowerCase()||void 0,handoffId:p?.handoffId||f?.handoffId,pendingRun:g?{id:g.id,text:g.text,startedAt:g.startedAt,attempts:g.attempts,taskBoundaryId:g.taskBoundaryId||Fe}:void 0,handoff:p?{handoffId:p.handoffId,sourceLogicalTabId:p.sourceLogicalTabId,runId:p.runId,targetUrl:p.targetUrl,createdAt:p.createdAt}:void 0,activeTask:u.activeTask?{taskId:u.activeTask.taskId,status:u.activeTask.status}:void 0,taskEpoch:u.taskEpoch,timestamp:Date.now()}),Hi("cross_domain_handoff_pre_navigation")},instrumentationOptions:e.mode==="safe"?{observeInlineMutations:!1}:void 0});let r=Dt==="observer"?"observer":"controller";bt?.setActionGateContext?.({mode:r,controllerRuntimeId:O?.getCurrentHolderRuntimeId(),activeLogicalTabId:O?.getActiveLogicalTabId(),localLogicalTabId:O?.getLocalLogicalTabId(),reason:Sc(r,t)});let o=new MessageChannel;eb(o.port1,{getSnapshot:()=>bt.getSnapshot(),getPageData:async f=>{let p=I||e,g=Number(f?.tabId),y=O?.getLocalLogicalTabId();if(!Number.isFinite(g)||g<=0||g===y||!O)return bt.getPageData(f);let T=O.listTabs().find(k=>k.logicalTabId===g);if(!T){let k=Ai().includes(g);return Ws({logicalTabId:g,external:!1},k?"detached_runtime_placeholder":"target_tab_missing")}if(T.runtimeId===vt)return bt.getPageData(f);if(T.external&&p.externalNavigationPolicy!=="allow")return Ws(T,"external_domain_inaccessible");if(!T.runtimeId||!O.isTabAlive(g))return Ws(T,"target_tab_inactive");try{return await O.sendCrossTabRpc(T.runtimeId,"getPageData",f,15e3)}catch{return Ws(T,"cross_tab_rpc_failed")}},executeTool:async f=>{let p=I||e,g=f?.payload?.forceLocal===!0,y=String(f?.call?.name||"").trim(),x=Number(f?.call?.args?.tab_id),T=O?.getActiveLogicalTabId(),k=Number.isFinite(x)&&x>0?x:T;if(TR(y)){let _=f?.call?.serverResult;return _?_.success?{success:!0,output:_.data}:{success:!1,error:_.error||"Server-side execution failed"}:SR({call:f?.call,routeTabId:Number.isFinite(Number(k))?Number(k):void 0,runtimeCfg:p})}if(g)return bt.executeTool(f.call,f.payload);let b=O?.getLocalLogicalTabId();if(!k||k===b||!O)return bt.executeTool(f.call,f.payload);let R=O.listTabs().find(_=>_.logicalTabId===k);if(!R){let _=Ai().includes(k);return Gs(p,{logicalTabId:k,external:!1},_?"detached_runtime_placeholder":"target_tab_missing")}if(R.external&&p.externalNavigationPolicy!=="allow")return Gs(p,R,"external_tab_action_blocked");if(R.runtimeId===vt)return bt.executeTool(f.call,f.payload);if(!R.runtimeId||!O.isTabAlive(k))return Gs(p,R,"target_tab_inactive");try{return await O.sendCrossTabRpc(R.runtimeId,"executeTool",f,2e4)}catch{return Gs(p,R,"cross_tab_execute_failed")}},executeClientTool:f=>bt.executeClientTool(f.name,f.args),listClientTools:()=>bt.listClientTools(),getTabContext:()=>{let f=O?.getLocalLogicalTabId(),p=O?.getActiveLogicalTabId();return{id:f||1,logicalTabId:f||1,activeLogicalTabId:p||f||1,runtimeId:vt,mode:Dt,url:window.location.href,title:document.title}},listSessionTabs:()=>{if(!O)return[];let f=O.listTabs({scope:"all"}),p=Array.isArray(O.getState()?.tabs)?O.getState().tabs:[],g=new Set(Ai()),y=new Map,x=T=>{let k=Number(T?.logicalTabId||T?.id);!Number.isFinite(k)||k<=0||y.set(k,{...y.get(k)||{},...T,logicalTabId:k,id:k})};for(let T of f)x(T);for(let T of p){let k=Number(T?.logicalTabId);!Number.isFinite(k)||k<=0||(T.runtimeId||T.external||g.has(k))&&x(T)}return[...y.values()].sort((T,k)=>Number(T.logicalTabId)-Number(k.logicalTabId))}}),o.port1.start?.();let a=e.workerUrl?e.workerUrl:new URL("./worker/worker.js",__ROVER_SCRIPT_URL__).toString(),i=a;try{let f=window.location.origin,p=new URL(a).origin;if(f!==p){let g=new Blob([`import '${a}';`],{type:"application/javascript"});i=URL.createObjectURL(g)}}catch{}at=new Worker(i,{type:"module"}),at.postMessage({type:"init",config:{...e,...za(),pageConfig:vc(I),publicKey:void 0,authToken:Qn(e),sessionToken:xn,sessionId:u?.sessionId,activeRunId:u?.pendingRun?.id},port:o.port2},[o.port2]);let s=(f="manual_cancel_task")=>{if(!u)return;let p=u.pendingRun;if(p){Qo(p.id),at?.postMessage({type:"cancel_run",runId:p.id}),Xo(p.id,f,{attemptImmediately:!0}),Te?.controlRun({action:"cancel",runId:p.id,reason:f}).catch(()=>{}),O?.releaseWorkflowLock(p.id),O?.setActiveRun(void 0),Wt(void 0),u.workerState=void 0,O?.setWorkerContext(void 0),Fe=Dr(),u.taskTabScope=void 0,lr({forceReset:!0,persist:!1}),yr(),Vt&&(clearTimeout(Vt),Vt=null),ce?.setRunning(!1),ce?.setQuestionPrompt(void 0),ex(f),qt(void 0),wt({kind:"info",title:"Run cancelled",status:"info"}),wn("system","Task cancelled.",!0),Da=void 0,Qr=void 0,qi=0,Ze();return}let g=Cr(u.workerState?.pendingAskUser?.questions).length>0,y=u.activeTask?.status;!g&&y!=="running"||(Fe=Dr(),u.workerState=void 0,u.taskTabScope=void 0,lr({forceReset:!0,persist:!1}),yr(),Vt&&(clearTimeout(Vt),Vt=null),ce?.setRunning(!1),ce?.setQuestionPrompt(void 0),Jn(),Wt(void 0),pR(f),O?.endTask(f),O?.setActiveRun(void 0),O?.setWorkerContext(void 0),qt(void 0),Da=void 0,Qr=void 0,qi=0,wt({kind:"info",title:f==="question_prompt_cancel"?"Input request cancelled":"Task cancelled",status:"info"}),Ze())},c={siteId:e.siteId,resolveElement:f=>document.querySelector(`[data-rveid="${f}"]`)||null,panel:{resizable:e.ui?.panel?.resizable!==!1},shortcuts:ux(Jo(e.ui?.shortcuts||[])),experience:Xd(e),greeting:Yd(e),voice:vm(e),thoughtStyle:e.ui?.thoughtStyle,visitorName:Rr?.name,onVoiceTelemetry:(f,p)=>{_I(f,p)},onShortcutClick:f=>{let p=String(f.prompt||"").trim();p&&br(p,{routing:f.routing})},onSend:(f,p)=>{br(f,{askUserAnswers:p?.askUserAnswers,attachments:p?.attachments})},onRequestControl:()=>{PI()?wt({kind:"status",title:"Control requested",detail:"This tab is now the active Rover controller for the current task.",status:"info"}):wn("system","Unable to acquire control right now. Try again in a moment.",!0)},onCancelRun:()=>{s("manual_cancel_task")},onCancelQuestionFlow:()=>{s("question_prompt_cancel")},onNewTask:()=>{Dc({reason:"manual_new_task",clearUi:!0})},onEndTask:()=>{Qd({reason:"manual_end_task"})},onTaskSuggestionPrimary:()=>{let f=$o;if(f){if(f.kind==="resume_run"){let p=yt(u?.pendingRun);if(Jn(),!p||p.id!==f.runId){qt("Previous task is no longer resumable.");return}Jr({overridePolicyAction:"auto_resume"});return}br(f.text,{bypassSuggestion:!0,startNewTask:!0,reason:f.reason})}},onTaskSuggestionSecondary:()=>{let f=$o;if(f){if(f.kind==="resume_run"){let p=String(u?.pendingRun?.id||"").trim();if(Jn(),!p||p!==f.runId)return;dm({reason:"resume_declined_by_user",statusText:"Resume cancelled. Start a new task when you are ready.",runId:f.runId,cancelReason:"resume_declined_by_user",timelineTitle:"Resume cancelled",timelineDetail:"Interrupted run was cancelled by user action.",timelineStatus:"info"});return}br(f.text,{bypassSuggestion:!0})}},onSwitchConversation:f=>{if(!se||!u)return;let p=se.getActiveTask();p&&ce&&(p.scrollPosition=ce.getScrollPosition());let g=String(O?.getState()?.activeRun?.runId||"").trim(),x=!!(String(u.pendingRun?.id||"").trim()||g);if(p&&p.taskId!==f&&x){wn("system","Finish the active run before switching conversations.",!0);return}let T=se.switchActiveTask(f);T&&(Jk(T,{replayUi:!0}),u.activeTaskId=f,ce&&(requestAnimationFrame(()=>{T.scrollPosition!=null&&ce.setScrollPosition(T.scrollPosition)}),ce.setActiveConversationId(f)),jo(),Ze())},onDeleteConversation:f=>{se&&(se.deleteTask(f),jo(),Ze())},onResumeTask:f=>{if(!se)return;se.dispatch(f,{type:"RESUME"}).accepted&&(ce?.hidePausedTaskBanner(),se.assignWorker(f,{}),jo(),Ze())},onCancelPausedTask:f=>{if(!se)return;se.dispatch(f,{type:"CANCEL",reason:"user_cancelled_paused_task"}).accepted&&(ce?.hidePausedTaskBanner(),se.archiveTask(f),jo(),Ze())},onTabClick:f=>{O?.switchToLogicalTab(f)},showTaskControls:e.ui?.showTaskControls!==!1,muted:e.ui?.muted,agent:{name:e.ui?.agent?.name},mascot:{disabled:e.ui?.mascot?.disabled,imageUrl:e.ui?.mascot?.imageUrl,mp4Url:e.ui?.mascot?.mp4Url,webmUrl:e.ui?.mascot?.webmUrl,soundEnabled:e.ui?.mascot?.soundEnabled},onOpen:()=>{Wo=!0,Cc(),u&&(u.uiOpen=!0,u.uiHidden=!1,Ze()),Fn(I),st("open")},onClose:()=>{u&&(u.uiOpen=!1,Ze()),Fn(I),st("close")}};ce=ay(c),Jn(),Vd(u?.uiMessages||[],u?.timeline||[]),Wd(u),Ki(),u?.executionMode&&ce.setExecutionMode(u.executionMode,{localLogicalTabId:O?.getLocalLogicalTabId(),activeLogicalTabId:O?.getActiveLogicalTabId(),controllerRuntimeId:O?.getCurrentHolderRuntimeId(),canTakeControl:!0,canComposeInObserver:qk(),note:$k(u.executionMode)}),at.onmessage=f=>{MR(f.data||{})};let l=()=>{O?.registerCurrentTab(window.location.href,document.title),O?.broadcastNavigation(window.location.href,document.title),Nc("navigation"),Mc("navigation"),Qi("navigation")};Mi||(Mi=History.prototype.pushState),Ni||(Ni=History.prototype.replaceState);let d=Mi.bind(history),m=Ni.bind(history);history.pushState=function(...f){let p=d(...f);return setTimeout(l,0),p},history.replaceState=function(...f){let p=m(...f);return setTimeout(l,0),p},Ma(window,"popstate",l),u?.uiHidden?ce.hide():(ce.show(),u?.uiOpen??!!e.openOnInit?ce.open():ce.close()),u&&(u.uiHidden=!!u.uiHidden,u.uiOpen=!!u.uiOpen,Ze()),O&&(pm(O.getState(),"remote"),Ua(O.getRole(),{localLogicalTabId:O.getLocalLogicalTabId(),activeLogicalTabId:O.getActiveLogicalTabId(),holderRuntimeId:O.getCurrentHolderRuntimeId()})),kc()}function xc(e){if(Fo)return Bd(e),Fo;yf&&Ud(),yf=!0,xo=av(),vt=pI(e.siteId),tn=Ek(e),Rr=e.visitor||hI(e.siteId),Wo=!1,Aa=!1,Cc(),Oa(),gn=null,zn=!1;let t=e.sessionId?.trim(),n=gI(e.siteId),r=!t&&e.sessionScope!=="tab"&&tn?Xv(e.siteId,tn):void 0,o=bd(e.siteId,t||r),a=Bi(e.siteId),i=Array.from(new Set([t?o:n,o,n,r?bd(e.siteId,r):void 0,a].filter(b=>!!b))),s=null,c=null;for(let b of i){let P=VI(b);if(P){s=P,c=b;break}}Un=c||o,vo=a!==Un?a:null;let l=i.filter(b=>b!==Un);Tf(e.siteId,Un);let d=s?null:qp(e.siteId,{currentUrl:window.location.href,currentHost:window.location.hostname,requireTargetMatch:!0});!s&&!d&&qp(e.siteId,{currentHost:window.location.hostname,requireTargetMatch:!1})&&(ct("status",{event:"resume_cookie_rejected",reason:"target_or_host_mismatch"}),Fs(e.siteId)),d&&(Fs(e.siteId),Nn=!0,zn=!0,d.openIntent==="preserve_if_running"&&Yv({runId:d.pendingRun?.id,taskId:d.activeTask?.taskId}),d.sessionToken&&Cd(d.sessionToken,d.sessionTokenExpiresAt));let m=e.sessionId?.trim(),f=!m&&!s?.sessionId&&!d?.sessionId&&e.sessionScope!=="tab"&&tn?Xv(e.siteId,tn):void 0,p=m||s?.sessionId||d?.sessionId||f||crypto.randomUUID(),g=s;if(!s&&d){let b=Sf(d.sessionId,vt),P=String(d.activeTask?.status||"").trim().toLowerCase(),R=!P||P==="running";d.pendingRun&&R&&(b.pendingRun=yt({...d.pendingRun,autoResume:!0,taskBoundaryId:d.pendingRun.taskBoundaryId,resumeRequired:!0,resumeReason:"cross_host_navigation"})),d.handoff&&(b.lastNavigationHandoff=_o({...d.handoff,createdAt:d.handoff.createdAt})),d.activeTask&&(b.activeTask={...jn("cross_domain_resume"),taskId:d.activeTask.taskId,status:d.activeTask.status}),b.taskEpoch=d.taskEpoch||1,Qp(d.openIntent)&&(b.uiHidden=!1,b.uiOpen=!0),g=b}u=yc(g,p,vt),m&&u.sessionId!==m&&(u=Sf(m,vt));let y=yI(e.siteId);Fe=lI(u),y&&u.activeTask?.status==="running"&&(zn=!0,Qp(y.openIntent)&&(u.uiHidden=!1,u.uiOpen=!0,Yv({runId:y.runId,taskId:u.activeTask?.taskId})),u.pendingRun=yt({...u.pendingRun||{},id:u.pendingRun?.id||y.runId,text:u.pendingRun?.text||y.text||Tn||"Continue task",startedAt:u.pendingRun?.startedAt||Date.now(),attempts:u.pendingRun?.attempts||0,autoResume:!0,taskBoundaryId:u.pendingRun?.taskBoundaryId||y.taskBoundaryId||Fe,resumeRequired:!0,resumeReason:y.resumeReason||u.pendingRun?.resumeReason||"agent_navigation"})),u.pendingRun&&!u.pendingRun.taskBoundaryId&&(u.pendingRun=yt({...u.pendingRun,taskBoundaryId:Fe})),u.workerState&&!u.workerState.taskBoundaryId&&(u.workerState=Ar(un({...u.workerState,taskBoundaryId:Fe}),Fe)),Tc(u),I={...e,deepLink:Ms(e.deepLink),pageConfig:To(e.pageConfig),visitorId:tn||e.visitorId,sessionId:m||u.sessionId,domainScopeMode:bc(e.domainScopeMode),taskRouting:{mode:e.taskRouting?.mode||"act",actHeuristicThreshold:e.taskRouting?.actHeuristicThreshold,plannerOnActError:e.taskRouting?.plannerOnActError},navigation:{crossHostPolicy:gc(e.navigation?.crossHostPolicy)},timing:{navigationDelayMs:ln(e.timing?.navigationDelayMs,0,3e3),actionTimeoutMs:ln(e.timing?.actionTimeoutMs,dc,12e4),domSettleDebounceMs:ln(e.timing?.domSettleDebounceMs,8,500),domSettleMaxWaitMs:ln(e.timing?.domSettleMaxWaitMs,80,5e3),domSettleRetries:ln(e.timing?.domSettleRetries,0,6),sparseTreeRetryDelayMs:ln(e.timing?.sparseTreeRetryDelayMs,20,1e3),sparseTreeRetryMaxAttempts:ln(e.timing?.sparseTreeRetryMaxAttempts,0,4)},transport:{activation:nm(e.transport?.activation),idleCloseMs:rm(e.transport?.idleCloseMs)},stability:{maxPersistBytes:Vi(e.stability?.maxPersistBytes,zt.localPersistBytes),maxSnapshotBytes:Vi(e.stability?.maxSnapshotBytes,zt.snapshotBytes)},task:{singleActiveScope:Rk(e.task?.singleActiveScope),tabScope:Ak(e.task?.tabScope),resume:{mode:Qf(e.task?.resume?.mode),ttlMs:Rd(e.task?.resume?.ttlMs)},followup:{mode:Ck(e.task?.followup?.mode),ttlMs:em(e.task?.followup?.ttlMs),minLexicalOverlap:tm(e.task?.followup?.minLexicalOverlap)},observerInput:Zf(e.task?.observerInput),autoResumePolicy:Jf(e.task?.autoResumePolicy)},chat:{inRun:Mk(e.chat?.inRun),resumeFollowup:{mode:Nk(e.chat?.resumeFollowup?.mode),maxTurns:Lk(e.chat?.resumeFollowup?.maxTurns)}},external:{intentSelection:Dk(e.external?.intentSelection),requireUserConfirm:Pk(e.external?.requireUserConfirm),adversarialGate:Ok(e.external?.adversarialGate)},taskContext:{...e.taskContext},features:{rover_v2_kernel_runtime:Bk(e.features?.rover_v2_kernel_runtime)}},u.sessionId=I.sessionId,u.runtimeId=vt,Un=bd(e.siteId,u.sessionId),vo=Un!==Bi(e.siteId)?Bi(e.siteId):null,Tf(e.siteId,Un),u.executionMode=u.executionMode||"controller",u.timeline=Nr(u.timeline),u.uiMessages=Mr(u.uiMessages),u.activeTask=Zo(u.activeTask,jn("boot")),Kp(u.activeTask?.status)&&(u.pendingRun=void 0,u.workerState=void 0,Nn=!1,zn=!1,Oa(),Fs(e.siteId),Ik(e.siteId)),u.taskEpoch=Math.max(1,Number(u.taskEpoch)||1),Dt=u.executionMode,Rr&&_k(e.siteId,Rr);let x={maxConcurrentWorkers:e.task?.maxConcurrentWorkers??2,maxQueuedTasks:e.task?.maxQueuedTasks??5,maxArchivedTasks:e.task?.maxArchivedTasks??10};if(u.tasks&&Object.keys(u.tasks).length>0)se=wi.fromPersistedState({tasks:u.tasks,activeTaskId:u.activeTaskId,taskOrder:u.taskOrder},x);else{se=wi.fromV1State(u,x);let{tasks:b,activeTaskId:P,taskOrder:R}=se.toPersistedState();u.tasks=b,u.activeTaskId=P,u.taskOrder=R}let T=se.getActiveTask();T&&Jk(T,{replayUi:!1}),Ze();try{sessionStorage.setItem(`rover:tab-alive:${e.siteId}`,"1")}catch{}vr=!1,ji=!1,Lr=!1,Hn=0,Ed=null;try{let b=sessionStorage.getItem(`rover:sess:${e.siteId}`);if(b){let{t:P,e:R}=JSON.parse(b);P&&typeof P=="string"&&P.startsWith("rvrsess_")&&Number(R)>Date.now()+2e3&&Cd(P,Number(R))}}catch{}mA(I),Zr(I),Nc("boot"),Mc("boot"),Qi("boot");let k=!!(xn&&Yr>Date.now()+2e3);if((!Te||k)&&(ji=!0),Un&&IR(Un,l.length?l:vo?[vo]:void 0),oR(),Pr(!0),Nn&&setTimeout(()=>{Nn&&!Lr&&(Nn=!1,Jr())},kE),Fo={boot:xc,init:wm,update:Bd,shutdown:Ud,open:Sn,close:Jd,show:Tm,hide:Sm,send:_m,newTask:Dc,endTask:Qd,getState:Am,getAgentCard:zf,requestSigned:Im,attachLaunch:Em,registerPromptContextProvider:Rm,registerTool:Cm,identify:xm,on:vk},sA(),hd.length){for(let b of hd)Kf(b);hd.length=0}return Fo}function wm(e){return xc(e)}function Bd(e){if(!Fo||!at||!I)return;I={...I,...e,deepLink:Ms({...I.deepLink,...e.deepLink}),pageConfig:e.pageConfig!==void 0?To(e.pageConfig):I.pageConfig,domainScopeMode:bc(e.domainScopeMode??I.domainScopeMode),taskRouting:{...I.taskRouting,...e.taskRouting},navigation:{...I.navigation,...e.navigation,crossHostPolicy:gc(e.navigation?.crossHostPolicy??I.navigation?.crossHostPolicy)},timing:{...I.timing,...e.timing,navigationDelayMs:ln(e.timing?.navigationDelayMs??I.timing?.navigationDelayMs,0,3e3),actionTimeoutMs:ln(e.timing?.actionTimeoutMs??I.timing?.actionTimeoutMs,dc,12e4),domSettleDebounceMs:ln(e.timing?.domSettleDebounceMs??I.timing?.domSettleDebounceMs,8,500),domSettleMaxWaitMs:ln(e.timing?.domSettleMaxWaitMs??I.timing?.domSettleMaxWaitMs,80,5e3),domSettleRetries:ln(e.timing?.domSettleRetries??I.timing?.domSettleRetries,0,6),sparseTreeRetryDelayMs:ln(e.timing?.sparseTreeRetryDelayMs??I.timing?.sparseTreeRetryDelayMs,20,1e3),sparseTreeRetryMaxAttempts:ln(e.timing?.sparseTreeRetryMaxAttempts??I.timing?.sparseTreeRetryMaxAttempts,0,4)},transport:{...I.transport,...e.transport,activation:nm(e.transport?.activation??I.transport?.activation),idleCloseMs:rm(e.transport?.idleCloseMs??I.transport?.idleCloseMs)},agentDiscovery:{...I.agentDiscovery,...e.agentDiscovery},stability:{...I.stability,...e.stability,maxPersistBytes:Vi(e.stability?.maxPersistBytes??I.stability?.maxPersistBytes,zt.localPersistBytes),maxSnapshotBytes:Vi(e.stability?.maxSnapshotBytes??I.stability?.maxSnapshotBytes,zt.snapshotBytes)},task:{...I.task,...e.task,singleActiveScope:Rk(e.task?.singleActiveScope??I.task?.singleActiveScope),tabScope:Ak(e.task?.tabScope??I.task?.tabScope),resume:{mode:Qf(e.task?.resume?.mode??I.task?.resume?.mode),ttlMs:Rd(e.task?.resume?.ttlMs??I.task?.resume?.ttlMs)},followup:{mode:Ck(e.task?.followup?.mode??I.task?.followup?.mode),ttlMs:em(e.task?.followup?.ttlMs??I.task?.followup?.ttlMs),minLexicalOverlap:tm(e.task?.followup?.minLexicalOverlap??I.task?.followup?.minLexicalOverlap)},observerInput:Zf(e.task?.observerInput??I.task?.observerInput),autoResumePolicy:Jf(e.task?.autoResumePolicy??I.task?.autoResumePolicy)},chat:{...I.chat,...e.chat,inRun:Mk(e.chat?.inRun??I.chat?.inRun),resumeFollowup:{mode:Nk(e.chat?.resumeFollowup?.mode??I.chat?.resumeFollowup?.mode),maxTurns:Lk(e.chat?.resumeFollowup?.maxTurns??I.chat?.resumeFollowup?.maxTurns)}},external:{...I.external,...e.external,intentSelection:Dk(e.external?.intentSelection??I.external?.intentSelection),requireUserConfirm:Pk(e.external?.requireUserConfirm??I.external?.requireUserConfirm),adversarialGate:Ok(e.external?.adversarialGate??I.external?.adversarialGate)},taskContext:{...I.taskContext,...e.taskContext},features:{...I.features,...e.features,rover_v2_kernel_runtime:Bk(e.features?.rover_v2_kernel_runtime??I.features?.rover_v2_kernel_runtime)},ui:{...I.ui,...e.ui,agent:{...I.ui?.agent,...e.ui?.agent},experience:{...I.ui?.experience,...e.ui?.experience},panel:{...I.ui?.panel,...e.ui?.panel},voice:{...I.ui?.voice,...e.ui?.voice}},tools:{...I.tools,...e.tools,client:e.tools?.client??I.tools?.client,web:{...I.tools?.web,...e.tools?.web}}},tn=Ek(I),tn&&(I.visitorId=tn),e.sessionId&&u?(u.sessionId=e.sessionId,Un=bd(I.siteId,u.sessionId),vo=Un!==Bi(I.siteId)?Bi(I.siteId):null,Tf(I.siteId,Un),Ze(),Ld(I)):(e.sessionScope||e.tabPolicy)&&Ld(I),mm(I),jd(I),Zr(I);let t=e.apiBase!==void 0||e.publicKey!==void 0||e.authToken!==void 0||e.sessionToken!==void 0||e.siteId!==void 0||e.siteKeyId!==void 0||e.ui?.shortcuts!==void 0||e.ui?.greeting!==void 0;if(bt){typeof e.allowActions=="boolean"&&bt.setAllowActions(e.allowActions&&Dt==="controller");let n=Dt==="controller"&&(I?.allowActions??!0),r=Dt==="observer"?"observer":"controller";bt?.setActionGateContext?.({mode:r,controllerRuntimeId:O?.getCurrentHolderRuntimeId(),activeLogicalTabId:O?.getActiveLogicalTabId(),localLogicalTabId:O?.getLocalLogicalTabId(),reason:Sc(r,n)}),(e.allowedDomains||e.domainScopeMode||e.externalNavigationPolicy||e.navigation?.crossHostPolicy)&&bt.setNavigationPolicy({allowedDomains:e.allowedDomains,domainScopeMode:bc(e.domainScopeMode??I.domainScopeMode),externalNavigationPolicy:e.externalNavigationPolicy,crossHostPolicy:e.navigation?.crossHostPolicy})}at.postMessage({type:"update_config",config:{...e,...za(),pageConfig:vc(I),publicKey:void 0,authToken:Qn(I),sessionToken:xn,sessionId:u?.sessionId,activeRunId:u?.pendingRun?.id,sessionEpoch:Te?.getEpoch?.()??ko,sessionSeq:Te?.getLastSeq?.()??0}}),Od(I),t?wx(I):kc(),e.visitor&&xm(e.visitor),typeof e.openOnInit=="boolean"&&(e.openOnInit||Yf(u)?Sn():Jd()),Nc("update"),Mc("update"),Qi("update"),Pr()}function Ud(){Vf(),Wf(),wk(),qf(),Id(),Oa(),Jn(),Ui(),ym(!0),Ra(!0),am(),$t?.markDirty(),$t?.syncNow({push:!0,pull:!1}),$t?.stop(),$t=null,Te?.stop(),Te=null,xn=void 0,Yr=0,ko=1,Vo(void 0),pc="",O?.stop(),O=null,se?.shutdown(),se=null,at?.terminate(),at=null,ce?.destroy(),ce=null,bt=null,I=null,vr=!1,Lr=!1,Hn=0,Lt&&(clearTimeout(Lt),Lt=null),Oo&&(clearTimeout(Oo),Oo=null),md=!1,Mn.clear(),Xr.clear(),gr.clear(),Wr.clear(),cc(),Ia(),Ea="",oc="",Qs="",HR(),Ri="",_a="",Pd(),sc="",Ii="",Ho=null,dn=!1,Go=!1,fc.clear(),kf=!1,Kr=!1,Fe="",vt="",tn=void 0,Rr=void 0,Wo=!1,Aa=!1,Cc(),gn=null,hf="",Fi=!1,fd=!1,Ci=!1,Kn=[],uk=0,ff=0,mf=0,_d=0,tc=!1,wo&&(clearTimeout(wo),wo=null),Cf="",Ei="",Dt="controller",Ir=!0,$o=null,xo=null,Ed=null,Zs=0;try{let e=window.rtrvrAIClearObserverPause;typeof e=="function"&&e()}catch{}Fo=null;for(let e of qo)try{e.target.removeEventListener(e.event,e.handler,e.options)}catch{}if(qo.length=0,Mi){try{History.prototype.pushState=Mi}catch{}Mi=null}if(Ni){try{History.prototype.replaceState=Ni}catch{}Ni=null}gf=!1,bf=!1,vf=!1,dn=!1,Go=!1,yf=!1}function Sn(){Wo=!0,Cc(),Go=!0,ce?.show(),ce?.open(),u&&(u.uiHidden=!1,u.uiOpen=!0,Ze()),Fn(I)}function Jd(){ce?.close(),Oa(),u&&(u.uiOpen=!1,Ze()),Fn(I)}function Tm(){ce?.show(),u&&(u.uiHidden=!1,Ze()),Fn(I)}function Sm(){ce?.hide(),Oa(),u&&(u.uiHidden=!0,u.uiOpen=!1,Ze()),Fn(I)}function _m(e){e?.trim()&&br(e)}async function Em(e){if(!I)return null;await Zr(I);let t=await Te?.attachLaunch({requestId:e.requestId,attachToken:e.attachToken})||null;if(!t)return null;let n=Ke?.requestId===t.requestId?Ke:null;return Ke={requestId:t.requestId,attachToken:e.attachToken,handleKey:n?.handleKey||`direct_attach:${t.requestId}`,status:t.status,detail:t.detail,executionTarget:t.executionTarget,runId:t.runId,promptDispatchState:Dd(t)?"pending":"started",pendingEvents:n?.pendingEvents||[],ingestInFlight:n?.ingestInFlight||!1,lastNeedsInputSignature:n?.lastNeedsInputSignature,finalObservationRunId:n?.finalObservationRunId,attachCompletedAt:Date.now()},Ca(),Dd(t)?gx(t):Sn(),t}async function Im(e,t={}){if(!I)throw new Error("Rover is not booted.");await Zr(I),await Te?.ensureSession(!1);let n=Te?.getSessionToken()||xn||Qn(I);if(!n)throw new Error("Rover signed request is unavailable without an active Rover session.");let r=new Headers(t.headers||void 0);return r.has("Authorization")||r.set("Authorization",`Bearer ${n}`),u?.sessionId&&!r.has("X-Rover-Session-Id")&&r.set("X-Rover-Session-Id",u.sessionId),I.siteId&&!r.has("X-Rover-Site-Id")&&r.set("X-Rover-Site-Id",I.siteId),typeof window<"u"&&!r.has("X-Rover-Host")&&r.set("X-Rover-Host",window.location.hostname),fetch(e,{...t,headers:r})}function Rm(e){return typeof e!="function"?()=>{}:(fc.add(e),()=>{fc.delete(e)})}function Dc(e){if(!u)return;let t=e?.reason||"manual_new_task",n=e?.clearUi!==!1;if(Da=void 0,Qr=void 0,qi=0,u.pendingRun&&(Qo(u.pendingRun.id),at?.postMessage({type:"cancel_run",runId:u.pendingRun.id}),Xo(u.pendingRun.id,t,{attemptImmediately:!0}),Te?.controlRun({action:"cancel",runId:u.pendingRun.id,reason:t}),O?.releaseWorkflowLock(u.pendingRun.id)),Vt&&(clearTimeout(Vt),Vt=null),ce?.setRunning(!1),ce?.setQuestionPrompt(void 0),Lr=!1,Hn=0,Rc(),se){let a=se.createTask(t);se.switchActiveTask(a.taskId),se.dispatch(a.taskId,{type:"START",reason:t})}let r=ea({type:"new_task",reason:t,at:Date.now()},{syncShared:!1,persist:!1});if(!r)return;let o=Math.max(1,Number(u.taskEpoch)||1);n&&(u.uiMessages=[],u.timeline=[],u.uiStatus=void 0,u.transientStatus=void 0,lm()),O?.startNewTask({taskId:r.taskId,startedAt:r.startedAt,boundaryReason:t,status:"running",lastUserAt:void 0,lastAssistantAt:void 0}),lr({forceReset:!0,persist:!1}),O?.setActiveRun(void 0),O?.setWorkerContext(void 0),Qk([]),qt(void 0),Ze(),at?.postMessage({type:"start_new_task",taskId:r.taskId,...za()}),Te?.controlRun({action:"new_task",reason:t}),st("task_started",{taskId:r.taskId,reason:t,taskEpoch:o})}function Qd(e){if(!u)return;let t=e?.reason||"manual_end_task";if(Da=void 0,Qr=void 0,qi=0,Lr=!1,Hn=0,zn=!1,Rc(),se){let o=se.getActiveTask();o&&se.dispatch(o.taskId,{type:"CANCEL",reason:t})}let n=u.pendingRun?.id,r=ea({type:"terminal",terminal:"ended",reason:t,at:Date.now()},{syncShared:!1,persist:!1,rotateBoundary:!1});r&&(n&&(Qo(n),at?.postMessage({type:"cancel_run",runId:n}),Xo(n,t,{attemptImmediately:!0}),Te?.controlRun({action:"cancel",runId:n,reason:t}),O?.releaseWorkflowLock(n)),Wt(void 0),Fe=Dr(),u.workerState=void 0,u.taskTabScope=void 0,lr({forceReset:!0,persist:!1}),yr(),Vt&&(clearTimeout(Vt),Vt=null),ce?.setRunning(!1),ce?.setQuestionPrompt(void 0),Jn(),qt(void 0),Te?.controlRun({action:"end_task",runId:n,reason:t}),O?.endTask(t),O?.setActiveRun(void 0),O?.setWorkerContext(void 0),Ze(),wt({kind:"info",title:"Task ended",detail:"Start a new task when you are ready.",status:"info"}),st("task_ended",{taskId:r.taskId,reason:t,endedAt:r.endedAt}))}function Am(){let e=TI(Qn()),t=u?fm(u):null,n=mk();return t&&e&&(t.currentAgentAttribution=e),t&&(t.launchBinding=n),{mode:Dt,runtimeId:vt,runtimeState:t,sharedState:O?.getState()||null,launchBinding:n,pendingTaskSuggestion:$o,currentAgentAttribution:e}}function Cm(e,t){let n=JE(e);if(!Fo||!bt||!at){hd.push({def:n,handler:t});return}Kf({def:n,handler:t})}function hA(e){if(!e)return;let t=String(e);if(t==="init")return"init";if(t==="boot")return"boot";if(t==="update")return"update";if(t==="shutdown")return"shutdown";if(t==="open")return"open";if(t==="close")return"close";if(t==="show")return"show";if(t==="hide")return"hide";if(t==="send")return"send";if(t==="newTask")return"newTask";if(t==="endTask")return"endTask";if(t==="attachLaunch")return"attachLaunch";if(t==="getState")return"getState";if(t==="getAgentCard")return"getAgentCard";if(t==="requestSigned")return"requestSigned";if(t==="registerPromptContextProvider")return"registerPromptContextProvider";if(t==="registerTool")return"registerTool";if(t==="on")return"on"}var gA={normalizePendingRunResumeReason:Ns,sanitizeWorkerState:un,cloneRuntimeStateForCheckpoint:fm,getPersistGovernorConfig:()=>({minPersistIntervalMs:Mf,maxCoalesceDelayMs:Yk}),getTelemetryFastLaneEvents:()=>Array.from(pk.values()),normalizePromptContextEntry:gk,buildPublicRunStartedPayload:bk,buildPublicRunLifecyclePayload:yk};function Tx(){let e=window,t=e.rover,n=((r,...o)=>{let a=hA(r),i=a?n[a]:void 0;if(typeof i=="function")return i(...o)});if(n.boot=xc,n.init=wm,n.update=Bd,n.shutdown=Ud,n.open=Sn,n.close=Jd,n.show=Tm,n.hide=Sm,n.send=_m,n.attachLaunch=Em,n.newTask=Dc,n.endTask=Qd,n.getState=Am,n.getAgentCard=zf,n.requestSigned=Im,n.registerPromptContextProvider=Rm,n.registerTool=Cm,n.on=vk,e.rover=n,typeof t=="function"&&Array.isArray(t.q))for(let r of t.q){let[o,...a]=Array.isArray(r)?r:Array.from(r);typeof o=="string"&&n(o,...a)}if(!Fo){let r=typeof globalThis.__ROVER_SCRIPT_EL__<"u"?globalThis.__ROVER_SCRIPT_EL__:null;if(r){let o=Dp(r);o&&xc(o)}}}Tx();return Nx(bA);})();
4377
+ `);let n=e.find(r=>r.type==="tool_output"||r.type==="json");if(n){if(typeof n.data=="string"&&n.data.trim())return n.data.trim();if(typeof n.data=="number"||typeof n.data=="boolean")return String(n.data)}}function AR(e){if(e==null)return;let t=typeof e=="object"&&e!==null?e:void 0,n=t?.output??t?.generatedContentRef??t?.schemaHeaderSheetInfo??e,r=ox(Qo([{type:"tool_output",data:n}]));if(RR(n,r))return Qo([{type:"tool_output",label:typeof t?.name=="string"?`${t.name} output`:"Tool output",data:n}])}function hr(e){let t=Number(e);if(!(!Number.isFinite(t)||t<=0))return t}function CR(e){if(!e||typeof e!="object")return[];let t=e,n=[hr(t.tab_id),hr(t.logical_tab_id),hr(t.tabId),hr(t.logicalTabId)].filter(r=>!!r);return sr(n)}function MR(e){if(!e||typeof e!="object")return[];let t=e,n=t.output&&typeof t.output=="object"?t.output:void 0,r=[hr(t.tab_id),hr(t.logical_tab_id),hr(t.tabId),hr(t.logicalTabId),hr(n?.tab_id),hr(n?.logical_tab_id),hr(n?.tabId),hr(n?.logicalTabId)].filter(o=>!!o);return sr(r)}function NR(e){if(!e||typeof e!="object")return!1;let t=e,n=t.output&&typeof t.output=="object"?t.output:void 0,r=String(t.status||t.taskStatus||n?.status||n?.taskStatus||"").trim().toLowerCase();return!!(r==="failure"||r==="failed"||r==="error"||t.success===!1||n?.success===!1||t.error||n?.error)}function ix(e){if(!e||typeof e!="object")return null;let t=e.role,n=e.content;return typeof t!="string"||typeof n!="string"||!n?null:{role:t,content:n}}function Xa(e,t){if(!Array.isArray(e))return[];let n=e.length<=t?e:[e[0],...e.slice(-(t-1))],r=[];for(let o of n){let i=um(o);i!==void 0&&r.push(i)}return r}function ax(e){if(!Array.isArray(e)||e.length===0)return[];let t=[...e],n=[];for(let o=0;o<t.length;o+=1){let i=t[o]?.accTreeId;typeof i=="string"&&i.trim()&&n.push(o)}if(n.length<=3)return t;let r=new Set([n[0],...n.slice(-2)]);for(let o of n)r.has(o)||t[o]&&typeof t[o]=="object"&&delete t[o].accTreeId;return t}async function LR(e,t){if(!ko)return null;try{let n=await ko.readAsync(e);if(n)return n;for(let r of t||[]){if(!r||r===e)continue;let o=await ko.readAsync(r);if(o)return o}return null}catch{return null}}function Lr(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(-vd)){let r=n?.role;r!=="user"&&r!=="assistant"&&r!=="system"||t.push({id:typeof n?.id=="string"&&n.id?n.id:So("msg"),role:r,text:String(n?.text||""),blocks:Qo(n?.blocks),ts:Number(n?.ts)||Date.now(),sourceRuntimeId:typeof n?.sourceRuntimeId=="string"?n.sourceRuntimeId:void 0})}return t.filter(n=>!!n.text||!!n.blocks?.length)}var DR=new Set(["click","type","select","clear","focus","hover","press","scroll","drag","navigate","read","wait","unknown"]);function OR(e){if(!Array.isArray(e))return;let t=new Set,n=[];for(let r of e){let o=Math.trunc(Number(r));!Number.isFinite(o)||o<=0||t.has(o)||(t.add(o),n.push(o))}return n.length?n:void 0}function PR(e){if(!e||typeof e!="object")return;let t=e,n=String(t.kind||"").trim();if(!DR.has(n))return;let r=Math.trunc(Number(t.primaryElementId)),o=OR(t.elementIds),i=typeof t.toolCallId=="string"&&t.toolCallId.trim()?un(t.toolCallId.trim(),128):void 0,a=typeof t.targetLabel=="string"&&t.targetLabel.trim()?un(t.targetLabel.trim(),64):void 0;return{kind:n,toolCallId:i,primaryElementId:Number.isFinite(r)&&r>0?r:void 0,elementIds:o,valueRedacted:typeof t.valueRedacted=="boolean"?t.valueRedacted:void 0,targetLabel:a}}function Dr(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(-kd)){let r=un(String(n?.title||""),400);if(!r)continue;let o=String(n?.kind||"status"),i=n?.status;t.push({id:typeof n?.id=="string"&&n.id?n.id:So("timeline"),kind:o,title:r,detail:n?.detail?String(n.detail):void 0,detailBlocks:Qo(n?.detailBlocks),status:i==="pending"||i==="success"||i==="error"||i==="info"?i:void 0,ts:Number(n?.ts)||Date.now(),sourceRuntimeId:typeof n?.sourceRuntimeId=="string"?n.sourceRuntimeId:void 0,elementId:Number.isFinite(Number(n?.elementId))?Math.trunc(Number(n.elementId)):void 0,toolName:typeof n?.toolName=="string"?un(n.toolName,120):void 0,actionCue:PR(n?.actionCue)})}return t}function Ur(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(-NE)){let r=n?.role==="user"?"user":n?.role==="model"?"model":void 0;if(!r)continue;let o=un(String(n?.message||"").replace(/\s+/g," ").trim(),1500);if(!o)continue;let i=t[t.length-1];i&&i.role===r&&i.message===o||t.push({role:r,message:o})}return t}function Rc(e,t){if(!e)return;let n=typeof e=="string"?e:e?.text,r=un(String(n||"").trim(),300);if(!r)return;let o=typeof e?.runId=="string"&&e.runId.trim()?e.runId.trim():typeof t?.runId=="string"&&t.runId.trim()?t.runId.trim():void 0,i=typeof e?.taskId=="string"&&e.taskId.trim()?e.taskId.trim():typeof t?.taskId=="string"&&t.taskId.trim()?t.taskId.trim():void 0,a=typeof e?.stage=="string"&&e.stage.trim()?un(e.stage.trim(),40):void 0;return{text:r,ts:Number(e?.ts)||Date.now(),runId:o,taskId:i,stage:a}}function BR(e,t){let n=Number(e.ts)||0,r=Number(t.ts)||0;if(n!==r)return n-r;let o=Array.isArray(e.blocks)?e.blocks.length:0,i=Array.isArray(t.blocks)?t.blocks.length:0;return o!==i?o-i:String(e.text||"").length-String(t.text||"").length}function UR(e,t){let n=new Map;for(let r of Lr(e))n.set(r.id,r);for(let r of Lr(t)){let o=n.get(r.id);(!o||BR(r,o)>0)&&n.set(r.id,r)}return Lr([...n.values()].sort((r,o)=>{let i=(Number(r.ts)||0)-(Number(o.ts)||0);return i!==0?i:r.id.localeCompare(o.id)}))}function zR(e,t){let n=Number(e.ts)||0,r=Number(t.ts)||0;if(n!==r)return n-r;let o=Array.isArray(e.detailBlocks)?e.detailBlocks.length:0,i=Array.isArray(t.detailBlocks)?t.detailBlocks.length:0;return o!==i?o-i:String(e.detail||"").length-String(t.detail||"").length}function HR(e,t){let n=new Map;for(let r of Dr(e))n.set(r.id,r);for(let r of Dr(t)){let o=n.get(r.id);(!o||zR(r,o)>0)&&n.set(r.id,r)}return Dr([...n.values()].sort((r,o)=>{let i=(Number(r.ts)||0)-(Number(o.ts)||0);return i!==0?i:r.id.localeCompare(o.id)}))}function pn(e){if(!e||typeof e!="object")return;let t=String(e.taskBoundaryId||"").trim(),n=Array.isArray(e.history)?e.history:[],r=Array.isArray(e.plannerHistory)?e.plannerHistory:[],o=Array.isArray(e.agentPrevSteps)?e.agentPrevSteps:Array.isArray(e.lastToolPreviousSteps)?e.lastToolPreviousSteps:[],i=n.slice(-Hf).map(y=>ix(y)).filter(y=>!!y),a=Xa(r,Ff),s=Xa(ax(o),jf),c=Nr(e?.pendingAskUser?.questions),l=e?.pendingAskUser?.stepRef,d=l&&Number.isFinite(Number(l.stepIndex))&&Number(l.stepIndex)>=0&&Number.isFinite(Number(l.functionIndex))&&Number(l.functionIndex)>=0?{stepIndex:Number(l.stepIndex),functionIndex:Number(l.functionIndex),...typeof l.accTreeId=="string"&&l.accTreeId.trim()?{accTreeId:l.accTreeId.trim()}:{}}:void 0,m=c.length?{questions:c,source:e?.pendingAskUser?.source==="planner"?"planner":"act",askedAt:Number(e?.pendingAskUser?.askedAt)||Date.now(),boundaryId:typeof e?.pendingAskUser?.boundaryId=="string"&&e.pendingAskUser.boundaryId.trim()?e.pendingAskUser.boundaryId.trim():void 0,...d?{stepRef:d}:{}}:void 0,f=ze(t||void 0),p=ze(m?.boundaryId||f);m&&f&&p&&p!==f&&(m=void 0);let b=typeof e.rootUserInput=="string"?e.rootUserInput.trim():"";return{trajectoryId:typeof e.trajectoryId=="string"?e.trajectoryId:void 0,taskBoundaryId:t||void 0,rootUserInput:b||void 0,seedChatLog:Ur(e.seedChatLog),files:dm(e.files),history:i,plannerHistory:a,agentPrevSteps:s,lastToolPreviousSteps:s,pendingAskUser:m,updatedAt:Number(e.updatedAt)||Date.now()}}function kc(e,t,n){if(!e||typeof e!="object")return Rf(t,n);let r=jn(),o=ti(e.activeTask,r),i=xt(e.pendingRun),a=o.status==="running"?i:void 0,s=a?.taskBoundaryId&&String(a.taskBoundaryId).trim()||(typeof e?.workerState?.taskBoundaryId=="string"?String(e.workerState.taskBoundaryId).trim():"")||void 0,c=es(e.taskTabScope,s),l={version:zf,sessionId:typeof e.sessionId=="string"&&e.sessionId?e.sessionId:t,runtimeId:typeof e.runtimeId=="string"&&e.runtimeId?e.runtimeId:n,uiOpen:!!e.uiOpen,uiHidden:!!e.uiHidden,uiStatus:typeof e.uiStatus=="string"?un(e.uiStatus,300):void 0,transientStatus:Rc(e.transientStatus??e.uiStatus,{runId:i?.id,taskId:o?.taskId}),uiMessages:Lr(e.uiMessages),timeline:Dr(e.timeline),executionMode:e.executionMode==="observer"||e.executionMode==="controller"?e.executionMode:"controller",workerState:pn(e.workerState),pendingRun:a,taskTabScope:c,lastNavigationHandoff:To(e.lastNavigationHandoff),taskEpoch:Math.max(1,Number(e.taskEpoch)||1),activeTask:o,lastRoutingDecision:e.lastRoutingDecision&&(e.lastRoutingDecision.mode==="act"||e.lastRoutingDecision.mode==="planner")?{mode:e.lastRoutingDecision.mode,score:Number(e.lastRoutingDecision.score)||void 0,reason:typeof e.lastRoutingDecision.reason=="string"?un(e.lastRoutingDecision.reason,200):void 0,ts:Number(e.lastRoutingDecision.ts)||Date.now()}:void 0,launchBinding:qf(e.launchBinding),updatedAt:Number(e.updatedAt)||Date.now(),tasks:e.tasks&&typeof e.tasks=="object"?e.tasks:{},activeTaskId:typeof e.activeTaskId=="string"?e.activeTaskId:void 0,taskOrder:Array.isArray(e.taskOrder)?e.taskOrder:[]};if((Number(e.version)||1)<2&&o&&o.taskId){let m=_a.fromV1State(l),{tasks:f,activeTaskId:p,taskOrder:b}=m.toPersistedState();l.tasks=f,l.activeTaskId=p,l.taskOrder=b,m.shutdown()}return l}function ti(e,t){if(!e||typeof e!="object")return t;let n=typeof e.taskId=="string"&&e.taskId.trim()?e.taskId.trim():t.taskId,r=e.status==="ended"||e.status==="completed"||e.status==="cancelled"||e.status==="failed"||e.status==="running"?e.status:"running";return{taskId:n,status:r,startedAt:Number(e.startedAt)||t.startedAt,lastUserAt:Number(e.lastUserAt)||void 0,lastAssistantAt:Number(e.lastAssistantAt)||void 0,boundaryReason:typeof e.boundaryReason=="string"?un(e.boundaryReason,120):t.boundaryReason,endedAt:Number(e.endedAt)||void 0}}function sx(e,t){return ti(e,t)}function Ac(e){if(!e)return;let t=Nr(e.pendingAskUser?.questions);return{trajectoryId:e.trajectoryId,taskBoundaryId:typeof e.taskBoundaryId=="string"?e.taskBoundaryId:void 0,rootUserInput:typeof e.rootUserInput=="string"?e.rootUserInput:void 0,seedChatLog:Ur(e.seedChatLog),history:Array.isArray(e.history)?e.history.slice(-Hf).map(n=>ix(n)).filter(n=>!!n):[],plannerHistory:Xa(e.plannerHistory,Ff),agentPrevSteps:Xa(ax(e.agentPrevSteps),jf),pendingAskUser:t.length?{questions:t,source:e.pendingAskUser?.source==="planner"?"planner":"act",askedAt:Number(e.pendingAskUser?.askedAt)||Date.now(),boundaryId:typeof e.pendingAskUser?.boundaryId=="string"&&e.pendingAskUser.boundaryId.trim()?e.pendingAskUser.boundaryId.trim():void 0,...e.pendingAskUser?.stepRef&&Number.isFinite(Number(e.pendingAskUser.stepRef.stepIndex))&&Number(e.pendingAskUser.stepRef.stepIndex)>=0&&Number.isFinite(Number(e.pendingAskUser.stepRef.functionIndex))&&Number(e.pendingAskUser.stepRef.functionIndex)>=0?{stepRef:{stepIndex:Number(e.pendingAskUser.stepRef.stepIndex),functionIndex:Number(e.pendingAskUser.stepRef.functionIndex),...typeof e.pendingAskUser.stepRef.accTreeId=="string"&&e.pendingAskUser.stepRef.accTreeId.trim()?{accTreeId:e.pendingAskUser.stepRef.accTreeId.trim()}:{}}}:{}}:void 0,updatedAt:Number(e.updatedAt)||Date.now()}}function sr(e){if(!Array.isArray(e))return[];let t=new Set,n=[];for(let r of e){let o=Number(r);!Number.isFinite(o)||o<=0||t.has(o)||(t.add(o),n.push(o))}return n}function es(e,t){if(!e||typeof e!="object")return;let n=typeof e.boundaryId=="string"&&e.boundaryId.trim()?e.boundaryId.trim():typeof t=="string"&&t.trim()?t.trim():void 0;if(!n)return;let r=Number(e.seedTabId);if(!Number.isFinite(r)||r<=0)return;let o=sr(e.touchedTabIds);return o.includes(r)||o.unshift(r),{boundaryId:n,seedTabId:r,touchedTabIds:o.slice(0,24),updatedAt:Number(e.updatedAt)||Date.now()}}function xt(e){if(!e||typeof e!="object")return;let t=typeof e.id=="string"&&e.id.trim()?e.id.trim():void 0,n=typeof e.text=="string"?e.text.trim():"",r=typeof e.lastUserInputText=="string"&&e.lastUserInputText.trim()?e.lastUserInputText.trim():typeof Tn=="string"&&Tn.trim()?Tn.trim():"Continue task",o=n||r,i=typeof e.taskBoundaryId=="string"&&e.taskBoundaryId.trim()?e.taskBoundaryId.trim():void 0;if(t)return{id:t,text:o,startedAt:Number(e.startedAt)||Date.now(),attempts:Math.max(0,Number(e.attempts)||0),autoResume:e.autoResume!==!1,taskBoundaryId:i,resumeRequired:e.resumeRequired===!0,resumeReason:Ds(e.resumeReason)}}function FR(){return Ka(R?.stability?.maxPersistBytes,qt.localPersistBytes)}function jR(e,t){let n={...e,uiMessages:Lr(e.uiMessages).slice(-vd),timeline:Dr(e.timeline).slice(-kd),workerState:pn(e.workerState)};n.workerState&&(n.workerState={...n.workerState,history:Array.isArray(n.workerState.history)?n.workerState.history.slice(-Hf):[],plannerHistory:Xa(n.workerState.plannerHistory,Ff),agentPrevSteps:Xa(n.workerState.agentPrevSteps,jf)});let r="";try{r=JSON.stringify(n)}catch{return e}if(r.length<=t)return n;let o={...n,uiMessages:[],timeline:[],workerState:void 0};try{if(JSON.stringify(o).length<=t)return o}catch{return o}return{...o,pendingRun:void 0,activeTask:jn("persist_trim")}}function Fa(e){if(!(!u||!Un))try{if(se){jd(),se.enforceMemoryCaps();let{tasks:r,activeTaskId:o,taskOrder:i}=se.toPersistedState();u.tasks=r,u.activeTaskId=o,u.taskOrder=i}let t=FR();u=jR(u,t);let n=JSON.stringify({s:u.sessionId,p:u.pendingRun?.id,pa:u.pendingRun?.autoResume,t:u.activeTask?.status,te:u.taskEpoch,m:u.uiMessages?.length,tl:u.timeline?.length,o:u.uiOpen,h:u.uiHidden,e:u.executionMode,at:u.activeTaskId});if(n===Df&&!e?.markCheckpointDirty)return;Df=n,u.updatedAt=Date.now(),ko?.write(Un,u),yo&&yo!==Un&&(ko?.remove(yo),yo=null),!$a&&e?.markCheckpointDirty!==!1&&Gt?.markDirty()}catch{}}var _i=!1,Ei=!1,Df="",Js=0,Ra=0,Of=2e3,cx=2e3;function ja(e){Fa({markCheckpointDirty:!0}),Gt?.syncNow({push:!0,pull:!1}),st("checkpoint_state",{event:"critical_flush",reason:e})}function Ye(e){e?.markCheckpointDirty!==!1&&(Ei=!0);let t=Date.now();if(!_i)Ra=t;else if(Ra>0&&t-Ra>=cx){_i=!1,Ra=0;let n=Ei;Ei=!1,Js=t,Fa({markCheckpointDirty:n});return}_i||(_i=!0,setTimeout(()=>{_i=!1,Ra=0;let n=Ei;Ei=!1;let r=Date.now();if(r-Js<Of){_i=!0,setTimeout(()=>{_i=!1,Ra=0,Js=Date.now(),Fa({markCheckpointDirty:Ei||n}),Ei=!1},Of-(r-Js));return}Js=r,Fa({markCheckpointDirty:n})},0))}function qR(){if(kf)return;kf=!0,xf||(xf=!0,Li(document,"visibilitychange",()=>{Br()},{passive:!0})),Li(window,"pagehide",()=>{if(wn&&R?.siteId)try{sessionStorage.setItem(`rover:sess:${R.siteId}`,JSON.stringify({t:wn,e:Jr}))}catch{}if(u?.pendingRun?.autoResume){let r=u.pendingRun.resumeReason||(Xr?"agent_navigation":"page_reload"),o=xt({...u.pendingRun,resumeRequired:!0,resumeReason:r});if(u.pendingRun=o,o&&R?.siteId){let i=To(u?.lastNavigationHandoff);ZI(R.siteId,{runId:o.id,text:o.text,taskBoundaryId:o.taskBoundaryId||He,resumeReason:r,handoffId:i?.handoffId,openIntent:u.uiOpen?"preserve_if_running":void 0,ts:Date.now()})}}let n=Jf();P?.broadcastClosing(Dk(n)),u?.pendingRun&&P?.releaseWorkflowLock(u.pendingRun.id),Fa(),Ci(!0),lm(),Gt?.markDirty(),Gt?.syncNow({push:!0,pull:!1}),Gt?.stop(),P?.stop()},{capture:!0}),Li(window,"pageshow",n=>{n.persisted&&(P&&(P.reloadFromStorage(),P.registerCurrentTab(window.location.href,document.title||void 0),P.claimLease(!1)),Or=!1,zn=0,R&&Fd(R),Br(!0))})}function $R(e="implicit"){if(u)return u.activeTask||(u.activeTask=jn(e),u.taskEpoch=Math.max(1,Number(u.taskEpoch)||1)),u.activeTask}function ni(e,t){if(!u)return;let n=u.activeTask?.status,r=ze(He),o=Lv({task:u.activeTask,taskEpoch:u.taskEpoch},e,{createTask:(i,a,s)=>jn(i,a,s)});if(u.activeTask=o.task,u.taskEpoch=o.taskEpoch,o.rotateBoundary&&t?.rotateBoundary!==!1?(He=Pr(),cr({forceReset:!0,persist:!1})):cr({persist:!1,appendSeed:!1}),o.clearPendingRun&&u.pendingRun&&Xt(void 0),o.clearWorkerState&&u.workerState&&(u.workerState=void 0,P?.setWorkerContext(void 0)),o.lifecycle==="terminal"&&(Ot&&(clearTimeout(Ot),Ot=null),Cc()),t?.syncShared!==!1&&P?.syncTask({...o.task},u.taskEpoch),t?.persist!==!1){let i=ze(He);n!==o.task.status?ja("run_status_transition"):!!i&&i!==r?ja("task_boundary_transition"):Ye()}if(Br(),Jk(),se){let i=se.toPersistedState();u.tasks=i.tasks,u.activeTaskId=i.activeTaskId,u.taskOrder=i.taskOrder}return o.task}function $o(){if(!se||!ce)return;jd();let e=se.listTasks(),t=se.getActiveTask()?.taskId;ce.setConversations(e.map(n=>({id:n.taskId,summary:n.rootUserInput||n.taskId.slice(0,8),status:n.state,updatedAt:n.endedAt||n.lastAssistantAt||n.lastUserAt||n.startedAt,isActive:n.taskId===t}))),t&&ce.setActiveConversationId(t)}function Ya(){if(se)return se.getActiveTask()}function WR(e=u,t){let n=String(t||e?.activeTaskId||e?.activeTask?.taskId||"").trim()||void 0,r=ze(Bi(e)),o=String(xt(e?.pendingRun)?.id||"").trim()||void 0;return{taskId:n,boundaryId:r,runId:o}}function VR(){let e=Ur(Ya()?.seedChatLog);return e.length?e:Ur(u?.workerState?.seedChatLog)}function GR(e,t){let n=t||jn("task_record_sync");return ti({taskId:e.taskId,status:Ev(e.state),startedAt:e.startedAt,lastUserAt:e.lastUserAt,lastAssistantAt:e.lastAssistantAt,boundaryReason:e.blockReason||n.boundaryReason,endedAt:e.endedAt},n)}function lx(e,t){if(!u)return;let n=ze(e.boundaryId)||ze(e.pendingRun?.taskBoundaryId)||ze(e.workerState?.taskBoundaryId)||Xn()||Pr(),r=Ur(e.seedChatLog??e.workerState?.seedChatLog),o=Mr(pn(e.workerState||r.length||e.rootUserInput?{...e.workerState||{},...e.rootUserInput?{rootUserInput:e.rootUserInput}:{},...r.length?{seedChatLog:r}:{},taskBoundaryId:e.workerState?.taskBoundaryId||n}:void 0),n),i=xt(e.pendingRun),a=Rc(e.transientStatus,{runId:i?.id,taskId:e.taskId});u.activeTaskId=e.taskId,u.activeTask=GR(e,u.activeTask),u.uiMessages=Lr(e.uiMessages),u.timeline=Dr(e.timeline),u.workerState=o,u.pendingRun=i,u.taskTabScope=es(e.tabScope,n),u.uiStatus=a?.text,u.transientStatus=a,He=n,e.rootUserInput?.trim()&&(Tn=e.rootUserInput.trim()),t?.replayUi!==!1&&(fm(),$d(u.uiMessages,u.timeline),Wd(u),Ja(),ce?.setRunning(!!u.pendingRun&&u.activeTask?.status==="running"),e.state==="paused"?ce?.showPausedTaskBanner({taskId:e.taskId,rootUserInput:e.rootUserInput||"Task"}):ce?.hidePausedTaskBanner())}function dx(e){let t=Ur(e),n=Ya();n&&se&&se.updateTask(n.taskId,r=>({...r,seedChatLog:t})),u?.workerState&&(u.workerState=pn({...u.workerState,seedChatLog:t,updatedAt:Date.now()}),P?.setWorkerContext(Ac(u.workerState)))}function jd(){if(!u||!se)return;let e=se.getActiveTask();if(!e)return;let t=Vs(u.activeTask?.status||"running",u.activeTask?.boundaryReason),n=Lr(u.uiMessages),r=Dr(u.timeline),o=[...n].reverse().find(m=>m.role==="assistant"),i=pn(u.workerState),a=xt(u.pendingRun),s=ze(a?.taskBoundaryId)||ze(i?.taskBoundaryId)||ze(e.boundaryId)||Xn()||Pr(),c=es(u.taskTabScope,s),l=Rc(u.transientStatus,{runId:a?.id,taskId:e.taskId}),d=Ur(e.seedChatLog?.length?e.seedChatLog:i?.seedChatLog);se.updateTask(e.taskId,m=>({...m,state:t,boundaryId:s,startedAt:Number(u?.activeTask?.startedAt)||m.startedAt,endedAt:Number(u?.activeTask?.endedAt)||void 0,lastUserAt:Number(u?.activeTask?.lastUserAt)||m.lastUserAt,lastAssistantAt:Number(u?.activeTask?.lastAssistantAt)||m.lastAssistantAt,uiMessages:n,timeline:r,workerState:i,pendingRun:a,tabScope:c,rootUserInput:i?.rootUserInput||a?.text||m.rootUserInput||Tn,summary:o?.text||m.summary,seedChatLog:d,transientStatus:l}))}function pm(e){if(!u||!se)return;let t=WR(u,e?.preferredTaskId),n=Pv(se.listTasks(),t);if(!n&&e?.allowCreate!==!1){let o=t.boundaryId||Pr(),i=Vs(u.activeTask?.status||"running",u.activeTask?.boundaryReason);n=se.createTask("adopted_continuation",{taskId:t.taskId,state:i,boundaryId:o,startedAt:Number(u.activeTask?.startedAt)||Date.now(),endedAt:Number(u.activeTask?.endedAt)||void 0,lastUserAt:Number(u.activeTask?.lastUserAt)||void 0,lastAssistantAt:Number(u.activeTask?.lastAssistantAt)||void 0,rootUserInput:pn(u.workerState)?.rootUserInput||xt(u.pendingRun)?.text||Tn,seedChatLog:Ur(u.workerState?.seedChatLog),tabIds:es(u.taskTabScope,o)?.touchedTabIds||[]})}if(!n)return;e?.makeActive!==!1&&se.getActiveTaskId()!==n.taskId&&se.switchActiveTask(n.taskId),u.activeTaskId=se.getActiveTaskId()||n.taskId,u.activeTask=ti({...u.activeTask||jn("adopted_continuation"),taskId:u.activeTaskId},jn("adopted_continuation",Date.now(),u.activeTaskId)),jd();let r=se.toPersistedState();return u.tasks=r.tasks,u.activeTaskId=r.activeTaskId,u.taskOrder=r.taskOrder,$o(),se.getTask(u.activeTaskId||n.taskId)}function KR(e,t=Date.now()){if(!u||e==="system")return;let n=$R("implicit");n&&n.status==="running"&&(e==="user"&&(n.lastUserAt=t),e==="assistant"&&(n.lastAssistantAt=t))}var lf="[Rover]";function XR(e){if(!(R?.ui?.tabIndicator?.titlePrefix!==!1))return;let n=e||"[Rover: Running]",r=lc;r||(cc=document.title),lc=!0,lf=n;let o=r?document.title.replace(/^\[Rover[^\]]*\]\s*/,"")||cc||"":document.title;if(document.title=`${n} ${o}`,!za){let i=document.querySelector("title");i&&(za=new MutationObserver(()=>{if(lc&&!document.title.startsWith(lf)){let a=document.title.replace(/^\[Rover[^\]]*\]\s*/,"");document.title=`${lf} ${a}`}}),za.observe(i,{childList:!0,characterData:!0,subtree:!0}))}R?.ui?.tabIndicator?.faviconBadge===!0&&jv()}function qd(){lc&&(lc=!1,za&&(za.disconnect(),za=null),cc!==void 0?(document.title=cc,cc=void 0):document.title.startsWith("[Rover] ")&&(document.title=document.title.slice(8)),qv())}function ux(e="worker_task_active",t=Date.now()){if(se){let n=se.getActiveTask();n&&se.dispatch(n.taskId,{type:"START",reason:e})}ni({type:"ensure_running",reason:e,at:t}),XR()}function YR(e="worker_task_complete",t=Date.now()){if(se){let n=se.getActiveTask();n&&se.dispatch(n.taskId,{type:"COMPLETE"})}ni({type:"terminal",terminal:"completed",reason:e,at:t}),qd()}function ud(e="worker_task_failed",t=Date.now()){if(se){let n=se.getActiveTask();n&&se.dispatch(n.taskId,{type:"FAIL",error:e})}ni({type:"terminal",terminal:"failed",reason:e,at:t}),qd()}function JR(e="worker_visit_ended",t=Date.now()){if(se){let n=se.getActiveTask();n&&se.dispatch(n.taskId,{type:"CANCEL",reason:"ended"})}ni({type:"terminal",terminal:"ended",reason:e,at:t}),qd()}function px(e="worker_task_cancelled",t=Date.now()){if(se){let n=se.getActiveTask();n&&se.dispatch(n.taskId,{type:"CANCEL",reason:e})}ni({type:"terminal",terminal:"cancelled",reason:e,at:t}),qd()}function Yn(){Vo=null,ce?.setTaskSuggestion({visible:!1})}function QR(e){let t=String(e?.id||"").trim();if(!t||to())return!1;let n=String(e?.text||"").trim()||"Continue task";return Vo?.kind==="resume_run"&&Vo.runId===t?!1:(Vo={kind:"resume_run",runId:t,text:n,createdAt:Date.now()},ce?.setTaskSuggestion({visible:!0,text:"Resume your interrupted task or cancel it?",primaryLabel:"Resume",secondaryLabel:"Cancel"}),!0)}function Cc(){Ln=!1,Hn=!1,Ui(),R?.siteId&&($s(R.siteId),Uk(R.siteId)),Gt?.markDirty(),Gt?.syncNow({push:!0,pull:!1})}function fm(){ce?.clearMessages(),ce?.clearTimeline(),ce?.setQuestionPrompt(void 0),Yn()}function mm(e){if(!u)return;Ot&&(clearTimeout(Ot),Ot=null),Or=!1,zn=0,Ln=!1,Hn=!1,Kt&&(clearTimeout(Kt),Kt=null);let t=xt(u.pendingRun),n=String(e.runId||t?.id||"").trim();n&&(ei(n),P?.releaseWorkflowLock(n),hm(n)||Jo(n,e.cancelReason||e.reason,{attemptImmediately:!0})),Xt(void 0),P?.setActiveRun(void 0),ce?.setRunning(!1),ce?.setQuestionPrompt(void 0),Yn(),u.activeTask?.status==="running"?px(e.reason):Cc(),Vt(void 0),st("status",{event:"local_run_abandoned",reason:e.reason,runId:n||void 0}),e.timelineTitle&&Et({kind:e.timelineStatus==="error"?"error":"info",title:e.timelineTitle,detail:e.timelineDetail,status:e.timelineStatus||"info"}),e.emitError?.message&&lt("error",{message:e.emitError.message,scope:e.emitError.scope||"resume",code:e.emitError.code,runId:n||void 0})}function ZR(e){if(e)return ze(e.pendingAskUser?.boundaryId||e.taskBoundaryId)}function Mr(e,t){if(!e)return;let n=ze(t);if(!n)return e;let r=ze(e.taskBoundaryId);if(r&&r!==n)return;let o=ze(e.pendingAskUser?.boundaryId);if(!(o&&o!==n))return e}function Ja(){if(u?.activeTask?.status!=="running"){Aa="",ce?.setQuestionPrompt(void 0);return}let e=Xn(),t=ZR(u?.workerState);if(e&&t&&t!==ze(e)){Aa="",ce?.setQuestionPrompt(void 0);return}let n=Nr(u?.workerState?.pendingAskUser?.questions);if(!n.length){Aa="",Ve&&(Ve.lastNeedsInputSignature=void 0),ce?.setQuestionPrompt(void 0);return}let r=`${ze(t||e)||""}:${n.map(o=>`${o.key}:${o.query}`).join("|")}`;r!==Aa&&(Aa=r,ja("question_prompt_boundary")),ce?.setQuestionPrompt({questions:n}),Ix(n)}function eA(){let e=u?.pendingRun;if(!e)return!1;if(!P)return!0;let t=P?.getState()?.activeRun;if(t?.runId&&t.runId===e.id||t?.runtimeId&&t.runtimeId!==St)return!0;let n=Date.now()-Number(e.startedAt||0);return n>=0&&n<=FE}function tA(){if(!u?.pendingRun||eA()||!P)return;let e=u.pendingRun;if(e.resumeRequired===!0&&rd(u.activeTask?.status))return;let t=String(Te?.getActiveRunId()||"").trim();if(t&&t===e.id||to())return;let n=Date.now()-Number(e.startedAt||0);!Number.isFinite(n)||n<jE||(ei(e.id),Jo(e.id,"stale_pending_cleanup",{attemptImmediately:!0}),Xt(void 0),P?.releaseWorkflowLock(e.id),P?.setActiveRun(void 0),Ot&&(clearTimeout(Ot),Ot=null))}function Sn(e,t,n=!0,r){let o=String(t||""),i=Qo(r?.blocks);if(!o&&(!i||i.length===0))return;let a={id:r?.id||So("msg"),role:e,text:o,blocks:i,ts:r?.ts||Date.now(),sourceRuntimeId:r?.sourceRuntimeId};return ce?.addMessage(a.role,a.text,{blocks:a.blocks}),u&&n&&(u.uiMessages.push(a),u.uiMessages.length>vd&&(u.uiMessages=u.uiMessages.slice(-vd)),KR(a.role,a.ts),Ye()),P&&r?.publishShared!==!1&&(P.appendMessage({id:a.id,role:a.role,text:a.text,blocks:a.blocks,ts:a.ts}),P.markTaskActivity(a.role,a.ts)),a}function nA(e){for(let t of e)Sn(t.role,t.text,!1,{id:t.id,ts:t.ts,sourceRuntimeId:t.sourceRuntimeId,publishShared:!1,blocks:t.blocks})}function Et(e,t=!0){let n={id:e.id||So("timeline"),kind:e.kind,title:un(e.title,400),detail:e.detail?String(e.detail):void 0,detailBlocks:Qo(e.detailBlocks),status:e.status,ts:e.ts||Date.now(),sourceRuntimeId:e.sourceRuntimeId,elementId:e.elementId,toolName:e.toolName,actionCue:e.actionCue};return ce?.addTimelineEvent(n),u&&t&&(u.timeline.push(n),u.timeline.length>kd&&(u.timeline=u.timeline.slice(-kd)),Ye({markCheckpointDirty:!1})),P&&e.publishShared!==!1&&P.appendTimeline({id:n.id,kind:n.kind,title:n.title,detail:n.detail,detailBlocks:n.detailBlocks,status:n.status,ts:n.ts,elementId:n.elementId,toolName:n.toolName,actionCue:n.actionCue}),n}function rA(e){ce?.clearTimeline();for(let t of e)Et({id:t.id,kind:t.kind,title:t.title,detail:t.detail,detailBlocks:t.detailBlocks,status:t.status,ts:t.ts,sourceRuntimeId:t.sourceRuntimeId,elementId:t.elementId,toolName:t.toolName,actionCue:t.actionCue,publishShared:!1},!1)}function $d(e=u?.uiMessages||[],t=u?.timeline||[]){if(ce){if(typeof ce.setTranscript=="function"){ce.setTranscript(e,t);return}ce.clearMessages(),nA(e),rA(t)}}function fx(e,t){if(!e?.text||t?.taskStatus&&t.taskStatus!=="running")return;let n=String(t?.activeRunId||"").trim(),r=String(e.runId||"").trim(),o=String(t?.activeTaskId||"").trim(),i=String(e.taskId||"").trim();if(!(r&&!n)&&!(r&&n&&r!==n)&&!(i&&o&&i!==o))return e.text}function mx(e=u){let t=P?.getState();return Bv({localPendingRunId:e?.pendingRun?.id,sharedActiveRunId:t?.activeRun?.runId,sharedTaskId:t?.task?.taskId||t?.activeTaskId,activeTaskId:e?.activeTask?.taskId||e?.activeTaskId})}function Vt(e,t){let n=Rc(e?{text:e,runId:t?.runId||u?.pendingRun?.id,taskId:t?.taskId||u?.activeTask?.taskId||Ya()?.taskId,stage:t?.stage,ts:Date.now()}:void 0,{runId:t?.runId||u?.pendingRun?.id,taskId:t?.taskId||u?.activeTask?.taskId||Ya()?.taskId}),r=fx(n,{activeRunId:mx(u),activeTaskId:u?.activeTask?.taskId,taskStatus:u?.activeTask?.status});r?ce?.setStatus(r):ce?.setStatus?.(void 0),u&&(u.uiStatus=n?.text,u.transientStatus=n,jd(),Ye({markCheckpointDirty:!1})),P&&t?.publishShared!==!1&&P.setStatus(n)}function Wd(e=u){let t=fx(e?.transientStatus,{activeRunId:mx(e),activeTaskId:e?.activeTask?.taskId,taskStatus:e?.activeTask?.status});t?ce?.setStatus(t):ce?.setStatus?.(void 0)}function Hi(e,t){let n=Ic(e);Pt=n;let r=t?.localLogicalTabId??P?.getLocalLogicalTabId(),o=t?.activeLogicalTabId??P?.getActiveLogicalTabId(),i=t?.holderRuntimeId??P?.getCurrentHolderRuntimeId(),a=n==="controller"&&!!(R?.allowActions??!0);kt?.setAllowActions(a),kt?.setActionGateContext?.({mode:n,controllerRuntimeId:i,activeLogicalTabId:o,localLogicalTabId:r,reason:Ec(n,a)}),u&&(u.executionMode=n,Ye()),Br(),ce?.setExecutionMode(n,{controllerRuntimeId:i,localLogicalTabId:r,activeLogicalTabId:o,canTakeControl:!0,canComposeInObserver:tx(),note:nx(n)}),lt("mode_change",{mode:n,rawMode:e,...t})}function Xt(e){u&&(e?u.pendingRun=xt({...e,taskBoundaryId:e.taskBoundaryId||He}):(u.pendingRun=void 0,u.uiStatus=void 0,u.transientStatus=void 0,Go(void 0),em(u)||Ui()),_c(u),Br(),Ye())}function df(e){u&&(u.lastNavigationHandoff=To(e),Ye())}function Vd(){let e=Number(P?.getLocalLogicalTabId()||P?.getActiveLogicalTabId()||1);return!Number.isFinite(e)||e<=0?1:e}function cr(e){if(!u)return;let t=ze(He)||Pr();He||(He=t);let n=Vd(),r=e?.appendSeed!==!1,o=es(u.taskTabScope,t);if(!!e?.forceReset||!o||ze(o.boundaryId)!==t){let c={boundaryId:t,seedTabId:n,touchedTabIds:[n],updatedAt:Date.now()};return u.taskTabScope=c,e?.persist!==!1&&Ye(),c}let a=sr(o.touchedTabIds);r&&!a.includes(n)&&a.unshift(n);let s={...o,seedTabId:Number.isFinite(Number(o.seedTabId))&&Number(o.seedTabId)>0?Number(o.seedTabId):n,touchedTabIds:a.slice(0,24),updatedAt:Date.now()};return u.taskTabScope=s,e?.persist&&Ye(),s}function hx(e,t){if(!u)return;let n=cr({persist:!1});if(!n)return;let r=sr([n.seedTabId,...n.touchedTabIds||[],...e]),o={...n,touchedTabIds:r.slice(0,24),updatedAt:Date.now()};return u.taskTabScope=o,t?.persist!==!1&&Ye(),o}function oA(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function Fi(e){if(!u)return;let t=cr({persist:!1,appendSeed:!1});if(!t||!P)return t;let n=Date.now(),r=Array.isArray(P.getState()?.tabs)?P.getState().tabs:[],o=new Set;for(let y of r){let k=Number(y?.logicalTabId);if(!Number.isFinite(k)||k<=0)continue;let w=Math.max(Number(y?.updatedAt)||0,Number(y?.openedAt)||0,Number(y?.detachedAt)||0),x=n-w;if(y.runtimeId){o.add(k);continue}if(y.external){x<=rI&&o.add(k);continue}if(y.detachedReason==="navigation_handoff"){x<=oI&&o.add(k);continue}if(y.detachedReason==="opened_pending_attach"){x<=iI&&o.add(k);continue}}let i=Number(P.getLocalLogicalTabId()),a=Number(P.getActiveLogicalTabId()),s=Number(t.seedTabId)>0?Number(t.seedTabId):Vd();Number.isFinite(i)&&i>0&&o.add(i),Number.isFinite(a)&&a>0&&o.add(a),o.size===0&&Number.isFinite(s)&&s>0&&o.add(s);let c=sr(t.touchedTabIds),l=c.filter(y=>o.has(y)),d=o.has(t.seedTabId)?t.seedTabId:Number.isFinite(i)&&i>0?i:Number.isFinite(a)&&a>0?a:s;l.includes(d)||l.unshift(d);let m=sr(l).slice(0,24);if(!(d!==t.seedTabId||!oA(m,c)))return t;let p=c.filter(y=>!m.includes(y)),b={...t,seedTabId:d,touchedTabIds:m.length?m:[d],updatedAt:Date.now()};return u.taskTabScope=b,e?.persist!==!1&&Ye(),st("status",{event:"scoped_tab_reconciled",removedTabIds:p,scopedTabIds:b.touchedTabIds,seedTabId:b.seedTabId}),b}function Na(){let e=Fi({persist:!1})||cr({persist:!1,appendSeed:!1});if(!e)return[Vd()];let t=sr(e.touchedTabIds);return t.length?t:[e.seedTabId]}function gx(){let e=Fi({persist:!1})||cr({persist:!1,appendSeed:!1});if(e)return{boundaryId:e.boundaryId,seedTabId:e.seedTabId,touchedTabIds:sr(e.touchedTabIds)}}function iA(e,t){let n=Pi,r=Zr,o=Va,i,a=t;if(se){let l=se.listTasks(),d=se.getActiveTask()?.taskId,m=P?.getLocalLogicalTabId(),f=l.filter(y=>y.taskId!==d&&(y.state==="completed"||y.state==="cancelled")&&!!y.endedAt).sort((y,k)=>(Number(k.endedAt)||0)-(Number(y.endedAt)||0)),b=(Number.isFinite(Number(m))&&Number(m)>0?f.filter(y=>Array.isArray(y.tabIds)&&y.tabIds.includes(Number(m))):f)[0];b&&(n=b.rootUserInput||n,r=b.summary||r,o=b.endedAt||o,i=b.uiMessages.map(y=>({role:y.role,text:y.text,ts:y.ts})),a=b.state)}let s=R?.task?.followup,c=Yv({mode:s?.mode,previousTaskStatus:a,previousTaskMessages:i,previousTaskUserInput:n,previousTaskAssistantOutput:r,previousTaskCompletedAt:o,currentPrompt:e,ttlMs:om(s?.ttlMs),minLexicalOverlap:im(s?.minLexicalOverlap)});return{chatLog:c.chatLog,reason:c.reason,overlap:c.overlap}}var Gr=new Map,Pf=AI;async function aA(e){if(Gr.has(e)){let o=Gr.get(e);if(Date.now()-o.ts<Pf)return;Gr.delete(e)}let t=Date.now();for(let[o,i]of Gr)t-i.ts>=Pf&&Gr.delete(o);let n=u?.pendingRun?.id;if(!n||!Te)return;let r=await Te.fetchExternalContext({runId:n,url:e,source:"direct_url"});r&&(Gr.set(e,{data:r,ts:Date.now()}),Ek(Gr,RI))}function sA(e){let t=Gr.get(e);if(t){if(Date.now()-t.ts>=Pf){Gr.delete(e);return}return t.data}}function cA(e){let t=String(e||"").trim();return t===_f.read||t===_f.act}function Qs(e){let t=String(e.code||"EXTERNAL_CONTEXT_FAILED").trim()||"EXTERNAL_CONTEXT_FAILED",n=String(e.message||"External context request failed").trim()||"External context request failed";return{success:!1,error:`${t}: ${n}`,allowFallback:e.retryable!==!1,output:{success:!1,error:{code:t,message:n,retryable:e.retryable===!0,status:Number.isFinite(Number(e.status))?Number(e.status):void 0},details:e.details}}}async function lA(e){let t=String(e.call?.name||"").trim(),n=e.call?.args&&typeof e.call.args=="object"?e.call.args:{},r=t===_f.act?"act":"read_context",o=Number(n.tab_id),i=Number.isFinite(o)&&o>0?Math.trunc(o):Number.isFinite(Number(e.routeTabId))&&Number(e.routeTabId)>0?Math.trunc(Number(e.routeTabId)):void 0,a=P?.listTabs({scope:"all"})||[],s=i?a.find(p=>p.logicalTabId===i):void 0,l=String(n.url||"").trim()||String(s?.url||"").trim(),d=String(n.message||n.user_input||"").trim()||void 0,m=String(n.source||"").trim().toLowerCase()==="google_search"?"google_search":"direct_url";if(!l)return Qs({code:"MISSING_URL",message:"External context tools require a target url or tab with a url.",retryable:!1});if(!Te)return Qs({code:"RUNTIME_UNAVAILABLE",message:"Rover server runtime is not initialized.",retryable:!0});let f=String(u?.pendingRun?.id||Te.getActiveRunId()||Tc||"").trim()||void 0;if(!f)return Qs({code:"NO_ACTIVE_RUN",message:"External context tools can only run during an active run.",retryable:!1});try{let p=sA(l);if(p)return p;let b=await Te.fetchExternalContext({runId:f,tabId:i,url:l,intent:r,message:d,source:m});if(!b)return Qs({code:"EMPTY_RESPONSE",message:"Server returned no external context response.",retryable:!0});let k=(b.pageData&&typeof b.pageData=="object"?b.pageData:void 0)||b;return{success:!0,output:{...k,metadata:{...k&&typeof k=="object"?k.metadata||{}:{},external:!0,accessMode:"external_scraped",logicalTabId:i,sourceTool:t},intent:r}}}catch(p){let b=String(p?.code||"").trim().toUpperCase()||"EXTERNAL_CONTEXT_FAILED",y=Number(p?.status),k=y>=500||b==="STALE_SEQ"||b==="STALE_EPOCH";return Qs({code:b,message:String(p?.message||"External context request failed"),retryable:k,status:Number.isFinite(y)?y:void 0,details:p?.details})}}function ji(e){let t=Na();return{taskBoundaryId:He,taskTabScope:gx(),scopedTabIds:t,...e||{}}}var uk="";function yr(e){if(!rt)return;let t=ji(e),n=JSON.stringify(t);n!==uk&&(uk=n,rt.postMessage({type:"update_config",config:t}))}function bx(e,t){let n=String(e||"").trim();if(!n||!rt)return;if(Pt==="observer"){if(to()){Sn("system","This tab is read-only while another tab is actively running Rover.",!0),Et({kind:"info",title:"Observer mode",detail:"Input is disabled while the active run is controlled by another tab.",status:"info"});return}if(!(P?.requestControl()??!1)){Sn("system","Unable to take control right now because another tab is still running Rover actions.",!0),Et({kind:"info",title:"Observer mode",detail:"Action execution is currently owned by another tab runtime.",status:"info"});return}let b=P?.getLocalLogicalTabId(),y=P?.getActiveLogicalTabId(),k=P?.getCurrentHolderRuntimeId()||St;Hi("controller",{localLogicalTabId:b,activeLogicalTabId:y,holderRuntimeId:k});let w=!!(R?.allowActions??!0);kt?.setAllowActions(w),kt?.setActionGateContext?.({mode:"controller",controllerRuntimeId:k,activeLogicalTabId:y,localLogicalTabId:b,reason:Ec("controller",w)})}let r=t?.runId||crypto.randomUUID(),o=!!t?.resume,i=t?.appendUserMessage!==!1,s=(t?.askUserAnswers?Md(r):void 0)||n;Cf(r),i&&Sn("user",n,!0);let c=u?.pendingRun?.id===r?u.pendingRun.attempts:0,l=u?.pendingRun?.id===r&&u.pendingRun.taskBoundaryId||He;hx([Vd()],{persist:!0});let d=Na(),m=Ur(Array.isArray(t?.seedChatLog)?t.seedChatLog:VR());Xr=!1,Xt({id:r,text:s,startedAt:Date.now(),attempts:o?c+1:0,autoResume:t?.autoResume!==!1,taskBoundaryId:l,resumeRequired:!1,resumeReason:void 0}),ux(o?"worker_task_resumed":"worker_task_active"),Tn=s,u&&(u.workerState=pn({...u.workerState||{},taskBoundaryId:l,rootUserInput:u.workerState?.rootUserInput||s,seedChatLog:m,history:u.workerState?.history||[],plannerHistory:u.workerState?.plannerHistory||[],agentPrevSteps:u.workerState?.agentPrevSteps||[],updatedAt:Date.now()}),P?.setWorkerContext(Ac(u.workerState))),dx(m),P?.acquireWorkflowLock(r),P?.setActiveRun({runId:r,text:s}),rt.postMessage({type:"run",text:n,runId:r,trajectoryId:u?.workerState?.trajectoryId,resume:o,preserveHistory:!!t?.preserveHistory,seedChatLog:m,routing:t?.routing,askUserAnswers:t?.askUserAnswers,files:dm(t?.files),scopedTabIds:d,taskTabScope:gx()}),Kt&&clearTimeout(Kt);let f=r;Kt=setTimeout(()=>{u?.pendingRun?.id===f&&(mm({reason:"run_timeout_terminal",statusText:"Task timed out.",runId:f,cancelReason:"run_timeout_terminal",timelineTitle:"Run timed out",timelineDetail:"Task timed out after 5 minutes with no response.",timelineStatus:"error",emitError:{message:"Run safety timeout",scope:"run_timeout",code:"RUN_TIMEOUT"}}),Sn("system","Task timed out after 5 minutes with no response.",!0)),Kt=null},5*6e4)}async function dA(e,t){let n=vR(e,t?.askUserAnswers);if(!n)return;tA();let r=u?.activeTask?.status,o=Nr(u?.workerState?.pendingAskUser?.questions).length,i=u?.workerState?.pendingAskUser?.boundaryId,a=Kv({startNewTask:!!t?.startNewTask,taskStatus:r,pendingAskUserQuestionCount:o,hasAskUserAnswers:!!t?.askUserAnswers,pendingAskUserBoundaryId:i,currentTaskBoundaryId:He}),s=!a,c=s?t?.continueRunId||u?.pendingRun?.id||Te?.getActiveRunId():void 0,l=a?iA(n,r):{reason:"mode_disabled",overlap:0},d=a?await NI({userText:n,isFreshTask:!0,pageUrl:window.location.href,taskId:String(u?.activeTask?.taskId||"").trim()||void 0,taskBoundaryId:ze(He),visitorId:rn,visitor:Cr}):[],m=Ur([...d,...l.chatLog||[]]),f=Array.isArray(t?.attachments)?t.attachments.filter(k=>k instanceof File):[];if(st("status",{event:"task_boundary_decision",startFreshTask:a,askUserContinuation:s,pendingAskUserQuestionCount:o,activeTaskStatus:r||"none"}),st("status",{event:"followup_chat_cue",attached:m.length>0,reason:l.reason,overlap:l.overlap}),P?.pruneTabs(a?{dropRuntimeDetached:!0,keepOnlyActiveLiveTab:!0,keepRecentExternalPlaceholders:!0}:{dropRuntimeDetached:!0}),a){let k=!!u?.pendingRun,w=t?.reason||(r==="completed"?"auto_after_task_complete":r==="running"?"auto_new_prompt_boundary":"auto_after_task_end");if(st("status",{event:"task_boundary_reset",reason:w,hadActiveRun:k}),se&&r==="running"){let x=se.getActiveTask();x&&(x.uiMessages=u?.uiMessages||[],x.timeline=u?.timeline||[],x.rootUserInput=x.rootUserInput||Tn)}if(Pc({reason:w,clearUi:!0}),se){let x=se.getActiveTask();x&&(x.rootUserInput=n,x.seedChatLog=m),$o()}k&&Te&&await new Promise(x=>setTimeout(x,50))}Yn();let p=c,b=t?.routing,y=[];if(f.length>0)try{Et({kind:"tool_start",title:f.length===1?"Uploading attachment":"Uploading attachments",detail:f.map(k=>k.name).join(", "),status:"pending"}),y=await _R(f),Et({kind:"tool_result",title:y.length===1?"Attachment ready":`${y.length} attachments ready`,detail:y.map(k=>k.displayName).join(", "),status:"success"})}catch(k){let w=String(k?.message||"attachment upload failed");Et({kind:"error",title:"Attachment upload failed",detail:w,status:"error"}),Sn("system",`Unable to attach files: ${w}`,!0),Vt(`Attachment upload failed (${w})`),lt("error",{message:w,scope:"attachment_upload"});return}if(Te&&R)try{let k=await Te.submitRunInput({message:n,files:y,clientEventId:crypto.randomUUID(),continueRun:s,forceNewRun:a,runId:s?c:void 0,requestedMode:t?.routing||R.taskRouting?.mode||"act"});if(!k)throw new Error("Server run/input returned no data; run was not accepted.");Number.isFinite(Number(k.epoch||k.currentEpoch))&&(vo=Math.max(1,Number(k.epoch||k.currentEpoch)));let w=typeof k.runId=="string"&&k.runId.trim()?k.runId.trim():"";if(!w){let x=String(k?.conflict?.type||"").trim();if(x==="active_run_exists"&&Te&&a){let h=k?.conflict?.runId||k.runId;if(h){await Te.controlRun({action:"cancel",runId:h,reason:"stale_run_cleanup"});let A=await Te.submitRunInput({message:n,files:y,clientEventId:crypto.randomUUID(),continueRun:!1,forceNewRun:!0,requestedMode:t?.routing||R.taskRouting?.mode||"act"});A?.runId&&(p=A.runId.trim(),Go(p),(A.acceptedMode==="act"||A.acceptedMode==="planner")&&(b=A.acceptedMode))}}if(!p){let h=String(k.decisionReason||x||k.message||"run_not_accepted").trim();throw new Error(`Server did not accept this run (${h}).`)}}p||(p=w),Go(p),(k.acceptedMode==="act"||k.acceptedMode==="planner")&&(b=k.acceptedMode)}catch(k){let w=String(k?.message||"server run submission failed");Go(void 0),Et({kind:"error",title:"Run start failed",detail:w,status:"error"}),Sn("system",`Unable to start task: ${w}`,!0),Vt(`Task could not start (${w})`),lt("error",{message:w,scope:"run_input"});return}bx(n,{runId:p,appendUserMessage:!0,resume:!1,preserveHistory:!1,seedChatLog:m,autoResume:!0,routing:b,askUserAnswers:t?.askUserAnswers,files:y})}function br(e,t){dA(e,t)}function Zs(e,t){mm({reason:e,statusText:t||e,cancelReason:e})}function hm(e){let t=String(e||"").trim();if(!t)return!1;let n=P?.getWorkflowLockInfo();if(!n?.locked||!n.holderRuntimeId||n.holderRuntimeId===St||n.runId!==t)return!1;let r=P?.listTabs({scope:"all"}).find(o=>o.runtimeId===n.holderRuntimeId);return r?Number(r.updatedAt)>Date.now()-5e3:!1}function ec(e=450,t){Ot||(Ot=setTimeout(()=>{Ot=null,Qr(t)},Math.max(120,e)))}function uA(e,t){Or=!0,Ln=!1,Hn=!1,Yn(),Vt("Resuming interrupted task...");let n=e.text?.trim()||u?.workerState?.rootUserInput?.trim()||Tn?.trim()||"Continue the current task on this page";st("status",{event:"resume_dispatch",source:t,runId:e.id}),bx(n,{runId:e.id,resume:!0,appendUserMessage:!1,autoResume:!0})}function Qr(e){if(!u?.pendingRun){Ot&&(clearTimeout(Ot),Ot=null),zn=0;return}let t=xt(u.pendingRun);if(!t||(Pt==="observer"&&!to()&&Hi("controller",{localLogicalTabId:P?.getLocalLogicalTabId(),activeLogicalTabId:P?.getActiveLogicalTabId(),holderRuntimeId:P?.getCurrentHolderRuntimeId()}),Pt==="observer")||Or)return;if(!vr||!rt){ec(250,e);return}let n=u.activeTask?.status;if(Qp(n)){Zs("terminal_task","Previous task already ended.");return}if(!rd(n)||!t.autoResume)return;if(nm(R?.task?.resume?.mode)!=="crash_only"){Zs("unsupported_resume_mode","Previous task dismissed.");return}if(t.resumeRequired!==!0){let l=Date.now()-Number(t.startedAt||0),d=Id(R?.task?.resume?.ttlMs);if(Number.isFinite(l)&&l>=0&&l<d)t.resumeRequired=!0,t.resumeReason=t.resumeReason||"worker_interrupted",Xt(t);else{Ot&&(clearTimeout(Ot),Ot=null),zn=0,Yn();return}}let o=tm(R?.task?.autoResumePolicy),i=hm(t.id),a=Rv({policy:o,resumeRequired:t.resumeRequired===!0,hasLiveRemoteController:i});if(a==="prompt_resume"&&(t.resumeReason==="agent_navigation"||t.resumeReason==="cross_host_navigation"||t.resumeReason==="worker_interrupted"||t.resumeReason==="page_reload")&&(a="auto_resume"),e?.overridePolicyAction&&a!=="defer_remote_owner"&&a!=="noop"&&(a=e.overridePolicyAction),a==="defer_remote_owner"){ec(650,e);return}if(a==="cancel_resume"){Zs("resume_policy_never","Previous task cancelled by resume policy."),Et({kind:"info",title:"Resume cancelled",detail:"Auto-resume policy is set to never, so the interrupted run was cancelled.",status:"info"});return}if(!Hn&&VI(t)&&(Hn=!0),!Hn&&(t.resumeReason==="worker_interrupted"||t.resumeReason==="agent_navigation"||t.resumeReason==="page_reload")&&(Hn=!0),!Hn&&GI(t)){ec(320,e);return}if(Hn||(Hn=!0),i){ec(650,e);return}if(Ot&&(clearTimeout(Ot),Ot=null),!Wa&&!e?.overridePolicyAction){if(zn+=1,st("status",{event:"resume_blocked_no_session",reason:"session_not_ready",attempt:zn,runId:t.id}),zn<zE){Vt("Preparing secure resume...");let l=Math.min(2e3,240+zn*160);ec(l,e);return}zn=0,Ln=!1,Wa=!0}zn=0;let s=Id(R?.task?.resume?.ttlMs),c=Date.now()-Number(t.startedAt||0);if(!Number.isFinite(c)||c<0||c>s){Zs("resume_ttl_expired","Previous task expired.");return}if(t.attempts>=DE){Zs("resume_attempt_limit","Previous task dismissed.");return}if(a==="prompt_resume"){QR(t)&&(Vt("Resume available. Choose Resume or Cancel."),st("status",{event:"resume_prompt_shown",runId:t.id}));return}uA(t,e?.overridePolicyAction==="auto_resume"?"manual_resume_confirm":`policy_${o}`)}function yx(e){if(!tf({localUpdatedAt:Number(e.localState.updatedAt)||0,incomingUpdatedAt:Number(e.incomingState.updatedAt)||0,localState:e.localState,incomingState:e.incomingState,crossDomainResumeActive:!!e.allowRicherIncomingOnResume&&Ln}))return!1;if(!e.allowRicherIncomingOnResume||!Ln)return!0;let n=ef({localState:e.localState,incomingState:e.incomingState});return n.exactRunMatch||n.exactBoundaryMatch?!0:!(n.localRunId||n.localBoundaryId)}function pk(e,t,n,r,o){return{pendingRun:o?.includePendingIdentity!==!1&&t?{id:t.id,resumeRequired:t.resumeRequired,taskBoundaryId:t.taskBoundaryId}:void 0,activeTask:n?{status:n}:void 0,workerState:e,taskEpoch:r}}function vx(e){return e.incomingWorkerState?e.localWorkerState?tf({localUpdatedAt:Number(e.localUpdatedAt)||Number(e.localWorkerState.updatedAt)||0,incomingUpdatedAt:Number(e.incomingUpdatedAt)||Number(e.incomingWorkerState.updatedAt)||0,localState:pk(e.localWorkerState,e.fallbackPendingRun,e.taskStatus,e.taskEpoch,{includePendingIdentity:!0}),incomingState:pk(e.incomingWorkerState,void 0,e.taskStatus,e.taskEpoch,{includePendingIdentity:!1}),crossDomainResumeActive:!!e.allowRicherIncomingOnResume&&Ln}):!0:!1}function kx(e){if(ti(e.localState.activeTask,jn("compat_local")).status!=="running")return!0;let n=Math.max(1,Number(e.localState.taskEpoch)||1),r=Math.max(1,Number(e.incomingState.taskEpoch)||1);if(r<n)return!1;if(r>n)return!0;let o=ze(Bi(e.localState)),i=ze(Bi(e.incomingState));return o&&i?o===i:!(o&&!i||!o&&i)}async function pA(e,t){if(!u)return;let n=await LR(e,t);if(!n||!u)return;let r=kc({...n,sessionId:u.sessionId,runtimeId:St},u.sessionId,St);if(!yx({localState:u,incomingState:r,allowRicherIncomingOnResume:!0})||!kx({localState:u,incomingState:r}))return;let o=Math.max(1,Number(u.taskEpoch)||1),i=Math.max(1,Number(r.taskEpoch)||1),a=Bi(r);Di({source:"indexeddb_checkpoint",incomingBoundaryId:a,taskEpochAdvanced:i>o,allowBootstrapAdoption:!0})&&(u=kc({...u,...r,sessionId:u.sessionId,runtimeId:St},u.sessionId,St),_c(u),Ga({rotateIfMissing:!He}),Fi({persist:!1}),pm({preferredTaskId:r.activeTaskId||r.activeTask?.taskId}),Ye(),ce&&($d(u.uiMessages,u.timeline),Wd(u),Ja(),u.uiHidden?ce.hide():(ce.show(),u.uiOpen?ce.open():ce.close())),vr&&rt&&yr(),vr&&rt&&u.workerState&&Pt==="controller"&&(rt.postMessage({type:"hydrate_state",state:u.workerState}),lt("context_restored",{source:"indexeddb_checkpoint",ts:Date.now()})))}var uf=!1;function gm(e,t){if(u&&!uf){uf=!0;try{if(t==="remote"){let r=Math.max(1,Number(u.taskEpoch)||1),o=Math.max(1,Number(e.taskEpoch)||1),i=o>r;u.taskEpoch=Math.max(r,o);let a=u.activeTask||jn("shared_sync");u.activeTask=sx(e.task,a),i&&(u.uiMessages=[],u.timeline=[],fm(),Xt(void 0),u.workerState=void 0,He=Pr(),u.taskTabScope=void 0,cr({forceReset:!0,persist:!1}),yr(),Yn());let s=Lr(e.uiMessages),c=new Set(s.map(h=>h.id)),l=u.uiMessages,d=u.uiMessages.filter(h=>h.role==="user"&&h.sourceRuntimeId===St&&!c.has(h.id)).length;d>0&&st("status",{event:"local_message_preserved",count:d});let m=UR(l,s),f=m.length!==l.length||m.some((h,A)=>{let E=l[A];return E?E.id!==h.id||E.ts!==h.ts||E.role!==h.role||E.text!==h.text:!0});f&&(u.uiMessages=m);let p=Dr(e.timeline),b=u.timeline,y=HR(b,p),k=y.length!==b.length||y.some((h,A)=>{let E=b[A];return E?E.id!==h.id||E.ts!==h.ts||E.kind!==h.kind||E.title!==h.title||E.detail!==h.detail:!0});k&&(u.timeline=y),(f||k)&&$d(u.uiMessages,u.timeline),Vt(typeof e.transientStatus?.text=="string"?String(e.transientStatus.text):typeof e.uiStatus=="string"?e.uiStatus:void 0,{publishShared:!1,runId:e.transientStatus?.runId||e.activeRun?.runId,taskId:e.transientStatus?.taskId||e.task?.taskId,stage:e.transientStatus?.stage});let w=u.activeTask?.status,x=e.task?.status;if(e.activeRun&&e.activeRun.runtimeId!==St&&!Jp({localTaskStatus:w,remoteTaskStatus:x,mode:Pt,hasRemoteActiveRun:!0}))if(String(e.activeRun.runtimeId||"").trim()!==""||to()||Ic(Pt)==="observer")Xt(void 0);else{let E=xt(u.pendingRun),_=ze(e.workerContext?.taskBoundaryId);Yp({taskStatus:w,localPendingRunId:E?.id,localPendingTaskBoundaryId:E?.taskBoundaryId,currentTaskBoundaryId:He,candidateRunId:e.activeRun.runId,candidateRunText:e.activeRun.text,candidateTaskBoundaryId:_,ignoredRunIds:gr})&&Xt(xt({id:e.activeRun.runId,text:e.activeRun.text,startedAt:e.activeRun.startedAt,attempts:E?.attempts||0,autoResume:!0,taskBoundaryId:E?.taskBoundaryId||_||He,resumeRequired:E?.resumeRequired===!0,resumeReason:E?.resumeReason}))}else{let h=Jp({localTaskStatus:w,remoteTaskStatus:x,mode:Pt,hasRemoteActiveRun:!!e.activeRun}),E=xt(u.pendingRun)?.resumeRequired===!0&&rd(w);h&&!E&&(u.pendingRun?.id&&ei(u.pendingRun.id),Xt(void 0),x&&x!=="running"&&Cc())}if(Pt==="observer"&&Hi("observer",{localLogicalTabId:P?.getLocalLogicalTabId(),activeLogicalTabId:P?.getActiveLogicalTabId(),holderRuntimeId:P?.getCurrentHolderRuntimeId()}),e.workerContext){let h=pn(e.workerContext),A=Number(u.workerState?.updatedAt)||0,E=Number(h?.updatedAt)||0;h&&vx({localWorkerState:u.workerState,incomingWorkerState:h,fallbackPendingRun:xt(u.pendingRun),taskStatus:u.activeTask?.status,taskEpoch:u.taskEpoch,localUpdatedAt:A,incomingUpdatedAt:E,allowRicherIncomingOnResume:!0})&&Di({source:"shared_worker_context",incomingBoundaryId:h.taskBoundaryId,taskEpochAdvanced:i,allowBootstrapAdoption:!0})&&(u.workerState=Mr(h,Xn()),Ga(),vr&&rt&&Pt==="controller"&&(yr(),rt.postMessage({type:"hydrate_state",state:u.workerState}),lt("context_restored",{source:"shared_session",ts:Date.now()})))}}if(u.uiMessages=Lr(u.uiMessages),u.timeline=Dr(u.timeline),u.workerState=Mr(pn(u.workerState),Xn()),_c(u),Ga(),Fi({persist:!1}),vr&&rt&&Pt==="controller"&&yr(),Br(),Ja(),u.activeTask=ti(u.activeTask,jn("implicit")),pm(),P&&se){let r=new Map;for(let o of se.listTasks())for(let i of o.tabIds)r.set(i,o.taskId);P.setTaskTabMapping(r)}let n=R?.ui?.tabIndicator?.widgetTabBar!==!1;if(ce&&e.tabs&&n){let r=P?.getLocalLogicalTabId(),o=P?.getActiveLogicalTabId(),i=(e.tabs||[]).filter(a=>a&&typeof a.logicalTabId=="number").map(a=>({logicalTabId:a.logicalTabId,url:String(a.url||""),title:typeof a.title=="string"?a.title:void 0,isActive:a.logicalTabId===o,isCurrent:a.logicalTabId===r,external:!!a.external,taskId:se?.getTaskForTab(a.logicalTabId)?.taskId}));i.length>1?ce.setTabs(i):ce.setTabs([])}else ce&&ce.setTabs([]);if(t==="local")return;Ye()}finally{uf=!1}}}function bm(e){let t=jn("checkpoint_clone");return{version:zf,sessionId:e.sessionId,runtimeId:e.runtimeId,uiOpen:!!e.uiOpen,uiHidden:!!e.uiHidden,uiStatus:typeof e.uiStatus=="string"?un(e.uiStatus,300):void 0,transientStatus:Rc(e.transientStatus??e.uiStatus,{runId:e.pendingRun?.id,taskId:e.activeTask?.taskId}),uiMessages:Lr(e.uiMessages),timeline:Dr(e.timeline),executionMode:e.executionMode==="observer"||e.executionMode==="controller"?e.executionMode:"controller",workerState:pn(e.workerState),pendingRun:xt(e.pendingRun),taskTabScope:es(e.taskTabScope,xt(e.pendingRun)?.taskBoundaryId||pn(e.workerState)?.taskBoundaryId),lastNavigationHandoff:To(e.lastNavigationHandoff),tasks:e.tasks?{...e.tasks}:{},activeTaskId:e.activeTaskId,taskOrder:e.taskOrder?[...e.taskOrder]:[],taskEpoch:Math.max(1,Number(e.taskEpoch)||1),activeTask:ti(e.activeTask,t),lastRoutingDecision:e.lastRoutingDecision&&(e.lastRoutingDecision.mode==="act"||e.lastRoutingDecision.mode==="planner")?{mode:e.lastRoutingDecision.mode,score:Number(e.lastRoutingDecision.score)||void 0,reason:e.lastRoutingDecision.reason,ts:Number(e.lastRoutingDecision.ts)||Date.now()}:void 0,updatedAt:Number(e.updatedAt)||Date.now()}}function fA(e){return!(e.sessionScope==="tab"||e.checkpointing?.enabled===!1||!Jn(e)||!rn)}function mA(){if(!u||!R||!rn)return null;let e=P?.getState(),t=bm(u),n=Math.max(Number(e?.updatedAt||0),Number(t.updatedAt||0)),r=n>0?n:Date.now();return{version:kk,siteId:R.siteId,visitorId:rn,sessionId:u.sessionId,updatedAt:r,sharedState:e,runtimeState:t}}function xx(e){if(!e||typeof e!="object"||!u||!R||e.siteId&&e.siteId!==R.siteId||rn&&e.visitorId&&e.visitorId!==rn)return;let t=typeof e.sessionId=="string"&&e.sessionId.trim()?e.sessionId.trim():u.sessionId;$a=!0;try{if(t&&u.sessionId!==t&&(u.sessionId=t,R={...R,sessionId:t},Nd(R),yr({sessionId:t})),e.sharedState&&P&&P.hydrateExternalState(e.sharedState)&&(gm(P.getState(),"remote"),Hi(P.getRole(),{localLogicalTabId:P.getLocalLogicalTabId(),activeLogicalTabId:P.getActiveLogicalTabId(),holderRuntimeId:P.getCurrentHolderRuntimeId()})),e.runtimeState&&typeof e.runtimeState=="object"){let n=kc({...e.runtimeState,sessionId:t,runtimeId:St},t,St);if(yx({localState:u,incomingState:n,allowRicherIncomingOnResume:!0})){if(!kx({localState:u,incomingState:n}))return;let r=Math.max(1,Number(u.taskEpoch)||1),o=Math.max(1,Number(n.taskEpoch)||1),i=Bi(n);if(!Di({source:"cloud_checkpoint",incomingBoundaryId:i,taskEpochAdvanced:o>r,allowBootstrapAdoption:!0}))return;u=kc({...u,...n,sessionId:t,runtimeId:St},t,St),_c(u),Ga(),u.workerState=Mr(u.workerState,Xn()),Fi({persist:!1}),pm({preferredTaskId:n.activeTaskId||n.activeTask?.taskId}),Ye(),Wd(u),u.uiHidden?ce?.hide():(ce?.show(),u.uiOpen?ce?.open():ce?.close()),vr&&yr(),vr&&u.workerState&&(rt?.postMessage({type:"hydrate_state",state:u.workerState}),lt("context_restored",{source:"cloud_checkpoint",ts:Date.now()})),Pt==="controller"&&Qr(),Ln=!1}}}finally{$a=!1}}function ym(e){if(Gt?.stop(),Gt=null,!fA(e)||!rn)return;let t=Jn(e);if(!t){lt("checkpoint_token_missing",{reason:"missing_or_invalid_session_token",expectedPrefix:"rvrsess_",action:"disabled_cloud_checkpoint_client"});return}try{let n=r=>{lt("checkpoint_state",r),e.checkpointing?.onStateChange?.(r)};Gt=new Zl({apiBase:e.apiBase,authToken:t,getSessionToken:()=>Jn(R),shouldSync:()=>Pt==="controller"&&!Ln&&!zi(),siteId:e.siteId,visitorId:rn,ttlHours:e.checkpointing?.ttlHours??1,flushIntervalMs:e.checkpointing?.flushIntervalMs,pullIntervalMs:e.checkpointing?.pullIntervalMs,minFlushIntervalMs:e.checkpointing?.minFlushIntervalMs,maxSnapshotBytes:Ka(e.stability?.maxSnapshotBytes,qt.snapshotBytes),shouldWrite:()=>Pt==="controller"&&!Ln&&!zi(),buildCheckpoint:()=>mA(),onCheckpoint:r=>{xx(r)},onStateChange:(r,o)=>{n({state:r,reason:o.reason,action:o.action,code:o.code,message:o.message}),r==="paused_auth"&&lt("checkpoint_error",{action:o.action,code:o.code||"INVALID_API_KEY",message:o.message||"Checkpoint sync paused due to auth failure.",disabled:!0,reason:o.reason||"auth_failed"})},onError:(r,o)=>{e.checkpointing?.onError?.(o),o.paused||lt("checkpoint_error",{action:o.action,code:o.code,message:o.message,status:o.status,disabled:!1,reason:"transient_failure"})}}),Gt.start(),Gt.markDirty(),Jk()}catch{Gt=null}}function Nd(e){if(!u)return;if(P?.stop(),P=null,e.sessionScope==="tab"){Hi("controller");return}P=new Hl({siteId:e.siteId,sessionId:u.sessionId,runtimeId:St,leaseMs:e.tabPolicy?.actionLeaseMs,onRoleChange:(r,o)=>{let i=Ic(r);Hi(i,o);let a=Ar;Ar=i==="controller",a!==Ar&&(Ar?(Br(!0),R&&eo(R)):Br(!0));let s=i==="controller"&&(R?.allowActions??!0);if(kt?.setAllowActions(s),kt?.setActionGateContext?.({mode:i,controllerRuntimeId:o?.holderRuntimeId??P?.getCurrentHolderRuntimeId(),activeLogicalTabId:o?.activeLogicalTabId??P?.getActiveLogicalTabId(),localLogicalTabId:o?.localLogicalTabId??P?.getLocalLogicalTabId(),reason:Ec(i,s)}),i==="controller"){cr({persist:!0,appendSeed:!1}),Fi({persist:!0});let c=P?.getWorkerContext();if(c){let l=pn(c),d=Number(u?.workerState?.updatedAt)||0,m=Number(l?.updatedAt)||0;l&&m>d+100&&Di({source:"controller_handoff",incomingBoundaryId:l.taskBoundaryId,allowBootstrapAdoption:!0})&&(u&&(u.workerState=Mr(l,Xn()),Ga(),Ye()),vr&&rt&&(yr(),rt.postMessage({type:"hydrate_state",state:u?.workerState}),lt("context_restored",{source:"controller_handoff",ts:Date.now()})))}Qr()}},onStateChange:(r,o)=>{gm(r,o)},onSwitchRequested:r=>{r>0&&(_n(),Et({kind:"status",title:`Switched to tab #${r}`,status:"info"}))},onTaskTabsExhausted:r=>{se&&(se.dispatch(r,{type:"PAUSE",reason:"all_tabs_closed"}),$o(),Ye(),ce?.showPausedTaskBanner({taskId:r,rootUserInput:se.getTask(r)?.rootUserInput||"Task"}))}}),P.onSessionTokenReceived=(r,o)=>{Ar||Ad(r,o)},P.onProjectionReceived=r=>{!Ar&&r&&Af(r)};let t=Jf();P.start(Dk(t)),cr({persist:!0,appendSeed:!1}),Fi({persist:!0}),xt(u?.pendingRun)?.resumeRequired===!0&&P.requestControl(),u?.lastNavigationHandoff&&t&&(u.lastNavigationHandoff=To({...u.lastNavigationHandoff,consumed:!0}),Ye()),P.setRpcRequestHandler(async r=>{if(!kt)throw new Error("Bridge not available");if(r.method==="getPageData")return kt.getPageData(r.params);if(r.method==="executeTool")return kt.executeTool(r.params.call,r.params.payload);throw new Error(`Unknown RPC method: ${r.method}`)}),u?.activeTask&&P.syncTask({...u.activeTask,taskId:u.activeTask.taskId},u.taskEpoch),u?.workerState&&P.setWorkerContext(Ac(u.workerState))}function hA(e){e&&Yr.delete(e),ce?.clearTimeline(),u&&(u.timeline=[]),P?.clearTimeline()}function gA(e){if(!(!e||typeof e!="object")&&(typeof e.executionId=="string"&&e.executionId.trim()&&!e.runId&&(e={...e,runId:e.executionId.trim()}),!yR(e))){if(e.type==="assistant"){let t=Qo(e.blocks),n=String(e.text||ox(t)||"");typeof e.runId=="string"&&e.runId&&(Yr.set(e.runId,n),Ek(Yr,EI)),Sn("assistant",n,!0,{blocks:t}),Et({kind:"tool_result",title:"Assistant update",detail:n,detailBlocks:t,status:"success"}),Kr("assistant_output",{text:n,blocks:t},{immediate:!0,runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="status"){let t=Yk(e.stage),n=e.message?String(e.message):void 0,r=e.compactThought?String(e.compactThought):void 0,o=lR(n,t,r);if(n&&Vt(n,{runId:typeof e.runId=="string"?e.runId:u?.pendingRun?.id,taskId:u?.activeTask?.taskId,stage:t}),o&&o!==sd&&(sd=o,n)){let i=!!(e.thought||r),a=r||(e.thought?String(e.thought):"");if(i&&t!=="analyze"&&t!=="route"&&t!=="complete"&&!dR(a,Tn))Et({kind:"thought",title:a,detail:e.thought?String(e.thought):r,status:"pending"});else{let c=t?`${cR(t)}: ${n}`:n;Et({kind:"status",title:c,detail:r||(e.thought?String(e.thought):void 0),status:t==="complete"?"success":"info"})}}lt("status",e),Kr("status_update",RA(e),{runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="runtime_tabs_diagnostics"){let t=e?.diagnostics&&typeof e.diagnostics=="object"?e.diagnostics:{},n=sr(t.keptScopedTabIds||[]),r=sr(t.listedTabIds||[]),o=sr(t.resolvedTabOrder||[]),i=n.filter(a=>!r.includes(a));i.length>0&&(Et({kind:"status",title:"Scoped tab placeholder retained",detail:`missing_in_listing=${i.join(",")}; resolved_order=${o.join(",")||"none"}`,status:"info"}),st("status",{event:"scoped_tab_missing_from_listing",missingScopedTabIds:i,listedTabIds:r,resolvedTabOrder:o}));return}if(e.type==="tool_start"){let t=qs(e.call,e.toolCallId),n=t?.primaryElementId??(typeof e.call?.args?.element_id=="number"?e.call.args.element_id:void 0);Et({kind:"tool_start",title:`Running ${e.call?.name||"tool"}`,detailBlocks:vv(e.call),status:"pending",elementId:n,toolName:e.call?.name,actionCue:t}),lt("tool_start",e),Kr("tool_start",AA(e),{runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="tool_result"){if(!NR(e.result)){let o=sr([...CR(e.call?.args),...MR(e.result)]);o.length&&(hx(o,{persist:!0}),yr())}let t=Qo(e.detailBlocks)||AR(e.result),n=qs(e.call,e.toolCallId),r=n?.primaryElementId??(typeof e.call?.args?.element_id=="number"?e.call.args.element_id:void 0);Et({kind:"tool_result",title:`${e.call?.name||"tool"} completed`,detailBlocks:t,status:e?.result?.success===!1?"error":"success",elementId:r,toolName:e.call?.name,actionCue:n}),lt("tool_result",e),Kr("tool_result",CA(e),{runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="auth_required"){lt("auth_required",e.error),e.error?.message&&(Sn("system",`Auth required: ${e.error.message}`,!0),Et({kind:"error",title:"Auth required",detail:String(e.error.message),status:"error"}));return}if(e.type==="navigation_guardrail"){lt("navigation_guardrail",e),Et({kind:"status",title:"Navigation guardrail",detail:zk(e),status:"info"});return}if(e.type==="error"){Sn("system",`Error: ${e.message||"unknown"}`,!0),Et({kind:"error",title:"Execution error",detail:String(e.message||"unknown"),status:"error"}),lt("error",e),Kr("error",{message:String(e.message||"unknown")},{immediate:!0,runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="state_snapshot"){if(u){let t=pn({...e.state||{},updatedAt:Date.now()});if(!t||!Di({source:"worker_snapshot",incomingBoundaryId:t.taskBoundaryId,allowBootstrapAdoption:!0}))return;u.workerState=Mr(t,Xn());let n=typeof e?.activeRun?.runId=="string"&&e.activeRun.runId?e.activeRun.runId:void 0,r=typeof e?.activeRun?.text=="string"?e.activeRun.text:void 0,o=xt(u.pendingRun),i=Yp({taskStatus:u.activeTask?.status,localPendingRunId:o?.id,localPendingTaskBoundaryId:o?.taskBoundaryId,currentTaskBoundaryId:He,candidateRunId:n,candidateRunText:r,candidateTaskBoundaryId:t.taskBoundaryId,ignoredRunIds:gr});if(i&&Xt(xt({id:n,text:r,startedAt:e.activeRun.startedAt,attempts:o?.attempts||0,autoResume:!0,taskBoundaryId:o?.taskBoundaryId||t.taskBoundaryId||He,resumeRequired:o?.resumeRequired===!0,resumeReason:o?.resumeReason})),n&&r&&i?P?.setActiveRun({runId:n,text:r}):n&&(!Bo()||gr.has(n)||o?.id!==n)&&P?.setActiveRun(void 0),!Bo()&&u.pendingRun&&Xt(void 0),u.workerState&&P?.setWorkerContext(Ac(u.workerState)),se&&t?.taskBoundaryId){let a=se.getTaskByBoundaryId(t.taskBoundaryId);a&&(a.workerState=u.workerState,n&&(a.pendingRun=u.pendingRun))}Ja(),Ye()}return}if(e.type==="execution_started"){if(sd="",Yn(),typeof e.runId=="string"&&e.runId&&Yr.delete(e.runId),!Bo()){P?.setActiveRun(void 0);return}let t=u?.pendingRun,n=typeof e?.runBoundaryId=="string"?ze(e.runBoundaryId):typeof e?.taskBoundaryId=="string"?ze(e.taskBoundaryId):void 0;typeof e.runId=="string"&&e.runId&&Cf(e.runId),Xt(xt({id:e.runId,text:e.text,startedAt:t?.startedAt||Date.now(),attempts:t?.attempts||0,autoResume:t?.autoResume!==!1,taskBoundaryId:n||t?.taskBoundaryId||He,resumeReason:t?.resumeReason,resumeRequired:t?.resumeRequired})),P?.setActiveRun({runId:e.runId,text:String(e.text||"")}),ce?.setRunning(!0),ce?.setQuestionPrompt(void 0);let r=`run:${String(e.runId||"")}:start`;if(u?.timeline.some(o=>o.id===r)||Et({id:r,kind:"plan",title:e.resume?"Run resumed":"Run started",detail:String(e.text||""),status:"pending"}),se&&n){let o=se.getTaskByBoundaryId(n);o&&(o.pendingRun=u?.pendingRun,se.dispatch(o.taskId,{type:"START"}))}Kr("state_transition",{status:"running",mode:u?.lastRoutingDecision?.mode,reason:e.resume?"run_resumed":"run_started"},{immediate:!0,runId:typeof e.runId=="string"?e.runId:void 0}),Ve&&(Ve.status="running",Ve.runId=typeof e.runId=="string"&&e.runId?e.runId:Ve.runId,Ve.promptDispatchState="started",Ni()),lt("run_started",Rk(e));return}if(e.type==="execution_completed"||e.type==="execution_state_transition"){sd="",Or=!1,zn=0;let t=ER(e),n=Ak(e,t),r=t.terminalState,o=t.continuationReason,i=t.needsUserInput?"awaiting_user":r==="completed"?"completed":r==="failed"||e?.ok===!1?"failed":"running",a=e?.ok===!1||r==="completed"||r==="failed",s=!a&&r==="in_progress"&&o!=="awaiting_user";ce?.setRunning(s),Kt&&(clearTimeout(Kt),Kt=null);let c=typeof e.runId=="string"&&e.runId?e.runId:void 0,l=typeof e?.runBoundaryId=="string"?ze(e.runBoundaryId):typeof e?.taskBoundaryId=="string"?ze(e.taskBoundaryId):void 0;if(a){let d=xt(u?.pendingRun),m=String(d?.text||Tn||"").trim(),f=String((c?Yr.get(c):"")||"").trim();Pi=m||Pi,Zr=f||Zr,Va=Date.now(),d?.id&&P?.releaseWorkflowLock(d.id),c&&P?.releaseWorkflowLock(c),Xt(void 0),Go(void 0),P?.setActiveRun(void 0),Yn(),c&&ei(c)}else if(Bo()&&c){Cf(c),Go(c);let d=u?.pendingRun,m=d?.id===c&&d?.text?d.text:Tn||d?.text||"Continue task";Xt(xt({id:c,text:m,startedAt:d?.startedAt||Date.now(),attempts:d?.attempts||0,autoResume:d?.autoResume!==!1,taskBoundaryId:l||d?.taskBoundaryId||He,resumeRequired:r==="in_progress"&&o==="same_tab_navigation_handoff",resumeReason:r==="in_progress"&&o==="same_tab_navigation_handoff"?d?.resumeReason||"agent_navigation":void 0})),P?.setActiveRun({runId:c,text:m})}if(u&&e?.route&&(e.route.mode==="act"||e.route.mode==="planner")&&(u.lastRoutingDecision={mode:e.route.mode,score:Number(e.route.score)||void 0,reason:typeof e.route.reason=="string"?un(e.route.reason,200):void 0,ts:Date.now()},Ye()),!e.ok&&e.error){if(c&&Yr.delete(c),c&&(Jo(c,"worker_run_failed",{attemptImmediately:!0}),Te?.controlRun({action:"cancel",runId:c,reason:"worker_run_failed"})),!Bo())return;ce?.setQuestionPrompt(void 0),t.contextResetRecommended?(ud("worker_run_failed_terminal"),P?.resetTabsToCurrent(window.location.href,document.title||void 0),Vt(void 0)):(ud("worker_run_failed_terminal"),Vt(void 0)),c&&Yr.delete(c),Et({kind:"error",title:"Run failed",detail:String(e.error),status:"error"})}else if(e.ok){if(!Bo())return;let d=t.runComplete,m=t.needsUserInput,f=t.questions||Nr(e.questions),p=Nr(u?.workerState?.pendingAskUser?.questions),b=f.length?f:m?p:[];if(r==="failed")c&&(Jo(c,"worker_terminal_failed",{attemptImmediately:!0}),Te?.controlRun({action:"cancel",runId:c,reason:"worker_terminal_failed"})),ce?.setQuestionPrompt(void 0),t.contextResetRecommended?(ud("worker_run_failed_terminal"),P?.resetTabsToCurrent(window.location.href,document.title||void 0),Vt(void 0)):(ud("worker_run_failed_terminal"),Vt(void 0)),Et({kind:"error",title:"Run failed",detail:typeof e.error=="string"?e.error:"Run reported failure state.",status:"error"});else if(d||r==="completed")c&&Te?.controlRun({action:"end_task",runId:c,reason:"worker_task_complete"}),ce?.setQuestionPrompt(void 0),YR("worker_task_complete"),P?.resetTabsToCurrent(window.location.href,document.title||void 0),Vt(void 0),hA(typeof e.runId=="string"?e.runId:void 0);else{let y=m?"worker_waiting_for_input":o==="same_tab_navigation_handoff"?"worker_navigation_handoff":r==="in_progress"?"worker_loop_continue":"worker_task_active";if(m){if(se){let k=se.getActiveTask();k&&se.dispatch(k.taskId,{type:"ASK_USER"})}ni({type:"awaiting_user",reason:y,at:Date.now()})}else ux(y);m&&b.length>0?ce?.setQuestionPrompt({questions:b}):m?Ja():ce?.setQuestionPrompt(void 0),m?(Vt(void 0),Et({kind:"status",title:"Waiting for your input",detail:b.length?`Please answer: ${b.map(k=>`${k.key} (${k.query})`).join("; ")}`:"Planner requested more information before marking the task complete.",status:"info"})):o==="same_tab_navigation_handoff"?(Vt("Navigating to continue task..."),Et({kind:"status",title:"Navigation handoff",detail:"Rover will resume after same-tab navigation completes.",status:"pending"})):Vt("Working...")}}if(se&&l){let d=se.getTaskByBoundaryId(l);if(d)if(a){let m=r==="completed"?{type:"COMPLETE"}:{type:"FAIL",error:typeof e.error=="string"?e.error:void 0};se.dispatch(d.taskId,m),se.releaseWorker(d.taskId)}else t.continuationReason==="awaiting_user"&&se.dispatch(d.taskId,{type:"ASK_USER"})}if(Kr("state_transition",{status:i,mode:e?.route?.mode==="act"||e?.route?.mode==="planner"?e.route.mode:u?.lastRoutingDecision?.mode,reason:typeof e?.error=="string"?e.error:o||r,terminalState:r},{immediate:a||t.needsUserInput,runId:c}),t.needsUserInput){let d=t.questions||Nr(e.questions);d.length&&Ix(d)}Ve&&(Ve.status=i,Ve.runId=c||Ve.runId,i==="failed"?Ve.promptDispatchState="failed":(i==="running"||i==="awaiting_user"||i==="completed")&&(Ve.promptDispatchState="started"),Ni()),a&&NA(c),lt("run_state_transition",n),(e.type==="execution_completed"||a)&&lt("run_completed",n),$o();return}if(e.type==="ready"){vr=!0,Vt(void 0),lt("ready"),R&&Dx(R);let t=P?.getWorkerContext(),n=Mr(pn(t),Xn()),r=n&&Di({source:"ready_hydrate",incomingBoundaryId:n.taskBoundaryId,allowBootstrapAdoption:!0})?n:void 0,o=Mr(pn(u?.workerState),Xn()),i=o&&Di({source:"ready_hydrate",incomingBoundaryId:o.taskBoundaryId,allowBootstrapAdoption:!0})?o:void 0,a=Number(i?.updatedAt)||0,s=Number(r?.updatedAt)||0,c=r&&vx({localWorkerState:i,incomingWorkerState:r,fallbackPendingRun:xt(u?.pendingRun),taskStatus:u?.activeTask?.status,taskEpoch:u?.taskEpoch,localUpdatedAt:a,incomingUpdatedAt:s,allowRicherIncomingOnResume:!0})?r:i;u&&(c&&c!==u.workerState?(u.workerState=Mr(c,Xn()),Ye()):!c&&u.workerState&&(u.workerState=void 0,Ye())),c?(rt?.postMessage({type:"hydrate_state",state:c}),lt("context_restored",{source:"runtime_start",ts:Date.now()}),setTimeout(()=>{Or||Qr()},500)):Ln&&Gt?(st("status",{event:"checkpoint_pull_first"}),Gt.syncPullFirst()):Qr();return}if(e.type==="hydrated"){Qr();return}e.type==="updated"&&lt("updated")}}function Bf(e,t){let n=Number(e);return Number.isFinite(n)?Math.max(t.min,Math.min(t.max,Math.floor(n))):t.fallback}function Gd(e){if(!e||typeof e!="object")return;let t=Bf(e.shortcutMaxStored,{min:1,max:wd,fallback:wd}),n=Bf(e.shortcutMaxRendered,{min:1,max:Sd,fallback:Sd});return{shortcutMaxStored:t,shortcutMaxRendered:n}}function wo(e){return gl(e)}function bA(e){let t=Number(e);if(Number.isFinite(t))return Math.max(QE,Math.min(ZE,Math.floor(t)))}function Qa(e){if(!e||typeof e!="object")return;let t=e,n={};typeof t.enabled=="boolean"&&(n.enabled=t.enabled);let r=String(t.language||"").trim().replace(/[^a-zA-Z0-9-]/g,"").slice(0,YE);r&&(n.language=r);let o=bA(t.autoStopMs);return o!==void 0&&(n.autoStopMs=o),Object.keys(n).length?n:void 0}function Mc(e){if(!e||typeof e!="object")return;let t=e,n={};return typeof t.enabled=="boolean"&&(n.enabled=t.enabled),typeof t.allowCloudBrowser=="boolean"&&(n.allowCloudBrowser=t.allowCloudBrowser),typeof t.allowDelegatedHandoffs=="boolean"&&(n.allowDelegatedHandoffs=t.allowDelegatedHandoffs),typeof t.debugStreaming=="boolean"&&(n.debugStreaming=t.debugStreaming),Object.keys(n).length?n:void 0}function Oi(e){if(!e||typeof e!="object")return;let t=e,n={};if(t.presence&&typeof t.presence=="object"){let r=t.presence,o={},i=String(r.assistantName||"").trim();i&&(o.assistantName=i.slice(0,160));let a=String(r.ctaText||"").trim();a&&(o.ctaText=a.slice(0,160)),(r.iconMode==="logo"||r.iconMode==="mascot"||r.iconMode==="rover")&&(o.iconMode=r.iconMode),typeof r.draggable=="boolean"&&(o.draggable=r.draggable),(r.defaultAnchor==="bottom-right"||r.defaultAnchor==="bottom-left"||r.defaultAnchor==="top-right"||r.defaultAnchor==="top-left"||r.defaultAnchor==="bottom-center")&&(o.defaultAnchor=r.defaultAnchor),typeof r.persistPosition=="boolean"&&(o.persistPosition=r.persistPosition),(r.idleAnimation==="breathe"||r.idleAnimation==="orbit"||r.idleAnimation==="none")&&(o.idleAnimation=r.idleAnimation),(r.firstRunIntro==="ambient"||r.firstRunIntro==="headline"||r.firstRunIntro==="none")&&(o.firstRunIntro=r.firstRunIntro),Object.keys(o).length&&(n.presence=o)}if(t.shell&&typeof t.shell=="object"){let r=t.shell,o={};r.openMode==="center_stage"&&(o.openMode=r.openMode),r.mobileMode==="fullscreen_sheet"&&(o.mobileMode=r.mobileMode),(r.desktopSize==="compact"||r.desktopSize==="stage"||r.desktopSize==="cinema")&&(o.desktopSize=r.desktopSize),(r.desktopHeight==="tall"||r.desktopHeight==="full")&&(o.desktopHeight=r.desktopHeight),typeof r.dimBackground=="boolean"&&(o.dimBackground=r.dimBackground),typeof r.blurBackground=="boolean"&&(o.blurBackground=r.blurBackground),Number.isFinite(Number(r.safeAreaInsetPx))&&(o.safeAreaInsetPx=Math.max(0,Math.min(48,Math.trunc(Number(r.safeAreaInsetPx))))),Object.keys(o).length&&(n.shell=o)}if(t.stream&&typeof t.stream=="object"){let r=t.stream,o={};r.layout==="single_column"&&(o.layout=r.layout),Number.isFinite(Number(r.maxVisibleLiveCards))&&(o.maxVisibleLiveCards=Math.max(1,Math.min(4,Math.trunc(Number(r.maxVisibleLiveCards))))),typeof r.collapseCompletedSteps=="boolean"&&(o.collapseCompletedSteps=r.collapseCompletedSteps),typeof r.artifactAutoMinimize=="boolean"&&(o.artifactAutoMinimize=r.artifactAutoMinimize),(r.artifactOpenMode==="inline"||r.artifactOpenMode==="overlay")&&(o.artifactOpenMode=r.artifactOpenMode),Object.keys(o).length&&(n.stream=o)}if(t.inputs&&typeof t.inputs=="object"){let r=t.inputs,o={};typeof r.text=="boolean"&&(o.text=r.text),typeof r.voice=="boolean"&&(o.voice=r.voice),typeof r.files=="boolean"&&(o.files=r.files);let i=Array.isArray(r.acceptedMimeGroups)?r.acceptedMimeGroups.filter(a=>a==="images"||a==="pdfs"||a==="office"||a==="text"):[];i.length&&(o.acceptedMimeGroups=Array.from(new Set(i))),typeof r.allowMultipleFiles=="boolean"&&(o.allowMultipleFiles=r.allowMultipleFiles),typeof r.mobileCameraCapture=="boolean"&&(o.mobileCameraCapture=r.mobileCameraCapture),Number.isFinite(Number(r.attachmentLimit))&&(o.attachmentLimit=Math.max(1,Math.min(12,Math.trunc(Number(r.attachmentLimit))))),Number.isFinite(Number(r.maxFileSizeMb))&&(o.maxFileSizeMb=Math.max(1,Math.min(32,Math.trunc(Number(r.maxFileSizeMb))))),Object.keys(o).length&&(n.inputs=o)}if(t.motion&&typeof t.motion=="object"){let r=t.motion,o={};(r.intensity==="calm"||r.intensity==="balanced"||r.intensity==="expressive")&&(o.intensity=r.intensity),(r.reducedMotionFallback==="reduce"||r.reducedMotionFallback==="remove")&&(o.reducedMotionFallback=r.reducedMotionFallback),(r.performanceBudget==="standard"||r.performanceBudget==="high")&&(o.performanceBudget=r.performanceBudget),typeof r.actionSpotlight=="boolean"&&(o.actionSpotlight=r.actionSpotlight),Object.keys(o).length&&(n.motion=o)}if(t.theme&&typeof t.theme=="object"){let r=t.theme,o={};(r.mode==="auto"||r.mode==="light"||r.mode==="dark")&&(o.mode=r.mode);let i=String(r.accentColor||"").trim();i&&(o.accentColor=i.slice(0,32)),(r.surfaceStyle==="glass"||r.surfaceStyle==="solid")&&(o.surfaceStyle=r.surfaceStyle),(r.radius==="soft"||r.radius==="rounded"||r.radius==="pill")&&(o.radius=r.radius);let a=String(r.fontFamily||"").trim();a&&(o.fontFamily=a.slice(0,120)),Object.keys(o).length&&(n.theme=o)}return Object.keys(n).length?n:void 0}function Kd(e){if(!e)return;let t=Oi(gn?.experience),n=Oi(e.ui?.experience),r={...t||{},...n||{}};(t?.presence||n?.presence)&&(r.presence={...t?.presence||{},...n?.presence||{}}),(t?.shell||n?.shell)&&(r.shell={...t?.shell||{},...n?.shell||{}}),(t?.stream||n?.stream)&&(r.stream={...t?.stream||{},...n?.stream||{}}),(t?.inputs||n?.inputs)&&(r.inputs={...t?.inputs||{},...n?.inputs||{}}),(t?.motion||n?.motion)&&(r.motion={...t?.motion||{},...n?.motion||{}}),(t?.theme||n?.theme)&&(r.theme={...t?.theme||{},...n?.theme||{}});let o=qi(gn?.greeting||e.ui?.greeting),i=Sm(e),a=vm(e),s={};return(a?.discoverySurface?.beaconLabel||o?.disabled===!0)&&(s.presence={...a?.discoverySurface?.beaconLabel?{ctaText:a.discoverySurface.beaconLabel}:{},...o?.disabled===!0?{firstRunIntro:"none"}:{}}),i?.enabled===!1&&(s.inputs={voice:!1}),Oi({...s,...r,presence:{...s.presence||{},...r.presence||{}},inputs:{...s.inputs||{},...r.inputs||{}},shell:r.shell,stream:r.stream,motion:r.motion,theme:r.theme})}function vm(e){if(!e)return;let t=va(gn?.agentDiscovery),n=e.agentDiscovery?{...e.agentDiscovery}:void 0;if(!t&&!n)return;let r={...t||{},...n||{}};return(t?.discoverySurface||n?.discoverySurface)&&(r.discoverySurface={...t?.discoverySurface||{},...n?.discoverySurface||{}}),(t?.pageContext||n?.pageContext)&&(r.pageContext={...t?.pageContext||{},...n?.pageContext||{}}),Object.keys(r).length?r:void 0}function xc(e){if(!e)return;let t=wo(gn?.pageConfig),n=wo(e.pageConfig);return wo({...t||{},...n||{}})}function km(e){if(e)return Mc(gn?.aiAccess)}function yA(e){if(!rt||!e)return;let t=xc(e),n=JSON.stringify(t||null);n!==vf&&(vf=n,rt.postMessage({type:"update_config",config:{...ji(),pageConfig:t}}))}function Nc(){ic&&(clearTimeout(ic),ic=null),ac&&(clearTimeout(ac),ac=null)}function vA(e){try{let t=localStorage.getItem(`rover:site-config:${e}`);if(t){let n=JSON.parse(t);return!n||typeof n.ts!="number"||typeof n.data!="object"||!n.data||Date.now()-n.ts>Jv?null:{shortcuts:Zo(n.data.shortcuts),businessType:Oc(n.data.businessType),experience:Oi(n.data.experience),greeting:qi(n.data.greeting),voice:Qa(n.data.voice),aiAccess:Mc(n.data.aiAccess),limits:Gd(n.data.limits),pageConfig:wo(n.data.pageConfig),agentDiscovery:va(n.data.agentDiscovery),version:typeof n.version=="string"?n.version:void 0}}}catch{}try{let t=localStorage.getItem(`rover:shortcuts:${e}`);if(!t)return null;let n=JSON.parse(t);return!n||typeof n.ts!="number"||!Array.isArray(n.data)||Date.now()-n.ts>Jv?null:{shortcuts:Zo(n.data)}}catch{return null}}function wx(e,t){try{localStorage.setItem(`rover:site-config:${e}`,JSON.stringify({ts:Date.now(),version:t.version,data:{shortcuts:Zo(t.shortcuts),businessType:Oc(t.businessType),experience:Oi(t.experience),greeting:qi(t.greeting),voice:Qa(t.voice),aiAccess:Mc(t.aiAccess),limits:Gd(t.limits),pageConfig:wo(t.pageConfig),agentDiscovery:va(t.agentDiscovery)}}))}catch{}}function qi(e){if(!e||typeof e!="object")return;let t={},n=String(e.text||"").trim();n&&(t.text=n.slice(0,XE));let r=Number(e.delay);Number.isFinite(r)&&(t.delay=Math.max(0,Math.min(6e4,Math.floor(r))));let o=Number(e.duration);return Number.isFinite(o)&&(t.duration=Math.max(1200,Math.min(6e4,Math.floor(o)))),typeof e.disabled=="boolean"&&(t.disabled=e.disabled),Object.keys(t).length?t:void 0}function fk(e,t){if(!Array.isArray(e))return;let n=[],r=new Set;for(let o of e){let i=String(o||"").trim().slice(0,t.maxChars);if(!i)continue;let a=i.toLowerCase();if(!r.has(a)&&(r.add(a),n.push(i),n.length>=t.maxItems))break}return n.length?n:void 0}function kA(e){if(!e||typeof e!="object")return null;let t=String(e.id||"").trim().slice(0,80),n=String(e.label||"").trim().slice(0,WE),r=String(e.prompt||"").trim().slice(0,GE);if(!t||!n||!r)return null;let o={id:t,label:n,prompt:r,enabled:e.enabled!==!1};e.description&&(o.description=String(e.description).trim().slice(0,VE)),e.icon&&(o.icon=String(e.icon).trim().slice(0,KE)),(e.routing==="auto"||e.routing==="act"||e.routing==="planner")&&(o.routing=e.routing);let i=Number(e.order);Number.isFinite(i)&&(o.order=Math.trunc(i));let a=fk(e.tags,{maxItems:16,maxChars:40});a&&(o.tags=a);let s=fk(e.examples,{maxItems:6,maxChars:220});return s&&(o.examples=s),e.inputSchema&&typeof e.inputSchema=="object"&&!Array.isArray(e.inputSchema)&&(o.inputSchema=e.inputSchema),e.outputSchema&&typeof e.outputSchema=="object"&&!Array.isArray(e.outputSchema)&&(o.outputSchema=e.outputSchema),(e.sideEffect==="none"||e.sideEffect==="read"||e.sideEffect==="write"||e.sideEffect==="transactional")&&(o.sideEffect=e.sideEffect),typeof e.requiresConfirmation=="boolean"&&(o.requiresConfirmation=e.requiresConfirmation),(e.preferredInterface==="task"||e.preferredInterface==="shortcut"||e.preferredInterface==="client_tool"||e.preferredInterface==="webmcp")&&(o.preferredInterface=e.preferredInterface),o}function Zo(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){if(t.length>=wd)break;let o=kA(r);!o||n.has(o.id)||(n.add(o.id),t.push(o))}return t}function xA(e){return e.map((t,n)=>({item:t,index:n})).sort((t,n)=>{let r=Number.isFinite(t.item.order),o=Number.isFinite(n.item.order);return r&&o?Number(t.item.order)-Number(n.item.order):r?-1:o?1:t.index-n.index}).map(t=>t.item)}function wA(e,t){let n=new Map;for(let r of t)n.set(r.id,r);for(let r of e){let o=n.get(r.id);n.set(r.id,o?{...o,...r}:r)}return xA(Array.from(n.values())).slice(0,wd)}function xm(e){if(!e)return[];let t=Zo(e.ui?.shortcuts||[]),n=Zo(gn?.shortcuts||[]),r=wA(t,n);if(r.length>=3)return r;let o=YA(gn?.businessType);if(!o.length)return r;let i=new Set(r.map(d=>d.id)),a=new Set(r.map(d=>d.label.trim().toLowerCase())),s=new Set(r.map(d=>d.prompt.trim().toLowerCase())),c=Math.max(0,3-r.length),l=o.filter(d=>{let m=d.label.trim().toLowerCase(),f=d.prompt.trim().toLowerCase();return i.has(d.id)||a.has(m)||s.has(f)?!1:(i.add(d.id),a.add(m),s.add(f),!0)}).slice(0,c);return[...r,...l]}function Sx(e){let t=Bf(gn?.limits?.shortcutMaxRendered,{min:1,max:Sd,fallback:Sd});return e.filter(n=>n.enabled!==!1).slice(0,t)}function uc(){Ho&&(clearTimeout(Ho),Ho=null),mc=null}function SA(e){return`${window.location.href}::${e.signature}`}function Tx(e){let t=`${window.location.pathname}${window.location.search}${window.location.hash}`,n=Ny(window.location.href);if(n!==t)try{history.replaceState(history.state,document.title,n),st("status",{event:"launch_params_consumed",requestId:e.requestId})}catch{}}function pf(e,t,n){let r=mc;r?.handleKey===e&&r.deadlineAt===n&&Ho||(Ho&&clearTimeout(Ho),mc={handleKey:e,request:t,deadlineAt:n},Ho=setTimeout(()=>{Ho=null,Lc("attach_retry")},pI))}function _x(){Ba&&(clearTimeout(Ba),Ba=null)}function TA(){_x(),Ve=null}function rc(e=0){Ve?.pendingEvents.length&&(Ba||(Ba=setTimeout(()=>{Ba=null,wm()},Math.max(0,e))))}async function wm(e=!1){let t=Ve;if(!t||!t.pendingEvents.length||t.ingestInFlight||!Te)return;if(!e&&zi()){rc(sf);return}let n=t.pendingEvents.splice(0,af);if(n.length){t.ingestInFlight=!0;try{await Te.ingestLaunchEvents({requestId:t.requestId,runId:t.runId,events:n})||(t.pendingEvents=[...n,...t.pendingEvents].slice(-af*4),rc(sf))}catch{t.pendingEvents=[...n,...t.pendingEvents].slice(-af*4),rc(sf)}finally{t.ingestInFlight=!1}t.pendingEvents.length&&rc(0)}}function Kr(e,t,n){let r=Ve;if(r){if(n?.runId&&(r.runId=n.runId),r.pendingEvents.push({type:e,ts:Date.now(),data:t}),n?.immediate){_x(),wm(!0);return}rc(0)}}function _A(e){let t=String(e||"").trim();if(t){let o=String(Yr.get(t)||"").trim();if(o)return o}let n=[...u?.uiMessages||[]].reverse().find(o=>o.role==="assistant");return String(n?.text||"").trim()||void 0}function EA(){let e=String(hc||"").trim();if(!e)return;let t=e.indexOf(":");return t<0?void 0:e.slice(t+1).trim()||void 0}function Ex(){return Ve?.detail==="full"||Ve?.detail==="debug"}function IA(){return Ve?.detail==="debug"}function RA(e){let t={stage:Yk(e?.stage),message:typeof e?.message=="string"?e.message:void 0,compactThought:typeof e?.compactThought=="string"?e.compactThought:void 0};return IA()&&(t.thought=typeof e?.thought=="string"?e.thought:void 0),t}function AA(e){let t=qs(e?.call,e?.toolCallId),n={toolName:typeof e?.call?.name=="string"?e.call.name:"tool",actionKind:t?.kind,valueRedacted:t?.valueRedacted};return Ex()&&(n.args=e?.call?.args),n}function CA(e){let t=qs(e?.call,e?.toolCallId),n={toolName:typeof e?.call?.name=="string"?e.call.name:"tool",success:e?.result?.success!==!1,actionKind:t?.kind,valueRedacted:t?.valueRedacted};return Ex()?n.result=e?.result:typeof e?.result?.message=="string"&&(n.message=e.result.message),n}function MA(e){let t=window.location.href,n=String(document.title||"").trim()||void 0,r=String(window.location.hostname||"").trim()||void 0,o=_A(e),i=EA();return{url:t,title:n,host:r,summary:o,snapshotDigest:i}}function Ix(e){let t=Ve;if(!t||!e.length)return;let n=e.map(r=>`${r.key}:${r.query}`).join("|");t.lastNeedsInputSignature!==n&&(t.lastNeedsInputSignature=n,Kr("needs_input",{questions:e},{immediate:!0}))}function NA(e){let t=Ve;if(!t)return;let n=String(e||t.runId||"").trim()||void 0;n&&t.finalObservationRunId===n||(n&&(t.finalObservationRunId=n),Kr("page_observation",MA(n),{immediate:!0,runId:n}))}function ff(e,t,n,r){uc(),Ri="",r?.openWidget!==!1&&(_n(),Sn("system",`Rover couldn't start the AI launch: ${n}`,!0)),st("status",{event:"launch_attach_failed",requestId:e.requestId,message:n}),sc=t,r?.consume!==!1&&Tx(e)}function Ld(e){let t=String(e.requestId||"").trim();if(!t)return!1;let n=_k();return n?.requestId!==t?!String(e.runId||"").trim():n.promptDispatchState==="started"?!1:n.promptDispatchState==="failed"?!0:String(n.runId||"").trim()&&String(e.runId||"").trim()?!1:!String(e.runId||"").trim()}function Rx(e){let t=e.input;if(!t||typeof t.prompt!="string"||!t.prompt.trim())throw new Error("Launch attach response did not include a prompt.");let n=e.executionTarget==="cloud_browser";n&&st("status",{event:"hosted_launch_attached",requestId:e.requestId,detail:e.detail}),Ve&&(Ve.status=e.status||Ve.status,Ve.executionTarget=e.executionTarget||Ve.executionTarget,Ve.runId=String(e.runId||Ve.runId||"").trim()||void 0,Ve.promptDispatchState="pending",Ni()),_n();try{t.kind==="shortcut"?br(t.prompt,{reason:"launch_shortcut",routing:t.routing}):br(t.prompt,{reason:"launch_prompt"}),n&&st("status",{event:"hosted_launch_prompt_dispatched",requestId:e.requestId,detail:e.detail,inputKind:t.kind}),Ve&&(Ve.promptDispatchState="started",Ve.status=e.status==="awaiting_user"?"awaiting_user":e.status||"running",Ve.runId=String(e.runId||Ve.runId||"").trim()||void 0,Ni())}catch(r){throw n&&st("status",{event:"hosted_launch_prompt_failed",requestId:e.requestId,detail:e.detail,message:String(r?.message||"launch_prompt_dispatch_failed")}),Ve&&(Ve.promptDispatchState="failed",Ve.status="failed",Ni()),r}}function Lc(e){if(!R||typeof window>"u")return;let t=My(window.location.href);if(!t){uc(),sc="",tc="",Ri="";return}let n=SA(t);if(n===sc||Ve?.handleKey===n||Ri===n)return;let r=km(R);if(r&&r.enabled===!1){uc(),tc!==n&&(st("status",{event:"launch_ignored_disabled",requestId:t.requestId,source:e}),tc=n),ff(t,n,"AI launch is not enabled for this Rover embed.",{consume:!0,openWidget:!0});return}tc="";let o=mc?.handleKey===n?mc.deadlineAt:Date.now()+uI;if(Date.now()>=o){ff(t,n,"Launch attach timed out before Rover finished booting.",{consume:!0,openWidget:!0});return}Ri=n,eo(R).then(async()=>{if(!Te){pf(n,t,o);return}let i=await Te.attachLaunch({requestId:t.requestId,attachToken:t.attachToken});if(!i){pf(n,t,o);return}uc(),Ve={requestId:t.requestId,attachToken:t.attachToken,handleKey:n,status:i.status,detail:i.detail,executionTarget:i.executionTarget,runId:i.runId,promptDispatchState:Ld(i)?"pending":"started",pendingEvents:[],attachCompletedAt:Date.now()},Ni(),Ld(i)?Rx(i):_n(),Kr("state_transition",{status:i.status==="awaiting_user"?"awaiting_user":"running",executionTarget:i.executionTarget,detail:i.detail,source:"launch_attach"},{immediate:!0,runId:i.runId}),st("status",{event:"launch_attached",requestId:t.requestId,source:e,executionTarget:i.executionTarget,detail:i.detail}),sc=n,Tx(t)}).catch(i=>{if(Date.now()<o){pf(n,t,o);return}ff(t,n,i?.message||"Unknown launch attach failure.",{consume:!0,openWidget:!0})}).finally(()=>{Ri===n&&(Ri="")})}function Ai(){zo&&(clearTimeout(zo),zo=null),Pa=null}function LA(e){return`${window.location.href}::${e.signature}`}function DA(e){return e?!!(Rd(e)||Jn(e)):!1}function Uf(e,t){if(!e.consume)return;let n=`${window.location.pathname}${window.location.search}${window.location.hash}`,r=Rp(window.location.href,e);if(r!==n)try{history.replaceState(history.state,document.title,r),st("status",{event:"deep_link_consumed",kind:t.kind,paramName:t.paramName})}catch{}}function OA(e,t,n){let r=Pa;r?.handleKey===e&&r.deadlineAt===n&&zo||(zo&&clearTimeout(zo),Pa={handleKey:e,request:t,deadlineAt:n},zo=setTimeout(()=>{zo=null,ts("shortcut_retry")},dI))}function PA(e,t,n){Ai(),_n(),Sn("system",`Rover couldn't find shortcut "${e.value}" for this embed. Check the URL or expose that shortcut in the Rover boot config/site config.`,!0),st("status",{event:"deep_link_shortcut_not_found",shortcutId:e.value,paramName:e.paramName}),Ma=t,Uf(n,e)}function Ax(){let e=String(R?.apiBase||"https://agent.rtrvr.ai").trim().replace(/\/+$/,"");return e?e.endsWith("/extensionRouter/v2/rover")?e.slice(0,-25):e.endsWith("/v2/rover")?e.slice(0,-9):e:"https://agent.rtrvr.ai"}function Za(e){let t=String(e||"").trim();if(t)try{let n=new URL(t);return String(n.searchParams.get("access")||"").trim()||void 0}catch{return}}function BA(e,t){let n=new URL(`${Ax()}/v1/a2w/runs/${encodeURIComponent(e)}`);return t&&n.searchParams.set("access",t),n.toString()}function UA(e,t){let n=new URL(`${Ax()}/v1/a2w/workflows/${encodeURIComponent(e)}`);return t&&n.searchParams.set("access",t),n.toString()}function Cx(e){let t=String(e.runId||"").trim();if(!t)return;let n=String(e.runAccessToken||Za(e.runUrl)||"").trim()||void 0,r=String(e.workflowId||"").trim()||void 0,o=String(e.workflowAccessToken||Za(e.workflowUrl)||"").trim()||void 0;Fo={runId:t,runUrl:String(e.runUrl||BA(t,n)).trim(),runAccessToken:n,workflowId:r,workflowUrl:r?String(e.workflowUrl||UA(r,o)).trim():void 0,workflowAccessToken:o,runBoundaryId:ze(He||u?.workerState?.taskBoundaryId),executionId:String(e.executionId||u?.pendingRun?.id||"").trim()||void 0,updatedAt:Date.now()},Fn(R)}function zA(){return ze(He||u?.workerState?.taskBoundaryId)||""}function HA(e){let t=String(e||"").trim().toLowerCase();return t==="browser"||t==="cloud"?t:"auto"}function yd(e){let t=String(e||"").trim().toLowerCase();return t==="completed"||t==="failed"||t==="cancelled"||t==="expired"}function Mx(e){let t=String(e||"").trim();if(t){if(!/^https?:\/\//i.test(t))return t;try{let r=new URL(t).pathname.split("/").filter(Boolean),o=r.lastIndexOf("runs");if(o>=0&&r[o+1])return decodeURIComponent(r[o+1]);let i=r.lastIndexOf("tasks");if(i>=0&&r[i+1])return decodeURIComponent(r[i+1]);let a=r.lastIndexOf("workflows");if(a>=0&&r[a+1])return decodeURIComponent(r[a+1])}catch{}}}function FA(){let e=String(Zr||u?.uiStatus||u?.transientStatus?.text||"").trim();return{url:window.location.href,title:document.title,host:window.location.hostname,...e?{summary:e}:{}}}function jA(){let e=String(document.title||"").trim();return e?`Continue the current Rover workflow on ${e}.`:`Continue the current Rover workflow on ${window.location.hostname}.`}async function qA(){let e=zA(),t=Fo;if(t&&t.runId&&t.runAccessToken&&(!e||t.runBoundaryId===e))return t.executionId=String(u?.pendingRun?.id||t.executionId||"").trim()||void 0,t.updatedAt=Date.now(),t;if(!R)throw new Error("Rover is not booted.");if(await eo(R),!Te)throw new Error("Rover server runtime is unavailable.");let n=Md(u?.pendingRun?.id)||jA(),r=await Te.createSessionRootRun({url:window.location.href,prompt:n,executionId:String(u?.pendingRun?.id||"").trim()||void 0}),o=String(r?.run||"").trim();if(!r?.id||!o)throw new Error("Failed to create the root A2W workflow run.");if(Cx({runId:String(r.runId||r.id||"").trim(),runUrl:o,runAccessToken:Za(o),workflowId:Mx(r.workflow||""),workflowUrl:r.workflow,workflowAccessToken:Za(r.workflow),executionId:String(u?.pendingRun?.id||"").trim()||void 0}),!Fo?.runAccessToken)throw new Error("Root A2W workflow run is missing an access token.");return st("status",{event:"handoff_root_run_created",runId:Fo.runId,workflowId:Fo.workflowId}),Fo}async function mk(e,t,n=fc){if(!R)return null;if(await eo(R),!Te)throw new Error("Rover server runtime is unavailable.");let r=Date.now()+Math.max(0,n),o=null;for(;;){let i=r-Date.now(),a=i>0?Math.max(1,Math.min(hI,Math.ceil(i/1e3))):0;if(o=await Te.getPublicRun(e,{accessToken:t,waitSeconds:a}),!o||yd(o.status)||o.status==="input_required"||i<=0)return o}}function hk(e,t){if(t==="cloud")return{opened:!1};let n=String(e.open||e.browserLink||"").trim();if(!n)return{opened:!1};try{return window.open(n,"_blank","noopener,noreferrer")?{opened:!0,targetUrl:n}:{opened:!1,targetUrl:n,error:"Browser blocked the delegated Rover handoff window."}}catch(r){return{opened:!1,targetUrl:n,error:r?.message||"Unable to open the delegated Rover site."}}}function gk(e,t){let n=String(e.status||"pending").trim().toLowerCase(),r=String(e.run||"").trim(),o=String(e.workflow||"").trim(),i=String(e.result?.summary||e.result?.text||e.input?.message||"").trim(),a=Nr(e.input?.questions),s=t?.browserOpen,c={success:n==="completed",status:n,run:r||void 0,workflow:o||void 0,open:e.open,browserLink:e.browserLink,result:e.result,handoff:e.handoff,summary:e.result?.summary,text:e.result?.text||i||void 0,observation:e.result?.observation,transcript:e.result?.transcript,artifacts:e.result?.artifacts,runStatus:n,...s?.targetUrl?{browserOpenUrl:s.targetUrl}:{},...s?.opened?{browserOpened:!0}:{},...s?.error?{browserOpenError:s.error}:{}};if(n==="completed")return{...c,runComplete:!0,terminalState:"completed",message:i||"Delegated A2W run completed."};if(n==="input_required")return{...c,success:!1,runComplete:!1,terminalState:"waiting_input",continuationReason:"awaiting_user",needsUserInput:!0,waitingForUserInput:!0,questions:a.length?a:e.input?.questions,input:e.input,message:String(e.input?.message||i||"Delegated A2W run needs more input.").trim()};if(n==="failed"||n==="cancelled"||n==="expired"){let d=String(e.result?.error||i||`Delegated A2W run ${n}.`).trim();return{...c,success:!1,runComplete:!1,terminalState:"failed",error:d,message:d}}return{...c,success:!1,runComplete:!1,terminalState:"in_progress",continuationReason:"loop_continue",message:n==="waiting_browser"?'Delegated A2W run is waiting for a browser attachment. Re-open the returned URL or call again with execution="cloud" for a browserless run.':"Delegated A2W run is still running. Call handoff_to_rover_site again with the returned run URL to keep following it."}}async function $A(e){let t=e&&typeof e=="object"?e:{};if(!R)throw new Error("Rover is not booted.");if(await eo(R),!Te)throw new Error("Rover server runtime is unavailable.");let n=HA(t.execution),r=String(t.answer||"").trim(),o=String(t.run||"").trim();if(o){let y=Za(o),k=r?await Te.continuePublicRun(o,r,{accessToken:y}):await Te.getPublicRun(o,{accessToken:y});if(!k)throw new Error("Delegated A2W run could not be loaded.");let w;return!yd(k.status)&&k.status!=="input_required"&&(w=hk(k,n),k=await mk(o,y,fc)||k),gk(k,w?{browserOpen:w}:void 0)}let i=String(t.url||"").trim(),a=String(t.shortcutId||"").trim(),s=String(t.instruction||"").trim(),c=String(t.prompt||"").trim();if(!i)throw new Error("handoff_to_rover_site requires url or run.");if(!a&&!s&&!c)throw new Error("handoff_to_rover_site requires instruction, prompt, or shortcutId when creating a new handoff.");let l=await qA(),d=await Te.createRunHandoff({parentRunId:l.runId,runAccessToken:String(l.runAccessToken||"").trim(),url:i,...a?{shortcutId:a}:{},...!a&&s?{instruction:s}:{},...!a&&!s&&c?{prompt:c}:{},...String(t.contextSummary||Zr||"").trim()?{contextSummary:String(t.contextSummary||Zr).trim()}:{},...String(t.expectedOutput||"").trim()?{expectedOutput:String(t.expectedOutput).trim()}:{},...String(Md(u?.pendingRun?.id)||"").trim()?{originalGoal:String(Md(u?.pendingRun?.id)||"").trim()}:{},lastObservation:FA(),execution:n});if(!d)throw new Error("Delegated Rover handoff could not be created.");let m;!yd(d.status)&&d.status!=="input_required"&&(m=hk(d,n));let f=String(d.run||"").trim(),p=Za(f),b=!yd(d.status)&&d.status!=="input_required"&&await mk(f,p,fc)||d;return st("status",{event:"handoff_run_created",parentRunId:l.runId,childRunId:String(b.runId||b.id||"").trim(),workflowId:Mx(b.workflow||"")||l.workflowId,targetHost:(()=>{try{return new URL(i).hostname}catch{return}})()}),gk(b,m?{browserOpen:m}:void 0)}var WA={name:"handoff_to_rover_site",title:"Delegate To Another Rover Site",description:"Delegate part of the current workflow to Rover on another Rover-enabled site. Use this when the next step belongs to a different Rover-enabled domain and you want structured handoff state, lineage, and recovery instead of opening the target site and improvising with raw DOM actions.",parameters:{url:{type:"string",description:"Absolute URL for the Rover-enabled site that should handle the delegated step."},instruction:{type:"string",description:"Delegation instruction for the target site. Use this for natural-language delegation."},prompt:{type:"string",description:"Prompt alias for instruction when creating a delegated A2W run."},shortcutId:{type:"string",description:"Exact shortcut ID to run on the delegated Rover site instead of a natural-language instruction."},contextSummary:{type:"string",description:"Short structured summary of what the target Rover site should know before continuing."},expectedOutput:{type:"string",description:"Describe the output the delegated site should return to the parent workflow."},execution:{type:"string",enum:["auto","browser","cloud"],description:"Use browser to try a new tab first, cloud for guaranteed browserless execution, or auto for browser-first hybrid behavior."},run:{type:"string",description:"Existing delegated A2W run URL or run ID to keep following or resume after user input."},answer:{type:"string",description:"Answer to send when resuming a delegated run that is waiting for user input."}},outputSchema:{type:"object",properties:{success:{type:"boolean",description:"Whether the delegated A2W run completed or reached a stable state."},status:{type:"string",description:"Current delegated run status."},summary:{type:"string",description:"High-level summary of what the delegated site returned."},run:{type:"string",description:"Canonical delegated A2W run URL."},workflow:{type:"string",description:"Canonical workflow URL spanning the parent and child runs."}}},annotations:{category:"delegation",priority:"secondary",sideEffect:"transactional",requiresConfirmation:!0,preferredInterface:"client_tool",whenToUse:"Use this when the user goal crosses into another Rover-enabled site or domain-specific workflow.",whyUse:"The explicit Rover handoff preserves workflow lineage, structured continuation, and final results better than navigating away and reconstructing the state through generic DOM automation.",examples:["Delegate checkout financing to a Rover-enabled lender site.","Continue identity verification on a partner site without losing workflow state."]},llmCallable:!0};function VA(){Tf||!kt||!rt||(Qf({def:WA,handler:$A}),Tf=!0)}function Dd(){jo&&(clearTimeout(jo),jo=null),bc=null}function GA(e){return`${window.location.href}::${e.signature}`}function Nx(e,t){let n=`${window.location.pathname}${window.location.search}${window.location.hash}`,r=Oy(window.location.href);if(t?.consumeDeepLink&&R){let o=new URL(r,window.location.origin).toString();r=Rp(o,$l(R.deepLink))}if(r!==n)try{history.replaceState(history.state,document.title,r),st("status",{event:"browser_receipt_consumed",receipt:e.receipt,consumeDeepLink:t?.consumeDeepLink===!0})}catch{}}function mf(e,t){let n=bc;n?.handleKey===e&&n.deadlineAt===t&&jo||(jo&&clearTimeout(jo),bc={handleKey:e,deadlineAt:t},jo=setTimeout(()=>{jo=null,Dc("receipt_retry")},fI))}function KA(e){let t=e.input;if(!t||typeof t.prompt!="string"||!t.prompt.trim())throw new Error("Browser receipt claim did not include a prompt.");if(_n(),t.kind==="shortcut"){br(t.prompt,{reason:"browser_receipt_shortcut",routing:t.routing});return}br(t.prompt,{reason:"browser_receipt_prompt"})}function bk(e,t,n,r){Dd(),r?.openWidget&&(_n(),Sn("system",`Rover couldn't claim the browser receipt: ${n}`,!0)),st("status",{event:"browser_receipt_claim_failed",message:n}),dc=t,Nx(e,{consumeDeepLink:!1}),r?.fallbackToDeepLink&&ts("receipt_fallback")}function Dc(e){if(!R||typeof window>"u")return!1;let t=Dp(window.location.href);if(!t)return Dd(),dc="",Ca="",!1;let n=GA(t);if(n===dc||Ca===n)return!0;let r=bc?.handleKey===n?bc.deadlineAt:Date.now()+mI;return Date.now()>=r?(bk(t,n,"Browser receipt claim timed out before Rover finished booting.",{fallbackToDeepLink:!0,openWidget:!0}),!0):(Ca=n,eo(R).then(async()=>{if(!Te){mf(n,r);return}let o=await Te.claimBrowserRunReceipt({receipt:t.receipt});if(!o){mf(n,r);return}Dd(),Cx({runId:o.runId,runAccessToken:o.runAccessToken,workflowId:o.workflowId,workflowAccessToken:o.workflowAccessToken,executionId:o.executionId}),KA(o),st("status",{event:"browser_receipt_claimed",source:e,runId:o.runId,executionId:o.executionId}),dc=n,Nx(t,{consumeDeepLink:!0})}).catch(o=>{if(Date.now()<r){mf(n,r);return}bk(t,n,o?.message||"Unknown browser receipt failure.",{fallbackToDeepLink:!0,openWidget:!0})}).finally(()=>{Ca===n&&(Ca="")}),!0)}function ts(e){if(!R||typeof window>"u")return;let t=Ey(R.deepLink,gn?.aiAccess);if(e!=="receipt_fallback"&&Dp(window.location.href))return;let n=Iy(window.location.href,t);if(!n){Ai(),Ma="",Ii="";return}let r=LA(n);if(!t.enabled){Ai(),Ii!==r&&(st("status",{event:"deep_link_ignored_disabled",kind:n.kind,paramName:n.paramName,source:e}),Ii=r);return}if(Ii="",r===Ma)return;if(!t.enabled){Ai(),Ii!==r&&(st("status",{event:"deep_link_ignored_disabled",kind:n.kind,paramName:n.paramName,source:e}),Ii=r);return}if(Pa?.handleKey===r||st("status",{event:"deep_link_detected",kind:n.kind,paramName:n.paramName,source:e}),n.kind==="prompt"){Ai(),_n(),br(n.value,{reason:"deep_link_prompt"}),st("status",{event:"deep_link_dispatched",kind:n.kind,paramName:n.paramName}),Ma=r,Uf(t,n);return}let i=xm(R).find(s=>s.enabled!==!1&&s.id===n.value);if(i){Ai(),_n(),br(i.prompt,{reason:"deep_link_shortcut",routing:i.routing}),st("status",{event:"deep_link_dispatched",kind:n.kind,paramName:n.paramName,shortcutId:i.id,routing:i.routing}),Ma=r,Uf(t,n);return}let a=Pa?.handleKey===r?Pa.deadlineAt:Date.now()+lI;if(Date.now()<a&&DA(R)){OA(r,n,a);return}PA(n,r,t)}function Xd(e){if(!e)return;let t=qi(gn?.greeting),n=qi(e.ui?.greeting);if(!(!t&&!n))return{...t||{},...n||{}}}function Sm(e){if(!e)return;let t=Qa(gn?.voice),n=Qa(e.ui?.voice);if(!t&&!n)return;let r={...t||{},...n||{}};return r.enabled===!0&&r.autoStopMs===void 0&&(r.autoStopMs=JE),r}function Tm(e){let t=Cr?.name,n=e?.text;return n?n.replace(/\{name\}/g,t||"").trim()||(t?`Hey ${t}! Need any help?`:"Hey! Need any help?"):t?`Hey ${t}! Need any help?`:"Hey! Need any help?"}function wc(){if(Ko||!ce||!R||u?.uiOpen)return;let e=Xd(R);if(e?.disabled===!0)return;let t=`rover:greeting-shown:${R.siteId}`;try{if(sessionStorage.getItem(t)){Mi=!0;return}}catch{}if(Mi)return;Nc();let n=e?.delay??3e3,r=e?.duration??8e3,o=Tm(e);ic=setTimeout(()=>{if(ic=null,!(Ko||u?.uiOpen)){ce?.showGreeting(o),Mi=!0;try{sessionStorage.setItem(t,"1")}catch{}ac=setTimeout(()=>{ac=null,ce?.dismissGreeting()},r)}},n)}function Oc(e){return["ecommerce","travel","saas","finance","healthcare","real_estate","restaurant","education","support","legal","automotive","general"].includes(e)?e:void 0}var Lx={ecommerce:["Find the best deal here...","Add this to my cart...","What sizes are available?","Track my order..."],travel:["Book this for me...","Find flights to Paris...","What's the check-in time?","Compare hotel prices..."],saas:["How do I export my data?","Set up an integration...","Help me configure this...","Show me usage analytics..."],finance:["Check my account balance...","Help me apply for a loan...","What are the transfer fees?","Explain this charge..."],healthcare:["Book an appointment...","Refill my prescription...","Find a specialist near me...","What are your office hours?"],real_estate:["Schedule a viewing...","What's the price per sqft?","Find homes near good schools...","Tell me about this property..."],restaurant:["Make a reservation...","What's on the menu today?","Do you have vegan options?","Order delivery to my address..."],education:["Enroll me in this course...","What are the prerequisites?","Show my learning progress...","Find a tutor for calculus..."],support:["I need help with...","Reset my password...","Track my support ticket...","Report a problem..."],legal:["Schedule a consultation...","Explain this clause...","What documents do I need?","Find a lawyer specializing in..."],automotive:["Schedule a test drive...","What's the trade-in value?","Book a service appointment...","Check parts availability..."],general:["Fill this form for me...","Find the best option here...","Help me get started...","What can you do for me?"]},XA=Lx.general,yk={ecommerce:[{id:"biz_ecommerce_compare",label:"Compare pricing",description:"Check plans, bundles, or pricing tiers on this site.",prompt:"Compare the main pricing or product options on this site and summarize the best fit."},{id:"biz_ecommerce_checkout",label:"Complete checkout",description:"Add items, apply a code, and walk through checkout.",prompt:"Help me buy the right item on this site and walk me through checkout."},{id:"biz_ecommerce_support",label:"Track an order",description:"Find order status, shipping, or return information.",prompt:"Find the order tracking or returns flow on this site and help me complete it."}],travel:[{id:"biz_travel_book",label:"Book travel",description:"Search dates, compare options, and complete a booking flow.",prompt:"Help me compare the main travel options on this site and complete the best booking."},{id:"biz_travel_policy",label:"Check policies",description:"Find cancellation, baggage, or check-in rules.",prompt:"Find the important travel policies on this site and summarize them clearly."},{id:"biz_travel_support",label:"Manage reservation",description:"Open the reservation flow and help with changes.",prompt:"Help me find and manage an existing reservation on this site."}],saas:[{id:"biz_saas_pricing",label:"Compare plans",description:"Review pricing, tiers, and feature differences.",prompt:"Compare the pricing plans on this site and recommend the right one for my use case."},{id:"biz_saas_docs",label:"Find setup docs",description:"Locate docs, integrations, and onboarding steps.",prompt:"Find the best setup or integration docs on this site and summarize the next steps."},{id:"biz_saas_contact",label:"Talk to sales",description:"Open demo or contact flows and prepare the form.",prompt:"Find the sales or demo request flow on this site and help me complete it."}],finance:[{id:"biz_finance_rates",label:"Check rates",description:"Compare rates, fees, or account options.",prompt:"Compare the main rates or fees on this site and explain the important differences."},{id:"biz_finance_apply",label:"Start application",description:"Open the relevant application flow and prepare inputs.",prompt:"Help me find the right application flow on this site and get it started."},{id:"biz_finance_support",label:"Resolve account issue",description:"Find support, dispute, or account-help flows.",prompt:"Find the best support or dispute path on this site and help me use it."}],healthcare:[{id:"biz_healthcare_book",label:"Book appointment",description:"Find providers, locations, and scheduling steps.",prompt:"Help me find the right appointment flow on this site and complete the booking steps."},{id:"biz_healthcare_forms",label:"Prepare forms",description:"Locate intake, insurance, or patient forms.",prompt:"Find the forms or patient-prep information I need on this site."},{id:"biz_healthcare_support",label:"Patient portal help",description:"Navigate patient support or portal entry points.",prompt:"Help me find the patient portal or support path on this site."}],real_estate:[{id:"biz_real_estate_search",label:"Explore listings",description:"Search listings, filters, and property details.",prompt:"Help me compare the best matching listings on this site."},{id:"biz_real_estate_tour",label:"Request a tour",description:"Open contact, showing, or inquiry flows.",prompt:"Find the right showing or inquiry flow on this site and help me use it."},{id:"biz_real_estate_market",label:"Research property",description:"Summarize pricing, location, and property facts.",prompt:"Summarize the most important facts and pricing details for this property."}],restaurant:[{id:"biz_restaurant_reserve",label:"Reserve a table",description:"Find reservation or booking steps.",prompt:"Help me make a reservation on this site."},{id:"biz_restaurant_menu",label:"Review the menu",description:"Summarize menu sections, dietary filters, and specials.",prompt:"Summarize the menu on this site and highlight the best options."},{id:"biz_restaurant_order",label:"Start an order",description:"Navigate pickup or delivery ordering flow.",prompt:"Help me place an order on this site."}],education:[{id:"biz_education_course",label:"Compare courses",description:"Review programs, syllabus, and enrollment details.",prompt:"Compare the main courses or programs on this site and summarize the differences."},{id:"biz_education_apply",label:"Start enrollment",description:"Open signup or application flows.",prompt:"Help me find the right enrollment or application flow on this site."},{id:"biz_education_support",label:"Find support",description:"Locate advising, tuition, or admissions help.",prompt:"Find the most useful support or admissions contact path on this site."}],support:[{id:"biz_support_ticket",label:"Open support path",description:"Find the fastest route to help or ticket submission.",prompt:"Help me find the best support path on this site and use it."},{id:"biz_support_docs",label:"Search help docs",description:"Look through troubleshooting or FAQ content.",prompt:"Search the help content on this site and summarize the answer."},{id:"biz_support_status",label:"Check status",description:"Find system status or issue updates.",prompt:"Find the current status or outage information on this site."}],legal:[{id:"biz_legal_consult",label:"Request consultation",description:"Open consultation or contact intake flow.",prompt:"Help me request a consultation on this site."},{id:"biz_legal_pricing",label:"Review services",description:"Compare services, practice areas, or pricing.",prompt:"Compare the main services on this legal site and summarize what matters."},{id:"biz_legal_docs",label:"Find requirements",description:"Locate intake requirements or needed documents.",prompt:"Find the documents or information this site says I need before getting started."}],automotive:[{id:"biz_auto_inventory",label:"Compare inventory",description:"Review vehicles, trims, and availability.",prompt:"Compare the best matching vehicles on this site."},{id:"biz_auto_service",label:"Book service",description:"Find service scheduling and maintenance flows.",prompt:"Help me schedule service on this site."},{id:"biz_auto_financing",label:"Check financing",description:"Compare financing, lease, or trade-in paths.",prompt:"Find the financing or trade-in flow on this site and summarize the options."}],general:[{id:"biz_general_start",label:"Get started",description:"Open the main conversion or onboarding path on this site.",prompt:"Help me complete the main get-started flow on this site."},{id:"biz_general_compare",label:"Compare options",description:"Summarize the main plans, products, or actions here.",prompt:"Compare the main options on this site and tell me which one fits best."},{id:"biz_general_contact",label:"Find the right contact",description:"Locate the best contact, demo, or support path.",prompt:"Find the best contact or support path on this site."}]};function YA(e){let t=Oc(e)||"general";return(yk[t]||yk.general).map((n,r)=>({...n,id:`suggested_${t}_${n.id}`,enabled:!0,order:1e4+r,preferredInterface:"task"}))}function JA(){let e=gn?.businessType;return(e&&Lx[e])??XA}function Od(e){let t=xm(e);ce?.setShortcuts(Sx(t)),ce?.setExperience?.(Kd(e)),ce?.setVoiceConfig(Sm(e)),ce?.setPlaceholders?.(JA()),yA(e),Fn(e),Dc("site_config"),Lc("site_config"),ts("site_config")}async function QA(e){let t=null,n=Rd(e)||Jn(e);if(!n)return null;let r={siteId:e.siteId,sessionId:u?.sessionId||e.sessionId,requestedSessionId:u?.sessionId||e.sessionId,host:window.location.hostname,url:window.location.href,pageUrl:window.location.href};n.startsWith("rvrsess_")?r.sessionToken=n:r.bootstrapToken=n;let o=ki(e.apiBase);for(let i of o)try{let a=await fetch(`${i}/session/open`,{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(r)}),s=await a.json().catch(()=>{});if(!a.ok||!s?.success)continue;if(t=s?.data?.siteConfig||null,t)break}catch{}return t?{shortcuts:Zo(t.shortcuts),businessType:Oc(t.businessType),experience:Oi(t.experience),greeting:qi(t.greeting),voice:Qa(t.voice),aiAccess:Mc(t.aiAccess),limits:Gd(t.limits),pageConfig:wo(t.pageConfig),agentDiscovery:va(t.agentDiscovery),version:t.version!=null?String(t.version):void 0}:null}function Dx(e){let t=vA(e.siteId);t&&(gn=t),Od(e),wc(),QA(e).then(n=>{if(n&&(gn=n,wx(e.siteId,n),Od(e),!Ko)){let r=Xd(e);Mi&&!u?.uiOpen?ce?.showGreeting(Tm(r)):wc()}}).catch(()=>{})}function _m(e){if(!R)return;let t={...Cr,...e};t.name&&(t.name=String(t.name).trim().slice(0,120)),t.email&&(t.email=String(t.email).trim().slice(0,240)),Cr=t,Pk(R.siteId,Cr),ce?.setVisitorName(Cr.name||""),Ko||(Mi&&!u?.uiOpen?ce?.showGreeting(Tm(Xd(R))):wc())}function ZA(e){if(Nd(e),typeof window<"u"&&Li(window,kI,()=>{Vf(R)}),P){let f=Ic(P.getRole());Pt=f,Ar=f==="controller",u&&(u.executionMode=f)}ym(e),Fd(e),Br(!0);let t=(e.allowActions??!0)&&(P?P.isController():!0),n=f=>{if(!u)return;let p=xt(u.pendingRun);if(p){let x=xt({...p,taskBoundaryId:p.taskBoundaryId||He,resumeRequired:!0,resumeReason:f});return u.pendingRun=x,x&&P?.setActiveRun({runId:x.id,text:x.text}),x}let b=P?.getState().activeRun,y=String(Te?.getActiveRunId()||Tc||b?.runId||"").trim();if(!y)return;let k=String(b?.text||Tn||"Continue task").trim()||"Continue task",w=xt({id:y,text:k,startedAt:Date.now(),attempts:0,autoResume:!0,taskBoundaryId:He,resumeRequired:!0,resumeReason:f});return u.pendingRun=w,w&&P?.setActiveRun({runId:w.id,text:w.text}),w};kt=new Cl({allowActions:t,runtimeId:St,allowedDomains:e.allowedDomains,domainScopeMode:vc(e.domainScopeMode),navigationDelayMs:e.timing?.navigationDelayMs,domSettle:{debounceMs:ln(e.timing?.domSettleDebounceMs,8,500),maxWaitMs:ln(e.timing?.domSettleMaxWaitMs,80,5e3),retries:ln(e.timing?.domSettleRetries,0,6),sparseTreeRetryDelayMs:ln(e.timing?.sparseTreeRetryDelayMs,20,1e3),sparseTreeRetryMaxAttempts:ln(e.timing?.sparseTreeRetryMaxAttempts,0,4)},registerOpenedTab:f=>P?.registerOpenedTab(f),switchToLogicalTab:f=>P?.switchToLogicalTab(f)||{ok:!1,reason:"No session coordinator"},listKnownTabs:()=>(P?.listTabs({scope:"all"})||[]).map(f=>({logicalTabId:f.logicalTabId,runtimeId:f.runtimeId,url:f.url,title:f.title,external:!!f.external})),onNavigationGuardrail:f=>{if(lt("navigation_guardrail",f),Et({kind:"status",title:"Navigation guardrail",detail:zk(f),status:"info"}),Te&&f?.blockedUrl){let p=lk();if(!p)return;let b=String(window.location.hostname||"").toLowerCase(),y=(()=>{try{return new URL(String(f.blockedUrl)).hostname.toLowerCase()}catch{return}})();Te.sendTabEvent({runId:p,currentUrl:String(f.currentUrl||window.location.href),targetUrl:String(f.blockedUrl),message:String(f.reason||""),currentHost:b||void 0,targetHost:y,isCrossHost:!!y&&!!b&&y!==b}).then(k=>{k&&(k.retryAttempted&&lt("tab_event_conflict_retry",{runId:k.runId||p,decisionReason:k.decisionReason,conflict:k.conflict}),k.retryExhausted&&lt("tab_event_conflict_exhausted",{runId:k.runId||p,decisionReason:k.decisionReason,conflict:k.conflict}))}).catch(()=>{})}},onBeforeAgentNavigation:async f=>{let p=lk(),b=String(window.location.hostname||"").toLowerCase();if(f?.targetUrl&&Hv(f.targetUrl,b)){let V=rf(f.targetUrl,b);return st("navigation_guardrail",{event:"adversarial_blocked",targetUrl:f.targetUrl,score:V.score,reasons:V.reasons}),{decision:"block",reason:`Navigation blocked: suspicious URL detected (adversarial score ${V.score}).`,decisionReason:"adversarial_block"}}if(f?.isCrossHost){let V=Date.now();for(Ti.push(V);Ti.length>0&&Ti[0]<V-rk;)Ti.shift();if(Ti.length>TI)return st("navigation_guardrail",{event:"rapid_cross_origin_blocked",targetUrl:f.targetUrl,count:Ti.length}),{decision:"block",reason:`Navigation blocked: too many cross-origin navigations (${Ti.length} in ${rk/1e3}s).`,decisionReason:"rapid_cross_origin_block"}}let y=(()=>{try{return new URL(String(f?.targetUrl||"")).hostname.toLowerCase()}catch{return}})(),k=!!b&&!!y&&ar(b)!==ar(y),w=!!b&&!!y&&b!==y,x=Ss({host:y,currentHost:b,allowedDomains:R?.allowedDomains,domainScopeMode:R?.domainScopeMode}),h=Gv({targetUrl:f?.targetUrl,currentUrl:window.location.href,currentHost:b,allowedDomains:R?.allowedDomains,domainScopeMode:R?.domainScopeMode,preferredDisposition:f?.preferredDisposition||"auto",knownTabs:(P?.listTabs({scope:"all"})||[]).map(V=>({logicalTabId:V.logicalTabId,url:V.url,external:!!V.external})),taskScopedTabIds:Na(),sourceLogicalTabId:f?.sourceLogicalTabId}),A=tR(),E=h==="allow_same_tab";if(E&&u){if(Xr=!0,df(cf(f)),n(f.isCrossHost?"cross_host_navigation":"agent_navigation"),wn&&R?.siteId)try{sessionStorage.setItem(`rover:sess:${R.siteId}`,JSON.stringify({t:wn,e:Jr}))}catch{}if(se){let V=se.getActiveTask();V&&se.dispatch(V.taskId,{type:"NAVIGATION_STARTED",targetUrl:f.targetUrl,isCrossHost:f.isCrossHost})}ja("same_tab_navigation_handoff_early")}let _=null;if(f?.targetUrl&&Te&&p){let V=!!y&&!!b&&y!==b;_=await Te.sendTabEvent({runId:p,currentUrl:window.location.href,targetUrl:f.targetUrl,message:A,currentHost:b||void 0,targetHost:y,isCrossHost:V}).catch(()=>null),_?.retryAttempted&&lt("tab_event_conflict_retry",{runId:_.runId||p,decisionReason:_.decisionReason,conflict:_.conflict,targetUrl:f.targetUrl}),_?.retryExhausted&&lt("tab_event_conflict_exhausted",{runId:_.runId||p,decisionReason:_.decisionReason,conflict:_.conflict,targetUrl:f.targetUrl})}let z=$v({crossRegistrableDomain:k,fallbackDecision:h,serverDecision:_?.decision,serverAvailable:!!_}),ee=z.decision;if(ee==="block")return E&&(Xr=!1),{decision:"block",reason:z.failSafeBlocked?"Cross-domain navigation blocked because preflight policy check is unavailable.":_?.reason||"Navigation blocked by policy.",decisionReason:z.failSafeBlocked?"preflight_unavailable_block":_?.decisionReason||"policy_blocked"};if(ee==="open_new_tab"){E&&(Xr=!1),R?.tools?.web?.scrapeMode==="on_demand"&&Te&&f?.targetUrl&&aA(f.targetUrl).catch(()=>{});let ne=z.decisionReason==="preflight_unavailable_fallback"&&!_;return{decision:"open_new_tab",reason:_?.reason||(ne?"Preflight is unavailable; Rover will open this page in a new tab and keep the task moving there.":"Rover will open this page in a new tab and keep the task moving there."),decisionReason:_?.decisionReason||z.decisionReason||"open_new_tab"}}return!E&&u?(Xr=!0,df(cf(f)),n(f.isCrossHost?"cross_host_navigation":"agent_navigation"),ja("same_tab_navigation_handoff")):E||(Xr=!0),{decision:"allow_same_tab",reason:_?.reason||(z.decisionReason==="preflight_unavailable_fallback"&&!_?"Preflight is unavailable; Rover will continue in the current tab.":"Navigation allowed."),decisionReason:_?.decisionReason||z.decisionReason||"allow_same_tab"}},onBeforeCrossHostNavigation:f=>{if(Xr=!0,!u||!R)return;df(cf(f));let p=Jf(),b=n("cross_host_navigation");Tv(R.siteId,{sessionId:u.sessionId,sessionToken:wn,sessionTokenExpiresAt:Jr,openIntent:u.uiOpen?"preserve_if_running":void 0,targetUrl:String(f?.targetUrl||"").trim()||void 0,sourceHost:String(window.location.hostname||"").trim().toLowerCase()||void 0,handoffId:p?.handoffId||f?.handoffId,pendingRun:b?{id:b.id,text:b.text,startedAt:b.startedAt,attempts:b.attempts,taskBoundaryId:b.taskBoundaryId||He}:void 0,handoff:p?{handoffId:p.handoffId,sourceLogicalTabId:p.sourceLogicalTabId,runId:p.runId,targetUrl:p.targetUrl,createdAt:p.createdAt}:void 0,activeTask:u.activeTask?{taskId:u.activeTask.taskId,status:u.activeTask.status}:void 0,taskEpoch:u.taskEpoch,timestamp:Date.now()}),ja("cross_domain_handoff_pre_navigation")},instrumentationOptions:e.mode==="safe"?{observeInlineMutations:!1}:void 0});let r=Pt==="observer"?"observer":"controller";kt?.setActionGateContext?.({mode:r,controllerRuntimeId:P?.getCurrentHolderRuntimeId(),activeLogicalTabId:P?.getActiveLogicalTabId(),localLogicalTabId:P?.getLocalLogicalTabId(),reason:Ec(r,t)});let o=new MessageChannel;nb(o.port1,{getSnapshot:()=>kt.getSnapshot(),getPageData:async f=>{let p=R||e,b=Number(f?.tabId),y=P?.getLocalLogicalTabId();if(!Number.isFinite(b)||b<=0||b===y||!P)return kt.getPageData(f);let w=P.listTabs().find(x=>x.logicalTabId===b);if(!w){let x=Na().includes(b);return Xs({logicalTabId:b,external:!1},x?"detached_runtime_placeholder":"target_tab_missing")}if(w.runtimeId===St)return kt.getPageData(f);if(w.external)return Xs(w,"external_domain_inaccessible");if(!w.runtimeId||!P.isTabAlive(b))return Xs(w,"target_tab_inactive");try{return await P.sendCrossTabRpc(w.runtimeId,"getPageData",f,15e3)}catch{return Xs(w,"cross_tab_rpc_failed")}},executeTool:async f=>{let p=R||e,b=f?.payload?.forceLocal===!0,y=String(f?.call?.name||"").trim(),k=Number(f?.call?.args?.tab_id),w=P?.getActiveLogicalTabId(),x=Number.isFinite(k)&&k>0?k:w;if(cA(y)){let _=f?.call?.serverResult;return _?_.success?{success:!0,output:_.data}:{success:!1,error:_.error||"Server-side execution failed"}:lA({call:f?.call,routeTabId:Number.isFinite(Number(x))?Number(x):void 0,runtimeCfg:p})}if(b)return kt.executeTool(f.call,f.payload);let h=P?.getLocalLogicalTabId();if(!x||x===h||!P)return kt.executeTool(f.call,f.payload);let E=P.listTabs().find(_=>_.logicalTabId===x);if(!E){let _=Na().includes(x);return Ys(p,{logicalTabId:x,external:!1},_?"detached_runtime_placeholder":"target_tab_missing")}if(E.external)return Ys(p,E,"external_tab_action_blocked");if(E.runtimeId===St)return kt.executeTool(f.call,f.payload);if(!E.runtimeId||!P.isTabAlive(x))return Ys(p,E,"target_tab_inactive");try{return await P.sendCrossTabRpc(E.runtimeId,"executeTool",f,2e4)}catch{return Ys(p,E,"cross_tab_execute_failed")}},executeClientTool:f=>kt.executeClientTool(f.name,f.args),listClientTools:()=>kt.listClientTools(),getTabContext:()=>{let f=P?.getLocalLogicalTabId(),p=P?.getActiveLogicalTabId();return{id:f||1,logicalTabId:f||1,activeLogicalTabId:p||f||1,runtimeId:St,mode:Pt,url:window.location.href,title:document.title}},listSessionTabs:()=>{if(!P)return[];let f=P.listTabs({scope:"all"}),p=Array.isArray(P.getState()?.tabs)?P.getState().tabs:[],b=new Set(Na()),y=new Map,k=w=>{let x=Number(w?.logicalTabId||w?.id);!Number.isFinite(x)||x<=0||y.set(x,{...y.get(x)||{},...w,logicalTabId:x,id:x})};for(let w of f)k(w);for(let w of p){let x=Number(w?.logicalTabId);!Number.isFinite(x)||x<=0||(w.runtimeId||w.external||b.has(x))&&k(w)}return[...y.values()].sort((w,x)=>Number(w.logicalTabId)-Number(x.logicalTabId))}}),o.port1.start?.();let i=e.workerUrl?e.workerUrl:new URL("./worker/worker.js",__ROVER_SCRIPT_URL__).toString(),a=i;try{let f=window.location.origin,p=new URL(i).origin;if(f!==p){let b=new Blob([`import '${i}';`],{type:"application/javascript"});a=URL.createObjectURL(b)}}catch{}rt=new Worker(a,{type:"module"}),rt.postMessage({type:"init",config:{...e,...ji(),pageConfig:xc(R),publicKey:void 0,authToken:Jn(e),sessionToken:wn,sessionId:u?.sessionId,activeRunId:u?.pendingRun?.id},port:o.port2},[o.port2]);let s=(f="manual_cancel_task")=>{if(!u)return;let p=u.pendingRun;if(p){ei(p.id),rt?.postMessage({type:"cancel_run",runId:p.id}),Jo(p.id,f,{attemptImmediately:!0}),Te?.controlRun({action:"cancel",runId:p.id,reason:f}).catch(()=>{}),P?.releaseWorkflowLock(p.id),P?.setActiveRun(void 0),Xt(void 0),u.workerState=void 0,P?.setWorkerContext(void 0),He=Pr(),u.taskTabScope=void 0,cr({forceReset:!0,persist:!1}),yr(),Kt&&(clearTimeout(Kt),Kt=null),ce?.setRunning(!1),ce?.setQuestionPrompt(void 0),px(f),Vt(void 0),Et({kind:"info",title:"Run cancelled",status:"info"}),Sn("system","Task cancelled.",!0),Pi=void 0,Zr=void 0,Va=0,Ye();return}let b=Nr(u.workerState?.pendingAskUser?.questions).length>0,y=u.activeTask?.status;!b&&y!=="running"||(He=Pr(),u.workerState=void 0,u.taskTabScope=void 0,cr({forceReset:!0,persist:!1}),yr(),Kt&&(clearTimeout(Kt),Kt=null),ce?.setRunning(!1),ce?.setQuestionPrompt(void 0),Yn(),Xt(void 0),JR(f),P?.endTask(f),P?.setActiveRun(void 0),P?.setWorkerContext(void 0),Vt(void 0),Pi=void 0,Zr=void 0,Va=0,Et({kind:"info",title:f==="question_prompt_cancel"?"Input request cancelled":"Task cancelled",status:"info"}),Ye())},c={siteId:e.siteId,resolveElement:f=>document.querySelector(`[data-rveid="${f}"]`)||null,panel:{resizable:e.ui?.panel?.resizable!==!1},shortcuts:Sx(Zo(e.ui?.shortcuts||[])),experience:Kd(e),greeting:Xd(e),voice:Sm(e),thoughtStyle:e.ui?.thoughtStyle,visitorName:Cr?.name,onVoiceTelemetry:(f,p)=>{sR(f,p)},onShortcutClick:f=>{let p=String(f.prompt||"").trim();p&&br(p,{routing:f.routing})},onSend:(f,p)=>{br(f,{askUserAnswers:p?.askUserAnswers,attachments:p?.attachments})},onRequestControl:()=>{bR()?Et({kind:"status",title:"Control requested",detail:"This tab is now the active Rover controller for the current task.",status:"info"}):Sn("system","Unable to acquire control right now. Try again in a moment.",!0)},onCancelRun:()=>{s("manual_cancel_task")},onCancelQuestionFlow:()=>{s("question_prompt_cancel")},onNewTask:()=>{Pc({reason:"manual_new_task",clearUi:!0})},onEndTask:()=>{Jd({reason:"manual_end_task"})},onTaskSuggestionPrimary:()=>{let f=Vo;if(f){if(f.kind==="resume_run"){let p=xt(u?.pendingRun);if(Yn(),!p||p.id!==f.runId){Vt("Previous task is no longer resumable.");return}Qr({overridePolicyAction:"auto_resume"});return}br(f.text,{bypassSuggestion:!0,startNewTask:!0,reason:f.reason})}},onTaskSuggestionSecondary:()=>{let f=Vo;if(f){if(f.kind==="resume_run"){let p=String(u?.pendingRun?.id||"").trim();if(Yn(),!p||p!==f.runId)return;mm({reason:"resume_declined_by_user",statusText:"Resume cancelled. Start a new task when you are ready.",runId:f.runId,cancelReason:"resume_declined_by_user",timelineTitle:"Resume cancelled",timelineDetail:"Interrupted run was cancelled by user action.",timelineStatus:"info"});return}br(f.text,{bypassSuggestion:!0})}},onSwitchConversation:f=>{if(!se||!u)return;let p=se.getActiveTask();p&&ce&&(p.scrollPosition=ce.getScrollPosition());let b=String(P?.getState()?.activeRun?.runId||"").trim(),k=!!(String(u.pendingRun?.id||"").trim()||b);if(p&&p.taskId!==f&&k){Sn("system","Finish the active run before switching conversations.",!0);return}let w=se.switchActiveTask(f);w&&(lx(w,{replayUi:!0}),u.activeTaskId=f,ce&&(requestAnimationFrame(()=>{w.scrollPosition!=null&&ce.setScrollPosition(w.scrollPosition)}),ce.setActiveConversationId(f)),$o(),Ye())},onDeleteConversation:f=>{se&&(se.deleteTask(f),$o(),Ye())},onResumeTask:f=>{if(!se)return;se.dispatch(f,{type:"RESUME"}).accepted&&(ce?.hidePausedTaskBanner(),se.assignWorker(f,{}),$o(),Ye())},onCancelPausedTask:f=>{if(!se)return;se.dispatch(f,{type:"CANCEL",reason:"user_cancelled_paused_task"}).accepted&&(ce?.hidePausedTaskBanner(),se.archiveTask(f),$o(),Ye())},onTabClick:f=>{P?.switchToLogicalTab(f)},showTaskControls:e.ui?.showTaskControls!==!1,muted:e.ui?.muted,agent:{name:e.ui?.agent?.name},mascot:{disabled:e.ui?.mascot?.disabled,imageUrl:e.ui?.mascot?.imageUrl,mp4Url:e.ui?.mascot?.mp4Url,webmUrl:e.ui?.mascot?.webmUrl,soundEnabled:e.ui?.mascot?.soundEnabled},onOpen:()=>{Ko=!0,Nc(),u&&(u.uiOpen=!0,u.uiHidden=!1,Ye()),Fn(R),lt("open")},onClose:()=>{u&&(u.uiOpen=!1,Ye()),Fn(R),lt("close")}};ce=fy(c),Yn(),$d(u?.uiMessages||[],u?.timeline||[]),Wd(u),Ja(),u?.executionMode&&ce.setExecutionMode(u.executionMode,{localLogicalTabId:P?.getLocalLogicalTabId(),activeLogicalTabId:P?.getActiveLogicalTabId(),controllerRuntimeId:P?.getCurrentHolderRuntimeId(),canTakeControl:!0,canComposeInObserver:tx(),note:nx(u.executionMode)}),rt.onmessage=f=>{gA(f.data||{})};let l=()=>{P?.registerCurrentTab(window.location.href,document.title),P?.broadcastNavigation(window.location.href,document.title),Dc("navigation"),Lc("navigation"),ts("navigation")};Da||(Da=History.prototype.pushState),Oa||(Oa=History.prototype.replaceState);let d=Da.bind(history),m=Oa.bind(history);history.pushState=function(...f){let p=d(...f);return setTimeout(l,0),p},history.replaceState=function(...f){let p=m(...f);return setTimeout(l,0),p},Li(window,"popstate",l),u?.uiHidden?ce.hide():(ce.show(),u?.uiOpen??!!e.openOnInit?ce.open():ce.close()),u&&(u.uiHidden=!!u.uiHidden,u.uiOpen=!!u.uiOpen,Ye()),P&&(gm(P.getState(),"remote"),Hi(P.getRole(),{localLogicalTabId:P.getLocalLogicalTabId(),activeLogicalTabId:P.getActiveLogicalTabId(),holderRuntimeId:P.getCurrentHolderRuntimeId()})),wc()}function Sc(e){if(qo)return Pd(e),qo;wf&&Bd(),wf=!0,ko=fv(),St=KI(e.siteId),rn=Bk(e),Cr=e.visitor||JI(e.siteId),Ko=!1,Mi=!1,Nc(),Ui(),gn=null,Hn=!1;let t=e.sessionId?.trim(),n=QI(e.siteId),r=!t&&e.sessionScope!=="tab"&&rn?ak(e.siteId,rn):void 0,o=bd(e.siteId,t||r),i=Ha(e.siteId),a=Array.from(new Set([t?o:n,o,n,r?bd(e.siteId,r):void 0,i].filter(h=>!!h))),s=null,c=null;for(let h of a){let A=IR(h);if(A){s=A,c=h;break}}Un=c||o,yo=i!==Un?i:null;let l=a.filter(h=>h!==Un);If(e.siteId,Un);let d=s?null:Gp(e.siteId,{currentUrl:window.location.href,currentHost:window.location.hostname,requireTargetMatch:!0});!s&&!d&&Gp(e.siteId,{currentHost:window.location.hostname,requireTargetMatch:!1})&&(st("status",{event:"resume_cookie_rejected",reason:"target_or_host_mismatch"}),$s(e.siteId)),d&&($s(e.siteId),Ln=!0,Hn=!0,d.openIntent==="preserve_if_running"&&sk({runId:d.pendingRun?.id,taskId:d.activeTask?.taskId}),d.sessionToken&&Ad(d.sessionToken,d.sessionTokenExpiresAt));let m=e.sessionId?.trim(),f=!m&&!s?.sessionId&&!d?.sessionId&&e.sessionScope!=="tab"&&rn?ak(e.siteId,rn):void 0,p=m||s?.sessionId||d?.sessionId||f||crypto.randomUUID(),b=s;if(!s&&d){let h=Rf(d.sessionId,St),A=String(d.activeTask?.status||"").trim().toLowerCase(),E=!A||A==="running";d.pendingRun&&E&&(h.pendingRun=xt({...d.pendingRun,autoResume:!0,taskBoundaryId:d.pendingRun.taskBoundaryId,resumeRequired:!0,resumeReason:"cross_host_navigation"})),d.handoff&&(h.lastNavigationHandoff=To({...d.handoff,createdAt:d.handoff.createdAt})),d.activeTask&&(h.activeTask={...jn("cross_domain_resume"),taskId:d.activeTask.taskId,status:d.activeTask.status}),h.taskEpoch=d.taskEpoch||1,nf(d.openIntent)&&(h.uiHidden=!1,h.uiOpen=!0),b=h}u=kc(b,p,St),m&&u.sessionId!==m&&(u=Rf(m,St));let y=eR(e.siteId);He=WI(u),y&&u.activeTask?.status==="running"&&(Hn=!0,nf(y.openIntent)&&(u.uiHidden=!1,u.uiOpen=!0,sk({runId:y.runId,taskId:u.activeTask?.taskId})),u.pendingRun=xt({...u.pendingRun||{},id:u.pendingRun?.id||y.runId,text:u.pendingRun?.text||y.text||Tn||"Continue task",startedAt:u.pendingRun?.startedAt||Date.now(),attempts:u.pendingRun?.attempts||0,autoResume:!0,taskBoundaryId:u.pendingRun?.taskBoundaryId||y.taskBoundaryId||He,resumeRequired:!0,resumeReason:y.resumeReason||u.pendingRun?.resumeReason||"agent_navigation"})),u.pendingRun&&!u.pendingRun.taskBoundaryId&&(u.pendingRun=xt({...u.pendingRun,taskBoundaryId:He})),u.workerState&&!u.workerState.taskBoundaryId&&(u.workerState=Mr(pn({...u.workerState,taskBoundaryId:He}),He)),_c(u),R={...e,deepLink:Ls(e.deepLink),pageConfig:wo(e.pageConfig),visitorId:rn||e.visitorId,sessionId:m||u.sessionId,domainScopeMode:vc(e.domainScopeMode),taskRouting:{mode:e.taskRouting?.mode||"act",actHeuristicThreshold:e.taskRouting?.actHeuristicThreshold,plannerOnActError:e.taskRouting?.plannerOnActError},timing:{navigationDelayMs:ln(e.timing?.navigationDelayMs,0,3e3),actionTimeoutMs:ln(e.timing?.actionTimeoutMs,fc,12e4),domSettleDebounceMs:ln(e.timing?.domSettleDebounceMs,8,500),domSettleMaxWaitMs:ln(e.timing?.domSettleMaxWaitMs,80,5e3),domSettleRetries:ln(e.timing?.domSettleRetries,0,6),sparseTreeRetryDelayMs:ln(e.timing?.sparseTreeRetryDelayMs,20,1e3),sparseTreeRetryMaxAttempts:ln(e.timing?.sparseTreeRetryMaxAttempts,0,4)},transport:{activation:am(e.transport?.activation),idleCloseMs:sm(e.transport?.idleCloseMs)},stability:{maxPersistBytes:Ka(e.stability?.maxPersistBytes,qt.localPersistBytes),maxSnapshotBytes:Ka(e.stability?.maxSnapshotBytes,qt.snapshotBytes)},task:{singleActiveScope:Hk(e.task?.singleActiveScope),tabScope:Fk(e.task?.tabScope),resume:{mode:nm(e.task?.resume?.mode),ttlMs:Id(e.task?.resume?.ttlMs)},followup:{mode:jk(e.task?.followup?.mode),ttlMs:om(e.task?.followup?.ttlMs),minLexicalOverlap:im(e.task?.followup?.minLexicalOverlap)},observerInput:rm(e.task?.observerInput),autoResumePolicy:tm(e.task?.autoResumePolicy)},chat:{inRun:qk(e.chat?.inRun),resumeFollowup:{mode:$k(e.chat?.resumeFollowup?.mode),maxTurns:Wk(e.chat?.resumeFollowup?.maxTurns)}},external:{intentSelection:Vk(e.external?.intentSelection),requireUserConfirm:Gk(e.external?.requireUserConfirm),adversarialGate:Kk(e.external?.adversarialGate)},taskContext:{...e.taskContext},features:{rover_v2_kernel_runtime:Xk(e.features?.rover_v2_kernel_runtime)}},u.sessionId=R.sessionId,u.runtimeId=St,Un=bd(e.siteId,u.sessionId),yo=Un!==Ha(e.siteId)?Ha(e.siteId):null,If(e.siteId,Un),u.executionMode=u.executionMode||"controller",u.timeline=Dr(u.timeline),u.uiMessages=Lr(u.uiMessages),u.activeTask=ti(u.activeTask,jn("boot")),Qp(u.activeTask?.status)&&(u.pendingRun=void 0,u.workerState=void 0,Ln=!1,Hn=!1,Ui(),$s(e.siteId),Uk(e.siteId)),u.taskEpoch=Math.max(1,Number(u.taskEpoch)||1),Pt=u.executionMode,Cr&&Pk(e.siteId,Cr);let k={maxConcurrentWorkers:e.task?.maxConcurrentWorkers??2,maxQueuedTasks:e.task?.maxQueuedTasks??5,maxArchivedTasks:e.task?.maxArchivedTasks??10};if(u.tasks&&Object.keys(u.tasks).length>0)se=_a.fromPersistedState({tasks:u.tasks,activeTaskId:u.activeTaskId,taskOrder:u.taskOrder},k);else{se=_a.fromV1State(u,k);let{tasks:h,activeTaskId:A,taskOrder:E}=se.toPersistedState();u.tasks=h,u.activeTaskId=A,u.taskOrder=E}let w=se.getActiveTask();w&&lx(w,{replayUi:!1}),Ye();try{sessionStorage.setItem(`rover:tab-alive:${e.siteId}`,"1")}catch{}vr=!1,Wa=!1,Or=!1,zn=0,_d=null;try{let h=sessionStorage.getItem(`rover:sess:${e.siteId}`);if(h){let{t:A,e:E}=JSON.parse(h);A&&typeof A=="string"&&A.startsWith("rvrsess_")&&Number(E)>Date.now()+2e3&&Ad(A,Number(E))}}catch{}ZA(R),eo(R),Dc("boot"),Lc("boot"),ts("boot");let x=!!(wn&&Jr>Date.now()+2e3);if((!Te||x)&&(Wa=!0),Un&&pA(Un,l.length?l:yo?[yo]:void 0),qR(),Br(!0),Ln&&setTimeout(()=>{Ln&&!Or&&(Ln=!1,Qr())},nI),qo={boot:Sc,init:Em,update:Pd,shutdown:Bd,open:_n,close:Yd,show:Im,hide:Rm,send:Am,newTask:Pc,endTask:Jd,getState:Lm,getAgentCard:$f,requestSigned:Mm,attachLaunch:Cm,registerPromptContextProvider:Nm,registerTool:Dm,identify:_m,on:Ck},VA(),hd.length){for(let h of hd)Qf(h);hd.length=0}return qo}function Em(e){return Sc(e)}function Pd(e){if(!qo||!rt||!R)return;R={...R,...e,deepLink:Ls({...R.deepLink,...e.deepLink}),pageConfig:e.pageConfig!==void 0?wo(e.pageConfig):R.pageConfig,domainScopeMode:vc(e.domainScopeMode??R.domainScopeMode),taskRouting:{...R.taskRouting,...e.taskRouting},timing:{...R.timing,...e.timing,navigationDelayMs:ln(e.timing?.navigationDelayMs??R.timing?.navigationDelayMs,0,3e3),actionTimeoutMs:ln(e.timing?.actionTimeoutMs??R.timing?.actionTimeoutMs,fc,12e4),domSettleDebounceMs:ln(e.timing?.domSettleDebounceMs??R.timing?.domSettleDebounceMs,8,500),domSettleMaxWaitMs:ln(e.timing?.domSettleMaxWaitMs??R.timing?.domSettleMaxWaitMs,80,5e3),domSettleRetries:ln(e.timing?.domSettleRetries??R.timing?.domSettleRetries,0,6),sparseTreeRetryDelayMs:ln(e.timing?.sparseTreeRetryDelayMs??R.timing?.sparseTreeRetryDelayMs,20,1e3),sparseTreeRetryMaxAttempts:ln(e.timing?.sparseTreeRetryMaxAttempts??R.timing?.sparseTreeRetryMaxAttempts,0,4)},transport:{...R.transport,...e.transport,activation:am(e.transport?.activation??R.transport?.activation),idleCloseMs:sm(e.transport?.idleCloseMs??R.transport?.idleCloseMs)},agentDiscovery:{...R.agentDiscovery,...e.agentDiscovery},stability:{...R.stability,...e.stability,maxPersistBytes:Ka(e.stability?.maxPersistBytes??R.stability?.maxPersistBytes,qt.localPersistBytes),maxSnapshotBytes:Ka(e.stability?.maxSnapshotBytes??R.stability?.maxSnapshotBytes,qt.snapshotBytes)},task:{...R.task,...e.task,singleActiveScope:Hk(e.task?.singleActiveScope??R.task?.singleActiveScope),tabScope:Fk(e.task?.tabScope??R.task?.tabScope),resume:{mode:nm(e.task?.resume?.mode??R.task?.resume?.mode),ttlMs:Id(e.task?.resume?.ttlMs??R.task?.resume?.ttlMs)},followup:{mode:jk(e.task?.followup?.mode??R.task?.followup?.mode),ttlMs:om(e.task?.followup?.ttlMs??R.task?.followup?.ttlMs),minLexicalOverlap:im(e.task?.followup?.minLexicalOverlap??R.task?.followup?.minLexicalOverlap)},observerInput:rm(e.task?.observerInput??R.task?.observerInput),autoResumePolicy:tm(e.task?.autoResumePolicy??R.task?.autoResumePolicy)},chat:{...R.chat,...e.chat,inRun:qk(e.chat?.inRun??R.chat?.inRun),resumeFollowup:{mode:$k(e.chat?.resumeFollowup?.mode??R.chat?.resumeFollowup?.mode),maxTurns:Wk(e.chat?.resumeFollowup?.maxTurns??R.chat?.resumeFollowup?.maxTurns)}},external:{...R.external,...e.external,intentSelection:Vk(e.external?.intentSelection??R.external?.intentSelection),requireUserConfirm:Gk(e.external?.requireUserConfirm??R.external?.requireUserConfirm),adversarialGate:Kk(e.external?.adversarialGate??R.external?.adversarialGate)},taskContext:{...R.taskContext,...e.taskContext},features:{...R.features,...e.features,rover_v2_kernel_runtime:Xk(e.features?.rover_v2_kernel_runtime??R.features?.rover_v2_kernel_runtime)},ui:{...R.ui,...e.ui,agent:{...R.ui?.agent,...e.ui?.agent},experience:{...R.ui?.experience,...e.ui?.experience},panel:{...R.ui?.panel,...e.ui?.panel},voice:{...R.ui?.voice,...e.ui?.voice}},tools:{...R.tools,...e.tools,client:e.tools?.client??R.tools?.client,web:{...R.tools?.web,...e.tools?.web}}},rn=Bk(R),rn&&(R.visitorId=rn),e.sessionId&&u?(u.sessionId=e.sessionId,Un=bd(R.siteId,u.sessionId),yo=Un!==Ha(R.siteId)?Ha(R.siteId):null,If(R.siteId,Un),Ye(),Nd(R)):(e.sessionScope||e.tabPolicy)&&Nd(R),ym(R),Fd(R),eo(R);let t=e.apiBase!==void 0||e.publicKey!==void 0||e.authToken!==void 0||e.sessionToken!==void 0||e.siteId!==void 0||e.siteKeyId!==void 0||e.ui?.shortcuts!==void 0||e.ui?.greeting!==void 0;if(kt){typeof e.allowActions=="boolean"&&kt.setAllowActions(e.allowActions&&Pt==="controller");let n=Pt==="controller"&&(R?.allowActions??!0),r=Pt==="observer"?"observer":"controller";kt?.setActionGateContext?.({mode:r,controllerRuntimeId:P?.getCurrentHolderRuntimeId(),activeLogicalTabId:P?.getActiveLogicalTabId(),localLogicalTabId:P?.getLocalLogicalTabId(),reason:Ec(r,n)}),(e.allowedDomains||e.domainScopeMode)&&kt.setNavigationPolicy({allowedDomains:e.allowedDomains,domainScopeMode:vc(e.domainScopeMode??R.domainScopeMode)})}rt.postMessage({type:"update_config",config:{...e,...ji(),pageConfig:xc(R),publicKey:void 0,authToken:Jn(R),sessionToken:wn,sessionId:u?.sessionId,activeRunId:u?.pendingRun?.id,sessionEpoch:Te?.getEpoch?.()??vo,sessionSeq:Te?.getLastSeq?.()??0}}),Od(R),t?Dx(R):wc(),e.visitor&&_m(e.visitor),typeof e.openOnInit=="boolean"&&(e.openOnInit||em(u)?_n():Yd()),Dc("update"),Lc("update"),ts("update"),Br()}function Bd(){Xf(),Yf(),Lk(),Gf(),Ed(),Ui(),Yn(),Fa(),wm(!0),Ci(!0),lm(),Gt?.markDirty(),Gt?.syncNow({push:!0,pull:!1}),Gt?.stop(),Gt=null,Te?.stop(),Te=null,wn=void 0,Jr=0,vo=1,Go(void 0),hc="",P?.stop(),P=null,se?.shutdown(),se=null,rt?.terminate(),rt=null,ce?.destroy(),ce=null,kt=null,R=null,vr=!1,Or=!1,zn=0,Ot&&(clearTimeout(Ot),Ot=null),Uo&&(clearTimeout(Uo),Uo=null),md=!1,Nn.clear(),Yr.clear(),gr.clear(),Gr.clear(),uc(),Ai(),Ri="",sc="",tc="",TA(),Ma="",Ii="",Dd(),dc="",Ca="",Fo=null,dn=!1,Xo=!1,gc.clear(),Tf=!1,Xr=!1,He="",St="",rn=void 0,Cr=void 0,Ko=!1,Mi=!1,Nc(),gn=null,vf="",$a=!1,fd=!1,La=!1,Gn=[],wk=0,bf=0,yf=0,Td=0,oc=!1,xo&&(clearTimeout(xo),xo=null),Df="",Aa="",Pt="controller",Ar=!0,Vo=null,ko=null,_d=null,nc=0;try{let e=window.rtrvrAIClearObserverPause;typeof e=="function"&&e()}catch{}qo=null;for(let e of Wo)try{e.target.removeEventListener(e.event,e.handler,e.options)}catch{}if(Wo.length=0,Da){try{History.prototype.pushState=Da}catch{}Da=null}if(Oa){try{History.prototype.replaceState=Oa}catch{}Oa=null}kf=!1,xf=!1,Sf=!1,dn=!1,Xo=!1,wf=!1}function _n(){Ko=!0,Nc(),Xo=!0,ce?.show(),ce?.open(),u&&(u.uiHidden=!1,u.uiOpen=!0,Ye()),Fn(R)}function Yd(){ce?.close(),Ui(),u&&(u.uiOpen=!1,Ye()),Fn(R)}function Im(){ce?.show(),u&&(u.uiHidden=!1,Ye()),Fn(R)}function Rm(){ce?.hide(),Ui(),u&&(u.uiHidden=!0,u.uiOpen=!1,Ye()),Fn(R)}function Am(e){e?.trim()&&br(e)}async function Cm(e){if(!R)return null;await eo(R);let t=await Te?.attachLaunch({requestId:e.requestId,attachToken:e.attachToken})||null;if(!t)return null;let n=Ve?.requestId===t.requestId?Ve:null;return Ve={requestId:t.requestId,attachToken:e.attachToken,handleKey:n?.handleKey||`direct_attach:${t.requestId}`,status:t.status,detail:t.detail,executionTarget:t.executionTarget,runId:t.runId,promptDispatchState:Ld(t)?"pending":"started",pendingEvents:n?.pendingEvents||[],ingestInFlight:n?.ingestInFlight||!1,lastNeedsInputSignature:n?.lastNeedsInputSignature,finalObservationRunId:n?.finalObservationRunId,attachCompletedAt:Date.now()},Ni(),Ld(t)?Rx(t):_n(),t}async function Mm(e,t={}){if(!R)throw new Error("Rover is not booted.");await eo(R),await Te?.ensureSession(!1);let n=Te?.getSessionToken()||wn||Jn(R);if(!n)throw new Error("Rover signed request is unavailable without an active Rover session.");let r=new Headers(t.headers||void 0);return r.has("Authorization")||r.set("Authorization",`Bearer ${n}`),u?.sessionId&&!r.has("X-Rover-Session-Id")&&r.set("X-Rover-Session-Id",u.sessionId),R.siteId&&!r.has("X-Rover-Site-Id")&&r.set("X-Rover-Site-Id",R.siteId),typeof window<"u"&&!r.has("X-Rover-Host")&&r.set("X-Rover-Host",window.location.hostname),fetch(e,{...t,headers:r})}function Nm(e){return typeof e!="function"?()=>{}:(gc.add(e),()=>{gc.delete(e)})}function Pc(e){if(!u)return;let t=e?.reason||"manual_new_task",n=e?.clearUi!==!1;if(Pi=void 0,Zr=void 0,Va=0,u.pendingRun&&(ei(u.pendingRun.id),rt?.postMessage({type:"cancel_run",runId:u.pendingRun.id}),Jo(u.pendingRun.id,t,{attemptImmediately:!0}),Te?.controlRun({action:"cancel",runId:u.pendingRun.id,reason:t}),P?.releaseWorkflowLock(u.pendingRun.id)),Kt&&(clearTimeout(Kt),Kt=null),ce?.setRunning(!1),ce?.setQuestionPrompt(void 0),Or=!1,zn=0,Cc(),se){let i=se.createTask(t);se.switchActiveTask(i.taskId),se.dispatch(i.taskId,{type:"START",reason:t})}let r=ni({type:"new_task",reason:t,at:Date.now()},{syncShared:!1,persist:!1});if(!r)return;let o=Math.max(1,Number(u.taskEpoch)||1);n&&(u.uiMessages=[],u.timeline=[],u.uiStatus=void 0,u.transientStatus=void 0,fm()),P?.startNewTask({taskId:r.taskId,startedAt:r.startedAt,boundaryReason:t,status:"running",lastUserAt:void 0,lastAssistantAt:void 0}),cr({forceReset:!0,persist:!1}),P?.setActiveRun(void 0),P?.setWorkerContext(void 0),dx([]),Vt(void 0),Ye(),rt?.postMessage({type:"start_new_task",taskId:r.taskId,...ji()}),Te?.controlRun({action:"new_task",reason:t}),lt("visit_started",{visitId:r.taskId,reason:t,taskEpoch:o})}function Jd(e){if(!u)return;let t=e?.reason||"manual_end_task";if(Pi=void 0,Zr=void 0,Va=0,Or=!1,zn=0,Hn=!1,Cc(),se){let o=se.getActiveTask();o&&se.dispatch(o.taskId,{type:"CANCEL",reason:t})}let n=u.pendingRun?.id,r=ni({type:"terminal",terminal:"ended",reason:t,at:Date.now()},{syncShared:!1,persist:!1,rotateBoundary:!1});r&&(n&&(ei(n),rt?.postMessage({type:"cancel_run",runId:n}),Jo(n,t,{attemptImmediately:!0}),Te?.controlRun({action:"cancel",runId:n,reason:t}),P?.releaseWorkflowLock(n)),Xt(void 0),He=Pr(),u.workerState=void 0,u.taskTabScope=void 0,cr({forceReset:!0,persist:!1}),yr(),Kt&&(clearTimeout(Kt),Kt=null),ce?.setRunning(!1),ce?.setQuestionPrompt(void 0),Yn(),Vt(void 0),Te?.controlRun({action:"end_task",runId:n,reason:t}),P?.endTask(t),P?.setActiveRun(void 0),P?.setWorkerContext(void 0),Ye(),Et({kind:"info",title:"Task ended",detail:"Start a new task when you are ready.",status:"info"}),lt("visit_ended",{visitId:r.taskId,reason:t,endedAt:r.endedAt}))}function Lm(){let e=iR(Jn()),t=u?bm(u):null,n=_k();return t&&e&&(t.currentAgentAttribution=e),t&&(t.launchBinding=n),{mode:Pt,runtimeId:St,runtimeState:t,sharedState:P?.getState()||null,launchBinding:n,pendingTaskSuggestion:Vo,currentAgentAttribution:e}}function Dm(e,t){let n=LI(e);if(!qo||!kt||!rt){hd.push({def:n,handler:t});return}Qf({def:n,handler:t})}function e1(e){if(!e)return;let t=String(e);if(t==="init")return"init";if(t==="boot")return"boot";if(t==="update")return"update";if(t==="shutdown")return"shutdown";if(t==="open")return"open";if(t==="close")return"close";if(t==="show")return"show";if(t==="hide")return"hide";if(t==="send")return"send";if(t==="newTask")return"newTask";if(t==="endTask")return"endTask";if(t==="attachLaunch")return"attachLaunch";if(t==="getState")return"getState";if(t==="getAgentCard")return"getAgentCard";if(t==="requestSigned")return"requestSigned";if(t==="registerPromptContextProvider")return"registerPromptContextProvider";if(t==="registerTool")return"registerTool";if(t==="on")return"on"}var t1={normalizePendingRunResumeReason:Ds,sanitizeWorkerState:pn,cloneRuntimeStateForCheckpoint:bm,getPersistGovernorConfig:()=>({minPersistIntervalMs:Of,maxCoalesceDelayMs:cx}),getTelemetryFastLaneEvents:()=>Array.from(Sk.values()),normalizePromptContextEntry:Ik,buildPublicRunStartedPayload:Rk,buildPublicRunLifecyclePayload:Ak};function Ox(){let e=window,t=e.rover,n=((r,...o)=>{let i=e1(r),a=i?n[i]:void 0;if(typeof a=="function")return a(...o)});if(n.boot=Sc,n.init=Em,n.update=Pd,n.shutdown=Bd,n.open=_n,n.close=Yd,n.show=Im,n.hide=Rm,n.send=Am,n.attachLaunch=Cm,n.newTask=Pc,n.endTask=Jd,n.getState=Lm,n.getAgentCard=$f,n.requestSigned=Mm,n.registerPromptContextProvider=Nm,n.registerTool=Dm,n.on=Ck,e.rover=n,typeof t=="function"&&Array.isArray(t.q))for(let r of t.q){let[o,...i]=Array.isArray(r)?r:Array.from(r);typeof o=="string"&&n(o,...i)}if(!qo){let r=typeof globalThis.__ROVER_SCRIPT_EL__<"u"?globalThis.__ROVER_SCRIPT_EL__:null;if(r){let o=Bp(r);o&&Sc(o)}}}Ox();return Vx(n1);})();