@ottocode/web-ui 0.1.247 → 0.1.249
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/index.js +3 -3
- package/dist/web-assets/assets/index-D7h5gc5K.css +1 -0
- package/dist/web-assets/assets/index-DFb05OzY.js +142 -0
- package/dist/web-assets/index.html +2 -2
- package/package.json +1 -1
- package/dist/web-assets/assets/index-DxLUqdfd.js +0 -141
- package/dist/web-assets/assets/index-IA3l_vMI.css +0 -1
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import{R as Qt,u as at,a as ke,b as Ze,r as x,j as o,_ as UE,d as RE,e as Ma,g as bB,f as KE,O as JE,h as ba,i as LE,k as jE,l as TE,Q as OE,m as qE,n as YE,o as HE}from"./framework-nIMfOfMw.js";import{B as PE,U as Fa,X as lt,P as go,T as to,M as Ga,a as FB,C as _t,b as wo,E as vt,L as Le,c as va,d as GB,e as fr,F as es,f as WE,g as zE,I as Sa,h as ts,i as VE,j as Gn,k as En,S as io,l as vB,K as SB,m as ZE,n as vn,G as ao,o as Yt,p as _E,q as mr,r as Ua,R as Vt,s as bg,t as UB,u as Ra,v as Er,w as XE,A as RB,x as $E,y as Ds,z as ct,D as ps,H as KB,J as JB,N as Cr,O as AC,Q as LB,V as eC,W as Ho,Y as tC,Z as Fg,_ as oC,$ as sC,a0 as wr,a1 as jB,a2 as Gg,a3 as rC,a4 as Yo,a5 as nC,a6 as Hi,a7 as Cn,a8 as iC,a9 as Ka,aa as TB,ab as OB,ac as qB,ad as aC,ae as Ja,af as gC,ag as YB,ah as QC,ai as HB,aj as BC,ak as lC,al as cC,am as EC,an as CC,ao as IC,ap as uC,aq as PB,ar as dC,as as hC,at as Qr,au as La,av as Br,aw as pC,ax as fC,ay as mC,az as wC,aA as xC,aB as DC}from"./icons-ChRAk92S.js";import{v as Eo,p as Co,h as qt}from"./syntax-BTV1BYOo.js";import{M as ja,a as Ta}from"./markdown-CKQyPXIb.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))s(n);new MutationObserver(n=>{for(const r of n)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function t(n){const r={};return n.integrity&&(r.integrity=n.integrity),n.referrerPolicy&&(r.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?r.credentials="include":n.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(n){if(n.ep)return;n.ep=!0;const r=t(n);fetch(n.href,r)}})();const vg=A=>{let e;const t=new Set,s=(Q,l)=>{const C=typeof Q=="function"?Q(e):Q;if(!Object.is(C,e)){const I=e;e=l??(typeof C!="object"||C===null)?C:Object.assign({},e,C),t.forEach(c=>c(e,I))}},n=()=>e,a={setState:s,getState:n,getInitialState:()=>g,subscribe:Q=>(t.add(Q),()=>t.delete(Q))},g=e=A(s,n,a);return a},yC=(A=>A?vg(A):vg),NC=A=>A;function kC(A,e=NC){const t=Qt.useSyncExternalStore(A.subscribe,Qt.useCallback(()=>e(A.getState()),[A,e]),Qt.useCallback(()=>e(A.getInitialState()),[A,e]));return Qt.useDebugValue(t),t}const Sg=A=>{const e=yC(A),t=s=>kC(e,s);return Object.assign(t,e),t},ht=(A=>A?Sg(A):Sg),MC=300,bC=150,no=ht(A=>({isOpen:!1,panelHeight:MC,activeTabId:null,isMaximized:!1,get isExpanded(){return this.isOpen},get selectedTerminalId(){return this.activeTabId},openPanel:()=>A({isOpen:!0}),closePanel:()=>A({isOpen:!1,isMaximized:!1}),togglePanel:()=>A(e=>({isOpen:!e.isOpen,isMaximized:e.isOpen?!1:e.isMaximized})),setPanelHeight:e=>A({panelHeight:Math.max(bC,e)}),selectTab:e=>A({activeTabId:e,isOpen:!0}),toggleMaximize:()=>A(e=>({isMaximized:!e.isMaximized})),expandSidebar:()=>A({isOpen:!0}),collapseSidebar:()=>A({isOpen:!1,activeTabId:null,isMaximized:!1}),toggleSidebar:()=>A(e=>({isOpen:!e.isOpen,isMaximized:e.isOpen?!1:e.isMaximized})),selectTerminal:e=>A({activeTabId:e,isOpen:!0})}));function WB(A,e){return function(){return A.apply(e,arguments)}}const{toString:FC}=Object.prototype,{getPrototypeOf:Sn}=Object,{iterator:Un,toStringTag:zB}=Symbol,Rn=(A=>e=>{const t=FC.call(e);return A[t]||(A[t]=t.slice(8,-1).toLowerCase())})(Object.create(null)),xo=A=>(A=A.toLowerCase(),e=>Rn(e)===A),Kn=A=>e=>typeof e===A,{isArray:Ws}=Array,Os=Kn("undefined");function xr(A){return A!==null&&!Os(A)&&A.constructor!==null&&!Os(A.constructor)&&oo(A.constructor.isBuffer)&&A.constructor.isBuffer(A)}const VB=xo("ArrayBuffer");function GC(A){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(A):e=A&&A.buffer&&VB(A.buffer),e}const vC=Kn("string"),oo=Kn("function"),ZB=Kn("number"),Dr=A=>A!==null&&typeof A=="object",SC=A=>A===!0||A===!1,en=A=>{if(Rn(A)!=="object")return!1;const e=Sn(A);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(zB in A)&&!(Un in A)},UC=A=>{if(!Dr(A)||xr(A))return!1;try{return Object.keys(A).length===0&&Object.getPrototypeOf(A)===Object.prototype}catch{return!1}},RC=xo("Date"),KC=xo("File"),JC=A=>!!(A&&typeof A.uri<"u"),LC=A=>A&&typeof A.getParts<"u",jC=xo("Blob"),TC=xo("FileList"),OC=A=>Dr(A)&&oo(A.pipe);function qC(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const Ug=qC(),Rg=typeof Ug.FormData<"u"?Ug.FormData:void 0,YC=A=>{if(!A)return!1;if(Rg&&A instanceof Rg)return!0;const e=Sn(A);if(!e||e===Object.prototype||!oo(A.append))return!1;const t=Rn(A);return t==="formdata"||t==="object"&&oo(A.toString)&&A.toString()==="[object FormData]"},HC=xo("URLSearchParams"),[PC,WC,zC,VC]=["ReadableStream","Request","Response","Headers"].map(xo),ZC=A=>A.trim?A.trim():A.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function yr(A,e,{allOwnKeys:t=!1}={}){if(A===null||typeof A>"u")return;let s,n;if(typeof A!="object"&&(A=[A]),Ws(A))for(s=0,n=A.length;s<n;s++)e.call(null,A[s],s,A);else{if(xr(A))return;const r=t?Object.getOwnPropertyNames(A):Object.keys(A),i=r.length;let a;for(s=0;s<i;s++)a=r[s],e.call(null,A[a],a,A)}}function _B(A,e){if(xr(A))return null;e=e.toLowerCase();const t=Object.keys(A);let s=t.length,n;for(;s-- >0;)if(n=t[s],e===n.toLowerCase())return n;return null}const Es=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,XB=A=>!Os(A)&&A!==Es;function Pi(){const{caseless:A,skipUndefined:e}=XB(this)&&this||{},t={},s=(n,r)=>{if(r==="__proto__"||r==="constructor"||r==="prototype")return;const i=A&&_B(t,r)||r;en(t[i])&&en(n)?t[i]=Pi(t[i],n):en(n)?t[i]=Pi({},n):Ws(n)?t[i]=n.slice():(!e||!Os(n))&&(t[i]=n)};for(let n=0,r=arguments.length;n<r;n++)arguments[n]&&yr(arguments[n],s);return t}const _C=(A,e,t,{allOwnKeys:s}={})=>(yr(e,(n,r)=>{t&&oo(n)?Object.defineProperty(A,r,{value:WB(n,t),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(A,r,{value:n,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:s}),A),XC=A=>(A.charCodeAt(0)===65279&&(A=A.slice(1)),A),$C=(A,e,t,s)=>{A.prototype=Object.create(e.prototype,s),Object.defineProperty(A.prototype,"constructor",{value:A,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(A,"super",{value:e.prototype}),t&&Object.assign(A.prototype,t)},AI=(A,e,t,s)=>{let n,r,i;const a={};if(e=e||{},A==null)return e;do{for(n=Object.getOwnPropertyNames(A),r=n.length;r-- >0;)i=n[r],(!s||s(i,A,e))&&!a[i]&&(e[i]=A[i],a[i]=!0);A=t!==!1&&Sn(A)}while(A&&(!t||t(A,e))&&A!==Object.prototype);return e},eI=(A,e,t)=>{A=String(A),(t===void 0||t>A.length)&&(t=A.length),t-=e.length;const s=A.indexOf(e,t);return s!==-1&&s===t},tI=A=>{if(!A)return null;if(Ws(A))return A;let e=A.length;if(!ZB(e))return null;const t=new Array(e);for(;e-- >0;)t[e]=A[e];return t},oI=(A=>e=>A&&e instanceof A)(typeof Uint8Array<"u"&&Sn(Uint8Array)),sI=(A,e)=>{const s=(A&&A[Un]).call(A);let n;for(;(n=s.next())&&!n.done;){const r=n.value;e.call(A,r[0],r[1])}},rI=(A,e)=>{let t;const s=[];for(;(t=A.exec(e))!==null;)s.push(t);return s},nI=xo("HTMLFormElement"),iI=A=>A.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,s,n){return s.toUpperCase()+n}),Kg=(({hasOwnProperty:A})=>(e,t)=>A.call(e,t))(Object.prototype),aI=xo("RegExp"),$B=(A,e)=>{const t=Object.getOwnPropertyDescriptors(A),s={};yr(t,(n,r)=>{let i;(i=e(n,r,A))!==!1&&(s[r]=i||n)}),Object.defineProperties(A,s)},gI=A=>{$B(A,(e,t)=>{if(oo(A)&&["arguments","caller","callee"].indexOf(t)!==-1)return!1;const s=A[t];if(oo(s)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")})}})},QI=(A,e)=>{const t={},s=n=>{n.forEach(r=>{t[r]=!0})};return Ws(A)?s(A):s(String(A).split(e)),t},BI=()=>{},lI=(A,e)=>A!=null&&Number.isFinite(A=+A)?A:e;function cI(A){return!!(A&&oo(A.append)&&A[zB]==="FormData"&&A[Un])}const EI=A=>{const e=new Array(10),t=(s,n)=>{if(Dr(s)){if(e.indexOf(s)>=0)return;if(xr(s))return s;if(!("toJSON"in s)){e[n]=s;const r=Ws(s)?[]:{};return yr(s,(i,a)=>{const g=t(i,n+1);!Os(g)&&(r[a]=g)}),e[n]=void 0,r}}return s};return t(A,0)},CI=xo("AsyncFunction"),II=A=>A&&(Dr(A)||oo(A))&&oo(A.then)&&oo(A.catch),Al=((A,e)=>A?setImmediate:e?((t,s)=>(Es.addEventListener("message",({source:n,data:r})=>{n===Es&&r===t&&s.length&&s.shift()()},!1),n=>{s.push(n),Es.postMessage(t,"*")}))(`axios@${Math.random()}`,[]):t=>setTimeout(t))(typeof setImmediate=="function",oo(Es.postMessage)),uI=typeof queueMicrotask<"u"?queueMicrotask.bind(Es):typeof process<"u"&&process.nextTick||Al,dI=A=>A!=null&&oo(A[Un]),BA={isArray:Ws,isArrayBuffer:VB,isBuffer:xr,isFormData:YC,isArrayBufferView:GC,isString:vC,isNumber:ZB,isBoolean:SC,isObject:Dr,isPlainObject:en,isEmptyObject:UC,isReadableStream:PC,isRequest:WC,isResponse:zC,isHeaders:VC,isUndefined:Os,isDate:RC,isFile:KC,isReactNativeBlob:JC,isReactNative:LC,isBlob:jC,isRegExp:aI,isFunction:oo,isStream:OC,isURLSearchParams:HC,isTypedArray:oI,isFileList:TC,forEach:yr,merge:Pi,extend:_C,trim:ZC,stripBOM:XC,inherits:$C,toFlatObject:AI,kindOf:Rn,kindOfTest:xo,endsWith:eI,toArray:tI,forEachEntry:sI,matchAll:rI,isHTMLForm:nI,hasOwnProperty:Kg,hasOwnProp:Kg,reduceDescriptors:$B,freezeMethods:gI,toObjectSet:QI,toCamelCase:iI,noop:BI,toFiniteNumber:lI,findKey:_B,global:Es,isContextDefined:XB,isSpecCompliantForm:cI,toJSONObject:EI,isAsyncFn:CI,isThenable:II,setImmediate:Al,asap:uI,isIterable:dI};let ne=class el extends Error{static from(e,t,s,n,r,i){const a=new el(e.message,t||e.code,s,n,r);return a.cause=e,a.name=e.name,e.status!=null&&a.status==null&&(a.status=e.status),i&&Object.assign(a,i),a}constructor(e,t,s,n,r){super(e),Object.defineProperty(this,"message",{value:e,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,t&&(this.code=t),s&&(this.config=s),n&&(this.request=n),r&&(this.response=r,this.status=r.status)}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:BA.toJSONObject(this.config),code:this.code,status:this.status}}};ne.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";ne.ERR_BAD_OPTION="ERR_BAD_OPTION";ne.ECONNABORTED="ECONNABORTED";ne.ETIMEDOUT="ETIMEDOUT";ne.ERR_NETWORK="ERR_NETWORK";ne.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";ne.ERR_DEPRECATED="ERR_DEPRECATED";ne.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";ne.ERR_BAD_REQUEST="ERR_BAD_REQUEST";ne.ERR_CANCELED="ERR_CANCELED";ne.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";ne.ERR_INVALID_URL="ERR_INVALID_URL";ne.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const hI=null;function Wi(A){return BA.isPlainObject(A)||BA.isArray(A)}function tl(A){return BA.endsWith(A,"[]")?A.slice(0,-2):A}function ni(A,e,t){return A?A.concat(e).map(function(n,r){return n=tl(n),!t&&r?"["+n+"]":n}).join(t?".":""):e}function pI(A){return BA.isArray(A)&&!A.some(Wi)}const fI=BA.toFlatObject(BA,{},null,function(e){return/^is[A-Z]/.test(e)});function Jn(A,e,t){if(!BA.isObject(A))throw new TypeError("target must be an object");e=e||new FormData,t=BA.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,function(h,k){return!BA.isUndefined(k[h])});const s=t.metaTokens,n=t.visitor||C,r=t.dots,i=t.indexes,a=t.Blob||typeof Blob<"u"&&Blob,g=t.maxDepth===void 0?100:t.maxDepth,Q=a&&BA.isSpecCompliantForm(e);if(!BA.isFunction(n))throw new TypeError("visitor must be a function");function l(f){if(f===null)return"";if(BA.isDate(f))return f.toISOString();if(BA.isBoolean(f))return f.toString();if(!Q&&BA.isBlob(f))throw new ne("Blob is not supported. Use a Buffer instead.");return BA.isArrayBuffer(f)||BA.isTypedArray(f)?Q&&typeof Blob=="function"?new Blob([f]):Buffer.from(f):f}function C(f,h,k){let v=f;if(BA.isReactNative(e)&&BA.isReactNativeBlob(f))return e.append(ni(k,h,r),l(f)),!1;if(f&&!k&&typeof f=="object"){if(BA.endsWith(h,"{}"))h=s?h:h.slice(0,-2),f=JSON.stringify(f);else if(BA.isArray(f)&&pI(f)||(BA.isFileList(f)||BA.endsWith(h,"[]"))&&(v=BA.toArray(f)))return h=tl(h),v.forEach(function(O,J){!(BA.isUndefined(O)||O===null)&&e.append(i===!0?ni([h],J,r):i===null?h:h+"[]",l(O))}),!1}return Wi(f)?!0:(e.append(ni(k,h,r),l(f)),!1)}const I=[],c=Object.assign(fI,{defaultVisitor:C,convertValue:l,isVisitable:Wi});function u(f,h,k=0){if(!BA.isUndefined(f)){if(k>g)throw new ne("Object is too deeply nested ("+k+" levels). Max depth: "+g,ne.ERR_FORM_DATA_DEPTH_EXCEEDED);if(I.indexOf(f)!==-1)throw Error("Circular reference detected in "+h.join("."));I.push(f),BA.forEach(f,function(D,O){(!(BA.isUndefined(D)||D===null)&&n.call(e,D,BA.isString(O)?O.trim():O,h,c))===!0&&u(D,h?h.concat(O):[O],k+1)}),I.pop()}}if(!BA.isObject(A))throw new TypeError("data must be an object");return u(A),e}function Jg(A){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(A).replace(/[!'()~]|%20/g,function(s){return e[s]})}function Oa(A,e){this._pairs=[],A&&Jn(A,this,e)}const ol=Oa.prototype;ol.append=function(e,t){this._pairs.push([e,t])};ol.toString=function(e){const t=e?function(s){return e.call(this,s,Jg)}:Jg;return this._pairs.map(function(n){return t(n[0])+"="+t(n[1])},"").join("&")};function mI(A){return encodeURIComponent(A).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function sl(A,e,t){if(!e)return A;const s=t&&t.encode||mI,n=BA.isFunction(t)?{serialize:t}:t,r=n&&n.serialize;let i;if(r?i=r(e,n):i=BA.isURLSearchParams(e)?e.toString():new Oa(e,n).toString(s),i){const a=A.indexOf("#");a!==-1&&(A=A.slice(0,a)),A+=(A.indexOf("?")===-1?"?":"&")+i}return A}class Lg{constructor(){this.handlers=[]}use(e,t,s){return this.handlers.push({fulfilled:e,rejected:t,synchronous:s?s.synchronous:!1,runWhen:s?s.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){BA.forEach(this.handlers,function(s){s!==null&&e(s)})}}const qa={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},wI=typeof URLSearchParams<"u"?URLSearchParams:Oa,xI=typeof FormData<"u"?FormData:null,DI=typeof Blob<"u"?Blob:null,yI={isBrowser:!0,classes:{URLSearchParams:wI,FormData:xI,Blob:DI},protocols:["http","https","file","blob","url","data"]},Ya=typeof window<"u"&&typeof document<"u",zi=typeof navigator=="object"&&navigator||void 0,NI=Ya&&(!zi||["ReactNative","NativeScript","NS"].indexOf(zi.product)<0),kI=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",MI=Ya&&window.location.href||"http://localhost",bI=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Ya,hasStandardBrowserEnv:NI,hasStandardBrowserWebWorkerEnv:kI,navigator:zi,origin:MI},Symbol.toStringTag,{value:"Module"})),Ot={...bI,...yI};function FI(A,e){return Jn(A,new Ot.classes.URLSearchParams,{visitor:function(t,s,n,r){return Ot.isNode&&BA.isBuffer(t)?(this.append(s,t.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)},...e})}function GI(A){return BA.matchAll(/\w+|\[(\w*)]/g,A).map(e=>e[0]==="[]"?"":e[1]||e[0])}function vI(A){const e={},t=Object.keys(A);let s;const n=t.length;let r;for(s=0;s<n;s++)r=t[s],e[r]=A[r];return e}function rl(A){function e(t,s,n,r){let i=t[r++];if(i==="__proto__")return!0;const a=Number.isFinite(+i),g=r>=t.length;return i=!i&&BA.isArray(n)?n.length:i,g?(BA.hasOwnProp(n,i)?n[i]=BA.isArray(n[i])?n[i].concat(s):[n[i],s]:n[i]=s,!a):((!n[i]||!BA.isObject(n[i]))&&(n[i]=[]),e(t,s,n[i],r)&&BA.isArray(n[i])&&(n[i]=vI(n[i])),!a)}if(BA.isFormData(A)&&BA.isFunction(A.entries)){const t={};return BA.forEachEntry(A,(s,n)=>{e(GI(s),n,t,0)}),t}return null}const Fs=(A,e)=>A!=null&&BA.hasOwnProp(A,e)?A[e]:void 0;function SI(A,e,t){if(BA.isString(A))try{return(e||JSON.parse)(A),BA.trim(A)}catch(s){if(s.name!=="SyntaxError")throw s}return(t||JSON.stringify)(A)}const Nr={transitional:qa,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const s=t.getContentType()||"",n=s.indexOf("application/json")>-1,r=BA.isObject(e);if(r&&BA.isHTMLForm(e)&&(e=new FormData(e)),BA.isFormData(e))return n?JSON.stringify(rl(e)):e;if(BA.isArrayBuffer(e)||BA.isBuffer(e)||BA.isStream(e)||BA.isFile(e)||BA.isBlob(e)||BA.isReadableStream(e))return e;if(BA.isArrayBufferView(e))return e.buffer;if(BA.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let a;if(r){const g=Fs(this,"formSerializer");if(s.indexOf("application/x-www-form-urlencoded")>-1)return FI(e,g).toString();if((a=BA.isFileList(e))||s.indexOf("multipart/form-data")>-1){const Q=Fs(this,"env"),l=Q&&Q.FormData;return Jn(a?{"files[]":e}:e,l&&new l,g)}}return r||n?(t.setContentType("application/json",!1),SI(e)):e}],transformResponse:[function(e){const t=Fs(this,"transitional")||Nr.transitional,s=t&&t.forcedJSONParsing,n=Fs(this,"responseType"),r=n==="json";if(BA.isResponse(e)||BA.isReadableStream(e))return e;if(e&&BA.isString(e)&&(s&&!n||r)){const a=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e,Fs(this,"parseReviver"))}catch(g){if(a)throw g.name==="SyntaxError"?ne.from(g,ne.ERR_BAD_RESPONSE,this,null,Fs(this,"response")):g}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ot.classes.FormData,Blob:Ot.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};BA.forEach(["delete","get","head","post","put","patch"],A=>{Nr.headers[A]={}});const UI=BA.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),RI=A=>{const e={};let t,s,n;return A&&A.split(`
|
|
2
|
+
`).forEach(function(i){n=i.indexOf(":"),t=i.substring(0,n).trim().toLowerCase(),s=i.substring(n+1).trim(),!(!t||e[t]&&UI[t])&&(t==="set-cookie"?e[t]?e[t].push(s):e[t]=[s]:e[t]=e[t]?e[t]+", "+s:s)}),e},jg=Symbol("internals"),KI=/[^\x09\x20-\x7E\x80-\xFF]/g;function JI(A){let e=0,t=A.length;for(;e<t;){const s=A.charCodeAt(e);if(s!==9&&s!==32)break;e+=1}for(;t>e;){const s=A.charCodeAt(t-1);if(s!==9&&s!==32)break;t-=1}return e===0&&t===A.length?A:A.slice(e,t)}function or(A){return A&&String(A).trim().toLowerCase()}function LI(A){return JI(A.replace(KI,""))}function tn(A){return A===!1||A==null?A:BA.isArray(A)?A.map(tn):LI(String(A))}function jI(A){const e=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let s;for(;s=t.exec(A);)e[s[1]]=s[2];return e}const TI=A=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(A.trim());function ii(A,e,t,s,n){if(BA.isFunction(s))return s.call(this,e,t);if(n&&(e=t),!!BA.isString(e)){if(BA.isString(s))return e.indexOf(s)!==-1;if(BA.isRegExp(s))return s.test(e)}}function OI(A){return A.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,s)=>t.toUpperCase()+s)}function qI(A,e){const t=BA.toCamelCase(" "+e);["get","set","has"].forEach(s=>{Object.defineProperty(A,s+t,{value:function(n,r,i){return this[s].call(this,e,n,r,i)},configurable:!0})})}let so=class{constructor(e){e&&this.set(e)}set(e,t,s){const n=this;function r(a,g,Q){const l=or(g);if(!l)throw new Error("header name must be a non-empty string");const C=BA.findKey(n,l);(!C||n[C]===void 0||Q===!0||Q===void 0&&n[C]!==!1)&&(n[C||g]=tn(a))}const i=(a,g)=>BA.forEach(a,(Q,l)=>r(Q,l,g));if(BA.isPlainObject(e)||e instanceof this.constructor)i(e,t);else if(BA.isString(e)&&(e=e.trim())&&!TI(e))i(RI(e),t);else if(BA.isObject(e)&&BA.isIterable(e)){let a={},g,Q;for(const l of e){if(!BA.isArray(l))throw TypeError("Object iterator must return a key-value pair");a[Q=l[0]]=(g=a[Q])?BA.isArray(g)?[...g,l[1]]:[g,l[1]]:l[1]}i(a,t)}else e!=null&&r(t,e,s);return this}get(e,t){if(e=or(e),e){const s=BA.findKey(this,e);if(s){const n=this[s];if(!t)return n;if(t===!0)return jI(n);if(BA.isFunction(t))return t.call(this,n,s);if(BA.isRegExp(t))return t.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=or(e),e){const s=BA.findKey(this,e);return!!(s&&this[s]!==void 0&&(!t||ii(this,this[s],s,t)))}return!1}delete(e,t){const s=this;let n=!1;function r(i){if(i=or(i),i){const a=BA.findKey(s,i);a&&(!t||ii(s,s[a],a,t))&&(delete s[a],n=!0)}}return BA.isArray(e)?e.forEach(r):r(e),n}clear(e){const t=Object.keys(this);let s=t.length,n=!1;for(;s--;){const r=t[s];(!e||ii(this,this[r],r,e,!0))&&(delete this[r],n=!0)}return n}normalize(e){const t=this,s={};return BA.forEach(this,(n,r)=>{const i=BA.findKey(s,r);if(i){t[i]=tn(n),delete t[r];return}const a=e?OI(r):String(r).trim();a!==r&&delete t[r],t[a]=tn(n),s[a]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return BA.forEach(this,(s,n)=>{s!=null&&s!==!1&&(t[n]=e&&BA.isArray(s)?s.join(", "):s)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join(`
|
|
3
|
+
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const s=new this(e);return t.forEach(n=>s.set(n)),s}static accessor(e){const s=(this[jg]=this[jg]={accessors:{}}).accessors,n=this.prototype;function r(i){const a=or(i);s[a]||(qI(n,i),s[a]=!0)}return BA.isArray(e)?e.forEach(r):r(e),this}};so.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);BA.reduceDescriptors(so.prototype,({value:A},e)=>{let t=e[0].toUpperCase()+e.slice(1);return{get:()=>A,set(s){this[t]=s}}});BA.freezeMethods(so);function ai(A,e){const t=this||Nr,s=e||t,n=so.from(s.headers);let r=s.data;return BA.forEach(A,function(a){r=a.call(t,r,n.normalize(),e?e.status:void 0)}),n.normalize(),r}function nl(A){return!!(A&&A.__CANCEL__)}let kr=class extends ne{constructor(e,t,s){super(e??"canceled",ne.ERR_CANCELED,t,s),this.name="CanceledError",this.__CANCEL__=!0}};function il(A,e,t){const s=t.config.validateStatus;!t.status||!s||s(t.status)?A(t):e(new ne("Request failed with status code "+t.status,[ne.ERR_BAD_REQUEST,ne.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t))}function YI(A){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(A);return e&&e[1]||""}function HI(A,e){A=A||10;const t=new Array(A),s=new Array(A);let n=0,r=0,i;return e=e!==void 0?e:1e3,function(g){const Q=Date.now(),l=s[r];i||(i=Q),t[n]=g,s[n]=Q;let C=r,I=0;for(;C!==n;)I+=t[C++],C=C%A;if(n=(n+1)%A,n===r&&(r=(r+1)%A),Q-i<e)return;const c=l&&Q-l;return c?Math.round(I*1e3/c):void 0}}function PI(A,e){let t=0,s=1e3/e,n,r;const i=(Q,l=Date.now())=>{t=l,n=null,r&&(clearTimeout(r),r=null),A(...Q)};return[(...Q)=>{const l=Date.now(),C=l-t;C>=s?i(Q,l):(n=Q,r||(r=setTimeout(()=>{r=null,i(n)},s-C)))},()=>n&&i(n)]}const In=(A,e,t=3)=>{let s=0;const n=HI(50,250);return PI(r=>{const i=r.loaded,a=r.lengthComputable?r.total:void 0,g=a!=null?Math.min(i,a):i,Q=Math.max(0,g-s),l=n(Q);s=Math.max(s,g);const C={loaded:g,total:a,progress:a?g/a:void 0,bytes:Q,rate:l||void 0,estimated:l&&a?(a-g)/l:void 0,event:r,lengthComputable:a!=null,[e?"download":"upload"]:!0};A(C)},t)},Tg=(A,e)=>{const t=A!=null;return[s=>e[0]({lengthComputable:t,total:A,loaded:s}),e[1]]},Og=A=>(...e)=>BA.asap(()=>A(...e)),WI=Ot.hasStandardBrowserEnv?((A,e)=>t=>(t=new URL(t,Ot.origin),A.protocol===t.protocol&&A.host===t.host&&(e||A.port===t.port)))(new URL(Ot.origin),Ot.navigator&&/(msie|trident)/i.test(Ot.navigator.userAgent)):()=>!0,zI=Ot.hasStandardBrowserEnv?{write(A,e,t,s,n,r,i){if(typeof document>"u")return;const a=[`${A}=${encodeURIComponent(e)}`];BA.isNumber(t)&&a.push(`expires=${new Date(t).toUTCString()}`),BA.isString(s)&&a.push(`path=${s}`),BA.isString(n)&&a.push(`domain=${n}`),r===!0&&a.push("secure"),BA.isString(i)&&a.push(`SameSite=${i}`),document.cookie=a.join("; ")},read(A){if(typeof document>"u")return null;const e=document.cookie.match(new RegExp("(?:^|; )"+A+"=([^;]*)"));return e?decodeURIComponent(e[1]):null},remove(A){this.write(A,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function VI(A){return typeof A!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(A)}function ZI(A,e){return e?A.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):A}function al(A,e,t){let s=!VI(e);return A&&(s||t===!1)?ZI(A,e):e}const qg=A=>A instanceof so?{...A}:A;function fs(A,e){e=e||{};const t=Object.create(null);Object.defineProperty(t,"hasOwnProperty",{value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function s(Q,l,C,I){return BA.isPlainObject(Q)&&BA.isPlainObject(l)?BA.merge.call({caseless:I},Q,l):BA.isPlainObject(l)?BA.merge({},l):BA.isArray(l)?l.slice():l}function n(Q,l,C,I){if(BA.isUndefined(l)){if(!BA.isUndefined(Q))return s(void 0,Q,C,I)}else return s(Q,l,C,I)}function r(Q,l){if(!BA.isUndefined(l))return s(void 0,l)}function i(Q,l){if(BA.isUndefined(l)){if(!BA.isUndefined(Q))return s(void 0,Q)}else return s(void 0,l)}function a(Q,l,C){if(BA.hasOwnProp(e,C))return s(Q,l);if(BA.hasOwnProp(A,C))return s(void 0,Q)}const g={url:r,method:r,data:r,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,allowedSocketPaths:i,responseEncoding:i,validateStatus:a,headers:(Q,l,C)=>n(qg(Q),qg(l),C,!0)};return BA.forEach(Object.keys({...A,...e}),function(l){if(l==="__proto__"||l==="constructor"||l==="prototype")return;const C=BA.hasOwnProp(g,l)?g[l]:n,I=BA.hasOwnProp(A,l)?A[l]:void 0,c=BA.hasOwnProp(e,l)?e[l]:void 0,u=C(I,c,l);BA.isUndefined(u)&&C!==a||(t[l]=u)}),t}const gl=A=>{const e=fs({},A),t=I=>BA.hasOwnProp(e,I)?e[I]:void 0,s=t("data");let n=t("withXSRFToken");const r=t("xsrfHeaderName"),i=t("xsrfCookieName");let a=t("headers");const g=t("auth"),Q=t("baseURL"),l=t("allowAbsoluteUrls"),C=t("url");if(e.headers=a=so.from(a),e.url=sl(al(Q,C,l),A.params,A.paramsSerializer),g&&a.set("Authorization","Basic "+btoa((g.username||"")+":"+(g.password?unescape(encodeURIComponent(g.password)):""))),BA.isFormData(s)){if(Ot.hasStandardBrowserEnv||Ot.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(BA.isFunction(s.getHeaders)){const I=s.getHeaders(),c=["content-type","content-length"];Object.entries(I).forEach(([u,f])=>{c.includes(u.toLowerCase())&&a.set(u,f)})}}if(Ot.hasStandardBrowserEnv&&(BA.isFunction(n)&&(n=n(e)),n===!0||n==null&&WI(e.url))){const c=r&&i&&zI.read(i);c&&a.set(r,c)}return e},_I=typeof XMLHttpRequest<"u",XI=_I&&function(A){return new Promise(function(t,s){const n=gl(A);let r=n.data;const i=so.from(n.headers).normalize();let{responseType:a,onUploadProgress:g,onDownloadProgress:Q}=n,l,C,I,c,u;function f(){c&&c(),u&&u(),n.cancelToken&&n.cancelToken.unsubscribe(l),n.signal&&n.signal.removeEventListener("abort",l)}let h=new XMLHttpRequest;h.open(n.method.toUpperCase(),n.url,!0),h.timeout=n.timeout;function k(){if(!h)return;const D=so.from("getAllResponseHeaders"in h&&h.getAllResponseHeaders()),J={data:!a||a==="text"||a==="json"?h.responseText:h.response,status:h.status,statusText:h.statusText,headers:D,config:A,request:h};il(function(eA){t(eA),f()},function(eA){s(eA),f()},J),h=null}"onloadend"in h?h.onloadend=k:h.onreadystatechange=function(){!h||h.readyState!==4||h.status===0&&!(h.responseURL&&h.responseURL.indexOf("file:")===0)||setTimeout(k)},h.onabort=function(){h&&(s(new ne("Request aborted",ne.ECONNABORTED,A,h)),h=null)},h.onerror=function(O){const J=O&&O.message?O.message:"Network Error",V=new ne(J,ne.ERR_NETWORK,A,h);V.event=O||null,s(V),h=null},h.ontimeout=function(){let O=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded";const J=n.transitional||qa;n.timeoutErrorMessage&&(O=n.timeoutErrorMessage),s(new ne(O,J.clarifyTimeoutError?ne.ETIMEDOUT:ne.ECONNABORTED,A,h)),h=null},r===void 0&&i.setContentType(null),"setRequestHeader"in h&&BA.forEach(i.toJSON(),function(O,J){h.setRequestHeader(J,O)}),BA.isUndefined(n.withCredentials)||(h.withCredentials=!!n.withCredentials),a&&a!=="json"&&(h.responseType=n.responseType),Q&&([I,u]=In(Q,!0),h.addEventListener("progress",I)),g&&h.upload&&([C,c]=In(g),h.upload.addEventListener("progress",C),h.upload.addEventListener("loadend",c)),(n.cancelToken||n.signal)&&(l=D=>{h&&(s(!D||D.type?new kr(null,A,h):D),h.abort(),h=null)},n.cancelToken&&n.cancelToken.subscribe(l),n.signal&&(n.signal.aborted?l():n.signal.addEventListener("abort",l)));const v=YI(n.url);if(v&&Ot.protocols.indexOf(v)===-1){s(new ne("Unsupported protocol "+v+":",ne.ERR_BAD_REQUEST,A));return}h.send(r||null)})},$I=(A,e)=>{const{length:t}=A=A?A.filter(Boolean):[];if(e||t){let s=new AbortController,n;const r=function(Q){if(!n){n=!0,a();const l=Q instanceof Error?Q:this.reason;s.abort(l instanceof ne?l:new kr(l instanceof Error?l.message:l))}};let i=e&&setTimeout(()=>{i=null,r(new ne(`timeout of ${e}ms exceeded`,ne.ETIMEDOUT))},e);const a=()=>{A&&(i&&clearTimeout(i),i=null,A.forEach(Q=>{Q.unsubscribe?Q.unsubscribe(r):Q.removeEventListener("abort",r)}),A=null)};A.forEach(Q=>Q.addEventListener("abort",r));const{signal:g}=s;return g.unsubscribe=()=>BA.asap(a),g}},Au=function*(A,e){let t=A.byteLength;if(t<e){yield A;return}let s=0,n;for(;s<t;)n=s+e,yield A.slice(s,n),s=n},eu=async function*(A,e){for await(const t of tu(A))yield*Au(t,e)},tu=async function*(A){if(A[Symbol.asyncIterator]){yield*A;return}const e=A.getReader();try{for(;;){const{done:t,value:s}=await e.read();if(t)break;yield s}}finally{await e.cancel()}},Yg=(A,e,t,s)=>{const n=eu(A,e);let r=0,i,a=g=>{i||(i=!0,s&&s(g))};return new ReadableStream({async pull(g){try{const{done:Q,value:l}=await n.next();if(Q){a(),g.close();return}let C=l.byteLength;if(t){let I=r+=C;t(I)}g.enqueue(new Uint8Array(l))}catch(Q){throw a(Q),Q}},cancel(g){return a(g),n.return()}},{highWaterMark:2})},Hg=64*1024,{isFunction:Tr}=BA,ou=(({Request:A,Response:e})=>({Request:A,Response:e}))(BA.global),{ReadableStream:Pg,TextEncoder:Wg}=BA.global,zg=(A,...e)=>{try{return!!A(...e)}catch{return!1}},su=A=>{A=BA.merge.call({skipUndefined:!0},ou,A);const{fetch:e,Request:t,Response:s}=A,n=e?Tr(e):typeof fetch=="function",r=Tr(t),i=Tr(s);if(!n)return!1;const a=n&&Tr(Pg),g=n&&(typeof Wg=="function"?(u=>f=>u.encode(f))(new Wg):async u=>new Uint8Array(await new t(u).arrayBuffer())),Q=r&&a&&zg(()=>{let u=!1;const f=new t(Ot.origin,{body:new Pg,method:"POST",get duplex(){return u=!0,"half"}}),h=f.headers.has("Content-Type");return f.body!=null&&f.body.cancel(),u&&!h}),l=i&&a&&zg(()=>BA.isReadableStream(new s("").body)),C={stream:l&&(u=>u.body)};n&&["text","arrayBuffer","blob","formData","stream"].forEach(u=>{!C[u]&&(C[u]=(f,h)=>{let k=f&&f[u];if(k)return k.call(f);throw new ne(`Response type '${u}' is not supported`,ne.ERR_NOT_SUPPORT,h)})});const I=async u=>{if(u==null)return 0;if(BA.isBlob(u))return u.size;if(BA.isSpecCompliantForm(u))return(await new t(Ot.origin,{method:"POST",body:u}).arrayBuffer()).byteLength;if(BA.isArrayBufferView(u)||BA.isArrayBuffer(u))return u.byteLength;if(BA.isURLSearchParams(u)&&(u=u+""),BA.isString(u))return(await g(u)).byteLength},c=async(u,f)=>{const h=BA.toFiniteNumber(u.getContentLength());return h??I(f)};return async u=>{let{url:f,method:h,data:k,signal:v,cancelToken:D,timeout:O,onDownloadProgress:J,onUploadProgress:V,responseType:eA,headers:X,withCredentials:K="same-origin",fetchOptions:W}=gl(u),T=e||fetch;eA=eA?(eA+"").toLowerCase():"text";let L=$I([v,D&&D.toAbortSignal()],O),w=null;const B=L&&L.unsubscribe&&(()=>{L.unsubscribe()});let d;try{if(V&&Q&&h!=="get"&&h!=="head"&&(d=await c(X,k))!==0){let b=new t(f,{method:"POST",body:k,duplex:"half"}),E;if(BA.isFormData(k)&&(E=b.headers.get("content-type"))&&X.setContentType(E),b.body){const[p,U]=Tg(d,In(Og(V)));k=Yg(b.body,Hg,p,U)}}BA.isString(K)||(K=K?"include":"omit");const N=r&&"credentials"in t.prototype;if(BA.isFormData(k)){const b=X.getContentType();b&&/^multipart\/form-data/i.test(b)&&!/boundary=/i.test(b)&&X.delete("content-type")}const G={...W,signal:L,method:h.toUpperCase(),headers:X.normalize().toJSON(),body:k,duplex:"half",credentials:N?K:void 0};w=r&&new t(f,G);let S=await(r?T(w,W):T(f,G));const j=l&&(eA==="stream"||eA==="response");if(l&&(J||j&&B)){const b={};["status","statusText","headers"].forEach(R=>{b[R]=S[R]});const E=BA.toFiniteNumber(S.headers.get("content-length")),[p,U]=J&&Tg(E,In(Og(J),!0))||[];S=new s(Yg(S.body,Hg,p,()=>{U&&U(),B&&B()}),b)}eA=eA||"text";let H=await C[BA.findKey(C,eA)||"text"](S,u);return!j&&B&&B(),await new Promise((b,E)=>{il(b,E,{data:H,headers:so.from(S.headers),status:S.status,statusText:S.statusText,config:u,request:w})})}catch(N){throw B&&B(),N&&N.name==="TypeError"&&/Load failed|fetch/i.test(N.message)?Object.assign(new ne("Network Error",ne.ERR_NETWORK,u,w,N&&N.response),{cause:N.cause||N}):ne.from(N,N&&N.code,u,w,N&&N.response)}}},ru=new Map,Ql=A=>{let e=A&&A.env||{};const{fetch:t,Request:s,Response:n}=e,r=[s,n,t];let i=r.length,a=i,g,Q,l=ru;for(;a--;)g=r[a],Q=l.get(g),Q===void 0&&l.set(g,Q=a?new Map:su(e)),l=Q;return Q};Ql();const Ha={http:hI,xhr:XI,fetch:{get:Ql}};BA.forEach(Ha,(A,e)=>{if(A){try{Object.defineProperty(A,"name",{value:e})}catch{}Object.defineProperty(A,"adapterName",{value:e})}});const Vg=A=>`- ${A}`,nu=A=>BA.isFunction(A)||A===null||A===!1;function iu(A,e){A=BA.isArray(A)?A:[A];const{length:t}=A;let s,n;const r={};for(let i=0;i<t;i++){s=A[i];let a;if(n=s,!nu(s)&&(n=Ha[(a=String(s)).toLowerCase()],n===void 0))throw new ne(`Unknown adapter '${a}'`);if(n&&(BA.isFunction(n)||(n=n.get(e))))break;r[a||"#"+i]=n}if(!n){const i=Object.entries(r).map(([g,Q])=>`adapter ${g} `+(Q===!1?"is not supported by the environment":"is not available in the build"));let a=t?i.length>1?`since :
|
|
4
|
+
`+i.map(Vg).join(`
|
|
5
|
+
`):" "+Vg(i[0]):"as no adapter specified";throw new ne("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return n}const Bl={getAdapter:iu,adapters:Ha};function gi(A){if(A.cancelToken&&A.cancelToken.throwIfRequested(),A.signal&&A.signal.aborted)throw new kr(null,A)}function Zg(A){return gi(A),A.headers=so.from(A.headers),A.data=ai.call(A,A.transformRequest),["post","put","patch"].indexOf(A.method)!==-1&&A.headers.setContentType("application/x-www-form-urlencoded",!1),Bl.getAdapter(A.adapter||Nr.adapter,A)(A).then(function(s){return gi(A),s.data=ai.call(A,A.transformResponse,s),s.headers=so.from(s.headers),s},function(s){return nl(s)||(gi(A),s&&s.response&&(s.response.data=ai.call(A,A.transformResponse,s.response),s.response.headers=so.from(s.response.headers))),Promise.reject(s)})}const ll="1.15.2",Ln={};["object","boolean","number","function","string","symbol"].forEach((A,e)=>{Ln[A]=function(s){return typeof s===A||"a"+(e<1?"n ":" ")+A}});const _g={};Ln.transitional=function(e,t,s){function n(r,i){return"[Axios v"+ll+"] Transitional option '"+r+"'"+i+(s?". "+s:"")}return(r,i,a)=>{if(e===!1)throw new ne(n(i," has been removed"+(t?" in "+t:"")),ne.ERR_DEPRECATED);return t&&!_g[i]&&(_g[i]=!0,console.warn(n(i," has been deprecated since v"+t+" and will be removed in the near future"))),e?e(r,i,a):!0}};Ln.spelling=function(e){return(t,s)=>(console.warn(`${s} is likely a misspelling of ${e}`),!0)};function au(A,e,t){if(typeof A!="object")throw new ne("options must be an object",ne.ERR_BAD_OPTION_VALUE);const s=Object.keys(A);let n=s.length;for(;n-- >0;){const r=s[n],i=Object.prototype.hasOwnProperty.call(e,r)?e[r]:void 0;if(i){const a=A[r],g=a===void 0||i(a,r,A);if(g!==!0)throw new ne("option "+r+" must be "+g,ne.ERR_BAD_OPTION_VALUE);continue}if(t!==!0)throw new ne("Unknown option "+r,ne.ERR_BAD_OPTION)}}const on={assertOptions:au,validators:Ln},Qo=on.validators;let ds=class{constructor(e){this.defaults=e||{},this.interceptors={request:new Lg,response:new Lg}}async request(e,t){try{return await this._request(e,t)}catch(s){if(s instanceof Error){let n={};Error.captureStackTrace?Error.captureStackTrace(n):n=new Error;const r=(()=>{if(!n.stack)return"";const i=n.stack.indexOf(`
|
|
6
|
+
`);return i===-1?"":n.stack.slice(i+1)})();try{if(!s.stack)s.stack=r;else if(r){const i=r.indexOf(`
|
|
7
|
+
`),a=i===-1?-1:r.indexOf(`
|
|
8
|
+
`,i+1),g=a===-1?"":r.slice(a+1);String(s.stack).endsWith(g)||(s.stack+=`
|
|
9
|
+
`+r)}}catch{}}throw s}}_request(e,t){typeof e=="string"?(t=t||{},t.url=e):t=e||{},t=fs(this.defaults,t);const{transitional:s,paramsSerializer:n,headers:r}=t;s!==void 0&&on.assertOptions(s,{silentJSONParsing:Qo.transitional(Qo.boolean),forcedJSONParsing:Qo.transitional(Qo.boolean),clarifyTimeoutError:Qo.transitional(Qo.boolean),legacyInterceptorReqResOrdering:Qo.transitional(Qo.boolean)},!1),n!=null&&(BA.isFunction(n)?t.paramsSerializer={serialize:n}:on.assertOptions(n,{encode:Qo.function,serialize:Qo.function},!0)),t.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),on.assertOptions(t,{baseUrl:Qo.spelling("baseURL"),withXsrfToken:Qo.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let i=r&&BA.merge(r.common,r[t.method]);r&&BA.forEach(["delete","get","head","post","put","patch","common"],u=>{delete r[u]}),t.headers=so.concat(i,r);const a=[];let g=!0;this.interceptors.request.forEach(function(f){if(typeof f.runWhen=="function"&&f.runWhen(t)===!1)return;g=g&&f.synchronous;const h=t.transitional||qa;h&&h.legacyInterceptorReqResOrdering?a.unshift(f.fulfilled,f.rejected):a.push(f.fulfilled,f.rejected)});const Q=[];this.interceptors.response.forEach(function(f){Q.push(f.fulfilled,f.rejected)});let l,C=0,I;if(!g){const u=[Zg.bind(this),void 0];for(u.unshift(...a),u.push(...Q),I=u.length,l=Promise.resolve(t);C<I;)l=l.then(u[C++],u[C++]);return l}I=a.length;let c=t;for(;C<I;){const u=a[C++],f=a[C++];try{c=u(c)}catch(h){f.call(this,h);break}}try{l=Zg.call(this,c)}catch(u){return Promise.reject(u)}for(C=0,I=Q.length;C<I;)l=l.then(Q[C++],Q[C++]);return l}getUri(e){e=fs(this.defaults,e);const t=al(e.baseURL,e.url,e.allowAbsoluteUrls);return sl(t,e.params,e.paramsSerializer)}};BA.forEach(["delete","get","head","options"],function(e){ds.prototype[e]=function(t,s){return this.request(fs(s||{},{method:e,url:t,data:(s||{}).data}))}});BA.forEach(["post","put","patch"],function(e){function t(s){return function(r,i,a){return this.request(fs(a||{},{method:e,headers:s?{"Content-Type":"multipart/form-data"}:{},url:r,data:i}))}}ds.prototype[e]=t(),ds.prototype[e+"Form"]=t(!0)});let gu=class cl{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let t;this.promise=new Promise(function(r){t=r});const s=this;this.promise.then(n=>{if(!s._listeners)return;let r=s._listeners.length;for(;r-- >0;)s._listeners[r](n);s._listeners=null}),this.promise.then=n=>{let r;const i=new Promise(a=>{s.subscribe(a),r=a}).then(n);return i.cancel=function(){s.unsubscribe(r)},i},e(function(r,i,a){s.reason||(s.reason=new kr(r,i,a),t(s.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}toAbortSignal(){const e=new AbortController,t=s=>{e.abort(s)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let e;return{token:new cl(function(n){e=n}),cancel:e}}};function Qu(A){return function(t){return A.apply(null,t)}}function Bu(A){return BA.isObject(A)&&A.isAxiosError===!0}const Vi={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Vi).forEach(([A,e])=>{Vi[e]=A});function El(A){const e=new ds(A),t=WB(ds.prototype.request,e);return BA.extend(t,ds.prototype,e,{allOwnKeys:!0}),BA.extend(t,e,null,{allOwnKeys:!0}),t.create=function(n){return El(fs(A,n))},t}const mt=El(Nr);mt.Axios=ds;mt.CanceledError=kr;mt.CancelToken=gu;mt.isCancel=nl;mt.VERSION=ll;mt.toFormData=Jn;mt.AxiosError=ne;mt.Cancel=mt.CanceledError;mt.all=function(e){return Promise.all(e)};mt.spread=Qu;mt.isAxiosError=Bu;mt.mergeConfig=fs;mt.AxiosHeaders=so;mt.formToJSON=A=>rl(BA.isHTMLForm(A)?new FormData(A):A);mt.getAdapter=Bl.getAdapter;mt.HttpStatusCode=Vi;mt.default=mt;const{Axios:QN,AxiosError:BN,CanceledError:lN,isCancel:cN,CancelToken:EN,VERSION:CN,all:IN,Cancel:uN,isAxiosError:dN,spread:hN,toFormData:pN,AxiosHeaders:fN,HttpStatusCode:mN,formToJSON:wN,getAdapter:xN,mergeConfig:DN}=mt,lu=({onRequest:A,onSseError:e,onSseEvent:t,responseTransformer:s,responseValidator:n,sseDefaultRetryDelay:r,sseMaxRetryAttempts:i,sseMaxRetryDelay:a,sseSleepFn:g,url:Q,...l})=>{let C;const I=g??(f=>new Promise(h=>setTimeout(h,f)));return{stream:async function*(){let f=r??3e3,h=0;const k=l.signal??new AbortController().signal;for(;!k.aborted;){h++;const v=l.headers instanceof Headers?l.headers:new Headers(l.headers);C!==void 0&&v.set("Last-Event-ID",C);try{const D={redirect:"follow",...l,body:l.serializedBody,headers:v,signal:k};let O=new Request(Q,D);A&&(O=await A(Q,D));const V=await(l.fetch??globalThis.fetch)(O);if(!V.ok)throw new Error(`SSE failed: ${V.status} ${V.statusText}`);if(!V.body)throw new Error("No body in SSE response");const eA=V.body.pipeThrough(new TextDecoderStream).getReader();let X="";const K=()=>{try{eA.cancel()}catch{}};k.addEventListener("abort",K);try{for(;;){const{done:W,value:T}=await eA.read();if(W)break;X+=T;const L=X.split(`
|
|
10
|
+
|
|
11
|
+
`);X=L.pop()??"";for(const w of L){const B=w.split(`
|
|
12
|
+
`),d=[];let N;for(const j of B)if(j.startsWith("data:"))d.push(j.replace(/^data:\s*/,""));else if(j.startsWith("event:"))N=j.replace(/^event:\s*/,"");else if(j.startsWith("id:"))C=j.replace(/^id:\s*/,"");else if(j.startsWith("retry:")){const H=Number.parseInt(j.replace(/^retry:\s*/,""),10);Number.isNaN(H)||(f=H)}let G,S=!1;if(d.length){const j=d.join(`
|
|
13
|
+
`);try{G=JSON.parse(j),S=!0}catch{G=j}}S&&(n&&await n(G),s&&(G=await s(G))),t?.({data:G,event:N,id:C,retry:f}),d.length&&(yield G)}}}finally{k.removeEventListener("abort",K),eA.releaseLock()}break}catch(D){if(e?.(D),i!==void 0&&h>=i)break;const O=Math.min(f*2**(h-1),a??3e4);await I(O)}}}()}},cu=A=>{switch(A){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Eu=A=>{switch(A){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Cu=A=>{switch(A){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Cl=({allowReserved:A,explode:e,name:t,style:s,value:n})=>{if(!e){const a=(A?n:n.map(g=>encodeURIComponent(g))).join(Eu(s));switch(s){case"label":return`.${a}`;case"matrix":return`;${t}=${a}`;case"simple":return a;default:return`${t}=${a}`}}const r=cu(s),i=n.map(a=>s==="label"||s==="simple"?A?a:encodeURIComponent(a):jn({allowReserved:A,name:t,value:a})).join(r);return s==="label"||s==="matrix"?r+i:i},jn=({allowReserved:A,name:e,value:t})=>{if(t==null)return"";if(typeof t=="object")throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${A?t:encodeURIComponent(t)}`},Il=({allowReserved:A,explode:e,name:t,style:s,value:n,valueOnly:r})=>{if(n instanceof Date)return r?n.toISOString():`${t}=${n.toISOString()}`;if(s!=="deepObject"&&!e){let g=[];Object.entries(n).forEach(([l,C])=>{g=[...g,l,A?C:encodeURIComponent(C)]});const Q=g.join(",");switch(s){case"form":return`${t}=${Q}`;case"label":return`.${Q}`;case"matrix":return`;${t}=${Q}`;default:return Q}}const i=Cu(s),a=Object.entries(n).map(([g,Q])=>jn({allowReserved:A,name:s==="deepObject"?`${t}[${g}]`:g,value:Q})).join(i);return s==="label"||s==="matrix"?i+a:a},Iu=/\{[^{}]+\}/g,uu=({path:A,url:e})=>{let t=e;const s=e.match(Iu);if(s)for(const n of s){let r=!1,i=n.substring(1,n.length-1),a="simple";i.endsWith("*")&&(r=!0,i=i.substring(0,i.length-1)),i.startsWith(".")?(i=i.substring(1),a="label"):i.startsWith(";")&&(i=i.substring(1),a="matrix");const g=A[i];if(g==null)continue;if(Array.isArray(g)){t=t.replace(n,Cl({explode:r,name:i,style:a,value:g}));continue}if(typeof g=="object"){t=t.replace(n,Il({explode:r,name:i,style:a,value:g,valueOnly:!0}));continue}if(a==="matrix"){t=t.replace(n,`;${jn({name:i,value:g})}`);continue}const Q=encodeURIComponent(a==="label"?`.${g}`:g);t=t.replace(n,Q)}return t},du=({baseUrl:A,path:e,query:t,querySerializer:s,url:n})=>{const r=n.startsWith("/")?n:`/${n}`;let i=(A??"")+r;e&&(i=uu({path:e,url:i}));let a=t?s(t):"";return a.startsWith("?")&&(a=a.substring(1)),a&&(i+=`?${a}`),i};function hu(A){const e=A.body!==void 0;if(e&&A.bodySerializer)return"serializedBody"in A?A.serializedBody!==void 0&&A.serializedBody!==""?A.serializedBody:null:A.body!==""?A.body:null;if(e)return A.body}const pu=async(A,e)=>{const t=typeof e=="function"?await e(A):e;if(t)return A.scheme==="bearer"?`Bearer ${t}`:A.scheme==="basic"?`Basic ${btoa(t)}`:t},fu=({allowReserved:A,array:e,object:t}={})=>n=>{const r=[];if(n&&typeof n=="object")for(const i in n){const a=n[i];if(a!=null)if(Array.isArray(a)){const g=Cl({allowReserved:A,explode:!0,name:i,style:"form",value:a,...e});g&&r.push(g)}else if(typeof a=="object"){const g=Il({allowReserved:A,explode:!0,name:i,style:"deepObject",value:a,...t});g&&r.push(g)}else{const g=jn({allowReserved:A,name:i,value:a});g&&r.push(g)}}return r.join("&")},mu=(A,e)=>e?e in A.headers||A.query?.[e]?!0:"Cookie"in A.headers&&A.headers.Cookie&&typeof A.headers.Cookie=="string"?A.headers.Cookie.includes(`${e}=`):!1:!1,wu=async({security:A,...e})=>{for(const t of A){if(mu(e,t.name))continue;const s=await pu(t,e.auth);if(!s)continue;const n=t.name??"Authorization";switch(t.in){case"query":e.query||(e.query={}),e.query[n]=s;break;case"cookie":{const r=`${n}=${s}`;"Cookie"in e.headers&&e.headers.Cookie?e.headers.Cookie=`${e.headers.Cookie}; ${r}`:e.headers.Cookie=r;break}default:e.headers[n]=s;break}}},Xg=A=>{const e=A.axios?.defaults?.baseURL,t=A.baseURL&&typeof A.baseURL=="string"?A.baseURL:e;return du({baseUrl:t,path:A.path,query:A.paramsSerializer?void 0:A.query,querySerializer:typeof A.querySerializer=="function"?A.querySerializer:fu(A.querySerializer),url:A.url})},$g=(A,e)=>{const t={...A,...e};return t.headers=Zi(A.headers,e.headers),t},xu=["common","delete","get","head","patch","post","put"],Zi=(...A)=>{const e={};for(const t of A){if(!t||typeof t!="object")continue;const s=Object.entries(t);for(const[n,r]of s)if(xu.includes(n)&&typeof r=="object")e[n]={...e[n],...r};else if(r===null)delete e[n];else if(Array.isArray(r))for(const i of r)e[n]=[...e[n]??[],i];else r!==void 0&&(e[n]=typeof r=="object"?JSON.stringify(r):r)}return e},ul=(A={})=>({...A}),Du=(A={})=>{let e=$g(ul(),A),t;if(e.axios&&!("Axios"in e.axios))t=e.axios;else{const{auth:Q,...l}=e;t=mt.create(l)}const s=()=>({...e}),n=Q=>(e=$g(e,Q),t.defaults={...t.defaults,...e,headers:Zi(t.defaults.headers,e.headers)},s()),r=async Q=>{const l={...e,...Q,axios:Q.axios??e.axios??t,headers:Zi(e.headers,Q.headers)};l.security&&await wu({...l,security:l.security}),l.requestValidator&&await l.requestValidator(l),l.body!==void 0&&l.bodySerializer&&(l.body=l.bodySerializer(l.body));const C=Xg(l);return{opts:l,url:C}},i=async Q=>{const{opts:l,url:C}=await r(Q);try{const I=l.axios,{auth:c,...u}=l,f=await I({...u,baseURL:"",data:hu(l),headers:l.headers,params:l.paramsSerializer?l.query:void 0,url:C});let{data:h}=f;return l.responseType==="json"&&(l.responseValidator&&await l.responseValidator(h),l.responseTransformer&&(h=await l.responseTransformer(h))),{...f,data:h??{}}}catch(I){const c=I;if(l.throwOnError)throw c;return c.error=c.response?.data??{},c}},a=Q=>l=>i({...l,method:Q}),g=Q=>async l=>{const{opts:C,url:I}=await r(l);return lu({...C,body:C.body,headers:C.headers,method:Q,signal:C.signal,url:I})};return{buildUrl:Xg,connect:a("CONNECT"),delete:a("DELETE"),get:a("GET"),getConfig:s,head:a("HEAD"),instance:t,options:a("OPTIONS"),patch:a("PATCH"),post:a("POST"),put:a("PUT"),request:i,setConfig:n,sse:{connect:g("CONNECT"),delete:g("DELETE"),get:g("GET"),head:g("HEAD"),options:g("OPTIONS"),patch:g("PATCH"),post:g("POST"),put:g("PUT"),trace:g("TRACE")},trace:a("TRACE")}},yu=(A={})=>({...A,baseURL:A.baseURL}),MA=Du(yu(ul())),Nu=A=>(A?.client??MA).get({responseType:"json",url:"/v1/auth/status",...A}),ku=A=>(A?.client??MA).post({responseType:"json",url:"/v1/auth/ottorouter/setup",...A}),Mu=A=>(A.client??MA).post({responseType:"json",url:"/v1/auth/ottorouter/import",...A,headers:{"Content-Type":"application/json",...A.headers}}),bu=A=>(A?.client??MA).get({responseType:"json",url:"/v1/auth/ottorouter/export",...A}),Fu=A=>(A.client??MA).delete({responseType:"json",url:"/v1/auth/{provider}",...A}),Gu=A=>(A.client??MA).post({responseType:"json",url:"/v1/auth/{provider}",...A,headers:{"Content-Type":"application/json",...A.headers}}),vu=A=>(A.client??MA).post({responseType:"json",url:"/v1/auth/{provider}/oauth/url",...A,headers:{"Content-Type":"application/json",...A.headers}}),Su=A=>(A.client??MA).post({responseType:"json",url:"/v1/auth/{provider}/oauth/exchange",...A,headers:{"Content-Type":"application/json",...A.headers}}),Uu=A=>(A?.client??MA).post({responseType:"json",url:"/v1/auth/copilot/device/start",...A}),Ru=A=>(A.client??MA).post({responseType:"json",url:"/v1/auth/copilot/device/poll",...A,headers:{"Content-Type":"application/json",...A.headers}}),Ku=A=>(A?.client??MA).get({responseType:"json",url:"/v1/auth/copilot/methods",...A}),Ju=A=>(A.client??MA).post({responseType:"json",url:"/v1/auth/copilot/token",...A,headers:{"Content-Type":"application/json",...A.headers}}),Lu=A=>(A?.client??MA).post({responseType:"json",url:"/v1/auth/copilot/gh/import",...A}),ju=A=>(A?.client??MA).get({responseType:"json",url:"/v1/auth/copilot/diagnostics",...A}),Tu=A=>(A?.client??MA).post({responseType:"json",url:"/v1/auth/onboarding/complete",...A}),Ou=A=>(A.client??MA).post({responseType:"json",url:"/v1/sessions/{sessionId}/branch",...A,headers:{"Content-Type":"application/json",...A.headers}}),qu=A=>(A.client??MA).get({responseType:"json",url:"/v1/sessions/{sessionId}/branches",...A}),Yu=A=>(A.client??MA).get({responseType:"json",url:"/v1/sessions/{sessionId}/parent",...A}),Hu=A=>(A?.client??MA).get({responseType:"json",url:"/v1/config",...A}),Pu=A=>(A.client??MA).delete({responseType:"json",url:"/v1/config/providers/{provider}",...A}),Wu=A=>(A.client??MA).put({responseType:"json",url:"/v1/config/providers/{provider}",...A,headers:{"Content-Type":"application/json",...A.headers}}),zu=A=>(A.client??MA).get({responseType:"json",url:"/v1/config/providers/{provider}/models",...A}),Vu=A=>(A.client??MA).patch({responseType:"json",url:"/v1/config/defaults",...A,headers:{"Content-Type":"application/json",...A.headers}}),Zu=A=>(A?.client??MA).get({responseType:"json",url:"/v1/config/models",...A}),_u=A=>(A?.client??MA).get({responseType:"json",url:"/v1/files",...A}),Xu=A=>(A?.client??MA).get({responseType:"json",url:"/v1/files/tree",...A}),$u=A=>(A.client??MA).get({responseType:"json",url:"/v1/files/read",...A}),Ad=A=>(A?.client??MA).post({responseType:"json",url:"/v1/git/init",...A,headers:{"Content-Type":"application/json",...A?.headers}}),ed=A=>(A?.client??MA).get({responseType:"json",url:"/v1/git/status",...A}),AQ=A=>(A.client??MA).get({responseType:"json",url:"/v1/git/diff",...A}),td=A=>(A?.client??MA).get({responseType:"json",url:"/v1/git/branch",...A}),od=A=>(A.client??MA).post({responseType:"json",url:"/v1/git/stage",...A,headers:{"Content-Type":"application/json",...A.headers}}),sd=A=>(A.client??MA).post({responseType:"json",url:"/v1/git/unstage",...A,headers:{"Content-Type":"application/json",...A.headers}}),rd=A=>(A.client??MA).post({responseType:"json",url:"/v1/git/commit",...A,headers:{"Content-Type":"application/json",...A.headers}}),nd=A=>(A?.client??MA).post({responseType:"json",url:"/v1/git/generate-commit-message",...A,headers:{"Content-Type":"application/json",...A?.headers}}),id=A=>(A?.client??MA).post({responseType:"json",url:"/v1/git/push",...A,headers:{"Content-Type":"application/json",...A?.headers}}),ad=A=>(A?.client??MA).post({responseType:"json",url:"/v1/git/pull",...A,headers:{"Content-Type":"application/json",...A?.headers}}),gd=A=>(A.client??MA).post({responseType:"json",url:"/v1/git/restore",...A,headers:{"Content-Type":"application/json",...A.headers}}),Qd=A=>(A.client??MA).post({responseType:"json",url:"/v1/git/delete",...A,headers:{"Content-Type":"application/json",...A.headers}}),Bd=A=>(A.client??MA).delete({responseType:"json",url:"/v1/git/remotes",...A,headers:{"Content-Type":"application/json",...A.headers}}),ld=A=>(A?.client??MA).get({responseType:"json",url:"/v1/git/remotes",...A}),cd=A=>(A.client??MA).post({responseType:"json",url:"/v1/git/remotes",...A,headers:{"Content-Type":"application/json",...A.headers}}),Ed=A=>(A?.client??MA).get({responseType:"json",url:"/v1/mcp/servers",...A}),Cd=A=>(A.client??MA).post({responseType:"json",url:"/v1/mcp/servers",...A,headers:{"Content-Type":"application/json",...A.headers}}),Id=A=>(A.client??MA).delete({responseType:"json",url:"/v1/mcp/servers/{name}",...A}),ud=A=>(A.client??MA).post({responseType:"json",url:"/v1/mcp/servers/{name}/start",...A}),dd=A=>(A.client??MA).post({responseType:"json",url:"/v1/mcp/servers/{name}/stop",...A}),hd=A=>(A.client??MA).post({responseType:"json",url:"/v1/mcp/servers/{name}/auth",...A}),pd=A=>(A.client??MA).post({responseType:"json",url:"/v1/mcp/servers/{name}/auth/callback",...A,headers:{"Content-Type":"application/json",...A.headers}}),fd=A=>(A.client??MA).get({responseType:"json",url:"/v1/mcp/servers/{name}/auth/status",...A}),md=A=>(A.client??MA).get({responseType:"json",url:"/v1/sessions/{id}/messages",...A}),wd=A=>(A.client??MA).post({responseType:"json",url:"/v1/sessions/{id}/messages",...A,headers:{"Content-Type":"application/json",...A.headers}}),xd=A=>(A.client??MA).get({responseType:"json",url:"/v1/provider-usage/{provider}",...A}),Dd=A=>(A.client??MA).post({responseType:"json",url:"/v1/sessions/{id}/approval",...A,headers:{"Content-Type":"application/json",...A.headers}}),yd=A=>(A.client??MA).get({responseType:"json",url:"/v1/sessions/{id}/approval/pending",...A}),Nd=A=>(A.client??MA).delete({responseType:"json",url:"/v1/sessions/{sessionId}",...A}),kd=A=>(A.client??MA).patch({responseType:"json",url:"/v1/sessions/{sessionId}",...A,headers:{"Content-Type":"application/json",...A.headers}}),Md=A=>(A.client??MA).get({responseType:"json",url:"/v1/sessions/{sessionId}/queue",...A}),bd=A=>(A.client??MA).delete({responseType:"json",url:"/v1/sessions/{sessionId}/queue/{messageId}",...A}),Fd=A=>(A.client??MA).post({responseType:"json",url:"/v1/sessions/{sessionId}/messages/{messageId}/retry",...A}),Gd=A=>(A.client??MA).get({responseType:"json",url:"/v1/sessions/{sessionId}/share",...A}),vd=A=>(A.client??MA).post({responseType:"json",url:"/v1/sessions/{sessionId}/share",...A}),Sd=A=>(A.client??MA).put({responseType:"json",url:"/v1/sessions/{sessionId}/share",...A}),Ud=A=>(A.client??MA).get({responseType:"json",url:"/v1/sessions/{sessionId}/files",...A}),Rd=A=>(A?.client??MA).get({responseType:"json",url:"/v1/sessions",...A}),Kd=A=>(A?.client??MA).post({responseType:"json",url:"/v1/sessions",...A,headers:{"Content-Type":"application/json",...A?.headers}}),eQ=A=>(A.client??MA).delete({responseType:"json",url:"/v1/sessions/{sessionId}/abort",...A}),Jd=A=>(A?.client??MA).get({responseType:"json",url:"/v1/ottorouter/balance",...A}),Ld=A=>(A?.client??MA).get({responseType:"json",url:"/v1/ottorouter/wallet",...A}),jd=A=>(A?.client??MA).get({responseType:"json",url:"/v1/ottorouter/usdc-balance",...A}),Td=A=>(A.client??MA).post({responseType:"json",url:"/v1/ottorouter/topup/polar",...A,headers:{"Content-Type":"application/json",...A.headers}}),Od=A=>(A.client??MA).post({responseType:"json",url:"/v1/ottorouter/topup/select",...A,headers:{"Content-Type":"application/json",...A.headers}}),qd=A=>(A.client??MA).post({responseType:"json",url:"/v1/ottorouter/topup/cancel",...A,headers:{"Content-Type":"application/json",...A.headers}}),Yd=A=>(A.client??MA).get({responseType:"json",url:"/v1/ottorouter/topup/pending",...A}),Hd=A=>(A.client??MA).get({responseType:"json",url:"/v1/ottorouter/topup/polar/estimate",...A}),Pd=A=>(A.client??MA).get({responseType:"json",url:"/v1/ottorouter/topup/polar/status",...A}),Wd=A=>(A.client??MA).get({responseType:"json",url:"/v1/ottorouter/topup/razorpay/estimate",...A}),zd=A=>(A.client??MA).post({responseType:"json",url:"/v1/ottorouter/topup/razorpay",...A,headers:{"Content-Type":"application/json",...A.headers}}),Vd=A=>(A.client??MA).post({responseType:"json",url:"/v1/ottorouter/topup/razorpay/verify",...A,headers:{"Content-Type":"application/json",...A.headers}}),Zd=A=>(A?.client??MA).get({responseType:"json",url:"/v1/config/skills",...A}),_d=A=>(A.client??MA).put({responseType:"json",url:"/v1/config/skills",...A,headers:{"Content-Type":"application/json",...A.headers}}),Xd=A=>(A?.client??MA).get({responseType:"json",url:"/v1/skills",...A}),$d=A=>(A.client??MA).get({responseType:"json",url:"/v1/skills/{name}",...A}),Ah=A=>(A.client??MA).get({responseType:"json",url:"/v1/skills/{name}/files",...A}),eh=A=>(A.client??MA).get({responseType:"json",url:"/v1/skills/{name}/files/{filePath}",...A}),th=A=>(A?.client??MA).get({responseType:"json",url:"/v1/terminals",...A}),oh=A=>(A.client??MA).post({responseType:"json",url:"/v1/terminals",...A,headers:{"Content-Type":"application/json",...A.headers}}),sh=A=>(A.client??MA).delete({responseType:"json",url:"/v1/terminals/{id}",...A});function dl(){return at({queryKey:["terminals"],queryFn:async()=>{const A=await th();if(A.error)throw new Error("Failed to fetch terminals");return A.data},refetchInterval:2e3})}function rh(){const A=ke();return Ze({mutationFn:async e=>{const t=await oh({body:e});if(t.error)throw new Error("Failed to create terminal");return t.data},onSuccess:async()=>{await A.invalidateQueries({queryKey:["terminals"]})}})}function nh(){const A=ke();return Ze({mutationFn:async e=>{if((await sh({path:{id:e}})).error)throw new Error("Failed to kill terminal")},onSuccess:()=>{A.invalidateQueries({queryKey:["terminals"]})}})}const ih=x.memo(function({terminals:e,onNewTerminal:t,onKillTerminal:s,isCreating:n}){const r=no(a=>a.activeTabId),i=no(a=>a.selectTab);return o.jsxs("div",{className:"flex items-center gap-0 overflow-x-auto scrollbar-none",children:[e.map(a=>{const g=a.id===r,Q=a.status==="running";return o.jsxs("div",{className:`group flex items-center gap-1.5 px-3 h-9 border-r border-border cursor-pointer select-none shrink-0 transition-colors ${g?"bg-background text-foreground":"bg-muted/30 text-muted-foreground hover:bg-muted/60"}`,onClick:()=>i(a.id),onKeyDown:l=>{l.key==="Enter"&&i(a.id)},role:"tab","aria-selected":g,tabIndex:0,children:[o.jsx("span",{className:"shrink-0",children:a.createdBy==="llm"?o.jsx(PE,{className:"w-3 h-3 text-blue-500"}):o.jsx(Fa,{className:"w-3 h-3 text-green-500"})}),o.jsx("span",{className:"text-xs font-medium truncate max-w-[120px]",children:a.title||a.purpose}),!Q&&o.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-orange-500 shrink-0"}),o.jsx("button",{type:"button",className:"shrink-0 p-0.5 rounded opacity-0 group-hover:opacity-100 hover:bg-muted transition-opacity",onClick:l=>{l.stopPropagation(),s(a.id)},title:"Close terminal",children:o.jsx(lt,{className:"w-3 h-3"})})]},a.id)}),o.jsx("button",{type:"button",className:"flex items-center justify-center w-8 h-9 shrink-0 text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors",onClick:t,disabled:n,title:"New terminal",children:o.jsx(go,{className:"w-3.5 h-3.5"})})]})}),hl="/assets/JetBrainsMonoNerdFontMono-Bold-CU80ifuM.woff2",pl="/assets/JetBrainsMonoNerdFontMono-BoldItalic-D8WKzlhG.woff2",fl="/assets/JetBrainsMonoNerdFontMono-Italic-CO98v9JQ.woff2",ml="/assets/JetBrainsMonoNerdFontMono-Regular-QVq88ZfU.woff2";var Pa=(A=>(A[A.CURSOR_KEY_APPLICATION=0]="CURSOR_KEY_APPLICATION",A[A.KEYPAD_KEY_APPLICATION=1]="KEYPAD_KEY_APPLICATION",A[A.IGNORE_KEYPAD_WITH_NUMLOCK=2]="IGNORE_KEYPAD_WITH_NUMLOCK",A[A.ALT_ESC_PREFIX=3]="ALT_ESC_PREFIX",A[A.MODIFY_OTHER_KEYS_STATE_2=4]="MODIFY_OTHER_KEYS_STATE_2",A[A.KITTY_KEYBOARD_FLAGS=5]="KITTY_KEYBOARD_FLAGS",A))(Pa||{}),wl=(A=>(A[A.RELEASE=0]="RELEASE",A[A.PRESS=1]="PRESS",A[A.REPEAT=2]="REPEAT",A))(wl||{}),dA=(A=>(A[A.UNIDENTIFIED=0]="UNIDENTIFIED",A[A.GRAVE=1]="GRAVE",A[A.BACKSLASH=2]="BACKSLASH",A[A.BRACKET_LEFT=3]="BRACKET_LEFT",A[A.BRACKET_RIGHT=4]="BRACKET_RIGHT",A[A.COMMA=5]="COMMA",A[A.ZERO=6]="ZERO",A[A.ONE=7]="ONE",A[A.TWO=8]="TWO",A[A.THREE=9]="THREE",A[A.FOUR=10]="FOUR",A[A.FIVE=11]="FIVE",A[A.SIX=12]="SIX",A[A.SEVEN=13]="SEVEN",A[A.EIGHT=14]="EIGHT",A[A.NINE=15]="NINE",A[A.EQUAL=16]="EQUAL",A[A.INTL_BACKSLASH=17]="INTL_BACKSLASH",A[A.INTL_RO=18]="INTL_RO",A[A.INTL_YEN=19]="INTL_YEN",A[A.A=20]="A",A[A.B=21]="B",A[A.C=22]="C",A[A.D=23]="D",A[A.E=24]="E",A[A.F=25]="F",A[A.G=26]="G",A[A.H=27]="H",A[A.I=28]="I",A[A.J=29]="J",A[A.K=30]="K",A[A.L=31]="L",A[A.M=32]="M",A[A.N=33]="N",A[A.O=34]="O",A[A.P=35]="P",A[A.Q=36]="Q",A[A.R=37]="R",A[A.S=38]="S",A[A.T=39]="T",A[A.U=40]="U",A[A.V=41]="V",A[A.W=42]="W",A[A.X=43]="X",A[A.Y=44]="Y",A[A.Z=45]="Z",A[A.MINUS=46]="MINUS",A[A.PERIOD=47]="PERIOD",A[A.QUOTE=48]="QUOTE",A[A.SEMICOLON=49]="SEMICOLON",A[A.SLASH=50]="SLASH",A[A.ALT_LEFT=51]="ALT_LEFT",A[A.ALT_RIGHT=52]="ALT_RIGHT",A[A.BACKSPACE=53]="BACKSPACE",A[A.CAPS_LOCK=54]="CAPS_LOCK",A[A.CONTEXT_MENU=55]="CONTEXT_MENU",A[A.CONTROL_LEFT=56]="CONTROL_LEFT",A[A.CONTROL_RIGHT=57]="CONTROL_RIGHT",A[A.ENTER=58]="ENTER",A[A.META_LEFT=59]="META_LEFT",A[A.META_RIGHT=60]="META_RIGHT",A[A.SHIFT_LEFT=61]="SHIFT_LEFT",A[A.SHIFT_RIGHT=62]="SHIFT_RIGHT",A[A.SPACE=63]="SPACE",A[A.TAB=64]="TAB",A[A.CONVERT=65]="CONVERT",A[A.KANA_MODE=66]="KANA_MODE",A[A.NON_CONVERT=67]="NON_CONVERT",A[A.DELETE=68]="DELETE",A[A.END=69]="END",A[A.HELP=70]="HELP",A[A.HOME=71]="HOME",A[A.INSERT=72]="INSERT",A[A.PAGE_DOWN=73]="PAGE_DOWN",A[A.PAGE_UP=74]="PAGE_UP",A[A.DOWN=75]="DOWN",A[A.LEFT=76]="LEFT",A[A.RIGHT=77]="RIGHT",A[A.UP=78]="UP",A[A.NUM_LOCK=79]="NUM_LOCK",A[A.KP_0=80]="KP_0",A[A.KP_1=81]="KP_1",A[A.KP_2=82]="KP_2",A[A.KP_3=83]="KP_3",A[A.KP_4=84]="KP_4",A[A.KP_5=85]="KP_5",A[A.KP_6=86]="KP_6",A[A.KP_7=87]="KP_7",A[A.KP_8=88]="KP_8",A[A.KP_9=89]="KP_9",A[A.KP_PLUS=90]="KP_PLUS",A[A.KP_BACKSPACE=91]="KP_BACKSPACE",A[A.KP_CLEAR=92]="KP_CLEAR",A[A.KP_CLEAR_ENTRY=93]="KP_CLEAR_ENTRY",A[A.KP_COMMA=94]="KP_COMMA",A[A.KP_PERIOD=95]="KP_PERIOD",A[A.KP_DIVIDE=96]="KP_DIVIDE",A[A.KP_ENTER=97]="KP_ENTER",A[A.KP_EQUAL=98]="KP_EQUAL",A[A.KP_MEMORY_ADD=99]="KP_MEMORY_ADD",A[A.KP_MEMORY_CLEAR=100]="KP_MEMORY_CLEAR",A[A.KP_MEMORY_RECALL=101]="KP_MEMORY_RECALL",A[A.KP_MEMORY_STORE=102]="KP_MEMORY_STORE",A[A.KP_MEMORY_SUBTRACT=103]="KP_MEMORY_SUBTRACT",A[A.KP_MULTIPLY=104]="KP_MULTIPLY",A[A.KP_PAREN_LEFT=105]="KP_PAREN_LEFT",A[A.KP_PAREN_RIGHT=106]="KP_PAREN_RIGHT",A[A.KP_MINUS=107]="KP_MINUS",A[A.KP_SEPARATOR=108]="KP_SEPARATOR",A[A.NUMPAD_UP=109]="NUMPAD_UP",A[A.NUMPAD_DOWN=110]="NUMPAD_DOWN",A[A.NUMPAD_RIGHT=111]="NUMPAD_RIGHT",A[A.NUMPAD_LEFT=112]="NUMPAD_LEFT",A[A.NUMPAD_BEGIN=113]="NUMPAD_BEGIN",A[A.NUMPAD_HOME=114]="NUMPAD_HOME",A[A.NUMPAD_END=115]="NUMPAD_END",A[A.NUMPAD_INSERT=116]="NUMPAD_INSERT",A[A.NUMPAD_DELETE=117]="NUMPAD_DELETE",A[A.NUMPAD_PAGE_UP=118]="NUMPAD_PAGE_UP",A[A.NUMPAD_PAGE_DOWN=119]="NUMPAD_PAGE_DOWN",A[A.ESCAPE=120]="ESCAPE",A[A.F1=121]="F1",A[A.F2=122]="F2",A[A.F3=123]="F3",A[A.F4=124]="F4",A[A.F5=125]="F5",A[A.F6=126]="F6",A[A.F7=127]="F7",A[A.F8=128]="F8",A[A.F9=129]="F9",A[A.F10=130]="F10",A[A.F11=131]="F11",A[A.F12=132]="F12",A[A.F13=133]="F13",A[A.F14=134]="F14",A[A.F15=135]="F15",A[A.F16=136]="F16",A[A.F17=137]="F17",A[A.F18=138]="F18",A[A.F19=139]="F19",A[A.F20=140]="F20",A[A.F21=141]="F21",A[A.F22=142]="F22",A[A.F23=143]="F23",A[A.F24=144]="F24",A[A.F25=145]="F25",A[A.FN_LOCK=146]="FN_LOCK",A[A.PRINT_SCREEN=147]="PRINT_SCREEN",A[A.SCROLL_LOCK=148]="SCROLL_LOCK",A[A.PAUSE=149]="PAUSE",A[A.BROWSER_BACK=150]="BROWSER_BACK",A[A.BROWSER_FAVORITES=151]="BROWSER_FAVORITES",A[A.BROWSER_FORWARD=152]="BROWSER_FORWARD",A[A.BROWSER_HOME=153]="BROWSER_HOME",A[A.BROWSER_REFRESH=154]="BROWSER_REFRESH",A[A.BROWSER_SEARCH=155]="BROWSER_SEARCH",A[A.BROWSER_STOP=156]="BROWSER_STOP",A[A.EJECT=157]="EJECT",A[A.LAUNCH_APP_1=158]="LAUNCH_APP_1",A[A.LAUNCH_APP_2=159]="LAUNCH_APP_2",A[A.LAUNCH_MAIL=160]="LAUNCH_MAIL",A[A.MEDIA_PLAY_PAUSE=161]="MEDIA_PLAY_PAUSE",A[A.MEDIA_SELECT=162]="MEDIA_SELECT",A[A.MEDIA_STOP=163]="MEDIA_STOP",A[A.MEDIA_TRACK_NEXT=164]="MEDIA_TRACK_NEXT",A[A.MEDIA_TRACK_PREVIOUS=165]="MEDIA_TRACK_PREVIOUS",A[A.POWER=166]="POWER",A[A.SLEEP=167]="SLEEP",A[A.AUDIO_VOLUME_DOWN=168]="AUDIO_VOLUME_DOWN",A[A.AUDIO_VOLUME_MUTE=169]="AUDIO_VOLUME_MUTE",A[A.AUDIO_VOLUME_UP=170]="AUDIO_VOLUME_UP",A[A.WAKE_UP=171]="WAKE_UP",A[A.COPY=172]="COPY",A[A.CUT=173]="CUT",A[A.PASTE=174]="PASTE",A))(dA||{}),Xo=(A=>(A[A.NONE=0]="NONE",A[A.SHIFT=1]="SHIFT",A[A.CTRL=2]="CTRL",A[A.ALT=4]="ALT",A[A.SUPER=8]="SUPER",A[A.CAPSLOCK=16]="CAPSLOCK",A[A.NUMLOCK=32]="NUMLOCK",A))(Xo||{}),_i=(A=>(A[A.NONE=0]="NONE",A[A.PARTIAL=1]="PARTIAL",A[A.FULL=2]="FULL",A))(_i||{});const tQ=80;var xt=(A=>(A[A.BOLD=1]="BOLD",A[A.ITALIC=2]="ITALIC",A[A.UNDERLINE=4]="UNDERLINE",A[A.STRIKETHROUGH=8]="STRIKETHROUGH",A[A.INVERSE=16]="INVERSE",A[A.INVISIBLE=32]="INVISIBLE",A[A.BLINK=64]="BLINK",A[A.FAINT=128]="FAINT",A))(xt||{});class lr{constructor(e){this.exports=e.exports,this.memory=this.exports.memory}createKeyEncoder(){return new ah(this.exports)}createTerminal(e=80,t=24,s){return new gh(this.exports,this.memory,e,t,s)}static async load(e){if(e)return lr.loadFromPath(e);const t=new URL("data:application/wasm;base64,AGFzbQEAAAABdRJgBH9/f38Bf2AFf39/f38AYAZ/f39/f38Bf2ACf38AYAJ/fwF/YAF/AGABfwF/YAN/f38AYAV/f39/fwF/YAN/f38Bf2AEf39/fwBgBn9/f39/fwBgAX8BfmAAAGAAAX9gAn9/AX5gA39+fgBgBX9+fn5+AAILAQNlbnYDbG9nAAMDxwTFBAQFAwYDBgMGAwYDBgcEAwYEBQcICQkEBwMJAwkECQkJBAMFBQMDBAcFAwYGBQQHBQAEBwUJBwYGBgYGBgYGBgUHAwMEBAQGCgUFBgkEAQoEBQUABwQEAwYFBAQGBgQJAAcBBwMDAwMHAwMHAQcDAwMDAwMHCgcDAwcFBQkGAwsLCwYDBwUDAwcDAwUHBQMDAwMGBwQKCgQKCgQEBAMDBQIHCgMHBwMHCgkHBwEKCwEDAwQKAwcEAwMHDAcJCQoECgoKAwgJAQcHCgAJCgoDBwMABwgEBQQEAwAHAwUGBwcFBQYHAwMKAQEDAwMDBAQGBgMEAwYGBQMFBQMDAwUDAwUFBAQJBwUEBgUHBAkEBAUDBAMFBgYJAAYECQcDBgUNBgcHBAQDAwQFAwcLBQUFAwQFAwAJAwcDBwQFBgQFBAQEBAQEBAQEBAQEBAQEBAQEBAQHBQQGBAYJBAUEBAQFBQUEBAQEBAUFBAQEBAQEBAQFBQQEBAUEBQQEBAQEBAQFBQQFBAQEBQQEBAQEBQQECQQFBAQEBAQEBAQEAwUEBAQEBAUFBAUEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQHBgQHBgYGBgYGBgQDBQkKCAYGCQYACAQGCQ4FBgMGAw4FDgUBBgkJCAoEAQYJBgQHBgkFBwQABAkHAwcDBwoKAQcKDwQEBAYHBwMDAwYDDAYDABADAwMMAwcEAAkCAgEMBwEADAUHBAQECQQJCQkEBAkJCQMIAAkJCQEGAgIAAgIBAQoJBQ4RBAUBcAEWFgUDAQATBgkBfwFBgIDAAAsHhhJNBm1lbW9yeQIAFWdob3N0dHlfa2V5X2V2ZW50X25ldwABFmdob3N0dHlfa2V5X2V2ZW50X2ZyZWUAAhxnaG9zdHR5X2tleV9ldmVudF9zZXRfYWN0aW9uAAMcZ2hvc3R0eV9rZXlfZXZlbnRfZ2V0X2FjdGlvbgAEGWdob3N0dHlfa2V5X2V2ZW50X3NldF9rZXkABRlnaG9zdHR5X2tleV9ldmVudF9nZXRfa2V5AAYaZ2hvc3R0eV9rZXlfZXZlbnRfc2V0X21vZHMABxpnaG9zdHR5X2tleV9ldmVudF9nZXRfbW9kcwAII2dob3N0dHlfa2V5X2V2ZW50X3NldF9jb25zdW1lZF9tb2RzAAkjZ2hvc3R0eV9rZXlfZXZlbnRfZ2V0X2NvbnN1bWVkX21vZHMACh9naG9zdHR5X2tleV9ldmVudF9zZXRfY29tcG9zaW5nAAsfZ2hvc3R0eV9rZXlfZXZlbnRfZ2V0X2NvbXBvc2luZwAMGmdob3N0dHlfa2V5X2V2ZW50X3NldF91dGY4AA0aZ2hvc3R0eV9rZXlfZXZlbnRfZ2V0X3V0ZjgADilnaG9zdHR5X2tleV9ldmVudF9zZXRfdW5zaGlmdGVkX2NvZGVwb2ludAAPKWdob3N0dHlfa2V5X2V2ZW50X2dldF91bnNoaWZ0ZWRfY29kZXBvaW50ABAXZ2hvc3R0eV9rZXlfZW5jb2Rlcl9uZXcAERhnaG9zdHR5X2tleV9lbmNvZGVyX2ZyZWUAEhpnaG9zdHR5X2tleV9lbmNvZGVyX3NldG9wdAATGmdob3N0dHlfa2V5X2VuY29kZXJfZW5jb2RlABQPZ2hvc3R0eV9vc2NfbmV3ACEQZ2hvc3R0eV9vc2NfZnJlZQAjEGdob3N0dHlfb3NjX25leHQAJRFnaG9zdHR5X29zY19yZXNldABAD2dob3N0dHlfb3NjX2VuZABEGGdob3N0dHlfb3NjX2NvbW1hbmRfdHlwZQBLGGdob3N0dHlfb3NjX2NvbW1hbmRfZGF0YQBMFWdob3N0dHlfcGFzdGVfaXNfc2FmZQBNFWdob3N0dHlfY29sb3JfcmdiX2dldABPD2dob3N0dHlfc2dyX25ldwBQEGdob3N0dHlfc2dyX2ZyZWUAURFnaG9zdHR5X3Nncl9yZXNldABSFmdob3N0dHlfc2dyX3NldF9wYXJhbXMAUxBnaG9zdHR5X3Nncl9uZXh0AFYYZ2hvc3R0eV9zZ3JfdW5rbm93bl9mdWxsAFobZ2hvc3R0eV9zZ3JfdW5rbm93bl9wYXJ0aWFsAFsZZ2hvc3R0eV9zZ3JfYXR0cmlidXRlX3RhZwBcG2dob3N0dHlfc2dyX2F0dHJpYnV0ZV92YWx1ZQBdFGdob3N0dHlfdGVybWluYWxfbmV3AF4gZ2hvc3R0eV90ZXJtaW5hbF9uZXdfd2l0aF9jb25maWcAXxVnaG9zdHR5X3Rlcm1pbmFsX2ZyZWUAjQEXZ2hvc3R0eV90ZXJtaW5hbF9yZXNpemUA2gEWZ2hvc3R0eV90ZXJtaW5hbF93cml0ZQC+AxtnaG9zdHR5X3JlbmRlcl9zdGF0ZV91cGRhdGUAvwMdZ2hvc3R0eV9yZW5kZXJfc3RhdGVfZ2V0X2NvbHMAwgMdZ2hvc3R0eV9yZW5kZXJfc3RhdGVfZ2V0X3Jvd3MAwwMhZ2hvc3R0eV9yZW5kZXJfc3RhdGVfZ2V0X2N1cnNvcl94AMQDIWdob3N0dHlfcmVuZGVyX3N0YXRlX2dldF9jdXJzb3JfeQDFAydnaG9zdHR5X3JlbmRlcl9zdGF0ZV9nZXRfY3Vyc29yX3Zpc2libGUAxgMhZ2hvc3R0eV9yZW5kZXJfc3RhdGVfZ2V0X2JnX2NvbG9yAMcDIWdob3N0dHlfcmVuZGVyX3N0YXRlX2dldF9mZ19jb2xvcgDIAyFnaG9zdHR5X3JlbmRlcl9zdGF0ZV9pc19yb3dfZGlydHkAyQMfZ2hvc3R0eV9yZW5kZXJfc3RhdGVfbWFya19jbGVhbgDLAyFnaG9zdHR5X3JlbmRlcl9zdGF0ZV9nZXRfdmlld3BvcnQAzAMhZ2hvc3R0eV9yZW5kZXJfc3RhdGVfZ2V0X2dyYXBoZW1lAM4DJGdob3N0dHlfdGVybWluYWxfaXNfYWx0ZXJuYXRlX3NjcmVlbgDPAyNnaG9zdHR5X3Rlcm1pbmFsX2hhc19tb3VzZV90cmFja2luZwDQAxlnaG9zdHR5X3Rlcm1pbmFsX2dldF9tb2RlANEDJmdob3N0dHlfdGVybWluYWxfZ2V0X3Njcm9sbGJhY2tfbGVuZ3RoANIDJGdob3N0dHlfdGVybWluYWxfZ2V0X3Njcm9sbGJhY2tfbGluZQDTAyhnaG9zdHR5X3Rlcm1pbmFsX2dldF9zY3JvbGxiYWNrX2dyYXBoZW1lANQDH2dob3N0dHlfdGVybWluYWxfaXNfcm93X3dyYXBwZWQA1QMdZ2hvc3R0eV90ZXJtaW5hbF9oYXNfcmVzcG9uc2UA1gMeZ2hvc3R0eV90ZXJtaW5hbF9yZWFkX3Jlc3Bv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IgVBv39KDQBBLiEBIARBP3FBBnQgAy0AAEEPcUEMdHIiA0H/D0sNAQsgAiABOwAJIAJBDGohAQwCCwJAIANBgPADcUGAsANHDQAgAkEAOgAKIAJBgN4AOwEIIAJBADoADiACQQA7AQwgAkEMaiEBDAILIAJBADoADiACQQA7AAkgAiADIAVBP3FyOwEMIAJBDGohAQwBCwJAIAMsAAEiAUFASA0AIAJBADoACiACQYDaADsBCCACQQA6AA4gAkEAOwEMIAJBDGohAQwBCwJAIAMsAAIiBEFASA0AIAJBADoACiACQYDaADsBCCACQQA6AA4gAkEAOwEMIAJBDGohAQwBCwJAIAMsAAMiBUFASA0AIAJBADoACiACQYDaADsBCCACQQA6AA4gAkEAOwEMIAJBDGohAQwBCwJAIAFBP3FBBnQgAy0AAEEHcUEMdHIiAUH/B0sNACACQQA6AAogAkGA3AA7AQggAkEAOgAOIAJBADsBDCACQQxqIQEMAQsCQCABQYCIAUkNACACQQA6AAogAkGA4AA7AQggAkEAOgAOIAJBADsBDCACQQxqIQEMAQsgAkEAOwAJIAIgASAEQT9xckEGdCAFQT9xciIBOwEMIAIgAUEQdjoADiACQQxqIQELIAFBAmotAAAhAyAAIAEvAQAiATsBACAAQQJqIANBH3EiAzoAACAAQQE6AAQgAiABOwEEIAIgAzoABgwBCyAAQgA3AgALIAJBEGokgICAgAAL3QECBX8BfiOAgICAAEEQayIDJICAgIAAQQAhBAJAA0ACQCACIARLDQBBACEFDAILIAEgBGohBgJAAkAgACgCDCIHIAIgBGsiBWogACgCCEsNAAJAIAVFDQAgACgCBCAHaiAGIAX8CgAACyAAIAAoAgwgBWo2AgwMAQsgACgCACgCACEHIAMgBTYCBCADIAY2AgAgA0EIaiAAIANBAUEBIAcRgYCAgACAgICAACADKQMIIghCIIinIgVB//8DcQ0CIAinIQULIAUgBGohBAwACwsgA0EQaiSAgICAACAFC9YJAQF+QgAhAgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABDrABQQABAgMEBQYHCAkKCwwNDg9BQUEQERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uQUFBQUFBQUFBQUFBLzBBQUFBQUFBQUFBQUFBQUExMjM0NTY3ODk6O0FBQUE8PUE+QUFBQUE/QUFAQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBC0EAKQOIqsiAACECDEALQQApA5CqyIAAIQIMPwtBACkDmKrIgAAhAgw+C0EAKQOgqsiAACECDD0LQQApA6iqyIAAIQIMPAtBACkDsKrIgAAhAgw7C0EAKQO4qsiAACECDDoLQQApA8CqyIAAIQIMOQtBACkDyKrIgAAhAgw4C0EAKQPQqsiAACECDDcLQQApA9iqyIAAIQIMNgtBACkD4KrIgAAhAgw1C0EAKQPoqsiAACECDDQLQQApA/CqyIAAIQIMMwtBACkD+KrIgAAhAgwyC0EAKQOAq8iAACECDDELQQApA4iryIAAIQIMMAtBACkDkKvIgAAhAgwvC0EAKQOYq8iAACECDC4LQQApA6CryIAAIQIMLQtBACkDqKvIgAAhAgwsC0EAKQOwq8iAACECDCsLQQApA7iryIAAIQIMKgtBACkDwKvIgAAhAgwpC0EAKQPIq8iAACECDCgLQQApA9CryIAAIQIMJwtBACkD2KvIgAAhAgwmC0EAKQPgq8iAACECDCULQQApA+iryIAAIQIMJAtBACkD8KvIgAAhAgwjC0EAKQP4q8iAACECDCILQQApA4CsyIAAIQIMIQtBACkDiKzIgAAhAgwgC0EAKQOQrMiAACECDB8LQQApA5isyIAAIQIMHgtBACkDoKzIgAAhAgwdC0EAKQOorMiAACECDBwLQQApA7CsyIAAIQIMGwtBACkDuKzIgAAhAgwaC0EAKQPArMiAACECDBkLQQApA8isyIAAIQIMGAtBACkD0KzIgAAhAgwXC0EAKQPYrMiAACECDBYLQQApA+CsyIAAIQIMFQtBACkD6KzIgAAhAgwUC0EAKQPwrMiAACECDBMLQQApA/isyIAAIQIMEgtBACkDgK3IgAAhAgwRC0EAKQOIrciAACECDBALQQApA7CqyIAAIQIMDwtBACkDuKrIgAAhAgwOC0EAKQPAqsiAACECDA0LQQApA8iqyIAAIQIMDAtBACkD0KrIgAAhAgwLC0EAKQPYqsiAACECDAoLQQApA+CqyIAAIQIMCQtBACkD6KrIgAAhAgwIC0EAKQPwqsiAACECDAcLQQApA/iqyIAAIQIMBgtBACkDkK3IgAAhAgwFC0EAKQPgrMiAACECDAQLQQApA/isyIAAIQIMAwtBACkDgKvIgAAhAgwCC0EAKQOYrciAACECDAELQQApA9isyIAAIQILIAAgAjcCAAsYACAAIAJB////AHFBCkEAIAEQ5oOAgAALQwEBfwJAIABBzJTJgABBARCagICAACICQf//A3ENACAAQYy1yoAAIAEvAQAgAUECai0AAEEQdHIQnICAgAAhAgsgAgsWACAAIAJB/wNxQQpBACABEOaDgIAACxUAIAAgAkEDcUEKQQAgARDmg4CAAAs8AQF/I4CAgIAAQRBrIgMkgICAgAAgAyACOgAPIAAgA0EPakEBIAEQoYSAgAAhAiADQRBqJICAgIAAIAILyQECAX8BfiOAgICAAEHwEGsiAiSAgICAAAJAAkAgAA0AQaDpyYAAIQAMAQsgAkG41MeAADYC7BAgAiAANgLoECACQegQaiEACwJAAkAgACkCACIDp0HQEEECQQAgA0IgiKcoAgARgICAgACAgICAACIADQBBfyEADAELIAJBAToAECACIAM3AwggAkEYaiACQQhqEKKAgIAAAkBB0BBFDQAgACACQRhqQdAQ/AoAAAsgASAANgIAQQAhAAsgAkHwEGokgICAgAAgAAuZAQEBfyOAgICAAEHAAGsiAiSAgICAACACQQhqQQhqIAFBCGooAgA2AgAgAkEAOgAEIAIgASkCADcDCAJAQSxFDQAgAkEUakEAQSz8CwALIAJBADoAAwJAQThFDQAgACACQQhqQTj8CgAACyAAQQA2AkAgAEIANwI4IAAgAi0ABDoATCAAIAItAAM6AM0QIAJBwABqJICAgIAACz0BAn8CQCAARQ0AIAAoAgAhASAAKAIEIQIgABCkgICAACABIABB0BBBAkEAIAIoAgwRgYCAgACAgICAAAsL4gEBBH8jgICAgABBEGsiASSAgICAAAJAIAAtAExBP3FFDQACQAJAAkAgACgCDEF2ag4CAQACCyABIAApAgA3AwggAUEIaiAAKAIQIAAoAhgQwYCAgAAMAQsgAEEQaiAAEMKAgIAACyAAQQA6AM0QIABBADoATAJAQTRFDQAgAEEMakEAQTT8CwALIAAoAkAiAkUNACABIAApAgA3AwAgACgCACEDIAAoAgQhBCACIAEQw4CAgAAgAyACQQxBAkEAIAQoAgwRgYCAgACAgICAACAAQQA2AkALIAFBEGokgICAgAALDAAgACABEKaAgIAAC69MAgV/AX4jgICAgABB4BBrIgIkgICAgAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAjwiA0H/D0kNACAALQBMQT9xIgNBAUcNAQyiAQsgACADQQFqIgQ2AjwgAEHNAGoiBSADaiIGIAE6AAAgAC0ATEE/cQ45AgGiARsDBCwtLgUzNDU2Nzg5Bj1BQghGCUxNTlUPb3BxchBHSKIBCguiAVNUEXYHQAxdEV5fDWAOZ2hpAgsgAiADOgAKIAJCgBA3AsAQIAJBsL/HgAA2ArgQIAIgAkEgajYCvBAgAkG4EGogAkEKahCngICAACIDQf//A3FFDZ4BIAJBuBBqQaDpyYAAQT8QqICAgAAgAi8B0BANoAEgAkGgEGpBEGogAkG4EGpBEGopAgA3AwAgAkGgEGpBCGoiASACQbgQakEIaikCADcDACACIAIpArgQNwOgEAJAIAEgAkEKahCngICAAEH//wNxRQ0AIAJBoBBqEKmAgIAADKEBCyACQdQQaiACQaAQahCqgICAACACQaAQahCpgICA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ACADQf//A3FFDQBBoOnJgAAgASAEELaAgIAACyAAQQE6AEwMFAsgAkKAEDcCwBAgAkGwv8eAADYCuBAgAiACQSBqNgK8EAJAAkACQCACQbgQahC4gICAACIDQf//A3FFDQAgAkG4EGpBoOnJgABBwQAQqICAgAAgAi8B0BANAiACQaAQakEQaiACQbgQakEQaikCADcDACACQaAQakEIaiIBIAJBuBBqQQhqKQIANwMAIAIgAikCuBA3A6AQAkAgARC4gICAAEH//wNxRQ0AIAJBoBBqEKmAgIAADAMLIAJB1BBqIAJBoBBqEKqAgIAAIAJBoBBqEKmAgIAAIAIvAdwQDQIgAigC2BAhBCACKALUECEBDAELIAIoArwQIQEgAigCxBAhBAsgASAEEICAgIAAIANB//8DcUUNAEGg6cmAACABIAQQtoCAgAALIABBAToATAwTCyACQoAQNwLAECACQbC/x4AANgK4ECACIAJBIGo2ArwQAkACQAJAIAJBuBBqELmAgIAAIgNB//8DcUUNACACQbgQakGg6cmAAEHBABCogICAACACLwHQEA0CIAJBoBBqQRBqIAJBuBBqQRBqKQIANwMAIAJBoBBqQQhqIgEgAkG4EGpBCGopAgA3AwAgAiACKQK4EDcDoBACQCABELmAgIAAQf//A3FFDQAgAkGgEGoQqYCAgAAMAwsgAkHUEGogAkGgEGoQqoCAgAAgAkGgEGoQqYCAgAAgAi8B3BANAiACKALYECEEIAIoAtQQIQEMAQsgAigCvBAhASACKALEECEECyABIAQQgICAgAAgA0H//wNxRQ0AQaDpyYAAIAEgBBC2gICAAAsgAEEBOgBMDBILIAJCgBA3AsAQIAJBsL/HgAA2ArgQIAIgAkEgajYCvBACQAJAAkAgAkG4EGoQuoCAgAAiA0H//wNxRQ0AIAJBuBBqQaDpyYAAQcEAEKiAgIAAIAIvAdAQDQIgAkGgEGpBEGogAkG4EGpBEGopAgA3AwAgAkGgEGpBCGoiASACQbgQakEIaikCADcDACACIAIpArgQNwOgEAJAIAEQuoCAgABB//8DcUUNACACQaAQahCpgICAAAwDCyACQdQQaiACQaAQahCqgICAACACQaAQahCpgICAACACLwHcEA0CIAIoAtgQIQQgAigC1BAhAQwBCyACKAK8ECEBIAIoAsQQIQQLIAEgBBCAgICAACADQf//A3FFDQBBoOnJgAAgASAEELaAgIAACyAAQQE6AEwMEQsgAkKAEDcCwBAgAkGwv8eAADYCuBAgAiACQSBqNgK8EAJAAkACQCACQbgQahC7gICAACIDQf//A3FFDQAgAkG4EGpBoOnJgABBwQAQqICAgAAgAi8B0BANAiACQaAQakEQaiACQbgQakEQaikCADcDACACQaAQakEIaiIBIAJBuBBqQQhqKQIANwMAIAIgAikCuBA3A6AQAkAgARC7gICAAEH//wNxRQ0AIAJBoBBqEKmAgIAADAMLIAJB1BBqIAJBoBBqEKqAgIAAIAJBoBBqEKmAgIAAIAIvAdwQDQIgAigC2BAhBCACKALUECEBDAELIAIoArwQIQEgAigCxBAhBAsgASAEEICAgIAAIANB//8DcUUNAEGg6cmAACABIAQQtoCAgAALIABBAToATAwQCyACQoAQNwLAECACQbC/x4AANgK4ECACIAJBIGo2ArwQAkACQAJAIAJBuBBqELyAgIAAIgNB//8DcUUNACACQbgQakGg6cmAAEHBABCogICAACACLwHQEA0CIAJBoBBqQRBqIAJBuBBqQRBqKQIANwMAIAJBoBBqQQhqIgEgAkG4EGpBCGopAgA3AwAgAiACKQK4EDcDoBACQCABELyAgIAAQf//A3FFDQAgAkGgEGoQqYCAgAAMAwsgAkHUEGogAkGgEGoQqoCAgAAgAkGgEGoQqYCAgAAgAi8B3BANAiACKALYECEEIAIoAtQQIQEMAQsgAigCvBAhASACKALEECEECyABIAQQgICAgAAgA0H//wNxRQ0AQaDpyYAAIAEgBBC2gICAAAsgAEEBOgBMDA8LIABBHDoATAwOCyACQoAQNwLAECACQbC/x4AANgK4ECACIAJBIGo2ArwQAkACQAJAIAJBuBBqEL2AgIAAIgNB//8DcUUNACACQbgQakGg6cmAAEHBABCogICAACACLwHQEA0CIAJBoBBqQRBqIAJBuBBqQRBqKQIANwMAIAJBoBBqQQhqIgEgAkG4EGpBCGopAgA3AwAgAiACKQK4EDcDoBACQCABEL2AgIAAQf//A3FFDQAgAkGgEGoQqYCAgAAMAwsgAkHUEGogAkGgEGoQqoCAgAAgAkGgEGoQqYCAgAAgAi8B3BANAiACKALYECEEIAIoAtQQIQEMAQsgAigCvBAhASACKALEECEECyABIAQQgICAgAAgA0H//wNxRQ0AQaDpyYAAIAEgBBC2gICAAAsgAEEBOgBMDA0LIAJCgBA3AsAQIAJBsL/HgAA2ArgQIAIgAkEgajYCvBACQAJAAkAgAkG4EGoQvoCAgAAiA0H//wNxRQ0AIAJBuBBqQaDpyYAAQcEAEKiAgIAAIAIvAdAQDQIgAkGgEGpBEGogAkG4EGpBEGopAgA3AwAgAkGgEGpBCGoiASACQbgQakEIaikCADcDACACIAIpArgQNwOgEAJAIAEQvoCAgABB//8DcUUNACACQaAQahCpgICAAAwDCyACQdQQaiACQaAQahCqgICAACACQaAQahCpgICAACACLwHcEA0CIAIoAtgQIQQgAigC1BAhAQwBCyACKAK8ECEBIAIoAsQQIQQLIAEgBBCAgICAACADQf//A3FFDQBBoOnJgAAgASAEELaAgIAACyAAQQE6AEwMDAsgASAEEICAgIAAIANB//8DcUUNAEGg6cmAACABIAQQtoCAgAALIABBAToATAwKCyAAQQE6AEwMCQsgAkKAEDcCwBAgAkGwv8eAADYCuBAgAiACQSBqNgK8EAJAAkACQCACQbgQahC/gICAACIDQf//A3FFDQAgAkG4EGpBoOnJgABBwgAQqICAgAAgAi8B0BANAiACQaAQakEQaiACQbgQakEQaikCADcDACACQaAQakEIaiIBIAJBuBBqQQhqKQIANwMAIAIgAikCuBA3A6AQAkAgARC/gICAAEH//wNxRQ0AIAJBoBBqEKmAgIAADAMLIAJB1BBqIAJBoBBqEKqAgIAAIAJBoBBqEKmAgIAAIAIvAdwQDQIgAigC2BAhBCACKALUECEBDAELIAIoArwQIQEgAigCxBAhBAsgASAEEICAgIAAIANB//8DcUUNAEGg6cmAACABIAQQtoCAgAALIABBAToATAwICyAAQQE6AM0QIABBATYCDCAAQSo6AEwgACAENgI4IAAgAEEQajYCRAwHCyABIAQQgICAgAAgA0H//wNxRQ0AQaDpyYAAIAEgBBC2gICAAAsgAEEBOgBMDAULIAEgBBCAgICAACADQf//A3FFDQBBoOnJgAAgASAEELaAgIAACyAAQQE6AEwMAwsgAigCvBAhASACKALEECEECyAB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ABCagICAAAsTACAAQb6byoAAQcEAEJqAgIAACxMAIABB/JrKgABBwgAQmoCAgAALCgAgABCkgICAAAs6AQF/AkAgAkEMbCIDRQ0AIAAoAgAgAUGq1arVeiACGyADQQJBACAAKAIEKAIMEYGAgIAAgICAgAALC6kBAwF/AX4CfyOAgICAAEEQayICJICAgIAAIAIgASkCACIDNwMAIAIgACgCHEEfcSIBOgAPIANCIIinIQQgA6chBQJAA0AgAUEfcUUNASACIAFBf2pBH3EiAToADyAFIAAoAhggAUECdGooAgBBDCABQQJqdEECQQAgBCgCDBGBgICAAICAgIAADAALCyACIAAoAhggACgCHBD3g4CAACACQRBqJICAgIAACzQBAX8CQCAAKAIIIgJFDQAgASgCACAAKAIAIAJBAEEAIAEoAgQoAgwRgYCAgACAgICAAAsLPwEBfyOAgICAAEEQayICJICAgIAAIAJBAToADyACIAE6AA4gACACQQ5qEMWAgIAAIQEgAkEQaiSAgICAACABC84KAQR/I4CAgIAAQdAQayICJICAgIAAAkACQAJAAkAgAC0AzRANACACIAAoAjw2AgQgAiAAQc0AajYCACACQoAQNwKwECACQbC/x4AANgKoECACIAJBEGo2AqwQAkAgAkGoEGogAhDGgICAACIAQf//A3ENACACKAKsECEDIAIoArQQIQEMAgsgAkGoEGpBoOnJgABBJhCogICAACACLwHAEA0CIAJBkBBqQRBqIAJBqBBqQRBqKQIANwMAIAJBkBBqQQhqIgMgAkGoEGpBCGopAgA3AwAgAiACKQKoEDcDkBACQCADIAIQxoCAgABB//8DcUUNACACQZAQahCpgICAAAwDCyACQcQQaiACQZAQahCqgICAACACQZAQahCpgICAACACLwHMEA0CIAIoAsgQIQEgAigCxBAhAwwBCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAALQBMQT9xIgNBYWoOGgMRAhERCRERBBERCwEGBxEKBQoKEQoKEREKAAsgA0EGRg0HDBALIAIgACkCADcDCAJAIAAoAkAiBCACQQhqQQAQtYCAgABB//8DcQ0AIAQoAgQhBSAAKAJEIgMgBCgCADYCACAFQX9qIQQMDwsgAkKAEDcCsBAgAkGwv8eA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AAALQQEhAwsgAkGgAWokgICAgAAgAwvJEwEKfwJAIAEoAgQiAiABKAIMIgNLDQAgASADQQFqNgIMIABBrMDHgABBlMDHgAAgAxsiASkCADcCACAAQQhqIAFBCGopAgA3AgAgAEEQaiABQRBqKQIANwIADwsgASADQQFqIgQ2AgwgAiADayEFIAEoAgAiBiADQQF0aiIHLwEAIQgCQCABLwEIIAFBCmotAABBEHRyIglBASADdHEiCkH///8HcUUNAAJAIAhBWmoiC0EUSw0AQQEgC3RBgYjAAHENAQsgCEEERg0AIAlB////B3EhCUEBIQgDQCADIAhqIQogCEEBaiEIIAkgCnZBAXENAAsgAEEBOgAUIAAgBzYCDCAAIAI2AgggACAGNgIEIABBATYCACABIAMgCGo2AgwgACAIIAUgCCAFSRs2AhAPCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAIDjwAAQIDFwQFBgcIFhYWFhYWFhYWFhYJCgsMDRYODxAWFhYWFhYWFhgRFhYWFhYWFhYZEhYWFhMWFBYWGhUWCyAAQRBqQQApAqTAx4AANwIAIABBCGpBACkCnMDHgAA3AgAgAEEAKQKUwMeAADcCAA8LIABBEGpBACkC1MDHgAA3AgAgAEEIakEAKQLMwMeAADcCACAAQQApAsTAx4AANwIADwsgAEEQakEAKQLswMeAADcCACAAQQhqQQApAuTAx4AANwIAIABBACkC3MDHgAA3AgAPCyAAQRBqQQApAoTBx4AANwIAIABBCGpBACkC/MDHgAA3AgAgAEEAKQL0wMeAADcCAA8LIABBEGpBACkCnMHHgAA3AgAgAEEIakEAKQKUwceAADcCACAAQQApAozBx4AANwIADwsgAEEQakEAKQKcwceAADcCACAAQQhqQQApApTBx4AANwIAIABBACkCjMHHgAA3AgAPCyAAQRBqQQApArTBx4AANwIAIABBCGpBACkCrMHHgAA3AgAgAEEAKQKkwceAADcCAA8LIABBEGpBACkCzMHHgAA3AgAgAEEIakEAKQLEwceAADcCACAAQQApArzBx4AANwIADwsgAEEQakEAKQLkwceAADcCACAAQQhqQQApAtzBx4AANwIAIABBACkC1MHHgAA3AgAPCyAAQQI6AAQgAEEHNgIAIABBAToAFA8LIABBEGpBACkC/MHHgAA3AgAgAEEIakEAKQL0wceAADcCACAAQQApAuzBx4AANwIADwsgAEEQakEAKQKUwseAADcCACAAQQhqQQApAozCx4AANwIAIABBACkChMLHgAA3AgAPCyAAQQA6AAQgAEEHNgIAIABBAToAFA8LIABBEGpBACkCrMLHgAA3AgAgAEEIakEAKQKkwseAADcCACAAQQApApzCx4AANwIADwsgAEEQakEAKQLEwseAADcCACAAQQhqQQApArzCx4AANwIAIABBACkCtMLHgAA3AgAPCyAAQRBqQQApAtzCx4AANwIAIABBCGpBACkC1MLHgAA3AgAgAEEAKQLMwseAADcCAA8LIABBEGpBACkC9MLHgAA3AgAgAEEIakEAKQLswseAADcCACAAQQApAuTCx4AANwIADwsgAEEQakEAKQKMw8eAADcCACAAQQhqQQApAoTDx4AANwIAIABBACkC/MLHgAA3AgAPCyAAQRBqQQApAqTDx4AANwIAIABBCGpBACkCnMPHgAA3AgAgAEEAKQKUw8eAADcCAA8LIABBEGpBACkCvMPHgAA3AgAgAEEIakEAKQK0w8eAADcCACAAQQApAqzDx4AANwIADwsgAEEQakEAKQLUw8eAADcCACAAQQhqQQApAszDx4AANwIAIABBACkCxMPHgAA3AgAPCyAAQRBqQQApAuzDx4AANwIAIABBCGpBACkC5MPHgAA3AgAgAEEAKQLcw8eAADcCAA8LIAhBYmpB//8DcUEISQ0HIAhB+P8DcUEoRg0GIAhBpn9qQf//A3FBCEkNBSAIQZx/akH//wNxQQhPDQkgAEEbNgIAIABBAToAFCAAIActAABBpH9qOgAEDwsgCkH///8HcUUNA0EBIQggCUH///8HcSAEdkEBcQ0HIABBAToAFCAAQQc2AgAgASADQQJqNgIMAkAgBy8BAiIBQQVLDQAgASEICyAAIAhBB3E6AAQPCyAFQQFNDQcCQAJAIAcvAQJBfmoOBAAJCQEJC0EFIQggBUEFSQ0IQQQhAgJAAkAgCkH///8HcQ0AQQYhCkEIIQkMAQtBBiEKQQghCQJAIAEQ2ICAgABBfWoOAgEACQtBCiEJQQghCkEGIQhBBiECCyABIAMg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gIAAIAIoAgAhBCACLwEKIQUgAi8BCCEGIANBADYCoAQgA0IANwOYBCADIAEpAgA3A5AEQQQhBwJAAkACQAJAAkADQCAHRQ0BIANBqARqIANBkARqEOeAgIAAIAMvAawEIggNAiADKAKoBCIIIAMoAqAENgIAIAMgCDYCoAQgB0F/aiEHDAALCyADQeADakEIaiADQZAEakEIaikDADcDACADQeADakEQaiADQZAEakEQaigCADYCACADIAMpA5AENwPgAyADQgA3A5gEIANBADYCoAQgA0EAKQOg6cmAADcDkARBBCEHAkADQCAHRQ0BIANBqARqIANBkARqEOqAgIAAAkAgAy8BrAQiCA0AIAMoAqgEIgggAygCoAQ2AgAgAyAINgKgBCAHQX9qIQcMAQsLIANBkARqEPuAgIAAIANB4ANqEPuAgIAADAILQQghByADQfgDakEIaiADQZAEakEIaikDADcDACADQfgDakEQaiADQZAEakEQaigCADYCACADIAMpA5AENwP4AyADQQA2AqAEIANCADcDmAQgAyABKQIANwOQBAJAA0AgB0UNASADQagEaiADQZAEahD4gICAAAJAIAMvAawEIggNACADKAKoBCIIIAMoAqAENgIAIAMgCDYCoAQgB0F/aiEHDAELCyADQZAEahD7gICAACADQfgDahD7gICAACADQeADahD7gICAAAwCCyADQdgCakEIaiIIIANBkARqQQhqKQMANwMAIANB2AJqQRBqIgcgA0GQBGpBEGooAgA2AgAgA0GIA2pBCGoiCSADQeADakEIaikDADcDACADQYgDakEQaiIKIANB4ANqQRBqKAIANgIAIANB8AJqQQhqIgsgA0H4A2pBCGopAwA3AwAgA0HwAmpBEGoiDCADQfgDakEQaigCADYCACADIAMpA5AENwPYAiADIAMpA+ADNwOIAyADIAMpA/gDNwPwAiADIAEpAgA3A5ACIANBqAJqIAooAgA2AgAgA0GQAmpBEGogCSkDADcDACADIAMpA4gDNwOYAiADQbwCaiAMKAIANgIAIANBtAJqIAspAwA3AgAgAyADKQPwAjcCrAIgA0HQAmogBygCADYCACADQcgCaiAIKQMANwMAIAMgAykD2AI3A8ACIANCADcDoAMgA0GoA2ogA0GQAmogA0GgA2ogBiAFEOyAgIAAAkAgAy8BtAMiCEUNACADQZACahD6gICAAAwCCyADKAKwAyEKIAMoAqwDIQsgAygCqAMhCSADQbgDaiAGIAUQ9oCAgAACQCADLwG8AyIIRQ0AIANBkAJqEPqAgIAADAILIAMoArgDIQwgA0HAA2ogA0HAAmoQ94CAgAACQCADLwHEAyIIRQ0AIANBkAJqEPqAgIAADAILIAMoAsADIgdBADoACCAHQQA2AQQgByAJNgIAIANB0ANqQgA3AwAgA0IANwPIAyADQcgDaiADQZACaiAHEPyAgIAAIghB//8DcUUNAiADQcgDaiADQZACahCDgYCAACADQZACahD6gICAAAwBCyADQZAEahD7gICAAAsgACAIOwHwAgwBCyADQQE6ANwDIANBADoA2wMgAykDoAMhDQJAQcQARQ0AIANBEGogA0GQAmpBxAD8CgAACyADQZABakEIaiIIIANByANqQQhqKQMANwMAIAMgAykDyAM3A5ABIAMgBTYCaCADIAw2AmQgAyAENgJgIAMgCjYCXCADIAs2AlggAyAJNgJUIANCADcDCCADIA03AwAgAy0A3AMhBCADLQDbAyEKIANB9ABqIAgpAwA3AgAgAyADKQOQATcCbCADIAo6AI0BIAMgBDoAjAEgAyAFOwGKASADIAY7AYgBIANCADcDgAEgAyAHNgJ8IANBADoAqAEgA0EANgKkASADIAk2AqABIANBrAFqIAMgA0GgAWoQhIGAgAACQCADLwGwASIIRQ0AIAMQhYGAgAAgACAIOwHwAgwBCyADQQA6AIcCIANBADoAhgIgAyACKAIARToAuAEgAygCrAEiCCgCACIHKAIYIAcoAhAiB2ogCC8BBEEDdGoiAigCACEFIAgvAQYhBiABKQIAIQ0gA0EBOgCIAgJAQcgARQ0AIANBvQFqQQFqQQBByAD8CwALIABBADsB8AIgA0EAOgC2ASADQQA6ALcBAkBBkAFFDQAgACADQZAB/AoAAAsgACANNwOQAQJAQSRFIgENACAAQZgBakEAQST8CwALIABCADcDyAEgACAFIAdqIAZBA3RqNgLEASAAIAI2AsABIAAgCDYCvAEgACADLQCIAjoA0AEgACADLQCHAjoA0QEgACADLQCGAjoA0gECQEHJAEUNACAAQdMBaiADQb0BakHJAPwKAAALAkAgAQ0AIABBnAJqQQBBJPwLAAsgAEIANwHiAiAAQeoCakEAOgAAIABB2AJqQQApA5inyIAANwMAIABB0AJqQQApA5CnyIAANwMAIABByAJqQQApA4inyIAANwMAIABBACkDgKfIgAA3A8ACIAAgAy0AuAE6AOACIAAgAy0AtwE6AOECIAAgAy0AtgE6AOsCCyADQbAEaiSAgICAAAvOAQECfyOAgICAAEEQayIFJICAgIAAIAUgA0EfcToADwJAAkBBICACQQRqIgJBASADdCIDIAIgA0sbIgNBf2pnayICQf//A3FBfWoiBkENTw0AIAFCASACrIanakF8aiAGQQJ0QYi8yoAAaiIDKAIANgIAIAMgATYCAAwBCyABQgFBICADQYOABGpBEHZBf2pnayIDrUL//wODhqdBEHRqQXxqIANB//8DcUECdEHwvMqAAGoiAygCADYCACADIAE2AgALIAVBEGokgICAgAAL3AEBAX8jgICAgABB8ABrIgMkgICAgAACQEHMAEUNACADQQxqQbT2wYAAQcwA/AoAAAsgAyACNgIMIAMgASkCADcDWAJAAkACQCACQYEESQ0AIANB5ABqIANB2ABqIAJBgHxqEIiBgIAAIAMvAWwiAg0BIAMoAmQhAgJAIAMoAmgiAUUNACACQQAgAfwLAAsgAyABNgIUIAMgAjYCEAsgA0EMakEIEImBgIAAIABBADsBTEHMAEUNASAAIANBDGpBzAD8CgAADAELIAAgAjsBTAsgA0HwAGokgICAgAALoAEBA38jgICAgABBEGsiAiSAgICAACABKAIEIQMgASgCACEEIAIgAC0ADEEDcSIBOgAPIABBBGohAAJAA0AgAUEDcUUNASACIAFBf2ogAXFBA3E6AAwgACABaEEDcUECdGoiASgCABCLgYCAACAEIAEoAgBB8AJBA0EAIAMoAgwRgYCAgACAgICAACACLQAMIQEMAAsLIAJBEGokgICAgAALIwAgACgCACABQfgsQQNBACAAKAIEKAIMEYGAgIAAgICAgAALdwECfyOAgICAAEEQayICJICAgIAAAkACQAJAIAEoAhAiA0UNACABIAMoAgA2AhAMAQsgAkEIaiABEOeAgIAAAkAgAi8BDCIBRQ0AIAAgATsBBAwCCyACKAIIIQMLIAAgAzYCACAAQQA7AQQLIAJBEGokgICAgAALYgEBfyOAgICAAEEgayICJICAgIAAIAJB3KbIgAA2AhAgAiABNgIMIAJBFGogAkEMakG4AhDogICAAAJAIAIvARwiAQ0AIAAgAigCFDYCAAsgACABOwEEIAJBIGokgICAgAALxQECAX8BfiOAgICAAEEgayIDJICAgIAAQoCAgIAQIQQCQAJAQQANAAJAAkAgAg0AQvj///8PIQQMAQsgASkCACIEpyACQQNBACAEQiCIpygCABGAgICAAICAgIAAIgFFrUIghiABrYQhBCABRQ0BCyADIAI2AhQgAyAEPgIQIANBADsBGCADQRBqIQIMAQsgAyAEQiCIPQEMIANBBGohAgsgACACKQIANwIAIABBCGogAkEIaigCADYCACADQSBqJICAgIAAC3cBAn8jgICAgABBEGsiAiSAgICAAAJAAkACQCABKAIQIgNFDQAgASADKAIANgIQDAELIAJBCGogARDqgICAAAJAIAIvAQwiAUUNACAAIAE7AQQMAgsgAigCCCEDCyAAIAM2AgAgAEEAOwEECyACQRBqJICAgIAAC2MBAX8jgICAgABBIGsiAiSAgICAACACQdymyIAANgIQIAIgATYCDCACQRRqIAJBDGpBgIAkEOuAgIAAAkAgAi8BHCIBDQAgACACKAIUNgIACyAAIAE7AQQgAkEgaiSAgICAAAvFAQIBfwF+I4CAgIAAQSBrIgMkgICAgABCgICAgBAhBAJAAkBBAA0AAkACQCACDQBCgID8/w8hBAwBCyABKQIAIgSnIAJBEEEAIARCIIinKAIAEYCAgIAAgICAgAAiAUWtQiCGIAGthCEEIAFFDQELIAMgAjYCFCADIAQ+AhAgA0EAOwEYIANBEGohAgwBCyADIARCIIg9AQwgA0EEaiECCyAAIAIpAgA3AgAgAEEIaiACQQhqKAIANgIAIANBIGokgICAgAAL6g0BKn8jgICAgABBwARrIgUkgICAgAAgBUEBOgAGIAUgAzsBBCAFQQhqQbCSyYAAIAVBBGoQ7YCAgAACQAJAIAUvARwiA0UNACAAIAM7AQwMAQtBAEIBQSAgBSgCDCIGQRxuIgdBBHRBf2pna62GpyAGQRxJGyEIIAUvARoiCSAFLwEYIgpsQf//A3FBA3QiCyAJQQN0IgxqIg1BB3IhDiAKQQN0IQ8gBSgCECIQQQR2IREgAUEcaiESIAFBCGohEyAFQcACaiEUIAVBqAJqIRUgBUGkAWpB8ABqIRYgBUGAAmohFyAFQewBaiEYIAVB2AFqIRkgBUG8AWohGiAFKAIUIRsgBSgCCCEcQQAhHUEAIR5BACEfA0ACQAJAAkACQAJAIARB//8DcSIgRQ0AIAVBIGogExDmgICAAAJAIAUvASQiAUUNACAAIAE7AQwMBwsgBSgCICEhIAVBKGogEhDpgICAAAJAIAUvASwiAUUNACAAIAE7AQwMBwsgBSgCKCEiIAVBMGogHBDugICAACAFQTBqQRBqIgEoAgAhIyAFQcgAaiAQEO+AgIAAIAUoAkghJCAFQdgAaiAREPCAgIAAIAUoAlghJSAFQegAaiAbEPGAgIAAIAUoAmghJiAFQfgAaiAHEPKAgIAAIAVB+ABqQRBqIicoAgAhKCAFQZABaiAIEPOAgIAAIBogBSkDMDcCACAaQQhqIAVBMGpBCGopAwA3AgAgGkEQaiABKQMANwIAIBkgBSkDSDcCACAZQQhqIAVByABqQQhqKQMANwIAIAUgDTYCuAEgBSALNgK0ASAFIAw2ArABIAUgDDYCrAFBACEDIAVBADYCqAEgBSAOICNqQXhxIiM2AtQBIAUgJCAjakEDakF8cSIkNgLoASAFICggJiAlICRqQQdqQXhxIiVqQQNqQXxxIilqQQNqQXxxIiYgBSgCkAFqQf//A2pBgIB8cSIqNgKkASAYQQhqIAVB2ABqQQhqKQMANwIAIBggBSkDWDcCACAXQQhqIAVB6ABqQQhqKQMANwIAIBcgBSkDaDcCACAWQQhqIAVBkAFqQQhqKQMANwIAIBYgBSkDkAE3AgAgFUEQaiAnKQMANwIAIBVBCGogBUH4AGpBCGopAwA3AgAgFSAFKQN4NwIAIAUgJTYC/AEgBSAmNgKQAiAFICk2AqQCIAUgCTsB0gIgBSAKOwHQAiAFIBs2AswCIAUgEDYCyAIgBSAGNgLEAiAFIBw2AsACQQAhAQJAA0AgDCABRg0BICIgAWogDCADaq03AwAgAyAPaiEDIAFBCGohAQwACwsgBSANNgK0BCAFICI2ArAEIAVByANqIAVBsARqIBoQ9ICAgAAgBSgCiAIgJWohAwJAIAUoAoQCIitBA3QiAUUNACADICJqQf8BIAH8CwALIAUoAuABICNqIScgBSgCjAIhLAJAIAUoAtwBIi1BA3QiAUUNACAnICJqQf8BIAH8CwALICIgJGoiAUEANgIMIAEgBSgC+AEiKDYCCCABIAUpAvABQiCJNwIAIAUoAuQBIS4CQCAoRQ0AIAFBEGpBACAo/AsACyAiICZqIgFBADYCDCABIAUoAqACIig2AgggASAFKQKYAkIgiTcCAAJAIChFDQAgAUEQakEAICj8CwALIAUgKTYCvAQgBSAiNgK4BCAFQdgCaiAFQbgEaiAVQfzEx4AAEPWAgIAAICEgJEEQajYCOCAhIC4gI2o2AjQgISAtNgIwICEgJzYCLCAhICwgJWo2AiggISArNgIkICEgAzYCICAhIAw2AhwgIUEANgIYICEgKjYCFCAhICI2AhAgBUEAOgDUAgJAQegARQ0AICFBPGogBUHIA2pB6AD8CgAACyAhICZBEGo2AqQBAkBB8ABFDQAgIUGoAWogBUHYAmpB8AD8CgAACyAhIAk7Aa4CICEgCjsBrAIgISAJOwGqAiAhIAo7AagCICFBoAJqIBRBCGopAgA3AgAgISAUKQIANwKYAiAhIAUtANQCOgCwAiAhIAIpAwA3AwAgIUIANwIIICEgICAJICAgCUkbIgE7Aa4CAkAgHUUNACAhIB02AgggISEDIB0oAgwiIkUNBCAhICI2AgwgIiAhNgIIIB0hAwwECyAeRQ0BICEgHjYCDCAhIQMgHigCCCIiRQ0CICEgIjYCCCAiICE2AgwgHiEDDAILIAAgHzYCCCAAIB02AgQgACAeNgIAIABBADsBDAwFCyAhQQA2AgwgISEdICEhHgwCCyAeICE2AghBACEdIAMhHgwBCyAdICE2AgwgAyEdCyAEIAFrIQQgAiACKQMAQgF8NwMAIB9BgIAkaiEfDAALCyAFQcAEaiSAgICAAAuVBAEKfyOAgICAAEHwAGsiAySAgICAACABLwESIQQgAS8BECEFAkACQAJAIAItAAINACAFIQIMAQsgAi8BACECIAMgASgCABDugICAACADKAIQIQYgA0EYaiABKAIIIgcQ74CAgAAgAygCGCEIIANBKGogB0EEdhDwgICAACADKAIoIQcgA0E4aiABKAIMEPGAgIAAIAMoAjghCSADQcgAaiABKAIEIgpBHG4iCxDygICAACAJIAcgCCAGIAQgBWxB//8DcSAEakEDdGpBB2pB+P///wFxakEDakH8////AXFqQQdqQfj///8BcWpBA2pB/P///wFxIQxBACEFIAMoAlghBAJAIApBG00NAEIBQSAgC0EEdEF/amdrrYanIQULIANB4ABqIAUQ84CAgAACQCACQQZ0QcAAaiIKIAQgDGpBA2pB/P///wFxIAMoAmAiBWpB//8DakGAgPz/AXEgBWtB/P///wFxIARrQfz///8BcSAJa0H4////AXEgB2tB/P///wFxIAhrQfj///8BcSAGa0EDdEFgcSIETQ0AIABBEGpBACkCyMTHgAA3AgAgAEEIakEAKQLAxMeAADcCACAAQQApArjEx4AANwIADAILIAQgCm4hBAsgAEEAOwEUIAAgBDsBEiAAIAI7ARAgACABKQIANwIAIABBCGogAUEIaikCADcCAAsgA0HwAGokgICAgAALmAEBBH8CQAJAIAENAEEAIQJBACEBQQAhA0EAIQRBACEFDAELQgFBICABQX9qZyIDa61C//8Dg4anIgG4RAAAAAAAAOo/ovwDIgJBJGwgAUEBdEEDakH8////B3EiBGohBUF/QQAgA2t0QX9zIQMLIAAgAzsBFCAAIAE2AgQgACACNgIAIAAgBTYCECAAIAQ2AgwgAEEANgIIC0UBAX8gAEEANgIIIAAgAUEPaiIBQQR2QT9qIgJBBnY2AgQgACACQQN2Qfj//x9xIgI2AgwgACACIAFBBHRBgH5xajYCAAtKAQF/IAAgATYCDCAAIAFBE2oiAkH8////AXFBcGo2AgQgACACIAFBAnRqIgJB/P///wdxQXBqNgIIIAAgAiABQQN0akF8cTYCAAtFAQF/IABBADYCCCAAIAFBH2oiAUEFdkE/aiICQQZ2NgIEIAAgAkEDdkH4//8PcSICNgIMIAAgAiABQQV0QYB4cWo2AgALmAEBBH8CQAJAIAENAEEAIQJBACEBQQAhA0EAIQRBACEFDAELQgFBICABQX9qZyIDa61C//8Dg4anIgG4RAAAAAAAAOo/ovwDIgJBHGwgAUEBdEEDakH8////B3EiBGohBUF/QQAgA2t0QX9zIQMLIAAgAzsBFCAAIAE2AgQgACACNgIAIAAgBTYCECAAIAQ2AgwgAEEANgIIC0IBAX8gACABNgIMIAAgAUETakF8cSICQXBqNgIEIAAgAiABQQJ0aiICQXBqNgIIIAAgAUEBdCACakED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cRuEIQMMJAsgA0Jvg0IQQgAgAkEBcRuEIQMMIwsgA0Jfg0IgQgAgAkEBcRuEIQMMIgsgA0K/f4NCwABCACACQQFxG4QhAwwhCyADQv9+g0KAAUIAIAJBAXEbhCEDDCALIANC/32DQoACQgAgAkEBcRuEIQMMHwsgA0L/e4NCgARCACACQQFxG4QhAwweCyADQv93g0KACEIAIAJBAXEbhCEDDB0LIANC/2+DQoAQQgAgAkEBcRuEIQMMHAsgA0L/X4NCgCBCACACQQFxG4QhAwwbCyADQv+/f4NCgMAAQgAgAkEBcRuEIQMMGgsgA0L//36DQoCAAUIAIAJBAXEbhCEDDBkLIANC//99g0KAgAJCACACQQFxG4QhAwwYCyADQv//e4NCgIAEQgAgAkEBcRuEIQMMFwsgA0L//3eDQoCACEIAIAJBAXEbhCEDDBYLIANC//9vg0KAgBBCACACQQFxG4QhAwwVCyADQv//X4NCgIAgQgAgAkEBcRuEIQMMFAsgA0L//79/g0KAgMAAQgAgAkEBcRuEIQMMEwsgA0L///9+g0KAgIABQgAgAkEBcRuEIQMMEgsgA0L///99g0KAgIACQgAgAkEBcRuEIQMMEQsgA0L///97g0KAgIAEQgAgAkEBcRuEIQMMEAsgA0L///93g0KAgIAIQgAgAkEBcRuEIQMMDwsgA0L///9vg0KAgIAQQgAgAkEBcRuEIQMMDgsgA0L///9fg0KAgIAgQgAgAkEBcRuEIQMMDQsgA0L///+/f4NCgICAwABCACACQQFxG4QhAwwMCyADQv////9+g0KAgICAAUIAIAJBAXEbhCEDDAsLIANC/////32DQoCAgIACQgAgAkEBcRuEIQMMCgsgA0L/////e4NCgICAgARCACACQQFxG4QhAwwJCyADQv////93g0KAgICACEIAIAJBAXEbhCEDDAgLIANC/////2+DQoCAgIAQQgAgAkEBcRuEIQMMBwsgA0L/////X4NCgICAgCBCACACQQFxG4QhAwwGCyADQv////+/f4NCgICAgMAAQgAgAkEBcRuEIQMMBQsgA0L//////36DQoCAgICAAUIAIAJBAXEbhCEDDAQLIANC//////99g0KAgICAgAJCACACQQFxG4QhAwwDCyADQv//////e4NCgICAgIAEQgAgAkEBcRuEIQMMAgsgA0L//////3eDQoCAgICACEIAIAJBAXEbhCEDDAELIANC//////8Pg0KAgICAgHBCACACQQFxG4QhAwsgACADPgIAIABBBGogA0IgiDwAAA8LAAu9AQEDfyOAgICAAEEQayIBJICAgIAAAkAgAEUNACABIAApAqgbNwMIIAAoAqgbIQIgACgCrBshAyAAQdQbahCkgICAACAAQegsaiABQQhqEMOAgIAAIABBgBJqIAFBCGoQjoGAgAAgAEEwaiABQQhqEI+BgIAAIABBGGogAUEIahDkgICAACAAQYQBaiABQQhqEMOAgIAAIAIgAEH4LEEDQQAgAygCDBGBgICAAICAgIAACyABQRBqJICAgIAAC+4BAQV/I4CAgIAAQcAAayICJICAgIAAIAJBHGogAEHICGoiAxCQgYCAACACKAI8IQQgAigCOCEFIAIoAhwhBiACQRxqIAMQkIGAgAACQCAERQ0AIAIoAihBqtWq1XogAigCPBshBANAIAVFDQEgAiAGKQIANwMQIAIgASkCADcDCCACQQhqEPuAgIAAIAQgARCRgYCAACAEQQxqIQQgBkEIaiEGIAVBf2ohBQwACwsCQCAAKALQCCIFRQ0AIAEoAgAgAygCACAFQTtsQQNBACABKAIEKAIMEYGAgIAAgICAgAALIAJBwABqJICAgIAACzQBAX8CQCAAKAIIIgJFDQAgASgCACAAKAIEIAJBAEEAIAEoAgQoAgwRgYCAgACAgICAAAsLmAEBA38jgICAgABBMGsiAiSAgICAACACIAEoAgQ2AiggAiABKAIIIgM2AiwgASgCACEEQWQhAQJAA0AgAUUNASACQQxqIAFBhKrIgABqKAIAQQJ0aiAENgIAIAQgAUHoqciAAGooAgAgA2xqIQQgAUEEaiEBDAALCwJAQSRFDQAgACACQQxqQST8CgAACyACQTBqJICAgIAACzcBAX8CQCAAKAIIIgJFDQAgASgCACAAKAIAIAJBLGxBA0EAIAEoAgQoAgwRgYCAgACAgICAAAsLzQIBBn8jgICAgABBMGsiASSAgICAACAAQZgBaiECIAAoArwBKAIAIQMCQCAALwHMASIERQ0AIANBPGogAygCECAEEJOBgIAAC0EAIQQgAkHQh8KAABCUgYCAACEFIABBADsBzAECQCAFQQFxDQAgASADQTxqIAMo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NwMACyASQQhqIRIgDEEIaiEMIBNBCGohEyAFQQhqIQUgDUF/aiENDAALCyANQQN0IgVFDQAgCiAMIAX8CgAAC0EAIRUgAC8BnAIgAS8BnAIiAE0NACAKIABBf2pB//8DcUEDdGoiACkDACIOQoCAgICAgAODQoCAgICAgANSDQAgACAOQv///////3yDNwMACyAGQcABaiSAgICAACAVC6QCAwZ/AX4CfyOAgICAAEEQayIDJICAgIAAAkACQCABKAIAIgRBfGooAgBFDQAgBEFwaiEFIARBdGohBiAEQXhqKAIAIgdBf2oiCCACELqBgIAAIgmncSEBIAlCOYinIQoDQCAEIAFqLAAAIgtFDQEgB0UNAQJAIAtBf0oNACAKIAtB/wBxRw0AIAIgBigCACAEaiABQQJ0aiILKAIARw0AIAUoAgAgBGogAUEDdGohAUEBIQcMAwsgB0F/aiEHIAFBAWogCHEhAQwACwtBACEBIANBDmpBADoAACADQQA7AQxBACEHQQAhCwsgACAHOgAIIAAgATYCBCAAIAs2AgAgACADLwEMOwAJIABBC2ogA0EOai0AADoAACADQRBqJICAgIAAC7EBACAAKAIAIAFqIAIgACgCCCABamsiAUEHdkH4//8PcWoiAEJ/QQAgA0ECdEEPakEEdiIDQcAAIAFBBHZBP3EiAWsiAiADIAJJGyICa0E/ca2IIAGthiAAKQMAhDcDACAAQQhqIQEgAyACayEAAkADQCAAQcEASQ0BIAFCfzcDACABQQhqIQEgAEFAaiEADAALCwJAIABFDQAgASABKQMAQn9BACAAa0E/ca2IhDcDAAsLNwEBfyAAKAIAIgIgASACIAJBdGooAgBqa0ECdmpBAToAACAAKAIAQXxqIgAgACgCAEF/ajYCAAukAgMGfwF+An8jgICAgABBEGsiAySAgICAAAJAAkAgASgCACIEQXxqKAIARQ0AIARBcGohBSAEQXRqIQYgBEF4aigCACIHQX9qIgggAhC6gYCAACIJp3EhASAJQjmIpyEKA0AgBCABaiwAACILRQ0BIAdFDQECQCALQX9KDQAgCiALQf8AcUcNACACIAYoAgAgBGogAUECdGoiCygCAEcNAEEBIQcgBSgCACAEaiABQQF0aiEBDAMLIAdBf2ohByABQQFqIAhxIQEMAAsLQQAhASAD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BiACIAEvAYgBOwEEIAJBCGpBsJLJgAAgAkEEahDtgICAAAJAIAIvARwiBEUNACAAIAQ7AQQMAgsgAi8BGCEJIAIvARohCiACKAIMIQQgAigCFCELIAIoAhAhByACQSBqIAIoAggiDBDugICAACACKAIwIQ0gAkE4aiAHEO+AgIAAIAIoAjghDiACQcgAaiAHQQR2EPCAgIAAIAIoAkghDyACQdgAaiALEPGAgIAAIAIoAlghECACQegAaiAEQRxuIhEQ8oCAgAAgECAPIA4gDSAKIAlsQf//A3FBA3QiEiAKQQN0IghqIhNqQQdqQXhxIhRqQQNqQXxxIg5qQQdqQXhxIg9qQQNqQXxxIRAgAigCeCEVQQAhDQJAIARBHEkNAEIBQSAgEUEEdEF/amdrrYanIQ0LIAJBgAFqIA0Q84CAgAAgAkG0AWogAkEgakEIaikDADcCACACQbwBaiACQSBqQRBqKQMANwIAIAJB0AFqIAJBOGpBCGopAwA3AgAgAiATNgKoASACIBI2AqQBIAIgCDYCoAEgAiAINgKcASACQQA2ApgBIAIgFDYCxAEgAiAONgLYASACIAIpAyA3AqwBIAIgAikDODcCyAEgAiAVIBBqQQNqQXxxIhIgAigCgAFqQf//A2pBgIB8cSIVNgKUASACQeQBaiACQcgAakEIaikDADcCACACQfgBaiACQdgAakEIaikDADcCACACQYwCaiACQYABakEIaikDADcCACACQaACaiACQegAakEIaikDADcCACACQagCaiACQegAakEQaikDADcCACACIA82AuwBIAIgEjYCgAIgAiAQNgKUAiACIAIpA0g3AtwBIAIgAikDWDcC8AEgAiACKQOAATcChAIgAiACKQNoNwKYAiACIAo7AcICIAIgCTsBwAIgAiALNgK8AiACIAc2ArgCIAIgBDYCtAIgAiAMNgKwAgJAAkAgBigCCCIHRQ0AIAcgBigCDCIENgIMDAELIAEgBigCDCIENgJUCwJAAkAgBEUNACAEIAYoAgg2AggMAQsgBSAGKAIINgIACyAGKAIQIQsCQCAGKAIUIgRFDQAgC0EAIAT8CwALIAEgASgCaCAGLwGuAmtBAWo2AmgCQCABLQCNAUECRw0AIAEtAIQBRQ0AAkAgASgCgAEiBCAGLwGuAiIHTw0AIAFBAToAjQEMAQsgASAEIAdrNgKAAQsgAkGwAmohDCACQZgCaiERIAJBrAFqIRYgCUEDdCENQQAhB0EAIQQCQANAIAggBEYNASALIARqIAggB2qtNwMAIAcgDWohByAEQQhqIQQMAAsLIAIgEzYCqAQgAiALNgKkBCACQbgDaiACQaQEaiAWEPSAgIAAIAIoAvgBIA9qIQcCQCACKAL0ASIWQQN0IgRFDQAgByALakH/ASAE/AsACyACKALQASAUaiENIAIoAvwBIRcCQCACKALMASIYQQN0IgRFDQAgDSALakH/ASAE/AsACyALIA5qIgRBADYCDCAEIAIoAugBIhM2AgggBCACKQLgAUIgiTcCACACKALUASEZAkAgE0UNACAEQRBqQQAgE/wLAAsgCyASaiIEQQA2AgwgBCACKAKQAiITNgIIIAQgAikCiAJCIIk3AgACQCATRQ0AIARBEGpBACAT/AsACyACIBA2ArAEIAIgCzYCrAQgAkHIAmogAkGsBGogEUH8xMeAABD1gICAACAGIA5BEGo2AjggBiAZIBRqNgI0IAYgGDYCMCAGIA02AiwgBiAXIA9qNgIoIAYgFjYCJCAGIAc2AiAgBiAINgIcIAZBADYCGCAGIBU2AhQgBiALNgIQIAJBADoAxAICQEHoAEUNACAGQTxqIAJBuANqQegA/AoAAAsgBiASQRBqNgKkAQJAQfAARQ0AIAZBqAFqIAJByAJqQfAA/AoAAAsgBiAJOwGsAiAGIAo7AaoCIAYgCTsBqAIgBkEBOwGuAiAGIAM2AgggBiACLQDEAjoAsAIgBkGgAmogDEEIaikCADcCACAGIAwpAgA3ApgCAkACQCADKAIMIgRFDQAgBiAENgIMIAQgBjYCCAwBCyAGQQA2AgwgBSAGNgIACyADIAY2AgwgASAGKQMAQgF8NwMIIAYgASkDACIaNwMAIAEgGkIBfDcDAAJAIAEoAnRFDQAgASgCcCEEIAEoAmwhBwNAIARFDQECQCAHKAIAIggoAgAgBkcNACABKAJUIQMgCEEBOgAIIAhBADYBBCAIIAM2AgALIAdBBGohByAEQX9qIQQMAAsLIABBADsBBCAAIAY2AgAgASgCfEEAOgAIDAELIAJBAToAtgQgAiABLwGIATsBtAQgAkG4BGpBsJLJgAAgAkG0BGoQ7YCAgAACQCACLwHMBCIERQ0AIAAgBDsBBAwBCyACLwHKBCENIAIvAcgEIQkgAigCxAQhBiACKALABCEEIAIoArwEIQcgAigCuAQhAyACQdAEaiABQRhqEOaAgIAAAkACQCACLwHUBCIMDQAgAigC0AQhCyACQdgEaiADEO6AgIAAIAIoAugEIQogAkHwBGogBBDvgICAACACKALwBCEOIAJBgAVqIARBBHYQ8ICAgAAgAigCgAUhDyACQZAFaiAGEPGAgIAAIAIoApAFIRAgAkGgBWogB0EcbiIVEPKAgIAAIBAgDyAOIAogDSAJbEH//wNxQQN0IhIgDUEDdCIIaiITakEHakF4cSIUakEDakF8cSIOakEHakF4cSIPakEDakF8cSEKIAIoArAFIQxBACEQAkAgB0EbTQ0AQgFBICAVQQR0QX9qZ2uthqchEAsgAkG4BWogEBDzgICAACACQegFaiACQdgEakEIaikDADcCACACQfAFaiACQdgEakEQaikDADcCACACQYQGaiACQfAEakEIaikDADcCACACIBM2AtwFIAIgEjYC2AUgAiAINgLUBSACIAg2AtAFIAJBADYCzAUgAiAUNgL4BSACIA42AowGIAIgAikD2AQ3AuAFIAIgAikD8AQ3AvwFIAIgDCAKakEDakF8cSIQIAIoArgFakH//wNqQYCAfHEiEjYCyAUgAkGYBmogAkGABWpBCGopAwA3AgAgAkGsBmogAkGQBWpBCGopAwA3AgAgAkHABmogAkG4BWpBCGopAwA3AgAgAkHUBmogAkGgBWpBCGopAwA3AgAgAkHcBmogAkGgBWpBEGopAwA3AgAgAiAPNgKgBiACIBA2ArQGIAIgCjYCyAYgAiACKQOABTcCkAYgAiACKQOQBTcCpAYgAiACKQO4BTcCuAYgAiACKQOgBTcCzAYgAiANOwH2BiACIAk7AfQGIAIgBjYC8AYgAiAENgLsBiACIAc2AugGIAIgAzYC5AYgAiABKQIsNwP4BgJAAkACQCASQYGAJE8NACACQYAHaiABQSxqEOmAgIAAIAIvAYQHIgwNAkGAgCQhFSACQYAHaiEEDAELIAJBiAdqIAJB+AZqIBIQ64CAgAAgAi8BkAciDA0BIAJBiAdqIQQgAigCjAchFQsgAkHkBmohDCACQcwGaiERIAJB4AVqIRYgCUEDdCEDIAQoAgAhBkEAIQdBACEEA0AgCCAERg0DIAYgBGogCCAHaq03AwAgByADaiEHIARBCGohBAwACwsgCyABKAIoNgIAIAEgCzYCKAsgACAMOwEEDAELIAIgEzYC9AggAiAGNgLwCCACQYgIaiACQfAIaiAWEPSAgIAAIAIoAqwGIA9qIQcCQCACKAKoBiIWQQN0IgRFDQAgByAGakH/ASAE/AsACyACKAKEBiAUaiEDIAIoArAGIRcCQCACKAKABiIYQQN0IgRFDQAgAyAGakH/ASAE/AsACyAGIA5qIgRBADYCDCAEIAIoApwGIhM2AgggBCACKQKUBkIgiTcCACACKAKIBiEZAkAgE0UNACAEQRBqQQAgE/wLAAsgBiAQaiIEQQA2AgwgBCACKALEBiITNgIIIAQgAikCvAZCIIk3AgACQCATRQ0AIARBEGpBACAT/AsACyACIAo2AvwIIAIgBjYC+AggAkGYB2ogAkH4CGogEUH8xMeAABD1gICAACALIA5BEGo2AjggCyAZIBRqNgI0IAsgGDYCMCALIAM2AiwgCyAXIA9qNgIoIAsgFjYCJCALIAc2AiAgCyAINgIcIAtBADYCGCALIBI2AhQgCyAGNgIQIAJBADoAlAcCQEHoAEUNACALQTxqIAJBiAhqQegA/AoAAAsgCyAQQRBqNgKkAQJAQfAARQ0AIAtBqAFqIAJBmAdqQfAA/AoAAAsgCyANOwGuAiALIAk7AawCIAsgDTsBqgIgCyAJOwGoAiALQaACaiAMQQhqKQIANwIAIAsgDCkCADcCmAIgCyACLQCUBzoAsAIgCyABKQMANwMAIAtCADcCCCALQQA7Aa4CIAEgASgCXCAVajYCXCABIAEpAwBCAXw3AwACQAJAAkAgASgCWCIERQ0AIAsgBDYCCAJAIAQoAgwiB0UNACALIAc2AgwgByALNgIIDAILIAtBADYCDCAFIAs2AgAMAQsCQAJAAkAgASgCVCIERQ0AIAsgBDYCDCAEKAIIIgdFDQEgCyAHNgIIIAcgCzYCDAwCCyABIAs2AlggASALNgJUIAtCADcCCAwDCyALQQA2AgggASALNgJUCyAEIAs2AggMAQsgBCALNgIMCyALQQE7Aa4CIABBADsBBCAAIAs2AgAgASABKAJoQQFqNgJoCyACQYAJaiSAgICAAAu7JgQSfwF+H38BfiOAgICAAEHwBWsiAiSAgICAACAAKAJkIgMhBAJAAkAgAS0ADg0AIAJBDGogASAAQYgBaiABLQACGy8BACABQQRqIABBigFqIAEtAAYbLwEAEPaAgIAAIAIvARAiBQ0BIAIoAgwhBAsgACAENgJkAkACQCABLQACRQ0AAkACQAJAAkBBAiABLwEAIgYgAC8BiAEiB0kgBiAHRhsOAwEABAELIAJBFGogAEH4h8KAAEGM1MeAABCzgYCAACAGQQN0IQgDQCACQThqIAJBFGoQtIGAgAAgAi0AQEUNAiACKAI4IglBPGohCiAJQagBaiELIAlBLGohDCAJKAIYIAkoAhBqIQ0gCS8BrgIhDkEAIQ8CQANAIA8gDkYNASANIA9BA3RqIhAoAgAgCSgCEGoiESAIaiESIAAvAYgBIAZrIRMCQCAQKQMAIhRCgICAgMAAg1ANACARIAhqIRUgEiEEIBMhFgNAAkACQCAWRQ0AIAQpAwBCA4NCAVINASACIAkoAjggCSgCECIFajYCRCACQcgAaiACQcQAaiAVIAVrEKGBgIAAIAIoAkghFyAMIAUgBSACKAJMIhgoAgBqIBgoAgQQooGAgAAgAkHEAGogFxCjgYCAACAEIAQpAwBCfIM3AwAMAQsCQAJAIBMgCS8BrAIiBEYNACAEQQFqIRYgECgCACAJKAIQaiEEAkADQCAWQX9qIhZFDQEgBCkDACEUIARBCGohBCAUQgODQgFRDQMMAAsLIBAgECkDAEL/////v3+DIhQ3AwAMBAsgECAQKQMAQv////+/f4MiFDcDAAwDCyAQKQMAIRQMAgsgFUEIaiEVIARBCGohBCAWQX9qIRYMAAsLAkAgFEKAgICAgAKDUA0AIBEgCGohFSASIQQgEyEWA0ACQAJAIBZFDQAgBC0ABUEgcUUNASACIAkoAqQBIAkoAhAiBWo2AlQgAkHYAGogAkHUAGogFSAFaxCkgYCAACACLQBgRQ0BIAsgBSACKAJcLwEAEKWBgIAAIAJB1ABqIAIoAlgQpoGAgAAgBCAEKQMAQv///////3eDNwMADAELAkACQCATIAkvAawCIgRGDQAgBEEBaiEWIBAoAgAgCSgCEGohBAJAA0AgFkF/aiIWRQ0BIAQtAAUhFSAEQQhqIQQgFUEgcQ0DDAALCyAQIBApAwBC//////99gyIUNwMADAQLIBAgECkDAEL//////32DIhQ3AwAMAwsgECkDACEUDAILIARBCGohBCAVQQhqIRUgFkF/aiEWDAALCyASIRYgEyEEAkAgFEKAgICAgAGDUA0AA0ACQAJAAkACQAJAIARFDQAgFikDAEIaiKciFUH//wNxDQEMBAsgEyAJLwGsAiIERw0BDAILIAogCSgCECAVEJOBgIAADAILIARBAWohFiAQKAIAIAkoAhBqIQQDQCAWQX9qIhZFDQEgBCgBAiEVIARBCGohBCAVQYD4/x9xDQQMAAsLIBAgECkDAEL//////36DNwMADAILIBZBCGohFiAEQX9qIQQMAAsLAkAgE0EDdCIERQ0AIBJBACAE/AsACyAPQQFqIQ8MAAsLIAkgBjsBrAIMAAsLIAJB5ABqIABB+IfCgABBjNTHgAAQs4GAgAAgAEEsaiEZIABBGGohGiACQdQDaiEbIAJBvANqIQggAkG4AmpB8ABqIRwgAkGUA2ohHSACQYADaiEeIAJB7AJqIR8gAkG4AmpBGGohEQNAIAJBiAFqIAJB5ABqELSBgIAAIAItAJABRQ0CIAAgBzsBiAEgAigCiAEhEyACQQE6AKYBIAIgBjsBpAEgAkGoAWogE0GYAmogAkGkAWoQ7YCAgAAgAi8BvAEiBQ0EIAAgAi8BuAEiIDsBiAECQAJAIBMvAagCICBJDQAgEyAgOwGsAkEAIQUMAQsgE0EQaiEMIAIvAboBIRIgAigCtAEhISACKAKwASEiIAIoAqwBISMgAigCqAEhJEEAIQsCQCATKAIIIiVFDQAgJS8BqgIiBSAlLwGuAiIETQ0AICVBEGohFSAlKAIYICUoAhBqIARBA3RqIRYgEygCGCATKAIQaiEJQQAhCyAFIARrQf//A3EiBCATLwGuAiIFIAQgBUkbIgUhBANAAkAgBA0AIAUhCwwCCyAlICUvAa4CQQFqOwGuAgJAIBUgDCAWIAlBACAlLwGsAhCggYCAAEH//wNxDQAgBEF/aiEEIBZBCGohFiAJQQhqIQkgC0EBaiELDAELCyAlICUvAa4CQX9qOwGuAgtBAEIBQSAgI0EcbiImQQR0QX9qZ2uthqcgI0EcSRshJyASICBsQf//A3FBA3QiKCASQQN0IhdqIilBB3IhKiAgQQN0IQogIkEEdiErA0ACQAJAIAsiD0H//wNxIhAgEy8BrgJPDQAgAkHAAWogGhDmgICAAAJAIAIvAcQBIgUNACACKALAASEEIAJByAFqICQQ7oCAgAAgAkHIAWpBEGoiFigCACEJIAJB4AFqICIQ74CAgAAgAigC4AEhFSACQfABaiArEPCAgIAAIAIoAvABIQUgAkGAAmogIRDxgICAACACKAKAAiENIAJBkAJqICYQ8oCAgAAgAkGQAmpBEGoiLCgCACEtIAJBqAJqICcQ84CAgAAgESACKQPIATcCACARQQhqIAJByAFqQQhqKQMANwIAIBFBEGogFikDADcCACAfIAIpA+ABNwIAIB9BCGogAkHgAWpBCGopAwA3AgAgAiApNgLMAiACICg2AsgCIAIgFzYCxAIgAiAXNgLAAiACQQA2ArwCIAIgKiAJakF4cSIYNgLoAiACIBUgGGpBA2pBfHEiCzYC/AIgAiACKAKoAiAtIA0gBSALakEHakF4cSIOakEDakF8cSIuakEDakF8cSINakH//wNqQYCAfHEiLTYCuAIgHkEIaiACQfABakEIaikDADcCACAeIAIpA/ABNwIAIB0gAikDgAI3AgAgHUEIaiACQYACakEIaikDADcCACAcIAIpA6gCNwIAIBxBCGogAkGoAmpBCGopAwA3AgAgCCACKQOQAjcCACAIQQhqIAJBkAJqQQhqKQMANwIAIAhBEGogLCkDADcCACACIA42ApADIAIgDTYCpAMgAiAuNgK4AyACIBI7AeYDIAIgIDsB5AMgAiAhNgLgAyACICI2AtwDIAIgIzYC2AMgAiAkNgLUAyACIBkpAgA3A+gDAkACQAJAIC1BgYAkTw0AIAJB8ANqIBkQ6YCAgAAgAi8B9AMiBQ0CQYCAJCEvIAJB8ANqIRYMAQsgAkH4A2ogAkHoA2ogLRDrgICAACACLwGABCIFDQEgAkH4A2ohFiACKAL8AyEvCyAWKAIAIRVBACEWIBchCQNAIBcgFkYNBCAVIBZqIAmtNwMAIBZBCGohFiAJIApqIQkMAAsLIAQgACgCKDYCACAAIAQ2AigLIBMoAgghBANAAkACQCAERQ0AIAQgJUYNAAJAIAQoAggiFkUNACAWIAQoAgwiCTYCDAwCCyAAIAQoAgwiCTYCVAwBCyAAIAc7AYgBDAoLAkACQCAJRQ0AIAkgBCgCCDYCCAwBCyAAIAQoAgg2AlgLIAAgBBCwgYCAACAWIQQMAAsLAkACQCATKAIIIhZFDQAgFiATKAIMIgQ2AgwMAQsgACATKAIMIgQ2AlQLIBMoAgghFgJAAkAgBEUNACAEIBY2AggMAQsgACAWNgJYCyAAIBMQsIGAgABBACEFDAILIAIgKTYC5AUgAiAVNgLgBSACQfgEaiACQeAFaiAREPSAgIAAIAIoApwDIA5qIQkCQCACKAKYAyIwQQN0IhZFDQAgCSAVakH/ASAW/AsACyACKAL0AiAYaiEFIAIoAqADITECQCACKALwAiIyQQN0IhZFDQAgBSAVakH/ASAW/AsACyAVIAtqIhZBADYCDCAWIAIoAowDIiw2AgggFiACKQKEA0IgiTcCACACKAL4AiEzAkAgLEUNACAWQRBqQQAgLPwLAAsgFSANaiIWQQA2AgwgFiACKAK0AyIsNgIIIBYgAikCrANCIIk3AgACQCAsRQ0AIBZBEGpBACAs/AsACyACIC42AuwFIAIgFTYC6AUgAkGIBGogAkHoBWogCEH8xMeAABD1gICAACAEIAtBEGo2AjggBCAzIBhqNgI0IAQgMjYCMCAEIAU2AiwgBCAxIA5qNgIoIAQgMDYCJCAEIAk2AiAgBCAXNgIcIARBADYCGCAEIC02AhQgBCAVNgIQIAJBADoAhAQCQEHoAEUNACAEQTxqIAJB+ARqQegA/AoAAAsgBCANQRBqNgKkAQJAQfAARQ0AIARBqAFqIAJBiARqQfAA/AoAAAsgBCASOwGuAiAEICA7AawCIAQgEjsBqgIgBCAgOwGoAiAEQaACaiAbQQhqKQIANwIAIAQgGykCADcCmAIgBCACLQCEBDoAsAIgBCAAKQMANwMAIARCADcCCCAEQQA7Aa4CIAAgACkDAEIBfDcDACAAIAAoAlwgL2o2AlwgEygCGCATKAIQaiAQQQN0aiEWIBIgEy8BrgIgD2tB//8DcSIJIBIgCUkbIglBAWohFSAJIA9qIQsgBEEQaiEYIAQoAhggBCgCEGohCQJAA0AgFUF/aiIVRQ0BIAQgBC8BrgJBAWo7Aa4CIBggDCAJIBZBACAELwGsAhCggYCAACEFIAlBCGohCSAWQQhqIRYgBUH//wNxRQ0ACyAEIAQvAa4CQX9qOwGuAiATKAIIIQQDQAJAAkAgBEUNACAEICVGDQACQCAEKAIIIhZFDQAgFiAEKAIMIgk2AgwMAgsgACAEKAIMIgk2AlQMAQsgACAHOwGIAQwECwJAAkAgCUUNACAJIAQoAgg2AggMAQsgACAEKAIINgJYCyAAIAQQsIGAgAAgFiEEDAALCyAEIBM2AgwCQAJAIBMoAggiFkUNACAEIBY2AgggFiAENgIMDAELIARBADYCCCAAIAQ2AlQLIBMgBDYCCCAAKAJwIRYgACgCbCEJIAAoAnRFDQADQCAWRQ0BAkAgCSgCACIVKAIAIBNHDQAgFS8BBCIFIBBJDQAgBSALQf//A3FPDQAgFSAENgIAIBUgBSAPazsBBAsgFkF/aiEWIAlBBGohCQwACwsLIAVB//8DcUUNAAwECwsgACgCdEUNACAGQX9qIRUgACgCcCEEIAAoAmwhFgNAIARFDQECQCAWKAIAIgkvAQYgBkkNACAJIBU7AQYLIBZBBGohFiAEQX9qIQQMAAsLIAAgBjsBiAELQQAhBSABLQAGRQ0BAkACQAJAQQIgAS8BBCIVIAAvAYoBIgRJIBUgBEYbDgMBAAQBCyACQcgBaiAAQQIQtYGAgAAgAkH4BGpBCGogAkHIAWpBCGooAgA2AgAgAkEAOgCAAiACQQA6AKgCIAJBAToAhAUgAkEAOgCUBSACQQA6AJgFIAIgAikCyAE3A/gEIAJBqAFqIAJB+ARqELSBgIAAAkAgAi0AsAFFDQACQEEkRQ0AIAJBuAJqIAJB+ARqQST8CgAACyACQQE6AOQCIAIgAikDqAEiFDcC3AIgAiAUQjCIp0F/ajsB6AIgAkG4AmohFgwCCwJAQSRFDQAgAkG4AmogAkH4BGpBJPwKAAALIAJB4gJqQgA3AQAgAkIANwLcAiACQbgCaiEWDAELAkAgAS0ADEUNACABLwEKIARBf2pB//8DcU8NACAAIBU7AYoBIBUgBGtB//8DcUEBaiEEA0AgBEF/aiIERQ0EIAJBlAFqIAAQsYGAgAAgAi8BmAEiFkUNAAsgACADNgJkIBYhBQwDCyAAIBU7AYoBIABB1ABqIRZBACEJAkACQANAIBYoAgAiBEUNASAEQQxqIRYgCSAELwGuAmoiCSAVSQ0ADAILCyAVIAlrQQFqIQQDQCAEQX9qIgRFDQEgAkGcAWogABCxgYCAACACLwGgASIFDQMMAAsLQQAhBSAALQCNAUECRw0CIAAgACgCfBC2gYCAAEEBcUUNAkEAIQUgAEEAOgCNAQwCCyAEIBVrIQQCQEE0RQ0AIAJBiARqIBZBNPwKAAALIARB//8DcSIKQQEgCkEBSxshE0EAIRgCQANAIAJBkAJqIAJBiARqELeBgIAAIAItAJwCRQ0BIAIoApACIgUoAhggBSgCECIEaiACLwGUAiIXQQN0aigCACAEaiEEIAUvAawCQQFqIRYgBS8BrgIhDAJAA0AgFkF/aiIWRQ0BIAQpAwAiFEL8//8DgyE0IARBCGoiCSEEIBRCAoNCAFINACAJIQQgNFANAAwDCwsCQCAAKAJ0RQ0AIAAoAnAhBCAAKAJsIRYDQCAERQ0BAkAgFigCACIJKAIAIAVHDQAgCS8BBCAXRg0ECyAEQX9qIQQgFkEEaiEWDAALCyAFIAxBf2oiBDsBrgICQCAEQf//A3ENACAAIAUQuIGAgAALIBhBAWoiGEH//wNxIApJDQALIBMhGAsgACAVOwGKASAAIAAoAmggGEH//wNxazYCaEEAIQUMAQsgACADNgJkCyACQfAFaiSAgICAACAFC6ICAQF/I4CAgIAAQdAAayIEJICAgIAAIARBDGogASACELmBgIAAAkACQAJAAkAgAy0ADEUNACAEQRxqIAEgAxC5gYCAACAEQRxqIQEMAQsgBEEsaiABIAItAAgQtYGAgAAgBEEsaiEBIAQtADhFDQELIARBzABqIAFBCGooAAA2AAAgACAEKQIMNwIAIABBAToADCAAQQI6ABwgAEEBOgAgIABBCGogBEEMakEIaigCADYCACAEIAEpAAA3AEQgACAEKQBBNwANIABBFGogBEHIAGopAAA3AAAgBEECOgBAIARBAToAPAwBCyAAQgA3AgAgAEEBOgAgIABBGGpCADcCACAAQRBqQgA3AgAgAEEIakIANwIACyAEQdAAaiSAgICAAAuWCAEEfyOAgICAAEEgayICJICAgIAAAkACQAJAAkACQAJAIAEtACBBAXENAAJAAkACQAJAIAEtAAxFDQAgAS8BBCEDIAEoAgAhBCABKAIQIQUgAS0AHEEDcQ4DAgEDAgsgAkEIakEANgIAIAJCADcDAAwHCyABQgA3AgAgAUEIakIANwIAIAJBAToACCACIAQ2AgAgAiADQX9qOwEGIAIgAyADIAUgAyAFSRtrOwEEDAYLAkAgBCgCCCIFRQ0AIAEgBTYCACABQQE6AAwgBS8BrgIhBSABQQA6AAggAUEAOwEGIAEgBUF/ajsBBAwFCyABQgA3AgAgAUEIakIANwIADAQLAkAgBSAERg0AAkAgBCgCCCIFRQ0AIAEgBTYCACABQQE6AAwgBS8BrgIhBSABQQA6AAggAUEAOwEGIAEgBUF/ajsBBAwECyABQgA3AgAgAUEIakIANwIADAMLIAEvARQhBSABQgA3AgAgAUEIakIANwIAIAMgBUH//wNxSQ0BIAIgBTsBBCACIAQ2AgAgAkEBOgAIIAIgA0EBajsBBgwECwJAAkACQAJAAkAgAS0ADEUNACABLwEEIQQgASgCACEDIAEoAhAhBSABLQAcQQNxDgMCAQMCCyACQRhqQQA2AgAgAkIANwMQIAJBEGohAQwICyACIAM2AhAgAy8BrgIhAyABQQhqQgA3AgAgAUIANwIAIAJBAToAGCACIAQ7ARQgAiAEIAMgBGtB//8DcSIBIAUgASAFSRtqOwEWIAJBEGohAQwHCwJAIAMoAgwiBUUNACABQQA6AAggAUEANgIEIAEgBTYCACABQQE6AAwMAgsgAUIANwIAIAFBCGpCADcCAAwBCwJAAkAgBSADRg0AAkAgAygCDCIFRQ0AIAFBADoACCABQQA2AgQgASAFNgIAIAFBAToADAwCCyABQgA3AgAgAUEIakIANwIADAELIAEvARQhBSABQgA3AgAgAUEIakIANwIAAkAgBEH//wNxIAVB//8DcUsNACACIAQ7ARQgAiADNgIQIAJBAToAGCACIAVBAWo7ARYgAkEQaiEBDAcLIAJBEGpBCGpBADYCACACQgA3AxAgAkEQaiEBDAYLIAIgBDsBFCACQQE6ABggAiADNgIQIAIgAy8BrgI7ARYgAkEQaiEBDAULIAIgBDsBFCACQQE6ABggAiADNgIQIAIgAy8BrgI7ARYgAkEQaiEBDAQLIAJBCGpBADYCACACQgA3AwAMAgsgAkEAOwEEIAIgBDYCACACQQE6AAggAiADQQFqOwEGDAELIAJBADsBBCACIAQ2AgAgAkEBOgAIIAIgA0EBajsBBgsgAiEBCyAAIAEpAgA3AgAgAEEIaiABQQhqKAIANgIAIAJBIGokgICAgAAL+wIBAX8jgICAgABB4ABrIgMkgICAgAACQAJAAkACQCACQQNxDgQBAAECAQsgA0EIaiABQQEQu4GAgAAgAyADKAIQNgIcIAMgAykCCDcCFCADQSBqIANBFGogAS8BigFBf2pB//8DcRDPgYCAACAAQQE6AAwgACADLwEkOwEEIAAgAygCICIBNgIAIABBACADKAIoIAMtADAbNgIIIAAgAS8BrAJBf2o7AQYMAgsgAEEBOgAMIABBADoACCAAIAEoAlgiATYCACAAIAEvAa4CQX9qOwEEIAAgAS8BrAJBf2o7AQYMAQsgA0E0aiABQQAQu4GAgAAgAyADKAI8NgJIIAMgAykCNDcCQCADQcwAaiADQcAAakEBEN+BgIAAAkAgAy0AXA0AIABBAToADCAAIAMoAlQ2AgggACADLwFQOwEEIAAgAygCTCIBNgIAIAAgAS8BrAJBf2o7AQYMAQsgAEIANwIAIABBCGpCADcCAAsgA0HgAGokgICAgAALcQECfyOAgICAAEEQayICJICAgIAAIAJBBGogAEEAELuBgIAAAkACQCABKAIAIgMgAigCBCIARw0AIAEvAQQgAi8BCE8hAQwBCwNAIAAoAgwiAEEARyEBIAAgA0YNASAADQALCyACQRBqJICAgIAAIAEL+QIBBn8jgICAgABBIGsiAiSAgICAAAJAAkACQAJAIAEtACxFDQAgAUEkaiEDIAEvASohBCABLwEoIQUgASgCJCEGIAJBADoABCABLwEwIQcgAS0AIEEBcUUNASABIAdBAWoiBTsBMCAFQf//A3EgBEH//wNxSQ0CIAJBCGogARC0gYCAACADQQhqIAJBCGpBCGooAgA2AgAgAyACKQIINwIAIAEtACxFDQIgASABLwEoOwEwDAILIABCADcCACAAQQhqQgA3AgAMAgsCQCAHQf//A3EiBEUNAAJAIAQgBUH//wNxRw0AIANCADcCACADQQhqQQA2AgAMAgsgASAHQX9qOwEwDAELIAJBFGogARC0gYCAACADQQhqIAJBFGpBCGooAgA2AgAgAyACKQIUNwIAIAEtACxFDQAgASABLwEqQX9qOwEwCyAAQQA7AQYgACAHOwEEIAAgBjYCACAAQQE6AAwgACACLQAEOgAICyACQSBqJICAgIAAC7sBAQR/AkAgACgCdEUNACAAKAJwIQIgACgCbCEDA0AgAkUNAQJAIAMoAgAiBCgCACABRw0AAkAgASgCCCIFDQAgASgCDCEFCyAEQQA2AQQgBCAFNgIACyADQQRqIQMgAkF/aiECDAALCyABKAIMIQICQAJAIAEoAggiA0UNACADIAI2AgwMAQsgACACNgJUCyABKAIIIQMCQAJAIAJFDQAgAiADNgIIDAELIAAgAzYCWAsgACABELCBgIAAC8QBAgN/AX4jgICAgABBMGsiAySAgICAAAJAAkAgAi8BBCIEIAEvAYgBSQ0AIABCADcCACAAQQhqQgA3AgAMAQsgAigCACEFIANBDGogASACLQAIELuBgIAAIANBGGogA0EMaiAFEM+BgIAAAkAgAy0AKA0AIAAgAykDGCIGPgIAIABBAToADCAAIAMoAiA2AgggACAEOwEGIABBBGogBkIgiD0BAAwBCyAAQgA3AgAgAEEIakIANwIACyADQTBqJICAgIAACzgCAX8BfiOAgICAAEEQayIBJICAgIAAIAEgADYCDCABQQxqEKKEgIAAIQIgAUEQaiSAgICAACACC6QCAQJ/I4CAgIAAQSBrIgMkgICAgAACQAJAAkACQAJAAkACQAJAIAJBA3EOBAYAAQEGCyABLQCNAQ4DAQIDAQsgAEEAOgAIIABBADYCBCAAIAEoAlQ2AgAMBQsgA0EIaiABQQAQu4GAgAAgA0EIaiEBDAILIANBADoAHCADQQA2AhggAyABKAJUNgIUIANBFGohAQwBCyABKAJ8IQELIAAgASkCADcCACAAQQhqIAFBCGooAgA2AgAMAQsgAUHYAGohAiABLwGKASEBA0ACQCABQf//A3EgAigCACICLwGuAiIESw0AIABBADoACCAAQQA7AQYgACACNgIAIAAgBCABazsBBAwCCyACQQhqIQIgASAEayEBDAALCyADQSBqJICAgIAAC8sOARh/I4CAgIAAQcAEayIDJICAgIAAIAAoAhQhBAJAAkACQCAALwEaIAAoAgQiBS8BmgJBf2pB//8DcUcNACAAKAIQIQYgA0EIaiABQRhqEOaAgIAAIAMvAQwiBQ0CIAIvARAhByACLwESIQUgAygCCCEIIANBEGogAigCABDugICAACADKAIgIQkgA0EoaiACKAIIIgoQ74CAgAAgAygCKCELIANBOGogCkEEdhDwgICAACADKAI4IQogA0HIAGogAigCDBDxgICAACADKAJIIQwgA0HYAGogAigCBCINQRxuIg4Q8oCAgAAgDCAKIAsgCSAHIAVsQf//A3FBA3QiByAFQQN0Ig9qIhBqQQdqQXhxIhFqQQNqQXxxIhJqQQdqQXhxIhNqQQNqQXxxIQsgAygCaCEJQQAhBSANQRtNDQFCAUEgIA5BBHRBf2pna62GpyEFDAELIAUgBS8BngJBAWo7AZ4CIAAgACgCCCICQQhqNgIIIAAoAgQoAgAhByACKAIIIQJBACEFIABBADoAHCAAQQA7ARggACAALwEaQQFqOwEaIAAgAiAHajYCDAwBCyADQfAAaiAFEPOAgIAAIANBoAFqIANBEGpBCGopAwA3AgAgA0GoAWogA0EQakEQaikDADcCACADQbwBaiADQShqQQhqKQMANwIAIAMgEDYClAEgAyAHNgKQASADIA82AowBIAMgDzYCiAEgA0EANgKEASADIBE2ArABIAMgEjYCxAEgAyADKQMQNwKYASADIAMpAyg3ArQBIAMgCSALakEDakF8cSIMIAMoAnBqQf//A2pBgIB8cSINNgKAASADQdABaiADQThqQQhqKQMANwIAIANB5AFqIANByABqQQhqKQMANwIAIANB+AFqIANB8ABqQQhqKQMANwIAIANBjAJqIANB2ABqQQhqKQMANwIAIANBlAJqIANB2ABqQRBqKQMANwIAIAMgEzYC2AEgAyAMNgLsASADIAs2AoACIAMgAykDODcCyAEgAyADKQNINwLcASADIAMpA3A3AvABIAMgAykDWDcChAIgA0GsAmogAkEQaigCADYCACADQaQCaiACQQhqKQIANwIAIAMgAikCADcCnAIgAyABKQIsNwOwAgJAAkACQCANQYGAJE8NACADQbgCaiABQSxqEOmAgIAAIAMvAbwCIgUNAkGAgCQhFCADQbgCaiECDAELIANBwAJqIANBsAJqIA0Q64CAgAAgAy8ByAIiBQ0BIANBwAJqIQIgAygCxAIhFAsgA0GcAmohDiADQYQCaiEVIANBmAFqIRYgAy8BrgIiF0EDdCEJIAMvAawCIhhBA3QhCiACKAIAIQdBACECIA8hBQJAA0AgCSACRg0BIAcgAmogBa03AwAgAkEIaiECIAUgCmohBQwACwsgAyAQNgKwBCADIAc2AqwEIANBwANqIANBrARqIBYQ9ICAgAAgAygC5AEgE2ohBQJAIAMoAuABIhBBA3QiAkUNACAFIAdqQf8BIAL8CwALIAMoArwBIBFq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ADsBKCAFQf//AzYCJCAFIAQpAgA3AwggBSACKQIANwMQIABBLmohByAAKAIEIAFqIQggACgCACABaiEJIAVBCGogAhCBhICAACEKIAAoAhBBf2qtIQsgBUEQaiECIAMhDAJAA0AgC1ANAQJAIAkgAC8BICAKp3EiDUH//wNxQQF0aiIOLwEAIgRFDQACQCAIIARBHGxqIgEvARgiDw0AIAVBCGogARDDgYCAACAHIAEvARZBAXRqIgYgBi8BAEF/ajsBACABQRhqQQAoAqySyYAANgIAIAFBEGpBACkCpJLJgAA3AgAgAUEIakEAKQKcksmAADcCACABQQApApSSyYAANwIAIAQgA0H//wNxIgEgBCABSRshAwwBCwJAAkAgAS8BFiIQIAZB//8DcSIRSQ0AIBAgEUcNASAPIAIvARhPDQELIA4gDDsBACACIA07ARQgByACLwEWQQF0aiIGIAYvAQBBAWo7AQAgACAALwEsIgYgAi8BFiICIAYgAksbOwEsIAcgAS8BFkEBdGoiAiACLwEAQX9qOwEAIAEvARYhBiAEIQwgASECCyACIAZBAWoiBjsBFiAKQgF8IQogC0J/fCELDAELCyAOIAw7AQAgAiANOwEUIAcgAi8BFkEBdGoiASABLwEAQQFqOwEAIAAgAC8BLCIBIAIvARYiAiABIAJLGzsBLAsgCSAFLwEkQQF0aiADOwEAIAggA0H//wNxQRxsaiICIAUpAxA3AgAgAkEIaiAFQRBqQQhqKQMANwIAIAJBEGogBUEQakEQaikDADcCACACQRhqIAVBEGpBGGooAgA2AgAgBUEwaiSAgICAACADC60BAQh/AkACQCABLQAIIgMgAi0ACHNBAXENACAAKAIEIgQgACgCACIAIAQbKAIAIQQgAigCECEFIAIoAgwhBiACKAIAIQcgASgCECEIIAEoAgwhCSABKAIAIQogACgCACEAAkAgA0EBcUUNACAKIAdHDQEMAgsgCiAEaiABKAIEIAcgAGogAigCBBCxgICAAEEBcQ0BC0EADwsgBCAJaiAIIAAgBmogBRCxgICAAAv8AgEEfyOAgICAAEEQayIFJICAgIAAIAUgBCkCADcDACABKAIEIAJqIQYCQANAIAEvAW4iB0ECSQ0BIAYgB0F/aiIHQf//A3FBHGxqLwEYDQEgASAHOwFuIAEgAiAH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HkEBdGoiASABLwEAQQFqOwEAIAAgAC8BJCIBIAIvAR4iAiABIAJLGzsBJAsgCCAELwEkQQF0aiADOwEAAkBBJEUNACAHIANB//8DcUEkbGogBEEIakEk/AoAAAsgBEEwaiSAgICAACADC5c0BAN/AX4XfwF+I4CAgIAAQfANayIDJICAgIAAIAAgATsBiAECQAJAAkAgAi0ABEUNAEEAIQQgA0EAOgAQIAMgAi8BADsBDCADIAIvAQIiBTYCCCADQRRqIAAgA0EIahC5gYCAACADLQAgRQ0AIANBJGogAEGExceAABC5gYCAAAJAIAMtADBFDQAgA0GYAWpBCGogA0EkakEIaigCADYCACADIAMpAiQ3A5gBQQIhBAsgA0HoAGpBCGogA0EUakEIaigCADYCACADQYABaiADQZgBakEIaigCADYCACADQQA6AJABIAMgAykCFDcDaCADQQE6AHQgAyADKQOYATcDeCADIAQ6AJQBIAMgBDoAhAEgA0EAOgCIASADQagBaiADQegAahC0gYCAAAJAAkAgAy0AsAFFDQACQEEkRQ0AIANB7AFqIANB6ABqQST8CgAACyADQQE6AJgCIAMgAykDqAEiBjcCkAIgAyAGQjCIp0F/ajsBnAIgA0HsAWohAgwBCwJAQSRFDQAgA0G4AWogA0HoAGpBJPwKAAALIANB4gFqQgA3AQAgA0IANwLcASADQbgBaiECCwJAQTRFDQAgA0E0aiACQTT8CgAAC0EAIQcCQANAIANBoAJqIANBNGoQt4GAgAAgAy0ArAJFDQEgAygCoAIiAigCGCACKAIQaiADLwGkAkEDdGopAwBCIYinQQFxIAdqIQcMAAsLIANBsAJqIAAgA0EUahCEgYCAACADLwG0AiICDQIgAC8BigEgBUF/c2pB//8DcSEIQQAhCSADKAKwAiEKDAELQQEhCQsgACgCVCECIANBuAJqIABB+IfCgABBjNTHgAAQzIGAgAAgA0EBOgDuAiADIAE7AewCIANB8AJqIAJBmAJqIANB7AJqEO2AgIAAAkACQCADLwGEAyICDQAgAy8BggMhCyADLwGAAyEMIAMoAvwCIQ0gAygC+AIhASADKAL0AiEFIAMoAvACIQ4gA0GIA2ogAEEYahDmgICAACADLwGMAyICDQAgAygCiAMhDyADQZADaiAOEO6AgIAAIAMoAqADIQIgA0GoA2ogARDvgICAACADKAKoAyEQIANBuANqIAFBBHYQ8ICAgAAgAygCuAMhESADQcgDaiANEPGAgIAAIAMoAsgDIRIgA0HYA2ogBUEcbiITEPKAgIAAIBIgESAQIAIgCyAMbEH//wNxQQN0IhQgC0EDdCIEaiIVakEHakF4cSIWakEDakF8cSIXakEHakF4cSIRakEDakF8cSEQIAMoAugDIRJBACECAkAgBUEbTQ0AQgFBICATQQR0QX9qZ2uthqchAgsgA0HwA2ogAhDzgICAACADQaAEaiADQZADakEIaikDADcCACADQagEaiADQZADakEQaikDADcCACADQbwEaiADQagDakEIaikDADcCACADIBU2ApQEIAMgFDYCkAQgAyAENgKMBCADIAQ2AogEIANBADYChAQgAyAWNgKwBCADIBc2AsQEIAMgAykDkAM3ApgEIAMgAykDqAM3ArQEIAMgEiAQakEDakF8cSISIAMoAvADakH//wNqQYCAfHEiFDYCgAQgA0HQBGogA0G4A2pBCGopAwA3AgAgA0HkBGogA0HIA2pBCGopAwA3AgAgA0H4BGogA0HwA2pBCGopAwA3AgAgA0GMBWogA0HYA2pBCGopAwA3AgAgA0GUBWogA0HYA2pBEGopAwA3AgAgAyARNgLYBCADIBI2AuwEIAMgEDYCgAUgAyADKQO4AzcCyAQgAyADKQPIAzcC3AQgAyADKQPwAzcC8AQgAyADKQPYAzcChAUgAyALOwGuBSADIAw7AawFIAMgDTYCqAUgAyABNgKkBSADIAU2AqAFIAMgDjYCnAUgAyAAKQIsNwOwBQJAAkACQAJAIBRBgYAkTw0AIANBuAVqIABBLGoQ6YCAgAAgAy8BvAUiAg0CQYCAJCETIANBuAVqIQIMAQsgA0HABWogA0GwBWogFBDrgICAACADLwHIBSICDQEgA0HABWohAiADKALEBSETCyAAQdQAaiEYIANBnAVqIQ4gA0GEBWohGSADQZgEaiEaIAxBA3QhDSACKAIAIQVBACEBQQAhAgNAIAQgAkYNAiAFIAJqIAQgAWqtNwMAIAEgDWohASACQQhqIQIMAAsLIA8gACgCKDYCACAAIA82AigMAQsgAyAVNgKsByADIAU2AqgHIANBwAZqIANBqAdqIBoQ9ICAgAAgAygC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CmogA0HICmogECACaxCngYCAAAJAAkAgAy0A1AoNAEEAIQ5BACEWDAELIAMoAswKIAJqIQ4gAygC0AohFgsCQCADKAK8ByIBKAIoIAEoAgAiAmoiBEF8aigCACAEQXhqKAIASQ0AIANB2ApqQQhqQgA3AwAgA0IANwPYCiADQgA3A/AKIANBAToA7AogAyADKAK4CkEBdDYC6AogA0G4B2ogACADQdgKahC9gYCAACICQf//A3ENCyADKAK8ByIBKAIAIQILIANB/ApqIAFBHGoiBCACIBYQqIGAgAACQAJAIAMvAYQLDQAgBCABKAIAIAMoAvwKIAMoAoALEKKBgIAADAELIBZBAnQhBCADKAK4CiINIQIDQCACIgFBAXQhAiABIA1rIARJDQALIBlCADcDACAZQQhqQgA3AwAgA0EBOgCUCyADIAE2ApALIANCADcDiAsgA0G4B2ogACADQYgLahC9gYCAACICQf//A3ENCyADKAK8ByEBCyADIAEoAiggASgCACIEajYCqAsgAygCxAchAiADKALAByELIANBrAtqIAFBHGoiGiAEIBYQqIGAgAACQCADLwG0C0UNAEEiIQIMCwsgAygCrAshDQJAIAMoArALIhZBAnQiFUUNACANIA4gFfwKAAALIAEoAgAhDiADIBY2ArwLIAMgDSAOazYCuAsCQCADQagLaiACIARrIANBuAtqEKmBgIAAQf//A3FFDQAgGiABKAIAIA0gFhCigYCAAEEhIQIMCwsgAiACKQMAQnyDQgGENwMAIAsgCykDAEKAgICAwACENwMAIBApAwAhBgsCQAJAIAZCgICAgICACINCAFINACADKAK8ByEBDAELIAMgBSgCpAEgBSgCECIEajYCwAsgA0HEC2ogA0HAC2ogECAEaxCqgYCAACADLwHECyEWIAUoAqwBIQsCQCADKAK8ByIBKAKUASABKAIAIgJqIg1BfGooAgAgDUF4aigCAEkNACADQcgLakEIakIANwMAIANCADcDyAsgA0IANwPgCyADQQE6ANwLIAMgAygCtApBAXQ2AtgLIANBuAdqIAAgA0HIC2oQvYGAgAAiAkH//wNxDQsgAygCvAciASgCACECCyADQewLaiABQRBqIg0gAkEAIAsgBGogFkEcbGoiCygCBCALLQAIQQFxGyALKAIQaiIEEMCBgIAAAkACQCADLwH0Cw0AIA0gASgCACADKALsCyADKALwCxDBgYCAAAwBCyADKAK8CiINIQIDQCACIgFBAXQhAiABIA1rIARJDQALIANB+AtqQRBqQgA3AwAgA0H4C2pBCGpCADcDACADQgA3A/gLIANBAToAlAwgAyABNgKQDCADQbgHaiAAIANB+AtqEL2BgIAAIgJB//8DcQ0LIAMoArwHIQELIAEoAgAhBCADQZgMaiALIBQgARCtgYCAACADLwGsDCICDQogA0EANgK0DCADIAE2ArAMIANBugxqIAFBmAFqIAQgA0GYDGogFiADQbAMahCugYCAACADQboMaiEBIAMtALwMIQICQAJAAkACQCADLwG+DA4CAwEAC0GszceAACECDAELIANBwAxqQQhqQgA3AwAgA0IANwPADCADQgA3A9gMIANBAToA1AwgAyADKAK0CkEBdDYC0AwgA0HADGohAgsgA0G4B2ogACACEL2BgIAAIgJB//8DcQ0LIAMoArwHIgEoAgAhBCADQeQMaiALIBQgARCtgYCAACADLwH4DCICDQsgA0EANgKADSADIAE2AvwMIANBhA1qIAFBmAFqIAQgA0HkDGogFiADQfwMahCugYCAACADLwGIDSICDQsgAyADLwGEDTsBig0gA0GKDWohASADLQCGDSECCwJAIAJB/wFxRQ0AIAEvAQAhFgsgAyADKAK8ByIBKAKUASABKAIAIgRqNgKMDSADKALAByELIANBkA1qIANBjA1qIAMoAsQHIgIgBGsQq4GAgAACQCADLwGcDUUNAEEgIQIMCwsgAygClA0hDQJAAkAgAy0AmA1FDQAgAUGYAWogASgCACANLwEAEKWBgIAAQoCAgICAgAghBiACIQQgDS8BACAWQf//A3FGDQELIA0gFjsBACACIAIpAwBCgICAgICACIQ3AwBCgICAgIACIQYgCyEECyAEIAQpAwAgBoQ3AwAgECkDACEGCwJAIAZCGoinIgRB//8DcSINRQ0AIANBoA1qQQhqIAUoAkAgBSgCEGogDUEkbGoiAkEIaikCADcDACADQaANakEQaiACQRBqKQIANwMAIANBoA1qQRhqIAJBGGooAgA2AgAgAyACKQIANwOgDSADQcINaiABQSxqIAEoAgAgA0GgDWogBBCvgYCAACADQcINaiEEIAMtAMQNIQICQAJAAkACQCADLwHGDQ4CAwEAC0GszceAACECDAELIBNCADcCACATQQhqQgA3AgAgE0EQakIANwIAIANBAToAzA0gAyADKAKwCkEBdDYCyA0gA0HIDWohAgsgA0G4B2ogACACEL2BgIAAIgJB//8DcQ0LIANB6A1qIAMoArwHIgFBLGogASgCACADQaANaiAQKQMAQhqIpxCvgYCAACADLwHsDSICDQsgAyADLwHoDTsB7g0gA0HuDWohBCADLQDqDSECCwJAAkAgAkH/AXFFDQAgBC8BACEEDAELIBApAwBCGoinIQQLIAMoAsAHIgsgCykDAEKAgICAgAGENwMAIAMoAsQHIgIgAikDAEL///+fgIB/gyAErUL//wODQhqGhDcDAAsgAy8B0AciBCABLwGcAkF/akH//wNxRg0AIAMgBEEBajsB0AcgAyACQQhqNgLEBwwBCyADQQE6ANQHDAALCyASLQAEQQJxDQELIAMgAygCyAdBAWo2AsgHCyAPIAUvAa4CQX9qQf//A3FHDQMgACAFELCBgIAADAMLIA0gEEEBakH//wNxIgQgDSAESxshDQsgAUEEaiEBIAJBAWohAgwACwsLIAkNAQsgACAKEM6BgIAACyADQfANaiSAgICAACACC5YDAgF/AX4jgICAgABB4AFrIgQkgICAgAAgBEEIaiABIAIQuYGAgAACQAJAAkACQCADLQAMRQ0AIARBGGogASADELmBgIAAIARBGGohAQwBCyAEQShqIAEgAi0ACBC1gYCAACAEQShqIQEgBC0ANEUNAQsgBEE4akEIaiAEQQhqQQhqKAIANgIAIARB0ABqIAFBCGooAgA2AgAgBCAEKQIINwM4IARBAToAYCAEQQI6AGQgBEEBOgBEIARBAjoAVCAEQQE6AFggBCABKQIANwNIIARB6ABqIARBOGoQtIGAgAACQAJAIAQtAHBFDQACQEEkRQ0AIARBrAFqIARBOGpBJPwKAAALIARBAToA2AEgBCAEKQNoIgU3AtABIAQgBUIgiD0B3AEgBEGsAWohAQwBCwJAQSRFDQAgBEH4AGogBEE4akEk/AoAAAsgBEGiAWpCADcBACAEQgA3ApwBIARB+ABqIQELQTRFDQEgACABQTT8CgAADAELIABCADcCJCAAQSpqQgA3AQALIARB4AFqJICAgIAAC/0CAQR/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EGohAgJAA0AgBkF/aiIGRQ0BIAItAAUhFCACQQhqIQIgFEEgcQ0DDAALCyAPIA8pAwBC//////99gyIXNwMADAQLIA8gDykDAEL//////32DIhc3AwAMAwsgDykDACEXDAILIAJBCGohAiAUQQhqIRQgBkF/aiEGDAALCwJAIBdCgICAgIABg1ANACALIQYgECECA0ACQAJAAkACQAJAIAJFDQAgBikDAEIaiKciFEH//wNxDQEMBAsgECAFLwGsAiICRw0BDAILIAogBSgCECAUEJOBgIAADAILIAJBAWohBiAPKAIAIAUoAhBqIQIDQCAGQX9qIgZFDQEgAigBAiEUIAJBCGohAiAUQYD4/x9xDQQMAAsLIA8gDykDAEL//////36DNwMADAILIAZBCGohBiACQX9qIQIMAAsLAkAgEEEDdCICRQ0AIAtBACAC/AsACyATQQFqIRMMAAsLQgFBICASQQR0QX9qZ2uthqchBgwDCyAAIAUQuIGAgAAMAQsCQCAAKAJ0RQ0AIAAoAnAhAiAAKAJsIQYDQCACRQ0BAkAgBigCACIUKAIAIAVHDQACQCAULwEEIgggB08NACAUQQA2AQQMAQsgFCAIIAdrOwEECyAGQQRqIQYgAkF/aiECDAALCyAFIA07Aa4CCyAEIAdqIQQMAQsLIAVBmAJqIRIgBCAHaiEEIANBkAFqIAYQ84CAgAAgA0HEAWogA0EwakEIaikDADcCACADQcwBaiADQTBqQRBqKQMANwIAIANB4AFqIANByABqQQhqKQMANwIAIAMgFTYCuAEgAyATNgK0ASADIBQ2ArABIAMgFDYCrAFBACEGIANBADYCqAEgAyAONgLUASADIA82AugBIAMgAykDMDcCvAEgAyADKQNINwLYASADIBYgEWpBA2pBfHEiEyADKAKQAWpB//8DakGAgHxxIgc2AqQBIANB9AFqIANB2ABqQQhqKQMANwIAIANBiAJqIANB6ABqQQhqKQMANwIAIANBnAJqIANBkAFqQQhqKQMANwIAIANBuAJqIANB+ABqQRBqKQMANwIAIANBsAJqIANB+ABqQQhqKQMANwIAIAMgEDYC/AEgAyATNgKQAiADIBE2AqQCIAMgAykDWDcC7AEgAyADKQNoNwKAAiADIAMpA5ABNwKUAiADIAMpA3g3AqgCIAMgCjsB0gIg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BSAQIQwgECEBA0ACQAJAIAVFDQAgAS0ABUEgcUUNASAEIAYoAqQBIAYoAhAiCmo2AoAEIARBhARqIARBgARqIAwgCmsQpIGAgAAgBC0AjARFDQEgCyAKIAQoAogELwEAEKWBgIAAIARBgARqIAQoAoQEEKaBgIAAIAEgASkDAEL///////93gzcDAAwBCwJAAkAgDyAGLwGsAiIBRg0AIAFBAWohBSAJKAIAIAYoAhBqIQECQANAIAVBf2oiBUUNASABLQAFIQwgAUEIaiEBIAxBIHENAwwACwsgCSAJKQMAQv//////fYMiCDcDAAwECyAJIAkpAwBC//////99gyIINwMADAMLIAkpAwAhCAwCCyAFQX9qIQUgDEEIaiEMIAFBCGohAQwACwsCQCAIQoCAgICAAYNQDQAgBkE8aiEKIA8hASAQIQUDQAJAAkACQAJAAkAgAUUNACAFKQMAQhqIpyIMQf//A3ENAQwECyAPIAYvAawCIgFHDQEMAgsgCiAGKAIQIAwQk4GAgAAMAgsgAUEBaiEFIAkoAgAgBigCEGohAQNAIAVBf2oiBUUNASABKAECIQYgAUEIaiEBIAZBgPj/H3ENBAwACwsgCSAJKQMAQv//////foM3AwAMAgsgAUF/aiEBIAVBCGohBQwACwsgD0EDdCIBRQ0AIBBBACAB/AsADAALCwJAAkAgAC0AAUECcUUNACAHIAIgA0EBENGBgIAAIgFB//8DcUUNAQwCCyAHIAIgA0EAENGBgIAAIgFB//8DcQ0BCwJAIAAtACRBAnFFDQAgACgCICIBRQ0AIAEgAiADQQAQ0YGAgAAiAUH//wNxDQELIAAgAjsB8hFBACEBIABBADsB+BEgAEEAOwH0ESAAIAM7AfARIAAgAkF/ajsB+hEgACADQX9qOwH2ESAAQe4RaiIFIAUtAABBAXI6AAALIARBkARqJICAgIAAIAELHQACQCAARQ0AIAAgAEGoG2ogASACENmBgIAAGgsLHwAgACgCCCgCGCABKAIAQQJ0akHAAmogASgCBDYCAAvyAQECfyAAKAIYIgFBAToAmAIgASAAKAIYLwHIATsBkAIgASAAKAIYLwHKATsBkgIgASAAKAIYIgIpApgBNwLUASABQewBaiACQbABaigCADYCACABQeQBaiACQagBaikCADcCACABQdwBaiACQaABaikCADcCACABIAAoAhgtANIBQQFxOgCUAiABIAAoAhgtANEBQQFxOgCVAiABIAAoAgBBCHZBAXE6AJYCIAEgACgCGCIAKQLAAjcC8AEgAUGIAmogAEHYAmopAgA3AgAgAUGAAmogAEHQAmopAgA3AgAgAUH4AWogAEHIAmopAgA3AgALrQUDB38EfgN/I4CAgIAAQeAAayIBJICAgIAAAkACQCAAKAIYIgItAJgCRQ0AIAIvAZACIQMgAi8BkgIhBCACLQCUAiEFIAItAJUCIQYgAi0AlgIhBwJAQTxFDQAgASACQdQBakE8/AoAAAtCgAJCACAHQQFxGyEIDAELQQAhBSABQRhqQQA2AgBCACEIIAFBEGpCADcDACABQQhqQgA3AwAgAUEkakEAKQOIp8iAADcCACABQSxqQQApA5CnyIAANwIAIAFBNGpBACkDmKfIgAA3AgAgAUIANwMAIAFBACkDgKfIgAA3AhxBACEGQQAhA0EAIQQLIAIpApgBIQkgAiABKQMANwKYASACQaABaiIHKQIAIQogByABQQhqKQMANwIAIAJBqAFqIgcpAgAhCyAHIAFBEGopAwA3AgAgAkGwAWoiAigCACEHIAIgAUEYaigCADYCACABQcAAakEYaiIMIAc2AgAgAUHAAGpBEGoiDSALNwMAIAFBwABqQQhqIg4gCjcDACABIAk3A0AgACgCGBCSgYCAACEHIAAoAhghAgJAAkAgB0H//wNxRQ0AIAIgASkDQDcCmAEgAkGwAWogDCgCADYCACACQagBaiANKQMANwIAIAJBoAFqIA4pAwA3AgAMAQsgAiABKQIcNwLAAiACQdgCaiABQTRqKQIANwIAIAJB0AJqIAFBLGopAgA3AgAgAkHIAmogAUEkaikCADcCACAAIAA1AgBC//3//w+DIAiEPgIAIAAoAhggBkEBcToA0QEgACgCGCAFQQFxOgDSASAAKAIYIANB//8DcSICIAAvAfIRQX9qQf//A3EiAyACIANJGyAEQf//A3EiAiAALwHwEUF/akH//wNxIgAgAiAASRsQ3oGAgAALIAFB4ABqJICAgIAAIAcLqwgDB38BfgF/I4CAgIAAQYABayIDJICAgIAAAkACQAJAAkAgAkH//wNxIgQgAC8BygEiBU8NACADQQxqIAAoArwBIgYgBSACa0H//wNx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IAYgB2sQoYGAgAAgASgC+BAhByALIAIoAhAiCCAIIAEoAvwQIgkoAgBqIAkoAgQQooGAgAAgAUHwAGogBxCjgYCAACAFIAUpAwBCfIM3AwAMAQsCQAJAIBEgAi8BrAIiBUYNACAFQQFqIQMgDSgCACACKAIQaiEFAkADQCADQX9qIgNFDQEgBSkDACEKIAVBCGohBSAKQgODQgFRDQMMAAsLIA0gDSkDAEL/////v3+DIgo3AwAMBAsgDSANKQMAQv////+/f4MiCjcDAAwDCyANKQMAIQoMAgsgA0F/aiEDIAZBCGohBiAFQQhqIQUMAAsLAkAgCkKAgICAgAKDUA0AIAJBqAFqIQggESEDIAwhBiAMIQUDQAJAAkAgA0UNACAFLQAFQSBxRQ0BIAEgAigCpAEgAigCECIHajYCdCABQZARaiABQfQAaiAGIAdrEKSBgIAAIAEtAJgRRQ0BIAggAigCECABKAKUES8BABClgYCAACABQfQAaiABKAKQERCmgYCAACAFIAUpAwBC////////d4M3AwAMAQsCQAJAIBEgAi8BrAIiBUYNACAFQQFqIQMgDSgCACACKAIQaiEFAkADQCADQX9qIgNFDQEgBS0ABSEGIAVBCGohBSAGQSBxDQMMAAsLIA0gDSkDAEL//////32DIgo3AwAMBAsgDSANKQMAQv//////fYMiCjcDAAwDCyANKQMAIQoMAgsgA0F/aiEDIAZBCGohBiAFQQhqIQUMAAsLAkAgCkKAgICAgAGDUA0AIAJBPGohByARIQUgDCEDA0ACQAJAAkACQAJAIAVFDQAgAykDAEIaiKciBkH//wNxDQEMBAsgESACLwGsAiIFRw0BDAILIAcgAigCECAGEJOBgIAADAILIAVBAWohBSANKAIAIAIoAhBqIQIDQCAFQX9qIgVFDQEgAigBAiEDIAJBCGohAiADQYD4/x9xDQQMAAsLIA0gDSkDAEL//////36DNwMADAILIAVBf2ohBSADQQhqIQMMAAsLIBFBA3QiAkUNACAMQQAgAvwLAAsgACgCGCAEQX9qOwHKASAAKAIYQQEQ6YGAgAAgACgCGBCSgYCAACIEQf//A3ENAQtBACECDAULIAEgBDsBJiABQoAQNwKYESABQbC/x4AANgKQESABIAFB+ABqNgKUEQJAAkACQCABQZARaiABQSZqEPKBgIAAIgRB//8DcUUNACABQZARakGg6cmAAEEtEKiAgIAAIAEvAagRDQIgAUH4EGpBEGogAUGQEWpBEGopAgA3AwAgAUH4EGpBCGoiAiABQZARakEIaikCADcDACABIAEpApARNwP4EAJAIAIgAUEmahDygYCAAEH//wNxRQ0AIAFB+BBqEKmAgIAADAMLIAFBKGogAUH4EGoQqoCAgAAgAUH4EGoQqYCAgAAgAS8BMA0CIAEoAiwhBSABKAIoIQIMAQsgASgClBEhAiABKAKcESEFCyACIAUQgICAgAAgBEH//wNxRQ0AQaDpyYAAIAIgBRC2gICAAAsgACgCGCIEQgA3ApgBQQAhAiAEQbABakEANgIAIARBqAFqQgA3AgAgBEGgAWpCADcCACAAKAIYEJKBgIAAGgwECyABQShqIAMQsYGAgAAgAS8BLCICDQMCQAJAIAEoAihFDQAgAxDvgYCAACICQf//A3FFDQEMBQsCQCADKAK8ASIAKAIAIAMoAlhHDQAgAUH4AGogAEEBEM+BgIAAQZzNx4AAIQQCQCABLQCIAQ0AIAFB+BBqQQhqIAFB+ABqQQhqKAIANgIAIAEgASkCeDcD+BAgAUH4EGohBAsgACAEKQIANwIAIABBCGogBEEIaigCADYCACADKAK8ASIEKAIAIgAoAhggACgCEGogBC8BBCICQQN0aiIEIAAvAa4CIAJBf3NqQQN0IgJqKQMAIQoCQCACRQ0AIARBCGogBCAC/AoAAAsgBCAKNwMAIABBAToAsAIgAygCvAEiACgCACIEKAIYIAQoAhAiBGogAC8BBEEDdGoiAigCACEFIAAvAQYhACADIAI2AsABIAMgBSAEaiAAQQN0ajYCxAEMAQsgAxDvgYCAACICQf//A3ENBAtBACECIAMvAcwBRQ0DIAFBkBFqIAgQ7IGAgAAgAS0AmBFFDQMgAy8BiAFBA3QhACADKALEASADLwHIAUEDdGshBCABKQOQESEKA0AgAEUNBCAEIAo3AwAgAEF4aiEAIARBCGohBAwACwsgAygCvAEoAgAhBCABQeAAaiADELGBgIAAIAEvAWQiAg0CAkACQCAEIAMoArwBIgAoAgAiB0YNACABQdAAakEGaiEEIAFB0ABqQQRqIQUgAUHQAGpBCGogAEEIaigCADYCACABIAApAgA3A1AgASADLwHIATsBViABQdAAaiECDAELIAFBkBFqIABBARDPgYCAAAJAIAEtAKARRQ0AQZzNx4AAIQJBos3HgAAhBEGgzceAACEFDAELIAFBKGpBBmohBCABQShqQQRqIQUgAUEoakEIaiABQZARakEIaigCADYCACABIAEpApARNwMoIAFBKGohAgsgBC8BACEGIAUvAQAhBQJAAkACQAJAAkAgByACKAIAIgRHDQAgAC8BBCAFRw0AIAAvAQZB//8DcSAGRg0BCyADKALAASIAIAApAwBCgICAgIDAAIQ3AwAgBCgCGCAEKAIQaiAFQQN0aiIAIAApAwBCgICAgIDAAIQ3AwAgAygCvAEiACgCACACKAIARg0AIAMvAcwBDQFBvKfIgAAhCUGgp8iAACEHDAILIAAgAikCADcCACAAQQhqIAJBCGooAgA2AgAMAgsgAUGUAWohCSAIKQIAIQogCEIANwMAIAFB+ABqQRhqIAhBGGoiACgCADYCACABQfgAakEQaiAIQRBqIgcpAgA3AwAgAUH4AGpBCGogCEEIaiILKQIANwMAIAtCADcDACAHQgA3AwAgAEEANgIAIAFBAToAlAEgASAKNwN4IAMQkoGAgAAaIAMoArwBIQAgAUH4AGohBwsCQCADKAK4AUUNACAAKAIAIgBBqAFqIAAoAhAgAy8BzgEQpYGAgAAgAygCvAEhAAsgACACKQIANwIAIABBCGogAkEIaigCADYCAAJAIAktAABFDQAgCCAHKQIANwIAIAhBGGoiACAHQRhqKAIANgIAIAhBEGoiAiAHQRBqKQIANwIAIAhBCGogB0EIaikCADcCACADEJKBgIAAIgdB//8DcUUNACABIAc7AXQgAUH0AGoQ4IGAgAAgAEEANgIAIAJCADcDACAIQQhqQgA3AwAgCEIANwMAIANBADsBzAELIAMoArgBIgBFDQAgA0EANgK4ASADQQA7Ac4BAkAgAyAAKAIMIAAoAhBBACAAKAIAIAAtAAhBAXEiAhtBACAAKAIEIAIbENOBgIAAIgJB//8DcUUNACABIAI7AUAgAUHAAGoQ4YGAgAALIAAgA0GQAWoiAhCdgYCAACACIAAQnoGAgAALIAQoAhggBCgCECICaiAFQQN0aiIAKAIAIQUgAyAANgLAASADIAUgAmogBkEDdGo2AsQBIAAgACkDAEKAgICAgMAAhDcDACADLQCkAUUNASADIARBEGogAygCwAEiACAAKAIAIAQoAhBqIAQvAawCEOiBgIAADAELIANBARDYgYCAACACQQE6ALACAkADQCACKAIMIgVFDQEgAkEQaiAFQRBqIAYgAi8BrgJBf2pB//8DcUEDdGogBSgCGCAFKAIQaiIHQQAgAi8BrAIQoIGAgAAiAkH//wNxDQMgBykDACEKAkAgBS8BrgJBA3RBeGoiAEUNACAHIAdBCGogAPwKAAALIAcgAGogCjcDACAFQQE6ALACIAMoAnAhACADKAJsIQQgByEGIAUhAiADKAJ0RQ0AA0ACQCAADQAgByEGIAUhAgwCCwJAIAQoAgAiAigCACAFRw0AAkAgAi8BBCIGDQAgAiAFKAIIIgY2AgAgBi8BrgIhBgsgAiAGQX9qOwEECyAAQX9qIQAgBEEEaiEEDAALCwsgBiACLwGuAkF/akH//wNxQQN0aiINKAIAIAIoAhBqIQwgAi8BrAIhEQJAIA0pAwAiCkKAgICAwACDUA0AIAJBLGohCyARIQQgDCEFIAwhAANAAkACQCAERQ0AIAApAwBCA4NCAVINASABIAIoAjggAigCECIGajYCcCABQeAAaiABQfAAaiAFIAZrEKGBgIAAIAEoAmAhBiALIAIoAhAiByAHIAEoAmQiCSgCAGogCSgCBBCigYCAACABQfAAaiAGEKOBgIAAIAAgACkDAEJ8gzcDAAwBCwJAAkAgESACLwGsAiIARg0AIABBAWohBCANKAIAIAIoAhBqIQACQANAIARBf2oiBEUNASAAKQMAIQogAEEIaiEAIApCA4NCAVENAwwACwsgDSANKQMAQv////+/f4MiCjcDAAwECyANIA0pAwBC/////79/gyIKNwMADAMLIA0pAwAhCgwCCyAEQX9qIQQgBUEIaiEFIABBCGohAAwACwsCQCAKQoCAgICAAoNQDQAgAkGoAWohByARIQQgDCEFIAwhAANAAkACQCAERQ0AIAAtAAVBIHFFDQEgASACKAKkASACKAIQIgZqNgJ0IAFB+BBqIAFB9ABqIAUgBmsQpIGAgAAgAS0AgBFFDQEgByACKAIQIAEoAvwQLwEAEKWBgIAAIAFB9ABqIAEoAvgQEKaBgIAAIAAgACkDAEL///////93gzcDAAwBCwJAAkAgESACLwGs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qICAgAAgAS8BsBANASABQYAQakEQaiABQZgQakEQaikCADcDACABQYAQakEIaiIDIAFBmBBqQQhqKQIANwMAIAEgASkCmBA3A4AQAkAgAyAAEIuCgIAAQf//A3FFDQAgAUGAEGoQqYCAgAAMAgsgAUG0EGogAUGAEGoQqoCAgAAgAUGAEGoQqYCAgAAgAS8BvBANASABKAK4ECEDIAEoArQQIQALIAAgAxCAgICAACACQf//A3FFDQBBoOnJgAAgACADELaAgIAACyABQcAQaiSAgICAAAu3AQECfyOAgICAAEEQayICJICAgIAAAkAgAEHZ8smAAEE9EJqAgIAAIgNB//8DcQ0AIAEtAAAhAyACQdnqwIAANgIAIAJBATYCBCACQQlBByADQQFxIgMbNgIMIAJB4azAgABB3JPAgAAgAxs2AgggACACEKeEgIAAIgNB//8DcQ0AIABBlvPJgABBBRCagICAACIDQf//A3ENACAAIAEvAQIQpYSAgAAhAwsgAkEQaiSAgICAACADC6YCAgp/AX4jgICAgABBEGsiASSAgICAACAAKAJYIQJBACEDAkADQCACKAIYIAIoAhAiBGogAi8BrgIiBUEDdGohBiADIAVqIQdBACEIAkADQAJAAkAgCCAFRg0AIAAvAYgBQQFqIQkgBiAIQX9zQQN0aigCACAEaiEKA0AgCUF/aiIJRQ0CIAopAwAhCyAKQQhqIQogC0L+//+DgIADg1ANAAsgAC8BigEgA2shCgwFCyAHIQMgAigCCCICDQMMAgsgAyAALwGKAU8NASAIQQFqIQggA0EBaiEDDAALCwtBACEKCyAKQQFqIQoCQANAAkAgCkF/aiIKDQBBACEJDAILIAFBCGogABCxgYCAACABLwEMIglFDQALCyABQRBqJICAgIAAIAkLyQIBA38jgICAgABBwBBrIgEkgICAgAAgAUKAEDcCoBAgAUGwv8eAADYCmBAgASABNgKcEAJAAkACQCABQZgQaiAAEIKEgIAAIgJB//8DcQ0AIAEoApwQIQAgASgCpBAhAwwBCyABQZgQakGg6cmAAEHDABCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQgoSAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAAC6cFAQR/I4CAgIAAQdAQayIDJICAgIAAAkACQAJAAkACQAJAAkACQAJAAkACQCABQf8BcQ4DAQACAwsgACgCGCIBLwHIASABKALEASkDAEKAgICAgIADg0KAgICAgIABUWpBAWohBAwHCyAAKAIYIgQvAcgBIgENAkEAIQEMAwsgAC8B8hEhBAwFCyADIAE6AA8gA0KAEDcCsBAgA0Gwv8eAADYCqBAgAyADQRBqNgKsECADQagQaiADQQ9qEKeCgIAAIgBB//8DcUUNAiADQagQakGg6cmAAEEyEKiAgIAAIAMvAcAQDQYgA0GQEGpBEGogA0GoEGpBEGopAgA3AwAgA0GQEGpBCGoiASADQagQakEIaikCADcDACADIAMpAqgQNwOQEAJAIAEgA0EPahCngoCAAEH//wNxRQ0AIANBkBBqEKmAgIAADAcLIANBxBBqIANBkBBqEKqAgIAAIANBkBBqEKmAgIAAIAMvAcwQDQYgAygCyBAhBCADKALEECEBDAMLIAEgBCgCxAEpAwBCgICAgICAA4NCgICAgICAAlFrQf//A3EhAQsgBBCogoCAACAALwHyESEEDAMLIAMoAqwQIQEgAygCtBAhBAsgASAEEICAgIAAIABB//8DcUUNAkGg6cmAACABIAQQtoCAgAAMAgtBACEBCyAAKAIYQQA6ANEBIAAoAhgoAsABIgUgBSkDAEKAgICAgMAAhDcDACAAKAIYIgAoAsQBIAAvAcgBQQN0ayABQQN0aiEFIARB//8DcSABayEBIAAoArwBKAIAQRBqIQQgACgCwAEhBgJAIAAtAOECQQNxQQFGDQAgAkEBcQ0AIAAgBCAGIAUgARDogYCAAAwBCyAAIAQgBiAFIAEQ54GAgAALIANB0BBqJICAgIAACzEBAX8CQCAAQZvyyYAAQT4QmoCAgAAiAkH//wNxDQAgACABLwEAEKWEgIAAIQILIAILpAMCAX8BfiAAKAIIIAEgAhCMgYCAAEEAIQMCQAJAAkACQAJAAkACQCAB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QQEQ34GAgAAgB0F/aiEHIAItAOwBDQAgASACKQLcATcCACABQQhqIAJB3AFqQQhqKAIANgIADAALCyACIAM7ATogAkE6ahCsgoCAAAALIAJB8AFqJICAgIAAC6kEAwN/AX4DfyACKAIAIAEoAgBqIQMCQAJAIAAvAfoRIgQgAC8B8hFBf2pB//8DcUYNACAALwH4EUEBSw0BCyADIAEvAZwCQX9qQf//A3FBA3RqIgUpAwAiBkKAgICAgIADg0KAgICAgIADUg0AIAUgBkL///////98gzcDACAALwH6ESEECyADIARB//8DcUEDdGohBwJAIAMgAC8B+BEiBEEDdGoiCCkDAEKAgICAgIADg0KAgICAgIACUg0AAkAgAyAEQX9qQf//A3FBA3RqIgkpAwBCA4NCAVINACABIAkQ6oGAgAAgAS8BnAJBAWohBSACKAIAIAEoAgBqIQQCQANAIAVBf2oiBUUNASAEKQMAIQYgBEEIaiEEIAZCA4NCAVENAgwACwsgAiACKQMAQv////+/f4M3AwALIAkgCSkDAEKDgID8//98gzcDACAIIAgpAwBC////////fIM3AwALAkAgBykDACIGQoCAgICAgAODQoCAgICAgAFRDQAPCyADIAAvAfoRQQFqQf//A3FBA3RqIQACQCAGQgODQgFSDQAgASAHEOqBgIAAIAEvAZwCQQFqIQUgAigCACABKAIAaiEEAkADQCAFQX9qIgVFDQEgBCkDACEGIARBCGohBCAGQgODQgFRDQIMAAsLIAIgAikDAEL/////v3+DNwMACyAHIAcpAwBCg4CA/P//fIM3AwAgACAAKQMAQv///////3yDNwMAC5wMBAZ/AX4HfwF+I4CAgIAAQdAAayIGJICAgIAAIAMoAgAgACgCACIHaiIIIARBA3QiCWohCiABKAIAIQsCQCADKQMAIgxCgICAgMAAg1ANACAAQRxqIQ0gCCAJaiEOIAohCSAFIQ8DQAJAAkAgD0UNACAJKQMAQgODQgFSDQEgBiAAKAIoIAAoAgAiEGo2AgggBkEMaiAGQQhqIA4gEGsQoYGAgAAgBigCDCERIA0gECAQIAYoAhAiEigCAGogEigCBBCigYCAACAGQQhqIBEQo4GAgAAgCSAJKQMAQnyDNwMADAELAkACQCAFIAAvAZwCIglGDQAgCUEBaiEPIAMoAgAgACgCAGohCQJAA0AgD0F/aiIPRQ0BIAkpAwAhDCAJQQhqIQkgDEIDg0IBUQ0DDAALCyADIAMpAwBC/////79/gyIMNwMADAQLIAMgAykDAEL/////v3+DIgw3AwAMAwsgAykDACEMDAILIA5BCGohDiAJQQhqIQkgD0F/aiEPDAALCwJAIAxCgICAgIACg1ANACAAQZgBaiERIAggBEEDdGohDiAKIQkgBSEPA0ACQAJAIA9FDQAgCS0ABUEgcUUNASAGIAAoApQBIAAoAgAiEGo2AhggBkEcaiAGQRhqIA4gEGsQpIGAgAAgBi0AJEUNASARIBAgBigCIC8BABClgYCAACAGQRhqIAYoAhwQpoGAgAAgCSAJKQMAQv///////3eDNwMADAELAkACQCAFIAAvAZwCIglGDQAgCUEBaiEPIAMoAgAgACgCAGohCQJAA0AgD0F/aiIPRQ0BIAktAAUhDiAJQQhqIQkgDkEgcQ0DDAALCyADIAMpAwBC//////99gyIMNwMADAQLIAMgAykDAEL//////32DIgw3AwAMAwsgAykDACEMDAILIAlBCGohCSAOQQhqIQ4gD0F/aiEPDAALCwJAIAxCgICAgIABg1ANACAAQSxqIRAgCiEPIAUhCQNAAkACQAJAAkACQCAJRQ0AIA8pAwBCGoinIg5B//8DcQ0BDAQLIAUgAC8BnAIiCUcNAQwCCyAQIAAoAgAgDhCTgYCAAAwCCyAJQQFqIQ8gAygCACAAKAIAaiEJA0AgD0F/aiIPRQ0BIAkoAQIhDiAJQQhqIQkgDkGA+P8fcQ0EDAALCyADIAMpAwBC//////9+gzcDAAwCCyAPQQhqIQ8gCUF/aiEJDAALCyACQQN0IQ8gCyAHaiEJAkAgBUEDdCITRSIHDQAgCkEAIBP8CwALIAkgD2ohCwJAAkAgAS0ABEEccUUNACAIIARBA3RqIRAgCSACQQN0aiERIAohCSALIQ8gBSEOA0AgDkUNAiAJIA8pAwAiDDcDAAJAIAxCA4NCAVINACAJIAxCfIM3AwAgBiAAKAIoIAAoAgAiEmo2AiggBkEsaiAGQShqIBEgEmsQoYGAgAAgBiAGKAIwKQIANwM4IAZBKGogBigCLBCjgYCAACAGQShqIBAgEmsgBkE4ahChgoCAACAPIA8pAwBCfIM3AwAgCSAJKQMAQnyDQgGENwMAIAMgAykDAEKAgICAwACENwMAIA8pAwAhDAsCQCAMQoCAgICAgAiDUA0AIAkgCSkDAEL///////93gzcDACAGIAAoApQBIAAoAgAiEmo2AkAgBkHEAGogBkHAAGogESASaxCkgYCAACAGKAJILwEAIQ0gBkHAAGogBigCRBCmgYCAACAGQcAAaiAQIBJrIA0QooKAgAAgCSAJKQMAQoCAgICAgAiENwMAIAMgAykDAEKAgICAgAKENwMACyAQQQhqIRAgCUEIaiEJIBFBCGohESAPQQhqIQ8gDkF/aiEODAALCyAHDQAgCiALIBP8CgAACwJAIAMpAwAiDEKAgICAgAGDQgBSDQAgBUEBaiEJAkADQAJAIAlBf2oiCQ0AQgAhFAwCCyAKKAECIQ8gCkEIaiEKIA9BgPj/H3FFDQALQoCAgICAASEUCyADIBQgDIQ3AwALAkAgBw0AIAtBACAT/AsACwJAIAUgAC8BnAJHDQAgASABKQMAQv////+/fIM3AwALIAZB0ABqJICAgIAAC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABCDhICAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBMhCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQg4SAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAAC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABCEhICAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBMhCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQhISAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAACw8AIAAoAghBABCvgoCAAAviAwEDfyOAgICAAEHQEGsiAiSAgICAAAJAAkACQAJAIAFB/wFxDgQAAgIBAgsgACgCGC8ByAEiAUEHcSEDIAFBA3YhBAJAIAFB/wNLDQAgACAEaiIBIANBwKfIgABqLQAAIAEtADxzOgA8DAMLIAQgACgCNGpBQGoiASADQcCnyIAAai0AACABLQAAczoAAAwCCyAAQTBqQQAQiYGAgAAMAQsgAiABOgAPIAJCgBA3ArAQIAJBsL/HgAA2AqgQIAIgAkEQajYCrBACQAJAIAJBqBBqIAJBD2oQsIKAgAAiAUH//wNxRQ0AIAJBqBBqQaDpyYAAQTsQqICAgAAgAi8BwBANAiACQZAQakEQaiACQagQakEQaikCADcDACACQZAQakEIaiIAIAJBqBBqQQhqKQIANwMAIAIgAikCqBA3A5AQAkAgACACQQ9qELCCgIAAQf//A3FFDQAgAkGQEGoQqYCAgAAMAwsgAkHEEGogAkGQEGoQqoCAgAAgAkGQEGoQqYCAgAAgAi8BzBANAiACKALIECEDIAIoAsQQIQAMAQsgAigCrBAhACACKAK0ECEDCyAAIAMQgICAgAAgAUH//wNxRQ0AQaDpyYAAIAAgAxC2gICAAAsgAkHQEGokgICAgAALNwEBfwJAIABByLHKgABBORCagICAACICQf//A3ENACAAQYy1yoAAIAEtAAAQr4SAgAAhAgsgAgsPACAAKAIIQQMQr4KAgAALOAEBfyAAKAIIIgIgAi8B7BFB/f8DcTsB7BECQCABQQVHDQAgACgCCCIAIAAvAewRQQJyOwHsEQsLQgEBfwJAIAAgASADELSCgIAAIgFB//8DcQ0AIAAgACgCBCIEIANqNgIEIANFDQAgACgCACAEaiACIAP8CgAACyABC2ABA38jgICAgABBEGsiAySAgICAACADIAAoAgQiBCAC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ADoAnREgAEEAOwGUESAAIANBAWo6AJwRDAILIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkACQCACQagoahC7goCAACIDQf//A3FFDQAgAkGoKGpBoOnJgABBLBCogICAACACLwHAKA0DIAJBkChqQRBqIAJBqChqQRBqKQIANwMAIAJBkChqQQhqIgcgAkGoKGpBCGopAgA3AwAgAiACKQKoKDcDkCgCQCAHELuCgIAAQf//A3FFDQAgAkGQKGoQqYCAgAAMBAsgAkHEKGogAkGQKGoQqoCAgAAgAkGQKGoQqYCAgAAgAi8BzCgNAyACKALIKCEJIAIoAsQoIQcMAQsgAigCrCghByACKAK0KCEJCyAHIAkQgICAgAAgA0H//wNxRQ0BQaDpyYAAIAcgCRC2gICAAAwBCyACQQI6ALABIANB/wFxIQcgAEHkEGohCSAAQZcRaiEKIAAvARAgAEESai0AAEEQdHIhAyAALQCbESELAkACQCABQf8BcUHtAEYNACADQf///wdxRQ0AIAIgAzsBxAEgAkHGAWogA0EQdjoAACACIAE6AMgBIAIgBzYCwAEgAiAJNgK8ASACIAs2ArgBIAIgCjYCtAEgAiACLQCwAToA4AEgAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCgCQCACQagoaiACQbQBahC8goCAACIDQf//A3ENACACKAKsKCEHIAIoArQoIQkMAgsgAkGoKGpBoOnJgABB1QAQqICAgAAgAi8BwCgNAiACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiIHIAJBqChqQQhqKQIANwMAIAIgAikCqCg3A5AoAkAgByACQbQBahC8goCAAEH//wNxRQ0AIAJBkChqEKmAgIAADAMLIAJBxChqIAJBkChqEKqAgIAAIAJBkChqEKmAgIAAIAIvAcwoDQIgAigCyCghCSACKALEKCEHDAELIAIgAzsB9AEgAkHkAWpBEmogA0EQdjoAACACIAE6APgBIAIgBzYC8AEgAiAJNgLsASACIAs2AugBIAIgCjYC5AEgAkEBOgCUAiACIAItALABOgCQAiACQeQBaiEIDAELIAcgCRCAgICAACADQf//A3FFDQBBoOnJgAAgByAJELaAgIAAC0H4sMeAACEDAkAgAC0AlhFB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AtQFIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkAgAkGoKGogAkHUBWoQv4KAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDIQBCyACQagoakGg6cmAAEHFABCogICAACACLwHAKA2KASACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHUBWoQv4KAgABB//8DcUUNACACQZAoahCpgICAAAyLAQsgAkHEKGogAkGQKGoQqoCAgAAgAkGQKGoQqYCAgAAgAi8BzCgNigEgAigCyCghBSACKALEKCEEDIMBCyAIRQ2BASACIAg2AvgFIAIgBDYC9AUgAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCgCQCACQagoaiACQfQFahDAgoCAACIBQf//A3ENACACKAKsKCEEIAIoArQoIQUMgQELIAJBqChqQaDpyYAAQcUAEKiAgIAAIAIvAcAoDYkBIAJBkChqQRBqIAJBqChqQRBqKQIANwMAIAJBkChqQQhqIAJBqChqQQhqKQIANwMAIAIgAikCqCg3A5AoAkAgDCACQfQFahDAgoCAAEH//wNxRQ0AIAJBkChqEKmAgIAADIoBCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA2JASACKALIKCEFIAIoAsQoIQQMgAELIAhFDX0gAiAINgKcBiACIAQ2ApgGIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkAgAkGoKGogAkGYBmoQwYKAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDH0LIAJBqChqQaDpyYAAQcUAEKiAgIAAIAIvAcAoDYgBIAJBkChqQRBqIAJBqChqQRBqKQIANwMAIAJBkChqQQhqIAJBqChqQQhqKQIANwMAIAIgAikCqCg3A5AoAkAgDCACQZgGahDBgoCAAEH//wNxRQ0AIAJBkChqEKmAgIAADIkBCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA2IASACKALIKCEFIAIoAsQoIQQMfAsgCEUNeiACIAg2AsAGIAIgBDYCvAYgAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCgCQCACQagoaiACQbwGahDCgoCAACIBQf//A3ENACACKAKsKCEEIAIoArQoIQUMegsgAkGoKGpBoOnJgABBxQAQqICAgAAgAi8BwCgNhwEgAkGQKGpBEGogAkGoKGpBEGopAgA3AwAgAkGQKGpBCGogAkGoKGpBCGopAgA3AwAgAiACKQKoKDcDkCgCQCAMIAJBvAZqEMKCgIAAQf//A3FFDQAgAkGQKGoQqYCAgAAMiAELIAJBxChqIAJBkChqEKqAgIAAIAJBkChqEKmAgIAAIAIvAcwoDYcBIAIoAsgoIQUgAigCxCghBAx5CyAIRQ13IAIgCDYC4AYgAiAENgLcBiACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAIAJBqChqIAJB3AZqEMOCgIAAIgFB//8DcQ0AIAIoAqwoIQQgAigCtCghBQx3CyACQagoakGg6cmAAEHFABCogICAACACLwHAKA2GASACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHcBmoQw4KAgABB//8DcUUNACACQZAoahCpgICAAAyHAQsgAkHEKGogAkGQKGoQqoCAgAAgAkGQKGoQqYCAgAAgAi8BzCgNhgEgAigCyCghBSACKALEKCEEDHYLQcqyx4AAQcyyx4AAIAQtAABBP0YbIQEMdAtByrLHgABBzLLHgAAgBC0AAEE/RhshAQxyCyAIRQ1wIAIgCDYC4AcgAiAENgLcByACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAIAJBqChqIAJB3AdqEMSCgIAAIgFB//8DcQ0AIAIoAqwoIQQgAigCtCghBQxwCyACQagoakGg6cmAAEHFABCogICAACACLwHAKA2DASACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHcB2oQxIKAgABB//8DcUUNACACQZAoahCpgICAAAyEAQsgAkHEKGogAkGQKGoQqoCAgAAgAkGQKGoQqYCAgAAgAi8BzCgNgwEgAigCyCghBSACKALEKCEEDG8LIAhFDW0gAiAINgKACCACIAQ2AvwH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AkHEFWpBC2ogAUEQdjoAACACQcgAOgDMFSACIAg2AsgVIAIgBDYCxBUgAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCgCQAJAIAJBqChqIAJBxBVqEOKCgIAAQf//A3EiAQ0AIAIoAqwoIQQgAigCtCghBQwBCyACQagoakGg6cmAAEEtEKiAgIAAIAIvAcAoDVkgAkGQKGpBEGogAkGoKGpBEGopAgA3AwAgDCACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHEFWoQ4oKAgABB//8DcUUNACACQZAoahCpgICAAAxaCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA1ZIAIoAsgoIQUgAigCxCghBAsgBCAFEICAgIAAIAFFDVhBoOnJgAAgBCAFELaAgIAADFgLIAAQ+IGAgAAMVwsCQCAIRQ0AIAIgATsAwRUgAkG4FWpBC2ogAUEQdjoAACACQcUAOgDAFSACIAg2ArwVIAIgBDYCuBUgAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCgCQAJAIAJBqChqIAJBuBVqEOOCgIAAQf//A3EiAQ0AIAIoAqwoIQQgAigCtCghBQwBCyACQagoakGg6cmAAEEvEKiAgIAAIAIvAcAoDVggAkGQKGpBEGogAkGoKGpBEGopAgA3AwAgDCACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkG4FWoQ44KAgABB//8DcUUNACACQZAoahCpgICAAAxZCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA1YIAIoAsgoIQUgAigCxCghBAsgBCAFEICAgIAAIAFFDVdBoOnJgAAgBCAFELaAgIAADFcLIAAQ9YGAgAAhBAwJCwJAIAhFDQAgAiABOwC1FSACQawVakELaiABQRB2OgAAIAJBxAA6ALQVIAIgCDYCsBUgAiAENgKsFSACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAAkAgAkGoKGogAkGsFWoQ5IKAgABB//8DcSIBDQAgAigCrCghBCACKAK0KCEFDAELIAJBqChqQaDpyYAAQSsQqICAgAAgAi8BwCgNVyACQZAoakEQaiACQagoakEQaikCADcDACAM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DQAgBS8BAEFyag4KAgEDAQQBAQUGBwELIDggCi8AADsAACACIAs7AZQRIAJBlhFqIAtBEHY6AAAgOEECaiAKQQJqLQAAOgAAIAJB9AA6AJgRIAIgUjoAlxEgAkEANgKQESACIAU2AowRIAJBADYCiBEgAiAENgKEESACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKCACQagoaiACQYQRahD5goCAACIBQf//A3FFDQ8gAkGoKGpBoOnJgABBNRCogICAACACLwHAKA1TIAJBkChqQRBqIAJBqChqQRBqKQIANwMAIAJBkChqQQhqIAJBqChqQQhqKQIANwMAIAIgAikCqCg3A5AoAkAgDCACQYQRahD5goCAAEH//wNxRQ0AIAJBkChqEKmAgIAADFQLIAJBxChqIAJBkChqEKqAgIAAIAJBkChqEKmAgIAAIAIvAcwoDVMgAigCyCghBSACKALEKCEEDBALIDkgCi8AADsAACACIAs7AfwQIAJB/hBqIAtBEHY6AAAgOUECaiAKQQJqLQAAOgAAIAJB9AA6AIARIAIgUjoA/xAgAiAHNgL4ECACIAU2AvQQIAJBADYC8BAgAiAENgLsECACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKCACQagoaiACQewQahD6goCAACIBQf//A3FFDQwgAkGoKGpBoOnJgABBwQAQqICAgAAgAi8BwCgNUiACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHsEGoQ+oKAgABB//8DcUUNACACQZAoahCpgICAAAxTCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA1SIAIoAsgoIQUgAigCxCghBAwNCyAHQQFGDVEgOiAKLwAAOwAAIAIgCzsB7A8gAkHuD2ogC0EQdjoAACA6QQJqIApBAmotAAA6AAAgAkH0ADoA8A8gAiBSOgDvDyACIAc2AugPIAIgBTYC5A8gAkEANgLgDyACIAQ2AtwPIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkAgAkGoKGogAkHcD2oQ+4KAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDAsLIAJBqChqQaDpyYAAQT0QqICAgAAgAi8BwCgNUSACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHcD2oQ+4KAgABB//8DcUUNACACQZAoahCpgICAAAxSCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA1RIAIoAsgoIQUgAigCxCghBAwKCyAHQQFGDVAgOyAKLwAAOwAAIAIgCzsBhBAgAkGGEGogC0EQdjoAACA7QQJqIApBAmotAAA6AAAgAkH0ADoAiBAgAiBSOgCHECACIAc2AoAQIAIgBTYC/A8gAkEANgL4DyACIAQ2AvQPIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkAgAkGoKGogAkH0D2oQ/IKAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDAkLIAJBqChqQaDpyYAAQT0QqICAgAAgAi8BwCgNUCACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkH0D2oQ/IKAgABB//8DcUUNACACQZAoahCpgICAAAxRCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA1QIAIoAsgoIQUgAigCxCghBAwICyAHQQFGDU8gPCAKLwAAOwAAIAIgCzsBnBAgAkGeEGogC0EQdjoAACA8QQJqIApBAmotAAA6AAAgAkH0ADoAoBAgAiBSOgCfECACIAc2ApgQIAIgBTYClBAgAkEANgKQECACIAQ2AowQIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkAgAkGoKGogAkGMEGoQ/YKAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDAcLIAJBqChqQaDpyYAAQT0QqICAgAAgAi8BwCgNTyACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkGMEGoQ/YKAgABB//8DcUUNACACQZAoahCpgICAAAxQCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA1PIAIoAsgoIQUgAigCxCghBAwGCyAHQQFGDU4gPSAKLwAAOwAAIAIgCzsBtBAgAkG2EGogC0EQdjoAACA9QQJqIApBAmotAAA6AAAgAkH0ADoAuBAgAiBSOgC3ECACIAc2ArAQIAIgBTYCrBAgAkEANgKoECACIAQ2AqQQIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkAgAkGoKGogAkGkEGoQ/oKAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDAULIAJBqChqQaDpyYAAQT0QqICAgAAgAi8BwCgNTiACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkGkEGoQ/oKAgABB//8DcUUNACACQZAoahCpgICAAAxPCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA1OIAIoAsgoIQUgAigCxCghBAwECyAHQX5xQQJGDQEMAgsCQCAHQX5xQQJHDQAgBS8BAg4DTQBNAAsgPyAKLwAAOwAAIAIgCzsB5BAgAkHmEGogC0EQdjoAACA/QQJqIApBAmotAAA6AAAgAkH0ADoA6BAgAiBSOgDnECACIAc2AuAQIAIgBTYC3BAgAkEANgLYECACIAQ2AtQQIAJB1BBqEP+CgIAADEwLIAUvAQIOA0sASwALID4gCi8AADsAACACIAs7AcwQIAJBzhBqIAtBEHY6AAAgPkECaiAKQQJqLQAAOgAAIAJB9AA6ANAQIAIgUjoAzxAgAiAHNgLIECACIAU2AsQQIAJBADYCwBAgAiAENgK8ECACQbwQahD/goCAAAxKCyAEIAUQgICAgAAgAUH//wNxRQ1JQaDpyYAAIAQgBRC2gICAAAxJCyAEIAUQgICAgAAgAUH//wNxRQ1IQaDpyYAAIAQgBRC2gICAAAxICyAEIAUQgICAgAAgAUH//wNxRQ1HQaDpyYAAIAQgBRC2gICAAAxHCyAEIAUQgICAgAAgAUH//wNxRQ1GQaDpyYAAIAQgBRC2gICAAAxGCyACKAKsKCEEIAIoArQoIQULIAQgBRCAgICAACABQf//A3FFDURBoOnJgAAgBCAFELaAgIAADEQLIAIoAqwoIQQgAigCtCghBQsgBCAFEICAgIAAIAFB//8DcUUNQkGg6cmAACAEIAUQtoCAgAAMQgsgBCAFEICAgIAAIAFB//8DcUUNQUGg6cmAACAEIAUQtoCAgAAMQQsgMyAKLwAAOwAAIAIgCzsB1A8gAkHWD2ogC0EQdjoAACAzQQJqIApBAmotAAA6AAAgAkHzADoA2A8gAiBSOgDXDyACIAc2AtAPIAIgBTYCzA8gAiAINgLIDyACIAQ2AsQPIAJBxA9qEICDgIAADEALAkACQAJAAkACQAJAIAQtAABBQmoOAgACAQtBgAIhASAHDgIEAwILIDUgCi8AADsAACACIAs7AbwPIAJBvg9qIAtBEHY6AAAgNUECaiAKQQJqLQAAOgAAIAJB8wA6AMAPIAIgUjoAvw8gAiAHNgK4DyACIAU2ArQPIAJBATYCsA8gAiAENgKsDyACQawPahD1goCAAAxDCwNAIAdFDUMgAkH2DmogBS8BACIBQQAQ0oKAgAACQAJAIAItAPgORQ0AIAAoAggiAUEMajEAACFWIAE1AgghVyABQQRqMQAAIVggATUCACFZAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIvAfYOIgRBf2oOGQE2AgMEBQYHCDY2CTY2NjY2NjY2NjY2NgoACwJAIARBmHhqDhEQNhESExQVFjY2NjY2NjYXGAALAkAgBEH1d2oODxkaNjYbNjY2NjYcNh0eHwALAkAgBEGWcGoOBiEiNjY2IwALAkAgBEFTag4DDDYNAAsCQCAEQb5/ag4EDjY2DwALQgEhBkL+/////x8hWgJAIARB/v99ag4DJjYlAAsgBEEoRg0KIARB1A9GDR8gBEGAEEYNIwJAIARBjIACRw0AQgQhBkL7/////x8hWgwmC0IIIQZC9/////8fIVoMJQtCECEGQu//////HyFaDCQLQt//////HyFaQiAhBgwjC0LAACEGQr//////HyFaDCILQoABIQZC//7///8fIVoMIQtCgAIhBkL//f///x8hWgwgC0KABCEGQv/7////HyFaDB8LQoAIIQZC//f///8fIVoMHgtCgBAhBkL/7////x8hWgwdC0KAICEGQv/f////HyFaDBwLQoDAACEGQv+/////HyFaDBsLQoCAASEGQv///v//HyFaDBoLQoCAAiEGQv///f//HyFaDBkLQoCABCEGQv//+///HyFaDBgLQoCACCEGQv//9///HyFaDBcLQoCAECEGQv//7///HyFaDBYLQoCAICEGQv//3///HyFaDBULQoCAwAAhBkL//7///x8hWgwUC0KAgIABIQZC/////v8fIVoMEwtCgICAAiEGQv////3/HyFaDBILQoCAgAQhBkL////7/x8hWgwRC0KAgIAIIQZC////9/8fIVoMEAtCgICAECEGQv///+//HyFaDA8LQoCAgCAhBkL////f/x8hWgwOC0KAgIDAACEGQv///7//HyFaDA0LQoCAgIABIQZC//////4fIVoMDAtCgICAgAIhBkL//////R8hWgwLC0KAgICABCEGQv/////7HyFaDAoLQoCAgIAIIQZC//////cfIVoMCQtCgICAgBAhBkL/////7x8hWgwIC0KAgICAICEGQv/////fHyFaDAcLQoCAgIDAACEGQv////+/HyFaDAYLQoCAgICAASEGQv//////HiFaDAULQoCAgICAAiEGQv//////HSFaDAQLQoCAgICABCEGQv//////GyFaDAMLQoCAgICACCEGQv//////FyFaDAILQoCAgICAECEGQv//////DyFaDAELQgIhBkL9/////x8hWgsgASAGIFkgWEIghoSDIFogVyBWQiCGhIOEIgY+AgggAUEMaiAGQiCIPAAADAELIAIgATsB+g4gAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCgCQAJAIAJBqChqIAJB+g5qEIGDgIAAIgFB//8DcUUNACACQagoakGg6cmAAEEsEKiAgIAAIAIvAcAoDQIgAkGQKGpBEGogAkGoKGpBEGopAgA3AwAgAkGQKGpBCGogAkGoKGpBCGopAgA3AwAgAiACKQKoKDcDkCgCQCAMIAJB+g5qEIGDgIAAQf//A3FFDQAgAkGQKGoQqYCAgAAMAwsgAkHEKGogAkGQKGoQqoCAgAAgAkGQKGoQqYCAgAAgAi8BzCgNAiACKALIKCEIIAIoAsQoIQQMAQsgAigCrCghBCACKAK0KCEICyAEIAgQgICAgAAgAUH//wNxRQ0AQaDpyYAAIAQgCBC2gICAAAsgBUECaiEFIAdBf2ohBwwACwsgNiAKLwAAOwAA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BCAIELaAgIAADAELIAAgBCABEIyCgIAAIgRB//8DcQ1BCyAFQQJqIQUgB0F/aiEHDAALCwJAAkACQAJAIAcOAwABAgMLIABB9rLHgAAQtYKAgAAMPgsgAkEAOwH+DSACIAUvAQA7AfwNIAAgAkH8DWoQtYKAgAAMPQsgAiAFKAEANgGADiAAIAJBgA5qELWCgIAADDwLIDEgCi8AADsAACACIAs7AZQOIAJBlg5qIAtBEHY6AAAgMUECaiAKQQJqLQAAOgAAIAJB8gA6AJgOIAIgUjoAlw4gAiAHNgKQDiACIAU2AowOIAJBADYCiA4gAiAENgKEDiACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAAkAgAkGoKGogAkGEDmoQhYOAgAAiAUH//wNxRQ0AIAJBqChqQaDpyYAAQS0QqICAgAAgAi8BwCgNPSACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkGEDmoQhYOAgABB//8DcUUNACACQZAoahCpgICAAAw+CyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA09IAIoAsgoIQUgAigCxCghBAwBCyACKAKsKCEEIAIoArQoIQULIAQgBRCAgICAACABQf//A3FFDTtBoOnJgAAgBCAFELaAgIAADDsLAkAgCEEBRg0AIAIgCDYC+A0gAiAENgL0DSACQfQNahCGg4CAAAw7CwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAQtAAAiAUFgag4DAAMBAgtCACEGQQEhASAHDgITAwQLQfCyx4AAIQEgBw4CCwgJCyABQT5GDU0LIAJBATYC8A0gAiAENgLsDSACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAIAJBqChqIAJB7A1qEIeDgIAAIgFB//8DcQ0AIAIoAqwoIQQgAigCtCghBQwSCyACQagoakGg6cmAAEHFABCogICAACACLwHAKA1MIAJBkChqQRBqIAJBqChqQRBqKQIANwMAIAJBkChqQQhqIAJBqChqQQhqKQIANwMAIAIgAikCqCg3A5AoAkAgDCACQewNahCHg4CAAEH//wNxRQ0AIAJBkChqEKmAgIAADE0LIAJBxChqIAJBkChqEKqAgIAAIAJBkChqEKmAgIAAIAIvAcwoDUwgAigCyCghBSACKALEKCEEDBELQQIhAUKAICEGIAUvAQAiBA4HDQ4NDwMBAgQLIC4gCi8AADsAACACIAs7AcwNIAJBzg1qIAtBEHY6AAAgLkECaiAKQQJqLQAAOgAAIAJB8QA6ANANIAIgUjoAzw0gAiAHNgLIDSACIAU2AsQNIAJBATYCwA0gAiAENgK8DSACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKCACQagoaiACQbwNahCIg4CAACIBQf//A3FFDQogAkGoKGpBoOnJgABBNRCogICAACACLwHAKA1KIAJBkChqQRBqIAJBqChqQRBqKQIANwMAIAJBkChqQQhqIAJBqChqQQhqKQIANwMAIAIgAikCqCg3A5AoAkAgDCACQbwNahCIg4CAAEH//wNxRQ0AIAJBkChqEKmAgIAADEsLIAJBxChqIAJBkChqEKqAgIAAIAJBkChqEKmAgIAAIAIvAcwoDUogAigCyCghBSACKALEKCEEDAsLQQAhAQwNC0EAIQELQgAhBgwLCyACIAQ7AboNIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoIAJBqChqIAJBug1qEImDgIAAIgFB//8DcUUNBCACQagoakGg6cmAAEEvEKiAgIAAIAIvAcAoDUYgAkGQKGpBEGogAkGoKGpBEGopAgA3AwAgAkGQKGpBCGogAkGoKGpBCGopAgA3AwAgAiACKQKoKDcDkCgCQCAMIAJBug1qEImDgIAAQf//A3FFDQAgAkGQKGoQqYCAgAAMRwsgAkHEKGogAkGQKGoQqoCAgAAgAkGQKGoQqYCAgAAgAi8BzCgNRiACKALIKCEFIAIoAsQoIQQMBQsgBS8BACIBQQNJDQELQfSyx4AAIQEMAQsgAUECdEHguMqAAGooAgAhAQsCQAJAAkACQAJAAkAgAS0AAUUNACAAKAIIIgUoAhghBCABLQAAQQNxDgMBAgMBCyAvIAovAAA7AAAgAiALOwHkDSACQeYNaiALQRB2OgAAIC9BAmogCkECai0AADoAACACQfEAOgDoDSACIFI6AOcNIAIgBzYC4A0gAiAFNgLcDSACQQE2AtgNIAIgBDYC1A0gAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCggAkGoKGogAkHUDWoQioOAgAAiAUH//wNxRQ0DIAJBqChqQaDpyYAAQTgQqICAgAAgAi8BwCgNRyACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHUDWoQioOAgABB//8DcUUNACACQZAoahCpgICAAAxICyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA1HIAIoAsgoIQUgAigCxCghBAwECyAEQQA6ANIBDEYLIARBAToA0gEgBSgCGEEBOgDhAgxFCyAEQQE6ANIBIAUoAhhBAjoA4QIMRAsgAigCrCghBCACKAK0KCEFCyAEIAUQgICAgAAgAUH//wNxRQ1CQaDpyYAAIAQgBRC2gICAAAxCCyACKAKsKCEEIAIoArQoIQULIAQgBRCAgICAACABQf//A3FFDUBBoOnJgAAgBCAFELaAgIAADEALIAIoAqwoIQQgAigCtCghBQsgBCAFEICAgIAAIAFB//8DcUUNPkGg6cmAACAEIAUQtoCAgAAMPgtCACEGC0EBIQELIAAoAggiBCAENQIAQv/f//8PgyAGhD4CACAAKAIIKAIYIAE6ANABDDsLIAQgBRCAgICAACABQf//A3FFDTpBoOnJgAAgBCAFELaAgIAADDoLAkAgCEECRg0AIAIgCDYCtA0gAiAENgKwDSACQbANahCGg4CAAAw6CwJAIAQtAABBP0cNACAELQABQSRHDQAgB0EBRg06IC0gCi8AADsAACACIAs7AagNIAJBqg1qIAtBEHY6AAAgAkECNgKcDSAtQQJqIApBAmotAAA6AAAgAkHwADoArA0gAiBSOgCrDSACIAc2AqQNIAIgBTYCoA0gAiAENgKYDSACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAAkAgAkGoKGogAkGYDWoQi4OAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDAELIAJBqChqQaDpyYAAQSwQqICAgAAgAi8BwCgNOyACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkGYDWoQi4OAgABB//8DcUUNACACQZAoahCpgICAAAw8CyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA07IAIoAsgoIQUgAigCxCghBAsgBCAFEICAgIAAIAFB//8DcUUNOkGg6cmAACAEIAUQtoCAgAAMOgsgAkECNgKUDSACIAQ2ApANIAJBkA1qEIaDgIAADDkLAkACQAJAAkACQAJAAkACQAJAAkACQCAIRQ0AIAQtAAAiAUE/Rw0FIAdBAUcNASAIQQFGDQMgLCAKLwAAOwAAIAIgCzsB5AwgAkHmDGogC0EQdjoAACAsQQJqIApBAmotAAA6AAAgAkHuADoA6AwgAiBSOgDnDCACQQE2AuAMIAIgBTYC3AwgAiAINgLYDCACIAQ2AtQMIAJB1AxqEL2CgIAADEMLIAdBAUYNAQsgKyAKLwAAOwAAIAIgCzsBzAwgAkHODGogC0EQdjoAACArQQJqIApBAmotAAA6AAAgAkHuADoA0AwgAiBSOgDPDCACIAc2AsgMIAIgBTYCxAwgAiAINgLADCACIAQ2ArwMIAJBvAxqEIyDgIAADEELAkACQCAFLwEAQXtqDgIAAQMLIAAoAgwgAEHupMCAAEEEELOCgIAAIQQMGQsgACgCCCIBKAIYIgUvAcoBIQQgBS8ByAEhBSABLQABQQFxDQMMBwsgBS8BAEHkB0YNFgsgKiAKLwAAOwAAIAIgCzsB/AwgAkH+DGogC0EQdjoAACAqQQJqIApBAmotAAA6AAAgAkHuADoAgA0gAiBSOgD/DCACQQE2AvgMIAIgBTYC9AwgAiAINgLwDCACIAQ2AuwMIAJB7AxqEIyDgIAADD4LAkAgCEEBRg0AIAIgCDYCjA0gAiAENgKIDSACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAIAJBqChqIAJBiA1qEI2DgIAAIgFB//8DcQ0AIAIoAqwoIQQgAigCtCghBQwFCyACQagoakGg6cmAAEHFABCogICAACACLwHAKA0+IAJBkChqQRBqIAJBqChqQRBqKQIANwMAIAJBkChqQQhqIAJBqChqQQhqKQIANwMAIAIgAikCqCg3A5AoAkAgDCACQYgNahCNg4CAAEH//wNxRQ0AIAJBkChqEKmAgIAADD8LIAJBxChqIAJBkChqEKqAgIAAIAJBkChqEKmAgIAAIAIvAcwoDT4gAigCyCghBSACKALEKCEEDAQLIAFBPkYNAiACIAE6AIcNIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkAgAkGoKGogAkGHDWoQjoOAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDAILIAJBqChqQaDpyYAAQTQQqICAgAAgAi8BwCgNPSACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkGHDWoQjoOAgABB//8DcUUNACACQZAoahCpgICAAAw+CyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA09IAIoAsgoIQUgAigCxCghBAwBC0EAIARB//8DcSIEIAEvAfQRayIHIAcgBEsbIQRBACAFQf//A3EiBSABLwH4EWsiASABIAVLGyEFDAMLIAQgBRCAgICAACABQf//A3FFDTtBoOnJgAAgBCAFELaAgIAADDsLIAAoAggiASABLwHsEUH9/wNxOwHsEQw6CyAEIAUQgICAgAAgAUH//wNxRQ05QaDpyYAAIAQgBRC2gICAAAw5CyACQiA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoIAJBqChqQcinyIAAQQIQmoCAgABB//8DcQ0PIAJBqChqQYy1yoAAIARBAWoQj4OAgABB//8DcQ0PIAJBqChqQcqnyIAAQQEQmoCAgABB//8DcQ0PIAJBqChqQYy1yoAAIAVBAWoQj4OAgABB//8DcQ0PIAJBqChqQcunyIAAQQEQmoCAgABB//8DcQ0PIAAoAgwgACACKAKsKCACKAK0KBCzgoCAACEEDBALAkACQCAELQAAIgFBPkYNACACIAE6ALMMIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkAgAkGoKGogAkGzDGoQkIOAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDAILIAJBqChqQaDpyYAAQTQQqICAgAAgAi8BwCgNOSACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkGzDGoQkIOAgABB//8DcUUNACACQZAoahCpgICAAAw6CyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA05IAIoAsgoIQUgAigCxCghBAwBCwJAIAdFDQBBACEIAkACQAJAAkACQAJAIAUvAQAiAQ4FAwABBAIEC0EBIQEMAgtBAiEBDAELQQMhAUEBIQgLAkAgB0ECTQ0AICkgCi8AADsAACACIAs7AagMIAJBqgxqIAtBEHY6AAAgKUECaiAKQQJqLQAAOgAAIAJB7QA6AKwMIAIgUjoAqwwgAiAHNgKkDCACIAU2AqAMIAJBATYCnAwgAiAENgKYDCACQZgMahCRg4CAAAw8CyAHQQJGIAhxRQ0BQQVBAyAFLwECQQJGGyEBDAELICggCi8AADsAACACIAs7AZAMIAJBkgxqIAtBEHY6AAAgKEECaiAKQQJqLQAAOgAAIAJB7QA6AJQMIAIgUjoAkwwgAiAHNgKMDCACIAU2AogMIAJBATYChAwgAiAENgKADCACQYAMahCRg4CAAAw6CyAAIAEQsoKAgAAMOQsgACgCCCIBIAEvAewRQf3/A3E7AewRDDgLIAQgBRCAgICAACABQf//A3FFDTdBoOnJgAAgBCAFELaAgIAADDcLIAIgCzsB4AsgAkHiC2ogC0EQdjoAACACQQA2AuQLIAIgBzYC3AsgAiAFNgLYCwNAIAJB6AtqIAJB2AtqENeAgIAAIAItAPwLRQ03IAIoAugLIgRBAUYNACAAKAIIKAIYIQECQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAEDh8AIAECAwQFBgcICQoLDA0ODxAREhMUFRcWGBkbGh0cAAsgAUIANwOYASABQbABakEANgIAIAFBqAFqQgA3AwAgAUGgAWpCADcDAAwdCyABIAEvAbABQQFyOwGwAQwcCyABIAEvAbABQfr/A3E7AbABDBsLIAEgAS8BsAFBAnI7AbABDBoLIAEgAS8BsAFB/f8DcTsBsAEMGQsgASABLwGwAUEEcjsBsAEMGAsgASACLQDsC0EHcUEIdCABLwGwAUH/8QNxcjsBsAEMFwsgAUECOgCsASABIAIvAewLIgQ6AKgBIAEgBEEIdjoAqQEgASACQe4Lai0AADoAqgEMFgsgAUEBOgCsASABIAItAOwLOgCoAQwVCyABQgA3A6gBDBQLIAEgAS8BsAFBgAFyOwGwAQwTCyABIAEvAbABQf/+A3E7AbABDBILIAEgAS8BsAFBCHI7AbABDBELIAEgAS8BsAFB9/8DcTsBsAEMEAsgASABLwGwAUEQcjsBsAEMDwsgASABLwGwAUHv/wNxOwGwAQwOCyABIAEvAbABQSByOwGwAQwNCyABIAEvAbABQd//A3E7AbABDAwLIAEgAS8BsAFBwAByOwGwAQwLCyABIAEvAbABQb//A3E7AbABDAoLIAFBAjoAnAEgASACLwHsCyIEOgCYASABIARBCHY6AJkBIAEgAkHuC2otAAA6AJoBDAkLIAFBAjoApAEgASACLwHsCyIEOgCgASABIARBCHY6AKEBIAEgAkHuC2otAAA6AKIBDAgLIAFBAToAnAEgASACLQDsCzoAmAEMBwsgAUEBOgCkASABIAItAOwLOgCgAQwGCyABQgA3A5gBDAULIAFCADcDoAEMBAsgAUEBOgCcASABIAItAOwLOgCYAQwDCyABQQE6AKQBIAEgAi0A7As6AKABDAILIAFBAToAnAEgASACLQDsCzoAmAEMAQsgAUEBOgCkASABIAItAOwLOgCgAQsgARCSgYCAABoMAAsLAAsgAiAINgK4DCACIAQ2ArQMIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkACQCACQagoaiACQbQMahCSg4CAACIBQf//A3FFDQAgAkGoKGpBoOnJgABBxQAQqICAgAAgAi8BwCgNNiACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkG0DGoQkoOAgABB//8DcUUNACACQZAoahCpgICAAAw3CyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA02IAIoAsgoIQUgAigCxCghBAwBCyACKAKsKCEEIAIoArQoIQULIAQgBRCAgICAACABQf//A3FFDTRBoOnJgAAgBCAFELaAgIAADDQLA0AgB0UNNCACQdALaiAFLwEAIgEgCEUQ0oKAgAACQAJAIAItANILRQ0AIAIgAi8B0As7AdQLIAAgAkHUC2oQjoKAgAAiBEH//wNxDTkMAQsgAiABOwHWCyACQdYLahDTgoCAAAsgBUECaiEFIAdBf2ohBwwACwsgBCAFEICAgIAAIAFB//8DcUUNMkGg6cmAACAEIAUQtoCAgAAMMgsCQAJAAkAgBS8BACIBDgQAAgIBAgsgABCugoCAAAwzCyAAELGCgIAADDILIAIgAToAjwsgAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCgCQAJAIAJBqChqIAJBjwtqEJODgIAAIgFB//8DcUUNACACQagoakGg6cmAAEErEKiAgIAAIAIvAcAoDTMgAkGQKGpBEGogAkGoKGpBEGopAgA3AwAgAkGQKGpBCGogAkGoKGpBCGopAgA3AwAgAiACKQKoKDcDkCgCQCAMIAJBjwtqEJODgIAAQf//A3FFDQAgAkGQKGoQqYCAgAAMNAsgAkHEKGogAkGQKGoQqoCAgAAgAkGQKGoQqYCAgAAgAi8BzCgNMyACKALIKCEFIAIoAsQoIQQMAQsgAigCrCghBCACKAK0KCEFCyAEIAUQgICAgAAgAUH//wNxRQ0xQaDpyYAAIAQgBRC2gICAAAwxCyAEIAUQgICAgAAgAUH//wNxRQ0wQaDpyYAAIAQgBRC2gICAAAwwCyAEIAUQgICAgAAgAUH//wNxRQ0vQaDpyYAAIAQgBRC2gICAAAwvC0EBIQECQAJAAkAgBw4CAQACCyAFLwEAIQELIAAoAggiBCAEKAIYIgQvAcoBQQFqQf//A3EgAUH//wNxaiIBQf//AyABQf//A0kbIAQvAcgBQQFqQf//A3EQ44GAgAAMLwsgJCAKLwAAOwAAIAIgCzsB5AogAkHmCmogC0EQdjoAACAkQQJqIApBAmotAAA6AAAgAkHlADoA6AogAiBSOgDnCiACIAc2AuAKIAIgBTYC3AogAkEANgLYCiACIAQ2AtQKIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkACQCACQagoaiACQdQKahCUg4CAACIBQf//A3FFDQAgAkGoKGpBoOnJgABBKRCogICAACACLwHAKA0wIAJBkChqQRBqIAJBqChqQRBqKQIANwMAIAJBkChqQQhqIAJBqChqQQhqKQIANwMAIAIgAikCqCg3A5AoAkAgDCACQdQKahCUg4CAAEH//wNxRQ0AIAJBkChqEKmAgIAADDELIAJBxChqIAJBkChqEKqAgIAAIAJBkChqEKmAgIAAIAIvAcwoDTAgAigCyCghBSACKALEKCEEDAELIAIoAqwoIQQgAigCtCghBQsgBCAFEICAgIAAIAFB//8DcUUNLkGg6cmAACAEIAUQtoCAgAAMLgsgBCAFEICAgIAAIAFB//8DcUUNLUGg6cmAACAEIAUQtoCAgAAMLQtBASEBAkACQAJAIAcOAgEAAgsgBS8BACEBCyAAKAIIIgQgASAEKAIYLwHIAUEBakH//wNxEOOBgIAADC0LICMgCi8AADsAACACIAs7AcQKIAJBxgpqIAtBEHY6AAAgI0ECaiAKQQJqLQAAOgAAIAJB5AA6AMgKIAIgUjoAxwogAiAHNgLACiACIAU2ArwKIAJBADYCuAogAiAENgK0CiACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAAkAgAkGoKGogAkG0CmoQlYOAgAAiAUH//wNxRQ0AIAJBqChqQaDpyYAAQSkQqICAgAAgAi8BwCgNLiACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkG0CmoQlYOAgABB//8DcUUNACACQZAoahCpgICAAAwvCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA0uIAIoAsgoIQUgAigCxCghBAwBCyACKAKsKCEEIAIoArQoIQULIAQgBRCAgICAACABQf//A3FFDSxBoOnJgAAgBCAFELaAgIAADCwLIAEtAAQNKyAiIAovAAA7AAAgAiALOwGsCiACQa4KaiALQRB2OgAAICJBAmogCkECai0AADoAACACQeMAOgCwCiACIFI6AK8KIAIgBzYCqAogAiAFNgKkCiACIAg2AqAKIAIgBDYCnAogAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCgCQAJAIAJBqChqIAJBnApqEJaDgIAAIgFB//8DcQ0AIAIoAqwoIQQgAigCtCghBQwBCyACQagoakGg6cmAAEE3EKiAgIAAIAIvAcAoDSwgAkGQKGpBEGogAkGoKGpBEGopAgA3AwAgAkGQKGpBCGogAkGoKGpBCGopAgA3AwAgAiACKQKoKDcDkCgCQCAMIAJBnApq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A3FFDRVBoOnJgAAgBCAFELaAgIAADBULQQEhAQJAAkACQCAHDgIBAAILIAUvAQAhAQsgACgCCCABEPOBgIAADBULIBggCi8AADsAACACIAs7AfQHIAJB9gdqIAtBEHY6AAAgGEECaiAKQQJqLQAAOgAAIAJBzQA6APgHIAIgUjoA9wcgAiAHNgLwByACIAU2AuwHIAJBADYC6AcgAiAENgLkByACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAAkAgAkGoKGogAkHkB2oQoIOAgAAiAUH//wNxRQ0AIAJBqChqQaDpyYAAQSgQqICAgAAgAi8BwCgNFiACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHkB2oQoIOAgABB//8DcUUNACACQZAoahCpgICAAAwXCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA0WIAIoAsgoIQUgAigCxCghBAwBCyACKAKsKCEEIAIoArQoIQULIAQgBRCAgICAACABQf//A3FFDRRBoOnJgAAgBCAFELaAgIAADBQLIAQgBRCAgICAACABQf//A3FFDRNBoOnJgAAgBCAFELaAgIAADBMLQQEhAQJAAkACQCAHDgIBAAILIAUvAQAhAQsgACgCCCABEKmCgIAADBMLIBcgCi8AADsAACACIAs7AdQHIAJB1gdqIAtBEHY6AAAgF0ECaiAKQQJqLQAAOgAAIAJBzAA6ANgHIAIgUjoA1wcgAiAHNgLQByACIAU2AswHIAJBADYCyAcgAiAENgLEByACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAAkAgAkGoKGogAkHEB2oQoYOAgAAiAUH//wNxRQ0AIAJBqChqQaDpyYAAQSgQqICAgAAgAi8BwCgNFCACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHEB2oQoYOAgABB//8DcUUNACACQZAoahCpgICAAAwVCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA0UIAIoAsgoIQUgAigCxCghBAwBCyACKAKs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gABBAhCagICAACEDCyACQcAAaiSAgICAACADC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABCzg4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBLhCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQs4OAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAACy4BAX8CQCAAQYuYyoAAQSsQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILPQEBfwJAIABBwvbJgABBwgAQmoCAgAAiAkH//wNxDQAgACABKAIAIAEoAgRBjLXKgAAQoYSAgAAhAgsgAgs9AQF/AkAgAEGz98mAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACCz0BAX8CQCAAQaH4yYAAQcIAEJqAgIAAIgJB//8DcQ0AIAAgASgCACABKAIEQYy1yoAAEKGEgIAAIQILIAILPQEBfwJAIABB4/jJgABBwgAQmoCAgAAiAkH//wNxDQAgACABKAIAIAEoAgRBjLXKgAAQoYSAgAAhAgsgAgs9AQF/AkAgAEHW+cmAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACCz0BAX8CQCAAQZr7yYAAQcIAEJqAgIAAIgJB//8DcQ0AIAAgASgCACABKAIEQYy1yoAAEKGEgIAAIQILIAILPQEBfwJAIABBgfzJgABBwgAQmoCAgAAiAkH//wNxDQAgACABKAIAIAEoAgRBjLXKgAAQoYSAgAAhAgsgAgs9AQF/AkAgAEH3/MmAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACCz0BAX8CQCAAQeX9yYAAQcIAEJqAgIAAIgJB//8DcQ0AIAAgASgCACABKAIEQYy1yoAAEKGEgIAAIQILIAILPQEBfwJAIABB1f7JgABBwgAQmoCAgAAiAkH//wNxDQAgACABKAIAIAEoAgRBjLXKgAAQoYSAgAAhAgsgAgs9AQF/AkAgAEHL/8mAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACCz0BAX8CQCAAQcCAyoAAQcIAEJqAgIAAIgJB//8DcQ0AIAAgASgCACABKAIEQYy1yoAAEKGEgIAAIQILIAILPQEBfwJAIABBuIHKgABBwgAQmoCAgAAiAkH//wNxDQAgACABKAIAIAEoAgRBjLXKgAAQoYSAgAAhAgsgAgs9AQF/AkAgAEGggsqAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACCz0BAX8CQCAAQZGDyoAAQcIAEJqAgIAAIgJB//8DcQ0AIAAgASgCACABKAIEQYy1yoAAEKGEgIAAIQILIAILPQEBfwJAIABBrYTKgABBwgAQmoCAgAAiAkH//wNxDQAgACABKAIAIAEoAgRBjLXKgAAQoYSAgAAhAgsgAgs9AQF/AkAgAEGVhcqAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACCz0BAX8CQCAAQayGyoAAQcIAEJqAgIAAIgJB//8DcQ0AIAAgASgCACABKAIEQYy1yoAAEKGEgIAAIQILIAILLgEBfwJAIABB14XKgABBLBCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgvoCwECfwJAIAFB//8DcSIDQQJHDQAgAkEBcUUNACAAQQE6AAIgAEGCgAI7AQAPCwJAIANBBEcNACACQQFxRQ0AIABBAToAAiAAQYSAAjsBAA8LAkAgAUH//wNxIgNBDEcNACACQQFxRQ0AIABBAToAAiAAQYyAAjsBAA8LAkAgA0EURw0AIAJBAXFFDQAgAEEBOgACIABBlIACOwEADwsCQCABQf//A3EiA0EBRw0AIAJBAXENACAAQQE6AAIgAEEBOwEADwsCQCADQQNHDQAgAkEBcQ0AIABBAToAAiAAQQM7AQAPCwJAIAFB//8DcSIDQQRGIAJBAXMiBHFBAUcNACAAQQE6AAIgAEGEgH5BBCACQQFxGzsBAA8LAkAgA0EFRw0AIAJBAXENACAAQQE6AAIgAEEFOwEADwsCQCABQf//A3EiA0EGRw0AIAJBAXENACAAQQE6AAIgAEEGOwEADwsCQCADQQdHDQAgAkEBcQ0AIABBAToAAiAAQQc7AQAPCwJAIAFB//8DcSIDQQhHDQAgAkEBcQ0AIABBAToAAiAAQQg7AQAPCwJAIANBCUcNACACQQFxDQAgAEEBOgACIABBCTsBAA8LAkAgAUH//wNxIgNBDEYgBHFBAUcNACAAQQE6AAIgAEGMgH5BDCACQQFxGzsBAA8LAkAgA0EZRw0AIAJBAXENACAAQQE6AAIgAEEZOwEADwsCQCABQf//A3EiA0EoRw0AIAJBAXENACAAQQE6AAIgAEEoOwEADwsCQCADQS1HDQAgAkEBcQ0AIABBAToAAiAAQS07AQAPCwJAIAFB//8DcSIDQS9HDQAgAkEBcQ0AIABBAToAAiAAQS87AQAPCwJAIANBwgBHDQAgAkEBcQ0AIABBAToAAiAAQcIAOwEADwsCQCABQf//A3EiA0HFAEcNACACQQFxDQAgAEEBOgACIABBxQA7AQAPCwJAIANB6AdHDQAgAkEBcQ0AIABBAToAAiAAQegHOwEADwsCQCABQf//A3EiA0HqB0cNACACQQFxDQAgAEEBOgACIABB6gc7AQAPCwJAIANB6wdHDQAgAkEBcQ0AIABBAToAAiAAQesHOwEADwsCQCABQf//A3EiA0HsB0cNACACQQFxDQAgAEEBOgACIABB7Ac7AQAPCwJAIANB7QdHDQAgAkEBcQ0AIABBAToAAiAAQe0HOwEADwsCQCABQf//A3EiA0HuB0cNACACQQFxDQAgAEEBOgACIABB7gc7AQAPCwJAIANB7wdHDQAgAkEBcQ0AIABBAToAAiAAQe8HOwEADwsCQCABQf//A3EiA0H3B0cNACACQQFxDQAgAEEBOgACIABB9wc7AQAPCwJAIANB+AdHDQAgAkEBcQ0AIABBAToAAiAAQfgHOwEADwsCQCABQf//A3EiA0GLCEcNACACQQFxDQAgAEEBOgACIABBiwg7AQAPCwJAIANBjAhHDQAgAkEBcQ0AIABBAToAAiAAQYwIOwEADwsCQCABQf//A3EiA0GPCEcNACACQQFxDQAgAEEBOgACIABBjwg7AQAPCwJAIANBlQhHDQAgAkEBcQ0AIABBAToAAiAAQZUIOwEADwsCQCABQf//A3EiA0GXCEcNACACQQFxDQAgAEEBOgACIABBlwg7AQAPCwJAIANBmAhHDQAgAkEBcQ0AIABBAToAAiAAQZgIOwEADwsCQCABQf//A3EiA0GZCEcNACACQQFxDQAgAEEBOgACIABBmQg7AQAPCwJAIANB1A9HDQAgAkEBcQ0AIABBAToAAiAAQdQPOwEADwsCQCABQf//A3EiA0HqD0cNACACQQFxDQAgAEEBOgACIABB6g87AQAPCwJAIANB6w9HDQAgAkEBcQ0AIABBAToAAiAAQesPOwEADwsCQCABQf//A3EiAUHvD0cNACACQQFxDQAgAEEBOgACIABB7w87AQAPCwJAIAFBgBBHDQAgAkEBcQ0AIABBAToAAiAAQYAQOwEADwsgAEEANgEAC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABC0g4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBJxCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQtIOAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAAC+kBAgZ/AX5BACECA38CQAJAIAIgAU8iAw0AAkAgACACaiIELAAAIgVBAEgNAEEBIQUMAgsgBUH/AXFBzKfIgABqLQAAIgZB8QFGDQAgAiAGQQdxIgVqIAFLDQAgBEEBai0AACIHQoDBgoSJECAGQQF2QfgAca0iCIinQbABcUkNACAHQr///vz7ESAIiKdB/wFxSw0AAkACQCAFQX5qDgMDAAEDCyAEQQJqLAAAQb9/Sg0BQQMhBQwCCyAEQQJqLAAAQb9/Sg0AIARBA2osAABBQE4NAEEEIQUMAQsgAw8LIAUgAmohAgwACwsTACAAQbaYyoAAQcYAEJqAgIAACzQBAX8CQCAAQdSZyoAAQS0QmoCAgAAiAkH//wNxDQAgAEGMtcqAACABEKyEgIAAIQILIAILEgAgAEGjmcqAAEExEJqAgIAAC1ABA38CQAJAIAAgAkcNAEEBIQMMAQsDQCABRSEDIAFFDQEgAUF/aiEBIAItAAAhBCAALQAAIQUgAkEBaiECIABBAWohACAFIARGDQALCyADCzwBAX8CQCAAQfyYyoAAQScQmoCAgAAiAkH//wNxDQAgACABKAIAIAEoAgRBjLXKgAAQoYSAgAAhAgsgAgvIAgEDfyOAgICAAEHAEGsiASSAgICAACABQoAQNwKgECABQbC/x4AANgKYECABIAE2ApwQAkACQAJAIAFBmBBqIAAQrIOAgAAiAkH//wNxDQAgASgCnBAhACABKAKkECEDDAELIAFBmBBqQaDpyYAAQSsQqICAgAAgAS8BsBANASABQYAQakEQaiABQZgQakEQaikCADcDACABQYAQakEIaiIDIAFBmBBqQQhqKQIANwMAIAEgASkCmBA3A4AQAkAgAyAAEKyDgIAAQf//A3FFDQAgAUGAEGoQqYCAgAAMAgsgAUG0EGogAUGAEGoQqoCAgAAgAUGAEGoQqYCAgAAgAS8BvBANASABKAK4ECEDIAEoArQQIQALIAAgAxCAgICAACACQf//A3FFDQBBoOnJgAAgACADELaAgIAACyABQcAQaiSAgICAAAsuAQF/AkAgAEHj8cmAAEE4EJqAgIAAIgJB//8DcQ0AIAAgARCmhICAACECCyACCy4BAX8CQCAAQavxyYAAQTgQmoCAgAAiAkH//wNxDQAgACABEKaEgIAAIQILIAILLgEBfwJAIABB8/DJgABBOBCagICAACICQf//A3ENACAAIAEQpoSAgAAhAgsgAgvIAgEDfyOAgICAAEHAEGsiASSAgICAACABQoAQNwKgECABQbC/x4AANgKYECABIAE2ApwQAkACQAJAIAFBmBBqIAAQqoOAgAAiAkH//wNxDQAgASgCnBAhACABKAKkECEDDAELIAFBmBBqQaDpyYAAQTQQqICAgAAgAS8BsBANASABQYAQakEQaiABQZgQakEQaikCADcDACABQYAQakEIaiIDIAFBmBBqQQhqKQIANwMAIAEgASkCmBA3A4AQAkAgAyAAEKqDgIAAQf//A3FFDQAgAUGAEGoQqYCAgAAMAgsgAUG0EGogAUGAEGoQqoCAgAAgAUGAEGoQqYCAgAAgAS8BvBANASABKAK4ECEDIAEoArQQIQALIAAgAxCAgICAACACQf//A3FFDQBBoOnJgAAgACADELaAgIAACyABQcAQaiSAgICAAAvIAgEDfyOAgICAAEHAEGsiASSAgICAACABQoAQNwKgECABQbC/x4AANgKYECABIAE2ApwQAkACQAJAIAFBmBBqIAAQqYOAgAAiAkH//wNxDQAgASgCnBAhACABKAKkECEDDAELIAFBmBBqQaDpyYAAQTQQqICAgAAgAS8BsBANASABQYAQakEQaiABQZgQakEQaikCADcDACABQYAQakEIaiIDIAFBmBBqQQhqKQIANwMAIAEgASkCmBA3A4AQAkAgAyAAEKmDgIAAQf//A3FFDQAgAUGAEGoQqYCAgAAMAgsgAUG0EGogAUGAEGoQqoCAgAAgAUGAEGoQqYCAgAAgAS8BvBANASABKAK4ECEDIAEoArQQIQALIAAgAxCAgICAACACQf//A3FFDQBBoOnJgAAgACADELaAgIAACyABQcAQaiSAgICAAAvIAgEDfyOAgICAAEHAEGsiASSAgICAACABQoAQNwKgECABQbC/x4AANgKYECABIAE2ApwQAkACQAJAIAFBmBBqIAAQq4OAgAAiAkH//wNxDQAgASgCnBAhACABKAKkECEDDAELIAFBmBBqQaDpyYAAQTAQqICAgAAgAS8BsBANASABQYAQakEQaiABQZgQakEQaikCADcDACABQYAQakEIaiIDIAFBmBBqQQhqKQIANwMAIAEgASkCmBA3A4AQAkAgAyAAEKuDgIAAQf//A3FFDQAgAUGAEGoQqYCAgAAMAgsgAUG0EGogAUGAEGoQqoCAgAAgAUGAEGoQqYCAgAAgAS8BvBANASABKAK4ECEDIAEoArQQIQALIAAgAxCAgICAACACQf//A3FFDQBBoOnJgAAgACADELaAgIAACyABQcAQaiSAgICAAAsuAQF/AkAgAEGH78mAAEEwEJqAgIAAIgJB//8DcQ0AIAAgARCmhICAACECCyACCy4BAX8CQCAAQd3uyYAAQSoQmoCAgAAiAkH//wNxDQAgACABEKaEgIAAIQILIAILLgEBfwJAIABBse7JgABBLBCagICAACICQf//A3ENACAAIAEQpoSAgAAhAgsgAgsuAQF/AkAgAEGJ7smAAEEoEJqAgIAAIgJB//8DcQ0AIAAgARCmhICAACECCyACCy4BAX8CQCAAQZfsyYAAQSIQmoCAgAAiAkH//wNxDQAgACABEKaEgIAAIQILIAILyAIBA38jgICAgABBwBBrIgEkgICAgAAgAUKAEDcCoBAgAUGwv8eAADYCmBAgASABNgKcEAJAAkACQCABQZgQaiAAEKeDgIAAIgJB//8DcQ0AIAEoApwQIQAgASgCpBAhAwwBCyABQZgQakGg6cmAAEE0EKiAgIAAIAEvAbAQDQEgAUGAEGpBEGogAUGYEGpBEGopAgA3AwAgAUGAEGpBCGoiAyABQZgQakEIaikCADcDACABIAEpApgQNwOAEAJAIAMgABCng4CAAEH//wNxRQ0AIAFBgBBqEKmAgIAADAILIAFBtBBqIAFBgBBqEKqAgIAAIAFBgBBqEKmAgIAAIAEvAbwQDQEgASgCuBAhAyABKAK0ECEACyAAIAMQgICAgAAgAkH//wNxRQ0AQaDpyYAAIAAgAxC2gICAAAsgAUHAEGokgICAgAALyAIBA38jgICAgABBwBBrIgEkgICAgAAgAUKAEDcCoBAgAUGwv8eAADYCmBAgASABNgKcEAJAAkACQCABQZgQaiAAEKiDgIAAIgJB//8DcQ0AIAEoApwQIQAgASgCpBAhAwwBCyABQZgQakGg6cmAAEEuEKiAgIAAIAEvAbAQDQEgAUGAEGpBEGogAUGYEGpBEGopAgA3AwAgAUGAEGpBCGoiAyABQZgQakEIaikCADcDACABIAEpApgQNwOAEAJAIAMgABCog4CAAEH//wNxRQ0AIAFBgBBqEKmAgIAADAILIAFBtBBqIAFBgBBqEKqAgIAAIAFBgBBqEKmAgIAAIAEvAbwQDQEgASgCuBAhAyABKAK0ECEACyAAIAMQgICAgAAgAkH//wNxRQ0AQaDpyYAAIAAgAxC2gICAAAsgAUHAEGokgICAgAALLgEBfwJAIABBxvDJgABBLRCagICAACICQf//A3ENACAAIAEQpoSAgAAhAgsgAgs9AQF/AkAgAEHJl8qAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACCy4BAX8CQCAAQaOXyoAAQSYQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILPQEBfwJAIABB4ZbKgABBwgAQmoCAgAAiAkH//wNxDQAgACABKAIAIAEoAgRBjLXKgAAQoYSAgAAhAgsgAgsuAQF/AkAgAEG7lsqAAEEmEJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACCz0BAX8CQCAAQfmVyoAAQcIAEJqAgIAAIgJB//8DcQ0AIAAgASgCACABKAIEQYy1yoAAEKGEgIAAIQILIAILLgEBfwJAIABBy5XKgABBLhCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgs9AQF/AkAgAEGJlcqAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABCvg4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBLxCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQr4OAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAAC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABC9g4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBMBCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQvYOAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAACy4BAX8CQCAAQa2UyoAAQS8QmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLgEBfwJAIABBh5TKgABBJhCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgsuAQF/AkAgAEHYk8qAAEEvEJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABC4g4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBNRCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQuIOAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAACy4BAX8CQCAAQfGSyoAAQTQQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILyAIBA38jgICAgABBwBBrIgEkgICAgAAgAUKAEDcCoBAgAUGwv8eAADYCmBAgASABNgKcEAJAAkACQCABQZgQaiAAELyDgIAAIgJB//8DcQ0AIAEoApwQIQAgASgCpBAhAwwBCyABQZgQakGg6cmAAEE2EKiAgIAAIAEvAbAQDQEgAUGAEGpBEGogAUGYEGpBEGopAgA3AwAgAUGAEGpBCGoiAyABQZgQakEIaikCADcDACABIAEpApgQNwOAEAJAIAMgABC8g4CAAEH//wNxRQ0AIAFBgBBqEKmAgIAADAILIAFBtBBqIAFBgBBqEKqAgIAAIAFBgBBqEKmAgIAAIAEvAbwQDQEgASgCuBAhAyABKAK0ECEACyAAIAMQgICAgAAgAkH//wNxRQ0AQaDpyYAAIAAgAxC2gICAAAsgAUHAEGokgICAgAALLwEBfwJAIABBr5LKgABBwgAQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLgEBfwJAIABB/ZHKgABBMhCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgsuAQF/AkAgAEG/kcqAAEE+EJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACCy4BAX8CQCAAQZqPyoAAQToQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLgEBfwJAIABB1I/KgABBOhCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgsuAQF/AkAgAEGOkMqAAEE6EJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACCy4BAX8CQCAAQciQyoAAQToQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILyQIBA38jgICAgABBwBBrIgEkgICAgAAgAUKAEDcCoBAgAUGwv8eAADYCmBAgASABNgKcEAJAAkACQCABQZgQaiAAELuDgIAAIgJB//8DcQ0AIAEoApwQIQAgASgCpBAhAwwBCyABQZgQakGg6cmAAEHAABCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQu4OAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAAC8kCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABC5g4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBxQAQqICAgAAgAS8BsBANASABQYAQakEQaiABQZgQakEQaikCADcDACABQYAQakEIaiIDIAFBmBBqQQhqKQIANwMAIAEgASkCmBA3A4AQAkAgAyAAELmDgIAAQf//A3FFDQAgAUGAEGoQqYCAgAAMAgsgAUG0EGogAUGAEGoQqoCAgAAgAUGAEGoQqYCAgAAgAS8BvBANASABKAK4ECEDIAEoArQQIQALIAAgAxCAgICAACACQf//A3FFDQBBoOnJgAAgACADELaAgIAACyABQcAQaiSAgICAAAs3AQF/AkAgAEHAjsqAAEEqEJqAgIAAIgJB//8DcQ0AIABBjLXKgAAgAS8BABCPg4CAACECCyACC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABC6g4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBMxCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQuoOAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAACy4BAX8CQCAAQZaOyoAAQSoQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILNwEBfwJAIABB9YzKgABBLRCagICAACICQf//A3ENACAAQYy1yoAAIAEvAQAQj4OAgAAhAgsgAgsuAQF/AkAgAEHLjMqAAEEqEJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACC8kCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABC3g4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBxQAQqICAgAAgAS8BsBANASABQYAQakEQaiABQZgQakEQaikCADcDACABQYAQakEIaiIDIAFBmBBqQQhqKQIANwMAIAEgASkCmBA3A4AQ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gAAhAgsgAgsuAQF/AkAgAEH1+smAAEElEJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABCxg4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBMBCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQsYOAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAAC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABCwg4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBMxCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQsIOAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAACy4BAX8CQCAAQaX5yYAAQTEQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILyAIBA38jgICAgABBwBBrIgEkgICAgAAgAUKAEDcCoBAgAUGwv8eAADYCmBAgASABNgKcEAJAAkACQCABQZgQaiAAEK6DgIAAIgJB//8DcQ0AIAEoApwQIQAgASgCpBAhAwwBCyABQZgQakGg6cmAAEExEKiAgIAAIAEvAbAQDQEgAUGAEGpBEGogAUGYEGpBEGopAgA3AwAgAUGAEGpBCGoiAyABQZgQakEIaikCADcDACABIAEpApgQNwOAEAJAIAMgABCug4CAAEH//wNxRQ0AIAFBgBBqEKmAgIAADAILIAFBtBBqIAFBgBBqEKqAgIAAIAFBgBBqEKmAgIAAIAEvAbwQDQEgASgCuBAhAyABKAK0ECEACyAAIAMQgICAgAAgAkH//wNxRQ0AQaDpyYAAIAAgAxC2gICAAAsgAUHAEGokgICAgAALLgEBfwJAIABBhPfJgABBLxCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgu7AQECfwJAIABB6OvJgABBLxCagICAACICQf//A3ENACABKAIEIQMgASgCACEBIABB7OrAgABBAhCagICAACICQf//A3ENAANAAkACQCADRQ0AIAAgAS0AAEEKQQBBjLXKgAAQ5oOAgAAiAkH//wNxDQMgA0EBRg0BIABB8+rAgABBAhCagICAACICQf//A3FFDQEMAwsgAEGjksCAAEECEJqAgIAADwsgAUEBaiEBIANBf2ohAwwACwsgAgsuAQF/AkAgAEG57MmAAEErEJqAgIAAIgJB//8DcQ0AIAAgARCmhICAACECCyACCy4BAX8CQCAAQbfvyYAAQTEQmoCAgAAiAkH//wNxDQAgACABEKaEgIAAIQILIAILLgEBfwJAIABB6O/JgABBMRCagICAACICQf//A3ENACAAIAEQpoSAgAAhAgsgAgsuAQF/AkAgAEGZ8MmAAEEtEJqAgIAAIgJB//8DcQ0AIAAgARCmhICAACECCyACCy4BAX8CQCAAQZvzyYAAQSgQmoCAgAAiAkH//wNxDQAgACABEKaEgIAAIQILIAILNwEBfwJAIABBw/PJgABBMxCagICAACICQf//A3ENACAAQYy1yoAAIAEtAAAQqISAgAAhAgsgAgsuAQF/AkAgAEGU9smAAEEuEJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACCy4BAX8CQCAAQfX3yYAAQSwQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLgEBfwJAIABBmPrJgABBMBCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgsuAQF/AkAgAEHI+smAAEEtEJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACCy4BAX8CQCAAQZf/yYAAQTQQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLgEBfwJAIABB7obKgABBKxCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgs3AQF/AkAgAEGZh8qAAEElEJqAgIAAIgJB//8DcQ0AIABBjLXKgAAgAS8BABCPg4CAACECCyACCy4BAX8CQCAAQb6HyoAAQS0QmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLgEBfwJAIABB34jKgABBNxCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgs9AQF/AkAgAEGKisqAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACCy4BAX8CQCAAQaKNyoAAQTIQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLwEBfwJAIABB1I3KgABBwgAQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLgEBfwJAIABB6o7KgABBMBCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgsuAQF/AkAgAEGCkcqAAEE9EJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACCy4BAX8CQCAAQaWTyoAAQTMQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLgEBfwJAIABB3JTKgABBLRCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgvdCQMCfwJ+CH8jgICAgABBIGsiAySAgICAAAJAIABFDQAgAEHAG2ohBEEAKQPotceAACIFQoCAgIDwH4MhBiAFpyEHIABB4ixqIQggAEHSG2ohCQNAIAJFDQEgAS0AACEKAkACQAJAAkACQCAALQDWLEEPcQ0AIApB+rLHgABqLQAAIQsgAC0A5CwiDEUNASAILQAAQRZ0IAAvAeAsQQZ0ciAKQT9xciENDAILIAQgChC5goCAACENDAILQf8BIAtBD3F2IApxIQ0LIAAgDTsB4CwgCCANQYCA/ABxQRB2OgAAIAAgDCALQQ9xIg5qQf8BcUH6tMeAAGotAAAiCzoA5CwCQAJAAkACQAJAAkACQAJAIAtFDQAgC0EMRg0BIANBADoABiADQQA7AQQMCQsg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IgU2AgAgAUGQA2pBEGogCCkDADcDACABQZADakEIaiAMKQMANwMAIAEgASkDuAM3A5ADIAFB4ANqQQhqIAEoApQDIAFBnANqIAVBAXEbIgVBCGooAgA2AgAgASAFKQIANwPgAyABQeADaiEIDAILIAFBkANqQRhqIAUoAgAiDTYCACABQZADakEQaiAIKQMANwMAIAFBkANqQQhqIAwpAwA3AwAgASABKQO4AyIJNwOQAyABQeADakEIaiAJpyABQZADaiANQQFxGyIIQQhqKAIANgIAIAEgCCkCADcD4AMgASABLwHKAzsBkAMgASABKAK8A0EGaiABQZADaiAFLQAAQQFxGy8BADsB5gMgAUHgA2ohCAwBCyABQZADakEYaiAFKAIAIg02AgAgAUGQA2pBEGogCCkDADcDACABQZADakEIaiAMKQMANwMAIAEgASkDuAM3A5ADIAFB4ANqQQhqIAEoApQDIAFBnANqIA1BAXEbIghBCGooAgA2AgAgASAIKQIANwPgAyABIAEvAb4DOwGQAyABIAEoArgDQQZqIAFBkANqIAUtAABBAXEbLwEAOwHmAyABQeADaiEICyAAQeQaaiEFIAFB+AFqQQhqIAhBCGooAgA2AgAgASAIKQIANwP4ASABQbgDakEYaiIIIARBGGopAgA3AwAgAUG4A2pBEGoiDCAEQRBqKQIANwMAIAFBuANqQQhqIg0gBEEIaikCADcDACABIAQpAgA3A7gDAkACQAJAAkACQCABQbgDaiAHEMCDgIAAQQNxDgQAAQIDAAsgAUGQA2pBGGogCCgCACIENgIAIAFBkANqQRBqIAwpAwA3AwAgAUGQA2pBCGogDSkDADcDACABIAEpA7gDNwOQAyABQeADakEIaiABKAKUAyABQZwDaiAEQQFxGyIEQQhqKAIANgIAIAEgBCkCADcD4AMgAUHgA2ohBAwDCyABQZADakEYaiAIKAIAIgQ2AgAgAUGQA2pBEGogDCkDADcDACABQZADakEIaiANKQMANwMAIAEgASkDuAMiCTcDkAMgAUHgA2pBCGogCacgAUGQA2ogBEEBcRsiBEEIaigCADYCACABIAQpAgA3A+ADIAFB4ANqIQQMAgsgAUGQA2pBGGogCCgCACIENgIAIAFBkANqQRBqIAwpAwA3AwAgAUGQA2pBCGogDSkDADcD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AkEIaiIHIABBCGoiCCkCADcDACACIAApAgA3AwAgAkHgAGpBGGoiCSAEKAIAIgo2AgAgAkHgAGpBEGoiCyAGKQIANwMAIAJB4ABqQQhqIgwgCCkCADcDACACIAApAgAiDTcDYEEBIQQgAkEgakEIaiANpyACQeAAaiAKQQFxGyIGQQhqKAIANgIAIAIgBikCADcDICACQTBqIAFBAiACQSBqEM2BgIAAIAIvATQhCCACKAIwIQYgCSADKAIAIgM2AgAgCyAFKQMANwMAIAwgBykDADcDACACIAIpAwA3A2AgAkHAAGpBCGogAigCZCACQewAaiADQQFxGyIDQQhqKAIANgIAIAIgAykCADcDQCACQdAAaiABQQIgAkHAAGoQzYGAgAAgAi8BVCEDIAIoAlAhAQJAAkACQAJAIAAtABxFDQACQCAGIAFNIgANACAIQf//A3EgA0H//wNxTw0ECwJAIAYgAUkiAQ0AIAhB//8DcSADQf//A3FLDQQLIAANASAIQf//A3EgA0H//wNxTw0BQQMhBAwDCyAGIAFPDQFBACEEDAILQX5BACAIQf//A3EgA0H//wNxSxtBACABGyEEDAELAkAgBiABTQ0AQQEhBAwBCyAIQf//A3EgA0H//wNxSyEECyACQYABaiSAgICAACAEC5sBAgJ/AX4jgICAgABBEGsiAySAgICAACABKAIEIQQgASgCACEBIAMgAkH/////A0s6AAwCQAJAIAJBgICAgARJDQBCgICAgBAhBQwBCwJAIAJBAnQiAg0AQvz///8PIQUMAQsgASACQQJBACAEKAIAEYCAgIAAgICAgAAiAkWtQiCGIAKthCEFCyAAIAU3AgAgA0EQaiSAgICAAAsSAAJAIAANAEEADwsgAC8BohsLEgACQCAADQBBAA8LIAAvAaAbCxIAAkAgAA0AQQAPCyAALwGMEgsSAAJAIAANAEEADwsgACgCiBILHwACQAJAIAANAEEAIQAMAQsgAC0AthIhAAsgAEEBcQsxAQF/AkAgAA0AQQAPCyAALwG4EiIBQRB0IAFBgP4DcXIgAEG6EmotAAByQf///wdxCzQBAX8CQCAADQBBzJmzBg8LIAAvAbwSIgFBEHQgAUGA/gNxciAAQb4Sai0AAHJB////B3ELhgEBA38jgICAgABBEGsiAiSAgICAAEEBIQMCQCAA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ARCxgICAAEEBcUUNAiAEQTBqIARBCGogARD7g4CAACAELwE0IgJFDQEgACACOwEkDAULIABBADsBJEEkRQ0EIAAgBEEIakEk/AoAAAwECyAEKAIwIgJBAToACCACQQI6AAAgAiAELQAvIgVBH3E6AAEMAQsgBEE4aiACIAUQ8oOAgAACQCAELwE8RQ0AIABBADsBJEEkRQ0DIAAgBEEIakEk/AoAAAwDCyAELwE4IQUgBC0AOiEGIARBwABqIARBCGogARD7g4CAAAJAIAQvAUQiAkUNACAAIAI7ASQMAwsgBCgCQCICIAUgBkEQdHIiBTsBACACQQA6AAggAkECOgAEIAJBAmogBUEQdjoAACACIAQtAC8iBUEfcToABQsgBUEBaiEGQXYhAgJAAkADQCACRQ0BIAJBqrXKgABqIQUgAkEBaiECIAZBH3EiByAFLQAAQR9xRw0ACyAEQQE6AEwgBCAHOgBLIARBywBqIQIMAQtBqOnJgAAhAgsgAi8AACICQYACTw0ACyAAQQA7ASRBJEUNACAAIARBCGpBJPwKAAALIARB0ABqJICAgIAAC90BAQF/I4CAgIAAQcAAayIEJICAgIAAAkBBJEUNACAEQRRqQaiUyYAAQST8CgAACyAEQQhqIAMQ+IOAgAACQAJAIAQoAghFDQAgAEEAOwEkQSRFDQEgAEGolMmAAEEk/AoAAAwBCyAEQThqIARBFGogARD7g4CAAAJAIAQvATwiA0UNACAEQRRqIAEQwoCAgAAgACADOwEkDAELIAQoAjgiA0ECOgAIIANBAjoAACAAQQA7ASQgAyACQR9xOgABQSRFDQAgACAEQRRqQST8CgAACyAEQcAAaiSAgICAAAtYAAJAIAMgAkkNACAAQgA3AgAPCyAEQf8BcSEEAkADQCACIANGDQECQCABIANqLQAAIARHDQAgAEEBOgAEIAAgAzYCAA8LIANBAWohAwwACwsgAEIANwIAC3kCAX8BfiOAgICAAEEQayIDJICAgIAAAkACQEEBDQBCgICAgBAhBAwBCwJAIAINAEL/////DyEEDAELIAEoAgAgAkEAQQAgASgCBCgCABGAgICAAICAgIAAIgJFrUIghiACrYQhBAsgACAENwIAIANBEGokgICAgAALewECfyOAgICAAEEgayIEJICAgIAAIAQgASkCADcDCCAEQRRqIARBCGogAxCIgYCAAAJAIAQvARwiBQ0AIAQoAhQhAQJAIAQoAhgiA0UNACABIAIgA/wKAAALIAAgAzYCBCAAIAE2AgALIAAgBTsBCCAEQSBqJICAgIAAC5oGAgd/A34jgICAgABBoAFrIgIkgICAgAACQCAAKAIEIgMNACAAKAIAIQMLIAEoAhAhBCABKAIMIQUgAS0ACCEGIAEoAgQhByABKAIAIQggAygCACEAIAJBOGpCADcDACACQgA3AzAgAkKsmuLTo9Lw+h83A1AgAkKsmuLTo9Lw+h83A0ggAkKsmuLTo9Lw+h83A0ACQEE4RQ0AIAJB2ABqQfjqyYAAQTj8CgAACyACIAZBAXEiAToAYCACQoGAgIAQNwNYIAIgAToAkAECQAJAIAFFDQAgAiAINgBhIAJChYCAgNAANwNYDAELIAJBMGogCCAAaiAHEJ+EgIAACyACQeAAaiEGIAJBMGogACAFaiAEEJ+EgIAAIAIpA0AhCSACKAJcIQACQAJAAkACQAJAAkAgAigCWCIFQRBLDQAgAEEDTQ0BIAI1AmBCIIYgBiAAQQF2QQxxIgFqNQIAhCEKIAYgAEF8aiIAajUAAEIghiAGIAAgAWtqNQAAhCELDAULIAIpA1AhCiACKQNIIQtBACEBIABBEEkNAUEAIQMgACEIDAILQgAhCyAADQJCACEKDAMLQRAhCAJAQRAgAGsiA0UNACACQZABaiAGIABqQSBqIAP8CgAACwJAIABFDQAgAkGQAWogA2ogBiAA/AoAAAsgAkGQAWohBgsgBiADaiEEIAggA2shAyALIAqFIAmFIQkCQANAIAFBEGoiACADTw0BIAJBIGogBCABaiIBQQhqKQAAIAmFQgAgASkAAELb0dCFmtrfgWeFQgAQxYSAgAAgAikDKCACKQMghSEJIAAhAQwACwsgBiAIaiIBQXhqKQAAIQsgAUFwaikAACEKDAELIAYgAEEBdmoxAABCCIYgAjEAYEIQhoQgBiAAakF/ajEAAIQhCgsgAkEQaiAKQtvR0IWa2t+BZ4VCACALIAmFQgAQxYSAgAAgAiACKQMYQtvR0IWa2t+BZ4VCACAFrSACKQMQhUKvyPXFx6yHu6B/hUIAEMWEgIAAIAIpAwAhCSACKQMIIQogAkGgAWokgICAgAAgCiAJhQsyAQF/AkAgAEH3r8qAAEHBABCagICAACICQf//A3ENACAAIAEvAQAQpYSAgAAhAgsgAgsxAQF/AkAgAEHosMqAAEEwEJqAgIAAIgJB//8DcQ0AIAAgAS8BABClhICAACECCyACCzEBAX8CQCAAQZixyoAAQTAQmoCAgAAiAkH//wNxDQAgACABLwEAEKWEgIAAIQILIAILMwEBfyAAQQhqIQBBACEBAkADQCAAKAIAIgBFDQEgASAAQXxqKAIAakF4aiEBDAALCyABC4IBAQF/I4CAgIAAQRBrIgMkgICAgAACQAJAIAJBe2pBfE8NACAAQSo2AQAMAQsgA0EMaiABIAJBEBDIgICAAAJAIAMvAQ4NACAAQQA7AQAgACADLwEMQf8BbCACQQJ0QeS7yoAAaigCAG46AAIMAQsgAEEqNgEACyADQRBqJICAgIAAC9siCgR/AX4CfwF+An8BfgJ/AXwBfgN/I4CAgIAAQYAHayIDJICAgIAAAkACQAJAAkACQAJAAkAgAkUNACACIAEtAAAiBEFVakH9AXFFIgVGDQAgASAFaiEGAkACQAJAAkACQAJAIAIgBWsiBUECSQ0AIAYtAABBMEcNACAGLQABIgJBv39qQf8BcUEaSUEFdCACckH/AXFB+ABHDQBCACEHIANCADcC7AYgAyAFQX5qNgLoBkECIQggAyAGQQJqNgLkBiADQgA3A0ggA0HkBmogA0HIAGoQiISAgAAgAygC7AYiAiADKALwBiIBayEJAkACQCACIAMoAugGTw0AIAMoAuQGIAJqLQAAQS5GDQELQgAhCiAJIQsMAgsgAyACQQFqIgI2AuwGIANB5AZqIANByABqEIiEgIAAIAEgAmsgAygC7AYiAiADKALwBiIBa2oiDCAJaiELQgAgDK1CAoZ9IQoMAQtCACEKIANCADcC7AYgAyAFNgLoBiADIAY2AuQGIANCADcDSCADQeQGaiADQcgAahCJhICAACADKALsBiIIIAMoAvAGIgJrIQkCQAJAAkAgCCADKALoBk8NACADKALkBiAIai0AAEEuRg0BC0IAIQcgCSELDAELIAMgCEEBaiIBNgLsBiADQeQGaiADQcgAahCJhICAACACIAFrIAMoAuwGIgggAygC8AYiAmtqIgEgCWohC0IAIAGtfSEHCwJAAkACQCALRQ0AQgAhDQJAIAggAygC6AZPDQAgAygC5AYgCGotAABB3wFxQcUARw0AIAMgCEEBajYC7AYgA0HYAGogA0HkBmoQioSAgAACQCADLQBgDQBCACEKDAILIAMpA1giDSAHfCEHIAMoAvAGIQIgAygC7AYhCAsCQCACRQ0AQQAhAiADKALoBiEBIAMoAuQGIQwDQCACIAFPDQECQCAMIAJqIg4tAABB3wBHDQBCACEKQQAhDyACRQ0FIAJBAWoiAiABRg0FIA5Bf2otAABBUGpB/wFxQQlLDQQgDCACai0AAEFQakH/AXFBCk8NBAsgAkEBaiECDAALCwJAAkAgC0ETSg0AIANBADoA9gYgAyAEQf8BcUEtRjoA+AYgA0H2BmohDCADQfgGaiEBIANB1gBqIQ4MAQsgA0IANwLsBiALQW1qIQwgAygC5AYhDkEBIQJBACEPA0ACQAJAIANB5AZqEIuEgIAAQQFxRQ0AAkAgDiACakF/ai0AACIBQd8ARg0AIAxBACABQVFqIgsgCyABSxtrIQwMAgsgAyAPQQFqIg82AvAGDAELAkAgDEEASiICRQ0AIANCADcC7AYgA0IANwNIIANB5AZqIANByABqEIyEgIAAAkAgAykDSEETEI2EgIAAWg0AIAMgAygC7AZBAWoiATYC7AYgASADKALwBmshCSADQeQGaiADQcgAahCMhICAAAsgDSAJrXwgAygC7AYgAygC8AZrrX0hBwsgAyACOgD2BiADIARB/wFxQS1GOgD4BiADQfYGaiEMIANB+AZqIQEgA0HWAGohDgwCCyADIAI2AuwGIAJBAWohAgwACwsgAykDSCEKQQAhAiAOQQA6AAAgAS0AACEBIAwtAAAhDAwEC0EAIQgLQQAhDwtBACECQQAhDEEAIQFCACEHDAQLAkAgCw0AQQAhAQwCC0IAIQ0CQAJAAkAgAiADKALoBk8NACADKALkBiACai0AAEHfAXFB0ABGDQELIAohBwwBCyADIAJBAWo2AuwGIANB2ABqIANB5AZqEIqEgIAAAkAgAy0AYA0AQQAhAUIAIQcMAwsgAykDWCINIAp8IQcgAygC8AYhASADKALsBiECCyACQQJqIQgCQCABRQ0AQQAhAiADKALoBiEMIAMoAuQGIQ4DQCACIAxPDQECQCAOIAJqIg8tAABB3wBHDQBBACEBQgAhCgJAIAJFDQAgAkEBaiICIAxGDQACQCAPQX9qLQAAEI6EgIAAQQFxRQ0AIA4gAmotAAAQjoSAgABBAXENAgtBACEBC0IAIQcMBQsgAkEBaiECDAALCwJAAkAgC0EQSg0AIANBADoA9gYgAyAEQf8BcUEtRjoA+AYgA0H2BmohDCADQfgGaiEBIANB1gBqIQ4MAQsgA0IANwLsBiALQXBqIQwgAygC5AYhDkEBIQJBACEPA0ACQAJAIANB5AZqEIuEgIAAQQFxRQ0AAkAgDiACakF/ai0AACIBQd8ARg0AIAxBACABQVFqIgsgCyABSxtrIQwMAgsgAyAPQQFqIg82AvAGDAELAkAgDEEASiICRQ0AIANCADcC7AYgA0IANwNIIANB5AZqIANByABqEI+EgIAAAkAgAykDSEEQEI2EgIAAWg0AIAMgAygC7AZBAWoiATYC7AYgASADKALwBmshCSADQeQGaiADQcgAahCPhICAAAsgCa0gAygC7AYgAygC8AZrrX1CAoYgDXwhBwsgAyACOgD2BiADIARB/wFxQS1GOgD4BiADQfYGaiEMIANB+AZqIQEgA0HWAGohDgwCCyADIAI2AuwGIAJBAWohAgwACwsgAykDSCEKQQEhAiAOQQE6AAAgAS0AACEBIAwtAAAhDAtBASEPDAILQgAhCgtBACEMQQAhAkEAIQ8LAkAgD0UNACAFIAhHDQAgAg0CIAdCWnxCRFQNBSAKQoCAgICAgIAQVg0FIAxBAXFFDQMMBQtBAyECAkACQCAGIAVB1KnAgABBAxCQhICAAEEBcUUNAEEIQQMgBkEDaiAFQX1qQa+SwIAAQQUQkISAgABBAXEbIQJEAAAAAAAA8P9EAAAAAAAA8H8gBEH/AXFBLUYbIRAMAQtEAAAAAAAA+H8hECAGIAVBmqTAgABBAxCQhICAAEEBcUUNAQsgBSACRg0FCyAAQSo2AQAMBQsCQCAKQgBSDQBEAAAAAAAAAIBEAAAAAAAAAAAgAUEBcRshEAwECyAHQjd8IQcCQANAIApCf3xC/v///////x9WDQEgB0J/fCEHIApCAYYhCgwACwsgCiAMrUIBg4QhCgJAA0ACQCAKQv////////8/Vg0AAkADQCAKQgJUDQEgB0J9fEL/d1UNASAKQgGIIApCAYOEIQogB0IBfCEHDAALCyAHQn98IREgCkICiCINQgGDIApCA4OEQgNRDQIMBAsgCkIBiCAKQgGDhCEKIAdCAXwhBwwACwtCgICAgICAgAggDUIBfCIKIApCgICAgICAgBBRIgIbIQ0gByARIAIbIREMAQsCQAJAIAdCFlUNACAHpyECIAq6IRACQCAHQgBZDQAgEEHYlMmAACACQQN0aysDAKMhEAwCCyACQQN0QdiUyYAAaisDACAQoiEQDAELIAMgCkIAIAenQQN0QaiVyYAAaikDAEIAEMWEgIAAIAMgAykDCEIAUiICOgBYIAINAiADKQMAIg1CgICAgICAgBBWDQIgDbpEktVNBs/wgESiIRALIBCaIBAgAUEBcRshEAwCCwJAQoF4IBEgDUKAgICAgICACFQbIgpC/wdXDQBEAAAAAAAA8P9EAAAAAAAA8H8gAUEBcRshEAwCCyAKQjSGQoCAgICAgID4P3xCgICAgICAgPj/AIMgDUL/////////B4OEIgpCgICAgICAgICAf4QgCiABQQFxG78hEAwBCyADQRhqIAcgChCRhICAAAJAIAMtAChFDQAgAygCICECIAMpAxghDQJAIAxBAXENACACrUI0hiANhL8iEJogECABQQFxGyEQDAILIANBMGogByAKQgF8EJGEgIAAIAMtAEBFDQAgDSADKQMwUg0AIAIgAygCOEcNACACrUI0hiANhL8iEJogECABQQFxGyEQDAELQQAhAgJAQYUGRQ0AIANB3ABqQQBBhQb8CwALIANBADYC8AYgAyAFNgLoBiADIAY2AuQGAkADQAJAIAUgAkcNACAFIQIMAgsCQCAGIAJqLQAAIgFB3wBGDQAgAUEwRw0CCyACQQFqIQIMAAsLIAMgAjYC7AYgA0HhAGohAUEAIQICQANAIANB9gZqIANB5AZqEJKEgIAAIAMtAPcGRQ0BAkAgAkH/BUsNACABIAJqIAMtAPYGOgAACyACQQFqIQIMAAsLIAMgAjYCWEEAIQ8CQAJAAkAgAygC7AYiDiADKALoBiIITw0AIAMoAuQGIhIgDmotAABBLkYNAQtBACEFIAIhAQwBCyADKALwBiETIA5BAWoiFCEMAkAgAg0AIAhBf2ohCyASQQFqIQkDQAJAIAsgDkcNACAIIQwMAgsgCSAOaiEFIA5BAWoiDCEOIAUtAABBMEYNAAsLIBQgE2shEyABIAJqIQkgEiAMaiELQQAhBQJAA0AgAiAFaiEBIAwgBWoiDkEIaiAISw0BIAFB9wVLDQEgCyAFaikAACIKQsaMmbLkyJGjxgB8IApC0J+//vz58+dPfCIKhEKAgYKEiJCgwIB/g0IAUg0BIAkgBWogCjcAACAFQQhqIQUMAAsLIAMgDjYC7AYCQANAIANB+AZqIANB5AZqEJKEgIAAIAMtAPkGRQ0BAkAgAUH/BUsNACADQdgAaiABakEJaiADLQD4BjoAAAsgAUEBaiEBDAALCyADIAE2AlggAyATIAMoAvAGIAMoAuwGIg5raiIFNgJcCwJAIAFFDQAgDiADKALwBkF/c2ohAkEAIQwCQANAAkACQCAGIAJqLQAAQVJqDgMBAwADCyAMQQFqIQwLIAJBf2oiAg0ACwsgAyABIAVqIgU2AlwgAyABIAxrIgI2AlhBgAYhDwJAIAJBgAZLDQAgAiEPDAELIANBgAY2AlggA0EBOgBgCwJAIA4gAygC6AYiAU8NACADKALkBiIMIA5qLQAAQd8BcUHFAEcNAEEBIQsgAyAOQQFqIgg2AuwGQQAhAkEAIQYCQCAIIAFPDQBBACEGAkACQCAMIAhqLQAAQVVqDgMAAgECC0EAIQsLIAMgDkECajYC7AYgCyEGCwJAA0AgA0HIAGogA0HkBmoQkoSAgAAgAy0ASUUNASACQQpsIAMtAEhqIAIgAkGAgARIGyECDAALCyADQQAgAmsgAiAGGyAFaiIFNgJcCyAPQRMgD0ETSxshASAPIQICQANAIAEgAkYNASADQdgAaiACakEJakEAOgAAIAJBAWohAgwACwtCACEHAkACQCAPRQ0AIAVBvH1IDQBCgICAgICAgPj/ACEKIAVBtQJKDQFBACEBA0ACQCAFQQBKDQAgA0HhAGohDANAAkACQAJAIAVBAEoNAAJAIAUNAEECIQIgDC0AACIGQQJJDQMgBkF7akH/AXFBBUkNAUEBIQIMAwtBACAFayICQRJNDQFBPCECDAILIAFBf2ohAgJAA0AgAkGBeEoNASADQdgAakGCeCACayIBQTwgAUE8SRsiARCThICAACABIAJqIQIMAAsLIAJB/wdKDQYgA0HYAGpBNRCUhICAAAJAIANB2ABqEJWEgIAAIg1C/////////w9YDQAgA0HYAGpBARCThICAACADQdgAahCVhICAACENIAJB/wdGDQcgAkEBaiECCyANQv////////8HgyEHQf4HQf8HIA1CgICAgICAgAhUGyACaq1CNIYhCgwGCyACQYjpyYAAai0AACECCyADQdgAaiACEJSEgIAAIAMoAlwiBUH/D0oNBCABIAJrIQEMAAsLQTwhAgJAIAVBEksNACAFQYjpyYAAai0AACECCyADQdgAaiACEJOEgIAAIAIgAWohASADKAJcIgVBgXBODQALC0IAIQoLIAogB4S/IhCaIBAgBEH/AXFBLUYbIRALAkACQCAQRAAAAAAAAAAAYw0AIBBEAAAAAAAA8D9kRQ0BCyAAQSo2AQAMAQsgAEEAOwEAIAAgEEQAAAAAAOBvQKL8AzoAAgsgA0GAB2okgICAgAALUAEBfyOAgICAAEEQayICJICAgIAAAkADQCACQQ5qIAAQsoSAgAAgAi0AD0UNASABIAEpAwBCBIYgAjEADnw3AwAMAAsLIAJBEGokgICAgAALgQICAn8BfiOAgICAAEEQayICJICAgIAAIAAoAgghAwJAA0AgA0EIaiAAKAIESw0BIAAoAgAgA2opAAAiBELGjJmy5MiRo8YAfCAEQtCfv/78+fPnT3wiBIRCgIGChIiQoMCAf4NCAFINASABIAEpAwBCgMLXL34gBEIKfiAEQgiIfCIEQhCIQv+BgIDwH4NCgYCAgIDiCX4gBEL/gYCA8B+DQuSAgICAyNAHfnxCIIh8NwMAIAAgACgCCEEIaiIDNgIIDAALCwJAA0AgAkEOaiAAEJKEgIAAIAItAA9FDQEgASABKQMAQgp+IAIxAA58NwMADAALCyACQRBqJICAgIAAC6UCAgV/AX4jgICAgABBMGsiAiSAgICAAEEAIQMCQCABKAIIIgQgASgCBCIFTw0AIAEoAgAgBGotAAAiBkEtRiEDAkAgBkFVag4DAAEAAQsgASAEQQFqIgQ2AggLAkACQAJAIAQgBU8NACABKAIAIARqLQAAQVBqQf8BcUEJSw0AQgAhBwNAIAJBDmogARCShICAACACLQAPRQ0CIAdCCn4gAjEADnwgByAHQoCAgIABUxshBwwACwsgAEIANwMAIABBCGpCADcDAAwBCwJAAkAgAw0AIAIgBzcDICACQSBqIQEMAQsgAkIAIAd9NwMQIAJBEGohAQsgAUEIaiIEQQE6AAAgACABKQMANwMAIABBCGogBCkDADcDAAsgAkEwaiSAgICAAAtJAQJ/QQAhAQJAIAAoAggiAiAAKAIETw0AIAAoAgAgAmotAABBUmoiAEH/AXFBMk8NAEKFgICAgICAASAArUL/AYOIpyEBCyABC2wCAX8CfiOAgICAAEEQayICJICAgIAAQRMQjYSAgAAhAyABKQMAIQQCQANAIAQgA1oNASACQQ5qIAAQkoSAgAAgAi0AD0UNASABIAEpAwBCCn4gAjEADnwiBDcDAAwACwsgAkEQaiSAgICAAAssAQF+IABBf2ohAEIBIQECQANAIABFDQEgAEF/aiEAIAFCCn4hAQwACwsgAQs5AQF/QQEhAQJAIABBUGpB/wFxQQpJDQAgAEGff2pB/wFxQQVNDQAgAEG/f2pB/wFxQQZJIQELIAELbAIBfwJ+I4CAgIAAQRBrIgIkgICAgABBEBCNhICAACEDIAEpAwAhBAJAA0AgBCADWg0BIAJBDmogABCyhICAACACLQAPRQ0BIAEgASkDAEIEhiACMQAOfCIENwMADAALCyACQRBqJICAgIAAC3UBAn9BACEEAkAgAyABSw0AA0AgA0UhBCADRQ0BIAItAAAhASAALQAAIQUgA0F/aiEDIABBAWohACACQQFqIQIgBSAFQb9/akH/AXFBGklBBXRyQf8BcSABIAFBv39qQf8BcUEaSUEFdHJB/wFxRg0ACwsgBAvCBAIDfwV+I4CAgIAAQSBrIgMkgICAgAACQAJAAkAgAlANACABQqp9WQ0BCyAAQQE6ABAgAEEANgIIIABCADcDAAwBCwJAIAFCtQJTDQAgAEEBOgAQIABB/w82AgggAEIANwMADAELIANBEGogAaciBEEEdEG4wsmAAGoiBSkDAEIAIAIgAnkiBoYiB0IAEMWEgIAAIAMpAxAhAgJAIAMpAxgiCEL/A4NC/wNSDQAgAyAFKQMIQgAgB0IAEMWEgIAAIAMpAwgiByACfCICIAdUrSAIfCEICwJAAkACQCACQn9SDQAgAUJIfEKtf1QNAQsgCCAIQj+IIglCCXwiCoghBwJAIARB6qQNbEEQdSAGp2sgCadqQT9qIgRBgnhODQACQCAEQcN3Tw0AIABBAToAECAAQQA2AgggAEIANwMADAQLIABBAToAECAAIAdBgnggBGutiCIBQgGDIAF8IgFC/////////w9WNgIIIAAgAUIBiDcDAAwDC0GACEH/ByAHQvz/////////AIMgByAHIAqGIAhRGyAHIAdCA4NCAVEbIAcgAUIEfEIcVBsgByACQgJUGyIBQgGDIAF8IgFC/////////x9WIgUbIARqIgRB/g9LDQEgAEEBOgAQIAAgBDYCCCAAQgAgAUIBiEL/////////9/8AgyAFGzcDAAwCCyAAQgA3AwAgAEEQakIANwMAIABBCGpCADcDAAwBCyAAQQE6ABAgAEH/DzYCCCAAQgA3AwALIANBIGokgICAgAALjAEBBH8gASgCCCICIAEoAgQiAyACIANLGyEEAkADQCAEIAJGDQECQCABKAIAIAJqLQAAIgNBUGoiBUH/AXFBCUsNACAAQQE6AAEgACAFOgAAIAEgAkEBajYCCA8LIANB/wFxQd8ARw0BIAEgAkEBaiICNgIIIAEgASgCDEEBajYCDAwACwsgAEEAOwAAC6UDCAF/AX4CfwF+AX8BfgF/AX4gAEEJaiECIAGtIQNBACEEIAFBP0shBUIAIQYCQAJAA0ACQCAFDQAgBiADiEIAUg0CCwJAIAQgACgCAE8NACAGQgp+IAAgBGpBCWoxAAB8IQYgBEEBaiEEDAELCyAGUA0BIAFBP0shBQNAAkAgBQ0AIAYgA4hCAFINAgsgBEEBaiEEIAZCCn4hBgwACwsgACAAKAIEIARrQQFqIgU2AgQCQCAFQYFwTg0AIABCADcCACAAQQhqQQA6AAAPC0J/Qn8gA4ZCf4UgAUE/SyIHGyEIIAIgBGohCUEAIQUCQANAAkAgBCAFaiAAKAIASQ0AIAFBP0shBwwCCyAJIAVqMQAAIQogAiAFakIAIAYgA4ggBxs8AAAgCiAGIAiDQgp+fCEGIAVBAWohBQwACwsDQCAFQYAGSSEEA0ACQAJAIAZQDQBCACAGIAOIIAcbIQogBiAIg0IKfiEGIARFDQEgAiAFaiAKPAAAIAVBAWohBQwDCyAAIAU2AgAgABCjhICAAAwDCyAKUA0AIABBAToACAwACwsLC7gDAgd/A34CQCAAKAIAIgJFDQAgAUEMbCIDQdCgyoAAai0AACEEIANBzKDKgABqKAIAIQUgA0HIoMqAAGooAgAhBkEAIQMCQANAIAUgA0YNAQJAIAIgA0cNACAEQX9qIQQMAgsgBiADaiEHIAAgA2ohCCADQQFqIQMgCEEJai0AACIIIActAABBUGoiB0H/AXFGDQALIAQgCCAHQf8BcUlrIQQLIABBCGoiAyAEQf8BcSIHaiEFIAGtIQkgAUHAAEkhCEIAIQoDQAJAIAINACAHIAJqQQhqIQIDQAJAAkAgClANACAKQgqAIgtCdn4gCnwhCgJAIAJBd2pBgAZPDQAgACACaiAKPAAADAILIApCAFENASADQQE6AAAMAQsgACAAKAIEIAdqNgIEIAAgACgCACAHaiICQYAGIAJBgAZJGzYCACAAEKOEgIAADAQLIAJBf2ohAiALIQoMAAsLIAMgAmoxAAAgCYZCACAIGyAKfCIKIApCCoAiCkJ2fnwhCwJAAkAgByACakF/akH/BUsNACAFIAJqIAs8AAAMAQsgC0IAUQ0AIANBAToAAAsgAkF/aiECDAALCwvHAQIBfgR/QgAhAQJAIAAoAgAiAkUNACAAKAIEIgNBf0wNAEJ/IQEgA0ESSw0AIABBCWohBEIAIQFBACEFAkADQCADIAVGDQEgAUIKfiEBAkAgBSACTw0AIAEgBCAFajEAAHwhAQsgBUEBaiEFDAALCyADIAJPDQACQAJAIAQgA2oiBC0AAEH/AXEiBUEFRw0AIANBAWogAkcNACAALQAIDQEgA0UNAiAEQX9qLQAAQQFxDQEMAgsgBUEFSQ0BCyABQgF8DwsgAQtBAQF/I4CAgIAAQRBrIgIkgICAgAAgAkEIakH06sCAAEEBQQAgARD+g4CAACAAIAIpAwg3AgAgAkEQaiSAgICAAAubAQIDfwF+I4CAgIAAQRBrIgMkgICAgAAgASgCBCEEIAEoAgAhBSADIAKtQgx+IgZCIIinIgFBAEc6AAwCQAJAIAFFDQBCgICAgBAhBgwBCwJAIAanIgENAEL8////DyEGDAELIAUgAUECQQAgBCgCABGAgICAAICAgIAAIgFFrUIghiABrYQhBgsgACAGNwIAIANBEGokgICAgAALMQEBfwJAIABBurPKgABBPBCagICAACICQf//A3ENACAAIAEvAQAQpYSAgAAhAgsgAgucAgEKfyOAgICAAEEQayIEJICAgIAAIAQgAkEfcToAD0EBIAJ0IQUCQAJAAkAgACgCCCICRQ0AIAUgAWohBiACQXxqIQIMAQtBACEHIABBACAFIAFqIgYQmoSAgAAiAkUNAQtBACAFayEIIAVBf2ohCQNAIAJBCGoiCiAJaiELA0ACQCAAKAIMIgUgC2ogCHEgBSAKamsgBWoiDCABaiIFIAIoAgAiB0F4aiINSw0AIAAgBTYCDCAKIAxqIQcMAwsCQCAAKAIAIAIgB0ECIAVBCGoiBUEAIAAoAgQoAgQRgoCAgACAgICAAEEBcUUNACACIAU2AgAMAQsLIAAgDSAGEJqEgIAAIgINAAtBACEHCyAEQRBqJICAgIAAIAcLYwACQCAAKAIAIAEgAmpBGGoiAkEBdiACaiIBQQJBACAAKAIEKAIAEYCAgIAAgICAgAAiAkUNACACQQA2AgQgAiABNgIAIAIgACgCCDYCBCAAQQA2AgwgACACQQRqNgIICyACC3kBA39BACEGAkAgACgCCCIHRQ0AAkAgB0F8aiIIIAAoAgwiB2pBCGogAiABakYNACAEIAJNIQYMAQsCQCAEIAJLDQAgACAEIAJrIAdqNgIMQQEPCyAIKAIAQXhqIAdrIAQgAmsiAkkNACAAIAcgAmo2AgxBAQ8LIAYLHAAgAUEAIAAgASACIAEgBCABEJuEgIAAQQFxGwswAQJ/AkAgACgCCCIFRQ0AIAUgACgCDCIGakEEaiACIAFqRw0AIAAgBiACazYCDAsL4wICCX8BfiAAQRJqLQAAIQEgAEEKai0AAEEQdCECIAAvAQghAyAALwEAIABBAmotAABBEHRyIQQgAC0AFCEFIAAtAAwhBkEAIQdBACEIAkACQAJAIAAtAAQiCQ4DAgABAgsgBEH/AXEhCAwBCyAEIQgLIAFBEHQhASAALwEQIQQgAyACciECAkACQAJAIAYOAwIAAQILIAJB/wFxIQcMAQsgAiEHCyAEIAFyIQIgAC8BGCEBQQAhAAJAAkACQCAFDgMCAAECCyACQf8BcSEADAELIAIhAAsgBq1CCIYgCa2EIAWtQhCGIAetQjCGIAitQv///weDQhiGhISEIACtQv///weDQgiGIAGtQv//A4NCIIaEIAdBEHatQv8Bg4SFIgpCIIggCoVC7arR2Z6/idG+f34iCkIdiCAKhULtqtHZnr+J0b5/fiIKQiCIIAqFQu2q0dmev4nRvn9+IgpCHYggCoUL7AQBBX8jgICAgABB8ABrIgMkgICAgAAgAEEwaiEEQQAhBQJAA0AgAiAFRg0BIAEgBWotAAAhBiAAIAAoAihBAWo2AigCQAJAIAAoAiwiB0EwRg0AIAQgB2ogBjoAACAAKAIsQQFqIQYMAQsgA0HQAGogACkDECAAKQM4hUIAIAApAzBC29HQhZra34FnhUIAEMWEgIAAIAAgBjoAMCAAIAMpA1ggAykDUIU3AxAgA0HAAGogACkDGCAAKQNIhUIAIAApA0BC442j5Inemt6Of4VCABDFhICAACAAIAMpA0ggAykDQIU3AxggA0EwaiAAKQMgIAApA1iFQgAgACkDUELDmd2px7nZzNgAhUIAEMWEgIAAIAAgAykDOCADKQMwhTcDIEEBIQYLIAAgBjYCLCAFQQFqIQUMAAsLIAAgACgCKEEEajYCKCADIAI2AmwCQAJAIAAoAiwiBUEsSw0AIAQgBWogAjYAACAFQQRqIQUMAQsCQEEwIAVrIgZFDQAgBCAFaiADQewAaiAG/AoAAAsgA0EgaiAAKQMQIAApAziFQgAgACkDMELb0dCFmtrfgWeFQgAQxYSAgAAgACADKQMoIAMpAyCFNwMQIANBEGogACkDGCAAKQNIhUIAIAApA0BC442j5Inemt6Of4VCABDFhICAACAAIAMpAxggAykDEIU3AxggAyAAKQMgIAApA1iFQgAgACkDUELDmd2px7nZzNgAhUIAEMWEgIAAIAAgAykDCCADKQMAhTcDICAFQVRqIgVFDQAgBCADQewAaiAGaiAF/AoAAAsgACAFNgIsIANB8ABqJICAgIAAC7sBAQR/I4CAgIAAQRBrIgUkgICAgAAgASgCBCEGIAEoAgAhBwJAAkAgBA0AAkAgA0UNACAHIAIgA0EAQQAgBigCDBGBgICAAICAgIAAC0EAIQggAiEBDAELQQAhAQJAAkAgA0UNAEEAIQhBAA0CQQAhASAHIAIgA0EAIARBACAGKAIIEYKAgIAAgICAgAAiAw0BC0EAIQgMAQsgAyEBIAQhCAsgACABNgIAIAAgCDYCBCAFQRBqJICAgIAAC9QBAQJ/AkACQCADKAIIIAIgAy0ADBsiBCACTQ0AQQAgBCACayIFIAUgBEsbIQQgAy0AESEFAkACQAJAIAMtABBBA3EOAwABAgALIAAgASACEJqAgIAAIgNB//8DcQ0DIAAgBSAEELCEgIAADwsgACAFIARBAXYQsISAgAAiA0H//wNxDQIgACABIAIQmoCAgAAiA0H//wNxDQIgACAFIARBAWpBAXYQsISAgAAPCyAAIAUgBBCwhICAACIDQf//A3ENAQsgACABIAIQmoCAgAAhAwsgAwuYAQIBfwJ+I4CAgIAAQSBrIgEkgICAgAAgAUEQaiAANQAAIgJCIIYgAoQiAkLb0dCFmtrfgWeFQgAgAkKsmuLTo9Lw+h+FQgAQxYSAgAAgASABKQMYQtvR0IWa2t+BZ4VCACABKQMQQqvI9cXHrIe7oH+FQgAQxYSAgAAgASkDACECIAEpAwghAyABQSBqJICAgIAAIAMgAoULOAEBfyAAKAIAQQhqIQECQANAIAFBCEYNASAAIAFqLQAADQEgACABQXdqNgIAIAFBf2ohAQwACwsLgwMBA38jgICAgABBEGsiAySAgICAAAJAAkAgAg0AIABBgICUATYBAAwBCyADQQA7AQICQCABLQAAQd8ARg0AIAEgAmpBf2otAABB3wBGDQADQAJAAkACQCACRQ0AIAEtAAAiBEHfAEcNAQwCCyAAQQA7AQIgACADLwECQf8DcTsBAAwECyADQQRqIARBChCzgICAAAJAIAMvAQQiBEUNACAAIAQ7AQIMBAsgAy0ABiEEAkACQCADLwECQf8DcSIFDQBBACEFDAELIANBCjsBCCADIAVBCmwiBUH/A3E7AQ4gAyAFQQl2IgVBAEc6AAwCQCAFRQ0AIABBGDsBAgwFCyADIAMvAQ5B/wNxIgU7AQILIAMgBEH/AXEiBDsBCiADIAUgBGoiBEH/A3EiBTsBDiADIAUgBEc6AAwCQCAFIARGDQAgAEEYOwECDAQLIAMgAy8BDkH/A3E7AQILIAFBAWohASACQX9qIQIMAAsLIABBgICUATYBAAsgA0EQaiSAgICAAAtZAQF/I4CAgIAAQRBrIgIkgICAgAAgAkEGNgIEIAJBy+rAgAA2AgAgAiABQf//A3FBA3RBwLXKgABqKQIANwIIIAAgAhCnhICAACEBIAJBEGokgICAgAAgAQt9AQN/IAEtAAghAiABKAIEIQMgASgCACEEAkAgAEH2tMqAAEEEEJqAgIAAIgFB//8DcQ0AIAAgBCADQYy1yoAAEKGEgIAAIgFB//8DcQ0AIABB+rTKgABBARCagICAACIBQf//A3ENACAAQYy1yoAAIAIQoICAgAAhAQsgAQv4AQIJfwF+I4CAgIAAQRBrIgIkgICAgAAgAUEEaiEDQQAhBEEAIQUDfwJAAkACQCAEQQFNDQBBACEGDAELIAEgBEEDdCIHaiIIIAgoAgQiCSAFazYCBCAIIAgoAgAiCiAFajYCACACQQhqIAAgCEECIARrQQEQuISAgAAgAikDCCILQiCIpyIGQf//A3FFDQEgCCAJNgIEIAggCjYCAAsgAkEQaiSAgICAACAGDwsgCCAJNgIEIAggCjYCACADIAdqIQggBSALp2ohBQN/IARBAkYNASAFIAgoAgAiCUkNASAIQQhqIQggBEEBaiEEIAUgCWshBQwACwsLFgAgACACQf8BcUEQQQAgARDmg4CAAAs3AQF/AkAgAEGCtcqAAEECEJqAgIAAIgJB//8DcQ0AIABBjLXKgAAgAS0AABCohICAACECCyACC5MBAQF/AkAgAEHs6sCAAEECEJqAgIAAIgNB//8DcQ0AA0ACQAJAIAJFDQAgAEGMtcqAACABLQAAEKuEgIAAIgNB//8DcUUNAQwDCyAAQaOSwIAAQQIQmoCAgAAPCwJAIAJBAUYNACAAQfPqwIAAQQIQmoCAgAAiA0H//wNxDQILIAFBAWohASACQX9qIQIMAAsLIAMLFgAgACACQf8BcUEKQQAgARDmg4CAAAu0KgEEfyOAgICAAEEQayIDJICAgIAAAkAgAEHS6sCAAEEEEJqAgIAAIgRB//8DcQ0AQQchBEGPsMCAACEFAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIoAgAOFRQAAQIDBAUGBwgJCgsMDQ4PEBESExQLQRMhBEGkrcCAACEFDBMLQRIhBEH7o8CAACEFDBILQQwhBEH5mcCAACEFDBELQQohBEHCr8CAACEFDBALQQwhBEGkmcCAACEFDA8LQQ4hBEH2r8CAACEFDA4LQRIhBEGinMCAACEFDA0LQQohBEHQrsCAACEFDAwLQQshBEGQrcCAACEFDAsLQQ8hBEGjo8CAACEFDAoLQRQhBEHtpcCAACEFDAkLQRkhBEHSo8CAACEFDAgLQQ8hBEGcmsCAACEFDAcLQQ0hBEHNr8CAACEFDAYLQQwhBEH0oMCAACEFDAULQRchBEGmlcCAACEFDAQLQRchBEHLrcCAACEFDAMLQRYhBEHimcCAACEFDAILQREhBEGSmcCAACEFDAELQQ8hBEGAosCAACEFCyAAIAUgBBCagICAACIEQf//A3ENACAAQe/qwIAAQQMQmoCAgAAiBEH//wNxDQACQCACKAIAIgQNACAAIAEQrYSAgAAiBEH//wNxDQEgAigCACEECwJAIARBAUcNACAAIAEgAigCBCACKAIIQQIQs4SAgAAiBEH//wNxDQEgAigCACEECwJAIARBAkcNACAAIAEgAigCBCACKAIIQQIQs4SAgAAiBEH//wNxDQEgAigCACEECwJAIARBA0cNACAAQaaSwIAAQQIQmoCAgAAiBEH//wNxDQEgAEHY6sCAAEECEJqAgIAAIgRB//8DcQ0BIABBl7DAgABBAxCagICAACIEQf//A3ENASAAQe/qwIAAQQMQmoCAgAAiBEH//wNxDQEgACABIAIoAgQgAigCCBC0hICAACIEQf//A3ENASAAQdfqwIAAQQMQmoCAgAAiBEH//wNxDQEgAEG9r8CAAEEEEJqAgIAAIgRB//8DcQ0BIABB7+rAgABBAxCagICAACIEQf//A3ENASACLQAMIQYgA0EBNgIEIANB2erAgAA2AgBBByEEQdyTwIAAIQUCQAJAAkACQCAGQQNxDgQDAAECAwtBDCEEQf2iwIAAIQUMAgtBCSEEQeSTwIAAIQUMAQtBBSEEQYubwIAAIQULIAMgBTYCCCADIAQ2AgwgACADEKeEgIAAIgRB//8DcQ0BIABB1+rAgABBAxCagICAACIEQf//A3ENASAAQceWwIAAQQYQmoCAgAAiBEH//wNxDQEgAEHv6sCAAEEDEJqAgIAAIgRB//8DcQ0BIAAgASACLQANELWEgIAAIgRB//8DcQ0BIABB1+rAgABBAxCagICAACIEQf//A3ENASAAQb+UwIAAQQsQmoCAgAAiBEH//wNxDQEgAEHv6sCAAEEDEJqAgIAAIgRB//8DcQ0BIAAgASACLQAOELWEgIAAIgRB//8DcQ0BIABB1+rAgABBAxCagICAACIEQf//A3ENASAAQZWcwIAAQQwQmoCAgAAiBEH//wNxDQEgAEHv6sCAAEEDEJqAgIAAIgRB//8DcQ0BIAAgASACLQAPELWEgIAAIgRB//8DcQ0BIABBo5LAgABBAhCagICAACIEQf//A3ENASACKAIAIQQLAkAgBEEERw0AIAAgARCthICAACIEQf//A3ENASACKAIAIQQLAkAgBEEFRw0AIABBppLAgABBAhCagICAACIEQf//A3ENASAAQdjqwIAAQQIQmoCAgAAiBEH//wNxDQEgAEGcrcCAAEEHEJqAgIAAIgRB//8DcQ0BIABB7+rAgABBAxCagICAACIEQf//A3ENASAAIAEgAigCBCACKAIIELSEgIAAIgRB//8DcQ0BIABBo5LAgABBAhCagICAACIEQf//A3ENASACKAIAIQQLAkAgBEEGRw0AIABBppLAgABBAhCagICAACIEQf//A3ENASAAQdjqwIAAQQIQmoCAgAAiBEH//wNxDQEgAEGcrsCAAEEJEJqAgIAAIgRB//8DcQ0BIABB7+rAgABBAxCagICAACIEQf//A3ENASAAIAEgAkEEahC2hICAACIEQf//A3ENASAAQaOSwIAAQQIQmoCAgAAiBEH//wNxDQEgAigCACEECwJAIARBB0cNACAAQaaSwIAAQQIQmoCAgAAiBEH//wNxDQEgAEHY6sCAAEECEJqAgIAAIgRB//8DcQ0BIABBva/AgABBBBCagICAACIEQf//A3ENASAAQe/qwIAAQQMQmoCAgAAiBEH//wNxDQEgACABIAItAAwQq4SAgAAiBEH//wNxDQEgAEHX6sCAAEEDEJqAgIAAIgRB//8DcQ0BIABBtrHAgABBBBCagICAACIEQf//A3ENASAAQe/qwIAAQQMQmoCAgAAiBEH//wNxDQEgACABIAIoAgQgAigCCEEBELOEgIAAIgRB//8DcQ0BIABBo5LAgABBAhCagICAACIEQf//A3ENASACKAIAIQQLAkAgBEEIRw0AIABBppLAgABBAhCagICAACIEQf//A3ENASAAQdjqwIAAQQIQmoCAgAAiBEH//wNxDQEgAEGGrMCAAEEFEJqAgIAAIgRB//8DcQ0BIABB7+rAgABBAxCagICAACIEQf//A3ENASAAIAEgAigCBCACKAIIQQEQs4SAgAAiBEH//wNxDQEgAEGjksCAAEECEJqAgIAAIgRB//8DcQ0BIAIoAgAhBAsCQCAEQQlHDQAgAEGmksCAAEECEJqAgIAAIgRB//8DcQ0BIABB2OrAgABBAhCagICAACIEQf//A3ENASAAQYaswIAAQQUQmoCAgAAiBEH//wNxDQEgAEHv6sCAAEEDEJqAgIAAIgRB//8DcQ0BIAAgASACKAIEIAIoAghBARCzhICAACIE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KAIEIAIoAghBARCzhICAACIEQf//A3ENASAAQdfqwIAAQQMQmoCAgAAiBEH//wNxDQEgAEHLlMCAAEEEEJqAgIAAIgRB//8DcQ0BIABB7+rAgABBAxCagICAACIEQf//A3ENASAAIAEgAigCDCACKAIQQQEQs4SAgAAiBEH//wNxDQEgAEGjksCAAEECEJqAgIAAIgRB//8DcQ0BIAIoAgAhBAsCQCAEQQ1HDQAgAEGmksCAAEECEJqAgIAAIgRB//8DcQ0BIABB2OrAgABBAhCagICAACIEQf//A3ENASAAQZiwwIAAQQIQmoCAgAAiBEH//wNxDQEgAEHv6sCAAEEDEJqAgIAAIgRB//8DcQ0BIAAgASACKAIEIAIoAggQtISAgAAiBEH//wNxDQEgAEHX6sCAAEEDEJqAgIAAIgRB//8DcQ0BIABBlKjAgABBAxCagICAACIEQf//A3ENASAAQe/qwIAAQQMQmoCAgAAiBEH//wNxDQEgACABIAIoAgwgAigCEEEBELOEgIAAIgRB//8DcQ0BIABBo5LAgABBAhCagICAACIEQf//A3ENASACKAIAIQQLAkAgBEEORw0AIAAgARCthICAACIEQf//A3ENASACKAIAIQQLAkAgBEEPRw0AIABBppLAgABBAhCagICAACIEQf//A3ENASAAQdjqwIAAQQIQmoCAgAAiBEH//wNxDQEgAEHinMCAAEELEJqAgIAAIgRB//8DcQ0BIABB7+rAgABBAxCagICAACIEQf//A3ENASAAIAEgAi8BBBCPg4CAACIEQf//A3ENASAAQaOSwIAAQQIQmoCAgAAiBEH//wNxDQEgAigCACEECwJAIARBEEcNACAAIAEgAigCBCACKAIIQQIQs4SAgAAiBEH//wNxDQEgAigCACEECwJAIARBEUcNACAAQdLqwIAAQQQQmoCAgAAiBEH//wNxDQEgAEGGrMCAAEGim8CAACACLQAMG0EFEJqAgIAAIgRB//8DcQ0BIABB7+rAgABBAxCagICAACIEQf//A3ENAQJAAkAgAi0ADA0AIAAgARCthICAACIEQf//A3ENAyACLQAMRQ0BCyAAIAEgAigCBCACKAIIQQEQs4SAgAAiBEH//wNxDQILIABBo5LAgABBAhCagICAACIEQf//A3ENASACKAIAIQQLAkAgBEESRw0A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/wNxRQ0BDAMLIABBo5LAgABBAhCagICAAA8LAkAgA0EBRg0AIABB8+rAgABBAhCagICAACIFQf//A3ENAgsgAkEBaiECIANBf2ohAwwACwsgBQstAAJAIAJFDQAgACABIAIgA0EBELOEgIAADwsgAEGCpsCAAEEEIAEQoYSAgAALJwAgAEH+qsCAAEH/rMCAACACQQFxIgIbQQRBBSACGyABEKGEgIAACy8AAkAgAi0AAUUNACAAIAEgAi0AABCrhICAAA8LIABBgqbAgABBBCABEKGEgIAAC2UBAX8jgICAgABBEGsiAySAgICAACADQdnqwIAANgIAIANBATYCBCADQQNBAiACQQFxIgIbNgIMIANBp6bAgABB35nAgAAgAhs2AgggACADEKeEgIAAIQIgA0EQaiSAgICAACACC/wCAQd/I4CAgIAAQRBrIgUkgICAgAAgA0F/aiEGIAEoAgghByABKAIEIQhBACEJQQAhCgJAA0AgCiAGTw0BIAIoAgQgCWohCUEBIQoMAAsLAkACQAJAIAIgBkEDdGooAgQgBGwgCWoiCyABKAIMIgpqIAdLDQBBACEJAkADQCAJIAZPDQECQCACKAIEIglFDQAgCCAKaiACKAIAIAn8CgAACyABIAEoAgwgCWoiCjYCDEEBIQkMAAsLIAIgBkEDdGoiCSgCACECAkACQCAJKAIEIgkOAgMAAQsCQCAERQ0AIAggCmogAi0AACAE/AsACyABIAEoAgwgBGo2AgwMAgsDQCAERQ0CAkAgCUUNACAIIApqIAIgCfwKAAALIAEgASgCDCAJaiIKNgIMIARBf2ohBAwACwsgBUEIaiABIAIgAyAEIAEoAgAoAgARgYCAgACAgICAACAAIAUpAwg3AgAMAQsgACALNgIAIABBADsBBAsgBUEQaiSAgICAAAtgAQJ/QgFBICAAQX9qZ2siAK1C//8Dg4anIQECQCAAQf//A3FBAnRB8LzKgABqIgIoAgAiAEUNACACIAFBEHQgAGpBfGooAgA2AgAgAA8LQQAgAUAAIgBBEHQgAEF/RhsL4AEBAn8jgICAgABBEGsiBiSAgICAACAGIANBH3E6AA9BfyAEQQRqIgcgByAESRsiBEEBIAN0IgMgBCADSxshBAJAAkACQCACQQRqIgIgAyACIANLGyIDQX9qZyICQW9qQQxLDQAg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WzM7MTB+ABtbMjM7MTB+ABtbMTM7MTB+ABtbMjsxMH4AG1syMTsxMH4AG1syMDsxMH4AeyAuLi4gfQAuewBlbXB0eQBpbml0eQBjYXBhY2l0eQBIeXBlcmxpbmtTZXRPdXRPZk1lbW9yeQBTdHlsZVNldE91dE9mTWVtb3J5AFN0cmluZ3NPdXRPZk1lbW9yeQBIeXBlcmxpbmtNYXBPdXRPZk1lbW9yeQBHcmFwaGVtZU1hcE91dE9mTWVtb3J5AFN0cmluZ0FsbG9jT3V0T2ZNZW1vcnkAR3JhcGhlbWVBbGxvY091dE9mTWVtb3J5AHByaW1hcnkAc2Vjb25kYXJ5AGRuZC1jb3B5AG5vdGlmeQBzZW1hbnRpY19vcHRpb25fa2V5AGh5cGVybGlua19wYXJhbV9rZXkAa2l0dHlfY29sb3JfcHJvdG9jb2xfa2V5AHNwZWNpYWxfa2V5AGJvZHkAG095ABtPOXkAG084eQAbTzd5ABtPNnkAG08xNnkAG081eQAbTzE1eQAbTzR5ABtPMTR5ABtPM3kAG08xM3kAG08yeQAbTzEyeQAbTzExeQAbTzEweQBjb25lbXVfc2hvd19tZXNzYWdlX2JveABjb25lbXVfbWVzc2FnZV9ib3gAG094ABtPOXgAG084eAAbTzd4ABtPNngAG08xNngAG081eAAbTzE1eAAbTzR4ABtPMTR4ABtPM3gAG08xM3gAG08yeAAbTzEyeAAbTzExeAAbTzEweABxdWVzdGlvbl9hcnJvdwBzd2FsbG93AE92ZXJmbG93AHJlZHJhdwAbT3cAG085dwAbTzh3ABtPN3cAG082dwAbTzE2dwAbTzV3ABtPMTV3ABtPNHcAG08xNHcAG08zdwAbTzEzdwAbTzJ3ABtPMTJ3ABtPMTF3ABtPMTB3ABtPdgAbTzl2ABtPOHYAG083dgAbTzZ2ABtPMTZ2ABtPNXYAG08xNXYAG080dgAbTzE0dgAbTzN2ABtPMTN2ABtPMnYAG08xMnYAG08xMXYAG08xMHYAY29udGV4dC1tZW51ABtPdQAbTzl1ABtPOHUAG083dQAbTzZ1ABtPMTZ1ABtPNXUAG08xNXUAG080dQAbTzE0dQAbTzN1ABtPMTN1ABtPMnUAG08xMnUAG08xMXUAG08xMHUAY29uZW11X3RhYl90eHQAY3Vyc29yX3RleHQAdmVydGljYWwtdGV4dABJbnB1dE91dHB1dABjb25lbXVfd2FpdF9pbnB1dABlbmRfb2ZfaW5wdXQAZGNzX3B1dABhcGNfcHV0AHpvb20tb3V0AENvbm5lY3Rpb25UaW1lZE91dABsaXN0AGNvbmVtdV9wcm9ncmVzc19yZXBvcnQAcHJvbXB0X3N0YXJ0AHNlbWFudGljX29wdGlvbl9zdGFydABoeXBlcmxpbmtfc3RhcnQAc2VtYW50aWNfZXhpdF9jb2RlX3N0YXJ0AGFwY19zdGFydABzZW1hbnRpY19wcm9tcHQAcHJpbnQAY3VycmVudABwcmVhbGxvY19zZWdtZW50AGRlZmF1bHQAd2FpdAByaWdodABsZWZ0AE5vU3BhY2VMZWZ0AHJlc2V0AEludmFsaWRGb3JtYXQAG090ABtPOXQAG084dAAbTzd0ABtPNnQAG08xNnQAG081dAAbTzE1dAAbTzR0ABtPMTR0ABtPM3QAG08xM3QAG08ydAAbTzEydAAbTzExdAAbTzEwdAByZXF1ZXN0cwBjbGlja19ldmVudHMAY2xpcGJvYXJkX2NvbnRlbnRzAGR5bmFtaWNfc2VnbWVudHMAY3Jvc3MAcHJvZ3Jlc3MAaXRlbXMAcGFyYW1zAGR1cmF0aW9uX21zAGludGVybWVkaWF0ZXMAU3lzdGVtUmVzb3VyY2VzAGFsaWFzABtPcwAbTzlzABtPOHMAG083cwAbTzZzABtPMTZzABtPNXMAG08xNXMAG080cwAbTzE0cwAbTzNzABtPMTNzABtPMnMAG08xMnMAG08xMXMAG08xMHMAZmxldXIAbGVmdF9wdHIAdGVybWluYXRvcgBjdXJzb3IAZXJyb3IARGVjb2RlRXJyb3IAb3NjX2NvbG9yAGNyb3NzaGFpcgBJc0RpcgBwb2ludGVyAEludmFsaWRDaGFyYWN0ZXIAdG9wX3JpZ2h0X2Nvcm5lcgBib3R0b21fcmlnaHRfY29ybmVyAHRvcF9sZWZ0X2Nvcm5lcgBib3R0b21fbGVmdF9jb3JuZXIAQ29ubmVjdGlvblJlc2V0QnlQZWVyABtPcgAbTzlyABtPOHIAG083cgAbTzZyABtPMTZyABtPNXIAG08xNXIAG080cgAbTzE0cgAbTzNyABtPMTNyABtPMnIAG08xMnIAG08xMXIAG08xMHIAG09xABtPOXEAG084cQAbTzdxABtPNnEAG08xNnEAG081cQAbTzE1cQAbTzRxABtPMTRxABtPM3EAG08xM3EAG08ycQAbTzEycQAbTzExcQAbTzEwcQBkbmQtbm8tZHJvcABoZWxwAHBhcmFtc19zZXAAY29uZW11X3NsZWVwAHJpZ2h0X3VubGVzc19wZW5kaW5nX3dyYXAAG09wABtPOXAAG084cAAbTzdwABtPNnAAG08xNnAAG081cAAbTzE1cAAbTzRwABtPMTRwABtPM3AAG08xM3AAG08ycAAbTzEycAAbTzExcAAbTzEwcABEaXZpc2lvbkJ5WmVybwBjb25lbXVfZ3VpbWFjcm8AG09vABtPOW8AG084bwAbTzdvABtPNm8AG08xNm8AG081bwAbTzE1bwAbTzRvABtPMTRvABtPM28AG08xM28AG08ybwAbTzEybwAbTzExbwAbTzEwbwB0ZXJtaW5hbC5QYXJzZXIuQWN0aW9uAGNvbnRpbnVhdGlvbgBVdGY4RXhwZWN0ZWRDb250aW51YXRpb24AY29sb3Jfb3BlcmF0aW9uAE1pc3NpbmdPcGVyYXRpb24ATG9ja1Zpb2xhdGlvbgBzaG93X2Rlc2t0b3Bfbm90aWZpY2F0aW9uAHJ4dnRfZXh0ZW5zaW9uAGNoYW5nZV93aW5kb3dfaWNvbgB6b29tLWluAGxlbgBuYW4AG09uABtPOW4AG084bgAbTzduABtPNm4AG08xNm4AG081bgAbTzE1bgAbTzRuABtPMTRuABtPM24AG08xM24AG08ybgAbTzEybgAbTzExbgAbWzBuABtPMTBuAHh0ZXJtAEVuZE9mU3RyZWFtABtPbQAbTzltABtPOG0AG083bQAbTzZtABtPMTZtABtPNW0AG08xNW0AG080bQAbTzE0bQAbTzNtABtPMTNtABtPMm0AG08xMm0AG08xMW0AG08xMG0AY21kbGluZV91cmwAa2l0dHlfY29sb3JfcHJvdG9jb2wAbnVsbABhbGwtc2Nyb2xsAGNlbGwAdmlzdWFsX2JlbGwAYWxsAGJlbABmaW5hbABtYXNrAGRjc191bmhvb2sAZGNzX2hvb2sAZG5kLWxpbmsAV291bGRCbG9jawAbT2sAG085awAbTzhrABtPN2sAG082awAbTzE2awAbTzVrABtPMTVrABtPNGsAG08xNGsAG08zawAbTzEzawAbTzJrABtPMTJrABtPMTFrABtPMTBrABtPagAbTzlqABtPOGoAG083agAbTzZqABtPMTZqABtPNWoAG08xNWoAG080agAbTzE0agAbTzNqABtPMTNqABtPMmoAG08xMmoAG08xMWoAG08xMGoAaHlwZXJsaW5rX3VyaQBIeXBlcmxpbmtTZXROZWVkc1JlaGFzaABTdHlsZVNldE5lZWRzUmVoYXNoAGxlZnRfcHRyX3dhdGNoAGNzaV9kaXNwYXRjaABvc2NfZGlzcGF0Y2gAZXNjX2Rpc3BhdGNoAGFsbG9jYWJsZV9zdHJpbmcAU3RyZWFtaW5nAFV0ZjhPdmVybG9uZ0VuY29kaW5nAE5vdE9wZW5Gb3JSZWFkaW5nAGdyYWJiaW5nAEludmFsaWRFbnVtVGFnAGluZgBVdGY4RW5jb2Rlc1N1cnJvZ2F0ZUhhbGYAVXRmOENhbm5vdEVuY29kZVN1cnJvZ2F0ZUhhbGYAbmVzdy1yZXNpemUAcm93LXJlc2l6ZQBudy1yZXNpemUAZXctcmVzaXplAG5zLXJlc2l6ZQBuLXJlc2l6ZQBjb2wtcmVzaXplAG53c2UtcmVzaXplAG5lLXJlc2l6ZQByZW1vdmUAZG5kLW1vdmUAdHJ1ZQBjb25lbXVfcHJvZ3Jlc3NfcHJldmFsdWUAY29uZW11X3Byb2dyZXNzX3ZhbHVlAGNvbmVtdV9zbGVlcF92YWx1ZQBzZW1hbnRpY19vcHRpb25fdmFsdWUAaHlwZXJsaW5rX3BhcmFtX3ZhbHVlAGtpdHR5X2NvbG9yX3Byb3RvY29sX3ZhbHVlAFV0ZjhJbnZhbGlkU3RhcnRCeXRlAGV4ZWN1dGUAY29tcGxldGUAY29uZW11X3Byb2dyZXNzX3ByZXN0YXRlAGNvbmVtdV9wcm9ncmVzc19zdGF0ZQBhbHRlcm5hdGUAaW5kZXRlcm1pbmF0ZQBwYXVzZQBmYWxzZQBCcm9rZW5QaXBlAG1vdXNlX3NoYXBlAGNtZGxpbmUAY2hhbmdlX3dpbmRvd190aXRsZQBub3RpZmljYXRpb25fdGl0bGUAY29uZW11X2NoYW5nZV90YWJfdGl0bGUAY3Jvc3NlZF9jaXJjbGUAVW5zZWVrYWJs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c2NfMTYAb3NjXzExNgBvc2NfNQAyMjczNzM2NzU0NDMyMzIwNTk0Nzg3NTk3NjU2MjUAMTIzMjU5NTE2NDQwNzgzMDk0NTk1NTgyNTg4MzI1NDM1MzQ4Mzg2NDM4NTA1NDg1Nzg0ODQ0NDk1MzU2MDgyOTE2MjU5NzY1NjI1ADUyOTM5NTU5MjAzMzkzNzcxMTkxNzcwMTU2MjkyNDc3NjIyNjI4MjExOTc1MDk3NjU2MjUAODA3NzkzNTY2OTQ2MzE2MDg4NzQxNjEwMDUwODQ5NTczMDk5MTg1MzYzMzg5NTUxNjM5NTU2ODg0NzY1NjI1ADE0OTAxMTYxMTkzODQ3NjU2MjUAMTg4MDc5MDk2MTMxNTY2MDAxMjc0OTk3ODQ1OTU1NTU5MzA4NDUwOTg2NDg5MDgzNTM0MDAzNDQxNDAwMjczMDA0NTQ2NzYxNTEyNzU2MzQ3NjU2MjUAMzQ2OTQ0Njk1MTk1MzYxNDE4ODgyMzg0ODk2Mjc4MzgxMzQ3NjU2MjUAMzgxNDY5NzI2NTYyNQAyMDY3OTUxNTMxMzgyNTY5MTg3MTc4NTIxNzMwMTc0OTA3MTMzOTE0NTMwMjc3MjUyMTk3MjY1NjI1ADQ4MTQ4MjQ4NjA5NjgwODk2MzI2Mzk5NDQ4NTY0NjIzMTgyOTYzNDUyNTQxMjA1Mzg0NzA0ODgwOTk4NDY5ODg5MTYzOTcwOTQ3MjY1NjI1ADg4ODE3ODQxOTcwMDEyNTIzMjMzODkwNTMzNDQ3MjY1NjI1ADMxNTU0NDM2MjA4ODQwNDcyMjE2NDY5MTQyNjExMzExNDQ5MTg2OTI4MjU3NDA0MzYwOTIwMTkwODExMTU3MjI2NTYyNQA1ODIwNzY2MDkxMzQ2NzQwNzIyNjU2MjUAMTM1NTI1MjcxNTYwNjg4MDU0MjUwOTMxNjAwMTA4NzQyNzEzOTI4MjIyNjU2MjUANTA0ODcwOTc5MzQxNDQ3NTU1NDYzNTA2MjgxNzgwOTgzMTg2OTkwODUyMTE4NDY5Nzc0NzIzMDUyOTc4NTE1NjI1ADkzMTMyMjU3NDYxNTQ3ODUxNTYyNQAxMTc1NDk0MzUwODIyMjg3NTA3OTY4NzM2NTM3MjIyMjQ1Njc3ODE4NjY1NTU2NzcyMDg3NTIxNTA4NzUxNzA2Mjc4NDE3MjU5NDU0NzI3MTcyODUxNTYyNQAyMTY4NDA0MzQ0OTcxMDA4ODY4MDE0OTA1NjAxNzM5ODgzNDIyODUxNTYyNQAxNDIxMDg1NDcxNTIwMjAwMzcxNzQyMjQ4NTM1MTU2MjUANzcwMzcxOTc3NzU0ODk0MzQxMjIyMzkxMTc3MDMzOTcwOTI3NDE1MjQwNjU5Mjg2MTU1Mjc4MDk1OTc1NTE4MjI2NjIzNTM1MTU2MjUAMzMwODcyMjQ1MDIxMjExMDY5OTQ4NTYzNDc2ODI3OTg1MTQxNDI2MzI0ODQ0MzYwMzUxNTYyNQA2MTAzNTE1NjI1ADE5NzIxNTIyNjMwNTI1Mjk1MTM1MjkzMjE0MTMyMDY5NjU1NzQxODMwMTYwODc3NzI1NTc1MTE5MjU2OTczMjY2NjAxNTYyNQAzNjM3OTc4ODA3MDkxNzEyOTUxNjYwMTU2MjUAODQ3MDMyOTQ3MjU0MzAwMzM5MDY4MzIyNTAwNjc5NjQxOTYyMDUxMzkxNjAxNTYyNQAyMzg0MTg1NzkxMDE1NjI1ADEyOTI0Njk3MDcxMTQxMDU3NDE5ODY1NzYwODEzNTkzMTY5NTg2OTY1ODE0MjMyODI2MjMyOTEwMTU2MjUANTU1MTExNTEyMzEyNTc4MjcwMjExODE1ODM0MDQ1NDEwMTU2MjUAMzAwOTI2NTUzODEwNTA1NjAyMDM5OTk2NTUzNTI4ODk0ODkzNTIxNTc4MzgyNTMzNjU0NDA1NTA2MjQwNDM2ODA3Mjc0ODE4NDIwNDEwMTU2MjUAMTUyNTg3ODkwNjI1ADgyNzE4MDYxMjU1MzAyNzY3NDg3MTQwODY5MjA2OTk2Mjg1MzU2NTgxMjExMDkwMDg3ODkwNjI1ADE5MjU5Mjk5NDQzODcyMzU4NTMwNTU5Nzc5NDI1ODQ5MjczMTg1MzgxMDE2NDgyMTUzODgxOTUyMzk5Mzg3OTU1NjY1NTg4Mzc4OTA2MjUAMzU1MjcxMzY3ODgwMDUwMDkyOTM1NTYyMTMzNzg5MDYyNQAyMzI4MzA2NDM2NTM4Njk2Mjg5MDYyNQAxMjYyMTc3NDQ4MzUzNjE4ODg4NjU4NzY1NzA0NDUyNDU3OTY3NDc3MTMwMjk2MTc0NDM2ODA3NjMyNDQ2Mjg5MDYyNQA1NDIxMDEwODYyNDI3NTIyMTcwMDM3MjY0MDA0MzQ5NzA4NTU3MTI4OTA2MjUANTk2MDQ2NDQ3NzUzOTA2MjUAMzIzMTE3NDI2Nzc4NTI2NDM1NDk2NjQ0MDIwMzM5ODI5MjM5Njc0MTQ1MzU1ODIwNjU1ODIyNzUzOTA2MjUAMTM4Nzc3ODc4MDc4MTQ0NTY3NTUyOTUzOTU4NTExMzUyNTM5MDYyNQA3NTIzMTYzODQ1MjYyNjQwMDUwOTk5OTEzODM4MjIyMzcyMzM4MDM5NDU5NTYzMzQxMzYwMTM3NjU2MDEwOTIwMTgxODcwNDYwNTEwMjUzOTA2MjUANDkzMDM4MDY1NzYzMTMyMzc4MzgyMzMwMzUzMzAxNzQxMzkzNTQ1NzU0MDIxOTQzMTM5Mzc3OTgxNDI0MzMxNjY1MDM5MDYyNQA5MDk0OTQ3MDE3NzI5MjgyMzc5MTUwMzkwNjI1ADIxMTc1ODIzNjgxMzU3NTA4NDc2NzA4MDYyNTE2OTkxMDQ5MDUxMjg0NzkwMDM5MDYyNQAzMzg4MTMxNzg5MDE3MjAxMzU2MjczMjkwMDAyNzE4NTY3ODQ4MjA1NTY2NDA2MjUAMTQ1NTE5MTUyMjgzNjY4NTE4MDY2NDA2MjUANzg4ODYwOTA1MjIxMDExODA1NDExNzI4NTY1MjgyNzg2MjI5NjczMjA2NDM1MTA5MDIzMDA0NzcwMjc4OTMwNjY0MDYyNQAxMjAzNzA2MjE1MjQyMDIyNDA4MTU5OTg2MjE0MTE1NTc5NTc0MDg2MzEzNTMwMTM0NjE3NjIyMDI0OTYxNzQ3MjI5MDk5MjczNjgxNjQwNjI1ADIyMjA0NDYwNDkyNTAzMTMwODA4NDcyNjMzMzYxODE2NDA2MjUANTE2OTg3ODgyODQ1NjQyMjk2Nzk0NjMwNDMyNTQzNzI2NzgzNDc4NjMyNTY5MzEzMDQ5MzE2NDA2MjUAOTUzNjc0MzE2NDA2MjUANDcwMTk3NzQwMzI4OTE1MDAzMTg3NDk0NjE0ODg4ODk4MjcxMTI3NDY2MjIyNzA4ODM1MDA4NjAzNTAwNjgyNTExMzY2OTAzNzgxODkwODY5MTQwNjI1ADg2NzM2MTczNzk4ODQwMzU0NzIwNTk2MjI0MDY5NTk1MzM2OTE0MDYyNQAzNzI1MjkwMjk4NDYxOTE0MDYyNQAyMDE5NDgzOTE3MzY1NzkwMjIxODU0MDI1MTI3MTIzOTMyNzQ3OTYzNDA4NDczODc5MDk4ODkyMjExOTE0MDYyNQA1Njg0MzQxODg2MDgwODAxNDg2OTY4OTk0MTQwNjI1ADMwODE0ODc5MTEwMTk1NzczNjQ4ODk1NjQ3MDgxMzU4ODM3MDk2NjA5NjI2MzcxNDQ2MjExMTIzODM5MDIwNzI5MDY0OTQxNDA2MjUAMTMyMzQ4ODk4MDA4NDg0NDI3OTc5NDI1MzkwNzMxMTk0MDU2NTcwNTI5OTM3NzQ0MTQwNjI1ADI0NDE0MDYyNQAzODUxODU5ODg4Nzc0NDcxNzA2MTExOTU1ODg1MTY5ODU0NjM3MDc2MjAzMjk2NDMwNzc2MzkwNDc5ODc3NTkxMTMzMTE3Njc1NzgxMjUANzEwNTQyNzM1NzYwMTAwMTg1ODcxMTI0MjY3NTc4MTI1ADMwNTE3NTc4MTI1ADE2NTQzNjEyMjUxMDYwNTUzNDk3NDI4MTczODQxMzk5MjU3MDcxMzE2MjQyMjE4MDE3NTc4MTI1ADI1MjQzNTQ4OTY3MDcyMzc3NzczMTc1MzE0MDg5MDQ5MTU5MzQ5NTQyNjA1OTIzNDg4NzM2MTUyNjQ4OTI1NzgxMjUANDY1NjYxMjg3MzA3NzM5MjU3ODEyNQA1ODc3NDcxNzU0MTExNDM3NTM5ODQzNjgyNjg2MTExMjI4Mzg5MDkzMzI3NzgzODYwNDM3NjA3NTQzNzU4NTMxMzkyMDg2Mjk3MjczNjM1ODY0MjU3ODEyNQAxMDg0MjAyMTcyNDg1NTA0NDM0MDA3NDUyODAwODY5OTQxNzExNDI1NzgxMjUAMTE5MjA5Mjg5NTUwNzgxMjUANjQ2MjM0ODUzNTU3MDUyODcwOTkzMjg4MDQwNjc5NjU4NDc5MzQ4MjkwNzExNjQxMzExNjQ1NTA3ODEyNQAyNzc1NTU3NTYxNTYyODkxMzUxMDU5MDc5MTcwMjI3MDUwNzgxMjUAMTUwNDYzMjc2OTA1MjUyODAxMDE5OTk4Mjc2NzY0NDQ3NDQ2NzYwNzg5MTkxMjY2ODI3MjAyNzUzMTIwMjE4NDAzNjM3NDA5MjEwMjA1MDc4MTI1ADQyMzUxNjQ3MzYyNzE1MDE2OTUzNDE2MTI1MDMzOTgyMDk4MTAyNTY5NTgwMDc4MTI1ADE4MTg5ODk0MDM1NDU4NTY0NzU4MzAwNzgxMjUAOTg2MDc2MTMxNTI2MjY0NzU2NzY0NjYwNzA2NjAzNDgyNzg3MDkxNTA4MDQzODg2Mjc4NzU1OTYyODQ4NjYzMzMwMDc4MTI1ADExMzY4NjgzNzcyMTYxNjAyOTczOTM3OTg4MjgxMjUANjE2Mjk3NTgyMjAzOTE1NDcyOTc3OTEyOTQxNjI3MTc2NzQxOTMyMTkyNTI3NDI4OTI0MjIyNDc2NzgwNDE0NTgxMjk4ODI4MTI1ADI2NDY5Nzc5NjAxNjk2ODg1NTk1ODg1MDc4MTQ2MjM4ODExMzE0MTA1OTg3NTQ4ODI4MTI1ADE3MzQ3MjM0NzU5NzY4MDcwOTQ0MTE5MjQ0ODEzOTE5MDY3MzgyODEyNQA5NDAzOTU0ODA2NTc4MzAwMDYzNzQ5ODkyMjk3Nzc3OTY1NDIyNTQ5MzI0NDU0MTc2NzAwMTcyMDcwMDEzNjUwMjI3MzM4MDc1NjM3ODE3MzgyODEyNQA3NDUwNTgwNTk2OTIzODI4MTI1ADQwMzg5Njc4MzQ3MzE1ODA0NDM3MDgwNTAyNTQyNDc4NjU0OTU5MjY4MTY5NDc3NTgxOTc3ODQ0MjM4MjgxMjUAMTAzMzk3NTc2NTY5MTI4NDU5MzU4OTI2MDg2NTA4NzQ1MzU2Njk1NzI2NTEzODYyNjA5ODYzMjgxMjUAMTkwNzM0ODYzMjgxMjUAMjQwNzQxMjQzMDQ4NDA0NDgxNjMxOTk3MjQyODIzMTE1OTE0ODE3MjYyNzA2MDI2OTIzNTI0NDA0OTkyMzQ5NDQ1ODE5ODU0NzM2MzI4MTI1ADQ0NDA4OTIwOTg1MDA2MjYxNjE2OTQ1MjY2NzIzNjMyODEyNQAxNTc3NzIxODEwNDQyMDIzNjEwODIzNDU3MTMwNTY1NTcyNDU5MzQ2NDEyODcwMjE4MDQ2MDA5NTQwNTU3ODYxMzI4MTI1ADI5MTAzODMwNDU2NzMzNzAzNjEzMjgxMjUANjc3NjI2MzU3ODAzNDQwMjcxMjU0NjU4MDAwNTQzNzEzNTY5NjQxMTEzMjgxMjUAMjk4MDIzMjIzODc2OTUzMTI1ADE2MTU1ODcxMzM4OTI2MzIxNzc0ODMyMjAxMDE2OTkxNDYxOTgzNzA3MjY3NzkxMDMyNzkxMTM3Njk1MzEyNQA2OTM4ODkzOTAzOTA3MjI4Mzc3NjQ3Njk3OTI1NTY3NjI2OTUzMTI1ADM3NjE1ODE5MjI2MzEzMjAwMjU0OTk5NTY5MTkxMTExODYxNjkwMTk3Mjk3ODE2NzA2ODAwNjg4MjgwMDU0NjAwOTA5MzUyMzAyNTUxMjY5NTMxMjUANDU0NzQ3MzUwODg2NDY0MTE4OTU3NTE5NTMxMjUAMjQ2NTE5MDMyODgxNTY2MTg5MTkxMTY1MTc2NjUwODcwNjk2NzcyODc3MDEwOTcxNTY5Njg4OTkwNzEyMTY1ODMyNTE5NTMxMjUAMTA1ODc5MTE4NDA2Nzg3NTQyMzgzNTQwMzEyNTg0OTU1MjQ1MjU2NDIzOTUwMTk1MzEyNQAxNzc2MzU2ODM5NDAwMjUwNDY0Njc3ODEwNjY4OTQ1MzEyNQA5NjI5NjQ5NzIxOTM2MTc5MjY1Mjc5ODg5NzEyOTI0NjM2NTkyNjkwNTA4MjQxMDc2OTQwOTc2MTk5NjkzOTc3ODMyNzk0MTg5NDUzMTI1ADc2MjkzOTQ1MzEyNQA0MTM1OTAzMDYyNzY1MTM4Mzc0MzU3MDQzNDYwMzQ5ODE0MjY3ODI5MDYwNTU0NTA0Mzk0NTMxMjUAMjcxMDUwNTQzMTIxMzc2MTA4NTAxODYzMjAwMjE3NDg1NDI3ODU2NDQ1MzEyNQAxMTY0MTUzMjE4MjY5MzQ4MTQ0NTMxMjUANjMxMDg4NzI0MTc2ODA5NDQ0MzI5MzgyODUyMjI2MjI4OTgzNzM4NTY1MTQ4MDg3MjE4NDAzODE2MjIzMTQ0NTMxMjUAMTAwOTc0MTk1ODY4Mjg5NTExMDkyNzAxMjU2MzU2MTk2NjM3Mzk4MTcwNDIzNjkzOTU0OTQ0NjEwNTk1NzAzMTI1ADE4NjI2NDUxNDkyMzA5NTcwMzEyNQA0MzM2ODA4Njg5OTQyMDE3NzM2MDI5ODExMjAzNDc5NzY2ODQ1NzAzMTI1ADIzNTA5ODg3MDE2NDQ1NzUwMTU5Mzc0NzMwNzQ0NDQ0OTEzNTU2MzczMzExMTM1NDQxNzUwNDMwMTc1MDM0MTI1NTY4MzQ1MTg5MDk0NTQzNDU3MDMxMjUAMjg0MjE3MDk0MzA0MDQwMDc0MzQ4NDQ5NzA3MDMxMjUAMTU0MDc0Mzk1NTUwOTc4ODY4MjQ0NDc4MjM1NDA2Nzk0MTg1NDgzMDQ4MTMxODU3MjMxMDU1NjE5MTk1MTAzNjQ1MzI0NzA3MDMxMjUANjYxNzQ0NDkwMDQyNDIyMTM5ODk3MTI2OTUzNjU1OTcwMjgyODUyNjQ5Njg4NzIwNzAzMTI1ADEyMjA3MDMxMjUAMjU4NDkzOTQxNDIyODIxMTQ4Mzk3MzE1MjE2MjcxODYzMzkxNzM5MzE2Mjg0NjU2NTI0NjU4MjAzMTI1ADQ3NjgzNzE1ODIwMzEyNQAxMTEwMjIzMDI0NjI1MTU2NTQwNDIzNjMxNjY4MDkwODIwMzEyNQA2MDE4NTMxMDc2MjEwMTEyMDQwNzk5OTMxMDcwNTc3ODk3ODcwNDMxNTY3NjUwNjczMDg4MTEwMTI0ODA4NzM2MTQ1NDk2MzY4NDA4MjAzMTI1ADE2OTQwNjU4OTQ1MDg2MDA2NzgxMzY2NDUwMDEzNTkyODM5MjQxMDI3ODMyMDMxMjUAMzk0NDMwNDUyNjEwNTA1OTAyNzA1ODY0MjgyNjQxMzkzMTE0ODM2NjAzMjE3NTU0NTExNTAyMzg1MTM5NDY1MzMyMDMxMjUANzI3NTk1NzYxNDE4MzQyNTkwMzMyMDMxMjUAb3NjXzE1AG9zY18xMTUAb3NjXzEwNQBvc2NfNABvc2NfMTQAb3NjXzExNABvc2NfMTA0ADEzMwBvc2NfMTMAb3NjXzExMwA1MgAyMgBvc2NfMTIAb3NjXzExMgBoYW5kMQAyMQBvc2NfMTEAb3NjXzExMQBvc2NfMTAAb3NjXzExMABlcnJvci4ALnsgLgAsIC4AQGVudW1Gcm9tSW50KAAkJwB7IAAgPSAALCAAGxsAGw0AMjU1IDI1MCAyNTAJCXNub3cKMjQ4IDI0OCAyNTUJCWdob3N0IHdoaXRlCjI0OCAyNDggMjU1CQlHaG9zdFdoaXRlCjI0NSAyNDUgMjQ1CQl3aGl0ZSBzbW9rZQoyNDUgMjQ1IDI0NQkJV2hpdGVTbW9rZQoyMjAgMjIwIDIyMAkJZ2FpbnNib3JvCjI1NSAyNTAgMjQwCQlmbG9yYWwgd2hpdGUKMjU1IDI1MCAyNDAJCUZsb3JhbFdoaXRlCjI1MyAyNDUgMjMwCQlvbGQgbGFjZQoyNTMgMjQ1IDIzMAkJT2xkTGFjZQoyNTAgMjQwIDIzMAkJbGluZW4KMjUwIDIzNSAyMTUJCWFudGlxdWUgd2hpdGUKMjUwIDIzNSAyMTUJCUFudGlxdWVXaGl0ZQoyNTUgMjM5IDIxMwkJcGFwYXlhIHdoaXAKMjU1IDIzOSAyMTMJCVBhcGF5YVdoaXAKMjU1IDIzNSAyMDUJCWJsYW5jaGVkIGFsbW9uZAoyNTUgMjM1IDIwNQkJQmxhbmNoZWRBbG1vbmQKMjU1IDIyOCAxOTYJCWJpc3F1ZQoyNTUgMjE4IDE4NQkJcGVhY2ggcHVmZgoyNTUgMjE4IDE4NQkJUGVhY2hQdWZmCjI1NSAyMjIgMTczCQluYXZham8gd2hpdGUKMjU1IDIyMiAxNzMJCU5hdmFqb1doaXRlCjI1NSAyMjggMTgxCQltb2NjYXNpbgoyNTUgMjQ4IDIyMAkJY29ybnNpbGsKMjU1IDI1NSAyNDAJCWl2b3J5CjI1NSAyNTAgMjA1CQlsZW1vbiBjaGlmZm9uCjI1NSAyNTAgMjA1CQlMZW1vbkNoaWZmb24KMjU1IDI0NSAyMzgJCXNlYXNoZWxsCjI0MCAyNTUgMjQwCQlob25leWRldwoyNDUgMjU1IDI1MAkJbWludCBjcmVhbQoyNDUgMjU1IDI1MAkJTWludENyZWFtCjI0MCAyNTUgMjU1CQlhenVyZQoyNDAgMjQ4IDI1NQkJYWxpY2UgYmx1ZQoyNDAgMjQ4IDI1NQkJQWxpY2VCbHVlCjIzMCAyMzAgMjUwCQlsYXZlbmRlcgoyNTUgMjQwIDI0NQkJbGF2ZW5kZXIgYmx1c2gKMjU1IDI0MCAyNDUJCUxhdmVuZGVyQmx1c2gKMjU1IDIyOCAyMjUJCW1pc3R5IHJvc2UKMjU1IDIyOCAyMjUJCU1pc3R5Um9zZQoyNTUgMjU1IDI1NQkJd2hpdGUKICAwICAgMCAgIDAJCWJsYWNrCiA0NyAgNzkgIDc5CQlkYXJrIHNsYXRlIGdyYXkKIDQ3ICA3OSAgNzkJCURhcmtTbGF0ZUdyYXkKIDQ3ICA3OSAgNzkJCWRhcmsgc2xhdGUgZ3JleQogNDcgIDc5ICA3OQkJRGFya1NsYXRlR3JleQoxMDUgMTA1IDEwNQkJZGltIGdyYXkKMTA1IDEwNSAxMDUJCURpbUdyYXkKMTA1IDEwNSAxMDUJCWRpbSBncmV5CjEwNSAxMDUgMTA1CQlEaW1HcmV5CjExMiAxMjggMTQ0CQlzbGF0ZSBncmF5CjExMiAxMjggMTQ0CQlTbGF0ZUdyYXkKMTEyIDEyOCAxNDQJCXNsYXRlIGdyZXkKMTEyIDEyOCAxNDQJCVNsYXRlR3JleQoxMTkgMTM2IDE1MwkJbGlnaHQgc2xhdGUgZ3JheQoxMTkgMTM2IDE1MwkJTGlnaHRTbGF0ZUdyYXkKMTE5IDEzNiAxNTMJCWxpZ2h0IHNsYXRlIGdyZXkKMTE5IDEzNiAxNTMJCUxpZ2h0U2xhdGVHcmV5CjE5MCAxOTAgMTkwCQlncmF5CjE5MCAxOTAgMTkwCQlncmV5CjE5MCAxOTAgMTkwCQl4MTEgZ3JheQoxOTAgMTkwIDE5MAkJWDExR3JheQoxOTAgMTkwIDE5MAkJeDExIGdyZXkKMTkwIDE5MCAxOTAJCVgxMUdyZXkKMTI4IDEyOCAxMjgJCXdlYiBncmF5CjEyOCAxMjggMTI4CQlXZWJHcmF5CjEyOCAxMjggMTI4CQl3ZWIgZ3JleQoxMjggMTI4IDEyOAkJV2ViR3JleQoyMTEgMjExIDIxMQkJbGlnaHQgZ3JleQoyMTEgMjExIDIxMQkJTGlnaHRHcmV5CjIxMSAyMTEgMjExCQlsaWdodCBncmF5CjIxMSAyMTEgMjExCQlMaWdodEdyYXkKIDI1ICAyNSAxMTIJCW1pZG5pZ2h0IGJsdWUKIDI1ICAyNSAxMTIJCU1pZG5pZ2h0Qmx1ZQogIDAgICAwIDEyOAkJbmF2eQogIDAgICAwIDEyOAkJbmF2eSBibHVlCiAgMCAgIDAgMTI4CQlOYXZ5Qmx1ZQoxMDAgMTQ5IDIzNwkJY29ybmZsb3dlciBibHVlCjEwMCAxNDkgMjM3CQlDb3JuZmxvd2VyQmx1ZQogNzIgIDYxIDEzOQkJZGFyayBzbGF0ZSBibHVlCiA3MiAgNjEgMTM5CQlEYXJrU2xhdGVCbHVlCjEwNiAgOTAgMjA1CQlzbGF0ZSBibHVlCjEwNiAgOTAgMjA1CQlTbGF0ZUJsdWUKMTIzIDEwNCAyMzgJCW1lZGl1bSBzbGF0ZSBibHVlCjEyMyAxMDQgMjM4CQlNZWRpdW1TbGF0ZUJsdWUKMTMyIDExMiAyNTUJCWxpZ2h0IHNsYXRlIGJsdWUKMTMyIDExMiAyNTUJCUxpZ2h0U2xhdGVCbHVlCiAgMCAgIDAgMjA1CQltZWRpdW0gYmx1ZQogIDAgICAwIDIwNQkJTWVkaXVtQmx1ZQogNjUgMTA1IDIyNQkJcm95YWwgYmx1ZQogNjUgMTA1IDIyNQkJUm95YWxCbHVlCiAgMCAgIDAgMjU1CQlibHVlCiAzMCAxNDQgMjU1CQlkb2RnZXIgYmx1ZQogMzAgMTQ0IDI1NQkJRG9kZ2VyQmx1ZQogIDAgMTkxIDI1NQkJZGVlcCBza3kgYmx1ZQogIDAgMTkxIDI1NQkJRGVlcFNreUJsdWUKMTM1IDIwNiAyMzUJCXNreSBibHVlCjEzNSAyMDYgMjM1CQlTa3lCbHVlCjEzNSAyMDYgMjUwCQlsaWdodCBza3kgYmx1ZQoxMzUgMjA2IDI1MAkJTGlnaHRTa3lCbHVlCiA3MCAxMzAgMTgwCQlzdGVlbCBibHVlCiA3MCAxMzAgMTgwCQlTdGVlbEJsdWUKMTc2IDE5NiAyMjIJCWxpZ2h0IHN0ZWVsIGJsdWUKMTc2IDE5NiAyMjIJCUxpZ2h0U3RlZWxCbHVlCjE3MyAyMTYgMjMwCQlsaWdodCBibHVlCjE3MyAyMTYgMjMwCQlMaWdodEJsdWUKMTc2IDIyNCAyMzAJCXBvd2RlciBibHVlCjE3NiAyMjQgMjMwCQlQb3dkZXJCbHVlCjE3NSAyMzggMjM4CQlwYWxlIHR1cnF1b2lzZQoxNzUgMjM4IDIzOAkJUGFsZVR1cnF1b2lzZQogIDAgMjA2IDIwOQkJZGFyayB0dXJxdW9pc2UKICAwIDIwNiAyMDkJCURhcmtUdXJxdW9pc2UKIDcyIDIwOSAyMDQJCW1lZGl1bSB0dXJxdW9pc2UKIDcyIDIwOSAyMDQJCU1lZGl1bVR1cnF1b2lzZQogNjQgMjI0IDIwOAkJdHVycXVvaXNlCiAgMCAyNTUgMjU1CQljeWFuCiAgMCAyNTUgMjU1CQlhcXVhCjIyNCAyNTUgMjU1CQlsaWdodCBjeWFuCjIyNCAyNTUgMjU1CQlMaWdodEN5YW4KIDk1IDE1OCAxNjAJCWNhZGV0IGJsdWUKIDk1IDE1OCAxNjAJCUNhZGV0Qmx1ZQoxMDIgMjA1IDE3MAkJbWVkaXVtIGFxdWFtYXJpbmUKMTAyIDIwNSAxNzAJCU1lZGl1bUFxdWFtYXJpbmUKMTI3IDI1NSAyMTIJCWFxdWFtYXJpbmUKICAwIDEwMCAgIDAJCWRhcmsgZ3JlZW4KICAwIDEwMCAgIDAJCURhcmtHcmVlbgogODUgMTA3ICA0NwkJZGFyayBvbGl2ZSBncmVlbgogODUgMTA3ICA0NwkJRGFya09saXZlR3JlZW4KMTQzIDE4OCAxNDMJCWRhcmsgc2VhIGdyZWVuCjE0MyAxODggMTQzCQlEYXJrU2VhR3JlZW4KIDQ2IDEzOSAgODcJCXNlYSBncmVlbgogNDYgMTM5ICA4NwkJU2VhR3JlZW4KIDYwIDE3OSAxMTMJCW1lZGl1bSBzZWEgZ3JlZW4KIDYwIDE3OSAxMTMJCU1lZGl1bVNlYUdyZWVuCiAzMiAxNzggMTcwCQlsaWdodCBzZWEgZ3JlZW4KIDMyIDE3OCAxNzAJCUxpZ2h0U2VhR3JlZW4KMTUyIDI1MSAxNTIJCXBhbGUgZ3JlZW4KMTUyIDI1MSAxNTIJCVBhbGVHcmVlbgogIDAgMjU1IDEyNwkJc3ByaW5nIGdyZWVuCiAgMCAyNTUgMTI3CQlTcHJpbmdHcmVlbgoxMjQgMjUyICAgMAkJbGF3biBncmVlbgoxMjQgMjUyICAgMAkJTGF3bkdyZWVuCiAgMCAyNTUgICAwCQlncmVlbgogIDAgMjU1ICAgMAkJbGltZQogIDAgMjU1ICAgMAkJeDExIGdyZWVuCiAgMCAyNTUgICAwCQlYMTFHcmVlbgogIDAgMTI4ICAgMAkJd2ViIGdyZWVuCiAgMCAxMjggICAwCQlXZWJHcmVlbgoxMjcgMjU1ICAgMAkJY2hhcnRyZXVzZQogIDAgMjUwIDE1NAkJbWVkaXVtIHNwcmluZyBncmVlbgogIDAgMjUwIDE1NAkJTWVkaXVtU3ByaW5nR3JlZW4KMTczIDI1NSAgNDcJCWdyZWVuIHllbGxvdwoxNzMgMjU1ICA0NwkJR3JlZW5ZZWxsb3cKIDUwIDIwNSAgNTAJCWxpbWUgZ3JlZW4KIDUwIDIwNSAgNTAJCUxpbWVHcmVlbgoxNTQgMjA1ICA1MAkJeWVsbG93IGdyZWVuCjE1NCAyMDUgIDUwCQlZZWxsb3dHcmVlbgogMzQgMTM5ICAzNAkJZm9yZXN0IGdyZWVuCiAzNCAxMzkgIDM0CQlGb3Jlc3RHcmVlbgoxMDcgMTQyICAzNQkJb2xpdmUgZHJhYgoxMDcgMTQyICAzNQkJT2xpdmVEcmFiCjE4OSAxODMgMTA3CQlkYXJrIGtoYWtpCjE4OSAxODMgMTA3CQlEYXJrS2hha2kKMjQwIDIzMCAxNDAJCWtoYWtpCjIzOCAyMzIgMTcwCQlwYWxlIGdvbGRlbnJvZAoyMzggMjMyIDE3MAkJUGFsZUdvbGRlbnJvZAoyNTAgMjUwIDIxMAkJbGlnaHQgZ29sZGVucm9kIHllbGxvdwoyNTAgMjUwIDIxMAkJTGlnaHRHb2xkZW5yb2RZZWxsb3cKMjU1IDI1NSAyMjQJCWxpZ2h0IHllbGxvdwoyNTUgMjU1IDIyNAkJTGlnaHRZZWxsb3cKMjU1IDI1NSAgIDAJCXllbGxvdwoyNTUgMjE1ICAgMAkJZ29sZAoyMzggMjIxIDEzMAkJbGlnaHQgZ29sZGVucm9kCjIzOCAyMjEgMTMwCQlMaWdodEdvbGRlbnJvZAoyMTggMTY1ICAzMgkJZ29sZGVucm9kCjE4NCAxMzQgIDExCQlkYXJrIGdvbGRlbnJvZAoxODQgMTM0ICAxMQkJRGFya0dvbGRlbnJvZAoxODggMTQzIDE0MwkJcm9zeSBicm93bgoxODggMTQzIDE0MwkJUm9zeUJyb3duCjIwNSAgOTIgIDkyCQlpbmRpYW4gcmVkCjIwNSAgOTIgIDkyCQlJbmRpYW5SZWQKMTM5ICA2OSAgMTkJCXNhZGRsZSBicm93bgoxMzkgIDY5ICAxOQkJU2FkZGxlQnJvd24KMTYwICA4MiAgNDUJCXNpZW5uYQoyMDUgMTMzICA2MwkJcGVydQoyMjIgMTg0IDEzNQkJYnVybHl3b29kCjI0NSAyNDUgMjIwCQliZWlnZQoyNDUgMjIyIDE3OQkJd2hlYXQKMjQ0IDE2NCAgOTYJCXNhbmR5IGJyb3duCjI0NCAxNjQgIDk2CQlTYW5keUJyb3duCjIxMCAxODAgMTQwCQl0YW4KMjEwIDEwNSAgMzAJCWNob2NvbGF0ZQoxNzggIDM0ICAzNAkJZmlyZWJyaWNrCjE2NSAgNDIgIDQyCQlicm93bgoyMzMgMTUwIDEyMgkJZGFyayBzYWxtb24KMjMzIDE1MCAxMjIJCURhcmtTYWxtb24KMjUwIDEyOCAxMTQJCXNhbG1vbgoyNTUgMTYwIDEyMgkJbGlnaHQgc2FsbW9uCjI1NSAxNjAgMTIyCQlMaWdodFNhbG1vbgoyNTUgMTY1ICAgMAkJb3JhbmdlCjI1NSAxNDAgICAwCQlkYXJrIG9yYW5nZQoyNTUgMTQwICAgMAkJRGFya09yYW5nZQoyNTUgMTI3ICA4MAkJY29yYWwKMjQwIDEyOCAxMjgJCWxpZ2h0IGNvcmFsCjI0MCAxMjggMTI4CQlMaWdodENvcmFsCjI1NSAgOTkgIDcxCQl0b21hdG8KMjU1ICA2OSAgIDAJCW9yYW5nZSByZWQKMjU1ICA2OSAgIDAJCU9yYW5nZVJlZAoyNTUgICAwICAgMAkJcmVkCjI1NSAxMDUgMTgwCQlob3QgcGluawoyNTUgMTA1IDE4MAkJSG90UGluawoyNTUgIDIwIDE0NwkJZGVlcCBwaW5rCjI1NSAgMjAgMTQ3CQlEZWVwUGluawoyNTUgMTkyIDIwMwkJcGluawoyNTUgMTgyIDE5MwkJbGlnaHQgcGluawoyNTUgMTgyIDE5MwkJTGlnaHRQaW5rCjIxOSAxMTIgMTQ3CQlwYWxlIHZpb2xldCByZWQKMjE5IDExMiAxNDcJCVBhbGVWaW9sZXRSZWQKMTc2ICA0OCAgOTYJCW1hcm9vbgoxNzYgIDQ4ICA5NgkJeDExIG1hcm9vbgoxNzYgIDQ4ICA5NgkJWDExTWFyb29uCjEyOCAgIDAgICAwCQl3ZWIgbWFyb29uCjEyOCAgIDAgICAwCQlXZWJNYXJvb24KMTk5ICAyMSAxMzMJCW1lZGl1bSB2aW9sZXQgcmVkCjE5OSAgMjEgMTMzCQlNZWRpdW1WaW9sZXRSZWQKMjA4ICAzMiAxNDQJCXZpb2xldCByZWQKMjA4ICAzMiAxNDQJCVZpb2xldFJlZAoyNTUgICAwIDI1NQkJbWFnZW50YQoyNTUgICAwIDI1NQkJZnVjaHNpYQoyMzggMTMwIDIzOAkJdmlvbGV0CjIyMSAxNjAgMjIxCQlwbHVtCjIxOCAxMTIgMjE0CQlvcmNoaWQKMTg2ICA4NSAyMTEJCW1lZGl1bSBvcmNoaWQKMTg2ICA4NSAyMTEJCU1lZGl1bU9yY2hpZAoxNTMgIDUwIDIwNAkJZGFyayBvcmNoaWQKMTUzICA1MCAyMDQJCURhcmtPcmNoaWQKMTQ4ICAgMCAyMTEJCWRhcmsgdmlvbGV0CjE0OCAgIDAgMjExCQlEYXJrVmlvbGV0CjEzOCAgNDMgMjI2CQlibHVlIHZpb2xldAoxMzggIDQzIDIyNgkJQmx1ZVZpb2xldAoxNjAgIDMyIDI0MAkJcHVycGxlCjE2MCAgMzIgMjQwCQl4MTEgcHVycGxlCjE2MCAgMzIgMjQwCQlYMTFQdXJwbGUKMTI4ICAgMCAxMjgJCXdlYiBwdXJwbGUKMTI4ICAgMCAxMjgJCVdlYlB1cnBsZQoxNDcgMTEyIDIxOQkJbWVkaXVtIHB1cnBsZQoxNDcgMTEyIDIxOQkJTWVkaXVtUHVycGxlCjIxNiAxOTEgMjE2CQl0aGlzdGxlCjI1NSAyNTAgMjUwCQlzbm93MQoyMzggMjMzIDIzMwkJc25vdzIKMjA1IDIwMSAyMDEJCXNub3czCjEzOSAxMzcgMTM3CQlzbm93NAoyNTUgMjQ1IDIzOAkJc2Vhc2hlbGwxCjIzOCAyMjkgMjIyCQlzZWFzaGVsbDIKMjA1IDE5NyAxOTEJCXNlYXNoZWxsMwoxMzkgMTM0IDEzMAkJc2Vhc2hlbGw0CjI1NSAyMzkgMjE5CQlBbnRpcXVlV2hpdGUxCjIzOCAyMjMgMjA0CQlBbnRpcXVlV2hpdGUyCjIwNSAxOTIgMTc2CQlBbnRpcXVlV2hpdGUzCjEzOSAxMzEgMTIwCQlBbnRpcXVlV2hpdGU0CjI1NSAyMjggMTk2CQliaXNxdWUxCjIzOCAyMTMgMTgzCQliaXNxdWUyCjIwNSAxODMgMTU4CQliaXNxdWUzCjEzOSAxMjUgMTA3CQliaXNxdWU0CjI1NSAyMTggMTg1CQlQZWFjaFB1ZmYxCjIzOCAyMDMgMTczCQlQZWFjaFB1ZmYyCjIwNSAxNzUgMTQ5CQlQZWFjaFB1ZmYzCjEzOSAxMTkgMTAxCQlQZWFjaFB1ZmY0CjI1NSAyMjIgMTczCQlOYXZham9XaGl0ZTEKMjM4IDIwNyAxNjEJCU5hdmFqb1doaXRlMgoyMDUgMTc5IDEzOQkJTmF2YWpvV2hpdGUzCjEzOSAxMjEgIDk0CQlOYXZham9XaGl0ZTQKMjU1IDI1MCAyMDUJCUxlbW9uQ2hpZmZvbjEKMjM4IDIzMyAxOTEJCUxlbW9uQ2hpZmZvbjIKMjA1IDIwMSAxNjUJCUxlbW9uQ2hpZmZvbjMKMTM5IDEzNyAxMTIJCUxlbW9uQ2hpZmZvbjQKMjU1IDI0OCAyMjAJCWNvcm5zaWxrMQoyMzggMjMyIDIwNQkJY29ybnNpbGsyCjIwNSAyMDAgMTc3CQljb3Juc2lsazMKMTM5IDEzNiAxMjAJCWNvcm5zaWxrNAoyNTUgMjU1IDI0MAkJaXZvcnkxCjIzOCAyMzggMjI0CQlpdm9yeTIKMjA1IDIwNSAxOTMJCWl2b3J5MwoxMzkgMTM5IDEzMQkJaXZvcnk0CjI0MCAyNTUgMjQwCQlob25leWRldzEKMjI0IDIzOCAyMjQJCWhvbmV5ZGV3MgoxOTMgMjA1IDE5MwkJaG9uZXlkZXczCjEzMSAxMzkgMTMxCQlob25leWRldzQKMjU1IDI0MCAyNDUJCUxhdmVuZGVyQmx1c2gxCjIzOCAyMjQgMjI5CQlMYXZlbmRlckJsdXNoMgoyMDUgMTkzIDE5NwkJTGF2ZW5kZXJCbHVzaDMKMTM5IDEzMSAxMzQJCUxhdmVuZGVyQmx1c2g0CjI1NSAyMjggMjI1CQlNaXN0eVJvc2UxCjIzOCAyMTMgMjEwCQlNaXN0eVJvc2UyCjIwNSAxODMgMTgxCQlNaXN0eVJvc2UzCjEzOSAxMjUgMTIzCQlNaXN0eVJvc2U0CjI0MCAyNTUgMjU1CQlhenVyZTEKMjI0IDIzOCAyMzgJCWF6dXJlMgoxOTMgMjA1IDIwNQkJYXp1cmUzCjEzMSAxMzkgMTM5CQlhenVyZTQKMTMxIDExMSAyNTUJCVNsYXRlQmx1ZTEKMTIyIDEwMyAyMzgJCVNsYXRlQmx1ZTIKMTA1ICA4OSAyMDUJCVNsYXRlQmx1ZTMKIDcxICA2MCAxMzkJCVNsYXRlQmx1ZTQKIDcyIDExOCAyNTUJCVJveWFsQmx1ZTEKIDY3IDExMCAyMzgJCVJveWFsQmx1ZTIKIDU4ICA5NSAyMDUJCVJveWFsQmx1ZTMKIDM5ICA2NCAxMzkJCVJveWFsQmx1ZTQKICAwICAgMCAyNTUJCWJsdWUxCiAgMCAgIDAgMjM4CQlibHVlMgogIDAgICAwIDIwNQkJYmx1ZTMKICAwICAgMCAxMzkJCWJsdWU0CiAzMCAxNDQgMjU1CQlEb2RnZXJCbHVlMQogMjggMTM0IDIzOAkJRG9kZ2VyQmx1ZTIKIDI0IDExNiAyMDUJCURvZGdlckJsdWUzCiAxNiAgNzggMTM5CQlEb2RnZXJCbHVlNAogOTkgMTg0IDI1NQkJU3RlZWxCbHVlMQogOTIgMTcyIDIzOAkJU3RlZWxCbHVlMgogNzkgMTQ4IDIwNQkJU3RlZWxCbHVlMwogNTQgMTAwIDEzOQkJU3RlZWxCbHVlNAogIDAgMTkxIDI1NQkJRGVlcFNreUJsdWUxCiAgMCAxNzggMjM4CQlEZWVwU2t5Qmx1ZTIKICAwIDE1NCAyMDUJCURlZXBTa3lCbHVlMwogIDAgMTA0IDEzOQkJRGVlcFNreUJsdWU0CjEzNSAyMDYgMjU1CQlTa3lCbHVlMQoxMjYgMTkyIDIzOAkJU2t5Qmx1ZTIKMTA4IDE2NiAyMDUJCVNreUJsdWUzCiA3NCAxMTIgMTM5CQlTa3lCbHVlNAoxNzYgMjI2IDI1NQkJTGlnaHRTa3lCbHVlMQoxNjQgMjExIDIzOAkJTGlnaHRTa3lCbHVlMgoxNDEgMTgyIDIwNQkJTGlnaHRTa3lCbHVlMwogOTYgMTIzIDEzOQkJTGlnaHRTa3lCbHVlNAoxOTggMjI2IDI1NQkJU2xhdGVHcmF5MQoxODUgMjExIDIzOAkJU2xhdGVHcmF5MgoxNTkgMTgyIDIwNQkJU2xhdGVHcmF5MwoxMDggMTIzIDEzOQkJU2xhdGVHcmF5NAoyMDIgMjI1IDI1NQkJTGlnaHRTdGVlbEJsdWUxCjE4OCAyMTAgMjM4CQlMaWdodFN0ZWVsQmx1ZTIKMTYyIDE4MSAyMDUJCUxpZ2h0U3RlZWxCbHVlMwoxMTAgMTIzIDEzOQkJTGlnaHRTdGVlbEJsdWU0CjE5MSAyMzkgMjU1CQlMaWdodEJsdWUxCjE3OCAyMjMgMjM4CQlMaWdodEJsdWUyCjE1NCAxOTIgMjA1CQlMaWdodEJsdWUzCjEwNCAxMzEgMTM5CQlMaWdodEJsdWU0CjIyNCAyNTUgMjU1CQlMaWdodEN5YW4xCjIwOSAyMzggMjM4CQlMaWdodEN5YW4yCjE4MCAyMDUgMjA1CQlMaWdodEN5YW4zCjEyMiAxMzkgMTM5CQlMaWdodEN5YW40CjE4NyAyNTUgMjU1CQlQYWxlVHVycXVvaXNlMQoxNzQgMjM4IDIzOAkJUGFsZVR1cnF1b2lzZTIKMTUwIDIwNSAyMDUJCVBhbGVUdXJxdW9pc2UzCjEwMiAxMzkgMTM5CQlQYWxlVHVycXVvaXNlNAoxNTIgMjQ1IDI1NQkJQ2FkZXRCbHVlMQoxNDIgMjI5IDIzOAkJQ2FkZXRCbHVlMgoxMjIgMTk3IDIwNQkJQ2FkZXRCbHVlMwogODMgMTM0IDEzOQkJQ2FkZXRCbHVlNAogIDAgMjQ1IDI1NQkJdHVycXVvaXNlMQogIDAgMjI5IDIzOAkJdHVycXVvaXNlMgogIDAgMTk3IDIwNQkJdHVycXVvaXNlMwogIDAgMTM0IDEzOQkJdHVycXVvaXNlNAogIDAgMjU1IDI1NQkJY3lhbjEKICAwIDIzOCAyMzgJCWN5YW4yCiAgMCAyMDUgMjA1CQljeWFuMwogIDAgMTM5IDEzOQkJY3lhbjQKMTUxIDI1NSAyNTUJCURhcmtTbGF0ZUdyYXkxCjE0MSAyMzggMjM4CQlEYXJrU2xhdGVHcmF5MgoxMjEgMjA1IDIwNQkJRGFya1NsYXRlR3JheTMKIDgyIDEzOSAxMzkJCURhcmtTbGF0ZUdyYXk0CjEyNyAyNTUgMjEyCQlhcXVhbWFyaW5lMQoxMTggMjM4IDE5OAkJYXF1YW1hcmluZTIKMTAyIDIwNSAxNzAJCWFxdWFtYXJpbmUzCiA2OSAxMzkgMTE2CQlhcXVhbWFyaW5lNAoxOTMgMjU1IDE5MwkJRGFya1NlYUdyZWVuMQoxODAgMjM4IDE4MAkJRGFya1NlYUdyZWVuMgoxNTUgMjA1IDE1NQkJRGFya1NlYUdyZWVuMwoxMDUgMTM5IDEwNQkJRGFya1NlYUdyZWVuNAogODQgMjU1IDE1OQkJU2VhR3JlZW4xCiA3OCAyMzggMTQ4CQlTZWFHcmVlbjIKIDY3IDIwNSAxMjgJCVNlYUdyZWVuMwogNDYgMTM5ICA4NwkJU2VhR3JlZW40CjE1NCAyNTUgMTU0CQlQYWxlR3JlZW4xCjE0NCAyMzggMTQ0CQlQYWxlR3JlZW4yCjEyNCAyMDUgMTI0CQlQYWxlR3JlZW4zCiA4NCAxMzkgIDg0CQlQYWxlR3JlZW40CiAgMCAyNTUgMTI3CQlTcHJpbmdHcmVlbjEKICAwIDIzOCAxMTgJCVNwcmluZ0dyZWVuMgogIDAgMjA1IDEwMgkJU3ByaW5nR3JlZW4zCiAgMCAxMzkgIDY5CQlTcHJpbmdHcmVlbjQKICAwIDI1NSAgIDAJCWdyZWVuMQogIDAgMjM4ICAgMAkJZ3JlZW4yCiAgMCAyMDUgICAwCQlncmVlbjMKICAwIDEzOSAgIDAJCWdyZWVuNAoxMjcgMjU1ICAgMAkJY2hhcnRyZXVzZTEKMTE4IDIzOCAgIDAJCWNoYXJ0cmV1c2UyCjEwMiAyMDUgICAwCQljaGFydHJldXNlMwogNjkgMTM5ICAgMAkJY2hhcnRyZXVzZTQKMTkyIDI1NSAgNjIJCU9saXZlRHJhYjEKMTc5IDIzOCAgNTgJCU9saXZlRHJhYjIKMTU0IDIwNSAgNTAJCU9saXZlRHJhYjMKMTA1IDEzOSAgMzQJCU9saXZlRHJhYjQKMjAyIDI1NSAxMTIJCURhcmtPbGl2ZUdyZWVuMQoxODggMjM4IDEwNAkJRGFya09saXZlR3JlZW4yCjE2MiAyMDUgIDkwCQlEYXJrT2xpdmVHcmVlbjMKMTEwIDEzOSAgNjEJCURhcmtPbGl2ZUdyZWVuNAoyNTUgMjQ2IDE0MwkJa2hha2kxCjIzOCAyMzAgMTMzCQlraGFraTIKMjA1IDE5OCAxMTUJCWtoYWtpMwoxMzkgMTM0ICA3OAkJa2hha2k0CjI1NSAyMzYgMTM5CQlMaWdodEdvbGRlbnJvZDEKMjM4IDIyMCAxMzAJCUxpZ2h0R29sZGVucm9kMgoyMDUgMTkwIDExMgkJTGlnaHRHb2xkZW5yb2QzCjEzOSAxMjkgIDc2CQlMaWdodEdvbGRlbnJvZDQKMjU1IDI1NSAyMjQJCUxpZ2h0WWVsbG93MQoyMzggMjM4IDIwOQkJTGlnaHRZZWxsb3cyCjIwNSAyMDUgMTgwCQlMaWdodFllbGxvdzMKMTM5IDEzOSAxMjIJCUxpZ2h0WWVsbG93NAoyNTUgMjU1ICAgMAkJeWVsbG93MQoyMzggMjM4ICAgMAkJeWVsbG93MgoyMDUgMjA1ICAgMAkJeWVsbG93MwoxMzkgMTM5ICAgMAkJeWVsbG93NAoyNTUgMjE1ICAgMAkJZ29sZDEKMjM4IDIwMSAgIDAJCWdvbGQyCjIwNSAxNzMgICAwCQlnb2xkMwoxMzkgMTE3ICAgMAkJZ29sZDQKMjU1IDE5MyAgMzcJCWdvbGRlbnJvZDEKMjM4IDE4MCAgMzQJCWdvbGRlbnJvZDIKMjA1IDE1NSAgMjkJCWdvbGRlbnJvZDMKMTM5IDEwNSAgMjAJCWdvbGRlbnJvZDQKMjU1IDE4NSAgMTUJCURhcmtHb2xkZW5yb2QxCjIzOCAxNzMgIDE0CQlEYXJrR29sZGVucm9kMgoyMDUgMTQ5ICAxMgkJRGFya0dvbGRlbnJvZDMKMTM5IDEwMSAgIDgJCURhcmtHb2xkZW5yb2Q0CjI1NSAxOTMgMTkzCQlSb3N5QnJvd24xCjIzOCAxODAgMTgwCQlSb3N5QnJvd24yCjIwNSAxNTUgMTU1CQlSb3N5QnJvd24zCjEzOSAxMDUgMTA1CQlSb3N5QnJvd240CjI1NSAxMDYgMTA2CQlJbmRpYW5SZWQxCjIzOCAgOTkgIDk5CQlJbmRpYW5SZWQyCjIwNSAgODUgIDg1CQlJbmRpYW5SZWQzCjEzOSAgNTggIDU4CQlJbmRpYW5SZWQ0CjI1NSAxMzAgIDcxCQlzaWVubmExCjIzOCAxMjEgIDY2CQlzaWVubmEyCjIwNSAxMDQgIDU3CQlzaWVubmEzCjEzOSAgNzEgIDM4CQlzaWVubmE0CjI1NSAyMTEgMTU1CQlidXJseXdvb2QxCjIzOCAxOTcgMTQ1CQlidXJseXdvb2QyCjIwNSAxNzAgMTI1CQlidXJseXdvb2QzCjEzOSAxMTUgIDg1CQlidXJseXdvb2Q0CjI1NSAyMzEgMTg2CQl3aGVhdDEKMjM4IDIxNiAxNzQJCXdoZWF0MgoyMDUgMTg2IDE1MAkJd2hlYXQzCjEzOSAxMjYgMTAyCQl3aGVhdDQKMjU1IDE2NSAgNzkJCXRhbjEKMjM4IDE1NCAgNzMJCXRhbjIKMjA1IDEzMyAgNjMJCXRhbjMKMTM5ICA5MCAgNDMJCXRhbjQKMjU1IDEyNyAgMzYJCWNob2NvbGF0ZTEKMjM4IDExOCAgMzMJCWNob2NvbGF0ZTIKMjA1IDEwMiAgMjkJCWNob2NvbGF0ZTMKMTM5ICA2OSAgMTkJCWNob2NvbGF0ZTQKMjU1ICA0OCAgNDgJCWZpcmVicmljazEKMjM4ICA0NCAgNDQJCWZpcmVicmljazIKMjA1ICAzOCAgMzgJCWZpcmVicmljazMKMTM5ICAyNiAgMjYJCWZpcmVicmljazQKMjU1ICA2NCAgNjQJCWJyb3duMQoyMzggIDU5ICA1OQkJYnJvd24yCjIwNSAgNTEgIDUxCQlicm93bjMKMTM5ICAzNSAgMzUJCWJyb3duNAoyNTUgMTQwIDEwNQkJc2FsbW9uMQoyMzggMTMwICA5OAkJc2FsbW9uMgoyMDUgMTEyICA4NAkJc2FsbW9uMwoxMzkgIDc2ICA1NwkJc2FsbW9uNAoyNTUgMTYwIDEyMgkJTGlnaHRTYWxtb24xCjIzOCAxNDkgMTE0CQlMaWdodFNhbG1vbjIKMjA1IDEyOSAgOTgJCUxpZ2h0U2FsbW9uMwoxMzkgIDg3ICA2NgkJTGlnaHRTYWxtb240CjI1NSAxNjUgICAwCQlvcmFuZ2UxCjIzOCAxNTQgICAwCQlvcmFuZ2UyCjIwNSAxMzMgICAwCQlvcmFuZ2UzCjEzOSAgOTAgICAwCQlvcmFuZ2U0CjI1NSAxMjcgICAwCQlEYXJrT3JhbmdlMQoyMzggMTE4ICAgMAkJRGFya09yYW5nZTIKMjA1IDEwMiAgIDAJCURhcmtPcmFuZ2UzCjEzOSAgNjkgICAwCQlEYXJrT3JhbmdlNAoyNTUgMTE0ICA4NgkJY29yYWwxCjIzOCAxMDYgIDgwCQljb3JhbDIKMjA1ICA5MSAgNjkJCWNvcmFsMwoxMzkgIDYyICA0NwkJY29yYWw0CjI1NSAgOTkgIDcxCQl0b21hdG8xCjIzOCAgOTIgIDY2CQl0b21hdG8yCjIwNSAgNzkgIDU3CQl0b21hdG8zCjEzOSAgNTQgIDM4CQl0b21hdG80CjI1NSAgNjkgICAwCQlPcmFuZ2VSZWQxCjIzOCAgNjQgICAwCQlPcmFuZ2VSZWQyCjIwNSAgNTUgICAwCQlPcmFuZ2VSZWQzCjEzOSAgMzcgICAwCQlPcmFuZ2VSZWQ0CjI1NSAgIDAgICAwCQlyZWQxCjIzOCAgIDAgICAwCQlyZWQyCjIwNSAgIDAgICAwCQlyZWQzCjEzOSAgIDAgICAwCQlyZWQ0CjI1NSAgMjAgMTQ3CQlEZWVwUGluazEKMjM4ICAxOCAxMzcJCURlZXBQaW5rMgoyMDUgIDE2IDExOAkJRGVlcFBpbmszCjEzOSAgMTAgIDgwCQlEZWVwUGluazQKMjU1IDExMCAxODAJCUhvdFBpbmsxCjIzOCAxMDYgMTY3CQlIb3RQaW5rMgoyMDUgIDk2IDE0NAkJSG90UGluazMKMTM5ICA1OCAgOTgJCUhvdFBpbms0CjI1NSAxODEgMTk3CQlwaW5rMQoyMzggMTY5IDE4NAkJcGluazIKMjA1IDE0NSAxNTgJCXBpbmszCjEzOSAgOTkgMTA4CQlwaW5rNAoyNTUgMTc0IDE4NQkJTGlnaHRQaW5rMQoyMzggMTYyIDE3MwkJTGlnaHRQaW5rMgoyMDUgMTQwIDE0OQkJTGlnaHRQaW5rMwoxMzkgIDk1IDEwMQkJTGlnaHRQaW5rNAoyNTUgMTMwIDE3MQkJUGFsZVZpb2xldFJlZDEKMjM4IDEyMSAxNTkJCVBhbGVWaW9sZXRSZWQyCjIwNSAxMDQgMTM3CQlQYWxlVmlvbGV0UmVkMwoxMzkgIDcxICA5MwkJUGFsZVZpb2xldFJlZDQKMjU1ICA1MiAxNzkJCW1hcm9vbjEKMjM4ICA0OCAxNjcJCW1hcm9vbjIKMjA1ICA0MSAxNDQJCW1hcm9vbjMKMTM5ICAyOCAgOTgJCW1hcm9vbjQKMjU1ICA2MiAxNTAJCVZpb2xldFJlZDEKMjM4ICA1OCAxNDAJCVZpb2xldFJlZDIKMjA1ICA1MCAxMjAJCVZpb2xldFJlZDMKMTM5ICAzNCAgODIJCVZpb2xldFJlZDQKMjU1ICAgMCAyNTUJCW1hZ2VudGExCjIzOCAgIDAgMjM4CQltYWdlbnRhMgoyMDUgICAwIDIwNQkJbWFnZW50YTMKMTM5ICAgMCAxMzkJCW1hZ2VudGE0CjI1NSAxMzEgMjUwCQlvcmNoaWQxCjIzOCAxMjIgMjMzCQlvcmNoaWQyCjIwNSAxMDUgMjAxCQlvcmNoaWQzCjEzOSAgNzEgMTM3CQlvcmNoaWQ0CjI1NSAxODcgMjU1CQlwbHVtMQoyMzggMTc0IDIzOAkJcGx1bTIKMjA1IDE1MCAyMDUJCXBsdW0zCjEzOSAxMDIgMTM5CQlwbHVtNAoyMjQgMTAyIDI1NQkJTWVkaXVtT3JjaGlkMQoyMDkgIDk1IDIzOAkJTWVkaXVtT3JjaGlkMgoxODAgIDgyIDIwNQkJTWVkaXVtT3JjaGlkMwoxMjIgIDU1IDEzOQkJTWVkaXVtT3JjaGlkNAoxOTEgIDYyIDI1NQkJRGFya09yY2hpZDEKMTc4ICA1OCAyMzgJCURhcmtPcmNoaWQyCjE1NCAgNTAgMjA1CQlEYXJrT3JjaGlkMwoxMDQgIDM0IDEzOQkJRGFya09yY2hpZDQKMTU1ICA0OCAyNTUJCXB1cnBsZTEKMTQ1ICA0NCAyMzgJCXB1cnBsZTIKMTI1ICAzOCAyMDUJCXB1cnBsZTMKIDg1ICAyNiAxMzkJCXB1cnBsZTQKMTcxIDEzMCAyNTUJCU1lZGl1bVB1cnBsZTEKMTU5IDEyMSAyMzgJCU1lZGl1bVB1cnBsZTIKMTM3IDEwNCAyMDUJCU1lZGl1bVB1cnBsZTMKIDkzICA3MSAxMzkJCU1lZGl1bVB1cnBsZTQKMjU1IDIyNSAyNTUJCXRoaXN0bGUxCjIzOCAyMTAgMjM4CQl0aGlzdGxlMgoyMDUgMTgxIDIwNQkJdGhpc3RsZTMKMTM5IDEyMyAxMzkJCXRoaXN0bGU0CiAgMCAgIDAgICAwCQlncmF5MAogIDAgICAwICAgMAkJZ3JleTAKICAzICAgMyAgIDMJCWdyYXkxCiAgMyAgIDMgICAzCQlncmV5MQogIDUgICA1ICAgNQkJZ3JheTIKICA1ICAgNSAgIDUJCWdyZXkyCiAgOCAgIDggICA4CQlncmF5MwogIDggICA4ICAgOAkJZ3JleTMKIDEwICAxMCAgMTAJCWdyYXk0CiAxMCAgMTAgIDEwCQlncmV5NAogMTMgIDEzICAxMwkJZ3JheTUKIDEzICAxMyAgMTMJCWdyZXk1CiAxNSAgMTUgIDE1CQlncmF5NgogMTUgIDE1ICAxNQkJZ3JleTYKIDE4ICAxOCAgMTgJCWdyYXk3CiAxOCAgMTggIDE4CQlncmV5NwogMjAgIDIwICAyMAkJZ3JheTgKIDIwICAyMCAgMjAJCWdyZXk4CiAyMyAgMjMgIDIzCQlncmF5OQogMjMgIDIzICAyMwkJZ3JleTkKIDI2ICAyNiAgMjYJCWdyYXkxMAogMjYgIDI2ICAyNgkJZ3JleTEwCiAyOCAgMjggIDI4CQlncmF5MTEKIDI4ICAyOCAgMjgJCWdyZXkxMQogMzEgIDMxICAzMQkJZ3JheTEyCiAzMSAgMzEgIDMxCQlncmV5MTIKIDMzICAzMyAgMzMJCWdyYXkxMwogMzMgIDMzICAzMwkJZ3JleTEzCiAzNiAgMzYgIDM2CQlncmF5MTQKIDM2ICAzNiAgMzYJCWdyZXkxNAogMzggIDM4ICAzOAkJZ3JheTE1CiAzOCAgMzggIDM4CQlncmV5MTUKIDQxICA0MSAgNDEJCWdyYXkxNgogNDEgIDQxICA0MQkJZ3JleTE2CiA0MyAgNDMgIDQzCQlncmF5MTcKIDQzICA0MyAgNDMJCWdyZXkxNwogNDYgIDQ2ICA0NgkJZ3JheTE4CiA0NiAgNDYgIDQ2CQlncmV5MTgKIDQ4ICA0OCAgNDgJCWdyYXkxOQogNDggIDQ4ICA0OAkJZ3JleTE5CiA1MSAgNTEgIDUxCQlncmF5MjAKIDUxICA1MSAgNTEJCWdyZXkyMAogNTQgIDU0ICA1NAkJZ3JheTIxCiA1NCAgNTQgIDU0CQlncmV5MjEKIDU2ICA1NiAgNTYJCWdyYXkyMgogNTYgIDU2ICA1NgkJZ3JleTIyCiA1OSAgNTkgIDU5CQlncmF5MjMKIDU5ICA1OSAgNTkJCWdyZXkyMwogNjEgIDYxICA2MQkJZ3JheTI0CiA2MSAgNjEgIDYxCQlncmV5MjQKIDY0ICA2NCAgNjQJCWdyYXkyNQogNjQgIDY0ICA2NAkJZ3JleTI1CiA2NiAgNjYgIDY2CQlncmF5MjYKIDY2ICA2NiAgNjYJCWdyZXkyNgogNjkgIDY5ICA2OQkJZ3JheTI3CiA2OSAgNjkgIDY5CQlncmV5MjcKIDcxICA3MSAgNzEJCWdyYXkyOAogNzEgIDcxICA3MQkJZ3JleTI4CiA3NCAgNzQgIDc0CQlncmF5MjkKIDc0ICA3NCAgNzQJCWdyZXkyOQogNzcgIDc3ICA3NwkJZ3JheTMwCiA3NyAgNzcgIDc3CQlncmV5MzAKIDc5ICA3OSAgNzkJCWdyYXkzMQogNzkgIDc5ICA3OQkJZ3JleTMxCiA4MiAgODIgIDgyCQlncmF5MzIKIDgyICA4MiAgODIJCWdyZXkzMgogODQgIDg0ICA4NAkJZ3JheTMzCiA4NCAgODQgIDg0CQlncmV5MzMKIDg3ICA4NyAgODcJCWdyYXkzNAogODcgIDg3ICA4NwkJZ3JleTM0CiA4OSAgODkgIDg5CQlncmF5MzUKIDg5ICA4OSAgODkJCWdyZXkzNQogOTIgIDkyICA5MgkJZ3JheTM2CiA5MiAgOTIgIDkyCQlncmV5MzYKIDk0ICA5NCAgOTQJCWdyYXkzNwogOTQgIDk0ICA5NAkJZ3JleTM3CiA5NyAgOTcgIDk3CQlncmF5MzgKIDk3ICA5NyAgOTcJCWdyZXkzOAogOTkgIDk5ICA5OQkJZ3JheTM5CiA5OSAgOTkgIDk5CQlncmV5MzkKMTAyIDEwMiAxMDIJCWdyYXk0MAoxMDIgMTAyIDEwMgkJZ3JleTQwCjEwNSAxMDUgMTA1CQlncmF5NDEKMTA1IDEwNSAxMDUJCWdyZXk0MQoxMDcgMTA3IDEwNwkJZ3JheTQyCjEwNyAxMDcgMTA3CQlncmV5NDIKMTEwIDExMCAxMTAJCWdyYXk0MwoxMTAgMTEwIDExMAkJZ3JleTQzCjExMiAxMTIgMTEyCQlncmF5NDQKMTEyIDExMiAxMTIJCWdyZXk0NAoxMTUgMTE1IDExNQkJZ3JheTQ1CjExNSAxMTUgMTE1CQlncmV5NDUKMTE3IDExNyAxMTcJCWdyYXk0NgoxMTcgMTE3IDExNwkJZ3JleTQ2CjEyMCAxMjAgMTIwCQlncmF5NDcKMTIwIDEyMCAxMjAJCWdyZXk0NwoxMjIgMTIyIDEyMgkJZ3JheTQ4CjEyMiAxMjIgMTIyCQlncmV5NDgKMTI1IDEyNSAxMjUJCWdyYXk0OQoxMjUgMTI1IDEyNQkJZ3JleTQ5CjEyNyAxMjcgMTI3CQlncmF5NTAKMTI3IDEyNyAxMjcJCWdyZXk1MAoxMzAgMTMwIDEzMAkJZ3JheTUxCjEzMCAxMzAgMTMwCQlncmV5NTEKMTMzIDEzMyAxMzMJCWdyYXk1MgoxMzMgMTMzIDEzMwkJZ3JleTUyCjEzNSAxMzUgMTM1CQlncmF5NTMKMTM1IDEzNSAxMzUJCWdyZXk1MwoxMzggMTM4IDEzOAkJZ3JheTU0CjEzOCAxMzggMTM4CQlncmV5NTQKMTQwIDE0MCAxNDAJCWdyYXk1NQoxNDAgMTQwIDE0MAkJZ3JleTU1CjE0MyAxNDMgMTQzCQlncmF5NTYKMTQzIDE0MyAxNDMJCWdyZXk1NgoxNDUgMTQ1IDE0NQkJZ3JheTU3CjE0NSAxNDUgMTQ1CQlncmV5NTcKMTQ4IDE0OCAxNDgJCWdyYXk1OAoxNDggMTQ4IDE0OAkJZ3JleTU4CjE1MCAxNTAgMTUwCQlncmF5NTkKMTUwIDE1MCAxNTAJCWdyZXk1OQoxNTMgMTUzIDE1MwkJZ3JheTYwCjE1MyAxNTMgMTUzCQlncmV5NjAKMTU2IDE1NiAxNTYJCWdyYXk2MQoxNTYgMTU2IDE1NgkJZ3JleTYxCjE1OCAxNTggMTU4CQlncmF5NjIKMTU4IDE1OCAxNTgJCWdyZXk2MgoxNjEgMTYxIDE2MQkJZ3JheTYzCjE2MSAxNjEgMTYxCQlncmV5NjMKMTYzIDE2MyAxNjMJCWdyYXk2NAoxNjMgMTYzIDE2MwkJZ3JleTY0CjE2NiAxNjYgMTY2CQlncmF5NjUKMTY2IDE2NiAxNjYJCWdyZXk2NQoxNjggMTY4IDE2OAkJZ3JheTY2CjE2OCAxNjggMTY4CQlncmV5NjYKMTcxIDE3MSAxNzEJCWdyYXk2NwoxNzEgMTcxIDE3MQkJZ3JleTY3CjE3MyAxNzMgMTczCQlncmF5NjgKMTczIDE3MyAxNzMJCWdyZXk2OAoxNzYgMTc2IDE3NgkJZ3JheTY5CjE3NiAxNzYgMTc2CQlncmV5NjkKMTc5IDE3OSAxNzkJCWdyYXk3MAoxNzkgMTc5IDE3OQkJZ3JleTcwCjE4MSAxODEgMTgxCQlncmF5NzEKMTgxIDE4MSAxODEJCWdyZXk3MQoxODQgMTg0IDE4NAkJZ3JheTcyCjE4NCAxODQgMTg0CQlncmV5NzIKMTg2IDE4NiAxODYJCWdyYXk3MwoxODYgMTg2IDE4NgkJZ3JleTczCjE4OSAxODkgMTg5CQlncmF5NzQKMTg5IDE4OSAxODkJCWdyZXk3NAoxOTEgMTkxIDE5MQkJZ3JheTc1CjE5MSAxOTEgMTkxCQlncmV5NzUKMTk0IDE5NCAxOTQJCWdyYXk3NgoxOTQgMTk0IDE5NAkJZ3JleTc2CjE5NiAxOTYgMTk2CQlncmF5NzcKMTk2IDE5NiAxOTYJCWdyZXk3NwoxOTkgMTk5IDE5OQkJZ3JheTc4CjE5OSAxOTkgMTk5CQlncmV5NzgKMjAxIDIwMSAyMDEJCWdyYXk3OQoyMDEgMjAxIDIwMQkJZ3JleTc5CjIwNCAyMDQgMjA0CQlncmF5ODAKMjA0IDIwNCAyMDQJCWdyZXk4MAoyMDcgMjA3IDIwNwkJZ3JheTgxCjIwNyAyMDcgMjA3CQlncmV5ODEKMjA5IDIwOSAyMDkJCWdyYXk4MgoyMDkgMjA5IDIwOQkJZ3JleTgyCjIxMiAyMTIgMjEyCQlncmF5ODMKMjEyIDIxMiAyMTIJCWdyZXk4MwoyMTQgMjE0IDIxNAkJZ3JheTg0CjIxNCAyMTQgMjE0CQlncmV5ODQKMjE3IDIxNyAyMTcJCWdyYXk4NQoyMTcgMjE3IDIxNwkJZ3JleTg1CjIxOSAyMTkgMjE5CQlncmF5ODYKMjE5IDIxOSAyMTkJCWdyZXk4NgoyMjIgMjIyIDIyMgkJZ3JheTg3CjIyMiAyMjIgMjIyCQlncmV5ODcKMjI0IDIyNCAyMjQJCWdyYXk4OAoyMjQgMjI0IDIyNAkJZ3JleTg4CjIyNyAyMjcgMjI3CQlncmF5ODkKMjI3IDIyNyAyMjcJCWdyZXk4OQoyMjkgMjI5IDIyOQkJZ3JheTkwCjIyOSAyMjkgMjI5CQlncmV5OTAKMjMyIDIzMiAyMzIJCWdyYXk5MQoyMzIgMjMyIDIzMgkJZ3JleTkxCjIzNSAyMzUgMjM1CQlncmF5OTIKMjM1IDIzNSAyMzUJCWdyZXk5MgoyMzcgMjM3IDIzNwkJZ3JheTkzCjIzNyAyMzcgMjM3CQlncmV5OTMKMjQwIDI0MCAyNDAJCWdyYXk5NAoyNDAgMjQwIDI0MAkJZ3JleTk0CjI0MiAyNDIgMjQyCQlncmF5OTUKMjQyIDI0MiAyNDIJCWdyZXk5NQoyNDUgMjQ1IDI0NQkJZ3JheTk2CjI0NSAyNDUgMjQ1CQlncmV5OTYKMjQ3IDI0NyAyNDcJCWdyYXk5NwoyNDcgMjQ3IDI0NwkJZ3JleTk3CjI1MCAyNTAgMjUwCQlncmF5OTgKMjUwIDI1MCAyNTAJCWdyZXk5OAoyNTIgMjUyIDI1MgkJZ3JheTk5CjI1MiAyNTIgMjUyCQlncmV5OTkKMjU1IDI1NSAyNTUJCWdyYXkxMDAKMjU1IDI1NSAyNTUJCWdyZXkxMDAKMTY5IDE2OSAxNjkJCWRhcmsgZ3JleQoxNjkgMTY5IDE2OQkJRGFya0dyZXkKMTY5IDE2OSAxNjkJCWRhcmsgZ3JheQoxNjkgMTY5IDE2OQkJRGFya0dy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AAD/rwAA/9cAAP//AF8AAABfAF8AXwCHAF8ArwBfANcAXwD/AF9fAABfX18AX1+HAF9frwBfX9cAX1//AF+HAABfh18AX4eHAF+HrwBfh9cAX4f/AF+vAABfr18AX6+HAF+vrwBfr9cAX6//AF/XAABf118AX9eHAF/XrwBf19cAX9f/AF//AABf/18AX/+HAF//rwBf/9cAX///AIcAAACHAF8AhwCHAIcArwCHANcAhwD/AIdfAACHX18Ah1+HAIdfrwCHX9cAh1//AIeHAACHh18Ah4eHAIeHrwCHh9cAh4f/AIevAACHr18Ah6+HAIevrwCHr9cAh6//AIfXAACH118Ah9eHAIfXrwCH19cAh9f/AIf/AACH/18Ah/+HAIf/rwCH/9cAh///AK8AAACvAF8ArwCHAK8ArwCvANcArwD/AK9fAACvX18Ar1+HAK9frwCvX9cAr1//AK+HAACvh18Ar4eHAK+HrwCvh9cAr4f/AK+vAACvr18Ar6+HAK+vrwCvr9cAr6//AK/XAACv118Ar9eHAK/XrwCv19cAr9f/AK//AACv/18Ar/+HAK//rwCv/9cAr///ANcAAADXAF8A1wCHANcArwDXANcA1wD/ANdfAADXX18A11+HANdfrwDXX9cA11//ANeHAADXh18A14eHANeHrwDXh9cA14f/ANevAADXr18A16+HANevrwDXr9cA16//ANfXAADX118A19eHANfXrwDX19cA19f/ANf/AADX/18A1/+HANf/rwDX/9cA1///AP8AAAD/AF8A/wCHAP8ArwD/ANcA/wD/AP9fAAD/X18A/1+HAP9frwD/X9cA/1//AP+HAAD/h18A/4eHAP+HrwD/h9cA/4f/AP+vAAD/r18A/6+HAP+vrwD/r9cA/6//AP/XAAD/118A/9eHAP/XrwD/19cA/9f/AP//AAD//18A//+HAP//rwD//9cA////AAgICAASEhIAHBwcACYmJgAwMDAAOjo6AERERABOTk4AWFhYAGJiYgBsbGwAdnZ2AICAgACKiooAlJSUAJ6engCoqKgAsrKyALy8vADGxsYA0NDQANra2gDk5OQA7u7uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAEAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAABABEAAQABAAEAEgATABQAFQAWABcAGAABAAEAGQAaAAEAGwAcAB0AHgAfAAEAIAABACEAIgAjACQAJQAmACcAKAApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKgABACsAAQAsAC0ALgAvADAAMQAyADMANAA1ADYAMAAxADIAMwA0ADUANgAwADEAMgAzADQANQA2ADAAMQAyADMANAA1ADYAMAAxADIAMwA0ADUANgAwADEAMgAzADQANQA2ADAANwA4ADgAOAA4ADgAOAA4ADgAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQApACkAOQABAAEAOgA7AAEAPAA9AD4AAQABAAEAAQABAAEAPwABAAEAQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAAEATgBPAFAAUQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAUgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAUwABAAEAAQABAAEAAQABAAEAVABVAAEAVgABAFcAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApAFgAKQApACkAKQBZAFoAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAWwApAFwAXQABAAEAAQABAAEAAQABAAEAAQBeAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAF8AAQBgAGEAYgABAAEAAQABAAEAAQBjAAEAAQABAAEAAQBkAFUAZQABAGYAZwABAAEAaABpAAEAAQABAAEAAQABAGoAawBsAG0AbgBvAHAAcQByAHMAdAABAHUAdQB1AHYAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAdwApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQB3AAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAeAB5ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAgABAAEAAQABAAEAAQACAAEAAQABAAEAAQACAAIAAgACAAIAAgACAAIAAgACAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAMAAQABAAEAAQADAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAQAEAAEABAAEAAEABAAEAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABQAFAAUABQAFAAUAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAAEAAQAAQAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAUAAQAEAAQABAAEAAQABAABAAEABAAEAAEABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAFAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAABAAQABAAEAAQABAAEAAQABAAEAAEABAAEAAQAAQAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAUABQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABQAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAYABAABAAYABgAGAAQABAAEAAQABAAEAAQABAAGAAYABgAGAAQABgAGAAEABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAGAAYAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQAHAAYABgAEAAQABAAEAAEAAQAGAAYAAQABAAYABgAEAAEAAQABAAEAAQABAAEAAQABAAcAAQABAAEAAQABAAEAAQABAAEAAQAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQABAAQABAAGAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEABgAGAAYABAAEAAEAAQABAAEABAAEAAEAAQAEAAQABAABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAYABgAGAAQABAAEAAQABAABAAQABAAGAAEABgAGAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAEABAAGAAYAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQAHAAQABgAEAAQABAAEAAEAAQAGAAYAAQABAAYABgAEAAEAAQABAAEAAQABAAEABAAEAAcAAQABAAEAAQABAAEAAQABAAEAAQAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABwAGAAQABgAGAAEAAQABAAYABgAGAAEABgAGAAYABAABAAEAAQABAAEAAQABAAEAAQAHAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAGAAYABgAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAQABAAEAAYABgAGAAYAAQAEAAQABAABAAQABAAEAAQAAQABAAEAAQABAAEAAQAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAGAAYAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQAGAAQABwAGAAcABgAGAAEABAAHAAcAAQAHAAcABAAEAAEAAQABAAEAAQABAAEABwAHAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABgAGAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAEABwAGAAYABAAEAAQABAABAAYABgAGAAEABgAGAAYABAAFAAEAAQABAAEAAQABAAEAAQAHAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAYABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQABAAEAAQAHAAYABgAEAAQABAABAAQAAQAGAAYABgAGAAYABgAGAAcAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAGAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAYABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQAGAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQAEAAEABAABAAEAAQABAAYABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAGAAQABAAEAAQABAABAAQABAABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAYABAAEAAQABAAEAAQAAQAEAAQABgAGAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAGAAQABAABAAEAAQABAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQAGAAQABAABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAHAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAcAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABgAEAAQABAAEAAQABAAEAAYABgAGAAYABgAGAAYABgAEAAYABgAEAAQABAAEAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAAAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAYABgAGAAYABAAEAAYABgAGAAEAAQABAAEABgAGAAQABgAGAAYABgAGAAYABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAYABgAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABAAGAAQABAAEAAQABAAEAAQAAQAEAAEABAABAAEABAAEAAQABAAEAAQABAAEAAYABgAGAAYABgAGAAQABAAEAAQABAAEAAQABAAEAAQAAQABAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAHAAQABAAEAAQABAAHAAQABwAGAAYABgAGAAQABwAHAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAAQABAAEAAQABgAGAAQABAAHAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAYABAAEAAYABgAGAAQABgAEAAQABAAHAAcAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAGAAYABgAGAAYABgAGAAQABAAEAAQABAAEAAQABAAGAAYABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAABAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABgAEAAQABAAEAAQABAAEAAEAAQABAAEABAABAAEAAQABAAEAAQAEAAEAAQAGAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAQADAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAMAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAMAAwADAAMAAwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAMAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADQANAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAMADgAOAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA8AAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADQANAA0ADQADAAMAAwANAAMAAwANAAEAAQABAAEAAwADAAMAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAMAAwABAAEAAQABAAEAAQABAAEAAQABAAMAAQABAAEAAQABAAEAAQABAAEAAwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAMAAwANAA0AAQADAAMAAwADAAMADwABAA8ADwAPAA8ADwAPAA8AAwAPAA8AAwAPAAEADQANAA8ADwADAA8ADwAPAA8AEAAPAA8AAwAPAAMAAwAPAA8AAwAPAA8ADwADAA8ADwAPAAMAAwARABEAEQARABEAEQARABEAAwADAAMADwAPAA8ADwAPAAMADwADAA8ADwAPAA8ADwANAA0ADQANAA0ADQANAA0ADQANAA0ADQAPAA8ADwAPAA8ADwAPAA8ADwAPAA8AAwADAA8ADwADAA8AAwADAA8AAwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwADAA8ADwADAA0ADwAPAA8ADwAPAA8AAQABAAEAAQAOAA4ADgAOAA4ADgAPAA8AAwANAAMAAwADAAMADwADAA8AAwADAA8ADwAPAAMADQAPAA8ADwAPAA8AAwAPAA8ADQANAA8ADwAPAA8AAwADAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwANAA0ADwAPAA8ADwAPAA0ADQAPAA8AAwAPAA8ADwAPAA8ADQADAA8AAwAPAAMADQAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8AAwANAA8ADwAPAA8ADwADAAMADQANAAMADQAPAAMAAwAQAA0ADwAPAA0ADwAPAA8ADwADAA8ADwANAAEAAQADAAMAEgASABAAEAAPAAMADwAPAAMAAQADAAEAAwABAAEAAQABAAEAAQADAAEAAQABAAMAAQABAAEAAQABAAEADQABAAEAAQABAAEAAQABAAEAAQABAAMAAwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAEAAQADAAEAAQABAAEADQABAA0AAQABAAEAAQANAA0ADQABAA0AAQABAAEAAQABAAEAAQABAAEAAQABAAMAAwAPAA8ADwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQANAA0ADQABAAEAAQABAAEAAQABAAEAAQADAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQANAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQANAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAMAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAwADAAMAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQANAA0AAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADQABAAEAAQABAA0AAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA4ADgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ABAAEAAQABAATABMADQAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgANAA4AAQABAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEABAAEAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEAAQABAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAQAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAQABAAEAAQABAAEAAQABAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAQAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAEAAQABAAEAAQABAAEAAQAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADQAOAA0ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEAAQAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQAAQAEAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQABAAEABAABAAEAAQABAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABgAEAAQABgABAAEAAQABAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAYABwABAAEAAQABAAEAAQABAAEAAQABAAEAAQAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAQABAAEABAAEAAQABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAGAAYABAAEAAQABAAGAAYABAAEAAYABgAHAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAGAAYABAAEAAYABgAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQABAAEABAAGAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEABAAEAAQAAQABAAQABAABAAEAAQABAAEABAAEAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAEAAQABgAGAAEAAQABAAEAAQAGAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABgAEAAYABgAEAAYABgABAAYABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAAQABAAEAAQALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAEAAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAQAOAA4ADgAOAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAQAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAcABwAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA4ADgAOAA4ADgAOAA4AAQABAAEAAQABAAEAAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAEABAAEAAEAAQABAAEAAQAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABAAGAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAEABAAEAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAAYABgAEAAQABAAEAAYABgAEAAQAAQABAAUAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEABQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAYABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAGAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAGAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABgAGAAQABAAEAAQABAAEAAQABAAEAAYABwABAAUABQABAAEAAQABAAEABAAEAAQABAABAAYABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAGAAYABAAEAAQABgAGAAQABwAEAAQAAQABAAEAAQABAAEABAABAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABgAGAAYABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAGAAYAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQAAQAHAAYABAAGAAYABgAGAAEAAQAGAAYAAQABAAYABgAHAAEAAQABAAEAAQABAAEAAQABAAcAAQABAAEAAQABAAEAAQABAAEAAQAGAAYAAQABAAQABAAEAAQABAAEAAQAAQABAAEABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABwAGAAYABAAEAAQABAAEAAQAAQAHAAEAAQAHAAEABwAHAAcABgABAAYABgAEAAcABAAFAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABgAGAAQABAAEAAQABAAEAAQABAAGAAYABAAEAAQABgAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAcABgAGAAQABAAEAAQABAAEAAYABAAGAAYABwAGAAQABAAGAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAcABgAGAAQABAAEAAQAAQABAAYABgAGAAYABAAEAAYABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABgAGAAQABAAEAAQABAAEAAQABAAGAAYABAAGAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABgAEAAYABgAEAAQABAAEAAQABAAHAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABgAEAAEAAQAEAAQABAAEAAYABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAGAAYABAAEAAQABAAEAAQABAAEAAQABgAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAcABgAGAAYABgAGAAEABgAGAAEAAQAEAAQABwAEAAUABgAFAAYABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAAYABgAEAAQABAAEAAEAAQAEAAQABgAGAAYABgAEAAEAAQABAAYAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABgAFAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAQAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABgAGAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAGAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAEAAQABAAEAAQABAAEAAEABAAEAAQABAAEAAQABgAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAABAAYABAAEAAQABAAEAAQABAAGAAQABAAGAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQAAQABAAEABAABAAQABAABAAQABAAEAAQABAAEAAQABQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABgAGAAYABgABAAQABAABAAYABgAEAAYABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAYABgABAAEAAQABAAEAAQABAAEAAQAEAAQABQAGAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABgAEAAQABAAEAAQAAQABAAEABgAGAAQABwAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABgAGAAYABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACgABAAEAAQAKAAoACgAKAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAEAAQABAAEAAQABAAEABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADgAOAA4ADgAEAAEAAQABAAEAAQABAAEAAQABAAEAAQATABMAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEAAQABAAEAAQABAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA4ADgAOAA4AAQAOAA4ADgAOAA4ADgAOAAEADgAOAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA4AAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA4ADgAOAAEAAQAOAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAOAA4ADgAOAAEAAQABAAEAAQABAAEAAQAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAEAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABwAHAAQABAAEAAEAAQABAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQAAQABAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAQABAAEAAQABAAEAAQABAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQAAQAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAQABAAQABAAEAAQABAAEAAQAAQAEAAQAAQAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA8ADwAPAA8ADQAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPABEADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8AAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAPAA8ADwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA8AAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADwAPAA8ADwADAAMAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAwADAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQARAAEAAQARABEAEQARABEAEQARABEAEQARAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAOABEADQAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA4ADgAOAA4ADgAOAA4ADgAOAA4ADQAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADQAOAA4AEQARABEAEQARAA0AEQARABEADgAPAA8ADwAPAA4ADgAOAA4ADgAOAA4ADgAOAA8ADwAPAA8ADwAPAA8AEQARAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwARABEAEQARABEAEQAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPABEAEQARABEAEQARABEAEQARABEAEQARABEADQANAA0AEQARABEAEQARAA0AEQARABEAEQARABEADQARABEAEQARAAMADwAPAAMAAwADAAMAAwADAAMAAwADABEAEQARABEAEQARABEAEQARAAMAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARAA0AEQARABEAEQADABEAEQARABEAEQARABEAFwARABEAEQARABEAEQARABEAEQARABEAEQARAA0ADwAPAAMAAwAPAAMAAwADAA8ADwADAAMAEQARABEAEQARABEAEQANABEAEQARABEADQANAA0AEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQASABcAEgARAA0AFwARABEAEgAQABAAAwADABEAEQARABEAEQADAAMAAwADAAMAAwADAAMAAwADAAMAAwANABEAEQARABEAEQARABEAEQARABEAEQARAA0AEQARABEADwAPAAMAEQADAA8AAwARABEAEQAYABgAGAAYABgAEQARABEAEQARABEAEQARAA0AEQARABEAEQARABEAEQARABEAEQARABEADQARABEAEQARABEAEQARABEAEQANABEAEQARABEAEQARAA0AEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAAwARAAMAEgAXABEAEQASABIAEgASABcAFwAXABIAEgAXABcAEQARAA0AEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAFwAXABcAFwASABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwARABEAEQAXAA0AEQARABEAFwAXABcAEQAXABcAFwARABEAEQARABEAEQARABcAEQAXABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQANABEAEQARABEAEQARABcAEQARABEAEQARAA0AEQARAA0AEQARABEAEQARABEAEQANABEAEQARAA0AEQARABEAEQARABEAEQARABEAEQARAA0AEQARABEAEQARABEAEQARABEAEQARABEAEQARAA0AEQARABEAEQANABEAEQARABEADQANAA0AEQARABEADQANAA0ADQARABEAEQARABEAEQARABEAEQANABEADQANAA0AEQADAA8AEQARABEAEQARABEAEQARABEADQARABEAEQARAA0AEQARABEAEQANAA0AEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAAQABAAEAAQABAAEAAQABAA8ADwAPAAMAAwARABEAEQARAA8ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADwAPAA8ADwAPAA8ADwADAAMADwAPAAMAEAAQAAMAAwADAAMAFwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwADAA8ADwADAAMAAwADAA8ADwAQAA8ADwAPAA8AFwAXAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8AEQADAA8ADwADAA8ADwAPAA8ADwAPAA8ADwADAAMADwAPAA8ADwAPAA8ADwAPAA8AAwAPAA8ADwAPAA8AAwADAAMADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8AAwADAAMADwAPAA8ADwAPAA8ADwAPAAMAAwADAA8ADwADAA8AAwAPAA8ADwAPAAMADwAPAA8ADwAPAA8AAwAPAA8ADwADAA8ADwAPAA8ADwAPAAMAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEADQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABcAFwAXABEAEQARABcAFwAXABcAFwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQARABEAEQARABEAEQARAA0AEQARABEAEQARAA0AEQARABEADQARABEADQARABEAEQANABEAEQARABEAEQARABEAEQARABEAFwARABEAEQARABEAEQARABEAEQANABEAEQARABEADQARABcAFwAXABEAEQANAA0AEQANABEAEQARABcAEQARABEAEQARAA8ADwAPAA8ADwADABcAAwADAAMAEQARABEADwAPABEAEQARAA8ADwAPAA8AEQARABEAEQADAAMAAwADAAMAAwAPAA8ADwADAA8AEQARAA8ADwAPAAMADwAPAAMAEQARABEAEQARABEAEQARABEADwAPAA8AAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADwAPAA8ADwAPAA8ADwAPAA8ADwAPABEAEQARABEAEQARABEAEQARABEAEQARAA8ADwAPAA8AEQAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwABAAEAAQABAAEAAQABAAEAAQABAAEAAQAPAA8ADwAPAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAPAA8ADwAPAA8ADwAPAA8AAQABAAEAAQABAAEAAQABAAEAAQAPAA8ADwAPAA8ADwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA8ADwAPAA8ADwAPAA8ADwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAEAAQABAAEAAQABAAEAAQABAAEAAQABABcAEQARABcAEQARABEAEQARABEAEQARABcAFwAXABcAFwAXABcAFwARABEAEQARABEAEQAXABEAEQARABEAEQARABEAEQARABcAFwAXABcAFwAXABcAFwAXABcAEQABABcAFwAXABEAEQARABEAEQARABEAAQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQAXABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAFwAXABEAFwAXABEAFwARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAFwAXABcAEQAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwARABEAEQARABEAEQARABEAEQARABEAEQARAA8ADwAPABEAEQARABEAEQARABEAEQARABEADwAPAA8ADwAPABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAFwAXABcAEQAPAA8ADwAPAA8ADwAPABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARAA8ADwARABEAEQARABEAEQARABEAEQARABEADwAPAA8ADwAPAA8AFwAXABcAFwAXABcAFwAXABcADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwABAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBbRwZJR0GBAgMIG4CLXEuch4SFioyNgAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAowAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AH8AgACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAoQCiAKMApAClAKYApwCoAKkAqgCrAKwArQCuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAMYlkiUJJAwkDSQKJLAAsQAkJAskGCUQJQwlFCU8JbojuyMAJbwjvSMcJSQlNCUsJQIlZCJlIsADYCKjALcAfwCAAIEAggCDAIQAhQCGAIcAiACJAIoAiwCMAI0AjgCPAJAAkQCSAJMAlACVAJYAlwCYAJkAmgCbAJwAnQCeAJ8AoAChAKIAowCkAKUApgCnAKgAqQCqAKsArACtAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8A0ADRANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8AAAAAAAAAAgAAAAEAAAAAAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAQAAAAAAAAABAAAAAgAAAAAAAAABAAAAAwAAAAAAAABCAAADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEAAA0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAICBAIEBAQEBAQEBgEJBAkECQQKCAsADAkNCgACAgQCBAQEBAQEBAYBCQQJBAkECggLAAwJDQoAAgIEAgQEBAQEBAQGAQkECQQJBAoICwAMCQ0KAAICBAIEBAQEBAQEBgEJBAkECQQKCAsADAkNCgACAgQCBAQEBAQEBAYBCQQJBAkECggLAAwJDQoAAgIEAgQEBAQEBAQGAQkECQQJBAoICwAMCQ0KAAICBAIEBAQEBAQEBgEJBAkECQQKCAsADAkNCgACAgQCBAQEBAQEBAYBCQQJBAkECggLAAwJDQoAAgIEAgQEBAQEBAQGAQkECQQJBAoICwAMCQ0KAAICBAIEBAQEBAQEBgEJBAkECQQKCAsADAkNCgACAgQCBAQEBAQEBAYBCQQJBAkECggLAAwJDQoAAgIEAgQEBAQEBAQGAQkECQQJBAoICwAMCQ0KAAICBAIEBAQEBAQEBgEJBAkECQQKCAsADAkNCgACAgQCBAQEBAQEBAYBCQQJBAkECggLAAwJDQoAAgIEAgQEBAQEBAQGAQkECQQJBAoICwAMCQ0KAAICBAIEBAQEBAQEBgEJBAkECQQKCAsADAkNCgACAAYABgUFBgAFBQYBCAUIBQsACggLAAwJDQoAAgAGAAYFBQYABQUGAQgFCAULAAoICwAMCQ0KAAIABgAGBQUGAAUFBgEIBQgFCwAKCAsADAkNCgACAAYABgUFBgAFBQYBCAUIBQsACggLAAwJDQoAAgAGAAYFBQYABQUGAQgFCAULAAoICwAMCQ0KAAIABgAGBQUGAAUFBgEIBQgFCwAKCAsADAkNCgACAAYABgUFBgAFBQYBCAUIBQsACggLAAwJDQoAAgAGAAYFBQYABQUGAQgFCAULAAoICwAMCQ0KAAIABgAGBQUGAAUFBgEIBQgFCwAKCAsADAkNCgACAAYABgUFBgAFBQYBCAUIBQsACggLAAwJDQoAAgAGAAYGAAYABQUGAQsACwALAAoICwAMCQ0KAAIABgAGBQUGAAUFBgEIBQgFCwAKCAsADAkNCgACAAYABgUEBgAGAAYBCAQLAAsACggLAAwJDQoAAgAGAAYFBAYABgAGAQgECwALAAoICwAMCQ0KAAIABgAGBQQGAAYABgEIBAsACwAKCAsADAkNCgACAAYABgUEBgAGAAYBCAQLAAsACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIHAAAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAg0AAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgMAAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACDAAABgAHAAcABwAACgAKAAoACggLAAwJDQoAAg0AAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAINAAAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgEBAgEDAQQBBQEGAQcBCAEJAQoBCwAMCQ0KAAMAAwADAAMAAwADAAMAAwADAAMAAwADDAkAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwwJAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADAAMAAwADAAMAAwADAAMAAwADAAMAAwADDAkAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwwJAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADAAMAAwADAAMAAwADAAMAAwADAAMAAwADDAkAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwwJAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADAAMAAwADAAMAAwADAAMAAwADAAMAAwADDAkAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwwJAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADAAMAAwADAAMAAwADAAMAAwADAAMAAwADDAkAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwwJAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADAAMAAwADAAMAAwADAAMAAwADAAMAAwADDAkAAwcABwAHAAcABwAHAAcABwAHAAcABwAHAAwJBwAAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADAAMAAwADAAMAAwADAAMAAwADAAMAAwADDAkAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwwJAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADAAMAAwADAAMAAwADAAMAAwADAAMAAwADDAkAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwwJAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADDQANAA0ADQANAA0ADQANAA0ADQANAA0ADAkNAAADAAMAAwADAAMAAwADAAMAAwADAAMAAwwJAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADAwADAAMAAwADAAMAAwADAAMAAwADAAMADAkDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwJAAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMCQwADQANAA0ADQANAA0ADQANAA0ADQANAA0ADAkNAA0ADQANAA0ADQANAA0ADQANAA0ADQANAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAEAAAAAAQEBAAAAAAAAAAABAAAAAQAAAAEAAAACAAAAAQAAAAAAAAAAAAAAAAECAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQkJCQkJCQkJCQkJCQkJCQkHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwgIAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCgMDAwMDAwMDAwMDAwQDAwsGBgYFCAgICAgICAgICAgADBgkPGBUDAwMMEgMDAwMDAwMDAwMDAwMAAwMDAwMAAwADAwMGAwMDAwMGAwYDAwMDAwMDAwMGAwMDAwMGAwMDAwMDAwYDAwMDAwMDAwMJAwkDAwMJAwMDAwMJAwkDAwMJAwMDAwMDAwMDAwAAP3/AAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQAAAAAAAAAAAAAAAAAAAAAAHR8hAMxmZgC1vWgA8MZ0AIGivgCylLsAir63AMXIxgBmZmYA1U5TALnKSgDnxUcAeqbaAMOX2ABwwLEA6urqAAAAAAAAAF8AAACHAAAArwAAANcAAAD/AABfAAAAX18AAF+HAABfrwAAX9cAAF//AACHAAAAh18AAIeHAACHrwAAh9cAAIf/AACvAAAAr18AAK+HAACvrwAAr9cAAK//AADXAAAA118AANeHAADXrwAA19cAANf/AAD/AAAA/18AAP+HAAD/rwAA/9cAAP//AF8AAABfAF8AXwCHAF8ArwBfANcAXwD/AF9fAABfX18AX1+HAF9frwBfX9cAX1//AF+HAABfh18AX4eHAF+HrwBfh9cAX4f/AF+vAABfr18AX6+HAF+vrwBfr9cAX6//AF/XAABf118AX9eHAF/XrwBf19cAX9f/AF//AABf/18AX/+HAF//rwBf/9cAX///AIcAAACHAF8AhwCHAIcArwCHANcAhwD/AIdfAACHX18Ah1+HAIdfrwCHX9cAh1//AIeHAACHh18Ah4eHAIeHrwCHh9cAh4f/AIevAACHr18Ah6+HAIevrwCHr9cAh6//AIfXAACH118Ah9eHAIfXrwCH19cAh9f/AIf/AACH/18Ah/+HAIf/rwCH/9cAh///AK8AAACvAF8ArwCHAK8ArwCvANcArwD/AK9fAACvX18Ar1+HAK9frwCvX9cAr1//AK+HAACvh18Ar4eHAK+HrwCvh9cAr4f/AK+vAACvr18Ar6+HAK+vrwCvr9cAr6//AK/XAACv118Ar9eHAK/XrwCv19cAr9f/AK//AACv/18Ar/+HAK//rwCv/9cAr///ANcAAADXAF8A1wCHANcArwDXANcA1wD/ANdfAADXX18A11+HANdfrwDXX9cA11//ANeHAADXh18A14eHANeHrwDXh9cA14f/ANevAADXr18A16+HANevrwDXr9cA16//ANfXAADX118A19eHANfXrwDX19cA19f/ANf/AADX/18A1/+HANf/rwDX/9cA1///AP8AAAD/AF8A/wCHAP8ArwD/ANcA/wD/AP9fAAD/X18A/1+HAP9frwD/X9cA/1//AP+HAAD/h18A/4eHAP+HrwD/h9cA/4f/AP+vAAD/r18A/6+HAP+vrwD/r9cA/6//AP/XAAD/118A/9eHAP/XrwD/19cA/9f/AP//AAD//18A//+HAP//rwD//9cA////AAgICAASEhIAHBwcACYmJgAwMDAAOjo6AERERABOTk4AWFhYAGJiYgBsbGwAdnZ2AICAgACKiooAlJSUAJ6engCoqKgAsrKyALy8vADGxsYA0NDQANra2gDk5OQA7u7uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAGAAAABwAAAAgAAAAJAAAABgAAAAoAAAALAAAAqqqqqgAAAAAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAZAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAABAwUHAQMFBwEDBQcBAwUHAQMFBwEDBQcAAgQGAQMFBwEDBQcBAwUHAQMFBwMDBwcDAwcHAQMFBwAAAAAAAAAAAQMFBwACBAYBAwUHAQMFBwEDBQcBAwUHAAIEBgEDBQcBAwUHAQMFBwEDBQcDAwcHAwMHBwEDBQcAAAAAAAAAAAEDBQcAAgQGAAIEBgEDBQcAAgQGAQMFBwACBAYBAwUHAQMFBwEDBQcBAwUHAwMHBwMDBwcBAwUHAAAAAAAAAAABAwUHAQMFBwACBAYAAgQGAAIEBgACBAYAAgQGAQMFBwEDBQcBAwUHAQMFBwMDBwcDAwcHAQMFBwAAAAAAAAAAAQMFBwACBAYBAwUHAQMFBwEDBQcBAwUHAAIEBgEDBQcBAwUHAQMFBwEDBQcDAwcHAwMHBwEDBQcAAAAAAAAAAAEDBQcAAgQGAQMFBwEDBQcBAwUHAQMFBwACBAYBAwUHAQMFBwEDBQcBAwUHAwMHBwMDBwcBAwUHAAAAAAAAAAABAwUHAQMFBwEDBQcBAwUHAQMFBwEDBQcAAgQGAQMFBwEDBQcBAwUHAQMFBwMDBwcDAwcHAQMFBwAAAAAAAAAAAAIEBgACBAYAAgQGAAIEBgACBAYAAgQGAAIEBgACBAYAAgQGAAIEBgACBAYCAgYGAgIGBgACBAYAAAAAAAAAAAACBAYAAgQGAAIEBgACBAYAAgQGAAIEBgACBAYAAgQGAAIEBgACBAYAAgQGAgIGBgICBgYAAgQGAAAAAAAAAAAAAgQGAAIEBgACBAYAAgQGAAIEBgACBAYAAgQGAAIEBgACBAYAAgQGAAIEBgICBgYCAgYGAAIEBgAAAAAAAAAAAQMFBwEDBQcBAwUHAQMFBwEDBQcBAwUHAAIEBgEDBQcBAwUHAQMFBwQGAQMDAwcHAwMHBwEDBQcAAAAAAAAAAAEDBQcBAwUHAQMFBwEDBQcBAwUHAQMFBwACBAYBAwUHAQAFBAEDBQcBAwUHAwMHBwMDBwcBAwUHAAAAAAAAAAABAwUHAQMFBwEDBQcBAwUHAQMFBwEDBQcAAgQGAQMFBwEABQQBAwUHAQMFBwMDBwcDAwcHAQMFBwAAAAAAAAAAAQMFBwEDBQcBAwUHAQMFBwEDBQcBAwUHAAIEBgEDBQcBAwUHAQMFBwEDBQcDAwcHAgIGBgEDBQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZBAQAAQAAACGDRAABAAAABITEAAEAAAAgQwQAAQAAADyCRAABAAAAHkVEAAEAAAAsRgQAAQAAAAFGBAABAAA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AAIAAADfChAABAAAAAYAAQACAAAA2goQAAQAAAAHAAEAAgAAANUKEAAEAAAACAABAAIAAAAhCxAABQAAAAkAAQACAAAAGwsQAAUAAAAMAAEAAgAAABULEAAFAAAADQABAAIAAAAKCxAABQAAAAoAAQACAAAA/woQAAUAAAALAAEAAgAAAPQKEAAFAAAADgABAAIAAADpChAABQAAAA8AAQACAAAAUAoQAAMAAAAAAAAAAgAAAI8KEAAEAAAAAQABAAIAAACEChAABAAAAAQAAQACAAAAeQoQAAQAAAAFAAEAAgAAAG4KEAAEAAAAAgABAAIAAABjChAABAAAAAMAAQACAAAAXgoQAAQAAAAGAAEAAgAAAFkKEAAEAAAABwABAAIAAABUChAABAAAAAgAAQACAAAAoAoQAAUAAAAJAAEAAgAAAJoKEAAFAAAADAABAAIAAACUChAABQAAAA0AAQACAAAAiQoQAAUAAAAKAAEAAgAAAH4KEAAFAAAACwABAAIAAABzChAABQAAAA4AAQACAAAAaAoQAAUAAAAPAAEAAgAAAF4TEAADAAAAAAAAAAIAAACdExAABAAAAAEAAQACAAAAkhMQAAQAAAAEAAEAAgAAAIcTEAAEAAAABQABAAIAAAB8ExAABAAAAAIAAQACAAAAcRMQAAQAAAADAAEAAgAAAGwTEAAEAAAABgABAAIAAABnExAABAAAAAcAAQACAAAAYhMQAAQAAAAIAAEAAgAAAK4TEAAFAAAACQABAAIAAACoExAABQAAAAwAAQACAAAAohMQAAUAAAANAAEAAgAAAJcTEAAFAAAACgABAAIAAACMExAABQAAAAsAAQACAAAAgRMQAAUAAAAOAAEAAgAAAHYTEAAFAAAADwABAAIAAAAeEhAAAwAAAAAAAAACAAAAXRIQAAQAAAABAAEAAgAAAFISEAAEAAAABAABAAIAAABHEhAABAAAAAUAAQACAAAAPBIQAAQAAAACAAEAAgAAADESEAAEAAAAAwABAAIAAAAsEhAABAAAAAYAAQACAAAAJxIQAAQAAAAHAAEAAgAAACISEAAEAAAACAABAAIAAABzEhAABQAAAAkAAQACAAAAaBIQAAUAAAAMAAEAAgAAAGISEAAFAAAADQABAAIAAABXEhAABQAAAAoAAQACAAAATBIQAAUAAAALAAEAAgAA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AAcAAAAGAAEAAAAAADgBEAAHAAAABwABAAAAAACDABAABwAAAAgAAQAAAAAA4QgQAAgAAAAJAAEAAAAAAGMIEAAIAAAADAABAAAAAADsBxAACAAAAA0AAQAAAAAAwAYQAAgAAAAKAAEAAAAAAIYFEAAIAAAACwABAAAAAACrBBAACAAAAA4AAQAAAAAAywMQAAgAAAAPAAEAAAAAAEwFEAAFAAAAAAABAAAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAoBYSAB0AAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAHAYEgARAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAIAZEgASAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAoBoSABAAAACgGxIAEQAAAKqqqqoAAAAAsBwSABEAAADAHRIAEAAAAMAeEgAQAAAAwB8SABAAAADAIBIAEQAAANAhEgARAAAA4CISABEAAADwIxIAEQAAAKqqqqoAAAAAACUSABAAAAAAJhIAEAAAAAAnEgAQAAAAACgSABAAAAAAKRIAEAAAAAAqEgAQAAAAACsSABAAAAAALBIAEAAAAAAtEgAQAAAAAC4SABAAAAAALxIAEAAA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OiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgbmV4dCBsaW5lIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCB0YWIgc2V0IGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCByZXZlcnNlIGluZGV4IGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBzaW5nbGUgc2hpZnQgMiBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgc2luZ2xlIHNoaWZ0IDMgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiB1bmltcGxlbWVudGVkIEVTQyBjYWxsYmFjazogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIGZ1bGwgcmVzZXQgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIGxvY2tpbmcgc2hpZnQgMSByaWdodCBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgbG9ja2luZyBzaGlmdCAyIHJpZ2h0IGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBsb2NraW5nIHNoaWZ0IDMgcmlnaHQgY29tbWFuZDogd2FybmluZyh0ZXJtaW5hbCk6IGN1cnNvciBjb3B5IGZhaWxlZCBlbnRlcmluZyBhbHQgc2NyZWVuIGVycj13YXJuaW5nKHRlcm1pbmFsKTogcmVzdG9yZSBjdXJzb3Igb24gc3dpdGNoIHNjcmVlbiBmYWlsZWQgdG89IGVycj13YXJuaW5nKHN0cmVhbSk6IHVuaW1wbGVtZW50ZWQgc2V0TW9kZTogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIEMwIGNoYXJhY3RlciwgaWdub3Jpbmc6IDB4d2FybmluZyh0ZXJtaW5hbCk6IHplcm8td2lkdGggY2hhcmFjdGVyIHdpdGggbm8gcHJpb3IgY2hhcmFjdGVyLCBpZ25vcmluZ3dhcm5pbmcodGVybWluYWwpOiBlcnJvciByZWFsbG9jYXRpbmcgZm9yIG1vcmUgaHlwZXJsaW5rIHNwYWNlLCBpZ25vcmluZyBoeXBlcmxpbmsgZXJyPXdhcm5pbmcocGFyc2VyKTogaW52YWxpZCBpbnRlcm1lZGlhdGVzIGNvdW50d2FybmluZyhwYXJzZXIpOiBDU0kgY29sb24gb3IgbWl4ZWQgc2VwYXJhdG9ycyBvbmx5IGFsbG93ZWQgZm9yICdtJyBjb21tYW5kLCBnb3Q6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBjdXJzb3IgZG93biBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIHVuaW1wbGVtZW50ZWQgQ1NJIEIgd2l0aCBpbnRlcm1lZGlhdGVzOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgY3Vyc29yIHJpZ2h0IGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgQyB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBjdXJzb3IgdXAgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBFIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBGIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIGhvcml6b250YWwgdGFiIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgSSB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBlcmFzZSBkaXNwbGF5IGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBlcmFzZSBsaW5lIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBJTCBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIHVuaW1wbGVtZW50ZWQgQ1NJIEwgd2l0aCBpbnRlcm1lZGlhdGVzOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgREwgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBNIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIGRlbGV0ZSBjaGFyYWN0ZXJzIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgUCB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBzY3JvbGwgdXAgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBTIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIHNjcm9sbCBkb3duIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgVCB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBjdXJzb3IgdGFidWxhdGlvbiBjb250cm9sOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIHVuaW1wbGVtZW50ZWQgQ1NJIFcgd2l0aCBpbnRlcm1lZGlhdGVzOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgZXJhc2UgY2hhcmFjdGVycyBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIHVuaW1wbGVtZW50ZWQgQ1NJIFggd2l0aCBpbnRlcm1lZGlhdGVzOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgaG9yaXpvbnRhbCB0YWIgYmFjayBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIHVuaW1wbGVtZW50ZWQgQ1NJIFogd2l0aCBpbnRlcm1lZGlhdGVzOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgSFBSIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgYSB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBwcmludCByZXBlYXQgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBiIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIGRldmljZSBhdHRyaWJ1dGVzIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBWUEEgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBkIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIFZQUiBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIHVuaW1wbGVtZW50ZWQgQ1NJIGUgd2l0aCBpbnRlcm1lZGlhdGVzOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgdGFiIGNsZWFyIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogdW5rbm93biB0YWIgY2xlYXIgbW9kZTogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBnIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIHNldCBtb2RlIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogdW5pbXBsZW1lbnRlZCBtb2RlOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgc2V0TW9kaWZ5S2V5Rm9ybWF0OiB3YXJuaW5nKHN0cmVhbSk6IHVua25vd24gQ1NJIG0gd2l0aCBpbnRlcm1lZGlhdGU6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgbSB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBkZXZpY2Ugc3RhdHVzIHJlcG9ydCBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IHVua25vd24gQ1NJIG4gd2l0aCBpbnRlcm1lZGlhdGU6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgbiB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgcCB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBERUNSUU0gY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIGN1cnNvciBzdHlsZSB2YWx1ZTogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIHNldCBjdXJvciBzdHlsZSBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgc2V0IHByb3RlY3RlZCBtb2RlIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgcSB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBERUNTVEJNIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogdW5pbXBsZW1lbnRlZCByZXN0b3JlIG1vZGU6IHdhcm5pbmcoc3RyZWFtKTogdW5rbm93biBDU0kgcyB3aXRoIGludGVybWVkaWF0ZTogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBzIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIERFQ1NMUk0gY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiB1bmltcGxlbWVudGVkIHNhdmUgbW9kZTogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIFhUU0hJRlRFU0NBUEUgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyBDU0kgMTQgdCB3aXRoIGV4dHJhIHBhcmFtZXRlcnM6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgQ1NJIDE2IHQgd2l0aCBleHRyYSBwYXJhbWV0ZXJzOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIENTSSAxOCB0IHdpdGggZXh0cmEgcGFyYW1ldGVyczogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyBDU0kgMjEgdCB3aXRoIGV4dHJhIHBhcmFtZXRlcnM6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgQ1NJIDIyLzIzIHQgd2l0aCBleHRyYSBwYXJhbWV0ZXJzOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIENTSSB0IHdpdGggdW5pbXBsZW1lbnRlZCBwYXJhbWV0ZXI6IGVycm9yKHN0cmVhbSk6IGlnbm9yaW5nIENTSSB0IHdpdGggbm8gcGFyYW1ldGVyczogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSB0IHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIHB1c2hLaXR0eUtleWJvYXJkIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBzZXRLaXR0eUtleWJvYXJkIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgdTogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIElDSCBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIHVuaW1wbGVtZW50ZWQgQ1NJIEA6IHdhcm5pbmcoc3RyZWFtKTogdW5pbXBsZW1lbnRlZCBDU0kgY2FsbGJhY2s6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgQSB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBjdXJzb3IgbGVmdCBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIHVuaW1wbGVtZW50ZWQgQ1NJIEQgd2l0aCBpbnRlcm1lZGlhdGVzOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgSFBBIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgRyB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBDVVAgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBIIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiB1bmltcGxlbWVudGVkIENTSSBhY3Rpb246IHdhcm5pbmcoc3RyZWFtKTogY2hhbmdlIHRpdGxlIHJlcXVlc3Q6IGludmFsaWQgdXRmLTgsIGlnbm9yaW5nIHJlcXVlc3R3YXJuaW5nKHN0cmVhbSk6IHVua25vd24gY3Vyc29yIHNoYXBlOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgT1NDLCBzaG91bGQgbmV2ZXIgaGFwcGVud2FybmluZyhzdHJlYW0pOiB1bmltcGxlbWVudGVkIE9TQyBjYWxsYmFjazogd2FybmluZyhvc2MpOiBPU0Mgc2VxdWVuY2UgdG9vIGxvbmcgKD4gKSwgaWdub3JpbmcuIHN0YXRlPXdhcm5pbmcob3NjKTogT1NDIDEwIHJlcXVpcmVzIGFuIGFsbG9jYXRvciwgYnV0IG5vbmUgd2FzIHByb3ZpZGVkd2FybmluZyhvc2MpOiBPU0MgMTA0IHJlcXVpcmVzIGFuIGFsbG9jYXRvciwgYnV0IG5vbmUgd2FzIHByb3ZpZGVkd2FybmluZyhvc2MpOiBPU0MgMTEgcmVxdWlyZXMgYW4gYWxsb2NhdG9yLCBidXQgbm9uZSB3YXMgcHJvdmlkZWR3YXJuaW5nKG9zYyk6IE9TQyAxMSByZXF1aXJlcyBhbiBhbGxvY2F0b3IsIGJ1dCBub25lIHdhcyBwcm92aWRlZHdhcm5pbmcob3NjKTogT1NDIDEyIHJlcXVpcmVzIGFuIGFsbG9jYXRvciwgYnV0IG5vbmUgd2FzIHByb3ZpZGVkd2FybmluZyhvc2MpOiBPU0MgMTMgcmVxdWlyZXMgYW4gYWxsb2NhdG9yLCBidXQgbm9uZSB3YXMgcHJvdmlkZWR3YXJuaW5nKG9zYyk6IE9TQyAxNCByZXF1aXJlcyBhbiBhbGxvY2F0b3IsIGJ1dCBub25lIHdhcyBwcm92aWRlZHdhcm5pbmcob3NjKTogT1NDIDE1IHJlcXVpcmVzIGFuIGFsbG9jYXRvciwgYnV0IG5vbmUgd2FzIHByb3ZpZGVkd2FybmluZyhvc2MpOiBPU0MgMTYgcmVxdWlyZXMgYW4gYWxsb2NhdG9yLCBidXQgbm9uZSB3YXMgcHJvdmlkZWR3YXJuaW5nKG9zYyk6IE9TQyAxNyByZXF1aXJlcyBhbiBhbGxvY2F0b3IsIGJ1dCBub25lIHdhcyBwcm92aWRlZHdhcm5pbmcob3NjKTogT1NDIDE4IHJlcXVpcmVzIGFuIGFsbG9jYXRvciwgYnV0IG5vbmUgd2FzIHByb3ZpZGVkd2FybmluZyhvc2MpOiBPU0MgMTkgcmVxdWlyZXMgYW4gYWxsb2NhdG9yLCBidXQgbm9uZSB3YXMgcHJvdmlkZWT2ehAAAAAAAAAAAADdNBAAAQAAAAEAAADFNBAAAgAAAAEAAADENBAAAwAAAAEAAABWKRAAAwAAAAIAAADDNBAABAAAAAIAAADHIxAABQAAAAIAAABTLBAABQAAAAMAAAB0JhAABgAAAAMAAACNMBAABwAAAAMAAACvHhAABwAAAAQAAADyLBAACAAAAAQAAABQKRAACQAAAAQAAABhMxAACgAAAAQAAABhIhAACgAAAAUAAADLKRAACwAAAAUAAADNIxAADAAAAAUAAAAJMRAADAAAAAYAAACMHxAADQAAAAYAAAAOLhAADgAAAAYAAADDJxAADgAAAAcAAACpMxAADwAAAAcAAAADIxAAEAAAAAcAAADzKhAAEQAAAAcAAAARJRAAEQAAAAgAAAAlLxAAEgAAAAgAAAD3HhAAEwAAAAgAAAB9LRAAEwAAAAkAAABVKBAAFAAAAAkAAAAgMhAAFQAAAAkAAAAcIRAAFQAAAAoAAABUKhAAFgAAAAoAAACGJBAAFwAAAAoAAAB/MRAAGAAAAAoAAACQIBAAGAAAAAsAAADbLhAAGQAAAAsAAACsJhAAGgAAAAsAAACtNBAAGgAAAAwAAAC1IhAAGwAAAAwAAADzKxAAHAAAAAwAAAAqJhAAHAAAAA0AAAD3LxAAHQAAAA0AAAAXHhAAHgAAAA0AAABZLBAAHwAAAA0AAACsKBAAHwAAAA4AAAC7MhAAIAAAAA4AAAC5IRAAIQAAAA4AAACpKRAAIQAAAA8AAABjJBAAIgAAAA8AAACVMBAAIwAAAA8AAAAmIBAAIwAAABAAAABvLhAAJAAAABAAAABhJxAAJQAAABAAAAC5MxAAJgAAABAAAABSIxAAJgAAABEAAABDKxAAJwAAABEAAABiJRAAKAAAABEAAAB4LxAAKAAAABIAAABiHxAAKQAAABIAAAD7LBAAKgAAABIAAAAqKBAAKgAAABMAAAA2MhAAKwAAABMAAACMIRAALAAAABMAAADFKhAALQAAABMAAADjJBAALQAAABQAAABQMRAALgAAABQAAACpIBAALwAAABQAAAD1LhAALwAAABUAAAB7JhAAMAAAABUAAAAzNBAAMQAAABUAAADRIhAAMQAAABYAAADAKxAAMgAAABYAAABHJhAAMwAAABYAAABgMBAANAAAABYAAACCHhAANAAAABcAAADFLBAANQAAABcAAAAZKRAANgAAABcAAAAqMxAANgAAABgAAAApIhAANwAAABgAAADXKRAAOAAAABgAAADaIxAAOAAAABkAAAAWMRAAOQAAABkAAACaHxAAOgAAABkAAADSLRAAOwAAABkAAACHJxAAOwAAABoAAABsMxAAPAAAABoAAAAUIxAAPQAAABoAAAAFKxAAPQAAABsAAAAjJRAAPgAAABsAAAA4LxAAPwAAABsAAAC3HhAAPwAAABwAAACRLRAAQAAAABwAAABqKBAAQQAAABwAAADdMRAAQgAAABwAAADZIBAAQgAAAB0AAAAQKhAAQwAAAB0AAACeJBAARAAAAB0AAACYMRAARAAAAB4AAABKIBAARQAAAB4AAACULhAARgAAAB4AAADHJhAARgAAAB8AAABlNBAARwAAAB8AAABsIhAASAAAAB8AAAAQLBAASAAAACAAAADgJRAASQAAACAAAAAVMBAASgAAACAAAAA2HhAASwAAACAAAAB5LBAASwAAACEAAADMKBAATAAAACEAAADcMhAATQAAACEAAADbIRAATQAAACIAAABaKRAATgAAACIAAAATJBAATwAAACIAAAC5MBAATwAAACMAAADVHxAAUAAAACMAAAAdLhAAUQAAACMAAAAOJxAAUgAAACMAAADgMxAAUgAAACQAAAB5IxAAUwAAACQAAABrKxAAVAAAACQAAACLJRAAVAAAACUAAAChLxAAVQAAACUAAAALHxAAVgAAACUAAAAmLRAAVgAAACYAAADSJxAAVwAAACYAAABiMhAAWAAAACYAAAAyIRAAWQAAACYAAABrKhAAWQAAACcAAAB3YXJuaW5nKG9zYyk6IHVua25vd24gcnh2dCBleHRlbnNpb246IHdhcm5pbmcob3NjKTogaW52YWxpZCBPU0MgY29tbWFuZDogAAAAAAAAAAEAAAACAAAABAAAAAkAAAATAAAAJgAAAEwAAACZAAAAMwEAAGYCAADMBAAAmQkAADMTAABmJgAAzEwAAJmZAAAzMwEAZmYCAMzMBACZmQkAMzMTAGZmJgDMzEwAmZmZADMzMwFmZmYCzMzMBP///w93YXJuaW5nKHNjcmVlbik6IChTY3JlZW4uYWRqdXN0Q2FwYWNpdHkpIEZhaWxlZCB0byBhZGQgY3Vyc29yIHN0eWxlIGJhY2sgdG8gcGFnZSwgZXJyPXdhcm5pbmcoc2NyZWVuKTogKFNjcmVlbi5hZGp1c3RDYXBhY2l0eSkgRmFpbGVkIHRvIGFkZCBjdXJzb3IgaHlwZXJsaW5rIGJhY2sgdG8gcGFnZSwgZXJyPWVycm9yKHBhZ2VfbGlzdCk6IGZhaWxlZCB0byByZWdyb3cgYWN0aXZlIGFyZWEgYWZ0ZXIgZXJhc2UgZXJyPXdhcm5pbmcodGVybWluYWwpOiBzY3JvbGwgY2xlYXIgZmFpbGVkLCBkb2luZyBhIG5vcm1hbCBjbGVhciBlcnI9ZXJyb3IodGVybWluYWwpOiB1bmltcGxlbWVudGVkIGVyYXNlIGxpbmUgbW9kZTogZXJyb3IodGVybWluYWwpOiBpbnNlcnRMaW5lcyB0cmFja1BpbiBlcnJvciBlcnI9ZXJyb3IodGVybWluYWwpOiBkZWxldGVMaW5lcyB0cmFja1BpbiBlcnJvciBlcnI9d2FybmluZyh0ZXJtaW5hbCk6IGludmFsaWQgb3IgdW5rbm93biB0YWIgY2xlYXIgc2V0dGluZzogd2FybmluZyhvc2MpOiB6ZXJvIGxlbmd0aCBrZXkgaW4ga2l0dHkgY29sb3IgcHJvdG9jb2x3YXJuaW5nKG9zYyk6IHVua25vd24ga2V5IGluIGtpdHR5IGNvbG9yIHByb3RvY29sOiB3YXJuaW5nKG9zYyk6IGV4Y2VlZGVkIGxpbWl0IGZvciBudW1iZXIgb2Yga2V5cyBpbiBraXR0eSBjb2xvciBwcm90b2NvbCwgaWdub3Jpbmd3YXJuaW5nKG9zYyk6IHVuYWJsZSB0byBhcHBlbmQga2l0dHkgY29sb3IgcHJvdG9jb2wgb3B0aW9uOiB3YXJuaW5nKG9zYyk6IGludmFsaWQgY29sb3IgZm9ybWF0IGluIGtpdHR5IGNvbG9yIHByb3RvY29sOiB3YXJuaW5nKG9zYyk6IGFsbG9jYXRpb24gZmFpbGVkIG9uIGFsbG9jYWJsZSBzdHJpbmcgdGVybWluYXRpb24AAQIDBEVTQyAgJycgKFUrKTB4RVNDIFsgAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAoLDA0ODxAREhPvv70AAAAAAAEAAAACAAAAAwAAAAQAAAAAAAAAAADQCRAACwAAAGQYEAALAAAAcBgQAAoAAAB/EhAACwAAADgYEAANAAAAhgwQAAsAAAB8DhAADwAAAC8PEAAFAAAAJxgQABAAAACFFhAACgAAAJYPEAAVAAAAygwQABIAAACqFBAAEQAAAFEYEAASAAAAUxMQAAoAAAB7GBAACAAAAIQYEAAMAAAAoxcQAA8AAADEERAADQAAAEYYEAAKAAAAkRgQABAAAACLFBAACQAAAPIWEAAKAAAAPgsQAAgAAADxEBAADgAAADgUEAALAAAAVgkQABMAAAAwFBAAEwAAAKwJEAAWAAAAPgkQABcAAAAYFBAAFwAAAH0JEAAXAAAAlQkQABYAAADDCRAAGAAAAMUUEAAOAAAAlg0QAAsAAAA9DxAAEAAAAGoJEAASAAAAWwkQAA4AAAA1FBAADgAAANQdEAALAAAAqA0QAA0AAAAPDxAACwAAALMREAAQAAAAihEQABgAAACVFBAAFAAAANgUEAAYAAAA/RYQABUAAAAMFhAAFAAAAPEUEAAdAAAAARcQABEAAABw2REActkRAHDZEQCiSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCkSBIApkgSAKhIEgCiSBIAqkgSAKxIEgCuSBIAsEgSAKRIEgCySBIAtEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAskgSAKJIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCsSBIArkgSALBIEgCkSBIAoEgSALZIEgC4SBIAukgSALxIEgC+SBIAwEgSAMJIEgDESBIAoEgSAMZIEgDISBIAykgSAKBIEgDMSBIAzkgSANBIEgDSSBIA1EgSANZIEgDYSBIA2kgSANxIEgDeSBIA4EgSAOJIEgDkSBIAoEgSAKBIEgCgSBIAsEgSAA8AAAD/AAAA/w8AAP//AAAIAAAAAAAAAAIAAAAEAAAA",self.location),s=[];if(t.protocol==="file:"){let r=t.pathname;r.match(/^\/[A-Za-z]:\//)&&(r=r.slice(1)),s.push(r)}s.push(t.href,"./ghostty-vt.wasm","/ghostty-vt.wasm");let n=null;for(const r of s)try{return await lr.loadFromPath(r)}catch(i){n=i instanceof Error?i:new Error(String(i))}throw n||new Error("Failed to load Ghostty WASM")}static async loadFromPath(e){let t;if(typeof Bun<"u"&&typeof Bun.file=="function")try{const r=Bun.file(e);await r.exists()&&(t=await r.arrayBuffer())}catch{}if(!t)try{const r=await(await UE(async()=>{const{readFile:i}=await import("./__vite-browser-external-2447137e-BIHI7g3E.js");return{readFile:i}},[])).readFile(e);t=r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength)}catch{}if(!t){const r=await fetch(e);if(!r.ok)throw new Error(`Failed to fetch WASM: ${r.status} ${r.statusText}`);if(t=await r.arrayBuffer(),t.byteLength===0)throw new Error(`WASM file is empty (0 bytes). Check path: ${e}`)}if(!t)throw new Error(`Could not load WASM from path: ${e}`);const s=await WebAssembly.compile(t),n=await WebAssembly.instantiate(s,{env:{log:(r,i)=>{const a=new Uint8Array(n.exports.memory.buffer,r,i);console.log("[ghostty-vt]",new TextDecoder().decode(a))}}});return new lr(n)}}class ah{constructor(e){this.encoder=0,this.exports=e;const t=this.exports.ghostty_wasm_alloc_opaque(),s=this.exports.ghostty_key_encoder_new(0,t);if(s!==0)throw new Error(`Failed to create key encoder: ${s}`);const n=new DataView(this.exports.memory.buffer);this.encoder=n.getUint32(t,!0),this.exports.ghostty_wasm_free_opaque(t)}setOption(e,t){const s=this.exports.ghostty_wasm_alloc_u8();new DataView(this.exports.memory.buffer).setUint8(s,typeof t=="boolean"?t?1:0:t),this.exports.ghostty_key_encoder_setopt(this.encoder,e,s),this.exports.ghostty_wasm_free_u8(s)}setKittyFlags(e){this.setOption(Pa.KITTY_KEYBOARD_FLAGS,e)}encode(e){const t=this.exports.ghostty_wasm_alloc_opaque(),s=this.exports.ghostty_key_event_new(0,t);if(s!==0)throw new Error(`Failed to create key event: ${s}`);const n=new DataView(this.exports.memory.buffer),r=n.getUint32(t,!0);if(this.exports.ghostty_wasm_free_opaque(t),this.exports.ghostty_key_event_set_action(r,e.action),this.exports.ghostty_key_event_set_key(r,e.key),this.exports.ghostty_key_event_set_mods(r,e.mods),e.utf8){const I=new TextEncoder().encode(e.utf8),c=this.exports.ghostty_wasm_alloc_u8_array(I.length);new Uint8Array(this.exports.memory.buffer).set(I,c),this.exports.ghostty_key_event_set_utf8(r,c,I.length),this.exports.ghostty_wasm_free_u8_array(c,I.length)}const i=32,a=this.exports.ghostty_wasm_alloc_u8_array(i),g=this.exports.ghostty_wasm_alloc_usize(),Q=this.exports.ghostty_key_encoder_encode(this.encoder,r,a,i,g);if(Q!==0)throw this.exports.ghostty_wasm_free_u8_array(a,i),this.exports.ghostty_wasm_free_usize(g),this.exports.ghostty_key_event_free(r),new Error(`Failed to encode key: ${Q}`);const l=n.getUint32(g,!0),C=new Uint8Array(this.exports.memory.buffer,a,l).slice();return this.exports.ghostty_wasm_free_u8_array(a,i),this.exports.ghostty_wasm_free_usize(g),this.exports.ghostty_key_event_free(r),C}dispose(){this.encoder&&(this.exports.ghostty_key_encoder_free(this.encoder),this.encoder=0)}}const xl=class jo{constructor(e,t,s=80,n=24,r){var i;if(this.viewportBufferPtr=0,this.viewportBufferSize=0,this.cellPool=[],this.graphemeBuffer=null,this.graphemeBufferPtr=0,this.exports=e,this.memory=t,this._cols=s,this._rows=n,r){const a=this.exports.ghostty_wasm_alloc_u8_array(tQ);if(a===0)throw new Error("Failed to allocate config (out of memory)");try{const g=new DataView(this.memory.buffer);let Q=a;g.setUint32(Q,r.scrollbackLimit??1e4,!0),Q+=4,g.setUint32(Q,r.fgColor??0,!0),Q+=4,g.setUint32(Q,r.bgColor??0,!0),Q+=4,g.setUint32(Q,r.cursorColor??0,!0),Q+=4;for(let l=0;l<16;l++)g.setUint32(Q,((i=r.palette)==null?void 0:i[l])??0,!0),Q+=4;this.handle=this.exports.ghostty_terminal_new_with_config(s,n,a)}finally{this.exports.ghostty_wasm_free_u8_array(a,tQ)}}else this.handle=this.exports.ghostty_terminal_new(s,n);if(!this.handle)throw new Error("Failed to create terminal");this.initCellPool()}get cols(){return this._cols}get rows(){return this._rows}write(e){const t=typeof e=="string"?new TextEncoder().encode(e):e,s=this.exports.ghostty_wasm_alloc_u8_array(t.length);new Uint8Array(this.memory.buffer).set(t,s),this.exports.ghostty_terminal_write(this.handle,s,t.length),this.exports.ghostty_wasm_free_u8_array(s,t.length)}resize(e,t){e===this._cols&&t===this._rows||(this._cols=e,this._rows=t,this.exports.ghostty_terminal_resize(this.handle,e,t),this.invalidateBuffers(),this.initCellPool())}free(){this.viewportBufferPtr&&(this.exports.ghostty_wasm_free_u8_array(this.viewportBufferPtr,this.viewportBufferSize),this.viewportBufferPtr=0),this.exports.ghostty_terminal_free(this.handle)}update(){return this.exports.ghostty_render_state_update(this.handle)}getCursor(){return this.update(),{x:this.exports.ghostty_render_state_get_cursor_x(this.handle),y:this.exports.ghostty_render_state_get_cursor_y(this.handle),viewportX:this.exports.ghostty_render_state_get_cursor_x(this.handle),viewportY:this.exports.ghostty_render_state_get_cursor_y(this.handle),visible:this.exports.ghostty_render_state_get_cursor_visible(this.handle),blinking:!1,style:"block"}}getColors(){const e=this.exports.ghostty_render_state_get_bg_color(this.handle),t=this.exports.ghostty_render_state_get_fg_color(this.handle);return{background:{r:e>>16&255,g:e>>8&255,b:e&255},foreground:{r:t>>16&255,g:t>>8&255,b:t&255},cursor:null}}isRowDirty(e){return this.exports.ghostty_render_state_is_row_dirty(this.handle,e)}markClean(){this.exports.ghostty_render_state_mark_clean(this.handle)}getViewport(){const e=this._cols*this._rows,t=e*jo.CELL_SIZE;return(!this.viewportBufferPtr||this.viewportBufferSize<t)&&(this.viewportBufferPtr&&this.exports.ghostty_wasm_free_u8_array(this.viewportBufferPtr,this.viewportBufferSize),this.viewportBufferPtr=this.exports.ghostty_wasm_alloc_u8_array(t),this.viewportBufferSize=t),this.exports.ghostty_render_state_get_viewport(this.handle,this.viewportBufferPtr,e)<0?this.cellPool:(this.parseCellsIntoPool(this.viewportBufferPtr,e),this.cellPool)}getLine(e){if(e<0||e>=this._rows)return null;this.update();const t=this.getViewport(),s=e*this._cols;return t.slice(s,s+this._cols).map(n=>({...n}))}isDirty(){return this.update()!==_i.NONE}needsFullRedraw(){return this.update()===_i.FULL}clearDirty(){this.markClean()}isAlternateScreen(){return!!this.exports.ghostty_terminal_is_alternate_screen(this.handle)}hasBracketedPaste(){return this.getMode(2004,!1)}hasFocusEvents(){return this.getMode(1004,!1)}hasMouseTracking(){return this.exports.ghostty_terminal_has_mouse_tracking(this.handle)!==0}getDimensions(){return{cols:this._cols,rows:this._rows}}getScrollbackLength(){return this.exports.ghostty_terminal_get_scrollback_length(this.handle)}getScrollbackLine(e){const t=this._cols*jo.CELL_SIZE;(!this.viewportBufferPtr||this.viewportBufferSize<t)&&(this.viewportBufferPtr&&this.exports.ghostty_wasm_free_u8_array(this.viewportBufferPtr,this.viewportBufferSize),this.viewportBufferPtr=this.exports.ghostty_wasm_alloc_u8_array(t),this.viewportBufferSize=t),this.update();const s=this.exports.ghostty_terminal_get_scrollback_line(this.handle,e,this.viewportBufferPtr,this._cols);if(s<0)return null;const n=[],r=this.memory.buffer,i=new Uint8Array(r,this.viewportBufferPtr,s*jo.CELL_SIZE),a=new DataView(r,this.viewportBufferPtr,s*jo.CELL_SIZE);for(let g=0;g<s;g++){const Q=g*jo.CELL_SIZE;n.push({codepoint:a.getUint32(Q,!0),fg_r:i[Q+4],fg_g:i[Q+5],fg_b:i[Q+6],bg_r:i[Q+7],bg_g:i[Q+8],bg_b:i[Q+9],flags:i[Q+10],width:i[Q+11],hyperlink_id:a.getUint16(Q+12,!0),grapheme_len:i[Q+14]})}return n}isRowWrapped(e){return this.exports.ghostty_terminal_is_row_wrapped(this.handle,e)!==0}getHyperlinkUri(e){return null}hasResponse(){return this.exports.ghostty_terminal_has_response(this.handle)}readResponse(){if(!this.hasResponse())return null;const e=256,t=this.exports.ghostty_wasm_alloc_u8_array(e);try{const s=this.exports.ghostty_terminal_read_response(this.handle,t,e);if(s<=0)return null;const n=new Uint8Array(this.memory.buffer,t,s);return new TextDecoder().decode(n.slice())}finally{this.exports.ghostty_wasm_free_u8_array(t,e)}}getMode(e,t=!1){return this.exports.ghostty_terminal_get_mode(this.handle,e,t)!==0}initCellPool(){const e=this._cols*this._rows;if(this.cellPool.length<e)for(let t=this.cellPool.length;t<e;t++)this.cellPool.push({codepoint:0,fg_r:204,fg_g:204,fg_b:204,bg_r:0,bg_g:0,bg_b:0,flags:0,width:1,hyperlink_id:0,grapheme_len:0})}parseCellsIntoPool(e,t){const s=this.memory.buffer,n=new Uint8Array(s,e,t*jo.CELL_SIZE),r=new DataView(s,e,t*jo.CELL_SIZE);for(let i=0;i<t;i++){const a=i*jo.CELL_SIZE,g=this.cellPool[i];g.codepoint=r.getUint32(a,!0),g.fg_r=n[a+4],g.fg_g=n[a+5],g.fg_b=n[a+6],g.bg_r=n[a+7],g.bg_g=n[a+8],g.bg_b=n[a+9],g.flags=n[a+10],g.width=n[a+11],g.hyperlink_id=r.getUint16(a+12,!0),g.grapheme_len=n[a+14]}}getGrapheme(e,t){this.graphemeBuffer||(this.graphemeBufferPtr=this.exports.ghostty_wasm_alloc_u8_array(64),this.graphemeBuffer=new Uint32Array(this.memory.buffer,this.graphemeBufferPtr,16));const s=this.exports.ghostty_render_state_get_grapheme(this.handle,e,t,this.graphemeBufferPtr,16);if(s<0)return null;const n=new Uint32Array(this.memory.buffer,this.graphemeBufferPtr,s);return Array.from(n)}getGraphemeString(e,t){const s=this.getGrapheme(e,t);return!s||s.length===0?" ":String.fromCodePoint(...s)}getScrollbackGrapheme(e,t){this.graphemeBuffer||(this.graphemeBufferPtr=this.exports.ghostty_wasm_alloc_u8_array(64),this.graphemeBuffer=new Uint32Array(this.memory.buffer,this.graphemeBufferPtr,16));const s=this.exports.ghostty_terminal_get_scrollback_grapheme(this.handle,e,t,this.graphemeBufferPtr,16);if(s<0)return null;const n=new Uint32Array(this.memory.buffer,this.graphemeBufferPtr,s);return Array.from(n)}getScrollbackGraphemeString(e,t){const s=this.getScrollbackGrapheme(e,t);return!s||s.length===0?" ":String.fromCodePoint(...s)}invalidateBuffers(){this.viewportBufferPtr&&(this.exports.ghostty_wasm_free_u8_array(this.viewportBufferPtr,this.viewportBufferSize),this.viewportBufferPtr=0,this.viewportBufferSize=0)}};xl.CELL_SIZE=16;let gh=xl;class Io{constructor(){this.listeners=[],this.event=e=>(this.listeners.push(e),{dispose:()=>{const t=this.listeners.indexOf(e);t>=0&&this.listeners.splice(t,1)}})}fire(e){for(const t of this.listeners)t(e)}dispose(){this.listeners=[]}}class Qh{constructor(e){this.bufferChangeEmitter=new Io,this.terminal=e}get active(){const e=this.terminal.wasmTerm;return e?e.isAlternateScreen()?this.alternate:this.normal:this.normal}get normal(){return this._normalBuffer||(this._normalBuffer=new oQ(this.terminal,"normal")),this._normalBuffer}get alternate(){return this._alternateBuffer||(this._alternateBuffer=new oQ(this.terminal,"alternate")),this._alternateBuffer}get onBufferChange(){return this.bufferChangeEmitter.event}_fireBufferChange(e){this.bufferChangeEmitter.fire(e)}}class oQ{constructor(e,t){this.terminal=e,this.bufferType=t;const s={codepoint:0,fg_r:204,fg_g:204,fg_b:204,bg_r:0,bg_g:0,bg_b:0,flags:0,width:1,hyperlink_id:0,grapheme_len:0};this.nullCell=new Xi(s,0)}get type(){return this.bufferType}get cursorX(){const e=this.getWasmTerm();return e?e.getCursor().x:0}get cursorY(){const e=this.getWasmTerm();return e?e.getCursor().y:0}get viewportY(){return 0}get baseY(){return 0}get length(){const e=this.getWasmTerm();return e?this.bufferType==="alternate"?e.rows:e.getScrollbackLength()+e.rows:0}getLine(e){const t=this.getWasmTerm();if(!t||e<0||e>=this.length)return;const s=t.getScrollbackLength();let n,r,i;if(this.bufferType==="normal"&&e<s){const a=e;n=t.getScrollbackLine(a),i=!1}else r=this.bufferType==="normal"?e-s:e,n=t.getLine(r),i=t.isRowWrapped(r);if(n)return new Bh(n,i,t.cols)}getNullCell(){return this.nullCell}getWasmTerm(){return this.terminal.wasmTerm}}class Bh{constructor(e,t,s){this.cells=e,this._isWrapped=t,this._length=s}get length(){return this._length}get isWrapped(){return this._isWrapped}getCell(e){if(!(e<0||e>=this._length))return e>=this.cells.length?new Xi({codepoint:0,fg_r:204,fg_g:204,fg_b:204,bg_r:0,bg_g:0,bg_b:0,flags:0,width:1,hyperlink_id:0,grapheme_len:0},e):new Xi(this.cells[e],e)}translateToString(e=!1,t=0,s=this._length){const n=Math.max(0,Math.min(t,this._length)),r=Math.max(n,Math.min(s,this._length));let i="";for(let a=n;a<r;a++){const g=this.getCell(a);if(g){const Q=g.getChars();i+=Q}}return e&&(i=i.trimEnd()),i}}class Xi{constructor(e,t){this.cell=e,this.x=t}getChars(){const e=this.cell.codepoint;return e===0?"":e<0||e>1114111||e>=55296&&e<=57343?"�":String.fromCodePoint(e)}getCode(){return this.cell.codepoint}getWidth(){return this.cell.width}getFgColorMode(){return-1}getBgColorMode(){return-1}getFgColor(){return this.cell.fg_r<<16|this.cell.fg_g<<8|this.cell.fg_b}getBgColor(){return this.cell.bg_r<<16|this.cell.bg_g<<8|this.cell.bg_b}isBold(){return this.cell.flags&xt.BOLD?1:0}isItalic(){return this.cell.flags&xt.ITALIC?1:0}isUnderline(){return this.cell.flags&xt.UNDERLINE?1:0}isStrikethrough(){return this.cell.flags&xt.STRIKETHROUGH?1:0}isBlink(){return this.cell.flags&xt.BLINK?1:0}isInverse(){return this.cell.flags&xt.INVERSE?1:0}isInvisible(){return this.cell.flags&xt.INVISIBLE?1:0}isFaint(){return this.cell.flags&xt.FAINT?1:0}getHyperlinkId(){return this.cell.hyperlink_id}getCodepoint(){return this.cell.codepoint}isDim(){return(this.cell.flags&xt.FAINT)!==0}}const lh={KeyA:dA.A,KeyB:dA.B,KeyC:dA.C,KeyD:dA.D,KeyE:dA.E,KeyF:dA.F,KeyG:dA.G,KeyH:dA.H,KeyI:dA.I,KeyJ:dA.J,KeyK:dA.K,KeyL:dA.L,KeyM:dA.M,KeyN:dA.N,KeyO:dA.O,KeyP:dA.P,KeyQ:dA.Q,KeyR:dA.R,KeyS:dA.S,KeyT:dA.T,KeyU:dA.U,KeyV:dA.V,KeyW:dA.W,KeyX:dA.X,KeyY:dA.Y,KeyZ:dA.Z,Digit1:dA.ONE,Digit2:dA.TWO,Digit3:dA.THREE,Digit4:dA.FOUR,Digit5:dA.FIVE,Digit6:dA.SIX,Digit7:dA.SEVEN,Digit8:dA.EIGHT,Digit9:dA.NINE,Digit0:dA.ZERO,Enter:dA.ENTER,Escape:dA.ESCAPE,Backspace:dA.BACKSPACE,Tab:dA.TAB,Space:dA.SPACE,Minus:dA.MINUS,Equal:dA.EQUAL,BracketLeft:dA.BRACKET_LEFT,BracketRight:dA.BRACKET_RIGHT,Backslash:dA.BACKSLASH,Semicolon:dA.SEMICOLON,Quote:dA.QUOTE,Backquote:dA.GRAVE,Comma:dA.COMMA,Period:dA.PERIOD,Slash:dA.SLASH,CapsLock:dA.CAPS_LOCK,F1:dA.F1,F2:dA.F2,F3:dA.F3,F4:dA.F4,F5:dA.F5,F6:dA.F6,F7:dA.F7,F8:dA.F8,F9:dA.F9,F10:dA.F10,F11:dA.F11,F12:dA.F12,PrintScreen:dA.PRINT_SCREEN,ScrollLock:dA.SCROLL_LOCK,Pause:dA.PAUSE,Insert:dA.INSERT,Home:dA.HOME,PageUp:dA.PAGE_UP,Delete:dA.DELETE,End:dA.END,PageDown:dA.PAGE_DOWN,ArrowRight:dA.RIGHT,ArrowLeft:dA.LEFT,ArrowDown:dA.DOWN,ArrowUp:dA.UP,NumLock:dA.NUM_LOCK,NumpadDivide:dA.KP_DIVIDE,NumpadMultiply:dA.KP_MULTIPLY,NumpadSubtract:dA.KP_MINUS,NumpadAdd:dA.KP_PLUS,NumpadEnter:dA.KP_ENTER,Numpad1:dA.KP_1,Numpad2:dA.KP_2,Numpad3:dA.KP_3,Numpad4:dA.KP_4,Numpad5:dA.KP_5,Numpad6:dA.KP_6,Numpad7:dA.KP_7,Numpad8:dA.KP_8,Numpad9:dA.KP_9,Numpad0:dA.KP_0,NumpadDecimal:dA.KP_PERIOD,IntlBackslash:dA.INTL_BACKSLASH,ContextMenu:dA.CONTEXT_MENU,F13:dA.F13,F14:dA.F14,F15:dA.F15,F16:dA.F16,F17:dA.F17,F18:dA.F18,F19:dA.F19,F20:dA.F20,F21:dA.F21,F22:dA.F22,F23:dA.F23,F24:dA.F24};class ch{constructor(e,t,s,n,r,i,a){this.keydownListener=null,this.keypressListener=null,this.pasteListener=null,this.compositionStartListener=null,this.compositionUpdateListener=null,this.compositionEndListener=null,this.isComposing=!1,this.isDisposed=!1,this.encoder=e.createKeyEncoder(),this.container=t,this.onDataCallback=s,this.onBellCallback=n,this.onKeyCallback=r,this.customKeyEventHandler=i,this.getModeCallback=a,this.attach()}setCustomKeyEventHandler(e){this.customKeyEventHandler=e}attach(){typeof this.container.hasAttribute=="function"&&typeof this.container.setAttribute=="function"&&(this.container.hasAttribute("tabindex")||this.container.setAttribute("tabindex","0"),this.container.style&&(this.container.style.outline="none")),this.keydownListener=this.handleKeyDown.bind(this),this.container.addEventListener("keydown",this.keydownListener),this.pasteListener=this.handlePaste.bind(this),this.container.addEventListener("paste",this.pasteListener),this.compositionStartListener=this.handleCompositionStart.bind(this),this.container.addEventListener("compositionstart",this.compositionStartListener),this.compositionUpdateListener=this.handleCompositionUpdate.bind(this),this.container.addEventListener("compositionupdate",this.compositionUpdateListener),this.compositionEndListener=this.handleCompositionEnd.bind(this),this.container.addEventListener("compositionend",this.compositionEndListener)}mapKeyCode(e){return lh[e]??null}extractModifiers(e){let t=Xo.NONE;return e.shiftKey&&(t|=Xo.SHIFT),e.ctrlKey&&(t|=Xo.CTRL),e.altKey&&(t|=Xo.ALT),e.metaKey&&(t|=Xo.SUPER),t}isPrintableCharacter(e){return e.ctrlKey&&!e.altKey||e.altKey&&!e.ctrlKey||e.metaKey?!1:e.key.length===1}handleKeyDown(e){if(this.isDisposed||this.isComposing||e.isComposing||e.keyCode===229)return;if(this.onKeyCallback&&this.onKeyCallback({key:e.key,domEvent:e}),this.customKeyEventHandler&&this.customKeyEventHandler(e)){e.preventDefault();return}if((e.ctrlKey||e.metaKey)&&e.code==="KeyV"||e.metaKey&&e.code==="KeyC")return;if(this.isPrintableCharacter(e)){e.preventDefault(),this.onDataCallback(e.key);return}const t=this.mapKeyCode(e.code);if(t===null)return;const s=this.extractModifiers(e);if(s===Xo.NONE||s===Xo.SHIFT){let r=null;switch(t){case dA.ENTER:r="\r";break;case dA.TAB:r=" ";break;case dA.BACKSPACE:r="";break;case dA.ESCAPE:r="\x1B";break;case dA.HOME:r="\x1B[H";break;case dA.END:r="\x1B[F";break;case dA.INSERT:r="\x1B[2~";break;case dA.DELETE:r="\x1B[3~";break;case dA.PAGE_UP:r="\x1B[5~";break;case dA.PAGE_DOWN:r="\x1B[6~";break;case dA.F1:r="\x1BOP";break;case dA.F2:r="\x1BOQ";break;case dA.F3:r="\x1BOR";break;case dA.F4:r="\x1BOS";break;case dA.F5:r="\x1B[15~";break;case dA.F6:r="\x1B[17~";break;case dA.F7:r="\x1B[18~";break;case dA.F8:r="\x1B[19~";break;case dA.F9:r="\x1B[20~";break;case dA.F10:r="\x1B[21~";break;case dA.F11:r="\x1B[23~";break;case dA.F12:r="\x1B[24~";break}if(r!==null){e.preventDefault(),this.onDataCallback(r);return}}const n=wl.PRESS;try{if(this.getModeCallback){const g=this.getModeCallback(1);this.encoder.setOption(Pa.CURSOR_KEY_APPLICATION,g)}const r=e.key.length===1&&e.key.charCodeAt(0)<128?e.key.toLowerCase():void 0,i=this.encoder.encode({action:n,key:t,mods:s,utf8:r}),a=new TextDecoder().decode(i);e.preventDefault(),e.stopPropagation(),a.length>0&&this.onDataCallback(a)}catch(r){console.warn("Failed to encode key:",e.code,r)}}handlePaste(e){if(this.isDisposed)return;e.preventDefault(),e.stopPropagation();const t=e.clipboardData;if(!t){console.warn("No clipboard data available");return}const s=t.getData("text/plain");if(!s){console.warn("No text in clipboard");return}this.onDataCallback(s)}handleCompositionStart(e){this.isDisposed||(this.isComposing=!0)}handleCompositionUpdate(e){this.isDisposed}handleCompositionEnd(e){if(this.isDisposed)return;this.isComposing=!1;const t=e.data;if(t&&t.length>0&&this.onDataCallback(t),this.container&&this.container.childNodes)for(let s=this.container.childNodes.length-1;s>=0;s--){const n=this.container.childNodes[s];n.nodeType===3&&this.container.removeChild(n)}}dispose(){this.isDisposed||(this.keydownListener&&(this.container.removeEventListener("keydown",this.keydownListener),this.keydownListener=null),this.keypressListener&&(this.container.removeEventListener("keypress",this.keypressListener),this.keypressListener=null),this.pasteListener&&(this.container.removeEventListener("paste",this.pasteListener),this.pasteListener=null),this.compositionStartListener&&(this.container.removeEventListener("compositionstart",this.compositionStartListener),this.compositionStartListener=null),this.compositionUpdateListener&&(this.container.removeEventListener("compositionupdate",this.compositionUpdateListener),this.compositionUpdateListener=null),this.compositionEndListener&&(this.container.removeEventListener("compositionend",this.compositionEndListener),this.compositionEndListener=null),this.isDisposed=!0)}isActive(){return!this.isDisposed}}class Eh{constructor(e){this.terminal=e,this.providers=[],this.linkCache=new Map,this.scannedRows=new Set}registerProvider(e){this.providers.push(e),this.invalidateCache()}async getLinkAt(e,t){const s=this.terminal.buffer.active.getLine(t);if(!s||e<0||e>=s.length)return;const n=s.getCell(e);if(!n)return;const r=n.getHyperlinkId();if(r>0){const i=`h${r}`;if(this.linkCache.has(i))return this.linkCache.get(i)}if(this.scannedRows.has(t)||await this.scanRow(t),r>0){const i=`h${r}`,a=this.linkCache.get(i);if(a)return a}for(const i of this.linkCache.values())if(this.isPositionInLink(e,t,i))return i}async scanRow(e){this.scannedRows.add(e);const t=[];for(const s of this.providers){const n=await new Promise(r=>{s.provideLinks(e,r)});n&&t.push(...n)}for(const s of t)this.cacheLink(s)}cacheLink(e){const{start:t}=e.range,s=this.terminal.buffer.active.getLine(t.y);if(s){const a=s.getCell(t.x);if(!a){const{start:Q,end:l}=e.range,C=`r${Q.y}:${Q.x}-${l.x}`;this.linkCache.set(C,e);return}const g=a.getHyperlinkId();if(g>0){this.linkCache.set(`h${g}`,e);return}}const{start:n,end:r}=e.range,i=`r${n.y}:${n.x}-${r.x}`;this.linkCache.set(i,e)}isPositionInLink(e,t,s){const{start:n,end:r}=s.range;return t<n.y||t>r.y?!1:n.y===r.y?e>=n.x&&e<=r.x:t===n.y?e>=n.x:t===r.y?e<=r.x:!0}invalidateCache(){this.linkCache.clear(),this.scannedRows.clear()}invalidateRows(e,t){for(let n=e;n<=t;n++)this.scannedRows.delete(n);const s=[];for(const[n,r]of this.linkCache.entries()){const{start:i,end:a}=r.range;(i.y>=e&&i.y<=t||a.y>=e&&a.y<=t||i.y<e&&a.y>t)&&s.push(n)}for(const n of s)this.linkCache.delete(n)}dispose(){var e;this.linkCache.clear(),this.scannedRows.clear();for(const t of this.providers)(e=t.dispose)==null||e.call(t);this.providers=[]}}class Ch{constructor(e){this.terminal=e}provideLinks(e,t){const s=[],n=new Set,r=this.terminal.buffer.active.getLine(e);if(!r){t(void 0);return}for(let i=0;i<r.length;i++){const a=r.getCell(i);if(!a)continue;const g=a.getHyperlinkId();if(g===0||n.has(g))continue;n.add(g);const Q=this.findLinkRange(g,e,i);if(!this.terminal.wasmTerm)continue;const l=this.terminal.wasmTerm.getHyperlinkUri(g);l&&s.push({text:l,range:Q,activate:C=>{(C.ctrlKey||C.metaKey)&&window.open(l,"_blank","noopener,noreferrer")}})}t(s.length>0?s:void 0)}findLinkRange(e,t,s){const n=this.terminal.buffer.active;let r=t,i=s;for(;i>0;){const l=n.getLine(r);if(!l)break;const C=l.getCell(i-1);if(!C||C.getHyperlinkId()!==e)break;i--}if(i===0&&r>0){let l=r-1;for(;l>=0;){const C=n.getLine(l);if(!C||C.length===0)break;const I=C.getCell(C.length-1);if(!I||I.getHyperlinkId()!==e)break;r=l,i=0;for(let c=C.length-1;c>=0;c--){const u=C.getCell(c);if(!u||u.getHyperlinkId()!==e){i=c+1;break}}if(i===0)l--;else break}}let a=t,g=s;const Q=n.getLine(a);if(Q){for(;g<Q.length-1;){const l=Q.getCell(g+1);if(!l||l.getHyperlinkId()!==e)break;g++}if(g===Q.length-1){let l=a+1;const C=n.length;for(;l<C;){const I=n.getLine(l);if(!I||I.length===0)break;const c=I.getCell(0);if(!c||c.getHyperlinkId()!==e)break;a=l,g=0;for(let u=0;u<I.length;u++){const f=I.getCell(u);if(!f)break;if(f.getHyperlinkId()!==e){g=u-1;break}g=u}if(g===I.length-1)l++;else break}}}return{start:{x:i,y:r},end:{x:g,y:a}}}dispose(){}}const Wa=class ar{constructor(e){this.terminal=e}provideLinks(e,t){const s=[],n=this.terminal.buffer.active.getLine(e);if(!n){t(void 0);return}const r=this.lineToText(n);ar.URL_REGEX.lastIndex=0;let i=ar.URL_REGEX.exec(r);for(;i!==null;){let a=i[0];const g=i.index;let Q=i.index+a.length-1;const l=a.replace(ar.TRAILING_PUNCTUATION,"");l.length<a.length&&(a=l,Q=g+a.length-1),a.length>8&&s.push({text:a,range:{start:{x:g,y:e},end:{x:Q,y:e}},activate:C=>{(C.ctrlKey||C.metaKey)&&window.open(a,"_blank","noopener,noreferrer")}}),i=ar.URL_REGEX.exec(r)}t(s.length>0?s:void 0)}lineToText(e){const t=[];for(let s=0;s<e.length;s++){const n=e.getCell(s);if(!n){t.push(" ");continue}const r=n.getCodepoint();r===0||r<32?t.push(" "):t.push(String.fromCodePoint(r))}return t.join("")}dispose(){}};Wa.URL_REGEX=/(?:https?:\/\/|mailto:|ftp:\/\/|ssh:\/\/|git:\/\/|tel:|magnet:|gemini:\/\/|gopher:\/\/|news:)[\w\-.~:\/?#@!$&*+,;=%]+/gi;Wa.TRAILING_PUNCTUATION=/[.,;!?)\]]+$/;let Ih=Wa;const sQ={foreground:"#d4d4d4",background:"#1e1e1e",cursor:"#ffffff",cursorAccent:"#1e1e1e",selectionBackground:"#d4d4d4",selectionForeground:"#1e1e1e",black:"#000000",red:"#cd3131",green:"#0dbc79",yellow:"#e5e510",blue:"#2472c8",magenta:"#bc3fbc",cyan:"#11a8cd",white:"#e5e5e5",brightBlack:"#666666",brightRed:"#f14c4c",brightGreen:"#23d18b",brightYellow:"#f5f543",brightBlue:"#3b8eea",brightMagenta:"#d670d6",brightCyan:"#29b8db",brightWhite:"#ffffff"};class uh{constructor(e,t={}){this.cursorVisible=!0,this.lastCursorPosition={x:0,y:0},this.lastViewportY=0,this.currentBuffer=null,this.currentSelectionCoords=null,this.hoveredHyperlinkId=0,this.previousHoveredHyperlinkId=0,this.hoveredLinkRange=null,this.previousHoveredLinkRange=null,this.canvas=e;const s=e.getContext("2d",{alpha:!0});if(!s)throw new Error("Failed to get 2D rendering context");this.ctx=s,this.fontSize=t.fontSize??15,this.fontFamily=t.fontFamily??"monospace",this.cursorStyle=t.cursorStyle??"block",this.cursorBlink=t.cursorBlink??!1,this.theme={...sQ,...t.theme},this.devicePixelRatio=t.devicePixelRatio??window.devicePixelRatio??1,this.palette=[this.theme.black,this.theme.red,this.theme.green,this.theme.yellow,this.theme.blue,this.theme.magenta,this.theme.cyan,this.theme.white,this.theme.brightBlack,this.theme.brightRed,this.theme.brightGreen,this.theme.brightYellow,this.theme.brightBlue,this.theme.brightMagenta,this.theme.brightCyan,this.theme.brightWhite],this.metrics=this.measureFont(),this.cursorBlink&&this.startCursorBlink()}measureFont(){const e=document.createElement("canvas").getContext("2d");e.font=`${this.fontSize}px ${this.fontFamily}`;const t=e.measureText("M"),s=Math.ceil(t.width),n=t.actualBoundingBoxAscent||this.fontSize*.8,r=t.actualBoundingBoxDescent||this.fontSize*.2,i=Math.ceil(n+r)+2,a=Math.ceil(n)+1;return{width:s,height:i,baseline:a}}remeasureFont(){this.metrics=this.measureFont()}rgbToCSS(e,t,s){return`rgb(${e}, ${t}, ${s})`}resize(e,t){const s=e*this.metrics.width,n=t*this.metrics.height;this.canvas.style.width=`${s}px`,this.canvas.style.height=`${n}px`,this.canvas.width=s*this.devicePixelRatio,this.canvas.height=n*this.devicePixelRatio,this.ctx.scale(this.devicePixelRatio,this.devicePixelRatio),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left",this.ctx.fillStyle=this.theme.background,this.ctx.fillRect(0,0,s,n)}render(e,t=!1,s=0,n,r=1){var i;this.currentBuffer=e;const a=e.getCursor(),g=e.getDimensions(),Q=n?n.getScrollbackLength():0;(i=e.needsFullRedraw)!=null&&i.call(e)&&(t=!0),(this.canvas.width!==g.cols*this.metrics.width*this.devicePixelRatio||this.canvas.height!==g.rows*this.metrics.height*this.devicePixelRatio)&&(this.resize(g.cols,g.rows),t=!0),s!==this.lastViewportY&&(t=!0,this.lastViewportY=s);const l=a.x!==this.lastCursorPosition.x||a.y!==this.lastCursorPosition.y;if(l||this.cursorBlink){if(!t&&!e.isRowDirty(a.y)){const k=e.getLine(a.y);k&&this.renderLine(k,a.y,g.cols)}if(l&&this.lastCursorPosition.y!==a.y&&!t&&!e.isRowDirty(this.lastCursorPosition.y)){const k=e.getLine(this.lastCursorPosition.y);k&&this.renderLine(k,this.lastCursorPosition.y,g.cols)}}const C=this.selectionManager&&this.selectionManager.hasSelection(),I=new Set;if(this.currentSelectionCoords=C?this.selectionManager.getSelectionCoords():null,this.currentSelectionCoords){const k=this.currentSelectionCoords;for(let v=k.startRow;v<=k.endRow;v++)I.add(v)}if(this.selectionManager){const k=this.selectionManager.getDirtySelectionRows();if(k.size>0){for(const v of k)I.add(v);this.selectionManager.clearDirtySelectionRows()}}const c=new Set,u=this.hoveredHyperlinkId!==this.previousHoveredHyperlinkId,f=JSON.stringify(this.hoveredLinkRange)!==JSON.stringify(this.previousHoveredLinkRange);if(u){for(let k=0;k<g.rows;k++){let v=null;if(s>0)if(k<s&&n){const D=Q-Math.floor(s)+k;v=n.getScrollbackLine(D)}else{const D=k-Math.floor(s);v=e.getLine(D)}else v=e.getLine(k);if(v){for(const D of v)if(D.hyperlink_id===this.hoveredHyperlinkId||D.hyperlink_id===this.previousHoveredHyperlinkId){c.add(k);break}}}this.previousHoveredHyperlinkId=this.hoveredHyperlinkId}if(f){if(this.previousHoveredLinkRange)for(let k=this.previousHoveredLinkRange.startY;k<=this.previousHoveredLinkRange.endY;k++)c.add(k);if(this.hoveredLinkRange)for(let k=this.hoveredLinkRange.startY;k<=this.hoveredLinkRange.endY;k++)c.add(k);this.previousHoveredLinkRange=this.hoveredLinkRange}const h=new Set;for(let k=0;k<g.rows;k++)(s>0||t||e.isRowDirty(k)||I.has(k)||c.has(k))&&(h.add(k),k>0&&h.add(k-1),k<g.rows-1&&h.add(k+1));for(let k=0;k<g.rows;k++){if(!h.has(k))continue;let v=null;if(s>0)if(k<s&&n){const D=Q-Math.floor(s)+k;v=n.getScrollbackLine(D)}else{const D=s>0?k-Math.floor(s):k;v=e.getLine(D)}else v=e.getLine(k);v&&this.renderLine(v,k,g.cols)}s===0&&a.visible&&this.cursorVisible&&this.renderCursor(a.x,a.y),n&&r>0&&this.renderScrollbar(s,Q,g.rows,r),this.lastCursorPosition={x:a.x,y:a.y},e.clearDirty()}renderLine(e,t,s){const n=t*this.metrics.height;this.ctx.fillStyle=this.theme.background,this.ctx.fillRect(0,n,s*this.metrics.width,this.metrics.height);for(let r=0;r<e.length;r++){const i=e[r];i.width!==0&&this.renderCellBackground(i,r,t)}for(let r=0;r<e.length;r++){const i=e[r];i.width!==0&&this.renderCellText(i,r,t)}}renderCellBackground(e,t,s){const n=t*this.metrics.width,r=s*this.metrics.height,i=this.metrics.width*e.width;if(this.isInSelection(t,s)){this.ctx.fillStyle=this.theme.selectionBackground,this.ctx.fillRect(n,r,i,this.metrics.height);return}let a=e.bg_r,g=e.bg_g,Q=e.bg_b;e.flags&xt.INVERSE&&(a=e.fg_r,g=e.fg_g,Q=e.fg_b),a===0&&g===0&&Q===0||(this.ctx.fillStyle=this.rgbToCSS(a,g,Q),this.ctx.fillRect(n,r,i,this.metrics.height))}renderCellText(e,t,s){var n;const r=t*this.metrics.width,i=s*this.metrics.height,a=this.metrics.width*e.width;if(e.flags&xt.INVISIBLE)return;const g=this.isInSelection(t,s);let Q="";if(e.flags&xt.ITALIC&&(Q+="italic "),e.flags&xt.BOLD&&(Q+="bold "),this.ctx.font=`${Q}${this.fontSize}px ${this.fontFamily}`,g)this.ctx.fillStyle=this.theme.selectionForeground;else{let c=e.fg_r,u=e.fg_g,f=e.fg_b;e.flags&xt.INVERSE&&(c=e.bg_r,u=e.bg_g,f=e.bg_b),this.ctx.fillStyle=this.rgbToCSS(c,u,f)}e.flags&xt.FAINT&&(this.ctx.globalAlpha=.5);const l=r,C=i+this.metrics.baseline;let I;if(e.grapheme_len>0&&(n=this.currentBuffer)!=null&&n.getGraphemeString?I=this.currentBuffer.getGraphemeString(s,t):I=String.fromCodePoint(e.codepoint||32),this.ctx.fillText(I,l,C),e.flags&xt.FAINT&&(this.ctx.globalAlpha=1),e.flags&xt.UNDERLINE){const c=i+this.metrics.baseline+2;this.ctx.strokeStyle=this.ctx.fillStyle,this.ctx.lineWidth=1,this.ctx.beginPath(),this.ctx.moveTo(r,c),this.ctx.lineTo(r+a,c),this.ctx.stroke()}if(e.flags&xt.STRIKETHROUGH){const c=i+this.metrics.height/2;this.ctx.strokeStyle=this.ctx.fillStyle,this.ctx.lineWidth=1,this.ctx.beginPath(),this.ctx.moveTo(r,c),this.ctx.lineTo(r+a,c),this.ctx.stroke()}if(e.hyperlink_id>0&&e.hyperlink_id===this.hoveredHyperlinkId){const c=i+this.metrics.baseline+2;this.ctx.strokeStyle="#4A90E2",this.ctx.lineWidth=1,this.ctx.beginPath(),this.ctx.moveTo(r,c),this.ctx.lineTo(r+a,c),this.ctx.stroke()}if(this.hoveredLinkRange){const c=this.hoveredLinkRange;if(s===c.startY&&t>=c.startX&&(s<c.endY||t<=c.endX)||s>c.startY&&s<c.endY||s===c.endY&&t<=c.endX&&(s>c.startY||t>=c.startX)){const u=i+this.metrics.baseline+2;this.ctx.strokeStyle="#4A90E2",this.ctx.lineWidth=1,this.ctx.beginPath(),this.ctx.moveTo(r,u),this.ctx.lineTo(r+a,u),this.ctx.stroke()}}}renderCursor(e,t){const s=e*this.metrics.width,n=t*this.metrics.height;switch(this.ctx.fillStyle=this.theme.cursor,this.cursorStyle){case"block":this.ctx.fillRect(s,n,this.metrics.width,this.metrics.height);break;case"underline":const r=Math.max(2,Math.floor(this.metrics.height*.15));this.ctx.fillRect(s,n+this.metrics.height-r,this.metrics.width,r);break;case"bar":const i=Math.max(2,Math.floor(this.metrics.width*.15));this.ctx.fillRect(s,n,i,this.metrics.height);break}}startCursorBlink(){this.cursorBlinkInterval=window.setInterval(()=>{this.cursorVisible=!this.cursorVisible},530)}stopCursorBlink(){this.cursorBlinkInterval!==void 0&&(clearInterval(this.cursorBlinkInterval),this.cursorBlinkInterval=void 0),this.cursorVisible=!0}setTheme(e){this.theme={...sQ,...e},this.palette=[this.theme.black,this.theme.red,this.theme.green,this.theme.yellow,this.theme.blue,this.theme.magenta,this.theme.cyan,this.theme.white,this.theme.brightBlack,this.theme.brightRed,this.theme.brightGreen,this.theme.brightYellow,this.theme.brightBlue,this.theme.brightMagenta,this.theme.brightCyan,this.theme.brightWhite]}setFontSize(e){this.fontSize=e,this.metrics=this.measureFont()}setFontFamily(e){this.fontFamily=e,this.metrics=this.measureFont()}setCursorStyle(e){this.cursorStyle=e}setCursorBlink(e){e&&!this.cursorBlink?(this.cursorBlink=!0,this.startCursorBlink()):!e&&this.cursorBlink&&(this.cursorBlink=!1,this.stopCursorBlink())}renderScrollbar(e,t,s,n=1){const r=this.ctx,i=this.canvas.height/this.devicePixelRatio,a=this.canvas.width/this.devicePixelRatio,g=8,Q=a-g-4,l=4,C=i-l*2;if(r.fillStyle=this.theme.background,r.fillRect(Q-2,0,g+6,i),n<=0||t===0)return;const I=t+s,c=Math.max(20,s/I*C),u=e/t,f=l+(C-c)*(1-u);r.fillStyle=`rgba(128, 128, 128, ${.1*n})`,r.fillRect(Q,l,g,C);const h=e>0?.5:.3;r.fillStyle=`rgba(128, 128, 128, ${h*n})`,r.fillRect(Q,f,g,c)}getMetrics(){return{...this.metrics}}getCanvas(){return this.canvas}setSelectionManager(e){this.selectionManager=e}isInSelection(e,t){const s=this.currentSelectionCoords;if(!s)return!1;const{startCol:n,startRow:r,endCol:i,endRow:a}=s;return r===a?t===r&&e>=n&&e<=i:t===r?e>=n:t===a?e<=i:t>r&&t<a}setHoveredHyperlinkId(e){this.hoveredHyperlinkId=e}setHoveredLinkRange(e){this.hoveredLinkRange=e}get charWidth(){return this.metrics.width}get charHeight(){return this.metrics.height}clear(){this.ctx.fillStyle=this.theme.background,this.ctx.fillRect(0,0,this.canvas.width,this.canvas.height)}dispose(){this.stopCursorBlink()}}const Tn=class sn{constructor(e,t,s,n){this.selectionStart=null,this.selectionEnd=null,this.isSelecting=!1,this.mouseDownTarget=null,this.dirtySelectionRows=new Set,this.selectionChangedEmitter=new Io,this.boundMouseUpHandler=null,this.boundContextMenuHandler=null,this.boundClickHandler=null,this.boundDocumentMouseMoveHandler=null,this.autoScrollInterval=null,this.autoScrollDirection=0,this.terminal=e,this.renderer=t,this.wasmTerm=s,this.textarea=n,this.attachEventListeners()}getViewportY(){const e=typeof this.terminal.getViewportY=="function"?this.terminal.getViewportY():this.terminal.viewportY||0;return Math.max(0,Math.floor(e))}viewportRowToAbsolute(e){const t=this.wasmTerm.getScrollbackLength(),s=this.getViewportY();return t+e-s}absoluteRowToViewport(e){const t=this.wasmTerm.getScrollbackLength(),s=this.getViewportY();return e-t+s}getSelection(){if(!this.selectionStart||!this.selectionEnd)return"";let{col:e,absoluteRow:t}=this.selectionStart,{col:s,absoluteRow:n}=this.selectionEnd;(t>n||t===n&&e>s)&&([e,s]=[s,e],[t,n]=[n,t]);const r=this.wasmTerm.getScrollbackLength();let i="";for(let a=t;a<=n;a++){let g=null;if(a<r)g=this.wasmTerm.getScrollbackLine(a);else{const c=a-r;g=this.wasmTerm.getLine(c)}if(!g)continue;let Q=-1;const l=a===t?e:0,C=a===n?s:g.length-1;let I="";for(let c=l;c<=C;c++){const u=g[c];if(u&&u.codepoint!==0){let f;if(u.grapheme_len>0)if(a<r)f=this.wasmTerm.getScrollbackGraphemeString(a,c);else{const h=a-r;f=this.wasmTerm.getGraphemeString(h,c)}else f=String.fromCodePoint(u.codepoint);I+=f,f.trim()&&(Q=I.length)}else I+=" "}Q>=0?I=I.substring(0,Q):I="",i+=I,a<n&&(i+=`
|
|
14
|
+
`)}return i}hasSelection(){return!this.selectionStart||!this.selectionEnd?!1:!(this.selectionStart.col===this.selectionEnd.col&&this.selectionStart.absoluteRow===this.selectionEnd.absoluteRow)}clearSelection(){if(!this.hasSelection())return;const e=this.normalizeSelection();if(e)for(let t=e.startRow;t<=e.endRow;t++)this.dirtySelectionRows.add(t);this.selectionStart=null,this.selectionEnd=null,this.isSelecting=!1,this.requestRender()}selectAll(){const e=this.wasmTerm.getDimensions(),t=this.getViewportY();this.selectionStart={col:0,absoluteRow:t},this.selectionEnd={col:e.cols-1,absoluteRow:t+e.rows-1},this.requestRender(),this.selectionChangedEmitter.fire()}select(e,t,s){const n=this.wasmTerm.getDimensions();t=Math.max(0,Math.min(t,n.rows-1)),e=Math.max(0,Math.min(e,n.cols-1));let r=t,i=e+s-1;for(;i>=n.cols;)i-=n.cols,r++;r=Math.min(r,n.rows-1);const a=this.getViewportY();this.selectionStart={col:e,absoluteRow:a+t},this.selectionEnd={col:i,absoluteRow:a+r},this.requestRender(),this.selectionChangedEmitter.fire()}selectLines(e,t){const s=this.wasmTerm.getDimensions();e=Math.max(0,Math.min(e,s.rows-1)),t=Math.max(0,Math.min(t,s.rows-1)),e>t&&([e,t]=[t,e]);const n=this.getViewportY();this.selectionStart={col:0,absoluteRow:n+e},this.selectionEnd={col:s.cols-1,absoluteRow:n+t},this.requestRender(),this.selectionChangedEmitter.fire()}getSelectionPosition(){const e=this.normalizeSelection();if(e)return{start:{x:e.startCol,y:e.startRow},end:{x:e.endCol,y:e.endRow}}}deselect(){this.clearSelection(),this.selectionChangedEmitter.fire()}focus(){const e=this.renderer.getCanvas();e.parentElement&&e.parentElement.focus()}getSelectionCoords(){return this.normalizeSelection()}getDirtySelectionRows(){return this.dirtySelectionRows}clearDirtySelectionRows(){this.dirtySelectionRows.clear()}get onSelectionChange(){return this.selectionChangedEmitter.event}dispose(){this.selectionChangedEmitter.dispose(),this.stopAutoScroll(),this.boundMouseUpHandler&&(document.removeEventListener("mouseup",this.boundMouseUpHandler),this.boundMouseUpHandler=null),this.boundDocumentMouseMoveHandler&&(document.removeEventListener("mousemove",this.boundDocumentMouseMoveHandler),this.boundDocumentMouseMoveHandler=null),this.boundContextMenuHandler&&(this.renderer.getCanvas().removeEventListener("contextmenu",this.boundContextMenuHandler),this.boundContextMenuHandler=null),this.boundClickHandler&&(document.removeEventListener("click",this.boundClickHandler),this.boundClickHandler=null)}attachEventListeners(){const e=this.renderer.getCanvas();e.addEventListener("mousedown",t=>{if(t.button===0){e.parentElement&&e.parentElement.focus();const s=this.pixelToCell(t.offsetX,t.offsetY);this.hasSelection()&&this.clearSelection();const n=this.viewportRowToAbsolute(s.row);this.selectionStart={col:s.col,absoluteRow:n},this.selectionEnd={col:s.col,absoluteRow:n},this.isSelecting=!0}}),e.addEventListener("mousemove",t=>{if(this.isSelecting){this.markCurrentSelectionDirty();const s=this.pixelToCell(t.offsetX,t.offsetY),n=this.viewportRowToAbsolute(s.row);this.selectionEnd={col:s.col,absoluteRow:n},this.requestRender(),this.updateAutoScroll(t.offsetY,e.clientHeight)}}),e.addEventListener("mouseleave",t=>{if(this.isSelecting){const s=e.getBoundingClientRect();t.clientY<s.top?this.startAutoScroll(-1):t.clientY>s.bottom&&this.startAutoScroll(1)}}),e.addEventListener("mouseenter",()=>{this.isSelecting&&this.stopAutoScroll()}),this.boundDocumentMouseMoveHandler=t=>{if(this.isSelecting){const s=e.getBoundingClientRect(),n=Math.max(s.left,Math.min(t.clientX,s.right)),r=Math.max(s.top,Math.min(t.clientY,s.bottom)),i=n-s.left,a=r-s.top;if((t.clientX<s.left||t.clientX>s.right||t.clientY<s.top||t.clientY>s.bottom)&&(t.clientY<s.top?this.startAutoScroll(-1):t.clientY>s.bottom?this.startAutoScroll(1):this.stopAutoScroll(),this.autoScrollDirection===0)){this.markCurrentSelectionDirty();const g=this.pixelToCell(i,a),Q=this.viewportRowToAbsolute(g.row);this.selectionEnd={col:g.col,absoluteRow:Q},this.requestRender()}}},document.addEventListener("mousemove",this.boundDocumentMouseMoveHandler),document.addEventListener("mousedown",t=>{this.mouseDownTarget=t.target}),this.boundMouseUpHandler=t=>{if(this.isSelecting){this.isSelecting=!1,this.stopAutoScroll();const s=this.getSelection();s&&(this.copyToClipboard(s),this.selectionChangedEmitter.fire())}},document.addEventListener("mouseup",this.boundMouseUpHandler),e.addEventListener("dblclick",t=>{const s=this.pixelToCell(t.offsetX,t.offsetY),n=this.getWordAtCell(s.col,s.row);if(n){const r=this.viewportRowToAbsolute(s.row);this.selectionStart={col:n.startCol,absoluteRow:r},this.selectionEnd={col:n.endCol,absoluteRow:r},this.requestRender();const i=this.getSelection();i&&(this.copyToClipboard(i),this.selectionChangedEmitter.fire())}}),this.boundContextMenuHandler=t=>{if(this.renderer.getCanvas().getBoundingClientRect(),this.textarea.style.position="fixed",this.textarea.style.left=`${t.clientX}px`,this.textarea.style.top=`${t.clientY}px`,this.textarea.style.width="1px",this.textarea.style.height="1px",this.textarea.style.zIndex="1000",this.textarea.style.opacity="0",this.textarea.style.pointerEvents="auto",this.hasSelection()){const s=this.getSelection();this.textarea.value=s,this.textarea.select(),this.textarea.setSelectionRange(0,s.length)}else this.textarea.value="";this.textarea.focus(),setTimeout(()=>{const s=()=>{this.textarea.style.pointerEvents="none",this.textarea.style.zIndex="-10",this.textarea.style.width="0",this.textarea.style.height="0",this.textarea.style.left="0",this.textarea.style.top="0",this.textarea.value="",document.removeEventListener("click",s),document.removeEventListener("contextmenu",s),this.textarea.removeEventListener("blur",s)};document.addEventListener("click",s,{once:!0}),document.addEventListener("contextmenu",s,{once:!0}),this.textarea.addEventListener("blur",s,{once:!0})},10)},e.addEventListener("contextmenu",this.boundContextMenuHandler),this.boundClickHandler=t=>{if(this.isSelecting||this.mouseDownTarget&&e.contains(this.mouseDownTarget))return;const s=t.target;e.contains(s)||this.hasSelection()&&this.clearSelection()},document.addEventListener("click",this.boundClickHandler)}markCurrentSelectionDirty(){const e=this.normalizeSelection();if(e)for(let t=e.startRow;t<=e.endRow;t++)this.dirtySelectionRows.add(t)}updateAutoScroll(e,t){const s=sn.AUTO_SCROLL_EDGE_SIZE;e<s?this.startAutoScroll(-1):e>t-s?this.startAutoScroll(1):this.stopAutoScroll()}startAutoScroll(e){this.autoScrollInterval!==null&&this.autoScrollDirection===e||(this.stopAutoScroll(),this.autoScrollDirection=e,this.autoScrollInterval=setInterval(()=>{if(!this.isSelecting){this.stopAutoScroll();return}const t=sn.AUTO_SCROLL_SPEED*this.autoScrollDirection;if(this.terminal.scrollLines(t),this.selectionEnd){const s=this.wasmTerm.getDimensions();if(this.autoScrollDirection<0){const n=this.viewportRowToAbsolute(0);n<this.selectionEnd.absoluteRow&&(this.selectionEnd={col:0,absoluteRow:n})}else{const n=this.viewportRowToAbsolute(s.rows-1);n>this.selectionEnd.absoluteRow&&(this.selectionEnd={col:s.cols-1,absoluteRow:n})}}this.requestRender()},sn.AUTO_SCROLL_INTERVAL))}stopAutoScroll(){this.autoScrollInterval!==null&&(clearInterval(this.autoScrollInterval),this.autoScrollInterval=null),this.autoScrollDirection=0}pixelToCell(e,t){const s=this.renderer.getMetrics(),n=Math.floor(e/s.width),r=Math.floor(t/s.height);return{col:Math.max(0,Math.min(n,this.terminal.cols-1)),row:Math.max(0,Math.min(r,this.terminal.rows-1))}}normalizeSelection(){if(!this.selectionStart||!this.selectionEnd)return null;let{col:e,absoluteRow:t}=this.selectionStart,{col:s,absoluteRow:n}=this.selectionEnd;(t>n||t===n&&e>s)&&([e,s]=[s,e],[t,n]=[n,t]);let r=this.absoluteRowToViewport(t),i=this.absoluteRowToViewport(n);const a=this.wasmTerm.getDimensions(),g=a.rows-1;return i<0||r>g?null:(r<0&&(r=0,e=0),i>g&&(i=g,s=a.cols-1),{startCol:e,startRow:r,endCol:s,endRow:i})}getWordAtCell(e,t){const s=this.wasmTerm.getLine(t);if(!s)return null;const n=a=>{if(!a||a.codepoint===0)return!1;const g=String.fromCodePoint(a.codepoint);return/[\w-]/.test(g)};if(!n(s[e]))return null;let r=e;for(;r>0&&n(s[r-1]);)r--;let i=e;for(;i<s.length-1&&n(s[i+1]);)i++;return{startCol:r,endCol:i}}async copyToClipboard(e){if(navigator.clipboard&&navigator.clipboard.writeText)try{await navigator.clipboard.writeText(e);return}catch{}const t=document.activeElement;try{const s=this.textarea;s.value=e,s.style.position="fixed",s.style.left="-9999px",s.style.top="0",s.style.width="1px",s.style.height="1px",s.style.opacity="0",s.focus(),s.select(),s.setSelectionRange(0,e.length);const n=document.execCommand("copy");t&&t.focus(),n||console.error("❌ execCommand copy failed")}catch(s){console.error("❌ Fallback copy failed:",s),t&&t.focus()}}requestRender(){}};Tn.AUTO_SCROLL_EDGE_SIZE=30;Tn.AUTO_SCROLL_SPEED=3;Tn.AUTO_SCROLL_INTERVAL=50;let dh=Tn;class hh{constructor(e={}){this.unicode={get activeVersion(){return"15.1"}},this.dataEmitter=new Io,this.resizeEmitter=new Io,this.bellEmitter=new Io,this.selectionChangeEmitter=new Io,this.keyEmitter=new Io,this.titleChangeEmitter=new Io,this.scrollEmitter=new Io,this.renderEmitter=new Io,this.cursorMoveEmitter=new Io,this.onData=this.dataEmitter.event,this.onResize=this.resizeEmitter.event,this.onBell=this.bellEmitter.event,this.onSelectionChange=this.selectionChangeEmitter.event,this.onKey=this.keyEmitter.event,this.onTitleChange=this.titleChangeEmitter.event,this.onScroll=this.scrollEmitter.event,this.onRender=this.renderEmitter.event,this.onCursorMove=this.cursorMoveEmitter.event,this.isOpen=!1,this.isDisposed=!1,this.addons=[],this.currentTitle="",this.viewportY=0,this.targetViewportY=0,this.lastCursorY=0,this.isDraggingScrollbar=!1,this.scrollbarDragStart=null,this.scrollbarDragStartViewportY=0,this.scrollbarVisible=!1,this.scrollbarOpacity=0,this.SCROLLBAR_HIDE_DELAY_MS=1500,this.SCROLLBAR_FADE_DURATION_MS=200,this.animateScroll=()=>{if(!this.wasmTerm||this.scrollAnimationStartTime===void 0)return;const s=this.options.smoothScrollDuration??100,n=this.targetViewportY-this.viewportY;if(Math.abs(n)<.01){this.viewportY=this.targetViewportY,this.scrollEmitter.fire(Math.floor(this.viewportY)),this.getScrollbackLength()>0&&this.showScrollbar(),this.scrollAnimationFrame=void 0,this.scrollAnimationStartTime=void 0,this.scrollAnimationStartY=void 0;return}const r=1-(1/(s/1e3*60))**2;this.viewportY+=n*r;const i=Math.floor(this.viewportY);this.scrollEmitter.fire(i),this.getScrollbackLength()>0&&this.showScrollbar(),this.scrollAnimationFrame=requestAnimationFrame(this.animateScroll)},this.handleMouseMove=s=>{if(!(!this.canvas||!this.renderer||!this.wasmTerm)){if(this.isDraggingScrollbar){this.processScrollbarDrag(s);return}if(this.linkDetector){if(this.mouseMoveThrottleTimeout){this.pendingMouseMove=s;return}this.processMouseMove(s),this.mouseMoveThrottleTimeout=window.setTimeout(()=>{if(this.mouseMoveThrottleTimeout=void 0,this.pendingMouseMove){const n=this.pendingMouseMove;this.pendingMouseMove=void 0,this.processMouseMove(n)}},16)}}},this.handleMouseLeave=()=>{var s,n;this.renderer&&this.wasmTerm&&((this.renderer.hoveredHyperlinkId||0)>0&&this.renderer.setHoveredHyperlinkId(0),this.renderer.setHoveredLinkRange(null)),this.currentHoveredLink&&((n=(s=this.currentHoveredLink).hover)==null||n.call(s,!1),this.currentHoveredLink=void 0,this.element&&(this.element.style.cursor="text"))},this.handleClick=async s=>{if(!this.canvas||!this.renderer||!this.linkDetector||!this.wasmTerm)return;const n=this.canvas.getBoundingClientRect(),r=Math.floor((s.clientX-n.left)/this.renderer.charWidth),i=Math.floor((s.clientY-n.top)/this.renderer.charHeight),a=this.wasmTerm.getScrollbackLength();let g;const Q=this.getViewportY(),l=Math.max(0,Math.floor(Q));if(l>0)if(i<l)g=a-l+i;else{const I=i-l;g=a+I}else g=a+i;const C=await this.linkDetector.getLinkAt(r,g);C&&(C.activate(s),(s.ctrlKey||s.metaKey)&&s.preventDefault())},this.handleWheel=s=>{var n,r,i;if(s.preventDefault(),s.stopPropagation(),!(this.customWheelEventHandler&&this.customWheelEventHandler(s)))if(((n=this.wasmTerm)==null?void 0:n.isAlternateScreen())??!1){const a=s.deltaY>0?"down":"up",g=Math.min(Math.abs(Math.round(s.deltaY/33)),5);for(let Q=0;Q<g;Q++)a==="up"?this.dataEmitter.fire("\x1B[A"):this.dataEmitter.fire("\x1B[B")}else{let a;if(s.deltaMode===WheelEvent.DOM_DELTA_PIXEL){const g=((i=(r=this.renderer)==null?void 0:r.getMetrics())==null?void 0:i.height)??20;a=s.deltaY/g}else s.deltaMode===WheelEvent.DOM_DELTA_LINE?a=s.deltaY:s.deltaMode===WheelEvent.DOM_DELTA_PAGE?a=s.deltaY*this.rows:a=s.deltaY/33;if(a!==0){const g=this.viewportY-a;this.smoothScrollTo(g)}}},this.handleMouseDown=s=>{if(!this.canvas||!this.renderer||!this.wasmTerm)return;const n=this.wasmTerm.getScrollbackLength();if(n===0)return;const r=this.canvas.getBoundingClientRect(),i=s.clientX-r.left,a=s.clientY-r.top,g=r.width,Q=r.height,l=8,C=g-l-4,I=4;if(i>=C&&i<=C+l){s.preventDefault(),s.stopPropagation(),s.stopImmediatePropagation();const c=Q-I*2,u=this.rows,f=n+u,h=Math.max(20,u/f*c),k=this.viewportY/n,v=I+(c-h)*(1-k);if(a>=v&&a<=v+h)this.isDraggingScrollbar=!0,this.scrollbarDragStart=a,this.scrollbarDragStartViewportY=this.viewportY,this.canvas&&(this.canvas.style.userSelect="none",this.canvas.style.webkitUserSelect="none");else{const D=1-(a-I)/c,O=Math.round(D*n);this.scrollToLine(Math.max(0,Math.min(n,O)))}}},this.handleMouseUp=()=>{this.isDraggingScrollbar&&(this.isDraggingScrollbar=!1,this.scrollbarDragStart=null,this.canvas&&(this.canvas.style.userSelect="",this.canvas.style.webkitUserSelect=""),this.scrollbarVisible&&this.getScrollbackLength()>0&&this.showScrollbar())},this.ghostty=e.ghostty??yh();const t={cols:e.cols??80,rows:e.rows??24,cursorBlink:e.cursorBlink??!1,cursorStyle:e.cursorStyle??"block",theme:e.theme??{},scrollback:e.scrollback??1e4,fontSize:e.fontSize??15,fontFamily:e.fontFamily??"monospace",allowTransparency:e.allowTransparency??!1,convertEol:e.convertEol??!1,disableStdin:e.disableStdin??!1,smoothScrollDuration:e.smoothScrollDuration??100};this.options=new Proxy(t,{set:(s,n,r)=>{const i=s[n];return s[n]=r,this.isOpen&&this.handleOptionChange(n,r,i),!0}}),this.cols=this.options.cols,this.rows=this.options.rows,this.buffer=new Qh(this)}handleOptionChange(e,t,s){if(t!==s)switch(e){case"disableStdin":break;case"cursorBlink":case"cursorStyle":this.renderer&&(this.renderer.setCursorStyle(this.options.cursorStyle),this.renderer.setCursorBlink(this.options.cursorBlink));break;case"theme":this.renderer&&console.warn("ghostty-web: theme changes after open() are not yet fully supported");break;case"fontSize":this.renderer&&(this.renderer.setFontSize(this.options.fontSize),this.handleFontChange());break;case"fontFamily":this.renderer&&(this.renderer.setFontFamily(this.options.fontFamily),this.handleFontChange());break;case"cols":case"rows":this.resize(this.options.cols,this.options.rows);break}}handleFontChange(){if(!this.renderer||!this.wasmTerm||!this.canvas)return;this.selectionManager&&this.selectionManager.clearSelection(),this.renderer.resize(this.cols,this.rows);const e=this.renderer.getMetrics();this.canvas.width=e.width*this.cols,this.canvas.height=e.height*this.rows,this.canvas.style.width=`${e.width*this.cols}px`,this.canvas.style.height=`${e.height*this.rows}px`,this.renderer.render(this.wasmTerm,!0,this.viewportY,this)}parseColorToHex(e){if(!e)return 0;if(e.startsWith("#")){let s=e.slice(1);s.length===3&&(s=s[0]+s[0]+s[1]+s[1]+s[2]+s[2]);const n=Number.parseInt(s,16);return Number.isNaN(n)?0:n}const t=e.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);if(t){const s=Number.parseInt(t[1],10),n=Number.parseInt(t[2],10),r=Number.parseInt(t[3],10);return s<<16|n<<8|r}return 0}buildWasmConfig(){const e=this.options.theme,t=this.options.scrollback;if(!e&&t===1e4)return;const s=[this.parseColorToHex(e?.black),this.parseColorToHex(e?.red),this.parseColorToHex(e?.green),this.parseColorToHex(e?.yellow),this.parseColorToHex(e?.blue),this.parseColorToHex(e?.magenta),this.parseColorToHex(e?.cyan),this.parseColorToHex(e?.white),this.parseColorToHex(e?.brightBlack),this.parseColorToHex(e?.brightRed),this.parseColorToHex(e?.brightGreen),this.parseColorToHex(e?.brightYellow),this.parseColorToHex(e?.brightBlue),this.parseColorToHex(e?.brightMagenta),this.parseColorToHex(e?.brightCyan),this.parseColorToHex(e?.brightWhite)];return{scrollbackLimit:t,fgColor:this.parseColorToHex(e?.foreground),bgColor:this.parseColorToHex(e?.background),cursorColor:this.parseColorToHex(e?.cursor),palette:s}}open(e){if(this.isOpen)throw new Error("Terminal is already open");if(this.isDisposed)throw new Error("Terminal has been disposed");this.element=e,this.isOpen=!0;try{e.hasAttribute("tabindex")||e.setAttribute("tabindex","0"),e.setAttribute("contenteditable","true"),e.addEventListener("beforeinput",n=>n.preventDefault()),e.setAttribute("role","textbox"),e.setAttribute("aria-label","Terminal input"),e.setAttribute("aria-multiline","true");const t=this.buildWasmConfig();this.wasmTerm=this.ghostty.createTerminal(this.cols,this.rows,t),this.canvas=document.createElement("canvas"),this.canvas.style.display="block",e.appendChild(this.canvas),this.textarea=document.createElement("textarea"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.setAttribute("tabindex","0"),this.textarea.setAttribute("aria-label","Terminal input"),this.textarea.style.position="absolute",this.textarea.style.left="0",this.textarea.style.top="0",this.textarea.style.width="1px",this.textarea.style.height="1px",this.textarea.style.padding="0",this.textarea.style.border="none",this.textarea.style.margin="0",this.textarea.style.opacity="0",this.textarea.style.clipPath="inset(50%)",this.textarea.style.overflow="hidden",this.textarea.style.whiteSpace="nowrap",this.textarea.style.resize="none",e.appendChild(this.textarea);const s=this.textarea;this.canvas.addEventListener("mousedown",n=>{n.preventDefault(),s.focus()}),this.canvas.addEventListener("touchend",n=>{n.preventDefault(),s.focus()}),this.renderer=new uh(this.canvas,{fontSize:this.options.fontSize,fontFamily:this.options.fontFamily,cursorStyle:this.options.cursorStyle,cursorBlink:this.options.cursorBlink,theme:this.options.theme}),this.renderer.resize(this.cols,this.rows),this.inputHandler=new ch(this.ghostty,e,n=>{this.options.disableStdin||this.dataEmitter.fire(n)},()=>{this.bellEmitter.fire()},n=>{this.keyEmitter.fire(n)},this.customKeyEventHandler,n=>{var r;return((r=this.wasmTerm)==null?void 0:r.getMode(n,!1))??!1}),this.selectionManager=new dh(this,this.renderer,this.wasmTerm,this.textarea),this.renderer.setSelectionManager(this.selectionManager),this.selectionManager.onSelectionChange(()=>{this.selectionChangeEmitter.fire()}),this.textarea.addEventListener("paste",n=>{var r;n.preventDefault(),n.stopPropagation();const i=(r=n.clipboardData)==null?void 0:r.getData("text");i&&this.paste(i)}),this.linkDetector=new Eh(this),this.linkDetector.registerProvider(new Ch(this)),this.linkDetector.registerProvider(new Ih(this)),e.addEventListener("mousedown",this.handleMouseDown,{capture:!0}),e.addEventListener("mousemove",this.handleMouseMove),e.addEventListener("mouseleave",this.handleMouseLeave),e.addEventListener("click",this.handleClick),document.addEventListener("mouseup",this.handleMouseUp),e.addEventListener("wheel",this.handleWheel,{passive:!1,capture:!0}),this.renderer.render(this.wasmTerm,!0,this.viewportY,this,this.scrollbarOpacity),this.startRenderLoop(),this.focus()}catch(t){throw this.isOpen=!1,this.cleanupComponents(),new Error(`Failed to open terminal: ${t}`)}}write(e,t){this.assertOpen(),this.options.convertEol&&typeof e=="string"&&(e=e.replace(/\n/g,`\r
|
|
15
|
+
`)),this.writeInternal(e,t)}writeInternal(e,t){var s;this.wasmTerm.write(e),this.processTerminalResponses(),typeof e=="string"&&e.includes("\x07")?this.bellEmitter.fire():e instanceof Uint8Array&&e.includes(7)&&this.bellEmitter.fire(),(s=this.linkDetector)==null||s.invalidateCache(),this.viewportY!==0&&this.scrollToBottom(),typeof e=="string"&&e.includes("\x1B]")&&this.checkForTitleChange(e),t&&requestAnimationFrame(t)}writeln(e,t){if(typeof e=="string")this.write(e+`\r
|
|
16
|
+
`,t);else{const s=new Uint8Array(e.length+2);s.set(e),s[e.length]=13,s[e.length+1]=10,this.write(s,t)}}paste(e){this.assertOpen(),!this.options.disableStdin&&(this.wasmTerm.hasBracketedPaste()?this.dataEmitter.fire("\x1B[200~"+e+"\x1B[201~"):this.dataEmitter.fire(e))}input(e,t=!1){this.assertOpen(),!this.options.disableStdin&&(t?this.dataEmitter.fire(e):this.write(e))}resize(e,t){if(this.assertOpen(),e===this.cols&&t===this.rows)return;this.cols=e,this.rows=t,this.wasmTerm.resize(e,t),this.renderer.resize(e,t);const s=this.renderer.getMetrics();this.canvas.width=s.width*e,this.canvas.height=s.height*t,this.canvas.style.width=`${s.width*e}px`,this.canvas.style.height=`${s.height*t}px`,this.resizeEmitter.fire({cols:e,rows:t}),this.renderer.render(this.wasmTerm,!0,this.viewportY,this)}clear(){this.assertOpen(),this.wasmTerm.write("\x1B[2J\x1B[H")}reset(){this.assertOpen(),this.wasmTerm&&this.wasmTerm.free();const e=this.buildWasmConfig();this.wasmTerm=this.ghostty.createTerminal(this.cols,this.rows,e),this.renderer.clear(),this.currentTitle=""}focus(){this.isOpen&&this.element&&(this.element.focus(),setTimeout(()=>{var e;(e=this.element)==null||e.focus()},0))}blur(){this.isOpen&&this.element&&this.element.blur()}loadAddon(e){e.activate(this),this.addons.push(e)}getSelection(){var e;return((e=this.selectionManager)==null?void 0:e.getSelection())||""}hasSelection(){var e;return((e=this.selectionManager)==null?void 0:e.hasSelection())||!1}clearSelection(){var e;(e=this.selectionManager)==null||e.clearSelection()}selectAll(){var e;(e=this.selectionManager)==null||e.selectAll()}select(e,t,s){var n;(n=this.selectionManager)==null||n.select(e,t,s)}selectLines(e,t){var s;(s=this.selectionManager)==null||s.selectLines(e,t)}getViewportY(){return this.viewportY}getSelectionPosition(){var e;return(e=this.selectionManager)==null?void 0:e.getSelectionPosition()}attachCustomKeyEventHandler(e){this.customKeyEventHandler=e,this.inputHandler&&this.inputHandler.setCustomKeyEventHandler(e)}attachCustomWheelEventHandler(e){this.customWheelEventHandler=e}registerLinkProvider(e){if(!this.linkDetector)throw new Error("Terminal must be opened before registering link providers");this.linkDetector.registerProvider(e)}scrollLines(e){if(!this.wasmTerm)throw new Error("Terminal not open");const t=this.getScrollbackLength(),s=Math.max(0,Math.min(t,this.viewportY-e));s!==this.viewportY&&(this.viewportY=s,this.scrollEmitter.fire(this.viewportY),t>0&&this.showScrollbar())}scrollPages(e){this.scrollLines(e*this.rows)}scrollToTop(){const e=this.getScrollbackLength();e>0&&this.viewportY!==e&&(this.viewportY=e,this.scrollEmitter.fire(this.viewportY),this.showScrollbar())}scrollToBottom(){this.viewportY!==0&&(this.viewportY=0,this.scrollEmitter.fire(this.viewportY),this.getScrollbackLength()>0&&this.showScrollbar())}scrollToLine(e){const t=this.getScrollbackLength(),s=Math.max(0,Math.min(t,e));s!==this.viewportY&&(this.viewportY=s,this.scrollEmitter.fire(this.viewportY),t>0&&this.showScrollbar())}smoothScrollTo(e){if(!this.wasmTerm)return;const t=this.getScrollbackLength(),s=Math.max(0,Math.min(t,e));if((this.options.smoothScrollDuration??100)===0){this.viewportY=s,this.targetViewportY=s,this.scrollEmitter.fire(Math.floor(this.viewportY)),t>0&&this.showScrollbar();return}this.targetViewportY=s,!this.scrollAnimationFrame&&(this.scrollAnimationStartTime=Date.now(),this.scrollAnimationStartY=this.viewportY,this.animateScroll())}dispose(){if(!this.isDisposed){this.isDisposed=!0,this.isOpen=!1,this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=void 0),this.scrollAnimationFrame&&(cancelAnimationFrame(this.scrollAnimationFrame),this.scrollAnimationFrame=void 0),this.mouseMoveThrottleTimeout&&(clearTimeout(this.mouseMoveThrottleTimeout),this.mouseMoveThrottleTimeout=void 0),this.pendingMouseMove=void 0;for(const e of this.addons)e.dispose();this.addons=[],this.cleanupComponents(),this.dataEmitter.dispose(),this.resizeEmitter.dispose(),this.bellEmitter.dispose(),this.selectionChangeEmitter.dispose(),this.keyEmitter.dispose(),this.titleChangeEmitter.dispose(),this.scrollEmitter.dispose(),this.renderEmitter.dispose(),this.cursorMoveEmitter.dispose()}}startRenderLoop(){const e=()=>{if(!this.isDisposed&&this.isOpen){this.renderer.render(this.wasmTerm,!1,this.viewportY,this,this.scrollbarOpacity);const t=this.wasmTerm.getCursor();t.y!==this.lastCursorY&&(this.lastCursorY=t.y,this.cursorMoveEmitter.fire()),this.animationFrameId=requestAnimationFrame(e)}};e()}getScrollbackLine(e){return this.wasmTerm?this.wasmTerm.getScrollbackLine(e):null}getScrollbackLength(){return this.wasmTerm?this.wasmTerm.getScrollbackLength():0}cleanupComponents(){this.selectionManager&&(this.selectionManager.dispose(),this.selectionManager=void 0),this.inputHandler&&(this.inputHandler.dispose(),this.inputHandler=void 0),this.renderer&&(this.renderer.dispose(),this.renderer=void 0),this.canvas&&this.canvas.parentNode&&(this.canvas.parentNode.removeChild(this.canvas),this.canvas=void 0),this.textarea&&this.textarea.parentNode&&(this.textarea.parentNode.removeChild(this.textarea),this.textarea=void 0),this.element&&(this.element.removeEventListener("wheel",this.handleWheel),this.element.removeEventListener("mousedown",this.handleMouseDown,{capture:!0}),this.element.removeEventListener("mousemove",this.handleMouseMove),this.element.removeEventListener("mouseleave",this.handleMouseLeave),this.element.removeEventListener("click",this.handleClick),this.element.removeAttribute("contenteditable"),this.element.removeAttribute("role"),this.element.removeAttribute("aria-label"),this.element.removeAttribute("aria-multiline")),this.isOpen&&typeof document<"u"&&document.removeEventListener("mouseup",this.handleMouseUp),this.scrollbarHideTimeout&&(window.clearTimeout(this.scrollbarHideTimeout),this.scrollbarHideTimeout=void 0),this.linkDetector&&(this.linkDetector.dispose(),this.linkDetector=void 0),this.wasmTerm&&(this.wasmTerm.free(),this.wasmTerm=void 0),this.ghostty=void 0,this.element=void 0,this.textarea=void 0}assertOpen(){if(this.isDisposed)throw new Error("Terminal has been disposed");if(!this.isOpen)throw new Error("Terminal must be opened before use. Call terminal.open(parent) first.")}processMouseMove(e){if(!this.canvas||!this.renderer||!this.linkDetector||!this.wasmTerm)return;const t=this.canvas.getBoundingClientRect(),s=Math.floor((e.clientX-t.left)/this.renderer.charWidth),n=Math.floor((e.clientY-t.top)/this.renderer.charHeight);let r=0,i=null;const a=this.getViewportY(),g=Math.max(0,Math.floor(a));if(g>0){const u=this.wasmTerm.getScrollbackLength();if(n<g){const f=u-g+n;i=this.wasmTerm.getScrollbackLine(f)}else{const f=n-g;i=this.wasmTerm.getLine(f)}}else i=this.wasmTerm.getLine(n);i&&s>=0&&s<i.length&&(r=i[s].hyperlink_id);const Q=this.renderer.hoveredHyperlinkId||0;r!==Q&&this.renderer.setHoveredHyperlinkId(r);const l=this.wasmTerm.getScrollbackLength();let C;const I=this.getViewportY(),c=Math.max(0,Math.floor(I));if(c>0)if(n<c)C=l-c+n;else{const u=n-c;C=l+u}else C=l+n;this.linkDetector.getLinkAt(s,C).then(u=>{var f,h,k,v;if(u!==this.currentHoveredLink&&((h=(f=this.currentHoveredLink)==null?void 0:f.hover)==null||h.call(f,!1),this.currentHoveredLink=u,(k=u?.hover)==null||k.call(u,!0),this.element&&(this.element.style.cursor=u?"pointer":"text"),this.renderer))if(u){const D=((v=this.wasmTerm)==null?void 0:v.getScrollbackLength())||0,O=this.getViewportY(),J=Math.max(0,Math.floor(O)),V=u.range.start.y-D+J,eA=u.range.end.y-D+J;V<this.rows&&eA>=0?this.renderer.setHoveredLinkRange({startX:u.range.start.x,startY:Math.max(0,V),endX:u.range.end.x,endY:Math.min(this.rows-1,eA)}):this.renderer.setHoveredLinkRange(null)}else this.renderer.setHoveredLinkRange(null)}).catch(u=>{console.warn("Link detection error:",u)})}processScrollbarDrag(e){if(!this.canvas||!this.renderer||!this.wasmTerm||this.scrollbarDragStart===null)return;const t=this.wasmTerm.getScrollbackLength();if(t===0)return;const s=this.canvas.getBoundingClientRect(),n=e.clientY-s.top-this.scrollbarDragStart,r=s.height-8,i=this.rows,a=t+i,g=Math.max(20,i/a*r),Q=-n/(r-g),l=Math.round(Q*t),C=this.scrollbarDragStartViewportY+l;this.scrollToLine(Math.max(0,Math.min(t,C)))}showScrollbar(){this.scrollbarHideTimeout&&(window.clearTimeout(this.scrollbarHideTimeout),this.scrollbarHideTimeout=void 0),this.scrollbarVisible?this.scrollbarOpacity=1:(this.scrollbarVisible=!0,this.scrollbarOpacity=0,this.fadeInScrollbar()),this.isDraggingScrollbar||(this.scrollbarHideTimeout=window.setTimeout(()=>{this.hideScrollbar()},this.SCROLLBAR_HIDE_DELAY_MS))}hideScrollbar(){this.scrollbarHideTimeout&&(window.clearTimeout(this.scrollbarHideTimeout),this.scrollbarHideTimeout=void 0),this.scrollbarVisible&&this.fadeOutScrollbar()}fadeInScrollbar(){const e=Date.now(),t=()=>{const s=Date.now()-e,n=Math.min(s/this.SCROLLBAR_FADE_DURATION_MS,1);this.scrollbarOpacity=n,this.renderer&&this.wasmTerm&&this.renderer.render(this.wasmTerm,!1,this.viewportY,this,this.scrollbarOpacity),n<1&&requestAnimationFrame(t)};t()}fadeOutScrollbar(){const e=Date.now(),t=this.scrollbarOpacity,s=()=>{const n=Date.now()-e,r=Math.min(n/this.SCROLLBAR_FADE_DURATION_MS,1);this.scrollbarOpacity=t*(1-r),this.renderer&&this.wasmTerm&&this.renderer.render(this.wasmTerm,!1,this.viewportY,this,this.scrollbarOpacity),r<1?requestAnimationFrame(s):(this.scrollbarVisible=!1,this.scrollbarOpacity=0,this.renderer&&this.wasmTerm&&this.renderer.render(this.wasmTerm,!1,this.viewportY,this,0))};s()}processTerminalResponses(){if(!this.wasmTerm)return;const e=this.wasmTerm.readResponse();e&&this.dataEmitter.fire(e)}checkForTitleChange(e){const t=/\x1b\]([012]);([^\x07\x1b]*?)(?:\x07|\x1b\\)/g;let s=null;for(;(s=t.exec(e))!==null;){const n=s[1],r=s[2];(n==="0"||n==="2")&&r!==this.currentTitle&&(this.currentTitle=r,this.titleChangeEmitter.fire(r))}}getMode(e,t=!1){return this.assertOpen(),this.wasmTerm.getMode(e,t)}hasBracketedPaste(){return this.assertOpen(),this.wasmTerm.hasBracketedPaste()}hasFocusEvents(){return this.assertOpen(),this.wasmTerm.hasFocusEvents()}hasMouseTracking(){return this.assertOpen(),this.wasmTerm.hasMouseTracking()}}const ph=2,fh=1,mh=15,wh=100;class xh{constructor(){this._isResizing=!1}activate(e){this._terminal=e}dispose(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=void 0),this._resizeDebounceTimer&&(clearTimeout(this._resizeDebounceTimer),this._resizeDebounceTimer=void 0),this._lastCols=void 0,this._lastRows=void 0,this._terminal=void 0}fit(){if(this._isResizing)return;const e=this.proposeDimensions();if(!e||!this._terminal)return;const t=this._terminal,s=t.cols,n=t.rows;if(!(e.cols===this._lastCols&&e.rows===this._lastRows||e.cols===s&&e.rows===n)){this._lastCols=e.cols,this._lastRows=e.rows,this._isResizing=!0;try{t.resize&&typeof t.resize=="function"&&t.resize(e.cols,e.rows)}finally{setTimeout(()=>{this._isResizing=!1},50)}}}proposeDimensions(){var e;if(!((e=this._terminal)!=null&&e.element))return;const t=this._terminal.renderer;if(!t||typeof t.getMetrics!="function")return;const s=t.getMetrics();if(!s||s.width===0||s.height===0)return;const n=this._terminal.element;if(typeof n.clientWidth>"u")return;const r=window.getComputedStyle(n),i=Number.parseInt(r.getPropertyValue("padding-top"))||0,a=Number.parseInt(r.getPropertyValue("padding-bottom"))||0,g=Number.parseInt(r.getPropertyValue("padding-left"))||0,Q=Number.parseInt(r.getPropertyValue("padding-right"))||0,l=n.clientWidth,C=n.clientHeight;if(l===0||C===0)return;const I=l-g-Q-mh,c=C-i-a,u=Math.max(ph,Math.floor(I/s.width)),f=Math.max(fh,Math.floor(c/s.height));return{cols:u,rows:f}}observeResize(){var e;(e=this._terminal)!=null&&e.element&&(this._resizeObserver||(this._resizeObserver=new ResizeObserver(t=>{this._isResizing||!t[0]||(this._resizeDebounceTimer&&clearTimeout(this._resizeDebounceTimer),this._resizeDebounceTimer=setTimeout(()=>{this.fit()},wh))}),this._resizeObserver.observe(this._terminal.element)))}}let un=null;async function Dh(){un||(un=await lr.load())}function yh(){if(!un)throw new Error(`ghostty-web not initialized. Call init() before creating Terminal instances.
|
|
17
|
+
Example:
|
|
18
|
+
import { init, Terminal } from "ghostty-web";
|
|
19
|
+
await init();
|
|
20
|
+
const term = new Terminal();
|
|
21
|
+
|
|
22
|
+
For tests, pass a Ghostty instance directly:
|
|
23
|
+
import { Ghostty, Terminal } from "ghostty-web";
|
|
24
|
+
const ghostty = await Ghostty.load();
|
|
25
|
+
const term = new Terminal({ ghostty });`);return un}const Nh={};function Dl(){const A=Nh?.VITE_API_BASE_URL;if(A)return A;if(typeof window<"u"){const e=window;if(e.OTTO_SERVER_URL)return e.OTTO_SERVER_URL;if(e.__OTTO_API_URL__)return e.__OTTO_API_URL__}return"http://localhost:9100"}function yl(){return Dl()}const ss=Dl(),kh='"JetBrainsMono NFM", monospace',Mh=1500,bh=5,Fh=600;function Gh(){if(typeof document>"u")return"#121216";const A=document.createElement("div");A.style.display="none",A.className="bg-background",document.body.appendChild(A);const e=getComputedStyle(A).backgroundColor;document.body.removeChild(A);const t=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/);if(t){const s=Number(t[1]),n=Number(t[2]),r=Number(t[3]);return`#${(1<<24|s<<16|n<<8|r).toString(16).slice(1)}`}return"#121216"}let rQ=!1;async function vh(){if(rQ||typeof document>"u"||!("FontFace"in window))return;const e=[{file:"JetBrainsMonoNerdFontMono-Regular.woff2",weight:"400",style:"normal"},{file:"JetBrainsMonoNerdFontMono-Bold.woff2",weight:"700",style:"normal"},{file:"JetBrainsMonoNerdFontMono-Italic.woff2",weight:"400",style:"italic"},{file:"JetBrainsMonoNerdFontMono-BoldItalic.woff2",weight:"700",style:"italic"}].map(async t=>{try{const s=new URL(Object.assign({"../../assets/fonts/JetBrainsMonoNerdFontMono-Bold.woff2":hl,"../../assets/fonts/JetBrainsMonoNerdFontMono-BoldItalic.woff2":pl,"../../assets/fonts/JetBrainsMonoNerdFontMono-Italic.woff2":fl,"../../assets/fonts/JetBrainsMonoNerdFontMono-Regular.woff2":ml})[`../../assets/fonts/${t.file}`],import.meta.url).href,r=await new FontFace("JetBrainsMono NFM",`url("${s}") format("woff2")`,{weight:t.weight,style:t.style}).load();document.fonts.add(r)}catch{}});await Promise.allSettled(e),rQ=!0}function Sh(){const A=MA.getConfig?.();return A&&typeof A.baseURL=="string"&&A.baseURL.length>0?A.baseURL:yl()}function Uh(A){return A.replace(/^http/,"ws")}function Rh({terminalId:A,isActive:e,onExit:t}){const s=x.useRef(null),n=x.useRef(null),r=x.useRef(null),i=x.useRef(null),a=x.useRef(0),g=x.useRef(null),[Q,l]=x.useState(!1),C=x.useRef(t);C.current=t;const I=x.useRef(null),c=x.useRef(!1),u=x.useRef("#121216"),f=x.useRef(!1),h=x.useRef(null),k=x.useCallback(()=>{if(r.current)try{r.current.fit()}catch{}},[]),v=x.useCallback((D,O)=>{i.current&&(i.current.close(),i.current=null);const V=`${Uh(O)}/v1/terminals/${A}/ws`,eA=new WebSocket(V);i.current=eA;let X=!1;eA.onopen=()=>{a.current=0,D.cols&&D.rows&&eA.send(JSON.stringify({type:"resize",cols:D.cols,rows:D.rows}))},eA.onmessage=K=>{const W=typeof K.data=="string"?K.data:"";if(W.startsWith("{"))try{const L=JSON.parse(W);if(L.type==="exit"){D.write(`\r
|
|
26
|
+
\x1B[33m[Process exited with code ${L.exitCode}]\x1B[0m\r
|
|
27
|
+
`),C.current&&C.current(A);return}}catch{}const T=c.current?D.getViewportY():0;D.write(W),c.current&&T>0&&D.scrollToLine(T),X||(X=!0,setTimeout(()=>l(!0),200))},eA.onerror=()=>{},eA.onclose=()=>{i.current===eA&&(i.current=null),!f.current&&a.current<bh&&(a.current++,g.current=setTimeout(()=>{n.current&&!f.current&&v(n.current,O)},Mh))}},[A]);return x.useEffect(()=>{if(!s.current||!A)return;let D=!1;f.current=!1;let O=null,J=null,V=null;return l(!1),a.current=0,i.current&&(i.current.close(),i.current=null),g.current&&(clearTimeout(g.current),g.current=null),(async()=>{if(await Dh(),D||!s.current)return;await vh(),await document.fonts.ready;const X=Gh();O=new hh({theme:{background:X,foreground:"#d4d4d4",cursor:"#ffffff",cursorAccent:"#000000",selectionBackground:"#264f78",black:"#000000",red:"#cd3131",green:"#0dbc79",yellow:"#e5e510",blue:"#2472c8",magenta:"#bc3fbc",cyan:"#11a8cd",white:"#e5e5e5",brightBlack:"#666666",brightRed:"#f14c4c",brightGreen:"#23d18b",brightYellow:"#f5f543",brightBlue:"#3b8eea",brightMagenta:"#d670d6",brightCyan:"#29b8db",brightWhite:"#e5e5e5"},fontSize:13,fontFamily:kh,cursorBlink:!0,convertEol:!0,scrollback:5e3}),J=new xh,O.loadAddon(J),O.open(s.current),O.onData(()=>{n.current?.renderer&&(n.current.renderer.setCursorBlink(!1),I.current&&clearTimeout(I.current),I.current=setTimeout(()=>{n.current?.renderer&&document.activeElement&&s.current?.contains(document.activeElement)&&n.current.renderer.setCursorBlink(!0)},Fh))}),u.current=X;const K=()=>{n.current?.renderer&&(n.current.renderer.setCursorBlink(!0),n.current.renderer.setTheme({cursor:"#ffffff",cursorAccent:"#000000"}))},W=()=>{n.current?.renderer&&(n.current.renderer.setCursorBlink(!1),n.current.renderer.setTheme({cursor:u.current,cursorAccent:u.current}))};if(s.current.addEventListener("focusin",K),s.current.addEventListener("focusout",W),h.current={focusin:K,focusout:W},await new Promise(L=>{requestAnimationFrame(()=>{try{J?.fit()}catch{}L()})}),D)return;const T=Sh();v(O,T),O.onData(L=>{i.current?.readyState===WebSocket.OPEN&&i.current.send(L)}),O.onResize(({cols:L,rows:w})=>{i.current?.readyState===WebSocket.OPEN&&i.current.send(JSON.stringify({type:"resize",cols:L,rows:w}))}),O.onScroll(()=>{c.current=O.getViewportY()>0}),n.current=O,r.current=J,V=new ResizeObserver(()=>{requestAnimationFrame(()=>{if(r.current&&!D)try{r.current.fit()}catch{}})}),V.observe(s.current),setTimeout(()=>{D||l(!0)},2e3)})().catch(X=>{console.error("[TerminalViewer] Failed to initialize:",X)}),()=>{D=!0,f.current=!0,s.current&&h.current&&(s.current.removeEventListener("focusin",h.current.focusin),s.current.removeEventListener("focusout",h.current.focusout),h.current=null),I.current&&(clearTimeout(I.current),I.current=null),g.current&&(clearTimeout(g.current),g.current=null),i.current&&(i.current.close(),i.current=null),V&&V.disconnect(),O&&O.dispose(),n.current=null,r.current=null}},[A,v]),x.useEffect(()=>{const D=n.current;D&&(e?(k(),D.focus()):(D.blur(),D.renderer&&(D.renderer.setCursorBlink(!1),D.renderer.setTheme({cursor:u.current,cursorAccent:u.current}))))},[e,k]),x.useEffect(()=>{k()},[k]),o.jsx("div",{className:"flex h-full flex-col overflow-hidden bg-background absolute inset-0",style:{visibility:e?"visible":"hidden"},"data-terminal-viewer":!0,children:o.jsxs("div",{className:"relative flex-1 min-h-0 overflow-hidden",children:[o.jsx("div",{ref:s,className:"absolute inset-0 bg-background"}),o.jsx("div",{className:"absolute inset-0 bg-background flex items-center justify-center pointer-events-none transition-opacity duration-300",style:{opacity:Q?0:1},children:o.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[o.jsxs("svg",{className:"animate-spin h-4 w-4",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:[o.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),o.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),o.jsx("span",{className:"text-xs",children:"Loading terminal…"})]})})]})})}const nQ=150,Kh=.85,Jh=x.memo(function(){const e=no(J=>J.isOpen),t=no(J=>J.panelHeight),s=no(J=>J.setPanelHeight),n=no(J=>J.activeTabId),r=no(J=>J.selectTab),i=no(J=>J.closePanel),a=no(J=>J.isMaximized),g=no(J=>J.toggleMaximize),Q=no(J=>J.togglePanel),{data:l}=dl(),C=rh(),I=nh(),c=x.useRef(null),u=l?.terminals??[],f=x.useRef(!1),h=x.useRef(u);h.current=u,x.useEffect(()=>{e&&h.current.length>0&&(!n||!h.current.find(J=>J.id===n))&&r(h.current[0].id)},[e,u.length,n,r]),x.useEffect(()=>{e&&l&&u.length===0&&!f.current&&!C.isPending&&(f.current=!0,C.mutateAsync({command:"bash",purpose:"Manual shell"}).then(J=>{r(J.terminalId)}).catch(()=>{}).finally(()=>{f.current=!1}))},[e,l,u.length,r]);const k=x.useCallback(async()=>{try{const J=await C.mutateAsync({command:"bash",purpose:"Manual shell"});r(J.terminalId)}catch{}},[C,r]),v=x.useCallback(async J=>{try{if(await I.mutateAsync(J),n===J){const V=h.current.filter(eA=>eA.id!==J);V.length>0?r(V[0].id):(r(null),i())}}catch{}},[I,n,r,i]);x.useEffect(()=>{const J=V=>{V.key==="`"&&V.ctrlKey&&(V.preventDefault(),Q())};return window.addEventListener("keydown",J),()=>window.removeEventListener("keydown",J)},[Q]);const D=x.useCallback(J=>{J.preventDefault(),c.current={startY:J.clientY,startHeight:t};const V=X=>{if(!c.current)return;const K=c.current.startY-X.clientY,W=c.current.startHeight+K,T=window.innerHeight*Kh;s(Math.min(Math.max(nQ,W),T))},eA=()=>{c.current=null,document.removeEventListener("mousemove",V),document.removeEventListener("mouseup",eA),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",V),document.addEventListener("mouseup",eA),document.body.style.cursor="row-resize",document.body.style.userSelect="none"},[t,s]);if(!e)return null;const O=a?"100%":`${t}px`;return o.jsxs("div",{className:"border-t border-border bg-background flex flex-col shrink-0 relative",style:{height:O,minHeight:nQ},children:[!a&&o.jsx("div",{className:"h-2 w-full cursor-row-resize hover:bg-primary/30 active:bg-primary/50 transition-colors absolute -top-1 left-0 right-0 z-10",onMouseDown:D}),o.jsxs("div",{className:"h-9 border-b border-border flex items-center shrink-0",children:[o.jsxs("div",{className:"flex items-center gap-1.5 px-3 shrink-0 border-r border-border h-full",children:[o.jsx(to,{className:"w-3.5 h-3.5 text-muted-foreground"}),o.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:"Terminal"}),u.length>0&&o.jsxs("span",{className:"text-[10px] text-muted-foreground/70",children:["(",u.length,")"]})]}),o.jsx(ih,{terminals:u,onNewTerminal:k,onKillTerminal:v,isCreating:C.isPending}),o.jsxs("div",{className:"ml-auto flex items-center gap-0.5 px-2 shrink-0",children:[o.jsx("button",{type:"button",className:"p-1 rounded text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",onClick:g,title:a?"Restore":"Maximize",children:a?o.jsx(Ga,{className:"w-3.5 h-3.5"}):o.jsx(FB,{className:"w-3.5 h-3.5"})}),o.jsx("button",{type:"button",className:"p-1 rounded text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",onClick:i,title:"Close panel",children:o.jsx(_t,{className:"w-3.5 h-3.5"})})]})]}),o.jsxs("div",{className:"flex-1 min-h-0 overflow-hidden relative",children:[u.map(J=>o.jsx(Rh,{terminalId:J.id,isActive:J.id===n,onExit:v},J.id)),u.length===0&&o.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground",children:[o.jsx(to,{className:"w-8 h-8 mb-2 opacity-40"}),o.jsx("div",{className:"text-xs",children:"No terminals running"})]})]})]})}),Lh=x.memo(function(){const e=no(r=>r.isOpen),t=no(r=>r.togglePanel),{data:s}=dl(),n=s?.count??0;return o.jsxs("button",{type:"button",onClick:t,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center ${e?"bg-muted border-r-2 border-primary":"hover:bg-muted/50"}`,title:"Terminals",children:[o.jsx(to,{className:"w-5 h-5 text-muted-foreground mx-auto"}),n>0&&o.jsx("span",{className:"absolute top-1 right-1 w-5 h-5 bg-primary text-primary-foreground text-xs rounded-full flex items-center justify-center font-semibold",children:n>9?"9+":n})]})}),Be=x.forwardRef(({className:A="",variant:e="primary",size:t="md",...s},n)=>{const r="inline-flex items-center justify-center rounded font-medium transition-colors focus-visible:outline-none disabled:opacity-50 disabled:cursor-not-allowed",i={primary:"bg-primary text-primary-foreground hover:bg-primary/90",secondary:"bg-muted text-foreground hover:bg-muted/80 border border-border",ghost:"text-muted-foreground hover:text-foreground hover:bg-muted/50"},a={sm:"px-3 py-1.5 text-sm",md:"px-4 py-2 text-sm",lg:"px-6 py-3 text-base",icon:"w-10 h-10 p-0"};return o.jsx("button",{ref:n,className:`${r} ${i[e]} ${a[t]} ${A}`,...s})});Be.displayName="Button";const jh=x.forwardRef(({className:A="",children:e,...t},s)=>o.jsx("div",{ref:s,className:`bg-card text-card-foreground border border-border rounded-lg ${A}`,...t,children:e}));jh.displayName="Card";const rn=x.forwardRef(({className:A="",...e},t)=>o.jsx("input",{ref:t,className:`w-full px-3 py-2 bg-muted border border-border rounded text-foreground placeholder-muted-foreground outline-none ${A}`,...e}));rn.displayName="Input";const On=x.forwardRef(({className:A="",...e},t)=>o.jsx("textarea",{ref:t,className:`w-full px-3 py-2 bg-muted border border-border rounded text-foreground placeholder-muted-foreground outline-none resize-none ${A}`,...e}));On.displayName="Textarea";const za=ht(A=>({isOpen:!1,title:"Confirm Action",message:"",confirmLabel:"Confirm",cancelLabel:"Cancel",variant:"default",onConfirm:()=>{},onCancel:void 0,openConfirmation:e=>A({isOpen:!0,title:e.title||"Confirm Action",message:e.message,confirmLabel:e.confirmLabel||"Confirm",cancelLabel:e.cancelLabel||"Cancel",variant:e.variant||"default",onConfirm:e.onConfirm,onCancel:e.onCancel}),closeConfirmation:()=>A({isOpen:!1,onConfirm:()=>{},onCancel:void 0})}));function Th(){const{isOpen:A,title:e,message:t,confirmLabel:s,cancelLabel:n,variant:r,onConfirm:i,onCancel:a,closeConfirmation:g}=za(),[Q,l]=x.useState(!1);x.useEffect(()=>{A||l(!1)},[A]);const C=x.useCallback(async()=>{l(!0);try{await i(),g()}catch(u){console.error("Confirmation action failed:",u),l(!1)}},[i,g]),I=x.useCallback(()=>{a?.(),g()},[a,g]),c=u=>{u.target===u.currentTarget&&!Q&&I()};return x.useEffect(()=>{const u=f=>{if(A&&!Q){const h=f.target,k=h.tagName==="INPUT"||h.tagName==="TEXTAREA"||h.isContentEditable;(f.key==="Escape"||f.key==="q"&&!k)&&(f.preventDefault(),I()),f.key==="Enter"&&(f.preventDefault(),C())}};if(A)return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[A,Q,C,I]),A?o.jsx("div",{role:"dialog","aria-modal":"true",className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",onClick:c,onKeyDown:u=>{const f=u.target,h=f.tagName==="INPUT"||f.tagName==="TEXTAREA"||f.isContentEditable;(u.key==="Escape"||u.key==="q"&&!h)&&!Q&&(u.preventDefault(),I())},children:o.jsxs("div",{className:"bg-background border border-border rounded-lg shadow-lg max-w-md w-full mx-4",children:[o.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-border",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[r==="destructive"&&o.jsx(wo,{className:"w-5 h-5 text-destructive"}),o.jsx("h2",{className:"text-lg font-semibold",children:e})]}),o.jsx("button",{type:"button",onClick:I,disabled:Q,className:"p-1 hover:bg-muted rounded transition-colors disabled:opacity-50","aria-label":"Close",children:o.jsx(lt,{className:"w-5 h-5"})})]}),o.jsx("div",{className:"p-4",children:o.jsx("p",{className:"text-muted-foreground",children:t})}),o.jsxs("div",{className:"flex items-center justify-end gap-3 p-4 border-t border-border",children:[o.jsx("button",{type:"button",onClick:I,disabled:Q,className:"px-4 py-2 text-sm font-medium rounded transition-colors hover:bg-muted disabled:opacity-50",children:n}),o.jsx("button",{type:"button",onClick:C,disabled:Q,className:`px-4 py-2 text-sm font-medium rounded transition-colors disabled:opacity-50 ${r==="destructive"?"bg-destructive text-destructive-foreground hover:bg-destructive/90":"bg-primary text-primary-foreground hover:bg-primary/90"}`,children:Q?"Processing...":s})]})]})}):null}let Oh=0;const po=ht(A=>({toasts:[],addToast:e=>{const t=`toast-${++Oh}`;return A(s=>({toasts:[...s.toasts,{...e,id:t}]})),t},removeToast:e=>A(t=>({toasts:t.toasts.filter(s=>s.id!==e)})),updateToast:(e,t)=>A(s=>({toasts:s.toasts.map(n=>n.id===e?{...n,...t}:n)})),clearToasts:()=>A({toasts:[]})}));function de(A,e="default",t=4e3){const s=po.getState().addToast({message:A,type:e,duration:t});return t>0&&setTimeout(()=>{po.getState().removeToast(s)},t),s}de.success=(A,e=4e3)=>de(A,"success",e);de.error=(A,e=5e3)=>de(A,"error",e);de.info=(A,e=4e3)=>de(A,"default",e);de.loading=A=>de(A,"loading",0);de.successWithAction=(A,e,t=6e3)=>{const s=po.getState().addToast({message:A,type:"success",duration:t,action:e});return t>0&&setTimeout(()=>{po.getState().removeToast(s)},t),s};function ho(A){window.self!==window.top?window.parent.postMessage({type:"otto-open-url",url:A},"*"):window.open(A,"_blank","noopener,noreferrer")}const qh={default:o.jsx(fr,{className:"h-4 w-4"}),success:o.jsx(GB,{className:"h-4 w-4 text-green-500"}),error:o.jsx(va,{className:"h-4 w-4 text-red-500"}),loading:o.jsx(Le,{className:"h-4 w-4 animate-spin"})};function Yh({toast:A}){const[e,t]=x.useState(!1),s=po(r=>r.removeToast);x.useEffect(()=>{requestAnimationFrame(()=>t(!0))},[]);const n=()=>{t(!1),setTimeout(()=>s(A.id),150)};return o.jsxs("div",{className:`
|
|
28
|
+
flex items-center gap-3 px-4 py-3
|
|
29
|
+
bg-card border border-border rounded-lg shadow-lg
|
|
30
|
+
transition-all duration-150 ease-out cursor-pointer
|
|
31
|
+
hover:bg-accent/50
|
|
32
|
+
${e?"opacity-100 translate-y-0":"opacity-0 translate-y-2"}
|
|
33
|
+
`,onClick:n,role:"alert",children:[qh[A.type],o.jsx("span",{className:"text-sm text-foreground",children:A.message}),A.action&&o.jsxs("button",{type:"button",onClick:r=>{r.stopPropagation(),ho(A.action?.href)},className:"ml-auto flex items-center gap-1 text-xs text-primary hover:underline",children:[A.action.label,o.jsx(vt,{className:"h-3 w-3"})]})]})}function Hh(){const A=po(e=>e.toasts);return A.length===0?null:o.jsx("div",{className:"fixed bottom-4 right-4 z-[9999] flex flex-col gap-2 max-w-sm",children:A.map(e=>o.jsx(Yh,{toast:e},e.id))})}const Mr=ht(A=>({pendingApprovals:[],addPendingApproval:e=>A(t=>({pendingApprovals:[...t.pendingApprovals,e]})),removePendingApproval:e=>A(t=>({pendingApprovals:t.pendingApprovals.filter(s=>s.callId!==e)})),updatePendingApproval:(e,t)=>A(s=>({pendingApprovals:s.pendingApprovals.map(n=>n.callId===e?{...n,args:t}:n)})),clearPendingApprovals:()=>A({pendingApprovals:[]}),setPendingApprovals:e=>A({pendingApprovals:e})}));function Ph(A,e){let t;try{t=A()}catch{return}return{getItem:n=>{var r;const i=g=>g===null?null:JSON.parse(g,void 0),a=(r=t.getItem(n))!=null?r:null;return a instanceof Promise?a.then(i):i(a)},setItem:(n,r)=>t.setItem(n,JSON.stringify(r,void 0)),removeItem:n=>t.removeItem(n)}}const $i=A=>e=>{try{const t=A(e);return t instanceof Promise?t:{then(s){return $i(s)(t)},catch(s){return this}}}catch(t){return{then(s){return this},catch(s){return $i(s)(t)}}}},Wh=(A,e)=>(t,s,n)=>{let r={storage:Ph(()=>window.localStorage),partialize:h=>h,version:0,merge:(h,k)=>({...k,...h}),...e},i=!1,a=0;const g=new Set,Q=new Set;let l=r.storage;if(!l)return A((...h)=>{console.warn(`[zustand persist middleware] Unable to update item '${r.name}', the given storage is currently unavailable.`),t(...h)},s,n);const C=()=>{const h=r.partialize({...s()});return l.setItem(r.name,{state:h,version:r.version})},I=n.setState;n.setState=(h,k)=>(I(h,k),C());const c=A((...h)=>(t(...h),C()),s,n);n.getInitialState=()=>c;let u;const f=()=>{var h,k;if(!l)return;const v=++a;i=!1,g.forEach(O=>{var J;return O((J=s())!=null?J:c)});const D=((k=r.onRehydrateStorage)==null?void 0:k.call(r,(h=s())!=null?h:c))||void 0;return $i(l.getItem.bind(l))(r.name).then(O=>{if(O)if(typeof O.version=="number"&&O.version!==r.version){if(r.migrate){const J=r.migrate(O.state,O.version);return J instanceof Promise?J.then(V=>[!0,V]):[!0,J]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,O.state];return[!1,void 0]}).then(O=>{var J;if(v!==a)return;const[V,eA]=O;if(u=r.merge(eA,(J=s())!=null?J:c),t(u,!0),V)return C()}).then(()=>{v===a&&(D?.(s(),void 0),u=s(),i=!0,Q.forEach(O=>O(u)))}).catch(O=>{v===a&&D?.(void 0,O)})};return n.persist={setOptions:h=>{r={...r,...h},h.storage&&(l=h.storage)},clearStorage:()=>{l?.removeItem(r.name)},getOptions:()=>r,rehydrate:()=>f(),hasHydrated:()=>i,onHydrate:h=>(g.add(h),()=>{g.delete(h)}),onFinishHydration:h=>(Q.add(h),()=>{Q.delete(h)})},r.skipHydration||f(),u||c},Nl=Wh,os=ht()(Nl((A,e)=>({widths:{},setWidth:(t,s)=>A(n=>({widths:{...n.widths,[t]:s}})),getWidth:(t,s)=>e().widths[t]??s}),{name:"panel-widths"})),zs=x.memo(function({panelKey:e,side:t,minWidth:s,maxWidth:n,defaultWidth:r,onWidthChange:i}){const a=x.useRef(null),g=x.useCallback(Q=>{Q.preventDefault();const l=os.getState().getWidth(e,r);a.current={startX:Q.clientX,startWidth:l};const C=c=>{if(!a.current)return;const u=c.clientX-a.current.startX,f=t==="right"?a.current.startWidth-u:a.current.startWidth+u,h=Math.min(Math.max(s,f),n);os.getState().setWidth(e,h),i?.(h)},I=()=>{a.current=null,document.removeEventListener("mousemove",C),document.removeEventListener("mouseup",I),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",C),document.addEventListener("mouseup",I),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[e,t,s,n,r,i]);return o.jsx("div",{className:`w-1 h-full cursor-col-resize hover:bg-primary/30 active:bg-primary/50 transition-colors absolute top-0 bottom-0 z-10 ${t==="right"?"left-0":"right-0"}`,onMouseDown:g})});function rs(A){return Array.isArray?Array.isArray(A):Ml(A)==="[object Array]"}function zh(A){if(typeof A=="string")return A;if(typeof A=="bigint")return A.toString();const e=A+"";return e=="0"&&1/A==-1/0?"-0":e}function Aa(A){return A==null?"":zh(A)}function Zt(A){return typeof A=="string"}function nn(A){return typeof A=="number"}function Vh(A){return A===!0||A===!1||Zh(A)&&Ml(A)=="[object Boolean]"}function kl(A){return typeof A=="object"}function Zh(A){return kl(A)&&A!==null}function Ao(A){return A!=null}function Or(A){return!A.trim().length}function Ml(A){return A==null?A===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(A)}const _h="Incorrect 'index' type",Xh=A=>`Invalid value for key ${A}`,$h=A=>`Pattern length exceeds max of ${A}.`,A0=A=>`Missing ${A} property in key`,e0=A=>`Property 'weight' in key '${A}' must be a positive integer`,iQ=Object.prototype.hasOwnProperty;class t0{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(s=>{const n=bl(s);this._keys.push(n),this._keyMap[n.id]=n,t+=n.weight}),this._keys.forEach(s=>{s.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function bl(A){let e=null,t=null,s=null,n=1,r=null;if(Zt(A)||rs(A))s=A,e=aQ(A),t=ea(A);else{if(!iQ.call(A,"name"))throw new Error(A0("name"));const i=A.name;if(s=i,iQ.call(A,"weight")&&(n=A.weight,n<=0))throw new Error(e0(i));e=aQ(i),t=ea(i),r=A.getFn}return{path:e,id:t,weight:n,src:s,getFn:r}}function aQ(A){return rs(A)?A:A.split(".")}function ea(A){return rs(A)?A.join("."):A}function o0(A,e){const t=[];let s=!1;const n=(r,i,a,g)=>{if(Ao(r))if(!i[a])t.push(g!==void 0?{v:r,i:g}:r);else{const Q=i[a],l=r[Q];if(!Ao(l))return;if(a===i.length-1&&(Zt(l)||nn(l)||Vh(l)||typeof l=="bigint"))t.push(g!==void 0?{v:Aa(l),i:g}:Aa(l));else if(rs(l)){s=!0;for(let C=0,I=l.length;C<I;C+=1)n(l[C],i,a+1,C)}else i.length&&n(l,i,a+1,g)}};return n(A,Zt(e)?e.split("."):e,0),s?t:t[0]}const s0={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},r0={isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(A,e)=>A.score===e.score?A.idx<e.idx?-1:1:A.score<e.score?-1:1},n0={location:0,threshold:.6,distance:100},i0={useExtendedSearch:!1,useTokenSearch:!1,getFn:o0,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},Qe=Object.freeze({...r0,...s0,...n0,...i0}),a0=/[^ ]+/g;function g0(A=1,e=3){const t=new Map,s=Math.pow(10,e);return{get(n){const r=n.match(a0).length;if(t.has(r))return t.get(r);const i=1/Math.pow(r,.5*A),a=parseFloat(Math.round(i*s)/s);return t.set(r,a),a},clear(){t.clear()}}}class Va{constructor({getFn:e=Qe.getFn,fieldNormWeight:t=Qe.fieldNormWeight}={}){this.norm=g0(t,3),this.getFn=e,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach((t,s)=>{this._keysMap[t.id]=s})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,Zt(this.docs[0])?this.docs.forEach((e,t)=>{this._addString(e,t)}):this.docs.forEach((e,t)=>{this._addObject(e,t)}),this.norm.clear())}add(e){const t=this.size();Zt(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,s=this.size();t<s;t+=1)this.records[t].i-=1}removeAll(e){for(let t=e.length-1;t>=0;t-=1)this.records.splice(e[t],1);for(let t=0,s=this.records.length;t<s;t+=1)this.records[t].i=t}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_addString(e,t){if(!Ao(e)||Or(e))return;const s={v:e,i:t,n:this.norm.get(e)};this.records.push(s)}_addObject(e,t){const s={i:t,$:{}};this.keys.forEach((n,r)=>{const i=n.getFn?n.getFn(e):this.getFn(e,n.path);if(Ao(i)){if(rs(i)){const a=[];for(let g=0,Q=i.length;g<Q;g+=1){const l=i[g];if(Ao(l)){if(Zt(l)){if(!Or(l)){const C={v:l,i:g,n:this.norm.get(l)};a.push(C)}}else if(Ao(l.v)){const C=Zt(l.v)?l.v:Aa(l.v);if(!Or(C)){const I={v:C,i:l.i,n:this.norm.get(C)};a.push(I)}}}}s.$[r]=a}else if(Zt(i)&&!Or(i)){const a={v:i,n:this.norm.get(i)};s.$[r]=a}}}),this.records.push(s)}toJSON(){return{keys:this.keys.map(({getFn:e,...t})=>t),records:this.records}}}function Fl(A,e,{getFn:t=Qe.getFn,fieldNormWeight:s=Qe.fieldNormWeight}={}){const n=new Va({getFn:t,fieldNormWeight:s});return n.setKeys(A.map(bl)),n.setSources(e),n.create(),n}function Q0(A,{getFn:e=Qe.getFn,fieldNormWeight:t=Qe.fieldNormWeight}={}){const{keys:s,records:n}=A,r=new Va({getFn:e,fieldNormWeight:t});return r.setKeys(s),r.setIndexRecords(n),r}function B0(A=[],e=Qe.minMatchCharLength){const t=[];let s=-1,n=-1,r=0;for(let i=A.length;r<i;r+=1){const a=A[r];a&&s===-1?s=r:!a&&s!==-1&&(n=r-1,n-s+1>=e&&t.push([s,n]),s=-1)}return A[r-1]&&r-s>=e&&t.push([s,r-1]),t}const ls=32;function l0(A,e,t,{location:s=Qe.location,distance:n=Qe.distance,threshold:r=Qe.threshold,findAllMatches:i=Qe.findAllMatches,minMatchCharLength:a=Qe.minMatchCharLength,includeMatches:g=Qe.includeMatches,ignoreLocation:Q=Qe.ignoreLocation}={}){if(e.length>ls)throw new Error($h(ls));const l=e.length,C=A.length,I=Math.max(0,Math.min(s,C));let c=r,u=I;const f=(X,K)=>{const W=X/l;if(Q)return W;const T=Math.abs(I-K);return n?W+T/n:T?1:W},h=a>1||g,k=h?Array(C):[];let v;for(;(v=A.indexOf(e,u))>-1;){const X=f(0,v);if(c=Math.min(X,c),u=v+l,h){let K=0;for(;K<l;)k[v+K]=1,K+=1}}u=-1;let D=[],O=1,J=l+C;const V=1<<l-1;for(let X=0;X<l;X+=1){let K=0,W=J;for(;K<W;)f(X,I+W)<=c?K=W:J=W,W=Math.floor((J-K)/2+K);J=W;let T=Math.max(1,I-W+1);const L=i?C:Math.min(I+W,C)+l,w=Array(L+2);w[L+1]=(1<<X)-1;for(let d=L;d>=T;d-=1){const N=d-1,G=t[A[N]];if(h&&(k[N]=+!!G),w[d]=(w[d+1]<<1|1)&G,X&&(w[d]|=(D[d+1]|D[d])<<1|1|D[d+1]),w[d]&V&&(O=f(X,N),O<=c)){if(c=O,u=N,u<=I)break;T=Math.max(1,2*I-u)}}if(f(X+1,I)>c)break;D=w}const eA={isMatch:u>=0,score:Math.max(.001,O)};if(h){const X=B0(k,a);X.length?g&&(eA.indices=X):eA.isMatch=!1}return eA}function c0(A){const e={};for(let t=0,s=A.length;t<s;t+=1){const n=A.charAt(t);e[n]=(e[n]||0)|1<<s-t-1}return e}function Za(A){if(A.length<=1)return A;A.sort((t,s)=>t[0]-s[0]||t[1]-s[1]);const e=[A[0]];for(let t=1,s=A.length;t<s;t+=1){const n=e[e.length-1],r=A[t];r[0]<=n[1]+1?n[1]=Math.max(n[1],r[1]):e.push(r)}return e}const Gl={ł:"l",Ł:"L",đ:"d",Đ:"D",ø:"o",Ø:"O",ħ:"h",Ħ:"H",ŧ:"t",Ŧ:"T",ı:"i",ß:"ss"},E0=new RegExp("["+Object.keys(Gl).join("")+"]","g"),Ir=String.prototype.normalize?A=>A.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,"").replace(E0,e=>Gl[e]):A=>A;class _a{constructor(e,{location:t=Qe.location,threshold:s=Qe.threshold,distance:n=Qe.distance,includeMatches:r=Qe.includeMatches,findAllMatches:i=Qe.findAllMatches,minMatchCharLength:a=Qe.minMatchCharLength,isCaseSensitive:g=Qe.isCaseSensitive,ignoreDiacritics:Q=Qe.ignoreDiacritics,ignoreLocation:l=Qe.ignoreLocation}={}){if(this.options={location:t,threshold:s,distance:n,includeMatches:r,findAllMatches:i,minMatchCharLength:a,isCaseSensitive:g,ignoreDiacritics:Q,ignoreLocation:l},e=g?e:e.toLowerCase(),e=Q?Ir(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;const C=(c,u)=>{this.chunks.push({pattern:c,alphabet:c0(c),startIndex:u})},I=this.pattern.length;if(I>ls){let c=0;const u=I%ls,f=I-u;for(;c<f;)C(this.pattern.substr(c,ls),c),c+=ls;if(u){const h=I-ls;C(this.pattern.substr(h),h)}}else C(this.pattern,0)}searchIn(e){const{isCaseSensitive:t,ignoreDiacritics:s,includeMatches:n}=this.options;if(e=t?e:e.toLowerCase(),e=s?Ir(e):e,this.pattern===e){const f={isMatch:!0,score:0};return n&&(f.indices=[[0,e.length-1]]),f}const{location:r,distance:i,threshold:a,findAllMatches:g,minMatchCharLength:Q,ignoreLocation:l}=this.options,C=[];let I=0,c=!1;this.chunks.forEach(({pattern:f,alphabet:h,startIndex:k})=>{const{isMatch:v,score:D,indices:O}=l0(e,f,h,{location:r+k,distance:i,threshold:a,findAllMatches:g,minMatchCharLength:Q,includeMatches:n,ignoreLocation:l});v&&(c=!0),I+=D,v&&O&&C.push(...O)});const u={isMatch:c,score:c?I/this.chunks.length:1};return c&&n&&(u.indices=Za(C)),u}}class ns{constructor(e){this.pattern=e}static isMultiMatch(e){return gQ(e,this.multiRegex)}static isSingleMatch(e){return gQ(e,this.singleRegex)}search(e){return{isMatch:!1,score:1}}}function gQ(A,e){const t=A.match(e);return t?t[1]:null}class C0 extends ns{constructor(e){super(e)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){const t=e===this.pattern;return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}}class I0 extends ns{constructor(e){super(e)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){const s=e.indexOf(this.pattern)===-1;return{isMatch:s,score:s?0:1,indices:[0,e.length-1]}}}class u0 extends ns{constructor(e){super(e)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){const t=e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}}class d0 extends ns{constructor(e){super(e)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){const t=!e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}class h0 extends ns{constructor(e){super(e)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){const t=e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[e.length-this.pattern.length,e.length-1]}}}class p0 extends ns{constructor(e){super(e)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){const t=!e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}class vl extends ns{constructor(e,{location:t=Qe.location,threshold:s=Qe.threshold,distance:n=Qe.distance,includeMatches:r=Qe.includeMatches,findAllMatches:i=Qe.findAllMatches,minMatchCharLength:a=Qe.minMatchCharLength,isCaseSensitive:g=Qe.isCaseSensitive,ignoreDiacritics:Q=Qe.ignoreDiacritics,ignoreLocation:l=Qe.ignoreLocation}={}){super(e),this._bitapSearch=new _a(e,{location:t,threshold:s,distance:n,includeMatches:r,findAllMatches:i,minMatchCharLength:a,isCaseSensitive:g,ignoreDiacritics:Q,ignoreLocation:l})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}}class Sl extends ns{constructor(e){super(e)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t=0,s;const n=[],r=this.pattern.length;for(;(s=e.indexOf(this.pattern,t))>-1;)t=s+r,n.push([s,t-1]);const i=!!n.length;return{isMatch:i,score:i?0:1,indices:n}}}const ta=[C0,Sl,u0,d0,p0,h0,I0,vl],QQ=ta.length,f0="\0",m0="|";function w0(A){const e=[],t=A.length;let s=0;for(;s<t;){for(;s<t&&A[s]===" ";)s++;if(s>=t)break;let n=s;for(;n<t&&A[n]!==" "&&A[n]!=='"';)n++;if(n<t&&A[n]==='"'){for(n++;n<t;){if(A[n]==='"'){const r=n+1;if(r>=t||A[r]===" "){n++;break}if(A[r]==="$"&&(r+1>=t||A[r+1]===" ")){n+=2;break}}n++}e.push(A.substring(s,n)),s=n}else{for(;n<t&&A[n]!==" ";)n++;e.push(A.substring(s,n)),s=n}}return e}function x0(A,e={}){return A.replace(/\\\|/g,f0).split(m0).map(s=>{const n=s.replace(/\u0000/g,"|"),r=w0(n.trim()).filter(a=>a&&!!a.trim()),i=[];for(let a=0,g=r.length;a<g;a+=1){const Q=r[a];let l=!1,C=-1;for(;!l&&++C<QQ;){const I=ta[C],c=I.isMultiMatch(Q);c&&(i.push(new I(c,e)),l=!0)}if(!l)for(C=-1;++C<QQ;){const I=ta[C],c=I.isSingleMatch(Q);if(c){i.push(new I(c,e));break}}}return i})}const D0=new Set([vl.type,Sl.type]);class y0{constructor(e,{isCaseSensitive:t=Qe.isCaseSensitive,ignoreDiacritics:s=Qe.ignoreDiacritics,includeMatches:n=Qe.includeMatches,minMatchCharLength:r=Qe.minMatchCharLength,ignoreLocation:i=Qe.ignoreLocation,findAllMatches:a=Qe.findAllMatches,location:g=Qe.location,threshold:Q=Qe.threshold,distance:l=Qe.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:s,includeMatches:n,minMatchCharLength:r,findAllMatches:a,ignoreLocation:i,location:g,threshold:Q,distance:l},e=t?e:e.toLowerCase(),e=s?Ir(e):e,this.pattern=e,this.query=x0(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){const t=this.query;if(!t)return{isMatch:!1,score:1};const{includeMatches:s,isCaseSensitive:n,ignoreDiacritics:r}=this.options;e=n?e:e.toLowerCase(),e=r?Ir(e):e;let i=0;const a=[];let g=0,Q=!1;for(let l=0,C=t.length;l<C;l+=1){const I=t[l];a.length=0,i=0,Q=!1;for(let c=0,u=I.length;c<u;c+=1){const f=I[c],{isMatch:h,indices:k,score:v}=f.search(e);if(h){i+=1,g+=v;const D=f.constructor.type;D.startsWith("inverse")&&(Q=!0),s&&(D0.has(D)?a.push(...k):a.push(k))}else{g=0,i=0,a.length=0,Q=!1;break}}if(i){const c={isMatch:!0,score:g/i};return Q&&(c.hasInverse=!0),s&&(c.indices=Za(a)),c}}return{isMatch:!1,score:1}}}const oa=[];function Xa(...A){oa.push(...A)}function dn(A,e){for(let t=0,s=oa.length;t<s;t+=1){const n=oa[t];if(n.condition(A,e))return new n(A,e)}return new _a(A,e)}const hn={AND:"$and",OR:"$or"},sa={PATH:"$path",PATTERN:"$val"},ra=A=>!!(A[hn.AND]||A[hn.OR]),N0=A=>!!A[sa.PATH],k0=A=>!rs(A)&&kl(A)&&!ra(A),BQ=A=>({[hn.AND]:Object.keys(A).map(e=>({[e]:A[e]}))});function Ul(A,e,{auto:t=!0}={}){const s=n=>{if(Zt(n)){const g={keyId:null,pattern:n};return t&&(g.searcher=dn(n,e)),g}const r=Object.keys(n),i=N0(n);if(!i&&r.length>1&&!ra(n))return s(BQ(n));if(k0(n)){const g=i?n[sa.PATH]:r[0],Q=i?n[sa.PATTERN]:n[g];if(!Zt(Q))throw new Error(Xh(g));const l={keyId:ea(g),pattern:Q};return t&&(l.searcher=dn(Q,e)),l}const a={children:[],operator:r[0]};return r.forEach(g=>{const Q=n[g];rs(Q)&&Q.forEach(l=>{a.children.push(s(l))})}),a};return ra(A)||(A=BQ(A)),s(A)}function na(A,{ignoreFieldNorm:e=Qe.ignoreFieldNorm}){let t=1;return A.forEach(({key:s,norm:n,score:r})=>{const i=s?s.weight:null;t*=Math.pow(r===0&&i?Number.EPSILON:r,(i||1)*(e?1:n))}),t}function M0(A,{ignoreFieldNorm:e=Qe.ignoreFieldNorm}){A.forEach(t=>{t.score=na(t.matches,{ignoreFieldNorm:e})})}class b0{constructor(e){this.limit=e,this.heap=[]}get size(){return this.heap.length}shouldInsert(e){return this.size<this.limit||e<this.heap[0].score}insert(e){this.size<this.limit?(this.heap.push(e),this._bubbleUp(this.size-1)):e.score<this.heap[0].score&&(this.heap[0]=e,this._sinkDown(0))}extractSorted(e){return this.heap.sort(e)}_bubbleUp(e){const t=this.heap;for(;e>0;){const s=e-1>>1;if(t[e].score<=t[s].score)break;const n=t[e];t[e]=t[s],t[s]=n,e=s}}_sinkDown(e){const t=this.heap,s=t.length;let n=e;do{e=n;const r=2*e+1,i=2*e+2;if(r<s&&t[r].score>t[n].score&&(n=r),i<s&&t[i].score>t[n].score&&(n=i),n!==e){const a=t[e];t[e]=t[n],t[n]=a}}while(n!==e)}}function F0(A,e){const t=A.matches;e.matches=[],Ao(t)&&t.forEach(s=>{if(!Ao(s.indices)||!s.indices.length)return;const{indices:n,value:r}=s,i={indices:n,value:r};s.key&&(i.key=s.key.src),s.idx>-1&&(i.refIndex=s.idx),e.matches.push(i)})}function G0(A,e){e.score=A.score}function v0(A,e,{includeMatches:t=Qe.includeMatches,includeScore:s=Qe.includeScore}={}){const n=[];return t&&n.push(F0),s&&n.push(G0),A.map(r=>{const{idx:i}=r,a={item:e[i],refIndex:i};return n.length&&n.forEach(g=>{g(r,a)}),a})}const S0=/\b\w+\b/g;function ia({isCaseSensitive:A=!1,ignoreDiacritics:e=!1}={}){return{tokenize(t){return A||(t=t.toLowerCase()),e&&(t=Ir(t)),t.match(S0)||[]}}}function U0(A,e,t){const s=new Map,n=new Map;let r=0;function i(a,g,Q,l){const C=t.tokenize(a);if(!C.length)return;r++;const I=new Map;for(const c of C)I.set(c,(I.get(c)||0)+1);for(const[c,u]of I){const f={docIdx:g,keyIdx:Q,subIdx:l,tf:u};let h=s.get(c);h||(h=[],s.set(c,h)),h.push(f),n.set(c,(n.get(c)||0)+1)}}for(const a of A){const{i:g,v:Q,$:l}=a;if(Q!==void 0){i(Q,g,-1,-1);continue}if(l)for(let C=0;C<e;C++){const I=l[C];if(I)if(Array.isArray(I))for(const c of I)i(c.v,g,C,c.i??-1);else i(I.v,g,C,-1)}}return{terms:s,fieldCount:r,df:n}}function R0(A,e,t,s){const{i:n,v:r,$:i}=e;function a(g,Q,l){const C=s.tokenize(g);if(!C.length)return;A.fieldCount++;const I=new Map;for(const c of C)I.set(c,(I.get(c)||0)+1);for(const[c,u]of I){const f={docIdx:n,keyIdx:Q,subIdx:l,tf:u};let h=A.terms.get(c);h||(h=[],A.terms.set(c,h)),h.push(f),A.df.set(c,(A.df.get(c)||0)+1)}}if(r!==void 0){a(r,-1,-1);return}if(i)for(let g=0;g<t;g++){const Q=i[g];if(Q)if(Array.isArray(Q))for(const l of Q)a(l.v,g,l.i??-1);else a(Q.v,g,-1)}}function lQ(A,e){for(const[t,s]of A.terms){const n=s.filter(i=>i.docIdx!==e),r=s.length-n.length;r>0&&(A.fieldCount-=r,A.df.set(t,(A.df.get(t)||0)-r),n.length===0?(A.terms.delete(t),A.df.delete(t)):A.terms.set(t,n))}}class Go{constructor(e,t,s){this.options={...Qe,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new t0(this.options.keys),this._docs=e,this._myIndex=null,this._invertedIndex=null,this.setCollection(e,s),this._lastQuery=null,this._lastSearcher=null}_getSearcher(e){if(this._lastQuery===e)return this._lastSearcher;const t=this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options,s=dn(e,t);return this._lastQuery=e,this._lastSearcher=s,s}setCollection(e,t){if(this._docs=e,t&&!(t instanceof Va))throw new Error(_h);if(this._myIndex=t||Fl(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){const s=ia({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics});this._invertedIndex=U0(this._myIndex.records,this._myIndex.keys.length,s)}}add(e){if(Ao(e)&&(this._docs.push(e),this._myIndex.add(e),this._invertedIndex)){const t=this._myIndex.records[this._myIndex.records.length-1],s=ia({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics});R0(this._invertedIndex,t,this._myIndex.keys.length,s)}}remove(e=()=>!1){const t=[],s=[];for(let n=0,r=this._docs.length;n<r;n+=1)e(this._docs[n],n)&&(t.push(this._docs[n]),s.push(n));if(s.length){if(this._invertedIndex)for(const n of s)lQ(this._invertedIndex,n);for(let n=s.length-1;n>=0;n-=1)this._docs.splice(s[n],1);this._myIndex.removeAll(s)}return t}removeAt(e){this._invertedIndex&&lQ(this._invertedIndex,e);const t=this._docs.splice(e,1)[0];return this._myIndex.removeAt(e),t}getIndex(){return this._myIndex}search(e,t){const{limit:s=-1}=t||{},{includeMatches:n,includeScore:r,shouldSort:i,sortFn:a,ignoreFieldNorm:g}=this.options;if(Zt(e)&&!e.trim()){let C=this._docs.map((I,c)=>({item:I,refIndex:c}));return nn(s)&&s>-1&&(C=C.slice(0,s)),C}const Q=nn(s)&&s>0&&Zt(e);let l;if(Q){const C=new b0(s);Zt(this._docs[0])?this._searchStringList(e,{heap:C,ignoreFieldNorm:g}):this._searchObjectList(e,{heap:C,ignoreFieldNorm:g}),l=C.extractSorted(a)}else l=Zt(e)?Zt(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),M0(l,{ignoreFieldNorm:g}),i&&l.sort(a),nn(s)&&s>-1&&(l=l.slice(0,s));return v0(l,this._docs,{includeMatches:n,includeScore:r})}_searchStringList(e,{heap:t,ignoreFieldNorm:s}={}){const n=this._getSearcher(e),{records:r}=this._myIndex,i=t?null:[];return r.forEach(({v:a,i:g,n:Q})=>{if(!Ao(a))return;const{isMatch:l,score:C,indices:I}=n.searchIn(a);if(l){const c={item:a,idx:g,matches:[{score:C,value:a,norm:Q,indices:I}]};t?(c.score=na(c.matches,{ignoreFieldNorm:s}),t.shouldInsert(c.score)&&t.insert(c)):i.push(c)}}),i}_searchLogical(e){const t=Ul(e,this.options),s=(a,g,Q)=>{if(!("children"in a)){const{keyId:c,searcher:u}=a;let f;return c===null?(f=[],this._myIndex.keys.forEach((h,k)=>{f.push(...this._findMatches({key:h,value:g[k],searcher:u}))})):f=this._findMatches({key:this._keyStore.get(c),value:this._myIndex.getValueForItemAtKeyId(g,c),searcher:u}),f&&f.length?[{idx:Q,item:g,matches:f}]:[]}const{children:l,operator:C}=a,I=[];for(let c=0,u=l.length;c<u;c+=1){const f=l[c],h=s(f,g,Q);if(h.length)I.push(...h);else if(C===hn.AND)return[]}return I},n=this._myIndex.records,r=new Map,i=[];return n.forEach(({$:a,i:g})=>{if(Ao(a)){const Q=s(t,a,g);Q.length&&(r.has(g)||(r.set(g,{idx:g,item:a,matches:[]}),i.push(r.get(g))),Q.forEach(({matches:l})=>{r.get(g).matches.push(...l)}))}}),i}_searchObjectList(e,{heap:t,ignoreFieldNorm:s}={}){const n=this._getSearcher(e),{keys:r,records:i}=this._myIndex,a=t?null:[];return i.forEach(({$:g,i:Q})=>{if(!Ao(g))return;const l=[];let C=!1,I=!1;if(r.forEach((c,u)=>{const f=this._findMatches({key:c,value:g[u],searcher:n});f.length?(l.push(...f),f[0].hasInverse&&(I=!0)):C=!0}),!(I&&C)&&l.length){const c={idx:Q,item:g,matches:l};t?(c.score=na(c.matches,{ignoreFieldNorm:s}),t.shouldInsert(c.score)&&t.insert(c)):a.push(c)}}),a}_findMatches({key:e,value:t,searcher:s}){if(!Ao(t))return[];const n=[];if(rs(t))t.forEach(({v:r,i,n:a})=>{if(!Ao(r))return;const{isMatch:g,score:Q,indices:l,hasInverse:C}=s.searchIn(r);g&&n.push({score:Q,key:e,value:r,idx:i,norm:a,indices:l,hasInverse:C})});else{const{v:r,n:i}=t,{isMatch:a,score:g,indices:Q,hasInverse:l}=s.searchIn(r);a&&n.push({score:g,key:e,value:r,norm:i,indices:Q,hasInverse:l})}return n}}class K0{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=ia({isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics});const s=this.analyzer.tokenize(e),n=t._invertedIndex,{df:r,fieldCount:i}=n;this.termSearchers=[],this.idfWeights=[];for(const a of s){this.termSearchers.push(new _a(a,{location:t.location,threshold:t.threshold,distance:t.distance,includeMatches:t.includeMatches,findAllMatches:t.findAllMatches,minMatchCharLength:t.minMatchCharLength,isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,ignoreLocation:!0}));const g=r.get(a)||0,Q=Math.log(1+(i-g+.5)/(g+.5));this.idfWeights.push(Q)}}searchIn(e){if(!this.termSearchers.length)return{isMatch:!1,score:1};const t=[];let s=0,n=0,r=0;for(let g=0;g<this.termSearchers.length;g++){const Q=this.termSearchers[g].searchIn(e),l=this.idfWeights[g];n+=l,Q.isMatch&&(r++,s+=l*(1-Q.score),Q.indices&&t.push(...Q.indices))}if(r===0)return{isMatch:!1,score:1};const i=n>0?1-s/n:0,a={isMatch:!0,score:Math.max(.001,i)};return this.options.includeMatches&&t.length&&(a.indices=Za(t)),a}}Go.version="7.3.0";Go.createIndex=Fl;Go.parseIndex=Q0;Go.config=Qe;Go.match=function(A,e,t){return dn(A,{...Qe,...t}).searchIn(e)};Go.parseQuery=Ul;Xa(y0);Xa(K0);Go.use=function(...A){A.forEach(e=>Xa(e))};function J0(A){switch(A.split(".").pop()?.toLowerCase()){case"ts":case"tsx":case"js":case"jsx":case"mjs":case"cjs":case"py":case"rb":case"go":case"rs":case"java":case"c":case"cpp":case"h":case"hpp":return Gn;case"json":case"yaml":case"yml":case"toml":return VE;case"md":case"txt":case"log":return ts;case"png":case"jpg":case"jpeg":case"gif":case"svg":case"webp":return Sa;case"css":case"scss":case"sass":case"less":return zE;case"html":case"xml":return WE;default:return es}}function L0(A,e){const t=e.get(A);return t?{added:{icon:go,label:"Added",className:"text-green-500"},modified:{icon:En,label:"Modified",className:"text-yellow-500"},untracked:{icon:go,label:"Untracked",className:"text-blue-500"}}[t]||{icon:En,label:"Modified",className:"text-yellow-500"}:null}function j0({files:A,changedFiles:e=[],query:t,selectedIndex:s,onSelect:n,onEnterSelect:r,onClose:i}){const a=x.useMemo(()=>new Map(e?.map(l=>[l.path,l.status])||[]),[e]),g=x.useMemo(()=>new Go(A.map(l=>({path:l,filename:l.split("/").pop()||l,normalized:l.replace(/[.\-_/]/g,"")})),{keys:[{name:"filename",weight:2},{name:"normalized",weight:1.5},{name:"path",weight:1}],threshold:.3,distance:200,ignoreLocation:!0,includeScore:!0}),[A]),Q=x.useMemo(()=>{if(!t)return A.slice(0,20);const l=t.replace(/[.\-_/]/g,""),C=g.search(l);return C.sort((I,c)=>{const u=I.score??1,f=c.score??1;if(Math.abs(u-f)<.05){const k=a.has(I.item.path),v=a.has(c.item.path);if(k&&!v)return-1;if(!k&&v)return 1}return u-f}),C.slice(0,20).map(I=>I.item.path)},[g,t,A,a]);return x.useEffect(()=>{document.getElementById(`file-item-${s}`)?.scrollIntoView({block:"nearest"})},[s]),x.useEffect(()=>{r(Q[s])},[Q,s,r]),x.useEffect(()=>{const l=C=>{C.target.closest("[data-file-mention-popup]")||i()};return document.addEventListener("mousedown",l),()=>document.removeEventListener("mousedown",l)},[i]),Q.length===0?o.jsx("div",{"data-file-mention-popup":!0,className:"absolute bottom-full left-0 right-0 mb-2 bg-card border border-border rounded-lg shadow-lg z-50 p-3",children:o.jsx("span",{className:"text-muted-foreground text-sm",children:"No files found"})}):o.jsx("div",{"data-file-mention-popup":!0,className:"absolute bottom-full left-0 right-0 mb-2 bg-card border border-border rounded-lg shadow-lg max-h-[300px] overflow-y-auto z-50",children:Q.map((l,C)=>o.jsx("button",{type:"button",id:`file-item-${C}`,onMouseDown:I=>{I.preventDefault(),n(l)},className:`w-full text-left px-3 py-2 hover:bg-accent ${C===s?"bg-accent":""}`,children:o.jsxs("div",{className:"flex items-center gap-2 w-full",children:[(()=>{const I=J0(l);return o.jsx(I,{className:"w-4 h-4 flex-shrink-0 text-muted-foreground"})})(),o.jsx("span",{className:"font-mono text-sm flex-1 truncate",children:l}),(()=>{const I=L0(l,a);return I&&o.jsx("span",{title:I.label,children:o.jsx(I.icon,{className:`w-3.5 h-3.5 flex-shrink-0 ${I.className}`})})})()]})},l))})}function T0(){if(typeof window<"u"&&typeof window.fetch=="function")return"fetch"}function TA(A){if(!A)return"Unknown error";if(typeof A=="string")return A;if(A&&typeof A=="object"){const e=A;if(e.error&&typeof e.error=="object"){const t=e.error;if(typeof t.message=="string")return t.message}if(typeof e.error=="string")return e.error;if(typeof e.message=="string")return e.message;try{return JSON.stringify(A)}catch{return"Error occurred (unable to parse)"}}return"Unknown error"}function O0(){const e=window.OTTO_SERVER_URL||ss;MA.setConfig({baseURL:e,adapter:T0()})}O0();function $a(){const A=window;return A.OTTO_SERVER_URL?A.OTTO_SERVER_URL:ss}function Qi(A){return{...A,title:A.title??null,createdAt:typeof A.createdAt=="string"?new Date(A.createdAt).getTime():A.createdAt,lastActiveAt:typeof A.lastActiveAt=="string"?new Date(A.lastActiveAt).getTime():A.lastActiveAt}}function q0(A){return{...A,createdAt:typeof A.createdAt=="string"?new Date(A.createdAt).getTime():A.createdAt,completedAt:A.completedAt?typeof A.completedAt=="string"?new Date(A.completedAt).getTime():A.completedAt:null}}const ro={async getSessions(){return(await this.getSessionsPage({limit:200})).items},async getSessionsPage(A={}){const{limit:e=50,offset:t=0}=A,s=await Rd({query:{limit:e,offset:t}});if(s.error)throw new Error(TA(s.error));const n=s.data;return{items:(n?.items??[]).map(r=>Qi(r)),hasMore:n?.hasMore??!1,nextOffset:n?.nextOffset??null}},async createSession(A){const e=await Kd({body:A});if(e.error)throw new Error(TA(e.error));if(!e.data)throw new Error("No data returned from create session");return Qi(e.data)},async updateSession(A,e){const t=await kd({path:{sessionId:A},body:e});if(t.error)throw new Error(TA(t.error));return Qi(t.data)},async deleteSession(A){const e=await Nd({path:{sessionId:A}});if(e.error)throw new Error(TA(e.error));return e.data},async abortSession(A){const e=await eQ({path:{sessionId:A}});if(e.error)throw new Error(TA(e.error));return e.data},async abortMessage(A,e){const t=await eQ({path:{sessionId:A}});if(t.error)throw new Error("Failed to abort message");return t.data},async getQueueState(A){const e=await Md({path:{sessionId:A}});if(e.error)throw new Error("Failed to get queue state");return e.data},async removeFromQueue(A,e){const t=await bd({path:{sessionId:A,messageId:e}});if(t.error)throw new Error("Failed to remove from queue");return t.data},async getMessages(A){const e=await md({path:{id:A}});if(e.error)throw new Error(TA(e.error));return(e.data||[]).map(q0)},async sendMessage(A,e){const t=await wd({path:{id:A},body:e});if(t.error)throw new Error(TA(t.error));return t.data},getStreamUrl(A){return`${$a()}/v1/sessions/${A}/stream`},async retryMessage(A,e){const t=await Fd({path:{sessionId:A,messageId:e}});if(t.error)throw new Error(TA(t.error));return t.data}},Rt={async initGitRepo(){const A=await Ad();if(A.error)throw new Error(TA(A.error));return A.data?.data},async getGitStatus(){const A=await ed();if(A.error)throw new Error(TA(A.error));return A.data?.data},async getGitDiff(A,e=!1){const t=await AQ({query:{file:A,staged:e?"true":"false"}});if(t.error)throw new Error(TA(t.error));return t.data?.data},async getGitDiffFullFile(A,e=!1){const t=await AQ({query:{file:A,staged:e?"true":"false",fullFile:"true"}});if(t.error)throw new Error(TA(t.error));return t.data?.data},async generateCommitMessage(A){const e=await nd({body:A?{sessionId:A}:{}});if(e.error)throw new Error(TA(e.error));return e.data?.data},async stageFiles(A){const e=await od({body:{files:A}});if(e.error)throw new Error(TA(e.error));return e.data?.data},async unstageFiles(A){const e=await sd({body:{files:A}});if(e.error)throw new Error(TA(e.error));return e.data?.data},async restoreFiles(A){const e=await gd({body:{files:A}});if(e.error)throw new Error(TA(e.error));return e.data?.data},async deleteFiles(A){const e=await Qd({body:{files:A}});if(e.error)throw new Error(TA(e.error));return e.data?.data},async commitChanges(A){const e=await rd({body:{message:A}});if(e.error)throw new Error(TA(e.error));return e.data?.data},async getGitBranch(){const A=await td();if(A.error)throw new Error(TA(A.error));return A.data?.data},async pushCommits(){const A=await id({body:{}});if(A.error)throw new Error(TA(A.error));return A.data?.data},async pullChanges(){const A=await ad({body:{}});if(A.error)throw new Error(TA(A.error));return A.data?.data},async getRemotes(){const A=await ld();if(A.error)throw new Error(TA(A.error));return A.data?.data?.remotes},async addRemote(A,e){const t=await cd({body:{name:A,url:e}});if(t.error)throw new Error(TA(t.error));return t.data?.data},async removeRemote(A){const e=await Bd({body:{name:A}});if(e.error)throw new Error(TA(e.error));return e.data?.data}},as={async getConfig(){const A=await Hu();if(A.error)throw new Error(TA(A.error));return A.data},async getModels(A){const e=await zu({path:{provider:A}});if(e.error)throw new Error(TA(e.error));return e.data},async getAllModels(){const A=await Zu();if(A.error)throw new Error(TA(A.error));return A.data},async discoverProviderModels(A){const e=await fetch(`${$a()}/v1/config/providers/discover-models`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(A)}),t=await e.json();if(!e.ok)throw new Error(TA(t));return t},async updateProviderSettings(A,e){const t=await Wu({path:{provider:A},body:e});if(t.error)throw new Error(TA(t.error));return t.data},async deleteProviderSettings(A){const e=await Pu({path:{provider:A},query:{scope:"local"}});if(e.error)throw new Error(TA(e.error));return e.data},async updateDefaults(A){const e=await Vu({body:A});if(e.error)throw new Error(TA(e.error));return e.data}},qr={async listFiles(){const A=await _u();if(A.error)throw new Error(TA(A.error));return A.data},async getFileTree(A="."){const e=await Xu({query:{path:A}});if(e.error)throw new Error(TA(e.error));return e.data},async readFileContent(A){const e=await $u({query:{path:A}});if(e.error)throw new Error(TA(e.error));return e.data},async getSessionFiles(A){const e=await Ud({path:{sessionId:A}});if(e.error)throw new Error(TA(e.error));return e.data}},Gs={async createBranch(A,e){const t=await Ou({path:{sessionId:A},body:e});if(t.error)throw new Error(TA(t.error));return t.data},async listBranches(A){const e=await qu({path:{sessionId:A}});if(e.error)throw new Error(TA(e.error));return e.data},async getParentSession(A){const e=await Yu({path:{sessionId:A}});if(e.error)throw new Error(TA(e.error));return e.data},async getShareStatus(A){const e=await Gd({path:{sessionId:A}});return e.error?{shared:!1}:e.data},async shareSession(A){const e=await vd({path:{sessionId:A}});if(e.error)throw new Error(TA(e.error));return e.data},async syncSession(A){const e=await Sd({path:{sessionId:A}});if(e.error)throw new Error(TA(e.error));return e.data}},cQ={async approveToolCall(A,e,t){const s=await Dd({path:{id:A},body:{callId:e,approved:t,sessionId:A}});if(s.error)throw new Error("Failed to send tool approval");return s.data},async getPendingApprovals(A){const e=await yd({path:{id:A}});return e.error?{ok:!1,pending:[]}:e.data}},Bo={async getOttoRouterBalance(){try{const A=await Jd();return A.error?null:A.data}catch{return null}},async getOttoRouterWallet(){try{const A=await Ld();return A.error?{configured:!1}:A.data}catch{return{configured:!1}}},async getOttoRouterUsdcBalance(A="mainnet"){try{const e=await jd({query:{network:A}});return e.error?null:e.data}catch{return null}},async getPolarTopupEstimate(A){try{const e=await Hd({query:{amount:A}});return e.error?null:e.data}catch{return null}},async createPolarCheckout(A,e){const t=await Td({body:{amount:A,successUrl:e}});if(t.error)throw new Error(TA(t.error));return t.data},async selectTopupMethod(A,e){const t=await Od({body:{sessionId:A,method:e}});if(t.error)throw new Error(TA(t.error));return t.data},async cancelTopup(A,e){const t=await qd({body:{sessionId:A,reason:e}});if(t.error)throw new Error(TA(t.error));return t.data},async getPendingTopup(A){try{const e=await Yd({query:{sessionId:A}});return e.error?{hasPending:!1}:e.data}catch{return{hasPending:!1}}},async getPolarTopupStatus(A){try{const e=await Pd({query:{checkoutId:A}});return e.error?null:e.data}catch{return null}},async getRazorpayTopupEstimate(A){try{const e=await Wd({query:{amount:A}});return e.error?null:e.data}catch{return null}},async createRazorpayOrder(A){const e=await zd({body:{amount:A}});if(e.error)throw new Error(TA(e.error));return e.data},async verifyRazorpayPayment(A){const e=await Vd({body:A});if(e.error)throw new Error(TA(e.error));return e.data}},Ft={async getAuthStatus(){const A=await Nu();if(A.error)throw new Error(TA(A.error));return A.data},async setupOttoRouterWallet(){const A=await ku();if(A.error)throw new Error(TA(A.error));return A.data},async importOttoRouterWallet(A){const e=await Mu({body:{privateKey:A}});if(e.error)throw new Error(TA(e.error));return e.data},async exportOttoRouterWallet(){const A=await bu();if(A.error)throw new Error(TA(A.error));return A.data},async addProvider(A,e){const t=await Gu({path:{provider:A},body:{apiKey:e}});if(t.error)throw new Error(TA(t.error));return t.data},async removeProvider(A){const e=await Fu({path:{provider:A}});if(e.error)throw new Error(TA(e.error));return e.data},async completeOnboarding(){const A=await Tu();if(A.error)throw new Error(TA(A.error));return A.data},getOAuthStartUrl(A,e){const t=`${$a()}/v1/auth/${A}/oauth/start`;return e?`${t}?mode=${e}`:t},async getOAuthUrl(A,e){const t=await vu({path:{provider:A},body:{mode:e}});if(t.error)throw new Error(TA(t.error));return t.data},async exchangeOAuthCode(A,e,t){const s=await Su({path:{provider:A},body:{code:e,sessionId:t}});if(s.error)throw new Error(TA(s.error));return s.data},async startCopilotDeviceFlow(){const A=await Uu();if(A.error)throw new Error(TA(A.error));return A.data},async pollCopilotDeviceFlow(A){const e=await Ru({body:{sessionId:A}});if(e.error)throw new Error(TA(e.error));return e.data},async getCopilotAuthMethods(){const A=await Ku();if(A.error)throw new Error(TA(A.error));return A.data},async saveCopilotToken(A){const e=await Ju({body:{token:A}});if(e.error)throw new Error(TA(e.error));return e.data},async importCopilotTokenFromGh(){const A=await Lu();if(A.error)throw new Error(TA(A.error));return A.data},async getCopilotDiagnostics(){const A=await ju();if(A.error)throw new Error(TA(A.error));return A.data},async getProviderUsage(A){const e=await xd({path:{provider:A}});if(e.error)throw new Error(TA(e.error));return e.data}},vs={async listSkills(){const A=await Xd();if(A.error)throw new Error(TA(A.error));return A.data},async getSkill(A){const e=await $d({path:{name:A}});if(e.error)throw new Error(TA(e.error));return e.data},async getSkillFiles(A){const e=await Ah({path:{name:A}});if(e.error)throw new Error(TA(e.error));return e.data},async getSkillFileContent(A,e){const t=await eh({path:{name:A,filePath:e}});if(t.error)throw new Error(TA(t.error));return t.data},async getSkillsConfig(){const A=await Zd();if(A.error)throw new Error(TA(A.error));return A.data},async updateSkillsConfig(A){const e=await _d({body:A});if(e.error)throw new Error(TA(e.error));return e.data}};class Y0{getSessions=ro.getSessions;getSessionsPage=ro.getSessionsPage;createSession=ro.createSession;updateSession=ro.updateSession;deleteSession=ro.deleteSession;abortSession=ro.abortSession;abortMessage=ro.abortMessage;getQueueState=ro.getQueueState;removeFromQueue=ro.removeFromQueue;getMessages=ro.getMessages;sendMessage=ro.sendMessage;getStreamUrl=ro.getStreamUrl;retryMessage=ro.retryMessage;initGitRepo=Rt.initGitRepo;getGitStatus=Rt.getGitStatus;getGitDiff=Rt.getGitDiff;getGitDiffFullFile=Rt.getGitDiffFullFile;generateCommitMessage=Rt.generateCommitMessage;stageFiles=Rt.stageFiles;unstageFiles=Rt.unstageFiles;restoreFiles=Rt.restoreFiles;deleteFiles=Rt.deleteFiles;commitChanges=Rt.commitChanges;getGitBranch=Rt.getGitBranch;pushCommits=Rt.pushCommits;pullChanges=Rt.pullChanges;getRemotes=Rt.getRemotes;addRemote=Rt.addRemote;removeRemote=Rt.removeRemote;getConfig=as.getConfig;getModels=as.getModels;getAllModels=as.getAllModels;discoverProviderModels=as.discoverProviderModels;updateProviderSettings=as.updateProviderSettings;deleteProviderSettings=as.deleteProviderSettings;updateDefaults=as.updateDefaults;listFiles=qr.listFiles;getFileTree=qr.getFileTree;readFileContent=qr.readFileContent;getSessionFiles=qr.getSessionFiles;createBranch=Gs.createBranch;listBranches=Gs.listBranches;getParentSession=Gs.getParentSession;getShareStatus=Gs.getShareStatus;shareSession=Gs.shareSession;syncSession=Gs.syncSession;approveToolCall=cQ.approveToolCall;getPendingApprovals=cQ.getPendingApprovals;getOttoRouterBalance=Bo.getOttoRouterBalance;getOttoRouterWallet=Bo.getOttoRouterWallet;getOttoRouterUsdcBalance=Bo.getOttoRouterUsdcBalance;getPolarTopupEstimate=Bo.getPolarTopupEstimate;createPolarCheckout=Bo.createPolarCheckout;selectTopupMethod=Bo.selectTopupMethod;cancelTopup=Bo.cancelTopup;getPendingTopup=Bo.getPendingTopup;getPolarTopupStatus=Bo.getPolarTopupStatus;getRazorpayTopupEstimate=Bo.getRazorpayTopupEstimate;createRazorpayOrder=Bo.createRazorpayOrder;verifyRazorpayPayment=Bo.verifyRazorpayPayment;getAuthStatus=Ft.getAuthStatus;setupOttoRouterWallet=Ft.setupOttoRouterWallet;importOttoRouterWallet=Ft.importOttoRouterWallet;exportOttoRouterWallet=Ft.exportOttoRouterWallet;addProvider=Ft.addProvider;removeProvider=Ft.removeProvider;completeOnboarding=Ft.completeOnboarding;getOAuthStartUrl=Ft.getOAuthStartUrl;getOAuthUrl=Ft.getOAuthUrl;exchangeOAuthCode=Ft.exchangeOAuthCode;startCopilotDeviceFlow=Ft.startCopilotDeviceFlow;pollCopilotDeviceFlow=Ft.pollCopilotDeviceFlow;getCopilotAuthMethods=Ft.getCopilotAuthMethods;saveCopilotToken=Ft.saveCopilotToken;importCopilotTokenFromGh=Ft.importCopilotTokenFromGh;getCopilotDiagnostics=Ft.getCopilotDiagnostics;getProviderUsage=Ft.getProviderUsage;listSkills=vs.listSkills;getSkill=vs.getSkill;getSkillFiles=vs.getSkillFiles;getSkillFileContent=vs.getSkillFileContent;getSkillsConfig=vs.getSkillsConfig;updateSkillsConfig=vs.updateSkillsConfig}const mA=new Y0;function is(){return at({queryKey:["config"],queryFn:()=>mA.getConfig(),staleTime:3e4})}function H0(A){return at({queryKey:["models",A],queryFn:()=>A?mA.getModels(A):null,enabled:!!A})}function Vs(){return at({queryKey:["models","all"],queryFn:()=>mA.getAllModels()})}function qn(){const A=ke();return Ze({mutationFn:e=>mA.updateDefaults(e),onMutate:async e=>{await A.cancelQueries({queryKey:["config"]});const t=A.getQueryData(["config"]);if(t){const s=Object.fromEntries(Object.entries(e).filter(([n,r])=>n!=="scope"&&r!==void 0));A.setQueryData(["config"],{...t,defaults:{...t.defaults,...s}})}return{previousConfig:t}},onError:(e,t,s)=>{s?.previousConfig&&A.setQueryData(["config"],s.previousConfig)},onSuccess:()=>{A.invalidateQueries({queryKey:["config"]})}})}const Rl="otto-preferences",gr={vimMode:!1,compactThread:!0};function P0(){if(typeof window>"u")return gr;try{const A=window.localStorage.getItem(Rl);if(A){const e=JSON.parse(A);return{vimMode:typeof e.vimMode=="boolean"?e.vimMode:gr.vimMode,compactThread:typeof e.compactThread=="boolean"?e.compactThread:gr.compactThread}}}catch(A){console.warn("Failed to load preferences",A)}return gr}let an=P0();const aa=new Set;function W0(){return an}function z0(){return gr}function V0(A){return aa.add(A),()=>aa.delete(A)}function Z0(){for(const A of aa)A()}function _0(A){if(an={...an,...A},typeof window<"u")try{window.localStorage.setItem(Rl,JSON.stringify(an))}catch(e){console.warn("Failed to persist preferences",e)}Z0()}function Zs(){const A=x.useSyncExternalStore(V0,W0,z0),{data:e}=is(),t=qn(),s=x.useCallback(r=>{const i={};r.vimMode!==void 0&&(i.vimMode=r.vimMode),r.compactThread!==void 0&&(i.compactThread=r.compactThread),Object.keys(i).length>0&&_0(i),r.fullWidthContent!==void 0&&r.fullWidthContent!==e?.defaults?.fullWidthContent&&t.mutate({fullWidthContent:r.fullWidthContent,scope:"global"})},[e?.defaults?.fullWidthContent,t]),n=x.useMemo(()=>({...A,fullWidthContent:e?.defaults?.fullWidthContent??!1}),[A,e?.defaults?.fullWidthContent]);return x.useMemo(()=>({preferences:n,updatePreferences:s}),[n,s])}function Ag(A){const{data:e,isLoading:t,error:s}=at({queryKey:["share-status",A],queryFn:()=>mA.getShareStatus(A),enabled:!!A,staleTime:3e4});return{data:e,isLoading:t,error:s}}const Yn=[{id:"models",label:"/models",description:"Open model selector",icon:io},{id:"agents",label:"/agents",description:"Open agent selector",icon:to},{id:"new",label:"/new",description:"Create new session",icon:go},{id:"stop",label:"/stop",description:"Stop current generation",icon:vB},{id:"help",label:"/help",description:"Show keyboard shortcuts and help",icon:SB},{id:"vim",label:"/vim",description:A=>A.vimModeEnabled?"Disable Vim mode":"Enable Vim mode",icon:ZE},{id:"reasoning",label:"/reasoning",description:A=>A.reasoningEnabled?"Disable extended thinking":"Enable extended thinking",icon:vn},{id:"stage",label:"/stage",description:"Stage all changes (git add -A)",icon:ao},{id:"commit",label:"/commit",description:"Commit staged changes",icon:Yt},{id:"compact",label:"/compact",description:"Compact conversation to reduce context size",icon:Ga},{id:"init",label:"/init",description:"Generate AGENTS.md and .agents docs from the real repo structure",icon:ts},{id:"branch",label:"/branch",description:"Branch session from last message",icon:_E},{id:"delete",label:"/delete",description:"Delete current session",icon:mr},{id:"share",label:"/share",description:"Share session publicly",icon:Ua},{id:"sync",label:"/sync",description:"Sync new messages to shared session",icon:Vt}];function Kl(A,e){return typeof A.description=="function"?A.description(e):A.description}function X0(A){const e=A.trim().toLowerCase();if(e.startsWith("/"))return Yn.find(t=>t.label.toLowerCase()===e||`/${t.id}`.toLowerCase()===e)}function Jl(A){return A==="compact"||A==="init"}function $0(A){return Yn.find(e=>e.id===A)?.label}function Ap(A,e){const t=Yn.filter(r=>!(r.id==="share"&&e.isShared||r.id==="sync"&&!e.isShared));if(!A)return t;const s=A.toLowerCase(),n=[];for(const r of t){const i=Kl(r,e),a=r.label.toLowerCase().includes(s),g=i.toLowerCase().includes(s);if(a||g){const Q=a?10:5;n.push({...r,matchScore:Q})}}return n.sort((r,i)=>{const a=i.matchScore-r.matchScore;return a!==0?a:r.label.localeCompare(i.label)})}function ep({query:A,selectedIndex:e,onSelect:t,onEnterSelect:s,onClose:n,sessionId:r}){const{preferences:i}=Zs(),{data:a}=is(),{data:g}=Ag(r),Q=x.useMemo(()=>({vimModeEnabled:i.vimMode,reasoningEnabled:a?.defaults?.reasoningText??!0,isShared:g?.shared}),[i.vimMode,a?.defaults?.reasoningText,g?.shared]),l=x.useMemo(()=>Ap(A,Q),[A,Q]);return x.useEffect(()=>{document.getElementById(`command-item-${e}`)?.scrollIntoView({block:"nearest"})},[e]),x.useEffect(()=>{s(l[e]?.id)},[l,e,s]),x.useEffect(()=>{const C=I=>{I.target.closest("[data-command-popup]")||n()};return document.addEventListener("mousedown",C),()=>document.removeEventListener("mousedown",C)},[n]),l.length===0?o.jsx("div",{"data-command-popup":!0,className:"absolute bottom-full left-0 right-0 mb-2 bg-card border border-border rounded-lg shadow-lg z-50 p-3",children:o.jsx("span",{className:"text-muted-foreground text-sm",children:"No commands found"})}):o.jsx("div",{"data-command-popup":!0,className:"absolute bottom-full left-0 right-0 mb-2 bg-card border border-border rounded-lg shadow-lg max-h-[300px] overflow-y-auto z-50",children:l.map((C,I)=>{const c=C.icon;return o.jsx("button",{type:"button",id:`command-item-${I}`,onMouseDown:u=>{u.preventDefault(),t(C.id)},className:`w-full text-left px-3 py-2 hover:bg-accent ${I===e?"bg-accent":""}`,children:o.jsxs("div",{className:"flex items-center gap-3 w-full",children:[o.jsx(c,{className:"w-4 h-4 flex-shrink-0 text-primary"}),o.jsxs("div",{className:"flex-1 min-w-0",children:[o.jsx("div",{className:"font-mono text-sm font-medium text-foreground",children:C.label}),o.jsx("div",{className:"text-xs text-muted-foreground truncate",children:Kl(C,Q)})]})]})},C.id)})})}const tp={sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl","2xl":"max-w-2xl"};function Po({isOpen:A,onClose:e,title:t,children:s,showCloseButton:n=!0,closeOnBackdropClick:r=!0,closeOnEscape:i=!0,maxWidth:a="md",position:g="fixed"}){if(x.useEffect(()=>{if(!A||!i)return;const C=I=>{const c=I.target,u=c.tagName==="INPUT"||c.tagName==="TEXTAREA"||c.isContentEditable;(I.key==="Escape"||I.key==="q"&&!u)&&(I.preventDefault(),I.stopPropagation(),e())};return document.addEventListener("keydown",C),()=>document.removeEventListener("keydown",C)},[A,i,e]),x.useEffect(()=>{if(A)return document.body.style.overflow="hidden",()=>{document.body.style.overflow=""}},[A]),!A)return null;const Q=C=>{r&&C.target===C.currentTarget&&e()},l=g==="absolute"?"absolute":"fixed";return o.jsxs(o.Fragment,{children:[o.jsx("button",{type:"button","data-native-overlay-root":"true",className:`${l} inset-0 bg-black/50 backdrop-blur-sm z-[9999] cursor-default`,onClick:Q,onKeyDown:C=>{(C.key==="Enter"||C.key===" ")&&Q(C)},"aria-label":"Close modal"}),o.jsx("div",{"data-native-overlay-root":"true",className:`${l} top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 z-[9999] w-full ${tp[a]} px-4`,children:o.jsxs("div",{className:"bg-background border border-border rounded-lg shadow-lg",children:[(t||n)&&o.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-border",children:[t&&o.jsx("div",{className:"text-lg font-semibold text-foreground",children:t}),n&&o.jsx("button",{type:"button",onClick:e,className:"text-muted-foreground hover:text-foreground transition-colors ml-auto","aria-label":"Close",children:o.jsx(lt,{className:"h-5 w-5"})})]}),o.jsx("div",{className:"p-6",children:s})]})})]})}const op=[{keys:["Ctrl","H"],description:"Navigate to left sidebar (sessions)",category:"Navigation"},{keys:["Ctrl","L"],description:"Navigate to right sidebar (git)",category:"Navigation"},{keys:["Ctrl","/"],description:"Toggle left sidebar collapse/expand",category:"Navigation"},{keys:["Ctrl","\\"],description:"Toggle right sidebar collapse/expand",category:"Navigation"},{keys:["Ctrl","N"],description:"Create new session",category:"Navigation"},{keys:["ESC"],description:"Close sidebar and return to center",category:"Navigation"},{keys:["J"],description:"Navigate to next item (in focused list)",category:"List Navigation"},{keys:["K"],description:"Navigate to previous item (in focused list)",category:"List Navigation"},{keys:["Enter"],description:"Select focused item and return to input",category:"List Navigation"},{keys:["Space"],description:"Toggle stage/unstage for focused file (git panel)",category:"Git Operations"},{keys:["A"],description:"Stage all unstaged files",category:"Git Operations"},{keys:["U"],description:"Unstage all staged files",category:"Git Operations"},{keys:["C"],description:"Open commit modal (if files are staged)",category:"Git Operations"},{keys:["Tab"],description:"Toggle plan mode",category:"Chat"},{keys:["Enter"],description:"Send message",category:"Chat"},{keys:["Shift","Enter"],description:"New line in message",category:"Chat"},{keys:["@"],description:"Mention file (opens file picker)",category:"Chat"},{keys:["/"],description:"Slash command (opens command menu)",category:"Chat"}],sp=[{keys:["i"],description:"Enter insert mode at cursor (vim mode)",category:"Vim Mode"},{keys:["a"],description:"Enter insert mode after cursor (vim mode)",category:"Vim Mode"},{keys:["I"],description:"Enter insert mode at line start (vim mode)",category:"Vim Mode"},{keys:["A"],description:"Enter insert mode at line end (vim mode)",category:"Vim Mode"},{keys:["o"],description:"New line below and enter insert mode (vim mode)",category:"Vim Mode"},{keys:["O"],description:"New line above and enter insert mode (vim mode)",category:"Vim Mode"},{keys:["ESC"],description:"Return to normal mode (vim mode)",category:"Vim Mode"},{keys:["Enter"],description:"Send message in normal mode (vim mode)",category:"Vim Mode"},{keys:["w"],description:"Jump to next word start (vim mode)",category:"Vim Mode"},{keys:["e"],description:"Jump to next word end (vim mode)",category:"Vim Mode"},{keys:["b"],description:"Jump to previous word start (vim mode)",category:"Vim Mode"},{keys:["x"],description:"Delete character under cursor (vim mode)",category:"Vim Mode"},{keys:["s"],description:"Delete character and enter insert mode (vim mode)",category:"Vim Mode"},{keys:["S"],description:"Delete line and enter insert mode (vim mode)",category:"Vim Mode"},{keys:["f","{char}"],description:"Find and jump to next character on line (vim mode)",category:"Vim Mode"},{keys:["d","d"],description:"Delete current line (vim mode)",category:"Vim Mode"},{keys:["0"],description:"Jump to line start (vim mode)",category:"Vim Mode"},{keys:["$"],description:"Jump to line end (vim mode)",category:"Vim Mode"}],rp=[{command:"/models",description:"Open model selector"},{command:"/agents",description:"Open agent selector"},{command:"/new",description:"Create new session"},{command:"/help",description:"Show keyboard shortcuts and help (this modal)"},{command:"/compact",description:"Compact conversation to reduce context size"},{command:"/init",description:"Generate AGENTS.md and focused .agents docs for the repo"}];function np(A){const e={};for(const t of A)e[t.category]||(e[t.category]=[]),e[t.category].push(t);return e}function ip({isOpen:A,onClose:e}){const t=[...op,...sp],s=np(t),n=x.useRef(null),r=x.useRef(null);return x.useEffect(()=>{A?(r.current=document.activeElement,r.current&&r.current.blur()):r.current&&(r.current.focus(),r.current=null)},[A]),x.useEffect(()=>{if(!A)return;const i=a=>{const g=a.target;if(!(g.tagName==="INPUT"||g.tagName==="TEXTAREA"||g.isContentEditable))if(a.key==="j"){a.preventDefault();const l=n.current;l&&l.scrollBy({top:100,behavior:"smooth"})}else if(a.key==="k"){a.preventDefault();const l=n.current;l&&l.scrollBy({top:-100,behavior:"smooth"})}else a.key==="Enter"&&(a.preventDefault(),e())};return document.addEventListener("keydown",i),()=>document.removeEventListener("keydown",i)},[A,e]),o.jsx(Po,{isOpen:A,onClose:e,title:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(SB,{className:"w-5 h-5"}),o.jsx("span",{children:"Keyboard Shortcuts & Help"})]}),maxWidth:"2xl",closeOnEscape:!0,closeOnBackdropClick:!0,children:o.jsxs("div",{ref:n,className:"space-y-6 max-h-[70vh] overflow-y-auto",children:[Object.entries(s).map(([i,a])=>o.jsxs("div",{children:[o.jsxs("h3",{className:"text-sm font-semibold text-foreground mb-3 flex items-center gap-2",children:[o.jsx(bg,{className:"w-4 h-4"}),i]}),o.jsx("div",{className:"space-y-2",children:a.map((g,Q)=>o.jsxs("div",{className:"flex items-center justify-between py-2 px-3 rounded-lg bg-accent/50 hover:bg-accent transition-colors",children:[o.jsx("span",{className:"text-sm text-foreground",children:g.description}),o.jsx("div",{className:"flex items-center gap-1",children:g.keys.map(l=>o.jsxs("span",{className:"flex items-center gap-1",children:[o.jsx("kbd",{className:"px-2 py-1 text-xs font-mono bg-background border border-border rounded shadow-sm",children:l}),g.keys.indexOf(l)<g.keys.length-1&&o.jsx("span",{className:"text-muted-foreground",children:"+"})]},l))})]},`${i}-${g.description}`))})]},i)),o.jsxs("div",{children:[o.jsxs("h3",{className:"text-sm font-semibold text-foreground mb-3 flex items-center gap-2",children:[o.jsx(bg,{className:"w-4 h-4"}),"Slash Commands"]}),o.jsx("div",{className:"space-y-2",children:rp.map((i,a)=>o.jsxs("div",{className:"flex items-center justify-between py-2 px-3 rounded-lg bg-accent/50 hover:bg-accent transition-colors",children:[o.jsx("span",{className:"text-sm text-foreground",children:i.description}),o.jsx("kbd",{className:"px-2 py-1 text-xs font-mono bg-background border border-border rounded shadow-sm",children:i.command})]},i.command))})]}),o.jsx("div",{className:"pt-4 border-t border-border",children:o.jsxs("p",{className:"text-xs text-muted-foreground",children:[o.jsx("strong",{children:"Tip:"})," Shortcuts are disabled when typing in input fields. Press ",o.jsx("kbd",{className:"text-xs",children:"ESC"})," to close popups and return focus to chat input."]})})]})})}const ap=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
34
|
+
<path d="M26.9568 9.88184H22.1265L30.7753 31.7848H35.4917L26.9568 9.88184ZM13.028 9.88184L4.4917 31.7848H9.32203L11.2305 27.1793H20.2166L22.0126 31.6724H26.8444L18.0832 9.88184H13.028ZM12.5783 23.1361L15.4987 15.3853L18.5315 23.1361H12.5783Z" fill="currentColor"/>
|
|
35
|
+
</svg>`,gp=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
36
|
+
<path d="M32.8377 17.282C33.2127 16.25 33.3072 15.218 33.2127 14.1875C33.1197 13.1571 32.7447 12.1251 32.2752 11.1876C31.4322 9.78209 30.2127 8.6571 28.8072 8.0001C27.3072 7.34461 25.7127 7.15711 24.1197 7.53211C23.3698 6.78212 22.5253 6.12512 21.5878 5.65713C20.6503 5.18913 19.5253 5.00013 18.4948 5.00013C16.8851 4.99074 15.3125 5.48246 13.9948 6.40712C12.6824 7.34311 11.7449 8.6571 11.2754 10.1571C10.1504 10.4376 9.21289 10.9071 8.27539 11.4696C7.4324 12.1251 6.77541 12.9696 6.21291 13.8126C5.36992 15.2195 5.08792 16.8125 5.27542 18.407C5.46399 19.9968 6.11605 21.496 7.1504 22.718C6.79608 23.7086 6.66795 24.7659 6.77541 25.8124C6.86991 26.8444 7.2449 27.8749 7.7129 28.8124C8.55739 30.2194 9.77538 31.3444 11.1824 31.9999C12.6824 32.6569 14.2753 32.8444 15.8698 32.4694C16.6198 33.2194 17.4628 33.8749 18.4003 34.3444C19.3378 34.8139 20.4628 34.9999 21.4948 34.9999C23.1043 35.0097 24.6769 34.5185 25.9947 33.5944C27.3072 32.6569 28.2447 31.3444 28.7127 29.8444C29.7719 29.6432 30.7682 29.1934 31.6197 28.5319C32.4627 27.8749 33.2127 27.1249 33.6822 26.1874C34.5251 24.7819 34.8071 23.1875 34.6196 21.5945C34.4322 20 33.8697 18.5015 32.8377 17.282ZM21.5878 33.0304C20.0878 33.0304 18.9628 32.5609 17.9323 31.7179C17.9323 31.7179 18.0253 31.6234 18.1198 31.6234L24.1197 28.1554C24.2862 28.0803 24.4196 27.9469 24.4947 27.7804C24.5698 27.636 24.6021 27.4731 24.5877 27.3109V18.875L27.1197 20.375V27.3124C27.1455 28.0547 27.0215 28.7945 26.755 29.4878C26.4885 30.181 26.085 30.8134 25.5687 31.3473C25.0523 31.8811 24.4337 32.3054 23.7497 32.5949C23.0658 32.8843 22.3305 33.0314 21.5878 33.0304ZM9.49488 27.8749C8.83789 26.7499 8.55739 25.4374 8.83789 24.125C8.83789 24.125 8.93239 24.2195 9.02539 24.2195L15.0253 27.6874C15.1693 27.7638 15.3325 27.7966 15.4948 27.7819C15.6823 27.7819 15.8698 27.7819 15.9628 27.6874L23.2753 23.4695V26.3749L17.1823 29.9374C16.5506 30.3042 15.8527 30.5427 15.1287 30.6393C14.4046 30.7358 13.6686 30.6884 12.9629 30.4999C11.4629 30.1249 10.2449 29.1874 9.49488 27.8749ZM7.9004 14.8445C8.56239 13.7234 9.58826 12.8627 10.8074 12.4056V19.532C10.8074 19.718 10.8074 19.907 10.9004 20C10.9755 20.1665 11.1089 20.2998 11.2754 20.375L18.5878 24.5944L16.0573 26.0944L10.0574 22.625C9.41842 22.2639 8.85742 21.7797 8.40684 21.2004C7.95627 20.6211 7.62506 19.9582 7.4324 19.25C7.05741 17.8445 7.1504 16.157 7.9004 14.8445ZM28.6197 19.625L21.3073 15.407L23.8377 13.9071L29.8377 17.375C30.7752 17.9375 31.5252 18.6875 31.9947 19.625C32.4642 20.5625 32.7447 21.5945 32.6502 22.7195C32.5603 23.7755 32.1699 24.7837 31.5252 25.6249C30.8697 26.4694 30.0252 27.1249 28.9947 27.4999V20.375C28.9947 20.1875 28.9947 20 28.9002 19.907C28.9002 19.907 28.8072 19.718 28.6197 19.625ZM31.1502 15.875C31.1502 15.875 31.0572 15.782 30.9627 15.782L24.9627 12.3126C24.7752 12.2196 24.6822 12.2196 24.4947 12.2196C24.3072 12.2196 24.1197 12.2196 24.0252 12.3126L16.7128 16.532V13.6251L22.8073 10.0626C23.7448 9.50009 24.7752 9.31259 25.9002 9.31259C26.9322 9.31259 27.9627 9.68759 28.9002 10.3446C29.7447 11.0001 30.4947 11.8446 30.8697 12.7821C31.2447 13.7196 31.3377 14.8445 31.1502 15.875ZM15.4003 21.125L12.8699 19.625V12.5946C12.8699 11.5626 13.1503 10.4376 13.7128 9.59459C14.2753 8.6571 15.1198 8.0001 16.0573 7.53211C17.0127 7.05249 18.0956 6.88812 19.1503 7.06261C20.1823 7.15711 21.2128 7.62511 22.0573 8.2821C22.0573 8.2821 21.9628 8.3751 21.8698 8.3751L15.8698 11.8446C15.7033 11.9197 15.57 12.0531 15.4948 12.2196C15.4003 12.4071 15.4003 12.5001 15.4003 12.6876V21.125ZM16.7128 18.125L19.9948 16.25L23.2753 18.125V21.875L19.9948 23.75L16.7128 21.875V18.125Z" fill="currentColor"/>
|
|
37
|
+
</svg>`,Qp=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
38
|
+
<path d="M37 20.034C27.8809 20.5837 20.5808 27.8809 20.0326 37H19.966C19.4163 27.8809 12.1177 20.5837 3 20.034V19.9674C12.1191 19.4163 19.4163 12.1191 19.966 3H20.0326C20.5822 12.1191 27.8809 19.4163 37 19.9674V20.034Z" fill="currentColor"/>
|
|
39
|
+
</svg>`,ga=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
40
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.1766 4.57738C12.7424 4.45248 13.3253 4.4821 13.8719 4.64802C14.3313 4.78771 14.7467 5.0176 15.1232 5.32158C15.7506 5.82452 16.2805 6.54484 16.6847 7.39778C17.0911 8.25589 17.3555 9.20672 17.4555 10.1602C18.7946 9.57485 20.2806 9.21797 21.8134 9.11449L21.9219 9.10819C23.7727 8.99312 25.6026 9.25154 27.1981 9.88772C27.4129 9.97483 27.6238 10.0679 27.8301 10.1665C27.9364 9.23136 28.196 8.30283 28.5958 7.46464C28.9999 6.60982 29.5307 5.89059 30.1561 5.38591C30.5055 5.09396 30.9329 4.86411 31.4086 4.71235C31.9551 4.54805 32.5357 4.5182 33.1014 4.64297C33.9545 4.83037 34.6868 5.24855 35.2633 5.85515C35.3459 5.94188 35.4243 6.03325 35.5005 6.12759V15.9511C35.3966 15.8807 35.2901 15.8126 35.18 15.748C33.9142 15.0017 32.2379 14.6416 30.117 14.7452C29.8396 14.7591 29.5632 14.7076 29.3236 14.5989C29.084 14.4902 28.8918 14.3286 28.7724 14.1347C28.1043 13.0417 27.1301 12.2596 25.9154 11.7747C24.7492 11.325 23.443 11.1355 22.1451 11.2285C19.4969 11.3914 17.161 12.5451 16.4653 13.9998C16.3668 14.2045 16.1901 14.3819 15.9582 14.5068C15.7263 14.6316 15.4499 14.6982 15.1673 14.6986C12.8978 14.7019 11.1405 15.1127 9.85572 15.854C8.74521 16.4951 7.98775 17.3916 7.58779 18.4649C7.22593 19.4754 7.17595 20.5375 7.44274 21.5654C7.68101 22.4825 8.14742 23.2424 8.68139 23.6517L8.69905 23.6631C9.14965 24.0034 9.24462 24.5344 8.92988 24.9534C8.16414 25.9759 7.59183 27.5 7.49823 28.9645C7.39192 30.6379 7.89443 32.0911 9.02827 33.1334L9.06232 33.1649C9.23327 33.3188 9.34304 33.5076 9.37893 33.7085C9.41476 33.9096 9.37497 34.1146 9.26414 34.2988C9.01373 34.7141 8.79967 35.1146 8.61959 35.4996H5.70206C5.88367 35.0312 6.10757 34.5494 6.37562 34.0555L6.40463 33.9973L6.38824 33.9785C5.81212 33.3209 5.38162 32.5935 5.11552 31.8266L5.10543 31.7951C4.78254 30.8384 4.65491 29.8484 4.72828 28.8612C4.82189 27.3653 5.31963 25.8324 6.05146 24.6028L6.07795 24.5599L6.0729 24.5573C5.4496 23.8702 4.98861 22.99 4.73333 22.0169L4.72198 21.9779C4.37027 20.6205 4.43825 19.2181 4.92001 17.8847C5.47739 16.3806 6.5735 15.0886 8.18819 14.1549C8.31563 14.0811 8.44921 14.0069 8.58301 13.9379C8.24476 11.4838 8.33005 9.45005 8.82141 7.90485C9.09153 7.05352 9.48977 6.34345 10.0172 5.78955C10.5916 5.18463 11.3236 4.76644 12.1766 4.57738ZM12.8767 6.64096C12.6303 6.7238 12.4193 6.8594 12.27 7.03199L12.2599 7.04208C11.9664 7.35278 11.7109 7.80949 11.5195 8.4094C11.1578 9.54695 11.0601 11.091 11.2558 12.9831C12.1706 12.7727 13.1684 12.641 14.2427 12.5933L14.2642 12.5908L14.3045 12.5353C14.4022 12.4008 14.5061 12.271 14.6186 12.143C14.8802 10.8758 14.6661 9.36166 14.0813 8.12559C13.7963 7.52741 13.4494 7.05655 13.1176 6.78855C13.0491 6.73286 12.972 6.68361 12.8893 6.64096L12.883 6.63719L12.8767 6.64096ZM32.3963 6.70403C32.3135 6.74667 32.2365 6.79719 32.1679 6.85288C31.8361 7.12084 31.4873 7.5929 31.2043 8.19118C30.5875 9.49635 30.3808 11.1109 30.7149 12.4193L30.8385 12.5782L30.8549 12.6009H30.9192C31.975 12.6011 33.0258 12.7194 34.0385 12.9503C34.2214 11.1026 34.1192 9.59119 33.7661 8.47499C33.5745 7.87507 33.3189 7.41836 33.0231 7.10767L33.0143 7.09758C32.8652 6.92452 32.6555 6.78729 32.4088 6.70403L32.4 6.70278L32.3963 6.70403Z" fill="currentColor"/>
|
|
41
|
+
<path d="M21.5208 22.8469C21.7175 22.8312 21.9155 22.876 22.0695 22.9718L22.5262 23.2555L22.9941 22.9692C23.1476 22.8755 23.343 22.8314 23.5378 22.8469C23.7324 22.8626 23.912 22.9364 24.0373 23.0525L24.046 23.0601C24.3009 23.3081 24.2473 23.6677 23.9262 23.8648L23.3057 24.2432V24.9761C23.3045 25.1391 23.2194 25.295 23.0698 25.41C22.92 25.5248 22.717 25.5894 22.5059 25.5891C22.2946 25.5895 22.0908 25.5249 21.9408 25.41C21.7912 25.295 21.706 25.1391 21.705 24.9761V24.2205L21.1285 23.8623C21.0527 23.8153 20.9899 23.7567 20.9432 23.6907C20.8964 23.6247 20.8663 23.5512 20.8561 23.4763C20.8459 23.4017 20.8551 23.3262 20.8826 23.2542C20.9103 23.182 20.9572 23.1146 21.0188 23.0562C21.1443 22.9384 21.3244 22.8627 21.5208 22.8469Z" fill="currentColor"/>
|
|
42
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M22.6284 19.5913C24.6195 19.5913 26.4584 20.1055 27.8327 20.9965C29.1727 21.8626 29.9705 23.0264 29.9707 24.1853C29.9707 25.6448 29.1066 26.7822 27.5602 27.5089C26.2412 28.1253 24.4732 28.4247 22.4479 28.4247C20.3014 28.4247 18.4671 27.9996 17.1439 27.2188C15.8314 26.4461 15.0955 25.3604 15.0955 24.1853C15.0957 23.0232 15.9423 21.8558 17.3419 20.9864C18.763 20.1036 20.6394 19.5914 22.6284 19.5913ZM22.6284 21.0634C21.1527 21.0534 19.716 21.4302 18.5529 22.1317C17.5721 22.7399 17.0165 23.5056 17.0165 24.1877C17.0168 24.8911 17.4639 25.5495 18.3144 26.0508C19.2825 26.6211 20.7055 26.9526 22.4479 26.9526C24.1473 26.9526 25.581 26.7109 26.5575 26.2525C27.5425 25.7922 28.0472 25.1239 28.0472 24.1853C28.0469 23.4898 27.5235 22.7218 26.5941 22.1203C25.5644 21.4547 24.1684 21.0634 22.6284 21.0634Z" fill="currentColor"/>
|
|
43
|
+
<path d="M13.3142 19.8978C14.331 19.8978 15.1595 20.54 15.1595 21.3308C15.1599 21.7093 14.9655 22.0727 14.6197 22.3411C14.2735 22.6095 13.8033 22.7614 13.3129 22.7624C12.8231 22.7611 12.3531 22.6091 12.0074 22.3411C11.6621 22.0731 11.4676 21.7101 11.4675 21.332C11.4664 20.9532 11.6605 20.5891 12.0061 20.3204C12.3519 20.0516 12.8239 19.8994 13.3142 19.8978Z" fill="currentColor"/>
|
|
44
|
+
<path d="M31.8364 19.8978C32.8574 19.8978 33.683 20.54 33.683 21.3308C33.6834 21.7095 33.4892 22.0727 33.1431 22.3411C32.7968 22.6095 32.3267 22.7615 31.8364 22.7624C31.3466 22.7611 30.8779 22.6091 30.5321 22.3411C30.1866 22.0731 29.9923 21.7104 29.9922 21.332C29.991 20.9532 30.184 20.5891 30.5295 20.3204C30.8753 20.0516 31.3458 19.8992 31.8364 19.8978Z" fill="currentColor"/>
|
|
45
|
+
</svg>`,Bp=`<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
46
|
+
<path d="M3.10913 12.07C3.65512 12.07 5.76627 11.5988 6.85825 10.98C7.95023 10.3612 7.95023 10.3612 10.207 8.75965C13.0642 6.73196 15.0845 7.41088 18.3968 7.41088" fill="currentColor"/>
|
|
47
|
+
<path d="M3.10913 12.07C3.65512 12.07 5.76627 11.5988 6.85825 10.98C7.95023 10.3612 7.95023 10.3612 10.207 8.75965C13.0642 6.73196 15.0845 7.41088 18.3968 7.41088" stroke="currentColor" stroke-width="3.27593"/>
|
|
48
|
+
<path d="M21.6 7.43108L16.0037 10.6622V4.20001L21.6 7.43108Z" fill="currentColor" stroke="currentColor" stroke-width="0.0363992"/>
|
|
49
|
+
<path d="M3 12.072C3.54599 12.072 5.65714 12.5432 6.74912 13.162C7.8411 13.7808 7.8411 13.7808 10.0978 15.3823C12.9551 17.41 14.9753 16.7311 18.2877 16.7311" fill="currentColor"/>
|
|
50
|
+
<path d="M3 12.072C3.54599 12.072 5.65714 12.5432 6.74912 13.162C7.8411 13.7808 7.8411 13.7808 10.0978 15.3823C12.9551 17.41 14.9753 16.7311 18.2877 16.7311" stroke="currentColor" stroke-width="3.27593"/>
|
|
51
|
+
<path d="M21.4909 16.7109L15.8945 13.4798V19.942L21.4909 16.7109Z" fill="currentColor" stroke="currentColor" stroke-width="0.0363992"/>
|
|
52
|
+
</svg>`,lp=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
53
|
+
<path d="M20.056 4.50022C14.0839 4.44597 9.20616 9.15015 9.15036 15.0106C9.09611 20.8726 13.8855 25.6621 19.8576 25.7163H23.6085V21.7391H20.056C16.3252 21.7825 13.2671 18.8468 13.2237 15.1827C13.1787 11.5216 16.1702 8.52086 19.901 8.47746H20.056C23.7868 8.47746 26.8108 11.4457 26.8216 15.1083V24.8809C26.8216 28.5109 23.8085 31.4683 20.1211 31.5132C18.3617 31.5007 16.6759 30.8049 15.42 29.5726L12.551 32.3905C14.5529 34.3571 17.239 35.4715 20.0451 35.4998H20.1877C26.0823 35.413 30.8175 30.7212 30.85 24.9351V14.8603C30.7059 9.0928 25.9165 4.50022 20.056 4.50022Z" fill="currentColor"/>
|
|
54
|
+
</svg>`,cp=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
55
|
+
<path d="M35.6638 9.91965C35.3251 9.75432 35.1785 10.0703 34.9811 10.2316C34.9131 10.2836 34.8558 10.3516 34.7985 10.413C34.3025 10.9423 33.7238 11.289 32.9678 11.2476C31.8625 11.1863 30.9186 11.533 30.0839 12.3783C29.9066 11.3356 29.3173 10.7143 28.4213 10.3143C27.9519 10.1063 27.4773 9.89965 27.148 9.44766C26.9186 9.12633 26.856 8.76767 26.7413 8.41568C26.668 8.20235 26.5946 7.98502 26.3506 7.94902C26.084 7.90769 25.98 8.13035 25.876 8.31702C25.4587 9.07967 25.2973 9.91965 25.3133 10.7703C25.3493 12.6849 26.1573 14.2102 27.764 15.2942C27.9466 15.4182 27.9933 15.5435 27.9359 15.7249C27.8266 16.0982 27.696 16.4609 27.5813 16.8355C27.508 17.0742 27.3986 17.1248 27.1426 17.0222C26.2777 16.6504 25.4919 16.1164 24.828 15.4489C23.6854 14.3449 22.6534 13.1263 21.3654 12.1716C21.067 11.9511 20.7606 11.7416 20.4468 11.5436C19.1335 10.2676 20.6201 9.21967 20.9641 9.09567C21.3241 8.965 21.0881 8.51968 19.9254 8.52501C18.7628 8.53035 17.6988 8.91834 16.3428 9.43699C16.1413 9.51421 15.934 9.57529 15.7229 9.61966C14.4557 9.38091 13.1598 9.33506 11.8789 9.48366C9.36565 9.76365 7.35902 10.953 5.88305 12.9809C4.10975 15.4182 3.69243 18.1888 4.20308 21.0768C4.74041 24.122 6.29504 26.6433 8.683 28.6139C11.1603 30.6579 14.0122 31.6592 17.2668 31.4672C19.2428 31.3539 21.4441 31.0886 23.9254 28.9873C24.552 29.2993 25.208 29.4233 26.2986 29.5166C27.1386 29.5953 27.9466 29.4766 28.5719 29.3459C29.5519 29.1379 29.4839 28.23 29.1306 28.0646C26.2573 26.726 26.888 27.2713 26.3133 26.83C27.7746 25.102 29.9746 23.3074 30.8359 17.4928C30.9026 17.0302 30.8452 16.7395 30.8359 16.3662C30.8306 16.1395 30.8826 16.0502 31.1426 16.0249C31.8639 15.95 32.5637 15.7349 33.2025 15.3915C35.0638 14.3742 35.8158 12.7049 35.9931 10.7023C36.0198 10.3956 35.9878 10.081 35.6638 9.91965ZM19.4414 27.9433C16.6562 25.754 15.3055 25.0327 14.7482 25.0634C14.2256 25.0954 14.3202 25.6913 14.4349 26.0807C14.5549 26.4647 14.7109 26.7286 14.9295 27.066C15.0815 27.2886 15.1855 27.6206 14.7789 27.87C13.8816 28.4246 12.3229 27.6833 12.2496 27.6473C10.435 26.578 8.91632 25.1673 7.84834 23.2381C6.81637 21.3808 6.21638 19.3888 6.11771 17.2622C6.09105 16.7475 6.24171 16.5662 6.7537 16.4729C7.42583 16.3442 8.11451 16.3267 8.79233 16.4209C11.6349 16.8368 14.0536 18.1075 16.0828 20.1194C17.2402 21.2661 18.1161 22.6354 19.0188 23.974C19.9788 25.3953 21.0108 26.75 22.3254 27.8593C22.7894 28.2486 23.1587 28.5446 23.5134 28.7619C22.4441 28.8819 20.6601 28.9086 19.4414 27.9433ZM20.7748 19.3568C20.7745 19.2906 20.7904 19.2253 20.8211 19.1666C20.8517 19.1078 20.8962 19.0575 20.9507 19.0198C21.0052 18.9821 21.068 18.9583 21.1337 18.9503C21.1995 18.9424 21.2662 18.9505 21.3281 18.9741C21.407 19.0024 21.475 19.0546 21.5228 19.1235C21.5706 19.1923 21.5958 19.2743 21.5947 19.3581C21.5949 19.4123 21.5843 19.4659 21.5636 19.5159C21.5428 19.5659 21.5123 19.6113 21.4738 19.6494C21.4354 19.6875 21.3897 19.7176 21.3395 19.7378C21.2893 19.7581 21.2356 19.7682 21.1814 19.7675C21.1277 19.7676 21.0745 19.7571 21.0248 19.7365C20.9752 19.7158 20.9302 19.6855 20.8925 19.6473C20.8548 19.609 20.825 19.5636 20.805 19.5138C20.785 19.4639 20.7739 19.4105 20.7748 19.3568ZM24.9213 21.4848C24.6547 21.5928 24.3893 21.6861 24.1347 21.6981C23.7516 21.7114 23.3756 21.5918 23.0707 21.3594C22.7054 21.0528 22.4441 20.8821 22.3347 20.3488C22.297 20.0881 22.3042 19.823 22.3561 19.5648C22.4494 19.1288 22.3454 18.8488 22.0374 18.5955C21.7881 18.3875 21.4694 18.3302 21.1201 18.3302C21.0005 18.3232 20.8843 18.2875 20.7814 18.2262C20.6348 18.1542 20.5148 17.9728 20.6294 17.7488C20.6668 17.6768 20.8428 17.5008 20.8854 17.4688C21.3601 17.1995 21.9081 17.2875 22.4134 17.4902C22.8827 17.6822 23.2374 18.0342 23.748 18.5328C24.2694 19.1341 24.364 19.3008 24.6613 19.7515C24.896 20.1048 25.1093 20.4674 25.2547 20.8821C25.344 21.1421 25.2293 21.3541 24.9213 21.4848Z" fill="currentColor"/>
|
|
56
|
+
</svg>`,Ep=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
57
|
+
<path d="M12.4579 15.6036L26.1529 35H20.0656L6.37059 15.6036H12.4579ZM12.4524 26.3764L15.4974 30.6909L12.4551 35H6.36377L12.4524 26.3764ZM33.6365 7.15727V35H28.647V14.2236L33.6365 7.15727ZM33.6365 5L20.0656 24.2205L17.0206 19.9073L27.5451 5H33.6365Z" fill="currentColor"/>
|
|
58
|
+
</svg>`,EQ=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
59
|
+
<path d="M20.1312 7.50002L17.4088 11.1913H5.81625L8.5375 7.50002H20.1325H20.1312ZM34.0675 28.81L31.3475 32.5H19.795L22.5125 28.81H34.0675ZM35 7.50002L16.58 32.5H5L23.42 7.50002H35Z" fill="currentColor"/>
|
|
60
|
+
</svg>`,Cp=`<svg width="24" height="24" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
61
|
+
<path d="M55.0151 11H45.7732C42.9871 11 41.594 11 40.5458 11.7564C39.4977 12.5128 39.0587 13.8349 38.1807 16.479L28.4934 45.6545C26.899 50.4561 26.1019 52.8569 27.2993 54.5162C28.4967 56.1754 31.0264 56.1754 36.0858 56.1754H38.1307C41.9554 56.1754 43.8677 56.1754 45.0206 57.2527C45.2855 57.5002 45.5155 57.7825 45.7043 58.092C46.5262 59.4389 46.1395 61.3117 45.3662 65.0574C42.291 79.9519 40.7534 87.3991 43.0079 88.8933C43.4871 89.2109 44.0292 89.4215 44.5971 89.5107C47.2691 89.9303 51.1621 83.398 58.9481 70.3336L70.7118 50.5949C72.8831 46.9517 73.9687 45.13 73.6853 43.639C73.5201 42.7697 73.0712 41.9797 72.4091 41.3927C71.2734 40.386 69.1528 40.386 64.9115 40.386C61.2258 40.386 59.3829 40.386 58.2863 39.5068C57.6438 38.9916 57.176 38.2907 56.9467 37.4998C56.5553 36.1498 57.2621 34.4479 58.6757 31.044L62.4033 22.0683C64.4825 17.0618 65.5221 14.5585 64.3345 12.7793C63.1468 11 60.4362 11 55.0151 11Z" fill="currentColor"/>
|
|
62
|
+
</svg>`,Ip=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
63
|
+
<path d="M6 32V12L13 22L20 12V32H17V20L13 26L9 20V32H6ZM22 32V12L29 22L36 12V32H33V20L29 26L25 20V32H22Z" fill="currentColor"/>
|
|
64
|
+
</svg>`,up=`<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
65
|
+
<path opacity="0.2" d="M19.2002 17.4H8.40017V13.8H15.6002V10.2H19.2002V17.4ZM8.40017 13.8H4.80017V10.2H8.40017V13.8Z" fill="currentColor"/>
|
|
66
|
+
<path d="M8.40005 17.4H19.2001V21H4.80005V13.8H8.40005V17.4ZM15.6001 10.2V13.8H8.40005V10.2H15.6001ZM19.2001 10.2H15.6001V6.6H4.80005V3H19.2001V10.2Z" fill="currentColor"/>
|
|
67
|
+
</svg>`,dp=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
68
|
+
<path d="M35.3993 26.4544C34.2871 28.3855 27.8314 32.9425 20 32.9425C12.1686 32.9425 5.71288 28.3855 4.60075 26.4544C4.5427 26.3532 4.50826 26.2401 4.5 26.1237V22.418C4.51199 22.3209 4.53496 22.2256 4.56846 22.1338C5.04896 20.9261 6.30833 19.1733 7.93325 18.7031C8.14896 18.149 8.468 17.3404 8.76508 16.7437C8.71727 16.2776 8.69485 15.8094 8.69792 15.3409C8.69792 13.6217 9.06217 12.113 10.1601 10.9906C10.6729 10.4662 11.3097 10.0644 12.064 9.76091C13.871 8.29357 16.4453 7.05745 19.9716 7.05745C23.4978 7.05745 26.129 8.29357 27.936 9.76091C28.6903 10.0644 29.3271 10.4662 29.8399 10.9906C30.9378 12.113 31.3021 13.6217 31.3021 15.3409C31.3021 15.8162 31.284 16.2877 31.2349 16.7437C31.532 17.3404 31.851 18.149 32.0667 18.7031C33.6917 19.1733 34.951 20.9261 35.4315 22.1338C35.4677 22.2248 35.4908 22.3205 35.5 22.418V26.1237C35.4917 26.2401 35.4573 26.3532 35.3993 26.4544ZM20.2222 18.7147H19.7778C19.6422 18.945 19.4889 19.1644 19.3193 19.3709C18.3247 20.5941 16.8419 21.2981 14.7881 21.2981C12.56 21.2981 10.9273 20.8344 9.90304 19.6719C9.86495 19.6283 9.82833 19.5835 9.79325 19.5375L9.66667 19.6719V28.1775C11.5202 29.1837 15.4972 30.992 20 30.992C24.5028 30.992 28.4798 29.1837 30.3333 28.1775V19.6719L30.2067 19.5375C30.2067 19.5375 30.1641 19.5957 30.097 19.6719C29.0727 20.8344 27.44 21.2981 25.2119 21.2981C23.1581 21.2981 21.6753 20.5941 20.6807 19.3709C20.5111 19.1644 20.3578 18.945 20.2222 18.7147ZM23.2292 22.9127C23.9383 22.9127 24.5208 23.4952 24.5208 24.2043V26.7877C24.5208 27.4968 23.9383 28.0793 23.2292 28.0793C22.52 28.0793 21.9375 27.4968 21.9375 26.7877V24.2043C21.9375 23.4952 22.52 22.9127 23.2292 22.9127ZM16.7708 22.9127C17.48 22.9127 18.0625 23.4952 18.0625 24.2043V26.7877C18.0625 27.4968 17.48 28.0793 16.7708 28.0793C16.0617 28.0793 15.4792 27.4968 15.4792 26.7877V24.2043C15.4792 23.4952 16.0617 22.9127 16.7708 22.9127ZM21.0501 14.9237C21.2258 16.289 21.5707 17.3947 22.1842 18.149C22.7551 18.8517 23.649 19.3606 25.2119 19.3606C27.2437 19.3606 28.1724 18.9253 28.6438 18.3905C29.1398 17.8287 29.3646 16.9051 29.3646 15.3409C29.3646 13.8684 29.0507 12.9552 28.454 12.3455C27.8378 11.7152 26.7502 11.2321 24.8063 11.0216C22.8856 10.8136 21.975 11.1998 21.5345 11.7049C21.187 12.1014 20.97 12.7485 20.9688 13.7431V13.7702C20.9688 14.1121 20.9959 14.4966 21.0501 14.9237ZM18.9499 14.9237C19.0041 14.4966 19.0312 14.1117 19.0312 13.7689V13.7431C19.03 12.7485 18.813 12.1014 18.4655 11.7049C18.025 11.1998 17.1144 10.8136 15.1937 11.0216C13.2498 11.2321 12.1622 11.7152 11.546 12.3455C10.9493 12.9552 10.6354 13.8684 10.6354 15.3409C10.6354 16.9051 10.8615 17.8287 11.3562 18.3905C11.8276 18.9253 12.7563 19.3606 14.7881 19.3606C16.351 19.3606 17.2449 18.8517 17.8158 18.149C18.4293 17.3947 18.7742 16.289 18.9499 14.9237Z" fill="currentColor"/>
|
|
69
|
+
</svg>`,hp={anthropic:ap,openai:gp,google:Qp,ollama:ga,"ollama-cloud":ga,openrouter:Bp,groq:lp,deepseek:cp,xai:Ep,zai:EQ,"zai-coding":EQ,ottorouter:Cp,minimax:Ip,opencode:up,copilot:dp},$t=x.memo(function({provider:e,className:t="",size:s=16}){const n=e.toLowerCase(),r=hp[n]??(n.includes("ollama")?ga:void 0);return r?o.jsx("span",{className:`inline-flex items-center justify-center text-foreground/70 dark:text-foreground/80 ${t}`,style:{width:s,height:s},title:e,dangerouslySetInnerHTML:{__html:r.replace(/<svg/,`<svg width="${s}" height="${s}" style="width:${s}px;height:${s}px"`)}}):o.jsx("span",{className:`inline-flex items-center justify-center text-[10px] font-medium text-muted-foreground uppercase ${t}`,style:{width:s,height:s},title:e,children:e.slice(0,2)})});function Ll(){return at({queryKey:["files"],queryFn:async()=>await mA.listFiles(),staleTime:1e4,refetchOnWindowFocus:!0,retry:1})}function pp({enabled:A,onSend:e,textareaRef:t,setMessage:s}){const[n,r]=x.useState(A?"normal":"insert"),[i,a]=x.useState(""),g=x.useCallback((I,c)=>{for(;c<I.length&&/\S/.test(I[c]);)c++;for(;c<I.length&&/\s/.test(I[c]);)c++;return Math.min(c,I.length)},[]),Q=x.useCallback((I,c)=>{for(c<I.length&&/\S/.test(I[c])&&c++;c<I.length&&/\s/.test(I[c]);)c++;for(;c<I.length&&/\S/.test(I[c]);)c++;return Math.max(0,c-1)},[]),l=x.useCallback((I,c)=>{for(c=Math.max(0,c-1);c>0&&/\s/.test(I[c]);)c--;for(;c>0&&/\S/.test(I[c-1]);)c--;return c},[]),C=x.useCallback(I=>{const c=t.current;if(!c)return!1;const u=I.key;if(u==="i")return I.preventDefault(),r("insert"),!0;if(u==="a"){I.preventDefault(),r("insert");const f=c.selectionStart;return setTimeout(()=>{c.setSelectionRange(f+1,f+1)},0),!0}if(u==="I"){I.preventDefault(),r("insert");const h=c.value.lastIndexOf(`
|
|
70
|
+
`,c.selectionStart-1)+1;return setTimeout(()=>{c.setSelectionRange(h,h)},0),!0}if(u==="A"){I.preventDefault(),r("insert");const f=c.value;let h=f.indexOf(`
|
|
71
|
+
`,c.selectionStart);return h===-1&&(h=f.length),setTimeout(()=>{c.setSelectionRange(h,h)},0),!0}if(u==="0"){I.preventDefault();const h=c.value.lastIndexOf(`
|
|
72
|
+
`,c.selectionStart-1)+1;return c.setSelectionRange(h,h),!0}if(u==="$"){I.preventDefault();const f=c.value;let h=f.indexOf(`
|
|
73
|
+
`,c.selectionStart);return h===-1&&(h=f.length),c.setSelectionRange(h,h),!0}if(u==="o"){I.preventDefault(),r("insert");const f=c.value;let h=f.indexOf(`
|
|
74
|
+
`,c.selectionStart);h===-1&&(h=f.length);const k=`${f.slice(0,h)}
|
|
75
|
+
${f.slice(h)}`;return s(k),setTimeout(()=>{c.setSelectionRange(h+1,h+1)},0),!0}if(u==="O"){I.preventDefault(),r("insert");const f=c.value,h=f.lastIndexOf(`
|
|
76
|
+
`,c.selectionStart-1)+1,k=`${f.slice(0,h)}
|
|
77
|
+
${f.slice(h)}`;return s(k),setTimeout(()=>{c.setSelectionRange(h,h)},0),!0}if(i==="f"&&u.length===1&&u!=="Escape"){I.preventDefault();const f=c.value,h=f.slice(f.lastIndexOf(`
|
|
78
|
+
`,c.selectionStart-1)+1,f.indexOf(`
|
|
79
|
+
`,c.selectionStart)===-1?f.length:f.indexOf(`
|
|
80
|
+
`,c.selectionStart)),k=c.selectionStart-f.lastIndexOf(`
|
|
81
|
+
`,c.selectionStart-1)-1,v=h.indexOf(u,k+1);if(v!==-1){const D=f.lastIndexOf(`
|
|
82
|
+
`,c.selectionStart-1)+1+v;c.setSelectionRange(D,D)}return a(""),!0}if(u==="f")return I.preventDefault(),a("f"),setTimeout(()=>a(""),2e3),!0;if(u==="d"){if(i==="d"){I.preventDefault();const f=c.value,h=f.lastIndexOf(`
|
|
83
|
+
`,c.selectionStart-1)+1;let k=f.indexOf(`
|
|
84
|
+
`,c.selectionStart);k===-1?k=f.length:k+=1;const v=f.slice(0,h)+f.slice(k);return s(v),a(""),setTimeout(()=>{c.setSelectionRange(h,h)},0),!0}return I.preventDefault(),a("d"),setTimeout(()=>a(""),1e3),!0}if(u==="Enter")return I.preventDefault(),e(),!0;if(u==="Escape")return I.preventDefault(),!0;if(u==="w"){I.preventDefault();const f=c.value,h=g(f,c.selectionStart);return c.setSelectionRange(h,h),!0}if(u==="e"){I.preventDefault();const f=c.value,h=Q(f,c.selectionStart);return c.setSelectionRange(h,h),!0}if(u==="b"){I.preventDefault();const f=c.value,h=l(f,c.selectionStart);return c.setSelectionRange(h,h),!0}if(u==="x"){I.preventDefault();const f=c.value,h=c.selectionStart;if(h<f.length){const k=f.slice(0,h)+f.slice(h+1);s(k),setTimeout(()=>{c.setSelectionRange(h,h)},0)}return!0}if(u==="s"){I.preventDefault();const f=c.value,h=c.selectionStart;if(h<f.length){const k=f.slice(0,h)+f.slice(h+1);s(k),r("insert"),setTimeout(()=>{c.setSelectionRange(h,h)},0)}else r("insert");return!0}if(u==="S"){I.preventDefault();const f=c.value,h=f.lastIndexOf(`
|
|
85
|
+
`,c.selectionStart-1)+1;let k=f.indexOf(`
|
|
86
|
+
`,c.selectionStart);k===-1&&(k=f.length);const v=f.slice(0,h)+f.slice(k);return s(v),r("insert"),setTimeout(()=>{c.setSelectionRange(h,h)},0),!0}if(u==="h"){I.preventDefault();const f=c.selectionStart;return f>0&&c.setSelectionRange(f-1,f-1),!0}if(u==="l"){I.preventDefault();const f=c.selectionStart;return f<c.value.length&&c.setSelectionRange(f+1,f+1),!0}if(u==="j"){I.preventDefault();const f=c.value,h=c.selectionStart,k=f.lastIndexOf(`
|
|
87
|
+
`,h-1)+1,v=h-k,D=f.indexOf(`
|
|
88
|
+
`,h);if(D!==-1){const O=D+1;let J=f.indexOf(`
|
|
89
|
+
`,O);J===-1&&(J=f.length);const V=J-O,eA=O+Math.min(v,V);c.setSelectionRange(eA,eA)}return!0}if(u==="k"){I.preventDefault();const f=c.value,h=c.selectionStart,k=f.lastIndexOf(`
|
|
90
|
+
`,h-1)+1;if(k>0){const v=h-k,D=k-1,O=f.lastIndexOf(`
|
|
91
|
+
`,D-1)+1,J=D-O,V=O+Math.min(v,J);c.setSelectionRange(V,V)}return!0}return!1},[i,e,t,s,g,Q,l]);return{vimMode:n,setVimMode:r,handleVimNormalMode:C}}function fp(){const[A,e]=x.useState(!1),[t,s]=x.useState(""),[n,r]=x.useState(0),[i,a]=x.useState(),g=x.useCallback((C,I,c)=>{const u=I.current;if(!u)return;const f=u.value,h=u.selectionStart,v=f.slice(0,h).match(/(^|[\s])@(\S*)$/);if(!v)return;const D=h-v[0].length+v[1].length,O=`${f.slice(0,D)}@${C} ${f.slice(h)}`;c(O),e(!1),setTimeout(()=>{const J=D+C.length+2;u.setSelectionRange(J,J),u.focus()},0)},[]),Q=x.useCallback(C=>{a(C)},[]),l=x.useCallback((C,I)=>{const u=C.slice(0,I).match(/(^|[\s])@(\S*)$/);u?(e(!0),s(u[2]),r(0)):e(!1)},[]);return{showFileMention:A,mentionQuery:t,mentionSelectedIndex:n,currentFileToSelect:i,setShowFileMention:e,setMentionQuery:s,setMentionSelectedIndex:r,setCurrentFileToSelect:a,handleFileSelect:g,handleEnterSelect:Q,checkForMention:l}}function mp({onCommand:A,onSendCommandMessage:e,updatePreferences:t,updateReasoningText:s,vimModeEnabled:n,reasoningEnabled:r,textareaRef:i,setMessage:a,setShowShortcutsModal:g,sessionId:Q}){const[l,C]=x.useState(!1),[I,c]=x.useState(""),[u,f]=x.useState(0),[h,k]=x.useState(),v=x.useCallback(async J=>{const V=()=>{a(""),C(!1),i.current&&(i.current.style.height="auto"),i.current?.focus()};if(J==="help"){g(!0),V();return}if(J==="vim"){t({vimMode:!n}),V();return}if(J==="reasoning"){s(!r),V();return}if(J==="stop"){if(Q)try{await mA.abortSession(Q)}catch(eA){console.error("Failed to stop generation:",eA)}V();return}if(Jl(J)){const eA=$0(J);if(eA&&e){await e(eA),V();return}}A&&A(J),V()},[A,e,n,r,t,s,i,a,g,Q]),D=x.useCallback(J=>{k(J)},[]),O=x.useCallback(J=>{J.startsWith("/")&&!J.includes(" ")?(C(!0),c(J.slice(1)),f(0)):C(!1)},[]);return{showCommandSuggestions:l,commandQuery:I,commandSelectedIndex:u,currentCommandToSelect:h,setShowCommandSuggestions:C,setCommandQuery:c,setCommandSelectedIndex:f,setCurrentCommandToSelect:k,handleCommandSelect:v,handleCommandEnterSelect:D,checkForCommand:O}}function wp(A){return e=>{const{showFileMention:t,showCommandSuggestions:s,mentionSelectedIndex:n,commandSelectedIndex:r,currentFileToSelect:i,currentCommandToSelect:a,isPlanMode:g,vimModeEnabled:Q,vimMode:l,setMentionSelectedIndex:C,setCommandSelectedIndex:I,setShowFileMention:c,setShowCommandSuggestions:u,setIsPlanMode:f,setVimMode:h,handleFileSelect:k,handleCommandSelect:v,handleSend:D,handleVimNormalMode:O,onPlanModeToggle:J}=A;if(s){const V=Yn.length;e.key==="ArrowDown"||e.ctrlKey&&e.key==="j"?(e.preventDefault(),I((r+1)%V)):e.key==="ArrowUp"||e.ctrlKey&&e.key==="k"?(e.preventDefault(),I((r-1+V)%V)):e.key==="Enter"?(e.preventDefault(),a&&v(a)):e.key==="Escape"&&(e.preventDefault(),u(!1));return}if(t){e.key==="ArrowDown"||e.ctrlKey&&e.key==="j"?(e.preventDefault(),C((n+1)%20)):e.key==="ArrowUp"||e.ctrlKey&&e.key==="k"?(e.preventDefault(),C((n-1+20)%20)):e.key==="Enter"?(e.preventDefault(),i&&k(i)):e.key==="Escape"&&(e.preventDefault(),c(!1),Q&&h("normal"));return}if(!(Q&&l==="normal"&&O(e))){if(Q&&l==="insert"&&e.key==="Escape"){e.preventDefault(),h("normal");return}if(e.key==="Tab"){e.preventDefault();const V=!g;f(V),J?.(V)}else e.key==="Enter"&&!e.shiftKey&&(!Q||l==="normal")&&(e.preventDefault(),D())}}}const Ne=ht(A=>({balance:null,usdcBalance:null,network:"mainnet",isPaymentPending:!1,lastPaymentAmount:null,walletAddress:null,isLoading:!1,isTopupModalOpen:!1,scope:null,payg:null,subscription:null,limits:null,setBalance:e=>A({balance:e}),setUsdcBalance:e=>A({usdcBalance:e}),setNetwork:e=>A({network:e}),setPaymentPending:e=>A({isPaymentPending:e}),setLastPaymentAmount:e=>A({lastPaymentAmount:e}),setWalletAddress:e=>A({walletAddress:e}),setLoading:e=>A({isLoading:e}),openTopupModal:()=>A({isTopupModalOpen:!0}),closeTopupModal:()=>A({isTopupModalOpen:!1}),setScope:e=>A({scope:e}),setPayg:e=>A({payg:e}),setSubscription:e=>A({subscription:e}),setLimits:e=>A({limits:e})}));function xp(A){if(!A)return"";if(typeof A=="string")return A;try{const e=A,t=e.cmd??e.command;if(typeof t=="string")return t;const s=e.path??e.pattern??e.query;if(typeof s=="string")return s;const n=JSON.stringify(A,null,2);return n.length>120?`${n.slice(0,120)}...`:n}catch{return String(A)}}function Dp({approval:A,sessionId:e,isProcessing:t,onProcess:s}){const{removePendingApproval:n}=Mr(),r=A.toolName.replace(/_/g," "),i=xp(A.args),a=x.useCallback(async()=>{s(A.callId);try{await mA.approveToolCall(e,A.callId,!0),n(A.callId)}catch(Q){console.error("Failed to approve:",Q)}},[e,A.callId,n,s]),g=x.useCallback(async()=>{s(A.callId);try{await mA.approveToolCall(e,A.callId,!1),n(A.callId)}catch(Q){console.error("Failed to reject:",Q)}},[e,A.callId,n,s]);return o.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 min-w-0",children:[o.jsx(Ra,{className:"h-3.5 w-3.5 text-amber-500 flex-shrink-0"}),o.jsx("span",{className:"text-xs font-medium text-foreground truncate",children:r}),i&&o.jsx("code",{className:"text-[11px] font-mono text-muted-foreground bg-muted/50 px-1.5 py-0.5 rounded truncate max-w-[200px]",children:i}),o.jsxs("div",{className:"flex items-center gap-1.5 ml-auto flex-shrink-0",children:[o.jsxs("button",{type:"button",onClick:g,disabled:t,title:"Reject (N)",className:"flex items-center gap-1 px-2 py-1 text-[11px] font-medium rounded border border-border bg-background hover:bg-muted transition-colors disabled:opacity-50",children:[o.jsx(lt,{className:"w-3 h-3"}),o.jsx("span",{className:"hidden sm:inline",children:"Reject"}),o.jsx("kbd",{className:"ml-0.5 text-[9px] text-muted-foreground opacity-70",children:"N"})]}),o.jsxs("button",{type:"button",onClick:a,disabled:t,title:"Approve (Y)",className:"flex items-center gap-1 px-2 py-1 text-[11px] font-medium rounded bg-amber-600 text-white hover:bg-amber-700 transition-colors disabled:opacity-50",children:[o.jsx(Yt,{className:"w-3 h-3"}),t?"...":"Approve",!t&&o.jsx("kbd",{className:"ml-0.5 text-[9px] opacity-70",children:"Y"})]})]})]})}const yp=x.memo(function({sessionId:e}){const{pendingApprovals:t,removePendingApproval:s}=Mr(),[n,r]=x.useState(null),i=x.useCallback(async()=>{try{await Promise.all(t.map(g=>mA.approveToolCall(e,g.callId,!0)));for(const g of t)s(g.callId)}catch(g){console.error("Failed to approve all:",g)}},[e,t,s]),a=t.length>0;return o.jsx("div",{className:"grid transition-[grid-template-rows,opacity] duration-200 ease-out",style:{gridTemplateRows:a?"1fr":"0fr",opacity:a?1:0},children:o.jsx("div",{className:"overflow-hidden",children:o.jsxs("div",{className:"border border-amber-200 dark:border-amber-800 border-b-0 bg-amber-50/80 dark:bg-amber-950/30 rounded-t-xl overflow-hidden -mb-1 pb-2",children:[o.jsx("div",{className:"divide-y divide-amber-200/50 dark:divide-amber-800/50",children:t.map(g=>o.jsx(Dp,{approval:g,sessionId:e,isProcessing:n===g.callId,onProcess:r},g.callId))}),t.length>1&&o.jsxs("div",{className:"flex items-center justify-between gap-2 px-3 py-1.5 border-t border-amber-200 dark:border-amber-800 bg-amber-100/50 dark:bg-amber-900/20",children:[o.jsxs("span",{className:"text-[11px] text-amber-800 dark:text-amber-200",children:[t.length," tools waiting"]}),o.jsxs("button",{type:"button",onClick:i,title:"Approve All (A)",className:"flex items-center gap-1 px-2.5 py-1 text-[11px] font-medium rounded bg-amber-600 text-white hover:bg-amber-700 transition-colors",children:[o.jsx(UB,{className:"w-3 h-3"}),"Approve All",o.jsx("kbd",{className:"ml-0.5 text-[9px] opacity-70",children:"A"})]})]})]})})})}),jl=x.memo(x.forwardRef(function({onSend:e,onCommand:t,disabled:s,onConfigClick:n,onPlanModeToggle:r,isPlanMode:i,reasoningEnabled:a,sessionId:g,images:Q=[],documents:l=[],onFileRemove:C,isDragging:I=!1,onPaste:c,visionEnabled:u=!1,attachmentEnabled:f=!1,modelName:h,providerName:k,isCustomProvider:v=!1,authType:D,isFreeModel:O,researchContexts:J=[],onResearchContextRemove:V,onModelInfoClick:eA,agent:X,agents:K=[],onAgentChange:W},T){const[L,w]=x.useState(""),[B,d]=x.useState(i||!1),[N,G]=x.useState(!1),[S,j]=x.useState(!1),H=x.useRef(null),b=x.useRef(null),{data:E,isLoading:p}=Ll(),{preferences:U,updatePreferences:R}=Zs(),{data:_}=is(),tA=qn(),IA=E?.files||[],iA=E?.changedFiles||[],UA=Ne(_A=>_A.subscription),HA=k==="ottorouter",lA=x.useMemo(()=>HA&&UA?.active?UA.tierName??"GO":null,[HA,UA]);x.useEffect(()=>{if(!S)return;const _A=ye=>{b.current&&!b.current.contains(ye.target)&&j(!1)};return document.addEventListener("mousedown",_A),()=>document.removeEventListener("mousedown",_A)},[S]);const qA=x.useRef(()=>{}),{showFileMention:re,mentionQuery:he,mentionSelectedIndex:kA,currentFileToSelect:VA,setShowFileMention:ae,setMentionSelectedIndex:He,setCurrentFileToSelect:le,handleFileSelect:Ge,handleEnterSelect:nt,checkForMention:ve}=fp(),{showCommandSuggestions:yA,commandQuery:pe,commandSelectedIndex:YA,currentCommandToSelect:q,setShowCommandSuggestions:y,setCommandSelectedIndex:M,setCurrentCommandToSelect:Z,handleCommandSelect:AA,handleCommandEnterSelect:nA,checkForCommand:cA}=mp({onCommand:t,onSendCommandMessage:e,updatePreferences:R,updateReasoningText:_A=>tA.mutate({reasoningText:_A,scope:"global"}),vimModeEnabled:U.vimMode,reasoningEnabled:_?.defaults?.reasoningText??!0,textareaRef:H,setMessage:w,setShowShortcutsModal:G,sessionId:g}),{vimMode:zA,setVimMode:PA,handleVimNormalMode:ZA}=pp({enabled:U.vimMode,onSend:()=>qA.current(),textareaRef:H,setMessage:w});x.useEffect(()=>{H.current?.focus()},[]),x.useEffect(()=>{i!==void 0&&d(i)},[i]),x.useImperativeHandle(T,()=>({focus:()=>{H.current?.focus()},setValue:_A=>{w(_A),H.current?.focus()}}));const Se=x.useCallback(()=>{const _A=H.current;_A&&(_A.style.height="auto",_A.style.height=`${_A.scrollHeight}px`)},[]);x.useEffect(()=>{Se()},[Se,L]);const WA=x.useCallback(()=>{ae(!1),le(void 0)},[ae,le]),De=x.useCallback(()=>{y(!1),Z(void 0)},[y,Z]),Pt=x.useCallback(_A=>{Ge(_A,H,w)},[Ge]),Je=x.useCallback(()=>{const _A=L.trim();if(!_A||s)return;const ye=()=>{w(""),ae(!1),y(!1),le(void 0),Z(void 0),H.current&&(H.current.style.height="auto"),U.vimMode&&PA("normal"),H.current?.focus()},fe=X0(_A);if(fe){if(Jl(fe.id)){e(fe.label),ye();return}if(t){t(fe.id),ye();return}}e(L),ye()},[L,s,t,e,U.vimMode,ae,y,le,Z,PA]);x.useEffect(()=>{qA.current=Je},[Je]);const Pe=x.useCallback(_A=>{if(U.vimMode&&zA==="normal")return;const ye=_A.target.value;w(ye),cA(ye),ye.startsWith("/")&&!ye.includes(" ")?(ae(!1),le(void 0)):(y(!1),Z(void 0),ve(ye,_A.target.selectionStart))},[U.vimMode,zA,cA,ae,le,y,Z,ve]),So=x.useMemo(()=>wp({showFileMention:re,showCommandSuggestions:yA,mentionSelectedIndex:kA,commandSelectedIndex:YA,currentFileToSelect:VA,currentCommandToSelect:q,isPlanMode:B,vimModeEnabled:U.vimMode,vimMode:zA,setMentionSelectedIndex:He,setCommandSelectedIndex:M,setShowFileMention:ae,setShowCommandSuggestions:y,setIsPlanMode:d,setVimMode:PA,handleFileSelect:Pt,handleCommandSelect:AA,handleSend:Je,handleVimNormalMode:ZA,onPlanModeToggle:r}),[re,yA,kA,YA,VA,q,B,U.vimMode,zA,He,M,ae,y,PA,Pt,AA,Je,ZA,r]);x.useEffect(()=>{U.vimMode||PA("insert")},[U.vimMode,PA]);const ce=x.useCallback(_A=>{c?.(_A)},[c]),Ue=Q.length>0,Wt=l.length>0,Oe=Ue||Wt,_e=U.fullWidthContent?"w-full pointer-events-auto relative":"max-w-3xl mx-auto pointer-events-auto relative";return o.jsxs(o.Fragment,{children:[I&&(()=>{const _A=u||f,ye=[...u?["Images"]:[],...f?["PDF"]:[],"Markdown","Text"].join(", ");return o.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-background/80 backdrop-blur-sm pointer-events-none",children:o.jsxs("div",{className:`flex flex-col items-center gap-4 p-8 rounded-2xl border-2 border-dashed ${_A?"bg-card border-primary/50":"bg-card border-muted-foreground/30"}`,children:[o.jsx("div",{className:`p-4 rounded-full ${_A?"bg-primary/10":"bg-muted"}`,children:o.jsx(es,{className:`w-12 h-12 ${_A?"text-primary":"text-muted-foreground"}`})}),o.jsxs("div",{className:"text-center",children:[o.jsx("p",{className:"text-lg font-medium text-foreground",children:"Drop files here"}),o.jsxs("p",{className:"text-sm text-muted-foreground",children:[ye," up to 10MB"]})]})]})})})(),o.jsx("div",{className:"absolute bottom-0 left-0 right-0 pt-16 pb-5 md:pb-6 px-2 md:px-4 bg-gradient-to-t from-background via-background to-transparent pointer-events-none z-20 safe-area-inset-bottom",children:o.jsxs("div",{className:_e,children:[U.vimMode&&zA==="normal"&&o.jsx("div",{className:"absolute -top-6 right-0 px-2 py-0.5 text-xs font-mono font-semibold bg-amber-500/90 text-white rounded shadow-sm",children:"NORMAL"}),U.vimMode&&zA==="insert"&&o.jsx("div",{className:"absolute -top-6 right-0 px-2 py-0.5 text-xs font-mono font-semibold bg-green-500/90 text-white rounded shadow-sm",children:"INSERT"}),g&&o.jsx("div",{className:"pointer-events-auto w-3/4 mx-auto relative z-0",children:o.jsx(yp,{sessionId:g})}),o.jsxs("div",{className:`relative z-10 flex flex-col rounded-3xl p-1 transition-all touch-manipulation ${B?"bg-slate-100 dark:bg-slate-900/40 border border-slate-300 dark:border-slate-700 focus-within:border-slate-400 dark:focus-within:border-slate-600 focus-within:ring-1 focus-within:ring-slate-300 dark:focus-within:ring-slate-700":"bg-card border border-border focus-within:border-primary/60 focus-within:ring-1 focus-within:ring-primary/40"}`,children:[Oe&&o.jsxs("div",{className:"flex flex-wrap gap-2 px-3 pt-2 pb-1",children:[Q.map(_A=>o.jsxs("div",{className:"relative group w-12 h-12 rounded-lg overflow-hidden bg-muted",children:[o.jsx("img",{src:_A.preview,alt:"Attachment",className:"w-full h-full object-cover"}),o.jsx("button",{type:"button",onClick:()=>C?.(_A.id),className:"absolute top-0 right-0 p-0.5 bg-black/60 rounded-bl-md opacity-0 group-hover:opacity-100 transition-opacity",children:o.jsx(lt,{className:"w-3 h-3 text-white"})})]},_A.id)),l.map(_A=>o.jsxs("div",{className:"relative group flex items-center gap-2 px-3 py-2 rounded-lg bg-muted max-w-[200px]",children:[_A.type==="pdf"?o.jsx(es,{className:"w-4 h-4 text-red-500 flex-shrink-0"}):o.jsx(ts,{className:"w-4 h-4 text-blue-500 flex-shrink-0"}),o.jsx("span",{className:"text-xs truncate",children:_A.name}),o.jsx("button",{type:"button",onClick:()=>C?.(_A.id),className:"absolute top-0 right-0 p-0.5 bg-black/60 rounded-bl-md opacity-0 group-hover:opacity-100 transition-opacity",children:o.jsx(lt,{className:"w-3 h-3 text-white"})})]},_A.id))]}),J.length>0&&o.jsx("div",{className:"flex flex-wrap gap-2 px-3 pt-2 pb-1",children:J.map(_A=>o.jsxs("div",{className:"relative group flex items-center gap-2 px-3 py-2 rounded-lg bg-teal-500/10 border border-teal-500/30 max-w-[200px]",children:[o.jsx(Er,{className:"w-4 h-4 text-teal-500 flex-shrink-0"}),o.jsx("span",{className:"text-xs truncate text-teal-600 dark:text-teal-400",children:_A.label}),V&&o.jsx("button",{type:"button",onClick:()=>V(_A.id),className:"absolute top-0 right-0 p-0.5 bg-black/60 rounded-bl-md opacity-0 group-hover:opacity-100 transition-opacity",children:o.jsx(lt,{className:"w-3 h-3 text-white"})})]},_A.id))}),o.jsxs("div",{className:"flex items-end gap-1",children:[n&&o.jsx("button",{type:"button",onClick:n,className:"flex items-center justify-center w-10 h-10 rounded-full hover:bg-background/50 active:bg-background/70 transition-colors text-muted-foreground hover:text-foreground flex-shrink-0 touch-manipulation",children:o.jsx(XE,{className:"w-4 h-4"})}),o.jsx(On,{ref:H,value:L,onChange:Pe,onKeyDown:So,onPaste:ce,placeholder:B?"Plan mode - Type a message...":"Type a message...",disabled:s,rows:1,className:`border-0 bg-transparent pl-1 pr-2 py-2 max-h-[200px] overflow-y-auto leading-normal resize-none scrollbar-hide text-base ${U.vimMode&&zA==="normal"?"caret-[6px]":""}`,style:{height:"2.5rem"}}),o.jsx("button",{type:"button",onClick:Je,disabled:s||!L.trim()&&!Oe,className:`flex items-center justify-center w-10 h-10 rounded-full transition-colors flex-shrink-0 touch-manipulation ${L.trim()||Oe?"bg-primary hover:bg-primary/90 active:bg-primary/80 text-primary-foreground":"bg-transparent text-muted-foreground"}`,children:o.jsx(RB,{className:"w-4 h-4"})})]})]}),o.jsx("div",{className:`grid transition-[grid-template-rows] duration-200 ease-out ${a||u||h||k||D||X?"grid-rows-[1fr]":"grid-rows-[0fr]"}`,children:o.jsx("div",{className:S?"overflow-visible":"overflow-hidden",children:o.jsxs("div",{className:"grid grid-cols-[auto_1fr_auto] items-center mt-1 px-3",children:[o.jsxs("div",{className:"justify-self-start flex-shrink-0 relative",ref:b,children:[X&&K.length>0&&o.jsxs("button",{type:"button",onClick:()=>j(!S),className:"text-[10px] text-muted-foreground flex items-center gap-1 transition-colors hover:text-foreground cursor-pointer",children:[o.jsx("span",{className:"uppercase font-medium",children:X}),o.jsx($E,{className:`h-2.5 w-2.5 transition-transform ${S?"rotate-180":""}`})]}),S&&o.jsx("div",{className:"absolute bottom-full left-0 mb-1 min-w-[120px] bg-popover border border-border rounded-md shadow-lg overflow-hidden z-50",children:K.map(_A=>o.jsx("button",{type:"button",onClick:()=>{W?.(_A),j(!1)},className:`w-full text-left px-3 py-1.5 text-xs transition-colors hover:bg-accent ${_A===X?"text-foreground font-medium bg-accent/50":"text-muted-foreground"}`,children:_A},_A))})]}),o.jsx("div",{className:"justify-self-center",children:(k||h||D)&&o.jsx("div",{className:"text-[10px] text-muted-foreground flex items-center gap-1 px-2 py-0.5",children:o.jsxs("button",{type:"button",onClick:eA,className:"flex items-center gap-1 transition-colors hover:text-foreground cursor-pointer",children:[k&&o.jsxs(o.Fragment,{children:[o.jsx($t,{provider:k,size:12,className:"opacity-70"}),o.jsx("span",{className:"opacity-40",children:"/"})]}),h&&o.jsx("span",{children:h}),v&&o.jsx("span",{className:"opacity-50",children:"(custom)"}),D&&D==="oauth"&&o.jsx("span",{className:"opacity-50",children:"(pro)"}),HA&&lA&&o.jsxs("span",{className:"opacity-50",children:["(",lA.toLowerCase(),")"]}),O&&o.jsx("span",{className:"opacity-50",children:"(free)"})]})})}),o.jsxs("div",{className:"justify-self-end flex-shrink-0 flex items-center gap-2",children:[a&&o.jsxs("span",{className:"text-[10px] text-indigo-600 dark:text-indigo-300 flex items-center gap-1 w-[52px] justify-center",children:[o.jsx(vn,{className:"h-3 w-3 flex-shrink-0"}),(_?.defaults?.reasoningLevel??"high").replace("xhigh","x-high")]}),u&&o.jsxs("span",{className:"text-[10px] text-emerald-600 dark:text-emerald-400 flex items-center gap-1",children:[o.jsx(Sa,{className:"h-3 w-3"}),"images"]})]})]})})}),re&&!p&&o.jsx(j0,{files:IA,changedFiles:iA,query:he,selectedIndex:kA,onSelect:Pt,onEnterSelect:nt,onClose:WA}),yA&&o.jsx(ep,{query:pe,selectedIndex:YA,onSelect:AA,onEnterSelect:nA,onClose:De,sessionId:g}),o.jsx(ip,{isOpen:N,onClose:()=>G(!1)})]})})]})})),Np=50,fo=["sessions","list"];function kp(){return RE({queryKey:fo,queryFn:({pageParam:A=0})=>mA.getSessionsPage({limit:Np,offset:A}),getNextPageParam:A=>A.nextOffset??void 0,initialPageParam:0,staleTime:3e4,refetchInterval:3e4,refetchOnWindowFocus:!1})}function Hn(){const A=kp();return{data:x.useMemo(()=>A.data?.pages?A.data.pages.flatMap(t=>t.items??[]):[],[A.data]),isLoading:A.isLoading,isError:A.isError,error:A.error,hasNextPage:A.hasNextPage,fetchNextPage:A.fetchNextPage,isFetchingNextPage:A.isFetchingNextPage}}function eg(A){const{data:e}=Hn();return e?.find(t=>t.id===A)}function Mp(){const A=ke();return Ze({mutationFn:e=>mA.createSession(e),onSuccess:e=>{A.setQueryData(fo,t=>{if(!t)return t;const s=t.pages[0];return s?{...t,pages:[{...s,items:[e,...s.items]},...t.pages.slice(1)]}:t}),A.invalidateQueries({queryKey:fo})}})}function tg(A){const e=ke();return Ze({mutationFn:t=>mA.updateSession(A,t),onSuccess:async()=>{await e.invalidateQueries({queryKey:fo}),await e.invalidateQueries({queryKey:["session",A]})}})}function bp(){const A=ke();return Ze({mutationFn:e=>mA.deleteSession(e),onSuccess:()=>{A.invalidateQueries({queryKey:fo})}})}function Qa(A,e={}){const{enabled:t=!0,staleTime:s=15e3}=e;return at({queryKey:["messages",A],queryFn:()=>{if(!A)throw new Error("Session ID is required");return mA.getMessages(A)},enabled:!!A&&t,staleTime:s,refetchOnWindowFocus:!1})}function Fp(A){const e=ke();return Ze({mutationFn:t=>mA.sendMessage(A,t),onSuccess:()=>{e.invalidateQueries({queryKey:["messages",A]}),e.invalidateQueries({queryKey:fo})}})}const Ve=ht(A=>({isExpanded:!1,skills:[],globalEnabled:!0,totalCount:0,enabledCount:0,selectedSkill:null,isViewerOpen:!1,viewingFile:null,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(Te.getState().collapseSidebar(),tt.getState().collapseSidebar(),ft.getState().collapseSidebar(),Mt.getState().collapseSidebar(),je.getState().collapseSidebar(),At.getState().collapseSidebar(),$e.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>{Te.getState().collapseSidebar(),tt.getState().collapseSidebar(),ft.getState().collapseSidebar(),Mt.getState().collapseSidebar(),je.getState().collapseSidebar(),At.getState().collapseSidebar(),$e.getState().collapseSidebar(),A({isExpanded:!0})},collapseSidebar:()=>A({isExpanded:!1}),setSkills:e=>A({skills:e}),setSkillsConfig:({skills:e,globalEnabled:t,totalCount:s,enabledCount:n})=>A({skills:e,globalEnabled:t,totalCount:s,enabledCount:n}),selectSkill:e=>A({selectedSkill:e,isViewerOpen:!1,viewingFile:null}),openViewer:e=>A({isViewerOpen:!0,viewingFile:e}),closeViewer:()=>A({isViewerOpen:!1,viewingFile:null})})),$e=ht(A=>({isExpanded:!1,servers:[],loading:new Set,authUrls:new Map,copilotDevice:null,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(Te.getState().collapseSidebar(),tt.getState().collapseSidebar(),ft.getState().collapseSidebar(),Mt.getState().collapseSidebar(),je.getState().collapseSidebar(),At.getState().collapseSidebar(),Ve.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>{Te.getState().collapseSidebar(),tt.getState().collapseSidebar(),ft.getState().collapseSidebar(),Mt.getState().collapseSidebar(),je.getState().collapseSidebar(),At.getState().collapseSidebar(),Ve.getState().collapseSidebar(),A({isExpanded:!0})},collapseSidebar:()=>A({isExpanded:!1}),setServers:e=>A({servers:e}),setLoading:(e,t)=>A(s=>{const n=new Set(s.loading);return t?n.add(e):n.delete(e),{loading:n}}),updateServer:(e,t)=>A(s=>({servers:s.servers.map(n=>n.name===e?{...n,...t}:n)})),setAuthUrl:(e,t)=>A(s=>{const n=new Map(s.authUrls);return t?n.set(e,t):n.delete(e),{authUrls:n}}),setCopilotDevice:e=>A({copilotDevice:e})})),At=ht(A=>({isExpanded:!1,selectedFile:null,isViewerOpen:!1,expandedDirs:new Set,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(Te.getState().collapseSidebar(),tt.getState().collapseSidebar(),ft.getState().collapseSidebar(),Mt.getState().collapseSidebar(),je.getState().collapseSidebar(),$e.getState().collapseSidebar(),Ve.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>{Te.getState().collapseSidebar(),tt.getState().collapseSidebar(),ft.getState().collapseSidebar(),Mt.getState().collapseSidebar(),je.getState().collapseSidebar(),$e.getState().collapseSidebar(),Ve.getState().collapseSidebar(),A({isExpanded:!0})},collapseSidebar:()=>A({isExpanded:!1,isViewerOpen:!1,selectedFile:null}),openFile:e=>A({selectedFile:e,isViewerOpen:!0}),closeViewer:()=>A({isViewerOpen:!1,selectedFile:null}),toggleDir:e=>A(t=>{const s=new Set(t.expandedDirs);return s.has(e)?s.delete(e):s.add(e),{expandedDirs:s}})})),je=ht(A=>({isExpanded:!1,status:"idle",url:null,qrCode:null,error:null,progress:null,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(Te.getState().collapseSidebar(),tt.getState().collapseSidebar(),Mt.getState().collapseSidebar(),ft.getState().collapseSidebar(),At.getState().collapseSidebar(),$e.getState().collapseSidebar(),Ve.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>{Te.getState().collapseSidebar(),tt.getState().collapseSidebar(),Mt.getState().collapseSidebar(),ft.getState().collapseSidebar(),At.getState().collapseSidebar(),$e.getState().collapseSidebar(),Ve.getState().collapseSidebar(),A({isExpanded:!0})},collapseSidebar:()=>A({isExpanded:!1}),setStatus:e=>A({status:e}),setUrl:e=>A({url:e}),setQrCode:e=>A({qrCode:e}),setError:e=>A({error:e}),setProgress:e=>A({progress:e}),reset:()=>A({status:"idle",url:null,qrCode:null,error:null,progress:null})})),Mt=ht(A=>({isExpanded:!1,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(Te.getState().collapseSidebar(),tt.getState().collapseSidebar(),ft.getState().collapseSidebar(),je.getState().collapseSidebar(),At.getState().collapseSidebar(),$e.getState().collapseSidebar(),Ve.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>A({isExpanded:!0}),collapseSidebar:()=>A({isExpanded:!1})})),ft=ht((A,e)=>({isExpanded:!1,activeResearchSessionId:null,parentSessionId:null,toggleSidebar:()=>{A(t=>{const s=!t.isExpanded;return s&&(Te.getState().collapseSidebar(),tt.getState().collapseSidebar(),Mt.getState().collapseSidebar(),je.getState().collapseSidebar(),At.getState().collapseSidebar(),$e.getState().collapseSidebar(),Ve.getState().collapseSidebar()),{isExpanded:s}})},expandSidebar:()=>{Te.getState().collapseSidebar(),tt.getState().collapseSidebar(),Mt.getState().collapseSidebar(),je.getState().collapseSidebar(),At.getState().collapseSidebar(),$e.getState().collapseSidebar(),Ve.getState().collapseSidebar(),A({isExpanded:!0})},collapseSidebar:()=>A({isExpanded:!1}),selectResearchSession:t=>A({activeResearchSessionId:t}),setParentSessionId:t=>{e().parentSessionId!==t&&A({parentSessionId:t,activeResearchSessionId:null})},reset:()=>A({activeResearchSessionId:null,parentSessionId:null})})),tt=ht(A=>({isExpanded:!1,selectedFile:null,allOperations:[],selectedOperationIndex:0,isDiffOpen:!1,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(Te.getState().collapseSidebar(),ft.getState().collapseSidebar(),Mt.getState().collapseSidebar(),je.getState().collapseSidebar(),At.getState().collapseSidebar(),$e.getState().collapseSidebar(),Ve.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>{Te.getState().collapseSidebar(),ft.getState().collapseSidebar(),Mt.getState().collapseSidebar(),je.getState().collapseSidebar(),At.getState().collapseSidebar(),$e.getState().collapseSidebar(),Ve.getState().collapseSidebar(),A({isExpanded:!0})},collapseSidebar:()=>A({isExpanded:!1,isDiffOpen:!1,selectedFile:null,allOperations:[],selectedOperationIndex:0}),openDiff:(e,t)=>A({selectedFile:e,allOperations:t,selectedOperationIndex:t.length-1,isDiffOpen:!0,isExpanded:!0}),selectOperation:e=>A({selectedOperationIndex:e}),closeDiff:()=>A({isDiffOpen:!1,selectedFile:null,allOperations:[],selectedOperationIndex:0})})),Te=ht(A=>({isExpanded:!1,activeSessionId:null,selectedFile:null,selectedFileStaged:!1,isDiffOpen:!1,isCommitModalOpen:!1,commitSessionId:null,wasSessionListCollapsed:!1,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(tt.getState().collapseSidebar(),ft.getState().collapseSidebar(),Mt.getState().collapseSidebar(),je.getState().collapseSidebar(),At.getState().collapseSidebar(),$e.getState().collapseSidebar(),Ve.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>A({isExpanded:!0}),collapseSidebar:()=>A({isExpanded:!1,isDiffOpen:!1,selectedFile:null}),openDiff:(e,t)=>A({selectedFile:e,selectedFileStaged:t,isDiffOpen:!0,isExpanded:!0}),closeDiff:()=>A({isDiffOpen:!1,selectedFile:null}),switchFile:(e,t)=>A({selectedFile:e,selectedFileStaged:t}),openCommitModal:()=>A(e=>({isCommitModalOpen:!0,commitSessionId:e.activeSessionId})),openCommitModalForSession:e=>A({isCommitModalOpen:!0,commitSessionId:e}),closeCommitModal:()=>A({isCommitModalOpen:!1,commitSessionId:null}),setActiveSessionId:e=>A({activeSessionId:e}),setSessionListCollapsed:e=>A({wasSessionListCollapsed:e})}));function Pn(){const A=Te(e=>e.isExpanded);return at({queryKey:["git","status"],queryFn:()=>mA.getGitStatus(),refetchInterval:A?5e3:!1,retry:1,staleTime:3e3})}function Gp(A,e=!1){return at({queryKey:["git","diff",A,e],queryFn:()=>A?mA.getGitDiff(A,e):null,enabled:!!A,retry:1,refetchInterval:!1})}function vp(A){return Ze({mutationFn:()=>mA.generateCommitMessage(A??void 0)})}function Wn(){const A=ke();return Ze({mutationFn:e=>mA.stageFiles(e),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]})}})}function og(){const A=ke();return Ze({mutationFn:e=>mA.unstageFiles(e),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]})}})}function Tl(){const A=ke();return Ze({mutationFn:e=>mA.restoreFiles(e),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]})}})}function Ol(){const A=ke();return Ze({mutationFn:e=>mA.deleteFiles(e),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]})}})}function Sp(){const A=ke();return Ze({mutationFn:e=>mA.commitChanges(e),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]}),A.invalidateQueries({queryKey:["git","branch"]})}})}function Up(){const A=ke();return Ze({mutationFn:()=>mA.pushCommits(),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]}),A.invalidateQueries({queryKey:["git","branch"]})}})}function Rp(){const A=ke();return Ze({mutationFn:()=>mA.pullChanges(),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]}),A.invalidateQueries({queryKey:["git","branch"]})}})}function Kp(){const A=ke();return Ze({mutationFn:()=>mA.initGitRepo(),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]}),A.invalidateQueries({queryKey:["git","branch"]})}})}function Jp(){const A=Te(e=>e.isExpanded);return at({queryKey:["git","remotes"],queryFn:()=>mA.getRemotes(),enabled:A,retry:1,staleTime:1e4})}function Lp(){const A=ke();return Ze({mutationFn:({name:e,url:t})=>mA.addRemote(e,t),onSuccess:()=>{A.invalidateQueries({queryKey:["git","remotes"]}),A.invalidateQueries({queryKey:["git","status"]})}})}function jp(){const A=ke();return Ze({mutationFn:e=>mA.removeRemote(e),onSuccess:()=>{A.invalidateQueries({queryKey:["git","remotes"]}),A.invalidateQueries({queryKey:["git","status"]})}})}const sg=["image/png","image/jpeg","image/gif","image/webp"],rg=["application/pdf"],ql=["text/plain","text/markdown","text/x-markdown","application/json","text/csv","text/xml","application/xml","text/yaml","text/x-yaml","application/x-yaml","text/html","text/css","text/javascript","application/javascript","application/typescript"],Yl=[".txt",".md",".markdown",".json",".csv",".xml",".yaml",".yml",".html",".css",".js",".ts",".jsx",".tsx",".py",".rs",".go",".java",".c",".cpp",".h",".hpp",".rb",".php",".sh",".bash",".zsh",".toml",".ini",".cfg",".env",".log",".sql",".graphql",".svelte",".vue"],Tp=[...sg,...rg,...ql];function Op(){return`file-${Date.now()}-${Math.random().toString(36).slice(2,9)}`}function qp(A){if(sg.includes(A.type))return"image";if(rg.includes(A.type))return"pdf";if(ql.includes(A.type))return"text";const e=A.name.toLowerCase().slice(A.name.lastIndexOf("."));return Yl.includes(e)?"text":null}function Yp(A){if(Tp.includes(A.type))return!0;const e=A.name.toLowerCase().slice(A.name.lastIndexOf("."));return Yl.includes(e)}async function CQ(A){return new Promise((e,t)=>{const s=new FileReader;s.onload=()=>{const r=s.result.split(",")[1];e(r)},s.onerror=t,s.readAsDataURL(A)})}async function Hp(A){return new Promise((e,t)=>{const s=new FileReader;s.onload=()=>e(s.result),s.onerror=t,s.readAsText(A)})}async function Pp(A){return new Promise((e,t)=>{const s=new FileReader;s.onload=()=>e(s.result),s.onerror=t,s.readAsDataURL(A)})}function Hl(A={}){const{maxFiles:e=10,maxSizeMB:t=10,pageWide:s=!0,supportsImages:n=!0,supportsFileAttachments:r=!0,onError:i}=A,[a,g]=x.useState([]),[Q,l]=x.useState(!1),[C,I]=x.useState(null),c=t*1024*1024,u=x.useCallback(K=>!n&&sg.includes(K.type)?"This model does not support image attachments":!r&&rg.includes(K.type)?"This model does not support PDF attachments":Yp(K)?K.size>c?`File too large: ${(K.size/1024/1024).toFixed(1)}MB. Max: ${t}MB`:null:`Unsupported file type: ${K.name.slice(K.name.lastIndexOf("."))||K.type||"unknown"}`,[c,t,n,r]),f=x.useCallback(async K=>{I(null);const W=Array.from(K),T=e-a.length;if(T<=0){const B=`Maximum ${e} files allowed`;I(B),i?.(B);return}const L=W.slice(0,T),w=[];for(const B of L){const d=u(B);if(d){I(d),i?.(d);continue}const N=qp(B);if(N)try{let G,S,j,H=B.type;if(N==="image")[G,S]=await Promise.all([Pp(B),CQ(B)]);else if(N==="pdf")S=await CQ(B),H="application/pdf";else if(j=await Hp(B),S=j,!H){const b=B.name.toLowerCase();H=b.endsWith(".md")||b.endsWith(".markdown")?"text/markdown":"text/plain"}w.push({id:Op(),file:B,type:N,name:B.name,preview:G,data:S,mediaType:H,textContent:j})}catch{const G=`Failed to process file: ${B.name}`;I(G),i?.(G)}}w.length>0&&g(B=>[...B,...w])},[a.length,e,u,i]),h=x.useCallback(K=>{g(W=>W.filter(T=>T.id!==K)),I(null)},[]),k=x.useCallback(()=>{g([]),I(null)},[]),v=x.useCallback(K=>{K.preventDefault(),K.stopPropagation(),K.dataTransfer.types.includes("Files")&&l(!0)},[]),D=x.useCallback(K=>{K.preventDefault(),K.stopPropagation();const W=K.currentTarget.getBoundingClientRect(),T=K.clientX,L=K.clientY;(T<W.left||T>W.right||L<W.top||L>W.bottom)&&l(!1)},[]),O=x.useCallback(K=>{K.preventDefault(),K.stopPropagation()},[]),J=x.useCallback(K=>{K.preventDefault(),K.stopPropagation(),l(!1);const W=K.dataTransfer.files;W.length>0&&f(Array.from(W))},[f]),V=x.useCallback(K=>{const W=K.clipboardData?.items;if(!W)return;const T=[];for(const L of Array.from(W))if(L.kind==="file"){const w=L.getAsFile();w&&T.push(w)}T.length>0&&(K.preventDefault(),f(T))},[f]);x.useEffect(()=>{if(!s)return;let K=0;const W=B=>{B.preventDefault(),B.dataTransfer?.types.includes("Files")&&(K++,K===1&&l(!0))},T=B=>{B.preventDefault(),K--,K===0&&l(!1)},L=B=>{B.preventDefault()},w=B=>{B.preventDefault(),K=0,l(!1);const d=B.dataTransfer?.files;d&&d.length>0&&f(Array.from(d))};return document.addEventListener("dragenter",W),document.addEventListener("dragleave",T),document.addEventListener("dragover",L),document.addEventListener("drop",w),()=>{document.removeEventListener("dragenter",W),document.removeEventListener("dragleave",T),document.removeEventListener("dragover",L),document.removeEventListener("drop",w)}},[s,f]);const eA=a.filter(K=>K.type==="image"),X=a.filter(K=>K.type==="pdf"||K.type==="text");return{files:a,images:eA,documents:X,isDragging:Q,error:C,addFiles:f,removeFile:h,clearFiles:k,handleDragEnter:v,handleDragLeave:D,handleDragOver:O,handleDrop:J,handlePaste:V}}const Ba=ht((A,e)=>({pendingRestoreText:null,setPendingRestoreText:t=>A({pendingRestoreText:t}),consumeRestoreText:()=>{const t=e().pendingRestoreText;return A({pendingRestoreText:null}),t}})),gn=ht((A,e)=>({pendingContexts:new Map,addContext:(t,s)=>{A(n=>{const r=new Map(n.pendingContexts),i=r.get(t)||[];return i.some(a=>a.id===s.id)||r.set(t,[...i,s]),{pendingContexts:r}})},removeContext:(t,s)=>{A(n=>{const r=new Map(n.pendingContexts),i=r.get(t)||[];return r.set(t,i.filter(a=>a.id!==s)),{pendingContexts:r}})},getContexts:t=>e().pendingContexts.get(t)||[],clearContexts:t=>{A(s=>{const n=new Map(s.pendingContexts);return n.delete(t),{pendingContexts:n}})},consumeContexts:t=>{const s=e().getContexts(t);return e().clearContexts(t),s}})),Wp=/<research-context\s+from="([^"]+)"\s+label="([^"]+)"[^>]*>([\s\S]*?)<\/research-context>/g;function zp(A){const e=[];let t=A;const s=new RegExp(Wp);let n=s.exec(A);for(;n!==null;){const[r,i,a,g]=n;e.push({id:i,from:i,label:a,content:g.trim()}),t=t.replace(r,""),n=s.exec(A)}return t=t.trim(),{researchContexts:e,cleanContent:t}}function Vp(A){return A.length===0?"":A.map(e=>e.content).join(`
|
|
92
|
+
|
|
93
|
+
`)}function IQ(A){return A>=1e6?`${(A/1e6).toFixed(1)}M`:A>=1e3?`${Math.round(A/1e3)}K`:String(A)}const Pl=x.forwardRef(function({provider:e,model:t,onChange:s,disabled:n=!1},r){const{data:i}=Vs(),{data:a,isLoading:g}=H0(e),[Q,l]=x.useState(!1),[C,I]=x.useState(""),[c,u]=x.useState(0),[f,h]=x.useState({}),[k,v]=x.useState({}),[D,O]=x.useState({}),J=x.useRef(null),V=x.useRef(null),eA=x.useRef([]);x.useEffect(()=>{i&&h(S=>{const j={...S};for(const[H,b]of Object.entries(i))j[H]={...b,models:D[H]?S[H]?.models??b.models:b.models};return j})},[i,D]);const X=x.useMemo(()=>{const S=Object.keys(i??{});return!e||S.includes(e)?S:[e,...S]},[i,e]);x.useEffect(()=>{!e||!a||(h(S=>({...S,[e]:{...S[e]??{},label:a.label||e,models:a.models}})),O(S=>({...S,[e]:!0})))},[a,e]),x.useEffect(()=>{if(!(!Q||!X.length))for(const S of X)!(f[S]??i?.[S])?.dynamicModels||D[S]||k[S]||(v(H=>({...H,[S]:!0})),mA.getModels(S).then(H=>{h(b=>({...b,[S]:{...b[S]??i?.[S]??{},label:H.label||S,models:H.models,allowAnyModel:H.allowAnyModel,dynamicModels:!0}})),O(b=>({...b,[S]:!0}))}).catch(()=>{O(H=>({...H,[S]:!0}))}).finally(()=>{v(H=>({...H,[S]:!1}))}))},[i,X,D,Q,f,k]),x.useImperativeHandle(r,()=>({openAndFocus:()=>{l(!0)}}));const K=x.useMemo(()=>{const S=[];for(const[j,H]of Object.entries(f))for(const b of H.models)S.push({providerKey:j,providerLabel:H.label,modelId:b.id,modelLabel:b.label,toolCall:b.toolCall,reasoningText:b.reasoningText,contextWindow:b.contextWindow,maxOutputTokens:b.maxOutputTokens,available:b.available,unavailableReason:b.unavailableReason});return S},[f]),W=x.useMemo(()=>new Go(K,{keys:[{name:"modelLabel",weight:2},{name:"modelId",weight:1},{name:"providerLabel",weight:.5}],threshold:.3,ignoreLocation:!0,includeScore:!0,distance:100,minMatchCharLength:1}),[K]),T=x.useMemo(()=>{if(!C.trim())return f;const j=W.search(C).sort((b,E)=>{const p=b.score??1,U=E.score??1;if(Math.abs(p-U)<.001){const R=b.item.modelLabel.toLowerCase(),_=E.item.modelLabel.toLowerCase(),tA=C.toLowerCase(),IA=R.indexOf(tA),iA=_.indexOf(tA);if(IA>=0&&iA<0)return-1;if(iA>=0&&IA<0)return 1;if(IA>=0&&iA>=0)return IA-iA}return p-U}),H={};for(const b of j){const E=b.item;H[E.providerKey]||(H[E.providerKey]={label:E.providerLabel,models:[]}),H[E.providerKey].models.find(U=>U.id===E.modelId)||H[E.providerKey].models.push({id:E.modelId,label:E.modelLabel,toolCall:E.toolCall,reasoningText:E.reasoningText,contextWindow:E.contextWindow,maxOutputTokens:E.maxOutputTokens,available:E.available,unavailableReason:E.unavailableReason})}return H},[f,C,W]),L=x.useMemo(()=>{const S=[];for(const[j,H]of Object.entries(T))for(const b of H.models)S.push({providerKey:j,providerLabel:H.label,modelId:b.id,modelLabel:b.label,toolCall:b.toolCall,reasoningText:b.reasoningText,contextWindow:b.contextWindow,maxOutputTokens:b.maxOutputTokens,available:b.available,unavailableReason:b.unavailableReason});return S},[T]);x.useEffect(()=>{Q&&u(0)},[Q]),x.useEffect(()=>{Q&&c>=0&&c<eA.current.length&&eA.current[c]?.scrollIntoView({block:"nearest",behavior:"smooth"})},[c,Q]),x.useEffect(()=>{const S=H=>{J.current&&!J.current.contains(H.target)&&l(!1)},j=H=>{const b=H.target,E=b.tagName==="INPUT"||b.tagName==="TEXTAREA"||b.isContentEditable;(H.key==="Escape"||H.key==="q"&&!E)&&l(!1)};return Q&&(document.addEventListener("mousedown",S),document.addEventListener("keydown",j),setTimeout(()=>V.current?.focus(),0)),()=>{document.removeEventListener("mousedown",S),document.removeEventListener("keydown",j)}},[Q]);const w=(S,j,H)=>{H!==!1&&(s(S,j),l(!1),I(""))},B=S=>{if(L.length!==0){if(S.key==="ArrowDown"||S.ctrlKey&&S.key==="j")S.preventDefault(),u(j=>j<L.length-1?j+1:0);else if(S.key==="ArrowUp"||S.ctrlKey&&S.key==="k")S.preventDefault(),u(j=>j>0?j-1:L.length-1);else if(S.key==="Enter"){S.preventDefault();const j=L[c];j&&j.available!==!1&&w(j.providerKey,j.modelId,j.available)}}},d=f[e]?.label||a?.label||e,N=f[e]?.models.find(S=>S.id===t)?.label||a?.models.find(S=>S.id===t)?.label||t,G=C.trim()?Object.keys(T):X;return o.jsxs("div",{ref:J,className:"relative w-full",children:[o.jsxs("button",{type:"button",onClick:()=>!n&&l(!Q),disabled:n,className:"w-full flex items-center justify-between px-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded-md hover:bg-[hsl(var(--accent))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))] disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:[o.jsxs("span",{className:"flex items-center gap-2 text-sm truncate",children:[o.jsx("span",{className:"text-[hsl(var(--muted-foreground))]",children:d}),o.jsx("span",{className:"text-[hsl(var(--muted-foreground))]/50",children:"/"}),o.jsx("span",{className:"text-[hsl(var(--foreground))]",children:N})]}),o.jsx(_t,{className:`w-4 h-4 text-[hsl(var(--muted-foreground))] transition-transform ${Q?"rotate-180":""}`})]}),Q&&o.jsxs("div",{className:"absolute z-50 mt-1 w-full bg-[hsl(var(--popover))] border border-[hsl(var(--border))] rounded-md shadow-lg max-h-80 overflow-hidden flex flex-col",children:[o.jsx("div",{className:"p-2 border-b border-[hsl(var(--border))]",children:o.jsxs("div",{className:"relative",children:[o.jsx(Ds,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[hsl(var(--muted-foreground))]"}),o.jsx("input",{ref:V,type:"text",value:C,onChange:S=>I(S.target.value),onKeyDown:B,placeholder:"Search providers and models...",className:"w-full pl-9 pr-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded text-sm text-[hsl(var(--foreground))] placeholder-[hsl(var(--muted-foreground))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))]"})]})}),o.jsx("div",{className:"overflow-y-auto",children:G.length===0?o.jsx("div",{className:"p-4 text-center text-[hsl(var(--muted-foreground))] text-sm",children:g?"Loading models...":"No models found"}):G.map(S=>{const j=T[S],H=k[S]||S===e&&g&&!j;return o.jsxs("div",{className:"border-b border-[hsl(var(--border))] last:border-0",children:[o.jsx("div",{className:"sticky top-0 px-3 py-2 text-xs font-semibold text-[hsl(var(--muted-foreground))] uppercase tracking-wider bg-[hsl(var(--muted))] z-10",children:j?.label||S}),o.jsx("div",{children:H?o.jsx("div",{className:"px-4 py-2 text-sm text-[hsl(var(--muted-foreground))]",children:"Loading models..."}):j?.models.length?j.models.map(b=>{const E=S===e&&b.id===t,p=L.findIndex(_=>_.providerKey===S&&_.modelId===b.id),U=p===c,R=b.available!==!1;return o.jsxs("button",{ref:_=>{p>=0&&(eA.current[p]=_)},type:"button",disabled:!R,title:b.unavailableReason,onClick:()=>w(S,b.id,b.available),onMouseEnter:()=>u(p),className:`w-full text-left px-4 py-2 text-sm flex items-center justify-between transition-colors ${U?"bg-[hsl(var(--accent))]":"hover:bg-[hsl(var(--accent))]"} ${E?"text-[hsl(var(--accent-foreground))] font-medium":"text-[hsl(var(--foreground))]"} ${R?"":"opacity-60 cursor-not-allowed"}`,children:[o.jsx("span",{className:"truncate",children:b.label}),(!R||b.toolCall||b.reasoningText||b.contextWindow||b.maxOutputTokens)&&o.jsxs("div",{className:"flex gap-1 ml-2 flex-shrink-0",children:[b.contextWindow&&o.jsxs("span",{className:"text-[10px] px-1.5 py-0.5 bg-blue-600/20 text-blue-400 rounded",children:[IQ(b.contextWindow)," ","ctx"]}),b.maxOutputTokens&&o.jsxs("span",{className:"text-[10px] px-1.5 py-0.5 bg-cyan-600/20 text-cyan-400 rounded",children:[IQ(b.maxOutputTokens)," ","out"]}),!R&&o.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-red-600/20 text-red-400 rounded",children:"Unavailable"}),b.toolCall&&o.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-green-600/20 text-green-400 rounded",children:"Tools"}),b.reasoningText&&o.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-purple-600/20 text-purple-400 rounded",children:"Reasoning"})]})]},b.id)}):o.jsx("div",{className:"px-4 py-2 text-sm text-[hsl(var(--muted-foreground))]",children:"No models available"})})]},S)})})]})]})}),Zp=x.forwardRef(function({agent:e,agents:t,onChange:s,disabled:n=!1},r){const[i,a]=x.useState(!1),[g,Q]=x.useState(""),[l,C]=x.useState(0),I=x.useRef(null),c=x.useRef(null),u=x.useRef([]);x.useImperativeHandle(r,()=>({openAndFocus:()=>{a(!0)}}));const f=x.useMemo(()=>new Go(t,{threshold:.4,ignoreLocation:!0}),[t]),h=x.useMemo(()=>g.trim()?f.search(g).map(O=>O.item):t,[t,g,f]);x.useEffect(()=>{i&&C(0)},[i]),x.useEffect(()=>{i&&l>=0&&l<u.current.length&&u.current[l]?.scrollIntoView({block:"nearest",behavior:"smooth"})},[l,i]),x.useEffect(()=>{const D=J=>{I.current&&!I.current.contains(J.target)&&a(!1)},O=J=>{const V=J.target,eA=V.tagName==="INPUT"||V.tagName==="TEXTAREA"||V.isContentEditable;(J.key==="Escape"||J.key==="q"&&!eA)&&a(!1)};return i&&(document.addEventListener("mousedown",D),document.addEventListener("keydown",O),setTimeout(()=>c.current?.focus(),0)),()=>{document.removeEventListener("mousedown",D),document.removeEventListener("keydown",O)}},[i]);const k=D=>{s(D),a(!1),Q("")},v=D=>{if(h.length!==0){if(D.key==="ArrowDown"||D.ctrlKey&&D.key==="j")D.preventDefault(),C(O=>O<h.length-1?O+1:0);else if(D.key==="ArrowUp"||D.ctrlKey&&D.key==="k")D.preventDefault(),C(O=>O>0?O-1:h.length-1);else if(D.key==="Enter"){D.preventDefault();const O=h[l];O&&k(O)}}};return o.jsxs("div",{ref:I,className:"relative w-full",children:[o.jsxs("button",{type:"button",onClick:()=>!n&&a(!i),disabled:n,className:"w-full flex items-center justify-between px-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded-md hover:bg-[hsl(var(--accent))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))] disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:[o.jsx("span",{className:"text-sm text-[hsl(var(--foreground))] truncate",children:e}),o.jsx(_t,{className:`w-4 h-4 text-[hsl(var(--muted-foreground))] transition-transform ${i?"rotate-180":""}`})]}),i&&o.jsxs("div",{className:"absolute z-50 mt-1 w-full bg-[hsl(var(--popover))] border border-[hsl(var(--border))] rounded-md shadow-lg max-h-80 overflow-hidden flex flex-col",children:[o.jsx("div",{className:"p-2 border-b border-[hsl(var(--border))]",children:o.jsxs("div",{className:"relative",children:[o.jsx(Ds,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[hsl(var(--muted-foreground))]"}),o.jsx("input",{ref:c,type:"text",value:g,onChange:D=>Q(D.target.value),onKeyDown:v,placeholder:"Search agents...",className:"w-full pl-9 pr-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded text-sm text-[hsl(var(--foreground))] placeholder-[hsl(var(--muted-foreground))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))]"})]})}),o.jsx("div",{className:"overflow-y-auto",children:h.length===0?o.jsx("div",{className:"p-4 text-center text-[hsl(var(--muted-foreground))] text-sm",children:"No agents found"}):h.map((D,O)=>{const J=D===e,V=O===l;return o.jsx("button",{ref:eA=>{u.current[O]=eA},type:"button",onClick:()=>k(D),onMouseEnter:()=>C(O),className:`w-full text-left px-4 py-2 text-sm transition-colors ${V?"bg-[hsl(var(--accent))]":"hover:bg-[hsl(var(--accent))]"} ${J?"text-[hsl(var(--accent-foreground))] font-medium":"text-[hsl(var(--foreground))]"}`,children:o.jsx("span",{className:"truncate",children:D})},D)})})]})]})}),uQ=[{value:"minimal",label:"Minimal"},{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"},{value:"max",label:"Max"},{value:"xhigh",label:"X-High"}];function _p({value:A,onChange:e,disabled:t}){const s=x.useRef(null),[n,r]=x.useState({left:0,width:0});return x.useLayoutEffect(()=>{if(!s.current)return;const i=uQ.findIndex(Q=>Q.value===A),g=s.current.querySelectorAll("[data-tab]")[i];g&&r({left:g.offsetLeft,width:g.offsetWidth})},[A]),o.jsxs("div",{ref:s,className:`relative flex rounded-full bg-muted p-1 ${t?"opacity-40 pointer-events-none":""}`,children:[o.jsx("div",{className:"absolute top-1 bottom-1 rounded-full bg-foreground shadow-md",style:{left:n.left,width:n.width,transition:"left 200ms ease, width 200ms ease"}}),uQ.map(i=>o.jsx("button",{"data-tab":!0,type:"button",onClick:()=>e(i.value),disabled:t,className:`relative z-10 flex-1 px-3 py-1.5 text-xs font-medium rounded-full transition-colors duration-200 ${A===i.value?"text-background":"text-muted-foreground hover:text-foreground"}`,children:i.label},i.value))]})}function Wl({isOpen:A,onClose:e,initialFocus:t,chatInputRef:s,agent:n,provider:r,model:i,modelSupportsReasoning:a,onAgentChange:g,onProviderChange:Q,onModelChange:l,onModelSelectorChange:C,modalPosition:I="fixed"}){const{data:c,isLoading:u}=is(),f=qn(),h=c?.defaults?.reasoningText??!0,k=c?.defaults?.reasoningLevel??"high",v=x.useRef(null),D=x.useRef(null);x.useEffect(()=>{A&&t&&setTimeout(()=>{t==="agent"?v.current?.openAndFocus():t==="model"&&D.current?.openAndFocus()},100)},[A,t]);const O=()=>{e(),setTimeout(()=>{s?.current?.focus()},100)},J=(V,eA)=>{C?C(V,eA):(Q(V),l(eA))};return o.jsx(Po,{isOpen:A,onClose:O,title:"Configuration",closeOnEscape:!0,closeOnBackdropClick:!0,maxWidth:"lg",position:I,children:u?o.jsx("div",{className:"text-center text-muted-foreground py-8",children:"Loading configuration..."}):c?o.jsxs("div",{className:"space-y-4",children:[a&&o.jsxs("div",{className:"space-y-3",children:[o.jsxs("div",{className:"flex items-center justify-between",children:[o.jsx("div",{className:"text-sm font-medium text-foreground",children:"Extended Thinking"}),o.jsx("button",{type:"button",role:"switch","aria-checked":h,onClick:()=>f.mutate({reasoningText:!h,scope:"global"}),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 ${h?"bg-primary":"bg-muted"}`,children:o.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full transition-transform ${h?"translate-x-6":"translate-x-1"} ${h?"bg-primary-foreground":"bg-foreground"}`})})]}),o.jsx(_p,{value:k,onChange:V=>f.mutate({reasoningLevel:V,scope:"global"}),disabled:!h})]}),o.jsxs("div",{children:[o.jsx("div",{className:"block text-sm font-medium text-foreground mb-2",children:"Agent"}),o.jsx(Zp,{ref:v,agent:n,agents:c.agents,onChange:g})]}),o.jsxs("div",{children:[o.jsx("div",{className:"block text-sm font-medium text-foreground mb-2",children:"Provider / Model"}),o.jsx(Pl,{ref:D,provider:r,model:i,onChange:J})]})]}):null})}const Xp=x.memo(x.forwardRef(function({sessionId:e,userContext:t,onNewSession:s,onDeleteSession:n,modalPosition:r},i){const a=eg(e),[g,Q]=x.useState(""),[l,C]=x.useState(""),[I,c]=x.useState(""),[u,f]=x.useState(!1),[h,k]=x.useState(null),[v,D]=x.useState(0),O=x.useRef(null),J=Fp(e),V=tg(e),eA=bp(),{data:X}=Vs(),{data:K}=is(),{data:W}=Pn(),T=Wn(),L=Te(yA=>yA.openCommitModalForSession),w=Te(yA=>yA.setActiveSessionId),B=ke(),d=X?.[l]?.models?.find(yA=>yA.id===I)?.reasoningText,N=X?.[l]?.models?.find(yA=>yA.id===I)?.vision,G=X?.[l]?.models?.find(yA=>yA.id===I)?.attachment,S=X?.[l]?.models?.find(yA=>yA.id===I)?.free,{images:j,documents:H,isDragging:b,removeFile:E,clearFiles:p,handlePaste:U}=Hl({supportsImages:!!N,supportsFileAttachments:!!G,onError:de.error}),R=gn(yA=>yA.pendingContexts),_=gn(yA=>yA.removeContext),tA=gn(yA=>yA.consumeContexts),IA=R.get(e)||[],iA=x.useMemo(()=>IA.map(yA=>({id:yA.id,label:yA.label})),[IA]),UA=x.useCallback(yA=>{_(e,yA)},[e,_]),HA=X?.[l]?.authType,lA=X?.[l]?.label?.includes("(custom)")??!1;x.useEffect(()=>{a&&(Q(a.agent),C(a.provider),c(a.model))},[a]),x.useEffect(()=>(w(e),()=>w(null)),[e,w]),x.useEffect(()=>{D(yA=>yA+1)},[]);const qA=Ba(yA=>yA.pendingRestoreText),re=Ba(yA=>yA.consumeRestoreText);x.useEffect(()=>{if(qA){const yA=re();yA&&O.current?.setValue(yA)}},[qA,re]),x.useImperativeHandle(i,()=>({focus:()=>{O.current?.focus()}}));const he=x.useCallback(async yA=>{try{const pe=tA(e),YA=Vp(pe),q=YA?`${YA}
|
|
94
|
+
|
|
95
|
+
${yA}`:yA,y=j.length>0?j.map(Z=>({data:Z.data,mediaType:Z.mediaType})):void 0,M=H.length>0?H.map(Z=>({type:Z.type,name:Z.name,data:Z.data,mediaType:Z.mediaType,textContent:Z.textContent})):void 0;await J.mutateAsync({content:q,images:y,files:M,agent:g||void 0,provider:l||void 0,model:I||void 0,userContext:t||void 0,reasoningText:d&&(K?.defaults?.reasoningText??!0),reasoningLevel:K?.defaults?.reasoningLevel??"high"}),p()}catch(pe){console.error("Failed to send message:",pe)}},[J,H,j,p,g,l,I,t,e,tA,K?.defaults?.reasoningLevel,K?.defaults?.reasoningText,d]),kA=x.useCallback(()=>{f(yA=>!yA)},[]),VA=x.useCallback(()=>{f(!1),k(null)},[]),ae=x.useCallback(async yA=>{if(yA==="models")k("model"),f(!0);else if(yA==="agents")k("agent"),f(!0);else if(yA==="new")s?.();else if(yA==="stage"){const pe=W?.unstaged?.map(y=>y.path)??[],YA=W?.untracked?.map(y=>y.path)??[],q=[...pe,...YA];q.length>0&&T.mutate(q)}else if(yA==="commit")L(e);else if(yA==="compact")he("/compact");else if(yA==="init")he("/init");else if(yA==="delete")eA.mutate(e,{onSuccess:()=>{n?.()}});else if(yA==="share"){const pe=de.loading("Sharing session...");try{const YA=await mA.shareSession(e);YA.shared&&(de.successWithAction(YA.message==="Already shared"?"Already shared":"Session shared!",{label:"Open",href:YA.url}),B.invalidateQueries({queryKey:["share-status",e]}))}catch(YA){de.error(YA instanceof Error?YA.message:"Failed to share")}finally{po.getState().removeToast(pe)}}else if(yA==="sync"){const pe=de.loading("Syncing session...");try{const YA=await mA.syncSession(e);if(YA.synced){const q=YA.newMessages>0?`Synced ${YA.newMessages} new messages`:"Already synced";de.successWithAction(q,{label:"Open",href:YA.url}),B.invalidateQueries({queryKey:["share-status",e]})}}catch(YA){de.error(YA instanceof Error?YA.message:"Failed to sync")}finally{po.getState().removeToast(pe)}}},[s,W,T,L,he,eA,e,n,B]),He=x.useCallback(async yA=>{Q(yA);try{await V.mutateAsync({agent:yA})}catch(pe){console.error("Failed to update agent:",pe)}},[V]),le=x.useCallback(async(yA,pe)=>{C(yA),c(pe);try{await V.mutateAsync({provider:yA,model:pe})}catch(YA){console.error("Failed to update model:",YA)}},[V]),Ge=x.useCallback(async yA=>{if(C(yA),I)try{await V.mutateAsync({provider:yA,model:I})}catch(pe){console.error("Failed to update provider:",pe)}},[I,V]),nt=x.useCallback(async yA=>{c(yA);try{await V.mutateAsync({provider:l,model:yA})}catch(pe){console.error("Failed to update model:",pe)}},[l,V]),ve=x.useCallback(async yA=>{const pe=yA?"plan":"build";Q(pe);try{await V.mutateAsync({agent:pe})}catch(YA){console.error("Failed to switch agent:",YA)}},[V]);return o.jsxs(o.Fragment,{children:[o.jsx(Wl,{isOpen:u,onClose:VA,initialFocus:h,chatInputRef:O,agent:g,provider:l,model:I,modelSupportsReasoning:d,onAgentChange:He,onProviderChange:Ge,onModelChange:nt,onModelSelectorChange:le,modalPosition:r}),o.jsx(jl,{ref:O,onSend:he,onCommand:ae,disabled:J.isPending,onConfigClick:kA,onPlanModeToggle:ve,isPlanMode:g==="plan",reasoningEnabled:d&&(K?.defaults?.reasoningText??!0),sessionId:e,images:j,documents:H,onFileRemove:E,isDragging:b,onPaste:U,visionEnabled:N,attachmentEnabled:G,modelName:I,providerName:l,isCustomProvider:lA,authType:HA,isFreeModel:S,researchContexts:iA,onResearchContextRemove:UA,onModelInfoClick:()=>{k("model"),f(!0)},agent:g,agents:K?.agents,onAgentChange:He},v)]})}));function $p({sessionId:A,onStop:e,disabled:t}){const[s,n]=x.useState(!1),r=async()=>{if(!s){n(!0);try{await mA.abortSession(A),e?.()}catch(i){console.error("Failed to abort stream:",i)}finally{setTimeout(()=>n(!1),1e3)}}};return o.jsxs("button",{type:"button",onClick:r,disabled:t||s,className:"flex items-center gap-1.5 text-sm text-destructive hover:text-destructive/80 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",title:"Stop generation",children:[o.jsx(vB,{className:"w-4 h-4"}),o.jsx("span",{className:"font-medium",children:s?"Stopping...":"Stop"})]})}const Af=x.memo(x.forwardRef(function({onSessionCreated:e,wordmark:t,compact:s,modalPosition:n},r){const{data:i}=is(),{data:a}=Vs(),g=ke(),[Q,l]=x.useState(!1),[C,I]=x.useState(!1),c=x.useRef(null),[u,f]=x.useState(""),[h,k]=x.useState(""),[v,D]=x.useState(""),[O,J]=x.useState(!1),[V,eA]=x.useState(null),X=x.useRef(null),K=x.useRef(!1);x.useEffect(()=>{K.current||!i?.defaults||(K.current=!0,f(i.defaults.agent||"general"),k(i.defaults.provider||""),D(i.defaults.model||""))},[i]);const W=a?.[h]?.models?.find(lA=>lA.id===v)?.vision,T=a?.[h]?.models?.find(lA=>lA.id===v)?.attachment,L=a?.[h]?.models?.find(lA=>lA.id===v)?.reasoningText,w=a?.[h]?.models?.find(lA=>lA.id===v)?.free,B=a?.[h]?.authType,d=a?.[h]?.label?.includes("(custom)")??!1,{images:N,documents:G,isDragging:S,removeFile:j,clearFiles:H,handlePaste:b}=Hl({supportsImages:!!W,supportsFileAttachments:!!T,onError:de.error});x.useImperativeHandle(r,()=>({focus:()=>{X.current?.focus()}})),x.useEffect(()=>{const lA=setTimeout(()=>{X.current?.focus()},100);return()=>clearTimeout(lA)},[]);const E=x.useCallback(lA=>{f(lA)},[]),p=x.useCallback(lA=>{f(lA?"plan":"build")},[]),U=x.useCallback(lA=>{k(lA)},[]),R=x.useCallback(lA=>{D(lA)},[]),_=x.useCallback((lA,qA)=>{k(lA),D(qA)},[]),tA=x.useCallback(()=>{J(lA=>!lA)},[]),IA=x.useCallback(()=>{J(!1),eA(null)},[]),iA=x.useCallback(lA=>{lA==="models"?(eA("model"),J(!0)):lA==="agents"&&(eA("agent"),J(!0))},[]),UA=x.useCallback(async lA=>{if(!(Q||!lA.trim())){l(!0);try{const qA=await mA.createSession({agent:u||"general",provider:h||void 0,model:v||void 0});g.invalidateQueries({queryKey:fo});const re=N.length>0?N.map(kA=>({data:kA.data,mediaType:kA.mediaType})):void 0,he=G.length>0?G.map(kA=>({type:kA.type,name:kA.name,data:kA.data,mediaType:kA.mediaType,textContent:kA.textContent})):void 0;await mA.sendMessage(qA.id,{content:lA,images:re,files:he,agent:u||void 0,provider:h||void 0,model:v||void 0,reasoningText:L&&(i?.defaults?.reasoningText??!0),reasoningLevel:i?.defaults?.reasoningLevel??"high"}),H(),c.current=qA.id,I(!0),setTimeout(()=>{c.current&&e(c.current)},250)}catch(qA){de.error(qA instanceof Error?qA.message:"Failed to create session"),l(!1)}}},[Q,i,u,h,v,N,G,H,e,g,L]),HA=x.useMemo(()=>o.jsx("svg",{width:s?60:80,height:s?24:32,viewBox:"0 0 748 303",fill:"currentColor",className:"text-muted-foreground/30","aria-label":"otto",role:"img",children:o.jsx("path",{d:"M192.877 257.682C192.877 263.287 191.783 268.551 189.596 273.473C187.545 278.395 184.674 282.701 180.982 286.393C177.428 289.947 173.189 292.818 168.268 295.006C163.482 297.057 158.287 298.082 152.682 298.082H44.1953C38.7266 298.082 33.5312 297.057 28.6094 295.006C23.6875 292.818 19.3809 289.947 15.6895 286.393C12.1348 282.701 9.26367 278.395 7.07617 273.473C5.02539 268.551 4 263.287 4 257.682V120.074C4 114.469 5.02539 109.205 7.07617 104.283C9.26367 99.3613 12.1348 95.123 15.6895 91.5684C19.3809 87.877 23.6875 85.0059 28.6094 82.9551C33.5312 80.7676 38.7266 79.6738 44.1953 79.6738H152.682C158.287 79.6738 163.482 80.7676 168.268 82.9551C173.189 85.0059 177.428 87.877 180.982 91.5684C184.674 95.123 187.545 99.3613 189.596 104.283C191.783 109.205 192.877 114.469 192.877 120.074V257.682ZM44.1953 120.074V257.682H152.682V120.074H44.1953ZM331.715 4V298.082H289.674V46.041H239.225V4H331.715ZM478.961 4V298.082H436.92V46.041H386.471V4H478.961ZM743.717 257.682C743.717 263.287 742.623 268.551 740.436 273.473C738.385 278.395 735.514 282.701 731.822 286.393C728.268 289.947 724.029 292.818 719.107 295.006C714.322 297.057 709.127 298.082 703.521 298.082H595.035C589.566 298.082 584.371 297.057 579.449 295.006C574.527 292.818 570.221 289.947 566.529 286.393C562.975 282.701 560.104 278.395 557.916 273.473C555.865 268.551 554.84 263.287 554.84 257.682V120.074C554.84 114.469 555.865 109.205 557.916 104.283C560.104 99.3613 562.975 95.123 566.529 91.5684C570.221 87.877 574.527 85.0059 579.449 82.9551C584.371 80.7676 589.566 79.6738 595.035 79.6738H703.521C709.127 79.6738 714.322 80.7676 719.107 82.9551C724.029 85.0059 728.268 87.877 731.822 91.5684C735.514 95.123 738.385 99.3613 740.436 104.283C742.623 109.205 743.717 114.469 743.717 120.074V257.682ZM595.035 120.074V257.682H703.521V120.074H595.035Z"})}),[s]);return o.jsxs("div",{className:`flex-1 flex flex-col items-center justify-center px-4 transition-opacity duration-250 ease-out ${C?"opacity-0 scale-[0.98]":"opacity-100 scale-100"}`,style:{transitionProperty:"opacity, transform"},children:[o.jsx(Wl,{isOpen:O,onClose:IA,initialFocus:V,chatInputRef:X,agent:u,provider:h,model:v,modelSupportsReasoning:L,onAgentChange:E,onProviderChange:U,onModelChange:R,onModelSelectorChange:_,modalPosition:n}),o.jsxs("div",{className:`w-full ${s?"max-w-xl":"max-w-2xl"}`,children:[o.jsx("div",{className:"flex justify-center mb-6",children:t||HA}),o.jsx("div",{className:"relative min-h-[110px]",children:o.jsx(jl,{ref:X,onSend:UA,onCommand:iA,disabled:Q,sessionId:void 0,images:N,documents:G,onFileRemove:j,isDragging:S,onPaste:b,visionEnabled:W,attachmentEnabled:T,modelName:v,providerName:h,isCustomProvider:d,authType:B,isFreeModel:w,onConfigClick:tA,onModelInfoClick:()=>{eA("model"),J(!0)},reasoningEnabled:L&&(i?.defaults?.reasoningText??!0),agent:u,agents:i?.agents,onAgentChange:E,onPlanModeToggle:p,isPlanMode:u==="plan"})})]})]})}));function ef(A){const e=A.split(".").pop()?.toLowerCase();return{js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",sh:"bash",bash:"bash",zsh:"bash",sql:"sql",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",html:"html",css:"css",scss:"scss",md:"markdown",txt:"text",svelte:"svelte"}[e||""]||"javascript"}function tf(A){const e=A.split(`
|
|
96
|
+
`),t=[];let s=0,n=0,r=!1,i="";for(const a of e){if(a.startsWith("*** Update File:")||a.startsWith("*** Add File:")){const Q=a.match(/\*\*\* (?:Update|Add) File: (.+)/);Q&&(i=Q[1]),r=!0,n=1,s=1}if(a.startsWith("+++")||a.startsWith("*** Update File:")){const Q=a.match(/\+\+\+ b\/(.+)/)||a.match(/\*\*\* Update File: (.+)/);Q&&(i=Q[1])}const g=a.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);if(g){s=Number.parseInt(g[1],10),n=Number.parseInt(g[2],10),r=!0,t.push({content:a,codeContent:a,type:"header"});continue}if(a.startsWith("@@")&&!a.match(/^@@ -\d+/)){r=!0,t.push({content:a,codeContent:a,type:"header"});continue}if(a.startsWith("***")||a.startsWith("diff ")||a.startsWith("index ")||a.startsWith("---")||a.startsWith("+++")){t.push({content:a,codeContent:a,type:"meta"});continue}r?a.startsWith("+")?t.push({content:a,codeContent:a.slice(1),type:"add",newLineNum:n++}):a.startsWith("-")?t.push({content:a,codeContent:a.slice(1),type:"remove",oldLineNum:s++}):a.startsWith(" ")||a===""?t.push({content:a,codeContent:a.startsWith(" ")?a.slice(1):a,type:"context",oldLineNum:s++,newLineNum:n++}):t.push({content:a,codeContent:a,type:"context"}):t.push({content:a,codeContent:a,type:"meta"})}return{lines:t,filePath:i}}function ur({patch:A}){const{lines:e,filePath:t}=tf(A),s=ef(t),n=document?.documentElement.classList.contains("dark")?Eo:Co;return o.jsx("div",{className:"bg-card/60 border border-border rounded-lg overflow-hidden max-h-96 max-w-full",children:o.jsx("div",{className:"overflow-x-auto overflow-y-auto max-h-96 text-xs font-mono",children:e.map((r,i)=>{const a=`line-${i}-${r.content.slice(0,20)}`;if(r.type==="meta"||r.type==="header")return o.jsx("div",{className:`px-3 py-0.5 whitespace-pre-wrap break-all ${r.type==="header"?"text-muted-foreground/80 bg-muted/20":"text-muted-foreground/80"}`,children:r.content},a);let g="",Q="";switch(r.type){case"add":g="text-emerald-700 dark:text-emerald-300",Q="bg-emerald-500/10";break;case"remove":g="text-red-600 dark:text-red-300",Q="bg-red-500/10";break;default:g="text-foreground/80"}let l=r.content;return r.codeContent.trim()&&s!=="text"&&(l=o.jsx(qt,{language:s,style:n,customStyle:{margin:0,padding:0,background:"transparent",display:"inline",fontSize:"inherit",lineHeight:"inherit"},codeTagProps:{style:{fontFamily:"inherit",background:"transparent"}},PreTag:"span",children:r.codeContent}),r.type==="add"?l=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:"+"}),l]}):r.type==="remove"?l=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:"-"}),l]}):r.type==="context"&&(l=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:" "}),l]}))),o.jsxs("div",{className:`flex ${Q}`,children:[o.jsx("div",{className:"px-2 py-0.5 text-right text-muted-foreground/40 select-none w-12 flex-shrink-0",children:r.oldLineNum||""}),o.jsx("div",{className:"px-2 py-0.5 text-right text-muted-foreground/40 select-none w-12 flex-shrink-0 border-r border-border/50",children:r.newLineNum||""}),o.jsx("div",{className:`px-3 py-0.5 flex-1 min-w-0 whitespace-pre-wrap break-all ${g}`,children:l})]},a)})})})}function of(A){const e=A.split(".").pop()?.toLowerCase();return{js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",sh:"bash",bash:"bash",zsh:"bash",sql:"sql",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",html:"html",css:"css",scss:"scss",md:"markdown",txt:"text",svelte:"svelte"}[e||""]||"javascript"}function zl(A){return A==="bash"?"shell":A}function Bi(A){return zl(A)==="shell"}function sf(A,e){if(!e)return null;const s={read:["path"],edit:["path"],multiedit:["path"],write:["path"],apply_patch:["path"],glob:["pattern"],grep:["query","pattern"],ripgrep:["query","pattern"],shell:["cmd","command"],bash:["cmd","command"],terminal:["command"],git_commit:["message"],git_diff:["file"],tree:["path"],ls:["path"],web_search:["query","url"],skill:["name"]}[A];if(!s){for(const[n,r]of Object.entries(e))if(typeof r=="string"&&r.length>0&&r.length<200)return{key:n,value:r};return null}for(const n of s){const r=e[n];if(typeof r=="string"&&r.length>0)return{key:n,value:r}}return null}function rf(A){if(!A)return null;const e=A.cmd??A.command;return typeof e=="string"&&e.length>0?e:null}const nf=x.memo(function({toolName:e,args:t,pendingApproval:s,onApprove:n,onReject:r}){const[i,a]=x.useState(!1),g=zl(e),Q=g.replace(/_/g," "),l=sf(g,t),I=(Bi(g)?rf(t):null)||l?.value,c=typeof t?.path=="string"?t.path:"",u=of(c),f=document?.documentElement.classList.contains("dark")?Eo:Co,h=()=>{a(!0),Promise.resolve(n(s.callId)).catch(()=>{a(!1)})},k=()=>{a(!0),Promise.resolve(r(s.callId)).catch(()=>{a(!1)})},v=()=>{if(e==="apply_patch"&&t?.patch)return o.jsx("div",{className:"ml-6 max-w-full overflow-hidden",children:o.jsx(ur,{patch:String(t.patch)})});if(e==="write"&&t?.content){const D=String(t.content);return o.jsx("div",{className:"ml-6 max-w-full overflow-hidden",children:o.jsx("div",{className:"bg-emerald-500/10 border border-emerald-500/30 rounded-lg overflow-hidden max-h-96",children:o.jsx("div",{className:"overflow-x-auto overflow-y-auto max-h-96 text-xs",children:o.jsx(qt,{language:u,style:f,customStyle:{margin:0,padding:"0.75rem",background:"transparent",fontSize:"inherit"},showLineNumbers:!0,lineNumberStyle:{minWidth:"2.5em",paddingRight:"1em",color:"var(--muted-foreground)",opacity:.4,userSelect:"none"},children:D})})})})}if((e==="edit"||e==="multiedit")&&(l?.value||c))return o.jsx("div",{className:"ml-6 text-xs text-muted-foreground",children:e==="multiedit"?"Multiple exact replacements will be applied atomically.":"An exact text replacement will be applied to this file."});if(Bi(g)&&t?.cmd){const D=String(t.cmd);return o.jsx("div",{className:"ml-6 max-w-full overflow-hidden",children:o.jsx("div",{className:"bg-card/60 border border-border rounded-lg overflow-hidden",children:o.jsx("div",{className:"overflow-x-auto text-xs",children:o.jsx(qt,{language:"bash",style:f,customStyle:{margin:0,padding:"0.75rem",background:"transparent",fontSize:"inherit"},children:D})})})})}return null};return o.jsxs("div",{className:"flex flex-col gap-2 py-1",children:[o.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[o.jsx(Ra,{className:"h-4 w-4 text-amber-500 flex-shrink-0"}),o.jsx("span",{className:"font-medium text-foreground text-sm",children:Q}),I&&!Bi(g)&&o.jsx("code",{className:"text-xs font-mono text-foreground/80 bg-muted/50 px-1.5 py-0.5 rounded truncate max-w-xs",children:I}),o.jsx("span",{className:"text-amber-600 dark:text-amber-400 font-medium text-sm",children:"requires approval"})]}),v(),o.jsxs("div",{className:"flex items-center gap-2 ml-6",children:[o.jsxs("button",{type:"button",onClick:k,disabled:i,title:"Reject (N or Esc)",className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded border border-border bg-background hover:bg-muted transition-colors disabled:opacity-50",children:[o.jsx(lt,{className:"w-3 h-3"}),"Reject",o.jsx("kbd",{className:"ml-1 text-[10px] text-muted-foreground opacity-70",children:"N"})]}),o.jsxs("button",{type:"button",onClick:h,disabled:i,title:"Approve (Y)",className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-amber-600 text-white hover:bg-amber-700 transition-colors disabled:opacity-50",children:[o.jsx(Yt,{className:"w-3 h-3"}),i?"Approving...":"Approve",!i&&o.jsx("kbd",{className:"ml-1 text-[10px] opacity-70",children:"Y"})]})]})]})});function bt(A){return A?A>=1e3?`${(A/1e3).toFixed(1)}s`:`${A}ms`:""}function _s(A){if(!A||typeof A!="object")return!1;const e=A;return e.ok===!1||"error"in e||e.success===!1}function Xs(A){if(!A||typeof A!="object")return null;const e=A,t=["error","stderr","message","detail","details","reason"];for(const s of t){const n=e[s];if(typeof n=="string"){const r=n.trim();if(r.length)return r}}return null}function Ht({error:A,stack:e,showStack:t=!1}){return o.jsx("div",{className:"mt-2 ml-5 p-3 bg-red-50 dark:bg-red-950/20 border border-red-200 dark:border-red-800 rounded text-sm",children:o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(wo,{className:"h-4 w-4 flex-shrink-0 text-red-600 dark:text-red-400 mt-0.5"}),o.jsxs("div",{className:"flex-1 space-y-2",children:[o.jsxs("div",{children:[o.jsx("div",{className:"font-medium text-red-600 dark:text-red-400",children:"Tool Error:"}),o.jsx("div",{className:"mt-1 text-red-900 dark:text-red-200 whitespace-pre-wrap",children:A})]}),t&&e&&o.jsxs("details",{className:"mt-2",children:[o.jsx("summary",{className:"cursor-pointer text-xs text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200",children:"View stack trace"}),o.jsx("pre",{className:"mt-2 p-2 bg-red-100/50 dark:bg-red-900/20 rounded text-xs overflow-x-auto text-red-800 dark:text-red-300",children:e})]})]})]})})}function af(A){const e=A.split(".").pop()?.toLowerCase();return{js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",sh:"bash",bash:"bash",zsh:"bash",sql:"sql",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",html:"html",css:"css",scss:"scss",md:"markdown",txt:"text"}[e||""]||"text"}function gf(A){if(!A)return;const e=A.match(/@(\d+)-(\d+)/);if(e)return Number.parseInt(e[1],10)}function Qf({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,compact:n}){const r=A.result||{},i=A.args||{},a=typeof r=="object"&&"ok"in r&&r.ok===!1,g=a&&"error"in r&&typeof r.error=="string"?r.error:null,Q=a&&"stack"in r&&typeof r.stack=="string"?r.stack:void 0,l=String(r.path||i.path||""),C=String(r.content||""),I=r.lineRange,c=C.split(`
|
|
97
|
+
`),u=bt(e),f=af(l),h=document?.documentElement.classList.contains("dark")?Eo:Co,k=gf(I),v=I?`${l}:${I.replace("@","")}`:l,D=C.length>0||a;return o.jsxs("div",{className:"text-xs",children:[o.jsxs("button",{type:"button",onClick:()=>D&&s(),className:`flex items-center gap-2 transition-colors w-full min-w-0 ${a?"text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200":D?"text-blue-700 dark:text-blue-300 hover:text-blue-600 dark:hover:text-blue-200":"text-blue-700 dark:text-blue-300"}`,children:[D?t?o.jsx(ct,{className:"h-3 w-3 flex-shrink-0 rotate-90 transition-transform"}):o.jsx(ct,{className:"h-3 w-3 flex-shrink-0 transition-transform"}):o.jsx("div",{className:"w-3 flex-shrink-0"}),a&&o.jsx(wo,{className:"h-3 w-3 flex-shrink-0 text-red-600 dark:text-red-400"}),o.jsxs("span",{className:"font-medium flex-shrink-0",children:["read",a?" error":""]}),!n&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground/70 flex-shrink-0",children:"·"}),o.jsx("span",{className:"text-foreground/70 min-w-0 flex-shrink overflow-hidden text-ellipsis whitespace-nowrap",dir:"rtl",title:v,children:`${v}`})]}),!a&&c.length>0&&!n&&o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0 whitespace-nowrap",children:["· ",c.length," lines · ",u]}),a&&!n&&o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0",children:["· ",u]})]}),t&&a&&g&&o.jsx(Ht,{error:g,stack:Q,showStack:!0}),t&&!a&&C&&o.jsx("div",{className:"mt-2 ml-5 bg-card/60 border border-border rounded-lg overflow-hidden max-h-96 overflow-y-auto max-w-full",children:o.jsx("div",{className:"overflow-x-auto max-w-full",children:o.jsx(qt,{language:f,style:h,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},showLineNumbers:!0,startingLineNumber:k,wrapLines:!0,wrapLongLines:!0,children:C})})})]})}function Bf({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,compact:n}){const r=A.result||{},i=A.args||{},a=A.artifact,g=typeof r=="object"&&"ok"in r&&r.ok===!1,Q=g&&"error"in r&&typeof r.error=="string"?r.error:null,l=g&&"stack"in r&&typeof r.stack=="string"?r.stack:void 0,C=String(r.path||i.path||""),I=Number(r.bytes||0),c=a?.patch?String(a.patch):"",u=bt(e),f=c.length>0||g;return o.jsxs("div",{className:"text-xs",children:[o.jsxs("button",{type:"button",onClick:()=>f&&s(),className:`flex items-center gap-2 transition-colors min-w-0 w-full ${g?"text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200":f?"text-emerald-700 dark:text-emerald-300 hover:text-emerald-600 dark:hover:text-emerald-200":"text-emerald-700 dark:text-emerald-300"}`,children:[f?t?o.jsx(ct,{className:"h-3 w-3 flex-shrink-0 rotate-90 transition-transform"}):o.jsx(ct,{className:"h-3 w-3 flex-shrink-0 transition-transform"}):o.jsx("div",{className:"w-3 flex-shrink-0"}),g&&o.jsx(wo,{className:"h-3 w-3 flex-shrink-0 text-red-600 dark:text-red-400"}),o.jsxs("span",{className:"font-medium flex-shrink-0",children:["write",g?" error":""]}),!n&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground/70 flex-shrink-0",children:"·"}),o.jsx("span",{className:"text-foreground/70 min-w-0 flex-shrink overflow-hidden text-ellipsis whitespace-nowrap",dir:"rtl",title:C,children:`${C}`})]}),!g&&I>0&&!n&&o.jsxs("span",{className:"text-muted-foreground/80 whitespace-nowrap flex-shrink-0",children:["· ",I," bytes · ",u]}),g&&!n&&o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0",children:["· ",u]})]}),t&&g&&Q&&o.jsx(Ht,{error:Q,stack:l,showStack:!0}),t&&!g&&c&&o.jsx("div",{className:"mt-2 ml-5",children:o.jsx(ur,{patch:c})})]})}const dQ={sm:"h-3 w-3",md:"h-4 w-4",lg:"h-5 w-5"},lf={sm:"p-1",md:"p-1.5",lg:"p-2"};function Qn({text:A,className:e="",size:t="sm"}){const[s,n]=x.useState(!1),r=async i=>{i.stopPropagation();try{await navigator.clipboard.writeText(A),n(!0),setTimeout(()=>n(!1),2e3)}catch{}};return o.jsx("button",{type:"button",onClick:r,className:`${lf[t]} rounded hover:bg-muted/50 text-muted-foreground hover:text-foreground transition-colors ${e}`,title:"Copy",children:s?o.jsx(Yt,{className:`${dQ[t]} text-emerald-500`}):o.jsx(ps,{className:dQ[t]})})}function rt({title:A,icon:e,subtitle:t,copyText:s,variant:n="default",maxHeight:r="max-h-80",children:i}){const a=n==="error";return o.jsxs("div",{className:`bg-card/60 border rounded-lg overflow-hidden flex flex-col ${r} ${a?"border-red-500/50":"border-border"}`,children:[o.jsxs("div",{className:`flex items-center justify-between gap-2 text-xs px-3 py-1.5 border-b border-border sticky top-0 ${a?"text-red-600 dark:text-red-400 bg-red-500/10":"text-muted-foreground bg-muted/30"}`,children:[o.jsxs("div",{className:"flex items-center gap-2",children:[e,o.jsx("span",{children:A}),t&&o.jsx("span",{className:"text-muted-foreground/60",children:t})]}),s&&o.jsx(Qn,{text:s})]}),o.jsx("div",{className:"overflow-auto flex-1",children:i})]})}function Vl({images:A}){const[e,t]=x.useState(null);return A.length===0?null:o.jsx("div",{className:"flex flex-wrap gap-2 mt-2",children:A.map((s,n)=>{const r=`data:${s.mimeType};base64,${s.data}`,i=e===n;return o.jsx("div",{className:"relative",children:i?o.jsxs("div",{className:"relative",children:[o.jsx("button",{type:"button",onClick:()=>t(null),className:"absolute top-1 right-1 z-10 p-0.5 rounded bg-black/60 text-white hover:bg-black/80 transition-colors",children:o.jsx(lt,{className:"h-3 w-3"})}),o.jsx("img",{src:r,alt:`Tool result ${n+1}`,className:"max-w-full max-h-[32rem] rounded-lg border border-border object-contain"})]}):o.jsxs("button",{type:"button",onClick:()=>t(n),className:"group relative overflow-hidden rounded-lg border border-border hover:border-foreground/30 transition-colors",children:[o.jsx("img",{src:r,alt:`Tool result ${n+1}`,className:"w-48 h-32 object-cover"}),o.jsx("div",{className:"absolute inset-0 bg-black/0 group-hover:bg-black/10 transition-colors flex items-center justify-center",children:o.jsx(Sa,{className:"h-5 w-5 text-white opacity-0 group-hover:opacity-80 transition-opacity drop-shadow-lg"})})]})},`img-${n}-${s.mimeType}`)})})}const cf={default:{normal:"text-muted-foreground",hover:"hover:text-foreground",error:"text-red-700 dark:text-red-300",errorHover:"hover:text-red-600 dark:hover:text-red-200"},blue:{normal:"text-blue-700 dark:text-blue-300",hover:"hover:text-blue-600 dark:hover:text-blue-200",error:"text-red-700 dark:text-red-300",errorHover:"hover:text-red-600 dark:hover:text-red-200"},emerald:{normal:"text-emerald-700 dark:text-emerald-300",hover:"hover:text-emerald-600 dark:hover:text-emerald-200",error:"text-red-700 dark:text-red-300",errorHover:"hover:text-red-600 dark:hover:text-red-200"},purple:{normal:"text-purple-700 dark:text-purple-300",hover:"hover:text-purple-600 dark:hover:text-purple-200",error:"text-red-700 dark:text-red-300",errorHover:"hover:text-red-600 dark:hover:text-red-200"},cyan:{normal:"text-cyan-700 dark:text-cyan-300",hover:"hover:text-cyan-600 dark:hover:text-cyan-200",error:"text-red-700 dark:text-red-300",errorHover:"hover:text-red-600 dark:hover:text-red-200"},amber:{normal:"text-amber-700 dark:text-amber-300",hover:"hover:text-amber-600 dark:hover:text-amber-200",error:"text-red-700 dark:text-red-300",errorHover:"hover:text-red-600 dark:hover:text-red-200"},red:{normal:"text-red-700 dark:text-red-300",hover:"hover:text-red-600 dark:hover:text-red-200",error:"text-red-700 dark:text-red-300",errorHover:"hover:text-red-600 dark:hover:text-red-200"}};function co({toolName:A,isExpanded:e,onToggle:t,isError:s=!1,colorVariant:n="default",canExpand:r=!0,children:i}){const a=cf[n],g=s?`${a.error} ${a.errorHover}`:`${a.normal} ${a.hover}`;return o.jsxs("button",{type:"button",onClick:()=>r&&t(),className:`flex items-center gap-2 transition-colors w-full min-w-0 ${g}`,children:[r?e?o.jsx(_t,{className:"h-3 w-3 flex-shrink-0"}):o.jsx(ct,{className:"h-3 w-3 flex-shrink-0"}):o.jsx("div",{className:"w-3 flex-shrink-0"}),s&&o.jsx(wo,{className:"h-3 w-3 flex-shrink-0 text-red-600 dark:text-red-400"}),o.jsxs("span",{className:"font-medium flex-shrink-0",children:[A,s?" error":""]}),i]})}function we(){return o.jsx("span",{className:"text-muted-foreground/70 flex-shrink-0",children:"·"})}function br({children:A,className:e=""}){return o.jsx("span",{className:`text-foreground/70 ${e}`,children:A})}function Ut({children:A,className:e=""}){return o.jsx("span",{className:`text-muted-foreground/80 flex-shrink-0 whitespace-nowrap ${e}`,children:A})}function $s({children:A}){return o.jsx("span",{className:"text-emerald-600 dark:text-emerald-400 flex-shrink-0",children:A})}function Fr({children:A}){return o.jsx("span",{className:"text-red-600 dark:text-red-400 flex-shrink-0",children:A})}function Ef({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,compact:n}){const r=A.result||{},i=A.args||{},a=typeof r=="object"&&"ok"in r&&r.ok===!1,g=a&&"error"in r&&typeof r.error=="string"?r.error:null,Q=a&&"stack"in r&&typeof r.stack=="string"?r.stack:void 0,l=String(r.stdout||""),C=String(r.stderr||""),I=Number(r.exitCode??0),c=String(i.cmd||""),u=i.cwd?String(i.cwd):void 0,f=bt(e),h=document?.documentElement.classList.contains("dark")?Eo:Co,k=l.length>0||C.length>0,v=a||I!==0,D=C.length>0,O=l+(l&&C?`
|
|
98
|
+
`:"")+C;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(co,{toolName:"shell",isExpanded:t,onToggle:s,isError:v,colorVariant:"default",canExpand:!0,children:[!n&&o.jsxs(o.Fragment,{children:[o.jsx(we,{}),o.jsx("span",{className:"text-foreground/70 min-w-0 truncate font-mono text-[11px]",title:c,children:c})]}),!a&&!n&&o.jsxs(o.Fragment,{children:[o.jsx(we,{}),I===0?o.jsxs($s,{children:["exit ",I]}):o.jsxs(Fr,{children:["exit ",I]}),o.jsx(we,{}),o.jsx(Ut,{children:f})]}),a&&!n&&o.jsxs(Ut,{children:["· ",f]})]}),t&&a&&g&&o.jsx(Ht,{error:g,stack:Q,showStack:!0}),t&&!a&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(rt,{title:"command",icon:o.jsx(to,{className:"h-3 w-3"}),subtitle:u&&u!=="."?`in ${u}`:void 0,copyText:c,maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 font-mono text-xs bg-muted/10 break-all",children:c})}),k&&(I===0?o.jsx(rt,{title:"output",copyText:O,maxHeight:"max-h-[30rem]",children:o.jsx(qt,{language:"bash",style:h,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:O})}):o.jsxs(o.Fragment,{children:[l&&o.jsx(rt,{title:"stdout",copyText:l,maxHeight:"max-h-60",children:o.jsx(qt,{language:"bash",style:h,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:l})}),D&&o.jsx(rt,{title:"stderr",copyText:C,variant:"error",maxHeight:"max-h-60",children:o.jsx(qt,{language:"bash",style:h,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:C})})]}))]})]})}function Cf(A){if(!A||A.length<3)return null;const e=A[0],t=A[1],s=A.slice(3);if(e==="?"&&t==="?")return{status:"??",file:s,type:"untracked"};let n="unstaged";return e!==" "&&t!==" "?n="both":e!==" "&&(n="staged"),{status:`${e}${t}`,file:s,type:n}}function If(A){return A==="??"?"?":A[0]==="A"||A[1]==="A"?"+":A[0]==="M"||A[1]==="M"?"~":A[0]==="D"||A[1]==="D"?"-":A[0]==="R"||A[1]==="R"?"→":A}function uf(A){switch(A){case"staged":return"text-emerald-600 dark:text-emerald-400";case"unstaged":return"text-amber-600 dark:text-amber-400";case"untracked":return"text-muted-foreground/60";case"both":return"text-blue-600 dark:text-blue-400"}}function df({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s}){const n=A.result||{},r=_s(n),i=Xs(n),a=Number(n.staged||0),g=Number(n.unstaged||0),Q=n.raw||[],l=String(n.summary||""),C=bt(e),I=Q.map(Cf).filter(Boolean),c=a>0||g>0,u=I.length>0||r||!!l;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(co,{toolName:"git status",isExpanded:t,onToggle:s,isError:r,colorVariant:"blue",canExpand:u,children:[o.jsx(we,{}),c?o.jsxs(o.Fragment,{children:[a>0&&o.jsxs("span",{className:"text-emerald-600 dark:text-emerald-400 flex-shrink-0",children:[a," staged"]}),g>0&&o.jsxs("span",{className:"text-amber-600 dark:text-amber-400 flex-shrink-0",children:[g," unstaged"]})]}):o.jsx("span",{className:"text-muted-foreground/60 flex-shrink-0",children:"clean"}),o.jsx(we,{}),o.jsx(Ut,{children:C})]}),t&&r&&i&&o.jsx(Ht,{error:i}),t&&!r&&(I.length>0||l)&&o.jsx("div",{className:"mt-2 ml-5",children:I.length>0?o.jsx("div",{className:"bg-card/60 border border-border rounded-lg overflow-hidden max-h-96 overflow-y-auto",children:o.jsx("div",{className:"divide-y divide-border/50",children:I.map((f,h)=>o.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 font-mono hover:bg-muted/20",children:[o.jsx("span",{className:`font-semibold w-6 flex-shrink-0 ${uf(f.type)}`,children:If(f.status)}),o.jsx("span",{className:"text-foreground/80 break-all",children:f.file})]},`${f.file}-${h}`))})}):l&&o.jsx("div",{className:"bg-card/60 border border-border rounded-lg p-3 text-muted-foreground",children:l})})]})}function hf({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s}){const n=A.result||{},r=A.args||{},i=String(n.patch||n.diff||""),a=r.all||n.all,g=bt(e),Q=_s(n)||!!A.error,l=Xs(n)||(typeof A.error=="string"?A.error:null),C=n&&typeof n=="object"&&"stack"in n?String(n.stack):void 0,I=i.split(`
|
|
99
|
+
`);let c=0,u=0,f=0;for(const k of I)k.startsWith("diff --git")?c+=1:k.startsWith("+")&&!k.startsWith("+++")?u+=1:k.startsWith("-")&&!k.startsWith("---")&&(f+=1);const h=c>0;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(co,{toolName:"git diff",isExpanded:t,onToggle:s,isError:Q,colorVariant:"purple",canExpand:!0,children:[a&&o.jsxs(o.Fragment,{children:[o.jsx(we,{}),o.jsx("span",{className:"text-muted-foreground/60",children:"(all)"})]}),o.jsx(we,{}),h?o.jsxs(o.Fragment,{children:[o.jsxs(br,{children:[c," ",c===1?"file":"files"]}),u>0&&o.jsxs(o.Fragment,{children:[o.jsx(we,{}),o.jsxs($s,{children:["+",u]})]}),f>0&&o.jsxs(o.Fragment,{children:[o.jsx(we,{}),o.jsxs(Fr,{children:["-",f]})]})]}):o.jsx("span",{className:"text-muted-foreground/60",children:"no changes"}),o.jsx(we,{}),o.jsx(Ut,{children:g})]}),t&&Q&&l&&o.jsx(Ht,{error:l,stack:C,showStack:!0}),t&&!Q&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(rt,{title:"options",icon:o.jsx(ao,{className:"h-3 w-3"}),maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 font-mono text-xs bg-muted/10",children:a?"git diff (all working tree)":"git diff (staged only)"})}),i&&o.jsx(ur,{patch:i}),!i&&o.jsx(rt,{title:"diff",maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 text-muted-foreground/60 italic",children:"No changes to show"})})]})]})}function pf({contentJson:A,toolDurationMs:e}){const t=A.result||{},s=String(t.message||""),n=bt(e),r=document?.documentElement.classList.contains("dark")?Eo:Co;return o.jsxs("div",{className:"text-xs space-y-2",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("span",{className:"font-medium text-emerald-700 dark:text-emerald-300",children:"git commit"}),o.jsx("span",{className:"text-muted-foreground/70",children:"·"}),o.jsx("span",{className:"text-muted-foreground/80",children:n})]}),s&&o.jsx("div",{className:"bg-card/60 border border-border rounded-lg overflow-hidden max-w-full",children:o.jsx("div",{className:"overflow-x-auto max-w-full",children:o.jsx(qt,{language:"bash",style:r,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:s})})})]})}function hQ({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,toolName:n}){const r=A.artifact,i=bt(e),a=(J,V)=>V<=1?`${J}`:`${J}-${J+V-1}`,g=J=>{const V=`-${a(J.oldStart,J.oldLines)}`,eA=`+${a(J.newStart,J.newLines)}`,X=[];J.additions>0&&X.push(`+${J.additions}`),J.deletions>0&&X.push(`-${J.deletions}`);const K=X.length>0?` (${X.join(", ")})`:"";return`${V} ${eA}${K}`},Q=r?.summary||{},l=Number(Q.files||0),C=Number(Q.additions||0),I=Number(Q.deletions||0),c=r?.patch?String(r.patch):"",u=Array.isArray(A.result?.changes)?A.result?.changes:[],h=(n||A.name||"apply_patch").replace(/_/g," "),k=l===1?u[0]?.filePath||(typeof A.result?.path=="string"?A.result.path:typeof A.args?.path=="string"?A.args.path:null):null,v=A.error||A.result&&"ok"in A.result&&A.result.ok===!1,D=typeof A.error=="string"?A.error:A.result&&"error"in A.result&&typeof A.result.error=="string"?A.result.error:null,O=A.result&&typeof A.result=="object"&&"stack"in A.result&&typeof A.result.stack=="string"?A.result.stack:void 0;return o.jsxs("div",{className:"text-xs",children:[o.jsxs("button",{type:"button",onClick:s,className:`flex items-center gap-2 transition-colors w-full ${v?"text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200":"text-purple-700 dark:text-purple-300 hover:text-purple-600 dark:hover:text-purple-200"}`,children:[o.jsx(ct,{className:`h-3 w-3 flex-shrink-0 transition-transform ${t?"rotate-90":""}`}),o.jsxs("span",{className:"font-medium flex-shrink-0",children:[h,v?" error":""]}),o.jsx("span",{className:"text-muted-foreground/70 flex-shrink-0",children:"·"}),k?o.jsx("span",{className:"text-foreground/70 min-w-0 flex-shrink overflow-hidden text-ellipsis whitespace-nowrap",dir:"rtl",title:k,children:`${k}`}):o.jsxs("span",{className:"text-foreground/70 flex-shrink-0",children:[l," ",l===1?"file":"files"]}),o.jsxs("span",{className:"text-emerald-600 dark:text-emerald-400 flex-shrink-0",children:["+",C]}),o.jsxs("span",{className:"text-red-600 dark:text-red-400 flex-shrink-0",children:["-",I]}),o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0",children:["· ",i]})]}),t&&v&&D&&o.jsxs("div",{children:[o.jsx(Ht,{error:D,stack:O,showStack:!0}),c&&o.jsx("div",{className:"mt-2 ml-5",children:o.jsxs("details",{children:[o.jsx("summary",{className:"cursor-pointer text-xs text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200",children:"Show patch that failed"}),o.jsx("div",{className:"mt-2",children:o.jsx(ur,{patch:c})})]})})]}),t&&!v&&u.length>0&&o.jsx("div",{className:"mt-2 ml-5 space-y-2",children:u.map(J=>o.jsxs("div",{className:"space-y-1",children:[o.jsx("div",{className:"font-mono text-foreground/80",children:J.filePath}),o.jsx("div",{className:"flex flex-wrap gap-2",children:J.hunks.map((V,eA)=>o.jsx("span",{className:"rounded bg-muted px-2 py-0.5 text-[0.65rem] font-mono text-muted-foreground",children:g(V)},`apply-patch-${J.filePath}-hunk-${eA}`))})]},`apply-patch-${J.filePath}-${J.kind}`))}),t&&!v&&c&&o.jsx("div",{className:"mt-2 ml-5",children:o.jsx(ur,{patch:c})})]})}function ff({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s}){const n=A.result||{},r=A.args||{},i=_s(n),a=Xs(n),g=n&&typeof n=="object"&&"stack"in n?String(n.stack):void 0,Q=n.entries||[],l=bt(e),C=typeof r.path=="string"?r.path:".";return o.jsxs("div",{className:"text-xs",children:[o.jsxs(co,{toolName:"ls",isExpanded:t,onToggle:s,isError:i,colorVariant:"cyan",canExpand:!0,children:[C&&C!=="."&&o.jsxs(o.Fragment,{children:[o.jsx(we,{}),o.jsx("span",{className:"text-foreground/70 truncate min-w-0",title:C,children:C.length>30?`…${C.slice(-30)}`:C})]}),o.jsx(we,{}),o.jsxs(br,{children:[Q.length," ",Q.length===1?"entry":"entries"]}),o.jsx(we,{}),o.jsx(Ut,{children:l})]}),t&&i&&a&&o.jsx(Ht,{error:a,stack:g,showStack:!0}),t&&!i&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(rt,{title:"path",icon:o.jsx(KB,{className:"h-3 w-3"}),copyText:C,maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 font-mono text-xs bg-muted/10 break-all",children:C})}),Q.length>0&&o.jsx(rt,{title:"entries",copyText:Q.map(I=>I.name||"").join(`
|
|
100
|
+
`),maxHeight:"max-h-80",children:o.jsx("div",{className:"divide-y divide-border/50",children:Q.map((I,c)=>{const u=I,f=u.type==="dir"||u.isDirectory;return o.jsxs("div",{className:"flex items-center gap-1.5 px-3 py-1 font-mono text-foreground/80 hover:bg-muted/20",children:[f?o.jsx(JB,{className:"h-3 w-3 text-blue-500 flex-shrink-0"}):o.jsx(es,{className:"h-3 w-3 text-muted-foreground flex-shrink-0"}),o.jsx("span",{className:"truncate",children:u.name})]},`${u.name}-${c}`)})})}),Q.length===0&&o.jsx(rt,{title:"entries",maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 text-muted-foreground/60 italic",children:"Directory is empty"})})]})]})}function mf({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s}){const n=A.result||{},r=A.args||{},i=_s(n),a=Xs(n),g=n&&typeof n=="object"&&"stack"in n?String(n.stack):void 0,Q=String(n.tree||""),l=Q.split(`
|
|
101
|
+
`).filter(f=>f.length>0).length,C=bt(e),I=document?.documentElement.classList.contains("dark")?Eo:Co,c=typeof r.path=="string"?r.path:".",u=typeof r.depth=="number"?r.depth:void 0;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(co,{toolName:"tree",isExpanded:t,onToggle:s,isError:i,colorVariant:"cyan",canExpand:!0,children:[c&&c!=="."&&o.jsxs(o.Fragment,{children:[o.jsx(we,{}),o.jsx("span",{className:"text-foreground/70 truncate min-w-0",title:c,children:c.length>30?`…${c.slice(-30)}`:c})]}),o.jsx(we,{}),o.jsxs(br,{children:[l," ",l===1?"item":"items"]}),o.jsx(we,{}),o.jsx(Ut,{children:C})]}),t&&i&&a&&o.jsx(Ht,{error:a,stack:g,showStack:!0}),t&&!i&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(rt,{title:"path",icon:o.jsx(Cr,{className:"h-3 w-3"}),subtitle:u?`depth: ${u}`:void 0,copyText:c,maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 font-mono text-xs bg-muted/10 break-all",children:c})}),Q&&o.jsx(rt,{title:"tree",copyText:Q,maxHeight:"max-h-80",children:o.jsx("div",{className:"overflow-x-auto max-w-full",children:o.jsx(qt,{language:"bash",style:I,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:Q})})}),!Q&&o.jsx(rt,{title:"tree",maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 text-muted-foreground/60 italic",children:"No tree output"})})]})]})}function wf({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,compact:n}){const r=A.result||{},i=A.args||{},a=r.matches||[],g=r.files||[],Q=bt(e),l=_s(r)||!!A.error,C=Xs(r)||(typeof A.error=="string"?A.error:null),I=r&&typeof r=="object"&&"stack"in r?String(r.stack):void 0,c=a.length>0?a.length:g.length,u=a.length>0?a.length===1?"match":"matches":g.length===1?"file":"files",f=typeof i.pattern=="string"?i.pattern:typeof i.query=="string"?i.query:typeof i.filePattern=="string"?i.filePattern:"",h=(()=>{if(typeof i.path=="string"&&i.path!==".")return i.path})();return o.jsxs("div",{className:"text-xs",children:[o.jsxs(co,{toolName:"search",isExpanded:t,onToggle:s,isError:l,colorVariant:"amber",canExpand:!0,children:[f&&!n&&o.jsxs(o.Fragment,{children:[o.jsx(we,{}),o.jsxs("span",{className:"font-mono text-foreground/90 text-[11px] truncate min-w-0",title:f,children:['"',f.length>30?`${f.slice(0,30)}…`:f,'"']})]}),!n&&o.jsxs(o.Fragment,{children:[o.jsx(we,{}),o.jsxs(br,{children:[c," ",u]}),o.jsx(we,{}),o.jsx(Ut,{children:Q})]})]}),t&&l&&C&&o.jsx(Ht,{error:C,stack:I,showStack:!0}),t&&!l&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(rt,{title:"query",icon:o.jsx(Ds,{className:"h-3 w-3"}),subtitle:h,copyText:f,maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 font-mono text-xs bg-muted/10 break-all",children:f||"(empty)"})}),a.length>0&&o.jsx(rt,{title:"results",copyText:a.map(k=>{const v=k;return`${v.file}:${v.line}: ${v.text}`}).join(`
|
|
102
|
+
`),maxHeight:"max-h-80",children:o.jsx("div",{className:"divide-y divide-border/50",children:a.map((k,v)=>{const D=k;return o.jsxs("div",{className:"px-3 py-1.5 font-mono hover:bg-muted/20",children:[o.jsxs("div",{className:"text-blue-600 dark:text-blue-400 truncate",children:[D.file,":",D.line]}),o.jsx("div",{className:"text-foreground/80 truncate",children:D.text})]},`${D.file}-${D.line}-${v}`)})})}),g.length>0&&a.length===0&&o.jsx(rt,{title:"files",copyText:g.map(String).join(`
|
|
103
|
+
`),maxHeight:"max-h-80",children:o.jsx("div",{className:"divide-y divide-border/50",children:g.map(k=>o.jsx("div",{className:"px-3 py-1 font-mono text-foreground/80 truncate hover:bg-muted/20",children:String(k)},String(k)))})}),c===0&&o.jsx(rt,{title:"results",maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 text-muted-foreground/60 italic",children:"No results found"})})]})]})}function xf({toolDurationMs:A}){const e=bt(A);return o.jsx("div",{className:"text-xs",children:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("span",{className:"font-medium text-emerald-700 dark:text-emerald-300",children:"Done"}),e&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground/70",children:"·"}),o.jsx("span",{className:"text-muted-foreground/80",children:e})]})]})})}function Df({toolName:A,contentJson:e,toolDurationMs:t,isExpanded:s,onToggle:n,compact:r}){const i=e.result,a=bt(t),g=Array.isArray(i?.images)?i.images:[],Q=g.length>0,l=i&&(Object.keys(i).length>0||Q),C=document?.documentElement.classList.contains("dark")?Eo:Co,I=e.error||i&&typeof i=="object"&&"ok"in i&&i.ok===!1,c=typeof e.error=="string"?e.error:i&&typeof i=="object"&&"error"in i&&typeof i.error=="string"?i.error:null,u=i&&typeof i=="object"&&"stack"in i&&typeof i.stack=="string"?i.stack:void 0;return o.jsxs("div",{className:"text-xs",children:[o.jsxs("button",{type:"button",onClick:n,className:`flex items-center gap-2 transition-colors w-full ${I?"text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200":"text-foreground hover:text-foreground/80"}`,children:[o.jsx(ct,{className:`h-3 w-3 flex-shrink-0 transition-transform ${s?"rotate-90":""}`}),I&&o.jsx(wo,{className:"h-3 w-3 flex-shrink-0 text-red-600 dark:text-red-400"}),o.jsxs("span",{className:"font-medium flex-shrink-0",children:[A,I?" error":""]}),!r&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground/70 flex-shrink-0",children:"·"}),o.jsx("span",{className:"text-muted-foreground/80 flex-shrink-0",children:a})]})]}),s&&I&&c&&o.jsx(Ht,{error:c,stack:u,showStack:!0}),s&&!I&&l&&o.jsxs("div",{className:"mt-2 ml-5",children:[Q&&o.jsx(Vl,{images:g}),!Q&&o.jsx("div",{className:"bg-card/60 border border-border rounded-lg overflow-hidden max-h-96 overflow-y-auto max-w-full",children:o.jsx("div",{className:"overflow-x-auto max-w-full",children:o.jsx(qt,{language:"json",style:C,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:JSON.stringify(i,null,2)})})})]})]})}function yf({contentJson:A,toolDurationMs:e}){return o.jsx("div",{className:"text-xs",children:o.jsxs("div",{className:"text-muted-foreground",children:[o.jsxs("div",{children:["Tool: ",A.name]}),o.jsxs("div",{children:["Duration: ",e,"ms"]}),o.jsx("pre",{className:"mt-2 text-[10px] bg-card border border-border p-2 rounded overflow-x-auto",children:JSON.stringify(A,null,2)})]})})}function Nf({contentJson:A}){const e=A.result||{},t=e.items||[],s=e.note;return o.jsx("div",{className:"text-xs",children:o.jsxs("div",{className:"bg-blue-500/10 border border-blue-500/30 dark:bg-blue-500/5 dark:border-blue-500/20 rounded-lg p-3 space-y-2",children:[s&&o.jsx("div",{className:"text-blue-700 dark:text-blue-300 text-sm font-medium mb-3",children:s}),o.jsx("div",{className:"space-y-1.5",children:t.map((n,r)=>o.jsxs("div",{className:"flex items-start gap-2",children:[n.status==="completed"&&o.jsx(AC,{className:"h-4 w-4 text-emerald-600 dark:text-emerald-300 flex-shrink-0 mt-0.5"}),n.status==="in_progress"&&o.jsx(LB,{className:"h-4 w-4 text-blue-700 dark:text-blue-300 flex-shrink-0 mt-0.5 animate-pulse"}),n.status==="pending"&&o.jsx(eC,{className:"h-4 w-4 text-muted-foreground flex-shrink-0 mt-0.5"}),n.status==="cancelled"&&o.jsx(va,{className:"h-4 w-4 text-muted-foreground/50 flex-shrink-0 mt-0.5"}),o.jsx("span",{className:`text-sm ${n.status==="completed"?"text-muted-foreground line-through":n.status==="in_progress"?"text-foreground":n.status==="cancelled"?"text-muted-foreground/50 line-through":"text-muted-foreground/80"}`,children:n.step})]},`${n.step}-${r}`))})]})})}function kf({contentJson:A}){const e=A.result||{},t=String(e.message||"Processing..."),s=e.stage?String(e.stage):void 0,n=e.pct?Number(e.pct):void 0;return o.jsxs("div",{className:"flex items-center gap-2 text-sm text-violet-700 dark:text-violet-300 animate-pulse",children:[s&&o.jsxs("span",{className:"text-muted-foreground/80",children:["[",s,"]"]}),o.jsx("span",{children:t}),n!==void 0&&o.jsxs("span",{className:"text-muted-foreground/80",children:["(",n,"%)"]})]})}function Mf({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s}){const n=A.result||{},r=A.args||{},i=bt(e),a=_s(n)||!!A.error,g=Xs(n)||(typeof A.error=="string"?A.error:null),Q=n&&typeof n=="object"&&"stack"in n?String(n.stack):void 0,l="results"in n,C=n.results||[],I=n,c=typeof r.query=="string"?r.query:void 0,u=typeof r.url=="string"?r.url:I.url;if(l)return o.jsxs("div",{className:"text-xs",children:[o.jsxs(co,{toolName:"web search",isExpanded:t,onToggle:s,isError:a,colorVariant:"purple",canExpand:!0,children:[c&&o.jsxs(o.Fragment,{children:[o.jsx(we,{}),o.jsxs("span",{className:"font-mono text-foreground/90 text-[11px] truncate min-w-0",title:c,children:['"',c.length>25?`${c.slice(0,25)}…`:c,'"']})]}),o.jsx(we,{}),o.jsxs(br,{children:[C.length," ",C.length===1?"result":"results"]}),o.jsx(we,{}),o.jsx(Ut,{children:i})]}),t&&a&&g&&o.jsx(Ht,{error:g,stack:Q,showStack:!0}),t&&!a&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(rt,{title:"query",icon:o.jsx(Ho,{className:"h-3 w-3"}),copyText:c,maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 font-mono text-xs bg-muted/10 break-all",children:c||"(empty)"})}),C.length>0&&o.jsx(rt,{title:"results",copyText:C.map(h=>`${h.title}
|
|
104
|
+
${h.url}`).join(`
|
|
105
|
+
|
|
106
|
+
`),maxHeight:"max-h-80",children:o.jsx("div",{className:"divide-y divide-border/50",children:C.map((h,k)=>o.jsxs("div",{className:"px-3 py-2 hover:bg-muted/20",children:[o.jsxs("a",{href:h.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1 text-blue-600 dark:text-blue-400 hover:underline font-medium",children:[h.title,o.jsx(vt,{className:"h-3 w-3 flex-shrink-0"})]}),o.jsx("p",{className:"text-muted-foreground text-xs mt-0.5",children:h.snippet}),o.jsx("p",{className:"text-xs text-muted-foreground/60 truncate mt-0.5",children:h.url})]},`${h.url}-${k}`))})}),C.length===0&&o.jsx(rt,{title:"results",maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 text-muted-foreground/60 italic",children:"No results found"})})]})]});const f=u&&u.length>50?`${u.slice(0,50)}...`:u;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(co,{toolName:"web fetch",isExpanded:t,onToggle:s,isError:a,colorVariant:"purple",canExpand:!0,children:[f&&o.jsxs(o.Fragment,{children:[o.jsx(we,{}),o.jsx("span",{className:"text-foreground/70 truncate min-w-0",title:u,children:f})]}),o.jsx(we,{}),o.jsx(Ut,{children:i})]}),t&&a&&g&&o.jsx(Ht,{error:g,stack:Q,showStack:!0}),t&&!a&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(rt,{title:"url",icon:o.jsx(tC,{className:"h-3 w-3"}),copyText:u,maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 font-mono text-xs bg-muted/10 break-all",children:o.jsx("a",{href:u,target:"_blank",rel:"noopener noreferrer",className:"text-blue-600 dark:text-blue-400 hover:underline",children:u})})}),I.content&&o.jsx(rt,{title:"content",copyText:I.content,maxHeight:"max-h-80",children:o.jsx("div",{className:"px-3 py-2 text-xs text-foreground/80 whitespace-pre-wrap break-words",children:I.content})}),!I.content&&o.jsx(rt,{title:"content",maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 text-muted-foreground/60 italic",children:"No content returned"})})]})]})}function bf({contentJson:A,debug:e,sessionId:t,onRetry:s,onCompact:n}){const[r,i]=x.useState(!1),a=A.type==="balance_low"||A.errorType==="balance_low",g=A.type==="context_length_exceeded"||A.errorType==="context_length_exceeded";A.isRetryable;let Q,l,C,I=!1;A.error&&typeof A.error=="object"?(Q=A.error,Q.message&&typeof Q.message=="string"&&(l=Q.message),Q.type&&typeof Q.type=="string"&&(C=Q.type)):A.details&&typeof A.details=="object"?(Q=A.details,A.message&&typeof A.message=="string"&&(l=A.message),A.type&&typeof A.type=="string"&&(C=A.type),A.isAborted===!0&&(I=!0)):(A.message&&typeof A.message=="string"&&(l=A.message),A.type&&typeof A.type=="string"&&(C=A.type),A.isAborted===!0&&(I=!0),Q=A);let c;if(Q?.responseBody&&typeof Q.responseBody=="string")try{const J=JSON.parse(Q.responseBody);J.error&&typeof J.error=="object"&&(c={type:typeof J.error.type=="string"?J.error.type:void 0,message:typeof J.error.message=="string"?J.error.message:void 0,code:typeof J.error.code=="string"?J.error.code:void 0})}catch{}const u=String(Q?.url??"").includes("githubcopilot.com")||String(l??"").toLowerCase().includes("copilot model"),f=String(c?.message??l??"").toLowerCase(),h=u&&(c?.code==="model_not_supported"||f.includes("model is not supported")||f.includes("not available for this account/organization token"));if(c?.message?.toLowerCase().includes("not accessible via the /chat/completions")&&String(Q?.url??"").includes("githubcopilot.com")){const J=Q?.requestBodyValues?.model;return o.jsxs("div",{className:"space-y-3",children:[o.jsxs("div",{className:"space-y-1",children:[o.jsx("div",{className:"font-medium text-amber-600 dark:text-amber-400",children:"Model requires Responses API"}),o.jsx("p",{className:"text-sm text-foreground",children:J?o.jsxs(o.Fragment,{children:[o.jsx("code",{className:"px-1 py-0.5 bg-muted rounded text-xs",children:String(J)})," ","must be sent through the Responses API. If this persists, refresh auth and retry."]}):"This model must be sent through the Responses API. If this persists, refresh auth and retry."}),o.jsx("p",{className:"text-xs text-muted-foreground",children:"Codex models (gpt-5.1-codex, gpt-5.2-codex, etc.) require the Responses API. Try a chat-compatible model like gpt-5, claude-sonnet-4, or gpt-4.1."})]}),s&&o.jsx("div",{className:"pt-1",children:o.jsxs("button",{type:"button",onClick:s,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors",children:[o.jsx(Vt,{className:"w-3 h-3"}),"Retry"]})})]})}if(h){const J=Q?.requestBodyValues?.model;return o.jsxs("div",{className:"space-y-3",children:[o.jsxs("div",{className:"space-y-1",children:[o.jsx("div",{className:"font-medium text-amber-600 dark:text-amber-400",children:"Model not available"}),o.jsx("p",{className:"text-sm text-foreground",children:J?o.jsxs(o.Fragment,{children:[o.jsx("code",{className:"px-1 py-0.5 bg-muted rounded text-xs",children:String(J)})," ","is not available for the current Copilot token."]}):"The requested model is not available for the current Copilot token."}),o.jsx("p",{className:"text-xs text-muted-foreground",children:"Your org may restrict third-party OAuth apps, so OAuth and GH tokens can see different model entitlements."}),o.jsxs("p",{className:"text-xs text-muted-foreground",children:["Check model settings at"," ",o.jsx("a",{href:"https://github.com/settings/copilot",target:"_blank",rel:"noopener noreferrer",className:"underline hover:text-foreground transition-colors",onClick:V=>{V.preventDefault(),ho("https://github.com/settings/copilot")},children:"github.com/settings/copilot"}),", then reconnect Copilot with OAuth or token mode."]})]}),s&&o.jsx("div",{className:"pt-1",children:o.jsxs("button",{type:"button",onClick:s,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors",children:[o.jsx(Vt,{className:"w-3 h-3"}),"Retry"]})})]})}if(a)return o.jsxs("div",{className:"space-y-3",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(fr,{className:"h-4 w-4 text-amber-500"}),o.jsx("span",{className:"font-medium text-foreground",children:"Balance too low"})]}),o.jsx("p",{className:"text-sm text-muted-foreground",children:"Top up in the modal, then retry your request."}),s&&o.jsx("div",{className:"pt-1",children:o.jsxs("button",{type:"button",onClick:s,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors",children:[o.jsx(Vt,{className:"w-3 h-3"}),"Retry"]})})]});if(g)return o.jsxs("div",{className:"space-y-3",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(Fg,{className:"h-4 w-4 text-amber-500"}),o.jsx("span",{className:"font-medium text-foreground",children:"Context window exceeded"})]}),o.jsx("p",{className:"text-sm text-muted-foreground",children:"The conversation is too long for the model. Compact to reduce context size, then retry."}),o.jsxs("div",{className:"flex items-center gap-2 pt-1",children:[n&&o.jsxs("button",{type:"button",onClick:n,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors",children:[o.jsx(Fg,{className:"w-3 h-3"}),"Compact"]}),s&&o.jsxs("button",{type:"button",onClick:s,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded border border-border text-foreground hover:bg-muted transition-colors",children:[o.jsx(Vt,{className:"w-3 h-3"}),"Retry"]})]})]});const v=J=>{if(J==null)return o.jsx("span",{className:"text-muted-foreground",children:"null"});if(typeof J=="boolean")return o.jsx("span",{className:"text-amber-600 dark:text-amber-400",children:String(J)});if(typeof J=="number")return o.jsx("span",{className:"text-blue-600 dark:text-blue-400",children:J});if(typeof J=="string"){if(J.startsWith("{")||J.startsWith("["))try{const V=JSON.parse(J);return o.jsx("pre",{className:"mt-1 p-2 bg-muted/50 rounded text-xs overflow-x-auto",children:o.jsx("code",{children:JSON.stringify(V,null,2)})})}catch{}return o.jsx("span",{className:"text-foreground",children:J})}return typeof J=="object"?o.jsx("pre",{className:"mt-1 p-2 bg-muted/50 rounded text-xs overflow-x-auto",children:o.jsx("code",{children:JSON.stringify(J,null,2)})}):o.jsx("span",{className:"text-foreground",children:String(J)})},D=["name","statusCode","url","model","isRetryable","cause"],O=new Set;return o.jsxs("div",{className:"space-y-2 text-sm",children:[I&&o.jsx("div",{className:"text-amber-600 dark:text-amber-400 font-medium",children:"Request aborted"}),c?.message&&o.jsxs("div",{className:"space-y-1",children:[o.jsx("div",{className:"font-medium text-red-600 dark:text-red-400",children:"API Error:"}),o.jsx("div",{className:"text-foreground",children:c.message}),c.type&&o.jsxs("div",{className:"text-xs text-muted-foreground",children:["Type: ",c.type]})]}),!c?.message&&l&&o.jsxs("div",{className:"space-y-1",children:[o.jsx("div",{className:"font-medium text-red-600 dark:text-red-400",children:"Error:"}),o.jsx("div",{className:"text-foreground",children:l}),C&&o.jsxs("div",{className:"text-xs text-muted-foreground",children:["Type: ",C]})]}),s&&o.jsx("div",{className:"pt-2",children:o.jsxs("button",{type:"button",onClick:s,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors",children:[o.jsx(Vt,{className:"w-3 h-3"}),"Retry"]})}),Q&&o.jsx("div",{className:"space-y-1.5",children:D.map(J=>{const V=Q[J];return V==null?null:(O.add(J),o.jsxs("div",{className:"flex gap-2",children:[o.jsxs("span",{className:"font-medium text-muted-foreground min-w-[100px]",children:[J,":"]}),v(V)]},J))})}),Q&&o.jsxs("div",{className:"mt-3 border-t border-border pt-2",children:[o.jsxs("button",{type:"button",onClick:()=>i(!r),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors",children:[r?o.jsx(_t,{className:"h-3 w-3"}):o.jsx(ct,{className:"h-3 w-3"}),r?"Hide":"View"," Raw Error Details"]}),r&&o.jsx("div",{className:"mt-2",children:o.jsx("pre",{className:"p-3 bg-muted/50 rounded text-xs overflow-x-auto max-h-96 overflow-y-auto",children:o.jsx("code",{children:JSON.stringify(Q,null,2)})})})]}),e&&o.jsxs("details",{className:"mt-4 text-xs",children:[o.jsx("summary",{className:"cursor-pointer text-muted-foreground",children:"Debug Info"}),o.jsx("pre",{className:"mt-2 p-2 bg-muted/30 rounded overflow-x-auto",children:o.jsx("code",{children:JSON.stringify({contentJson:A,errorDetails:Q,apiError:c},null,2)})})]})]})}function Zl(A){return A?new Date(A).toLocaleDateString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}function li({session:A,onNavigate:e,compact:t}){return t?o.jsxs("button",{type:"button",onClick:()=>e?.(A.id),disabled:!e,className:"w-full text-left py-1 px-2 rounded text-xs hover:bg-muted/50 transition-colors flex items-center justify-between gap-2",children:[o.jsx("span",{className:"truncate text-foreground",children:A.title||"Untitled"}),e&&o.jsx(vt,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"})]}):o.jsxs("button",{type:"button",onClick:()=>e?.(A.id),disabled:!e,className:"w-full text-left p-2 rounded-md border border-border hover:bg-muted/50 transition-colors group",children:[o.jsxs("div",{className:"flex items-center justify-between gap-2",children:[o.jsx("span",{className:"font-medium text-sm truncate text-foreground",children:A.title||"Untitled"}),e&&o.jsx(vt,{className:"w-3 h-3 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity flex-shrink-0"})]}),o.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground mt-1",children:[A.agent&&o.jsx("span",{className:"text-violet-600 dark:text-violet-400",children:A.agent}),A.agent&&A.provider&&o.jsx("span",{children:"·"}),A.provider&&o.jsx("span",{children:A.provider}),A.messageCount!==void 0&&o.jsxs(o.Fragment,{children:[o.jsx("span",{children:"·"}),o.jsxs("span",{children:[A.messageCount," msgs"]})]}),A.createdAt&&o.jsxs(o.Fragment,{children:[o.jsx("span",{children:"·"}),o.jsx("span",{children:Zl(A.createdAt)})]})]})]})}function pQ({message:A,onNavigate:e,compact:t}){const s="sessionId"in A?A.sessionId:"",n="sessionTitle"in A?A.sessionTitle:null,r="content"in A?A.content:"contentPreview"in A?A.contentPreview:"matchedContent"in A?A.matchedContent:"";return t?o.jsxs("button",{type:"button",onClick:()=>e?.(s),disabled:!e||!s,className:"w-full text-left py-1 px-2 rounded text-xs hover:bg-muted/50 transition-colors flex items-center justify-between gap-2",children:[o.jsx("span",{className:"truncate text-foreground/80",children:r?.slice(0,50)||n||s.slice(0,8)}),e&&s&&o.jsx(vt,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"})]}):o.jsxs("button",{type:"button",onClick:()=>e?.(s),disabled:!e||!s,className:"w-full text-left p-2 rounded-md border border-border hover:bg-muted/50 transition-colors group",children:[o.jsxs("div",{className:"flex items-center justify-between gap-2",children:[o.jsx("span",{className:"text-xs text-muted-foreground",children:n||s.slice(0,8)}),e&&s&&o.jsx(vt,{className:"w-3 h-3 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity flex-shrink-0"})]}),r&&o.jsx("div",{className:"text-xs text-foreground/80 mt-1 line-clamp-2",children:r}),o.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground mt-1",children:[A.role&&o.jsx("span",{className:"capitalize",children:A.role}),A.createdAt&&o.jsxs(o.Fragment,{children:[o.jsx("span",{children:"·"}),o.jsx("span",{children:Zl(A.createdAt)})]})]})]})}function fQ({args:A,toolName:e}){const t=(i,a)=>a==null||typeof a=="boolean"&&!a||Array.isArray(a)&&a.length===0?null:o.jsxs("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded bg-muted text-muted-foreground",children:[o.jsxs("span",{className:"opacity-60",children:[i,":"]}),o.jsx("span",{className:"text-foreground/80",children:typeof a=="string"?a:JSON.stringify(a)})]},i),r=({query_sessions:["agent","sessionType","startDate","endDate"],query_messages:["sessionId","role","search","toolName"],search_history:["query"],get_session_context:["sessionId","includeMessages"],get_parent_session:["includeMessages"]}[e]||Object.keys(A).slice(0,3)).filter(i=>A[i]!==void 0&&A[i]!==null).map(i=>t(i,A[i])).filter(Boolean);return r.length===0?null:o.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap text-xs mb-2 pb-2 border-b border-border",children:[o.jsx(sC,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"}),r]})}function Ff({toolName:A,contentJson:e,toolDurationMs:t,isExpanded:s,onToggle:n,onNavigateToSession:r,compact:i}){const a=e.result||{},g=e.args||{},Q=typeof a=="object"&&"ok"in a&&a.ok===!1,l=Q&&"error"in a&&typeof a.error=="string"?a.error:null,C=bt(t);if(A==="present_action"){const u=a.links||[],f=a.summary,h=a.title;return u.length===0&&!f?null:o.jsxs("div",{className:"mt-2 mb-1",children:[h&&o.jsx("div",{className:"text-sm font-medium text-foreground mb-1.5",children:h}),f&&o.jsxs("div",{className:"text-xs text-muted-foreground mb-2 flex items-center gap-1.5",children:[o.jsx(oC,{className:"w-3.5 h-3.5 text-teal-500"}),o.jsx("span",{children:f})]}),u.length>0&&o.jsx("div",{className:"space-y-1.5",children:u.map(k=>o.jsxs("button",{type:"button",onClick:()=>r?.(k.sessionId),disabled:!r,className:"w-full text-left px-3 py-2 rounded-lg border border-teal-500/30 bg-teal-500/5 hover:bg-teal-500/10 transition-colors group flex items-center justify-between gap-2",children:[o.jsxs("div",{children:[o.jsx("div",{className:"font-medium text-sm text-foreground",children:k.title}),k.description&&o.jsx("div",{className:"text-xs text-muted-foreground mt-0.5",children:k.description})]}),r&&o.jsx(vt,{className:"w-4 h-4 text-teal-600 dark:text-teal-400 opacity-60 group-hover:opacity-100 transition-opacity flex-shrink-0"})]},k.sessionId))})]})}const I=()=>{switch(A){case"query_sessions":{const u=a.sessions||[],f=a.total;return`${u.length} session${u.length!==1?"s":""}${f?` of ${f}`:""}`}case"query_messages":{const u=a.messages||[];return`${u.length} message${u.length!==1?"s":""}`}case"search_history":{const u=g.query,f=a.results||[],h=u?`"${u.slice(0,20)}${u.length>20?"…":""}"`:"";return`${f.length} result${f.length!==1?"s":""}${h?` for ${h}`:""}`}case"get_session_context":return a.session?.title||g.sessionId?.slice(0,8)||"session";case"get_parent_session":return a.parentSession?.title||"parent session";default:return A}},c=()=>{const u=Object.keys(g).length>0&&!i;switch(A){case"query_sessions":{const f=a.sessions||[];return o.jsxs("div",{className:i?"p-1":"p-2",children:[u&&o.jsx(fQ,{args:g,toolName:A}),f.length===0?o.jsx("div",{className:"text-xs text-muted-foreground",children:"No sessions found"}):o.jsxs("div",{className:i?"space-y-0.5":"space-y-2",children:[f.slice(0,i?5:10).map(h=>o.jsx(li,{session:h,onNavigate:r,compact:i},h.id)),f.length>(i?5:10)&&o.jsxs("div",{className:"text-xs text-muted-foreground text-center",children:["+",f.length-(i?5:10)," more"]})]})]})}case"query_messages":{const f=a.messages||[];return o.jsxs("div",{className:i?"p-1":"p-2",children:[u&&o.jsx(fQ,{args:g,toolName:A}),f.length===0?o.jsx("div",{className:"text-xs text-muted-foreground",children:"No messages found"}):o.jsxs("div",{className:i?"space-y-0.5":"space-y-2",children:[f.slice(0,i?5:10).map(h=>o.jsx(pQ,{message:h,onNavigate:r,compact:i},h.id)),f.length>(i?5:10)&&o.jsxs("div",{className:"text-xs text-muted-foreground text-center",children:["+",f.length-(i?5:10)," more"]})]})]})}case"search_history":{const f=a.results||[],h=g.query;return o.jsxs("div",{className:i?"p-1":"p-2",children:[h&&!i&&o.jsxs("div",{className:"flex items-center gap-1.5 text-xs mb-2 pb-2 border-b border-border",children:[o.jsx(Ds,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"}),o.jsx("span",{className:"text-muted-foreground",children:"Query:"}),o.jsxs("span",{className:"text-foreground font-medium",children:['"',h,'"']})]}),f.length===0?o.jsx("div",{className:"text-xs text-muted-foreground",children:"No results found"}):o.jsxs("div",{className:i?"space-y-0.5":"space-y-2",children:[f.slice(0,i?5:10).map((k,v)=>o.jsx(pQ,{message:k,onNavigate:r,compact:i},`${k.sessionId}-${k.messageId}-${v}`)),f.length>(i?5:10)&&o.jsxs("div",{className:"text-xs text-muted-foreground text-center",children:["+",f.length-(i?5:10)," more"]})]})]})}case"get_session_context":case"get_parent_session":{const f=A==="get_parent_session"?a.parentSession:a.session,h=a.stats,k=a.messages;return f?i?o.jsx("div",{className:"p-1",children:o.jsx(li,{session:f,onNavigate:r,compact:!0})}):o.jsxs("div",{className:"p-2 space-y-3",children:[o.jsx(li,{session:f,onNavigate:r}),h&&o.jsxs("div",{className:"flex gap-4 text-xs text-muted-foreground",children:[h.totalMessages!==void 0&&o.jsxs("span",{children:[h.totalMessages," messages"]}),h.totalToolCalls!==void 0&&o.jsxs("span",{children:[h.totalToolCalls," tool calls"]})]}),k&&k.length>0&&o.jsxs("div",{className:"space-y-1",children:[o.jsx("div",{className:"text-xs font-medium text-muted-foreground",children:"Recent messages:"}),o.jsx("div",{className:"space-y-1 max-h-48 overflow-y-auto",children:k.slice(0,5).map(v=>o.jsxs("div",{className:"text-xs p-1.5 rounded bg-muted/30",children:[o.jsxs("span",{className:"font-medium capitalize text-foreground/70",children:[v.role,":"," "]}),o.jsx("span",{className:"text-foreground/60 line-clamp-2",children:v.content})]},v.id))})]})]}):o.jsx("div",{className:`text-xs text-muted-foreground ${i?"p-1":"p-2"}`,children:"Session not found"})}default:return o.jsx("pre",{className:"text-xs p-2 overflow-auto max-h-48",children:JSON.stringify(a,null,2)})}};return o.jsxs("div",{className:"text-xs",children:[o.jsxs(co,{toolName:A,isExpanded:s,onToggle:n,isError:Q,colorVariant:"default",canExpand:!0,children:[!i&&o.jsxs(o.Fragment,{children:[o.jsx(we,{}),o.jsx("span",{className:"text-foreground/70 min-w-0 truncate",children:I()})]}),!Q&&!i&&o.jsxs(o.Fragment,{children:[o.jsx(we,{}),o.jsx($s,{children:"Done"}),o.jsx(we,{}),o.jsx(Ut,{children:C})]}),Q&&!i&&o.jsxs(o.Fragment,{children:[o.jsx(we,{}),o.jsx(Fr,{children:"Error"}),o.jsxs(Ut,{children:["· ",C]})]})]}),s&&Q&&l&&o.jsx(Ht,{error:l}),s&&!Q&&o.jsx("div",{className:i?"mt-1 ml-3":"mt-2 ml-5",children:i?o.jsx("div",{className:"border border-border rounded-md overflow-hidden max-h-48 overflow-y-auto",children:c()}):o.jsx(rt,{title:"results",maxHeight:"max-h-96",children:c()})})]})}const Gf='"JetBrainsMono NFM", monospace';let mQ=!1,Yr=null;function vf(){return mQ?Promise.resolve():Yr||(Yr=Sf().then(()=>{mQ=!0}),Yr)}async function Sf(){if(typeof document>"u"||!("FontFace"in window))return;const e=[{file:"JetBrainsMonoNerdFontMono-Regular.woff2",weight:"400",style:"normal"},{file:"JetBrainsMonoNerdFontMono-Bold.woff2",weight:"700",style:"normal"},{file:"JetBrainsMonoNerdFontMono-Italic.woff2",weight:"400",style:"italic"},{file:"JetBrainsMonoNerdFontMono-BoldItalic.woff2",weight:"700",style:"italic"}].map(async t=>{try{const s=new URL(Object.assign({"../assets/fonts/JetBrainsMonoNerdFontMono-Bold.woff2":hl,"../assets/fonts/JetBrainsMonoNerdFontMono-BoldItalic.woff2":pl,"../assets/fonts/JetBrainsMonoNerdFontMono-Italic.woff2":fl,"../assets/fonts/JetBrainsMonoNerdFontMono-Regular.woff2":ml})[`../assets/fonts/${t.file}`],import.meta.url).href,r=await new FontFace("JetBrainsMono NFM",`url("${s}") format("woff2")`,{weight:t.weight,style:t.style}).load();document.fonts.add(r)}catch{}});await Promise.allSettled(e)}const Uf=/[\x1B\x9B][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nq-uy=><~]/g,Rf=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g;function Kf(A){return A.replace(Uf,"").replace(Rf,"").replace(/\\n/g,`
|
|
107
|
+
`).replace(/\r\n/g,`
|
|
108
|
+
`).replace(/\r/g,`
|
|
109
|
+
`)}function Jf({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,compact:n}){const[,r]=x.useState(!1);x.useEffect(()=>{vf().then(()=>r(!0))},[]);const i=A.result||{},a=A.args||{},g=String(a.operation||a.command||""),Q=typeof i=="object"&&"ok"in i&&i.ok===!1,l=Q&&"error"in i&&typeof i.error=="string"?i.error:null,C=Q&&"stack"in i&&typeof i.stack=="string"?i.stack:void 0,I=bt(e),c=String(i.terminalId||a.terminalId||""),u=c.length>12?`${c.slice(0,12)}…`:c,f=String(i.purpose||a.purpose||""),h=String(i.command||a.command||""),k=()=>{const X=i.pid?`PID ${i.pid}`:"";return o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-1 text-xs",children:[h&&o.jsxs("div",{className:"flex items-center gap-2 text-foreground/70",children:[o.jsx(to,{className:"h-3 w-3"}),o.jsx("code",{className:"font-mono",children:h})]}),f&&o.jsx("div",{className:"text-muted-foreground/70",children:f}),o.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground/60",children:[u&&o.jsx("span",{className:"font-mono",children:u}),X&&o.jsxs(o.Fragment,{children:[o.jsx("span",{children:"·"}),o.jsx("span",{children:X})]})]})]})},v=()=>{const X=String(i.text||i.output||""),K=Kf(X),W=String(i.status||""),T=i.exitCode,L=typeof i.lines=="number"?i.lines:0;return o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground/70",children:[u&&o.jsx("span",{className:"font-mono",children:u}),o.jsx("span",{children:"·"}),o.jsxs("span",{children:[L," lines"]}),o.jsx("span",{children:"·"}),o.jsxs("span",{className:W==="running"?"text-emerald-600 dark:text-emerald-400":"",children:[W,W==="exited"&&T!==void 0?` (${T})`:""]})]}),K.trim()&&o.jsx(rt,{title:"output",copyText:K,maxHeight:"max-h-[30rem]",children:o.jsx("pre",{className:"px-3 py-2 text-xs text-foreground/85 whitespace-pre-wrap break-words overflow-x-auto",style:{fontFamily:Gf},children:K})})]})},D=()=>{const X=Array.isArray(i.terminals)?i.terminals:[],K=typeof i.count=="number"?i.count:X.length;return o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-1 text-xs",children:[o.jsxs("div",{className:"text-muted-foreground/70",children:[K," terminal",K!==1?"s":""]}),X.slice(0,8).map((W,T)=>o.jsxs("div",{className:"flex items-center gap-2 text-foreground/70 font-mono",children:[o.jsx("span",{className:`h-2 w-2 rounded-full ${W.status==="running"?"bg-emerald-500":"bg-muted-foreground/40"}`}),o.jsx("span",{className:"truncate max-w-[100px]",children:String(W.id||"").slice(0,12)}),o.jsx("span",{className:"text-muted-foreground/60 truncate",children:String(W.purpose||"")})]},String(W.id||T)))]})},O=()=>{const X=String(a.input||"");return X?o.jsx("div",{className:"mt-2 ml-5 text-xs",children:o.jsx("code",{className:"font-mono text-foreground/70 whitespace-pre-wrap",children:X})}):null},V=`terminal ${g||"terminal"}`,eA=!Q&&(g==="start"||g==="read"||g==="list"||g==="write"&&(a.input||i.message));return o.jsxs("div",{className:"text-xs",children:[o.jsxs(co,{toolName:V,isExpanded:t,onToggle:s,isError:!!Q,colorVariant:"amber",canExpand:!!eA||!!Q,children:[!n&&u&&o.jsxs(o.Fragment,{children:[o.jsx(we,{}),o.jsx("span",{className:"text-foreground/70 font-mono text-[11px]",children:u})]}),!n&&f&&!u&&o.jsxs(o.Fragment,{children:[o.jsx(we,{}),o.jsx("span",{className:"text-foreground/70 text-[11px] truncate max-w-xs",children:f})]}),!Q&&!n&&o.jsxs(o.Fragment,{children:[o.jsx(we,{}),o.jsx($s,{children:"ok"}),o.jsx(we,{}),o.jsx(Ut,{children:I})]}),Q&&!n&&o.jsxs(Ut,{children:["· ",I]})]}),t&&Q&&l&&o.jsx(Ht,{error:l,stack:C,showStack:!0}),t&&!Q&&g==="start"&&k(),t&&!Q&&g==="read"&&v(),t&&!Q&&g==="list"&&D(),t&&!Q&&g==="write"&&O()]})}function Lf(A){const e=A.indexOf("__");return e===-1?{server:"",tool:A}:{server:A.slice(0,e),tool:A.slice(e+2)}}function jf(A){return A.includes("__")}function Tf({toolName:A,contentJson:e,toolDurationMs:t,isExpanded:s,onToggle:n,compact:r}){const{server:i,tool:a}=Lf(A),g=e.result||{},Q=e.args||{},l=bt(t),C=document?.documentElement.classList.contains("dark")?Eo:Co,I=typeof g=="object"&&"ok"in g&&g.ok===!1,c=I&&"error"in g&&typeof g.error=="string"?g.error:typeof e.error=="string"?e.error:null,u=I&&"stack"in g&&typeof g.stack=="string"?g.stack:void 0,f=typeof g.result=="string"?g.result:g.result&&typeof g.result=="object"?JSON.stringify(g.result,null,2):null,h=Array.isArray(g.images)?g.images:[],k=h.length>0,v=!I&&(f||Object.keys(g).length>0||k),D=f||JSON.stringify(g,null,2),O=D.startsWith("{")||D.startsWith("["),J=Object.entries(Q).slice(0,3).map(([eA,X])=>{const K=typeof X=="string"?X.length>30?`${X.slice(0,27)}…`:X:JSON.stringify(X);return`${eA}=${K}`}).join(" "),V=i?`${i} › ${a}`:a;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(co,{toolName:V,isExpanded:s,onToggle:n,isError:!!I,colorVariant:"purple",canExpand:!!v||!!I||k,children:[!r&&J&&o.jsxs(o.Fragment,{children:[o.jsx(we,{}),o.jsx("span",{className:"text-foreground/60 truncate max-w-xs font-mono text-[11px]",children:J})]}),!I&&!r&&o.jsxs(o.Fragment,{children:[o.jsx(we,{}),o.jsx($s,{children:"ok"}),o.jsx(we,{}),o.jsx(Ut,{children:l})]}),I&&!r&&o.jsxs(o.Fragment,{children:[o.jsx(we,{}),o.jsx(Fr,{children:"error"}),o.jsx(we,{}),o.jsx(Ut,{children:l})]})]}),s&&I&&c&&o.jsx(Ht,{error:c,stack:u,showStack:!0}),s&&!I&&v&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[k&&o.jsx(Vl,{images:h}),D&&!k&&o.jsx(rt,{title:"result",icon:o.jsx(wr,{className:"h-3 w-3"}),copyText:D,maxHeight:"max-h-[30rem]",children:o.jsx(qt,{language:O?"json":"text",style:C,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:D})})]})]})}function Of({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,compact:n}){const r=A.result||{},i=A.args||{},a=bt(e),g=Array.isArray(i.tools)?i.tools:[],Q=Array.isArray(r.loaded)?r.loaded:[],l=Array.isArray(r.notFound)?r.notFound:[],C=r.ok===!1,I=Q.length>0||l.length>0;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(co,{toolName:"load_mcp_tools",isExpanded:t,onToggle:s,isError:C,colorVariant:"purple",canExpand:I,children:[!n&&o.jsxs(o.Fragment,{children:[o.jsx(we,{}),o.jsxs("span",{className:"text-foreground/60 font-mono text-[11px]",children:[g.length," tool",g.length!==1?"s":""]})]}),!C&&!n&&o.jsxs(o.Fragment,{children:[o.jsx(we,{}),o.jsxs($s,{children:[Q.length," loaded"]}),o.jsx(we,{}),o.jsx(Ut,{children:a})]}),C&&!n&&o.jsxs(o.Fragment,{children:[o.jsx(we,{}),o.jsx(Fr,{children:"error"}),o.jsx(we,{}),o.jsx(Ut,{children:a})]})]}),t&&I&&o.jsxs("div",{className:"mt-1.5 ml-5 flex flex-col gap-1",children:[Q.map(c=>o.jsxs("div",{className:"flex items-center gap-1.5 text-[11px]",children:[o.jsx(Yt,{className:"h-3 w-3 text-green-500"}),o.jsx(wr,{className:"h-3 w-3 text-purple-400"}),o.jsx("span",{className:"font-mono text-foreground/70",children:c})]},c)),l.map(c=>o.jsxs("div",{className:"flex items-center gap-1.5 text-[11px]",children:[o.jsx(lt,{className:"h-3 w-3 text-red-400"}),o.jsx("span",{className:"font-mono text-foreground/40 line-through",children:c})]},c))]})]})}function qf({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,compact:n}){const r=A.result||{},i=bt(e),a=typeof r=="object"&&"ok"in r&&r.ok===!1,g=a&&"error"in r&&typeof r.error=="string"?r.error:null,Q=r.name,l=r.description,C=r.content,I=r.scope,c=r.availableFiles,u=r.securityNotices,f=l?.startsWith("Sub-file:"),h=c?.length??0,k=u?.length??0,v=!!C||a;return o.jsxs("div",{className:"text-xs",children:[o.jsxs("button",{type:"button",onClick:()=>v&&s(),className:`flex items-center gap-2 transition-colors w-full min-w-0 ${a?"text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200":v?"text-violet-700 dark:text-violet-300 hover:text-violet-600 dark:hover:text-violet-200":"text-violet-700 dark:text-violet-300"}`,children:[v?o.jsx(ct,{className:`h-3 w-3 flex-shrink-0 transition-transform ${t?"rotate-90":""}`}):o.jsx("div",{className:"w-3 flex-shrink-0"}),a&&o.jsx(wo,{className:"h-3 w-3 flex-shrink-0 text-red-600 dark:text-red-400"}),f?o.jsx(ts,{className:"h-3 w-3 flex-shrink-0"}):o.jsx(jB,{className:"h-3 w-3 flex-shrink-0"}),o.jsxs("span",{className:"font-medium flex-shrink-0",children:["skill",a?" error":""]}),Q&&!n&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground/70 flex-shrink-0",children:"·"}),o.jsx("span",{className:"text-foreground/70 truncate",children:f?l?.replace("Sub-file: ",""):Q})]}),I&&!n&&!f&&o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0",children:["· ",I]}),h>0&&!n&&o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0",children:["· ",h," file",h!==1?"s":""]}),k>0&&!n&&o.jsxs("span",{className:"text-amber-600 dark:text-amber-400 flex-shrink-0 flex items-center gap-0.5",children:["· ",o.jsx(Gg,{className:"h-3 w-3 inline"})," ",k]}),i&&!n&&o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0",children:["· ",i]})]}),t&&a&&g&&o.jsx(Ht,{error:g}),t&&!a&&o.jsxs("div",{className:"mt-2 ml-5 space-y-2",children:[k>0&&u&&o.jsxs("div",{className:"bg-amber-50 dark:bg-amber-950/30 border border-amber-200 dark:border-amber-800 rounded-lg p-2.5 space-y-1",children:[o.jsxs("div",{className:"flex items-center gap-1.5 text-amber-700 dark:text-amber-300 font-medium text-[11px]",children:[o.jsx(Gg,{className:"h-3 w-3"}),"Security Notice",k>1?"s":""]}),u.map((D,O)=>o.jsxs("div",{className:"text-amber-600 dark:text-amber-400 text-[11px] leading-snug",children:[o.jsx("span",{className:"font-mono bg-amber-100 dark:bg-amber-900/40 rounded px-1 py-0.5",children:D.type})," ",D.description]},`${D.type}-${D.line??O}`))]}),l&&!f&&o.jsx("p",{className:"text-muted-foreground italic",children:l}),C&&o.jsx("div",{className:"bg-card/60 border border-border rounded-lg overflow-hidden max-h-96 overflow-y-auto max-w-full",children:o.jsx("div",{className:"p-3 whitespace-pre-wrap font-mono text-xs leading-relaxed",children:C})}),h>0&&c&&o.jsxs("details",{className:"group",children:[o.jsxs("summary",{className:"text-muted-foreground cursor-pointer hover:text-foreground/80 text-[11px] select-none",children:[h," available sub-file",h!==1?"s":""]}),o.jsx("div",{className:"mt-1.5 bg-card/40 border border-border rounded-lg p-2 space-y-0.5 max-h-48 overflow-y-auto",children:c.map(D=>o.jsxs("div",{className:"flex items-center justify-between gap-2 font-mono text-[11px]",children:[o.jsx("span",{className:"text-foreground/80 truncate",children:D.relativePath}),o.jsx("span",{className:"text-muted-foreground/60 flex-shrink-0 tabular-nums",children:Yf(D.size)})]},D.relativePath))})]})]})]})}function Yf(A){if(A<1024)return`${A}B`;const e=A/1024;return e<1024?`${e.toFixed(1)}KB`:`${(e/1024).toFixed(1)}MB`}function Hf({part:A}){const[e,t]=x.useState(!0),s=x.useRef(null),n=x.useRef(!1);let r="";const i=A.contentJson||A.content;return i&&typeof i=="object"&&"text"in i?r=String(i.text):typeof i=="string"&&(r=i),x.useEffect(()=>{s.current&&e&&!A.completedAt&&!n.current&&(s.current.scrollTop=s.current.scrollHeight)},[r,e,A.completedAt]),!r||!r.trim()?null:o.jsxs("div",{className:"w-full",children:[o.jsxs("button",{type:"button",onClick:()=>t(!e),className:"flex items-center gap-2 text-xs text-muted-foreground hover:text-foreground transition-colors w-full",children:[e?o.jsx(_t,{className:"h-3 w-3 flex-shrink-0"}):o.jsx(ct,{className:"h-3 w-3 flex-shrink-0"}),o.jsx("span",{className:"font-medium",children:"Reasoning"}),!A.completedAt&&o.jsx("span",{className:"text-muted-foreground/60 animate-pulse",children:"thinking..."})]}),e&&o.jsx("div",{ref:s,className:"mt-2 p-3 bg-muted/30 rounded-md border border-border max-h-48 overflow-y-auto",role:"log",onMouseEnter:()=>{n.current=!0},onMouseLeave:()=>{n.current=!1},children:o.jsx("div",{className:"text-sm text-muted-foreground whitespace-pre-wrap font-mono",children:r})})]})}const Pf={Read:"read",Edit:"edit",MultiEdit:"multiedit",Write:"write",Ls:"ls",Tree:"tree",Cd:"cd",Pwd:"pwd",Glob:"glob",Grep:"ripgrep",Shell:"shell",Bash:"shell",bash:"shell",Terminal:"terminal",GitStatus:"git_status",GitDiff:"git_diff",GitCommit:"git_commit",ApplyPatch:"apply_patch",UpdateTodos:"update_todos",UpdatePlan:"update_todos",ProgressUpdate:"progress_update",Finish:"finish",WebSearch:"websearch",LoadMcpTools:"load_mcp_tools",Skill:"skill"};function Wf(A){return Pf[A]??A}const zf=new Set(["shell","edit","multiedit","write","apply_patch","terminal"]);function la({toolName:A,contentJson:e,toolDurationMs:t,debug:s,onNavigateToSession:n,compact:r,sessionId:i,onRetry:a,onCompact:g}){const[Q,l]=x.useState(!1),C=Wf(A),I=r&&!zf.has(C),u={contentJson:e,toolDurationMs:t??void 0,isExpanded:Q,onToggle:()=>l(!Q),compact:I};if(s)return o.jsx(yf,{...u,toolName:A});switch(C){case"read":return o.jsx(Qf,{...u});case"edit":case"multiedit":return o.jsx(hQ,{...u,toolName:C});case"write":return o.jsx(Bf,{...u});case"shell":return o.jsx(Ef,{...u});case"git_status":return o.jsx(df,{...u});case"git_diff":return o.jsx(hf,{...u});case"git_commit":return o.jsx(pf,{...u});case"apply_patch":return o.jsx(hQ,{...u});case"terminal":return o.jsx(Jf,{...u});case"ls":return o.jsx(ff,{...u});case"tree":return o.jsx(mf,{...u});case"ripgrep":case"grep":case"glob":return o.jsx(wf,{...u});case"websearch":return o.jsx(Mf,{...u});case"finish":return o.jsx(xf,{...u});case"update_todos":case"update_plan":return o.jsx(Nf,{...u});case"progress_update":return o.jsx(kf,{...u});case"load_mcp_tools":return o.jsx(Of,{...u,toolName:A});case"skill":return o.jsx(qf,{...u});case"error":return o.jsx(bf,{...u,sessionId:i,onRetry:a,onCompact:g});case"query_sessions":case"query_messages":case"search_history":case"get_session_context":case"get_parent_session":case"present_action":return o.jsx(Ff,{toolName:A,...u,onNavigateToSession:n});default:return jf(C)?o.jsx(Tf,{...u,toolName:A}):o.jsx(Df,{...u,toolName:A})}}function ca(A){const e=A.contentJson;if(e&&typeof e=="object")return e;try{if(A.content){const t=JSON.parse(A.content);if(t&&typeof t=="object"&&!Array.isArray(t))return t}}catch{}return null}function Vf(A){const e=ca(A);if(!e)return;const t=e.args;if(t&&typeof t=="object"&&!Array.isArray(t))return t}function Zf(A){if(!A)return null;const e=["cmd","command","script","input"];for(const t of e){const s=A[t];if(typeof s=="string"&&s.trim().length>0)return s.trim()}return null}function _f(A){return A.match(/^\*\*\*\s+(?:Update|Add|Delete|Replace in):\s+(.+)$/m)?.[1]?.trim()||null}function _l(A){return A==="bash"?"shell":A}function Ea(A){return _l(A)==="shell"}function Xf(A,e){if(!e)return null;const t=[{key:"path",match:!0},{key:"file",match:!0},{key:"target",match:!0},{key:"cwd",match:!0},{key:"query",match:!0},{key:"pattern",match:!0},{key:"glob",match:!0},{key:"dir",match:!0}];for(const{key:s}of t){const n=e[s];if(typeof n=="string"&&n.trim().length>0)return{key:s,value:n.trim()}}if(Ea(A)){const s=e.command;if(typeof s=="string"&&s.trim().length>0)return{key:"command",value:s.trim()}}if(A==="apply_patch"){const s=e.patch;if(typeof s=="string"&&s.trim().length>0){const n=_f(s);if(n)return{key:"patch",value:n}}}return null}function $f(A,e){if(!A)return null;const t=[];for(const[n,r]of Object.entries(A))if(!(e&&n===e)){if(typeof r=="string"||typeof r=="number"){const i=`${n}=${String(r)}`;t.push(i)}if(t.length>=3)break}if(!t.length)return null;const s=t.join(" ");return s.length>120?`${s.slice(0,117)}…`:s}const wQ=x.memo(function({part:e,showLine:t,isLastToolCall:s,isLastProgressUpdate:n,onNavigateToSession:r,compact:i,pendingApproval:a,onApprove:g,onReject:Q,sessionId:l,onRetry:C,onCompact:I}){if(e.type==="tool_call"&&((e.toolName||"")==="progress_update"||!s&&!a)||e.type==="tool_result"&&e.toolName==="progress_update"&&!n)return null;if(e.type==="text"){const D=e.contentJson||e.content;let O="";if(D&&typeof D=="object"&&"text"in D?O=String(D.text):typeof D=="string"&&(O=D),!O||!O.trim())return null}if(e.type==="reasoning"){const D=e.contentJson||e.content;let O="";if(D&&typeof D=="object"&&"text"in D?O=String(D.text):typeof D=="string"&&(O=D),!O||!O.trim())return null}const c=e.type==="tool_call"||e.type==="tool_result",u=["flex-1","min-w-0","max-w-full"];c||e.type==="reasoning"?u.push(i?"pt-0.5":"pt-1"):e.type==="error"?u.push("pt-0.5"):e.type==="text"?(u.push("pt-0"),u.push("-mt-0.5")):u.push("pt-0");const f=u.join(" "),h=()=>{if(e.type==="reasoning")return o.jsx(vn,{className:"h-4 w-4 text-indigo-600 dark:text-indigo-300"});if(e.type==="tool_call")return o.jsx(Le,{className:"h-4 w-4 text-amber-600 dark:text-amber-300 animate-spin"});if(e.type==="error")return ca(e)?.isAborted===!0?o.jsx(rC,{className:"h-4 w-4 text-amber-600 dark:text-amber-400"}):o.jsx(wo,{className:"h-4 w-4 text-red-600 dark:text-red-400"});if(e.type==="tool_result"){const D=e.toolName||"";return D==="read"?o.jsx(ts,{className:"h-4 w-4 text-blue-600 dark:text-blue-300"}):D==="write"?o.jsx(Yo,{className:"h-4 w-4 text-emerald-600 dark:text-emerald-300"}):D==="ls"?o.jsx(nC,{className:"h-4 w-4 text-cyan-600 dark:text-cyan-300"}):D==="tree"?o.jsx(Cr,{className:"h-4 w-4 text-cyan-600 dark:text-cyan-300"}):Ea(D)?o.jsx(to,{className:"h-4 w-4 text-muted-foreground"}):D==="ripgrep"||D==="grep"||D==="glob"?o.jsx(Ds,{className:"h-4 w-4 text-amber-600 dark:text-amber-300"}):D==="apply_patch"?o.jsx(Hi,{className:"h-4 w-4 text-purple-600 dark:text-purple-300"}):D==="git_status"?o.jsx(ao,{className:"h-4 w-4 text-blue-600 dark:text-blue-300"}):D==="git_diff"?o.jsx(Hi,{className:"h-4 w-4 text-purple-600 dark:text-purple-300"}):D==="git_commit"?o.jsx(Cn,{className:"h-4 w-4 text-emerald-600 dark:text-emerald-300"}):D==="finish"?o.jsx(Yt,{className:"h-4 w-4 text-emerald-600 dark:text-emerald-300"}):D==="query_sessions"||D==="query_messages"||D==="search_history"||D==="get_session_context"||D==="get_parent_session"?o.jsx(iC,{className:"h-4 w-4 text-teal-600 dark:text-teal-300"}):D==="terminal"?o.jsx(to,{className:"h-4 w-4 text-amber-600 dark:text-amber-300"}):D==="skill"?o.jsx(jB,{className:"h-4 w-4 text-violet-600 dark:text-violet-300"}):D.includes("__")?o.jsx(wr,{className:"h-4 w-4 text-purple-600 dark:text-purple-300"}):o.jsx(to,{className:"h-4 w-4 text-muted-foreground"})}return o.jsx(io,{className:"h-4 w-4 text-violet-600 dark:text-violet-300"})},k=()=>{const D=e.toolName||"";let O;try{e.contentJson&&typeof e.contentJson=="object"?O=e.contentJson:typeof e.content=="string"?O=JSON.parse(e.content):O={}}catch{O={result:e.content}}return o.jsx(la,{toolName:D,contentJson:O,toolDurationMs:e.toolDurationMs,debug:!1,onNavigateToSession:r,compact:i})},v=()=>{if(e.type==="reasoning")return o.jsx(Hf,{part:e});if(e.type==="text"){let D="";const O=e.contentJson||e.content;return O&&typeof O=="object"&&"text"in O?D=String(O.text):typeof O=="string"?D=O:O&&(D=JSON.stringify(O,null,2)),o.jsxs("div",{className:"relative group",children:[o.jsx("div",{className:"absolute -top-1 right-0 opacity-0 group-hover:opacity-100 transition-opacity z-10",children:o.jsx(Qn,{text:D,className:"bg-background/80 backdrop-blur-sm border border-border/50 shadow-sm",size:"md"})}),o.jsx("div",{className:"text-base text-foreground leading-relaxed markdown-content max-w-full overflow-x-auto",children:o.jsx(ja,{remarkPlugins:[Ta],components:{a:({href:J,children:V,...eA})=>o.jsx("a",{href:J,target:"_blank",rel:"noopener noreferrer",onClick:X=>{window.self!==window.top&&J&&(X.preventDefault(),window.parent.postMessage({type:"otto-open-url",url:J},"*"))},...eA,children:V}),pre:({children:J,...V})=>{const eA=(()=>{if(!J)return"";const X=Array.isArray(J)?J[0]:J;if(X&&typeof X=="object"&&"props"in X){const K=X.props;if(typeof K.children=="string")return K.children}return""})();return o.jsxs("div",{className:"relative group/code my-3",children:[o.jsx("div",{className:"absolute top-2 right-2 opacity-0 group-hover/code:opacity-100 transition-opacity z-10",children:o.jsx(Qn,{text:eA,className:"bg-background/80 backdrop-blur-sm border border-border/50 shadow-sm",size:"sm"})}),o.jsx("pre",{...V,className:"overflow-x-auto",children:J})]})},table:({children:J,...V})=>o.jsx("div",{className:"overflow-x-auto max-w-full min-w-0 my-3",children:o.jsx("table",{...V,children:J})})},children:D})}),D.length>500&&o.jsx("div",{className:"absolute -bottom-1 right-0 opacity-0 group-hover:opacity-100 transition-opacity z-10",children:o.jsx(Qn,{text:D,className:"bg-background/80 backdrop-blur-sm border border-border/50 shadow-sm",size:"md"})})]})}if(e.type==="error"){let D;try{e.contentJson&&typeof e.contentJson=="object"?D=e.contentJson:typeof e.content=="string"?D=JSON.parse(e.content):D={}}catch{D={message:e.content||"Unknown error"}}return o.jsx(la,{toolName:"error",contentJson:D,toolDurationMs:e.toolDurationMs,debug:!1,compact:i,sessionId:l,onRetry:C,onCompact:I})}if(e.type==="tool_call"){const D=ca(e),O=e.toolName||(typeof D?.name=="string"?D.name:"tool"),J=_l(O),V=J.includes("__")?J.replace("__"," › "):J.replace(/_/g," "),eA=Vf(e),X=a?.args,K=eA||X,W=Xf(J,K),T=$f(K,W?.key),L=Ea(J)?Zf(K):null,w=[];if(L?w.push({key:"cmd",node:o.jsx("code",{className:"font-mono text-foreground/90 truncate max-w-xs",children:L})}):W&&w.push({key:"primary",node:o.jsx("code",{className:"font-mono text-foreground/85 truncate max-w-xs",children:W.value})}),T&&w.push({key:"args",node:o.jsx("span",{className:"text-muted-foreground/80 truncate max-w-xs",children:T})}),a&&a.callId===e.toolCallId&&g&&Q)return o.jsx(nf,{toolName:O,args:K,pendingApproval:a,onApprove:g,onReject:Q});w.length===0&&w.push({key:"running",node:o.jsx("span",{className:"text-muted-foreground/75",children:"running…"})});const d=["flex flex-wrap items-center gap-x-2 gap-y-1 text-xs text-foreground/80 max-w-full"];return e.ephemeral&&d.push("animate-pulse"),o.jsxs("div",{className:d.join(" "),children:[o.jsx("span",{className:"font-medium text-foreground",children:V}),w.map(N=>o.jsxs(x.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground/65",children:"·"}),N.node]},N.key))]})}return e.type==="tool_result"?k():null};return o.jsxs("div",{className:"flex gap-3 pb-2 relative max-w-full overflow-hidden",children:[o.jsxs("div",{className:"flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5",children:[o.jsx("div",{className:"flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-background",children:h()}),t&&o.jsx("div",{className:"absolute left-1/2 -translate-x-1/2 w-[2px] bg-border z-0",style:{top:"1.25rem",bottom:"-0.5rem"}})]}),o.jsx("div",{className:f,children:v()})]})},(A,e)=>A.part.id===e.part.id&&A.part.content===e.part.content&&A.part.contentJson===e.part.contentJson&&A.part.ephemeral===e.part.ephemeral&&A.part.completedAt===e.part.completedAt&&A.showLine===e.showLine&&A.isLastToolCall===e.isLastToolCall&&A.isLastProgressUpdate===e.isLastProgressUpdate&&A.compact===e.compact&&A.onNavigateToSession===e.onNavigateToSession&&A.pendingApproval?.callId===e.pendingApproval?.callId&&A.onApprove===e.onApprove&&A.onReject===e.onReject),Xl=new Set(["read","ls","tree","ripgrep","grep","glob","websearch","skill","query_sessions","query_messages","search_history","get_session_context","get_parent_session"]);function ng(A){if(A.contentJson&&typeof A.contentJson=="object")return A.contentJson;try{if(A.content){const e=JSON.parse(A.content);if(e&&typeof e=="object"&&!Array.isArray(e))return e}}catch{}return null}function Am(A){const t=ng(A)?.args;return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function em(A){const t=ng(A)?.result;return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function gs(A,e=56){return A.length>e?`${A.slice(0,e-1)}…`:A}function tm(A){const t=ng(A)?.text;return typeof t=="string"&&t.trim()?t.trim():typeof A.content=="string"?A.content.trim():""}function om(A){return A.split(`
|
|
110
|
+
`).map(t=>t.trim()).find(Boolean)||A.trim()}function sm(A){return A.replace(/^Reasoning:\s*/i,"").replace(/^[-*+]\s+/,"").replace(/\[(.*?)\]\((.*?)\)/g,"$1").replace(/[*_`#>~]+/g,"").replace(/\s+/g," ").trim()}function yo(A,...e){for(const t of e){const s=A[t];if(typeof s=="string"&&s.trim())return s.trim()}}function rm(A){return A.type==="reasoning"?!0:A.type!=="tool_call"&&A.type!=="tool_result"?!1:!!(A.toolName&&Xl.has(A.toolName))}function nm(A){if(A.type==="reasoning"){const s=tm(A),n=sm(om(s));return{id:A.id,label:n?gs(n):"Thinking through the approach",toolName:"reasoning",fullText:s||void 0,startedAt:A.startedAt,completedAt:A.completedAt}}if(!A.toolName||!Xl.has(A.toolName))return null;const e=Am(A),t=em(A);if(A.toolName==="read"){const s=yo(t,"path")||yo(e,"path");return{id:A.id,toolName:A.toolName,path:s,label:s?`Reading ${gs(s)}`:"Reading file contents",startedAt:A.startedAt,completedAt:A.completedAt}}if(A.toolName==="ls"||A.toolName==="tree"){const s=yo(e,"path")||yo(t,"path");return{id:A.id,toolName:A.toolName,path:s,label:s?`Scanning ${gs(s)}`:"Scanning the project",startedAt:A.startedAt,completedAt:A.completedAt}}if(A.toolName==="ripgrep"||A.toolName==="grep"||A.toolName==="glob"){const s=yo(e,"query","pattern","filePattern")||yo(t,"query","pattern");return{id:A.id,toolName:A.toolName,query:s,label:s?`Searching for ${gs(s,42)}`:"Searching code",startedAt:A.startedAt,completedAt:A.completedAt}}if(A.toolName==="websearch"){const s=yo(e,"query"),n=yo(e,"url")||yo(t,"url");return{id:A.id,toolName:A.toolName,query:s,url:n,label:s?`Researching ${gs(s,42)}`:n?`Reviewing ${gs(n,42)}`:"Researching references",startedAt:A.startedAt,completedAt:A.completedAt}}if(A.toolName==="skill"){const s=yo(e,"name");return{id:A.id,toolName:A.toolName,label:s?`Loading skill ${gs(s,36)}`:"Loading a skill",startedAt:A.startedAt,completedAt:A.completedAt}}return{id:A.id,toolName:A.toolName,label:"Reviewing prior context",startedAt:A.startedAt,completedAt:A.completedAt}}function im(A){const e=new Map;for(const s of A)s.type==="tool_result"&&s.toolCallId&&e.set(s.toolCallId,s);const t=[];for(const s of A){if(s.type==="tool_call"&&s.toolCallId&&e.has(s.toolCallId))continue;const n=nm(s);n&&t.push(n)}return t}function am(A){const e=new Set;for(const t of A)t.path&&e.add(t.path);return e}function gm(A){let e=null,t=null;for(const s of A){const n=s.startedAt??null,r=s.completedAt??s.startedAt??null;n!==null&&(e===null||n<e)&&(e=n),r!==null&&(t===null||r>t)&&(t=r)}return e!==null&&t!==null&&t>e?t-e:null}function Qm(A){const e=Math.round(A/1e3);if(e<60)return`${e}s`;const t=Math.floor(e/60),s=e%60;return s>0?`${t}m ${s}s`:`${t}m`}function Bm(A){const e=am(A);let t=0,s=0,n=0,r=0,i=0;for(const c of A)switch(c.toolName){case"reasoning":r+=1;break;case"read":break;case"ls":case"tree":s+=1;break;case"ripgrep":case"grep":case"glob":t+=1;break;case"websearch":n+=1;break;case"skill":case"query_sessions":case"query_messages":case"search_history":case"get_session_context":case"get_parent_session":i+=1;break}const a=e.size>0||s>0,g=gm(A),Q=g!==null?Qm(g):null,l=r>0&&e.size===0&&t===0&&s===0&&n===0&&i===0,C=l?Q?`Thought for ${Q}`:"Thought through the approach":n>0?a||t>0?"Researched and reviewed the project":"Researched references":i>0&&t>0?"Reviewed context and searched code":a&&t>0?"Reviewed files and searched code":s>0?"Explored project structure":e.size>0?"Reviewed project files":i>0?"Reviewed prior context":"Thought through the approach",I=[];return!l&&Q&&I.push(Q),e.size>0&&I.push(`${e.size} ${e.size===1?"file":"files"}`),t>0&&I.push(`${t} ${t===1?"search":"searches"}`),s>0&&e.size===0&&I.push(`${s} ${s===1?"scan":"scans"}`),n>0&&I.push(`${n} ${n===1?"web lookup":"web lookups"}`),i>0&&C!=="Reviewed prior context"&&I.push("prior context"),r>0&&!l&&I.push("reasoning"),I.length===0&&r===0&&I.push(`${A.length} ${A.length===1?"step":"steps"}`),{title:C,details:I}}const No=320,ko="cubic-bezier(0.25, 1, 0.5, 1)",xQ=140;function lm({entries:A,titleOverride:e,showLine:t,collapsed:s}){const n=s&&A.length>0,[r,i]=x.useState(n),[a,g]=x.useState(n),Q=x.useRef(null),l=x.useRef(null),C=x.useRef(null),I=x.useRef(!1),c=x.useRef(A.length),[u,f]=x.useState(0),h=x.useMemo(()=>Bm(A),[A]),v=[e||h.title,...h.details].join(" · "),D=A.some(V=>V.toolName==="reasoning"),O=A.length>0?A[A.length-1]:null;x.useEffect(()=>{if(!s&&!a){i(!1);return}if(!a&&s&&g(!0),r||A.length===0)return;const V=window.setTimeout(()=>i(!0),500);return()=>window.clearTimeout(V)},[s,r,a,A.length]),x.useLayoutEffect(()=>{if(r)return;const V=Q.current;if(!V)return;const eA=()=>{const K=Math.min(V.scrollHeight,xQ);f(W=>W===K?W:K)};eA();const X=new ResizeObserver(()=>eA());return X.observe(V),()=>X.disconnect()},[r]),x.useEffect(()=>()=>{C.current!==null&&window.cancelAnimationFrame(C.current)},[]),x.useEffect(()=>{if(r||I.current)return;const V=l.current;if(!V)return;const eA=Q.current?.scrollHeight??0,X=eA>u+1,K=X?Math.max(0,eA-u):0;if(C.current!==null&&(window.cancelAnimationFrame(C.current),C.current=null),!X){V.scrollTop=0;return}const W=V.scrollTop,T=K-W;if(T<=1){V.scrollTop=K;return}const L=performance.now(),w=Math.min(360,Math.max(180,T*.9)),B=d=>{const N=Math.min(1,(d-L)/w),G=1-(1-N)**3;if(V.scrollTop=W+T*G,N<1&&!I.current){C.current=window.requestAnimationFrame(B);return}C.current=null};C.current=window.requestAnimationFrame(B)},[A.length,O?.fullText,r,u]),x.useEffect(()=>{c.current=A.length},[A.length]);const J=!r;return o.jsxs("div",{className:"flex gap-3 pb-2 relative max-w-full overflow-hidden",children:[o.jsxs("div",{className:"flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5",children:[o.jsx("div",{className:"flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-background",children:D?o.jsx(vn,{className:"h-4 w-4 text-indigo-600 dark:text-indigo-300"}):o.jsx(Ds,{className:"h-4 w-4 text-amber-600 dark:text-amber-300"})}),t&&o.jsx("div",{className:"absolute left-1/2 -translate-x-1/2 w-[2px] bg-border z-0",style:{top:"1.25rem",bottom:"-0.5rem"}})]}),o.jsx("div",{className:"flex-1 min-w-0 pt-0.5",children:o.jsxs("div",{className:"relative rounded-lg overflow-hidden",style:{border:J?"1px solid hsl(var(--border) / 0.6)":"1px solid transparent",background:J?"hsl(var(--muted) / 0.2)":"transparent",padding:J?"8px 12px":"0px 0px",transition:`border ${No}ms ${ko}, background ${No}ms ${ko}, padding ${No}ms ${ko}`},children:[o.jsxs("div",{style:{overflow:"hidden",opacity:J?1:0,maxHeight:J?`${xQ+28}px`:"0px",transition:`opacity ${No}ms ${ko}, max-height ${No}ms ${ko}`},children:[o.jsx("div",{className:"text-[11px] font-medium uppercase tracking-[0.18em] text-muted-foreground/70 mb-1",children:"Exploring"}),o.jsx("div",{ref:l,className:"overflow-y-auto",style:{height:`${u}px`,transition:`height ${No}ms ${ko}`,maskImage:"linear-gradient(to bottom, transparent 0px, black 20px)",WebkitMaskImage:"linear-gradient(to bottom, transparent 0px, black 20px)"},role:"log",onMouseEnter:()=>{I.current=!0},onMouseLeave:()=>{I.current=!1},children:o.jsx("div",{ref:Q,className:"pt-2.5",children:A.map((V,eA)=>{const X=eA===A.length-1,K=eA>=c.current;return V.toolName==="reasoning"&&V.fullText&&V.fullText.trim()?o.jsx("div",{className:"px-1 py-0.5",style:{animation:K?`ottoEntryIn ${No}ms ${ko} both`:void 0},children:o.jsx("p",{className:`text-[11px] leading-relaxed font-mono whitespace-pre-wrap ${X?"text-foreground/80":"text-muted-foreground/60"}`,children:V.fullText})},V.id):o.jsx("div",{className:`flex items-center px-1 text-xs leading-5 h-7 ${X?"text-foreground":"text-muted-foreground/70"}`,style:{animation:K?`ottoEntryIn ${No}ms ${ko} both`:void 0},children:o.jsx("span",{className:"block min-w-0 truncate",children:V.label})},V.id)})})})]}),o.jsx("div",{className:"flex items-center text-xs",style:{opacity:r?1:0,height:r?"20px":"0px",overflow:"hidden",transition:`opacity ${No}ms ${ko}, height ${No}ms ${ko}`},children:o.jsx("span",{className:"block min-w-0 truncate leading-5 text-foreground",title:v,children:v})})]})}),o.jsx("style",{children:"@keyframes ottoEntryIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }"})]})}const Ro=320,Ko="cubic-bezier(0.25, 1, 0.5, 1)",DQ=140;function ig(A){if(A.contentJson&&typeof A.contentJson=="object")return A.contentJson;try{if(A.content){const e=JSON.parse(A.content);if(e&&typeof e=="object"&&!Array.isArray(e))return e}}catch{}return{}}function cm(A){const e=ig(A);return typeof e._streamedInput=="string"?e._streamedInput:""}function Em(A){const e=ig(A);return typeof e._streamedOutput=="string"?e._streamedOutput:""}function Cm(A){const t=ig(A)?.args;if(t&&typeof t=="object"&&!Array.isArray(t))return t}function Im(A){return A.match(/^\*\*\*\s+(?:Update|Add|Delete|Replace in):\s+(.+)$/m)?.[1]?.trim()||null}const um={shell:{Icon:to,color:"text-muted-foreground",label:"Running"},bash:{Icon:to,color:"text-muted-foreground",label:"Running"},write:{Icon:Yo,color:"text-emerald-600 dark:text-emerald-300",label:"Writing"},apply_patch:{Icon:Hi,color:"text-purple-600 dark:text-purple-300",label:"Patching"},edit:{Icon:Yo,color:"text-purple-600 dark:text-purple-300",label:"Editing"},multiedit:{Icon:Yo,color:"text-purple-600 dark:text-purple-300",label:"Editing"},terminal:{Icon:to,color:"text-amber-600 dark:text-amber-300",label:"Terminal"}};function $l(A){return A==="bash"?"shell":A}function Gr(A){return $l(A)==="shell"}function dm(A,e){if(!e)return"";if(Gr(A)){const t=String(e.cmd||"");return t.length>80?`${t.slice(0,77)}…`:t}if(A==="write"||A==="edit"||A==="multiedit")return String(e.path||"");if(A==="apply_patch"){const t=String(e.patch||"");return Im(t)||""}return""}function hm(A,e){if(Gr(A)){const t=$o(e,"cmd");if(t)return t.length>80?`${t.slice(0,77)}…`:t}if(A==="write")return $o(e,"path")||$o(e,"filePath");if(A==="edit"||A==="multiedit")return $o(e,"path");if(A==="apply_patch"){const t=e.match(/\*\*\*\s+(?:Update|Add|Delete|Replace in):\s+(.+?)(?:\\n|")/);return t?t[1].trim():""}return""}function pm(A){try{if(A.contentJson&&typeof A.contentJson=="object")return A.contentJson;if(typeof A.content=="string")return JSON.parse(A.content)}catch{}return{}}function fm({part:A,showLine:e}){const t=x.useRef(null),s=x.useRef(null),n=x.useRef(null),r=x.useRef(!1),i=x.useRef(0),[a,g]=x.useState(0),Q=$l(A.toolName||""),l=A.type==="tool_result",C=um[Q]||{Icon:to,color:"text-muted-foreground",label:Q.replace(/_/g," ")},[I,c]=x.useState(()=>l),[u,f]=x.useState(()=>l),h=Cm(A),k=cm(A),v=Em(A),D=dm(Q,h)||hm(Q,k),O=mm(Q,k),J=Gr(Q)?v||O||(h?yQ(Q,h):""):h?yQ(Q,h):O,V=J.trim().length>0;x.useEffect(()=>{if(!l&&!u){c(!1);return}if(!u&&l&&f(!0),I||!l)return;const K=window.setTimeout(()=>c(!0),500);return()=>window.clearTimeout(K)},[l,I,u]),x.useLayoutEffect(()=>{if(!V){g(0);return}const K=t.current;if(!K||K.textContent!==J)return;const W=Math.min(K.scrollHeight,DQ-12);g(T=>T===W?T:W)},[J,V]),x.useEffect(()=>()=>{n.current!==null&&window.cancelAnimationFrame(n.current)},[]),x.useEffect(()=>{const K=s.current;if(!K||r.current)return;const W=J.length,T=t.current?.scrollHeight??0,L=T>a+1,w=L?Math.max(0,T-a):0;if(n.current!==null&&(window.cancelAnimationFrame(n.current),n.current=null),!L){K.scrollTop=0,i.current=W;return}if(W<=i.current){K.scrollTop=w,i.current=W;return}const B=K.scrollTop,d=w-B;if(d<=1){K.scrollTop=w,i.current=W;return}const N=performance.now(),G=Math.min(360,Math.max(180,d*.9)),S=j=>{const H=Math.min(1,(j-N)/G),b=1-(1-H)**3;if(K.scrollTop=B+d*b,H<1&&!r.current){n.current=window.requestAnimationFrame(S);return}n.current=null};n.current=window.requestAnimationFrame(S),i.current=W},[J,a]);const eA=!I,X=l?pm(A):null;return o.jsxs("div",{className:"flex gap-3 pb-2 relative max-w-full overflow-hidden",children:[o.jsxs("div",{className:"flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5",children:[o.jsx("div",{className:"flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-background",children:o.jsx(C.Icon,{className:`h-4 w-4 ${C.color}`})}),e&&o.jsx("div",{className:"absolute left-1/2 -translate-x-1/2 w-[2px] bg-border z-0",style:{top:"1.25rem",bottom:"-0.5rem"}})]}),o.jsx("div",{className:"flex-1 min-w-0 pt-0.5",children:o.jsxs("div",{className:"relative rounded-lg overflow-hidden",style:{border:eA?"1px solid hsl(var(--border) / 0.6)":"1px solid transparent",background:eA?"hsl(var(--muted) / 0.2)":"transparent",padding:eA?"8px 12px":"0px 0px",transition:`border ${Ro}ms ${Ko}, background ${Ro}ms ${Ko}, padding ${Ro}ms ${Ko}`},children:[o.jsxs("div",{style:{overflow:"hidden",opacity:eA?1:0,maxHeight:eA?`${DQ+28}px`:"0px",transition:`opacity ${Ro}ms ${Ko}, max-height ${Ro}ms ${Ko}`},children:[o.jsxs("div",{className:"flex items-center gap-2 text-[11px] font-medium uppercase tracking-[0.18em] text-muted-foreground/70",children:[o.jsx(Le,{className:"h-3 w-3 animate-spin flex-shrink-0"}),o.jsx("span",{className:"flex-shrink-0",children:C.label}),D&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground/40 flex-shrink-0",children:"·"}),o.jsx("span",{className:"truncate text-foreground/60 lowercase tracking-normal font-normal font-mono",children:D})]}),!h&&!O&&!v&&o.jsx("span",{className:"text-muted-foreground/50 animate-pulse lowercase tracking-normal font-normal",children:"generating…"})]}),o.jsx("div",{style:{overflow:"hidden",opacity:V?1:0,height:V?`${a+6}px`:"0px",transition:`opacity ${Ro}ms ${Ko}, height ${Ro}ms ${Ko}`},children:J&&o.jsx("div",{className:"pt-1.5",children:o.jsx("section",{ref:s,className:"overflow-y-auto","aria-label":`${C.label} content`,style:{height:`${a}px`,maskImage:"linear-gradient(to bottom, transparent 0px, black 20px)",WebkitMaskImage:"linear-gradient(to bottom, transparent 0px, black 20px)"},onMouseEnter:()=>{r.current=!0},onMouseLeave:()=>{r.current=!1},children:o.jsx("pre",{ref:t,className:"px-1 pt-2.5 pb-1 text-[11px] leading-relaxed text-foreground/60 font-mono whitespace-pre-wrap break-all",children:J})})})})]}),o.jsx("div",{className:"min-w-0 text-xs",style:{opacity:I?1:0,maxHeight:I?"1200px":"0px",overflow:"hidden",transition:`opacity ${Ro}ms ${Ko}, max-height ${Ro}ms ${Ko}`},children:X?o.jsx("div",{className:"min-w-0",children:o.jsx(la,{toolName:Q,contentJson:X,toolDurationMs:A.toolDurationMs??void 0,debug:!1,compact:!1})}):o.jsx("div",{className:"flex min-w-0 items-center",children:o.jsx("span",{className:"block min-w-0 truncate leading-5 text-foreground",title:D||C.label,children:D?`${C.label} · ${D}`:C.label})})})]})})]})}function yQ(A,e){return Gr(A)?String(e.cmd||""):A==="write"?String(e.content||""):A==="apply_patch"?String(e.patch||""):A==="edit"?String(e.oldString||""):""}function $o(A,e){const s=new RegExp(`"${e}"\\s*:\\s*"`).exec(A);if(!s)return"";const n=s.index+s[0].length;let r="",i=n;for(;i<A.length;)if(A[i]==="\\"&&i+1<A.length){const a=A[i+1];a==="n"?r+=`
|
|
111
|
+
`:a==="t"?r+=" ":a==='"'?r+='"':a==="\\"?r+="\\":r+=a,i+=2}else{if(A[i]==='"')break;r+=A[i],i+=1}return r}function mm(A,e){return e?Gr(A)?$o(e,"cmd"):A==="write"?$o(e,"content"):A==="apply_patch"?$o(e,"patch"):A==="edit"?$o(e,"oldString"):"":""}const ci={currentMessageId:null,queuedMessages:[],queueLength:0};function wm(A){const{data:e}=at({queryKey:["queueState",A],queryFn:()=>ci,enabled:!!A,initialData:ci,staleTime:1/0});return e??ci}function Ac(A,e){const t=wm(A);if(!A||!t)return{isQueued:!1,isRunning:!1,position:null};if(t.currentMessageId===e)return{isQueued:!1,isRunning:!0,position:null};const s=t.queuedMessages.find(n=>n.messageId===e);return s?{isQueued:!0,isRunning:!1,position:s.position}:{isQueued:!1,isRunning:!1,position:null}}function xm(A){const e=ke();return Ze({mutationFn:t=>{if(!A)throw new Error("No session ID");return mA.createBranch(A,t)},onSuccess:()=>{e.invalidateQueries({queryKey:fo}),A&&e.invalidateQueries({queryKey:["branches",A]})}})}function ec(A){return at({queryKey:["parentSession",A],queryFn:()=>{if(!A)throw new Error("No session ID");return mA.getParentSession(A)},enabled:!!A})}function Dm({isOpen:A,onClose:e,sessionId:t,message:s,onBranchCreated:n}){const r=eg(t),i=xm(t),[a,g]=x.useState(""),[Q,l]=x.useState(!0),C=x.useId(),I=x.useId(),c=s.parts?.find(h=>h.type==="text")?.content||"",u=(()=>{try{return JSON.parse(c)?.text?.slice(0,100)||""}catch{return c.slice(0,100)}})(),f=async h=>{h.preventDefault();try{const k=await i.mutateAsync({fromMessageId:s.id,title:a.trim()||void 0,provider:Q?r?.provider:void 0,model:Q?r?.model:void 0,agent:Q?r?.agent:void 0});e(),n&&k.session&&n(k.session.id)}catch(k){console.error("Failed to create branch:",k)}};return o.jsx(Po,{isOpen:A,onClose:e,title:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(ao,{className:"h-5 w-5 text-primary"}),o.jsx("span",{children:"Branch Session"})]}),maxWidth:"md",children:o.jsxs("form",{onSubmit:f,className:"space-y-4",children:[o.jsxs("div",{className:"text-sm text-muted-foreground",children:[o.jsx("p",{children:"Creating branch from message:"}),o.jsxs("p",{className:"mt-1 p-2 bg-muted/50 rounded text-foreground italic truncate",children:['"',u,'..."']})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx("label",{htmlFor:C,className:"block text-sm font-medium text-foreground",children:"Branch Title (optional)"}),o.jsx("input",{id:C,type:"text",value:a,onChange:h=>g(h.target.value),placeholder:`Branch of ${r?.title||"Untitled"}`,className:"w-full px-3 py-2 bg-background border border-border rounded-md text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary/50"})]}),o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("input",{id:I,type:"checkbox",checked:Q,onChange:h=>l(h.target.checked),className:"h-4 w-4 rounded border-border text-primary focus:ring-primary/50"}),o.jsx("label",{htmlFor:I,className:"text-sm text-foreground",children:"Use same provider/model/agent as parent"})]}),r&&o.jsx("div",{className:"text-xs text-muted-foreground bg-muted/30 rounded p-2",children:o.jsxs("div",{className:"flex gap-4",children:[o.jsxs("span",{children:[o.jsx("strong",{children:"Provider:"})," ",r.provider]}),o.jsxs("span",{children:[o.jsx("strong",{children:"Model:"})," ",r.model]}),o.jsxs("span",{children:[o.jsx("strong",{children:"Agent:"})," ",r.agent]})]})}),o.jsxs("div",{className:"flex justify-end gap-2 pt-2",children:[o.jsx("button",{type:"button",onClick:e,className:"px-4 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors",children:"Cancel"}),o.jsx("button",{type:"submit",disabled:i.isPending,className:"px-4 py-2 text-sm bg-primary text-primary-foreground rounded-md hover:bg-primary/90 disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-2",children:i.isPending?o.jsxs(o.Fragment,{children:[o.jsx(Le,{className:"h-4 w-4 animate-spin"}),"Creating..."]}):o.jsxs(o.Fragment,{children:[o.jsx(ao,{className:"h-4 w-4"}),"Create Branch"]})})]}),i.isError&&o.jsx("p",{className:"text-sm text-red-500",children:i.error?.message||"Failed to create branch"})]})})}const NQ=["Generating...","Cooking up something...","Thinking...","Processing...","Working on it...","Crafting response...","Brewing magic...","Computing..."];function ym(A){const e=A.split("").reduce((t,s)=>t+s.charCodeAt(0),0);return NQ[e%NQ.length]}const tc=x.memo(function({sessionId:e,message:t,showHeader:s,hasNextAssistantMessage:n,onBranchCreated:r,compact:i,showBranchButton:a=!0,onNavigateToSession:g,onRetry:Q,onCompact:l}){const{isQueued:C}=Ac(e,t.id),[I,c]=x.useState(!1),[u,f]=x.useState(!1),[h,k]=x.useState(!1),{pendingApprovals:v,removePendingApproval:D}=Mr(),O=x.useCallback(async E=>{if(e)try{await mA.approveToolCall(e,E,!0),D(E)}catch(p){console.error("Failed to approve tool call:",p)}},[e,D]),J=x.useCallback(async E=>{if(e)try{await mA.approveToolCall(e,E,!1),D(E)}catch(p){console.error("Failed to reject tool call:",p)}},[e,D]),V=x.useMemo(()=>v.filter(E=>E.messageId===t.id),[v,t.id]),eA=x.useCallback(async()=>{if(e)try{await Promise.all(V.map(E=>mA.approveToolCall(e,E.callId,!0)));for(const E of V)D(E.callId)}catch(E){console.error("Failed to approve all tool calls:",E)}},[e,V,D]),X=x.useMemo(()=>[...t.parts||[]].sort((p,U)=>{const R=(p.index??0)-(U.index??0);if(R!==0)return R;const _=(p.stepIndex??0)-(U.stepIndex??0);return _!==0?_:(p.startedAt??0)-(U.startedAt??0)}),[t.parts]),K=X.some(E=>E.toolName==="finish"),W=X.reduce((E,p,U)=>p.type==="tool_result"&&p.toolName==="progress_update"?U:E,-1),T=W>=0?X[W]:null,L=new Set(X.filter(E=>E.ephemeral&&["shell","bash","edit","multiedit","write","apply_patch","terminal"].includes(E.toolName||"")).map(E=>E.toolCallId).filter(E=>!!E)),w=x.useMemo(()=>{const E=[];let p=[],U=-1,R;const _=tA=>{if(p.length===0){tA&&(R=tA);return}const IA=im(p);if(IA.length>0)E.push({kind:"group",id:`compact-${p[0].id}`,entries:IA,titleOverride:R});else for(const[iA,UA]of p.entries())E.push({kind:"part",index:U+iA,part:UA});p=[],U=-1,R=tA};for(const[tA,IA]of X.entries()){if((IA.type==="tool_result"||IA.type==="tool_call")&&IA.toolName==="progress_update"){let UA;const HA=IA.contentJson&&typeof IA.contentJson=="object"?IA.contentJson:null;if(HA){const lA=HA.args??HA.result;if(lA&&typeof lA=="object"){const qA=lA.message;typeof qA=="string"&&qA.trim()&&(UA=qA.trim())}}UA&&_(UA);continue}if(i&&rm(IA)){p.length===0&&(U=tA),p.push(IA);continue}_(),E.push({kind:"part",index:tA,part:IA})}return _(),E},[X,i]),B=w.length>0,d=X.findIndex(E=>!(E.type==="tool_result"&&E.toolName==="progress_update")),N=t.status==="pending"&&!K&&!!T,G=t.status==="pending"&&!K&&!T&&!C,S=E=>E?new Date(E).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):"",j=t.status==="complete",H=x.useCallback(()=>{const E=X.filter(p=>p.type==="text").map(p=>{try{return JSON.parse(p.content||"{}")?.text||""}catch{return p.content||""}}).join(`
|
|
112
|
+
`);navigator.clipboard.writeText(E),k(!0),setTimeout(()=>k(!1),2e3)},[X]),b=x.useCallback(()=>{f(!0)},[]);return C?null:o.jsxs("div",{className:"relative group",onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),children:[s&&o.jsxs("div",{className:"pb-2 flex items-center justify-between",children:[o.jsxs("div",{className:"inline-flex items-center bg-violet-500/10 border border-violet-500/30 dark:bg-violet-500/5 dark:border-violet-500/20 rounded-full pr-3 md:pr-4 flex-shrink min-w-0",children:[o.jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-full border border-violet-500/50 bg-violet-500/20 dark:bg-violet-500/10",children:o.jsx(io,{className:"h-3.5 w-3.5 text-violet-700 dark:text-violet-300"})}),o.jsxs("div",{className:"flex items-center gap-x-1.5 md:gap-x-2 text-xs md:text-sm text-muted-foreground pl-2 md:pl-3 min-w-0",children:[t.agent&&o.jsx("span",{className:"font-medium text-violet-700 dark:text-violet-300 whitespace-nowrap",title:t.agent,children:t.agent}),t.provider&&o.jsxs(o.Fragment,{children:[t.agent&&o.jsx("span",{className:"text-muted-foreground/50",children:"·"}),o.jsx($t,{provider:t.provider,size:14,className:"opacity-70"})]}),t.model&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"hidden md:inline text-muted-foreground/50",children:"·"}),o.jsx("span",{className:"hidden md:inline text-muted-foreground whitespace-nowrap",title:t.model,children:t.model})]}),t.createdAt&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground/50",children:"·"}),o.jsx("span",{className:"text-muted-foreground whitespace-nowrap",children:S(t.createdAt)})]})]})]}),I&&j&&e&&a&&o.jsx("button",{type:"button",onClick:b,className:"ml-4 p-1.5 text-muted-foreground hover:text-primary transition-colors flex-shrink-0",title:"Branch from this message",children:o.jsx(ao,{className:"h-4 w-4"})})]}),o.jsxs("div",{className:"relative ml-1",children:[w.map((E,p)=>{const U=p<w.length-1||n||N;if(E.kind==="group")return o.jsx(lm,{entries:E.entries,titleOverride:E.titleOverride,showLine:U,collapsed:t.status!=="pending"||p<w.length-1},E.id);const{part:R,index:_}=E,tA=_===X.length-1;if(R.ephemeral&&(R.type==="tool_call"||R.type==="tool_result")&&["shell","bash","edit","multiedit","write","apply_patch","terminal"].includes(R.toolName||""))return o.jsx(fm,{part:R,showLine:U},R.id);const iA=R.type==="tool_call"&&R.toolCallId?v.find(qA=>qA.callId===R.toolCallId)??null:null;if(R.type==="tool_result"&&R.toolCallId&&L.has(R.toolCallId))return null;const UA=R.type==="tool_result"&&R.toolName==="finish",HA=U&&!UA,lA=R.type==="tool_call"&&tA;return o.jsx(wQ,{part:R,showLine:HA,isFirstPart:_===d&&!s,isLastToolCall:lA,onNavigateToSession:g,compact:i,pendingApproval:iA,onApprove:O,onReject:J,sessionId:e,onRetry:Q,onCompact:l},R.id)}),V.length>1&&o.jsxs("div",{className:"flex items-center gap-3 py-2 px-3 my-2 bg-amber-50 dark:bg-amber-950/30 border border-amber-200 dark:border-amber-800 rounded-lg",children:[o.jsx(Ra,{className:"h-4 w-4 text-amber-600 dark:text-amber-400 flex-shrink-0"}),o.jsxs("span",{className:"text-sm text-amber-800 dark:text-amber-200 flex-1",children:[V.length," tools waiting for approval"]}),o.jsxs("button",{type:"button",onClick:eA,title:"Approve All (A)",className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-amber-600 text-white hover:bg-amber-700 transition-colors",children:[o.jsx(UB,{className:"w-3.5 h-3.5"}),"Approve All",o.jsx("kbd",{className:"ml-1 text-[10px] opacity-70",children:"A"})]})]}),N&&T&&o.jsx(wQ,{part:T,showLine:n,isFirstPart:!B&&!s,isLastProgressUpdate:!0,compact:i},T.id),G&&o.jsxs("div",{className:"flex gap-3 pb-2 relative",children:[o.jsx("div",{className:"flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5",children:o.jsx("div",{className:"flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-card text-violet-700 dark:bg-background dark:text-violet-300",children:o.jsx(io,{className:"h-4 w-4"})})}),o.jsx("div",{className:"flex-1 pt-0.5",children:o.jsx("div",{className:"text-base text-foreground animate-pulse",children:ym(t.id)})})]})]}),j&&e&&o.jsx("div",{className:"grid ml-7 transition-[grid-template-rows] duration-200 ease-out",style:{gridTemplateRows:I?"1fr":"0fr"},children:o.jsx("div",{className:"overflow-hidden",children:o.jsxs("div",{className:"flex gap-2 mt-2",children:[a&&o.jsxs("button",{type:"button",onClick:b,className:"flex items-center gap-1.5 px-2 py-1 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 rounded transition-colors",children:[o.jsx(ao,{className:"h-3 w-3"}),"Branch"]}),o.jsx("button",{type:"button",onClick:H,className:"flex items-center gap-1.5 px-2 py-1 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 rounded transition-colors",children:h?o.jsxs(o.Fragment,{children:[o.jsx(Yt,{className:"h-3 w-3 text-green-500"}),"Copied"]}):o.jsxs(o.Fragment,{children:[o.jsx(ps,{className:"h-3 w-3"}),"Copy"]})})]})})}),u&&e&&o.jsx(Dm,{isOpen:u,onClose:()=>f(!1),sessionId:e,message:t,onBranchCreated:r})]})},(A,e)=>{const t=A.message.parts||[],s=e.message.parts||[];if(t.length!==s.length)return!1;for(let n=0;n<t.length;n++){const r=t[n],i=s[n];if(r.id!==i.id||r.index!==i.index||r.stepIndex!==i.stepIndex||r.type!==i.type||r.content!==i.content||r.contentJson!==i.contentJson||r.toolName!==i.toolName||r.toolCallId!==i.toolCallId||r.ephemeral!==i.ephemeral||r.completedAt!==i.completedAt||r.startedAt!==i.startedAt)return!1}return A.message.id===e.message.id&&A.message.status===e.message.status&&A.message.completedAt===e.message.completedAt&&A.showHeader===e.showHeader&&A.hasNextAssistantMessage===e.hasNextAssistantMessage&&A.isLastMessage===e.isLastMessage&&A.sessionId===e.sessionId&&A.compact===e.compact&&A.onNavigateToSession===e.onNavigateToSession}),oc=x.memo(function({sessionId:e,message:t,nextAssistantMessageId:s}){const[n,r]=x.useState(null),i=t.parts||[],a=ke(),{isQueued:g,position:Q}=Ac(e,s??""),l=Ba(T=>T.setPendingRestoreText),C=i.filter(T=>T.type==="text"),I=i.filter(T=>T.type==="image"),c=i.filter(T=>T.type==="file"),u=C[0];let f="";if(u){const T=u.contentJson||u.content;T&&typeof T=="object"&&"text"in T?f=String(T.text):typeof T=="string"?f=T:T&&(f=JSON.stringify(T,null,2))}const{researchContexts:h,cleanContent:k}=zp(f),v=[];for(const T of I)try{const L=T.contentJson||JSON.parse(T.content||"{}");if(L&&typeof L=="object"&&"data"in L){const w=L,B=`data:${w.mediaType};base64,${w.data}`;v.push({id:T.id,src:B})}}catch{}const D=[];for(const T of c)try{const L=T.contentJson||JSON.parse(T.content||"{}");if(L&&typeof L=="object"&&"type"in L){const w=L;if(w.type==="image"&&w.data){const B=`data:${w.mediaType};base64,${w.data}`;v.push({id:T.id,src:B})}else D.push({id:T.id,type:w.type,name:w.name})}}catch{}const O=T=>T?new Date(T).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):"",J=k.trim().length>0,V=v.length>0,eA=D.length>0,X=h.length>0;if(!J&&!V&&!eA&&!X)return null;const K=async()=>{if(!(!e||!s)){l(k);try{await mA.removeFromQueue(e,s),a.invalidateQueries({queryKey:["messages",e]})}catch(T){console.error("Failed to cancel queued message:",T)}}},W=async()=>{if(!(!e||!s))try{await mA.removeFromQueue(e,s),a.invalidateQueries({queryKey:["messages",e]})}catch(T){console.error("Failed to delete queued message:",T)}};return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"relative pb-8 pt-6",children:o.jsxs("div",{className:"flex gap-3 md:gap-4 justify-end",children:[o.jsxs("div",{className:"flex flex-col items-end min-w-0 flex-1 max-w-[calc(100%-3rem)] md:max-w-2xl",children:[o.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground pb-2 justify-end",children:[o.jsx("span",{className:"font-medium text-emerald-700 dark:text-emerald-300",children:"You"}),t.createdAt&&o.jsx("span",{children:"·"}),t.createdAt&&o.jsx("span",{children:O(t.createdAt)}),g&&o.jsxs(o.Fragment,{children:[o.jsx("span",{children:"·"}),o.jsxs("span",{className:"inline-flex items-center gap-1 text-amber-600 dark:text-amber-400",children:[o.jsx(Ka,{className:"h-3 w-3"}),"Queued",Q!==null&&Q>0?` #${Q+1}`:""]})]})]}),o.jsxs("div",{className:"inline-block max-w-full text-sm text-foreground leading-relaxed bg-emerald-500/5 border border-emerald-500/20 rounded-xl px-4 py-3 [word-break:break-word] overflow-hidden",children:[V&&o.jsx("div",{className:"flex flex-wrap gap-2 mb-2",children:v.map(T=>o.jsx("button",{type:"button",onClick:()=>r(T.src),className:"w-16 h-16 rounded-lg overflow-hidden bg-muted hover:ring-2 hover:ring-primary/50 transition-all",children:o.jsx("img",{src:T.src,alt:"Attachment",className:"w-full h-full object-cover"})},T.id))}),eA&&o.jsx("div",{className:"flex flex-wrap gap-2 mb-2",children:D.map(T=>o.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-muted/50 border border-border",children:[T.type==="pdf"?o.jsx(es,{className:"w-4 h-4 text-red-500 flex-shrink-0"}):o.jsx(ts,{className:"w-4 h-4 text-blue-500 flex-shrink-0"}),o.jsx("span",{className:"text-xs truncate max-w-[150px]",children:T.name})]},T.id))}),X&&o.jsx("div",{className:"flex flex-wrap gap-2 mb-2",children:h.map(T=>o.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-teal-500/10 border border-teal-500/30",children:[o.jsx(Er,{className:"w-4 h-4 text-teal-500 flex-shrink-0"}),o.jsx("span",{className:"text-xs text-teal-600 dark:text-teal-400",children:T.label})]},T.id))}),J&&o.jsx("div",{className:"prose prose-invert prose-sm [&>*:first-child]:mt-0 [&>*:last-child]:mb-0 [&_*]:[word-break:break-word] [&_*]:overflow-wrap-anywhere whitespace-pre-wrap",children:o.jsx(ja,{remarkPlugins:[Ta],components:{a:({href:T,children:L,...w})=>o.jsx("a",{href:T,target:"_blank",rel:"noopener noreferrer",onClick:B=>{window.self!==window.top&&T&&(B.preventDefault(),window.parent.postMessage({type:"otto-open-url",url:T},"*"))},...w,children:L})},children:k.replace(/\n/g,`
|
|
113
|
+
`)})})]}),g&&o.jsxs("div",{className:"flex items-center gap-2 mt-2",children:[o.jsxs("button",{type:"button",onClick:K,className:"inline-flex items-center gap-1.5 px-2.5 py-1 text-xs rounded-md bg-muted hover:bg-muted/80 text-muted-foreground hover:text-foreground transition-colors",title:"Cancel and restore to input",children:[o.jsx(TB,{className:"h-3 w-3"}),"Cancel"]}),o.jsxs("button",{type:"button",onClick:W,className:"inline-flex items-center gap-1.5 px-2.5 py-1 text-xs rounded-md bg-destructive/10 hover:bg-destructive/20 text-destructive transition-colors",title:"Delete from queue",children:[o.jsx(mr,{className:"h-3 w-3"}),"Delete"]})]})]}),o.jsx("div",{className:"flex-shrink-0 w-8 flex items-start justify-center",children:o.jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-full border-2 border-emerald-500/50 bg-emerald-500/20 dark:bg-emerald-500/10 relative bg-background",children:o.jsx(Fa,{className:"h-4 w-4 text-emerald-700 dark:text-emerald-300"})})})]})}),n&&o.jsxs("div",{role:"dialog","aria-modal":"true",className:"fixed inset-0 z-50 flex items-center justify-center bg-black/80 p-4",onClick:()=>r(null),onKeyDown:T=>T.key==="Escape"&&r(null),tabIndex:-1,children:[o.jsx("button",{type:"button",onClick:()=>r(null),className:"absolute top-4 right-4 p-2 rounded-full bg-white/10 hover:bg-white/20 transition-colors",children:o.jsx(lt,{className:"w-6 h-6 text-white"})}),o.jsx("img",{src:n,alt:"Expanded attachment",className:"max-w-full max-h-full object-contain rounded-lg",onClick:T=>T.stopPropagation(),onKeyDown:T=>T.key==="Enter"&&T.stopPropagation()})]})]})},(A,e)=>{const t=A.message.parts?.[0],s=e.message.parts?.[0];return A.message.id===e.message.id&&t?.content===s?.content&&t?.contentJson===s?.contentJson&&A.message.createdAt===e.message.createdAt&&A.message.parts?.length===e.message.parts?.length&&A.sessionId===e.sessionId&&A.nextAssistantMessageId===e.nextAssistantMessageId}),Nm={openai:{id:"openai",models:[{id:"chatgpt-image-latest",ownedBy:"openai",label:"chatgpt-image-latest",modalities:{input:["text","image"],output:["text","image"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!1,releaseDate:"2025-12-16",lastUpdated:"2025-12-16",openWeights:!1,limit:{context:0,output:0}},{id:"gpt-3.5-turbo",ownedBy:"openai",label:"GPT-3.5-turbo",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2021-09-01",releaseDate:"2023-03-01",lastUpdated:"2023-11-06",openWeights:!1,cost:{input:.5,output:1.5,cacheRead:1.25},limit:{context:16385,output:4096}},{id:"gpt-4",ownedBy:"openai",label:"GPT-4",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-11",releaseDate:"2023-11-06",lastUpdated:"2024-04-09",openWeights:!1,cost:{input:30,output:60},limit:{context:8192,output:8192}},{id:"gpt-4-turbo",ownedBy:"openai",label:"GPT-4 Turbo",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-12",releaseDate:"2023-11-06",lastUpdated:"2024-04-09",openWeights:!1,cost:{input:10,output:30},limit:{context:128e3,output:4096}},{id:"gpt-4.1",ownedBy:"openai",label:"GPT-4.1",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2025-04-14",lastUpdated:"2025-04-14",openWeights:!1,cost:{input:2,output:8,cacheRead:.5},limit:{context:1047576,output:32768}},{id:"gpt-4.1-mini",ownedBy:"openai",label:"GPT-4.1 mini",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2025-04-14",lastUpdated:"2025-04-14",openWeights:!1,cost:{input:.4,output:1.6,cacheRead:.1},limit:{context:1047576,output:32768}},{id:"gpt-4.1-nano",ownedBy:"openai",label:"GPT-4.1 nano",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2025-04-14",lastUpdated:"2025-04-14",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.03},limit:{context:1047576,output:32768}},{id:"gpt-4o",ownedBy:"openai",label:"GPT-4o",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-09",releaseDate:"2024-05-13",lastUpdated:"2024-08-06",openWeights:!1,cost:{input:2.5,output:10,cacheRead:1.25},limit:{context:128e3,output:16384}},{id:"gpt-4o-2024-05-13",ownedBy:"openai",label:"GPT-4o (2024-05-13)",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-09",releaseDate:"2024-05-13",lastUpdated:"2024-05-13",openWeights:!1,cost:{input:5,output:15},limit:{context:128e3,output:4096}},{id:"gpt-4o-2024-08-06",ownedBy:"openai",label:"GPT-4o (2024-08-06)",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-09",releaseDate:"2024-08-06",lastUpdated:"2024-08-06",openWeights:!1,cost:{input:2.5,output:10,cacheRead:1.25},limit:{context:128e3,output:16384}},{id:"gpt-4o-2024-11-20",ownedBy:"openai",label:"GPT-4o (2024-11-20)",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-09",releaseDate:"2024-11-20",lastUpdated:"2024-11-20",openWeights:!1,cost:{input:2.5,output:10,cacheRead:1.25},limit:{context:128e3,output:16384}},{id:"gpt-4o-mini",ownedBy:"openai",label:"GPT-4o mini",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-09",releaseDate:"2024-07-18",lastUpdated:"2024-07-18",openWeights:!1,cost:{input:.15,output:.6,cacheRead:.08},limit:{context:128e3,output:16384}},{id:"gpt-5",ownedBy:"openai",label:"GPT-5",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:4e5,output:128e3}},{id:"gpt-5-chat-latest",ownedBy:"openai",label:"GPT-5 Chat (latest)",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-09-30",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:1.25,output:10},limit:{context:4e5,output:128e3}},{id:"gpt-5-codex",ownedBy:"openai",label:"GPT-5-Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-09-15",lastUpdated:"2025-09-15",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:4e5,output:128e3}},{id:"gpt-5-mini",ownedBy:"openai",label:"GPT-5 Mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-05-30",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:.25,output:2,cacheRead:.025},limit:{context:4e5,output:128e3}},{id:"gpt-5-nano",ownedBy:"openai",label:"GPT-5 Nano",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-05-30",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:.05,output:.4,cacheRead:.005},limit:{context:4e5,output:128e3}},{id:"gpt-5-pro",ownedBy:"openai",label:"GPT-5 Pro",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-10-06",lastUpdated:"2025-10-06",openWeights:!1,cost:{input:15,output:120},limit:{context:4e5,output:272e3}},{id:"gpt-5.1",ownedBy:"openai",label:"GPT-5.1",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.13},limit:{context:4e5,output:128e3}},{id:"gpt-5.1-chat-latest",ownedBy:"openai",label:"GPT-5.1 Chat",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:128e3,output:16384}},{id:"gpt-5.1-codex",ownedBy:"openai",label:"GPT-5.1 Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:4e5,output:128e3}},{id:"gpt-5.1-codex-max",ownedBy:"openai",label:"GPT-5.1 Codex Max",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:4e5,output:128e3}},{id:"gpt-5.1-codex-mini",ownedBy:"openai",label:"GPT-5.1 Codex mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:.25,output:2,cacheRead:.025},limit:{context:4e5,output:128e3}},{id:"gpt-5.2",ownedBy:"openai",label:"GPT-5.2",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3}},{id:"gpt-5.2-chat-latest",ownedBy:"openai",label:"GPT-5.2 Chat",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:128e3,output:16384}},{id:"gpt-5.2-codex",ownedBy:"openai",label:"GPT-5.2 Codex",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3}},{id:"gpt-5.2-pro",ownedBy:"openai",label:"GPT-5.2 Pro",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:21,output:168},limit:{context:4e5,output:128e3}},{id:"gpt-5.3-chat-latest",ownedBy:"openai",label:"GPT-5.3 Chat (latest)",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2025-08-31",releaseDate:"2026-03-03",lastUpdated:"2026-03-03",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:128e3,output:16384}},{id:"gpt-5.3-codex",ownedBy:"openai",label:"GPT-5.3 Codex",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-02-05",lastUpdated:"2026-02-05",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3}},{id:"gpt-5.3-codex-spark",ownedBy:"openai",label:"GPT-5.3 Codex Spark",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-02-05",lastUpdated:"2026-02-05",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:128e3,output:32e3}},{id:"gpt-5.4",ownedBy:"openai",label:"GPT-5.4",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-05",lastUpdated:"2026-03-05",openWeights:!1,cost:{input:2.5,output:15,cacheRead:.25},limit:{context:105e4,output:128e3}},{id:"gpt-5.4-mini",ownedBy:"openai",label:"GPT-5.4 mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-17",lastUpdated:"2026-03-17",openWeights:!1,cost:{input:.75,output:4.5,cacheRead:.075},limit:{context:4e5,output:128e3}},{id:"gpt-5.4-nano",ownedBy:"openai",label:"GPT-5.4 nano",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-17",lastUpdated:"2026-03-17",openWeights:!1,cost:{input:.2,output:1.25,cacheRead:.02},limit:{context:4e5,output:128e3}},{id:"gpt-5.4-pro",ownedBy:"openai",label:"GPT-5.4 Pro",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-05",lastUpdated:"2026-03-05",openWeights:!1,cost:{input:30,output:180},limit:{context:105e4,output:128e3}},{id:"gpt-5.5",ownedBy:"openai",label:"GPT-5.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-12-01",releaseDate:"2026-04-23",lastUpdated:"2026-04-23",openWeights:!1,cost:{input:5,output:30,cacheRead:.5},limit:{context:105e4,output:13e4}},{id:"gpt-image-1",ownedBy:"openai",label:"gpt-image-1",modalities:{input:["text","image"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!1,releaseDate:"2025-04-24",lastUpdated:"2025-04-24",openWeights:!1,limit:{context:0,output:0}},{id:"gpt-image-1-mini",ownedBy:"openai",label:"gpt-image-1-mini",modalities:{input:["text","image"],output:["text","image"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!1,releaseDate:"2025-09-26",lastUpdated:"2025-09-26",openWeights:!1,limit:{context:0,output:0}},{id:"gpt-image-1.5",ownedBy:"openai",label:"gpt-image-1.5",modalities:{input:["text","image"],output:["text","image"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!1,releaseDate:"2025-11-25",lastUpdated:"2025-11-25",openWeights:!1,limit:{context:0,output:0}},{id:"o1",ownedBy:"openai",label:"o1",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2023-09",releaseDate:"2024-12-05",lastUpdated:"2024-12-05",openWeights:!1,cost:{input:15,output:60,cacheRead:7.5},limit:{context:2e5,output:1e5}},{id:"o1-mini",ownedBy:"openai",label:"o1-mini",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2023-09",releaseDate:"2024-09-12",lastUpdated:"2024-09-12",openWeights:!1,cost:{input:1.1,output:4.4,cacheRead:.55},limit:{context:128e3,output:65536}},{id:"o1-preview",ownedBy:"openai",label:"o1-preview",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2023-09",releaseDate:"2024-09-12",lastUpdated:"2024-09-12",openWeights:!1,cost:{input:15,output:60,cacheRead:7.5},limit:{context:128e3,output:32768}},{id:"o1-pro",ownedBy:"openai",label:"o1-pro",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2023-09",releaseDate:"2025-03-19",lastUpdated:"2025-03-19",openWeights:!1,cost:{input:150,output:600},limit:{context:2e5,output:1e5}},{id:"o3",ownedBy:"openai",label:"o3",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-05",releaseDate:"2025-04-16",lastUpdated:"2025-04-16",openWeights:!1,cost:{input:2,output:8,cacheRead:.5},limit:{context:2e5,output:1e5}},{id:"o3-deep-research",ownedBy:"openai",label:"o3-deep-research",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-05",releaseDate:"2024-06-26",lastUpdated:"2024-06-26",openWeights:!1,cost:{input:10,output:40,cacheRead:2.5},limit:{context:2e5,output:1e5}},{id:"o3-mini",ownedBy:"openai",label:"o3-mini",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2024-05",releaseDate:"2024-12-20",lastUpdated:"2025-01-29",openWeights:!1,cost:{input:1.1,output:4.4,cacheRead:.55},limit:{context:2e5,output:1e5}},{id:"o3-pro",ownedBy:"openai",label:"o3-pro",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-05",releaseDate:"2025-06-10",lastUpdated:"2025-06-10",openWeights:!1,cost:{input:20,output:80},limit:{context:2e5,output:1e5}},{id:"o4-mini",ownedBy:"openai",label:"o4-mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-05",releaseDate:"2025-04-16",lastUpdated:"2025-04-16",openWeights:!1,cost:{input:1.1,output:4.4,cacheRead:.28},limit:{context:2e5,output:1e5}},{id:"o4-mini-deep-research",ownedBy:"openai",label:"o4-mini-deep-research",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-05",releaseDate:"2024-06-26",lastUpdated:"2024-06-26",openWeights:!1,cost:{input:2,output:8,cacheRead:.5},limit:{context:2e5,output:1e5}},{id:"text-embedding-3-large",ownedBy:"openai",label:"text-embedding-3-large",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!1,knowledge:"2024-01",releaseDate:"2024-01-25",lastUpdated:"2024-01-25",openWeights:!1,cost:{input:.13,output:0},limit:{context:8191,output:3072}},{id:"text-embedding-3-small",ownedBy:"openai",label:"text-embedding-3-small",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!1,knowledge:"2024-01",releaseDate:"2024-01-25",lastUpdated:"2024-01-25",openWeights:!1,cost:{input:.02,output:0},limit:{context:8191,output:1536}},{id:"text-embedding-ada-002",ownedBy:"openai",label:"text-embedding-ada-002",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!1,knowledge:"2022-12",releaseDate:"2022-12-15",lastUpdated:"2022-12-15",openWeights:!1,cost:{input:.1,output:0},limit:{context:8192,output:1536}}],label:"OpenAI",env:["OPENAI_API_KEY"],npm:"@ai-sdk/openai",doc:"https://platform.openai.com/docs/models"},anthropic:{id:"anthropic",models:[{id:"claude-3-5-haiku-20241022",ownedBy:"anthropic",label:"Claude Haiku 3.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-07-31",releaseDate:"2024-10-22",lastUpdated:"2024-10-22",openWeights:!1,cost:{input:.8,output:4,cacheRead:.08,cacheWrite:1},limit:{context:2e5,output:8192}},{id:"claude-3-5-haiku-latest",ownedBy:"anthropic",label:"Claude Haiku 3.5 (latest)",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-07-31",releaseDate:"2024-10-22",lastUpdated:"2024-10-22",openWeights:!1,cost:{input:.8,output:4,cacheRead:.08,cacheWrite:1},limit:{context:2e5,output:8192}},{id:"claude-3-5-sonnet-20240620",ownedBy:"anthropic",label:"Claude Sonnet 3.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04-30",releaseDate:"2024-06-20",lastUpdated:"2024-06-20",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:8192}},{id:"claude-3-5-sonnet-20241022",ownedBy:"anthropic",label:"Claude Sonnet 3.5 v2",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04-30",releaseDate:"2024-10-22",lastUpdated:"2024-10-22",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:8192}},{id:"claude-3-7-sonnet-20250219",ownedBy:"anthropic",label:"Claude Sonnet 3.7",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10-31",releaseDate:"2025-02-19",lastUpdated:"2025-02-19",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:64e3}},{id:"claude-3-haiku-20240307",ownedBy:"anthropic",label:"Claude Haiku 3",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-08-31",releaseDate:"2024-03-13",lastUpdated:"2024-03-13",openWeights:!1,cost:{input:.25,output:1.25,cacheRead:.03,cacheWrite:.3},limit:{context:2e5,output:4096}},{id:"claude-3-opus-20240229",ownedBy:"anthropic",label:"Claude Opus 3",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-08-31",releaseDate:"2024-02-29",lastUpdated:"2024-02-29",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:4096}},{id:"claude-3-sonnet-20240229",ownedBy:"anthropic",label:"Claude Sonnet 3",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-08-31",releaseDate:"2024-03-04",lastUpdated:"2024-03-04",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:.3},limit:{context:2e5,output:4096}},{id:"claude-haiku-4-5",ownedBy:"anthropic",label:"Claude Haiku 4.5 (latest)",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-02-28",releaseDate:"2025-10-15",lastUpdated:"2025-10-15",openWeights:!1,cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},limit:{context:2e5,output:64e3}},{id:"claude-haiku-4-5-20251001",ownedBy:"anthropic",label:"Claude Haiku 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-02-28",releaseDate:"2025-10-15",lastUpdated:"2025-10-15",openWeights:!1,cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},limit:{context:2e5,output:64e3}},{id:"claude-opus-4-0",ownedBy:"anthropic",label:"Claude Opus 4 (latest)",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-05-22",lastUpdated:"2025-05-22",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:32e3}},{id:"claude-opus-4-1",ownedBy:"anthropic",label:"Claude Opus 4.1 (latest)",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:32e3}},{id:"claude-opus-4-1-20250805",ownedBy:"anthropic",label:"Claude Opus 4.1",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:32e3}},{id:"claude-opus-4-20250514",ownedBy:"anthropic",label:"Claude Opus 4",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-05-22",lastUpdated:"2025-05-22",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:32e3}},{id:"claude-opus-4-5",ownedBy:"anthropic",label:"Claude Opus 4.5 (latest)",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-11-24",lastUpdated:"2025-11-24",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:2e5,output:64e3}},{id:"claude-opus-4-5-20251101",ownedBy:"anthropic",label:"Claude Opus 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-11-01",lastUpdated:"2025-11-01",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:2e5,output:64e3}},{id:"claude-opus-4-6",ownedBy:"anthropic",label:"Claude Opus 4.6",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-05-31",releaseDate:"2026-02-05",lastUpdated:"2026-03-13",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:1e6,output:128e3}},{id:"claude-opus-4-7",ownedBy:"anthropic",label:"Claude Opus 4.7",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2026-01-31",releaseDate:"2026-04-16",lastUpdated:"2026-04-16",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:1e6,output:128e3}},{id:"claude-sonnet-4-0",ownedBy:"anthropic",label:"Claude Sonnet 4 (latest)",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-05-22",lastUpdated:"2025-05-22",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:64e3}},{id:"claude-sonnet-4-20250514",ownedBy:"anthropic",label:"Claude Sonnet 4",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-05-22",lastUpdated:"2025-05-22",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:64e3}},{id:"claude-sonnet-4-5",ownedBy:"anthropic",label:"Claude Sonnet 4.5 (latest)",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-07-31",releaseDate:"2025-09-29",lastUpdated:"2025-09-29",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:64e3}},{id:"claude-sonnet-4-5-20250929",ownedBy:"anthropic",label:"Claude Sonnet 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-07-31",releaseDate:"2025-09-29",lastUpdated:"2025-09-29",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:64e3}},{id:"claude-sonnet-4-6",ownedBy:"anthropic",label:"Claude Sonnet 4.6",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-08-31",releaseDate:"2026-02-17",lastUpdated:"2026-03-13",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:1e6,output:64e3}}],label:"Anthropic",env:["ANTHROPIC_API_KEY"],npm:"@ai-sdk/anthropic",doc:"https://docs.anthropic.com/en/docs/about-claude/models"},google:{id:"google",models:[{id:"gemini-1.5-flash",ownedBy:"google",label:"Gemini 1.5 Flash",modalities:{input:["text","image","audio","video"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2024-05-14",lastUpdated:"2024-05-14",openWeights:!1,cost:{input:.075,output:.3,cacheRead:.01875},limit:{context:1e6,output:8192}},{id:"gemini-1.5-flash-8b",ownedBy:"google",label:"Gemini 1.5 Flash-8B",modalities:{input:["text","image","audio","video"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2024-10-03",lastUpdated:"2024-10-03",openWeights:!1,cost:{input:.0375,output:.15,cacheRead:.01},limit:{context:1e6,output:8192}},{id:"gemini-1.5-pro",ownedBy:"google",label:"Gemini 1.5 Pro",modalities:{input:["text","image","audio","video"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2024-02-15",lastUpdated:"2024-02-15",openWeights:!1,cost:{input:1.25,output:5,cacheRead:.3125},limit:{context:1e6,output:8192}},{id:"gemini-2.0-flash",ownedBy:"google",label:"Gemini 2.0 Flash",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-06",releaseDate:"2024-12-11",lastUpdated:"2024-12-11",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.025},limit:{context:1048576,output:8192}},{id:"gemini-2.0-flash-lite",ownedBy:"google",label:"Gemini 2.0 Flash Lite",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-06",releaseDate:"2024-12-11",lastUpdated:"2024-12-11",openWeights:!1,cost:{input:.075,output:.3},limit:{context:1048576,output:8192}},{id:"gemini-2.5-flash",ownedBy:"google",label:"Gemini 2.5 Flash",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-03-20",lastUpdated:"2025-06-05",openWeights:!1,cost:{input:.3,output:2.5,cacheRead:.03},limit:{context:1048576,output:65536}},{id:"gemini-2.5-flash-image",ownedBy:"google",label:"Gemini 2.5 Flash Image",modalities:{input:["text","image"],output:["text","image"]},toolCall:!1,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-06",releaseDate:"2025-08-26",lastUpdated:"2025-08-26",openWeights:!1,cost:{input:.3,output:30,cacheRead:.075},limit:{context:32768,output:32768}},{id:"gemini-2.5-flash-image-preview",ownedBy:"google",label:"Gemini 2.5 Flash Image (Preview)",modalities:{input:["text","image"],output:["text","image"]},toolCall:!1,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-06",releaseDate:"2025-08-26",lastUpdated:"2025-08-26",openWeights:!1,cost:{input:.3,output:30,cacheRead:.075},limit:{context:32768,output:32768}},{id:"gemini-2.5-flash-lite",ownedBy:"google",label:"Gemini 2.5 Flash Lite",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-06-17",lastUpdated:"2025-06-17",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.025},limit:{context:1048576,output:65536}},{id:"gemini-2.5-flash-lite-preview-06-17",ownedBy:"google",label:"Gemini 2.5 Flash Lite Preview 06-17",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-06-17",lastUpdated:"2025-06-17",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.025},limit:{context:1048576,output:65536}},{id:"gemini-2.5-flash-lite-preview-09-2025",ownedBy:"google",label:"Gemini 2.5 Flash Lite Preview 09-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-09-25",lastUpdated:"2025-09-25",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.025},limit:{context:1048576,output:65536}},{id:"gemini-2.5-flash-preview-04-17",ownedBy:"google",label:"Gemini 2.5 Flash Preview 04-17",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-04-17",lastUpdated:"2025-04-17",openWeights:!1,cost:{input:.15,output:.6,cacheRead:.0375},limit:{context:1048576,output:65536}},{id:"gemini-2.5-flash-preview-05-20",ownedBy:"google",label:"Gemini 2.5 Flash Preview 05-20",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-05-20",lastUpdated:"2025-05-20",openWeights:!1,cost:{input:.15,output:.6,cacheRead:.0375},limit:{context:1048576,output:65536}},{id:"gemini-2.5-flash-preview-09-2025",ownedBy:"google",label:"Gemini 2.5 Flash Preview 09-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-09-25",lastUpdated:"2025-09-25",openWeights:!1,cost:{input:.3,output:2.5,cacheRead:.075},limit:{context:1048576,output:65536}},{id:"gemini-2.5-flash-preview-tts",ownedBy:"google",label:"Gemini 2.5 Flash Preview TTS",modalities:{input:["text"],output:["audio"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!1,knowledge:"2025-01",releaseDate:"2025-05-01",lastUpdated:"2025-05-01",openWeights:!1,cost:{input:.5,output:10},limit:{context:8e3,output:16e3}},{id:"gemini-2.5-pro",ownedBy:"google",label:"Gemini 2.5 Pro",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-03-20",lastUpdated:"2025-06-05",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:1048576,output:65536}},{id:"gemini-2.5-pro-preview-05-06",ownedBy:"google",label:"Gemini 2.5 Pro Preview 05-06",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-05-06",lastUpdated:"2025-05-06",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.31},limit:{context:1048576,output:65536}},{id:"gemini-2.5-pro-preview-06-05",ownedBy:"google",label:"Gemini 2.5 Pro Preview 06-05",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-06-05",lastUpdated:"2025-06-05",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.31},limit:{context:1048576,output:65536}},{id:"gemini-2.5-pro-preview-tts",ownedBy:"google",label:"Gemini 2.5 Pro Preview TTS",modalities:{input:["text"],output:["audio"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!1,knowledge:"2025-01",releaseDate:"2025-05-01",lastUpdated:"2025-05-01",openWeights:!1,cost:{input:1,output:20},limit:{context:8e3,output:16e3}},{id:"gemini-3-flash-preview",ownedBy:"google",label:"Gemini 3 Flash Preview",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-12-17",lastUpdated:"2025-12-17",openWeights:!1,cost:{input:.5,output:3,cacheRead:.05},limit:{context:1048576,output:65536}},{id:"gemini-3-pro-preview",ownedBy:"google",label:"Gemini 3 Pro Preview",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-11-18",lastUpdated:"2025-11-18",openWeights:!1,cost:{input:2,output:12,cacheRead:.2},limit:{context:1e6,output:64e3}},{id:"gemini-3.1-flash-image-preview",ownedBy:"google",label:"Gemini 3.1 Flash Image (Preview)",modalities:{input:["text","image","pdf"],output:["text","image"]},toolCall:!1,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-26",lastUpdated:"2026-02-26",openWeights:!1,cost:{input:.25,output:60},limit:{context:131072,output:32768}},{id:"gemini-3.1-flash-lite-preview",ownedBy:"google",label:"Gemini 3.1 Flash Lite Preview",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-03-03",lastUpdated:"2026-03-03",openWeights:!1,cost:{input:.25,output:1.5,cacheRead:.025,cacheWrite:1},limit:{context:1048576,output:65536}},{id:"gemini-3.1-pro-preview",ownedBy:"google",label:"Gemini 3.1 Pro Preview",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-19",lastUpdated:"2026-02-19",openWeights:!1,cost:{input:2,output:12,cacheRead:.2},limit:{context:1048576,output:65536}},{id:"gemini-3.1-pro-preview-customtools",ownedBy:"google",label:"Gemini 3.1 Pro Preview Custom Tools",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-19",lastUpdated:"2026-02-19",openWeights:!1,cost:{input:2,output:12,cacheRead:.2},limit:{context:1048576,output:65536}},{id:"gemini-embedding-001",ownedBy:"google",label:"Gemini Embedding 001",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!1,knowledge:"2025-05",releaseDate:"2025-05-20",lastUpdated:"2025-05-20",openWeights:!1,cost:{input:.15,output:0},limit:{context:2048,output:3072}},{id:"gemini-flash-latest",ownedBy:"google",label:"Gemini Flash Latest",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-09-25",lastUpdated:"2025-09-25",openWeights:!1,cost:{input:.3,output:2.5,cacheRead:.075},limit:{context:1048576,output:65536}},{id:"gemini-flash-lite-latest",ownedBy:"google",label:"Gemini Flash-Lite Latest",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-09-25",lastUpdated:"2025-09-25",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.025},limit:{context:1048576,output:65536}},{id:"gemini-live-2.5-flash",ownedBy:"google",label:"Gemini Live 2.5 Flash",modalities:{input:["text","image","audio","video"],output:["text","audio"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-09-01",lastUpdated:"2025-09-01",openWeights:!1,cost:{input:.5,output:2},limit:{context:128e3,output:8e3}},{id:"gemini-live-2.5-flash-preview-native-audio",ownedBy:"google",label:"Gemini Live 2.5 Flash Preview Native Audio",modalities:{input:["text","audio","video"],output:["text","audio"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2025-01",releaseDate:"2025-06-17",lastUpdated:"2025-09-18",openWeights:!1,cost:{input:.5,output:2},limit:{context:131072,output:65536}},{id:"gemma-3-12b-it",ownedBy:"google",label:"Gemma 3 12B",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-13",lastUpdated:"2025-03-13",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:8192}},{id:"gemma-3-27b-it",ownedBy:"google",label:"Gemma 3 27B",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-12",lastUpdated:"2025-03-12",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:8192}},{id:"gemma-3-4b-it",ownedBy:"google",label:"Gemma 3 4B",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-13",lastUpdated:"2025-03-13",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:8192}},{id:"gemma-3n-e2b-it",ownedBy:"google",label:"Gemma 3n 2B",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-07-09",lastUpdated:"2025-07-09",openWeights:!0,cost:{input:0,output:0},limit:{context:8192,output:2e3}},{id:"gemma-3n-e4b-it",ownedBy:"google",label:"Gemma 3n 4B",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-05-20",lastUpdated:"2025-05-20",openWeights:!0,cost:{input:0,output:0},limit:{context:8192,output:2e3}},{id:"gemma-4-26b-a4b-it",ownedBy:"google",label:"Gemma 4 26B",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-04-02",lastUpdated:"2026-04-02",openWeights:!0,limit:{context:256e3,output:8192}},{id:"gemma-4-31b-it",ownedBy:"google",label:"Gemma 4 31B",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-04-02",lastUpdated:"2026-04-02",openWeights:!0,limit:{context:256e3,output:8192}}],label:"Google",env:["GOOGLE_GENERATIVE_AI_API_KEY","GEMINI_API_KEY"],npm:"@ai-sdk/google",doc:"https://ai.google.dev/gemini-api/docs/pricing"},openrouter:{id:"openrouter",models:[{id:"anthropic/claude-3.5-haiku",ownedBy:"anthropic",label:"Claude Haiku 3.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-07-31",releaseDate:"2024-10-22",lastUpdated:"2024-10-22",openWeights:!1,cost:{input:.8,output:4,cacheRead:.08,cacheWrite:1},limit:{context:2e5,output:8192}},{id:"anthropic/claude-3.7-sonnet",ownedBy:"anthropic",label:"Claude Sonnet 3.7",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-01",releaseDate:"2025-02-19",lastUpdated:"2025-02-19",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:128e3}},{id:"anthropic/claude-haiku-4.5",ownedBy:"anthropic",label:"Claude Haiku 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-02-28",releaseDate:"2025-10-15",lastUpdated:"2025-10-15",openWeights:!1,cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},limit:{context:2e5,output:64e3}},{id:"anthropic/claude-opus-4",ownedBy:"anthropic",label:"Claude Opus 4",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-05-22",lastUpdated:"2025-05-22",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:32e3}},{id:"anthropic/claude-opus-4.1",ownedBy:"anthropic",label:"Claude Opus 4.1",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:32e3}},{id:"anthropic/claude-opus-4.5",ownedBy:"anthropic",label:"Claude Opus 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-05-30",releaseDate:"2025-11-24",lastUpdated:"2025-11-24",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:2e5,output:32e3}},{id:"anthropic/claude-opus-4.6",ownedBy:"anthropic",label:"Claude Opus 4.6",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-05-31",releaseDate:"2026-02-05",lastUpdated:"2026-02-05",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:1e6,output:128e3}},{id:"anthropic/claude-opus-4.7",ownedBy:"anthropic",label:"Claude Opus 4.7",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2026-01-31",releaseDate:"2026-04-16",lastUpdated:"2026-04-16",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:1e6,output:128e3}},{id:"anthropic/claude-sonnet-4",ownedBy:"anthropic",label:"Claude Sonnet 4",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-05-22",lastUpdated:"2025-05-22",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:64e3}},{id:"anthropic/claude-sonnet-4.5",ownedBy:"anthropic",label:"Claude Sonnet 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-07-31",releaseDate:"2025-09-29",lastUpdated:"2025-09-29",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:1e6,output:64e3}},{id:"anthropic/claude-sonnet-4.6",ownedBy:"anthropic",label:"Claude Sonnet 4.6",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-08-31",releaseDate:"2026-02-17",lastUpdated:"2026-02-17",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:1e6,output:128e3}},{id:"arcee-ai/trinity-large-preview:free",label:"Trinity Large Preview",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2026-01-28",lastUpdated:"2026-01-28",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:131072}},{id:"arcee-ai/trinity-large-thinking",label:"Trinity Large Thinking",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-04-01",lastUpdated:"2026-04-03",openWeights:!0,cost:{input:.22,output:.85},limit:{context:262144,output:8e4}},{id:"black-forest-labs/flux.2-flex",label:"FLUX.2 Flex",modalities:{input:["image","text"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-11-25",lastUpdated:"2026-01-31",openWeights:!1,cost:{input:0,output:0},limit:{context:67344,output:67344}},{id:"black-forest-labs/flux.2-klein-4b",label:"FLUX.2 Klein 4B",modalities:{input:["image","text"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2026-01-14",lastUpdated:"2026-01-31",openWeights:!0,cost:{input:0,output:0},limit:{context:40960,output:40960}},{id:"black-forest-labs/flux.2-max",label:"FLUX.2 Max",modalities:{input:["image","text"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-12-16",lastUpdated:"2026-01-31",openWeights:!1,cost:{input:0,output:0},limit:{context:46864,output:46864}},{id:"black-forest-labs/flux.2-pro",label:"FLUX.2 Pro",modalities:{input:["image","text"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-11-25",lastUpdated:"2026-01-31",openWeights:!1,cost:{input:0,output:0},limit:{context:46864,output:46864}},{id:"bytedance-seed/seedream-4.5",label:"Seedream 4.5",modalities:{input:["image","text"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-12-23",lastUpdated:"2026-01-31",openWeights:!0,cost:{input:0,output:0},limit:{context:4096,output:4096}},{id:"cognitivecomputations/dolphin-mistral-24b-venice-edition:free",label:"Uncensored (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-07-09",lastUpdated:"2026-01-31",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:32768}},{id:"deepseek/deepseek-chat-v3-0324",label:"DeepSeek V3 0324",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-24",lastUpdated:"2025-03-24",openWeights:!0,cost:{input:0,output:0},limit:{context:16384,output:8192}},{id:"deepseek/deepseek-chat-v3.1",label:"DeepSeek-V3.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-07",releaseDate:"2025-08-21",lastUpdated:"2025-08-21",openWeights:!0,cost:{input:.2,output:.8},limit:{context:163840,output:163840}},{id:"deepseek/deepseek-r1",label:"DeepSeek: R1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-07",releaseDate:"2025-01-20",lastUpdated:"2025-01-20",openWeights:!0,cost:{input:.7,output:2.5},limit:{context:64e3,output:16e3}},{id:"deepseek/deepseek-r1-distill-llama-70b",label:"DeepSeek R1 Distill Llama 70B",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-01-23",lastUpdated:"2025-01-23",openWeights:!0,cost:{input:0,output:0},limit:{context:8192,output:8192}},{id:"deepseek/deepseek-v3.1-terminus",label:"DeepSeek V3.1 Terminus",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-07",releaseDate:"2025-09-22",lastUpdated:"2025-09-22",openWeights:!0,cost:{input:.27,output:1},limit:{context:131072,output:65536}},{id:"deepseek/deepseek-v3.1-terminus:exacto",label:"DeepSeek V3.1 Terminus (exacto)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-07",releaseDate:"2025-09-22",lastUpdated:"2025-09-22",openWeights:!0,cost:{input:.27,output:1},limit:{context:131072,output:65536}},{id:"deepseek/deepseek-v3.2",label:"DeepSeek V3.2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-07",releaseDate:"2025-12-01",lastUpdated:"2025-12-01",openWeights:!0,cost:{input:.28,output:.4},limit:{context:163840,output:65536}},{id:"deepseek/deepseek-v3.2-speciale",label:"DeepSeek V3.2 Speciale",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-07",releaseDate:"2025-12-01",lastUpdated:"2025-12-01",openWeights:!0,cost:{input:.27,output:.41},limit:{context:163840,output:65536}},{id:"deepseek/deepseek-v4-flash",label:"DeepSeek V4 Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-05",releaseDate:"2026-04-24",lastUpdated:"2026-04-24",openWeights:!0,cost:{input:.14,output:.28,cacheRead:.028},limit:{context:1048576,output:393216}},{id:"deepseek/deepseek-v4-pro",label:"DeepSeek V4 Pro",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-05",releaseDate:"2026-04-24",lastUpdated:"2026-04-24",openWeights:!0,cost:{input:1.74,output:3.48,cacheRead:.145},limit:{context:1048576,output:393216}},{id:"google/gemini-2.0-flash-001",ownedBy:"google",label:"Gemini 2.0 Flash",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-06",releaseDate:"2024-12-11",lastUpdated:"2024-12-11",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.025},limit:{context:1048576,output:8192}},{id:"google/gemini-2.5-flash",ownedBy:"google",label:"Gemini 2.5 Flash",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-07-17",lastUpdated:"2025-07-17",openWeights:!1,cost:{input:.3,output:2.5,cacheRead:.0375},limit:{context:1048576,output:65536}},{id:"google/gemini-2.5-flash-lite",ownedBy:"google",label:"Gemini 2.5 Flash Lite",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-06-17",lastUpdated:"2025-06-17",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.025},limit:{context:1048576,output:65536}},{id:"google/gemini-2.5-flash-lite-preview-09-2025",ownedBy:"google",label:"Gemini 2.5 Flash Lite Preview 09-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-09-25",lastUpdated:"2025-09-25",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.025},limit:{context:1048576,output:65536}},{id:"google/gemini-2.5-flash-preview-09-2025",ownedBy:"google",label:"Gemini 2.5 Flash Preview 09-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-09-25",lastUpdated:"2025-09-25",openWeights:!1,cost:{input:.3,output:2.5,cacheRead:.031},limit:{context:1048576,output:65536}},{id:"google/gemini-2.5-pro",ownedBy:"google",label:"Gemini 2.5 Pro",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-03-20",lastUpdated:"2025-06-05",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:1048576,output:65536}},{id:"google/gemini-2.5-pro-preview-05-06",ownedBy:"google",label:"Gemini 2.5 Pro Preview 05-06",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-05-06",lastUpdated:"2025-05-06",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.31},limit:{context:1048576,output:65536}},{id:"google/gemini-2.5-pro-preview-06-05",ownedBy:"google",label:"Gemini 2.5 Pro Preview 06-05",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-06-05",lastUpdated:"2025-06-05",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.31},limit:{context:1048576,output:65536}},{id:"google/gemini-3-flash-preview",ownedBy:"google",label:"Gemini 3 Flash Preview",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-12-17",lastUpdated:"2025-12-17",openWeights:!1,cost:{input:.5,output:3,cacheRead:.05},limit:{context:1048576,output:65536}},{id:"google/gemini-3-pro-preview",ownedBy:"google",label:"Gemini 3 Pro Preview",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-11-18",lastUpdated:"2025-11",openWeights:!1,cost:{input:2,output:12},limit:{context:105e4,output:66e3}},{id:"google/gemini-3.1-flash-lite-preview",ownedBy:"google",label:"Gemini 3.1 Flash Lite Preview",modalities:{input:["text","image","video","pdf","audio"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-03-03",lastUpdated:"2026-03-03",openWeights:!1,cost:{input:.25,output:1.5,cacheRead:.025,cacheWrite:.083},limit:{context:1048576,output:65536}},{id:"google/gemini-3.1-pro-preview",ownedBy:"google",label:"Gemini 3.1 Pro Preview",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-19",lastUpdated:"2026-02-19",openWeights:!1,cost:{input:2,output:12},limit:{context:1048576,output:65536}},{id:"google/gemini-3.1-pro-preview-customtools",ownedBy:"google",label:"Gemini 3.1 Pro Preview Custom Tools",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-19",lastUpdated:"2026-02-19",openWeights:!1,cost:{input:2,output:12},limit:{context:1048576,output:65536}},{id:"google/gemma-2-9b-it",ownedBy:"google",label:"Gemma 2 9B",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-06",releaseDate:"2024-06-28",lastUpdated:"2024-06-28",openWeights:!0,cost:{input:.03,output:.09},limit:{context:8192,output:8192}},{id:"google/gemma-3-12b-it",ownedBy:"google",label:"Gemma 3 12B",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-13",lastUpdated:"2025-03-13",openWeights:!0,cost:{input:.03,output:.1},limit:{context:131072,output:131072}},{id:"google/gemma-3-12b-it:free",ownedBy:"google",label:"Gemma 3 12B (free)",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-13",lastUpdated:"2025-03-13",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:8192}},{id:"google/gemma-3-27b-it",ownedBy:"google",label:"Gemma 3 27B",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-12",lastUpdated:"2025-03-12",openWeights:!0,cost:{input:.04,output:.15},limit:{context:96e3,output:96e3}},{id:"google/gemma-3-27b-it:free",ownedBy:"google",label:"Gemma 3 27B (free)",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-12",lastUpdated:"2025-03-12",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:8192}},{id:"google/gemma-3-4b-it",ownedBy:"google",label:"Gemma 3 4B",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-13",lastUpdated:"2025-03-13",openWeights:!0,cost:{input:.01703,output:.06815},limit:{context:96e3,output:96e3}},{id:"google/gemma-3-4b-it:free",ownedBy:"google",label:"Gemma 3 4B (free)",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-13",lastUpdated:"2025-03-13",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:8192}},{id:"google/gemma-3n-e2b-it:free",ownedBy:"google",label:"Gemma 3n 2B (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-06",releaseDate:"2025-07-09",lastUpdated:"2025-07-09",openWeights:!0,cost:{input:0,output:0},limit:{context:8192,output:2e3}},{id:"google/gemma-3n-e4b-it",ownedBy:"google",label:"Gemma 3n 4B",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-06",releaseDate:"2025-05-20",lastUpdated:"2025-05-20",openWeights:!0,cost:{input:.02,output:.04},limit:{context:32768,output:32768}},{id:"google/gemma-3n-e4b-it:free",ownedBy:"google",label:"Gemma 3n 4B (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-06",releaseDate:"2025-05-20",lastUpdated:"2025-05-20",openWeights:!0,cost:{input:0,output:0},limit:{context:8192,output:2e3}},{id:"google/gemma-4-26b-a4b-it",ownedBy:"google",label:"Gemma 4 26B A4B",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-04-03",lastUpdated:"2026-04-03",openWeights:!0,cost:{input:.13,output:.4},limit:{context:262144,output:262144}},{id:"google/gemma-4-26b-a4b-it:free",ownedBy:"google",label:"Gemma 4 26B A4B (free)",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-04-03",lastUpdated:"2026-04-03",openWeights:!0,cost:{input:0,output:0},limit:{context:262144,output:32768}},{id:"google/gemma-4-31b-it",ownedBy:"google",label:"Gemma 4 31B",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-04-02",lastUpdated:"2026-04-02",openWeights:!0,cost:{input:.14,output:.4},limit:{context:262144,output:262144}},{id:"google/gemma-4-31b-it:free",ownedBy:"google",label:"Gemma 4 31B (free)",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-04-02",lastUpdated:"2026-04-02",openWeights:!0,cost:{input:0,output:0},limit:{context:262144,output:32768}},{id:"inception/mercury-2",label:"Mercury 2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-04",lastUpdated:"2026-03-04",openWeights:!1,cost:{input:.25,output:.75,cacheRead:.025},limit:{context:128e3,output:5e4}},{id:"inception/mercury-edit-2",label:"Mercury Edit 2",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-30",lastUpdated:"2026-03-30",openWeights:!1,cost:{input:.25,output:.75,cacheRead:.025},limit:{context:128e3,output:8192}},{id:"liquid/lfm-2.5-1.2b-instruct:free",label:"LFM2.5-1.2B-Instruct (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2026-01-20",lastUpdated:"2026-01-28",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:32768}},{id:"liquid/lfm-2.5-1.2b-thinking:free",label:"LFM2.5-1.2B-Thinking (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2026-01-20",lastUpdated:"2026-01-28",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:32768}},{id:"meta-llama/llama-3.2-11b-vision-instruct",label:"Llama 3.2 11B Vision Instruct",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-12",releaseDate:"2024-09-25",lastUpdated:"2024-09-25",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:8192}},{id:"meta-llama/llama-3.2-3b-instruct:free",label:"Llama 3.2 3B Instruct (free)",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-12",releaseDate:"2024-09-25",lastUpdated:"2024-09-25",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:131072}},{id:"meta-llama/llama-3.3-70b-instruct:free",label:"Llama 3.3 70B Instruct (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-12",releaseDate:"2024-12-06",lastUpdated:"2024-12-06",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:131072}},{id:"minimax/minimax-01",ownedBy:"minimax",label:"MiniMax-01",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2025-01-15",lastUpdated:"2025-01-15",openWeights:!0,cost:{input:.2,output:1.1},limit:{context:1e6,output:1e6}},{id:"minimax/minimax-m1",ownedBy:"minimax",label:"MiniMax M1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-06-17",lastUpdated:"2025-06-17",openWeights:!0,cost:{input:.4,output:2.2},limit:{context:1e6,output:4e4}},{id:"minimax/minimax-m2",ownedBy:"minimax",label:"MiniMax M2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-10-23",lastUpdated:"2025-10-23",openWeights:!0,cost:{input:.28,output:1.15,cacheRead:.28,cacheWrite:1.15},limit:{context:196600,output:118e3}},{id:"minimax/minimax-m2.1",ownedBy:"minimax",label:"MiniMax M2.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-12-23",lastUpdated:"2025-12-23",openWeights:!0,cost:{input:.3,output:1.2},limit:{context:204800,output:131072}},{id:"minimax/minimax-m2.5",ownedBy:"minimax",label:"MiniMax M2.5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-02-12",lastUpdated:"2026-02-12",openWeights:!0,cost:{input:.3,output:1.2,cacheRead:.03},limit:{context:204800,output:131072}},{id:"minimax/minimax-m2.5:free",ownedBy:"minimax",label:"MiniMax M2.5 (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-02-12",lastUpdated:"2026-02-12",openWeights:!0,cost:{input:0,output:0},limit:{context:204800,output:131072}},{id:"minimax/minimax-m2.7",ownedBy:"minimax",label:"MiniMax M2.7",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:.375},limit:{context:204800,output:131072}},{id:"mistralai/codestral-2508",label:"Codestral 2508",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-05",releaseDate:"2025-08-01",lastUpdated:"2025-08-01",openWeights:!0,cost:{input:.3,output:.9},limit:{context:256e3,output:256e3}},{id:"mistralai/devstral-2512",label:"Devstral 2 2512",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-12",releaseDate:"2025-09-12",lastUpdated:"2025-09-12",openWeights:!0,cost:{input:.15,output:.6},limit:{context:262144,output:262144}},{id:"mistralai/devstral-medium-2507",label:"Devstral Medium",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-05",releaseDate:"2025-07-10",lastUpdated:"2025-07-10",openWeights:!0,cost:{input:.4,output:2},limit:{context:131072,output:131072}},{id:"mistralai/devstral-small-2505",label:"Devstral Small",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-05",releaseDate:"2025-05-07",lastUpdated:"2025-05-07",openWeights:!0,cost:{input:.06,output:.12},limit:{context:128e3,output:128e3}},{id:"mistralai/devstral-small-2507",label:"Devstral Small 1.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-05",releaseDate:"2025-07-10",lastUpdated:"2025-07-10",openWeights:!0,cost:{input:.1,output:.3},limit:{context:131072,output:131072}},{id:"mistralai/mistral-medium-3",label:"Mistral Medium 3",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2025-05",releaseDate:"2025-05-07",lastUpdated:"2025-05-07",openWeights:!1,cost:{input:.4,output:2},limit:{context:131072,output:131072}},{id:"mistralai/mistral-medium-3.1",label:"Mistral Medium 3.1",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2025-05",releaseDate:"2025-08-12",lastUpdated:"2025-08-12",openWeights:!1,cost:{input:.4,output:2},limit:{context:262144,output:262144}},{id:"mistralai/mistral-small-2603",label:"Mistral Small 4",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-06",releaseDate:"2026-03-16",lastUpdated:"2026-03-16",openWeights:!0,cost:{input:.15,output:.6},limit:{context:262144,output:262144}},{id:"mistralai/mistral-small-3.1-24b-instruct",label:"Mistral Small 3.1 24B Instruct",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-17",lastUpdated:"2025-03-17",openWeights:!0,cost:{input:0,output:0},limit:{context:128e3,output:8192}},{id:"mistralai/mistral-small-3.2-24b-instruct",label:"Mistral Small 3.2 24B Instruct",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-06-20",lastUpdated:"2025-06-20",openWeights:!0,cost:{input:0,output:0},limit:{context:96e3,output:8192}},{id:"moonshotai/kimi-k2",ownedBy:"moonshot",label:"Kimi K2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-07-11",lastUpdated:"2025-07-11",openWeights:!0,cost:{input:.55,output:2.2},limit:{context:131072,output:32768}},{id:"moonshotai/kimi-k2-0905",ownedBy:"moonshot",label:"Kimi K2 Instruct 0905",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-09-05",lastUpdated:"2025-09-05",openWeights:!0,cost:{input:.6,output:2.5},limit:{context:262144,output:16384}},{id:"moonshotai/kimi-k2-0905:exacto",ownedBy:"moonshot",label:"Kimi K2 Instruct 0905 (exacto)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-09-05",lastUpdated:"2025-09-05",openWeights:!0,cost:{input:.6,output:2.5},limit:{context:262144,output:16384}},{id:"moonshotai/kimi-k2-thinking",ownedBy:"moonshot",label:"Kimi K2 Thinking",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-08",releaseDate:"2025-11-06",lastUpdated:"2025-11-06",openWeights:!0,cost:{input:.6,output:2.5,cacheRead:.15},limit:{context:262144,output:262144}},{id:"moonshotai/kimi-k2.5",ownedBy:"moonshot",label:"Kimi K2.5",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-01-27",lastUpdated:"2026-01-27",openWeights:!0,cost:{input:.6,output:3,cacheRead:.1},limit:{context:262144,output:262144}},{id:"moonshotai/kimi-k2.6",ownedBy:"moonshot",label:"Kimi K2.6",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-04-20",lastUpdated:"2026-04-20",openWeights:!0,cost:{input:.95,output:4,cacheRead:.16},limit:{context:262144,output:262144}},{id:"nousresearch/hermes-3-llama-3.1-405b:free",label:"Hermes 3 405B Instruct (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2023-12",releaseDate:"2024-08-16",lastUpdated:"2024-08-16",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:131072}},{id:"nousresearch/hermes-4-405b",label:"Hermes 4 405B",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2023-12",releaseDate:"2025-08-25",lastUpdated:"2025-08-25",openWeights:!0,cost:{input:1,output:3},limit:{context:131072,output:131072}},{id:"nousresearch/hermes-4-70b",label:"Hermes 4 70B",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2023-12",releaseDate:"2025-08-25",lastUpdated:"2025-08-25",openWeights:!0,cost:{input:.13,output:.4},limit:{context:131072,output:131072}},{id:"nvidia/nemotron-3-nano-30b-a3b:free",label:"Nemotron 3 Nano 30B A3B (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-11",releaseDate:"2025-12-14",lastUpdated:"2026-01-31",openWeights:!0,cost:{input:0,output:0},limit:{context:256e3,output:256e3}},{id:"nvidia/nemotron-3-super-120b-a12b",label:"Nemotron 3 Super",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-04",releaseDate:"2026-03-11",lastUpdated:"2026-03-11",openWeights:!0,cost:{input:.1,output:.5},limit:{context:262144,output:262144}},{id:"nvidia/nemotron-3-super-120b-a12b:free",label:"Nemotron 3 Super (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-04",releaseDate:"2026-03-11",lastUpdated:"2026-03-11",openWeights:!0,cost:{input:0,output:0},limit:{context:262144,output:262144}},{id:"nvidia/nemotron-nano-12b-v2-vl:free",label:"Nemotron Nano 12B 2 VL (free)",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-11",releaseDate:"2025-10-28",lastUpdated:"2026-01-31",openWeights:!0,cost:{input:0,output:0},limit:{context:128e3,output:128e3}},{id:"nvidia/nemotron-nano-9b-v2",label:"nvidia-nemotron-nano-9b-v2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-09",releaseDate:"2025-08-18",lastUpdated:"2025-08-18",openWeights:!0,cost:{input:.04,output:.16},limit:{context:131072,output:131072}},{id:"nvidia/nemotron-nano-9b-v2:free",label:"Nemotron Nano 9B V2 (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-09",releaseDate:"2025-09-05",lastUpdated:"2025-08-18",openWeights:!0,cost:{input:0,output:0},limit:{context:128e3,output:128e3}},{id:"openai/gpt-4.1",ownedBy:"openai",label:"GPT-4.1",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2025-04-14",lastUpdated:"2025-04-14",openWeights:!1,cost:{input:2,output:8,cacheRead:.5},limit:{context:1047576,output:32768}},{id:"openai/gpt-4.1-mini",ownedBy:"openai",label:"GPT-4.1 Mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2025-04-14",lastUpdated:"2025-04-14",openWeights:!1,cost:{input:.4,output:1.6,cacheRead:.1},limit:{context:1047576,output:32768}},{id:"openai/gpt-4o-mini",ownedBy:"openai",label:"GPT-4o-mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2024-07-18",lastUpdated:"2024-07-18",openWeights:!1,cost:{input:.15,output:.6,cacheRead:.08},limit:{context:128e3,output:16384}},{id:"openai/gpt-5",ownedBy:"openai",label:"GPT-5",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10-01",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:1.25,output:10},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5-chat",ownedBy:"openai",label:"GPT-5 Chat (latest)",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-09-30",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:1.25,output:10},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5-codex",ownedBy:"openai",label:"GPT-5 Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10-01",releaseDate:"2025-09-15",lastUpdated:"2025-09-15",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5-image",ownedBy:"openai",label:"GPT-5 Image",modalities:{input:["text","image","pdf"],output:["text","image"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10-01",releaseDate:"2025-10-14",lastUpdated:"2025-10-14",openWeights:!1,cost:{input:5,output:10,cacheRead:1.25},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5-mini",ownedBy:"openai",label:"GPT-5 Mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10-01",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:.25,output:2},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5-nano",ownedBy:"openai",label:"GPT-5 Nano",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10-01",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:.05,output:.4},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5-pro",ownedBy:"openai",label:"GPT-5 Pro",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-10-06",lastUpdated:"2025-10-06",openWeights:!1,cost:{input:15,output:120},limit:{context:4e5,output:272e3}},{id:"openai/gpt-5.1",ownedBy:"openai",label:"GPT-5.1",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.1-chat",ownedBy:"openai",label:"GPT-5.1 Chat",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:128e3,output:16384}},{id:"openai/gpt-5.1-codex",ownedBy:"openai",label:"GPT-5.1-Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.1-codex-max",ownedBy:"openai",label:"GPT-5.1-Codex-Max",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.1,output:9,cacheRead:.11},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.1-codex-mini",ownedBy:"openai",label:"GPT-5.1-Codex-Mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:.25,output:2,cacheRead:.025},limit:{context:4e5,output:1e5}},{id:"openai/gpt-5.2",ownedBy:"openai",label:"GPT-5.2",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.2-chat",ownedBy:"openai",label:"GPT-5.2 Chat",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:128e3,output:16384}},{id:"openai/gpt-5.2-codex",ownedBy:"openai",label:"GPT-5.2-Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-08-31",releaseDate:"2026-01-14",lastUpdated:"2026-01-14",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.2-pro",ownedBy:"openai",label:"GPT-5.2 Pro",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:21,output:168},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.3-codex",ownedBy:"openai",label:"GPT-5.3-Codex",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-02-24",lastUpdated:"2026-02-24",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.4",ownedBy:"openai",label:"GPT-5.4",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-05",lastUpdated:"2026-03-05",openWeights:!1,cost:{input:2.5,output:15,cacheRead:.25},limit:{context:105e4,output:128e3}},{id:"openai/gpt-5.4-mini",ownedBy:"openai",label:"GPT-5.4 Mini",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-08-31",releaseDate:"2026-03-17",lastUpdated:"2026-03-17",openWeights:!1,cost:{input:.75,output:4.5,cacheRead:.075},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.4-nano",ownedBy:"openai",label:"GPT-5.4 Nano",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2025-08-31",releaseDate:"2026-03-17",lastUpdated:"2026-03-17",openWeights:!1,cost:{input:.2,output:1.25,cacheRead:.02},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.4-pro",ownedBy:"openai",label:"GPT-5.4 Pro",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-05",lastUpdated:"2026-03-05",openWeights:!1,cost:{input:30,output:180,cacheRead:30},limit:{context:105e4,output:128e3}},{id:"openai/gpt-oss-120b",ownedBy:"openai",label:"GPT OSS 120B",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!0,cost:{input:.072,output:.28},limit:{context:131072,output:32768}},{id:"openai/gpt-oss-120b:exacto",ownedBy:"openai",label:"GPT OSS 120B (exacto)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!0,cost:{input:.05,output:.24},limit:{context:131072,output:32768}},{id:"openai/gpt-oss-120b:free",ownedBy:"openai",label:"gpt-oss-120b (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:32768}},{id:"openai/gpt-oss-20b",ownedBy:"openai",label:"GPT OSS 20B",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!0,cost:{input:.05,output:.2},limit:{context:131072,output:32768}},{id:"openai/gpt-oss-20b:free",ownedBy:"openai",label:"gpt-oss-20b (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-08-05",lastUpdated:"2026-01-31",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:32768}},{id:"openai/gpt-oss-safeguard-20b",ownedBy:"openai",label:"GPT OSS Safeguard 20B",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-10-29",lastUpdated:"2025-10-29",openWeights:!1,cost:{input:.075,output:.3},limit:{context:131072,output:65536}},{id:"openai/o4-mini",ownedBy:"openai",label:"o4 Mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-06",releaseDate:"2025-04-16",lastUpdated:"2025-04-16",openWeights:!1,cost:{input:1.1,output:4.4,cacheRead:.28},limit:{context:2e5,output:1e5}},{id:"openrouter/elephant-alpha",label:"Elephant (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-04-13",lastUpdated:"2026-04-13",openWeights:!1,cost:{input:0,output:0},limit:{context:262144,output:32768}},{id:"openrouter/free",label:"Free Models Router",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-02-01",lastUpdated:"2026-02-01",openWeights:!1,cost:{input:0,output:0},limit:{context:2e5,output:8e3}},{id:"prime-intellect/intellect-3",ownedBy:"zai",label:"Intellect 3",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-01-15",lastUpdated:"2025-01-15",openWeights:!0,cost:{input:.2,output:1.1},limit:{context:131072,output:8192}},{id:"qwen/qwen-2.5-coder-32b-instruct",label:"Qwen2.5 Coder 32B Instruct",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2024-11-11",lastUpdated:"2024-11-11",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:8192}},{id:"qwen/qwen2.5-vl-72b-instruct",label:"Qwen2.5 VL 72B Instruct",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-02-01",lastUpdated:"2025-02-01",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:8192}},{id:"qwen/qwen3-235b-a22b-07-25",label:"Qwen3 235B A22B Instruct 2507",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-04-28",lastUpdated:"2025-07-21",openWeights:!0,cost:{input:.15,output:.85},limit:{context:262144,output:131072}},{id:"qwen/qwen3-235b-a22b-thinking-2507",label:"Qwen3 235B A22B Thinking 2507",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-25",lastUpdated:"2025-07-25",openWeights:!0,cost:{input:.078,output:.312},limit:{context:262144,output:81920}},{id:"qwen/qwen3-30b-a3b-instruct-2507",label:"Qwen3 30B A3B Instruct 2507",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-29",lastUpdated:"2025-07-29",openWeights:!0,cost:{input:.2,output:.8},limit:{context:262e3,output:262e3}},{id:"qwen/qwen3-30b-a3b-thinking-2507",label:"Qwen3 30B A3B Thinking 2507",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-29",lastUpdated:"2025-07-29",openWeights:!0,cost:{input:.2,output:.8},limit:{context:262e3,output:262e3}},{id:"qwen/qwen3-coder",label:"Qwen3 Coder",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-23",lastUpdated:"2025-07-23",openWeights:!0,cost:{input:.3,output:1.2},limit:{context:262144,output:66536}},{id:"qwen/qwen3-coder-30b-a3b-instruct",label:"Qwen3 Coder 30B A3B Instruct",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-31",lastUpdated:"2025-07-31",openWeights:!0,cost:{input:.07,output:.27},limit:{context:16e4,output:65536}},{id:"qwen/qwen3-coder-flash",label:"Qwen3 Coder Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-23",lastUpdated:"2025-07-23",openWeights:!1,cost:{input:.3,output:1.5},limit:{context:128e3,output:66536}},{id:"qwen/qwen3-coder:exacto",label:"Qwen3 Coder (exacto)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-23",lastUpdated:"2025-07-23",openWeights:!0,cost:{input:.38,output:1.53},limit:{context:131072,output:32768}},{id:"qwen/qwen3-max",label:"Qwen3 Max",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-09-05",lastUpdated:"2025-09-05",openWeights:!1,cost:{input:1.2,output:6},limit:{context:262144,output:32768}},{id:"qwen/qwen3-next-80b-a3b-instruct",label:"Qwen3 Next 80B A3B Instruct",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-09-11",lastUpdated:"2025-09-11",openWeights:!0,cost:{input:.14,output:1.4},limit:{context:262144,output:262144}},{id:"qwen/qwen3-next-80b-a3b-thinking",label:"Qwen3 Next 80B A3B Thinking",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-09-11",lastUpdated:"2025-09-11",openWeights:!0,cost:{input:.14,output:1.4},limit:{context:262144,output:262144}},{id:"qwen/qwen3.5-397b-a17b",label:"Qwen3.5 397B A17B",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2026-02-16",lastUpdated:"2026-02-16",openWeights:!0,cost:{input:.6,output:3.6},limit:{context:262144,output:65536}},{id:"qwen/qwen3.5-flash-02-23",label:"Qwen: Qwen3.5-Flash",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-02-25",lastUpdated:"2026-02-25",openWeights:!1,cost:{input:.065,output:.26},limit:{context:1e6,output:65536}},{id:"qwen/qwen3.5-plus-02-15",label:"Qwen3.5 Plus 2026-02-15",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2026-02-16",lastUpdated:"2026-02-16",openWeights:!1,cost:{input:.4,output:2.4},limit:{context:1e6,output:65536}},{id:"qwen/qwen3.6-plus",label:"Qwen3.6 Plus",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2026-04-02",lastUpdated:"2026-04-02",openWeights:!1,cost:{input:.325,output:1.95},limit:{context:1e6,output:65536}},{id:"sourceful/riverflow-v2-fast-preview",label:"Riverflow V2 Fast Preview",modalities:{input:["text","image"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-12-08",lastUpdated:"2026-01-28",openWeights:!0,cost:{input:0,output:0},limit:{context:8192,output:8192}},{id:"sourceful/riverflow-v2-max-preview",label:"Riverflow V2 Max Preview",modalities:{input:["text","image"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-12-08",lastUpdated:"2026-01-28",openWeights:!0,cost:{input:0,output:0},limit:{context:8192,output:8192}},{id:"sourceful/riverflow-v2-standard-preview",label:"Riverflow V2 Standard Preview",modalities:{input:["text","image"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-12-08",lastUpdated:"2026-01-28",openWeights:!0,cost:{input:0,output:0},limit:{context:8192,output:8192}},{id:"stepfun/step-3.5-flash",label:"Step 3.5 Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-01",releaseDate:"2026-01-29",lastUpdated:"2026-01-29",openWeights:!0,cost:{input:.1,output:.3,cacheRead:.02},limit:{context:256e3,output:256e3}},{id:"x-ai/grok-3",ownedBy:"xai",label:"Grok 3",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-11",releaseDate:"2025-02-17",lastUpdated:"2025-02-17",openWeights:!1,cost:{input:3,output:15,cacheRead:.75,cacheWrite:15},limit:{context:131072,output:8192}},{id:"x-ai/grok-3-beta",ownedBy:"xai",label:"Grok 3 Beta",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-11",releaseDate:"2025-02-17",lastUpdated:"2025-02-17",openWeights:!1,cost:{input:3,output:15,cacheRead:.75,cacheWrite:15},limit:{context:131072,output:8192}},{id:"x-ai/grok-3-mini",ownedBy:"xai",label:"Grok 3 Mini",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-11",releaseDate:"2025-02-17",lastUpdated:"2025-02-17",openWeights:!1,cost:{input:.3,output:.5,cacheRead:.075,cacheWrite:.5},limit:{context:131072,output:8192}},{id:"x-ai/grok-3-mini-beta",ownedBy:"xai",label:"Grok 3 Mini Beta",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-11",releaseDate:"2025-02-17",lastUpdated:"2025-02-17",openWeights:!1,cost:{input:.3,output:.5,cacheRead:.075,cacheWrite:.5},limit:{context:131072,output:8192}},{id:"x-ai/grok-4",ownedBy:"xai",label:"Grok 4",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-07",releaseDate:"2025-07-09",lastUpdated:"2025-07-09",openWeights:!1,cost:{input:3,output:15,cacheRead:.75,cacheWrite:15},limit:{context:256e3,output:64e3}},{id:"x-ai/grok-4-fast",ownedBy:"xai",label:"Grok 4 Fast",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-11",releaseDate:"2025-08-19",lastUpdated:"2025-08-19",openWeights:!1,cost:{input:.2,output:.5,cacheRead:.05,cacheWrite:.05},limit:{context:2e6,output:3e4}},{id:"x-ai/grok-4.1-fast",ownedBy:"xai",label:"Grok 4.1 Fast",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-11",releaseDate:"2025-11-19",lastUpdated:"2025-11-19",openWeights:!1,cost:{input:.2,output:.5,cacheRead:.05,cacheWrite:.05},limit:{context:2e6,output:3e4}},{id:"x-ai/grok-4.20-beta",ownedBy:"xai",label:"Grok 4.20 Beta",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-03-12",lastUpdated:"2026-03-12",openWeights:!1,cost:{input:2,output:6,cacheRead:.2},limit:{context:2e6,output:3e4}},{id:"x-ai/grok-4.20-multi-agent-beta",ownedBy:"xai",label:"Grok 4.20 Multi - Agent Beta",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-03-12",lastUpdated:"2026-03-12",openWeights:!1,cost:{input:2,output:6,cacheRead:.2},limit:{context:2e6,output:3e4}},{id:"x-ai/grok-code-fast-1",ownedBy:"xai",label:"Grok Code Fast 1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-08",releaseDate:"2025-08-26",lastUpdated:"2025-08-26",openWeights:!1,cost:{input:.2,output:1.5,cacheRead:.02},limit:{context:256e3,output:1e4}},{id:"xiaomi/mimo-v2-flash",label:"MiMo-V2-Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-12",releaseDate:"2025-12-14",lastUpdated:"2025-12-14",openWeights:!0,cost:{input:.1,output:.3,cacheRead:.01},limit:{context:262144,output:65536}},{id:"xiaomi/mimo-v2-omni",label:"MiMo-V2-Omni",modalities:{input:["text","image","video","audio"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,cost:{input:.4,output:2,cacheRead:.08},limit:{context:262144,output:65536}},{id:"xiaomi/mimo-v2-pro",label:"MiMo-V2-Pro",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,cost:{input:1,output:3,cacheRead:.2},limit:{context:1048576,output:65536}},{id:"z-ai/glm-4.5",ownedBy:"zai",label:"GLM 4.5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:.6,output:2.2},limit:{context:128e3,output:96e3}},{id:"z-ai/glm-4.5-air",ownedBy:"zai",label:"GLM 4.5 Air",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:.2,output:1.1},limit:{context:128e3,output:96e3}},{id:"z-ai/glm-4.5-air:free",ownedBy:"zai",label:"GLM 4.5 Air (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:0,output:0},limit:{context:128e3,output:96e3}},{id:"z-ai/glm-4.5v",ownedBy:"zai",label:"GLM 4.5V",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2025-08-11",lastUpdated:"2025-08-11",openWeights:!0,cost:{input:.6,output:1.8},limit:{context:64e3,output:16384}},{id:"z-ai/glm-4.6",ownedBy:"zai",label:"GLM 4.6",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-09",releaseDate:"2025-09-30",lastUpdated:"2025-09-30",openWeights:!0,cost:{input:.6,output:2.2,cacheRead:.11},limit:{context:2e5,output:128e3}},{id:"z-ai/glm-4.6:exacto",ownedBy:"zai",label:"GLM 4.6 (exacto)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-09",releaseDate:"2025-09-30",lastUpdated:"2025-09-30",openWeights:!0,cost:{input:.6,output:1.9,cacheRead:.11},limit:{context:2e5,output:128e3}},{id:"z-ai/glm-4.7",ownedBy:"zai",label:"GLM-4.7",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-12-22",lastUpdated:"2025-12-22",openWeights:!0,cost:{input:.6,output:2.2,cacheRead:.11},limit:{context:204800,output:131072}},{id:"z-ai/glm-4.7-flash",ownedBy:"zai",label:"GLM-4.7-Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-01-19",lastUpdated:"2026-01-19",openWeights:!0,cost:{input:.07,output:.4},limit:{context:2e5,output:65535}},{id:"z-ai/glm-5",ownedBy:"zai",label:"GLM-5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-02-12",lastUpdated:"2026-02-12",openWeights:!0,cost:{input:1,output:3.2,cacheRead:.2},limit:{context:202752,output:131e3}},{id:"z-ai/glm-5-turbo",ownedBy:"zai",label:"GLM-5-Turbo",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-16",lastUpdated:"2026-03-16",openWeights:!1,cost:{input:.96,output:3.2,cacheRead:.192,cacheWrite:0},limit:{context:202752,output:131072}},{id:"z-ai/glm-5.1",ownedBy:"zai",label:"GLM-5.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-04-07",lastUpdated:"2026-04-07",openWeights:!0,cost:{input:1.4,output:4.4,cacheRead:.26},limit:{context:202752,output:131072}}],label:"OpenRouter",env:["OPENROUTER_API_KEY"],npm:"@openrouter/ai-sdk-provider",api:"https://openrouter.ai/api/v1",doc:"https://openrouter.ai/models"},opencode:{id:"opencode",models:[{id:"big-pickle",label:"Big Pickle",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-01",releaseDate:"2025-10-17",lastUpdated:"2025-10-17",openWeights:!1,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:2e5,output:128e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-3-5-haiku",ownedBy:"anthropic",label:"Claude Haiku 3.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-07-31",releaseDate:"2024-10-22",lastUpdated:"2024-10-22",openWeights:!1,cost:{input:.8,output:4,cacheRead:.08,cacheWrite:1},limit:{context:2e5,output:8192},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-haiku-4-5",ownedBy:"anthropic",label:"Claude Haiku 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-02-28",releaseDate:"2025-10-15",lastUpdated:"2025-10-15",openWeights:!1,cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},limit:{context:2e5,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-opus-4-1",ownedBy:"anthropic",label:"Claude Opus 4.1",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:32e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-opus-4-5",ownedBy:"anthropic",label:"Claude Opus 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-11-24",lastUpdated:"2025-11-24",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:2e5,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-opus-4-6",ownedBy:"anthropic",label:"Claude Opus 4.6",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-05-31",releaseDate:"2026-02-05",lastUpdated:"2026-03-13",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:1e6,output:128e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-opus-4-7",ownedBy:"anthropic",label:"Claude Opus 4.7",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2026-01-31",releaseDate:"2026-04-16",lastUpdated:"2026-04-16",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:1e6,output:128e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-sonnet-4",ownedBy:"anthropic",label:"Claude Sonnet 4",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-05-22",lastUpdated:"2025-05-22",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:1e6,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-sonnet-4-5",ownedBy:"anthropic",label:"Claude Sonnet 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-07-31",releaseDate:"2025-09-29",lastUpdated:"2025-09-29",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:1e6,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-sonnet-4-6",ownedBy:"anthropic",label:"Claude Sonnet 4.6",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-08-31",releaseDate:"2026-02-17",lastUpdated:"2026-02-17",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:1e6,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"gemini-3-flash",ownedBy:"google",label:"Gemini 3 Flash",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-12-17",lastUpdated:"2025-12-17",openWeights:!1,cost:{input:.5,output:3,cacheRead:.05},limit:{context:1048576,output:65536},provider:{npm:"@ai-sdk/google"}},{id:"gemini-3-pro",ownedBy:"google",label:"Gemini 3 Pro",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-11-18",lastUpdated:"2025-11-18",openWeights:!1,cost:{input:2,output:12,cacheRead:.2},limit:{context:1048576,output:65536},provider:{npm:"@ai-sdk/google"}},{id:"gemini-3.1-pro",ownedBy:"google",label:"Gemini 3.1 Pro Preview",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-19",lastUpdated:"2026-02-19",openWeights:!1,cost:{input:2,output:12,cacheRead:.2},limit:{context:1048576,output:65536},provider:{npm:"@ai-sdk/google"}},{id:"glm-4.6",ownedBy:"zai",label:"GLM-4.6",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-09-30",lastUpdated:"2025-09-30",openWeights:!0,cost:{input:.6,output:2.2,cacheRead:.1},limit:{context:204800,output:131072}},{id:"glm-4.7",ownedBy:"zai",label:"GLM-4.7",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-12-22",lastUpdated:"2025-12-22",openWeights:!0,cost:{input:.6,output:2.2,cacheRead:.1},limit:{context:204800,output:131072}},{id:"glm-4.7-free",ownedBy:"zai",label:"GLM-4.7 Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-12-22",lastUpdated:"2025-12-22",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:204800,output:131072}},{id:"glm-5",ownedBy:"zai",label:"GLM-5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2026-02-11",lastUpdated:"2026-02-11",openWeights:!0,cost:{input:1,output:3.2,cacheRead:.2},limit:{context:204800,output:131072}},{id:"glm-5-free",ownedBy:"zai",label:"GLM-5 Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2026-02-11",lastUpdated:"2026-02-11",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:204800,output:131072}},{id:"glm-5.1",ownedBy:"zai",label:"GLM-5.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2026-04-07",lastUpdated:"2026-04-07",openWeights:!0,cost:{input:1.4,output:4.4,cacheRead:.26},limit:{context:204800,output:131072}},{id:"gpt-5",ownedBy:"openai",label:"GPT-5",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:1.07,output:8.5,cacheRead:.107},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5-codex",ownedBy:"openai",label:"GPT-5 Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-09-15",lastUpdated:"2025-09-15",openWeights:!1,cost:{input:1.07,output:8.5,cacheRead:.107},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5-nano",ownedBy:"openai",label:"GPT-5 Nano",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-05-30",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:0,output:0,cacheRead:0},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.1",ownedBy:"openai",label:"GPT-5.1",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.07,output:8.5,cacheRead:.107},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.1-codex",ownedBy:"openai",label:"GPT-5.1 Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.07,output:8.5,cacheRead:.107},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.1-codex-max",ownedBy:"openai",label:"GPT-5.1 Codex Max",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.1-codex-mini",ownedBy:"openai",label:"GPT-5.1 Codex Mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:.25,output:2,cacheRead:.025},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.2",ownedBy:"openai",label:"GPT-5.2",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.2-codex",ownedBy:"openai",label:"GPT-5.2 Codex",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-01-14",lastUpdated:"2026-01-14",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.3-codex",ownedBy:"openai",label:"GPT-5.3 Codex",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-02-24",lastUpdated:"2026-02-24",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.3-codex-spark",ownedBy:"openai",label:"GPT-5.3 Codex Spark",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-02-12",lastUpdated:"2026-02-12",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:128e3,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.4",ownedBy:"openai",label:"GPT-5.4",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-05",lastUpdated:"2026-03-05",openWeights:!1,cost:{input:2.5,output:15,cacheRead:.25},limit:{context:105e4,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.4-mini",ownedBy:"openai",label:"GPT-5.4 Mini",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-17",lastUpdated:"2026-03-17",openWeights:!1,cost:{input:.75,output:4.5,cacheRead:.075},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.4-nano",ownedBy:"openai",label:"GPT-5.4 Nano",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-17",lastUpdated:"2026-03-17",openWeights:!1,cost:{input:.2,output:1.25,cacheRead:.02},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.4-pro",ownedBy:"openai",label:"GPT-5.4 Pro",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-05",lastUpdated:"2026-03-05",openWeights:!1,cost:{input:30,output:180,cacheRead:30},limit:{context:105e4,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"grok-code",ownedBy:"xai",label:"Grok Code Fast 1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2025-08-20",lastUpdated:"2025-08-20",openWeights:!1,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:256e3,output:256e3}},{id:"hy3-preview-free",label:"Hy3 preview Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2026-04-20",lastUpdated:"2026-04-20",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:256e3,output:64e3}},{id:"kimi-k2",ownedBy:"moonshot",label:"Kimi K2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-09-05",lastUpdated:"2025-09-05",openWeights:!0,cost:{input:.4,output:2.5,cacheRead:.4},limit:{context:262144,output:262144}},{id:"kimi-k2-thinking",ownedBy:"moonshot",label:"Kimi K2 Thinking",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-09-05",lastUpdated:"2025-09-05",openWeights:!0,cost:{input:.4,output:2.5,cacheRead:.4},limit:{context:262144,output:262144}},{id:"kimi-k2.5",ownedBy:"moonshot",label:"Kimi K2.5",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2026-01-27",lastUpdated:"2026-01-27",openWeights:!0,cost:{input:.6,output:3,cacheRead:.08},limit:{context:262144,output:65536}},{id:"kimi-k2.5-free",ownedBy:"moonshot",label:"Kimi K2.5 Free",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2026-01-27",lastUpdated:"2026-01-27",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:262144,output:262144}},{id:"kimi-k2.6",ownedBy:"moonshot",label:"Kimi K2.6",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2026-04-21",lastUpdated:"2026-04-21",openWeights:!0,cost:{input:.95,output:4,cacheRead:.16},limit:{context:262144,output:65536}},{id:"ling-2.6-flash-free",label:"Ling 2.6 Flash Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2026-04-21",lastUpdated:"2026-04-21",openWeights:!0,cost:{input:0,output:0},limit:{context:262100,output:32800}},{id:"mimo-v2-flash-free",label:"MiMo V2 Flash Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-12",releaseDate:"2025-12-16",lastUpdated:"2025-12-16",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:262144,output:65536}},{id:"mimo-v2-omni-free",label:"MiMo V2 Omni Free",modalities:{input:["text","image","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-12",releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:262144,output:64e3}},{id:"mimo-v2-pro-free",label:"MiMo V2 Pro Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-12",releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:1048576,output:64e3}},{id:"minimax-m2.1",ownedBy:"minimax",label:"MiniMax M2.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-01",releaseDate:"2025-12-23",lastUpdated:"2025-12-23",openWeights:!0,cost:{input:.3,output:1.2,cacheRead:.1},limit:{context:204800,output:131072}},{id:"minimax-m2.1-free",ownedBy:"minimax",label:"MiniMax M2.1 Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-01",releaseDate:"2025-12-23",lastUpdated:"2025-12-23",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:204800,output:131072},provider:{npm:"@ai-sdk/anthropic"}},{id:"minimax-m2.5",ownedBy:"minimax",label:"MiniMax M2.5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-12",lastUpdated:"2026-02-12",openWeights:!0,cost:{input:.3,output:1.2,cacheRead:.06},limit:{context:204800,output:131072}},{id:"minimax-m2.5-free",ownedBy:"minimax",label:"MiniMax M2.5 Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-12",lastUpdated:"2026-02-12",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:204800,output:131072},provider:{npm:"@ai-sdk/anthropic"}},{id:"minimax-m2.7",ownedBy:"minimax",label:"MiniMax M2.7",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-01",releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,cost:{input:.3,output:1.2,cacheRead:.06},limit:{context:204800,output:131072}},{id:"nemotron-3-super-free",label:"Nemotron 3 Super Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2026-02",releaseDate:"2026-03-11",lastUpdated:"2026-03-11",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:204800,output:128e3}},{id:"qwen3-coder",label:"Qwen3 Coder",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-23",lastUpdated:"2025-07-23",openWeights:!0,cost:{input:.45,output:1.8},limit:{context:262144,output:65536}},{id:"qwen3.5-plus",label:"Qwen3.5 Plus",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2026-02-16",lastUpdated:"2026-02-16",openWeights:!1,cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25},limit:{context:262144,output:65536},provider:{npm:"@ai-sdk/anthropic"}},{id:"qwen3.6-plus",label:"Qwen3.6 Plus",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2026-04-02",lastUpdated:"2026-04-02",openWeights:!1,cost:{input:.5,output:3,cacheRead:.05,cacheWrite:.625},limit:{context:262144,output:65536},provider:{npm:"@ai-sdk/anthropic"}},{id:"qwen3.6-plus-free",label:"Qwen3.6 Plus Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-12",releaseDate:"2026-03-30",lastUpdated:"2026-03-30",openWeights:!1,cost:{input:0,output:0,cacheRead:0},limit:{context:1048576,output:64e3}},{id:"trinity-large-preview-free",label:"Trinity Large Preview",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2026-01-28",lastUpdated:"2026-01-28",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:131072}}],label:"OpenCode Zen",env:["OPENCODE_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://opencode.ai/zen/v1",doc:"https://opencode.ai/docs/zen"},zai:{id:"zai",models:[{id:"glm-4.5",ownedBy:"zai",label:"GLM-4.5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:.6,output:2.2,cacheRead:.11,cacheWrite:0},limit:{context:131072,output:98304}},{id:"glm-4.5-air",ownedBy:"zai",label:"GLM-4.5-Air",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:.2,output:1.1,cacheRead:.03,cacheWrite:0},limit:{context:131072,output:98304}},{id:"glm-4.5-flash",ownedBy:"zai",label:"GLM-4.5-Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:131072,output:98304}},{id:"glm-4.5v",ownedBy:"zai",label:"GLM-4.5V",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2025-08-11",lastUpdated:"2025-08-11",openWeights:!0,cost:{input:.6,output:1.8},limit:{context:64e3,output:16384}},{id:"glm-4.6",ownedBy:"zai",label:"GLM-4.6",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-09-30",lastUpdated:"2025-09-30",openWeights:!0,cost:{input:.6,output:2.2,cacheRead:.11,cacheWrite:0},limit:{context:204800,output:131072}},{id:"glm-4.6v",ownedBy:"zai",label:"GLM-4.6V",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2025-12-08",lastUpdated:"2025-12-08",openWeights:!0,cost:{input:.3,output:.9},limit:{context:128e3,output:32768}},{id:"glm-4.7",ownedBy:"zai",label:"GLM-4.7",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-12-22",lastUpdated:"2025-12-22",openWeights:!0,cost:{input:.6,output:2.2,cacheRead:.11,cacheWrite:0},limit:{context:204800,output:131072}},{id:"glm-4.7-flash",ownedBy:"zai",label:"GLM-4.7-Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2026-01-19",lastUpdated:"2026-01-19",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:2e5,output:131072}},{id:"glm-4.7-flashx",ownedBy:"zai",label:"GLM-4.7-FlashX",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2026-01-19",lastUpdated:"2026-01-19",openWeights:!0,cost:{input:.07,output:.4,cacheRead:.01,cacheWrite:0},limit:{context:2e5,output:131072}},{id:"glm-5",ownedBy:"zai",label:"GLM-5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-02-11",lastUpdated:"2026-02-11",openWeights:!0,cost:{input:1,output:3.2,cacheRead:.2,cacheWrite:0},limit:{context:204800,output:131072}},{id:"glm-5-turbo",ownedBy:"zai",label:"GLM-5-Turbo",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-16",lastUpdated:"2026-03-16",openWeights:!1,cost:{input:1.2,output:4,cacheRead:.24,cacheWrite:0},limit:{context:2e5,output:131072}},{id:"glm-5.1",ownedBy:"zai",label:"GLM-5.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-27",lastUpdated:"2026-03-27",openWeights:!1,cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},limit:{context:2e5,output:131072}},{id:"glm-5v-turbo",ownedBy:"zai",label:"glm-5v-turbo",modalities:{input:["text","image","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-04-01",lastUpdated:"2026-04-01",openWeights:!1,cost:{input:1.2,output:4,cacheRead:.24,cacheWrite:0},limit:{context:2e5,output:131072}}],label:"Z.AI",env:["ZHIPU_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.z.ai/api/paas/v4",doc:"https://docs.z.ai/guides/overview/pricing"},"zai-coding":{id:"zai-coding",models:[{id:"glm-4.5",ownedBy:"zai",label:"GLM-4.5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:131072,output:98304}},{id:"glm-4.5-air",ownedBy:"zai",label:"GLM-4.5-Air",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:131072,output:98304}},{id:"glm-4.5-flash",ownedBy:"zai",label:"GLM-4.5-Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:131072,output:98304}},{id:"glm-4.5v",ownedBy:"zai",label:"GLM-4.5V",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2025-08-11",lastUpdated:"2025-08-11",openWeights:!0,cost:{input:0,output:0},limit:{context:64e3,output:16384}},{id:"glm-4.6",ownedBy:"zai",label:"GLM-4.6",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-09-30",lastUpdated:"2025-09-30",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:204800,output:131072}},{id:"glm-4.6v",ownedBy:"zai",label:"GLM-4.6V",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2025-12-08",lastUpdated:"2025-12-08",openWeights:!0,cost:{input:0,output:0},limit:{context:128e3,output:32768}},{id:"glm-4.7",ownedBy:"zai",label:"GLM-4.7",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-12-22",lastUpdated:"2025-12-22",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:204800,output:131072}},{id:"glm-4.7-flash",ownedBy:"zai",label:"GLM-4.7-Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2026-01-19",lastUpdated:"2026-01-19",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:2e5,output:131072}},{id:"glm-4.7-flashx",ownedBy:"zai",label:"GLM-4.7-FlashX",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2026-01-19",lastUpdated:"2026-01-19",openWeights:!0,cost:{input:.07,output:.4,cacheRead:.01,cacheWrite:0},limit:{context:2e5,output:131072}},{id:"glm-5",ownedBy:"zai",label:"GLM-5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-02-11",lastUpdated:"2026-02-11",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:204800,output:131072}},{id:"glm-5-turbo",ownedBy:"zai",label:"GLM-5-Turbo",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-16",lastUpdated:"2026-03-16",openWeights:!1,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:2e5,output:131072}},{id:"glm-5.1",ownedBy:"zai",label:"GLM-5.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-27",lastUpdated:"2026-03-27",openWeights:!1,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:2e5,output:131072}},{id:"glm-5v-turbo",ownedBy:"zai",label:"glm-5v-turbo",modalities:{input:["text","image","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-04-01",lastUpdated:"2026-04-01",openWeights:!1,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:2e5,output:131072}}],label:"Z.AI Coding Plan",env:["ZHIPU_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.z.ai/api/coding/paas/v4",doc:"https://docs.z.ai/devpack/overview"},moonshot:{id:"moonshot",models:[{id:"kimi-k2-0711-preview",ownedBy:"moonshot",label:"Kimi K2 0711",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-07-14",lastUpdated:"2025-07-14",openWeights:!0,cost:{input:.6,output:2.5,cacheRead:.15},limit:{context:131072,output:16384}},{id:"kimi-k2-0905-preview",ownedBy:"moonshot",label:"Kimi K2 0905",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-09-05",lastUpdated:"2025-09-05",openWeights:!0,cost:{input:.6,output:2.5,cacheRead:.15},limit:{context:262144,output:262144}},{id:"kimi-k2-thinking",ownedBy:"moonshot",label:"Kimi K2 Thinking",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-08",releaseDate:"2025-11-06",lastUpdated:"2025-11-06",openWeights:!0,cost:{input:.6,output:2.5,cacheRead:.15},limit:{context:262144,output:262144}},{id:"kimi-k2-thinking-turbo",ownedBy:"moonshot",label:"Kimi K2 Thinking Turbo",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-08",releaseDate:"2025-11-06",lastUpdated:"2025-11-06",openWeights:!0,cost:{input:1.15,output:8,cacheRead:.15},limit:{context:262144,output:262144}},{id:"kimi-k2-turbo-preview",ownedBy:"moonshot",label:"Kimi K2 Turbo",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-09-05",lastUpdated:"2025-09-05",openWeights:!0,cost:{input:2.4,output:10,cacheRead:.6},limit:{context:262144,output:262144}},{id:"kimi-k2.5",ownedBy:"moonshot",label:"Kimi K2.5",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2025-01",releaseDate:"2026-01",lastUpdated:"2026-01",openWeights:!0,cost:{input:.6,output:3,cacheRead:.1},limit:{context:262144,output:262144}},{id:"kimi-k2.6",ownedBy:"moonshot",label:"Kimi K2.6",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-04-21",lastUpdated:"2026-04-21",openWeights:!0,cost:{input:.95,output:4,cacheRead:.16},limit:{context:262144,output:262144}}],label:"Moonshot AI",env:["MOONSHOT_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.moonshot.ai/v1",doc:"https://platform.moonshot.ai/docs/api/chat"},minimax:{id:"minimax",models:[{id:"MiniMax-M2",ownedBy:"minimax",label:"MiniMax-M2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-10-27",lastUpdated:"2025-10-27",openWeights:!0,cost:{input:.3,output:1.2},limit:{context:196608,output:128e3}},{id:"MiniMax-M2.1",ownedBy:"minimax",label:"MiniMax-M2.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-12-23",lastUpdated:"2025-12-23",openWeights:!0,cost:{input:.3,output:1.2},limit:{context:204800,output:131072}},{id:"MiniMax-M2.5",ownedBy:"minimax",label:"MiniMax-M2.5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-02-12",lastUpdated:"2026-02-12",openWeights:!0,cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:.375},limit:{context:204800,output:131072}},{id:"MiniMax-M2.5-highspeed",ownedBy:"minimax",label:"MiniMax-M2.5-highspeed",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-02-13",lastUpdated:"2026-02-13",openWeights:!0,cost:{input:.6,output:2.4,cacheRead:.06,cacheWrite:.375},limit:{context:204800,output:131072}},{id:"MiniMax-M2.7",ownedBy:"minimax",label:"MiniMax-M2.7",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:.375},limit:{context:204800,output:131072}},{id:"MiniMax-M2.7-highspeed",ownedBy:"minimax",label:"MiniMax-M2.7-highspeed",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,cost:{input:.6,output:2.4,cacheRead:.06,cacheWrite:.375},limit:{context:204800,output:131072}}],label:"MiniMax (minimax.io)",env:["MINIMAX_API_KEY"],npm:"@ai-sdk/anthropic",api:"https://api.minimax.io/anthropic/v1",doc:"https://platform.minimax.io/docs/guides/quickstart"},copilot:{id:"copilot",models:[{id:"claude-haiku-4.5",ownedBy:"anthropic",label:"Claude Haiku 4.5",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-02-28",releaseDate:"2025-10-15",lastUpdated:"2025-10-15",openWeights:!1,cost:{input:0,output:0},limit:{context:144e3,output:32e3}},{id:"claude-opus-4.5",ownedBy:"anthropic",label:"Claude Opus 4.5",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-11-24",lastUpdated:"2025-08-01",openWeights:!1,cost:{input:0,output:0},limit:{context:16e4,output:32e3}},{id:"claude-opus-4.6",ownedBy:"anthropic",label:"Claude Opus 4.6",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-05-31",releaseDate:"2026-02-05",lastUpdated:"2026-02-05",openWeights:!1,cost:{input:0,output:0},limit:{context:144e3,output:64e3}},{id:"claude-opus-4.7",ownedBy:"anthropic",label:"Claude Opus 4.7",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2026-01-31",releaseDate:"2026-04-16",lastUpdated:"2026-04-16",openWeights:!1,cost:{input:0,output:0},limit:{context:144e3,output:64e3}},{id:"claude-opus-41",ownedBy:"anthropic",label:"Claude Opus 4.1",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!1,cost:{input:0,output:0},limit:{context:8e4,output:16e3}},{id:"claude-sonnet-4",ownedBy:"anthropic",label:"Claude Sonnet 4",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-05-22",lastUpdated:"2025-05-22",openWeights:!1,cost:{input:0,output:0},limit:{context:216e3,output:16e3}},{id:"claude-sonnet-4.5",ownedBy:"anthropic",label:"Claude Sonnet 4.5",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-09-29",lastUpdated:"2025-09-29",openWeights:!1,cost:{input:0,output:0},limit:{context:144e3,output:32e3}},{id:"claude-sonnet-4.6",ownedBy:"anthropic",label:"Claude Sonnet 4.6",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-08-31",releaseDate:"2026-02-17",lastUpdated:"2026-02-17",openWeights:!1,cost:{input:0,output:0},limit:{context:2e5,output:32e3}},{id:"gemini-2.5-pro",ownedBy:"google",label:"Gemini 2.5 Pro",modalities:{input:["text","image","audio","video"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-03-20",lastUpdated:"2025-06-05",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},{id:"gemini-3-flash-preview",ownedBy:"google",label:"Gemini 3 Flash",modalities:{input:["text","image","audio","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-12-17",lastUpdated:"2025-12-17",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},{id:"gemini-3-pro-preview",ownedBy:"google",label:"Gemini 3 Pro Preview",modalities:{input:["text","image","audio","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-11-18",lastUpdated:"2025-11-18",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},{id:"gemini-3.1-pro-preview",ownedBy:"google",label:"Gemini 3.1 Pro Preview",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-19",lastUpdated:"2026-02-19",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},{id:"gpt-4.1",ownedBy:"openai",label:"GPT-4.1",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2025-04-14",lastUpdated:"2025-04-14",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:16384}},{id:"gpt-4o",ownedBy:"openai",label:"GPT-4o",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-09",releaseDate:"2024-05-13",lastUpdated:"2024-05-13",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:4096}},{id:"gpt-5",ownedBy:"openai",label:"GPT-5",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:128e3}},{id:"gpt-5-mini",ownedBy:"openai",label:"GPT-5-mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-06",releaseDate:"2025-08-13",lastUpdated:"2025-08-13",openWeights:!1,cost:{input:0,output:0},limit:{context:264e3,output:64e3}},{id:"gpt-5.1",ownedBy:"openai",label:"GPT-5.1",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:0,output:0},limit:{context:264e3,output:64e3}},{id:"gpt-5.1-codex",ownedBy:"openai",label:"GPT-5.1-Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:0,output:0},limit:{context:4e5,output:128e3}},{id:"gpt-5.1-codex-max",ownedBy:"openai",label:"GPT-5.1-Codex-max",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-12-04",lastUpdated:"2025-12-04",openWeights:!1,cost:{input:0,output:0},limit:{context:4e5,output:128e3}},{id:"gpt-5.1-codex-mini",ownedBy:"openai",label:"GPT-5.1-Codex-mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:0,output:0},limit:{context:4e5,output:128e3}},{id:"gpt-5.2",ownedBy:"openai",label:"GPT-5.2",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:0,output:0},limit:{context:264e3,output:64e3}},{id:"gpt-5.2-codex",ownedBy:"openai",label:"GPT-5.2-Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:0,output:0},limit:{context:4e5,output:128e3}},{id:"gpt-5.3-codex",ownedBy:"openai",label:"GPT-5.3-Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-02-24",lastUpdated:"2026-02-24",openWeights:!1,cost:{input:0,output:0},limit:{context:4e5,output:128e3}},{id:"gpt-5.4",ownedBy:"openai",label:"GPT-5.4",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-05",lastUpdated:"2026-03-05",openWeights:!1,cost:{input:0,output:0},limit:{context:4e5,output:128e3}},{id:"gpt-5.4-mini",ownedBy:"openai",label:"GPT-5.4 Mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-17",lastUpdated:"2026-03-17",openWeights:!1,cost:{input:0,output:0},limit:{context:4e5,output:128e3}},{id:"grok-code-fast-1",ownedBy:"xai",label:"Grok Code Fast 1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-08",releaseDate:"2025-08-27",lastUpdated:"2025-08-27",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:64e3}}],label:"GitHub Copilot",env:["GITHUB_TOKEN"],npm:"@ai-sdk/openai-compatible",api:"https://api.githubcopilot.com",doc:"https://docs.github.com/en/copilot"},"ollama-cloud":{id:"ollama-cloud",models:[{id:"cogito-2.1:671b",label:"cogito-2.1:671b",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2025-11-19",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:163840,output:32e3}},{id:"deepseek-v3.1:671b",label:"deepseek-v3.1:671b",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2025-08-21",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:163840,output:163840}},{id:"deepseek-v3.2",label:"deepseek-v3.2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2025-06-15",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:163840,output:65536}},{id:"devstral-2:123b",label:"devstral-2:123b",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,releaseDate:"2025-12-09",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:262144,output:262144}},{id:"devstral-small-2:24b",label:"devstral-small-2:24b",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,releaseDate:"2025-12-09",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:262144,output:262144}},{id:"gemini-3-flash-preview",ownedBy:"google",label:"gemini-3-flash-preview",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,knowledge:"2025-01",releaseDate:"2025-12-17",lastUpdated:"2026-04-08",openWeights:!0,limit:{context:1048576,output:65536}},{id:"gemma3:12b",label:"gemma3:12b",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,releaseDate:"2024-12-01",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:131072,output:131072}},{id:"gemma3:27b",label:"gemma3:27b",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,releaseDate:"2025-07-27",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:131072,output:131072}},{id:"gemma3:4b",label:"gemma3:4b",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,releaseDate:"2024-12-01",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:131072,output:131072}},{id:"gemma4:31b",label:"gemma4:31b",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,knowledge:"2025-01",releaseDate:"2026-04-02",lastUpdated:"2026-04-08",openWeights:!0,limit:{context:262144,output:262144}},{id:"glm-4.6",ownedBy:"zai",label:"glm-4.6",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2025-09-29",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:202752,output:131072}},{id:"glm-4.7",ownedBy:"zai",label:"glm-4.7",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2025-12-22",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:202752,output:131072}},{id:"glm-5",ownedBy:"zai",label:"glm-5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2026-02-11",lastUpdated:"2026-02-11",openWeights:!0,limit:{context:202752,output:131072}},{id:"glm-5.1",ownedBy:"zai",label:"glm-5.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2026-03-27",lastUpdated:"2026-04-07",openWeights:!0,limit:{context:202752,output:131072}},{id:"gpt-oss:120b",ownedBy:"openai",label:"gpt-oss:120b",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2025-08-05",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:131072,output:32768}},{id:"gpt-oss:20b",ownedBy:"openai",label:"gpt-oss:20b",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2025-08-05",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:131072,output:32768}},{id:"kimi-k2-thinking",ownedBy:"moonshot",label:"kimi-k2-thinking",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,knowledge:"2024-08",releaseDate:"2025-11-06",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:262144,output:262144}},{id:"kimi-k2:1t",ownedBy:"moonshot",label:"kimi-k2:1t",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,knowledge:"2024-10",releaseDate:"2025-07-11",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:262144,output:262144}},{id:"kimi-k2.5",ownedBy:"moonshot",label:"kimi-k2.5",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,releaseDate:"2026-01-27",lastUpdated:"2026-01-27",openWeights:!0,limit:{context:262144,output:262144}},{id:"kimi-k2.6:cloud",ownedBy:"moonshot",label:"kimi-k2.6:cloud",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,releaseDate:"2026-04-20",lastUpdated:"2026-04-20",openWeights:!0,limit:{context:262144,output:262144}},{id:"minimax-m2",ownedBy:"minimax",label:"minimax-m2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,releaseDate:"2025-10-23",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:204800,output:128e3}},{id:"minimax-m2.1",ownedBy:"minimax",label:"minimax-m2.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2025-12-23",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:204800,output:131072}},{id:"minimax-m2.5",ownedBy:"minimax",label:"minimax-m2.5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,knowledge:"2025-01",releaseDate:"2026-02-12",lastUpdated:"2026-02-12",openWeights:!0,limit:{context:204800,output:131072}},{id:"minimax-m2.7",ownedBy:"minimax",label:"minimax-m2.7",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,limit:{context:204800,output:131072}},{id:"ministral-3:14b",label:"ministral-3:14b",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,releaseDate:"2024-12-01",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:262144,output:128e3}},{id:"ministral-3:3b",label:"ministral-3:3b",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,releaseDate:"2024-10-22",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:262144,output:128e3}},{id:"ministral-3:8b",label:"ministral-3:8b",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,releaseDate:"2024-12-01",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:262144,output:128e3}},{id:"mistral-large-3:675b",label:"mistral-large-3:675b",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,releaseDate:"2025-12-02",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:262144,output:262144}},{id:"nemotron-3-nano:30b",label:"nemotron-3-nano:30b",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2025-12-15",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:1048576,output:131072}},{id:"nemotron-3-super",label:"nemotron-3-super",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2026-03-11",lastUpdated:"2026-03-12",openWeights:!0,limit:{context:262144,output:65536}},{id:"qwen3-coder-next",label:"qwen3-coder-next",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,releaseDate:"2026-02-02",lastUpdated:"2026-02-08",openWeights:!0,limit:{context:262144,output:65536}},{id:"qwen3-coder:480b",label:"qwen3-coder:480b",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,releaseDate:"2025-07-22",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:262144,output:65536}},{id:"qwen3-next:80b",label:"qwen3-next:80b",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2025-09-15",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:262144,output:32768}},{id:"qwen3-vl:235b",label:"qwen3-vl:235b",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,releaseDate:"2025-09-22",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:262144,output:32768}},{id:"qwen3-vl:235b-instruct",label:"qwen3-vl:235b-instruct",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,releaseDate:"2025-09-22",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:262144,output:131072}},{id:"qwen3.5:397b",label:"qwen3.5:397b",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,releaseDate:"2026-02-15",lastUpdated:"2026-02-17",openWeights:!0,limit:{context:262144,output:81920}},{id:"rnj-1:8b",label:"rnj-1:8b",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,releaseDate:"2025-12-06",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:32768,output:4096}}],label:"Ollama Cloud",env:["OLLAMA_API_KEY"],npm:"ai-sdk-ollama",api:"https://ollama.com",doc:"https://docs.ollama.com/cloud"}};var Ei={},sr={},kQ;function km(){if(kQ)return sr;kQ=1,sr.byteLength=a,sr.toByteArray=Q,sr.fromByteArray=I;for(var A=[],e=[],t=typeof Uint8Array<"u"?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,r=s.length;n<r;++n)A[n]=s[n],e[s.charCodeAt(n)]=n;e[45]=62,e[95]=63;function i(c){var u=c.length;if(u%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var f=c.indexOf("=");f===-1&&(f=u);var h=f===u?0:4-f%4;return[f,h]}function a(c){var u=i(c),f=u[0],h=u[1];return(f+h)*3/4-h}function g(c,u,f){return(u+f)*3/4-f}function Q(c){var u,f=i(c),h=f[0],k=f[1],v=new t(g(c,h,k)),D=0,O=k>0?h-4:h,J;for(J=0;J<O;J+=4)u=e[c.charCodeAt(J)]<<18|e[c.charCodeAt(J+1)]<<12|e[c.charCodeAt(J+2)]<<6|e[c.charCodeAt(J+3)],v[D++]=u>>16&255,v[D++]=u>>8&255,v[D++]=u&255;return k===2&&(u=e[c.charCodeAt(J)]<<2|e[c.charCodeAt(J+1)]>>4,v[D++]=u&255),k===1&&(u=e[c.charCodeAt(J)]<<10|e[c.charCodeAt(J+1)]<<4|e[c.charCodeAt(J+2)]>>2,v[D++]=u>>8&255,v[D++]=u&255),v}function l(c){return A[c>>18&63]+A[c>>12&63]+A[c>>6&63]+A[c&63]}function C(c,u,f){for(var h,k=[],v=u;v<f;v+=3)h=(c[v]<<16&16711680)+(c[v+1]<<8&65280)+(c[v+2]&255),k.push(l(h));return k.join("")}function I(c){for(var u,f=c.length,h=f%3,k=[],v=16383,D=0,O=f-h;D<O;D+=v)k.push(C(c,D,D+v>O?O:D+v));return h===1?(u=c[f-1],k.push(A[u>>2]+A[u<<4&63]+"==")):h===2&&(u=(c[f-2]<<8)+c[f-1],k.push(A[u>>10]+A[u>>4&63]+A[u<<2&63]+"=")),k.join("")}return sr}var Hr={};var MQ;function Mm(){return MQ||(MQ=1,Hr.read=function(A,e,t,s,n){var r,i,a=n*8-s-1,g=(1<<a)-1,Q=g>>1,l=-7,C=t?n-1:0,I=t?-1:1,c=A[e+C];for(C+=I,r=c&(1<<-l)-1,c>>=-l,l+=a;l>0;r=r*256+A[e+C],C+=I,l-=8);for(i=r&(1<<-l)-1,r>>=-l,l+=s;l>0;i=i*256+A[e+C],C+=I,l-=8);if(r===0)r=1-Q;else{if(r===g)return i?NaN:(c?-1:1)*(1/0);i=i+Math.pow(2,s),r=r-Q}return(c?-1:1)*i*Math.pow(2,r-s)},Hr.write=function(A,e,t,s,n,r){var i,a,g,Q=r*8-n-1,l=(1<<Q)-1,C=l>>1,I=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,c=s?0:r-1,u=s?1:-1,f=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,i=l):(i=Math.floor(Math.log(e)/Math.LN2),e*(g=Math.pow(2,-i))<1&&(i--,g*=2),i+C>=1?e+=I/g:e+=I*Math.pow(2,1-C),e*g>=2&&(i++,g/=2),i+C>=l?(a=0,i=l):i+C>=1?(a=(e*g-1)*Math.pow(2,n),i=i+C):(a=e*Math.pow(2,C-1)*Math.pow(2,n),i=0));n>=8;A[t+c]=a&255,c+=u,a/=256,n-=8);for(i=i<<n|a,Q+=n;Q>0;A[t+c]=i&255,c+=u,i/=256,Q-=8);A[t+c-u]|=f*128}),Hr}var bQ;function ag(){return bQ||(bQ=1,(function(A){const e=km(),t=Mm(),s=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;A.Buffer=a,A.SlowBuffer=v,A.INSPECT_MAX_BYTES=50;const n=2147483647;A.kMaxLength=n,a.TYPED_ARRAY_SUPPORT=r(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function r(){try{const q=new Uint8Array(1),y={foo:function(){return 42}};return Object.setPrototypeOf(y,Uint8Array.prototype),Object.setPrototypeOf(q,y),q.foo()===42}catch{return!1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function i(q){if(q>n)throw new RangeError('The value "'+q+'" is invalid for option "size"');const y=new Uint8Array(q);return Object.setPrototypeOf(y,a.prototype),y}function a(q,y,M){if(typeof q=="number"){if(typeof y=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return C(q)}return g(q,y,M)}a.poolSize=8192;function g(q,y,M){if(typeof q=="string")return I(q,y);if(ArrayBuffer.isView(q))return u(q);if(q==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof q);if(nt(q,ArrayBuffer)||q&&nt(q.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(nt(q,SharedArrayBuffer)||q&&nt(q.buffer,SharedArrayBuffer)))return f(q,y,M);if(typeof q=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const Z=q.valueOf&&q.valueOf();if(Z!=null&&Z!==q)return a.from(Z,y,M);const AA=h(q);if(AA)return AA;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof q[Symbol.toPrimitive]=="function")return a.from(q[Symbol.toPrimitive]("string"),y,M);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof q)}a.from=function(q,y,M){return g(q,y,M)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function Q(q){if(typeof q!="number")throw new TypeError('"size" argument must be of type number');if(q<0)throw new RangeError('The value "'+q+'" is invalid for option "size"')}function l(q,y,M){return Q(q),q<=0?i(q):y!==void 0?typeof M=="string"?i(q).fill(y,M):i(q).fill(y):i(q)}a.alloc=function(q,y,M){return l(q,y,M)};function C(q){return Q(q),i(q<0?0:k(q)|0)}a.allocUnsafe=function(q){return C(q)},a.allocUnsafeSlow=function(q){return C(q)};function I(q,y){if((typeof y!="string"||y==="")&&(y="utf8"),!a.isEncoding(y))throw new TypeError("Unknown encoding: "+y);const M=D(q,y)|0;let Z=i(M);const AA=Z.write(q,y);return AA!==M&&(Z=Z.slice(0,AA)),Z}function c(q){const y=q.length<0?0:k(q.length)|0,M=i(y);for(let Z=0;Z<y;Z+=1)M[Z]=q[Z]&255;return M}function u(q){if(nt(q,Uint8Array)){const y=new Uint8Array(q);return f(y.buffer,y.byteOffset,y.byteLength)}return c(q)}function f(q,y,M){if(y<0||q.byteLength<y)throw new RangeError('"offset" is outside of buffer bounds');if(q.byteLength<y+(M||0))throw new RangeError('"length" is outside of buffer bounds');let Z;return y===void 0&&M===void 0?Z=new Uint8Array(q):M===void 0?Z=new Uint8Array(q,y):Z=new Uint8Array(q,y,M),Object.setPrototypeOf(Z,a.prototype),Z}function h(q){if(a.isBuffer(q)){const y=k(q.length)|0,M=i(y);return M.length===0||q.copy(M,0,0,y),M}if(q.length!==void 0)return typeof q.length!="number"||ve(q.length)?i(0):c(q);if(q.type==="Buffer"&&Array.isArray(q.data))return c(q.data)}function k(q){if(q>=n)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n.toString(16)+" bytes");return q|0}function v(q){return+q!=q&&(q=0),a.alloc(+q)}a.isBuffer=function(y){return y!=null&&y._isBuffer===!0&&y!==a.prototype},a.compare=function(y,M){if(nt(y,Uint8Array)&&(y=a.from(y,y.offset,y.byteLength)),nt(M,Uint8Array)&&(M=a.from(M,M.offset,M.byteLength)),!a.isBuffer(y)||!a.isBuffer(M))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(y===M)return 0;let Z=y.length,AA=M.length;for(let nA=0,cA=Math.min(Z,AA);nA<cA;++nA)if(y[nA]!==M[nA]){Z=y[nA],AA=M[nA];break}return Z<AA?-1:AA<Z?1:0},a.isEncoding=function(y){switch(String(y).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(y,M){if(!Array.isArray(y))throw new TypeError('"list" argument must be an Array of Buffers');if(y.length===0)return a.alloc(0);let Z;if(M===void 0)for(M=0,Z=0;Z<y.length;++Z)M+=y[Z].length;const AA=a.allocUnsafe(M);let nA=0;for(Z=0;Z<y.length;++Z){let cA=y[Z];if(nt(cA,Uint8Array))nA+cA.length>AA.length?(a.isBuffer(cA)||(cA=a.from(cA)),cA.copy(AA,nA)):Uint8Array.prototype.set.call(AA,cA,nA);else if(a.isBuffer(cA))cA.copy(AA,nA);else throw new TypeError('"list" argument must be an Array of Buffers');nA+=cA.length}return AA};function D(q,y){if(a.isBuffer(q))return q.length;if(ArrayBuffer.isView(q)||nt(q,ArrayBuffer))return q.byteLength;if(typeof q!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof q);const M=q.length,Z=arguments.length>2&&arguments[2]===!0;if(!Z&&M===0)return 0;let AA=!1;for(;;)switch(y){case"ascii":case"latin1":case"binary":return M;case"utf8":case"utf-8":return VA(q).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return M*2;case"hex":return M>>>1;case"base64":return le(q).length;default:if(AA)return Z?-1:VA(q).length;y=(""+y).toLowerCase(),AA=!0}}a.byteLength=D;function O(q,y,M){let Z=!1;if((y===void 0||y<0)&&(y=0),y>this.length||((M===void 0||M>this.length)&&(M=this.length),M<=0)||(M>>>=0,y>>>=0,M<=y))return"";for(q||(q="utf8");;)switch(q){case"hex":return j(this,y,M);case"utf8":case"utf-8":return B(this,y,M);case"ascii":return G(this,y,M);case"latin1":case"binary":return S(this,y,M);case"base64":return w(this,y,M);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return H(this,y,M);default:if(Z)throw new TypeError("Unknown encoding: "+q);q=(q+"").toLowerCase(),Z=!0}}a.prototype._isBuffer=!0;function J(q,y,M){const Z=q[y];q[y]=q[M],q[M]=Z}a.prototype.swap16=function(){const y=this.length;if(y%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let M=0;M<y;M+=2)J(this,M,M+1);return this},a.prototype.swap32=function(){const y=this.length;if(y%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let M=0;M<y;M+=4)J(this,M,M+3),J(this,M+1,M+2);return this},a.prototype.swap64=function(){const y=this.length;if(y%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let M=0;M<y;M+=8)J(this,M,M+7),J(this,M+1,M+6),J(this,M+2,M+5),J(this,M+3,M+4);return this},a.prototype.toString=function(){const y=this.length;return y===0?"":arguments.length===0?B(this,0,y):O.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(y){if(!a.isBuffer(y))throw new TypeError("Argument must be a Buffer");return this===y?!0:a.compare(this,y)===0},a.prototype.inspect=function(){let y="";const M=A.INSPECT_MAX_BYTES;return y=this.toString("hex",0,M).replace(/(.{2})/g,"$1 ").trim(),this.length>M&&(y+=" ... "),"<Buffer "+y+">"},s&&(a.prototype[s]=a.prototype.inspect),a.prototype.compare=function(y,M,Z,AA,nA){if(nt(y,Uint8Array)&&(y=a.from(y,y.offset,y.byteLength)),!a.isBuffer(y))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof y);if(M===void 0&&(M=0),Z===void 0&&(Z=y?y.length:0),AA===void 0&&(AA=0),nA===void 0&&(nA=this.length),M<0||Z>y.length||AA<0||nA>this.length)throw new RangeError("out of range index");if(AA>=nA&&M>=Z)return 0;if(AA>=nA)return-1;if(M>=Z)return 1;if(M>>>=0,Z>>>=0,AA>>>=0,nA>>>=0,this===y)return 0;let cA=nA-AA,zA=Z-M;const PA=Math.min(cA,zA),ZA=this.slice(AA,nA),Se=y.slice(M,Z);for(let WA=0;WA<PA;++WA)if(ZA[WA]!==Se[WA]){cA=ZA[WA],zA=Se[WA];break}return cA<zA?-1:zA<cA?1:0};function V(q,y,M,Z,AA){if(q.length===0)return-1;if(typeof M=="string"?(Z=M,M=0):M>2147483647?M=2147483647:M<-2147483648&&(M=-2147483648),M=+M,ve(M)&&(M=AA?0:q.length-1),M<0&&(M=q.length+M),M>=q.length){if(AA)return-1;M=q.length-1}else if(M<0)if(AA)M=0;else return-1;if(typeof y=="string"&&(y=a.from(y,Z)),a.isBuffer(y))return y.length===0?-1:eA(q,y,M,Z,AA);if(typeof y=="number")return y=y&255,typeof Uint8Array.prototype.indexOf=="function"?AA?Uint8Array.prototype.indexOf.call(q,y,M):Uint8Array.prototype.lastIndexOf.call(q,y,M):eA(q,[y],M,Z,AA);throw new TypeError("val must be string, number or Buffer")}function eA(q,y,M,Z,AA){let nA=1,cA=q.length,zA=y.length;if(Z!==void 0&&(Z=String(Z).toLowerCase(),Z==="ucs2"||Z==="ucs-2"||Z==="utf16le"||Z==="utf-16le")){if(q.length<2||y.length<2)return-1;nA=2,cA/=2,zA/=2,M/=2}function PA(Se,WA){return nA===1?Se[WA]:Se.readUInt16BE(WA*nA)}let ZA;if(AA){let Se=-1;for(ZA=M;ZA<cA;ZA++)if(PA(q,ZA)===PA(y,Se===-1?0:ZA-Se)){if(Se===-1&&(Se=ZA),ZA-Se+1===zA)return Se*nA}else Se!==-1&&(ZA-=ZA-Se),Se=-1}else for(M+zA>cA&&(M=cA-zA),ZA=M;ZA>=0;ZA--){let Se=!0;for(let WA=0;WA<zA;WA++)if(PA(q,ZA+WA)!==PA(y,WA)){Se=!1;break}if(Se)return ZA}return-1}a.prototype.includes=function(y,M,Z){return this.indexOf(y,M,Z)!==-1},a.prototype.indexOf=function(y,M,Z){return V(this,y,M,Z,!0)},a.prototype.lastIndexOf=function(y,M,Z){return V(this,y,M,Z,!1)};function X(q,y,M,Z){M=Number(M)||0;const AA=q.length-M;Z?(Z=Number(Z),Z>AA&&(Z=AA)):Z=AA;const nA=y.length;Z>nA/2&&(Z=nA/2);let cA;for(cA=0;cA<Z;++cA){const zA=parseInt(y.substr(cA*2,2),16);if(ve(zA))return cA;q[M+cA]=zA}return cA}function K(q,y,M,Z){return Ge(VA(y,q.length-M),q,M,Z)}function W(q,y,M,Z){return Ge(ae(y),q,M,Z)}function T(q,y,M,Z){return Ge(le(y),q,M,Z)}function L(q,y,M,Z){return Ge(He(y,q.length-M),q,M,Z)}a.prototype.write=function(y,M,Z,AA){if(M===void 0)AA="utf8",Z=this.length,M=0;else if(Z===void 0&&typeof M=="string")AA=M,Z=this.length,M=0;else if(isFinite(M))M=M>>>0,isFinite(Z)?(Z=Z>>>0,AA===void 0&&(AA="utf8")):(AA=Z,Z=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const nA=this.length-M;if((Z===void 0||Z>nA)&&(Z=nA),y.length>0&&(Z<0||M<0)||M>this.length)throw new RangeError("Attempt to write outside buffer bounds");AA||(AA="utf8");let cA=!1;for(;;)switch(AA){case"hex":return X(this,y,M,Z);case"utf8":case"utf-8":return K(this,y,M,Z);case"ascii":case"latin1":case"binary":return W(this,y,M,Z);case"base64":return T(this,y,M,Z);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,y,M,Z);default:if(cA)throw new TypeError("Unknown encoding: "+AA);AA=(""+AA).toLowerCase(),cA=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function w(q,y,M){return y===0&&M===q.length?e.fromByteArray(q):e.fromByteArray(q.slice(y,M))}function B(q,y,M){M=Math.min(q.length,M);const Z=[];let AA=y;for(;AA<M;){const nA=q[AA];let cA=null,zA=nA>239?4:nA>223?3:nA>191?2:1;if(AA+zA<=M){let PA,ZA,Se,WA;switch(zA){case 1:nA<128&&(cA=nA);break;case 2:PA=q[AA+1],(PA&192)===128&&(WA=(nA&31)<<6|PA&63,WA>127&&(cA=WA));break;case 3:PA=q[AA+1],ZA=q[AA+2],(PA&192)===128&&(ZA&192)===128&&(WA=(nA&15)<<12|(PA&63)<<6|ZA&63,WA>2047&&(WA<55296||WA>57343)&&(cA=WA));break;case 4:PA=q[AA+1],ZA=q[AA+2],Se=q[AA+3],(PA&192)===128&&(ZA&192)===128&&(Se&192)===128&&(WA=(nA&15)<<18|(PA&63)<<12|(ZA&63)<<6|Se&63,WA>65535&&WA<1114112&&(cA=WA))}}cA===null?(cA=65533,zA=1):cA>65535&&(cA-=65536,Z.push(cA>>>10&1023|55296),cA=56320|cA&1023),Z.push(cA),AA+=zA}return N(Z)}const d=4096;function N(q){const y=q.length;if(y<=d)return String.fromCharCode.apply(String,q);let M="",Z=0;for(;Z<y;)M+=String.fromCharCode.apply(String,q.slice(Z,Z+=d));return M}function G(q,y,M){let Z="";M=Math.min(q.length,M);for(let AA=y;AA<M;++AA)Z+=String.fromCharCode(q[AA]&127);return Z}function S(q,y,M){let Z="";M=Math.min(q.length,M);for(let AA=y;AA<M;++AA)Z+=String.fromCharCode(q[AA]);return Z}function j(q,y,M){const Z=q.length;(!y||y<0)&&(y=0),(!M||M<0||M>Z)&&(M=Z);let AA="";for(let nA=y;nA<M;++nA)AA+=yA[q[nA]];return AA}function H(q,y,M){const Z=q.slice(y,M);let AA="";for(let nA=0;nA<Z.length-1;nA+=2)AA+=String.fromCharCode(Z[nA]+Z[nA+1]*256);return AA}a.prototype.slice=function(y,M){const Z=this.length;y=~~y,M=M===void 0?Z:~~M,y<0?(y+=Z,y<0&&(y=0)):y>Z&&(y=Z),M<0?(M+=Z,M<0&&(M=0)):M>Z&&(M=Z),M<y&&(M=y);const AA=this.subarray(y,M);return Object.setPrototypeOf(AA,a.prototype),AA};function b(q,y,M){if(q%1!==0||q<0)throw new RangeError("offset is not uint");if(q+y>M)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(y,M,Z){y=y>>>0,M=M>>>0,Z||b(y,M,this.length);let AA=this[y],nA=1,cA=0;for(;++cA<M&&(nA*=256);)AA+=this[y+cA]*nA;return AA},a.prototype.readUintBE=a.prototype.readUIntBE=function(y,M,Z){y=y>>>0,M=M>>>0,Z||b(y,M,this.length);let AA=this[y+--M],nA=1;for(;M>0&&(nA*=256);)AA+=this[y+--M]*nA;return AA},a.prototype.readUint8=a.prototype.readUInt8=function(y,M){return y=y>>>0,M||b(y,1,this.length),this[y]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(y,M){return y=y>>>0,M||b(y,2,this.length),this[y]|this[y+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(y,M){return y=y>>>0,M||b(y,2,this.length),this[y]<<8|this[y+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(y,M){return y=y>>>0,M||b(y,4,this.length),(this[y]|this[y+1]<<8|this[y+2]<<16)+this[y+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(y,M){return y=y>>>0,M||b(y,4,this.length),this[y]*16777216+(this[y+1]<<16|this[y+2]<<8|this[y+3])},a.prototype.readBigUInt64LE=pe(function(y){y=y>>>0,qA(y,"offset");const M=this[y],Z=this[y+7];(M===void 0||Z===void 0)&&re(y,this.length-8);const AA=M+this[++y]*2**8+this[++y]*2**16+this[++y]*2**24,nA=this[++y]+this[++y]*2**8+this[++y]*2**16+Z*2**24;return BigInt(AA)+(BigInt(nA)<<BigInt(32))}),a.prototype.readBigUInt64BE=pe(function(y){y=y>>>0,qA(y,"offset");const M=this[y],Z=this[y+7];(M===void 0||Z===void 0)&&re(y,this.length-8);const AA=M*2**24+this[++y]*2**16+this[++y]*2**8+this[++y],nA=this[++y]*2**24+this[++y]*2**16+this[++y]*2**8+Z;return(BigInt(AA)<<BigInt(32))+BigInt(nA)}),a.prototype.readIntLE=function(y,M,Z){y=y>>>0,M=M>>>0,Z||b(y,M,this.length);let AA=this[y],nA=1,cA=0;for(;++cA<M&&(nA*=256);)AA+=this[y+cA]*nA;return nA*=128,AA>=nA&&(AA-=Math.pow(2,8*M)),AA},a.prototype.readIntBE=function(y,M,Z){y=y>>>0,M=M>>>0,Z||b(y,M,this.length);let AA=M,nA=1,cA=this[y+--AA];for(;AA>0&&(nA*=256);)cA+=this[y+--AA]*nA;return nA*=128,cA>=nA&&(cA-=Math.pow(2,8*M)),cA},a.prototype.readInt8=function(y,M){return y=y>>>0,M||b(y,1,this.length),this[y]&128?(255-this[y]+1)*-1:this[y]},a.prototype.readInt16LE=function(y,M){y=y>>>0,M||b(y,2,this.length);const Z=this[y]|this[y+1]<<8;return Z&32768?Z|4294901760:Z},a.prototype.readInt16BE=function(y,M){y=y>>>0,M||b(y,2,this.length);const Z=this[y+1]|this[y]<<8;return Z&32768?Z|4294901760:Z},a.prototype.readInt32LE=function(y,M){return y=y>>>0,M||b(y,4,this.length),this[y]|this[y+1]<<8|this[y+2]<<16|this[y+3]<<24},a.prototype.readInt32BE=function(y,M){return y=y>>>0,M||b(y,4,this.length),this[y]<<24|this[y+1]<<16|this[y+2]<<8|this[y+3]},a.prototype.readBigInt64LE=pe(function(y){y=y>>>0,qA(y,"offset");const M=this[y],Z=this[y+7];(M===void 0||Z===void 0)&&re(y,this.length-8);const AA=this[y+4]+this[y+5]*2**8+this[y+6]*2**16+(Z<<24);return(BigInt(AA)<<BigInt(32))+BigInt(M+this[++y]*2**8+this[++y]*2**16+this[++y]*2**24)}),a.prototype.readBigInt64BE=pe(function(y){y=y>>>0,qA(y,"offset");const M=this[y],Z=this[y+7];(M===void 0||Z===void 0)&&re(y,this.length-8);const AA=(M<<24)+this[++y]*2**16+this[++y]*2**8+this[++y];return(BigInt(AA)<<BigInt(32))+BigInt(this[++y]*2**24+this[++y]*2**16+this[++y]*2**8+Z)}),a.prototype.readFloatLE=function(y,M){return y=y>>>0,M||b(y,4,this.length),t.read(this,y,!0,23,4)},a.prototype.readFloatBE=function(y,M){return y=y>>>0,M||b(y,4,this.length),t.read(this,y,!1,23,4)},a.prototype.readDoubleLE=function(y,M){return y=y>>>0,M||b(y,8,this.length),t.read(this,y,!0,52,8)},a.prototype.readDoubleBE=function(y,M){return y=y>>>0,M||b(y,8,this.length),t.read(this,y,!1,52,8)};function E(q,y,M,Z,AA,nA){if(!a.isBuffer(q))throw new TypeError('"buffer" argument must be a Buffer instance');if(y>AA||y<nA)throw new RangeError('"value" argument is out of bounds');if(M+Z>q.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(y,M,Z,AA){if(y=+y,M=M>>>0,Z=Z>>>0,!AA){const zA=Math.pow(2,8*Z)-1;E(this,y,M,Z,zA,0)}let nA=1,cA=0;for(this[M]=y&255;++cA<Z&&(nA*=256);)this[M+cA]=y/nA&255;return M+Z},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(y,M,Z,AA){if(y=+y,M=M>>>0,Z=Z>>>0,!AA){const zA=Math.pow(2,8*Z)-1;E(this,y,M,Z,zA,0)}let nA=Z-1,cA=1;for(this[M+nA]=y&255;--nA>=0&&(cA*=256);)this[M+nA]=y/cA&255;return M+Z},a.prototype.writeUint8=a.prototype.writeUInt8=function(y,M,Z){return y=+y,M=M>>>0,Z||E(this,y,M,1,255,0),this[M]=y&255,M+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(y,M,Z){return y=+y,M=M>>>0,Z||E(this,y,M,2,65535,0),this[M]=y&255,this[M+1]=y>>>8,M+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(y,M,Z){return y=+y,M=M>>>0,Z||E(this,y,M,2,65535,0),this[M]=y>>>8,this[M+1]=y&255,M+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(y,M,Z){return y=+y,M=M>>>0,Z||E(this,y,M,4,4294967295,0),this[M+3]=y>>>24,this[M+2]=y>>>16,this[M+1]=y>>>8,this[M]=y&255,M+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(y,M,Z){return y=+y,M=M>>>0,Z||E(this,y,M,4,4294967295,0),this[M]=y>>>24,this[M+1]=y>>>16,this[M+2]=y>>>8,this[M+3]=y&255,M+4};function p(q,y,M,Z,AA){lA(y,Z,AA,q,M,7);let nA=Number(y&BigInt(4294967295));q[M++]=nA,nA=nA>>8,q[M++]=nA,nA=nA>>8,q[M++]=nA,nA=nA>>8,q[M++]=nA;let cA=Number(y>>BigInt(32)&BigInt(4294967295));return q[M++]=cA,cA=cA>>8,q[M++]=cA,cA=cA>>8,q[M++]=cA,cA=cA>>8,q[M++]=cA,M}function U(q,y,M,Z,AA){lA(y,Z,AA,q,M,7);let nA=Number(y&BigInt(4294967295));q[M+7]=nA,nA=nA>>8,q[M+6]=nA,nA=nA>>8,q[M+5]=nA,nA=nA>>8,q[M+4]=nA;let cA=Number(y>>BigInt(32)&BigInt(4294967295));return q[M+3]=cA,cA=cA>>8,q[M+2]=cA,cA=cA>>8,q[M+1]=cA,cA=cA>>8,q[M]=cA,M+8}a.prototype.writeBigUInt64LE=pe(function(y,M=0){return p(this,y,M,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=pe(function(y,M=0){return U(this,y,M,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(y,M,Z,AA){if(y=+y,M=M>>>0,!AA){const PA=Math.pow(2,8*Z-1);E(this,y,M,Z,PA-1,-PA)}let nA=0,cA=1,zA=0;for(this[M]=y&255;++nA<Z&&(cA*=256);)y<0&&zA===0&&this[M+nA-1]!==0&&(zA=1),this[M+nA]=(y/cA>>0)-zA&255;return M+Z},a.prototype.writeIntBE=function(y,M,Z,AA){if(y=+y,M=M>>>0,!AA){const PA=Math.pow(2,8*Z-1);E(this,y,M,Z,PA-1,-PA)}let nA=Z-1,cA=1,zA=0;for(this[M+nA]=y&255;--nA>=0&&(cA*=256);)y<0&&zA===0&&this[M+nA+1]!==0&&(zA=1),this[M+nA]=(y/cA>>0)-zA&255;return M+Z},a.prototype.writeInt8=function(y,M,Z){return y=+y,M=M>>>0,Z||E(this,y,M,1,127,-128),y<0&&(y=255+y+1),this[M]=y&255,M+1},a.prototype.writeInt16LE=function(y,M,Z){return y=+y,M=M>>>0,Z||E(this,y,M,2,32767,-32768),this[M]=y&255,this[M+1]=y>>>8,M+2},a.prototype.writeInt16BE=function(y,M,Z){return y=+y,M=M>>>0,Z||E(this,y,M,2,32767,-32768),this[M]=y>>>8,this[M+1]=y&255,M+2},a.prototype.writeInt32LE=function(y,M,Z){return y=+y,M=M>>>0,Z||E(this,y,M,4,2147483647,-2147483648),this[M]=y&255,this[M+1]=y>>>8,this[M+2]=y>>>16,this[M+3]=y>>>24,M+4},a.prototype.writeInt32BE=function(y,M,Z){return y=+y,M=M>>>0,Z||E(this,y,M,4,2147483647,-2147483648),y<0&&(y=4294967295+y+1),this[M]=y>>>24,this[M+1]=y>>>16,this[M+2]=y>>>8,this[M+3]=y&255,M+4},a.prototype.writeBigInt64LE=pe(function(y,M=0){return p(this,y,M,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=pe(function(y,M=0){return U(this,y,M,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function R(q,y,M,Z,AA,nA){if(M+Z>q.length)throw new RangeError("Index out of range");if(M<0)throw new RangeError("Index out of range")}function _(q,y,M,Z,AA){return y=+y,M=M>>>0,AA||R(q,y,M,4),t.write(q,y,M,Z,23,4),M+4}a.prototype.writeFloatLE=function(y,M,Z){return _(this,y,M,!0,Z)},a.prototype.writeFloatBE=function(y,M,Z){return _(this,y,M,!1,Z)};function tA(q,y,M,Z,AA){return y=+y,M=M>>>0,AA||R(q,y,M,8),t.write(q,y,M,Z,52,8),M+8}a.prototype.writeDoubleLE=function(y,M,Z){return tA(this,y,M,!0,Z)},a.prototype.writeDoubleBE=function(y,M,Z){return tA(this,y,M,!1,Z)},a.prototype.copy=function(y,M,Z,AA){if(!a.isBuffer(y))throw new TypeError("argument should be a Buffer");if(Z||(Z=0),!AA&&AA!==0&&(AA=this.length),M>=y.length&&(M=y.length),M||(M=0),AA>0&&AA<Z&&(AA=Z),AA===Z||y.length===0||this.length===0)return 0;if(M<0)throw new RangeError("targetStart out of bounds");if(Z<0||Z>=this.length)throw new RangeError("Index out of range");if(AA<0)throw new RangeError("sourceEnd out of bounds");AA>this.length&&(AA=this.length),y.length-M<AA-Z&&(AA=y.length-M+Z);const nA=AA-Z;return this===y&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(M,Z,AA):Uint8Array.prototype.set.call(y,this.subarray(Z,AA),M),nA},a.prototype.fill=function(y,M,Z,AA){if(typeof y=="string"){if(typeof M=="string"?(AA=M,M=0,Z=this.length):typeof Z=="string"&&(AA=Z,Z=this.length),AA!==void 0&&typeof AA!="string")throw new TypeError("encoding must be a string");if(typeof AA=="string"&&!a.isEncoding(AA))throw new TypeError("Unknown encoding: "+AA);if(y.length===1){const cA=y.charCodeAt(0);(AA==="utf8"&&cA<128||AA==="latin1")&&(y=cA)}}else typeof y=="number"?y=y&255:typeof y=="boolean"&&(y=Number(y));if(M<0||this.length<M||this.length<Z)throw new RangeError("Out of range index");if(Z<=M)return this;M=M>>>0,Z=Z===void 0?this.length:Z>>>0,y||(y=0);let nA;if(typeof y=="number")for(nA=M;nA<Z;++nA)this[nA]=y;else{const cA=a.isBuffer(y)?y:a.from(y,AA),zA=cA.length;if(zA===0)throw new TypeError('The value "'+y+'" is invalid for argument "value"');for(nA=0;nA<Z-M;++nA)this[nA+M]=cA[nA%zA]}return this};const IA={};function iA(q,y,M){IA[q]=class extends M{constructor(){super(),Object.defineProperty(this,"message",{value:y.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${q}]`,this.stack,delete this.name}get code(){return q}set code(AA){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:AA,writable:!0})}toString(){return`${this.name} [${q}]: ${this.message}`}}}iA("ERR_BUFFER_OUT_OF_BOUNDS",function(q){return q?`${q} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),iA("ERR_INVALID_ARG_TYPE",function(q,y){return`The "${q}" argument must be of type number. Received type ${typeof y}`},TypeError),iA("ERR_OUT_OF_RANGE",function(q,y,M){let Z=`The value of "${q}" is out of range.`,AA=M;return Number.isInteger(M)&&Math.abs(M)>2**32?AA=UA(String(M)):typeof M=="bigint"&&(AA=String(M),(M>BigInt(2)**BigInt(32)||M<-(BigInt(2)**BigInt(32)))&&(AA=UA(AA)),AA+="n"),Z+=` It must be ${y}. Received ${AA}`,Z},RangeError);function UA(q){let y="",M=q.length;const Z=q[0]==="-"?1:0;for(;M>=Z+4;M-=3)y=`_${q.slice(M-3,M)}${y}`;return`${q.slice(0,M)}${y}`}function HA(q,y,M){qA(y,"offset"),(q[y]===void 0||q[y+M]===void 0)&&re(y,q.length-(M+1))}function lA(q,y,M,Z,AA,nA){if(q>M||q<y){const cA=typeof y=="bigint"?"n":"";let zA;throw y===0||y===BigInt(0)?zA=`>= 0${cA} and < 2${cA} ** ${(nA+1)*8}${cA}`:zA=`>= -(2${cA} ** ${(nA+1)*8-1}${cA}) and < 2 ** ${(nA+1)*8-1}${cA}`,new IA.ERR_OUT_OF_RANGE("value",zA,q)}HA(Z,AA,nA)}function qA(q,y){if(typeof q!="number")throw new IA.ERR_INVALID_ARG_TYPE(y,"number",q)}function re(q,y,M){throw Math.floor(q)!==q?(qA(q,M),new IA.ERR_OUT_OF_RANGE("offset","an integer",q)):y<0?new IA.ERR_BUFFER_OUT_OF_BOUNDS:new IA.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${y}`,q)}const he=/[^+/0-9A-Za-z-_]/g;function kA(q){if(q=q.split("=")[0],q=q.trim().replace(he,""),q.length<2)return"";for(;q.length%4!==0;)q=q+"=";return q}function VA(q,y){y=y||1/0;let M;const Z=q.length;let AA=null;const nA=[];for(let cA=0;cA<Z;++cA){if(M=q.charCodeAt(cA),M>55295&&M<57344){if(!AA){if(M>56319){(y-=3)>-1&&nA.push(239,191,189);continue}else if(cA+1===Z){(y-=3)>-1&&nA.push(239,191,189);continue}AA=M;continue}if(M<56320){(y-=3)>-1&&nA.push(239,191,189),AA=M;continue}M=(AA-55296<<10|M-56320)+65536}else AA&&(y-=3)>-1&&nA.push(239,191,189);if(AA=null,M<128){if((y-=1)<0)break;nA.push(M)}else if(M<2048){if((y-=2)<0)break;nA.push(M>>6|192,M&63|128)}else if(M<65536){if((y-=3)<0)break;nA.push(M>>12|224,M>>6&63|128,M&63|128)}else if(M<1114112){if((y-=4)<0)break;nA.push(M>>18|240,M>>12&63|128,M>>6&63|128,M&63|128)}else throw new Error("Invalid code point")}return nA}function ae(q){const y=[];for(let M=0;M<q.length;++M)y.push(q.charCodeAt(M)&255);return y}function He(q,y){let M,Z,AA;const nA=[];for(let cA=0;cA<q.length&&!((y-=2)<0);++cA)M=q.charCodeAt(cA),Z=M>>8,AA=M%256,nA.push(AA),nA.push(Z);return nA}function le(q){return e.toByteArray(kA(q))}function Ge(q,y,M,Z){let AA;for(AA=0;AA<Z&&!(AA+M>=y.length||AA>=q.length);++AA)y[AA+M]=q[AA];return AA}function nt(q,y){return q instanceof y||q!=null&&q.constructor!=null&&q.constructor.name!=null&&q.constructor.name===y.name}function ve(q){return q!==q}const yA=(function(){const q="0123456789abcdef",y=new Array(256);for(let M=0;M<16;++M){const Z=M*16;for(let AA=0;AA<16;++AA)y[Z+AA]=q[M]+q[AA]}return y})();function pe(q){return typeof BigInt>"u"?YA:q}function YA(){throw new Error("BigInt not supported")}})(Ei)),Ei}var Dt=ag();const Ss=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function vr(A){return A instanceof Uint8Array||ArrayBuffer.isView(A)&&A.constructor.name==="Uint8Array"}function Ca(A){if(!Number.isSafeInteger(A)||A<0)throw new Error("positive integer expected, got "+A)}function ys(A,...e){if(!vr(A))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(A.length))throw new Error("Uint8Array expected of length "+e+", got length="+A.length)}function sc(A){if(typeof A!="function"||typeof A.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");Ca(A.outputLen),Ca(A.blockLen)}function pn(A,e=!0){if(A.destroyed)throw new Error("Hash instance has been destroyed");if(e&&A.finished)throw new Error("Hash#digest() has already been called")}function bm(A,e){ys(A);const t=e.outputLen;if(A.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}function qs(...A){for(let e=0;e<A.length;e++)A[e].fill(0)}function Ci(A){return new DataView(A.buffer,A.byteOffset,A.byteLength)}function Mo(A,e){return A<<32-e|A>>>e}const rc=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Fm=Array.from({length:256},(A,e)=>e.toString(16).padStart(2,"0"));function hs(A){if(ys(A),rc)return A.toHex();let e="";for(let t=0;t<A.length;t++)e+=Fm[A[t]];return e}const Jo={_0:48,_9:57,A:65,F:70,a:97,f:102};function FQ(A){if(A>=Jo._0&&A<=Jo._9)return A-Jo._0;if(A>=Jo.A&&A<=Jo.F)return A-(Jo.A-10);if(A>=Jo.a&&A<=Jo.f)return A-(Jo.a-10)}function fn(A){if(typeof A!="string")throw new Error("hex string expected, got "+typeof A);if(rc)return Uint8Array.fromHex(A);const e=A.length,t=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const s=new Uint8Array(t);for(let n=0,r=0;n<t;n++,r+=2){const i=FQ(A.charCodeAt(r)),a=FQ(A.charCodeAt(r+1));if(i===void 0||a===void 0){const g=A[r]+A[r+1];throw new Error('hex string expected, got non-hex character "'+g+'" at index '+r)}s[n]=i*16+a}return s}function Gm(A){if(typeof A!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(A))}function gg(A){return typeof A=="string"&&(A=Gm(A)),ys(A),A}function bo(...A){let e=0;for(let s=0;s<A.length;s++){const n=A[s];ys(n),e+=n.length}const t=new Uint8Array(e);for(let s=0,n=0;s<A.length;s++){const r=A[s];t.set(r,n),n+=r.length}return t}class nc{}function ic(A){const e=s=>A().update(gg(s)).digest(),t=A();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>A(),e}function Qg(A=32){if(Ss&&typeof Ss.getRandomValues=="function")return Ss.getRandomValues(new Uint8Array(A));if(Ss&&typeof Ss.randomBytes=="function")return Uint8Array.from(Ss.randomBytes(A));throw new Error("crypto.getRandomValues must be defined")}function vm(A,e,t,s){if(typeof A.setBigUint64=="function")return A.setBigUint64(e,t,s);const n=BigInt(32),r=BigInt(4294967295),i=Number(t>>n&r),a=Number(t&r),g=s?4:0,Q=s?0:4;A.setUint32(e+g,i,s),A.setUint32(e+Q,a,s)}function Sm(A,e,t){return A&e^~A&t}function Um(A,e,t){return A&e^A&t^e&t}class ac extends nc{constructor(e,t,s,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=s,this.isLE=n,this.buffer=new Uint8Array(e),this.view=Ci(this.buffer)}update(e){pn(this),e=gg(e),ys(e);const{view:t,buffer:s,blockLen:n}=this,r=e.length;for(let i=0;i<r;){const a=Math.min(n-this.pos,r-i);if(a===n){const g=Ci(e);for(;n<=r-i;i+=n)this.process(g,i);continue}s.set(e.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===n&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){pn(this),bm(e,this),this.finished=!0;const{buffer:t,view:s,blockLen:n,isLE:r}=this;let{pos:i}=this;t[i++]=128,qs(this.buffer.subarray(i)),this.padOffset>n-i&&(this.process(s,0),i=0);for(let C=i;C<n;C++)t[C]=0;vm(s,n-8,BigInt(this.length*8),r),this.process(s,0);const a=Ci(e),g=this.outputLen;if(g%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const Q=g/4,l=this.get();if(Q>l.length)throw new Error("_sha2: outputLen bigger than state");for(let C=0;C<Q;C++)a.setUint32(4*C,l[C],r)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const s=e.slice(0,t);return this.destroy(),s}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:s,length:n,finished:r,destroyed:i,pos:a}=this;return e.destroyed=i,e.finished=r,e.length=n,e.pos=a,n%t&&e.buffer.set(s),e}clone(){return this._cloneInto()}}const Wo=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Kt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),Pr=BigInt(2**32-1),GQ=BigInt(32);function Rm(A,e=!1){return e?{h:Number(A&Pr),l:Number(A>>GQ&Pr)}:{h:Number(A>>GQ&Pr)|0,l:Number(A&Pr)|0}}function Km(A,e=!1){const t=A.length;let s=new Uint32Array(t),n=new Uint32Array(t);for(let r=0;r<t;r++){const{h:i,l:a}=Rm(A[r],e);[s[r],n[r]]=[i,a]}return[s,n]}const vQ=(A,e,t)=>A>>>t,SQ=(A,e,t)=>A<<32-t|e>>>t,Us=(A,e,t)=>A>>>t|e<<32-t,Rs=(A,e,t)=>A<<32-t|e>>>t,Wr=(A,e,t)=>A<<64-t|e>>>t-32,zr=(A,e,t)=>A>>>t-32|e<<64-t;function Lo(A,e,t,s){const n=(e>>>0)+(s>>>0);return{h:A+t+(n/2**32|0)|0,l:n|0}}const Jm=(A,e,t)=>(A>>>0)+(e>>>0)+(t>>>0),Lm=(A,e,t,s)=>e+t+s+(A/2**32|0)|0,jm=(A,e,t,s)=>(A>>>0)+(e>>>0)+(t>>>0)+(s>>>0),Tm=(A,e,t,s,n)=>e+t+s+n+(A/2**32|0)|0,Om=(A,e,t,s,n)=>(A>>>0)+(e>>>0)+(t>>>0)+(s>>>0)+(n>>>0),qm=(A,e,t,s,n,r)=>e+t+s+n+r+(A/2**32|0)|0,Ym=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),zo=new Uint32Array(64);class Hm extends ac{constructor(e=32){super(64,e,8,!1),this.A=Wo[0]|0,this.B=Wo[1]|0,this.C=Wo[2]|0,this.D=Wo[3]|0,this.E=Wo[4]|0,this.F=Wo[5]|0,this.G=Wo[6]|0,this.H=Wo[7]|0}get(){const{A:e,B:t,C:s,D:n,E:r,F:i,G:a,H:g}=this;return[e,t,s,n,r,i,a,g]}set(e,t,s,n,r,i,a,g){this.A=e|0,this.B=t|0,this.C=s|0,this.D=n|0,this.E=r|0,this.F=i|0,this.G=a|0,this.H=g|0}process(e,t){for(let C=0;C<16;C++,t+=4)zo[C]=e.getUint32(t,!1);for(let C=16;C<64;C++){const I=zo[C-15],c=zo[C-2],u=Mo(I,7)^Mo(I,18)^I>>>3,f=Mo(c,17)^Mo(c,19)^c>>>10;zo[C]=f+zo[C-7]+u+zo[C-16]|0}let{A:s,B:n,C:r,D:i,E:a,F:g,G:Q,H:l}=this;for(let C=0;C<64;C++){const I=Mo(a,6)^Mo(a,11)^Mo(a,25),c=l+I+Sm(a,g,Q)+Ym[C]+zo[C]|0,f=(Mo(s,2)^Mo(s,13)^Mo(s,22))+Um(s,n,r)|0;l=Q,Q=g,g=a,a=i+c|0,i=r,r=n,n=s,s=c+f|0}s=s+this.A|0,n=n+this.B|0,r=r+this.C|0,i=i+this.D|0,a=a+this.E|0,g=g+this.F|0,Q=Q+this.G|0,l=l+this.H|0,this.set(s,n,r,i,a,g,Q,l)}roundClean(){qs(zo)}destroy(){this.set(0,0,0,0,0,0,0,0),qs(this.buffer)}}const gc=Km(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(A=>BigInt(A))),Pm=gc[0],Wm=gc[1],Vo=new Uint32Array(80),Zo=new Uint32Array(80);class zm extends ac{constructor(e=64){super(128,e,16,!1),this.Ah=Kt[0]|0,this.Al=Kt[1]|0,this.Bh=Kt[2]|0,this.Bl=Kt[3]|0,this.Ch=Kt[4]|0,this.Cl=Kt[5]|0,this.Dh=Kt[6]|0,this.Dl=Kt[7]|0,this.Eh=Kt[8]|0,this.El=Kt[9]|0,this.Fh=Kt[10]|0,this.Fl=Kt[11]|0,this.Gh=Kt[12]|0,this.Gl=Kt[13]|0,this.Hh=Kt[14]|0,this.Hl=Kt[15]|0}get(){const{Ah:e,Al:t,Bh:s,Bl:n,Ch:r,Cl:i,Dh:a,Dl:g,Eh:Q,El:l,Fh:C,Fl:I,Gh:c,Gl:u,Hh:f,Hl:h}=this;return[e,t,s,n,r,i,a,g,Q,l,C,I,c,u,f,h]}set(e,t,s,n,r,i,a,g,Q,l,C,I,c,u,f,h){this.Ah=e|0,this.Al=t|0,this.Bh=s|0,this.Bl=n|0,this.Ch=r|0,this.Cl=i|0,this.Dh=a|0,this.Dl=g|0,this.Eh=Q|0,this.El=l|0,this.Fh=C|0,this.Fl=I|0,this.Gh=c|0,this.Gl=u|0,this.Hh=f|0,this.Hl=h|0}process(e,t){for(let D=0;D<16;D++,t+=4)Vo[D]=e.getUint32(t),Zo[D]=e.getUint32(t+=4);for(let D=16;D<80;D++){const O=Vo[D-15]|0,J=Zo[D-15]|0,V=Us(O,J,1)^Us(O,J,8)^vQ(O,J,7),eA=Rs(O,J,1)^Rs(O,J,8)^SQ(O,J,7),X=Vo[D-2]|0,K=Zo[D-2]|0,W=Us(X,K,19)^Wr(X,K,61)^vQ(X,K,6),T=Rs(X,K,19)^zr(X,K,61)^SQ(X,K,6),L=jm(eA,T,Zo[D-7],Zo[D-16]),w=Tm(L,V,W,Vo[D-7],Vo[D-16]);Vo[D]=w|0,Zo[D]=L|0}let{Ah:s,Al:n,Bh:r,Bl:i,Ch:a,Cl:g,Dh:Q,Dl:l,Eh:C,El:I,Fh:c,Fl:u,Gh:f,Gl:h,Hh:k,Hl:v}=this;for(let D=0;D<80;D++){const O=Us(C,I,14)^Us(C,I,18)^Wr(C,I,41),J=Rs(C,I,14)^Rs(C,I,18)^zr(C,I,41),V=C&c^~C&f,eA=I&u^~I&h,X=Om(v,J,eA,Wm[D],Zo[D]),K=qm(X,k,O,V,Pm[D],Vo[D]),W=X|0,T=Us(s,n,28)^Wr(s,n,34)^Wr(s,n,39),L=Rs(s,n,28)^zr(s,n,34)^zr(s,n,39),w=s&r^s&a^r&a,B=n&i^n&g^i&g;k=f|0,v=h|0,f=c|0,h=u|0,c=C|0,u=I|0,{h:C,l:I}=Lo(Q|0,l|0,K|0,W|0),Q=a|0,l=g|0,a=r|0,g=i|0,r=s|0,i=n|0;const d=Jm(W,L,B);s=Lm(d,K,T,w),n=d|0}({h:s,l:n}=Lo(this.Ah|0,this.Al|0,s|0,n|0)),{h:r,l:i}=Lo(this.Bh|0,this.Bl|0,r|0,i|0),{h:a,l:g}=Lo(this.Ch|0,this.Cl|0,a|0,g|0),{h:Q,l}=Lo(this.Dh|0,this.Dl|0,Q|0,l|0),{h:C,l:I}=Lo(this.Eh|0,this.El|0,C|0,I|0),{h:c,l:u}=Lo(this.Fh|0,this.Fl|0,c|0,u|0),{h:f,l:h}=Lo(this.Gh|0,this.Gl|0,f|0,h|0),{h:k,l:v}=Lo(this.Hh|0,this.Hl|0,k|0,v|0),this.set(s,n,r,i,a,g,Q,l,C,I,c,u,f,h,k,v)}roundClean(){qs(Vo,Zo)}destroy(){qs(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}const Qc=ic(()=>new Hm),Vm=ic(()=>new zm);const Bg=BigInt(0),Ia=BigInt(1);function ms(A,e=""){if(typeof A!="boolean"){const t=e&&`"${e}"`;throw new Error(t+"expected boolean, got type="+typeof A)}return A}function uo(A,e,t=""){const s=vr(A),n=A?.length,r=e!==void 0;if(!s||r&&n!==e){const i=t&&`"${t}" `,a=r?` of length ${e}`:"",g=s?`length=${n}`:`type=${typeof A}`;throw new Error(i+"expected Uint8Array"+a+", got "+g)}return A}function Vr(A){const e=A.toString(16);return e.length&1?"0"+e:e}function Bc(A){if(typeof A!="string")throw new Error("hex string expected, got "+typeof A);return A===""?Bg:BigInt("0x"+A)}function zn(A){return Bc(hs(A))}function dr(A){return ys(A),Bc(hs(Uint8Array.from(A).reverse()))}function lg(A,e){return fn(A.toString(16).padStart(e*2,"0"))}function lc(A,e){return lg(A,e).reverse()}function ut(A,e,t){let s;if(typeof e=="string")try{s=fn(e)}catch(r){throw new Error(A+" must be hex string or Uint8Array, cause: "+r)}else if(vr(e))s=Uint8Array.from(e);else throw new Error(A+" must be hex string or Uint8Array");const n=s.length;if(typeof t=="number"&&n!==t)throw new Error(A+" of length "+t+" expected, got "+n);return s}function UQ(A){return Uint8Array.from(A)}const Ii=A=>typeof A=="bigint"&&Bg<=A;function Zm(A,e,t){return Ii(A)&&Ii(e)&&Ii(t)&&e<=A&&A<t}function ua(A,e,t,s){if(!Zm(e,t,s))throw new Error("expected valid "+A+": "+t+" <= n < "+s+", got "+e)}function cc(A){let e;for(e=0;A>Bg;A>>=Ia,e+=1);return e}const Sr=A=>(Ia<<BigInt(A))-Ia;function _m(A,e,t){if(typeof A!="number"||A<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof t!="function")throw new Error("hmacFn must be a function");const s=c=>new Uint8Array(c),n=c=>Uint8Array.of(c);let r=s(A),i=s(A),a=0;const g=()=>{r.fill(1),i.fill(0),a=0},Q=(...c)=>t(i,r,...c),l=(c=s(0))=>{i=Q(n(0),c),r=Q(),c.length!==0&&(i=Q(n(1),c),r=Q())},C=()=>{if(a++>=1e3)throw new Error("drbg: tried 1000 values");let c=0;const u=[];for(;c<e;){r=Q();const f=r.slice();u.push(f),c+=r.length}return bo(...u)};return(c,u)=>{g(),l(c);let f;for(;!(f=u(C()));)l();return g(),f}}function Ur(A,e,t={}){if(!A||typeof A!="object")throw new Error("expected valid options object");function s(n,r,i){const a=A[n];if(i&&a===void 0)return;const g=typeof a;if(g!==r||a===null)throw new Error(`param "${n}" is invalid: expected ${r}, got ${g}`)}Object.entries(e).forEach(([n,r])=>s(n,r,!1)),Object.entries(t).forEach(([n,r])=>s(n,r,!0))}function mn(A){const e=new WeakMap;return(t,...s)=>{const n=e.get(t);if(n!==void 0)return n;const r=A(t,...s);return e.set(t,r),r}}const eo=BigInt(0),St=BigInt(1),Cs=BigInt(2),Ec=BigInt(3),Cc=BigInt(4),Ic=BigInt(5),Xm=BigInt(7),uc=BigInt(8),$m=BigInt(9),dc=BigInt(16);function wt(A,e){const t=A%e;return t>=eo?t:e+t}function It(A,e,t){let s=A;for(;e-- >eo;)s*=s,s%=t;return s}function RQ(A,e){if(A===eo)throw new Error("invert: expected non-zero number");if(e<=eo)throw new Error("invert: expected positive modulus, got "+e);let t=wt(A,e),s=e,n=eo,r=St;for(;t!==eo;){const a=s/t,g=s%t,Q=n-r*a;s=t,t=g,n=r,r=Q}if(s!==St)throw new Error("invert: does not exist");return wt(n,e)}function cg(A,e,t){if(!A.eql(A.sqr(e),t))throw new Error("Cannot find square root")}function hc(A,e){const t=(A.ORDER+St)/Cc,s=A.pow(e,t);return cg(A,s,e),s}function Aw(A,e){const t=(A.ORDER-Ic)/uc,s=A.mul(e,Cs),n=A.pow(s,t),r=A.mul(e,n),i=A.mul(A.mul(r,Cs),n),a=A.mul(r,A.sub(i,A.ONE));return cg(A,a,e),a}function ew(A){const e=Ns(A),t=pc(A),s=t(e,e.neg(e.ONE)),n=t(e,s),r=t(e,e.neg(s)),i=(A+Xm)/dc;return(a,g)=>{let Q=a.pow(g,i),l=a.mul(Q,s);const C=a.mul(Q,n),I=a.mul(Q,r),c=a.eql(a.sqr(l),g),u=a.eql(a.sqr(C),g);Q=a.cmov(Q,l,c),l=a.cmov(I,C,u);const f=a.eql(a.sqr(l),g),h=a.cmov(Q,l,f);return cg(a,h,g),h}}function pc(A){if(A<Ec)throw new Error("sqrt is not defined for small field");let e=A-St,t=0;for(;e%Cs===eo;)e/=Cs,t++;let s=Cs;const n=Ns(A);for(;KQ(n,s)===1;)if(s++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(t===1)return hc;let r=n.pow(s,e);const i=(e+St)/Cs;return function(g,Q){if(g.is0(Q))return Q;if(KQ(g,Q)!==1)throw new Error("Cannot find square root");let l=t,C=g.mul(g.ONE,r),I=g.pow(Q,e),c=g.pow(Q,i);for(;!g.eql(I,g.ONE);){if(g.is0(I))return g.ZERO;let u=1,f=g.sqr(I);for(;!g.eql(f,g.ONE);)if(u++,f=g.sqr(f),u===l)throw new Error("Cannot find square root");const h=St<<BigInt(l-u-1),k=g.pow(C,h);l=u,C=g.sqr(k),I=g.mul(I,C),c=g.mul(c,k)}return c}}function tw(A){return A%Cc===Ec?hc:A%uc===Ic?Aw:A%dc===$m?ew(A):pc(A)}const ow=(A,e)=>(wt(A,e)&St)===St,sw=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function rw(A){const e={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},t=sw.reduce((s,n)=>(s[n]="function",s),e);return Ur(A,t),A}function nw(A,e,t){if(t<eo)throw new Error("invalid exponent, negatives unsupported");if(t===eo)return A.ONE;if(t===St)return e;let s=A.ONE,n=e;for(;t>eo;)t&St&&(s=A.mul(s,n)),n=A.sqr(n),t>>=St;return s}function fc(A,e,t=!1){const s=new Array(e.length).fill(t?A.ZERO:void 0),n=e.reduce((i,a,g)=>A.is0(a)?i:(s[g]=i,A.mul(i,a)),A.ONE),r=A.inv(n);return e.reduceRight((i,a,g)=>A.is0(a)?i:(s[g]=A.mul(i,s[g]),A.mul(i,a)),r),s}function KQ(A,e){const t=(A.ORDER-St)/Cs,s=A.pow(e,t),n=A.eql(s,A.ONE),r=A.eql(s,A.ZERO),i=A.eql(s,A.neg(A.ONE));if(!n&&!r&&!i)throw new Error("invalid Legendre symbol result");return n?1:r?0:-1}function mc(A,e){e!==void 0&&Ca(e);const t=e!==void 0?e:A.toString(2).length,s=Math.ceil(t/8);return{nBitLength:t,nByteLength:s}}function Ns(A,e,t=!1,s={}){if(A<=eo)throw new Error("invalid field: expected ORDER > 0, got "+A);let n,r,i=!1,a;if(typeof e=="object"&&e!=null){if(s.sqrt||t)throw new Error("cannot specify opts in two arguments");const I=e;I.BITS&&(n=I.BITS),I.sqrt&&(r=I.sqrt),typeof I.isLE=="boolean"&&(t=I.isLE),typeof I.modFromBytes=="boolean"&&(i=I.modFromBytes),a=I.allowedLengths}else typeof e=="number"&&(n=e),s.sqrt&&(r=s.sqrt);const{nBitLength:g,nByteLength:Q}=mc(A,n);if(Q>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let l;const C=Object.freeze({ORDER:A,isLE:t,BITS:g,BYTES:Q,MASK:Sr(g),ZERO:eo,ONE:St,allowedLengths:a,create:I=>wt(I,A),isValid:I=>{if(typeof I!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof I);return eo<=I&&I<A},is0:I=>I===eo,isValidNot0:I=>!C.is0(I)&&C.isValid(I),isOdd:I=>(I&St)===St,neg:I=>wt(-I,A),eql:(I,c)=>I===c,sqr:I=>wt(I*I,A),add:(I,c)=>wt(I+c,A),sub:(I,c)=>wt(I-c,A),mul:(I,c)=>wt(I*c,A),pow:(I,c)=>nw(C,I,c),div:(I,c)=>wt(I*RQ(c,A),A),sqrN:I=>I*I,addN:(I,c)=>I+c,subN:(I,c)=>I-c,mulN:(I,c)=>I*c,inv:I=>RQ(I,A),sqrt:r||(I=>(l||(l=tw(A)),l(C,I))),toBytes:I=>t?lc(I,Q):lg(I,Q),fromBytes:(I,c=!0)=>{if(a){if(!a.includes(I.length)||I.length>Q)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+I.length);const f=new Uint8Array(Q);f.set(I,t?0:f.length-I.length),I=f}if(I.length!==Q)throw new Error("Field.fromBytes: expected "+Q+" bytes, got "+I.length);let u=t?dr(I):zn(I);if(i&&(u=wt(u,A)),!c&&!C.isValid(u))throw new Error("invalid field element: outside of range 0..ORDER");return u},invertBatch:I=>fc(C,I),cmov:(I,c,u)=>u?c:I});return Object.freeze(C)}function wc(A){if(typeof A!="bigint")throw new Error("field order must be bigint");const e=A.toString(2).length;return Math.ceil(e/8)}function xc(A){const e=wc(A);return e+Math.ceil(e/2)}function iw(A,e,t=!1){const s=A.length,n=wc(e),r=xc(e);if(s<16||s<r||s>1024)throw new Error("expected "+r+"-1024 bytes of input, got "+s);const i=t?dr(A):zn(A),a=wt(i,e-St)+St;return t?lc(a,n):lg(a,n)}const Ys=BigInt(0),Is=BigInt(1);function wn(A,e){const t=e.negate();return A?t:e}function us(A,e){const t=fc(A.Fp,e.map(s=>s.Z));return e.map((s,n)=>A.fromAffine(s.toAffine(t[n])))}function Dc(A,e){if(!Number.isSafeInteger(A)||A<=0||A>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+A)}function ui(A,e){Dc(A,e);const t=Math.ceil(e/A)+1,s=2**(A-1),n=2**A,r=Sr(A),i=BigInt(A);return{windows:t,windowSize:s,mask:r,maxNumber:n,shiftBy:i}}function JQ(A,e,t){const{windowSize:s,mask:n,maxNumber:r,shiftBy:i}=t;let a=Number(A&n),g=A>>i;a>s&&(a-=r,g+=Is);const Q=e*s,l=Q+Math.abs(a)-1,C=a===0,I=a<0,c=e%2!==0;return{nextN:g,offset:l,isZero:C,isNeg:I,isNegF:c,offsetF:Q}}function aw(A,e){if(!Array.isArray(A))throw new Error("array expected");A.forEach((t,s)=>{if(!(t instanceof e))throw new Error("invalid point at index "+s)})}function gw(A,e){if(!Array.isArray(A))throw new Error("array of scalars expected");A.forEach((t,s)=>{if(!e.isValid(t))throw new Error("invalid scalar at index "+s)})}const di=new WeakMap,yc=new WeakMap;function hi(A){return yc.get(A)||1}function LQ(A){if(A!==Ys)throw new Error("invalid wNAF")}class Nc{constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,s=this.ZERO){let n=e;for(;t>Ys;)t&Is&&(s=s.add(n)),n=n.double(),t>>=Is;return s}precomputeWindow(e,t){const{windows:s,windowSize:n}=ui(t,this.bits),r=[];let i=e,a=i;for(let g=0;g<s;g++){a=i,r.push(a);for(let Q=1;Q<n;Q++)a=a.add(i),r.push(a);i=a.double()}return r}wNAF(e,t,s){if(!this.Fn.isValid(s))throw new Error("invalid scalar");let n=this.ZERO,r=this.BASE;const i=ui(e,this.bits);for(let a=0;a<i.windows;a++){const{nextN:g,offset:Q,isZero:l,isNeg:C,isNegF:I,offsetF:c}=JQ(s,a,i);s=g,l?r=r.add(wn(I,t[c])):n=n.add(wn(C,t[Q]))}return LQ(s),{p:n,f:r}}wNAFUnsafe(e,t,s,n=this.ZERO){const r=ui(e,this.bits);for(let i=0;i<r.windows&&s!==Ys;i++){const{nextN:a,offset:g,isZero:Q,isNeg:l}=JQ(s,i,r);if(s=a,!Q){const C=t[g];n=n.add(l?C.negate():C)}}return LQ(s),n}getPrecomputes(e,t,s){let n=di.get(t);return n||(n=this.precomputeWindow(t,e),e!==1&&(typeof s=="function"&&(n=s(n)),di.set(t,n))),n}cached(e,t,s){const n=hi(e);return this.wNAF(n,this.getPrecomputes(n,e,s),t)}unsafe(e,t,s,n){const r=hi(e);return r===1?this._unsafeLadder(e,t,n):this.wNAFUnsafe(r,this.getPrecomputes(r,e,s),t,n)}createCache(e,t){Dc(t,this.bits),yc.set(e,t),di.delete(e)}hasCache(e){return hi(e)!==1}}function Qw(A,e,t,s){let n=e,r=A.ZERO,i=A.ZERO;for(;t>Ys||s>Ys;)t&Is&&(r=r.add(n)),s&Is&&(i=i.add(n)),n=n.double(),t>>=Is,s>>=Is;return{p1:r,p2:i}}function kc(A,e,t,s){aw(t,A),gw(s,e);const n=t.length,r=s.length;if(n!==r)throw new Error("arrays of points and scalars must have equal length");const i=A.ZERO,a=cc(BigInt(n));let g=1;a>12?g=a-3:a>4?g=a-2:a>0&&(g=2);const Q=Sr(g),l=new Array(Number(Q)+1).fill(i),C=Math.floor((e.BITS-1)/g)*g;let I=i;for(let c=C;c>=0;c-=g){l.fill(i);for(let f=0;f<r;f++){const h=s[f],k=Number(h>>BigInt(c)&Q);l[k]=l[k].add(t[f])}let u=i;for(let f=l.length-1,h=i;f>0;f--)h=h.add(l[f]),u=u.add(h);if(I=I.add(u),c!==0)for(let f=0;f<g;f++)I=I.double()}return I}function jQ(A,e,t){if(e){if(e.ORDER!==A)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return rw(e),e}else return Ns(A,{isLE:t})}function Mc(A,e,t={},s){if(s===void 0&&(s=A==="edwards"),!e||typeof e!="object")throw new Error(`expected valid ${A} CURVE object`);for(const g of["p","n","h"]){const Q=e[g];if(!(typeof Q=="bigint"&&Q>Ys))throw new Error(`CURVE.${g} must be positive bigint`)}const n=jQ(e.p,t.Fp,s),r=jQ(e.n,t.Fn,s),a=["Gx","Gy","a",A==="weierstrass"?"b":"d"];for(const g of a)if(!n.isValid(e[g]))throw new Error(`CURVE.${g} must be valid field element of CURVE.Fp`);return e=Object.freeze(Object.assign({},e)),{CURVE:e,Fp:n,Fn:r}}const _o=BigInt(0),Nt=BigInt(1),pi=BigInt(2),Bw=BigInt(8);function lw(A,e,t,s){const n=A.sqr(t),r=A.sqr(s),i=A.add(A.mul(e.a,n),r),a=A.add(A.ONE,A.mul(e.d,A.mul(n,r)));return A.eql(i,a)}function cw(A,e={}){const t=Mc("edwards",A,e,e.FpFnLE),{Fp:s,Fn:n}=t;let r=t.CURVE;const{h:i}=r;Ur(e,{},{uvRatio:"function"});const a=pi<<BigInt(n.BYTES*8)-Nt,g=h=>s.create(h),Q=e.uvRatio||((h,k)=>{try{return{isValid:!0,value:s.sqrt(s.div(h,k))}}catch{return{isValid:!1,value:_o}}});if(!lw(s,r,r.Gx,r.Gy))throw new Error("bad curve params: generator point");function l(h,k,v=!1){const D=v?Nt:_o;return ua("coordinate "+h,k,D,a),k}function C(h){if(!(h instanceof u))throw new Error("ExtendedPoint expected")}const I=mn((h,k)=>{const{X:v,Y:D,Z:O}=h,J=h.is0();k==null&&(k=J?Bw:s.inv(O));const V=g(v*k),eA=g(D*k),X=s.mul(O,k);if(J)return{x:_o,y:Nt};if(X!==Nt)throw new Error("invZ was invalid");return{x:V,y:eA}}),c=mn(h=>{const{a:k,d:v}=r;if(h.is0())throw new Error("bad point: ZERO");const{X:D,Y:O,Z:J,T:V}=h,eA=g(D*D),X=g(O*O),K=g(J*J),W=g(K*K),T=g(eA*k),L=g(K*g(T+X)),w=g(W+g(v*g(eA*X)));if(L!==w)throw new Error("bad point: equation left != right (1)");const B=g(D*O),d=g(J*V);if(B!==d)throw new Error("bad point: equation left != right (2)");return!0});class u{constructor(k,v,D,O){this.X=l("x",k),this.Y=l("y",v),this.Z=l("z",D,!0),this.T=l("t",O),Object.freeze(this)}static CURVE(){return r}static fromAffine(k){if(k instanceof u)throw new Error("extended point not allowed");const{x:v,y:D}=k||{};return l("x",v),l("y",D),new u(v,D,Nt,g(v*D))}static fromBytes(k,v=!1){const D=s.BYTES,{a:O,d:J}=r;k=UQ(uo(k,D,"point")),ms(v,"zip215");const V=UQ(k),eA=k[D-1];V[D-1]=eA&-129;const X=dr(V),K=v?a:s.ORDER;ua("point.y",X,_o,K);const W=g(X*X),T=g(W-Nt),L=g(J*W-O);let{isValid:w,value:B}=Q(T,L);if(!w)throw new Error("bad point: invalid y coordinate");const d=(B&Nt)===Nt,N=(eA&128)!==0;if(!v&&B===_o&&N)throw new Error("bad point: x=0 and x_0=1");return N!==d&&(B=g(-B)),u.fromAffine({x:B,y:X})}static fromHex(k,v=!1){return u.fromBytes(ut("point",k),v)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(k=8,v=!0){return f.createCache(this,k),v||this.multiply(pi),this}assertValidity(){c(this)}equals(k){C(k);const{X:v,Y:D,Z:O}=this,{X:J,Y:V,Z:eA}=k,X=g(v*eA),K=g(J*O),W=g(D*eA),T=g(V*O);return X===K&&W===T}is0(){return this.equals(u.ZERO)}negate(){return new u(g(-this.X),this.Y,this.Z,g(-this.T))}double(){const{a:k}=r,{X:v,Y:D,Z:O}=this,J=g(v*v),V=g(D*D),eA=g(pi*g(O*O)),X=g(k*J),K=v+D,W=g(g(K*K)-J-V),T=X+V,L=T-eA,w=X-V,B=g(W*L),d=g(T*w),N=g(W*w),G=g(L*T);return new u(B,d,G,N)}add(k){C(k);const{a:v,d:D}=r,{X:O,Y:J,Z:V,T:eA}=this,{X,Y:K,Z:W,T}=k,L=g(O*X),w=g(J*K),B=g(eA*D*T),d=g(V*W),N=g((O+J)*(X+K)-L-w),G=d-B,S=d+B,j=g(w-v*L),H=g(N*G),b=g(S*j),E=g(N*j),p=g(G*S);return new u(H,b,p,E)}subtract(k){return this.add(k.negate())}multiply(k){if(!n.isValidNot0(k))throw new Error("invalid scalar: expected 1 <= sc < curve.n");const{p:v,f:D}=f.cached(this,k,O=>us(u,O));return us(u,[v,D])[0]}multiplyUnsafe(k,v=u.ZERO){if(!n.isValid(k))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return k===_o?u.ZERO:this.is0()||k===Nt?this:f.unsafe(this,k,D=>us(u,D),v)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}isTorsionFree(){return f.unsafe(this,r.n).is0()}toAffine(k){return I(this,k)}clearCofactor(){return i===Nt?this:this.multiplyUnsafe(i)}toBytes(){const{x:k,y:v}=this.toAffine(),D=s.toBytes(v);return D[D.length-1]|=k&Nt?128:0,D}toHex(){return hs(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(k){return us(u,k)}static msm(k,v){return kc(u,n,k,v)}_setWindowSize(k){this.precompute(k)}toRawBytes(){return this.toBytes()}}u.BASE=new u(r.Gx,r.Gy,Nt,g(r.Gx*r.Gy)),u.ZERO=new u(_o,Nt,Nt,_o),u.Fp=s,u.Fn=n;const f=new Nc(u,n.BITS);return u.BASE.precompute(8),u}function Ew(A,e,t={}){if(typeof e!="function")throw new Error('"hash" function param is required');Ur(t,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});const{prehash:s}=t,{BASE:n,Fp:r,Fn:i}=A,a=t.randomBytes||Qg,g=t.adjustScalarBytes||(K=>K),Q=t.domain||((K,W,T)=>{if(ms(T,"phflag"),W.length||T)throw new Error("Contexts/pre-hash are not supported");return K});function l(K){return i.create(dr(K))}function C(K){const W=D.secretKey;K=ut("private key",K,W);const T=ut("hashed private key",e(K),2*W),L=g(T.slice(0,W)),w=T.slice(W,2*W),B=l(L);return{head:L,prefix:w,scalar:B}}function I(K){const{head:W,prefix:T,scalar:L}=C(K),w=n.multiply(L),B=w.toBytes();return{head:W,prefix:T,scalar:L,point:w,pointBytes:B}}function c(K){return I(K).pointBytes}function u(K=Uint8Array.of(),...W){const T=bo(...W);return l(e(Q(T,ut("context",K),!!s)))}function f(K,W,T={}){K=ut("message",K),s&&(K=s(K));const{prefix:L,scalar:w,pointBytes:B}=I(W),d=u(T.context,L,K),N=n.multiply(d).toBytes(),G=u(T.context,N,B,K),S=i.create(d+G*w);if(!i.isValid(S))throw new Error("sign failed: invalid s");const j=bo(N,i.toBytes(S));return uo(j,D.signature,"result")}const h={zip215:!0};function k(K,W,T,L=h){const{context:w,zip215:B}=L,d=D.signature;K=ut("signature",K,d),W=ut("message",W),T=ut("publicKey",T,D.publicKey),B!==void 0&&ms(B,"zip215"),s&&(W=s(W));const N=d/2,G=K.subarray(0,N),S=dr(K.subarray(N,d));let j,H,b;try{j=A.fromBytes(T,B),H=A.fromBytes(G,B),b=n.multiplyUnsafe(S)}catch{return!1}if(!B&&j.isSmallOrder())return!1;const E=u(w,H.toBytes(),j.toBytes(),W);return H.add(j.multiplyUnsafe(E)).subtract(b).clearCofactor().is0()}const v=r.BYTES,D={secretKey:v,publicKey:v,signature:2*v,seed:v};function O(K=a(D.seed)){return uo(K,D.seed,"seed")}function J(K){const W=X.randomSecretKey(K);return{secretKey:W,publicKey:c(W)}}function V(K){return vr(K)&&K.length===i.BYTES}function eA(K,W){try{return!!A.fromBytes(K,W)}catch{return!1}}const X={getExtendedPublicKey:I,randomSecretKey:O,isValidSecretKey:V,isValidPublicKey:eA,toMontgomery(K){const{y:W}=A.fromBytes(K),T=D.publicKey,L=T===32;if(!L&&T!==57)throw new Error("only defined for 25519 and 448");const w=L?r.div(Nt+W,Nt-W):r.div(W-Nt,W+Nt);return r.toBytes(w)},toMontgomerySecret(K){const W=D.secretKey;uo(K,W);const T=e(K.subarray(0,W));return g(T).subarray(0,W)},randomPrivateKey:O,precompute(K=8,W=A.BASE){return W.precompute(K,!1)}};return Object.freeze({keygen:J,getPublicKey:c,sign:f,verify:k,utils:X,Point:A,lengths:D})}function Cw(A){const e={a:A.a,d:A.d,p:A.Fp.ORDER,n:A.n,h:A.h,Gx:A.Gx,Gy:A.Gy},t=A.Fp,s=Ns(e.n,A.nBitLength,!0),n={Fp:t,Fn:s,uvRatio:A.uvRatio},r={randomBytes:A.randomBytes,adjustScalarBytes:A.adjustScalarBytes,domain:A.domain,prehash:A.prehash,mapToCurve:A.mapToCurve};return{CURVE:e,curveOpts:n,hash:A.hash,eddsaOpts:r}}function Iw(A,e){const t=e.Point;return Object.assign({},e,{ExtendedPoint:t,CURVE:A,nBitLength:t.Fn.BITS,nByteLength:t.Fn.BYTES})}function uw(A){const{CURVE:e,curveOpts:t,hash:s,eddsaOpts:n}=Cw(A),r=cw(e,t),i=Ew(r,s,n);return Iw(A,i)}const dw=BigInt(1),TQ=BigInt(2);BigInt(3);const hw=BigInt(5),pw=BigInt(8),Eg=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),bc={p:Eg,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:pw,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function fw(A){const e=BigInt(10),t=BigInt(20),s=BigInt(40),n=BigInt(80),r=Eg,a=A*A%r*A%r,g=It(a,TQ,r)*a%r,Q=It(g,dw,r)*A%r,l=It(Q,hw,r)*Q%r,C=It(l,e,r)*l%r,I=It(C,t,r)*C%r,c=It(I,s,r)*I%r,u=It(c,n,r)*c%r,f=It(u,n,r)*c%r,h=It(f,e,r)*l%r;return{pow_p_5_8:It(h,TQ,r)*A%r,b2:a}}function mw(A){return A[0]&=248,A[31]&=127,A[31]|=64,A}const OQ=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function ww(A,e){const t=Eg,s=wt(e*e*e,t),n=wt(s*s*e,t),r=fw(A*n).pow_p_5_8;let i=wt(A*s*r,t);const a=wt(e*i*i,t),g=i,Q=wt(i*OQ,t),l=a===A,C=a===wt(-A,t),I=a===wt(-A*OQ,t);return l&&(i=g),(C||I)&&(i=Q),ow(i,t)&&(i=wt(-i,t)),{isValid:l||C,value:i}}const xw=Ns(bc.p,{isLE:!0}),Dw={...bc,Fp:xw,hash:Vm,adjustScalarBytes:mw,uvRatio:ww},Vn=uw(Dw);var Bn={exports:{}};const yw={},Nw=Object.freeze(Object.defineProperty({__proto__:null,default:yw},Symbol.toStringTag,{value:"Module"})),Fc=Ma(Nw);var kw=Bn.exports,qQ;function Gc(){return qQ||(qQ=1,(function(A){(function(e,t){function s(w,B){if(!w)throw new Error(B||"Assertion failed")}function n(w,B){w.super_=B;var d=function(){};d.prototype=B.prototype,w.prototype=new d,w.prototype.constructor=w}function r(w,B,d){if(r.isBN(w))return w;this.negative=0,this.words=null,this.length=0,this.red=null,w!==null&&((B==="le"||B==="be")&&(d=B,B=10),this._init(w||0,B||10,d||"be"))}typeof e=="object"?e.exports=r:t.BN=r,r.BN=r,r.wordSize=26;var i;try{typeof window<"u"&&typeof window.Buffer<"u"?i=window.Buffer:i=Fc.Buffer}catch{}r.isBN=function(B){return B instanceof r?!0:B!==null&&typeof B=="object"&&B.constructor.wordSize===r.wordSize&&Array.isArray(B.words)},r.max=function(B,d){return B.cmp(d)>0?B:d},r.min=function(B,d){return B.cmp(d)<0?B:d},r.prototype._init=function(B,d,N){if(typeof B=="number")return this._initNumber(B,d,N);if(typeof B=="object")return this._initArray(B,d,N);d==="hex"&&(d=16),s(d===(d|0)&&d>=2&&d<=36),B=B.toString().replace(/\s+/g,"");var G=0;B[0]==="-"&&(G++,this.negative=1),G<B.length&&(d===16?this._parseHex(B,G,N):(this._parseBase(B,d,G),N==="le"&&this._initArray(this.toArray(),d,N)))},r.prototype._initNumber=function(B,d,N){B<0&&(this.negative=1,B=-B),B<67108864?(this.words=[B&67108863],this.length=1):B<4503599627370496?(this.words=[B&67108863,B/67108864&67108863],this.length=2):(s(B<9007199254740992),this.words=[B&67108863,B/67108864&67108863,1],this.length=3),N==="le"&&this._initArray(this.toArray(),d,N)},r.prototype._initArray=function(B,d,N){if(s(typeof B.length=="number"),B.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(B.length/3),this.words=new Array(this.length);for(var G=0;G<this.length;G++)this.words[G]=0;var S,j,H=0;if(N==="be")for(G=B.length-1,S=0;G>=0;G-=3)j=B[G]|B[G-1]<<8|B[G-2]<<16,this.words[S]|=j<<H&67108863,this.words[S+1]=j>>>26-H&67108863,H+=24,H>=26&&(H-=26,S++);else if(N==="le")for(G=0,S=0;G<B.length;G+=3)j=B[G]|B[G+1]<<8|B[G+2]<<16,this.words[S]|=j<<H&67108863,this.words[S+1]=j>>>26-H&67108863,H+=24,H>=26&&(H-=26,S++);return this._strip()};function a(w,B){var d=w.charCodeAt(B);if(d>=48&&d<=57)return d-48;if(d>=65&&d<=70)return d-55;if(d>=97&&d<=102)return d-87;s(!1,"Invalid character in "+w)}function g(w,B,d){var N=a(w,d);return d-1>=B&&(N|=a(w,d-1)<<4),N}r.prototype._parseHex=function(B,d,N){this.length=Math.ceil((B.length-d)/6),this.words=new Array(this.length);for(var G=0;G<this.length;G++)this.words[G]=0;var S=0,j=0,H;if(N==="be")for(G=B.length-1;G>=d;G-=2)H=g(B,d,G)<<S,this.words[j]|=H&67108863,S>=18?(S-=18,j+=1,this.words[j]|=H>>>26):S+=8;else{var b=B.length-d;for(G=b%2===0?d+1:d;G<B.length;G+=2)H=g(B,d,G)<<S,this.words[j]|=H&67108863,S>=18?(S-=18,j+=1,this.words[j]|=H>>>26):S+=8}this._strip()};function Q(w,B,d,N){for(var G=0,S=0,j=Math.min(w.length,d),H=B;H<j;H++){var b=w.charCodeAt(H)-48;G*=N,b>=49?S=b-49+10:b>=17?S=b-17+10:S=b,s(b>=0&&S<N,"Invalid character"),G+=S}return G}r.prototype._parseBase=function(B,d,N){this.words=[0],this.length=1;for(var G=0,S=1;S<=67108863;S*=d)G++;G--,S=S/d|0;for(var j=B.length-N,H=j%G,b=Math.min(j,j-H)+N,E=0,p=N;p<b;p+=G)E=Q(B,p,p+G,d),this.imuln(S),this.words[0]+E<67108864?this.words[0]+=E:this._iaddn(E);if(H!==0){var U=1;for(E=Q(B,p,B.length,d),p=0;p<H;p++)U*=d;this.imuln(U),this.words[0]+E<67108864?this.words[0]+=E:this._iaddn(E)}this._strip()},r.prototype.copy=function(B){B.words=new Array(this.length);for(var d=0;d<this.length;d++)B.words[d]=this.words[d];B.length=this.length,B.negative=this.negative,B.red=this.red};function l(w,B){w.words=B.words,w.length=B.length,w.negative=B.negative,w.red=B.red}if(r.prototype._move=function(B){l(B,this)},r.prototype.clone=function(){var B=new r(null);return this.copy(B),B},r.prototype._expand=function(B){for(;this.length<B;)this.words[this.length++]=0;return this},r.prototype._strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},r.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{r.prototype[Symbol.for("nodejs.util.inspect.custom")]=C}catch{r.prototype.inspect=C}else r.prototype.inspect=C;function C(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var I=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],c=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],u=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];r.prototype.toString=function(B,d){B=B||10,d=d|0||1;var N;if(B===16||B==="hex"){N="";for(var G=0,S=0,j=0;j<this.length;j++){var H=this.words[j],b=((H<<G|S)&16777215).toString(16);S=H>>>24-G&16777215,G+=2,G>=26&&(G-=26,j--),S!==0||j!==this.length-1?N=I[6-b.length]+b+N:N=b+N}for(S!==0&&(N=S.toString(16)+N);N.length%d!==0;)N="0"+N;return this.negative!==0&&(N="-"+N),N}if(B===(B|0)&&B>=2&&B<=36){var E=c[B],p=u[B];N="";var U=this.clone();for(U.negative=0;!U.isZero();){var R=U.modrn(p).toString(B);U=U.idivn(p),U.isZero()?N=R+N:N=I[E-R.length]+R+N}for(this.isZero()&&(N="0"+N);N.length%d!==0;)N="0"+N;return this.negative!==0&&(N="-"+N),N}s(!1,"Base should be between 2 and 36")},r.prototype.toNumber=function(){var B=this.words[0];return this.length===2?B+=this.words[1]*67108864:this.length===3&&this.words[2]===1?B+=4503599627370496+this.words[1]*67108864:this.length>2&&s(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-B:B},r.prototype.toJSON=function(){return this.toString(16,2)},i&&(r.prototype.toBuffer=function(B,d){return this.toArrayLike(i,B,d)}),r.prototype.toArray=function(B,d){return this.toArrayLike(Array,B,d)};var f=function(B,d){return B.allocUnsafe?B.allocUnsafe(d):new B(d)};r.prototype.toArrayLike=function(B,d,N){this._strip();var G=this.byteLength(),S=N||Math.max(1,G);s(G<=S,"byte array longer than desired length"),s(S>0,"Requested array length <= 0");var j=f(B,S),H=d==="le"?"LE":"BE";return this["_toArrayLike"+H](j,G),j},r.prototype._toArrayLikeLE=function(B,d){for(var N=0,G=0,S=0,j=0;S<this.length;S++){var H=this.words[S]<<j|G;B[N++]=H&255,N<B.length&&(B[N++]=H>>8&255),N<B.length&&(B[N++]=H>>16&255),j===6?(N<B.length&&(B[N++]=H>>24&255),G=0,j=0):(G=H>>>24,j+=2)}if(N<B.length)for(B[N++]=G;N<B.length;)B[N++]=0},r.prototype._toArrayLikeBE=function(B,d){for(var N=B.length-1,G=0,S=0,j=0;S<this.length;S++){var H=this.words[S]<<j|G;B[N--]=H&255,N>=0&&(B[N--]=H>>8&255),N>=0&&(B[N--]=H>>16&255),j===6?(N>=0&&(B[N--]=H>>24&255),G=0,j=0):(G=H>>>24,j+=2)}if(N>=0)for(B[N--]=G;N>=0;)B[N--]=0},Math.clz32?r.prototype._countBits=function(B){return 32-Math.clz32(B)}:r.prototype._countBits=function(B){var d=B,N=0;return d>=4096&&(N+=13,d>>>=13),d>=64&&(N+=7,d>>>=7),d>=8&&(N+=4,d>>>=4),d>=2&&(N+=2,d>>>=2),N+d},r.prototype._zeroBits=function(B){if(B===0)return 26;var d=B,N=0;return(d&8191)===0&&(N+=13,d>>>=13),(d&127)===0&&(N+=7,d>>>=7),(d&15)===0&&(N+=4,d>>>=4),(d&3)===0&&(N+=2,d>>>=2),(d&1)===0&&N++,N},r.prototype.bitLength=function(){var B=this.words[this.length-1],d=this._countBits(B);return(this.length-1)*26+d};function h(w){for(var B=new Array(w.bitLength()),d=0;d<B.length;d++){var N=d/26|0,G=d%26;B[d]=w.words[N]>>>G&1}return B}r.prototype.zeroBits=function(){if(this.isZero())return 0;for(var B=0,d=0;d<this.length;d++){var N=this._zeroBits(this.words[d]);if(B+=N,N!==26)break}return B},r.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},r.prototype.toTwos=function(B){return this.negative!==0?this.abs().inotn(B).iaddn(1):this.clone()},r.prototype.fromTwos=function(B){return this.testn(B-1)?this.notn(B).iaddn(1).ineg():this.clone()},r.prototype.isNeg=function(){return this.negative!==0},r.prototype.neg=function(){return this.clone().ineg()},r.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},r.prototype.iuor=function(B){for(;this.length<B.length;)this.words[this.length++]=0;for(var d=0;d<B.length;d++)this.words[d]=this.words[d]|B.words[d];return this._strip()},r.prototype.ior=function(B){return s((this.negative|B.negative)===0),this.iuor(B)},r.prototype.or=function(B){return this.length>B.length?this.clone().ior(B):B.clone().ior(this)},r.prototype.uor=function(B){return this.length>B.length?this.clone().iuor(B):B.clone().iuor(this)},r.prototype.iuand=function(B){var d;this.length>B.length?d=B:d=this;for(var N=0;N<d.length;N++)this.words[N]=this.words[N]&B.words[N];return this.length=d.length,this._strip()},r.prototype.iand=function(B){return s((this.negative|B.negative)===0),this.iuand(B)},r.prototype.and=function(B){return this.length>B.length?this.clone().iand(B):B.clone().iand(this)},r.prototype.uand=function(B){return this.length>B.length?this.clone().iuand(B):B.clone().iuand(this)},r.prototype.iuxor=function(B){var d,N;this.length>B.length?(d=this,N=B):(d=B,N=this);for(var G=0;G<N.length;G++)this.words[G]=d.words[G]^N.words[G];if(this!==d)for(;G<d.length;G++)this.words[G]=d.words[G];return this.length=d.length,this._strip()},r.prototype.ixor=function(B){return s((this.negative|B.negative)===0),this.iuxor(B)},r.prototype.xor=function(B){return this.length>B.length?this.clone().ixor(B):B.clone().ixor(this)},r.prototype.uxor=function(B){return this.length>B.length?this.clone().iuxor(B):B.clone().iuxor(this)},r.prototype.inotn=function(B){s(typeof B=="number"&&B>=0);var d=Math.ceil(B/26)|0,N=B%26;this._expand(d),N>0&&d--;for(var G=0;G<d;G++)this.words[G]=~this.words[G]&67108863;return N>0&&(this.words[G]=~this.words[G]&67108863>>26-N),this._strip()},r.prototype.notn=function(B){return this.clone().inotn(B)},r.prototype.setn=function(B,d){s(typeof B=="number"&&B>=0);var N=B/26|0,G=B%26;return this._expand(N+1),d?this.words[N]=this.words[N]|1<<G:this.words[N]=this.words[N]&~(1<<G),this._strip()},r.prototype.iadd=function(B){var d;if(this.negative!==0&&B.negative===0)return this.negative=0,d=this.isub(B),this.negative^=1,this._normSign();if(this.negative===0&&B.negative!==0)return B.negative=0,d=this.isub(B),B.negative=1,d._normSign();var N,G;this.length>B.length?(N=this,G=B):(N=B,G=this);for(var S=0,j=0;j<G.length;j++)d=(N.words[j]|0)+(G.words[j]|0)+S,this.words[j]=d&67108863,S=d>>>26;for(;S!==0&&j<N.length;j++)d=(N.words[j]|0)+S,this.words[j]=d&67108863,S=d>>>26;if(this.length=N.length,S!==0)this.words[this.length]=S,this.length++;else if(N!==this)for(;j<N.length;j++)this.words[j]=N.words[j];return this},r.prototype.add=function(B){var d;return B.negative!==0&&this.negative===0?(B.negative=0,d=this.sub(B),B.negative^=1,d):B.negative===0&&this.negative!==0?(this.negative=0,d=B.sub(this),this.negative=1,d):this.length>B.length?this.clone().iadd(B):B.clone().iadd(this)},r.prototype.isub=function(B){if(B.negative!==0){B.negative=0;var d=this.iadd(B);return B.negative=1,d._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(B),this.negative=1,this._normSign();var N=this.cmp(B);if(N===0)return this.negative=0,this.length=1,this.words[0]=0,this;var G,S;N>0?(G=this,S=B):(G=B,S=this);for(var j=0,H=0;H<S.length;H++)d=(G.words[H]|0)-(S.words[H]|0)+j,j=d>>26,this.words[H]=d&67108863;for(;j!==0&&H<G.length;H++)d=(G.words[H]|0)+j,j=d>>26,this.words[H]=d&67108863;if(j===0&&H<G.length&&G!==this)for(;H<G.length;H++)this.words[H]=G.words[H];return this.length=Math.max(this.length,H),G!==this&&(this.negative=1),this._strip()},r.prototype.sub=function(B){return this.clone().isub(B)};function k(w,B,d){d.negative=B.negative^w.negative;var N=w.length+B.length|0;d.length=N,N=N-1|0;var G=w.words[0]|0,S=B.words[0]|0,j=G*S,H=j&67108863,b=j/67108864|0;d.words[0]=H;for(var E=1;E<N;E++){for(var p=b>>>26,U=b&67108863,R=Math.min(E,B.length-1),_=Math.max(0,E-w.length+1);_<=R;_++){var tA=E-_|0;G=w.words[tA]|0,S=B.words[_]|0,j=G*S+U,p+=j/67108864|0,U=j&67108863}d.words[E]=U|0,b=p|0}return b!==0?d.words[E]=b|0:d.length--,d._strip()}var v=function(B,d,N){var G=B.words,S=d.words,j=N.words,H=0,b,E,p,U=G[0]|0,R=U&8191,_=U>>>13,tA=G[1]|0,IA=tA&8191,iA=tA>>>13,UA=G[2]|0,HA=UA&8191,lA=UA>>>13,qA=G[3]|0,re=qA&8191,he=qA>>>13,kA=G[4]|0,VA=kA&8191,ae=kA>>>13,He=G[5]|0,le=He&8191,Ge=He>>>13,nt=G[6]|0,ve=nt&8191,yA=nt>>>13,pe=G[7]|0,YA=pe&8191,q=pe>>>13,y=G[8]|0,M=y&8191,Z=y>>>13,AA=G[9]|0,nA=AA&8191,cA=AA>>>13,zA=S[0]|0,PA=zA&8191,ZA=zA>>>13,Se=S[1]|0,WA=Se&8191,De=Se>>>13,Pt=S[2]|0,Je=Pt&8191,Pe=Pt>>>13,So=S[3]|0,ce=So&8191,Ue=So>>>13,Wt=S[4]|0,Oe=Wt&8191,_e=Wt>>>13,_A=S[5]|0,ye=_A&8191,fe=_A>>>13,Uo=S[6]|0,F=Uo&8191,Y=Uo>>>13,P=S[7]|0,m=P&8191,z=P>>>13,sA=S[8]|0,oA=sA&8191,uA=sA>>>13,DA=S[9]|0,bA=DA&8191,xA=DA>>>13;N.negative=B.negative^d.negative,N.length=19,b=Math.imul(R,PA),E=Math.imul(R,ZA),E=E+Math.imul(_,PA)|0,p=Math.imul(_,ZA);var Ie=(H+b|0)+((E&8191)<<13)|0;H=(p+(E>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,b=Math.imul(IA,PA),E=Math.imul(IA,ZA),E=E+Math.imul(iA,PA)|0,p=Math.imul(iA,ZA),b=b+Math.imul(R,WA)|0,E=E+Math.imul(R,De)|0,E=E+Math.imul(_,WA)|0,p=p+Math.imul(_,De)|0;var SA=(H+b|0)+((E&8191)<<13)|0;H=(p+(E>>>13)|0)+(SA>>>26)|0,SA&=67108863,b=Math.imul(HA,PA),E=Math.imul(HA,ZA),E=E+Math.imul(lA,PA)|0,p=Math.imul(lA,ZA),b=b+Math.imul(IA,WA)|0,E=E+Math.imul(IA,De)|0,E=E+Math.imul(iA,WA)|0,p=p+Math.imul(iA,De)|0,b=b+Math.imul(R,Je)|0,E=E+Math.imul(R,Pe)|0,E=E+Math.imul(_,Je)|0,p=p+Math.imul(_,Pe)|0;var XA=(H+b|0)+((E&8191)<<13)|0;H=(p+(E>>>13)|0)+(XA>>>26)|0,XA&=67108863,b=Math.imul(re,PA),E=Math.imul(re,ZA),E=E+Math.imul(he,PA)|0,p=Math.imul(he,ZA),b=b+Math.imul(HA,WA)|0,E=E+Math.imul(HA,De)|0,E=E+Math.imul(lA,WA)|0,p=p+Math.imul(lA,De)|0,b=b+Math.imul(IA,Je)|0,E=E+Math.imul(IA,Pe)|0,E=E+Math.imul(iA,Je)|0,p=p+Math.imul(iA,Pe)|0,b=b+Math.imul(R,ce)|0,E=E+Math.imul(R,Ue)|0,E=E+Math.imul(_,ce)|0,p=p+Math.imul(_,Ue)|0;var se=(H+b|0)+((E&8191)<<13)|0;H=(p+(E>>>13)|0)+(se>>>26)|0,se&=67108863,b=Math.imul(VA,PA),E=Math.imul(VA,ZA),E=E+Math.imul(ae,PA)|0,p=Math.imul(ae,ZA),b=b+Math.imul(re,WA)|0,E=E+Math.imul(re,De)|0,E=E+Math.imul(he,WA)|0,p=p+Math.imul(he,De)|0,b=b+Math.imul(HA,Je)|0,E=E+Math.imul(HA,Pe)|0,E=E+Math.imul(lA,Je)|0,p=p+Math.imul(lA,Pe)|0,b=b+Math.imul(IA,ce)|0,E=E+Math.imul(IA,Ue)|0,E=E+Math.imul(iA,ce)|0,p=p+Math.imul(iA,Ue)|0,b=b+Math.imul(R,Oe)|0,E=E+Math.imul(R,_e)|0,E=E+Math.imul(_,Oe)|0,p=p+Math.imul(_,_e)|0;var ge=(H+b|0)+((E&8191)<<13)|0;H=(p+(E>>>13)|0)+(ge>>>26)|0,ge&=67108863,b=Math.imul(le,PA),E=Math.imul(le,ZA),E=E+Math.imul(Ge,PA)|0,p=Math.imul(Ge,ZA),b=b+Math.imul(VA,WA)|0,E=E+Math.imul(VA,De)|0,E=E+Math.imul(ae,WA)|0,p=p+Math.imul(ae,De)|0,b=b+Math.imul(re,Je)|0,E=E+Math.imul(re,Pe)|0,E=E+Math.imul(he,Je)|0,p=p+Math.imul(he,Pe)|0,b=b+Math.imul(HA,ce)|0,E=E+Math.imul(HA,Ue)|0,E=E+Math.imul(lA,ce)|0,p=p+Math.imul(lA,Ue)|0,b=b+Math.imul(IA,Oe)|0,E=E+Math.imul(IA,_e)|0,E=E+Math.imul(iA,Oe)|0,p=p+Math.imul(iA,_e)|0,b=b+Math.imul(R,ye)|0,E=E+Math.imul(R,fe)|0,E=E+Math.imul(_,ye)|0,p=p+Math.imul(_,fe)|0;var ie=(H+b|0)+((E&8191)<<13)|0;H=(p+(E>>>13)|0)+(ie>>>26)|0,ie&=67108863,b=Math.imul(ve,PA),E=Math.imul(ve,ZA),E=E+Math.imul(yA,PA)|0,p=Math.imul(yA,ZA),b=b+Math.imul(le,WA)|0,E=E+Math.imul(le,De)|0,E=E+Math.imul(Ge,WA)|0,p=p+Math.imul(Ge,De)|0,b=b+Math.imul(VA,Je)|0,E=E+Math.imul(VA,Pe)|0,E=E+Math.imul(ae,Je)|0,p=p+Math.imul(ae,Pe)|0,b=b+Math.imul(re,ce)|0,E=E+Math.imul(re,Ue)|0,E=E+Math.imul(he,ce)|0,p=p+Math.imul(he,Ue)|0,b=b+Math.imul(HA,Oe)|0,E=E+Math.imul(HA,_e)|0,E=E+Math.imul(lA,Oe)|0,p=p+Math.imul(lA,_e)|0,b=b+Math.imul(IA,ye)|0,E=E+Math.imul(IA,fe)|0,E=E+Math.imul(iA,ye)|0,p=p+Math.imul(iA,fe)|0,b=b+Math.imul(R,F)|0,E=E+Math.imul(R,Y)|0,E=E+Math.imul(_,F)|0,p=p+Math.imul(_,Y)|0;var te=(H+b|0)+((E&8191)<<13)|0;H=(p+(E>>>13)|0)+(te>>>26)|0,te&=67108863,b=Math.imul(YA,PA),E=Math.imul(YA,ZA),E=E+Math.imul(q,PA)|0,p=Math.imul(q,ZA),b=b+Math.imul(ve,WA)|0,E=E+Math.imul(ve,De)|0,E=E+Math.imul(yA,WA)|0,p=p+Math.imul(yA,De)|0,b=b+Math.imul(le,Je)|0,E=E+Math.imul(le,Pe)|0,E=E+Math.imul(Ge,Je)|0,p=p+Math.imul(Ge,Pe)|0,b=b+Math.imul(VA,ce)|0,E=E+Math.imul(VA,Ue)|0,E=E+Math.imul(ae,ce)|0,p=p+Math.imul(ae,Ue)|0,b=b+Math.imul(re,Oe)|0,E=E+Math.imul(re,_e)|0,E=E+Math.imul(he,Oe)|0,p=p+Math.imul(he,_e)|0,b=b+Math.imul(HA,ye)|0,E=E+Math.imul(HA,fe)|0,E=E+Math.imul(lA,ye)|0,p=p+Math.imul(lA,fe)|0,b=b+Math.imul(IA,F)|0,E=E+Math.imul(IA,Y)|0,E=E+Math.imul(iA,F)|0,p=p+Math.imul(iA,Y)|0,b=b+Math.imul(R,m)|0,E=E+Math.imul(R,z)|0,E=E+Math.imul(_,m)|0,p=p+Math.imul(_,z)|0;var oe=(H+b|0)+((E&8191)<<13)|0;H=(p+(E>>>13)|0)+(oe>>>26)|0,oe&=67108863,b=Math.imul(M,PA),E=Math.imul(M,ZA),E=E+Math.imul(Z,PA)|0,p=Math.imul(Z,ZA),b=b+Math.imul(YA,WA)|0,E=E+Math.imul(YA,De)|0,E=E+Math.imul(q,WA)|0,p=p+Math.imul(q,De)|0,b=b+Math.imul(ve,Je)|0,E=E+Math.imul(ve,Pe)|0,E=E+Math.imul(yA,Je)|0,p=p+Math.imul(yA,Pe)|0,b=b+Math.imul(le,ce)|0,E=E+Math.imul(le,Ue)|0,E=E+Math.imul(Ge,ce)|0,p=p+Math.imul(Ge,Ue)|0,b=b+Math.imul(VA,Oe)|0,E=E+Math.imul(VA,_e)|0,E=E+Math.imul(ae,Oe)|0,p=p+Math.imul(ae,_e)|0,b=b+Math.imul(re,ye)|0,E=E+Math.imul(re,fe)|0,E=E+Math.imul(he,ye)|0,p=p+Math.imul(he,fe)|0,b=b+Math.imul(HA,F)|0,E=E+Math.imul(HA,Y)|0,E=E+Math.imul(lA,F)|0,p=p+Math.imul(lA,Y)|0,b=b+Math.imul(IA,m)|0,E=E+Math.imul(IA,z)|0,E=E+Math.imul(iA,m)|0,p=p+Math.imul(iA,z)|0,b=b+Math.imul(R,oA)|0,E=E+Math.imul(R,uA)|0,E=E+Math.imul(_,oA)|0,p=p+Math.imul(_,uA)|0;var $A=(H+b|0)+((E&8191)<<13)|0;H=(p+(E>>>13)|0)+($A>>>26)|0,$A&=67108863,b=Math.imul(nA,PA),E=Math.imul(nA,ZA),E=E+Math.imul(cA,PA)|0,p=Math.imul(cA,ZA),b=b+Math.imul(M,WA)|0,E=E+Math.imul(M,De)|0,E=E+Math.imul(Z,WA)|0,p=p+Math.imul(Z,De)|0,b=b+Math.imul(YA,Je)|0,E=E+Math.imul(YA,Pe)|0,E=E+Math.imul(q,Je)|0,p=p+Math.imul(q,Pe)|0,b=b+Math.imul(ve,ce)|0,E=E+Math.imul(ve,Ue)|0,E=E+Math.imul(yA,ce)|0,p=p+Math.imul(yA,Ue)|0,b=b+Math.imul(le,Oe)|0,E=E+Math.imul(le,_e)|0,E=E+Math.imul(Ge,Oe)|0,p=p+Math.imul(Ge,_e)|0,b=b+Math.imul(VA,ye)|0,E=E+Math.imul(VA,fe)|0,E=E+Math.imul(ae,ye)|0,p=p+Math.imul(ae,fe)|0,b=b+Math.imul(re,F)|0,E=E+Math.imul(re,Y)|0,E=E+Math.imul(he,F)|0,p=p+Math.imul(he,Y)|0,b=b+Math.imul(HA,m)|0,E=E+Math.imul(HA,z)|0,E=E+Math.imul(lA,m)|0,p=p+Math.imul(lA,z)|0,b=b+Math.imul(IA,oA)|0,E=E+Math.imul(IA,uA)|0,E=E+Math.imul(iA,oA)|0,p=p+Math.imul(iA,uA)|0,b=b+Math.imul(R,bA)|0,E=E+Math.imul(R,xA)|0,E=E+Math.imul(_,bA)|0,p=p+Math.imul(_,xA)|0;var RA=(H+b|0)+((E&8191)<<13)|0;H=(p+(E>>>13)|0)+(RA>>>26)|0,RA&=67108863,b=Math.imul(nA,WA),E=Math.imul(nA,De),E=E+Math.imul(cA,WA)|0,p=Math.imul(cA,De),b=b+Math.imul(M,Je)|0,E=E+Math.imul(M,Pe)|0,E=E+Math.imul(Z,Je)|0,p=p+Math.imul(Z,Pe)|0,b=b+Math.imul(YA,ce)|0,E=E+Math.imul(YA,Ue)|0,E=E+Math.imul(q,ce)|0,p=p+Math.imul(q,Ue)|0,b=b+Math.imul(ve,Oe)|0,E=E+Math.imul(ve,_e)|0,E=E+Math.imul(yA,Oe)|0,p=p+Math.imul(yA,_e)|0,b=b+Math.imul(le,ye)|0,E=E+Math.imul(le,fe)|0,E=E+Math.imul(Ge,ye)|0,p=p+Math.imul(Ge,fe)|0,b=b+Math.imul(VA,F)|0,E=E+Math.imul(VA,Y)|0,E=E+Math.imul(ae,F)|0,p=p+Math.imul(ae,Y)|0,b=b+Math.imul(re,m)|0,E=E+Math.imul(re,z)|0,E=E+Math.imul(he,m)|0,p=p+Math.imul(he,z)|0,b=b+Math.imul(HA,oA)|0,E=E+Math.imul(HA,uA)|0,E=E+Math.imul(lA,oA)|0,p=p+Math.imul(lA,uA)|0,b=b+Math.imul(IA,bA)|0,E=E+Math.imul(IA,xA)|0,E=E+Math.imul(iA,bA)|0,p=p+Math.imul(iA,xA)|0;var OA=(H+b|0)+((E&8191)<<13)|0;H=(p+(E>>>13)|0)+(OA>>>26)|0,OA&=67108863,b=Math.imul(nA,Je),E=Math.imul(nA,Pe),E=E+Math.imul(cA,Je)|0,p=Math.imul(cA,Pe),b=b+Math.imul(M,ce)|0,E=E+Math.imul(M,Ue)|0,E=E+Math.imul(Z,ce)|0,p=p+Math.imul(Z,Ue)|0,b=b+Math.imul(YA,Oe)|0,E=E+Math.imul(YA,_e)|0,E=E+Math.imul(q,Oe)|0,p=p+Math.imul(q,_e)|0,b=b+Math.imul(ve,ye)|0,E=E+Math.imul(ve,fe)|0,E=E+Math.imul(yA,ye)|0,p=p+Math.imul(yA,fe)|0,b=b+Math.imul(le,F)|0,E=E+Math.imul(le,Y)|0,E=E+Math.imul(Ge,F)|0,p=p+Math.imul(Ge,Y)|0,b=b+Math.imul(VA,m)|0,E=E+Math.imul(VA,z)|0,E=E+Math.imul(ae,m)|0,p=p+Math.imul(ae,z)|0,b=b+Math.imul(re,oA)|0,E=E+Math.imul(re,uA)|0,E=E+Math.imul(he,oA)|0,p=p+Math.imul(he,uA)|0,b=b+Math.imul(HA,bA)|0,E=E+Math.imul(HA,xA)|0,E=E+Math.imul(lA,bA)|0,p=p+Math.imul(lA,xA)|0;var vA=(H+b|0)+((E&8191)<<13)|0;H=(p+(E>>>13)|0)+(vA>>>26)|0,vA&=67108863,b=Math.imul(nA,ce),E=Math.imul(nA,Ue),E=E+Math.imul(cA,ce)|0,p=Math.imul(cA,Ue),b=b+Math.imul(M,Oe)|0,E=E+Math.imul(M,_e)|0,E=E+Math.imul(Z,Oe)|0,p=p+Math.imul(Z,_e)|0,b=b+Math.imul(YA,ye)|0,E=E+Math.imul(YA,fe)|0,E=E+Math.imul(q,ye)|0,p=p+Math.imul(q,fe)|0,b=b+Math.imul(ve,F)|0,E=E+Math.imul(ve,Y)|0,E=E+Math.imul(yA,F)|0,p=p+Math.imul(yA,Y)|0,b=b+Math.imul(le,m)|0,E=E+Math.imul(le,z)|0,E=E+Math.imul(Ge,m)|0,p=p+Math.imul(Ge,z)|0,b=b+Math.imul(VA,oA)|0,E=E+Math.imul(VA,uA)|0,E=E+Math.imul(ae,oA)|0,p=p+Math.imul(ae,uA)|0,b=b+Math.imul(re,bA)|0,E=E+Math.imul(re,xA)|0,E=E+Math.imul(he,bA)|0,p=p+Math.imul(he,xA)|0;var KA=(H+b|0)+((E&8191)<<13)|0;H=(p+(E>>>13)|0)+(KA>>>26)|0,KA&=67108863,b=Math.imul(nA,Oe),E=Math.imul(nA,_e),E=E+Math.imul(cA,Oe)|0,p=Math.imul(cA,_e),b=b+Math.imul(M,ye)|0,E=E+Math.imul(M,fe)|0,E=E+Math.imul(Z,ye)|0,p=p+Math.imul(Z,fe)|0,b=b+Math.imul(YA,F)|0,E=E+Math.imul(YA,Y)|0,E=E+Math.imul(q,F)|0,p=p+Math.imul(q,Y)|0,b=b+Math.imul(ve,m)|0,E=E+Math.imul(ve,z)|0,E=E+Math.imul(yA,m)|0,p=p+Math.imul(yA,z)|0,b=b+Math.imul(le,oA)|0,E=E+Math.imul(le,uA)|0,E=E+Math.imul(Ge,oA)|0,p=p+Math.imul(Ge,uA)|0,b=b+Math.imul(VA,bA)|0,E=E+Math.imul(VA,xA)|0,E=E+Math.imul(ae,bA)|0,p=p+Math.imul(ae,xA)|0;var JA=(H+b|0)+((E&8191)<<13)|0;H=(p+(E>>>13)|0)+(JA>>>26)|0,JA&=67108863,b=Math.imul(nA,ye),E=Math.imul(nA,fe),E=E+Math.imul(cA,ye)|0,p=Math.imul(cA,fe),b=b+Math.imul(M,F)|0,E=E+Math.imul(M,Y)|0,E=E+Math.imul(Z,F)|0,p=p+Math.imul(Z,Y)|0,b=b+Math.imul(YA,m)|0,E=E+Math.imul(YA,z)|0,E=E+Math.imul(q,m)|0,p=p+Math.imul(q,z)|0,b=b+Math.imul(ve,oA)|0,E=E+Math.imul(ve,uA)|0,E=E+Math.imul(yA,oA)|0,p=p+Math.imul(yA,uA)|0,b=b+Math.imul(le,bA)|0,E=E+Math.imul(le,xA)|0,E=E+Math.imul(Ge,bA)|0,p=p+Math.imul(Ge,xA)|0;var GA=(H+b|0)+((E&8191)<<13)|0;H=(p+(E>>>13)|0)+(GA>>>26)|0,GA&=67108863,b=Math.imul(nA,F),E=Math.imul(nA,Y),E=E+Math.imul(cA,F)|0,p=Math.imul(cA,Y),b=b+Math.imul(M,m)|0,E=E+Math.imul(M,z)|0,E=E+Math.imul(Z,m)|0,p=p+Math.imul(Z,z)|0,b=b+Math.imul(YA,oA)|0,E=E+Math.imul(YA,uA)|0,E=E+Math.imul(q,oA)|0,p=p+Math.imul(q,uA)|0,b=b+Math.imul(ve,bA)|0,E=E+Math.imul(ve,xA)|0,E=E+Math.imul(yA,bA)|0,p=p+Math.imul(yA,xA)|0;var EA=(H+b|0)+((E&8191)<<13)|0;H=(p+(E>>>13)|0)+(EA>>>26)|0,EA&=67108863,b=Math.imul(nA,m),E=Math.imul(nA,z),E=E+Math.imul(cA,m)|0,p=Math.imul(cA,z),b=b+Math.imul(M,oA)|0,E=E+Math.imul(M,uA)|0,E=E+Math.imul(Z,oA)|0,p=p+Math.imul(Z,uA)|0,b=b+Math.imul(YA,bA)|0,E=E+Math.imul(YA,xA)|0,E=E+Math.imul(q,bA)|0,p=p+Math.imul(q,xA)|0;var CA=(H+b|0)+((E&8191)<<13)|0;H=(p+(E>>>13)|0)+(CA>>>26)|0,CA&=67108863,b=Math.imul(nA,oA),E=Math.imul(nA,uA),E=E+Math.imul(cA,oA)|0,p=Math.imul(cA,uA),b=b+Math.imul(M,bA)|0,E=E+Math.imul(M,xA)|0,E=E+Math.imul(Z,bA)|0,p=p+Math.imul(Z,xA)|0;var fA=(H+b|0)+((E&8191)<<13)|0;H=(p+(E>>>13)|0)+(fA>>>26)|0,fA&=67108863,b=Math.imul(nA,bA),E=Math.imul(nA,xA),E=E+Math.imul(cA,bA)|0,p=Math.imul(cA,xA);var hA=(H+b|0)+((E&8191)<<13)|0;return H=(p+(E>>>13)|0)+(hA>>>26)|0,hA&=67108863,j[0]=Ie,j[1]=SA,j[2]=XA,j[3]=se,j[4]=ge,j[5]=ie,j[6]=te,j[7]=oe,j[8]=$A,j[9]=RA,j[10]=OA,j[11]=vA,j[12]=KA,j[13]=JA,j[14]=GA,j[15]=EA,j[16]=CA,j[17]=fA,j[18]=hA,H!==0&&(j[19]=H,N.length++),N};Math.imul||(v=k);function D(w,B,d){d.negative=B.negative^w.negative,d.length=w.length+B.length;for(var N=0,G=0,S=0;S<d.length-1;S++){var j=G;G=0;for(var H=N&67108863,b=Math.min(S,B.length-1),E=Math.max(0,S-w.length+1);E<=b;E++){var p=S-E,U=w.words[p]|0,R=B.words[E]|0,_=U*R,tA=_&67108863;j=j+(_/67108864|0)|0,tA=tA+H|0,H=tA&67108863,j=j+(tA>>>26)|0,G+=j>>>26,j&=67108863}d.words[S]=H,N=j,j=G}return N!==0?d.words[S]=N:d.length--,d._strip()}function O(w,B,d){return D(w,B,d)}r.prototype.mulTo=function(B,d){var N,G=this.length+B.length;return this.length===10&&B.length===10?N=v(this,B,d):G<63?N=k(this,B,d):G<1024?N=D(this,B,d):N=O(this,B,d),N},r.prototype.mul=function(B){var d=new r(null);return d.words=new Array(this.length+B.length),this.mulTo(B,d)},r.prototype.mulf=function(B){var d=new r(null);return d.words=new Array(this.length+B.length),O(this,B,d)},r.prototype.imul=function(B){return this.clone().mulTo(B,this)},r.prototype.imuln=function(B){var d=B<0;d&&(B=-B),s(typeof B=="number"),s(B<67108864);for(var N=0,G=0;G<this.length;G++){var S=(this.words[G]|0)*B,j=(S&67108863)+(N&67108863);N>>=26,N+=S/67108864|0,N+=j>>>26,this.words[G]=j&67108863}return N!==0&&(this.words[G]=N,this.length++),this.length=B===0?1:this.length,d?this.ineg():this},r.prototype.muln=function(B){return this.clone().imuln(B)},r.prototype.sqr=function(){return this.mul(this)},r.prototype.isqr=function(){return this.imul(this.clone())},r.prototype.pow=function(B){var d=h(B);if(d.length===0)return new r(1);for(var N=this,G=0;G<d.length&&d[G]===0;G++,N=N.sqr());if(++G<d.length)for(var S=N.sqr();G<d.length;G++,S=S.sqr())d[G]!==0&&(N=N.mul(S));return N},r.prototype.iushln=function(B){s(typeof B=="number"&&B>=0);var d=B%26,N=(B-d)/26,G=67108863>>>26-d<<26-d,S;if(d!==0){var j=0;for(S=0;S<this.length;S++){var H=this.words[S]&G,b=(this.words[S]|0)-H<<d;this.words[S]=b|j,j=H>>>26-d}j&&(this.words[S]=j,this.length++)}if(N!==0){for(S=this.length-1;S>=0;S--)this.words[S+N]=this.words[S];for(S=0;S<N;S++)this.words[S]=0;this.length+=N}return this._strip()},r.prototype.ishln=function(B){return s(this.negative===0),this.iushln(B)},r.prototype.iushrn=function(B,d,N){s(typeof B=="number"&&B>=0);var G;d?G=(d-d%26)/26:G=0;var S=B%26,j=Math.min((B-S)/26,this.length),H=67108863^67108863>>>S<<S,b=N;if(G-=j,G=Math.max(0,G),b){for(var E=0;E<j;E++)b.words[E]=this.words[E];b.length=j}if(j!==0)if(this.length>j)for(this.length-=j,E=0;E<this.length;E++)this.words[E]=this.words[E+j];else this.words[0]=0,this.length=1;var p=0;for(E=this.length-1;E>=0&&(p!==0||E>=G);E--){var U=this.words[E]|0;this.words[E]=p<<26-S|U>>>S,p=U&H}return b&&p!==0&&(b.words[b.length++]=p),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},r.prototype.ishrn=function(B,d,N){return s(this.negative===0),this.iushrn(B,d,N)},r.prototype.shln=function(B){return this.clone().ishln(B)},r.prototype.ushln=function(B){return this.clone().iushln(B)},r.prototype.shrn=function(B){return this.clone().ishrn(B)},r.prototype.ushrn=function(B){return this.clone().iushrn(B)},r.prototype.testn=function(B){s(typeof B=="number"&&B>=0);var d=B%26,N=(B-d)/26,G=1<<d;if(this.length<=N)return!1;var S=this.words[N];return!!(S&G)},r.prototype.imaskn=function(B){s(typeof B=="number"&&B>=0);var d=B%26,N=(B-d)/26;if(s(this.negative===0,"imaskn works only with positive numbers"),this.length<=N)return this;if(d!==0&&N++,this.length=Math.min(N,this.length),d!==0){var G=67108863^67108863>>>d<<d;this.words[this.length-1]&=G}return this.length===0&&(this.words[0]=0,this.length=1),this._strip()},r.prototype.maskn=function(B){return this.clone().imaskn(B)},r.prototype.iaddn=function(B){return s(typeof B=="number"),s(B<67108864),B<0?this.isubn(-B):this.negative!==0?this.length===1&&(this.words[0]|0)<=B?(this.words[0]=B-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(B),this.negative=1,this):this._iaddn(B)},r.prototype._iaddn=function(B){this.words[0]+=B;for(var d=0;d<this.length&&this.words[d]>=67108864;d++)this.words[d]-=67108864,d===this.length-1?this.words[d+1]=1:this.words[d+1]++;return this.length=Math.max(this.length,d+1),this},r.prototype.isubn=function(B){if(s(typeof B=="number"),s(B<67108864),B<0)return this.iaddn(-B);if(this.negative!==0)return this.negative=0,this.iaddn(B),this.negative=1,this;if(this.words[0]-=B,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var d=0;d<this.length&&this.words[d]<0;d++)this.words[d]+=67108864,this.words[d+1]-=1;return this._strip()},r.prototype.addn=function(B){return this.clone().iaddn(B)},r.prototype.subn=function(B){return this.clone().isubn(B)},r.prototype.iabs=function(){return this.negative=0,this},r.prototype.abs=function(){return this.clone().iabs()},r.prototype._ishlnsubmul=function(B,d,N){var G=B.length+N,S;this._expand(G);var j,H=0;for(S=0;S<B.length;S++){j=(this.words[S+N]|0)+H;var b=(B.words[S]|0)*d;j-=b&67108863,H=(j>>26)-(b/67108864|0),this.words[S+N]=j&67108863}for(;S<this.length-N;S++)j=(this.words[S+N]|0)+H,H=j>>26,this.words[S+N]=j&67108863;if(H===0)return this._strip();for(s(H===-1),H=0,S=0;S<this.length;S++)j=-(this.words[S]|0)+H,H=j>>26,this.words[S]=j&67108863;return this.negative=1,this._strip()},r.prototype._wordDiv=function(B,d){var N=this.length-B.length,G=this.clone(),S=B,j=S.words[S.length-1]|0,H=this._countBits(j);N=26-H,N!==0&&(S=S.ushln(N),G.iushln(N),j=S.words[S.length-1]|0);var b=G.length-S.length,E;if(d!=="mod"){E=new r(null),E.length=b+1,E.words=new Array(E.length);for(var p=0;p<E.length;p++)E.words[p]=0}var U=G.clone()._ishlnsubmul(S,1,b);U.negative===0&&(G=U,E&&(E.words[b]=1));for(var R=b-1;R>=0;R--){var _=(G.words[S.length+R]|0)*67108864+(G.words[S.length+R-1]|0);for(_=Math.min(_/j|0,67108863),G._ishlnsubmul(S,_,R);G.negative!==0;)_--,G.negative=0,G._ishlnsubmul(S,1,R),G.isZero()||(G.negative^=1);E&&(E.words[R]=_)}return E&&E._strip(),G._strip(),d!=="div"&&N!==0&&G.iushrn(N),{div:E||null,mod:G}},r.prototype.divmod=function(B,d,N){if(s(!B.isZero()),this.isZero())return{div:new r(0),mod:new r(0)};var G,S,j;return this.negative!==0&&B.negative===0?(j=this.neg().divmod(B,d),d!=="mod"&&(G=j.div.neg()),d!=="div"&&(S=j.mod.neg(),N&&S.negative!==0&&S.iadd(B)),{div:G,mod:S}):this.negative===0&&B.negative!==0?(j=this.divmod(B.neg(),d),d!=="mod"&&(G=j.div.neg()),{div:G,mod:j.mod}):(this.negative&B.negative)!==0?(j=this.neg().divmod(B.neg(),d),d!=="div"&&(S=j.mod.neg(),N&&S.negative!==0&&S.isub(B)),{div:j.div,mod:S}):B.length>this.length||this.cmp(B)<0?{div:new r(0),mod:this}:B.length===1?d==="div"?{div:this.divn(B.words[0]),mod:null}:d==="mod"?{div:null,mod:new r(this.modrn(B.words[0]))}:{div:this.divn(B.words[0]),mod:new r(this.modrn(B.words[0]))}:this._wordDiv(B,d)},r.prototype.div=function(B){return this.divmod(B,"div",!1).div},r.prototype.mod=function(B){return this.divmod(B,"mod",!1).mod},r.prototype.umod=function(B){return this.divmod(B,"mod",!0).mod},r.prototype.divRound=function(B){var d=this.divmod(B);if(d.mod.isZero())return d.div;var N=d.div.negative!==0?d.mod.isub(B):d.mod,G=B.ushrn(1),S=B.andln(1),j=N.cmp(G);return j<0||S===1&&j===0?d.div:d.div.negative!==0?d.div.isubn(1):d.div.iaddn(1)},r.prototype.modrn=function(B){var d=B<0;d&&(B=-B),s(B<=67108863);for(var N=(1<<26)%B,G=0,S=this.length-1;S>=0;S--)G=(N*G+(this.words[S]|0))%B;return d?-G:G},r.prototype.modn=function(B){return this.modrn(B)},r.prototype.idivn=function(B){var d=B<0;d&&(B=-B),s(B<=67108863);for(var N=0,G=this.length-1;G>=0;G--){var S=(this.words[G]|0)+N*67108864;this.words[G]=S/B|0,N=S%B}return this._strip(),d?this.ineg():this},r.prototype.divn=function(B){return this.clone().idivn(B)},r.prototype.egcd=function(B){s(B.negative===0),s(!B.isZero());var d=this,N=B.clone();d.negative!==0?d=d.umod(B):d=d.clone();for(var G=new r(1),S=new r(0),j=new r(0),H=new r(1),b=0;d.isEven()&&N.isEven();)d.iushrn(1),N.iushrn(1),++b;for(var E=N.clone(),p=d.clone();!d.isZero();){for(var U=0,R=1;(d.words[0]&R)===0&&U<26;++U,R<<=1);if(U>0)for(d.iushrn(U);U-- >0;)(G.isOdd()||S.isOdd())&&(G.iadd(E),S.isub(p)),G.iushrn(1),S.iushrn(1);for(var _=0,tA=1;(N.words[0]&tA)===0&&_<26;++_,tA<<=1);if(_>0)for(N.iushrn(_);_-- >0;)(j.isOdd()||H.isOdd())&&(j.iadd(E),H.isub(p)),j.iushrn(1),H.iushrn(1);d.cmp(N)>=0?(d.isub(N),G.isub(j),S.isub(H)):(N.isub(d),j.isub(G),H.isub(S))}return{a:j,b:H,gcd:N.iushln(b)}},r.prototype._invmp=function(B){s(B.negative===0),s(!B.isZero());var d=this,N=B.clone();d.negative!==0?d=d.umod(B):d=d.clone();for(var G=new r(1),S=new r(0),j=N.clone();d.cmpn(1)>0&&N.cmpn(1)>0;){for(var H=0,b=1;(d.words[0]&b)===0&&H<26;++H,b<<=1);if(H>0)for(d.iushrn(H);H-- >0;)G.isOdd()&&G.iadd(j),G.iushrn(1);for(var E=0,p=1;(N.words[0]&p)===0&&E<26;++E,p<<=1);if(E>0)for(N.iushrn(E);E-- >0;)S.isOdd()&&S.iadd(j),S.iushrn(1);d.cmp(N)>=0?(d.isub(N),G.isub(S)):(N.isub(d),S.isub(G))}var U;return d.cmpn(1)===0?U=G:U=S,U.cmpn(0)<0&&U.iadd(B),U},r.prototype.gcd=function(B){if(this.isZero())return B.abs();if(B.isZero())return this.abs();var d=this.clone(),N=B.clone();d.negative=0,N.negative=0;for(var G=0;d.isEven()&&N.isEven();G++)d.iushrn(1),N.iushrn(1);do{for(;d.isEven();)d.iushrn(1);for(;N.isEven();)N.iushrn(1);var S=d.cmp(N);if(S<0){var j=d;d=N,N=j}else if(S===0||N.cmpn(1)===0)break;d.isub(N)}while(!0);return N.iushln(G)},r.prototype.invm=function(B){return this.egcd(B).a.umod(B)},r.prototype.isEven=function(){return(this.words[0]&1)===0},r.prototype.isOdd=function(){return(this.words[0]&1)===1},r.prototype.andln=function(B){return this.words[0]&B},r.prototype.bincn=function(B){s(typeof B=="number");var d=B%26,N=(B-d)/26,G=1<<d;if(this.length<=N)return this._expand(N+1),this.words[N]|=G,this;for(var S=G,j=N;S!==0&&j<this.length;j++){var H=this.words[j]|0;H+=S,S=H>>>26,H&=67108863,this.words[j]=H}return S!==0&&(this.words[j]=S,this.length++),this},r.prototype.isZero=function(){return this.length===1&&this.words[0]===0},r.prototype.cmpn=function(B){var d=B<0;if(this.negative!==0&&!d)return-1;if(this.negative===0&&d)return 1;this._strip();var N;if(this.length>1)N=1;else{d&&(B=-B),s(B<=67108863,"Number is too big");var G=this.words[0]|0;N=G===B?0:G<B?-1:1}return this.negative!==0?-N|0:N},r.prototype.cmp=function(B){if(this.negative!==0&&B.negative===0)return-1;if(this.negative===0&&B.negative!==0)return 1;var d=this.ucmp(B);return this.negative!==0?-d|0:d},r.prototype.ucmp=function(B){if(this.length>B.length)return 1;if(this.length<B.length)return-1;for(var d=0,N=this.length-1;N>=0;N--){var G=this.words[N]|0,S=B.words[N]|0;if(G!==S){G<S?d=-1:G>S&&(d=1);break}}return d},r.prototype.gtn=function(B){return this.cmpn(B)===1},r.prototype.gt=function(B){return this.cmp(B)===1},r.prototype.gten=function(B){return this.cmpn(B)>=0},r.prototype.gte=function(B){return this.cmp(B)>=0},r.prototype.ltn=function(B){return this.cmpn(B)===-1},r.prototype.lt=function(B){return this.cmp(B)===-1},r.prototype.lten=function(B){return this.cmpn(B)<=0},r.prototype.lte=function(B){return this.cmp(B)<=0},r.prototype.eqn=function(B){return this.cmpn(B)===0},r.prototype.eq=function(B){return this.cmp(B)===0},r.red=function(B){return new T(B)},r.prototype.toRed=function(B){return s(!this.red,"Already a number in reduction context"),s(this.negative===0,"red works only with positives"),B.convertTo(this)._forceRed(B)},r.prototype.fromRed=function(){return s(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},r.prototype._forceRed=function(B){return this.red=B,this},r.prototype.forceRed=function(B){return s(!this.red,"Already a number in reduction context"),this._forceRed(B)},r.prototype.redAdd=function(B){return s(this.red,"redAdd works only with red numbers"),this.red.add(this,B)},r.prototype.redIAdd=function(B){return s(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,B)},r.prototype.redSub=function(B){return s(this.red,"redSub works only with red numbers"),this.red.sub(this,B)},r.prototype.redISub=function(B){return s(this.red,"redISub works only with red numbers"),this.red.isub(this,B)},r.prototype.redShl=function(B){return s(this.red,"redShl works only with red numbers"),this.red.shl(this,B)},r.prototype.redMul=function(B){return s(this.red,"redMul works only with red numbers"),this.red._verify2(this,B),this.red.mul(this,B)},r.prototype.redIMul=function(B){return s(this.red,"redMul works only with red numbers"),this.red._verify2(this,B),this.red.imul(this,B)},r.prototype.redSqr=function(){return s(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},r.prototype.redISqr=function(){return s(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},r.prototype.redSqrt=function(){return s(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},r.prototype.redInvm=function(){return s(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},r.prototype.redNeg=function(){return s(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},r.prototype.redPow=function(B){return s(this.red&&!B.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,B)};var J={k256:null,p224:null,p192:null,p25519:null};function V(w,B){this.name=w,this.p=new r(B,16),this.n=this.p.bitLength(),this.k=new r(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}V.prototype._tmp=function(){var B=new r(null);return B.words=new Array(Math.ceil(this.n/13)),B},V.prototype.ireduce=function(B){var d=B,N;do this.split(d,this.tmp),d=this.imulK(d),d=d.iadd(this.tmp),N=d.bitLength();while(N>this.n);var G=N<this.n?-1:d.ucmp(this.p);return G===0?(d.words[0]=0,d.length=1):G>0?d.isub(this.p):d.strip!==void 0?d.strip():d._strip(),d},V.prototype.split=function(B,d){B.iushrn(this.n,0,d)},V.prototype.imulK=function(B){return B.imul(this.k)};function eA(){V.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}n(eA,V),eA.prototype.split=function(B,d){for(var N=4194303,G=Math.min(B.length,9),S=0;S<G;S++)d.words[S]=B.words[S];if(d.length=G,B.length<=9){B.words[0]=0,B.length=1;return}var j=B.words[9];for(d.words[d.length++]=j&N,S=10;S<B.length;S++){var H=B.words[S]|0;B.words[S-10]=(H&N)<<4|j>>>22,j=H}j>>>=22,B.words[S-10]=j,j===0&&B.length>10?B.length-=10:B.length-=9},eA.prototype.imulK=function(B){B.words[B.length]=0,B.words[B.length+1]=0,B.length+=2;for(var d=0,N=0;N<B.length;N++){var G=B.words[N]|0;d+=G*977,B.words[N]=d&67108863,d=G*64+(d/67108864|0)}return B.words[B.length-1]===0&&(B.length--,B.words[B.length-1]===0&&B.length--),B};function X(){V.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}n(X,V);function K(){V.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}n(K,V);function W(){V.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}n(W,V),W.prototype.imulK=function(B){for(var d=0,N=0;N<B.length;N++){var G=(B.words[N]|0)*19+d,S=G&67108863;G>>>=26,B.words[N]=S,d=G}return d!==0&&(B.words[B.length++]=d),B},r._prime=function(B){if(J[B])return J[B];var d;if(B==="k256")d=new eA;else if(B==="p224")d=new X;else if(B==="p192")d=new K;else if(B==="p25519")d=new W;else throw new Error("Unknown prime "+B);return J[B]=d,d};function T(w){if(typeof w=="string"){var B=r._prime(w);this.m=B.p,this.prime=B}else s(w.gtn(1),"modulus must be greater than 1"),this.m=w,this.prime=null}T.prototype._verify1=function(B){s(B.negative===0,"red works only with positives"),s(B.red,"red works only with red numbers")},T.prototype._verify2=function(B,d){s((B.negative|d.negative)===0,"red works only with positives"),s(B.red&&B.red===d.red,"red works only with red numbers")},T.prototype.imod=function(B){return this.prime?this.prime.ireduce(B)._forceRed(this):(l(B,B.umod(this.m)._forceRed(this)),B)},T.prototype.neg=function(B){return B.isZero()?B.clone():this.m.sub(B)._forceRed(this)},T.prototype.add=function(B,d){this._verify2(B,d);var N=B.add(d);return N.cmp(this.m)>=0&&N.isub(this.m),N._forceRed(this)},T.prototype.iadd=function(B,d){this._verify2(B,d);var N=B.iadd(d);return N.cmp(this.m)>=0&&N.isub(this.m),N},T.prototype.sub=function(B,d){this._verify2(B,d);var N=B.sub(d);return N.cmpn(0)<0&&N.iadd(this.m),N._forceRed(this)},T.prototype.isub=function(B,d){this._verify2(B,d);var N=B.isub(d);return N.cmpn(0)<0&&N.iadd(this.m),N},T.prototype.shl=function(B,d){return this._verify1(B),this.imod(B.ushln(d))},T.prototype.imul=function(B,d){return this._verify2(B,d),this.imod(B.imul(d))},T.prototype.mul=function(B,d){return this._verify2(B,d),this.imod(B.mul(d))},T.prototype.isqr=function(B){return this.imul(B,B.clone())},T.prototype.sqr=function(B){return this.mul(B,B)},T.prototype.sqrt=function(B){if(B.isZero())return B.clone();var d=this.m.andln(3);if(s(d%2===1),d===3){var N=this.m.add(new r(1)).iushrn(2);return this.pow(B,N)}for(var G=this.m.subn(1),S=0;!G.isZero()&&G.andln(1)===0;)S++,G.iushrn(1);s(!G.isZero());var j=new r(1).toRed(this),H=j.redNeg(),b=this.m.subn(1).iushrn(1),E=this.m.bitLength();for(E=new r(2*E*E).toRed(this);this.pow(E,b).cmp(H)!==0;)E.redIAdd(H);for(var p=this.pow(E,G),U=this.pow(B,G.addn(1).iushrn(1)),R=this.pow(B,G),_=S;R.cmp(j)!==0;){for(var tA=R,IA=0;tA.cmp(j)!==0;IA++)tA=tA.redSqr();s(IA<_);var iA=this.pow(p,new r(1).iushln(_-IA-1));U=U.redMul(iA),p=iA.redSqr(),R=R.redMul(p),_=IA}return U},T.prototype.invm=function(B){var d=B._invmp(this.m);return d.negative!==0?(d.negative=0,this.imod(d).redNeg()):this.imod(d)},T.prototype.pow=function(B,d){if(d.isZero())return new r(1).toRed(this);if(d.cmpn(1)===0)return B.clone();var N=4,G=new Array(1<<N);G[0]=new r(1).toRed(this),G[1]=B;for(var S=2;S<G.length;S++)G[S]=this.mul(G[S-1],B);var j=G[0],H=0,b=0,E=d.bitLength()%26;for(E===0&&(E=26),S=d.length-1;S>=0;S--){for(var p=d.words[S],U=E-1;U>=0;U--){var R=p>>U&1;if(j!==G[0]&&(j=this.sqr(j)),R===0&&H===0){b=0;continue}H<<=1,H|=R,b++,!(b!==N&&(S!==0||U!==0))&&(j=this.mul(j,G[H]),b=0,H=0)}E=26}return j},T.prototype.convertTo=function(B){var d=B.umod(this.m);return d===B?d.clone():d},T.prototype.convertFrom=function(B){var d=B.clone();return d.red=null,d},r.mont=function(B){return new L(B)};function L(w){T.call(this,w),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new r(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}n(L,T),L.prototype.convertTo=function(B){return this.imod(B.ushln(this.shift))},L.prototype.convertFrom=function(B){var d=this.imod(B.mul(this.rinv));return d.red=null,d},L.prototype.imul=function(B,d){if(B.isZero()||d.isZero())return B.words[0]=0,B.length=1,B;var N=B.imul(d),G=N.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),S=N.isub(G).iushrn(this.shift),j=S;return S.cmp(this.m)>=0?j=S.isub(this.m):S.cmpn(0)<0&&(j=S.iadd(this.m)),j._forceRed(this)},L.prototype.mul=function(B,d){if(B.isZero()||d.isZero())return new r(0)._forceRed(this);var N=B.mul(d),G=N.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),S=N.isub(G).iushrn(this.shift),j=S;return S.cmp(this.m)>=0?j=S.isub(this.m):S.cmpn(0)<0&&(j=S.iadd(this.m)),j._forceRed(this)},L.prototype.invm=function(B){var d=this.imod(B._invmp(this.m).mul(this.r2));return d._forceRed(this)}})(A,kw)})(Bn)),Bn.exports}var Mw=Gc();const YQ=bB(Mw);var Zr={exports:{}};var HQ;function vc(){return HQ||(HQ=1,(function(A,e){var t=ag(),s=t.Buffer;function n(i,a){for(var g in i)a[g]=i[g]}s.from&&s.alloc&&s.allocUnsafe&&s.allocUnsafeSlow?A.exports=t:(n(t,e),e.Buffer=r);function r(i,a,g){return s(i,a,g)}r.prototype=Object.create(s.prototype),n(s,r),r.from=function(i,a,g){if(typeof i=="number")throw new TypeError("Argument must not be a number");return s(i,a,g)},r.alloc=function(i,a,g){if(typeof i!="number")throw new TypeError("Argument must be a number");var Q=s(i);return a!==void 0?typeof g=="string"?Q.fill(a,g):Q.fill(a):Q.fill(0),Q},r.allocUnsafe=function(i){if(typeof i!="number")throw new TypeError("Argument must be a number");return s(i)},r.allocUnsafeSlow=function(i){if(typeof i!="number")throw new TypeError("Argument must be a number");return t.SlowBuffer(i)}})(Zr,Zr.exports)),Zr.exports}var fi,PQ;function bw(){if(PQ)return fi;PQ=1;var A=vc().Buffer;function e(t){if(t.length>=255)throw new TypeError("Alphabet too long");for(var s=new Uint8Array(256),n=0;n<s.length;n++)s[n]=255;for(var r=0;r<t.length;r++){var i=t.charAt(r),a=i.charCodeAt(0);if(s[a]!==255)throw new TypeError(i+" is ambiguous");s[a]=r}var g=t.length,Q=t.charAt(0),l=Math.log(g)/Math.log(256),C=Math.log(256)/Math.log(g);function I(f){if((Array.isArray(f)||f instanceof Uint8Array)&&(f=A.from(f)),!A.isBuffer(f))throw new TypeError("Expected Buffer");if(f.length===0)return"";for(var h=0,k=0,v=0,D=f.length;v!==D&&f[v]===0;)v++,h++;for(var O=(D-v)*C+1>>>0,J=new Uint8Array(O);v!==D;){for(var V=f[v],eA=0,X=O-1;(V!==0||eA<k)&&X!==-1;X--,eA++)V+=256*J[X]>>>0,J[X]=V%g>>>0,V=V/g>>>0;if(V!==0)throw new Error("Non-zero carry");k=eA,v++}for(var K=O-k;K!==O&&J[K]===0;)K++;for(var W=Q.repeat(h);K<O;++K)W+=t.charAt(J[K]);return W}function c(f){if(typeof f!="string")throw new TypeError("Expected String");if(f.length===0)return A.alloc(0);for(var h=0,k=0,v=0;f[h]===Q;)k++,h++;for(var D=(f.length-h)*l+1>>>0,O=new Uint8Array(D);h<f.length;){var J=f.charCodeAt(h);if(J>255)return;var V=s[J];if(V===255)return;for(var eA=0,X=D-1;(V!==0||eA<v)&&X!==-1;X--,eA++)V+=g*O[X]>>>0,O[X]=V%256>>>0,V=V/256>>>0;if(V!==0)throw new Error("Non-zero carry");v=eA,h++}for(var K=D-v;K!==D&&O[K]===0;)K++;var W=A.allocUnsafe(k+(D-K));W.fill(0,0,k);for(var T=k;K!==D;)W[T++]=O[K++];return W}function u(f){var h=c(f);if(h)return h;throw new Error("Non-base"+g+" character")}return{encode:I,decodeUnsafe:c,decode:u}}return fi=e,fi}var mi,WQ;function Fw(){if(WQ)return mi;WQ=1;var A=bw(),e="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";return mi=A(e),mi}var Gw=Fw();const zQ=bB(Gw),VQ=Qc;var Xe={},wi,ZQ;function vw(){if(ZQ)return wi;ZQ=1;var A=vc().Buffer;function e(t){if(t.length>=255)throw new TypeError("Alphabet too long");for(var s=new Uint8Array(256),n=0;n<s.length;n++)s[n]=255;for(var r=0;r<t.length;r++){var i=t.charAt(r),a=i.charCodeAt(0);if(s[a]!==255)throw new TypeError(i+" is ambiguous");s[a]=r}var g=t.length,Q=t.charAt(0),l=Math.log(g)/Math.log(256),C=Math.log(256)/Math.log(g);function I(f){if((Array.isArray(f)||f instanceof Uint8Array)&&(f=A.from(f)),!A.isBuffer(f))throw new TypeError("Expected Buffer");if(f.length===0)return"";for(var h=0,k=0,v=0,D=f.length;v!==D&&f[v]===0;)v++,h++;for(var O=(D-v)*C+1>>>0,J=new Uint8Array(O);v!==D;){for(var V=f[v],eA=0,X=O-1;(V!==0||eA<k)&&X!==-1;X--,eA++)V+=256*J[X]>>>0,J[X]=V%g>>>0,V=V/g>>>0;if(V!==0)throw new Error("Non-zero carry");k=eA,v++}for(var K=O-k;K!==O&&J[K]===0;)K++;for(var W=Q.repeat(h);K<O;++K)W+=t.charAt(J[K]);return W}function c(f){if(typeof f!="string")throw new TypeError("Expected String");if(f.length===0)return A.alloc(0);for(var h=0,k=0,v=0;f[h]===Q;)k++,h++;for(var D=(f.length-h)*l+1>>>0,O=new Uint8Array(D);h<f.length;){var J=f.charCodeAt(h);if(J>255)return;var V=s[J];if(V===255)return;for(var eA=0,X=D-1;(V!==0||eA<v)&&X!==-1;X--,eA++)V+=g*O[X]>>>0,O[X]=V%256>>>0,V=V/256>>>0;if(V!==0)throw new Error("Non-zero carry");v=eA,h++}for(var K=D-v;K!==D&&O[K]===0;)K++;var W=A.allocUnsafe(k+(D-K));W.fill(0,0,k);for(var T=k;K!==D;)W[T++]=O[K++];return W}function u(f){var h=c(f);if(h)return h;throw new Error("Non-base"+g+" character")}return{encode:I,decodeUnsafe:c,decode:u}}return wi=e,wi}var xi,_Q;function Sw(){if(_Q)return xi;_Q=1;var A=vw(),e="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";return xi=A(e),xi}function Oo(A,e,t){return e<=A&&A<=t}function Zn(A){if(A===void 0)return{};if(A===Object(A))return A;throw TypeError("Could not convert argument to dictionary")}function Uw(A){for(var e=String(A),t=e.length,s=0,n=[];s<t;){var r=e.charCodeAt(s);if(r<55296||r>57343)n.push(r);else if(56320<=r&&r<=57343)n.push(65533);else if(55296<=r&&r<=56319)if(s===t-1)n.push(65533);else{var i=A.charCodeAt(s+1);if(56320<=i&&i<=57343){var a=r&1023,g=i&1023;n.push(65536+(a<<10)+g),s+=1}else n.push(65533)}s+=1}return n}function Rw(A){for(var e="",t=0;t<A.length;++t){var s=A[t];s<=65535?e+=String.fromCharCode(s):(s-=65536,e+=String.fromCharCode((s>>10)+55296,(s&1023)+56320))}return e}var xn=-1;function Cg(A){this.tokens=[].slice.call(A)}Cg.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.shift():xn},prepend:function(A){if(Array.isArray(A))for(var e=A;e.length;)this.tokens.unshift(e.pop());else this.tokens.unshift(A)},push:function(A){if(Array.isArray(A))for(var e=A;e.length;)this.tokens.push(e.shift());else this.tokens.push(A)}};var Hs=-1;function Di(A,e){if(A)throw TypeError("Decoder error");return e||65533}var Dn="utf-8";function yn(A,e){if(!(this instanceof yn))return new yn(A,e);if(A=A!==void 0?String(A).toLowerCase():Dn,A!==Dn)throw new Error("Encoding not supported. Only utf-8 is supported");e=Zn(e),this._streaming=!1,this._BOMseen=!1,this._decoder=null,this._fatal=!!e.fatal,this._ignoreBOM=!!e.ignoreBOM,Object.defineProperty(this,"encoding",{value:"utf-8"}),Object.defineProperty(this,"fatal",{value:this._fatal}),Object.defineProperty(this,"ignoreBOM",{value:this._ignoreBOM})}yn.prototype={decode:function(e,t){var s;typeof e=="object"&&e instanceof ArrayBuffer?s=new Uint8Array(e):typeof e=="object"&&"buffer"in e&&e.buffer instanceof ArrayBuffer?s=new Uint8Array(e.buffer,e.byteOffset,e.byteLength):s=new Uint8Array(0),t=Zn(t),this._streaming||(this._decoder=new Kw({fatal:this._fatal}),this._BOMseen=!1),this._streaming=!!t.stream;for(var n=new Cg(s),r=[],i;!n.endOfStream()&&(i=this._decoder.handler(n,n.read()),i!==Hs);)i!==null&&(Array.isArray(i)?r.push.apply(r,i):r.push(i));if(!this._streaming){do{if(i=this._decoder.handler(n,n.read()),i===Hs)break;i!==null&&(Array.isArray(i)?r.push.apply(r,i):r.push(i))}while(!n.endOfStream());this._decoder=null}return r.length&&["utf-8"].indexOf(this.encoding)!==-1&&!this._ignoreBOM&&!this._BOMseen&&(r[0]===65279?(this._BOMseen=!0,r.shift()):this._BOMseen=!0),Rw(r)}};function Nn(A,e){if(!(this instanceof Nn))return new Nn(A,e);if(A=A!==void 0?String(A).toLowerCase():Dn,A!==Dn)throw new Error("Encoding not supported. Only utf-8 is supported");e=Zn(e),this._streaming=!1,this._encoder=null,this._options={fatal:!!e.fatal},Object.defineProperty(this,"encoding",{value:"utf-8"})}Nn.prototype={encode:function(e,t){e=e?String(e):"",t=Zn(t),this._streaming||(this._encoder=new Jw(this._options)),this._streaming=!!t.stream;for(var s=[],n=new Cg(Uw(e)),r;!n.endOfStream()&&(r=this._encoder.handler(n,n.read()),r!==Hs);)Array.isArray(r)?s.push.apply(s,r):s.push(r);if(!this._streaming){for(;r=this._encoder.handler(n,n.read()),r!==Hs;)Array.isArray(r)?s.push.apply(s,r):s.push(r);this._encoder=null}return new Uint8Array(s)}};function Kw(A){var e=A.fatal,t=0,s=0,n=0,r=128,i=191;this.handler=function(a,g){if(g===xn&&n!==0)return n=0,Di(e);if(g===xn)return Hs;if(n===0){if(Oo(g,0,127))return g;if(Oo(g,194,223))n=1,t=g-192;else if(Oo(g,224,239))g===224&&(r=160),g===237&&(i=159),n=2,t=g-224;else if(Oo(g,240,244))g===240&&(r=144),g===244&&(i=143),n=3,t=g-240;else return Di(e);return t=t<<6*n,null}if(!Oo(g,r,i))return t=n=s=0,r=128,i=191,a.prepend(g),Di(e);if(r=128,i=191,s+=1,t+=g-128<<6*(n-s),s!==n)return null;var Q=t;return t=n=s=0,Q}}function Jw(A){A.fatal,this.handler=function(e,t){if(t===xn)return Hs;if(Oo(t,0,127))return t;var s,n;Oo(t,128,2047)?(s=1,n=192):Oo(t,2048,65535)?(s=2,n=224):Oo(t,65536,1114111)&&(s=3,n=240);for(var r=[(t>>6*s)+n];s>0;){var i=t>>6*(s-1);r.push(128|i&63),s-=1}return r}}const Lw=Object.freeze(Object.defineProperty({__proto__:null,TextDecoder:yn,TextEncoder:Nn},Symbol.toStringTag,{value:"Module"})),jw=Ma(Lw);var XQ;function Tw(){if(XQ)return Xe;XQ=1;var A=Xe&&Xe.__createBinding||(Object.create?(function(K,W,T,L){L===void 0&&(L=T),Object.defineProperty(K,L,{enumerable:!0,get:function(){return W[T]}})}):(function(K,W,T,L){L===void 0&&(L=T),K[L]=W[T]})),e=Xe&&Xe.__setModuleDefault||(Object.create?(function(K,W){Object.defineProperty(K,"default",{enumerable:!0,value:W})}):function(K,W){K.default=W}),t=Xe&&Xe.__decorate||function(K,W,T,L){var w=arguments.length,B=w<3?W:L===null?L=Object.getOwnPropertyDescriptor(W,T):L,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")B=Reflect.decorate(K,W,T,L);else for(var N=K.length-1;N>=0;N--)(d=K[N])&&(B=(w<3?d(B):w>3?d(W,T,B):d(W,T))||B);return w>3&&B&&Object.defineProperty(W,T,B),B},s=Xe&&Xe.__importStar||function(K){if(K&&K.__esModule)return K;var W={};if(K!=null)for(var T in K)T!=="default"&&Object.hasOwnProperty.call(K,T)&&A(W,K,T);return e(W,K),W},n=Xe&&Xe.__importDefault||function(K){return K&&K.__esModule?K:{default:K}};Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.deserializeUnchecked=Xe.deserialize=Xe.serialize=Xe.BinaryReader=Xe.BinaryWriter=Xe.BorshError=Xe.baseDecode=Xe.baseEncode=void 0;const r=n(Gc()),i=n(Sw()),a=s(jw),g=typeof TextDecoder!="function"?a.TextDecoder:TextDecoder,Q=new g("utf-8",{fatal:!0});function l(K){return typeof K=="string"&&(K=Buffer.from(K,"utf8")),i.default.encode(Buffer.from(K))}Xe.baseEncode=l;function C(K){return Buffer.from(i.default.decode(K))}Xe.baseDecode=C;const I=1024;class c extends Error{constructor(W){super(W),this.fieldPath=[],this.originalMessage=W}addToFieldPath(W){this.fieldPath.splice(0,0,W),this.message=this.originalMessage+": "+this.fieldPath.join(".")}}Xe.BorshError=c;class u{constructor(){this.buf=Buffer.alloc(I),this.length=0}maybeResize(){this.buf.length<16+this.length&&(this.buf=Buffer.concat([this.buf,Buffer.alloc(I)]))}writeU8(W){this.maybeResize(),this.buf.writeUInt8(W,this.length),this.length+=1}writeU16(W){this.maybeResize(),this.buf.writeUInt16LE(W,this.length),this.length+=2}writeU32(W){this.maybeResize(),this.buf.writeUInt32LE(W,this.length),this.length+=4}writeU64(W){this.maybeResize(),this.writeBuffer(Buffer.from(new r.default(W).toArray("le",8)))}writeU128(W){this.maybeResize(),this.writeBuffer(Buffer.from(new r.default(W).toArray("le",16)))}writeU256(W){this.maybeResize(),this.writeBuffer(Buffer.from(new r.default(W).toArray("le",32)))}writeU512(W){this.maybeResize(),this.writeBuffer(Buffer.from(new r.default(W).toArray("le",64)))}writeBuffer(W){this.buf=Buffer.concat([Buffer.from(this.buf.subarray(0,this.length)),W,Buffer.alloc(I)]),this.length+=W.length}writeString(W){this.maybeResize();const T=Buffer.from(W,"utf8");this.writeU32(T.length),this.writeBuffer(T)}writeFixedArray(W){this.writeBuffer(Buffer.from(W))}writeArray(W,T){this.maybeResize(),this.writeU32(W.length);for(const L of W)this.maybeResize(),T(L)}toArray(){return this.buf.subarray(0,this.length)}}Xe.BinaryWriter=u;function f(K,W,T){const L=T.value;T.value=function(...w){try{return L.apply(this,w)}catch(B){if(B instanceof RangeError){const d=B.code;if(["ERR_BUFFER_OUT_OF_BOUNDS","ERR_OUT_OF_RANGE"].indexOf(d)>=0)throw new c("Reached the end of buffer when deserializing")}throw B}}}class h{constructor(W){this.buf=W,this.offset=0}readU8(){const W=this.buf.readUInt8(this.offset);return this.offset+=1,W}readU16(){const W=this.buf.readUInt16LE(this.offset);return this.offset+=2,W}readU32(){const W=this.buf.readUInt32LE(this.offset);return this.offset+=4,W}readU64(){const W=this.readBuffer(8);return new r.default(W,"le")}readU128(){const W=this.readBuffer(16);return new r.default(W,"le")}readU256(){const W=this.readBuffer(32);return new r.default(W,"le")}readU512(){const W=this.readBuffer(64);return new r.default(W,"le")}readBuffer(W){if(this.offset+W>this.buf.length)throw new c(`Expected buffer length ${W} isn't within bounds`);const T=this.buf.slice(this.offset,this.offset+W);return this.offset+=W,T}readString(){const W=this.readU32(),T=this.readBuffer(W);try{return Q.decode(T)}catch(L){throw new c(`Error decoding UTF-8 string: ${L}`)}}readFixedArray(W){return new Uint8Array(this.readBuffer(W))}readArray(W){const T=this.readU32(),L=Array();for(let w=0;w<T;++w)L.push(W());return L}}t([f],h.prototype,"readU8",null),t([f],h.prototype,"readU16",null),t([f],h.prototype,"readU32",null),t([f],h.prototype,"readU64",null),t([f],h.prototype,"readU128",null),t([f],h.prototype,"readU256",null),t([f],h.prototype,"readU512",null),t([f],h.prototype,"readString",null),t([f],h.prototype,"readFixedArray",null),t([f],h.prototype,"readArray",null),Xe.BinaryReader=h;function k(K){return K.charAt(0).toUpperCase()+K.slice(1)}function v(K,W,T,L,w){try{if(typeof L=="string")w[`write${k(L)}`](T);else if(L instanceof Array)if(typeof L[0]=="number"){if(T.length!==L[0])throw new c(`Expecting byte array of length ${L[0]}, but got ${T.length} bytes`);w.writeFixedArray(T)}else if(L.length===2&&typeof L[1]=="number"){if(T.length!==L[1])throw new c(`Expecting byte array of length ${L[1]}, but got ${T.length} bytes`);for(let B=0;B<L[1];B++)v(K,null,T[B],L[0],w)}else w.writeArray(T,B=>{v(K,W,B,L[0],w)});else if(L.kind!==void 0)switch(L.kind){case"option":{T==null?w.writeU8(0):(w.writeU8(1),v(K,W,T,L.type,w));break}case"map":{w.writeU32(T.size),T.forEach((B,d)=>{v(K,W,d,L.key,w),v(K,W,B,L.value,w)});break}default:throw new c(`FieldType ${L} unrecognized`)}else D(K,T,w)}catch(B){throw B instanceof c&&B.addToFieldPath(W),B}}function D(K,W,T){if(typeof W.borshSerialize=="function"){W.borshSerialize(T);return}const L=K.get(W.constructor);if(!L)throw new c(`Class ${W.constructor.name} is missing in schema`);if(L.kind==="struct")L.fields.map(([w,B])=>{v(K,w,W[w],B,T)});else if(L.kind==="enum"){const w=W[L.field];for(let B=0;B<L.values.length;++B){const[d,N]=L.values[B];if(d===w){T.writeU8(B),v(K,d,W[d],N,T);break}}}else throw new c(`Unexpected schema kind: ${L.kind} for ${W.constructor.name}`)}function O(K,W,T=u){const L=new T;return D(K,W,L),L.toArray()}Xe.serialize=O;function J(K,W,T,L){try{if(typeof T=="string")return L[`read${k(T)}`]();if(T instanceof Array){if(typeof T[0]=="number")return L.readFixedArray(T[0]);if(typeof T[1]=="number"){const w=[];for(let B=0;B<T[1];B++)w.push(J(K,null,T[0],L));return w}else return L.readArray(()=>J(K,W,T[0],L))}if(T.kind==="option")return L.readU8()?J(K,W,T.type,L):void 0;if(T.kind==="map"){let w=new Map;const B=L.readU32();for(let d=0;d<B;d++){const N=J(K,W,T.key,L),G=J(K,W,T.value,L);w.set(N,G)}return w}return V(K,T,L)}catch(w){throw w instanceof c&&w.addToFieldPath(W),w}}function V(K,W,T){if(typeof W.borshDeserialize=="function")return W.borshDeserialize(T);const L=K.get(W);if(!L)throw new c(`Class ${W.name} is missing in schema`);if(L.kind==="struct"){const w={};for(const[B,d]of K.get(W).fields)w[B]=J(K,B,d,T);return new W(w)}if(L.kind==="enum"){const w=T.readU8();if(w>=L.values.length)throw new c(`Enum index: ${w} is out of range`);const[B,d]=L.values[w],N=J(K,B,d,T);return new W({[B]:N})}throw new c(`Unexpected schema kind: ${L.kind} for ${W.constructor.name}`)}function eA(K,W,T,L=h){const w=new L(T),B=V(K,W,w);if(w.offset<T.length)throw new c(`Unexpected ${T.length-w.offset} bytes after deserialized data`);return B}Xe.deserialize=eA;function X(K,W,T,L=h){const w=new L(T);return V(K,W,w)}return Xe.deserializeUnchecked=X,Xe}var yi=Tw(),QA={},$Q;function Ow(){if($Q)return QA;$Q=1,Object.defineProperty(QA,"__esModule",{value:!0}),QA.s16=QA.s8=QA.nu64be=QA.u48be=QA.u40be=QA.u32be=QA.u24be=QA.u16be=QA.nu64=QA.u48=QA.u40=QA.u32=QA.u24=QA.u16=QA.u8=QA.offset=QA.greedy=QA.Constant=QA.UTF8=QA.CString=QA.Blob=QA.Boolean=QA.BitField=QA.BitStructure=QA.VariantLayout=QA.Union=QA.UnionLayoutDiscriminator=QA.UnionDiscriminator=QA.Structure=QA.Sequence=QA.DoubleBE=QA.Double=QA.FloatBE=QA.Float=QA.NearInt64BE=QA.NearInt64=QA.NearUInt64BE=QA.NearUInt64=QA.IntBE=QA.Int=QA.UIntBE=QA.UInt=QA.OffsetLayout=QA.GreedyCount=QA.ExternalLayout=QA.bindConstructorLayout=QA.nameWithProperty=QA.Layout=QA.uint8ArrayToBuffer=QA.checkUint8Array=void 0,QA.constant=QA.utf8=QA.cstr=QA.blob=QA.unionLayoutDiscriminator=QA.union=QA.seq=QA.bits=QA.struct=QA.f64be=QA.f64=QA.f32be=QA.f32=QA.ns64be=QA.s48be=QA.s40be=QA.s32be=QA.s24be=QA.s16be=QA.ns64=QA.s48=QA.s40=QA.s32=QA.s24=void 0;const A=ag();function e(E){if(!(E instanceof Uint8Array))throw new TypeError("b must be a Uint8Array")}QA.checkUint8Array=e;function t(E){return e(E),A.Buffer.from(E.buffer,E.byteOffset,E.length)}QA.uint8ArrayToBuffer=t;let s=class{constructor(p,U){if(!Number.isInteger(p))throw new TypeError("span must be an integer");this.span=p,this.property=U}makeDestinationObject(){return{}}getSpan(p,U){if(0>this.span)throw new RangeError("indeterminate span");return this.span}replicate(p){const U=Object.create(this.constructor.prototype);return Object.assign(U,this),U.property=p,U}fromArray(p){}};QA.Layout=s;function n(E,p){return p.property?E+"["+p.property+"]":E}QA.nameWithProperty=n;function r(E,p){if(typeof E!="function")throw new TypeError("Class must be constructor");if(Object.prototype.hasOwnProperty.call(E,"layout_"))throw new Error("Class is already bound to a layout");if(!(p&&p instanceof s))throw new TypeError("layout must be a Layout");if(Object.prototype.hasOwnProperty.call(p,"boundConstructor_"))throw new Error("layout is already bound to a constructor");E.layout_=p,p.boundConstructor_=E,p.makeDestinationObject=(()=>new E),Object.defineProperty(E.prototype,"encode",{value(U,R){return p.encode(this,U,R)},writable:!0}),Object.defineProperty(E,"decode",{value(U,R){return p.decode(U,R)},writable:!0})}QA.bindConstructorLayout=r;class i extends s{isCount(){throw new Error("ExternalLayout is abstract")}}QA.ExternalLayout=i;class a extends i{constructor(p=1,U){if(!Number.isInteger(p)||0>=p)throw new TypeError("elementSpan must be a (positive) integer");super(-1,U),this.elementSpan=p}isCount(){return!0}decode(p,U=0){e(p);const R=p.length-U;return Math.floor(R/this.elementSpan)}encode(p,U,R){return 0}}QA.GreedyCount=a;class g extends i{constructor(p,U=0,R){if(!(p instanceof s))throw new TypeError("layout must be a Layout");if(!Number.isInteger(U))throw new TypeError("offset must be integer or undefined");super(p.span,R||p.property),this.layout=p,this.offset=U}isCount(){return this.layout instanceof Q||this.layout instanceof l}decode(p,U=0){return this.layout.decode(p,U+this.offset)}encode(p,U,R=0){return this.layout.encode(p,U,R+this.offset)}}QA.OffsetLayout=g;class Q extends s{constructor(p,U){if(super(p,U),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(p,U=0){return t(p).readUIntLE(U,this.span)}encode(p,U,R=0){return t(U).writeUIntLE(p,R,this.span),this.span}}QA.UInt=Q;class l extends s{constructor(p,U){if(super(p,U),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(p,U=0){return t(p).readUIntBE(U,this.span)}encode(p,U,R=0){return t(U).writeUIntBE(p,R,this.span),this.span}}QA.UIntBE=l;class C extends s{constructor(p,U){if(super(p,U),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(p,U=0){return t(p).readIntLE(U,this.span)}encode(p,U,R=0){return t(U).writeIntLE(p,R,this.span),this.span}}QA.Int=C;class I extends s{constructor(p,U){if(super(p,U),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(p,U=0){return t(p).readIntBE(U,this.span)}encode(p,U,R=0){return t(U).writeIntBE(p,R,this.span),this.span}}QA.IntBE=I;const c=Math.pow(2,32);function u(E){const p=Math.floor(E/c),U=E-p*c;return{hi32:p,lo32:U}}function f(E,p){return E*c+p}class h extends s{constructor(p){super(8,p)}decode(p,U=0){const R=t(p),_=R.readUInt32LE(U),tA=R.readUInt32LE(U+4);return f(tA,_)}encode(p,U,R=0){const _=u(p),tA=t(U);return tA.writeUInt32LE(_.lo32,R),tA.writeUInt32LE(_.hi32,R+4),8}}QA.NearUInt64=h;class k extends s{constructor(p){super(8,p)}decode(p,U=0){const R=t(p),_=R.readUInt32BE(U),tA=R.readUInt32BE(U+4);return f(_,tA)}encode(p,U,R=0){const _=u(p),tA=t(U);return tA.writeUInt32BE(_.hi32,R),tA.writeUInt32BE(_.lo32,R+4),8}}QA.NearUInt64BE=k;class v extends s{constructor(p){super(8,p)}decode(p,U=0){const R=t(p),_=R.readUInt32LE(U),tA=R.readInt32LE(U+4);return f(tA,_)}encode(p,U,R=0){const _=u(p),tA=t(U);return tA.writeUInt32LE(_.lo32,R),tA.writeInt32LE(_.hi32,R+4),8}}QA.NearInt64=v;class D extends s{constructor(p){super(8,p)}decode(p,U=0){const R=t(p),_=R.readInt32BE(U),tA=R.readUInt32BE(U+4);return f(_,tA)}encode(p,U,R=0){const _=u(p),tA=t(U);return tA.writeInt32BE(_.hi32,R),tA.writeUInt32BE(_.lo32,R+4),8}}QA.NearInt64BE=D;class O extends s{constructor(p){super(4,p)}decode(p,U=0){return t(p).readFloatLE(U)}encode(p,U,R=0){return t(U).writeFloatLE(p,R),4}}QA.Float=O;class J extends s{constructor(p){super(4,p)}decode(p,U=0){return t(p).readFloatBE(U)}encode(p,U,R=0){return t(U).writeFloatBE(p,R),4}}QA.FloatBE=J;class V extends s{constructor(p){super(8,p)}decode(p,U=0){return t(p).readDoubleLE(U)}encode(p,U,R=0){return t(U).writeDoubleLE(p,R),8}}QA.Double=V;class eA extends s{constructor(p){super(8,p)}decode(p,U=0){return t(p).readDoubleBE(U)}encode(p,U,R=0){return t(U).writeDoubleBE(p,R),8}}QA.DoubleBE=eA;class X extends s{constructor(p,U,R){if(!(p instanceof s))throw new TypeError("elementLayout must be a Layout");if(!(U instanceof i&&U.isCount()||Number.isInteger(U)&&0<=U))throw new TypeError("count must be non-negative integer or an unsigned integer ExternalLayout");let _=-1;!(U instanceof i)&&0<p.span&&(_=U*p.span),super(_,R),this.elementLayout=p,this.count=U}getSpan(p,U=0){if(0<=this.span)return this.span;let R=0,_=this.count;if(_ instanceof i&&(_=_.decode(p,U)),0<this.elementLayout.span)R=_*this.elementLayout.span;else{let tA=0;for(;tA<_;)R+=this.elementLayout.getSpan(p,U+R),++tA}return R}decode(p,U=0){const R=[];let _=0,tA=this.count;for(tA instanceof i&&(tA=tA.decode(p,U));_<tA;)R.push(this.elementLayout.decode(p,U)),U+=this.elementLayout.getSpan(p,U),_+=1;return R}encode(p,U,R=0){const _=this.elementLayout,tA=p.reduce((IA,iA)=>IA+_.encode(iA,U,R+IA),0);return this.count instanceof i&&this.count.encode(p.length,U,R),tA}}QA.Sequence=X;class K extends s{constructor(p,U,R){if(!(Array.isArray(p)&&p.reduce((tA,IA)=>tA&&IA instanceof s,!0)))throw new TypeError("fields must be array of Layout instances");typeof U=="boolean"&&R===void 0&&(R=U,U=void 0);for(const tA of p)if(0>tA.span&&tA.property===void 0)throw new Error("fields cannot contain unnamed variable-length layout");let _=-1;try{_=p.reduce((tA,IA)=>tA+IA.getSpan(),0)}catch{}super(_,U),this.fields=p,this.decodePrefixes=!!R}getSpan(p,U=0){if(0<=this.span)return this.span;let R=0;try{R=this.fields.reduce((_,tA)=>{const IA=tA.getSpan(p,U);return U+=IA,_+IA},0)}catch{throw new RangeError("indeterminate span")}return R}decode(p,U=0){e(p);const R=this.makeDestinationObject();for(const _ of this.fields)if(_.property!==void 0&&(R[_.property]=_.decode(p,U)),U+=_.getSpan(p,U),this.decodePrefixes&&p.length===U)break;return R}encode(p,U,R=0){const _=R;let tA=0,IA=0;for(const iA of this.fields){let UA=iA.span;if(IA=0<UA?UA:0,iA.property!==void 0){const HA=p[iA.property];HA!==void 0&&(IA=iA.encode(HA,U,R),0>UA&&(UA=iA.getSpan(U,R)))}tA=R,R+=UA}return tA+IA-_}fromArray(p){const U=this.makeDestinationObject();for(const R of this.fields)R.property!==void 0&&0<p.length&&(U[R.property]=p.shift());return U}layoutFor(p){if(typeof p!="string")throw new TypeError("property must be string");for(const U of this.fields)if(U.property===p)return U}offsetOf(p){if(typeof p!="string")throw new TypeError("property must be string");let U=0;for(const R of this.fields){if(R.property===p)return U;0>R.span?U=-1:0<=U&&(U+=R.span)}}}QA.Structure=K;class W{constructor(p){this.property=p}decode(p,U){throw new Error("UnionDiscriminator is abstract")}encode(p,U,R){throw new Error("UnionDiscriminator is abstract")}}QA.UnionDiscriminator=W;class T extends W{constructor(p,U){if(!(p instanceof i&&p.isCount()))throw new TypeError("layout must be an unsigned integer ExternalLayout");super(U||p.property||"variant"),this.layout=p}decode(p,U){return this.layout.decode(p,U)}encode(p,U,R){return this.layout.encode(p,U,R)}}QA.UnionLayoutDiscriminator=T;class L extends s{constructor(p,U,R){let _;if(p instanceof Q||p instanceof l)_=new T(new g(p));else if(p instanceof i&&p.isCount())_=new T(p);else if(p instanceof W)_=p;else throw new TypeError("discr must be a UnionDiscriminator or an unsigned integer layout");if(U===void 0&&(U=null),!(U===null||U instanceof s))throw new TypeError("defaultLayout must be null or a Layout");if(U!==null){if(0>U.span)throw new Error("defaultLayout must have constant span");U.property===void 0&&(U=U.replicate("content"))}let tA=-1;U&&(tA=U.span,0<=tA&&(p instanceof Q||p instanceof l)&&(tA+=_.layout.span)),super(tA,R),this.discriminator=_,this.usesPrefixDiscriminator=p instanceof Q||p instanceof l,this.defaultLayout=U,this.registry={};let IA=this.defaultGetSourceVariant.bind(this);this.getSourceVariant=function(iA){return IA(iA)},this.configGetSourceVariant=function(iA){IA=iA.bind(this)}}getSpan(p,U=0){if(0<=this.span)return this.span;const R=this.getVariant(p,U);if(!R)throw new Error("unable to determine span for unrecognized variant");return R.getSpan(p,U)}defaultGetSourceVariant(p){if(Object.prototype.hasOwnProperty.call(p,this.discriminator.property)){if(this.defaultLayout&&this.defaultLayout.property&&Object.prototype.hasOwnProperty.call(p,this.defaultLayout.property))return;const U=this.registry[p[this.discriminator.property]];if(U&&(!U.layout||U.property&&Object.prototype.hasOwnProperty.call(p,U.property)))return U}else for(const U in this.registry){const R=this.registry[U];if(R.property&&Object.prototype.hasOwnProperty.call(p,R.property))return R}throw new Error("unable to infer src variant")}decode(p,U=0){let R;const _=this.discriminator,tA=_.decode(p,U),IA=this.registry[tA];if(IA===void 0){const iA=this.defaultLayout;let UA=0;this.usesPrefixDiscriminator&&(UA=_.layout.span),R=this.makeDestinationObject(),R[_.property]=tA,R[iA.property]=iA.decode(p,U+UA)}else R=IA.decode(p,U);return R}encode(p,U,R=0){const _=this.getSourceVariant(p);if(_===void 0){const tA=this.discriminator,IA=this.defaultLayout;let iA=0;return this.usesPrefixDiscriminator&&(iA=tA.layout.span),tA.encode(p[tA.property],U,R),iA+IA.encode(p[IA.property],U,R+iA)}return _.encode(p,U,R)}addVariant(p,U,R){const _=new w(this,p,U,R);return this.registry[p]=_,_}getVariant(p,U=0){let R;return p instanceof Uint8Array?R=this.discriminator.decode(p,U):R=p,this.registry[R]}}QA.Union=L;class w extends s{constructor(p,U,R,_){if(!(p instanceof L))throw new TypeError("union must be a Union");if(!Number.isInteger(U)||0>U)throw new TypeError("variant must be a (non-negative) integer");if(typeof R=="string"&&_===void 0&&(_=R,R=null),R){if(!(R instanceof s))throw new TypeError("layout must be a Layout");if(p.defaultLayout!==null&&0<=R.span&&R.span>p.defaultLayout.span)throw new Error("variant span exceeds span of containing union");if(typeof _!="string")throw new TypeError("variant must have a String property")}let tA=p.span;0>p.span&&(tA=R?R.span:0,0<=tA&&p.usesPrefixDiscriminator&&(tA+=p.discriminator.layout.span)),super(tA,_),this.union=p,this.variant=U,this.layout=R||null}getSpan(p,U=0){if(0<=this.span)return this.span;let R=0;this.union.usesPrefixDiscriminator&&(R=this.union.discriminator.layout.span);let _=0;return this.layout&&(_=this.layout.getSpan(p,U+R)),R+_}decode(p,U=0){const R=this.makeDestinationObject();if(this!==this.union.getVariant(p,U))throw new Error("variant mismatch");let _=0;return this.union.usesPrefixDiscriminator&&(_=this.union.discriminator.layout.span),this.layout?R[this.property]=this.layout.decode(p,U+_):this.property?R[this.property]=!0:this.union.usesPrefixDiscriminator&&(R[this.union.discriminator.property]=this.variant),R}encode(p,U,R=0){let _=0;if(this.union.usesPrefixDiscriminator&&(_=this.union.discriminator.layout.span),this.layout&&!Object.prototype.hasOwnProperty.call(p,this.property))throw new TypeError("variant lacks property "+this.property);this.union.discriminator.encode(this.variant,U,R);let tA=_;if(this.layout&&(this.layout.encode(p[this.property],U,R+_),tA+=this.layout.getSpan(U,R+_),0<=this.union.span&&tA>this.union.span))throw new Error("encoded variant overruns containing union");return tA}fromArray(p){if(this.layout)return this.layout.fromArray(p)}}QA.VariantLayout=w;function B(E){return 0>E&&(E+=4294967296),E}class d extends s{constructor(p,U,R){if(!(p instanceof Q||p instanceof l))throw new TypeError("word must be a UInt or UIntBE layout");if(typeof U=="string"&&R===void 0&&(R=U,U=!1),4<p.span)throw new RangeError("word cannot exceed 32 bits");super(p.span,R),this.word=p,this.msb=!!U,this.fields=[];let _=0;this._packedSetValue=function(tA){return _=B(tA),this},this._packedGetValue=function(){return _}}decode(p,U=0){const R=this.makeDestinationObject(),_=this.word.decode(p,U);this._packedSetValue(_);for(const tA of this.fields)tA.property!==void 0&&(R[tA.property]=tA.decode(p));return R}encode(p,U,R=0){const _=this.word.decode(U,R);this._packedSetValue(_);for(const tA of this.fields)if(tA.property!==void 0){const IA=p[tA.property];IA!==void 0&&tA.encode(IA)}return this.word.encode(this._packedGetValue(),U,R)}addField(p,U){const R=new N(this,p,U);return this.fields.push(R),R}addBoolean(p){const U=new G(this,p);return this.fields.push(U),U}fieldFor(p){if(typeof p!="string")throw new TypeError("property must be string");for(const U of this.fields)if(U.property===p)return U}}QA.BitStructure=d;class N{constructor(p,U,R){if(!(p instanceof d))throw new TypeError("container must be a BitStructure");if(!Number.isInteger(U)||0>=U)throw new TypeError("bits must be positive integer");const _=8*p.span,tA=p.fields.reduce((IA,iA)=>IA+iA.bits,0);if(U+tA>_)throw new Error("bits too long for span remainder ("+(_-tA)+" of "+_+" remain)");this.container=p,this.bits=U,this.valueMask=(1<<U)-1,U===32&&(this.valueMask=4294967295),this.start=tA,this.container.msb&&(this.start=_-tA-U),this.wordMask=B(this.valueMask<<this.start),this.property=R}decode(p,U){const R=this.container._packedGetValue();return B(R&this.wordMask)>>>this.start}encode(p){if(typeof p!="number"||!Number.isInteger(p)||p!==B(p&this.valueMask))throw new TypeError(n("BitField.encode",this)+" value must be integer not exceeding "+this.valueMask);const U=this.container._packedGetValue(),R=B(p<<this.start);this.container._packedSetValue(B(U&~this.wordMask)|R)}}QA.BitField=N;class G extends N{constructor(p,U){super(p,1,U)}decode(p,U){return!!super.decode(p,U)}encode(p){typeof p=="boolean"&&(p=+p),super.encode(p)}}QA.Boolean=G;class S extends s{constructor(p,U){if(!(p instanceof i&&p.isCount()||Number.isInteger(p)&&0<=p))throw new TypeError("length must be positive integer or an unsigned integer ExternalLayout");let R=-1;p instanceof i||(R=p),super(R,U),this.length=p}getSpan(p,U){let R=this.span;return 0>R&&(R=this.length.decode(p,U)),R}decode(p,U=0){let R=this.span;return 0>R&&(R=this.length.decode(p,U)),t(p).slice(U,U+R)}encode(p,U,R){let _=this.length;if(this.length instanceof i&&(_=p.length),!(p instanceof Uint8Array&&_===p.length))throw new TypeError(n("Blob.encode",this)+" requires (length "+_+") Uint8Array as src");if(R+_>U.length)throw new RangeError("encoding overruns Uint8Array");const tA=t(p);return t(U).write(tA.toString("hex"),R,_,"hex"),this.length instanceof i&&this.length.encode(_,U,R),_}}QA.Blob=S;class j extends s{constructor(p){super(-1,p)}getSpan(p,U=0){e(p);let R=U;for(;R<p.length&&p[R]!==0;)R+=1;return 1+R-U}decode(p,U=0){const R=this.getSpan(p,U);return t(p).slice(U,U+R-1).toString("utf-8")}encode(p,U,R=0){typeof p!="string"&&(p=String(p));const _=A.Buffer.from(p,"utf8"),tA=_.length;if(R+tA>U.length)throw new RangeError("encoding overruns Buffer");const IA=t(U);return _.copy(IA,R),IA[R+tA]=0,tA+1}}QA.CString=j;class H extends s{constructor(p,U){if(typeof p=="string"&&U===void 0&&(U=p,p=void 0),p===void 0)p=-1;else if(!Number.isInteger(p))throw new TypeError("maxSpan must be an integer");super(-1,U),this.maxSpan=p}getSpan(p,U=0){return e(p),p.length-U}decode(p,U=0){const R=this.getSpan(p,U);if(0<=this.maxSpan&&this.maxSpan<R)throw new RangeError("text length exceeds maxSpan");return t(p).slice(U,U+R).toString("utf-8")}encode(p,U,R=0){typeof p!="string"&&(p=String(p));const _=A.Buffer.from(p,"utf8"),tA=_.length;if(0<=this.maxSpan&&this.maxSpan<tA)throw new RangeError("text length exceeds maxSpan");if(R+tA>U.length)throw new RangeError("encoding overruns Buffer");return _.copy(t(U),R),tA}}QA.UTF8=H;class b extends s{constructor(p,U){super(0,U),this.value=p}decode(p,U){return this.value}encode(p,U,R){return 0}}return QA.Constant=b,QA.greedy=((E,p)=>new a(E,p)),QA.offset=((E,p,U)=>new g(E,p,U)),QA.u8=(E=>new Q(1,E)),QA.u16=(E=>new Q(2,E)),QA.u24=(E=>new Q(3,E)),QA.u32=(E=>new Q(4,E)),QA.u40=(E=>new Q(5,E)),QA.u48=(E=>new Q(6,E)),QA.nu64=(E=>new h(E)),QA.u16be=(E=>new l(2,E)),QA.u24be=(E=>new l(3,E)),QA.u32be=(E=>new l(4,E)),QA.u40be=(E=>new l(5,E)),QA.u48be=(E=>new l(6,E)),QA.nu64be=(E=>new k(E)),QA.s8=(E=>new C(1,E)),QA.s16=(E=>new C(2,E)),QA.s24=(E=>new C(3,E)),QA.s32=(E=>new C(4,E)),QA.s40=(E=>new C(5,E)),QA.s48=(E=>new C(6,E)),QA.ns64=(E=>new v(E)),QA.s16be=(E=>new I(2,E)),QA.s24be=(E=>new I(3,E)),QA.s32be=(E=>new I(4,E)),QA.s40be=(E=>new I(5,E)),QA.s48be=(E=>new I(6,E)),QA.ns64be=(E=>new D(E)),QA.f32=(E=>new O(E)),QA.f32be=(E=>new J(E)),QA.f64=(E=>new V(E)),QA.f64be=(E=>new eA(E)),QA.struct=((E,p,U)=>new K(E,p,U)),QA.bits=((E,p,U)=>new d(E,p,U)),QA.seq=((E,p,U)=>new X(E,p,U)),QA.union=((E,p,U)=>new L(E,p,U)),QA.unionLayoutDiscriminator=((E,p)=>new T(E,p)),QA.blob=((E,p)=>new S(E,p)),QA.cstr=(E=>new j(E)),QA.utf8=((E,p)=>new H(E,p)),QA.constant=((E,p)=>new b(E,p)),QA}var rA=Ow(),qw=8078011;function Sc(A){return Array.isArray(A)?"%5B"+A.map(Sc).join("%2C%20")+"%5D":typeof A=="bigint"?`${A}n`:encodeURIComponent(String(A!=null&&Object.getPrototypeOf(A)===null?{...A}:A))}function Yw([A,e]){return`${A}=${Sc(e)}`}function Hw(A){const e=Object.entries(A).map(Yw).join("&");return btoa(e)}function Pw(A,e={}){{let t=`Solana error #${A}; Decode this error by running \`npx @solana/errors decode -- ${A}`;return Object.keys(e).length&&(t+=` '${Hw(e)}'`),`${t}\``}}var Ww=class extends Error{cause=this.cause;context;constructor(...[e,t]){let s,n;if(t){const{cause:i,...a}=t;i&&(n={cause:i}),Object.keys(a).length>0&&(s=a)}const r=Pw(e,s);super(r,n),this.context={__code:e,...s},this.name="SolanaError"}},zw=8078e3,Vw=8078001,Zw=8078004,_w=8078005,Xw=8078006;function Uc(A){return Array.isArray(A)?"%5B"+A.map(Uc).join("%2C%20")+"%5D":typeof A=="bigint"?`${A}n`:encodeURIComponent(String(A!=null&&Object.getPrototypeOf(A)===null?{...A}:A))}function $w([A,e]){return`${A}=${Uc(e)}`}function Ax(A){const e=Object.entries(A).map($w).join("&");return btoa(e)}function ex(A,e={}){{let t=`Solana error #${A}; Decode this error by running \`npx @solana/errors decode -- ${A}`;return Object.keys(e).length&&(t+=` '${Ax(e)}'`),`${t}\``}}var cr=class extends Error{cause=this.cause;context;constructor(...[A,e]){let t,s;if(e){const{cause:r,...i}=e;r&&(s={cause:r}),Object.keys(i).length>0&&(t=i)}const n=ex(A,t);super(n,s),this.context={__code:A,...t},this.name="SolanaError"}};function tx(A,e){return"fixedSize"in e?e.fixedSize:e.getSizeFromValue(A)}function ox(A){return Object.freeze({...A,encode:e=>{const t=new Uint8Array(tx(e,A));return A.write(e,t,0),t}})}function sx(A){return Object.freeze({...A,decode:(e,t=0)=>A.read(e,t)[0]})}function Ks(A){return"fixedSize"in A&&typeof A.fixedSize=="number"}function rx(A,e){if(Ks(A)!==Ks(e))throw new cr(Zw);if(Ks(A)&&Ks(e)&&A.fixedSize!==e.fixedSize)throw new cr(_w,{decoderFixedSize:e.fixedSize,encoderFixedSize:A.fixedSize});if(!Ks(A)&&!Ks(e)&&A.maxSize!==e.maxSize)throw new cr(Xw,{decoderMaxSize:e.maxSize,encoderMaxSize:A.maxSize});return{...e,...A,decode:e.decode,encode:A.encode,read:e.read,write:A.write}}function nx(A,e,t=0){if(e.length-t<=0)throw new cr(zw,{codecDescription:A})}function ix(A,e,t,s=0){const n=t.length-s;if(n<e)throw new cr(Vw,{bytesLength:n,codecDescription:A,expected:e})}function ax(A,e,t,s){if(s<e||s>t)throw new Ww(qw,{codecDescription:A,max:t,min:e,value:s})}function Rc(A){return A?.endian!==1}function gx(A){return ox({fixedSize:A.size,write(e,t,s){A.range&&ax(A.name,A.range[0],A.range[1],e);const n=new ArrayBuffer(A.size);return A.set(new DataView(n),e,Rc(A.config)),t.set(new Uint8Array(n),s),s+A.size}})}function Qx(A){return sx({fixedSize:A.size,read(e,t=0){nx(A.name,e,t),ix(A.name,A.size,e,t);const s=new DataView(Bx(e,t,A.size));return[A.get(s,Rc(A.config)),t+A.size]}})}function Bx(A,e,t){const s=A.byteOffset+(e??0),n=t??A.byteLength;return A.buffer.slice(s,s+n)}var lx=(A={})=>gx({config:A,name:"u64",range:[0n,BigInt("0xffffffffffffffff")],set:(e,t,s)=>e.setBigUint64(0,BigInt(t),s),size:8}),cx=(A={})=>Qx({config:A,get:(e,t)=>e.getBigUint64(0,t),name:"u64",size:8}),Ex=(A={})=>rx(lx(A),cx(A));class Cx extends TypeError{constructor(e,t){let s;const{message:n,explanation:r,...i}=e,{path:a}=e,g=a.length===0?n:`At path: ${a.join(".")} -- ${n}`;super(r??g),r!=null&&(this.cause=g),Object.assign(this,i),this.name=this.constructor.name,this.failures=()=>s??(s=[e,...t()])}}function Ix(A){return Rr(A)&&typeof A[Symbol.iterator]=="function"}function Rr(A){return typeof A=="object"&&A!=null}function kn(A){return Rr(A)&&!Array.isArray(A)}function mo(A){return typeof A=="symbol"?A.toString():typeof A=="string"?JSON.stringify(A):`${A}`}function ux(A){const{done:e,value:t}=A.next();return e?void 0:t}function dx(A,e,t,s){if(A===!0)return;A===!1?A={}:typeof A=="string"&&(A={message:A});const{path:n,branch:r}=e,{type:i}=t,{refinement:a,message:g=`Expected a value of type \`${i}\`${a?` with refinement \`${a}\``:""}, but received: \`${mo(s)}\``}=A;return{value:s,type:i,refinement:a,key:n[n.length-1],path:n,branch:r,...A,message:g}}function*AB(A,e,t,s){Ix(A)||(A=[A]);for(const n of A){const r=dx(n,e,t,s);r&&(yield r)}}function*Ig(A,e,t={}){const{path:s=[],branch:n=[A],coerce:r=!1,mask:i=!1}=t,a={path:s,branch:n,mask:i};r&&(A=e.coercer(A,a));let g="valid";for(const Q of e.validator(A,a))Q.explanation=t.message,g="not_valid",yield[Q,void 0];for(let[Q,l,C]of e.entries(A,a)){const I=Ig(l,C,{path:Q===void 0?s:[...s,Q],branch:Q===void 0?n:[...n,l],coerce:r,mask:i,message:t.message});for(const c of I)c[0]?(g=c[0].refinement!=null?"not_refined":"not_valid",yield[c[0],void 0]):r&&(l=c[1],Q===void 0?A=l:A instanceof Map?A.set(Q,l):A instanceof Set?A.add(l):Rr(A)&&(l!==void 0||Q in A)&&(A[Q]=l))}if(g!=="not_valid")for(const Q of e.refiner(A,a))Q.explanation=t.message,g="not_refined",yield[Q,void 0];g==="valid"&&(yield[void 0,A])}let vo=class{constructor(e){const{type:t,schema:s,validator:n,refiner:r,coercer:i=g=>g,entries:a=function*(){}}=e;this.type=t,this.schema=s,this.entries=a,this.coercer=i,n?this.validator=(g,Q)=>{const l=n(g,Q);return AB(l,Q,this,g)}:this.validator=()=>[],r?this.refiner=(g,Q)=>{const l=r(g,Q);return AB(l,Q,this,g)}:this.refiner=()=>[]}assert(e,t){return hx(e,this,t)}create(e,t){return hr(e,this,t)}is(e){return Kc(e,this)}mask(e,t){return px(e,this,t)}validate(e,t={}){return Kr(e,this,t)}};function hx(A,e,t){const s=Kr(A,e,{message:t});if(s[0])throw s[0]}function hr(A,e,t){const s=Kr(A,e,{coerce:!0,message:t});if(s[0])throw s[0];return s[1]}function px(A,e,t){const s=Kr(A,e,{coerce:!0,mask:!0,message:t});if(s[0])throw s[0];return s[1]}function Kc(A,e){return!Kr(A,e)[0]}function Kr(A,e,t={}){const s=Ig(A,e,t),n=ux(s);return n[0]?[new Cx(n[0],function*(){for(const i of s)i[0]&&(yield i[0])}),void 0]:[void 0,n[1]]}function ks(A,e){return new vo({type:A,schema:null,validator:e})}function fx(){return ks("any",()=>!0)}function LA(A){return new vo({type:"array",schema:A,*entries(e){if(A&&Array.isArray(e))for(const[t,s]of e.entries())yield[t,s,A]},coercer(e){return Array.isArray(e)?e.slice():e},validator(e){return Array.isArray(e)||`Expected an array value, but received: ${mo(e)}`}})}function Fo(){return ks("boolean",A=>typeof A=="boolean")}function ug(A){return ks("instance",e=>e instanceof A||`Expected a \`${A.name}\` instance, but received: ${mo(e)}`)}function Bt(A){const e=mo(A),t=typeof A;return new vo({type:"literal",schema:t==="string"||t==="number"||t==="boolean"?A:null,validator(s){return s===A||`Expected the literal \`${e}\`, but received: ${mo(s)}`}})}function mx(){return ks("never",()=>!1)}function jA(A){return new vo({...A,validator:(e,t)=>e===null||A.validator(e,t),refiner:(e,t)=>e===null||A.refiner(e,t)})}function gA(){return ks("number",A=>typeof A=="number"&&!isNaN(A)||`Expected a number, but received: ${mo(A)}`)}function ee(A){return new vo({...A,validator:(e,t)=>e===void 0||A.validator(e,t),refiner:(e,t)=>e===void 0||A.refiner(e,t)})}function Jc(A,e){return new vo({type:"record",schema:null,*entries(t){if(Rr(t))for(const s in t){const n=t[s];yield[s,s,A],yield[s,n,e]}},validator(t){return kn(t)||`Expected an object, but received: ${mo(t)}`},coercer(t){return kn(t)?{...t}:t}})}function FA(){return ks("string",A=>typeof A=="string"||`Expected a string, but received: ${mo(A)}`)}function dg(A){const e=mx();return new vo({type:"tuple",schema:null,*entries(t){if(Array.isArray(t)){const s=Math.max(A.length,t.length);for(let n=0;n<s;n++)yield[n,t[n],A[n]||e]}},validator(t){return Array.isArray(t)||`Expected an array, but received: ${mo(t)}`},coercer(t){return Array.isArray(t)?t.slice():t}})}function wA(A){const e=Object.keys(A);return new vo({type:"type",schema:A,*entries(t){if(Rr(t))for(const s of e)yield[s,t[s],A[s]]},validator(t){return kn(t)||`Expected an object, but received: ${mo(t)}`},coercer(t){return kn(t)?{...t}:t}})}function Xt(A){const e=A.map(t=>t.type).join(" | ");return new vo({type:"union",schema:null,coercer(t,s){for(const n of A){const[r,i]=n.validate(t,{coerce:!0,mask:s.mask});if(!r)return i}return t},validator(t,s){const n=[];for(const r of A){const[...i]=Ig(t,r,s),[a]=i;if(a[0])for(const[g]of i)g&&n.push(g);else return[]}return[`Expected the value to satisfy a union of \`${e}\`, but received: ${mo(t)}`,...n]}})}function Ar(){return ks("unknown",()=>!0)}function Jr(A,e,t){return new vo({...A,coercer:(s,n)=>Kc(s,e)?A.coercer(t(s,n),n):A.coercer(s,n)})}var _r,wx=new Uint8Array(16);function Lc(){if(!_r&&(_r=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!_r))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return _r(wx)}const xx=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function _n(A){return typeof A=="string"&&xx.test(A)}var Gt=[];for(var Ni=0;Ni<256;++Ni)Gt.push((Ni+256).toString(16).substr(1));function Xn(A){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,t=(Gt[A[e+0]]+Gt[A[e+1]]+Gt[A[e+2]]+Gt[A[e+3]]+"-"+Gt[A[e+4]]+Gt[A[e+5]]+"-"+Gt[A[e+6]]+Gt[A[e+7]]+"-"+Gt[A[e+8]]+Gt[A[e+9]]+"-"+Gt[A[e+10]]+Gt[A[e+11]]+Gt[A[e+12]]+Gt[A[e+13]]+Gt[A[e+14]]+Gt[A[e+15]]).toLowerCase();if(!_n(t))throw TypeError("Stringified UUID is invalid");return t}var eB,ki,Mi=0,bi=0;function Dx(A,e,t){var s=e&&t||0,n=e||new Array(16);A=A||{};var r=A.node||eB,i=A.clockseq!==void 0?A.clockseq:ki;if(r==null||i==null){var a=A.random||(A.rng||Lc)();r==null&&(r=eB=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]),i==null&&(i=ki=(a[6]<<8|a[7])&16383)}var g=A.msecs!==void 0?A.msecs:Date.now(),Q=A.nsecs!==void 0?A.nsecs:bi+1,l=g-Mi+(Q-bi)/1e4;if(l<0&&A.clockseq===void 0&&(i=i+1&16383),(l<0||g>Mi)&&A.nsecs===void 0&&(Q=0),Q>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");Mi=g,bi=Q,ki=i,g+=122192928e5;var C=((g&268435455)*1e4+Q)%4294967296;n[s++]=C>>>24&255,n[s++]=C>>>16&255,n[s++]=C>>>8&255,n[s++]=C&255;var I=g/4294967296*1e4&268435455;n[s++]=I>>>8&255,n[s++]=I&255,n[s++]=I>>>24&15|16,n[s++]=I>>>16&255,n[s++]=i>>>8|128,n[s++]=i&255;for(var c=0;c<6;++c)n[s+c]=r[c];return e||Xn(n)}function jc(A){if(!_n(A))throw TypeError("Invalid UUID");var e,t=new Uint8Array(16);return t[0]=(e=parseInt(A.slice(0,8),16))>>>24,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=e&255,t[4]=(e=parseInt(A.slice(9,13),16))>>>8,t[5]=e&255,t[6]=(e=parseInt(A.slice(14,18),16))>>>8,t[7]=e&255,t[8]=(e=parseInt(A.slice(19,23),16))>>>8,t[9]=e&255,t[10]=(e=parseInt(A.slice(24,36),16))/1099511627776&255,t[11]=e/4294967296&255,t[12]=e>>>24&255,t[13]=e>>>16&255,t[14]=e>>>8&255,t[15]=e&255,t}function yx(A){A=unescape(encodeURIComponent(A));for(var e=[],t=0;t<A.length;++t)e.push(A.charCodeAt(t));return e}var Nx="6ba7b810-9dad-11d1-80b4-00c04fd430c8",kx="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function Tc(A,e,t){function s(n,r,i,a){if(typeof n=="string"&&(n=yx(n)),typeof r=="string"&&(r=jc(r)),r.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var g=new Uint8Array(16+n.length);if(g.set(r),g.set(n,r.length),g=t(g),g[6]=g[6]&15|e,g[8]=g[8]&63|128,i){a=a||0;for(var Q=0;Q<16;++Q)i[a+Q]=g[Q];return i}return Xn(g)}try{s.name=A}catch{}return s.DNS=Nx,s.URL=kx,s}function Mx(A){if(typeof A=="string"){var e=unescape(encodeURIComponent(A));A=new Uint8Array(e.length);for(var t=0;t<e.length;++t)A[t]=e.charCodeAt(t)}return bx(Fx(Gx(A),A.length*8))}function bx(A){for(var e=[],t=A.length*32,s="0123456789abcdef",n=0;n<t;n+=8){var r=A[n>>5]>>>n%32&255,i=parseInt(s.charAt(r>>>4&15)+s.charAt(r&15),16);e.push(i)}return e}function Oc(A){return(A+64>>>9<<4)+14+1}function Fx(A,e){A[e>>5]|=128<<e%32,A[Oc(e)-1]=e;for(var t=1732584193,s=-271733879,n=-1732584194,r=271733878,i=0;i<A.length;i+=16){var a=t,g=s,Q=n,l=r;t=Jt(t,s,n,r,A[i],7,-680876936),r=Jt(r,t,s,n,A[i+1],12,-389564586),n=Jt(n,r,t,s,A[i+2],17,606105819),s=Jt(s,n,r,t,A[i+3],22,-1044525330),t=Jt(t,s,n,r,A[i+4],7,-176418897),r=Jt(r,t,s,n,A[i+5],12,1200080426),n=Jt(n,r,t,s,A[i+6],17,-1473231341),s=Jt(s,n,r,t,A[i+7],22,-45705983),t=Jt(t,s,n,r,A[i+8],7,1770035416),r=Jt(r,t,s,n,A[i+9],12,-1958414417),n=Jt(n,r,t,s,A[i+10],17,-42063),s=Jt(s,n,r,t,A[i+11],22,-1990404162),t=Jt(t,s,n,r,A[i+12],7,1804603682),r=Jt(r,t,s,n,A[i+13],12,-40341101),n=Jt(n,r,t,s,A[i+14],17,-1502002290),s=Jt(s,n,r,t,A[i+15],22,1236535329),t=Lt(t,s,n,r,A[i+1],5,-165796510),r=Lt(r,t,s,n,A[i+6],9,-1069501632),n=Lt(n,r,t,s,A[i+11],14,643717713),s=Lt(s,n,r,t,A[i],20,-373897302),t=Lt(t,s,n,r,A[i+5],5,-701558691),r=Lt(r,t,s,n,A[i+10],9,38016083),n=Lt(n,r,t,s,A[i+15],14,-660478335),s=Lt(s,n,r,t,A[i+4],20,-405537848),t=Lt(t,s,n,r,A[i+9],5,568446438),r=Lt(r,t,s,n,A[i+14],9,-1019803690),n=Lt(n,r,t,s,A[i+3],14,-187363961),s=Lt(s,n,r,t,A[i+8],20,1163531501),t=Lt(t,s,n,r,A[i+13],5,-1444681467),r=Lt(r,t,s,n,A[i+2],9,-51403784),n=Lt(n,r,t,s,A[i+7],14,1735328473),s=Lt(s,n,r,t,A[i+12],20,-1926607734),t=jt(t,s,n,r,A[i+5],4,-378558),r=jt(r,t,s,n,A[i+8],11,-2022574463),n=jt(n,r,t,s,A[i+11],16,1839030562),s=jt(s,n,r,t,A[i+14],23,-35309556),t=jt(t,s,n,r,A[i+1],4,-1530992060),r=jt(r,t,s,n,A[i+4],11,1272893353),n=jt(n,r,t,s,A[i+7],16,-155497632),s=jt(s,n,r,t,A[i+10],23,-1094730640),t=jt(t,s,n,r,A[i+13],4,681279174),r=jt(r,t,s,n,A[i],11,-358537222),n=jt(n,r,t,s,A[i+3],16,-722521979),s=jt(s,n,r,t,A[i+6],23,76029189),t=jt(t,s,n,r,A[i+9],4,-640364487),r=jt(r,t,s,n,A[i+12],11,-421815835),n=jt(n,r,t,s,A[i+15],16,530742520),s=jt(s,n,r,t,A[i+2],23,-995338651),t=Tt(t,s,n,r,A[i],6,-198630844),r=Tt(r,t,s,n,A[i+7],10,1126891415),n=Tt(n,r,t,s,A[i+14],15,-1416354905),s=Tt(s,n,r,t,A[i+5],21,-57434055),t=Tt(t,s,n,r,A[i+12],6,1700485571),r=Tt(r,t,s,n,A[i+3],10,-1894986606),n=Tt(n,r,t,s,A[i+10],15,-1051523),s=Tt(s,n,r,t,A[i+1],21,-2054922799),t=Tt(t,s,n,r,A[i+8],6,1873313359),r=Tt(r,t,s,n,A[i+15],10,-30611744),n=Tt(n,r,t,s,A[i+6],15,-1560198380),s=Tt(s,n,r,t,A[i+13],21,1309151649),t=Tt(t,s,n,r,A[i+4],6,-145523070),r=Tt(r,t,s,n,A[i+11],10,-1120210379),n=Tt(n,r,t,s,A[i+2],15,718787259),s=Tt(s,n,r,t,A[i+9],21,-343485551),t=As(t,a),s=As(s,g),n=As(n,Q),r=As(r,l)}return[t,s,n,r]}function Gx(A){if(A.length===0)return[];for(var e=A.length*8,t=new Uint32Array(Oc(e)),s=0;s<e;s+=8)t[s>>5]|=(A[s/8]&255)<<s%32;return t}function As(A,e){var t=(A&65535)+(e&65535),s=(A>>16)+(e>>16)+(t>>16);return s<<16|t&65535}function vx(A,e){return A<<e|A>>>32-e}function $n(A,e,t,s,n,r){return As(vx(As(As(e,A),As(s,r)),n),t)}function Jt(A,e,t,s,n,r,i){return $n(e&t|~e&s,A,e,n,r,i)}function Lt(A,e,t,s,n,r,i){return $n(e&s|t&~s,A,e,n,r,i)}function jt(A,e,t,s,n,r,i){return $n(e^t^s,A,e,n,r,i)}function Tt(A,e,t,s,n,r,i){return $n(t^(e|~s),A,e,n,r,i)}var Sx=Tc("v3",48,Mx);function Ux(A,e,t){A=A||{};var s=A.random||(A.rng||Lc)();if(s[6]=s[6]&15|64,s[8]=s[8]&63|128,e){t=t||0;for(var n=0;n<16;++n)e[t+n]=s[n];return e}return Xn(s)}function Rx(A,e,t,s){switch(A){case 0:return e&t^~e&s;case 1:return e^t^s;case 2:return e&t^e&s^t&s;case 3:return e^t^s}}function Fi(A,e){return A<<e|A>>>32-e}function Kx(A){var e=[1518500249,1859775393,2400959708,3395469782],t=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof A=="string"){var s=unescape(encodeURIComponent(A));A=[];for(var n=0;n<s.length;++n)A.push(s.charCodeAt(n))}else Array.isArray(A)||(A=Array.prototype.slice.call(A));A.push(128);for(var r=A.length/4+2,i=Math.ceil(r/16),a=new Array(i),g=0;g<i;++g){for(var Q=new Uint32Array(16),l=0;l<16;++l)Q[l]=A[g*64+l*4]<<24|A[g*64+l*4+1]<<16|A[g*64+l*4+2]<<8|A[g*64+l*4+3];a[g]=Q}a[i-1][14]=(A.length-1)*8/Math.pow(2,32),a[i-1][14]=Math.floor(a[i-1][14]),a[i-1][15]=(A.length-1)*8&4294967295;for(var C=0;C<i;++C){for(var I=new Uint32Array(80),c=0;c<16;++c)I[c]=a[C][c];for(var u=16;u<80;++u)I[u]=Fi(I[u-3]^I[u-8]^I[u-14]^I[u-16],1);for(var f=t[0],h=t[1],k=t[2],v=t[3],D=t[4],O=0;O<80;++O){var J=Math.floor(O/20),V=Fi(f,5)+Rx(J,h,k,v)+D+e[J]+I[O]>>>0;D=v,v=k,k=Fi(h,30)>>>0,h=f,f=V}t[0]=t[0]+f>>>0,t[1]=t[1]+h>>>0,t[2]=t[2]+k>>>0,t[3]=t[3]+v>>>0,t[4]=t[4]+D>>>0}return[t[0]>>24&255,t[0]>>16&255,t[0]>>8&255,t[0]&255,t[1]>>24&255,t[1]>>16&255,t[1]>>8&255,t[1]&255,t[2]>>24&255,t[2]>>16&255,t[2]>>8&255,t[2]&255,t[3]>>24&255,t[3]>>16&255,t[3]>>8&255,t[3]&255,t[4]>>24&255,t[4]>>16&255,t[4]>>8&255,t[4]&255]}var Jx=Tc("v5",80,Kx);const Lx="00000000-0000-0000-0000-000000000000";function jx(A){if(!_n(A))throw TypeError("Invalid UUID");return parseInt(A.substr(14,1),16)}const Tx=Object.freeze(Object.defineProperty({__proto__:null,NIL:Lx,parse:jc,stringify:Xn,v1:Dx,v3:Sx,v4:Ux,v5:Jx,validate:_n,version:jx},Symbol.toStringTag,{value:"Module"})),qc=Ma(Tx);var Gi,tB;function Ox(){if(tB)return Gi;tB=1;const A=qc.v4;return Gi=function(t,s,n,r){if(typeof t!="string")throw new TypeError(t+" must be a string");r=r||{};const i=typeof r.version=="number"?r.version:2;if(i!==1&&i!==2)throw new TypeError(i+" must be 1 or 2");const a={method:t};if(i===2&&(a.jsonrpc="2.0"),s){if(typeof s!="object"&&!Array.isArray(s))throw new TypeError(s+" must be an object, array or omitted");a.params=s}if(typeof n>"u"){const g=typeof r.generator=="function"?r.generator:function(){return A()};a.id=g(a,r)}else i===2&&n===null?r.notificationIdNull&&(a.id=null):a.id=n;return a},Gi}var vi,oB;function qx(){if(oB)return vi;oB=1;const A=qc.v4,e=Ox(),t=function(s,n){if(!(this instanceof t))return new t(s,n);n||(n={}),this.options={reviver:typeof n.reviver<"u"?n.reviver:null,replacer:typeof n.replacer<"u"?n.replacer:null,generator:typeof n.generator<"u"?n.generator:function(){return A()},version:typeof n.version<"u"?n.version:2,notificationIdNull:typeof n.notificationIdNull=="boolean"?n.notificationIdNull:!1},this.callServer=s};return vi=t,t.prototype.request=function(s,n,r,i){const a=this;let g=null;const Q=Array.isArray(s)&&typeof n=="function";if(this.options.version===1&&Q)throw new TypeError("JSON-RPC 1.0 does not support batching");if(Q||!Q&&s&&typeof s=="object"&&typeof n=="function")i=n,g=s;else{typeof r=="function"&&(i=r,r=void 0);const I=typeof i=="function";try{g=e(s,n,r,{generator:this.options.generator,version:this.options.version,notificationIdNull:this.options.notificationIdNull})}catch(c){if(I){i(c);return}throw c}if(!I)return g}let C;try{C=JSON.stringify(g,this.options.replacer)}catch(I){i(I);return}return this.callServer(C,function(I,c){a._parseResponse(I,c,i)}),g},t.prototype._parseResponse=function(s,n,r){if(s){r(s);return}if(!n){r();return}let i;try{i=JSON.parse(n,this.options.reviver)}catch(a){r(a);return}if(r.length===3)if(Array.isArray(i)){const a=function(Q){return typeof Q.error<"u"},g=function(Q){return!a(Q)};r(null,i.filter(a),i.filter(g));return}else{r(null,i.error,i.result);return}r(null,i)},vi}qx();var Si={exports:{}},sB;function Yx(){return sB||(sB=1,(function(A){var e=Object.prototype.hasOwnProperty,t="~";function s(){}Object.create&&(s.prototype=Object.create(null),new s().__proto__||(t=!1));function n(g,Q,l){this.fn=g,this.context=Q,this.once=l||!1}function r(g,Q,l,C,I){if(typeof l!="function")throw new TypeError("The listener must be a function");var c=new n(l,C||g,I),u=t?t+Q:Q;return g._events[u]?g._events[u].fn?g._events[u]=[g._events[u],c]:g._events[u].push(c):(g._events[u]=c,g._eventsCount++),g}function i(g,Q){--g._eventsCount===0?g._events=new s:delete g._events[Q]}function a(){this._events=new s,this._eventsCount=0}a.prototype.eventNames=function(){var Q=[],l,C;if(this._eventsCount===0)return Q;for(C in l=this._events)e.call(l,C)&&Q.push(t?C.slice(1):C);return Object.getOwnPropertySymbols?Q.concat(Object.getOwnPropertySymbols(l)):Q},a.prototype.listeners=function(Q){var l=t?t+Q:Q,C=this._events[l];if(!C)return[];if(C.fn)return[C.fn];for(var I=0,c=C.length,u=new Array(c);I<c;I++)u[I]=C[I].fn;return u},a.prototype.listenerCount=function(Q){var l=t?t+Q:Q,C=this._events[l];return C?C.fn?1:C.length:0},a.prototype.emit=function(Q,l,C,I,c,u){var f=t?t+Q:Q;if(!this._events[f])return!1;var h=this._events[f],k=arguments.length,v,D;if(h.fn){switch(h.once&&this.removeListener(Q,h.fn,void 0,!0),k){case 1:return h.fn.call(h.context),!0;case 2:return h.fn.call(h.context,l),!0;case 3:return h.fn.call(h.context,l,C),!0;case 4:return h.fn.call(h.context,l,C,I),!0;case 5:return h.fn.call(h.context,l,C,I,c),!0;case 6:return h.fn.call(h.context,l,C,I,c,u),!0}for(D=1,v=new Array(k-1);D<k;D++)v[D-1]=arguments[D];h.fn.apply(h.context,v)}else{var O=h.length,J;for(D=0;D<O;D++)switch(h[D].once&&this.removeListener(Q,h[D].fn,void 0,!0),k){case 1:h[D].fn.call(h[D].context);break;case 2:h[D].fn.call(h[D].context,l);break;case 3:h[D].fn.call(h[D].context,l,C);break;case 4:h[D].fn.call(h[D].context,l,C,I);break;default:if(!v)for(J=1,v=new Array(k-1);J<k;J++)v[J-1]=arguments[J];h[D].fn.apply(h[D].context,v)}}return!0},a.prototype.on=function(Q,l,C){return r(this,Q,l,C,!1)},a.prototype.once=function(Q,l,C){return r(this,Q,l,C,!0)},a.prototype.removeListener=function(Q,l,C,I){var c=t?t+Q:Q;if(!this._events[c])return this;if(!l)return i(this,c),this;var u=this._events[c];if(u.fn)u.fn===l&&(!I||u.once)&&(!C||u.context===C)&&i(this,c);else{for(var f=0,h=[],k=u.length;f<k;f++)(u[f].fn!==l||I&&!u[f].once||C&&u[f].context!==C)&&h.push(u[f]);h.length?this._events[c]=h.length===1?h[0]:h:i(this,c)}return this},a.prototype.removeAllListeners=function(Q){var l;return Q?(l=t?t+Q:Q,this._events[l]&&i(this,l)):(this._events=new s,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=t,a.EventEmitter=a,A.exports=a})(Si)),Si.exports}Yx();class Yc extends nc{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,sc(e);const s=gg(t);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const n=this.blockLen,r=new Uint8Array(n);r.set(s.length>n?e.create().update(s).digest():s);for(let i=0;i<r.length;i++)r[i]^=54;this.iHash.update(r),this.oHash=e.create();for(let i=0;i<r.length;i++)r[i]^=106;this.oHash.update(r),qs(r)}update(e){return pn(this),this.iHash.update(e),this}digestInto(e){pn(this),ys(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:t,iHash:s,finished:n,destroyed:r,blockLen:i,outputLen:a}=this;return e=e,e.finished=n,e.destroyed=r,e.blockLen=i,e.outputLen=a,e.oHash=t._cloneInto(e.oHash),e.iHash=s._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Hc=(A,e,t)=>new Yc(A,e).update(t).digest();Hc.create=(A,e)=>new Yc(A,e);const rB=(A,e)=>(A+(A>=0?e:-e)/Pc)/e;function Hx(A,e,t){const[[s,n],[r,i]]=e,a=rB(i*A,t),g=rB(-n*A,t);let Q=A-a*s-g*r,l=-a*n-g*i;const C=Q<qo,I=l<qo;C&&(Q=-Q),I&&(l=-l);const c=Sr(Math.ceil(cc(t)/2))+Ts;if(Q<qo||Q>=c||l<qo||l>=c)throw new Error("splitScalar (endomorphism): failed, k="+A);return{k1neg:C,k1:Q,k2neg:I,k2:l}}function da(A){if(!["compact","recovered","der"].includes(A))throw new Error('Signature format must be "compact", "recovered", or "der"');return A}function Ui(A,e){const t={};for(let s of Object.keys(e))t[s]=A[s]===void 0?e[s]:A[s];return ms(t.lowS,"lowS"),ms(t.prehash,"prehash"),t.format!==void 0&&da(t.format),t}class Px extends Error{constructor(e=""){super(e)}}const To={Err:Px,_tlv:{encode:(A,e)=>{const{Err:t}=To;if(A<0||A>256)throw new t("tlv.encode: wrong tag");if(e.length&1)throw new t("tlv.encode: unpadded data");const s=e.length/2,n=Vr(s);if(n.length/2&128)throw new t("tlv.encode: long form length too big");const r=s>127?Vr(n.length/2|128):"";return Vr(A)+r+n+e},decode(A,e){const{Err:t}=To;let s=0;if(A<0||A>256)throw new t("tlv.encode: wrong tag");if(e.length<2||e[s++]!==A)throw new t("tlv.decode: wrong tlv");const n=e[s++],r=!!(n&128);let i=0;if(!r)i=n;else{const g=n&127;if(!g)throw new t("tlv.decode(long): indefinite length not supported");if(g>4)throw new t("tlv.decode(long): byte length is too big");const Q=e.subarray(s,s+g);if(Q.length!==g)throw new t("tlv.decode: length bytes not complete");if(Q[0]===0)throw new t("tlv.decode(long): zero leftmost byte");for(const l of Q)i=i<<8|l;if(s+=g,i<128)throw new t("tlv.decode(long): not minimal encoding")}const a=e.subarray(s,s+i);if(a.length!==i)throw new t("tlv.decode: wrong value length");return{v:a,l:e.subarray(s+i)}}},_int:{encode(A){const{Err:e}=To;if(A<qo)throw new e("integer: negative integers are not allowed");let t=Vr(A);if(Number.parseInt(t[0],16)&8&&(t="00"+t),t.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return t},decode(A){const{Err:e}=To;if(A[0]&128)throw new e("invalid signature integer: negative");if(A[0]===0&&!(A[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return zn(A)}},toSig(A){const{Err:e,_int:t,_tlv:s}=To,n=ut("signature",A),{v:r,l:i}=s.decode(48,n);if(i.length)throw new e("invalid signature: left bytes after parsing");const{v:a,l:g}=s.decode(2,r),{v:Q,l}=s.decode(2,g);if(l.length)throw new e("invalid signature: left bytes after parsing");return{r:t.decode(a),s:t.decode(Q)}},hexFromSig(A){const{_tlv:e,_int:t}=To,s=e.encode(2,t.encode(A.r)),n=e.encode(2,t.encode(A.s)),r=s+n;return e.encode(48,r)}},qo=BigInt(0),Ts=BigInt(1),Pc=BigInt(2),Xr=BigInt(3),Wx=BigInt(4);function Js(A,e){const{BYTES:t}=A;let s;if(typeof e=="bigint")s=e;else{let n=ut("private key",e);try{s=A.fromBytes(n)}catch{throw new Error(`invalid private key: expected ui8a of size ${t}, got ${typeof e}`)}}if(!A.isValidNot0(s))throw new Error("invalid private key: out of range [1..N-1]");return s}function zx(A,e={}){const t=Mc("weierstrass",A,e),{Fp:s,Fn:n}=t;let r=t.CURVE;const{h:i,n:a}=r;Ur(e,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});const{endo:g}=e;if(g&&(!s.is0(r.a)||typeof g.beta!="bigint"||!Array.isArray(g.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');const Q=zc(s,n);function l(){if(!s.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function C(L,w,B){const{x:d,y:N}=w.toAffine(),G=s.toBytes(d);if(ms(B,"isCompressed"),B){l();const S=!s.isOdd(N);return bo(Wc(S),G)}else return bo(Uint8Array.of(4),G,s.toBytes(N))}function I(L){uo(L,void 0,"Point");const{publicKey:w,publicKeyUncompressed:B}=Q,d=L.length,N=L[0],G=L.subarray(1);if(d===w&&(N===2||N===3)){const S=s.fromBytes(G);if(!s.isValid(S))throw new Error("bad point: is not on curve, wrong x");const j=f(S);let H;try{H=s.sqrt(j)}catch(p){const U=p instanceof Error?": "+p.message:"";throw new Error("bad point: is not on curve, sqrt error"+U)}l();const b=s.isOdd(H);return(N&1)===1!==b&&(H=s.neg(H)),{x:S,y:H}}else if(d===B&&N===4){const S=s.BYTES,j=s.fromBytes(G.subarray(0,S)),H=s.fromBytes(G.subarray(S,S*2));if(!h(j,H))throw new Error("bad point: is not on curve");return{x:j,y:H}}else throw new Error(`bad point: got length ${d}, expected compressed=${w} or uncompressed=${B}`)}const c=e.toBytes||C,u=e.fromBytes||I;function f(L){const w=s.sqr(L),B=s.mul(w,L);return s.add(s.add(B,s.mul(L,r.a)),r.b)}function h(L,w){const B=s.sqr(w),d=f(L);return s.eql(B,d)}if(!h(r.Gx,r.Gy))throw new Error("bad curve params: generator point");const k=s.mul(s.pow(r.a,Xr),Wx),v=s.mul(s.sqr(r.b),BigInt(27));if(s.is0(s.add(k,v)))throw new Error("bad curve params: a or b");function D(L,w,B=!1){if(!s.isValid(w)||B&&s.is0(w))throw new Error(`bad point coordinate ${L}`);return w}function O(L){if(!(L instanceof K))throw new Error("ProjectivePoint expected")}function J(L){if(!g||!g.basises)throw new Error("no endo");return Hx(L,g.basises,n.ORDER)}const V=mn((L,w)=>{const{X:B,Y:d,Z:N}=L;if(s.eql(N,s.ONE))return{x:B,y:d};const G=L.is0();w==null&&(w=G?s.ONE:s.inv(N));const S=s.mul(B,w),j=s.mul(d,w),H=s.mul(N,w);if(G)return{x:s.ZERO,y:s.ZERO};if(!s.eql(H,s.ONE))throw new Error("invZ was invalid");return{x:S,y:j}}),eA=mn(L=>{if(L.is0()){if(e.allowInfinityPoint&&!s.is0(L.Y))return;throw new Error("bad point: ZERO")}const{x:w,y:B}=L.toAffine();if(!s.isValid(w)||!s.isValid(B))throw new Error("bad point: x or y not field elements");if(!h(w,B))throw new Error("bad point: equation left != right");if(!L.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function X(L,w,B,d,N){return B=new K(s.mul(B.X,L),B.Y,B.Z),w=wn(d,w),B=wn(N,B),w.add(B)}class K{constructor(w,B,d){this.X=D("x",w),this.Y=D("y",B,!0),this.Z=D("z",d),Object.freeze(this)}static CURVE(){return r}static fromAffine(w){const{x:B,y:d}=w||{};if(!w||!s.isValid(B)||!s.isValid(d))throw new Error("invalid affine point");if(w instanceof K)throw new Error("projective point not allowed");return s.is0(B)&&s.is0(d)?K.ZERO:new K(B,d,s.ONE)}static fromBytes(w){const B=K.fromAffine(u(uo(w,void 0,"point")));return B.assertValidity(),B}static fromHex(w){return K.fromBytes(ut("pointHex",w))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(w=8,B=!0){return T.createCache(this,w),B||this.multiply(Xr),this}assertValidity(){eA(this)}hasEvenY(){const{y:w}=this.toAffine();if(!s.isOdd)throw new Error("Field doesn't support isOdd");return!s.isOdd(w)}equals(w){O(w);const{X:B,Y:d,Z:N}=this,{X:G,Y:S,Z:j}=w,H=s.eql(s.mul(B,j),s.mul(G,N)),b=s.eql(s.mul(d,j),s.mul(S,N));return H&&b}negate(){return new K(this.X,s.neg(this.Y),this.Z)}double(){const{a:w,b:B}=r,d=s.mul(B,Xr),{X:N,Y:G,Z:S}=this;let j=s.ZERO,H=s.ZERO,b=s.ZERO,E=s.mul(N,N),p=s.mul(G,G),U=s.mul(S,S),R=s.mul(N,G);return R=s.add(R,R),b=s.mul(N,S),b=s.add(b,b),j=s.mul(w,b),H=s.mul(d,U),H=s.add(j,H),j=s.sub(p,H),H=s.add(p,H),H=s.mul(j,H),j=s.mul(R,j),b=s.mul(d,b),U=s.mul(w,U),R=s.sub(E,U),R=s.mul(w,R),R=s.add(R,b),b=s.add(E,E),E=s.add(b,E),E=s.add(E,U),E=s.mul(E,R),H=s.add(H,E),U=s.mul(G,S),U=s.add(U,U),E=s.mul(U,R),j=s.sub(j,E),b=s.mul(U,p),b=s.add(b,b),b=s.add(b,b),new K(j,H,b)}add(w){O(w);const{X:B,Y:d,Z:N}=this,{X:G,Y:S,Z:j}=w;let H=s.ZERO,b=s.ZERO,E=s.ZERO;const p=r.a,U=s.mul(r.b,Xr);let R=s.mul(B,G),_=s.mul(d,S),tA=s.mul(N,j),IA=s.add(B,d),iA=s.add(G,S);IA=s.mul(IA,iA),iA=s.add(R,_),IA=s.sub(IA,iA),iA=s.add(B,N);let UA=s.add(G,j);return iA=s.mul(iA,UA),UA=s.add(R,tA),iA=s.sub(iA,UA),UA=s.add(d,N),H=s.add(S,j),UA=s.mul(UA,H),H=s.add(_,tA),UA=s.sub(UA,H),E=s.mul(p,iA),H=s.mul(U,tA),E=s.add(H,E),H=s.sub(_,E),E=s.add(_,E),b=s.mul(H,E),_=s.add(R,R),_=s.add(_,R),tA=s.mul(p,tA),iA=s.mul(U,iA),_=s.add(_,tA),tA=s.sub(R,tA),tA=s.mul(p,tA),iA=s.add(iA,tA),R=s.mul(_,iA),b=s.add(b,R),R=s.mul(UA,iA),H=s.mul(IA,H),H=s.sub(H,R),R=s.mul(IA,_),E=s.mul(UA,E),E=s.add(E,R),new K(H,b,E)}subtract(w){return this.add(w.negate())}is0(){return this.equals(K.ZERO)}multiply(w){const{endo:B}=e;if(!n.isValidNot0(w))throw new Error("invalid scalar: out of range");let d,N;const G=S=>T.cached(this,S,j=>us(K,j));if(B){const{k1neg:S,k1:j,k2neg:H,k2:b}=J(w),{p:E,f:p}=G(j),{p:U,f:R}=G(b);N=p.add(R),d=X(B.beta,E,U,S,H)}else{const{p:S,f:j}=G(w);d=S,N=j}return us(K,[d,N])[0]}multiplyUnsafe(w){const{endo:B}=e,d=this;if(!n.isValid(w))throw new Error("invalid scalar: out of range");if(w===qo||d.is0())return K.ZERO;if(w===Ts)return d;if(T.hasCache(this))return this.multiply(w);if(B){const{k1neg:N,k1:G,k2neg:S,k2:j}=J(w),{p1:H,p2:b}=Qw(K,d,G,j);return X(B.beta,H,b,N,S)}else return T.unsafe(d,w)}multiplyAndAddUnsafe(w,B,d){const N=this.multiplyUnsafe(B).add(w.multiplyUnsafe(d));return N.is0()?void 0:N}toAffine(w){return V(this,w)}isTorsionFree(){const{isTorsionFree:w}=e;return i===Ts?!0:w?w(K,this):T.unsafe(this,a).is0()}clearCofactor(){const{clearCofactor:w}=e;return i===Ts?this:w?w(K,this):this.multiplyUnsafe(i)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}toBytes(w=!0){return ms(w,"isCompressed"),this.assertValidity(),c(K,this,w)}toHex(w=!0){return hs(this.toBytes(w))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(w=!0){return this.toBytes(w)}_setWindowSize(w){this.precompute(w)}static normalizeZ(w){return us(K,w)}static msm(w,B){return kc(K,n,w,B)}static fromPrivateKey(w){return K.BASE.multiply(Js(n,w))}}K.BASE=new K(r.Gx,r.Gy,s.ONE),K.ZERO=new K(s.ZERO,s.ONE,s.ZERO),K.Fp=s,K.Fn=n;const W=n.BITS,T=new Nc(K,e.endo?Math.ceil(W/2):W);return K.BASE.precompute(8),K}function Wc(A){return Uint8Array.of(A?2:3)}function zc(A,e){return{secretKey:e.BYTES,publicKey:1+A.BYTES,publicKeyUncompressed:1+2*A.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function Vx(A,e={}){const{Fn:t}=A,s=e.randomBytes||Qg,n=Object.assign(zc(A.Fp,t),{seed:xc(t.ORDER)});function r(c){try{return!!Js(t,c)}catch{return!1}}function i(c,u){const{publicKey:f,publicKeyUncompressed:h}=n;try{const k=c.length;return u===!0&&k!==f||u===!1&&k!==h?!1:!!A.fromBytes(c)}catch{return!1}}function a(c=s(n.seed)){return iw(uo(c,n.seed,"seed"),t.ORDER)}function g(c,u=!0){return A.BASE.multiply(Js(t,c)).toBytes(u)}function Q(c){const u=a(c);return{secretKey:u,publicKey:g(u)}}function l(c){if(typeof c=="bigint")return!1;if(c instanceof A)return!0;const{secretKey:u,publicKey:f,publicKeyUncompressed:h}=n;if(t.allowedLengths||u===f)return;const k=ut("key",c).length;return k===f||k===h}function C(c,u,f=!0){if(l(c)===!0)throw new Error("first arg must be private key");if(l(u)===!1)throw new Error("second arg must be public key");const h=Js(t,c);return A.fromHex(u).multiply(h).toBytes(f)}return Object.freeze({getPublicKey:g,getSharedSecret:C,keygen:Q,Point:A,utils:{isValidSecretKey:r,isValidPublicKey:i,randomSecretKey:a,isValidPrivateKey:r,randomPrivateKey:a,normPrivateKeyToScalar:c=>Js(t,c),precompute(c=8,u=A.BASE){return u.precompute(c,!1)}},lengths:n})}function Zx(A,e,t={}){sc(e),Ur(t,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const s=t.randomBytes||Qg,n=t.hmac||((B,...d)=>Hc(e,B,bo(...d))),{Fp:r,Fn:i}=A,{ORDER:a,BITS:g}=i,{keygen:Q,getPublicKey:l,getSharedSecret:C,utils:I,lengths:c}=Vx(A,t),u={prehash:!1,lowS:typeof t.lowS=="boolean"?t.lowS:!1,format:void 0,extraEntropy:!1},f="compact";function h(B){const d=a>>Ts;return B>d}function k(B,d){if(!i.isValidNot0(d))throw new Error(`invalid signature ${B}: out of range 1..Point.Fn.ORDER`);return d}function v(B,d){da(d);const N=c.signature,G=d==="compact"?N:d==="recovered"?N+1:void 0;return uo(B,G,`${d} signature`)}class D{constructor(d,N,G){this.r=k("r",d),this.s=k("s",N),G!=null&&(this.recovery=G),Object.freeze(this)}static fromBytes(d,N=f){v(d,N);let G;if(N==="der"){const{r:b,s:E}=To.toSig(uo(d));return new D(b,E)}N==="recovered"&&(G=d[0],N="compact",d=d.subarray(1));const S=i.BYTES,j=d.subarray(0,S),H=d.subarray(S,S*2);return new D(i.fromBytes(j),i.fromBytes(H),G)}static fromHex(d,N){return this.fromBytes(fn(d),N)}addRecoveryBit(d){return new D(this.r,this.s,d)}recoverPublicKey(d){const N=r.ORDER,{r:G,s:S,recovery:j}=this;if(j==null||![0,1,2,3].includes(j))throw new Error("recovery id invalid");if(a*Pc<N&&j>1)throw new Error("recovery id is ambiguous for h>1 curve");const b=j===2||j===3?G+a:G;if(!r.isValid(b))throw new Error("recovery id 2 or 3 invalid");const E=r.toBytes(b),p=A.fromBytes(bo(Wc((j&1)===0),E)),U=i.inv(b),R=J(ut("msgHash",d)),_=i.create(-R*U),tA=i.create(S*U),IA=A.BASE.multiplyUnsafe(_).add(p.multiplyUnsafe(tA));if(IA.is0())throw new Error("point at infinify");return IA.assertValidity(),IA}hasHighS(){return h(this.s)}toBytes(d=f){if(da(d),d==="der")return fn(To.hexFromSig(this));const N=i.toBytes(this.r),G=i.toBytes(this.s);if(d==="recovered"){if(this.recovery==null)throw new Error("recovery bit must be present");return bo(Uint8Array.of(this.recovery),N,G)}return bo(N,G)}toHex(d){return hs(this.toBytes(d))}assertValidity(){}static fromCompact(d){return D.fromBytes(ut("sig",d),"compact")}static fromDER(d){return D.fromBytes(ut("sig",d),"der")}normalizeS(){return this.hasHighS()?new D(this.r,i.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return hs(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return hs(this.toBytes("compact"))}}const O=t.bits2int||function(d){if(d.length>8192)throw new Error("input is too large");const N=zn(d),G=d.length*8-g;return G>0?N>>BigInt(G):N},J=t.bits2int_modN||function(d){return i.create(O(d))},V=Sr(g);function eA(B){return ua("num < 2^"+g,B,qo,V),i.toBytes(B)}function X(B,d){return uo(B,void 0,"message"),d?uo(e(B),void 0,"prehashed message"):B}function K(B,d,N){if(["recovered","canonical"].some(_=>_ in N))throw new Error("sign() legacy options not supported");const{lowS:G,prehash:S,extraEntropy:j}=Ui(N,u);B=X(B,S);const H=J(B),b=Js(i,d),E=[eA(b),eA(H)];if(j!=null&&j!==!1){const _=j===!0?s(c.secretKey):j;E.push(ut("extraEntropy",_))}const p=bo(...E),U=H;function R(_){const tA=O(_);if(!i.isValidNot0(tA))return;const IA=i.inv(tA),iA=A.BASE.multiply(tA).toAffine(),UA=i.create(iA.x);if(UA===qo)return;const HA=i.create(IA*i.create(U+UA*b));if(HA===qo)return;let lA=(iA.x===UA?0:2)|Number(iA.y&Ts),qA=HA;return G&&h(HA)&&(qA=i.neg(HA),lA^=1),new D(UA,qA,lA)}return{seed:p,k2sig:R}}function W(B,d,N={}){B=ut("message",B);const{seed:G,k2sig:S}=K(B,d,N);return _m(e.outputLen,i.BYTES,n)(G,S)}function T(B){let d;const N=typeof B=="string"||vr(B),G=!N&&B!==null&&typeof B=="object"&&typeof B.r=="bigint"&&typeof B.s=="bigint";if(!N&&!G)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(G)d=new D(B.r,B.s);else if(N){try{d=D.fromBytes(ut("sig",B),"der")}catch(S){if(!(S instanceof To.Err))throw S}if(!d)try{d=D.fromBytes(ut("sig",B),"compact")}catch{return!1}}return d||!1}function L(B,d,N,G={}){const{lowS:S,prehash:j,format:H}=Ui(G,u);if(N=ut("publicKey",N),d=X(ut("message",d),j),"strict"in G)throw new Error("options.strict was renamed to lowS");const b=H===void 0?T(B):D.fromBytes(ut("sig",B),H);if(b===!1)return!1;try{const E=A.fromBytes(N);if(S&&b.hasHighS())return!1;const{r:p,s:U}=b,R=J(d),_=i.inv(U),tA=i.create(R*_),IA=i.create(p*_),iA=A.BASE.multiplyUnsafe(tA).add(E.multiplyUnsafe(IA));return iA.is0()?!1:i.create(iA.x)===p}catch{return!1}}function w(B,d,N={}){const{prehash:G}=Ui(N,u);return d=X(d,G),D.fromBytes(B,"recovered").recoverPublicKey(d).toBytes()}return Object.freeze({keygen:Q,getPublicKey:l,getSharedSecret:C,utils:I,lengths:c,Point:A,sign:W,verify:L,recoverPublicKey:w,Signature:D,hash:e})}function _x(A){const e={a:A.a,b:A.b,p:A.Fp.ORDER,n:A.n,h:A.h,Gx:A.Gx,Gy:A.Gy},t=A.Fp;let s=A.allowedPrivateKeyLengths?Array.from(new Set(A.allowedPrivateKeyLengths.map(i=>Math.ceil(i/2)))):void 0;const n=Ns(e.n,{BITS:A.nBitLength,allowedLengths:s,modFromBytes:A.wrapPrivateKey}),r={Fp:t,Fn:n,allowInfinityPoint:A.allowInfinityPoint,endo:A.endo,isTorsionFree:A.isTorsionFree,clearCofactor:A.clearCofactor,fromBytes:A.fromBytes,toBytes:A.toBytes};return{CURVE:e,curveOpts:r}}function Xx(A){const{CURVE:e,curveOpts:t}=_x(A),s={hmac:A.hmac,randomBytes:A.randomBytes,lowS:A.lowS,bits2int:A.bits2int,bits2int_modN:A.bits2int_modN};return{CURVE:e,curveOpts:t,hash:A.hash,ecdsaOpts:s}}function $x(A,e){const t=e.Point;return Object.assign({},e,{ProjectivePoint:t,CURVE:Object.assign({},A,mc(t.Fn.ORDER,t.Fn.BITS))})}function AD(A){const{CURVE:e,curveOpts:t,hash:s,ecdsaOpts:n}=Xx(A),r=zx(e,t),i=Zx(r,s,n);return $x(A,i)}function eD(A,e){const t=s=>AD({...A,hash:s});return{...t(e),create:t}}const hg={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},tD={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},nB=BigInt(2);function oD(A){const e=hg.p,t=BigInt(3),s=BigInt(6),n=BigInt(11),r=BigInt(22),i=BigInt(23),a=BigInt(44),g=BigInt(88),Q=A*A*A%e,l=Q*Q*A%e,C=It(l,t,e)*l%e,I=It(C,t,e)*l%e,c=It(I,nB,e)*Q%e,u=It(c,n,e)*c%e,f=It(u,r,e)*u%e,h=It(f,a,e)*f%e,k=It(h,g,e)*h%e,v=It(k,a,e)*f%e,D=It(v,t,e)*l%e,O=It(D,i,e)*u%e,J=It(O,s,e)*Q%e,V=It(J,nB,e);if(!ha.eql(ha.sqr(V),A))throw new Error("Cannot find square root");return V}const ha=Ns(hg.p,{sqrt:oD}),sD=eD({...hg,Fp:ha,lowS:!0,endo:tD},Qc);Vn.utils.randomPrivateKey;Vn.getPublicKey;function iB(A){try{return Vn.ExtendedPoint.fromHex(A),!0}catch{return!1}}Vn.verify;const rD=A=>Dt.Buffer.isBuffer(A)?A:A instanceof Uint8Array?Dt.Buffer.from(A.buffer,A.byteOffset,A.byteLength):Dt.Buffer.from(A);class nD{constructor(e){Object.assign(this,e)}encode(){return Dt.Buffer.from(yi.serialize(ln,this))}static decode(e){return yi.deserialize(ln,this,e)}static decodeUnchecked(e){return yi.deserializeUnchecked(ln,this,e)}}const ln=new Map;var Vc;const iD=32,Ri=32;function aD(A){return A._bn!==void 0}let aB=1;class Ye extends nD{constructor(e){if(super({}),this._bn=void 0,aD(e))this._bn=e._bn;else{if(typeof e=="string"){const t=zQ.decode(e);if(t.length!=Ri)throw new Error("Invalid public key input");this._bn=new YQ(t)}else this._bn=new YQ(e);if(this._bn.byteLength()>Ri)throw new Error("Invalid public key input")}}static unique(){const e=new Ye(aB);return aB+=1,new Ye(e.toBuffer())}equals(e){return this._bn.eq(e._bn)}toBase58(){return zQ.encode(this.toBytes())}toJSON(){return this.toBase58()}toBytes(){const e=this.toBuffer();return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}toBuffer(){const e=this._bn.toArrayLike(Dt.Buffer);if(e.length===Ri)return e;const t=Dt.Buffer.alloc(32);return e.copy(t,32-e.length),t}get[Symbol.toStringTag](){return`PublicKey(${this.toString()})`}toString(){return this.toBase58()}static async createWithSeed(e,t,s){const n=Dt.Buffer.concat([e.toBuffer(),Dt.Buffer.from(t),s.toBuffer()]),r=VQ(n);return new Ye(r)}static createProgramAddressSync(e,t){let s=Dt.Buffer.alloc(0);e.forEach(function(r){if(r.length>iD)throw new TypeError("Max seed length exceeded");s=Dt.Buffer.concat([s,rD(r)])}),s=Dt.Buffer.concat([s,t.toBuffer(),Dt.Buffer.from("ProgramDerivedAddress")]);const n=VQ(s);if(iB(n))throw new Error("Invalid seeds, address must fall off the curve");return new Ye(n)}static async createProgramAddress(e,t){return this.createProgramAddressSync(e,t)}static findProgramAddressSync(e,t){let s=255,n;for(;s!=0;){try{const r=e.concat(Dt.Buffer.from([s]));n=this.createProgramAddressSync(r,t)}catch(r){if(r instanceof TypeError)throw r;s--;continue}return[n,s]}throw new Error("Unable to find a viable program address nonce")}static async findProgramAddress(e,t){return this.findProgramAddressSync(e,t)}static isOnCurve(e){const t=new Ye(e);return iB(t.toBytes())}}Vc=Ye;Ye.default=new Vc("11111111111111111111111111111111");ln.set(Ye,{kind:"struct",fields:[["_bn","u256"]]});new Ye("BPFLoader1111111111111111111111111111111111");const gD=64,ze=(A="publicKey")=>rA.blob(32,A),Ls=(A="string")=>{const e=rA.struct([rA.u32("length"),rA.u32("lengthPadding"),rA.blob(rA.offset(rA.u32(),-8),"chars")],A),t=e.decode.bind(e),s=e.encode.bind(e),n=e;return n.decode=(r,i)=>t(r,i).chars.toString(),n.encode=(r,i,a)=>{const g={chars:Dt.Buffer.from(r,"utf8")};return s(g,i,a)},n.alloc=r=>rA.u32().span+rA.u32().span+Dt.Buffer.from(r,"utf8").length,n},QD=(A="authorized")=>rA.struct([ze("staker"),ze("withdrawer")],A),BD=(A="lockup")=>rA.struct([rA.ns64("unixTimestamp"),rA.ns64("epoch"),ze("custodian")],A),lD=(A="voteInit")=>rA.struct([ze("nodePubkey"),ze("authorizedVoter"),ze("authorizedWithdrawer"),rA.u8("commission")],A),cD=(A="voteAuthorizeWithSeedArgs")=>rA.struct([rA.u32("voteAuthorizationType"),ze("currentAuthorityDerivedKeyOwnerPubkey"),Ls("currentAuthorityDerivedKeySeed"),ze("newAuthorized")],A);Dt.Buffer.alloc(gD).fill(0);new Ye("SysvarC1ock11111111111111111111111111111111");new Ye("SysvarEpochSchedu1e111111111111111111111111");new Ye("Sysvar1nstructions1111111111111111111111111");new Ye("SysvarRecentB1ockHashes11111111111111111111");new Ye("SysvarRent111111111111111111111111111111111");new Ye("SysvarRewards111111111111111111111111111111");new Ye("SysvarS1otHashes111111111111111111111111111");new Ye("SysvarS1otHistory11111111111111111111111111");new Ye("SysvarStakeHistory1111111111111111111111111");const ED=rA.nu64("lamportsPerSignature"),CD=rA.struct([rA.u32("version"),rA.u32("state"),ze("authorizedPubkey"),ze("nonce"),rA.struct([ED],"feeCalculator")]);CD.span;function Ps(A){const e=rA.blob(8,A),t=e.decode.bind(e),s=e.encode.bind(e),n=e,r=Ex();return n.decode=(i,a)=>{const g=t(i,a);return r.decode(g)},n.encode=(i,a,g)=>{const Q=r.encode(i);return s(Q,a,g)},n}Object.freeze({Create:{index:0,layout:rA.struct([rA.u32("instruction"),rA.ns64("lamports"),rA.ns64("space"),ze("programId")])},Assign:{index:1,layout:rA.struct([rA.u32("instruction"),ze("programId")])},Transfer:{index:2,layout:rA.struct([rA.u32("instruction"),Ps("lamports")])},CreateWithSeed:{index:3,layout:rA.struct([rA.u32("instruction"),ze("base"),Ls("seed"),rA.ns64("lamports"),rA.ns64("space"),ze("programId")])},AdvanceNonceAccount:{index:4,layout:rA.struct([rA.u32("instruction")])},WithdrawNonceAccount:{index:5,layout:rA.struct([rA.u32("instruction"),rA.ns64("lamports")])},InitializeNonceAccount:{index:6,layout:rA.struct([rA.u32("instruction"),ze("authorized")])},AuthorizeNonceAccount:{index:7,layout:rA.struct([rA.u32("instruction"),ze("authorized")])},Allocate:{index:8,layout:rA.struct([rA.u32("instruction"),rA.ns64("space")])},AllocateWithSeed:{index:9,layout:rA.struct([rA.u32("instruction"),ze("base"),Ls("seed"),rA.ns64("space"),ze("programId")])},AssignWithSeed:{index:10,layout:rA.struct([rA.u32("instruction"),ze("base"),Ls("seed"),ze("programId")])},TransferWithSeed:{index:11,layout:rA.struct([rA.u32("instruction"),Ps("lamports"),Ls("seed"),ze("programId")])},UpgradeNonceAccount:{index:12,layout:rA.struct([rA.u32("instruction")])}});new Ye("11111111111111111111111111111111");new Ye("BPFLoader2111111111111111111111111111111111");rA.struct([rA.u32("typeIndex"),Ps("deactivationSlot"),rA.nu64("lastExtendedSlot"),rA.u8("lastExtendedStartIndex"),rA.u8(),rA.seq(ze(),rA.offset(rA.u8(),-1),"authority")]);const dt=Jr(ug(Ye),FA(),A=>new Ye(A)),Zc=dg([FA(),Bt("base64")]),pg=Jr(ug(Dt.Buffer),Zc,A=>Dt.Buffer.from(A[0],"base64"));function _c(A){return Xt([wA({jsonrpc:Bt("2.0"),id:FA(),result:A}),wA({jsonrpc:Bt("2.0"),id:FA(),error:wA({code:Ar(),message:FA(),data:ee(fx())})})])}const ID=_c(Ar());function ot(A){return Jr(_c(A),ID,e=>"error"in e?e:{...e,result:hr(e.result,A)})}function Do(A){return ot(wA({context:wA({slot:gA()}),value:A}))}function Ai(A){return wA({context:wA({slot:gA()}),value:A})}const uD=wA({foundation:gA(),foundationTerm:gA(),initial:gA(),taper:gA(),terminal:gA()});ot(LA(jA(wA({epoch:gA(),effectiveSlot:gA(),amount:gA(),postBalance:gA(),commission:ee(jA(gA()))}))));const dD=LA(wA({slot:gA(),prioritizationFee:gA()})),hD=wA({total:gA(),validator:gA(),foundation:gA(),epoch:gA()}),pD=wA({epoch:gA(),slotIndex:gA(),slotsInEpoch:gA(),absoluteSlot:gA(),blockHeight:ee(gA()),transactionCount:ee(gA())}),fD=wA({slotsPerEpoch:gA(),leaderScheduleSlotOffset:gA(),warmup:Fo(),firstNormalEpoch:gA(),firstNormalSlot:gA()}),mD=Jc(FA(),LA(gA())),Ms=jA(Xt([wA({}),FA()])),wD=wA({err:Ms}),xD=Bt("receivedSignature");wA({"solana-core":FA(),"feature-set":ee(gA())});const DD=wA({program:FA(),programId:dt,parsed:Ar()}),yD=wA({programId:dt,accounts:LA(dt),data:FA()});Do(wA({err:jA(Xt([wA({}),FA()])),logs:jA(LA(FA())),accounts:ee(jA(LA(jA(wA({executable:Fo(),owner:FA(),lamports:gA(),data:LA(FA()),rentEpoch:ee(gA())}))))),unitsConsumed:ee(gA()),returnData:ee(jA(wA({programId:FA(),data:dg([FA(),Bt("base64")])}))),innerInstructions:ee(jA(LA(wA({index:gA(),instructions:LA(Xt([DD,yD]))}))))}));Do(wA({byIdentity:Jc(FA(),LA(gA())),range:wA({firstSlot:gA(),lastSlot:gA()})}));ot(uD);ot(hD);ot(dD);ot(pD);ot(fD);ot(mD);ot(gA());Do(wA({total:gA(),circulating:gA(),nonCirculating:gA(),nonCirculatingAccounts:LA(dt)}));const ND=wA({amount:FA(),uiAmount:jA(gA()),decimals:gA(),uiAmountString:ee(FA())});Do(LA(wA({address:dt,amount:FA(),uiAmount:jA(gA()),decimals:gA(),uiAmountString:ee(FA())})));Do(LA(wA({pubkey:dt,account:wA({executable:Fo(),owner:dt,lamports:gA(),data:pg,rentEpoch:gA()})})));const pa=wA({program:FA(),parsed:Ar(),space:gA()});Do(LA(wA({pubkey:dt,account:wA({executable:Fo(),owner:dt,lamports:gA(),data:pa,rentEpoch:gA()})})));Do(LA(wA({lamports:gA(),address:dt})));const fg=wA({executable:Fo(),owner:dt,lamports:gA(),data:pg,rentEpoch:gA()});wA({pubkey:dt,account:fg});const kD=Jr(Xt([ug(Dt.Buffer),pa]),Xt([Zc,pa]),A=>Array.isArray(A)?hr(A,pg):A),MD=wA({executable:Fo(),owner:dt,lamports:gA(),data:kD,rentEpoch:gA()});wA({pubkey:dt,account:MD});wA({state:Xt([Bt("active"),Bt("inactive"),Bt("activating"),Bt("deactivating")]),active:gA(),inactive:gA()});ot(LA(wA({signature:FA(),slot:gA(),err:Ms,memo:jA(FA()),blockTime:ee(jA(gA()))})));ot(LA(wA({signature:FA(),slot:gA(),err:Ms,memo:jA(FA()),blockTime:ee(jA(gA()))})));wA({subscription:gA(),result:Ai(fg)});const bD=wA({pubkey:dt,account:fg});wA({subscription:gA(),result:Ai(bD)});const FD=wA({parent:gA(),slot:gA(),root:gA()});wA({subscription:gA(),result:FD});const GD=Xt([wA({type:Xt([Bt("firstShredReceived"),Bt("completed"),Bt("optimisticConfirmation"),Bt("root")]),slot:gA(),timestamp:gA()}),wA({type:Bt("createdBank"),parent:gA(),slot:gA(),timestamp:gA()}),wA({type:Bt("frozen"),slot:gA(),timestamp:gA(),stats:wA({numTransactionEntries:gA(),numSuccessfulTransactions:gA(),numFailedTransactions:gA(),maxTransactionsPerEntry:gA()})}),wA({type:Bt("dead"),slot:gA(),timestamp:gA(),err:FA()})]);wA({subscription:gA(),result:GD});wA({subscription:gA(),result:Ai(Xt([wD,xD]))});wA({subscription:gA(),result:gA()});wA({pubkey:FA(),gossip:jA(FA()),tpu:jA(FA()),rpc:jA(FA()),version:jA(FA())});const gB=wA({votePubkey:FA(),nodePubkey:FA(),activatedStake:gA(),epochVoteAccount:Fo(),epochCredits:LA(dg([gA(),gA(),gA()])),commission:gA(),lastVote:gA(),rootSlot:jA(gA())});ot(wA({current:LA(gB),delinquent:LA(gB)}));const vD=Xt([Bt("processed"),Bt("confirmed"),Bt("finalized")]),SD=wA({slot:gA(),confirmations:jA(gA()),err:Ms,confirmationStatus:ee(vD)});Do(LA(jA(SD)));ot(gA());const Xc=wA({accountKey:dt,writableIndexes:LA(gA()),readonlyIndexes:LA(gA())}),mg=wA({signatures:LA(FA()),message:wA({accountKeys:LA(FA()),header:wA({numRequiredSignatures:gA(),numReadonlySignedAccounts:gA(),numReadonlyUnsignedAccounts:gA()}),instructions:LA(wA({accounts:LA(gA()),data:FA(),programIdIndex:gA()})),recentBlockhash:FA(),addressTableLookups:ee(LA(Xc))})}),$c=wA({pubkey:dt,signer:Fo(),writable:Fo(),source:ee(Xt([Bt("transaction"),Bt("lookupTable")]))}),AE=wA({accountKeys:LA($c),signatures:LA(FA())}),eE=wA({parsed:Ar(),program:FA(),programId:dt}),tE=wA({accounts:LA(dt),data:FA(),programId:dt}),UD=Xt([tE,eE]),RD=Xt([wA({parsed:Ar(),program:FA(),programId:FA()}),wA({accounts:LA(FA()),data:FA(),programId:FA()})]),oE=Jr(UD,RD,A=>"accounts"in A?hr(A,tE):hr(A,eE)),sE=wA({signatures:LA(FA()),message:wA({accountKeys:LA($c),instructions:LA(oE),recentBlockhash:FA(),addressTableLookups:ee(jA(LA(Xc)))})}),Mn=wA({accountIndex:gA(),mint:FA(),owner:ee(FA()),programId:ee(FA()),uiTokenAmount:ND}),rE=wA({writable:LA(dt),readonly:LA(dt)}),ei=wA({err:Ms,fee:gA(),innerInstructions:ee(jA(LA(wA({index:gA(),instructions:LA(wA({accounts:LA(gA()),data:FA(),programIdIndex:gA()}))})))),preBalances:LA(gA()),postBalances:LA(gA()),logMessages:ee(jA(LA(FA()))),preTokenBalances:ee(jA(LA(Mn))),postTokenBalances:ee(jA(LA(Mn))),loadedAddresses:ee(rE),computeUnitsConsumed:ee(gA()),costUnits:ee(gA())}),wg=wA({err:Ms,fee:gA(),innerInstructions:ee(jA(LA(wA({index:gA(),instructions:LA(oE)})))),preBalances:LA(gA()),postBalances:LA(gA()),logMessages:ee(jA(LA(FA()))),preTokenBalances:ee(jA(LA(Mn))),postTokenBalances:ee(jA(LA(Mn))),loadedAddresses:ee(rE),computeUnitsConsumed:ee(gA()),costUnits:ee(gA())}),er=Xt([Bt(0),Bt("legacy")]),bs=wA({pubkey:FA(),lamports:gA(),postBalance:jA(gA()),rewardType:jA(FA()),commission:ee(jA(gA()))});ot(jA(wA({blockhash:FA(),previousBlockhash:FA(),parentSlot:gA(),transactions:LA(wA({transaction:mg,meta:jA(ei),version:ee(er)})),rewards:ee(LA(bs)),blockTime:jA(gA()),blockHeight:jA(gA())})));ot(jA(wA({blockhash:FA(),previousBlockhash:FA(),parentSlot:gA(),rewards:ee(LA(bs)),blockTime:jA(gA()),blockHeight:jA(gA())})));ot(jA(wA({blockhash:FA(),previousBlockhash:FA(),parentSlot:gA(),transactions:LA(wA({transaction:AE,meta:jA(ei),version:ee(er)})),rewards:ee(LA(bs)),blockTime:jA(gA()),blockHeight:jA(gA())})));ot(jA(wA({blockhash:FA(),previousBlockhash:FA(),parentSlot:gA(),transactions:LA(wA({transaction:sE,meta:jA(wg),version:ee(er)})),rewards:ee(LA(bs)),blockTime:jA(gA()),blockHeight:jA(gA())})));ot(jA(wA({blockhash:FA(),previousBlockhash:FA(),parentSlot:gA(),transactions:LA(wA({transaction:AE,meta:jA(wg),version:ee(er)})),rewards:ee(LA(bs)),blockTime:jA(gA()),blockHeight:jA(gA())})));ot(jA(wA({blockhash:FA(),previousBlockhash:FA(),parentSlot:gA(),rewards:ee(LA(bs)),blockTime:jA(gA()),blockHeight:jA(gA())})));ot(jA(wA({blockhash:FA(),previousBlockhash:FA(),parentSlot:gA(),transactions:LA(wA({transaction:mg,meta:jA(ei)})),rewards:ee(LA(bs)),blockTime:jA(gA())})));ot(jA(wA({blockhash:FA(),previousBlockhash:FA(),parentSlot:gA(),signatures:LA(FA()),blockTime:jA(gA())})));ot(jA(wA({slot:gA(),meta:jA(ei),blockTime:ee(jA(gA())),transaction:mg,version:ee(er)})));ot(jA(wA({slot:gA(),transaction:sE,meta:jA(wg),blockTime:ee(jA(gA())),version:ee(er)})));Do(wA({blockhash:FA(),lastValidBlockHeight:gA()}));Do(Fo());const KD=wA({slot:gA(),numTransactions:gA(),numSlots:gA(),samplePeriodSecs:gA()});ot(LA(KD));Do(jA(wA({feeCalculator:wA({lamportsPerSignature:gA()})})));ot(FA());ot(FA());const JD=wA({err:Ms,logs:LA(FA()),signature:FA()});wA({result:Ai(JD),subscription:gA()});Object.freeze({CreateLookupTable:{index:0,layout:rA.struct([rA.u32("instruction"),Ps("recentSlot"),rA.u8("bumpSeed")])},FreezeLookupTable:{index:1,layout:rA.struct([rA.u32("instruction")])},ExtendLookupTable:{index:2,layout:rA.struct([rA.u32("instruction"),Ps(),rA.seq(ze(),rA.offset(rA.u32(),-8),"addresses")])},DeactivateLookupTable:{index:3,layout:rA.struct([rA.u32("instruction")])},CloseLookupTable:{index:4,layout:rA.struct([rA.u32("instruction")])}});new Ye("AddressLookupTab1e1111111111111111111111111");Object.freeze({RequestUnits:{index:0,layout:rA.struct([rA.u8("instruction"),rA.u32("units"),rA.u32("additionalFee")])},RequestHeapFrame:{index:1,layout:rA.struct([rA.u8("instruction"),rA.u32("bytes")])},SetComputeUnitLimit:{index:2,layout:rA.struct([rA.u8("instruction"),rA.u32("units")])},SetComputeUnitPrice:{index:3,layout:rA.struct([rA.u8("instruction"),Ps("microLamports")])}});new Ye("ComputeBudget111111111111111111111111111111");rA.struct([rA.u8("numSignatures"),rA.u8("padding"),rA.u16("signatureOffset"),rA.u16("signatureInstructionIndex"),rA.u16("publicKeyOffset"),rA.u16("publicKeyInstructionIndex"),rA.u16("messageDataOffset"),rA.u16("messageDataSize"),rA.u16("messageInstructionIndex")]);new Ye("Ed25519SigVerify111111111111111111111111111");sD.utils.isValidPrivateKey;rA.struct([rA.u8("numSignatures"),rA.u16("signatureOffset"),rA.u8("signatureInstructionIndex"),rA.u16("ethAddressOffset"),rA.u8("ethAddressInstructionIndex"),rA.u16("messageDataOffset"),rA.u16("messageDataSize"),rA.u8("messageInstructionIndex"),rA.blob(20,"ethAddress"),rA.blob(64,"signature"),rA.u8("recoveryId")]);new Ye("KeccakSecp256k11111111111111111111111111111");var nE;new Ye("StakeConfig11111111111111111111111111111111");class iE{constructor(e,t,s){this.unixTimestamp=void 0,this.epoch=void 0,this.custodian=void 0,this.unixTimestamp=e,this.epoch=t,this.custodian=s}}nE=iE;iE.default=new nE(0,0,Ye.default);Object.freeze({Initialize:{index:0,layout:rA.struct([rA.u32("instruction"),QD(),BD()])},Authorize:{index:1,layout:rA.struct([rA.u32("instruction"),ze("newAuthorized"),rA.u32("stakeAuthorizationType")])},Delegate:{index:2,layout:rA.struct([rA.u32("instruction")])},Split:{index:3,layout:rA.struct([rA.u32("instruction"),rA.ns64("lamports")])},Withdraw:{index:4,layout:rA.struct([rA.u32("instruction"),rA.ns64("lamports")])},Deactivate:{index:5,layout:rA.struct([rA.u32("instruction")])},Merge:{index:7,layout:rA.struct([rA.u32("instruction")])},AuthorizeWithSeed:{index:8,layout:rA.struct([rA.u32("instruction"),ze("newAuthorized"),rA.u32("stakeAuthorizationType"),Ls("authoritySeed"),ze("authorityOwner")])}});new Ye("Stake11111111111111111111111111111111111111");Object.freeze({InitializeAccount:{index:0,layout:rA.struct([rA.u32("instruction"),lD()])},Authorize:{index:1,layout:rA.struct([rA.u32("instruction"),ze("newAuthorized"),rA.u32("voteAuthorizationType")])},Withdraw:{index:3,layout:rA.struct([rA.u32("instruction"),rA.ns64("lamports")])},UpdateValidatorIdentity:{index:4,layout:rA.struct([rA.u32("instruction")])},AuthorizeWithSeed:{index:10,layout:rA.struct([rA.u32("instruction"),cD()])}});new Ye("Vote111111111111111111111111111111111111111");new Ye("Va1idator1nfo111111111111111111111111111111");wA({name:FA(),website:ee(FA()),details:ee(FA()),iconUrl:ee(FA()),keybaseUsername:ee(FA())});new Ye("Vote111111111111111111111111111111111111111");rA.struct([ze("nodePubkey"),ze("authorizedWithdrawer"),rA.u8("commission"),rA.nu64(),rA.seq(rA.struct([rA.nu64("slot"),rA.u32("confirmationCount")]),rA.offset(rA.u32(),-8),"votes"),rA.u8("rootSlotValid"),rA.nu64("rootSlot"),rA.nu64(),rA.seq(rA.struct([rA.nu64("epoch"),ze("authorizedVoter")]),rA.offset(rA.u32(),-8),"authorizedVoters"),rA.struct([rA.seq(rA.struct([ze("authorizedPubkey"),rA.nu64("epochOfLastAuthorizedSwitch"),rA.nu64("targetEpoch")]),32,"buf"),rA.nu64("idx"),rA.u8("isEmpty")],"priorVoters"),rA.nu64(),rA.seq(rA.struct([rA.nu64("epoch"),rA.nu64("credits"),rA.nu64("prevCredits")]),rA.offset(rA.u32(),-8),"epochCredits"),rA.struct([rA.nu64("slot"),rA.nu64("timestamp")],"lastTimestamp")]);function LD(A){if(A.length>=255)throw new TypeError("Alphabet too long");const e=new Uint8Array(256);for(let Q=0;Q<e.length;Q++)e[Q]=255;for(let Q=0;Q<A.length;Q++){const l=A.charAt(Q),C=l.charCodeAt(0);if(e[C]!==255)throw new TypeError(l+" is ambiguous");e[C]=Q}const t=A.length,s=A.charAt(0),n=Math.log(t)/Math.log(256),r=Math.log(256)/Math.log(t);function i(Q){if(Q instanceof Uint8Array||(ArrayBuffer.isView(Q)?Q=new Uint8Array(Q.buffer,Q.byteOffset,Q.byteLength):Array.isArray(Q)&&(Q=Uint8Array.from(Q))),!(Q instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(Q.length===0)return"";let l=0,C=0,I=0;const c=Q.length;for(;I!==c&&Q[I]===0;)I++,l++;const u=(c-I)*r+1>>>0,f=new Uint8Array(u);for(;I!==c;){let v=Q[I],D=0;for(let O=u-1;(v!==0||D<C)&&O!==-1;O--,D++)v+=256*f[O]>>>0,f[O]=v%t>>>0,v=v/t>>>0;if(v!==0)throw new Error("Non-zero carry");C=D,I++}let h=u-C;for(;h!==u&&f[h]===0;)h++;let k=s.repeat(l);for(;h<u;++h)k+=A.charAt(f[h]);return k}function a(Q){if(typeof Q!="string")throw new TypeError("Expected String");if(Q.length===0)return new Uint8Array;let l=0,C=0,I=0;for(;Q[l]===s;)C++,l++;const c=(Q.length-l)*n+1>>>0,u=new Uint8Array(c);for(;l<Q.length;){const v=Q.charCodeAt(l);if(v>255)return;let D=e[v];if(D===255)return;let O=0;for(let J=c-1;(D!==0||O<I)&&J!==-1;J--,O++)D+=t*u[J]>>>0,u[J]=D%256>>>0,D=D/256>>>0;if(D!==0)throw new Error("Non-zero carry");I=O,l++}let f=c-I;for(;f!==c&&u[f]===0;)f++;const h=new Uint8Array(C+(c-f));let k=C;for(;f!==c;)h[k++]=u[f++];return h}function g(Q){const l=a(Q);if(l)return l;throw new Error("Non-base"+t+" character")}return{encode:i,decodeUnsafe:a,decode:g}}var jD="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";LD(jD);function TD(A){throw new Error('Could not dynamically require "'+A+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Ki={exports:{}},QB;function OD(){return QB||(QB=1,(function(A){(function(e){var t=function(F){var Y,P=new Float64Array(16);if(F)for(Y=0;Y<F.length;Y++)P[Y]=F[Y];return P},s=function(){throw new Error("no PRNG")},n=new Uint8Array(16),r=new Uint8Array(32);r[0]=9;var i=t(),a=t([1]),g=t([56129,1]),Q=t([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),l=t([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),C=t([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),I=t([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),c=t([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function u(F,Y,P,m){F[Y]=P>>24&255,F[Y+1]=P>>16&255,F[Y+2]=P>>8&255,F[Y+3]=P&255,F[Y+4]=m>>24&255,F[Y+5]=m>>16&255,F[Y+6]=m>>8&255,F[Y+7]=m&255}function f(F,Y,P,m,z){var sA,oA=0;for(sA=0;sA<z;sA++)oA|=F[Y+sA]^P[m+sA];return(1&oA-1>>>8)-1}function h(F,Y,P,m){return f(F,Y,P,m,16)}function k(F,Y,P,m){return f(F,Y,P,m,32)}function v(F,Y,P,m){for(var z=m[0]&255|(m[1]&255)<<8|(m[2]&255)<<16|(m[3]&255)<<24,sA=P[0]&255|(P[1]&255)<<8|(P[2]&255)<<16|(P[3]&255)<<24,oA=P[4]&255|(P[5]&255)<<8|(P[6]&255)<<16|(P[7]&255)<<24,uA=P[8]&255|(P[9]&255)<<8|(P[10]&255)<<16|(P[11]&255)<<24,DA=P[12]&255|(P[13]&255)<<8|(P[14]&255)<<16|(P[15]&255)<<24,bA=m[4]&255|(m[5]&255)<<8|(m[6]&255)<<16|(m[7]&255)<<24,xA=Y[0]&255|(Y[1]&255)<<8|(Y[2]&255)<<16|(Y[3]&255)<<24,Ie=Y[4]&255|(Y[5]&255)<<8|(Y[6]&255)<<16|(Y[7]&255)<<24,SA=Y[8]&255|(Y[9]&255)<<8|(Y[10]&255)<<16|(Y[11]&255)<<24,XA=Y[12]&255|(Y[13]&255)<<8|(Y[14]&255)<<16|(Y[15]&255)<<24,se=m[8]&255|(m[9]&255)<<8|(m[10]&255)<<16|(m[11]&255)<<24,ge=P[16]&255|(P[17]&255)<<8|(P[18]&255)<<16|(P[19]&255)<<24,ie=P[20]&255|(P[21]&255)<<8|(P[22]&255)<<16|(P[23]&255)<<24,te=P[24]&255|(P[25]&255)<<8|(P[26]&255)<<16|(P[27]&255)<<24,oe=P[28]&255|(P[29]&255)<<8|(P[30]&255)<<16|(P[31]&255)<<24,$A=m[12]&255|(m[13]&255)<<8|(m[14]&255)<<16|(m[15]&255)<<24,RA=z,OA=sA,vA=oA,KA=uA,JA=DA,GA=bA,EA=xA,CA=Ie,fA=SA,hA=XA,pA=se,NA=ge,Ae=ie,Ee=te,ue=oe,Ce=$A,$,xe=0;xe<20;xe+=2)$=RA+Ae|0,JA^=$<<7|$>>>25,$=JA+RA|0,fA^=$<<9|$>>>23,$=fA+JA|0,Ae^=$<<13|$>>>19,$=Ae+fA|0,RA^=$<<18|$>>>14,$=GA+OA|0,hA^=$<<7|$>>>25,$=hA+GA|0,Ee^=$<<9|$>>>23,$=Ee+hA|0,OA^=$<<13|$>>>19,$=OA+Ee|0,GA^=$<<18|$>>>14,$=pA+EA|0,ue^=$<<7|$>>>25,$=ue+pA|0,vA^=$<<9|$>>>23,$=vA+ue|0,EA^=$<<13|$>>>19,$=EA+vA|0,pA^=$<<18|$>>>14,$=Ce+NA|0,KA^=$<<7|$>>>25,$=KA+Ce|0,CA^=$<<9|$>>>23,$=CA+KA|0,NA^=$<<13|$>>>19,$=NA+CA|0,Ce^=$<<18|$>>>14,$=RA+KA|0,OA^=$<<7|$>>>25,$=OA+RA|0,vA^=$<<9|$>>>23,$=vA+OA|0,KA^=$<<13|$>>>19,$=KA+vA|0,RA^=$<<18|$>>>14,$=GA+JA|0,EA^=$<<7|$>>>25,$=EA+GA|0,CA^=$<<9|$>>>23,$=CA+EA|0,JA^=$<<13|$>>>19,$=JA+CA|0,GA^=$<<18|$>>>14,$=pA+hA|0,NA^=$<<7|$>>>25,$=NA+pA|0,fA^=$<<9|$>>>23,$=fA+NA|0,hA^=$<<13|$>>>19,$=hA+fA|0,pA^=$<<18|$>>>14,$=Ce+ue|0,Ae^=$<<7|$>>>25,$=Ae+Ce|0,Ee^=$<<9|$>>>23,$=Ee+Ae|0,ue^=$<<13|$>>>19,$=ue+Ee|0,Ce^=$<<18|$>>>14;RA=RA+z|0,OA=OA+sA|0,vA=vA+oA|0,KA=KA+uA|0,JA=JA+DA|0,GA=GA+bA|0,EA=EA+xA|0,CA=CA+Ie|0,fA=fA+SA|0,hA=hA+XA|0,pA=pA+se|0,NA=NA+ge|0,Ae=Ae+ie|0,Ee=Ee+te|0,ue=ue+oe|0,Ce=Ce+$A|0,F[0]=RA>>>0&255,F[1]=RA>>>8&255,F[2]=RA>>>16&255,F[3]=RA>>>24&255,F[4]=OA>>>0&255,F[5]=OA>>>8&255,F[6]=OA>>>16&255,F[7]=OA>>>24&255,F[8]=vA>>>0&255,F[9]=vA>>>8&255,F[10]=vA>>>16&255,F[11]=vA>>>24&255,F[12]=KA>>>0&255,F[13]=KA>>>8&255,F[14]=KA>>>16&255,F[15]=KA>>>24&255,F[16]=JA>>>0&255,F[17]=JA>>>8&255,F[18]=JA>>>16&255,F[19]=JA>>>24&255,F[20]=GA>>>0&255,F[21]=GA>>>8&255,F[22]=GA>>>16&255,F[23]=GA>>>24&255,F[24]=EA>>>0&255,F[25]=EA>>>8&255,F[26]=EA>>>16&255,F[27]=EA>>>24&255,F[28]=CA>>>0&255,F[29]=CA>>>8&255,F[30]=CA>>>16&255,F[31]=CA>>>24&255,F[32]=fA>>>0&255,F[33]=fA>>>8&255,F[34]=fA>>>16&255,F[35]=fA>>>24&255,F[36]=hA>>>0&255,F[37]=hA>>>8&255,F[38]=hA>>>16&255,F[39]=hA>>>24&255,F[40]=pA>>>0&255,F[41]=pA>>>8&255,F[42]=pA>>>16&255,F[43]=pA>>>24&255,F[44]=NA>>>0&255,F[45]=NA>>>8&255,F[46]=NA>>>16&255,F[47]=NA>>>24&255,F[48]=Ae>>>0&255,F[49]=Ae>>>8&255,F[50]=Ae>>>16&255,F[51]=Ae>>>24&255,F[52]=Ee>>>0&255,F[53]=Ee>>>8&255,F[54]=Ee>>>16&255,F[55]=Ee>>>24&255,F[56]=ue>>>0&255,F[57]=ue>>>8&255,F[58]=ue>>>16&255,F[59]=ue>>>24&255,F[60]=Ce>>>0&255,F[61]=Ce>>>8&255,F[62]=Ce>>>16&255,F[63]=Ce>>>24&255}function D(F,Y,P,m){for(var z=m[0]&255|(m[1]&255)<<8|(m[2]&255)<<16|(m[3]&255)<<24,sA=P[0]&255|(P[1]&255)<<8|(P[2]&255)<<16|(P[3]&255)<<24,oA=P[4]&255|(P[5]&255)<<8|(P[6]&255)<<16|(P[7]&255)<<24,uA=P[8]&255|(P[9]&255)<<8|(P[10]&255)<<16|(P[11]&255)<<24,DA=P[12]&255|(P[13]&255)<<8|(P[14]&255)<<16|(P[15]&255)<<24,bA=m[4]&255|(m[5]&255)<<8|(m[6]&255)<<16|(m[7]&255)<<24,xA=Y[0]&255|(Y[1]&255)<<8|(Y[2]&255)<<16|(Y[3]&255)<<24,Ie=Y[4]&255|(Y[5]&255)<<8|(Y[6]&255)<<16|(Y[7]&255)<<24,SA=Y[8]&255|(Y[9]&255)<<8|(Y[10]&255)<<16|(Y[11]&255)<<24,XA=Y[12]&255|(Y[13]&255)<<8|(Y[14]&255)<<16|(Y[15]&255)<<24,se=m[8]&255|(m[9]&255)<<8|(m[10]&255)<<16|(m[11]&255)<<24,ge=P[16]&255|(P[17]&255)<<8|(P[18]&255)<<16|(P[19]&255)<<24,ie=P[20]&255|(P[21]&255)<<8|(P[22]&255)<<16|(P[23]&255)<<24,te=P[24]&255|(P[25]&255)<<8|(P[26]&255)<<16|(P[27]&255)<<24,oe=P[28]&255|(P[29]&255)<<8|(P[30]&255)<<16|(P[31]&255)<<24,$A=m[12]&255|(m[13]&255)<<8|(m[14]&255)<<16|(m[15]&255)<<24,RA=z,OA=sA,vA=oA,KA=uA,JA=DA,GA=bA,EA=xA,CA=Ie,fA=SA,hA=XA,pA=se,NA=ge,Ae=ie,Ee=te,ue=oe,Ce=$A,$,xe=0;xe<20;xe+=2)$=RA+Ae|0,JA^=$<<7|$>>>25,$=JA+RA|0,fA^=$<<9|$>>>23,$=fA+JA|0,Ae^=$<<13|$>>>19,$=Ae+fA|0,RA^=$<<18|$>>>14,$=GA+OA|0,hA^=$<<7|$>>>25,$=hA+GA|0,Ee^=$<<9|$>>>23,$=Ee+hA|0,OA^=$<<13|$>>>19,$=OA+Ee|0,GA^=$<<18|$>>>14,$=pA+EA|0,ue^=$<<7|$>>>25,$=ue+pA|0,vA^=$<<9|$>>>23,$=vA+ue|0,EA^=$<<13|$>>>19,$=EA+vA|0,pA^=$<<18|$>>>14,$=Ce+NA|0,KA^=$<<7|$>>>25,$=KA+Ce|0,CA^=$<<9|$>>>23,$=CA+KA|0,NA^=$<<13|$>>>19,$=NA+CA|0,Ce^=$<<18|$>>>14,$=RA+KA|0,OA^=$<<7|$>>>25,$=OA+RA|0,vA^=$<<9|$>>>23,$=vA+OA|0,KA^=$<<13|$>>>19,$=KA+vA|0,RA^=$<<18|$>>>14,$=GA+JA|0,EA^=$<<7|$>>>25,$=EA+GA|0,CA^=$<<9|$>>>23,$=CA+EA|0,JA^=$<<13|$>>>19,$=JA+CA|0,GA^=$<<18|$>>>14,$=pA+hA|0,NA^=$<<7|$>>>25,$=NA+pA|0,fA^=$<<9|$>>>23,$=fA+NA|0,hA^=$<<13|$>>>19,$=hA+fA|0,pA^=$<<18|$>>>14,$=Ce+ue|0,Ae^=$<<7|$>>>25,$=Ae+Ce|0,Ee^=$<<9|$>>>23,$=Ee+Ae|0,ue^=$<<13|$>>>19,$=ue+Ee|0,Ce^=$<<18|$>>>14;F[0]=RA>>>0&255,F[1]=RA>>>8&255,F[2]=RA>>>16&255,F[3]=RA>>>24&255,F[4]=GA>>>0&255,F[5]=GA>>>8&255,F[6]=GA>>>16&255,F[7]=GA>>>24&255,F[8]=pA>>>0&255,F[9]=pA>>>8&255,F[10]=pA>>>16&255,F[11]=pA>>>24&255,F[12]=Ce>>>0&255,F[13]=Ce>>>8&255,F[14]=Ce>>>16&255,F[15]=Ce>>>24&255,F[16]=EA>>>0&255,F[17]=EA>>>8&255,F[18]=EA>>>16&255,F[19]=EA>>>24&255,F[20]=CA>>>0&255,F[21]=CA>>>8&255,F[22]=CA>>>16&255,F[23]=CA>>>24&255,F[24]=fA>>>0&255,F[25]=fA>>>8&255,F[26]=fA>>>16&255,F[27]=fA>>>24&255,F[28]=hA>>>0&255,F[29]=hA>>>8&255,F[30]=hA>>>16&255,F[31]=hA>>>24&255}function O(F,Y,P,m){v(F,Y,P,m)}function J(F,Y,P,m){D(F,Y,P,m)}var V=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function eA(F,Y,P,m,z,sA,oA){var uA=new Uint8Array(16),DA=new Uint8Array(64),bA,xA;for(xA=0;xA<16;xA++)uA[xA]=0;for(xA=0;xA<8;xA++)uA[xA]=sA[xA];for(;z>=64;){for(O(DA,uA,oA,V),xA=0;xA<64;xA++)F[Y+xA]=P[m+xA]^DA[xA];for(bA=1,xA=8;xA<16;xA++)bA=bA+(uA[xA]&255)|0,uA[xA]=bA&255,bA>>>=8;z-=64,Y+=64,m+=64}if(z>0)for(O(DA,uA,oA,V),xA=0;xA<z;xA++)F[Y+xA]=P[m+xA]^DA[xA];return 0}function X(F,Y,P,m,z){var sA=new Uint8Array(16),oA=new Uint8Array(64),uA,DA;for(DA=0;DA<16;DA++)sA[DA]=0;for(DA=0;DA<8;DA++)sA[DA]=m[DA];for(;P>=64;){for(O(oA,sA,z,V),DA=0;DA<64;DA++)F[Y+DA]=oA[DA];for(uA=1,DA=8;DA<16;DA++)uA=uA+(sA[DA]&255)|0,sA[DA]=uA&255,uA>>>=8;P-=64,Y+=64}if(P>0)for(O(oA,sA,z,V),DA=0;DA<P;DA++)F[Y+DA]=oA[DA];return 0}function K(F,Y,P,m,z){var sA=new Uint8Array(32);J(sA,m,z,V);for(var oA=new Uint8Array(8),uA=0;uA<8;uA++)oA[uA]=m[uA+16];return X(F,Y,P,oA,sA)}function W(F,Y,P,m,z,sA,oA){var uA=new Uint8Array(32);J(uA,sA,oA,V);for(var DA=new Uint8Array(8),bA=0;bA<8;bA++)DA[bA]=sA[bA+16];return eA(F,Y,P,m,z,DA,uA)}var T=function(F){this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0;var Y,P,m,z,sA,oA,uA,DA;Y=F[0]&255|(F[1]&255)<<8,this.r[0]=Y&8191,P=F[2]&255|(F[3]&255)<<8,this.r[1]=(Y>>>13|P<<3)&8191,m=F[4]&255|(F[5]&255)<<8,this.r[2]=(P>>>10|m<<6)&7939,z=F[6]&255|(F[7]&255)<<8,this.r[3]=(m>>>7|z<<9)&8191,sA=F[8]&255|(F[9]&255)<<8,this.r[4]=(z>>>4|sA<<12)&255,this.r[5]=sA>>>1&8190,oA=F[10]&255|(F[11]&255)<<8,this.r[6]=(sA>>>14|oA<<2)&8191,uA=F[12]&255|(F[13]&255)<<8,this.r[7]=(oA>>>11|uA<<5)&8065,DA=F[14]&255|(F[15]&255)<<8,this.r[8]=(uA>>>8|DA<<8)&8191,this.r[9]=DA>>>5&127,this.pad[0]=F[16]&255|(F[17]&255)<<8,this.pad[1]=F[18]&255|(F[19]&255)<<8,this.pad[2]=F[20]&255|(F[21]&255)<<8,this.pad[3]=F[22]&255|(F[23]&255)<<8,this.pad[4]=F[24]&255|(F[25]&255)<<8,this.pad[5]=F[26]&255|(F[27]&255)<<8,this.pad[6]=F[28]&255|(F[29]&255)<<8,this.pad[7]=F[30]&255|(F[31]&255)<<8};T.prototype.blocks=function(F,Y,P){for(var m=this.fin?0:2048,z,sA,oA,uA,DA,bA,xA,Ie,SA,XA,se,ge,ie,te,oe,$A,RA,OA,vA,KA=this.h[0],JA=this.h[1],GA=this.h[2],EA=this.h[3],CA=this.h[4],fA=this.h[5],hA=this.h[6],pA=this.h[7],NA=this.h[8],Ae=this.h[9],Ee=this.r[0],ue=this.r[1],Ce=this.r[2],$=this.r[3],xe=this.r[4],Re=this.r[5],Me=this.r[6],me=this.r[7],be=this.r[8],Ke=this.r[9];P>=16;)z=F[Y+0]&255|(F[Y+1]&255)<<8,KA+=z&8191,sA=F[Y+2]&255|(F[Y+3]&255)<<8,JA+=(z>>>13|sA<<3)&8191,oA=F[Y+4]&255|(F[Y+5]&255)<<8,GA+=(sA>>>10|oA<<6)&8191,uA=F[Y+6]&255|(F[Y+7]&255)<<8,EA+=(oA>>>7|uA<<9)&8191,DA=F[Y+8]&255|(F[Y+9]&255)<<8,CA+=(uA>>>4|DA<<12)&8191,fA+=DA>>>1&8191,bA=F[Y+10]&255|(F[Y+11]&255)<<8,hA+=(DA>>>14|bA<<2)&8191,xA=F[Y+12]&255|(F[Y+13]&255)<<8,pA+=(bA>>>11|xA<<5)&8191,Ie=F[Y+14]&255|(F[Y+15]&255)<<8,NA+=(xA>>>8|Ie<<8)&8191,Ae+=Ie>>>5|m,SA=0,XA=SA,XA+=KA*Ee,XA+=JA*(5*Ke),XA+=GA*(5*be),XA+=EA*(5*me),XA+=CA*(5*Me),SA=XA>>>13,XA&=8191,XA+=fA*(5*Re),XA+=hA*(5*xe),XA+=pA*(5*$),XA+=NA*(5*Ce),XA+=Ae*(5*ue),SA+=XA>>>13,XA&=8191,se=SA,se+=KA*ue,se+=JA*Ee,se+=GA*(5*Ke),se+=EA*(5*be),se+=CA*(5*me),SA=se>>>13,se&=8191,se+=fA*(5*Me),se+=hA*(5*Re),se+=pA*(5*xe),se+=NA*(5*$),se+=Ae*(5*Ce),SA+=se>>>13,se&=8191,ge=SA,ge+=KA*Ce,ge+=JA*ue,ge+=GA*Ee,ge+=EA*(5*Ke),ge+=CA*(5*be),SA=ge>>>13,ge&=8191,ge+=fA*(5*me),ge+=hA*(5*Me),ge+=pA*(5*Re),ge+=NA*(5*xe),ge+=Ae*(5*$),SA+=ge>>>13,ge&=8191,ie=SA,ie+=KA*$,ie+=JA*Ce,ie+=GA*ue,ie+=EA*Ee,ie+=CA*(5*Ke),SA=ie>>>13,ie&=8191,ie+=fA*(5*be),ie+=hA*(5*me),ie+=pA*(5*Me),ie+=NA*(5*Re),ie+=Ae*(5*xe),SA+=ie>>>13,ie&=8191,te=SA,te+=KA*xe,te+=JA*$,te+=GA*Ce,te+=EA*ue,te+=CA*Ee,SA=te>>>13,te&=8191,te+=fA*(5*Ke),te+=hA*(5*be),te+=pA*(5*me),te+=NA*(5*Me),te+=Ae*(5*Re),SA+=te>>>13,te&=8191,oe=SA,oe+=KA*Re,oe+=JA*xe,oe+=GA*$,oe+=EA*Ce,oe+=CA*ue,SA=oe>>>13,oe&=8191,oe+=fA*Ee,oe+=hA*(5*Ke),oe+=pA*(5*be),oe+=NA*(5*me),oe+=Ae*(5*Me),SA+=oe>>>13,oe&=8191,$A=SA,$A+=KA*Me,$A+=JA*Re,$A+=GA*xe,$A+=EA*$,$A+=CA*Ce,SA=$A>>>13,$A&=8191,$A+=fA*ue,$A+=hA*Ee,$A+=pA*(5*Ke),$A+=NA*(5*be),$A+=Ae*(5*me),SA+=$A>>>13,$A&=8191,RA=SA,RA+=KA*me,RA+=JA*Me,RA+=GA*Re,RA+=EA*xe,RA+=CA*$,SA=RA>>>13,RA&=8191,RA+=fA*Ce,RA+=hA*ue,RA+=pA*Ee,RA+=NA*(5*Ke),RA+=Ae*(5*be),SA+=RA>>>13,RA&=8191,OA=SA,OA+=KA*be,OA+=JA*me,OA+=GA*Me,OA+=EA*Re,OA+=CA*xe,SA=OA>>>13,OA&=8191,OA+=fA*$,OA+=hA*Ce,OA+=pA*ue,OA+=NA*Ee,OA+=Ae*(5*Ke),SA+=OA>>>13,OA&=8191,vA=SA,vA+=KA*Ke,vA+=JA*be,vA+=GA*me,vA+=EA*Me,vA+=CA*Re,SA=vA>>>13,vA&=8191,vA+=fA*xe,vA+=hA*$,vA+=pA*Ce,vA+=NA*ue,vA+=Ae*Ee,SA+=vA>>>13,vA&=8191,SA=(SA<<2)+SA|0,SA=SA+XA|0,XA=SA&8191,SA=SA>>>13,se+=SA,KA=XA,JA=se,GA=ge,EA=ie,CA=te,fA=oe,hA=$A,pA=RA,NA=OA,Ae=vA,Y+=16,P-=16;this.h[0]=KA,this.h[1]=JA,this.h[2]=GA,this.h[3]=EA,this.h[4]=CA,this.h[5]=fA,this.h[6]=hA,this.h[7]=pA,this.h[8]=NA,this.h[9]=Ae},T.prototype.finish=function(F,Y){var P=new Uint16Array(10),m,z,sA,oA;if(this.leftover){for(oA=this.leftover,this.buffer[oA++]=1;oA<16;oA++)this.buffer[oA]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(m=this.h[1]>>>13,this.h[1]&=8191,oA=2;oA<10;oA++)this.h[oA]+=m,m=this.h[oA]>>>13,this.h[oA]&=8191;for(this.h[0]+=m*5,m=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=m,m=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=m,P[0]=this.h[0]+5,m=P[0]>>>13,P[0]&=8191,oA=1;oA<10;oA++)P[oA]=this.h[oA]+m,m=P[oA]>>>13,P[oA]&=8191;for(P[9]-=8192,z=(m^1)-1,oA=0;oA<10;oA++)P[oA]&=z;for(z=~z,oA=0;oA<10;oA++)this.h[oA]=this.h[oA]&z|P[oA];for(this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,sA=this.h[0]+this.pad[0],this.h[0]=sA&65535,oA=1;oA<8;oA++)sA=(this.h[oA]+this.pad[oA]|0)+(sA>>>16)|0,this.h[oA]=sA&65535;F[Y+0]=this.h[0]>>>0&255,F[Y+1]=this.h[0]>>>8&255,F[Y+2]=this.h[1]>>>0&255,F[Y+3]=this.h[1]>>>8&255,F[Y+4]=this.h[2]>>>0&255,F[Y+5]=this.h[2]>>>8&255,F[Y+6]=this.h[3]>>>0&255,F[Y+7]=this.h[3]>>>8&255,F[Y+8]=this.h[4]>>>0&255,F[Y+9]=this.h[4]>>>8&255,F[Y+10]=this.h[5]>>>0&255,F[Y+11]=this.h[5]>>>8&255,F[Y+12]=this.h[6]>>>0&255,F[Y+13]=this.h[6]>>>8&255,F[Y+14]=this.h[7]>>>0&255,F[Y+15]=this.h[7]>>>8&255},T.prototype.update=function(F,Y,P){var m,z;if(this.leftover){for(z=16-this.leftover,z>P&&(z=P),m=0;m<z;m++)this.buffer[this.leftover+m]=F[Y+m];if(P-=z,Y+=z,this.leftover+=z,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(P>=16&&(z=P-P%16,this.blocks(F,Y,z),Y+=z,P-=z),P){for(m=0;m<P;m++)this.buffer[this.leftover+m]=F[Y+m];this.leftover+=P}};function L(F,Y,P,m,z,sA){var oA=new T(sA);return oA.update(P,m,z),oA.finish(F,Y),0}function w(F,Y,P,m,z,sA){var oA=new Uint8Array(16);return L(oA,0,P,m,z,sA),h(F,Y,oA,0)}function B(F,Y,P,m,z){var sA;if(P<32)return-1;for(W(F,0,Y,0,P,m,z),L(F,16,F,32,P-32,F),sA=0;sA<16;sA++)F[sA]=0;return 0}function d(F,Y,P,m,z){var sA,oA=new Uint8Array(32);if(P<32||(K(oA,0,32,m,z),w(Y,16,Y,32,P-32,oA)!==0))return-1;for(W(F,0,Y,0,P,m,z),sA=0;sA<32;sA++)F[sA]=0;return 0}function N(F,Y){var P;for(P=0;P<16;P++)F[P]=Y[P]|0}function G(F){var Y,P,m=1;for(Y=0;Y<16;Y++)P=F[Y]+m+65535,m=Math.floor(P/65536),F[Y]=P-m*65536;F[0]+=m-1+37*(m-1)}function S(F,Y,P){for(var m,z=~(P-1),sA=0;sA<16;sA++)m=z&(F[sA]^Y[sA]),F[sA]^=m,Y[sA]^=m}function j(F,Y){var P,m,z,sA=t(),oA=t();for(P=0;P<16;P++)oA[P]=Y[P];for(G(oA),G(oA),G(oA),m=0;m<2;m++){for(sA[0]=oA[0]-65517,P=1;P<15;P++)sA[P]=oA[P]-65535-(sA[P-1]>>16&1),sA[P-1]&=65535;sA[15]=oA[15]-32767-(sA[14]>>16&1),z=sA[15]>>16&1,sA[14]&=65535,S(oA,sA,1-z)}for(P=0;P<16;P++)F[2*P]=oA[P]&255,F[2*P+1]=oA[P]>>8}function H(F,Y){var P=new Uint8Array(32),m=new Uint8Array(32);return j(P,F),j(m,Y),k(P,0,m,0)}function b(F){var Y=new Uint8Array(32);return j(Y,F),Y[0]&1}function E(F,Y){var P;for(P=0;P<16;P++)F[P]=Y[2*P]+(Y[2*P+1]<<8);F[15]&=32767}function p(F,Y,P){for(var m=0;m<16;m++)F[m]=Y[m]+P[m]}function U(F,Y,P){for(var m=0;m<16;m++)F[m]=Y[m]-P[m]}function R(F,Y,P){var m,z,sA=0,oA=0,uA=0,DA=0,bA=0,xA=0,Ie=0,SA=0,XA=0,se=0,ge=0,ie=0,te=0,oe=0,$A=0,RA=0,OA=0,vA=0,KA=0,JA=0,GA=0,EA=0,CA=0,fA=0,hA=0,pA=0,NA=0,Ae=0,Ee=0,ue=0,Ce=0,$=P[0],xe=P[1],Re=P[2],Me=P[3],me=P[4],be=P[5],Ke=P[6],gt=P[7],We=P[8],et=P[9],it=P[10],st=P[11],Et=P[12],pt=P[13],yt=P[14],aA=P[15];m=Y[0],sA+=m*$,oA+=m*xe,uA+=m*Re,DA+=m*Me,bA+=m*me,xA+=m*be,Ie+=m*Ke,SA+=m*gt,XA+=m*We,se+=m*et,ge+=m*it,ie+=m*st,te+=m*Et,oe+=m*pt,$A+=m*yt,RA+=m*aA,m=Y[1],oA+=m*$,uA+=m*xe,DA+=m*Re,bA+=m*Me,xA+=m*me,Ie+=m*be,SA+=m*Ke,XA+=m*gt,se+=m*We,ge+=m*et,ie+=m*it,te+=m*st,oe+=m*Et,$A+=m*pt,RA+=m*yt,OA+=m*aA,m=Y[2],uA+=m*$,DA+=m*xe,bA+=m*Re,xA+=m*Me,Ie+=m*me,SA+=m*be,XA+=m*Ke,se+=m*gt,ge+=m*We,ie+=m*et,te+=m*it,oe+=m*st,$A+=m*Et,RA+=m*pt,OA+=m*yt,vA+=m*aA,m=Y[3],DA+=m*$,bA+=m*xe,xA+=m*Re,Ie+=m*Me,SA+=m*me,XA+=m*be,se+=m*Ke,ge+=m*gt,ie+=m*We,te+=m*et,oe+=m*it,$A+=m*st,RA+=m*Et,OA+=m*pt,vA+=m*yt,KA+=m*aA,m=Y[4],bA+=m*$,xA+=m*xe,Ie+=m*Re,SA+=m*Me,XA+=m*me,se+=m*be,ge+=m*Ke,ie+=m*gt,te+=m*We,oe+=m*et,$A+=m*it,RA+=m*st,OA+=m*Et,vA+=m*pt,KA+=m*yt,JA+=m*aA,m=Y[5],xA+=m*$,Ie+=m*xe,SA+=m*Re,XA+=m*Me,se+=m*me,ge+=m*be,ie+=m*Ke,te+=m*gt,oe+=m*We,$A+=m*et,RA+=m*it,OA+=m*st,vA+=m*Et,KA+=m*pt,JA+=m*yt,GA+=m*aA,m=Y[6],Ie+=m*$,SA+=m*xe,XA+=m*Re,se+=m*Me,ge+=m*me,ie+=m*be,te+=m*Ke,oe+=m*gt,$A+=m*We,RA+=m*et,OA+=m*it,vA+=m*st,KA+=m*Et,JA+=m*pt,GA+=m*yt,EA+=m*aA,m=Y[7],SA+=m*$,XA+=m*xe,se+=m*Re,ge+=m*Me,ie+=m*me,te+=m*be,oe+=m*Ke,$A+=m*gt,RA+=m*We,OA+=m*et,vA+=m*it,KA+=m*st,JA+=m*Et,GA+=m*pt,EA+=m*yt,CA+=m*aA,m=Y[8],XA+=m*$,se+=m*xe,ge+=m*Re,ie+=m*Me,te+=m*me,oe+=m*be,$A+=m*Ke,RA+=m*gt,OA+=m*We,vA+=m*et,KA+=m*it,JA+=m*st,GA+=m*Et,EA+=m*pt,CA+=m*yt,fA+=m*aA,m=Y[9],se+=m*$,ge+=m*xe,ie+=m*Re,te+=m*Me,oe+=m*me,$A+=m*be,RA+=m*Ke,OA+=m*gt,vA+=m*We,KA+=m*et,JA+=m*it,GA+=m*st,EA+=m*Et,CA+=m*pt,fA+=m*yt,hA+=m*aA,m=Y[10],ge+=m*$,ie+=m*xe,te+=m*Re,oe+=m*Me,$A+=m*me,RA+=m*be,OA+=m*Ke,vA+=m*gt,KA+=m*We,JA+=m*et,GA+=m*it,EA+=m*st,CA+=m*Et,fA+=m*pt,hA+=m*yt,pA+=m*aA,m=Y[11],ie+=m*$,te+=m*xe,oe+=m*Re,$A+=m*Me,RA+=m*me,OA+=m*be,vA+=m*Ke,KA+=m*gt,JA+=m*We,GA+=m*et,EA+=m*it,CA+=m*st,fA+=m*Et,hA+=m*pt,pA+=m*yt,NA+=m*aA,m=Y[12],te+=m*$,oe+=m*xe,$A+=m*Re,RA+=m*Me,OA+=m*me,vA+=m*be,KA+=m*Ke,JA+=m*gt,GA+=m*We,EA+=m*et,CA+=m*it,fA+=m*st,hA+=m*Et,pA+=m*pt,NA+=m*yt,Ae+=m*aA,m=Y[13],oe+=m*$,$A+=m*xe,RA+=m*Re,OA+=m*Me,vA+=m*me,KA+=m*be,JA+=m*Ke,GA+=m*gt,EA+=m*We,CA+=m*et,fA+=m*it,hA+=m*st,pA+=m*Et,NA+=m*pt,Ae+=m*yt,Ee+=m*aA,m=Y[14],$A+=m*$,RA+=m*xe,OA+=m*Re,vA+=m*Me,KA+=m*me,JA+=m*be,GA+=m*Ke,EA+=m*gt,CA+=m*We,fA+=m*et,hA+=m*it,pA+=m*st,NA+=m*Et,Ae+=m*pt,Ee+=m*yt,ue+=m*aA,m=Y[15],RA+=m*$,OA+=m*xe,vA+=m*Re,KA+=m*Me,JA+=m*me,GA+=m*be,EA+=m*Ke,CA+=m*gt,fA+=m*We,hA+=m*et,pA+=m*it,NA+=m*st,Ae+=m*Et,Ee+=m*pt,ue+=m*yt,Ce+=m*aA,sA+=38*OA,oA+=38*vA,uA+=38*KA,DA+=38*JA,bA+=38*GA,xA+=38*EA,Ie+=38*CA,SA+=38*fA,XA+=38*hA,se+=38*pA,ge+=38*NA,ie+=38*Ae,te+=38*Ee,oe+=38*ue,$A+=38*Ce,z=1,m=sA+z+65535,z=Math.floor(m/65536),sA=m-z*65536,m=oA+z+65535,z=Math.floor(m/65536),oA=m-z*65536,m=uA+z+65535,z=Math.floor(m/65536),uA=m-z*65536,m=DA+z+65535,z=Math.floor(m/65536),DA=m-z*65536,m=bA+z+65535,z=Math.floor(m/65536),bA=m-z*65536,m=xA+z+65535,z=Math.floor(m/65536),xA=m-z*65536,m=Ie+z+65535,z=Math.floor(m/65536),Ie=m-z*65536,m=SA+z+65535,z=Math.floor(m/65536),SA=m-z*65536,m=XA+z+65535,z=Math.floor(m/65536),XA=m-z*65536,m=se+z+65535,z=Math.floor(m/65536),se=m-z*65536,m=ge+z+65535,z=Math.floor(m/65536),ge=m-z*65536,m=ie+z+65535,z=Math.floor(m/65536),ie=m-z*65536,m=te+z+65535,z=Math.floor(m/65536),te=m-z*65536,m=oe+z+65535,z=Math.floor(m/65536),oe=m-z*65536,m=$A+z+65535,z=Math.floor(m/65536),$A=m-z*65536,m=RA+z+65535,z=Math.floor(m/65536),RA=m-z*65536,sA+=z-1+37*(z-1),z=1,m=sA+z+65535,z=Math.floor(m/65536),sA=m-z*65536,m=oA+z+65535,z=Math.floor(m/65536),oA=m-z*65536,m=uA+z+65535,z=Math.floor(m/65536),uA=m-z*65536,m=DA+z+65535,z=Math.floor(m/65536),DA=m-z*65536,m=bA+z+65535,z=Math.floor(m/65536),bA=m-z*65536,m=xA+z+65535,z=Math.floor(m/65536),xA=m-z*65536,m=Ie+z+65535,z=Math.floor(m/65536),Ie=m-z*65536,m=SA+z+65535,z=Math.floor(m/65536),SA=m-z*65536,m=XA+z+65535,z=Math.floor(m/65536),XA=m-z*65536,m=se+z+65535,z=Math.floor(m/65536),se=m-z*65536,m=ge+z+65535,z=Math.floor(m/65536),ge=m-z*65536,m=ie+z+65535,z=Math.floor(m/65536),ie=m-z*65536,m=te+z+65535,z=Math.floor(m/65536),te=m-z*65536,m=oe+z+65535,z=Math.floor(m/65536),oe=m-z*65536,m=$A+z+65535,z=Math.floor(m/65536),$A=m-z*65536,m=RA+z+65535,z=Math.floor(m/65536),RA=m-z*65536,sA+=z-1+37*(z-1),F[0]=sA,F[1]=oA,F[2]=uA,F[3]=DA,F[4]=bA,F[5]=xA,F[6]=Ie,F[7]=SA,F[8]=XA,F[9]=se,F[10]=ge,F[11]=ie,F[12]=te,F[13]=oe,F[14]=$A,F[15]=RA}function _(F,Y){R(F,Y,Y)}function tA(F,Y){var P=t(),m;for(m=0;m<16;m++)P[m]=Y[m];for(m=253;m>=0;m--)_(P,P),m!==2&&m!==4&&R(P,P,Y);for(m=0;m<16;m++)F[m]=P[m]}function IA(F,Y){var P=t(),m;for(m=0;m<16;m++)P[m]=Y[m];for(m=250;m>=0;m--)_(P,P),m!==1&&R(P,P,Y);for(m=0;m<16;m++)F[m]=P[m]}function iA(F,Y,P){var m=new Uint8Array(32),z=new Float64Array(80),sA,oA,uA=t(),DA=t(),bA=t(),xA=t(),Ie=t(),SA=t();for(oA=0;oA<31;oA++)m[oA]=Y[oA];for(m[31]=Y[31]&127|64,m[0]&=248,E(z,P),oA=0;oA<16;oA++)DA[oA]=z[oA],xA[oA]=uA[oA]=bA[oA]=0;for(uA[0]=xA[0]=1,oA=254;oA>=0;--oA)sA=m[oA>>>3]>>>(oA&7)&1,S(uA,DA,sA),S(bA,xA,sA),p(Ie,uA,bA),U(uA,uA,bA),p(bA,DA,xA),U(DA,DA,xA),_(xA,Ie),_(SA,uA),R(uA,bA,uA),R(bA,DA,Ie),p(Ie,uA,bA),U(uA,uA,bA),_(DA,uA),U(bA,xA,SA),R(uA,bA,g),p(uA,uA,xA),R(bA,bA,uA),R(uA,xA,SA),R(xA,DA,z),_(DA,Ie),S(uA,DA,sA),S(bA,xA,sA);for(oA=0;oA<16;oA++)z[oA+16]=uA[oA],z[oA+32]=bA[oA],z[oA+48]=DA[oA],z[oA+64]=xA[oA];var XA=z.subarray(32),se=z.subarray(16);return tA(XA,XA),R(se,se,XA),j(F,se),0}function UA(F,Y){return iA(F,Y,r)}function HA(F,Y){return s(Y,32),UA(F,Y)}function lA(F,Y,P){var m=new Uint8Array(32);return iA(m,P,Y),J(F,n,m,V)}var qA=B,re=d;function he(F,Y,P,m,z,sA){var oA=new Uint8Array(32);return lA(oA,z,sA),qA(F,Y,P,m,oA)}function kA(F,Y,P,m,z,sA){var oA=new Uint8Array(32);return lA(oA,z,sA),re(F,Y,P,m,oA)}var VA=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function ae(F,Y,P,m){for(var z=new Int32Array(16),sA=new Int32Array(16),oA,uA,DA,bA,xA,Ie,SA,XA,se,ge,ie,te,oe,$A,RA,OA,vA,KA,JA,GA,EA,CA,fA,hA,pA,NA,Ae=F[0],Ee=F[1],ue=F[2],Ce=F[3],$=F[4],xe=F[5],Re=F[6],Me=F[7],me=Y[0],be=Y[1],Ke=Y[2],gt=Y[3],We=Y[4],et=Y[5],it=Y[6],st=Y[7],Et=0;m>=128;){for(JA=0;JA<16;JA++)GA=8*JA+Et,z[JA]=P[GA+0]<<24|P[GA+1]<<16|P[GA+2]<<8|P[GA+3],sA[JA]=P[GA+4]<<24|P[GA+5]<<16|P[GA+6]<<8|P[GA+7];for(JA=0;JA<80;JA++)if(oA=Ae,uA=Ee,DA=ue,bA=Ce,xA=$,Ie=xe,SA=Re,XA=Me,se=me,ge=be,ie=Ke,te=gt,oe=We,$A=et,RA=it,OA=st,EA=Me,CA=st,fA=CA&65535,hA=CA>>>16,pA=EA&65535,NA=EA>>>16,EA=($>>>14|We<<18)^($>>>18|We<<14)^(We>>>9|$<<23),CA=(We>>>14|$<<18)^(We>>>18|$<<14)^($>>>9|We<<23),fA+=CA&65535,hA+=CA>>>16,pA+=EA&65535,NA+=EA>>>16,EA=$&xe^~$&Re,CA=We&et^~We&it,fA+=CA&65535,hA+=CA>>>16,pA+=EA&65535,NA+=EA>>>16,EA=VA[JA*2],CA=VA[JA*2+1],fA+=CA&65535,hA+=CA>>>16,pA+=EA&65535,NA+=EA>>>16,EA=z[JA%16],CA=sA[JA%16],fA+=CA&65535,hA+=CA>>>16,pA+=EA&65535,NA+=EA>>>16,hA+=fA>>>16,pA+=hA>>>16,NA+=pA>>>16,vA=pA&65535|NA<<16,KA=fA&65535|hA<<16,EA=vA,CA=KA,fA=CA&65535,hA=CA>>>16,pA=EA&65535,NA=EA>>>16,EA=(Ae>>>28|me<<4)^(me>>>2|Ae<<30)^(me>>>7|Ae<<25),CA=(me>>>28|Ae<<4)^(Ae>>>2|me<<30)^(Ae>>>7|me<<25),fA+=CA&65535,hA+=CA>>>16,pA+=EA&65535,NA+=EA>>>16,EA=Ae&Ee^Ae&ue^Ee&ue,CA=me&be^me&Ke^be&Ke,fA+=CA&65535,hA+=CA>>>16,pA+=EA&65535,NA+=EA>>>16,hA+=fA>>>16,pA+=hA>>>16,NA+=pA>>>16,XA=pA&65535|NA<<16,OA=fA&65535|hA<<16,EA=bA,CA=te,fA=CA&65535,hA=CA>>>16,pA=EA&65535,NA=EA>>>16,EA=vA,CA=KA,fA+=CA&65535,hA+=CA>>>16,pA+=EA&65535,NA+=EA>>>16,hA+=fA>>>16,pA+=hA>>>16,NA+=pA>>>16,bA=pA&65535|NA<<16,te=fA&65535|hA<<16,Ee=oA,ue=uA,Ce=DA,$=bA,xe=xA,Re=Ie,Me=SA,Ae=XA,be=se,Ke=ge,gt=ie,We=te,et=oe,it=$A,st=RA,me=OA,JA%16===15)for(GA=0;GA<16;GA++)EA=z[GA],CA=sA[GA],fA=CA&65535,hA=CA>>>16,pA=EA&65535,NA=EA>>>16,EA=z[(GA+9)%16],CA=sA[(GA+9)%16],fA+=CA&65535,hA+=CA>>>16,pA+=EA&65535,NA+=EA>>>16,vA=z[(GA+1)%16],KA=sA[(GA+1)%16],EA=(vA>>>1|KA<<31)^(vA>>>8|KA<<24)^vA>>>7,CA=(KA>>>1|vA<<31)^(KA>>>8|vA<<24)^(KA>>>7|vA<<25),fA+=CA&65535,hA+=CA>>>16,pA+=EA&65535,NA+=EA>>>16,vA=z[(GA+14)%16],KA=sA[(GA+14)%16],EA=(vA>>>19|KA<<13)^(KA>>>29|vA<<3)^vA>>>6,CA=(KA>>>19|vA<<13)^(vA>>>29|KA<<3)^(KA>>>6|vA<<26),fA+=CA&65535,hA+=CA>>>16,pA+=EA&65535,NA+=EA>>>16,hA+=fA>>>16,pA+=hA>>>16,NA+=pA>>>16,z[GA]=pA&65535|NA<<16,sA[GA]=fA&65535|hA<<16;EA=Ae,CA=me,fA=CA&65535,hA=CA>>>16,pA=EA&65535,NA=EA>>>16,EA=F[0],CA=Y[0],fA+=CA&65535,hA+=CA>>>16,pA+=EA&65535,NA+=EA>>>16,hA+=fA>>>16,pA+=hA>>>16,NA+=pA>>>16,F[0]=Ae=pA&65535|NA<<16,Y[0]=me=fA&65535|hA<<16,EA=Ee,CA=be,fA=CA&65535,hA=CA>>>16,pA=EA&65535,NA=EA>>>16,EA=F[1],CA=Y[1],fA+=CA&65535,hA+=CA>>>16,pA+=EA&65535,NA+=EA>>>16,hA+=fA>>>16,pA+=hA>>>16,NA+=pA>>>16,F[1]=Ee=pA&65535|NA<<16,Y[1]=be=fA&65535|hA<<16,EA=ue,CA=Ke,fA=CA&65535,hA=CA>>>16,pA=EA&65535,NA=EA>>>16,EA=F[2],CA=Y[2],fA+=CA&65535,hA+=CA>>>16,pA+=EA&65535,NA+=EA>>>16,hA+=fA>>>16,pA+=hA>>>16,NA+=pA>>>16,F[2]=ue=pA&65535|NA<<16,Y[2]=Ke=fA&65535|hA<<16,EA=Ce,CA=gt,fA=CA&65535,hA=CA>>>16,pA=EA&65535,NA=EA>>>16,EA=F[3],CA=Y[3],fA+=CA&65535,hA+=CA>>>16,pA+=EA&65535,NA+=EA>>>16,hA+=fA>>>16,pA+=hA>>>16,NA+=pA>>>16,F[3]=Ce=pA&65535|NA<<16,Y[3]=gt=fA&65535|hA<<16,EA=$,CA=We,fA=CA&65535,hA=CA>>>16,pA=EA&65535,NA=EA>>>16,EA=F[4],CA=Y[4],fA+=CA&65535,hA+=CA>>>16,pA+=EA&65535,NA+=EA>>>16,hA+=fA>>>16,pA+=hA>>>16,NA+=pA>>>16,F[4]=$=pA&65535|NA<<16,Y[4]=We=fA&65535|hA<<16,EA=xe,CA=et,fA=CA&65535,hA=CA>>>16,pA=EA&65535,NA=EA>>>16,EA=F[5],CA=Y[5],fA+=CA&65535,hA+=CA>>>16,pA+=EA&65535,NA+=EA>>>16,hA+=fA>>>16,pA+=hA>>>16,NA+=pA>>>16,F[5]=xe=pA&65535|NA<<16,Y[5]=et=fA&65535|hA<<16,EA=Re,CA=it,fA=CA&65535,hA=CA>>>16,pA=EA&65535,NA=EA>>>16,EA=F[6],CA=Y[6],fA+=CA&65535,hA+=CA>>>16,pA+=EA&65535,NA+=EA>>>16,hA+=fA>>>16,pA+=hA>>>16,NA+=pA>>>16,F[6]=Re=pA&65535|NA<<16,Y[6]=it=fA&65535|hA<<16,EA=Me,CA=st,fA=CA&65535,hA=CA>>>16,pA=EA&65535,NA=EA>>>16,EA=F[7],CA=Y[7],fA+=CA&65535,hA+=CA>>>16,pA+=EA&65535,NA+=EA>>>16,hA+=fA>>>16,pA+=hA>>>16,NA+=pA>>>16,F[7]=Me=pA&65535|NA<<16,Y[7]=st=fA&65535|hA<<16,Et+=128,m-=128}return m}function He(F,Y,P){var m=new Int32Array(8),z=new Int32Array(8),sA=new Uint8Array(256),oA,uA=P;for(m[0]=1779033703,m[1]=3144134277,m[2]=1013904242,m[3]=2773480762,m[4]=1359893119,m[5]=2600822924,m[6]=528734635,m[7]=1541459225,z[0]=4089235720,z[1]=2227873595,z[2]=4271175723,z[3]=1595750129,z[4]=2917565137,z[5]=725511199,z[6]=4215389547,z[7]=327033209,ae(m,z,Y,P),P%=128,oA=0;oA<P;oA++)sA[oA]=Y[uA-P+oA];for(sA[P]=128,P=256-128*(P<112?1:0),sA[P-9]=0,u(sA,P-8,uA/536870912|0,uA<<3),ae(m,z,sA,P),oA=0;oA<8;oA++)u(F,8*oA,m[oA],z[oA]);return 0}function le(F,Y){var P=t(),m=t(),z=t(),sA=t(),oA=t(),uA=t(),DA=t(),bA=t(),xA=t();U(P,F[1],F[0]),U(xA,Y[1],Y[0]),R(P,P,xA),p(m,F[0],F[1]),p(xA,Y[0],Y[1]),R(m,m,xA),R(z,F[3],Y[3]),R(z,z,l),R(sA,F[2],Y[2]),p(sA,sA,sA),U(oA,m,P),U(uA,sA,z),p(DA,sA,z),p(bA,m,P),R(F[0],oA,uA),R(F[1],bA,DA),R(F[2],DA,uA),R(F[3],oA,bA)}function Ge(F,Y,P){var m;for(m=0;m<4;m++)S(F[m],Y[m],P)}function nt(F,Y){var P=t(),m=t(),z=t();tA(z,Y[2]),R(P,Y[0],z),R(m,Y[1],z),j(F,m),F[31]^=b(P)<<7}function ve(F,Y,P){var m,z;for(N(F[0],i),N(F[1],a),N(F[2],a),N(F[3],i),z=255;z>=0;--z)m=P[z/8|0]>>(z&7)&1,Ge(F,Y,m),le(Y,F),le(F,F),Ge(F,Y,m)}function yA(F,Y){var P=[t(),t(),t(),t()];N(P[0],C),N(P[1],I),N(P[2],a),R(P[3],C,I),ve(F,P,Y)}function pe(F,Y,P){var m=new Uint8Array(64),z=[t(),t(),t(),t()],sA;for(P||s(Y,32),He(m,Y,32),m[0]&=248,m[31]&=127,m[31]|=64,yA(z,m),nt(F,z),sA=0;sA<32;sA++)Y[sA+32]=F[sA];return 0}var YA=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function q(F,Y){var P,m,z,sA;for(m=63;m>=32;--m){for(P=0,z=m-32,sA=m-12;z<sA;++z)Y[z]+=P-16*Y[m]*YA[z-(m-32)],P=Math.floor((Y[z]+128)/256),Y[z]-=P*256;Y[z]+=P,Y[m]=0}for(P=0,z=0;z<32;z++)Y[z]+=P-(Y[31]>>4)*YA[z],P=Y[z]>>8,Y[z]&=255;for(z=0;z<32;z++)Y[z]-=P*YA[z];for(m=0;m<32;m++)Y[m+1]+=Y[m]>>8,F[m]=Y[m]&255}function y(F){var Y=new Float64Array(64),P;for(P=0;P<64;P++)Y[P]=F[P];for(P=0;P<64;P++)F[P]=0;q(F,Y)}function M(F,Y,P,m){var z=new Uint8Array(64),sA=new Uint8Array(64),oA=new Uint8Array(64),uA,DA,bA=new Float64Array(64),xA=[t(),t(),t(),t()];He(z,m,32),z[0]&=248,z[31]&=127,z[31]|=64;var Ie=P+64;for(uA=0;uA<P;uA++)F[64+uA]=Y[uA];for(uA=0;uA<32;uA++)F[32+uA]=z[32+uA];for(He(oA,F.subarray(32),P+32),y(oA),yA(xA,oA),nt(F,xA),uA=32;uA<64;uA++)F[uA]=m[uA];for(He(sA,F,P+64),y(sA),uA=0;uA<64;uA++)bA[uA]=0;for(uA=0;uA<32;uA++)bA[uA]=oA[uA];for(uA=0;uA<32;uA++)for(DA=0;DA<32;DA++)bA[uA+DA]+=sA[uA]*z[DA];return q(F.subarray(32),bA),Ie}function Z(F,Y){var P=t(),m=t(),z=t(),sA=t(),oA=t(),uA=t(),DA=t();return N(F[2],a),E(F[1],Y),_(z,F[1]),R(sA,z,Q),U(z,z,F[2]),p(sA,F[2],sA),_(oA,sA),_(uA,oA),R(DA,uA,oA),R(P,DA,z),R(P,P,sA),IA(P,P),R(P,P,z),R(P,P,sA),R(P,P,sA),R(F[0],P,sA),_(m,F[0]),R(m,m,sA),H(m,z)&&R(F[0],F[0],c),_(m,F[0]),R(m,m,sA),H(m,z)?-1:(b(F[0])===Y[31]>>7&&U(F[0],i,F[0]),R(F[3],F[0],F[1]),0)}function AA(F,Y,P,m){var z,sA=new Uint8Array(32),oA=new Uint8Array(64),uA=[t(),t(),t(),t()],DA=[t(),t(),t(),t()];if(P<64||Z(DA,m))return-1;for(z=0;z<P;z++)F[z]=Y[z];for(z=0;z<32;z++)F[z+32]=m[z];if(He(oA,F,P),y(oA),ve(uA,DA,oA),yA(DA,Y.subarray(32)),le(uA,DA),nt(sA,uA),P-=64,k(Y,0,sA,0)){for(z=0;z<P;z++)F[z]=0;return-1}for(z=0;z<P;z++)F[z]=Y[z+64];return P}var nA=32,cA=24,zA=32,PA=16,ZA=32,Se=32,WA=32,De=32,Pt=32,Je=cA,Pe=zA,So=PA,ce=64,Ue=32,Wt=64,Oe=32,_e=64;e.lowlevel={crypto_core_hsalsa20:J,crypto_stream_xor:W,crypto_stream:K,crypto_stream_salsa20_xor:eA,crypto_stream_salsa20:X,crypto_onetimeauth:L,crypto_onetimeauth_verify:w,crypto_verify_16:h,crypto_verify_32:k,crypto_secretbox:B,crypto_secretbox_open:d,crypto_scalarmult:iA,crypto_scalarmult_base:UA,crypto_box_beforenm:lA,crypto_box_afternm:qA,crypto_box:he,crypto_box_open:kA,crypto_box_keypair:HA,crypto_hash:He,crypto_sign:M,crypto_sign_keypair:pe,crypto_sign_open:AA,crypto_secretbox_KEYBYTES:nA,crypto_secretbox_NONCEBYTES:cA,crypto_secretbox_ZEROBYTES:zA,crypto_secretbox_BOXZEROBYTES:PA,crypto_scalarmult_BYTES:ZA,crypto_scalarmult_SCALARBYTES:Se,crypto_box_PUBLICKEYBYTES:WA,crypto_box_SECRETKEYBYTES:De,crypto_box_BEFORENMBYTES:Pt,crypto_box_NONCEBYTES:Je,crypto_box_ZEROBYTES:Pe,crypto_box_BOXZEROBYTES:So,crypto_sign_BYTES:ce,crypto_sign_PUBLICKEYBYTES:Ue,crypto_sign_SECRETKEYBYTES:Wt,crypto_sign_SEEDBYTES:Oe,crypto_hash_BYTES:_e,gf:t,D:Q,L:YA,pack25519:j,unpack25519:E,M:R,A:p,S:_,Z:U,pow2523:IA,add:le,set25519:N,modL:q,scalarmult:ve,scalarbase:yA};function _A(F,Y){if(F.length!==nA)throw new Error("bad key size");if(Y.length!==cA)throw new Error("bad nonce size")}function ye(F,Y){if(F.length!==WA)throw new Error("bad public key size");if(Y.length!==De)throw new Error("bad secret key size")}function fe(){for(var F=0;F<arguments.length;F++)if(!(arguments[F]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function Uo(F){for(var Y=0;Y<F.length;Y++)F[Y]=0}e.randomBytes=function(F){var Y=new Uint8Array(F);return s(Y,F),Y},e.secretbox=function(F,Y,P){fe(F,Y,P),_A(P,Y);for(var m=new Uint8Array(zA+F.length),z=new Uint8Array(m.length),sA=0;sA<F.length;sA++)m[sA+zA]=F[sA];return B(z,m,m.length,Y,P),z.subarray(PA)},e.secretbox.open=function(F,Y,P){fe(F,Y,P),_A(P,Y);for(var m=new Uint8Array(PA+F.length),z=new Uint8Array(m.length),sA=0;sA<F.length;sA++)m[sA+PA]=F[sA];return m.length<32||d(z,m,m.length,Y,P)!==0?null:z.subarray(zA)},e.secretbox.keyLength=nA,e.secretbox.nonceLength=cA,e.secretbox.overheadLength=PA,e.scalarMult=function(F,Y){if(fe(F,Y),F.length!==Se)throw new Error("bad n size");if(Y.length!==ZA)throw new Error("bad p size");var P=new Uint8Array(ZA);return iA(P,F,Y),P},e.scalarMult.base=function(F){if(fe(F),F.length!==Se)throw new Error("bad n size");var Y=new Uint8Array(ZA);return UA(Y,F),Y},e.scalarMult.scalarLength=Se,e.scalarMult.groupElementLength=ZA,e.box=function(F,Y,P,m){var z=e.box.before(P,m);return e.secretbox(F,Y,z)},e.box.before=function(F,Y){fe(F,Y),ye(F,Y);var P=new Uint8Array(Pt);return lA(P,F,Y),P},e.box.after=e.secretbox,e.box.open=function(F,Y,P,m){var z=e.box.before(P,m);return e.secretbox.open(F,Y,z)},e.box.open.after=e.secretbox.open,e.box.keyPair=function(){var F=new Uint8Array(WA),Y=new Uint8Array(De);return HA(F,Y),{publicKey:F,secretKey:Y}},e.box.keyPair.fromSecretKey=function(F){if(fe(F),F.length!==De)throw new Error("bad secret key size");var Y=new Uint8Array(WA);return UA(Y,F),{publicKey:Y,secretKey:new Uint8Array(F)}},e.box.publicKeyLength=WA,e.box.secretKeyLength=De,e.box.sharedKeyLength=Pt,e.box.nonceLength=Je,e.box.overheadLength=e.secretbox.overheadLength,e.sign=function(F,Y){if(fe(F,Y),Y.length!==Wt)throw new Error("bad secret key size");var P=new Uint8Array(ce+F.length);return M(P,F,F.length,Y),P},e.sign.open=function(F,Y){if(fe(F,Y),Y.length!==Ue)throw new Error("bad public key size");var P=new Uint8Array(F.length),m=AA(P,F,F.length,Y);if(m<0)return null;for(var z=new Uint8Array(m),sA=0;sA<z.length;sA++)z[sA]=P[sA];return z},e.sign.detached=function(F,Y){for(var P=e.sign(F,Y),m=new Uint8Array(ce),z=0;z<m.length;z++)m[z]=P[z];return m},e.sign.detached.verify=function(F,Y,P){if(fe(F,Y,P),Y.length!==ce)throw new Error("bad signature size");if(P.length!==Ue)throw new Error("bad public key size");var m=new Uint8Array(ce+F.length),z=new Uint8Array(ce+F.length),sA;for(sA=0;sA<ce;sA++)m[sA]=Y[sA];for(sA=0;sA<F.length;sA++)m[sA+ce]=F[sA];return AA(z,m,m.length,P)>=0},e.sign.keyPair=function(){var F=new Uint8Array(Ue),Y=new Uint8Array(Wt);return pe(F,Y),{publicKey:F,secretKey:Y}},e.sign.keyPair.fromSecretKey=function(F){if(fe(F),F.length!==Wt)throw new Error("bad secret key size");for(var Y=new Uint8Array(Ue),P=0;P<Y.length;P++)Y[P]=F[32+P];return{publicKey:Y,secretKey:new Uint8Array(F)}},e.sign.keyPair.fromSeed=function(F){if(fe(F),F.length!==Oe)throw new Error("bad seed size");for(var Y=new Uint8Array(Ue),P=new Uint8Array(Wt),m=0;m<32;m++)P[m]=F[m];return pe(Y,P,!0),{publicKey:Y,secretKey:P}},e.sign.publicKeyLength=Ue,e.sign.secretKeyLength=Wt,e.sign.seedLength=Oe,e.sign.signatureLength=ce,e.hash=function(F){fe(F);var Y=new Uint8Array(_e);return He(Y,F,F.length),Y},e.hash.hashLength=_e,e.verify=function(F,Y){return fe(F,Y),F.length===0||Y.length===0||F.length!==Y.length?!1:f(F,0,Y,0,F.length)===0},e.setPRNG=function(F){s=F},(function(){var F=typeof self<"u"?self.crypto||self.msCrypto:null;if(F&&F.getRandomValues){var Y=65536;e.setPRNG(function(P,m){var z,sA=new Uint8Array(m);for(z=0;z<m;z+=Y)F.getRandomValues(sA.subarray(z,z+Math.min(m-z,Y)));for(z=0;z<m;z++)P[z]=sA[z];Uo(sA)})}else typeof TD<"u"&&(F=Fc,F&&F.randomBytes&&e.setPRNG(function(P,m){var z,sA=F.randomBytes(m);for(z=0;z<m;z++)P[z]=sA[z];Uo(sA)}))})()})(A.exports?A.exports:self.nacl=self.nacl||{})})(Ki)),Ki.exports}OD();const qD={models:[{id:"claude-3-5-haiku-20241022",name:"Claude Haiku 3.5",owned_by:"anthropic",context_length:2e5,max_output:8192,reasoning:!1,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2024-07-31",release_date:"2024-10-22",last_updated:"2024-10-22",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:.8039999999999999,output:4.02,cache_read:.0804,cache_write:1.005}},{id:"claude-3-5-haiku-latest",name:"Claude Haiku 3.5 (latest)",owned_by:"anthropic",context_length:2e5,max_output:8192,reasoning:!1,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2024-07-31",release_date:"2024-10-22",last_updated:"2024-10-22",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:.8039999999999999,output:4.02,cache_read:.0804,cache_write:1.005}},{id:"claude-3-5-sonnet-20240620",name:"Claude Sonnet 3.5",owned_by:"anthropic",context_length:2e5,max_output:8192,reasoning:!1,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2024-04-30",release_date:"2024-06-20",last_updated:"2024-06-20",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:3.0149999999999997,output:15.075,cache_read:.30149999999999993,cache_write:3.76875}},{id:"claude-3-5-sonnet-20241022",name:"Claude Sonnet 3.5 v2",owned_by:"anthropic",context_length:2e5,max_output:8192,reasoning:!1,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2024-04-30",release_date:"2024-10-22",last_updated:"2024-10-22",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:3.0149999999999997,output:15.075,cache_read:.30149999999999993,cache_write:3.76875}},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5 (latest)",owned_by:"anthropic",context_length:2e5,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-02-28",release_date:"2025-10-15",last_updated:"2025-10-15",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:1.005,output:5.0249999999999995,cache_read:.10049999999999999,cache_write:1.2562499999999999}},{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5",owned_by:"anthropic",context_length:2e5,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-02-28",release_date:"2025-10-15",last_updated:"2025-10-15",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:1.005,output:5.0249999999999995,cache_read:.10049999999999999,cache_write:1.2562499999999999}},{id:"claude-opus-4-0",name:"Claude Opus 4 (latest)",owned_by:"anthropic",context_length:2e5,max_output:32e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:15.075,output:75.37499999999999,cache_read:1.5074999999999998,cache_write:18.843749999999996}},{id:"claude-opus-4-1",name:"Claude Opus 4.1 (latest)",owned_by:"anthropic",context_length:2e5,max_output:32e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",release_date:"2025-08-05",last_updated:"2025-08-05",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:15.075,output:75.37499999999999,cache_read:1.5074999999999998,cache_write:18.843749999999996}},{id:"claude-opus-4-1-20250805",name:"Claude Opus 4.1",owned_by:"anthropic",context_length:2e5,max_output:32e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",release_date:"2025-08-05",last_updated:"2025-08-05",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:15.075,output:75.37499999999999,cache_read:1.5074999999999998,cache_write:18.843749999999996}},{id:"claude-opus-4-20250514",name:"Claude Opus 4",owned_by:"anthropic",context_length:2e5,max_output:32e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:15.075,output:75.37499999999999,cache_read:1.5074999999999998,cache_write:18.843749999999996}},{id:"claude-opus-4-5",name:"Claude Opus 4.5 (latest)",owned_by:"anthropic",context_length:2e5,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",release_date:"2025-11-24",last_updated:"2025-11-24",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:5.0249999999999995,output:25.124999999999996,cache_read:.5025,cache_write:6.281249999999999}},{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5",owned_by:"anthropic",context_length:2e5,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",release_date:"2025-11-01",last_updated:"2025-11-01",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:5.0249999999999995,output:25.124999999999996,cache_read:.5025,cache_write:6.281249999999999}},{id:"claude-opus-4-6",name:"Claude Opus 4.6",owned_by:"anthropic",context_length:1e6,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-05-31",release_date:"2026-02-05",last_updated:"2026-03-13",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:5.0249999999999995,output:25.124999999999996,cache_read:.5025,cache_write:6.281249999999999}},{id:"claude-opus-4-7",name:"Claude Opus 4.7",owned_by:"anthropic",context_length:1e6,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2026-01-31",release_date:"2026-04-16",last_updated:"2026-04-16",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:5.0249999999999995,output:25.124999999999996,cache_read:.5025,cache_write:6.281249999999999}},{id:"claude-sonnet-4-0",name:"Claude Sonnet 4 (latest)",owned_by:"anthropic",context_length:2e5,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:3.0149999999999997,output:15.075,cache_read:.30149999999999993,cache_write:3.76875}},{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4",owned_by:"anthropic",context_length:2e5,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:3.0149999999999997,output:15.075,cache_read:.30149999999999993,cache_write:3.76875}},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5 (latest)",owned_by:"anthropic",context_length:2e5,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-07-31",release_date:"2025-09-29",last_updated:"2025-09-29",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:3.0149999999999997,output:15.075,cache_read:.30149999999999993,cache_write:3.76875}},{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet 4.5",owned_by:"anthropic",context_length:2e5,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-07-31",release_date:"2025-09-29",last_updated:"2025-09-29",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:3.0149999999999997,output:15.075,cache_read:.30149999999999993,cache_write:3.76875}},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",owned_by:"anthropic",context_length:1e6,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-08-31",release_date:"2026-02-17",last_updated:"2026-03-13",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:3.0149999999999997,output:15.075,cache_read:.30149999999999993,cache_write:3.76875}},{id:"deepseek-chat",name:"DeepSeek Chat",owned_by:"deepseek",context_length:131072,max_output:8192,reasoning:!1,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-09",release_date:"2025-12-01",last_updated:"2026-02-28",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.2814,output:.4220999999999999,cache_read:.02814}},{id:"deepseek-reasoner",name:"DeepSeek Reasoner",owned_by:"deepseek",context_length:128e3,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-09",release_date:"2025-12-01",last_updated:"2026-02-28",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.2814,output:.4220999999999999,cache_read:.02814}},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",owned_by:"deepseek",context_length:1e6,max_output:384e3,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2025-05",release_date:"2026-04-24",last_updated:"2026-04-24",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.1407,output:.2814,cache_read:.02814}},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",owned_by:"deepseek",context_length:1e6,max_output:384e3,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2025-05",release_date:"2026-04-24",last_updated:"2026-04-24",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:1.7486999999999997,output:3.4973999999999994,cache_read:.14572499999999997}},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",owned_by:"google",context_length:1048576,max_output:65536,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-01",release_date:"2025-12-17",last_updated:"2025-12-17",open_weights:!1,modalities:{input:["text","image","video","audio","pdf"],output:["text"]},pricing:{input:.5025,output:3.0149999999999997,cache_read:.050249999999999996}},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview",owned_by:"google",context_length:1e6,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-01",release_date:"2025-11-18",last_updated:"2025-11-18",open_weights:!1,modalities:{input:["text","image","video","audio","pdf"],output:["text"]},pricing:{input:2.01,output:12.059999999999999,cache_read:.20099999999999998}},{id:"gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image (Preview)",owned_by:"google",context_length:131072,max_output:32768,reasoning:!0,tool_call:!1,attachment:!0,temperature:!0,knowledge:"2025-01",release_date:"2026-02-26",last_updated:"2026-02-26",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text","image"]},pricing:{input:.25125,output:60.3}},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",owned_by:"google",context_length:1048576,max_output:65536,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-01",release_date:"2026-03-03",last_updated:"2026-03-03",open_weights:!1,modalities:{input:["text","image","video","audio","pdf"],output:["text"]},pricing:{input:.25125,output:1.5074999999999998,cache_read:.025124999999999998,cache_write:1.005}},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",owned_by:"google",context_length:1048576,max_output:65536,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-01",release_date:"2026-02-19",last_updated:"2026-02-19",open_weights:!1,modalities:{input:["text","image","video","audio","pdf"],output:["text"]},pricing:{input:2.01,output:12.059999999999999,cache_read:.20099999999999998}},{id:"gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools",owned_by:"google",context_length:1048576,max_output:65536,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-01",release_date:"2026-02-19",last_updated:"2026-02-19",open_weights:!1,modalities:{input:["text","image","video","audio","pdf"],output:["text"]},pricing:{input:2.01,output:12.059999999999999,cache_read:.20099999999999998}},{id:"MiniMax-M2.1",name:"MiniMax-M2.1",owned_by:"minimax",context_length:204800,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,release_date:"2025-12-23",last_updated:"2025-12-23",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.30149999999999993,output:1.2059999999999997}},{id:"MiniMax-M2.5",name:"MiniMax-M2.5",owned_by:"minimax",context_length:204800,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,release_date:"2026-02-12",last_updated:"2026-02-12",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.30149999999999993,output:1.2059999999999997,cache_read:.030149999999999996,cache_write:.37687499999999996}},{id:"MiniMax-M2.7",name:"MiniMax-M2.7",owned_by:"minimax",context_length:204800,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,release_date:"2026-03-18",last_updated:"2026-03-18",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.30149999999999993,output:1.2059999999999997,cache_read:.06029999999999999,cache_write:.37687499999999996}},{id:"kimi-k2-0711-preview",name:"Kimi K2 0711",owned_by:"moonshot",context_length:131072,max_output:16384,reasoning:!1,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2024-10",release_date:"2025-07-14",last_updated:"2025-07-14",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.6029999999999999,output:2.5124999999999997,cache_read:.15074999999999997}},{id:"kimi-k2-0905-preview",name:"Kimi K2 0905",owned_by:"moonshot",context_length:262144,max_output:262144,reasoning:!1,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2024-10",release_date:"2025-09-05",last_updated:"2025-09-05",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.6029999999999999,output:2.5124999999999997,cache_read:.15074999999999997}},{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",owned_by:"moonshot",context_length:262144,max_output:262144,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2024-08",release_date:"2025-11-06",last_updated:"2025-11-06",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.6029999999999999,output:2.5124999999999997,cache_read:.15074999999999997}},{id:"kimi-k2-thinking-turbo",name:"Kimi K2 Thinking Turbo",owned_by:"moonshot",context_length:262144,max_output:262144,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2024-08",release_date:"2025-11-06",last_updated:"2025-11-06",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:1.1557499999999998,output:8.04,cache_read:.15074999999999997}},{id:"kimi-k2-turbo-preview",name:"Kimi K2 Turbo",owned_by:"moonshot",context_length:262144,max_output:262144,reasoning:!1,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2024-10",release_date:"2025-09-05",last_updated:"2025-09-05",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:2.4119999999999995,output:10.049999999999999,cache_read:.6029999999999999}},{id:"kimi-k2.5",name:"Kimi K2.5",owned_by:"moonshot",context_length:262144,max_output:262144,reasoning:!0,tool_call:!0,attachment:!1,temperature:!1,knowledge:"2025-01",release_date:"2026-01",last_updated:"2026-01",open_weights:!0,modalities:{input:["text","image","video"],output:["text"]},pricing:{input:.6029999999999999,output:3.0149999999999997,cache_read:.10049999999999999,cache_write:.6029999999999999}},{id:"kimi-k2.6",name:"Kimi K2.6",owned_by:"moonshot",context_length:262144,max_output:262144,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-01",release_date:"2026-04-21",last_updated:"2026-04-21",open_weights:!0,modalities:{input:["text","image","video"],output:["text"]},pricing:{input:.9547499999999999,output:4.02,cache_read:.1608}},{id:"gpt-5",name:"GPT-5",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",release_date:"2025-08-07",last_updated:"2025-08-07",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.2562499999999999,output:10.049999999999999,cache_read:.125625}},{id:"gpt-5-chat-latest",name:"GPT-5 Chat (latest)",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!1,attachment:!0,temperature:!0,knowledge:"2024-09-30",release_date:"2025-08-07",last_updated:"2025-08-07",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.2562499999999999,output:10.049999999999999}},{id:"gpt-5-codex",name:"GPT-5-Codex",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!1,temperature:!1,knowledge:"2024-09-30",release_date:"2025-09-15",last_updated:"2025-09-15",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.2562499999999999,output:10.049999999999999,cache_read:.125625}},{id:"gpt-5-mini",name:"GPT-5 Mini",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-05-30",release_date:"2025-08-07",last_updated:"2025-08-07",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:.25125,output:2.01,cache_read:.025124999999999998}},{id:"gpt-5-nano",name:"GPT-5 Nano",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-05-30",release_date:"2025-08-07",last_updated:"2025-08-07",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:.050249999999999996,output:.40199999999999997,cache_read:.005025}},{id:"gpt-5-pro",name:"GPT-5 Pro",owned_by:"openai",context_length:4e5,max_output:272e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",release_date:"2025-10-06",last_updated:"2025-10-06",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:15.075,output:120.6}},{id:"gpt-5.1",name:"GPT-5.1",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.2562499999999999,output:10.049999999999999,cache_read:.13065}},{id:"gpt-5.1-chat-latest",name:"GPT-5.1 Chat",owned_by:"openai",context_length:128e3,max_output:16384,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.2562499999999999,output:10.049999999999999,cache_read:.125625}},{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.2562499999999999,output:10.049999999999999,cache_read:.125625}},{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.2562499999999999,output:10.049999999999999,cache_read:.125625}},{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex mini",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:.25125,output:2.01,cache_read:.025124999999999998}},{id:"gpt-5.2",name:"GPT-5.2",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.7587499999999998,output:14.069999999999999,cache_read:.17587499999999998}},{id:"gpt-5.2-chat-latest",name:"GPT-5.2 Chat",owned_by:"openai",context_length:128e3,max_output:16384,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.7587499999999998,output:14.069999999999999,cache_read:.17587499999999998}},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:1.7587499999999998,output:14.069999999999999,cache_read:.17587499999999998}},{id:"gpt-5.2-pro",name:"GPT-5.2 Pro",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:21.104999999999997,output:168.83999999999997}},{id:"gpt-5.3-chat-latest",name:"GPT-5.3 Chat (latest)",owned_by:"openai",context_length:128e3,max_output:16384,reasoning:!1,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-08-31",release_date:"2026-03-03",last_updated:"2026-03-03",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.7587499999999998,output:14.069999999999999,cache_read:.17587499999999998}},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2026-02-05",last_updated:"2026-02-05",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:1.7587499999999998,output:14.069999999999999,cache_read:.17587499999999998}},{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",owned_by:"openai",context_length:128e3,max_output:32e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2026-02-05",last_updated:"2026-02-05",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:1.7587499999999998,output:14.069999999999999,cache_read:.17587499999999998}},{id:"gpt-5.4",name:"GPT-5.4",owned_by:"openai",context_length:105e4,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2026-03-05",last_updated:"2026-03-05",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:2.5124999999999997,output:15.075,cache_read:.25125}},{id:"gpt-5.4-mini",name:"GPT-5.4 mini",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2026-03-17",last_updated:"2026-03-17",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:.7537499999999999,output:4.522499999999999,cache_read:.07537499999999998}},{id:"gpt-5.4-nano",name:"GPT-5.4 nano",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2026-03-17",last_updated:"2026-03-17",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:.20099999999999998,output:1.2562499999999999,cache_read:.0201}},{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",owned_by:"openai",context_length:105e4,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2026-03-05",last_updated:"2026-03-05",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:30.15,output:180.89999999999998}},{id:"gpt-5.5",name:"GPT-5.5",owned_by:"openai",context_length:105e4,max_output:13e4,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-12-01",release_date:"2026-04-23",last_updated:"2026-04-23",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:5.0249999999999995,output:30.15,cache_read:.5025}},{id:"glm-4.7",name:"GLM-4.7",owned_by:"zai",context_length:204800,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-22",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.6029999999999999,output:2.211,cache_read:.11055}},{id:"glm-4.7-flash",name:"GLM-4.7-Flash",owned_by:"zai",context_length:2e5,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2025-04",release_date:"2026-01-19",last_updated:"2026-01-19",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:0,output:0}},{id:"glm-4.7-flashx",name:"GLM-4.7-FlashX",owned_by:"zai",context_length:2e5,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2025-04",release_date:"2026-01-19",last_updated:"2026-01-19",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.07035,output:.40199999999999997,cache_read:.01005}},{id:"glm-5",name:"GLM-5",owned_by:"zai",context_length:204800,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,release_date:"2026-02-11",last_updated:"2026-02-11",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:1.005,output:3.2159999999999997,cache_read:.20099999999999998}},{id:"glm-5-turbo",name:"GLM-5-Turbo",owned_by:"zai",context_length:2e5,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,release_date:"2026-03-16",last_updated:"2026-03-16",open_weights:!1,modalities:{input:["text"],output:["text"]},pricing:{input:1.2059999999999997,output:4.02,cache_read:.24119999999999997}},{id:"glm-5.1",name:"GLM-5.1",owned_by:"zai",context_length:2e5,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,release_date:"2026-03-27",last_updated:"2026-03-27",open_weights:!1,modalities:{input:["text"],output:["text"]},pricing:{input:1.4069999999999998,output:4.422,cache_read:.2613}},{id:"glm-5v-turbo",name:"glm-5v-turbo",owned_by:"zai",context_length:2e5,max_output:131072,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,release_date:"2026-04-01",last_updated:"2026-04-01",open_weights:!1,modalities:{input:["text","image","video","pdf"],output:["text"]},pricing:{input:1.2059999999999997,output:4.02,cache_read:.24119999999999997}}]},fa="ollama-cloud",aE="ottorouter",YD={openai:"@ai-sdk/openai",anthropic:"@ai-sdk/anthropic",google:"@ai-sdk/google",openrouter:"@openrouter/ai-sdk-provider",xai:"@ai-sdk/xai",moonshot:"@ai-sdk/openai-compatible",zai:"@ai-sdk/openai-compatible",minimax:"@ai-sdk/anthropic"};function HD(A){const e=A.owned_by;return{id:A.id,ownedBy:e,label:A.name,modalities:A.modalities,toolCall:A.tool_call,reasoningText:A.reasoning,attachment:A.attachment,temperature:A.temperature,knowledge:A.knowledge,releaseDate:A.release_date,lastUpdated:A.last_updated,openWeights:A.open_weights,cost:{input:A.pricing.input,output:A.pricing.output,cacheRead:A.pricing.cache_read,cacheWrite:A.pricing.cache_write},limit:{context:A.context_length,output:A.max_output},provider:{npm:YD[e]}}}function PD(){const A=qD.models.map(HD);if(!A.length)return null;A.sort((s,n)=>{const r=s.ownedBy??"",i=n.ownedBy??"";return r===i?s.id.localeCompare(n.id):r==="openai"?-1:i==="openai"?1:r.localeCompare(i)});const e="gpt-5-codex",t=A.findIndex(s=>s.id===e);if(t>0){const[s]=A.splice(t,1);A.unshift(s)}return{id:aE,label:"OttoRouter",env:["OTTOROUTER_PRIVATE_KEY"],api:"https://api.ottorouter.org/v1",doc:"https://ottorouter.org/docs",models:A}}function WD(){return{id:fa,label:"Ollama Cloud",env:["OLLAMA_API_KEY"],npm:"ai-sdk-ollama",api:"https://ollama.com",doc:"https://docs.ollama.com/cloud",models:[]}}function zD(A){const e=A[fa]??WD(),t=PD(),s={...A};return s[fa]=e,t&&(s[aE]=t),s}const xg=zD(Nm),VD={openai:[{match:A=>A.includes("gpt-4o-mini"),inputPerMillion:.15,outputPerMillion:.6},{match:A=>A.includes("gpt-4o"),inputPerMillion:5,outputPerMillion:15},{match:A=>A.includes("gpt-4.1-mini"),inputPerMillion:1,outputPerMillion:4},{match:A=>A.includes("gpt-4.1"),inputPerMillion:5,outputPerMillion:15}],anthropic:[{match:A=>A.includes("claude-3-haiku"),inputPerMillion:.25,outputPerMillion:1.25},{match:A=>A.includes("claude-3-sonnet"),inputPerMillion:3,outputPerMillion:15},{match:A=>A.includes("claude-3-opus"),inputPerMillion:15,outputPerMillion:75}],google:[{match:A=>A.includes("gemini-1.5-flash"),inputPerMillion:.35,outputPerMillion:1.05},{match:A=>A.includes("gemini-1.5-pro"),inputPerMillion:3.5,outputPerMillion:10.5}],"ollama-cloud":[],openrouter:[],opencode:[],ottorouter:[],zai:[],"zai-coding":[],moonshot:[],minimax:[],copilot:[]};function ZD(A,e){const t=VD[A];if(t)return t.find(s=>{try{return s.match(e)}catch{return!1}})}function _D(A,e){const t=xg[A];if(!t)return;const s=e.toLowerCase();return t.models.find(n=>n.id?.toLowerCase()===s)}function gE(A,e,t){const s=typeof t.inputTokens=="number"?t.inputTokens:0,n=typeof t.outputTokens=="number"?t.outputTokens:0,r=typeof t.cachedInputTokens=="number"?t.cachedInputTokens:0,i=typeof t.cacheCreationInputTokens=="number"?t.cacheCreationInputTokens:0;if(!s&&!n&&!r&&!i)return;const a=_D(A,e);if(a?.cost?.input!=null||a?.cost?.output!=null){const c=typeof a.cost?.input=="number"?a.cost.input:0,u=typeof a.cost?.output=="number"?a.cost.output:0,f=typeof a.cost?.cacheRead=="number"?a.cost.cacheRead:0,h=typeof a.cost?.cacheWrite=="number"?a.cost.cacheWrite:0,v=Math.max(0,s-r-i)*c/1e6,D=n*u/1e6,O=r*f/1e6,J=i*h/1e6,V=v+D+O+J;return Number.isFinite(V)?Number(V.toFixed(6)):void 0}const g=ZD(A,e.toLowerCase());if(!g)return;const l=Math.max(0,s-r-i)*g.inputPerMillion/1e6,C=n*g.outputPerMillion/1e6,I=l+C;return Number.isFinite(I)?Number(I.toFixed(6)):void 0}var ma={};function Dg(...A){return A.filter(Boolean).map(e=>e.replace(/\\/g,"/")).join("/").replace(/\/+\/+/g,"/")}function XD(){return(ma.HOME||ma.USERPROFILE||"").replace(/\\/g,"/")}function $D(){const A=ma.XDG_CONFIG_HOME;return A?.trim()?A.replace(/\\/g,"/"):Dg(XD(),".config")}function A2(){return Dg($D(),"otto")}function e2(){return Dg(A2(),"models-catalog.json")}function pr(A){return typeof A=="object"&&A!==null&&!Array.isArray(A)}function t2(A){try{return Function('return typeof require === "function" ? require : null')()?.("node:fs").readFileSync(A,"utf8")??null}catch{return null}}function o2(A,e){if(!pr(e))return null;const t=Array.isArray(e.models)?e.models.filter(s=>pr(s)&&typeof s.id=="string"):[];return{id:typeof e.id=="string"?e.id:A,label:typeof e.label=="string"?e.label:void 0,models:t}}function s2(A){if(!pr(A))return{};const e=pr(A.providers)?A.providers:A,t={};for(const[s,n]of Object.entries(e)){const r=o2(s,n);r&&(t[s]=r)}return t}function r2(){try{const A=t2(e2());if(!A)return null;const e=JSON.parse(A),t=s2(e);return{version:1,updatedAt:pr(e)&&typeof e.updatedAt=="string"?e.updatedAt:new Date(0).toISOString(),providers:t}}catch{return null}}function n2(A){return r2()?.providers[A]}function QE(A,e){if(xg[A])return i2(A).find(s=>s.id===e)}function i2(A){return n2(A)?.models??xg[A]?.models??[]}function BE({sessionId:A,title:e,className:t=""}){const[s,n]=x.useState(!1),[r,i]=x.useState(e||""),a=x.useRef(null),{mutate:g}=tg(A);x.useEffect(()=>{s&&a.current&&(a.current.focus(),a.current.select())},[s]),x.useEffect(()=>{i(e||"")},[e]);const Q=x.useCallback(()=>{const C=r.trim();C&&C!==(e||"")&&g({title:C}),n(!1)},[r,e,g]),l=x.useCallback(()=>{i(e||""),n(!1)},[e]);return s?o.jsx("input",{ref:a,type:"text",value:r,onChange:C=>i(C.target.value),onBlur:Q,onKeyDown:C=>{C.key==="Enter"&&Q(),C.key==="Escape"&&l()},className:`w-full bg-muted/30 text-foreground rounded px-2 py-1 outline-none ring-1 ring-primary/50 focus:ring-primary ${t}`}):o.jsxs("button",{type:"button",onClick:()=>n(!0),className:`group flex items-center gap-2 hover:opacity-80 transition-opacity truncate text-left ${t}`,title:"Click to edit title",children:[o.jsx("span",{className:"truncate",children:e||"Untitled Session"}),o.jsx(En,{className:"h-3.5 w-3.5 opacity-0 group-hover:opacity-50 flex-shrink-0 transition-opacity"})]})}function a2({session:A,onNavigateToSession:e}){const{data:t}=ec(A.sessionType==="branch"?A.id:void 0),{preferences:s}=Zs(),{data:n}=Ag(A.id),r=x.useMemo(()=>{const k=A.totalInputTokens||0,v=A.totalOutputTokens||0,D=A.totalCachedTokens||0,O=A.totalCacheCreationTokens||0;return gE(A.provider,A.model,{inputTokens:k,outputTokens:v,cachedInputTokens:D,cacheCreationInputTokens:O})??0},[A.provider,A.model,A.totalInputTokens,A.totalOutputTokens,A.totalCachedTokens,A.totalCacheCreationTokens]),i=k=>{if(!k)return"0s";const v=Math.floor(k/1e3),D=Math.floor(v/60),O=Math.floor(D/60);return O>0?`${O}h ${D%60}m`:D>0?`${D}m ${v%60}s`:`${v}s`},a=k=>k.toLocaleString("en-US"),g=k=>k>=1e6?`${(k/1e6).toFixed(1)}M`:k>=1e3?`${(k/1e3).toFixed(1)}K`:k.toString(),Q=A.currentContextTokens||0,l=A.totalOutputTokens||0,C=A.sessionType==="branch",I=t?.parent,c=x.useMemo(()=>QE(A.provider,A.model)?.limit?.context,[A.provider,A.model]),u=c?Q/c*100:0,f=()=>u>=90?"text-red-600 dark:text-red-400":u>=70?"text-amber-600 dark:text-amber-400":"text-foreground",h=s.fullWidthContent?"w-full px-6 py-6":"max-w-3xl mx-auto px-6 py-6";return o.jsx("div",{className:"border-b border-border bg-background/95 backdrop-blur-sm",children:o.jsxs("div",{className:h,children:[C&&o.jsxs("div",{className:"flex items-center gap-2 mb-3 text-sm",children:[o.jsx(ao,{className:"h-4 w-4 text-violet-500"}),o.jsx("span",{className:"text-violet-600 dark:text-violet-400 font-medium",children:"Branch"}),I&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground",children:"from"}),o.jsxs("button",{type:"button",onClick:()=>e?.(I.id),className:"text-primary hover:underline flex items-center gap-1",children:[I.title||`Session ${I.id.slice(0,8)}`,o.jsx(OB,{className:"h-3 w-3"})]})]}),!I&&A.parentSessionId&&o.jsx("span",{className:"text-muted-foreground italic text-xs",children:"(parent deleted)"})]}),o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsx(BE,{sessionId:A.id,title:A.title,className:"text-2xl font-semibold text-foreground leading-tight"}),n?.shared&&o.jsxs("button",{type:"button",onClick:()=>ho(n.url),className:"flex items-center gap-1.5 px-2 py-1 rounded-md bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 hover:bg-emerald-500/20 transition-colors text-xs font-medium flex-shrink-0",children:[o.jsx(Ua,{className:"h-3 w-3"}),o.jsx("span",{children:"Shared"}),n.pendingMessages&&n.pendingMessages>0?o.jsxs("span",{className:"flex items-center gap-0.5 text-amber-600 dark:text-amber-400",children:[o.jsx(Vt,{className:"h-2.5 w-2.5"}),n.pendingMessages]}):o.jsx(vt,{className:"h-2.5 w-2.5 opacity-60"})]})]}),o.jsxs("div",{className:"flex flex-wrap items-center gap-x-5 gap-y-2 mt-4 text-sm text-muted-foreground",children:[o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsxs("div",{className:"flex items-center gap-1.5",title:`Current context window: ${a(Q)} tokens`,children:[o.jsx("span",{className:"text-xs opacity-70",children:"ctx"}),o.jsx("span",{className:`font-medium ${f()}`,children:g(Q)})]}),o.jsxs("div",{className:"flex items-center gap-1.5",title:`Total output: ${a(l)} tokens`,children:[o.jsx("span",{className:"text-xs opacity-70",children:"out"}),o.jsx("span",{className:"font-medium text-foreground",children:g(l)})]})]}),o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(Ka,{className:"w-4 h-4"}),o.jsx("span",{className:"font-medium text-foreground",children:i(A.totalToolTimeMs)})]}),r>0&&o.jsxs("div",{className:"flex items-center gap-1.5",children:[o.jsx(qB,{className:"w-4 h-4"}),o.jsx("span",{className:"font-medium text-foreground",children:r.toFixed(4)})]}),o.jsxs("div",{className:"flex items-center gap-2 ml-auto",children:[o.jsx($t,{provider:A.provider,size:18}),o.jsx("span",{className:"font-medium text-foreground",children:A.model})]})]})]})})}const lo=ht(A=>({usage:{},isLoading:{},lastFetched:{},isModalOpen:!1,modalProvider:null,setUsage:(e,t)=>A(s=>({usage:{...s.usage,[e]:t}})),setLoading:(e,t)=>A(s=>({isLoading:{...s.isLoading,[e]:t}})),setLastFetched:(e,t)=>A(s=>({lastFetched:{...s.lastFetched,[e]:t}})),openModal:e=>A({isModalOpen:!0,modalProvider:e}),closeModal:()=>A({isModalOpen:!1,modalProvider:null})})),Bs=22,wa=2.5,xa=(Bs-wa)/2,Ji=2*Math.PI*xa;function g2(A){return A>=90?"#ef4444":A>=70?"#f59e0b":"#3b82f6"}const BB=x.memo(function({usage:e,provider:t}){const s=lo(a=>a.openModal),n=e.primaryWindow?.usedPercent??0,r=Ji-n/100*Ji,i=g2(n);return o.jsxs("button",{type:"button",onClick:()=>s(t),className:"relative flex items-center hover:opacity-80 transition-opacity cursor-pointer",title:`Usage: ${Math.round(n)}% (5h window) — Click for details`,children:[o.jsxs("svg",{width:Bs,height:Bs,className:"-rotate-90",role:"img","aria-label":"Usage ring",children:[o.jsx("circle",{cx:Bs/2,cy:Bs/2,r:xa,fill:"none",stroke:"hsl(var(--muted))",strokeWidth:wa}),o.jsx("circle",{cx:Bs/2,cy:Bs/2,r:xa,fill:"none",stroke:i,strokeWidth:wa,strokeDasharray:Ji,strokeDashoffset:r,strokeLinecap:"round",className:"transition-all duration-500"})]}),o.jsx("span",{className:"absolute inset-0 flex items-center justify-center rotate-0 font-medium text-muted-foreground",style:{fontSize:7},children:"5h"})]})});function Q2(A){if(!A)return"Unknown";const e=Date.now(),s=new Date(A).getTime()-e;if(s<=0)return"Now";const n=Math.floor(s/864e5),r=Math.floor(s%864e5/36e5),i=Math.floor(s%36e5/6e4);return n>0?`${n}d ${r}h`:r>0?`${r}h ${i}m`:`${i}m`}function lB(A){return A<=18e3?"5 Hour":A<=86400?"24 Hour":"7 Day"}function Li({label:A,window:e}){const t=Math.min(e.usedPercent,100),s=t>=90?"bg-red-500":t>=70?"bg-amber-500":"bg-blue-500";return o.jsxs("div",{className:"space-y-1.5",children:[o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:A}),o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsxs("span",{className:"font-medium text-foreground",children:[Math.round(t),"%"]}),e.resetsAt&&o.jsxs("span",{className:"text-xs text-muted-foreground",children:["resets in ",Q2(e.resetsAt)]})]})]}),o.jsx("div",{className:"h-2 rounded-full bg-muted overflow-hidden",children:o.jsx("div",{className:`h-full rounded-full transition-all duration-500 ${s}`,style:{width:`${t}%`}})})]})}const B2=x.memo(function(){const e=lo(i=>i.isModalOpen),t=lo(i=>i.modalProvider),s=lo(i=>i.closeModal),n=lo(i=>t?i.usage[t]:void 0),r=x.useMemo(()=>o.jsxs("div",{className:"flex items-center gap-2",children:[t&&o.jsx($t,{provider:t,size:20}),o.jsx("span",{children:"Usage & Limits"})]}),[t]);return n?o.jsx(Po,{isOpen:e,onClose:s,title:r,maxWidth:"sm",children:o.jsxs("div",{className:"space-y-5",children:[n.limitReached&&o.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 rounded-md bg-red-500/10 border border-red-500/20",children:[o.jsx("span",{className:"w-2 h-2 rounded-full bg-red-500 flex-shrink-0"}),o.jsx("span",{className:"text-sm text-red-600 dark:text-red-400 font-medium",children:"Rate limit reached"})]}),n.primaryWindow&&o.jsx(Li,{label:`${lB(n.primaryWindow.windowSeconds)} Window`,window:n.primaryWindow}),n.secondaryWindow&&o.jsx(Li,{label:`${lB(n.secondaryWindow.windowSeconds)} Window`,window:n.secondaryWindow}),n.sonnetWindow&&n.sonnetWindow.usedPercent>0&&o.jsx(Li,{label:"Sonnet (7 Day)",window:{usedPercent:n.sonnetWindow.usedPercent,windowSeconds:604800,resetsAt:n.sonnetWindow.resetsAt}}),n.extraUsage?.is_enabled&&o.jsx("div",{className:"pt-2 border-t border-border space-y-1",children:o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:"Extra Credits"}),o.jsxs("span",{className:"font-medium text-foreground",children:["$",n.extraUsage.used_credits.toFixed(2)," / $",n.extraUsage.monthly_limit]})]})}),n.credits?.has_credits&&o.jsx("div",{className:"pt-2 border-t border-border space-y-1",children:o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:"Credits"}),o.jsx("span",{className:"font-medium text-foreground",children:n.credits.balance!==null?`$${n.credits.balance.toFixed(2)}`:"Available"})]})}),n.planType&&o.jsx("div",{className:"pt-2 border-t border-border",children:o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:"Plan"}),o.jsx("span",{className:"font-medium text-foreground capitalize",children:n.planType})]})})]})}):null}),l2=6e4,c2=3e4,ji=new Set;function E2(A,e){const t=lo(Q=>Q.setUsage),s=lo(Q=>Q.setLoading),n=lo(Q=>Q.setLastFetched),r=lo(Q=>A?Q.usage[A]:void 0),i=e==="oauth"&&(A==="anthropic"||A==="openai"),a=x.useCallback(async()=>{if(!A||!i||ji.has(A))return;const Q=lo.getState().lastFetched[A]??0;if(!(Q&&Date.now()-Q<c2)){ji.add(A),s(A,!0);try{const l=await mA.getProviderUsage(A);t(A,l),n(A,Date.now())}catch{}finally{s(A,!1),ji.delete(A)}}},[A,i,t,s,n]),g=x.useRef(a);return g.current=a,x.useEffect(()=>{if(!A||!i)return;g.current();const Q=setInterval(()=>g.current(),l2);return()=>clearInterval(Q)},[i,A]),{usage:r,fetchUsage:a,isOAuthProvider:i}}function ti(A){const e=Ne(h=>h.setBalance),t=Ne(h=>h.setUsdcBalance),s=Ne(h=>h.setWalletAddress),n=Ne(h=>h.setLoading),r=Ne(h=>h.setScope),i=Ne(h=>h.setPayg),a=Ne(h=>h.setSubscription),g=Ne(h=>h.setLimits),Q=lo(h=>h.setUsage),l=Ne(h=>h.balance),C=Ne(h=>h.usdcBalance),I=Ne(h=>h.subscription),c=Ne(h=>h.network),u=x.useCallback(async()=>{if(A==="ottorouter"){n(!0);try{const[h,k,v]=await Promise.all([mA.getOttoRouterBalance(),mA.getOttoRouterUsdcBalance(c),mA.getOttoRouterWallet()]);if(h){e(h.balance),s(h.walletAddress),r(h.scope??null),i(h.payg??null),a(h.subscription??null),g(h.limits??null);const D=h.subscription;D?.active&&D.usageWindows&&Q("ottorouter",{provider:"ottorouter",primaryWindow:{usedPercent:D.usageWindows.fiveHour.percentUsed,windowSeconds:18e3,resetsAt:null},secondaryWindow:{usedPercent:D.usageWindows.weekly.percentUsed,windowSeconds:604800,resetsAt:null},limitReached:!1,planType:D.tierName??"GO"})}else v?.configured&&v.publicKey&&s(v.publicKey);k&&(t(k.usdcBalance),!h&&k.walletAddress&&s(k.walletAddress))}catch{}finally{n(!1)}}},[A,c,e,t,s,n,r,i,a,g,Q]),f=I?.active&&!I.usageWindows;return x.useEffect(()=>{A==="ottorouter"&&(l===null||C===null||f)&&u()},[A,l,C,f,u]),{fetchBalance:u}}function C2({session:A,isVisible:e,isGenerating:t,onNavigateToSession:s}){const{data:n}=ec(A.sessionType==="branch"?A.id:void 0),{data:r}=Ag(A.id),i=x.useMemo(()=>{const O=A.totalInputTokens||0,J=A.totalOutputTokens||0,V=A.totalCachedTokens||0,eA=A.totalCacheCreationTokens||0;return gE(A.provider,A.model,{inputTokens:O,outputTokens:J,cachedInputTokens:V,cacheCreationInputTokens:eA})??0},[A.provider,A.model,A.totalInputTokens,A.totalOutputTokens,A.totalCachedTokens,A.totalCacheCreationTokens]),a=O=>O>=1e6?`${(O/1e6).toFixed(1)}M`:O>=1e3?`${(O/1e3).toFixed(1)}K`:O.toString(),g=A.currentContextTokens||0,Q=A.sessionType==="branch",l=n?.parent,C=x.useMemo(()=>QE(A.provider,A.model)?.limit?.context,[A.provider,A.model]),I=C?g/C*100:0,c=()=>I>=90?"text-red-600 dark:text-red-400":I>=70?"text-amber-600 dark:text-amber-400":"text-foreground",{data:u}=Vs(),f=u?.[A.provider]?.authType,{usage:h,isOAuthProvider:k}=E2(A.provider,f),v=A.provider==="ottorouter";ti(v?"ottorouter":void 0);const D=lo(O=>O.usage.ottorouter);return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:`absolute top-0 left-0 right-0 h-14 border-b border-border bg-background/40 backdrop-blur-xl supports-[backdrop-filter]:bg-background/20 z-10 transition-transform duration-200 ${e?"translate-y-0":"-translate-y-full"}`,children:o.jsxs("div",{className:"h-full px-6 flex items-center justify-between gap-4 text-sm",children:[o.jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-2 text-muted-foreground",children:[Q?o.jsx(ao,{className:"w-4 h-4 flex-shrink-0 text-violet-500"}):o.jsx(aC,{className:"w-4 h-4 flex-shrink-0"}),o.jsx(BE,{sessionId:A.id,title:A.title,className:"text-foreground font-medium text-sm"}),r?.shared&&o.jsxs("button",{type:"button",onClick:()=>ho(r.url),className:"flex items-center gap-1 px-1.5 py-0.5 rounded bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 hover:bg-emerald-500/20 transition-colors text-xs font-medium flex-shrink-0",children:[o.jsx(Ua,{className:"h-3 w-3"}),r.pendingMessages&&r.pendingMessages>0?o.jsxs("span",{className:"flex items-center gap-0.5 text-amber-600 dark:text-amber-400",children:[o.jsx(Vt,{className:"h-2.5 w-2.5"}),r.pendingMessages]}):o.jsx(vt,{className:"h-2.5 w-2.5 opacity-60"})]}),Q&&l&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground hidden sm:inline",children:"from"}),o.jsxs("button",{type:"button",onClick:()=>s?.(l.id),className:"text-primary hover:underline flex items-center gap-0.5 truncate max-w-32",title:l.title||`Session ${l.id.slice(0,8)}`,children:[o.jsx("span",{className:"truncate",children:l.title||`Session ${l.id.slice(0,8)}`}),o.jsx(OB,{className:"h-3 w-3 flex-shrink-0"})]})]})]}),o.jsxs("div",{className:"flex-shrink-0 flex items-center gap-5 text-muted-foreground",children:[t&&o.jsx($p,{sessionId:A.id}),k&&h&&o.jsx(BB,{usage:h,provider:A.provider}),v&&D&&o.jsx(BB,{usage:D,provider:"ottorouter"}),o.jsx("div",{className:"flex items-center gap-3",children:o.jsxs("div",{className:"flex items-center gap-1",title:`Current context window: ${g.toLocaleString()} tokens`,children:[o.jsx("span",{className:"text-xs opacity-70",children:"ctx"}),o.jsx("span",{className:`font-medium ${c()}`,children:a(g)})]})}),i>0&&o.jsxs("div",{className:"flex items-center gap-1.5",children:[o.jsx(qB,{className:"w-4 h-4"}),o.jsx("span",{className:"text-foreground font-medium",children:i.toFixed(4)})]}),o.jsxs("div",{className:"hidden sm:flex items-center gap-2",children:[o.jsx($t,{provider:A.provider,size:16}),o.jsx("span",{className:"font-medium text-foreground",children:A.model})]})]})]})}),o.jsx(B2,{})]})}const I2=x.memo(function({pendingTopup:e,onMethodSelected:t,onCancel:s}){const[n,r]=x.useState(!1),[i,a]=x.useState(null),g=Ne(c=>c.openTopupModal),Q=Ne(c=>!!c.subscription?.active),l=async()=>{a("crypto"),r(!0);try{await mA.selectTopupMethod(e.sessionId,"crypto"),t("crypto")}catch(c){de.error(c instanceof Error?c.message:"Failed to process payment"),r(!1),a(null)}},C=async()=>{a("fiat"),g(),mA.selectTopupMethod(e.sessionId,"fiat").catch(()=>{}),t("fiat")},I=async()=>{r(!0);try{await mA.cancelTopup(e.sessionId),s()}catch(c){de.error(c instanceof Error?c.message:"Failed to cancel"),r(!1)}};return o.jsxs("div",{className:"flex flex-col gap-3 py-2",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(wo,{className:"h-4 w-4 text-amber-500 flex-shrink-0"}),o.jsx("span",{className:"font-medium text-foreground text-sm",children:"Insufficient Balance"}),o.jsx("span",{className:"text-amber-600 dark:text-amber-400 font-medium text-sm",children:"payment required"})]}),Q&&o.jsx("p",{className:"ml-6 text-xs text-muted-foreground",children:"GO credits may not apply to this request. Add balance to continue."}),o.jsxs("div",{className:"ml-6 bg-muted/30 rounded-lg p-3 space-y-2 text-sm",children:[o.jsxs("div",{className:"flex justify-between",children:[o.jsx("span",{className:"text-muted-foreground",children:"Request cost"}),o.jsxs("span",{className:"font-mono",children:["~$",e.amountUsd.toFixed(4)]})]}),o.jsxs("div",{className:"flex justify-between",children:[o.jsx("span",{className:"text-muted-foreground",children:"Current balance"}),o.jsxs("span",{className:"font-mono",children:["$",e.currentBalance.toFixed(4)]})]})]}),o.jsxs("div",{className:"ml-6 flex flex-wrap items-center gap-2",children:[o.jsxs("button",{type:"button",onClick:I,disabled:n,title:"Cancel request",className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded border border-border bg-background hover:bg-muted transition-colors disabled:opacity-50",children:[o.jsx(lt,{className:"w-3 h-3"}),"Cancel"]}),o.jsxs("button",{type:"button",onClick:l,disabled:n,title:"Pay with USDC from your wallet",className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-violet-600 text-white hover:bg-violet-700 transition-colors disabled:opacity-50",children:[i==="crypto"&&n?o.jsx(Le,{className:"w-3 h-3 animate-spin"}):o.jsx(Ja,{className:"w-3 h-3"}),"Pay with USDC"]}),o.jsxs("button",{type:"button",onClick:C,disabled:n,title:"Top up with card (min $5)",className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded border border-violet-500 text-violet-600 dark:text-violet-400 hover:bg-violet-500/10 transition-colors disabled:opacity-50",children:[i==="fiat"&&n?o.jsx(Le,{className:"w-3 h-3 animate-spin"}):o.jsx(fr,{className:"w-3 h-3"}),"Top up with Card",o.jsx("span",{className:"text-[10px] opacity-70",children:"(min $5)"})]})]}),o.jsx("p",{className:"ml-6 text-xs text-muted-foreground",children:i==="crypto"?"Processing USDC payment from your wallet...":i==="fiat"?"Opening checkout...":"Select a payment method to continue your request."})]})}),bn=ht(A=>({pendingTopup:null,isProcessing:!1,selectedMethod:null,setPendingTopup:e=>A({pendingTopup:e,isProcessing:!1,selectedMethod:null}),setProcessing:e=>A({isProcessing:e}),setSelectedMethod:e=>A({selectedMethod:e}),clearPendingTopup:()=>A({pendingTopup:null,isProcessing:!1,selectedMethod:null})})),u2=x.memo(function({messages:e,session:t,sessionId:s,isGenerating:n,compact:r=!1,disableAutoScroll:i=!1,onSelectSession:a}){const g=ke(),{preferences:Q}=Zs(),l=x.useRef(null),C=x.useRef(null),I=x.useRef(null),[c,u]=x.useState(!0),f=x.useRef(!0),[h,k]=x.useState(!1),v=x.useRef(!1),D=x.useRef(void 0),O=x.useRef(0),J=x.useRef(void 0),V=x.useRef(!1),eA=x.useRef(t?.id),X=x.useRef(e.length),K=x.useRef(n),W=x.useRef(0),T=x.useRef(0),L=bn(b=>b.pendingTopup),w=bn(b=>b.clearPendingTopup),B=L&&L.sessionId===s,d=x.useCallback(()=>{const b=C.current;if(!b)return;const{scrollTop:E,scrollHeight:p,clientHeight:U}=b,R=p-E-U,_=p>W.current,tA=E<T.current-5;W.current=p,T.current=E,R<100?(f.current=!0,u(!0)):tA?(f.current=!1,u(!1),v.current=!0):!_&&f.current&&(f.current=!1,u(!1)),(tA||!f.current&&R>=100)&&(D.current&&clearTimeout(D.current),D.current=setTimeout(()=>{v.current=!1},150));const IA=I.current;if(IA){const iA=IA.getBoundingClientRect(),UA=b.getBoundingClientRect();k(iA.bottom<UA.top)}},[]);x.useEffect(()=>{if(i)return;const b=t?.id!==eA.current;if(eA.current=t?.id,b&&(V.current=!1),!V.current&&e.length>0){V.current=!0;const E=C.current;E&&(E.scrollTop=E.scrollHeight)}},[e.length,t?.id,i]),x.useEffect(()=>{if(i)return;const b=n&&!K.current,E=e.length>X.current;K.current=n,X.current=e.length,b?(v.current=!1,f.current=!0,u(!0),requestAnimationFrame(()=>{requestAnimationFrame(()=>{const p=C.current;p&&(p.scrollTop=p.scrollHeight)})})):E&&!v.current&&!n&&(f.current=!0,u(!0))},[e.length,n,i]),x.useEffect(()=>{if(i)return;const b=C.current;if(!b||!c||v.current)return;O.current=b.scrollHeight-b.clientHeight;const E=()=>{const p=C.current;if(!p||v.current)return;const U=p.scrollTop,_=p.scrollHeight-p.clientHeight-U;if(Math.abs(_)<1){p.scrollTop=p.scrollHeight-p.clientHeight;return}if(Math.abs(_)<10){p.scrollTop=p.scrollHeight-p.clientHeight;return}p.scrollTop=U+_*.15,J.current=requestAnimationFrame(E)};J.current&&cancelAnimationFrame(J.current),J.current=requestAnimationFrame(E)},[e,c]),x.useEffect(()=>()=>{D.current&&clearTimeout(D.current),J.current&&cancelAnimationFrame(J.current)},[]);const N=()=>{v.current=!1,f.current=!0,u(!0);const b=C.current;b&&(b.scrollTop=b.scrollHeight)},G=x.useMemo(()=>e.filter(b=>b.role!=="system"),[e]),S=Q.fullWidthContent?r?"w-full space-y-4":"w-full space-y-6":r?"max-w-3xl mx-auto space-y-4":"max-w-3xl mx-auto space-y-6",j=x.useCallback(b=>async()=>{if(s&&b){g.setQueryData(["messages",s],E=>E&&E.map(p=>{if(p.id!==b)return p;const U=p.parts?.filter(R=>!(R.type==="error"||R.type==="tool_call"&&R.toolName==="finish"))??[];return{...p,status:"pending",parts:U,error:null}}));try{await mA.retryMessage(s,b)}catch(E){de.error(E instanceof Error?E.message:"Failed to retry")}}},[s,g]),H=x.useCallback(async()=>{if(s)try{await mA.sendMessage(s,{content:"/compact"})}catch(b){de.error(b instanceof Error?b.message:"Failed to compact")}},[s]);return e.length===0?o.jsx("div",{className:"flex-1 flex items-center justify-center text-muted-foreground text-sm",children:"No messages yet. Start a conversation below."}):o.jsxs("div",{className:"absolute inset-0 flex flex-col",children:[t&&o.jsx(C2,{session:t,isVisible:h,isGenerating:n,onNavigateToSession:a}),o.jsxs("div",{ref:C,className:"flex-1 overflow-y-auto",onScroll:d,children:[o.jsx("div",{ref:I,children:t&&o.jsx(a2,{session:t,onNavigateToSession:a})}),o.jsx("div",{className:r?"p-4 pb-56":"p-6 pb-64",children:o.jsxs("div",{className:S,children:[G.map((b,E)=>{const p=G[E-1],U=G[E+1],R=E===G.length-1;if(b.role==="user"){const _=U&&U.role==="assistant"?U:void 0;return o.jsx(oc,{sessionId:s,message:b,isFirst:E===0,nextAssistantMessageId:_?.id},b.id)}if(b.role==="assistant"){const _=!p||p.role!=="assistant",tA=U&&U.role==="assistant";return o.jsx(tc,{sessionId:s,message:b,showHeader:_,hasNextAssistantMessage:tA,isLastMessage:R,onBranchCreated:a,onRetry:R?j(b.id):void 0,compact:r,onCompact:R?H:void 0},b.id)}return null}),B&&L&&o.jsx("div",{className:"py-4",children:o.jsx(I2,{pendingTopup:L,onMethodSelected:()=>w(),onCancel:()=>w()})}),o.jsx("div",{ref:l})]})})]}),!c&&o.jsxs("button",{type:"button",onClick:N,className:"absolute bottom-36 left-1/2 -translate-x-1/2 flex items-center gap-2 px-4 py-2 bg-background border border-border rounded-full shadow-lg hover:bg-muted/50 transition-all text-sm text-foreground z-10",children:[o.jsx(gC,{className:"w-4 h-4"}),o.jsx("span",{children:"Scroll to bottom"})]})]})});class lE{abortController=null;handlers=new Map;running=!1;async connect(e){this.abortController&&this.abortController.abort(),this.abortController=new AbortController,this.running=!0;const t=!e.includes("localhost")&&!e.includes("127.0.0.1");try{const s=await fetch(e,{method:t?"POST":"GET",headers:{Accept:"text/event-stream"},signal:this.abortController.signal});if(!s.ok){console.error("[SSE] Connection failed:",s.status);return}const n=s.body?.getReader();if(!n){console.error("[SSE] No response body");return}const r=new TextDecoder;let i="";for(;this.running;){const{done:a,value:g}=await n.read();if(a)break;i+=r.decode(g,{stream:!0});let Q=i.indexOf(`
|
|
114
|
+
|
|
115
|
+
`);for(;Q!==-1;){const l=i.slice(0,Q);i=i.slice(Q+2);const C=l.split(`
|
|
116
|
+
`);let I="message",c="";for(const u of C)u.startsWith("event: ")?I=u.slice(7).trim():u.startsWith("data: ")?c+=(c?`
|
|
117
|
+
`:"")+u.slice(6):u.startsWith(":");if(c)try{const u=JSON.parse(c);this.emit({type:I,payload:u})}catch(u){console.error(`[SSE] Failed to parse ${I}:`,u)}Q=i.indexOf(`
|
|
118
|
+
|
|
119
|
+
`)}}}catch(s){s instanceof Error&&s.name==="AbortError"||s instanceof TypeError&&s.message==="Load failed"||console.error("[SSE] Connection error:",s)}}disconnect(){this.running=!1,this.abortController&&(this.abortController.abort(),this.abortController=null)}on(e,t){return this.handlers.has(e)||this.handlers.set(e,new Set),this.handlers.get(e)?.add(t),()=>{this.off(e,t)}}off(e,t){const s=this.handlers.get(e);s&&(s.delete(t),s.size===0&&this.handlers.delete(e))}emit(e){const t=this.handlers.get(e.type);if(t)for(const n of t)n(e);const s=this.handlers.get("*");if(s)for(const n of s)n(e)}}function cE(A,e=!0){const t=ke(),s=x.useRef(null),n=x.useRef(null),{addPendingApproval:r,removePendingApproval:i,updatePendingApproval:a,setPendingApprovals:g}=Mr();x.useEffect(()=>{if(!A||!e)return;n.current=null;let Q=0;mA.getPendingApprovals(A).then(B=>{B.ok&&B.pending.length>0?g(B.pending):g([])}).catch(()=>{g([])});const l=new lE;s.current=l;const C=mA.getStreamUrl(A);console.log("[useSessionStream] Connecting to stream:",C),l.connect(C);const I=B=>{if(n.current){const d=B.findIndex(N=>N.id===n.current);if(d!==-1)return d}for(let d=B.length-1;d>=0;d-=1){const N=B[d];if(N.role==="assistant"&&N.status!=="complete")return d}return-1},c=B=>{if(B.contentJson&&typeof B.contentJson=="object"&&!Array.isArray(B.contentJson)&&"text"in B.contentJson)return String(B.contentJson.text??"");if(typeof B.content=="string"){try{const d=JSON.parse(B.content);if(d&&typeof d.text=="string")return d.text}catch{}return B.content}return""},u=B=>typeof B?.callId=="string"?B.callId:typeof B?.toolCallId=="string"?B.toolCallId:null,f=B=>typeof B?.name=="string"?B.name:typeof B?.toolName=="string"?B.toolName:null,h=B=>B?.args??B?.input,k=B=>typeof B?.delta=="string"?B.delta:typeof B?.inputTextDelta=="string"?B.inputTextDelta:null,v=B=>typeof B?.delta=="string"?B.delta:typeof B?.outputTextDelta=="string"?B.outputTextDelta:null,D=(B,d)=>{if(typeof d!="number")return B.length;const N=B.filter(b=>b.stepIndex===d).map(b=>b.index).filter(b=>Number.isFinite(b));if(N.length>0)return Math.max(...N)+.001;const G=B.filter(b=>typeof b.stepIndex=="number"&&b.stepIndex<d).map(b=>b.index).filter(b=>Number.isFinite(b)),S=B.filter(b=>typeof b.stepIndex=="number"&&b.stepIndex>d).map(b=>b.index).filter(b=>Number.isFinite(b)),j=G.length>0?Math.max(...G):null,H=S.length>0?Math.min(...S):null;return j!==null&&H!==null?(j+H)/2:j!==null?j+1:H!==null?H-1:B.length},O=B=>{const d=typeof B?.messageId=="string"?B.messageId:null,N=typeof B?.partId=="string"?B.partId:null,G=typeof B?.delta=="string"?B.delta:null;!d||!N||G===null||t.setQueryData(["messages",A],S=>{if(!S)return S;const j=[...S],H=j.findIndex(R=>R.id===d);if(H===-1)return S;const b=j[H],E=b.parts?[...b.parts]:[];let p=E.findIndex(R=>R.id===N);const U=typeof B?.stepIndex=="number"?B.stepIndex:null;if(p===-1){const R={id:N,messageId:d,index:D(E,U),stepIndex:U,type:"reasoning",content:JSON.stringify({text:G}),contentJson:{text:G},agent:b.agent,provider:b.provider,model:b.model,startedAt:Date.now(),completedAt:null,toolName:null,toolCallId:null,toolDurationMs:null};E.push(R),p=E.length-1}else{const R=E[p],tA=`${c(R)}${G}`;E[p]={...R,content:JSON.stringify({text:tA}),contentJson:{text:tA},stepIndex:U??R.stepIndex??null,completedAt:null}}return j[H]={...b,parts:E},j})},J=B=>{const d=typeof B?.messageId=="string"?B.messageId:null,N=typeof B?.partId=="string"?B.partId:null,G=typeof B?.delta=="string"?B.delta:null;!d||!N||G===null||t.setQueryData(["messages",A],S=>{if(!S)return S;const j=[...S],H=j.findIndex(R=>R.id===d);if(H===-1)return S;const b=j[H],E=b.parts?[...b.parts]:[];let p=E.findIndex(R=>R.id===N);const U=typeof B?.stepIndex=="number"?B.stepIndex:null;if(p===-1){const R={id:N,messageId:d,index:D(E,U),stepIndex:U,type:"text",content:JSON.stringify({text:G}),contentJson:{text:G},agent:b.agent,provider:b.provider,model:b.model,startedAt:Date.now(),completedAt:null,toolName:null,toolCallId:null,toolDurationMs:null};E.push(R),p=E.length-1}else{const R=E[p],tA=`${c(R)}${G}`;E[p]={...R,content:JSON.stringify({text:tA}),contentJson:{text:tA},stepIndex:U??R.stepIndex??null,completedAt:null}}return j[H]={...b,parts:E},j})},V=B=>{if(!B)return;const d=u(B),N=f(B);N&&t.setQueryData(["messages",A],G=>{if(!G)return G;const S=[...G];let j=I(S);if(typeof B.messageId=="string"){const _=S.findIndex(tA=>tA.id===B.messageId);_!==-1&&(j=_)}if(j===-1)return G;const H=S[j],b=H.parts?[...H.parts]:[];let E=-1;d&&(E=b.findIndex(_=>_.toolCallId===d&&_.ephemeral)),E===-1&&!d&&(E=b.findIndex(_=>_.ephemeral&&_.toolName===N));const p=h(B),U=typeof B.stepIndex=="number"?B.stepIndex:null,R={name:N};if(d&&(R.callId=d),p!==void 0&&(R.args=p),E===-1){const _={id:d?`ephemeral-tool-call-${d}`:`ephemeral-tool-call-${N}-${Date.now()}`,messageId:H.id,index:D(b,U),stepIndex:U,type:"tool_call",content:JSON.stringify(R),contentJson:R,agent:H.agent,provider:H.provider,model:H.model,startedAt:Date.now(),completedAt:null,toolName:N,toolCallId:d,toolDurationMs:null,ephemeral:!0};b.push(_)}else{const _=b[E],tA={...typeof _.contentJson=="object"&&!Array.isArray(_.contentJson)?_.contentJson:{},name:N};d&&(tA.callId=d),p!==void 0&&(tA.args=p),b[E]={..._,content:JSON.stringify(tA),contentJson:tA,stepIndex:U??_.stepIndex??null,toolCallId:d??_.toolCallId,toolName:N}}return S[j]={...H,parts:b},S})},eA=(B,d)=>{if(!B)return;const N=u(B),G=f(B);G&&t.setQueryData(["messages",A],S=>{if(!S)return S;const j=[...S];let H=I(j);if(typeof B.messageId=="string"){const R=j.findIndex(_=>_.id===B.messageId);R!==-1&&(H=R)}if(H===-1)return S;const b=j[H],E=b.parts?[...b.parts]:[];let p=-1;N&&(p=E.findIndex(R=>R.toolCallId===N&&R.ephemeral)),p===-1&&!N&&(p=E.findIndex(R=>R.ephemeral&&R.toolName===G));const U=typeof B.stepIndex=="number"?B.stepIndex:null;if(p===-1){const R={name:G,_streamedInput:d};N&&(R.callId=N);const _={id:N?`ephemeral-tool-call-${N}`:`ephemeral-tool-call-${G}-${Date.now()}`,messageId:b.id,index:D(E,U),stepIndex:U,type:"tool_call",content:JSON.stringify(R),contentJson:R,agent:b.agent,provider:b.provider,model:b.model,startedAt:Date.now(),completedAt:null,toolName:G,toolCallId:N,toolDurationMs:null,ephemeral:!0};E.push(_)}else{const R=E[p],_=typeof R.contentJson?._streamedInput=="string"?R.contentJson._streamedInput:"",tA={...typeof R.contentJson=="object"&&!Array.isArray(R.contentJson)?R.contentJson:{},_streamedInput:_+d};E[p]={...R,content:JSON.stringify(tA),contentJson:tA,stepIndex:U??R.stepIndex??null}}return j[H]={...b,parts:E},j})},X=(B,d)=>{if(!B)return;const N=u(B),G=f(B);G&&t.setQueryData(["messages",A],S=>{if(!S)return S;const j=[...S];let H=I(j);if(typeof B.messageId=="string"){const R=j.findIndex(_=>_.id===B.messageId);R!==-1&&(H=R)}if(H===-1)return S;const b=j[H],E=b.parts?[...b.parts]:[];let p=-1;N&&(p=E.findIndex(R=>R.toolCallId===N&&R.ephemeral)),p===-1&&!N&&(p=E.findIndex(R=>R.ephemeral&&R.toolName===G));const U=typeof B.stepIndex=="number"?B.stepIndex:null;if(p===-1){const R={name:G,_streamedOutput:d};N&&(R.callId=N);const _={id:N?`ephemeral-tool-call-${N}`:`ephemeral-tool-call-${G}-${Date.now()}`,messageId:b.id,index:D(E,U),stepIndex:U,type:"tool_call",content:JSON.stringify(R),contentJson:R,agent:b.agent,provider:b.provider,model:b.model,startedAt:Date.now(),completedAt:null,toolName:G,toolCallId:N,toolDurationMs:null,ephemeral:!0};E.push(_)}else{const R=E[p],_=typeof R.contentJson?._streamedOutput=="string"?R.contentJson._streamedOutput:"",tA={...typeof R.contentJson=="object"&&!Array.isArray(R.contentJson)?R.contentJson:{},_streamedOutput:_+d};E[p]={...R,content:JSON.stringify(tA),contentJson:tA,stepIndex:U??R.stepIndex??null}}return j[H]={...b,parts:E},j})},K=B=>{const d=u(B);if(!d)return;const N=f(B),G=typeof B?.stepIndex=="number"?B.stepIndex:null,S=B?.result,j=B?.artifact,H=h(B);t.setQueryData(["messages",A],b=>{if(!b)return b;let E=!1;const p=Date.now(),U=b.map(R=>{if(!R.parts?.length)return R;let _=!1;const tA=R.parts.map(IA=>{if(!(IA.ephemeral&&IA.toolCallId===d))return IA;_=!0,E=!0;const iA={...typeof IA.contentJson=="object"&&!Array.isArray(IA.contentJson)?IA.contentJson:{},name:N??IA.toolName??"tool",callId:d};H!==void 0&&(iA.args=H),S!==void 0&&(iA.result=S),j!==void 0&&(iA.artifact=j);const UA=IA.startedAt&&Number.isFinite(IA.startedAt)?Math.max(0,p-IA.startedAt):IA.toolDurationMs;return{...IA,type:"tool_result",content:JSON.stringify(iA),contentJson:iA,stepIndex:G??IA.stepIndex??null,completedAt:p,toolName:N??IA.toolName,toolDurationMs:UA??null}});return _?{...R,parts:tA}:R});return E?U:b})},W=B=>{const d=u(B);d&&t.setQueryData(["messages",A],N=>{if(!N)return N;let G=!1;const S=N.map(j=>{if(!j.parts?.length)return j;const H=j.parts.filter(b=>!(b.ephemeral&&b.toolCallId===d));return H.length===j.parts.length?j:(G=!0,{...j,parts:H})});return G?S:N})},T=B=>{B&&t.setQueryData(["messages",A],d=>{if(!d)return d;const N=d.findIndex(j=>j.id===B);if(N===-1)return d;const G=d[N];if(!G.parts?.some(j=>j.ephemeral&&j.type==="tool_call"))return d;const S=[...d];return S[N]={...G,parts:G.parts?.filter(j=>!(j.ephemeral&&j.type==="tool_call"))??[]},S})},L=B=>{const d=typeof B?.id=="string"?B.id:null;d&&t.setQueryData(["messages",A],N=>{if(!N)return N;const G=[...N],S=G.findIndex(H=>H.id===d);if(S===-1)return N;const j=G[S];return G[S]={...j,status:"complete",completedAt:Date.now()},G})},w=l.on("*",B=>{const d=B.payload;switch(B.type){case"message.created":{const N=typeof d?.role=="string"?d.role:null,G=typeof d?.id=="string"?d.id:null;if(N==="assistant"&&G&&(n.current=G),G&&N){const S=typeof d?.agent=="string"?d.agent:"",j=typeof d?.provider=="string"?d.provider:"",H=typeof d?.model=="string"?d.model:"",b=typeof d?.content=="string"?d.content:null,E=N==="user"&&b?[{id:`${G}-text`,messageId:G,index:0,stepIndex:null,type:"text",content:JSON.stringify({text:b}),contentJson:{text:b},agent:S,provider:j,model:H,startedAt:Date.now(),completedAt:Date.now(),toolName:null,toolCallId:null,toolDurationMs:null}]:[];t.setQueryData(["messages",A],p=>{if(!p||p.some(_=>_.id===G))return p;const U={id:G,sessionId:A,role:N,status:N==="user"?"complete":"pending",agent:S,provider:j,model:H,createdAt:Date.now(),completedAt:null,latencyMs:null,promptTokens:null,completionTokens:null,totalTokens:null,error:null,parts:E},R=[...p,U];return R.sort((_,tA)=>_.createdAt-tA.createdAt),R})}break}case"message.part.delta":{J(d);break}case"reasoning.delta":{O(d);break}case"message.completed":{const N=typeof d?.id=="string"?d.id:null;N&&n.current===N&&(n.current=null),L(d),T(N),t.invalidateQueries({queryKey:["messages",A]}),t.invalidateQueries({queryKey:fo});break}case"tool.delta":{const N=typeof d?.channel=="string"?d.channel:null,G=N==="output"?v(d):k(d);N==="input"||N==null&&G?G?eA(d,G):V(d):N==="output"&&G&&X(d,G);break}case"tool.call":{V(d);break}case"tool.result":{K(d);break}case"tool.approval.required":{const N=typeof d?.callId=="string"?d.callId:null,G=typeof d?.toolName=="string"?d.toolName:null,S=typeof d?.messageId=="string"?d.messageId:null,j=d?.args;N&&G&&S&&r({callId:N,toolName:G,args:j,messageId:S,createdAt:Date.now()});break}case"tool.approval.resolved":{const N=typeof d?.callId=="string"?d.callId:null;N&&i(N);break}case"tool.approval.updated":{const N=typeof d?.callId=="string"?d.callId:null,G=d?.args;N&&a(N,G);break}case"error":{W(d);const N=typeof d?.messageId=="string"?d.messageId:null;N&&T(N),t.invalidateQueries({queryKey:["messages",A]});break}case"message.updated":{const N=typeof d?.id=="string"?d.id:null,G=typeof d?.status=="string"?d.status:null;N&&G&&t.setQueryData(["messages",A],S=>{if(!S)return S;const j=S.findIndex(b=>b.id===N);if(j===-1)return S;const H=[...S];return H[j]={...H[j],status:G},H});break}case"queue.updated":{const N={currentMessageId:d?.currentMessageId,queuedMessages:d?.queuedMessages??[],queueLength:d?.queueLength??0};t.setQueryData(["queueState",A],N);break}}if(B.type==="finish-step"){const N=Date.now();N-Q>=2e3&&(Q=N,t.invalidateQueries({queryKey:fo}))}});return()=>{w(),l.disconnect()}},[A,t,r,i,e,g,a])}function d2(A){const{pendingApprovals:e,removePendingApproval:t}=Mr(),s=e,n=x.useCallback(async a=>{if(A)try{await mA.approveToolCall(A,a,!0),t(a)}catch(g){console.error("Failed to approve tool call:",g)}},[A,t]),r=x.useCallback(async a=>{if(A)try{await mA.approveToolCall(A,a,!1),t(a)}catch(g){console.error("Failed to reject tool call:",g)}},[A,t]),i=x.useCallback(async()=>{if(A)try{await Promise.all(s.map(a=>mA.approveToolCall(A,a.callId,!0)));for(const a of s)t(a.callId)}catch(a){console.error("Failed to approve all tool calls:",a)}},[A,s,t]);x.useEffect(()=>{if(!A||s.length===0)return;const a=g=>{if(g.target instanceof HTMLInputElement||g.target instanceof HTMLTextAreaElement||g.target?.isContentEditable)return;const Q=s[0];g.key==="y"||g.key==="Y"?(g.preventDefault(),n(Q.callId)):g.key==="n"||g.key==="N"||g.key==="Escape"?(g.preventDefault(),r(Q.callId)):(g.key==="a"||g.key==="A")&&(g.preventDefault(),i())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[A,s,n,r,i])}const h2=({height:A=22})=>{const e=Math.round(A*2.4686468646864688);return o.jsx("svg",{width:e,height:A,viewBox:"0 0 748 303",fill:"currentColor",className:"text-foreground","aria-label":"otto",role:"img",children:o.jsx("path",{d:"M192.877 257.682C192.877 263.287 191.783 268.551 189.596 273.473C187.545 278.395 184.674 282.701 180.982 286.393C177.428 289.947 173.189 292.818 168.268 295.006C163.482 297.057 158.287 298.082 152.682 298.082H44.1953C38.7266 298.082 33.5312 297.057 28.6094 295.006C23.6875 292.818 19.3809 289.947 15.6895 286.393C12.1348 282.701 9.26367 278.395 7.07617 273.473C5.02539 268.551 4 263.287 4 257.682V120.074C4 114.469 5.02539 109.205 7.07617 104.283C9.26367 99.3613 12.1348 95.123 15.6895 91.5684C19.3809 87.877 23.6875 85.0059 28.6094 82.9551C33.5312 80.7676 38.7266 79.6738 44.1953 79.6738H152.682C158.287 79.6738 163.482 80.7676 168.268 82.9551C173.189 85.0059 177.428 87.877 180.982 91.5684C184.674 95.123 187.545 99.3613 189.596 104.283C191.783 109.205 192.877 114.469 192.877 120.074V257.682ZM44.1953 120.074V257.682H152.682V120.074H44.1953ZM331.715 4V298.082H289.674V46.041H239.225V4H331.715ZM478.961 4V298.082H436.92V46.041H386.471V4H478.961ZM743.717 257.682C743.717 263.287 742.623 268.551 740.436 273.473C738.385 278.395 735.514 282.701 731.822 286.393C728.268 289.947 724.029 292.818 719.107 295.006C714.322 297.057 709.127 298.082 703.521 298.082H595.035C589.566 298.082 584.371 297.057 579.449 295.006C574.527 292.818 570.221 289.947 566.529 286.393C562.975 282.701 560.104 278.395 557.916 273.473C555.865 268.551 554.84 263.287 554.84 257.682V120.074C554.84 114.469 555.865 109.205 557.916 104.283C560.104 99.3613 562.975 95.123 566.529 91.5684C570.221 87.877 574.527 85.0059 579.449 82.9551C584.371 80.7676 589.566 79.6738 595.035 79.6738H703.521C709.127 79.6738 714.322 80.7676 719.107 82.9551C724.029 85.0059 728.268 87.877 731.822 91.5684C735.514 95.123 738.385 99.3613 740.436 104.283C742.623 109.205 743.717 114.469 743.717 120.074V257.682ZM595.035 120.074V257.682H703.521V120.074H595.035Z"})})},p2={sm:{ring:48,icon:20,iconSize:16},md:{ring:72,icon:32,iconSize:24},lg:{ring:96,icon:40,iconSize:32}},Ti=x.memo(function({status:e,label:t,sublabel:s,size:n="md"}){const{ring:r,icon:i,iconSize:a}=p2[n],g={position:"relative",display:"flex",alignItems:"center",justifyContent:"center",width:r,height:r},Q={content:'""',position:"absolute",inset:0,borderRadius:"50%"},l=()=>e==="success"?"rgb(34, 197, 94)":e==="error"?"rgb(239, 68, 68)":"currentColor";return o.jsxs("div",{className:"flex flex-col items-center justify-center gap-5",children:[o.jsxs("div",{style:g,children:[o.jsx("div",{style:{...Q,border:"2px solid hsl(var(--muted))"}}),e==="loading"&&o.jsx("div",{className:"animate-spin",style:{...Q,border:"2px solid transparent",borderTopColor:"hsl(var(--foreground))",animation:"spin 1s cubic-bezier(0.4, 0, 0.2, 1) infinite"}}),e==="success"&&o.jsx("div",{style:{...Q,border:`2px solid ${l()}`,opacity:.3}}),e==="error"&&o.jsx("div",{style:{...Q,border:`2px solid ${l()}`,opacity:.3}}),o.jsxs("div",{style:{position:"relative",zIndex:1},children:[e==="loading"&&o.jsx(h2,{height:Math.round(i*.65)}),e==="success"&&o.jsx(GB,{className:"text-green-500",style:{width:a,height:a}}),e==="error"&&o.jsx(va,{className:"text-red-500",style:{width:a,height:a}})]})]}),t&&o.jsxs("div",{className:"flex flex-col items-center gap-1",children:[o.jsx("span",{className:"text-sm font-medium text-foreground",children:t}),s&&o.jsx("span",{className:"text-xs text-muted-foreground",children:s})]})]})}),f2=[10,25,50,100],Oi=5,qi=2,Qs=500,m2=5e3,w2="https://share.ottocode.io/checkout/success";function x2(){return new Promise((A,e)=>{if(window.Razorpay){A();return}const t=document.createElement("script");t.src="https://checkout.razorpay.com/v1/checkout.js",t.onload=()=>A(),t.onerror=()=>e(new Error("Failed to load Razorpay")),document.head.appendChild(t)})}function D2({className:A="w-5 h-5"}){return o.jsxs("svg",{className:A,viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:[o.jsx("title",{children:"Polar"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.08734 21.1119C10.2671 24.6182 17.3085 23.2616 20.8148 18.0818C24.3211 12.9021 22.9645 5.86065 17.7848 2.35436C12.605 -1.15192 5.56353 0.204698 2.05724 5.38446C-1.44904 10.5642 -0.0924184 17.6057 5.08734 21.1119ZM6.58958 21.2045C11.3278 23.6286 17.3384 21.3531 20.0147 16.1221C22.6909 10.891 21.0194 4.68533 16.2811 2.2612C11.543 -0.162919 5.53235 2.11252 2.8561 7.34355C0.179842 12.5745 1.85138 18.7803 6.58958 21.2045Z"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.93988 22.4416C12.2169 23.8337 17.2485 20.1561 19.1782 14.2276C21.1078 8.29898 19.2047 2.3644 14.9276 0.9723C10.6505 -0.419794 5.61905 3.25775 3.68942 9.18633C1.7598 15.1149 3.6628 21.0495 7.93988 22.4416ZM9.24825 21.991C12.868 22.7631 16.7819 18.796 17.9904 13.1305C19.1988 7.46494 17.244 2.24622 13.6243 1.47416C10.0046 0.702105 6.09064 4.66908 4.88222 10.3347C3.67381 16.0002 5.62854 21.2189 9.24825 21.991Z"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10.2406 22.9252C13.1024 23.2308 15.9585 18.4574 16.6199 12.2635C17.2812 6.06969 15.4974 0.800854 12.6356 0.495275C9.77386 0.189695 6.91772 4.96309 6.25634 11.157C5.59498 17.3508 7.37878 22.6196 10.2406 22.9252ZM11.5798 21.04C13.6508 21.0073 15.264 16.8146 15.1828 11.6754C15.1017 6.53608 13.3568 2.39642 11.2858 2.42914C9.21463 2.46187 7.60148 6.65457 7.68268 11.7939C7.76387 16.9331 9.50864 21.0727 11.5798 21.04Z"})]})}function y2({className:A="w-5 h-5"}){return o.jsxs("svg",{className:A,viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:[o.jsx("title",{children:"Razorpay"}),o.jsx("path",{d:"M22.436 0l-11.91 7.773-1.174 4.276 6.625-4.297L11.65 24h4.391l6.395-24zM14.26 10.098L3.389 17.166 1.564 24h9.008l3.688-13.902Z"})]})}const yg=x.memo(function(){const e=Ne(kA=>kA.isTopupModalOpen),t=Ne(kA=>kA.closeTopupModal),s=Ne(kA=>kA.balance),n=Ne(kA=>kA.setBalance),r=Ne(kA=>kA.usdcBalance),i=Ne(kA=>kA.subscription),[a,g]=x.useState("amount"),[Q,l]=x.useState("polar"),[C,I]=x.useState(25),[c,u]=x.useState(""),[f,h]=x.useState(!1),[k,v]=x.useState(null),[D,O]=x.useState(null),[J,V]=x.useState(!1),[eA,X]=x.useState(!1),[K,W]=x.useState(null),[T,L]=x.useState(!1),[w,B]=x.useState(null),[d,N]=x.useState(0),[G,S]=x.useState(!1),j=x.useRef(null),H=f?parseFloat(c)||0:C,b=!!i?.active,E=Q==="razorpay"?qi:Oi,p=x.useCallback(async kA=>{if(kA<E||kA>Qs){v(null),O(null);return}V(!0);try{if(Q==="polar"){const VA=await mA.getPolarTopupEstimate(kA);v(VA),O(null)}else{const VA=await mA.getRazorpayTopupEstimate(kA);O(VA),v(null)}}catch{v(null),O(null)}finally{V(!1)}},[Q,E]);x.useEffect(()=>{if(e&&H>=E&&a==="amount"){const kA=setTimeout(()=>p(H),300);return()=>clearTimeout(kA)}},[e,H,p,a,E]);const U=x.useCallback(()=>{j.current&&(clearInterval(j.current),j.current=null),L(!1)},[]);x.useEffect(()=>{e||(U(),g("amount"),W(null),B(null),N(0))},[e,U]),x.useEffect(()=>()=>U(),[U]);const R=x.useCallback(kA=>{if(j.current)return;L(!0),N(0);const VA=async()=>{try{const ae=await mA.getPolarTopupStatus(kA);if(N(He=>He+1),ae?.confirmed){U(),B(ae.amountUsd),localStorage.removeItem("pendingPolarCheckout");const He=await mA.getOttoRouterBalance();He?.balance!==void 0&&n(He.balance),g("confirmed")}}catch{N(ae=>ae+1)}};VA(),j.current=setInterval(VA,m2)},[U,n]),_=kA=>{I(kA),h(!1),u("")},tA=kA=>{u(kA),h(!0)},IA=x.useCallback(kA=>{window.self!==window.top?window.parent.postMessage({type:"otto-open-url",url:kA},"*"):window.open(kA,"_blank")},[]),iA=async()=>{if(H<Oi||H>Qs){de.error(`Amount must be between $${Oi} and $${Qs}`);return}X(!0);try{const kA=await mA.createPolarCheckout(H,w2);if(kA.checkoutUrl&&kA.checkoutId){const VA={url:kA.checkoutUrl,checkoutId:kA.checkoutId,creditAmount:kA.creditAmount,chargeAmount:kA.chargeAmount};W(VA),localStorage.setItem("pendingPolarCheckout",kA.checkoutId),g("checkout"),IA(kA.checkoutUrl),R(kA.checkoutId)}}catch(kA){de.error(kA instanceof Error?kA.message:"Failed to create checkout")}finally{X(!1)}},UA=async()=>{if(H<qi||H>Qs){de.error(`Amount must be between $${qi} and $${Qs}`);return}X(!0);try{await x2();const kA=await mA.createRazorpayOrder(H);g("razorpay-processing");const VA=new window.Razorpay({key:kA.keyId,amount:kA.amount,currency:kA.currency,name:"Setu",description:`Top up $${kA.creditAmountUsd.toFixed(2)} credits`,order_id:kA.orderId,handler:async ae=>{try{const He=await mA.verifyRazorpayPayment({razorpay_order_id:ae.razorpay_order_id,razorpay_payment_id:ae.razorpay_payment_id,razorpay_signature:ae.razorpay_signature});if(He.success){B(He.credited);const le=await mA.getOttoRouterBalance();le?.balance!==void 0&&n(le.balance),g("confirmed")}}catch(He){de.error(He instanceof Error?He.message:"Payment verification failed"),g("amount")}},modal:{ondismiss:()=>{g("amount")}},theme:{color:"#7c3aed"}});VA.on("payment.failed",()=>{de.error("Payment failed. Please try again."),g("amount")}),VA.open()}catch(kA){de.error(kA instanceof Error?kA.message:"Failed to create order"),g("amount")}finally{X(!1)}},HA=()=>{Q==="polar"?iA():UA()},lA=async()=>{if(K){S(!0);try{const kA=await mA.getPolarTopupStatus(K.checkoutId);if(kA?.confirmed){U(),B(kA.amountUsd),localStorage.removeItem("pendingPolarCheckout");const VA=await mA.getOttoRouterBalance();VA?.balance!==void 0&&n(VA.balance),g("confirmed")}else de.error("Payment not confirmed yet. Keep waiting or try again.")}catch(kA){console.error("[OttoRouterTopupModal] Check failed:",kA),de.error("Failed to check payment status")}finally{S(!1)}}},qA=()=>{t()},re=H>=E&&H<=Qs,he=a==="confirmed"?"Payment Confirmed":a==="checkout"?"Waiting for Payment":a==="razorpay-processing"?"Processing Payment":"Add Credits";return o.jsx(Po,{isOpen:e,onClose:t,title:he,maxWidth:"md",children:o.jsxs("div",{className:"space-y-6",children:[a==="confirmed"&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"py-4",children:o.jsx(Ti,{status:"success",label:`+$${w?.toFixed(2)??K?.creditAmount.toFixed(2)}`,sublabel:"Credits added to your balance"})}),o.jsx("button",{type:"button",onClick:qA,className:"w-full h-12 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors flex items-center justify-center gap-2",children:"Done"})]}),a==="razorpay-processing"&&o.jsx("div",{className:"py-8",children:o.jsx(Ti,{status:"loading",label:"Complete payment in the Razorpay window",sublabel:"Do not close this page"})}),a==="checkout"&&K&&o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"py-4",children:[o.jsx(Ti,{status:"loading",label:"Complete your payment",sublabel:"A checkout window has been opened"}),o.jsxs("div",{className:"flex items-center justify-center gap-2 mt-4 px-3 py-1.5 bg-muted/40 rounded-full w-fit mx-auto",children:[o.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-blue-500 animate-pulse"}),o.jsx("span",{className:"text-xs text-muted-foreground font-mono",children:T?`Checking... (${d})`:"Paused"})]})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsxs("button",{type:"button",onClick:lA,disabled:G,className:"w-full h-12 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:[G?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):o.jsx(Vt,{className:"w-4 h-4"}),G?"Checking...":"Check Now"]}),o.jsxs("button",{type:"button",onClick:()=>IA(K.url),className:"w-full h-11 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors flex items-center justify-center gap-2",children:[o.jsx(vt,{className:"w-4 h-4"}),"Open Checkout Again"]})]}),o.jsx("p",{className:"text-xs text-muted-foreground text-center",children:"Status checks automatically every 5 seconds. You can close this and it will keep checking."})]}),a==="amount"&&o.jsxs(o.Fragment,{children:[b&&o.jsx("div",{className:"text-xs text-muted-foreground bg-muted/30 border border-border rounded-lg px-3 py-2",children:"You are on GO. Top-ups add extra balance for additional usage."}),o.jsxs("div",{className:"flex items-center justify-between py-3 px-4 bg-muted/40 rounded-lg",children:[o.jsx("span",{className:"text-sm text-muted-foreground",children:"Current Balance"}),o.jsxs("span",{className:"text-lg font-mono font-semibold",children:["$",s?.toFixed(2)??"0.00"]})]}),o.jsxs("div",{className:"flex rounded-lg border border-border overflow-hidden",children:[o.jsxs("button",{type:"button",onClick:()=>l("polar"),className:`flex-1 flex items-center justify-center gap-2 py-2.5 text-sm font-medium transition-colors ${Q==="polar"?"bg-foreground text-background":"bg-transparent text-muted-foreground hover:text-foreground"}`,children:[o.jsx(D2,{className:"w-3.5 h-3.5"}),"Polar"]}),o.jsxs("button",{type:"button",onClick:()=>l("razorpay"),className:`flex-1 flex items-center justify-center gap-2 py-2.5 text-sm font-medium transition-colors ${Q==="razorpay"?"bg-foreground text-background":"bg-transparent text-muted-foreground hover:text-foreground"}`,children:[o.jsx(y2,{className:"w-3.5 h-3.5"}),"Razorpay"]})]}),o.jsxs("div",{className:"space-y-4",children:[o.jsx("div",{className:"grid grid-cols-4 gap-2",children:f2.map(kA=>o.jsxs("button",{type:"button",onClick:()=>_(kA),className:`h-12 text-base font-mono rounded-lg border-2 transition-all ${!f&&C===kA?"bg-foreground text-background border-foreground":"bg-transparent border-border text-foreground hover:border-foreground/40"}`,children:["$",kA]},kA))}),o.jsxs("div",{className:"relative",children:[o.jsx("span",{className:"absolute left-4 top-1/2 -translate-y-1/2 text-muted-foreground text-lg",children:"$"}),o.jsx("input",{type:"number",placeholder:"Custom",value:c,onChange:kA=>tA(kA.target.value),onFocus:()=>h(!0),min:E,max:Qs,step:"1",className:`w-full h-12 pl-8 pr-4 text-base font-mono bg-transparent border-2 rounded-lg outline-none transition-all ${f?"border-foreground":"border-border focus:border-foreground/40"}`})]})]}),o.jsx("div",{className:`grid transition-all duration-200 ease-out ${re?"grid-rows-[1fr] opacity-100":"grid-rows-[0fr] opacity-0"}`,children:o.jsx("div",{className:"overflow-hidden",children:o.jsx("div",{className:"space-y-3 py-4 border-t border-border",children:J?o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"flex justify-between items-center",children:[o.jsx("span",{className:"text-sm text-muted-foreground",children:"Credits"}),o.jsx("div",{className:"h-6 w-16 bg-muted/60 rounded animate-pulse"})]}),o.jsxs("div",{className:"flex justify-between items-center",children:[o.jsx("span",{className:"text-sm text-muted-foreground",children:"Fee"}),o.jsx("div",{className:"h-4 w-12 bg-muted/60 rounded animate-pulse"})]}),o.jsxs("div",{className:"flex justify-between items-center pt-3 border-t border-border",children:[o.jsx("span",{className:"font-medium",children:"Total"}),o.jsx("div",{className:"h-7 w-20 bg-muted/60 rounded animate-pulse"})]})]}):Q==="polar"&&k?o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"flex justify-between items-center",children:[o.jsx("span",{className:"text-sm text-muted-foreground",children:"Credits"}),o.jsxs("span",{className:"font-mono text-lg",children:["$",k.creditAmount.toFixed(2)]})]}),o.jsxs("div",{className:"flex justify-between items-center",children:[o.jsx("span",{className:"text-sm text-muted-foreground",children:"Fee"}),o.jsxs("span",{className:"font-mono text-sm text-muted-foreground",children:["+$",k.feeAmount.toFixed(2)]})]}),o.jsxs("div",{className:"flex justify-between items-center pt-3 border-t border-border",children:[o.jsx("span",{className:"font-medium",children:"Total"}),o.jsxs("span",{className:"font-mono text-xl font-semibold",children:["$",k.chargeAmount.toFixed(2)]})]})]}):Q==="razorpay"&&D?o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"flex justify-between items-center",children:[o.jsx("span",{className:"text-sm text-muted-foreground",children:"Credits"}),o.jsxs("span",{className:"font-mono text-lg",children:["$",D.creditAmountUsd.toFixed(2)]})]}),o.jsxs("div",{className:"flex justify-between items-center",children:[o.jsx("span",{className:"text-sm text-muted-foreground",children:"Fee"}),o.jsxs("span",{className:"font-mono text-sm text-muted-foreground",children:["+₹",D.feeAmountInr.toFixed(2)]})]}),o.jsxs("div",{className:"flex justify-between items-center pt-3 border-t border-border",children:[o.jsx("span",{className:"font-medium",children:"Total"}),o.jsxs("span",{className:"font-mono text-xl font-semibold",children:["₹",D.chargeAmountInr.toFixed(2)]})]}),o.jsxs("p",{className:"text-[10px] text-muted-foreground text-right",children:["1 USD ≈ ",D.exchangeRate," INR"]})]}):null})})}),o.jsxs("button",{type:"button",onClick:HA,disabled:!re||eA,className:"w-full h-12 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2",children:[eA?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):o.jsx(fr,{className:"w-4 h-4"}),Q==="polar"?"Pay with Card":"Pay with Razorpay"]}),o.jsxs("div",{className:"relative pt-6",children:[o.jsxs("div",{className:"absolute inset-x-0 top-0 flex items-center",children:[o.jsx("div",{className:"flex-1 h-px bg-border"}),o.jsx("span",{className:"px-3 text-xs text-muted-foreground",children:"OR"}),o.jsx("div",{className:"flex-1 h-px bg-border"})]}),o.jsxs("div",{className:"flex items-start gap-3 p-4 bg-muted/30 rounded-lg",children:[o.jsx(Ja,{className:"w-5 h-5 text-muted-foreground mt-0.5"}),o.jsxs("div",{className:"flex-1 min-w-0",children:[o.jsxs("div",{className:"flex items-center justify-between",children:[o.jsx("span",{className:"font-medium text-sm",children:"Pay with USDC"}),r!==null&&o.jsxs("span",{className:"text-xs font-mono text-muted-foreground",children:[r.toFixed(2)," USDC"]})]}),o.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Send USDC to your Setu wallet to increase balance."})]})]})]})]})]})})}),N2=x.memo(function({sessionId:e,onSelectSession:t}){const{data:s=[],isLoading:n}=Qa(e),{data:r=[]}=Hn(),{preferences:i}=Zs();cE(e),d2(e);const a=x.useMemo(()=>r.find(Q=>Q.id===e),[r,e]),g=x.useMemo(()=>s.some(Q=>Q.role==="assistant"&&Q.status==="pending"),[s]);return n?o.jsx("div",{className:"flex-1 flex items-center justify-center text-muted-foreground",children:"Loading messages..."}):o.jsxs(o.Fragment,{children:[o.jsx(u2,{messages:s,sessionId:e,session:a,isGenerating:g,compact:i.compactThread,onSelectSession:t}),o.jsx(yg,{})]})}),cB=1440*60*1e3;function k2(A){const e=Date.now()-A,t=Math.floor(e/6e4);if(t<1)return"just now";if(t<60)return`${t}m ago`;const s=Math.floor(t/60);if(s<24)return`${s}h ago`;const n=Math.floor(s/24);if(n<7)return`${n}d ago`;const r=Math.floor(n/7);if(r<5)return`${r}w ago`;const i=Math.floor(n/30);return i<12?`${i}mo ago`:`${Math.floor(n/365)}y ago`}function M2(A){const e=new Date,t=new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime(),s=t-cB,n=t-cB*7;return A>=t?"Today":A>=s?"Yesterday":A>=n?"Earlier":"Older"}const b2=x.memo(function({session:e,isActive:t,onClick:s}){const n=e.title||`Session ${e.id.slice(0,8)}`,r=e.isRunning??!1,i=e.lastActiveAt??e.createdAt,a=k2(i);return o.jsx("button",{type:"button",onClick:s,className:`w-full text-left px-3 py-2.5 rounded-lg transition-colors duration-150 ${t?"bg-sidebar-accent text-sidebar-foreground":"text-sidebar-foreground hover:bg-sidebar-accent/50"}`,title:`${n} — ${a}`,children:o.jsxs("span",{className:"block min-w-0",children:[o.jsx("span",{className:`block truncate text-[13px] leading-5 ${t?"font-medium":"font-normal"}`,children:n}),o.jsxs("span",{className:"mt-0.5 flex items-center justify-between gap-3 text-[11px] leading-4 text-sidebar-muted-foreground",children:[o.jsx("span",{className:"truncate",children:a}),o.jsxs("span",{className:"relative flex h-2 w-2 shrink-0",children:[r&&o.jsx("span",{className:"absolute inline-flex h-full w-full animate-ping rounded-full bg-emerald-400 opacity-75"}),o.jsx("span",{className:`relative inline-flex h-2 w-2 rounded-full ${r?"bg-emerald-500":"bg-sidebar-muted-foreground/35"}`})]})]})]})})}),Ng=ht(A=>({currentFocus:null,sessionIndex:0,gitFileIndex:0,setFocus:e=>A({currentFocus:e}),setSessionIndex:e=>A({sessionIndex:e}),setGitFileIndex:e=>A({gitFileIndex:e}),resetGitFileIndex:()=>A({gitFileIndex:0}),resetSessionIndex:()=>A({sessionIndex:0})})),F2=x.memo(function({activeSessionId:e,onSelectSession:t}){const{data:s=[],isLoading:n,hasNextPage:r,fetchNextPage:i,isFetchingNextPage:a}=Hn(),{currentFocus:g,sessionIndex:Q}=Ng(),l=x.useRef(new Map),C=x.useRef(null),I=x.useRef(void 0),c=x.useCallback(v=>{I.current=v,t(v)},[t]),u=x.useMemo(()=>s.map((v,D)=>({id:v.id,index:D,title:v.title,agent:v.agent,createdAt:v.createdAt,lastActiveAt:v.lastActiveAt,activityAt:v.lastActiveAt??v.createdAt})),[s]),f=x.useMemo(()=>new Map(s.map(v=>[v.id,v])),[s]),h=x.useMemo(()=>{const v=new Map;for(const D of u){const O=M2(D.activityAt),J=v.get(O)??[];J.push(D),v.set(O,J)}return Array.from(v.entries()).map(([D,O])=>({label:D,sessions:O}))},[u]);if(x.useEffect(()=>{if(g==="sessions"){const v=u[Q];v&&l.current.get(v.id)?.scrollIntoView({block:"nearest",behavior:"smooth"})}},[g,Q,u]),x.useEffect(()=>{if(!e||I.current===e||s.length===0)return;const v=s.findIndex(D=>D.id===e);if(v===-1&&r){i();return}v!==-1&&(I.current=e,requestAnimationFrame(()=>{l.current.get(e)?.scrollIntoView({block:"nearest",behavior:"smooth"})}))},[e,s,r,i]),x.useEffect(()=>{const v=C.current;if(!v)return;const D=()=>{const{scrollTop:O,scrollHeight:J,clientHeight:V}=v;J-O-V<100&&r&&!a&&i()};return v.addEventListener("scroll",D,{passive:!0}),()=>v.removeEventListener("scroll",D)},[r,a,i]),n)return o.jsxs("div",{className:"flex flex-col gap-2 px-3 py-2",children:[o.jsx("div",{className:"h-8 rounded-md bg-sidebar-accent/50 animate-pulse"}),o.jsx("div",{className:"h-8 rounded-md bg-sidebar-accent/50 animate-pulse"}),o.jsx("div",{className:"h-8 rounded-md bg-sidebar-accent/50 animate-pulse"}),o.jsx("div",{className:"h-8 rounded-md bg-sidebar-accent/50 animate-pulse"})]});if(u.length===0)return o.jsx("div",{className:"px-4 py-8 text-center text-sm text-sidebar-muted-foreground",children:"No sessions yet. Create one to get started."});const k=v=>{const D=f.get(v.id);if(!D)return null;const O=g==="sessions"&&Q===v.index;return o.jsx("div",{ref:J=>{J?l.current.set(v.id,J):l.current.delete(v.id)},className:O?"ring-1 ring-sidebar-ring/40 rounded-md":"",children:o.jsx(b2,{session:D,isActive:v.id===e,onClick:()=>c(v.id)})},v.id)};return o.jsxs("div",{ref:C,className:"flex flex-col h-full overflow-y-auto scrollbar-hide",children:[o.jsx("div",{className:"h-14 shrink-0","aria-hidden":"true"}),h.length>0&&o.jsx("div",{className:"px-3 pt-3 pb-1",children:o.jsx("div",{className:"space-y-3",children:h.map(v=>o.jsxs("div",{children:[o.jsx("h4",{className:"sticky top-14 z-10 px-3 py-2 mb-1 text-[11px] font-medium uppercase tracking-[0.18em] text-sidebar-muted-foreground/80 bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/75",children:v.label}),o.jsx("div",{className:"flex flex-col gap-1",children:v.sessions.map(D=>k(D))})]},v.label))})}),a&&o.jsx("div",{className:"flex justify-center py-3",children:o.jsx(Le,{className:"h-4 w-4 animate-spin text-sidebar-muted-foreground"})})]})}),G2=new Set(["png","jpg","jpeg","gif","svg","webp","ico","bmp","avif"]);function v2(A){const e=A.split(".").pop()?.toLowerCase()??"";return G2.has(e)}const S2={js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",sh:"bash",bash:"bash",zsh:"bash",sql:"sql",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",html:"html",css:"css",scss:"scss",md:"markdown",txt:"plaintext",svelte:"svelte"};function U2(A){const e=A.split(".").pop()?.toLowerCase()??"";return e?S2[e]??"plaintext":"plaintext"}function R2(A){const e=A.split("/");return e[e.length-1]}function K2({diff:A}){const e=document?.documentElement.classList.contains("dark")?Eo:Co,t=A.language&&A.language.trim().length>0?A.language:U2(A.file),s=R2(A.file);if(A.isNewFile&&A.content)return o.jsxs("div",{className:"flex flex-col h-full bg-background",children:[o.jsxs("div",{className:"px-4 py-2 bg-muted/50 flex items-center justify-between min-h-10",children:[o.jsx("span",{className:"font-mono text-sm text-foreground truncate",title:A.file,children:s}),o.jsxs("div",{className:"flex items-center gap-3 text-xs flex-shrink-0",children:[o.jsxs("span",{className:"text-green-600 dark:text-green-500",children:["+",A.insertions]}),o.jsx("span",{className:"text-muted-foreground",children:t})]})]}),o.jsx("div",{className:"px-4 py-3 bg-green-500/10 border-b border-green-500/20",children:o.jsxs("p",{className:"text-sm text-green-600 dark:text-green-400 font-medium",children:["New file: ",A.insertions," lines"]})}),o.jsx("div",{className:"flex-1 overflow-auto",children:o.jsx("div",{className:"code-with-line-numbers",children:o.jsx(qt,{language:t,style:e,wrapLines:!0,wrapLongLines:!0,lineProps:()=>({className:"code-line"}),customStyle:{margin:0,padding:"1rem",background:"transparent"},codeTagProps:{style:{flex:1}},children:A.content})})})]});if(A.isBinary){const l=v2(A.file)?`${yl()}/v1/files/raw?path=${encodeURIComponent(A.file)}`:null;return o.jsxs("div",{className:"flex flex-col h-full bg-background",children:[o.jsxs("div",{className:"px-4 py-2 bg-muted/50 flex items-center justify-between min-h-10",children:[o.jsx("span",{className:"font-mono text-sm text-foreground truncate",title:A.file,children:s}),o.jsx("div",{className:"flex items-center gap-3 text-xs flex-shrink-0",children:o.jsx("span",{className:"text-muted-foreground",children:"Binary file"})})]}),l?o.jsx("div",{className:"flex-1 flex items-center justify-center p-4 overflow-auto",children:o.jsx("img",{src:l,alt:s,className:"max-w-full max-h-[60vh] object-contain rounded border border-border"})}):o.jsx("div",{className:"flex-1 flex items-center justify-center",children:o.jsx("div",{className:"p-4 text-center",children:o.jsx("p",{className:"text-sm text-muted-foreground",children:"Binary file - cannot display diff"})})})]})}const n=A.diff.split(`
|
|
120
|
+
`),r=[];let i=0,a=0;for(const Q of n)if(Q.startsWith("@@")){const l=Q.match(/@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);l&&(i=parseInt(l[1],10),a=parseInt(l[2],10)),r.push({oldLineNumber:null,newLineNumber:null,content:Q,codeContent:Q,type:"hunk"})}else Q.startsWith("diff")||Q.startsWith("index")||Q.startsWith("---")||Q.startsWith("+++")?r.push({oldLineNumber:null,newLineNumber:null,content:Q,codeContent:Q,type:"meta"}):Q.startsWith("+")?(r.push({oldLineNumber:null,newLineNumber:a,content:Q,codeContent:Q.slice(1),type:"add"}),a++):Q.startsWith("-")?(r.push({oldLineNumber:i,newLineNumber:null,content:Q,codeContent:Q.slice(1),type:"delete"}),i++):(r.push({oldLineNumber:i,newLineNumber:a,content:Q,codeContent:Q,type:"context"}),i++,a++);const g=(Q,l)=>{let C="flex hover:bg-muted/20",I="flex-shrink-0 w-20 px-2 py-0.5 text-xs font-mono select-none border-r border-border",c="flex-1 px-4 py-0.5 font-mono text-xs overflow-x-auto";Q.type==="hunk"?(C+=" bg-blue-500/10",I+=" text-blue-600 dark:text-blue-400",c+=" text-blue-600 dark:text-blue-400 font-semibold"):Q.type==="add"?(C+=" bg-green-500/10",I+=" text-green-700 dark:text-green-400",c+=" text-green-700 dark:text-green-400"):Q.type==="delete"?(C+=" bg-red-500/10",I+=" text-red-600 dark:text-red-400",c+=" text-red-600 dark:text-red-400"):Q.type==="meta"?(c+=" text-muted-foreground",I+=" text-muted-foreground"):(c+=" text-foreground/80",I+=" text-muted-foreground");const u=Q.oldLineNumber!==null?Q.oldLineNumber.toString():"",f=Q.newLineNumber!==null?Q.newLineNumber.toString():"";let h=Q.content||" ";return Q.type!=="meta"&&Q.type!=="hunk"&&t!=="plaintext"&&Q.codeContent.trim()&&(h=o.jsx(qt,{language:t,style:e,customStyle:{margin:0,padding:0,background:"transparent",display:"inline",fontSize:"inherit",lineHeight:"inherit"},codeTagProps:{style:{fontFamily:"inherit",background:"transparent"}},PreTag:"span",children:Q.codeContent}),Q.type==="add"?h=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:"+"}),h]}):Q.type==="delete"&&(h=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:"-"}),h]}))),o.jsxs("div",{className:C,children:[o.jsx("div",{className:I,"aria-hidden":"true",style:{pointerEvents:"none"},children:o.jsxs("div",{className:"flex justify-between gap-2",children:[o.jsx("span",{className:"text-right w-8",children:u}),o.jsx("span",{className:"text-right w-8",children:f})]})}),o.jsx("div",{className:c,children:h})]},l)};return o.jsxs("div",{className:"flex flex-col h-full bg-background",children:[o.jsxs("div",{className:"px-4 py-2 bg-muted/50 flex items-center justify-between min-h-10",children:[o.jsx("span",{className:"font-mono text-sm text-foreground truncate",title:A.file,children:s}),o.jsxs("div",{className:"flex items-center gap-3 text-xs flex-shrink-0",children:[A.insertions>0&&o.jsxs("span",{className:"text-green-600 dark:text-green-500",children:["+",A.insertions]}),A.deletions>0&&o.jsxs("span",{className:"text-red-600 dark:text-red-500",children:["-",A.deletions]}),o.jsx("span",{className:"text-muted-foreground",children:t})]})]}),o.jsx("div",{className:"flex-1 overflow-auto",children:A.diff.trim()===""?o.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"No changes to display"}):o.jsx("div",{className:"min-w-max",children:r.map(g)})})]})}function J2(A,e=2){const t=A.split("/");return t.length<=e+1?A:`../${t.slice(-e).join("/")}`}function $r({file:A,staged:e,showModifiedIndicator:t=!1}){const{openDiff:s}=Te(),n=Wn(),r=og(),i=Tl(),a=Ol(),g=za(D=>D.openConfirmation),[Q,l]=x.useState(e),C=async D=>{D.stopPropagation();const O=D.target.checked;l(O);try{O?await n.mutateAsync([A.path]):await r.mutateAsync([A.path])}catch(J){l(!O),console.error("Failed to stage/unstage file:",J)}},I=async D=>{D.stopPropagation(),g({title:"Restore File",message:`Restore ${A.path} to HEAD state? This will discard all changes.`,confirmLabel:"Restore",variant:"destructive",onConfirm:async()=>{try{await i.mutateAsync([A.path])}catch(O){throw console.error("Failed to restore file:",O),O}}})},c=async D=>{D.stopPropagation(),g({title:"Delete File",message:`Delete ${A.path}? This will permanently remove the untracked file.`,confirmLabel:"Delete",variant:"destructive",onConfirm:async()=>{try{await a.mutateAsync([A.path])}catch(O){throw console.error("Failed to delete file:",O),O}}})},u=()=>{s(A.path,e)},h=(()=>{switch(A.status){case"added":case"untracked":return{icon:HB,color:"text-green-500",label:"A",labelColor:"text-green-500"};case"deleted":return{icon:QC,color:"text-red-500",label:"D",labelColor:"text-red-500"};case"modified":return{icon:es,color:"text-blue-500",label:"M",labelColor:"text-blue-500"};case"renamed":return{icon:es,color:"text-purple-500",label:"R",labelColor:"text-purple-500"};case"conflicted":return{icon:YB,color:"text-red-500",label:"C",labelColor:"text-red-500"};default:return{icon:es,color:"text-muted-foreground",label:"?",labelColor:"text-muted-foreground"}}})(),k=h.icon,v=J2(A.path,2);return o.jsxs("button",{type:"button",className:"flex items-center gap-2 px-3 py-1.5 hover:bg-muted/50 cursor-pointer group transition-colors w-full text-left h-9",onClick:u,children:[o.jsx("input",{type:"checkbox",checked:Q,onChange:C,onClick:D=>D.stopPropagation(),className:"w-4 h-4 rounded border-border","aria-label":`${Q?"Unstage":"Stage"} ${A.path}`}),o.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[o.jsx(k,{className:`w-4 h-4 flex-shrink-0 ${h.color}`}),o.jsx("div",{className:"flex-1 min-w-0",children:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("span",{className:"text-sm text-foreground font-mono truncate",title:`${A.path}
|
|
121
|
+
${A.absPath}`,children:v}),o.jsxs("div",{className:"flex items-center gap-1 flex-shrink-0",children:[o.jsx("span",{className:`text-xs font-semibold ${h.labelColor}`,children:h.label}),t&&o.jsx("div",{title:"Also modified in working directory",children:o.jsx(wo,{className:"w-3.5 h-3.5 text-orange-500"})})]})]})})]}),A.insertions!==void 0||A.deletions!==void 0?o.jsxs("div",{className:"flex items-center gap-2 text-xs flex-shrink-0",children:[A.insertions!==void 0&&A.insertions>0&&o.jsxs("span",{className:"text-green-500",children:["+",A.insertions]}),A.deletions!==void 0&&A.deletions>0&&o.jsxs("span",{className:"text-red-500",children:["-",A.deletions]})]}):null,o.jsxs("div",{className:"w-7 flex items-center justify-center flex-shrink-0",children:[!e&&A.status==="untracked"&&o.jsx("button",{type:"button",onClick:c,className:"p-1 hover:bg-destructive/10 rounded opacity-0 group-hover:opacity-100 transition-opacity",title:"Delete untracked file","aria-label":`Delete ${A.path}`,children:o.jsx(mr,{className:"w-4 h-4 text-destructive"})}),!e&&A.status!=="untracked"&&A.status!=="added"&&o.jsx("button",{type:"button",onClick:I,className:"p-1 hover:bg-destructive/10 rounded opacity-0 group-hover:opacity-100 transition-opacity",title:"Restore file to HEAD (Shift+R)","aria-label":`Restore ${A.path}`,children:o.jsx(TB,{className:"w-4 h-4 text-destructive"})}),e&&!t&&o.jsx(Yt,{className:"w-4 h-4 text-green-500 opacity-0 group-hover:opacity-100 transition-opacity"})]})]})}function L2({status:A}){const{openCommitModal:e,openDiff:t}=Te(),s=Wn();og();const{currentFocus:n,gitFileIndex:r}=Ng(),i=x.useRef(new Map),a=(A.conflicted?.length??0)>0,g=A.staged.length>0,Q=A.unstaged.length>0||A.untracked.length>0,l=[...A.unstaged,...A.untracked],C=l.length>0;x.useMemo(()=>[...A.conflicted??[],...A.staged,...A.unstaged,...A.untracked],[A]);const I=new Set(A.unstaged.map(f=>f.path)),c=()=>{const f=l.map(h=>h.path);f.length>0&&s.mutate(f)},u=A.conflicted?.length??0;return x.useEffect(()=>{if(n==="git"&&r>=0){i.current.get(r)?.scrollIntoView({block:"nearest",behavior:"smooth"});const k=[...A.conflicted??[],...A.staged,...A.unstaged,...A.untracked][r];if(k){const v=A.staged.includes(k);t(k.path,v)}}},[n,r,A.conflicted,A.staged,A.unstaged,A.untracked,t]),o.jsxs("div",{className:"flex flex-col",children:[a&&o.jsxs("div",{className:"border-b border-border",children:[o.jsx("div",{className:"px-3 py-2 bg-red-500/10 flex items-center justify-between",children:o.jsxs("span",{className:"text-xs font-semibold text-red-500 uppercase flex items-center gap-1.5",children:[o.jsx(YB,{className:"w-3.5 h-3.5"}),"Conflicts (",u,")"]})}),o.jsx("div",{className:"divide-y divide-border",children:A.conflicted?.map((f,h)=>{const k=h,v=n==="git"&&r===k;return o.jsx("div",{ref:D=>{D?i.current.set(k,D):i.current.delete(k)},className:v?"ring-1 ring-inset ring-primary/40":"",children:o.jsx($r,{file:f,staged:!1})},f.path)})})]}),g&&o.jsxs("div",{className:"border-b border-border",children:[o.jsxs("div",{className:"px-3 py-2 bg-muted/50 flex items-center justify-between",children:[o.jsxs("span",{className:"text-xs font-semibold text-foreground uppercase",children:["Staged Changes (",A.staged.length,")"]}),o.jsxs("div",{className:"flex items-center gap-1",children:[A.staged.length>0&&!a&&o.jsxs(Be,{variant:"primary",size:"sm",onClick:e,className:"h-6 text-xs",children:[o.jsx(Cn,{className:"w-3 h-3 mr-1"}),"Commit"]}),A.staged.length>0&&a&&o.jsx("span",{className:"text-xs text-muted-foreground",children:"Resolve conflicts first"})]})]}),o.jsx("div",{className:"divide-y divide-border",children:A.staged.map((f,h)=>{const k=u+h,v=n==="git"&&r===k;return o.jsx("div",{ref:D=>{D?i.current.set(k,D):i.current.delete(k)},className:v?"ring-1 ring-inset ring-primary/40":"",children:o.jsx($r,{file:f,staged:!0,showModifiedIndicator:I.has(f.path)})},f.path)})})]}),Q&&o.jsxs("div",{children:[o.jsxs("div",{className:"px-3 py-2 bg-muted/50 flex items-center justify-between",children:[o.jsxs("span",{className:"text-xs font-semibold text-foreground uppercase",children:["Changes (",A.unstaged.length+A.untracked.length,")"]}),C&&o.jsxs(Be,{variant:"ghost",size:"sm",onClick:c,title:"Stage all changes",className:"h-6 text-xs",children:[o.jsx(BC,{className:"w-3 h-3 mr-1"}),"Stage All"]})]}),o.jsxs("div",{className:"divide-y divide-border",children:[A.unstaged.map((f,h)=>{const k=u+A.staged.length+h,v=n==="git"&&r===k;return o.jsx("div",{ref:D=>{D?i.current.set(k,D):i.current.delete(k)},className:v?"ring-1 ring-inset ring-primary/40":"",children:o.jsx($r,{file:f,staged:!1})},f.path)}),A.untracked.map((f,h)=>{const k=u+A.staged.length+A.unstaged.length+h,v=n==="git"&&r===k;return o.jsx("div",{ref:D=>{D?i.current.set(k,D):i.current.delete(k)},className:v?"ring-1 ring-inset ring-primary/40":"",children:o.jsx($r,{file:f,staged:!1})},f.path)})]})]}),!a&&!g&&!Q&&o.jsx("div",{className:"p-4 text-sm text-muted-foreground text-center",children:"No changes"})]})}const EB="git",CB=320,j2=320,T2=600,O2=x.memo(function({onFixWithAI:e}){const t=Te(iA=>iA.isExpanded),s=Te(iA=>iA.collapseSidebar),n=os(iA=>iA.widths[EB]??CB),{data:r,isLoading:i,error:a,refetch:g}=Pn(),{data:Q}=Jp(),l=ke(),C=Up(),I=Rp(),c=Kp(),u=Lp(),f=jp(),[h,k]=x.useState([]),[v,D]=x.useState(!1),[O,J]=x.useState(!1),[V,eA]=x.useState("origin"),[X,K]=x.useState(""),[W,T]=x.useState(null);x.useEffect(()=>{t&&l.invalidateQueries({queryKey:["git","status"]})},[t,l]);const L=()=>{g()},w=x.useCallback((iA,UA)=>{const HA=`${Date.now()}-${Math.random().toString(36).slice(2,7)}`;k(lA=>[...lA,{id:HA,message:iA,context:UA}])},[]),B=x.useCallback(iA=>{k(UA=>UA.filter(HA=>HA.id!==iA))},[]),d=async()=>{try{await C.mutateAsync()}catch(iA){w(iA instanceof Error?iA.message:"Failed to push","git push")}},N=async()=>{try{await I.mutateAsync()}catch(iA){w(iA instanceof Error?iA.message:"Failed to pull","git pull")}},G=async()=>{if(!(!V.trim()||!X.trim()))try{await u.mutateAsync({name:V.trim(),url:X.trim()}),eA("origin"),K(""),J(!1)}catch(iA){w(iA instanceof Error?iA.message:"Failed to add remote","git remote add")}},S=async iA=>{if(W!==iA){T(iA);return}T(null);try{await f.mutateAsync(iA)}catch(UA){w(UA instanceof Error?UA.message:"Failed to remove remote","git remote remove")}},j=x.useCallback(iA=>{const UA=iA.context?`I got a git error during ${iA.context}:
|
|
122
|
+
|
|
123
|
+
${iA.message}
|
|
124
|
+
|
|
125
|
+
Please help me fix this.`:`I got a git error:
|
|
126
|
+
|
|
127
|
+
${iA.message}
|
|
128
|
+
|
|
129
|
+
Please help me fix this.`;B(iA.id),e?.(UA)},[e,B]);if(!t)return null;const b=[...r?.conflicted||[],...r?.staged||[],...r?.unstaged||[],...r?.untracked||[]].length,E=r?.remotes&&r.remotes.length>0,p=r?.hasUpstream??!1,U=r&&E&&(r.ahead>0||!p),R=r&&r.behind>0,_=C.isPending||I.isPending,tA=a instanceof Error&&a.message.toLowerCase().includes("not a git repository"),IA=E?p?U?`Push ${r?.ahead} commit(s) to remote`:"Nothing to push":"Publish branch to remote":"No remote configured";return o.jsxs("div",{className:"border-l border-sidebar-border sidebar-fade-in flex h-full relative",style:{width:n},children:[o.jsx(zs,{panelKey:EB,side:"right",minWidth:j2,maxWidth:T2,defaultWidth:CB}),o.jsxs("div",{className:"flex-1 flex flex-col h-full min-w-0 w-full",children:[o.jsxs("div",{className:"h-14 border-b border-border px-3 flex items-center justify-between",children:[o.jsxs("div",{className:"flex items-center gap-2 flex-1",children:[o.jsx(ao,{className:"w-4 h-4 text-muted-foreground"}),o.jsxs("span",{className:"font-medium text-foreground",children:["Git Changes",b>0&&o.jsxs("span",{className:"ml-2 text-xs text-muted-foreground",children:["(",b,")"]})]})]}),o.jsx(Be,{variant:"ghost",size:"icon",onClick:s,title:"Close sidebar",children:o.jsx(ct,{className:"w-4 h-4"})})]}),o.jsx("div",{className:"flex-1 overflow-y-auto",children:i?o.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"Loading git status..."}):tA?o.jsxs("div",{className:"p-4 flex flex-col items-center justify-center gap-3 text-center",children:[o.jsx(lC,{className:"w-10 h-10 text-muted-foreground"}),o.jsx("div",{className:"text-sm text-muted-foreground",children:"No git repository found in this directory."}),o.jsxs(Be,{variant:"secondary",size:"sm",onClick:()=>c.mutate(),disabled:c.isPending,className:"gap-1.5",children:[o.jsx(ao,{className:`w-3.5 h-3.5 ${c.isPending?"animate-spin":""}`}),c.isPending?"Initializing...":"Initialize Repository"]}),c.isError&&o.jsx("span",{className:"text-xs text-orange-500",children:c.error instanceof Error?c.error.message:"Failed to initialize"})]}):a?o.jsx("div",{className:"p-3 text-sm text-muted-foreground",children:o.jsxs("div",{className:"flex flex-col gap-2",children:[o.jsx("span",{className:"text-orange-500",children:a instanceof Error?a.message:"Failed to load git status"}),o.jsx(Be,{variant:"secondary",size:"sm",onClick:L,children:"Retry"})]})}):!r||b===0?o.jsx("div",{className:"p-3 text-sm text-muted-foreground",children:"No changes detected"}):o.jsx(L2,{status:r})}),r&&!tA&&!a&&o.jsxs("div",{className:"border-t border-border",children:[o.jsxs("button",{type:"button",onClick:()=>D(!v),className:"w-full px-3 py-2 flex items-center gap-2 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors",children:[v?o.jsx(_t,{className:"w-3 h-3"}):o.jsx(ct,{className:"w-3 h-3"}),o.jsx(Ho,{className:"w-3 h-3"}),o.jsx("span",{children:"Remotes"}),r.remotes&&o.jsx("span",{className:"ml-auto text-[10px] opacity-60",children:r.remotes.length})]}),v&&o.jsxs("div",{className:"px-3 pb-2 space-y-1",children:[Q&&Q.length>0?Q.filter(iA=>iA.type==="fetch").map(iA=>o.jsxs("div",{className:"flex items-center gap-2 text-xs group",children:[o.jsx("span",{className:"font-medium text-foreground",children:iA.name}),o.jsx("span",{className:"truncate text-muted-foreground flex-1 min-w-0",children:iA.url}),o.jsx("button",{type:"button",onClick:()=>{W===iA.name?S(iA.name):T(iA.name)},onBlur:()=>T(null),disabled:f.isPending,className:`${W===iA.name?"opacity-100 text-red-500":"opacity-0 group-hover:opacity-100 text-muted-foreground hover:text-red-500"} transition-all p-0.5`,title:W===iA.name?`Click again to confirm removing ${iA.name}`:`Remove ${iA.name}`,children:W===iA.name?o.jsx("span",{className:"text-[10px] font-medium",children:"Remove?"}):o.jsx(mr,{className:"w-3 h-3"})})]},iA.name)):o.jsx("div",{className:"text-xs text-muted-foreground py-1",children:"No remotes configured"}),O?o.jsxs("div",{className:"space-y-1.5 pt-1",children:[o.jsx("input",{type:"text",value:V,onChange:iA=>eA(iA.target.value),placeholder:"Name (e.g. origin)",className:"w-full text-xs px-2 py-1 rounded border border-border bg-background text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-primary"}),o.jsx("input",{type:"text",value:X,onChange:iA=>K(iA.target.value),placeholder:"URL (e.g. https://github.com/...)",className:"w-full text-xs px-2 py-1 rounded border border-border bg-background text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-primary",onKeyDown:iA=>{iA.key==="Enter"&&G(),iA.key==="Escape"&&J(!1)}}),o.jsxs("div",{className:"flex gap-1",children:[o.jsx(Be,{variant:"secondary",size:"sm",onClick:G,disabled:u.isPending||!V.trim()||!X.trim(),className:"flex-1 h-6 text-[10px]",children:u.isPending?"Adding...":"Add"}),o.jsx(Be,{variant:"ghost",size:"sm",onClick:()=>J(!1),className:"h-6 text-[10px]",children:"Cancel"})]})]}):o.jsxs("button",{type:"button",onClick:()=>J(!0),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors pt-1",children:[o.jsx(go,{className:"w-3 h-3"}),o.jsx("span",{children:"Add remote"})]})]})]}),h.length>0&&o.jsx("div",{className:"border-t border-border",children:h.map(iA=>o.jsxs("div",{className:"px-3 py-2 text-xs border-b border-border last:border-b-0 bg-orange-50 dark:bg-orange-950/20 flex items-start gap-2",children:[o.jsx("span",{className:"text-orange-500 flex-1 min-w-0 break-words",children:iA.message}),o.jsxs("div",{className:"flex items-center gap-1 flex-shrink-0",children:[e&&o.jsxs("button",{type:"button",onClick:()=>j(iA),className:"flex items-center gap-1 text-[10px] px-1.5 py-0.5 rounded bg-primary/10 text-primary hover:bg-primary/20 transition-colors",title:"Fix with AI",children:[o.jsx(io,{className:"w-3 h-3"}),"Fix"]}),o.jsx("button",{type:"button",onClick:()=>B(iA.id),className:"text-muted-foreground hover:text-foreground transition-colors p-0.5",title:"Dismiss",children:o.jsx(lt,{className:"w-3 h-3"})})]})]},iA.id))}),o.jsxs("div",{className:"h-12 border-t border-border flex items-center gap-1 px-2",children:[o.jsxs(Be,{variant:"secondary",size:"sm",onClick:N,disabled:_||!E||!p,title:E?p?R?`Pull ${r?.behind} commit(s) from remote`:"Pull from remote":"Branch not published yet":"No remote configured",className:"flex-1 h-8 text-xs gap-1.5",children:[o.jsx(cC,{className:`w-3.5 h-3.5 ${I.isPending?"animate-pulse":""}`}),"Pull",R&&o.jsxs("span",{className:"text-orange-500",children:["↓",r?.behind]})]}),o.jsxs(Be,{variant:"secondary",size:"sm",onClick:d,disabled:!U||_,title:IA,className:"flex-1 h-8 text-xs gap-1.5",children:[o.jsx(EC,{className:`w-3.5 h-3.5 ${C.isPending?"animate-pulse":""}`}),!p&&E?"Publish":"Push",p&&r&&r.ahead>0&&o.jsxs("span",{className:"text-green-500",children:["↑",r.ahead]})]})]}),o.jsxs("div",{className:"h-12 px-4 border-t border-border text-xs text-muted-foreground flex items-center justify-between gap-2",children:[o.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[o.jsx(ao,{className:"w-3 h-3 flex-shrink-0"}),r?.branch&&o.jsx("span",{className:"truncate",children:r.branch}),r&&!p&&E&&o.jsx("span",{className:"text-[10px] text-orange-500 flex-shrink-0",children:"unpublished"})]}),o.jsx(Be,{variant:"ghost",size:"icon",onClick:L,title:"Refresh git status",className:"h-6 w-6 flex-shrink-0",disabled:i,children:o.jsx(Vt,{className:`w-3 h-3 ${i?"animate-spin":""}`})})]})]})]})}),q2=x.memo(function(){const e=Te(r=>r.isExpanded),t=Te(r=>r.toggleSidebar),{data:s}=Pn(),n=(s?.staged?.length??0)+(s?.unstaged?.length??0)+(s?.untracked?.length??0);return o.jsxs("button",{type:"button",onClick:t,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${e?"bg-muted border-primary":"border-transparent hover:bg-muted/50"}`,title:"Git",children:[o.jsx(ao,{className:"w-5 h-5 text-muted-foreground mx-auto"}),n>0&&o.jsx("span",{className:"absolute top-1 right-1 w-5 h-5 bg-primary text-primary-foreground text-xs rounded-full flex items-center justify-center font-semibold",children:n>9?"9+":n})]})}),ws=ht()(Nl(A=>({isCollapsed:!1,toggleCollapse:()=>A(e=>({isCollapsed:!e.isCollapsed})),setCollapsed:e=>A({isCollapsed:e})}),{name:"sidebar-storage"}));function EE(A,e=!0){return at({queryKey:["files","tree",A],queryFn:()=>mA.getFileTree(A),enabled:e,staleTime:1e4,retry:1})}function Y2(A){return at({queryKey:["files","read",A],queryFn:()=>A?mA.readFileContent(A):null,enabled:!!A,staleTime:5e3,retry:1})}function H2(A,e=!1,t=!1){return at({queryKey:["git","diff","fullFile",A,e],queryFn:()=>A?mA.getGitDiffFullFile(A,e):null,enabled:t&&!!A,retry:1,refetchInterval:!1})}const P2=x.memo(function(){const e=Te(h=>h.isDiffOpen),t=Te(h=>h.selectedFile),s=Te(h=>h.selectedFileStaged),n=Te(h=>h.closeDiff),r=ws(h=>h.setCollapsed),i=x.useRef(null),a=x.useRef(!1),{data:g,isLoading:Q}=Gp(t,s),[l,C]=x.useState(!1),{data:I,isLoading:c}=H2(t,s,l),u=l&&I?I:g,f=l?c:Q;return x.useEffect(()=>{if(e||C(!1),e&&!a.current){const{isCollapsed:h}=ws.getState();i.current=h,r(!0)}else!e&&a.current&&i.current!==null&&(r(i.current),i.current=null);a.current=e},[e,r]),x.useEffect(()=>{const h=k=>{const v=k.target,D=v.tagName==="INPUT"||v.tagName==="TEXTAREA"||v.isContentEditable;(k.key==="Escape"||k.key==="q"&&!D)&&e&&n(),k.key==="f"&&!D&&e&&C(O=>!O)};return document.addEventListener("keydown",h),()=>document.removeEventListener("keydown",h)},[e,n]),!e||!t?null:o.jsxs("div",{className:"absolute inset-0 bg-background z-50 flex flex-col animate-in slide-in-from-left duration-300",children:[o.jsxs("div",{className:"h-14 border-b border-border px-4 flex items-center gap-3",children:[o.jsx(Be,{variant:"ghost",size:"icon",onClick:n,title:"Close diff viewer (ESC)",children:o.jsx(lt,{className:"w-4 h-4"})}),o.jsxs("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[o.jsx("span",{className:"text-sm font-medium text-foreground font-mono truncate",title:`${t}
|
|
130
|
+
${u?.absPath||""}`,children:t}),s&&o.jsx("span",{className:"text-xs px-2 py-0.5 rounded bg-primary/10 text-primary flex-shrink-0",children:"Staged"})]}),o.jsxs(Be,{variant:l?"secondary":"ghost",size:"sm",onClick:()=>C(h=>!h),title:l?"Show diff only (f)":"Show full file with diff (f)",className:"flex items-center gap-1.5 text-xs h-7",children:[l?o.jsx(Ga,{className:"w-3.5 h-3.5"}):o.jsx(FB,{className:"w-3.5 h-3.5"}),l?"Diff":"Full File"]})]}),o.jsx("div",{className:"flex-1 overflow-auto",children:f?o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"Loading diff..."}):u?o.jsx(K2,{diff:u}):o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"No diff available"})})]})});function W2(){const{isCommitModalOpen:A,closeCommitModal:e}=Te(),t=Te(C=>C.commitSessionId),s=Sp(),n=vp(t),[r,i]=x.useState(""),a=x.useId(),g=x.useCallback(async()=>{if(r.trim())try{await s.mutateAsync(r),i(""),e()}catch(C){console.error("Failed to commit:",C)}},[r,s,e]),Q=()=>{i(""),e()},l=x.useCallback(async()=>{try{const C=await n.mutateAsync();i(C.message)}catch(C){console.error("Failed to generate commit message:",C)}},[n]);return x.useEffect(()=>{if(!A)return;const C=I=>{(I.metaKey||I.ctrlKey)&&I.key==="Enter"&&(I.preventDefault(),I.stopPropagation(),r.trim()&&!s.isPending&&g()),(I.metaKey||I.ctrlKey)&&I.key==="g"&&(I.preventDefault(),I.stopPropagation(),l())};return document.addEventListener("keydown",C),()=>document.removeEventListener("keydown",C)},[A,r,s.isPending,g,l]),o.jsx(Po,{isOpen:A,onClose:Q,title:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(Cn,{className:"w-5 h-5"}),o.jsx("span",{children:"Commit Changes"})]}),maxWidth:"2xl",children:o.jsxs("div",{className:"space-y-4",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx("label",{htmlFor:a,className:"text-sm font-medium text-foreground",children:"Commit Message"}),o.jsx(On,{id:a,value:r,onChange:C=>i(C.target.value),placeholder:"Enter commit message...",rows:6,className:"w-full resize-none",autoFocus:!0,disabled:n.isPending})]}),o.jsx(Be,{variant:"secondary",onClick:l,className:"w-full",disabled:n.isPending,children:n.isPending?o.jsxs(o.Fragment,{children:[o.jsx(Le,{className:"w-4 h-4 mr-2 animate-spin"}),"Generating..."]}):o.jsxs(o.Fragment,{children:[o.jsx(io,{className:"w-4 h-4 mr-2"}),"Generate commit message"," ",o.jsx("span",{className:"text-muted-foreground ml-1",children:"(⌘G)"})]})}),n.isError&&o.jsx("div",{className:"text-sm text-red-600 dark:text-red-400 bg-red-500/10 border border-red-500/20 rounded px-3 py-2",children:n.error?.message||"Failed to generate commit message"}),o.jsxs("div",{className:"flex items-center justify-end gap-2 pt-4 border-t border-border",children:[o.jsxs(Be,{variant:"ghost",onClick:Q,children:["Cancel ",o.jsx("span",{className:"text-muted-foreground ml-1",children:"(Esc)"})]}),o.jsx(Be,{variant:"primary",onClick:g,disabled:!r.trim()||s.isPending,children:s.isPending?o.jsx("span",{children:"Committing..."}):o.jsxs(o.Fragment,{children:[o.jsx(Cn,{className:"w-4 h-4 mr-2"}),"Commit ",o.jsx("span",{className:"text-muted-foreground ml-1",children:"(⌘↵)"})]})})]}),s.isError&&o.jsx("div",{className:"text-sm text-red-600 dark:text-red-400 bg-red-500/10 border border-red-500/20 rounded px-3 py-2",children:s.error?.message||"Failed to commit changes"})]})})}function CE(A,e=!0){const t=tt(s=>s.isExpanded);return at({queryKey:["session",A,"files"],queryFn:()=>A?mA.getSessionFiles(A):null,enabled:!!A&&e,refetchInterval:t&&e?5e3:!1,retry:1,staleTime:3e3})}const IB="session-files",uB=320,z2=320,V2=600;function Z2(A){switch(A){case"write":return o.jsx(HB,{className:"w-3 h-3 text-green-500"});case"patch":return o.jsx(Yo,{className:"w-3 h-3 text-blue-500"});default:return o.jsx(Yo,{className:"w-3 h-3 text-muted-foreground"})}}function _2(A){return A.split("/").pop()||A}function X2(A){if(A.artifact?.summary)return{additions:A.artifact.summary.additions,deletions:A.artifact.summary.deletions};const e=A.artifact?.patch||A.patch;if(e){let t=0,s=0;const n=e.split(`
|
|
131
|
+
`);for(const r of n)r.startsWith("+")&&!r.startsWith("+++")?t++:r.startsWith("-")&&!r.startsWith("---")&&s++;return{additions:t,deletions:s}}return A.content?{additions:A.content.split(`
|
|
132
|
+
`).length,deletions:0}:{additions:0,deletions:0}}function $2({file:A}){const e=tt(g=>g.openDiff),s=tt(g=>g.selectedFile)===A.path,n=A.operations[A.operations.length-1],{totalAdditions:r,totalDeletions:i}=x.useMemo(()=>{let g=0,Q=0;for(const l of A.operations){const C=X2(l);g+=C.additions,Q+=C.deletions}return{totalAdditions:g,totalDeletions:Q}},[A.operations]),a=()=>{A.operations.length>0&&e(A.path,A.operations)};return o.jsx("button",{type:"button",onClick:a,className:`w-full text-left px-3 py-2 hover:bg-muted/50 transition-colors ${s?"bg-muted":""}`,children:o.jsxs("div",{className:"flex items-center gap-2",children:[Z2(n?.operation||"write"),o.jsx("div",{className:"flex-1 min-w-0",children:o.jsx("div",{className:"text-sm font-medium truncate",children:_2(A.path)})}),o.jsxs("div",{className:"flex items-center gap-1 text-xs shrink-0",children:[A.operationCount>1&&o.jsxs("span",{className:"bg-muted text-muted-foreground px-1 rounded mr-1",children:[A.operationCount,"x"]}),o.jsxs("span",{className:"text-green-500",children:["+",r]}),o.jsxs("span",{className:"text-red-500",children:["-",i]})]})]})})}const A1=x.memo(function({sessionId:e}){const t=tt(Q=>Q.isExpanded),s=tt(Q=>Q.collapseSidebar),n=os(Q=>Q.widths[IB]??uB),{data:r,isLoading:i,error:a,refetch:g}=CE(e,t);return t?o.jsxs("div",{className:"border-l border-sidebar-border sidebar-fade-in flex h-full relative",style:{width:n},children:[o.jsx(zs,{panelKey:IB,side:"right",minWidth:z2,maxWidth:V2,defaultWidth:uB}),o.jsxs("div",{className:"flex-1 flex flex-col h-full min-w-0",children:[o.jsxs("div",{className:"h-14 border-b border-border px-3 flex items-center justify-between shrink-0",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(Yo,{className:"w-4 h-4 text-muted-foreground"}),o.jsx("span",{className:"font-medium",children:"Session Files"}),r&&r.totalFiles>0&&o.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",r.totalFiles,")"]})]}),o.jsx(Be,{variant:"ghost",size:"icon",onClick:s,children:o.jsx(ct,{className:"w-4 h-4"})})]}),o.jsx("div",{className:"flex-1 overflow-y-auto",children:i?o.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"Loading session files..."}):a?o.jsx("div",{className:"p-4 text-sm text-orange-500",children:a instanceof Error?a.message:"Failed to load files"}):!r||r.totalFiles===0?o.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"No files modified in this session"}):o.jsx("div",{className:"divide-y divide-border",children:r.files.map(Q=>o.jsx($2,{file:Q},Q.path))})}),o.jsxs("div",{className:"h-12 px-4 border-t border-border text-xs text-muted-foreground flex items-center justify-between gap-2",children:[o.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[o.jsx(Yo,{className:"w-3 h-3 flex-shrink-0"}),r&&r.totalOperations>0?o.jsxs("span",{className:"truncate",children:[r.totalFiles," file",r.totalFiles!==1?"s":""," •"," ",r.totalOperations," op",r.totalOperations!==1?"s":""]}):o.jsx("span",{className:"truncate",children:"No changes"})]}),o.jsx("div",{className:"flex items-center gap-1 flex-shrink-0",children:o.jsx(Be,{variant:"ghost",size:"icon",onClick:()=>g(),title:"Refresh session files",className:"h-6 w-6 transition-transform duration-200 hover:scale-110",disabled:i,children:o.jsx(Vt,{className:`w-3 h-3 ${i?"animate-spin":""}`})})})]})]})]}):null}),e1=x.memo(function({sessionId:e}){const t=tt(i=>i.isExpanded),s=tt(i=>i.toggleSidebar),{data:n}=CE(e,t),r=n?.totalFiles??0;return o.jsxs("button",{type:"button",onClick:s,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${t?"bg-muted border-primary":"border-transparent hover:bg-muted/50"}`,title:"Session Files",children:[o.jsx(Yo,{className:"w-5 h-5 text-muted-foreground mx-auto"}),r>0&&o.jsx("span",{className:"absolute top-1 right-1 w-5 h-5 bg-primary text-primary-foreground text-xs rounded-full flex items-center justify-center font-semibold",children:r>9?"9+":r})]})});function t1(A){const e=A.split(`
|
|
133
|
+
`),t=[];let s=0,n=0;const r=[];for(const i of e){if(i.startsWith("*** Begin Patch")||i.startsWith("*** End Patch")||i.startsWith("*** Update File:")||i.startsWith("*** Add File:")||i.startsWith("*** Delete File:")){r.length>0&&(t.push(`@@ -1,${n} +1,${s} @@`),t.push(...r),r.length=0,s=0,n=0),t.push(i);continue}if(i.match(/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@/)){r.length>0&&(t.push(`@@ -1,${n} +1,${s} @@`),t.push(...r),r.length=0,s=0,n=0),t.push(i);continue}if(i.startsWith("@@")){t.push(i);continue}i.startsWith("+")?(s++,r.push(i)):i.startsWith("-")?(n++,r.push(i)):i.startsWith(" ")||i.startsWith(" ")?(s++,n++,r.push(i.startsWith(" ")?` ${i}`:i)):i.trim()===""?(r.push(" "),s++,n++):(s++,n++,r.push(` ${i}`))}return r.length>0&&(t.push(`@@ -1,${n} +1,${s} @@`),t.push(...r)),t.join(`
|
|
134
|
+
`)}function o1(A){const e=A.split(".").pop()?.toLowerCase();return{js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",sh:"bash",bash:"bash",zsh:"bash",sql:"sql",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",html:"html",css:"css",scss:"scss",md:"markdown",txt:"text",svelte:"svelte"}[e||""]||"javascript"}function s1(A){const e=A.split(`
|
|
135
|
+
`),t=[];let s=0,n=0,r=!1,i="";for(const a of e){if(a.startsWith("+++")||a.startsWith("*** Update File:")){const Q=a.match(/\+\+\+ b\/(.+)/)||a.match(/\*\*\* Update File: (.+)/);Q&&(i=Q[1])}if(a.startsWith("*** Add File:")){const Q=a.match(/\*\*\* Add File: (.+)/);Q&&(i=Q[1])}const g=a.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);if(g){s=Number.parseInt(g[1],10),n=Number.parseInt(g[2],10),r=!0,t.push({content:a,codeContent:a,type:"header"});continue}if(a.startsWith("***")||a.startsWith("diff ")||a.startsWith("index ")||a.startsWith("---")||a.startsWith("+++")||a.startsWith("@@")&&!r){t.push({content:a,codeContent:a,type:"meta"});continue}r?a.startsWith("+")?t.push({content:a,codeContent:a.slice(1),type:"add",newLineNum:n++}):a.startsWith("-")?t.push({content:a,codeContent:a.slice(1),type:"remove",oldLineNum:s++}):a.startsWith(" ")||a===""?t.push({content:a,codeContent:a.startsWith(" ")?a.slice(1):a,type:"context",oldLineNum:s++,newLineNum:n++}):t.push({content:a,codeContent:a,type:"context",oldLineNum:s++,newLineNum:n++}):t.push({content:a,codeContent:a,type:"meta"})}return{lines:t,filePath:i}}function r1({patch:A}){const{lines:e,filePath:t}=s1(A),s=o1(t),n=document?.documentElement.classList.contains("dark")?Eo:Co;return o.jsx("div",{className:"bg-card/60 border border-border rounded-lg overflow-hidden h-full",children:o.jsx("div",{className:"overflow-x-auto overflow-y-auto h-full text-xs font-mono",children:e.map((r,i)=>{const a=`line-${i}-${r.content.slice(0,20)}`;if(r.type==="meta"||r.type==="header")return o.jsx("div",{className:`px-3 py-0.5 whitespace-pre-wrap break-all ${r.type==="header"?"text-muted-foreground/80 bg-muted/20":"text-muted-foreground/80"}`,children:r.content},a);let g="",Q="";switch(r.type){case"add":g="text-emerald-700 dark:text-emerald-300",Q="bg-emerald-500/10";break;case"remove":g="text-red-600 dark:text-red-300",Q="bg-red-500/10";break;default:g="text-foreground/80"}let l=r.content;return r.codeContent.trim()&&s!=="text"&&(l=o.jsx(qt,{language:s,style:n,customStyle:{margin:0,padding:0,background:"transparent",display:"inline",fontSize:"inherit",lineHeight:"inherit"},codeTagProps:{style:{fontFamily:"inherit",background:"transparent"}},PreTag:"span",children:r.codeContent}),r.type==="add"?l=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:"+"}),l]}):r.type==="remove"?l=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:"-"}),l]}):r.type==="context"&&(l=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:" "}),l]}))),o.jsxs("div",{className:`flex ${Q}`,children:[o.jsx("div",{className:"px-2 py-0.5 text-right text-muted-foreground/40 select-none w-12 flex-shrink-0","aria-hidden":"true",style:{pointerEvents:"none"},children:r.oldLineNum||""}),o.jsx("div",{className:"px-2 py-0.5 text-right text-muted-foreground/40 select-none w-12 flex-shrink-0 border-r border-border/50","aria-hidden":"true",style:{pointerEvents:"none"},children:r.newLineNum||""}),o.jsx("div",{className:`px-3 py-0.5 flex-1 min-w-0 whitespace-pre-wrap break-all ${g}`,children:l})]},a)})})})}function n1(A){return new Date(A).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}const i1=x.memo(function(){const e=tt(c=>c.isDiffOpen),t=tt(c=>c.selectedFile),s=tt(c=>c.allOperations),n=tt(c=>c.selectedOperationIndex),r=tt(c=>c.selectOperation),i=tt(c=>c.closeDiff),a=ws(c=>c.setCollapsed),g=x.useRef(null),Q=x.useRef(!1),l=s[n],C=x.useMemo(()=>{if(!l||!t)return null;let c=null;if(l.artifact?.patch)c=l.artifact.patch;else if(l.patch)c=l.patch;else if(l.content){const f=l.content.split(`
|
|
136
|
+
`);c=`*** Add File: ${t}
|
|
137
|
+
${f.map(h=>`+${h}`).join(`
|
|
138
|
+
`)}`}return c?/@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@/.test(c)?c:t1(c):null},[l,t]);if(x.useEffect(()=>{if(e&&!Q.current){const{isCollapsed:c}=ws.getState();g.current=c,a(!0)}else!e&&Q.current&&g.current!==null&&(a(g.current),g.current=null);Q.current=e},[e,a]),x.useEffect(()=>{const c=u=>{const f=u.target,h=f.tagName==="INPUT"||f.tagName==="TEXTAREA"||f.isContentEditable;(u.key==="Escape"||u.key==="q"&&!h)&&e&&i(),!h&&e&&s.length>1&&(u.key==="ArrowLeft"||u.key==="["?(u.preventDefault(),r(Math.max(0,n-1))):(u.key==="ArrowRight"||u.key==="]")&&(u.preventDefault(),r(Math.min(s.length-1,n+1))))};return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[e,i,s.length,n,r]),!e||!t||!l)return null;const I=s.length>1;return o.jsxs("div",{className:"absolute inset-0 bg-background z-50 flex flex-col animate-in slide-in-from-left duration-300",children:[o.jsxs("div",{className:"h-14 border-b border-border px-4 flex items-center gap-3 shrink-0",children:[o.jsx(Be,{variant:"ghost",size:"icon",onClick:i,title:"Close diff viewer (ESC)",children:o.jsx(lt,{className:"w-4 h-4"})}),o.jsxs("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[o.jsx("span",{className:"text-sm font-medium text-foreground font-mono truncate",title:t,children:t}),o.jsx("span",{className:"text-xs px-2 py-0.5 rounded bg-primary/10 text-primary flex-shrink-0 capitalize",children:l.operation}),l.artifact?.summary&&o.jsxs("div",{className:"flex items-center gap-1 text-xs flex-shrink-0",children:[o.jsxs("span",{className:"text-green-500",children:["+",l.artifact.summary.additions]}),o.jsxs("span",{className:"text-red-500",children:["-",l.artifact.summary.deletions]})]})]}),I&&o.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[o.jsx(Be,{variant:"ghost",size:"icon",onClick:()=>r(Math.max(0,n-1)),disabled:n===0,title:"Previous operation (←)",children:o.jsx(CC,{className:"w-4 h-4"})}),o.jsxs("span",{className:"text-xs text-muted-foreground min-w-[60px] text-center",children:[n+1," / ",s.length]}),o.jsx(Be,{variant:"ghost",size:"icon",onClick:()=>r(Math.min(s.length-1,n+1)),disabled:n===s.length-1,title:"Next operation (→)",children:o.jsx(ct,{className:"w-4 h-4"})})]})]}),I&&o.jsx("div",{className:"border-b border-border px-4 py-2 flex gap-2 overflow-x-auto shrink-0",children:s.map((c,u)=>o.jsxs("button",{type:"button",onClick:()=>r(u),className:`px-3 py-1.5 text-xs rounded-md flex items-center gap-2 shrink-0 transition-colors ${u===n?"bg-primary text-primary-foreground":"bg-muted hover:bg-muted/80 text-muted-foreground"}`,children:[o.jsx("span",{className:"capitalize",children:c.operation}),o.jsx("span",{className:"opacity-70",children:n1(c.timestamp)}),c.artifact?.summary&&o.jsxs("span",{className:"opacity-70",children:["+",c.artifact.summary.additions,"/-",c.artifact.summary.deletions]})]},c.toolCallId))}),o.jsx("div",{className:"flex-1 overflow-hidden p-4",children:C?o.jsx(r1,{patch:C}):o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"No diff content available"})})]})}),a1={};class g1{get baseUrl(){const e=window;if(e.OTTO_SERVER_URL)return e.OTTO_SERVER_URL;if(!a1?.VITE_API_BASE_URL)return ss}async listResearchSessions(e){const t=await fetch(`${this.baseUrl}/v1/sessions/${e}/research`,{method:"GET",headers:{"Content-Type":"application/json"}});if(!t.ok){const s=await t.json().catch(()=>({error:"Failed to fetch research sessions"}));throw new Error(s.error||"Failed to fetch research sessions")}return t.json()}async createResearchSession(e,t){const s=await fetch(`${this.baseUrl}/v1/sessions/${e}/research`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!s.ok){const n=await s.json().catch(()=>({error:"Failed to create research session"}));throw new Error(n.error||"Failed to create research session")}return s.json()}async deleteResearchSession(e){const t=await fetch(`${this.baseUrl}/v1/research/${e}`,{method:"DELETE",headers:{"Content-Type":"application/json"}});if(!t.ok){const s=await t.json().catch(()=>({error:"Failed to delete research session"}));throw new Error(s.error||"Failed to delete research session")}return t.json()}async injectContext(e,t,s){const n=await fetch(`${this.baseUrl}/v1/sessions/${e}/inject`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({researchSessionId:t,label:s})});if(!n.ok){const r=await n.json().catch(()=>({error:"Failed to inject context"}));throw new Error(r.error||"Failed to inject context")}return n.json()}async exportToNewSession(e,t){const s=await fetch(`${this.baseUrl}/v1/research/${e}/export`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!s.ok){const n=await s.json().catch(()=>({error:"Failed to export to session"}));throw new Error(n.error||"Failed to export to session")}return s.json()}}const oi=new g1;function IE(A,e=!0){return at({queryKey:["research","sessions",A],queryFn:()=>oi.listResearchSessions(A),enabled:!!A&&e,staleTime:3e4})}function Q1(){const A=ke();return Ze({mutationFn:({parentSessionId:e,data:t})=>oi.createResearchSession(e,t??{}),onSuccess:(e,{parentSessionId:t})=>{A.invalidateQueries({queryKey:["research","sessions",t]})}})}function B1(){const A=gn(e=>e.addContext);return Ze({mutationFn:({parentSessionId:e,researchSessionId:t,label:s})=>oi.injectContext(e,t,s),onSuccess:(e,{parentSessionId:t})=>{A(t,{id:e.sessionId,sessionId:e.sessionId,label:e.label,content:e.content})}})}function l1(){const A=ke();return Ze({mutationFn:({researchId:e,data:t})=>oi.exportToNewSession(e,t),onSuccess:()=>{A.invalidateQueries({queryKey:fo})}})}const dB="research",hB=384,c1=384,E1=640,C1=x.memo(function({parentSessionId:e,onNavigateToSession:t}){const s=ft(lA=>lA.isExpanded),n=ft(lA=>lA.collapseSidebar),r=os(lA=>lA.widths[dB]??hB),i=ft(lA=>lA.activeResearchSessionId),a=ft(lA=>lA.selectResearchSession),[g,Q]=x.useState(!1),[l,C]=x.useState(""),[I,c]=x.useState(!1),[u,f]=x.useState("idle"),h=x.useRef(null),k=x.useRef(null),{data:v,isLoading:D,refetch:O}=IE(e,s),J=Q1(),V=B1(),eA=l1(),{data:X}=Vs(),{data:K}=Qa(i??void 0,{enabled:s}),{data:W}=Qa(e??void 0,{enabled:s});cE(i??void 0,s);const T=tg(i??""),L=ke(),w=Ze({mutationFn:async({sessionId:lA,content:qA})=>mA.sendMessage(lA,{content:qA}),onSuccess:(lA,{sessionId:qA})=>{L.invalidateQueries({queryKey:["messages",qA]})}});x.useEffect(()=>{e&&ft.getState().setParentSessionId(e)},[e]),x.useEffect(()=>{v?.sessions?.length?v.sessions.some(qA=>qA.id===i)||a(v.sessions[0].id):v?.sessions?.length===0&&a(null)},[v,i,a]),x.useEffect(()=>{k.current?.scrollIntoView({behavior:"smooth"})},[]);const B=x.useCallback(()=>{const lA=h.current;lA&&(lA.style.height="auto",lA.style.height=`${Math.min(lA.scrollHeight,120)}px`)},[]);x.useEffect(()=>{B()},[B]);const d=x.useCallback(async()=>{if(e)try{const lA=await J.mutateAsync({parentSessionId:e,data:{}});await O(),a(lA.session.id),Q(!1)}catch(lA){console.error("Failed to create research session:",lA)}},[e,J,a,O]),N=x.useCallback(lA=>{a(lA.id),Q(!1)},[a]),G=x.useCallback(async()=>{if(!e||!i)return;if(W?.some(kA=>kA.role==="system"&&kA.parts?.some(VA=>typeof VA.content=="string"&&VA.content.includes(`from="${i}"`)))){f("error"),setTimeout(()=>f("idle"),3e3);return}const he=`Research ${new Date().toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}`;try{await V.mutateAsync({parentSessionId:e,researchSessionId:i,label:he}),f("success"),setTimeout(()=>f("idle"),5e3),L.invalidateQueries({queryKey:["messages",e]})}catch(kA){console.error("Failed to inject context:",kA),f("error"),setTimeout(()=>f("idle"),3e3)}},[e,i,V,W,L]),S=x.useCallback(async()=>{if(i)try{const lA=await eA.mutateAsync({researchId:i});t&&lA.newSession?.id&&t(lA.newSession.id)}catch(lA){console.error("Failed to export to session:",lA)}},[i,eA,t]),j=x.useCallback(async()=>{if(!(!l.trim()||!e))try{let lA=i;lA||(lA=(await J.mutateAsync({parentSessionId:e,data:{}})).session.id,a(lA)),await w.mutateAsync({sessionId:lA,content:l}),C(""),h.current&&(h.current.style.height="auto")}catch(lA){console.error("Failed to send message:",lA)}},[l,e,i,J,a,w]),H=x.useCallback(lA=>{lA.key==="Enter"&&!lA.shiftKey&&(lA.preventDefault(),j())},[j]),b=x.useMemo(()=>K?.some(lA=>lA.role==="assistant"&&lA.status==="pending")??!1,[K]),E=x.useMemo(()=>!i||!W?!1:W.some(lA=>lA.role==="system"&&lA.parts?.some(qA=>typeof qA.content=="string"&&qA.content.includes(`from="${i}"`))),[i,W]),p=x.useCallback(async(lA,qA)=>{if(!i){c(!1);return}try{await T.mutateAsync({provider:lA,model:qA}),await L.invalidateQueries({queryKey:["research","sessions",e]}),c(!1)}catch(re){console.error("Failed to update research session model:",re)}},[i,T,L,e]),U=eg(e??"");if(!s)return null;const R=v?.sessions??[],_=R.find(lA=>lA.id===i),tA=K??[],IA=_?.provider??U?.provider??"",iA=_?.model??U?.model??"",UA=X?.[IA]?.label??IA,HA=X?.[IA]?.models.find(lA=>lA.id===iA)?.label??iA;return o.jsxs("div",{className:"border-l border-sidebar-border sidebar-fade-in flex h-full relative",style:{width:r},children:[o.jsx(zs,{panelKey:dB,side:"right",minWidth:c1,maxWidth:E1,defaultWidth:hB}),o.jsxs("div",{className:"flex-1 flex flex-col h-full min-w-0",children:[o.jsxs("div",{className:"h-14 border-b border-border px-3 flex items-center justify-between",children:[o.jsxs("div",{className:"flex items-center gap-2 flex-1",children:[o.jsx(Er,{className:"w-4 h-4 text-teal-500"}),o.jsx("span",{className:"font-medium text-foreground text-sm",children:"Research"})]}),o.jsxs("div",{className:"flex items-center gap-0.5",children:[o.jsx(Be,{variant:"ghost",size:"icon",onClick:()=>Q(!g),title:"Research history",className:"h-8 w-8",children:o.jsx(IC,{className:"w-4 h-4"})}),o.jsx(Be,{variant:"ghost",size:"icon",onClick:d,disabled:!e||J.isPending,title:"New research session",className:"h-8 w-8",children:J.isPending?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):o.jsx(go,{className:"w-4 h-4"})}),o.jsx(Be,{variant:"ghost",size:"icon",onClick:n,title:"Close sidebar",className:"h-8 w-8",children:o.jsx(ct,{className:"w-4 h-4"})})]})]}),g?o.jsxs("div",{className:"flex-1 overflow-y-auto",children:[o.jsx("div",{className:"p-2 border-b border-border",children:o.jsx("div",{className:"text-xs font-medium text-muted-foreground px-2 py-1",children:"Research Sessions"})}),D?o.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"Loading..."}):R.length===0?o.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"No research sessions yet"}):o.jsx("div",{className:"p-2 space-y-1",children:R.map(lA=>o.jsxs("button",{type:"button",onClick:()=>N(lA),className:`w-full text-left p-2 rounded-md text-sm transition-colors ${lA.id===i?"bg-teal-500/10 border border-teal-500/30 text-foreground":"hover:bg-muted"}`,children:[o.jsx("div",{className:"font-medium truncate",children:lA.title||"Untitled"}),o.jsxs("div",{className:"text-xs text-muted-foreground",children:[lA.messageCount," messages •"," ",I1(lA.lastActiveAt??lA.createdAt)]})]},lA.id))})]}):o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"flex-1 overflow-y-auto px-3 py-3 research-messages text-[13px]",children:i?tA.length===0?o.jsx("div",{className:"text-xs text-muted-foreground text-center py-8",children:o.jsx("p",{children:"Ask a question to start researching."})}):o.jsxs("div",{className:"space-y-1.5",children:[tA.map((lA,qA)=>{if(lA.role==="user"){const re=tA[qA+1];return o.jsx(oc,{sessionId:i,message:lA,isFirst:qA===0,nextAssistantMessageId:re?.role==="assistant"?re.id:void 0},lA.id)}if(lA.role==="assistant"){const re=qA>0?tA[qA-1]:null,he=tA[qA+1],kA=re?.role!=="assistant",VA=he?.role==="assistant";return o.jsx(tc,{sessionId:i,message:lA,showHeader:kA,hasNextAssistantMessage:VA,isLastMessage:qA===tA.length-1,compact:!0,onNavigateToSession:t},lA.id)}return null}),o.jsx("div",{ref:k})]}):o.jsxs("div",{className:"text-xs text-muted-foreground text-center py-8",children:[o.jsx(Er,{className:"w-8 h-8 mx-auto mb-2 text-muted-foreground/50"}),o.jsx("p",{children:"Start researching by asking a question below."})]})}),o.jsxs("div",{className:"p-3 border-t border-border",children:[o.jsx("div",{className:"relative flex flex-col rounded-3xl bg-card border border-border focus-within:border-teal-500/60 focus-within:ring-1 focus-within:ring-teal-500/40 p-1",children:o.jsxs("div",{className:"flex items-end gap-1",children:[o.jsx(On,{ref:h,value:l,onChange:lA=>C(lA.target.value),onKeyDown:H,placeholder:"Ask anything...",disabled:!e||w.isPending||J.isPending,rows:1,className:"flex-1 border-0 bg-transparent pl-2 pr-1 py-2 max-h-[120px] overflow-y-auto leading-normal resize-none scrollbar-hide text-sm focus:ring-0 focus:outline-none",style:{height:"2.25rem"}}),o.jsx("button",{type:"button",onClick:j,disabled:!l.trim()||!e||w.isPending||J.isPending||b,className:`flex items-center justify-center w-9 h-9 rounded-full transition-colors flex-shrink-0 ${l.trim()&&e&&!b?"bg-teal-500 hover:bg-teal-600 text-white":"bg-transparent text-muted-foreground"}`,children:w.isPending||J.isPending?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):o.jsx(RB,{className:"w-4 h-4"})})]})}),u==="success"&&o.jsxs("div",{className:"flex items-center gap-2 mt-2 px-2 py-1.5 text-xs rounded-lg bg-teal-500/10 border border-teal-500/30 text-teal-600 dark:text-teal-400",children:[o.jsx(Yt,{className:"w-3 h-3 flex-shrink-0"}),o.jsx("span",{className:"flex-1",children:"Context injected — will be used on next request"}),o.jsx("button",{type:"button",onClick:()=>f("idle"),className:"hover:text-teal-500",children:o.jsx(lt,{className:"w-3 h-3"})})]}),u==="error"&&o.jsxs("div",{className:"flex items-center gap-2 mt-2 px-2 py-1.5 text-xs rounded-lg bg-red-500/10 border border-red-500/30 text-red-600 dark:text-red-400",children:[o.jsx(lt,{className:"w-3 h-3 flex-shrink-0"}),o.jsx("span",{className:"flex-1",children:"Failed to inject context"}),o.jsx("button",{type:"button",onClick:()=>f("idle"),className:"hover:text-red-500",children:o.jsx(lt,{className:"w-3 h-3"})})]}),o.jsxs("div",{className:"flex gap-2 mt-2",children:[o.jsxs("button",{type:"button",onClick:G,disabled:!i||V.isPending||b||E,className:`flex-1 flex items-center justify-center gap-1.5 px-2 py-1.5 text-xs rounded-lg transition-colors disabled:opacity-50 disabled:cursor-not-allowed ${E?"bg-teal-500/10 text-teal-600 dark:text-teal-400 border border-teal-500/30":"bg-muted hover:bg-muted/80 text-muted-foreground hover:text-foreground"}`,title:E?"Already injected into main session":"Inject findings into main session",children:[V.isPending?o.jsx(Le,{className:"w-3 h-3 animate-spin"}):E?o.jsx(Yt,{className:"w-3 h-3"}):o.jsx(uC,{className:"w-3 h-3"}),E?"Injected":"Inject"]}),o.jsxs("button",{type:"button",onClick:S,disabled:!i||eA.isPending||b,className:"flex-1 flex items-center justify-center gap-1.5 px-2 py-1.5 text-xs rounded-lg bg-muted hover:bg-muted/80 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50 disabled:cursor-not-allowed",title:"Export to new main session",children:[eA.isPending?o.jsx(Le,{className:"w-3 h-3 animate-spin"}):o.jsx(vt,{className:"w-3 h-3"}),"Export"]})]})]})]}),o.jsxs("div",{className:"h-12 px-3 border-t border-border text-xs text-muted-foreground flex items-center justify-between",children:[o.jsxs("span",{className:"text-[10px]",children:[R.length," research session",R.length!==1?"s":""]}),(UA||HA)&&o.jsxs("button",{type:"button",onClick:()=>c(!0),className:"flex items-center gap-1 text-[10px] hover:text-foreground transition-colors",children:[o.jsx("span",{className:"opacity-60",children:UA}),o.jsx("span",{className:"opacity-40",children:"/"}),o.jsx("span",{children:HA}),o.jsx(_t,{className:"w-3 h-3 opacity-40"})]})]}),o.jsx(Po,{isOpen:I,onClose:()=>c(!1),title:"Select Model for Research",maxWidth:"md",children:(IA||iA)&&o.jsx(Pl,{provider:IA,model:iA,onChange:p})})]})]})});function I1(A){const e=Date.now()-A,t=Math.floor(e/6e4);if(t<1)return"just now";if(t<60)return`${t}m ago`;const s=Math.floor(t/60);return s<24?`${s}h ago`:`${Math.floor(s/24)}d ago`}const u1=x.memo(function({parentSessionId:e}){const t=ft(i=>i.isExpanded),s=ft(i=>i.toggleSidebar),{data:n}=IE(e??null),r=n?.sessions?.length??0;return o.jsxs("button",{type:"button",onClick:s,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${t?"bg-muted border-primary":"border-transparent hover:bg-muted/50"}`,title:"Research (⌘⇧R)",children:[o.jsx(Er,{className:"w-5 h-5 text-muted-foreground mx-auto"}),r>0&&o.jsx("span",{className:"absolute top-1 right-1 w-5 h-5 bg-primary text-primary-foreground text-xs rounded-full flex items-center justify-center font-semibold",children:r>9?"9+":r})]})});var d1=Object.defineProperty,Fn=Object.getOwnPropertySymbols,uE=Object.prototype.hasOwnProperty,dE=Object.prototype.propertyIsEnumerable,pB=(A,e,t)=>e in A?d1(A,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):A[e]=t,Da=(A,e)=>{for(var t in e||(e={}))uE.call(e,t)&&pB(A,t,e[t]);if(Fn)for(var t of Fn(e))dE.call(e,t)&&pB(A,t,e[t]);return A},ya=(A,e)=>{var t={};for(var s in A)uE.call(A,s)&&e.indexOf(s)<0&&(t[s]=A[s]);if(A!=null&&Fn)for(var s of Fn(A))e.indexOf(s)<0&&dE.call(A,s)&&(t[s]=A[s]);return t};var xs;(A=>{const e=class Fe{constructor(g,Q,l,C){if(this.version=g,this.errorCorrectionLevel=Q,this.modules=[],this.isFunction=[],g<Fe.MIN_VERSION||g>Fe.MAX_VERSION)throw new RangeError("Version value out of range");if(C<-1||C>7)throw new RangeError("Mask value out of range");this.size=g*4+17;let I=[];for(let u=0;u<this.size;u++)I.push(!1);for(let u=0;u<this.size;u++)this.modules.push(I.slice()),this.isFunction.push(I.slice());this.drawFunctionPatterns();const c=this.addEccAndInterleave(l);if(this.drawCodewords(c),C==-1){let u=1e9;for(let f=0;f<8;f++){this.applyMask(f),this.drawFormatBits(f);const h=this.getPenaltyScore();h<u&&(C=f,u=h),this.applyMask(f)}}n(0<=C&&C<=7),this.mask=C,this.applyMask(C),this.drawFormatBits(C),this.isFunction=[]}static encodeText(g,Q){const l=A.QrSegment.makeSegments(g);return Fe.encodeSegments(l,Q)}static encodeBinary(g,Q){const l=A.QrSegment.makeBytes(g);return Fe.encodeSegments([l],Q)}static encodeSegments(g,Q,l=1,C=40,I=-1,c=!0){if(!(Fe.MIN_VERSION<=l&&l<=C&&C<=Fe.MAX_VERSION)||I<-1||I>7)throw new RangeError("Invalid value");let u,f;for(u=l;;u++){const D=Fe.getNumDataCodewords(u,Q)*8,O=i.getTotalBits(g,u);if(O<=D){f=O;break}if(u>=C)throw new RangeError("Data too long")}for(const D of[Fe.Ecc.MEDIUM,Fe.Ecc.QUARTILE,Fe.Ecc.HIGH])c&&f<=Fe.getNumDataCodewords(u,D)*8&&(Q=D);let h=[];for(const D of g){t(D.mode.modeBits,4,h),t(D.numChars,D.mode.numCharCountBits(u),h);for(const O of D.getData())h.push(O)}n(h.length==f);const k=Fe.getNumDataCodewords(u,Q)*8;n(h.length<=k),t(0,Math.min(4,k-h.length),h),t(0,(8-h.length%8)%8,h),n(h.length%8==0);for(let D=236;h.length<k;D^=253)t(D,8,h);let v=[];for(;v.length*8<h.length;)v.push(0);return h.forEach((D,O)=>v[O>>>3]|=D<<7-(O&7)),new Fe(u,Q,v,I)}getModule(g,Q){return 0<=g&&g<this.size&&0<=Q&&Q<this.size&&this.modules[Q][g]}getModules(){return this.modules}drawFunctionPatterns(){for(let l=0;l<this.size;l++)this.setFunctionModule(6,l,l%2==0),this.setFunctionModule(l,6,l%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);const g=this.getAlignmentPatternPositions(),Q=g.length;for(let l=0;l<Q;l++)for(let C=0;C<Q;C++)l==0&&C==0||l==0&&C==Q-1||l==Q-1&&C==0||this.drawAlignmentPattern(g[l],g[C]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(g){const Q=this.errorCorrectionLevel.formatBits<<3|g;let l=Q;for(let I=0;I<10;I++)l=l<<1^(l>>>9)*1335;const C=(Q<<10|l)^21522;n(C>>>15==0);for(let I=0;I<=5;I++)this.setFunctionModule(8,I,s(C,I));this.setFunctionModule(8,7,s(C,6)),this.setFunctionModule(8,8,s(C,7)),this.setFunctionModule(7,8,s(C,8));for(let I=9;I<15;I++)this.setFunctionModule(14-I,8,s(C,I));for(let I=0;I<8;I++)this.setFunctionModule(this.size-1-I,8,s(C,I));for(let I=8;I<15;I++)this.setFunctionModule(8,this.size-15+I,s(C,I));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let g=this.version;for(let l=0;l<12;l++)g=g<<1^(g>>>11)*7973;const Q=this.version<<12|g;n(Q>>>18==0);for(let l=0;l<18;l++){const C=s(Q,l),I=this.size-11+l%3,c=Math.floor(l/3);this.setFunctionModule(I,c,C),this.setFunctionModule(c,I,C)}}drawFinderPattern(g,Q){for(let l=-4;l<=4;l++)for(let C=-4;C<=4;C++){const I=Math.max(Math.abs(C),Math.abs(l)),c=g+C,u=Q+l;0<=c&&c<this.size&&0<=u&&u<this.size&&this.setFunctionModule(c,u,I!=2&&I!=4)}}drawAlignmentPattern(g,Q){for(let l=-2;l<=2;l++)for(let C=-2;C<=2;C++)this.setFunctionModule(g+C,Q+l,Math.max(Math.abs(C),Math.abs(l))!=1)}setFunctionModule(g,Q,l){this.modules[Q][g]=l,this.isFunction[Q][g]=!0}addEccAndInterleave(g){const Q=this.version,l=this.errorCorrectionLevel;if(g.length!=Fe.getNumDataCodewords(Q,l))throw new RangeError("Invalid argument");const C=Fe.NUM_ERROR_CORRECTION_BLOCKS[l.ordinal][Q],I=Fe.ECC_CODEWORDS_PER_BLOCK[l.ordinal][Q],c=Math.floor(Fe.getNumRawDataModules(Q)/8),u=C-c%C,f=Math.floor(c/C);let h=[];const k=Fe.reedSolomonComputeDivisor(I);for(let D=0,O=0;D<C;D++){let J=g.slice(O,O+f-I+(D<u?0:1));O+=J.length;const V=Fe.reedSolomonComputeRemainder(J,k);D<u&&J.push(0),h.push(J.concat(V))}let v=[];for(let D=0;D<h[0].length;D++)h.forEach((O,J)=>{(D!=f-I||J>=u)&&v.push(O[D])});return n(v.length==c),v}drawCodewords(g){if(g.length!=Math.floor(Fe.getNumRawDataModules(this.version)/8))throw new RangeError("Invalid argument");let Q=0;for(let l=this.size-1;l>=1;l-=2){l==6&&(l=5);for(let C=0;C<this.size;C++)for(let I=0;I<2;I++){const c=l-I,f=(l+1&2)==0?this.size-1-C:C;!this.isFunction[f][c]&&Q<g.length*8&&(this.modules[f][c]=s(g[Q>>>3],7-(Q&7)),Q++)}}n(Q==g.length*8)}applyMask(g){if(g<0||g>7)throw new RangeError("Mask value out of range");for(let Q=0;Q<this.size;Q++)for(let l=0;l<this.size;l++){let C;switch(g){case 0:C=(l+Q)%2==0;break;case 1:C=Q%2==0;break;case 2:C=l%3==0;break;case 3:C=(l+Q)%3==0;break;case 4:C=(Math.floor(l/3)+Math.floor(Q/2))%2==0;break;case 5:C=l*Q%2+l*Q%3==0;break;case 6:C=(l*Q%2+l*Q%3)%2==0;break;case 7:C=((l+Q)%2+l*Q%3)%2==0;break;default:throw new Error("Unreachable")}!this.isFunction[Q][l]&&C&&(this.modules[Q][l]=!this.modules[Q][l])}}getPenaltyScore(){let g=0;for(let I=0;I<this.size;I++){let c=!1,u=0,f=[0,0,0,0,0,0,0];for(let h=0;h<this.size;h++)this.modules[I][h]==c?(u++,u==5?g+=Fe.PENALTY_N1:u>5&&g++):(this.finderPenaltyAddHistory(u,f),c||(g+=this.finderPenaltyCountPatterns(f)*Fe.PENALTY_N3),c=this.modules[I][h],u=1);g+=this.finderPenaltyTerminateAndCount(c,u,f)*Fe.PENALTY_N3}for(let I=0;I<this.size;I++){let c=!1,u=0,f=[0,0,0,0,0,0,0];for(let h=0;h<this.size;h++)this.modules[h][I]==c?(u++,u==5?g+=Fe.PENALTY_N1:u>5&&g++):(this.finderPenaltyAddHistory(u,f),c||(g+=this.finderPenaltyCountPatterns(f)*Fe.PENALTY_N3),c=this.modules[h][I],u=1);g+=this.finderPenaltyTerminateAndCount(c,u,f)*Fe.PENALTY_N3}for(let I=0;I<this.size-1;I++)for(let c=0;c<this.size-1;c++){const u=this.modules[I][c];u==this.modules[I][c+1]&&u==this.modules[I+1][c]&&u==this.modules[I+1][c+1]&&(g+=Fe.PENALTY_N2)}let Q=0;for(const I of this.modules)Q=I.reduce((c,u)=>c+(u?1:0),Q);const l=this.size*this.size,C=Math.ceil(Math.abs(Q*20-l*10)/l)-1;return n(0<=C&&C<=9),g+=C*Fe.PENALTY_N4,n(0<=g&&g<=2568888),g}getAlignmentPatternPositions(){if(this.version==1)return[];{const g=Math.floor(this.version/7)+2,Q=this.version==32?26:Math.ceil((this.version*4+4)/(g*2-2))*2;let l=[6];for(let C=this.size-7;l.length<g;C-=Q)l.splice(1,0,C);return l}}static getNumRawDataModules(g){if(g<Fe.MIN_VERSION||g>Fe.MAX_VERSION)throw new RangeError("Version number out of range");let Q=(16*g+128)*g+64;if(g>=2){const l=Math.floor(g/7)+2;Q-=(25*l-10)*l-55,g>=7&&(Q-=36)}return n(208<=Q&&Q<=29648),Q}static getNumDataCodewords(g,Q){return Math.floor(Fe.getNumRawDataModules(g)/8)-Fe.ECC_CODEWORDS_PER_BLOCK[Q.ordinal][g]*Fe.NUM_ERROR_CORRECTION_BLOCKS[Q.ordinal][g]}static reedSolomonComputeDivisor(g){if(g<1||g>255)throw new RangeError("Degree out of range");let Q=[];for(let C=0;C<g-1;C++)Q.push(0);Q.push(1);let l=1;for(let C=0;C<g;C++){for(let I=0;I<Q.length;I++)Q[I]=Fe.reedSolomonMultiply(Q[I],l),I+1<Q.length&&(Q[I]^=Q[I+1]);l=Fe.reedSolomonMultiply(l,2)}return Q}static reedSolomonComputeRemainder(g,Q){let l=Q.map(C=>0);for(const C of g){const I=C^l.shift();l.push(0),Q.forEach((c,u)=>l[u]^=Fe.reedSolomonMultiply(c,I))}return l}static reedSolomonMultiply(g,Q){if(g>>>8||Q>>>8)throw new RangeError("Byte out of range");let l=0;for(let C=7;C>=0;C--)l=l<<1^(l>>>7)*285,l^=(Q>>>C&1)*g;return n(l>>>8==0),l}finderPenaltyCountPatterns(g){const Q=g[1];n(Q<=this.size*3);const l=Q>0&&g[2]==Q&&g[3]==Q*3&&g[4]==Q&&g[5]==Q;return(l&&g[0]>=Q*4&&g[6]>=Q?1:0)+(l&&g[6]>=Q*4&&g[0]>=Q?1:0)}finderPenaltyTerminateAndCount(g,Q,l){return g&&(this.finderPenaltyAddHistory(Q,l),Q=0),Q+=this.size,this.finderPenaltyAddHistory(Q,l),this.finderPenaltyCountPatterns(l)}finderPenaltyAddHistory(g,Q){Q[0]==0&&(g+=this.size),Q.pop(),Q.unshift(g)}};e.MIN_VERSION=1,e.MAX_VERSION=40,e.PENALTY_N1=3,e.PENALTY_N2=3,e.PENALTY_N3=40,e.PENALTY_N4=10,e.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],e.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],A.QrCode=e;function t(a,g,Q){if(g<0||g>31||a>>>g)throw new RangeError("Value out of range");for(let l=g-1;l>=0;l--)Q.push(a>>>l&1)}function s(a,g){return(a>>>g&1)!=0}function n(a){if(!a)throw new Error("Assertion error")}const r=class Ct{constructor(g,Q,l){if(this.mode=g,this.numChars=Q,this.bitData=l,Q<0)throw new RangeError("Invalid argument");this.bitData=l.slice()}static makeBytes(g){let Q=[];for(const l of g)t(l,8,Q);return new Ct(Ct.Mode.BYTE,g.length,Q)}static makeNumeric(g){if(!Ct.isNumeric(g))throw new RangeError("String contains non-numeric characters");let Q=[];for(let l=0;l<g.length;){const C=Math.min(g.length-l,3);t(parseInt(g.substring(l,l+C),10),C*3+1,Q),l+=C}return new Ct(Ct.Mode.NUMERIC,g.length,Q)}static makeAlphanumeric(g){if(!Ct.isAlphanumeric(g))throw new RangeError("String contains unencodable characters in alphanumeric mode");let Q=[],l;for(l=0;l+2<=g.length;l+=2){let C=Ct.ALPHANUMERIC_CHARSET.indexOf(g.charAt(l))*45;C+=Ct.ALPHANUMERIC_CHARSET.indexOf(g.charAt(l+1)),t(C,11,Q)}return l<g.length&&t(Ct.ALPHANUMERIC_CHARSET.indexOf(g.charAt(l)),6,Q),new Ct(Ct.Mode.ALPHANUMERIC,g.length,Q)}static makeSegments(g){return g==""?[]:Ct.isNumeric(g)?[Ct.makeNumeric(g)]:Ct.isAlphanumeric(g)?[Ct.makeAlphanumeric(g)]:[Ct.makeBytes(Ct.toUtf8ByteArray(g))]}static makeEci(g){let Q=[];if(g<0)throw new RangeError("ECI assignment value out of range");if(g<128)t(g,8,Q);else if(g<16384)t(2,2,Q),t(g,14,Q);else if(g<1e6)t(6,3,Q),t(g,21,Q);else throw new RangeError("ECI assignment value out of range");return new Ct(Ct.Mode.ECI,0,Q)}static isNumeric(g){return Ct.NUMERIC_REGEX.test(g)}static isAlphanumeric(g){return Ct.ALPHANUMERIC_REGEX.test(g)}getData(){return this.bitData.slice()}static getTotalBits(g,Q){let l=0;for(const C of g){const I=C.mode.numCharCountBits(Q);if(C.numChars>=1<<I)return 1/0;l+=4+I+C.bitData.length}return l}static toUtf8ByteArray(g){g=encodeURI(g);let Q=[];for(let l=0;l<g.length;l++)g.charAt(l)!="%"?Q.push(g.charCodeAt(l)):(Q.push(parseInt(g.substring(l+1,l+3),16)),l+=2);return Q}};r.NUMERIC_REGEX=/^[0-9]*$/,r.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,r.ALPHANUMERIC_CHARSET="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:";let i=r;A.QrSegment=r})(xs||(xs={}));(A=>{(e=>{const t=class{constructor(n,r){this.ordinal=n,this.formatBits=r}};t.LOW=new t(0,1),t.MEDIUM=new t(1,0),t.QUARTILE=new t(2,3),t.HIGH=new t(3,2),e.Ecc=t})(A.QrCode||(A.QrCode={}))})(xs||(xs={}));(A=>{(e=>{const t=class{constructor(n,r){this.modeBits=n,this.numBitsCharCount=r}numCharCountBits(n){return this.numBitsCharCount[Math.floor((n+7)/17)]}};t.NUMERIC=new t(1,[10,12,14]),t.ALPHANUMERIC=new t(2,[9,11,13]),t.BYTE=new t(4,[8,16,16]),t.KANJI=new t(8,[8,10,12]),t.ECI=new t(7,[0,0,0]),e.Mode=t})(A.QrSegment||(A.QrSegment={}))})(xs||(xs={}));var js=xs;var h1={L:js.QrCode.Ecc.LOW,M:js.QrCode.Ecc.MEDIUM,Q:js.QrCode.Ecc.QUARTILE,H:js.QrCode.Ecc.HIGH},hE=128,pE="L",fE="#FFFFFF",mE="#000000",wE=!1,xE=1,p1=4,f1=0,m1=.1;function DE(A,e=0){const t=[];return A.forEach(function(s,n){let r=null;s.forEach(function(i,a){if(!i&&r!==null){t.push(`M${r+e} ${n+e}h${a-r}v1H${r+e}z`),r=null;return}if(a===s.length-1){if(!i)return;r===null?t.push(`M${a+e},${n+e} h1v1H${a+e}z`):t.push(`M${r+e},${n+e} h${a+1-r}v1H${r+e}z`);return}i&&r===null&&(r=a)})}),t.join("")}function yE(A,e){return A.slice().map((t,s)=>s<e.y||s>=e.y+e.h?t:t.map((n,r)=>r<e.x||r>=e.x+e.w?n:!1))}function w1(A,e,t,s){if(s==null)return null;const n=A.length+t*2,r=Math.floor(e*m1),i=n/e,a=(s.width||r)*i,g=(s.height||r)*i,Q=s.x==null?A.length/2-a/2:s.x*i,l=s.y==null?A.length/2-g/2:s.y*i,C=s.opacity==null?1:s.opacity;let I=null;if(s.excavate){let u=Math.floor(Q),f=Math.floor(l),h=Math.ceil(a+Q-u),k=Math.ceil(g+l-f);I={x:u,y:f,w:h,h:k}}const c=s.crossOrigin;return{x:Q,y:l,h:g,w:a,excavation:I,opacity:C,crossOrigin:c}}function x1(A,e){return e!=null?Math.max(Math.floor(e),0):A?p1:f1}function NE({value:A,level:e,minVersion:t,includeMargin:s,marginSize:n,imageSettings:r,size:i,boostLevel:a}){let g=Qt.useMemo(()=>{const u=(Array.isArray(A)?A:[A]).reduce((f,h)=>(f.push(...js.QrSegment.makeSegments(h)),f),[]);return js.QrCode.encodeSegments(u,h1[e],t,void 0,void 0,a)},[A,e,t,a]);const{cells:Q,margin:l,numCells:C,calculatedImageSettings:I}=Qt.useMemo(()=>{let c=g.getModules();const u=x1(s,n),f=c.length+u*2,h=w1(c,i,u,r);return{cells:c,margin:u,numCells:f,calculatedImageSettings:h}},[g,i,r,s,n]);return{qrcode:g,margin:l,cells:Q,numCells:C,calculatedImageSettings:I}}var D1=(function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0})(),y1=Qt.forwardRef(function(e,t){const s=e,{value:n,size:r=hE,level:i=pE,bgColor:a=fE,fgColor:g=mE,includeMargin:Q=wE,minVersion:l=xE,boostLevel:C,marginSize:I,imageSettings:c}=s,f=ya(s,["value","size","level","bgColor","fgColor","includeMargin","minVersion","boostLevel","marginSize","imageSettings"]),{style:h}=f,k=ya(f,["style"]),v=c?.src,D=Qt.useRef(null),O=Qt.useRef(null),J=Qt.useCallback(B=>{D.current=B,typeof t=="function"?t(B):t&&(t.current=B)},[t]),[V,eA]=Qt.useState(!1),{margin:X,cells:K,numCells:W,calculatedImageSettings:T}=NE({value:n,level:i,minVersion:l,boostLevel:C,includeMargin:Q,marginSize:I,imageSettings:c,size:r});Qt.useEffect(()=>{if(D.current!=null){const B=D.current,d=B.getContext("2d");if(!d)return;let N=K;const G=O.current,S=T!=null&&G!==null&&G.complete&&G.naturalHeight!==0&&G.naturalWidth!==0;S&&T.excavation!=null&&(N=yE(K,T.excavation));const j=window.devicePixelRatio||1;B.height=B.width=r*j;const H=r/W*j;d.scale(H,H),d.fillStyle=a,d.fillRect(0,0,W,W),d.fillStyle=g,D1?d.fill(new Path2D(DE(N,X))):K.forEach(function(b,E){b.forEach(function(p,U){p&&d.fillRect(U+X,E+X,1,1)})}),T&&(d.globalAlpha=T.opacity),S&&d.drawImage(G,T.x+X,T.y+X,T.w,T.h)}}),Qt.useEffect(()=>{eA(!1)},[v]);const L=Da({height:r,width:r},h);let w=null;return v!=null&&(w=Qt.createElement("img",{src:v,key:v,style:{display:"none"},onLoad:()=>{eA(!0)},ref:O,crossOrigin:T?.crossOrigin})),Qt.createElement(Qt.Fragment,null,Qt.createElement("canvas",Da({style:L,height:r,width:r,ref:J,role:"img"},k)),w)});y1.displayName="QRCodeCanvas";var si=Qt.forwardRef(function(e,t){const s=e,{value:n,size:r=hE,level:i=pE,bgColor:a=fE,fgColor:g=mE,includeMargin:Q=wE,minVersion:l=xE,boostLevel:C,title:I,marginSize:c,imageSettings:u}=s,f=ya(s,["value","size","level","bgColor","fgColor","includeMargin","minVersion","boostLevel","title","marginSize","imageSettings"]),{margin:h,cells:k,numCells:v,calculatedImageSettings:D}=NE({value:n,level:i,minVersion:l,boostLevel:C,includeMargin:Q,marginSize:c,imageSettings:u,size:r});let O=k,J=null;u!=null&&D!=null&&(D.excavation!=null&&(O=yE(k,D.excavation)),J=Qt.createElement("image",{href:u.src,height:D.h,width:D.w,x:D.x+h,y:D.y+h,preserveAspectRatio:"none",opacity:D.opacity,crossOrigin:D.crossOrigin}));const V=DE(O,h);return Qt.createElement("svg",Da({height:r,width:r,viewBox:`0 0 ${v} ${v}`,ref:t,role:"img"},f),!!I&&Qt.createElement("title",null,I),Qt.createElement("path",{fill:a,d:`M0,0 h${v}v${v}H0z`,shapeRendering:"crispEdges"}),Qt.createElement("path",{fill:g,d:V,shapeRendering:"crispEdges"}),J)});si.displayName="QRCodeSVG";const rr=["wallet","defaults"],kt=ht((A,e)=>({isOpen:!1,currentStep:"wallet",manageMode:!1,isLoading:!1,error:null,authStatus:null,setOpen:t=>A({isOpen:t}),setStep:t=>A({currentStep:t}),setManageMode:t=>A({manageMode:t}),setLoading:t=>A({isLoading:t}),setError:t=>A({error:t}),setAuthStatus:t=>A({authStatus:t}),nextStep:()=>{const{currentStep:t}=e(),s=rr.indexOf(t);s<rr.length-1&&A({currentStep:rr[s+1]})},prevStep:()=>{const{currentStep:t}=e(),s=rr.indexOf(t);s>0&&A({currentStep:rr[s-1]})},reset:()=>A({isOpen:!1,currentStep:"wallet",manageMode:!1,isLoading:!1,error:null})})),Yi=typeof window<"u"&&window.self!==window.top;function kg(){const A=kt(L=>L.setAuthStatus),e=kt(L=>L.setOpen),t=kt(L=>L.setLoading),s=kt(L=>L.setError),n=kt(L=>L.authStatus),r=kt(L=>L.isOpen),i=ke(),[a,g]=x.useState(!1),[Q,l]=x.useState(!1),C=x.useRef(null),I=x.useRef(new Set),c=x.useCallback(async()=>{t(!0),s(null);try{const L=await mA.getAuthStatus();return A(L),i.invalidateQueries({queryKey:["config"]}),i.invalidateQueries({queryKey:["models"]}),L}catch(L){const w=L instanceof Error?L.message:"Failed to load";return s(w),null}finally{t(!1)}},[A,t,s,i]),u=x.useCallback(async()=>{const L=await c();if(L){const w=Object.values(L.providers).some(d=>d.configured);(!L.onboardingComplete||!w||!L.ottorouter.configured)&&e(!0)}g(!0)},[c,e]),f=x.useCallback(async()=>{t(!0),s(null);try{const L=await mA.setupOttoRouterWallet();return await c(),L}catch(L){const w=L instanceof Error?L.message:"Setup failed";throw s(w),L}finally{t(!1)}},[c,t,s]),h=x.useCallback(async L=>{t(!0),s(null);try{const w=await mA.importOttoRouterWallet(L);return await c(),w}catch(w){const B=w instanceof Error?w.message:"Import failed";throw s(B),w}finally{t(!1)}},[c,t,s]),k=x.useCallback(async(L,w)=>{t(!0),s(null);try{const B=await mA.addProvider(L,w);return await c(),B}catch(B){const d=B instanceof Error?B.message:"Failed to add provider";throw s(d),B}finally{t(!1)}},[c,t,s]),v=x.useCallback(async L=>{t(!0),s(null);try{const w=await mA.updateProviderSettings(L.id,{enabled:!0,custom:!0,label:L.label,baseURL:L.baseURL,...L.apiKey?{apiKey:L.apiKey}:{},compatibility:L.compatibility,models:L.models,allowAnyModel:L.allowAnyModel,scope:"local"});return await c(),w}catch(w){const B=w instanceof Error?w.message:"Failed to add custom provider";throw s(B),w}finally{t(!1)}},[c,t,s]),D=x.useCallback(async L=>{t(!0),s(null);try{const B=kt.getState().authStatus?.providers[L]?.custom?await mA.deleteProviderSettings(L):await mA.removeProvider(L);return await c(),B}catch(w){const B=w instanceof Error?w.message:"Failed to remove provider";throw s(B),w}finally{t(!1)}},[c,t,s]),O=x.useCallback(async()=>{t(!0),s(null);try{await mA.completeOnboarding(),await c(),e(!1)}catch(L){const w=L instanceof Error?L.message:"Failed to complete onboarding";throw s(w),L}finally{t(!1)}},[c,t,s,e]),J=x.useCallback(()=>{const L=kt.getState().authStatus;L&&(I.current=new Set(Object.entries(L.providers).filter(([,w])=>w.configured).map(([w])=>w)))},[]),V=x.useCallback((L,w)=>{const B=mA.getOAuthStartUrl(L,w);if(Yi)return J(),window.parent.postMessage({type:"otto-open-url",url:B},"*"),l(!0),null;const d=600,N=700,G=window.screenX+(window.outerWidth-d)/2,S=window.screenY+(window.outerHeight-N)/2;return window.open(B,"oauth_popup",`width=${d},height=${N},left=${G},top=${S},toolbar=no,menubar=no`)},[J]),eA=x.useCallback(async(L,w)=>{const{url:B,sessionId:d}=await mA.getOAuthUrl(L,w);if(Yi)return J(),window.parent.postMessage({type:"otto-open-url",url:B},"*"),l(!0),{popup:null,sessionId:d};const N=600,G=700,S=window.screenX+(window.outerWidth-N)/2,j=window.screenY+(window.outerHeight-G)/2;return{popup:window.open(B,"oauth_popup",`width=${N},height=${G},left=${S},top=${j},toolbar=no,menubar=no`),sessionId:d}},[J]),X=x.useCallback(async(L,w,B)=>{t(!0),s(null);try{return await mA.exchangeOAuthCode(L,w,B),await c(),!0}catch(d){const N=d instanceof Error?d.message:"Failed to exchange code";throw s(N),d}finally{t(!1)}},[c,t,s]);x.useEffect(()=>{if(!Q||!Yi)return;C.current=setInterval(()=>{c()},3e3);const L=setTimeout(()=>{l(!1)},3e5);return()=>{clearInterval(C.current),clearTimeout(L)}},[Q,c]),x.useEffect(()=>{if(!Q||!n)return;Object.entries(n.providers).filter(([,B])=>B.configured).some(([B])=>!I.current.has(B))&&l(!1)},[n,Q]),x.useEffect(()=>{const L=w=>{w.data?.type==="oauth-success"&&c()};return window.addEventListener("message",L),()=>window.removeEventListener("message",L)},[c]);const K=x.useCallback(async L=>{const w=await mA.pollCopilotDeviceFlow(L);return w.status==="complete"&&await c(),w},[c]),W=x.useCallback(async L=>{t(!0),s(null);try{const w=await mA.saveCopilotToken(L);return await c(),w}catch(w){const B=w instanceof Error?w.message:"Failed to save Copilot token";throw s(B),w}finally{t(!1)}},[c,t,s]),T=x.useCallback(async()=>{t(!0),s(null);try{const L=await mA.importCopilotTokenFromGh();return await c(),L}catch(L){const w=L instanceof Error?L.message:"Failed to import Copilot token from GH";throw s(w),L}finally{t(!1)}},[c,t,s]);return{authStatus:n,isOpen:r,initialized:a,fetchAuthStatus:c,checkOnboarding:u,setupWallet:f,importWallet:h,addProvider:k,addCustomProvider:v,removeProvider:D,completeOnboarding:O,startOAuth:V,startOAuthManual:eA,exchangeOAuthCode:X,startCopilotDeviceFlow:mA.startCopilotDeviceFlow.bind(mA),pollCopilotDeviceFlow:K,getCopilotAuthMethods:mA.getCopilotAuthMethods.bind(mA),saveCopilotToken:W,importCopilotTokenFromGh:T,getCopilotDiagnostics:mA.getCopilotDiagnostics.bind(mA)}}const An="pendingPolarCheckout";function N1(){const A=x.useRef(!1),e=x.useRef(null),t=Ne(n=>n.setBalance),s=po(n=>n.removeToast);x.useEffect(()=>{if(A.current)return;const r=new URLSearchParams(window.location.search).get("topup"),i=localStorage.getItem(An);if(r==="pending"||i){A.current=!0;const a=new URL(window.location.href);if(a.searchParams.delete("topup"),window.history.replaceState({},"",a.toString()),!i){de.info("Checking top-up status...");return}e.current=de.loading("Verifying top-up...");let g=0;const Q=10,l=2e3,C=()=>{e.current&&(s(e.current),e.current=null)},I=async()=>{g++;try{const c=await mA.getPolarTopupStatus(i);if(c?.confirmed){localStorage.removeItem(An),C();const u=await mA.getOttoRouterBalance();u?.balance!==void 0&&t(u.balance),de.success(`Top-up confirmed! +$${c.amountUsd?.toFixed(2)} credited`);return}g<Q?setTimeout(I,l):(localStorage.removeItem(An),C(),de.info("Top-up is still processing. Balance will update automatically."))}catch{g<Q?setTimeout(I,l):(localStorage.removeItem(An),C(),de.error("Could not verify top-up. Please check your balance."))}};setTimeout(I,1500)}},[t,s])}const fB="settings",mB=320,k1=320,M1=500,cn=x.memo(function({title:e,icon:t,children:s,action:n}){return o.jsxs("div",{className:"border-b border-border",children:[o.jsxs("div",{className:"px-4 py-3 flex items-center gap-2 bg-muted/30",children:[t,o.jsx("span",{className:"text-sm font-medium flex-1",children:e}),n]}),o.jsx("div",{className:"px-4 py-3 space-y-3",children:s})]})}),cs=x.memo(function({label:e,value:t}){return o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:e}),o.jsx("span",{className:"font-mono text-foreground",children:t})]})}),nr=x.memo(function({label:e,checked:t,onChange:s}){return o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:e}),o.jsx("button",{type:"button",role:"switch","aria-checked":t,onClick:()=>s(!t),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 ${t?"bg-primary":"bg-muted"}`,children:o.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full transition-transform ${t?"translate-x-6":"translate-x-1"} ${t?"bg-primary-foreground":"bg-foreground"}`})})]})}),ir=x.memo(function({label:e,value:t,options:s,onChange:n,disabled:r}){const[i,a]=x.useState(!1),g=s.find(Q=>Q.id===t);return o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:e}),o.jsxs("div",{className:"relative",children:[o.jsxs("button",{type:"button",onClick:()=>!r&&a(!i),disabled:r,className:"flex items-center gap-1 px-2 py-1 text-xs font-mono bg-muted hover:bg-muted/80 rounded border border-border disabled:opacity-50",children:[o.jsx("span",{className:"max-w-[120px] truncate",children:g?.label||t||"Select..."}),o.jsx(_t,{className:"w-3 h-3"})]}),i&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"fixed inset-0 z-40",onClick:()=>a(!1),role:"presentation"}),o.jsx("div",{className:"absolute right-0 top-full mt-1 z-50 min-w-[160px] max-h-[200px] overflow-y-auto bg-popover border border-border rounded-md shadow-lg",children:s.map(Q=>o.jsx("button",{type:"button",onClick:()=>{n(Q.id),a(!1)},className:`w-full px-3 py-2 text-left text-xs font-mono hover:bg-muted truncate ${Q.id===t?"bg-muted/50":""}`,children:Q.label},Q.id))})]})]})]})}),b1=x.memo(function({label:e,value:t,onCommit:s,placeholder:n,hint:r,disabled:i}){const[a,g]=x.useState(t!=null?String(t):"");x.useEffect(()=>{g(t!=null?String(t):"")},[t]);const Q=t!=null?String(t):"",l=a.trim(),C=l?Number(l.replaceAll(",","")):null,I=C!==null&&Number.isFinite(C)&&C>0?String(Math.floor(C)):l===""?"":null,c=I!==null&&I!==Q,u=x.useCallback(()=>{I===null||I===Q||(g(I),s(I===""?null:Number(I)))},[I,s,Q]);return o.jsxs("div",{className:"space-y-1.5",children:[o.jsxs("div",{className:"flex min-w-0 items-center justify-between gap-3 text-sm",children:[o.jsx("span",{className:"min-w-0 flex-1 truncate whitespace-nowrap text-muted-foreground",children:e}),o.jsxs("div",{className:"flex shrink-0 items-center gap-1 rounded border border-border bg-muted px-2 py-1 text-xs font-mono transition-colors focus-within:border-primary",children:[o.jsx("input",{type:"text",inputMode:"numeric",value:a,onChange:f=>g(f.target.value),onKeyDown:f=>{f.key==="Enter"&&(f.preventDefault(),u()),f.key==="Escape"&&(g(Q),f.currentTarget.blur())},placeholder:n,disabled:i,className:"w-24 bg-transparent text-right outline-none placeholder:text-muted-foreground/70 disabled:opacity-50"}),o.jsx("button",{type:"button",onClick:u,disabled:i||!c,className:"inline-flex items-center justify-center text-muted-foreground transition-colors hover:text-foreground disabled:cursor-not-allowed disabled:opacity-40","aria-label":`Save ${e}`,children:o.jsx(Yt,{className:"h-4 w-4"})})]})]}),r?o.jsx("p",{className:"text-xs text-muted-foreground",children:r}):null]})}),F1=x.memo(function(){const e=Mt(T=>T.isExpanded),t=Mt(T=>T.collapseSidebar),s=os(T=>T.widths[fB]??mB),{data:n}=is(),{data:r}=Vs(),{preferences:i,updatePreferences:a}=Zs(),g=qn(),Q=Ne(T=>T.balance),l=Ne(T=>T.walletAddress),C=Ne(T=>T.usdcBalance),I=Ne(T=>T.isLoading),c=Ne(T=>T.openTopupModal);N1();const u=n?.providers?.includes("ottorouter"),{fetchBalance:f}=ti(u?"ottorouter":void 0),h=kt(T=>T.setOpen),k=kt(T=>T.setStep),v=kt(T=>T.setManageMode),{fetchAuthStatus:D}=kg(),O=x.useCallback(async()=>await mA.exportOttoRouterWallet(),[]),J=x.useMemo(()=>!n?.providers||!r?[]:n.providers.filter(T=>r[T]).map(T=>({id:T,label:r[T]?.label||T})),[n?.providers,r]),V=x.useMemo(()=>{const T=n?.defaults?.provider;return!T||!r?.[T]?[]:r[T].models.map(L=>({id:L.id,label:L.label}))},[n?.defaults?.provider,r]),eA=x.useMemo(()=>n?.agents?n.agents.map(T=>({id:T,label:T})):[],[n?.agents]);if(!e)return null;const X=T=>{const L=r?.[T]?.models?.[0]?.id;g.mutate({provider:T,model:L||n?.defaults?.model,scope:"global"})},K=T=>{g.mutate({model:T,scope:"global"})},W=T=>{g.mutate({agent:T,scope:"global"})};return o.jsxs("div",{className:"border-l border-sidebar-border sidebar-fade-in flex h-full relative",style:{width:s},children:[o.jsx(zs,{panelKey:fB,side:"right",minWidth:k1,maxWidth:M1,defaultWidth:mB}),o.jsxs("div",{className:"flex-1 flex flex-col h-full min-w-0",children:[o.jsxs("div",{className:"h-14 border-b border-border px-3 flex items-center justify-between shrink-0",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(PB,{className:"w-4 h-4"}),o.jsx("span",{className:"font-medium",children:"Settings"})]}),o.jsx(Be,{variant:"ghost",size:"icon",onClick:t,children:o.jsx(ct,{className:"w-4 h-4"})})]}),o.jsxs("div",{className:"flex-1 overflow-y-auto",children:[o.jsxs(cn,{title:"Default Model",icon:o.jsx(dC,{className:"w-4 h-4 text-muted-foreground"}),children:[o.jsx(ir,{label:"Provider",value:n?.defaults?.provider??"",options:J,onChange:X,disabled:g.isPending}),o.jsx(ir,{label:"Model",value:n?.defaults?.model??"",options:V,onChange:K,disabled:g.isPending}),o.jsx(ir,{label:"Agent",value:n?.defaults?.agent??"",options:eA,onChange:W,disabled:g.isPending})]}),o.jsxs(cn,{title:"Preferences",icon:o.jsx(Fa,{className:"w-4 h-4 text-muted-foreground"}),children:[o.jsx(nr,{label:"Vim Mode",checked:i.vimMode,onChange:T=>a({vimMode:T})}),o.jsx(nr,{label:"Compact Thread",checked:i.compactThread,onChange:T=>a({compactThread:T})}),o.jsx(nr,{label:"Full Width Content",checked:i.fullWidthContent,onChange:T=>a({fullWidthContent:T})}),o.jsx(b1,{label:"Auto Compact",value:n?.defaults?.autoCompactThresholdTokens,onCommit:T=>g.mutate({autoCompactThresholdTokens:T,scope:"global"}),placeholder:"Tokens",disabled:g.isPending}),o.jsx(nr,{label:"Show Reasoning",checked:n?.defaults?.reasoningText??!0,onChange:T=>g.mutate({reasoningText:T,scope:"global"})}),o.jsx(ir,{label:"Reasoning Level",value:n?.defaults?.reasoningLevel??"high",options:[{id:"minimal",label:"Minimal"},{id:"low",label:"Low"},{id:"medium",label:"Medium"},{id:"high",label:"High"},{id:"max",label:"Max"},{id:"xhigh",label:"Extra High"}],onChange:T=>g.mutate({reasoningLevel:T,scope:"global"}),disabled:g.isPending}),o.jsx(ir,{label:"Tool Approval",value:n?.defaults?.toolApproval??"dangerous",options:[{id:"auto",label:"Auto (no approval)"},{id:"dangerous",label:"Dangerous only"},{id:"yolo",label:"YOLO (hard blocks only)"},{id:"all",label:"All tools"}],onChange:T=>g.mutate({toolApproval:T,scope:"global"}),disabled:g.isPending}),o.jsx(nr,{label:"Guided Mode",checked:n?.defaults?.guidedMode??!1,onChange:T=>g.mutate({guidedMode:T,scope:"global"})})]}),o.jsx(cn,{title:"Providers",icon:o.jsx(hC,{className:"w-4 h-4 text-muted-foreground"}),action:o.jsx("button",{type:"button",onClick:()=>{D().then(()=>{k("wallet"),v(!0),h(!0)})},className:"p-1 hover:bg-muted rounded transition-colors",title:"Manage providers",children:o.jsx(En,{className:"w-3.5 h-3.5 text-muted-foreground"})}),children:o.jsx("div",{className:"flex flex-wrap gap-2",children:n?.providers?.map(T=>o.jsx("span",{className:"px-2 py-1 text-xs bg-muted rounded-md font-mono",children:T},T))??o.jsx("span",{className:"text-muted-foreground text-sm",children:"None"})})}),n?.providers?.includes("ottorouter")&&o.jsx(v1,{ottorouterWallet:l,ottorouterBalance:Q,ottorouterUsdcBalance:C,ottorouterLoading:I,refreshSetuBalance:f,openTopupModal:c,onExportPrivateKey:O}),o.jsx(yg,{})]})]})]})});function G1(){const A=Ne(t=>t.subscription),e=Ne(t=>t.payg);return A?.active?o.jsxs(o.Fragment,{children:[o.jsx(cs,{label:"Plan",value:A.tierName??"GO"}),A.usageWindows&&o.jsxs(o.Fragment,{children:[o.jsx(cs,{label:"5h",value:`${Math.round(A.usageWindows.fiveHour.percentUsed)}%`}),o.jsx(cs,{label:"Week",value:`${Math.round(A.usageWindows.weekly.percentUsed)}%`})]}),e&&e.effectiveSpendableUsd>0&&o.jsx(cs,{label:"Credits",value:`$${e.effectiveSpendableUsd.toFixed(2)}`}),A.periodEnd&&o.jsx(cs,{label:"Renews",value:new Date(A.periodEnd).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}).replace(",","")})]}):null}const v1=x.memo(function({ottorouterWallet:e,ottorouterBalance:t,ottorouterUsdcBalance:s,ottorouterLoading:n,refreshSetuBalance:r,openTopupModal:i,onExportPrivateKey:a}){const g=Ne(w=>!!w.subscription?.active),[Q,l]=x.useState(!1),[C,I]=x.useState(!1),[c,u]=x.useState(null),[f,h]=x.useState(!1),[k,v]=x.useState(null),[D,O]=x.useState(!1),J=x.useCallback(async()=>{e&&(await navigator.clipboard.writeText(e),l(!0),setTimeout(()=>l(!1),2e3))},[e]),V=async()=>{I(!0),O(!1),u(null),v(null),h(!0);try{const w=await a();u(w.privateKey)}catch(w){v(w instanceof Error?w.message:"Failed to export private key")}finally{h(!1)}},eA=()=>{f||(I(!1),O(!1),u(null),v(null))},X=async()=>{c&&(await navigator.clipboard.writeText(c),O(!0),setTimeout(()=>O(!1),2e3))},K=w=>w?`${w.slice(0,4)}...${w.slice(-4)}`:"Not configured",W=w=>w===null?"—":`$${w.toFixed(4)}`,T=w=>w===null?"—":`${w.toFixed(2)} USDC`,L=e!==null;return o.jsxs(cn,{title:"Setu Credits",icon:o.jsx(Ja,{className:"w-4 h-4 text-muted-foreground"}),action:o.jsx("button",{type:"button",onClick:r,disabled:n,className:"p-1 hover:bg-muted rounded transition-colors disabled:opacity-50",title:"Refresh balances",children:o.jsx(Vt,{className:`w-3.5 h-3.5 text-muted-foreground ${n?"animate-spin":""}`})}),children:[L?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"flex justify-center pb-3",children:o.jsx("div",{className:"p-2 bg-white rounded-lg",children:o.jsx(si,{value:e,size:120,level:"M",includeMargin:!1})})}),o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:"Address"}),o.jsxs("button",{type:"button",onClick:J,className:"flex items-center gap-1.5 font-mono text-foreground hover:text-muted-foreground transition-colors",title:"Copy address",children:[K(e),Q?o.jsx(Yt,{className:"w-3 h-3 text-green-500"}):o.jsx(ps,{className:"w-3 h-3 text-muted-foreground"})]})]}),o.jsx(G1,{}),!g&&o.jsxs(o.Fragment,{children:[o.jsx(cs,{label:"Balance",value:W(t)}),o.jsx(cs,{label:"USDC",value:T(s)})]})]}):o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"flex justify-center pb-3",children:o.jsx("div",{className:"w-[136px] h-[136px] bg-muted rounded-lg animate-pulse"})}),o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:"Address"}),o.jsx("div",{className:"w-24 h-4 bg-muted rounded animate-pulse"})]}),o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:"Balance"}),o.jsx("div",{className:"w-16 h-4 bg-muted rounded animate-pulse"})]}),o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:"USDC"}),o.jsx("div",{className:"w-20 h-4 bg-muted rounded animate-pulse"})]})]}),o.jsxs(Be,{variant:"secondary",size:"sm",onClick:i,className:"w-full mt-2 gap-2",children:[o.jsx(go,{className:"w-4 h-4"}),"Top Up Balance"]}),o.jsxs(Be,{variant:"ghost",size:"sm",onClick:V,className:"w-full gap-2",children:[o.jsx(Qr,{className:"w-4 h-4"}),"Export Private Key"]}),C&&o.jsx("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60 backdrop-blur-sm",children:o.jsxs("div",{className:"bg-background border border-border rounded-xl w-full max-w-lg mx-6 shadow-2xl",children:[o.jsxs("div",{className:"flex items-center gap-3 p-6 border-b border-border",children:[o.jsx(Qr,{className:"w-5 h-5 text-muted-foreground"}),o.jsx("h3",{className:"text-lg font-semibold",children:"Export Setu Private Key"})]}),o.jsxs("div",{className:"p-6",children:[o.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Keep this private key secret. Anyone with this key can spend funds from your Setu wallet."}),f&&o.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[o.jsx(Le,{className:"w-4 h-4 animate-spin"}),"Exporting private key..."]}),!f&&c&&o.jsxs("div",{className:"space-y-3",children:[o.jsx("textarea",{readOnly:!0,value:c,className:"w-full min-h-[110px] px-4 py-3 bg-muted/50 border border-border rounded-lg text-foreground outline-none font-mono text-xs resize-y"}),o.jsxs(Be,{variant:"secondary",size:"sm",onClick:X,className:"w-full gap-2",children:[D?o.jsx(Yt,{className:"w-4 h-4 text-green-500"}):o.jsx(ps,{className:"w-4 h-4"}),D?"Copied":"Copy Private Key"]})]}),!f&&k&&o.jsx("p",{className:"text-sm text-red-500 mt-3",children:k}),o.jsx("div",{className:"flex gap-3 mt-5",children:o.jsx("button",{type:"button",onClick:eA,disabled:f,className:"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors disabled:opacity-50",children:"Close"})})]})]})})]})}),S1=x.memo(function(){const e=Mt(s=>s.isExpanded),t=Mt(s=>s.toggleSidebar);return o.jsx("button",{type:"button",onClick:t,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${e?"bg-muted border-primary":"border-transparent hover:bg-muted/50"}`,title:"Settings",children:o.jsx(PB,{className:"w-5 h-5 text-muted-foreground mx-auto"})})});async function U1(){const A=await fetch(`${ss}/v1/tunnel/status`);if(!A.ok)throw new Error("Failed to fetch tunnel status");return A.json()}async function R1(){return(await fetch(`${ss}/v1/tunnel/start`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})})).json()}async function K1(){return(await fetch(`${ss}/v1/tunnel/stop`,{method:"POST"})).json()}function J1(){const A=je(n=>n.setStatus),e=je(n=>n.setUrl),t=je(n=>n.setError),s=at({queryKey:["tunnel","status"],queryFn:U1,refetchInterval:3e3});return x.useEffect(()=>{s.data&&(A(s.data.status),e(s.data.url),t(s.data.error))},[s.data,A,e,t]),s}function L1(){const A=ke(),e=je(r=>r.setStatus),t=je(r=>r.setUrl),s=je(r=>r.setError),n=je(r=>r.setProgress);return Ze({mutationFn:()=>R1(),onMutate:()=>{e("starting"),n("Connecting..."),s(null)},onSuccess:r=>{r.ok&&r.url?(e("connected"),t(r.url),n(null)):r.ok||(e("error"),s(r.error||"Failed to start tunnel"),n(null)),A.invalidateQueries({queryKey:["tunnel"]})},onError:r=>{e("error"),s(r.message),n(null)}})}function j1(){const A=ke(),e=je(t=>t.reset);return Ze({mutationFn:K1,onSuccess:()=>{e(),A.invalidateQueries({queryKey:["tunnel"]})}})}function T1(){const A=je(a=>a.setStatus),e=je(a=>a.setUrl),t=je(a=>a.setError),s=je(a=>a.setProgress),n=je(a=>a.isExpanded),r=x.useRef(null),i=x.useCallback(()=>{r.current&&r.current.close();const a=new EventSource(`${ss}/v1/tunnel/stream`);return r.current=a,a.onmessage=g=>{try{const Q=JSON.parse(g.data);Q.type==="status"&&(A(Q.status),e(Q.url),t(Q.error),s(Q.progress))}catch{}},a.onerror=()=>{a.close(),r.current=null},()=>{a.close(),r.current=null}},[A,e,t,s]);return x.useEffect(()=>n?i():()=>{r.current&&(r.current.close(),r.current=null)},[n,i]),{connect:i}}function O1(A){try{const t=new URL(A).hostname;return t.length>24?`${t.slice(0,12)}...${t.slice(-8)}`:t}catch{return A.length>24?`${A.slice(0,12)}...${A.slice(-8)}`:A}}const q1=x.memo(function(){const e=je(u=>u.isExpanded),t=je(u=>u.collapseSidebar),s=je(u=>u.status),n=je(u=>u.url),r=je(u=>u.error),i=je(u=>u.progress),a=L1(),g=j1(),[Q,l]=x.useState(!1);J1(),T1();const C=async()=>{n&&(await navigator.clipboard.writeText(n),l(!0),setTimeout(()=>l(!1),2e3))},I=()=>{a.mutate()},c=()=>{g.mutate()};return e?o.jsxs("div",{className:"w-80 border-l border-sidebar-border sidebar-fade-in flex flex-col h-full",children:[o.jsxs("div",{className:"h-14 flex items-center justify-between px-3 border-b border-border",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(Ho,{className:"w-4 h-4 text-muted-foreground"}),o.jsx("span",{className:"font-medium text-sm",children:"Remote Access"})]}),o.jsx(Be,{variant:"ghost",size:"icon",onClick:t,title:"Close sidebar",children:o.jsx(ct,{className:"w-4 h-4"})})]}),o.jsxs("div",{className:"flex-1 overflow-y-auto p-4",children:[s==="idle"&&o.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center",children:[o.jsx(Ho,{className:"w-12 h-12 text-muted-foreground/30 mb-4"}),o.jsx("h3",{className:"text-sm font-medium mb-2",children:"Access from anywhere"}),o.jsx("p",{className:"text-xs text-muted-foreground mb-6 max-w-[200px]",children:"Start a secure tunnel to access otto from your phone or another device."}),o.jsx("button",{type:"button",onClick:I,disabled:a.isPending,className:"px-4 py-2 bg-primary text-primary-foreground rounded-md text-sm font-medium hover:bg-primary/90 transition-colors disabled:opacity-50",children:a.isPending?"Starting...":"Start Tunnel"})]}),s==="starting"&&o.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center",children:[o.jsx(Le,{className:"w-8 h-8 text-primary animate-spin mb-4"}),o.jsx("h3",{className:"text-sm font-medium mb-2",children:"Setting up..."}),i&&o.jsx("p",{className:"text-xs text-muted-foreground max-w-[220px] break-words",children:i})]}),s==="connected"&&n&&o.jsxs("div",{className:"flex flex-col",children:[o.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[o.jsx("div",{className:"w-2 h-2 rounded-full bg-green-500 animate-pulse"}),o.jsx("span",{className:"text-xs font-medium text-green-600",children:"Connected"})]}),o.jsx("div",{className:"flex justify-center pb-4",children:o.jsx("div",{className:"p-3 bg-white rounded-lg",children:o.jsx(si,{value:n,size:160,level:"M",includeMargin:!1})})}),o.jsx("p",{className:"text-xs text-muted-foreground mb-4 text-center",children:"Scan with your phone camera"}),o.jsxs("div",{className:"flex items-center justify-between text-sm mb-4",children:[o.jsx("span",{className:"text-muted-foreground",children:"URL"}),o.jsxs("button",{type:"button",onClick:C,className:"flex items-center gap-1.5 font-mono text-foreground hover:text-muted-foreground transition-colors",title:"Copy URL",children:[O1(n),Q?o.jsx(Yt,{className:"w-3 h-3 text-green-500"}):o.jsx(ps,{className:"w-3 h-3 text-muted-foreground"})]})]}),o.jsxs("button",{type:"button",onClick:()=>ho(n),className:"flex items-center justify-center gap-2 px-4 py-2 border border-border rounded-md text-sm hover:bg-muted transition-colors mb-3",children:[o.jsx(vt,{className:"w-3.5 h-3.5"}),"Open in browser"]}),o.jsx("button",{type:"button",onClick:c,disabled:g.isPending,className:"w-full px-4 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors",children:g.isPending?"Stopping...":"Stop Tunnel"})]}),s==="error"&&o.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center",children:[r?.includes("Rate limited")?o.jsxs(o.Fragment,{children:[o.jsx(Ka,{className:"w-8 h-8 text-yellow-500 mb-4"}),o.jsx("h3",{className:"text-sm font-medium mb-2",children:"Rate Limited"}),o.jsx("p",{className:"text-xs text-muted-foreground mb-6 max-w-[220px]",children:"Cloudflare limits anonymous tunnel requests. Please wait 5-10 minutes before trying again."})]}):o.jsxs(o.Fragment,{children:[o.jsx(wo,{className:"w-8 h-8 text-destructive mb-4"}),o.jsx("h3",{className:"text-sm font-medium mb-2",children:"Connection failed"}),o.jsx("p",{className:"text-xs text-muted-foreground mb-6 max-w-[200px]",children:r||"Unable to establish tunnel connection."})]}),o.jsx("button",{type:"button",onClick:I,disabled:a.isPending||r?.includes("Rate limited"),className:"px-4 py-2 bg-primary text-primary-foreground rounded-md text-sm font-medium hover:bg-primary/90 transition-colors disabled:opacity-50",title:r?.includes("Rate limited")?"Wait 5-10 minutes":void 0,children:r?.includes("Rate limited")?"Wait & Try Again":"Try Again"})]})]})]}):null}),Y1=x.memo(function(){const e=je(r=>r.isExpanded),t=je(r=>r.toggleSidebar),n=je(r=>r.status)==="connected";return o.jsxs("button",{type:"button",onClick:t,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${e?"bg-muted border-primary":"border-transparent hover:bg-muted/50"}`,title:"Remote Access",children:[o.jsx(Ho,{className:"w-5 h-5 text-muted-foreground mx-auto"}),n&&o.jsx("span",{className:"absolute top-2 right-2 w-2 h-2 bg-green-500 rounded-full animate-pulse"})]})});function H1(){const A=$e(t=>t.setServers),e=at({queryKey:["mcp","servers"],queryFn:async()=>{const{data:t}=await Ed();return t},refetchInterval:1e4});return x.useEffect(()=>{e.data?.servers&&A(e.data.servers)},[e.data,A]),e}function P1(){const A=ke();return Ze({mutationFn:async e=>{const{data:t,error:s}=await ud({path:{name:e}});if(s)throw new Error("Failed to start server");const n=t;if(!n.ok)throw new Error(n.error||"Failed to start server");return n},onSettled:()=>{A.invalidateQueries({queryKey:["mcp","servers"]})}})}function W1(){const A=ke(),e=$e(t=>t.setLoading);return Ze({mutationFn:async t=>{e(t,!0);const{data:s,error:n}=await dd({path:{name:t}});if(n)throw new Error("Failed to stop server");const r=s;if(!r.ok)throw new Error(r.error||"Failed to stop server");return r},onSettled:(t,s,n)=>{e(n,!1),A.invalidateQueries({queryKey:["mcp","servers"]})}})}function z1(){const A=ke();return Ze({mutationFn:async e=>{const{data:t,error:s}=await Cd({body:e});if(s)throw new Error("Failed to add MCP server");const n=t;if(!n.ok)throw new Error(n.error||"Failed to add MCP server");return n},onSuccess:()=>{A.invalidateQueries({queryKey:["mcp","servers"]})}})}function V1(){const A=ke();return Ze({mutationFn:async e=>{const{data:t,error:s}=await Id({path:{name:e}});if(s)throw new Error("Failed to remove MCP server");const n=t;if(!n.ok)throw new Error(n.error||"Failed to remove MCP server");return n},onSuccess:()=>{A.invalidateQueries({queryKey:["mcp","servers"]})}})}function Z1(){const A=ke();return Ze({mutationFn:async e=>{const{data:t,error:s}=await hd({path:{name:e}});if(s)throw new Error("Failed to initiate auth");const n=t;if(!n.ok)throw new Error(n.error||"Failed to initiate auth");return n},onSettled:()=>{A.invalidateQueries({queryKey:["mcp","servers"]})}})}function _1(A){return at({queryKey:["mcp","auth",A],queryFn:async()=>{if(!A)return{authenticated:!1};const{data:e}=await fd({path:{name:A}});return e},enabled:!!A,refetchInterval:3e3})}function X1(){const A=$e(i=>i.copilotDevice),e=$e(i=>i.setCopilotDevice),t=$e(i=>i.setLoading),s=ke(),n=x.useRef(null),r=x.useCallback(()=>{n.current&&(clearInterval(n.current),n.current=null)},[]);return x.useEffect(()=>{if(!A){r();return}const{sessionId:i,serverName:a,interval:g}=A,Q=(g||5)*1e3+1e3;return n.current=setInterval(async()=>{try{const{data:l}=await pd({path:{name:a},body:{sessionId:i}}),C=l;C?.status==="complete"?(r(),e(null),t(a,!1),s.invalidateQueries({queryKey:["mcp","servers"]})):C?.status==="error"&&(r(),e(null),t(a,!1))}catch{r(),e(null),t(a,!1)}},Q),r},[A,e,t,s,r]),A}function $1(A){const e=A.trim().split(/\s+/);return{command:e[0]??"",args:e.slice(1)}}function Ay(A){const e=A.trim();if(!e)return;const t={};for(const s of e.split(`
|
|
139
|
+
`)){const n=s.indexOf("=");n>0&&(t[s.slice(0,n).trim()]=s.slice(n+1).trim())}return Object.keys(t).length>0?t:void 0}function ey(A){const e=A.trim();if(!e)return;const t={};for(const s of e.split(`
|
|
140
|
+
`)){const n=s.indexOf(":");n>0&&(t[s.slice(0,n).trim()]=s.slice(n+1).trim())}return Object.keys(t).length>0?t:void 0}const ty=x.memo(function({isOpen:e,onClose:t}){const[s,n]=x.useState("local"),[r,i]=x.useState(""),[a,g]=x.useState(""),[Q,l]=x.useState(""),[C,I]=x.useState("http"),[c,u]=x.useState(""),[f,h]=x.useState(""),[k,v]=x.useState("global"),[D,O]=x.useState(null),J=z1(),V=x.useCallback(()=>{i(""),g(""),l(""),I("http"),u(""),h(""),v("global"),O(null),n("local")},[]),eA=x.useCallback(()=>{V(),t()},[V,t]),X=x.useCallback(async()=>{O(null);const L=r.trim();if(!L){O("Server name is required");return}try{if(s==="local"){const w=a.trim();if(!w){O("Command is required");return}if(/^https?:\/\//i.test(w)){O("Local commands cannot be URLs. Switch to Remote (HTTP) for remote servers.");return}const{command:B,args:d}=$1(w);await J.mutateAsync({name:L,transport:"stdio",command:B,args:d,env:Ay(f),scope:k})}else{const w=Q.trim();if(!w){O("URL is required");return}await J.mutateAsync({name:L,transport:C,url:w,headers:ey(c),scope:k})}eA()}catch(w){O(w instanceof Error?w.message:"Failed to add server")}},[r,s,a,f,Q,C,c,k,J,eA]),K=x.useRef(null),[W,T]=x.useState(void 0);return x.useEffect(()=>{const L=K.current;if(!L)return;const w=new ResizeObserver(()=>{T(L.scrollHeight)});return w.observe(L),()=>w.disconnect()},[]),o.jsx(Po,{isOpen:e,onClose:eA,title:"Add MCP Server",children:o.jsx("div",{className:"overflow-hidden transition-[height] duration-200 ease-in-out",style:{height:W!==void 0?W:"auto"},children:o.jsxs("div",{ref:K,className:"space-y-4",children:[o.jsxs("div",{className:"relative flex w-full rounded-lg bg-muted p-1",children:[o.jsx("div",{className:"absolute top-1 bottom-1 rounded-md bg-background shadow-md border border-border transition-all duration-200 ease-in-out",style:{left:s==="local"?"4px":"50%",right:s==="remote"?"4px":"50%"}}),o.jsxs("button",{type:"button",onClick:()=>n("local"),className:`relative z-10 flex items-center justify-center gap-2 flex-1 text-sm font-medium py-2 rounded-md transition-colors duration-200 ${s==="local"?"text-foreground":"text-muted-foreground/50"}`,children:[o.jsx(to,{className:"w-4 h-4"}),"Local (stdio)"]}),o.jsxs("button",{type:"button",onClick:()=>n("remote"),className:`relative z-10 flex items-center justify-center gap-2 flex-1 text-sm font-medium py-2 rounded-md transition-colors duration-200 ${s==="remote"?"text-foreground":"text-muted-foreground/50"}`,children:[o.jsx(Ho,{className:"w-4 h-4"}),"Remote (HTTP)"]})]}),o.jsxs("div",{children:[o.jsx("div",{className:"text-sm font-medium mb-1",children:"Name"}),o.jsx(rn,{value:r,onChange:L=>i(L.target.value),placeholder:"e.g. github, linear, helius",autoFocus:!0})]}),s==="local"?o.jsxs(o.Fragment,{children:[o.jsxs("div",{children:[o.jsx("div",{className:"text-sm font-medium mb-1",children:"Command"}),o.jsx(rn,{value:a,onChange:L=>g(L.target.value),placeholder:"e.g. npx -y @modelcontextprotocol/server-github",onKeyDown:L=>{L.key==="Enter"&&X()}}),o.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:["Like"," ",o.jsx("code",{className:"bg-muted px-1 rounded",children:"npx -y helius-mcp@latest"})]})]}),o.jsxs("div",{children:[o.jsx("div",{className:"text-sm font-medium mb-1",children:"Environment Variables"}),o.jsx("textarea",{value:f,onChange:L=>h(L.target.value),placeholder:`GITHUB_TOKEN=ghp_xxx
|
|
141
|
+
API_KEY=sk-xxx`,rows:2,className:"w-full bg-muted border border-border rounded-md px-3 py-2 text-sm font-mono resize-none focus:outline-none focus:ring-1 focus:ring-primary"}),o.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"One per line: KEY=VALUE"})]})]}):o.jsxs(o.Fragment,{children:[o.jsxs("div",{children:[o.jsx("div",{className:"text-sm font-medium mb-1",children:"URL"}),o.jsx(rn,{value:Q,onChange:L=>l(L.target.value),placeholder:"e.g. https://mcp.linear.app/mcp",onKeyDown:L=>{L.key==="Enter"&&X()}})]}),o.jsxs("div",{children:[o.jsx("div",{className:"text-sm font-medium mb-1",children:"Transport"}),o.jsxs("div",{className:"relative flex w-full rounded-lg border border-border bg-muted/50 p-0.5",children:[o.jsx("div",{className:"absolute top-0.5 bottom-0.5 rounded-md bg-background shadow-md border border-border transition-all duration-200 ease-in-out",style:{left:C==="http"?"2px":"50%",right:C==="sse"?"2px":"50%"}}),o.jsx("button",{type:"button",onClick:()=>I("http"),className:`relative z-10 flex items-center justify-center gap-1.5 text-xs font-medium py-1.5 rounded-md flex-1 transition-colors duration-200 ${C==="http"?"text-foreground":"text-muted-foreground/50"}`,children:"HTTP (recommended)"}),o.jsx("button",{type:"button",onClick:()=>I("sse"),className:`relative z-10 flex items-center justify-center gap-1.5 text-xs font-medium py-1.5 rounded-md flex-1 transition-colors duration-200 ${C==="sse"?"text-foreground":"text-muted-foreground/50"}`,children:"SSE (legacy)"})]})]}),o.jsxs("div",{children:[o.jsx("div",{className:"text-sm font-medium mb-1",children:"Headers"}),o.jsx("textarea",{value:c,onChange:L=>u(L.target.value),placeholder:"Authorization: Bearer xxx",rows:2,className:"w-full bg-muted border border-border rounded-md px-3 py-2 text-sm font-mono resize-none focus:outline-none focus:ring-1 focus:ring-primary"}),o.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"One per line: Header-Name: value"})]}),o.jsx("p",{className:"text-xs text-muted-foreground",children:"For OAuth servers (Linear, Notion, etc.), leave headers empty and authenticate after adding."})]}),o.jsxs("div",{children:[o.jsx("div",{className:"text-sm font-medium mb-1",children:"Scope"}),o.jsxs("div",{className:"relative flex w-full rounded-lg border border-border bg-muted/50 p-0.5",children:[o.jsx("div",{className:"absolute top-0.5 bottom-0.5 rounded-md bg-background shadow-md border border-border transition-all duration-200 ease-in-out",style:{left:k==="global"?"2px":"50%",right:k==="project"?"2px":"50%"}}),o.jsxs("button",{type:"button",onClick:()=>v("global"),className:`relative z-10 flex items-center justify-center gap-1.5 text-xs font-medium py-1.5 rounded-md flex-1 transition-colors duration-200 ${k==="global"?"text-foreground":"text-muted-foreground/50"}`,children:[o.jsx(La,{className:"w-3 h-3"}),"All projects"]}),o.jsxs("button",{type:"button",onClick:()=>v("project"),className:`relative z-10 flex items-center justify-center gap-1.5 text-xs font-medium py-1.5 rounded-md flex-1 transition-colors duration-200 ${k==="project"?"text-foreground":"text-muted-foreground/50"}`,children:[o.jsx(Br,{className:"w-3 h-3"}),"This project only"]})]}),o.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:k==="global"?"Saved to ~/.config/otto/config.json":"Saved to .otto/config.json (project-local)"})]}),D&&o.jsx("div",{className:"text-sm text-red-400 bg-red-500/10 px-3 py-2 rounded",children:D}),o.jsxs("div",{className:"flex justify-end gap-2 pt-2",children:[o.jsx(Be,{variant:"ghost",onClick:eA,children:"Cancel"}),o.jsx(Be,{variant:"primary",onClick:X,disabled:J.isPending,children:J.isPending?o.jsxs(o.Fragment,{children:[o.jsx(Le,{className:"w-3 h-3 animate-spin mr-1"}),"Adding..."]}):"Add Server"})]})]})})})}),Na=x.memo(function({checked:e,loading:t,onChange:s,disabled:n}){return o.jsx("button",{type:"button",role:"switch","aria-checked":e,disabled:n||t,onClick:r=>{r.stopPropagation(),s()},className:`relative inline-flex h-5 w-9 flex-shrink-0 items-center rounded-full transition-colors duration-200 focus-visible:outline-none disabled:opacity-50 disabled:cursor-not-allowed ${e?"bg-green-500":"bg-muted-foreground/30"}`,children:o.jsx("span",{className:`inline-block h-3.5 w-3.5 rounded-full transition-transform duration-200 ${e?"translate-x-[18px]":"translate-x-[3px]"} ${t?"bg-transparent":"bg-white"}`,children:t?o.jsx(Le,{className:"w-3.5 h-3.5 animate-spin text-white"}):null})})}),oy=x.memo(function({userCode:e,verificationUri:t}){const[s,n]=x.useState(!1),r=x.useCallback(()=>{navigator.clipboard.writeText(e).then(()=>{n(!0),setTimeout(()=>n(!1),2e3)})},[e]);return o.jsx("div",{className:"px-3 pb-2.5 pt-0",children:o.jsxs("div",{className:"rounded-md bg-yellow-500/10 border border-yellow-500/20 p-2 space-y-1.5",children:[o.jsxs("div",{className:"flex items-center gap-1.5 text-xs",children:[o.jsx(Le,{className:"w-3 h-3 animate-spin text-yellow-500 flex-shrink-0"}),o.jsx("span",{className:"text-yellow-500/80",children:"Enter code at GitHub:"})]}),o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("code",{className:"text-sm font-mono font-bold text-yellow-400 tracking-wider",children:e}),o.jsx("button",{type:"button",onClick:r,className:"text-yellow-500/60 hover:text-yellow-400 transition-colors",title:"Copy code",children:o.jsx(pC,{className:"w-3.5 h-3.5"})}),s&&o.jsx("span",{className:"text-xs text-green-400",children:"Copied!"})]}),o.jsxs("a",{href:t,target:"_blank",rel:"noopener noreferrer",onClick:i=>{i.preventDefault(),ho(t)},className:"inline-flex items-center gap-1 text-xs text-yellow-400 hover:text-yellow-300 underline underline-offset-2",children:["Open GitHub login",o.jsx(vt,{className:"w-3 h-3"})]})]})})}),sy=x.memo(function({server:e,isLoading:t,authUrl:s,copilotDevice:n,onStart:r,onStop:i,onRemove:a,onAuth:g}){const[Q,l]=x.useState(!1),C=e.connected&&e.tools.length>0,I=e.transport==="http"||e.transport==="sse",c=(!!s||!!n)&&!e.connected,u=x.useCallback(()=>{e.authRequired&&!e.connected?g():e.connected?i():r()},[e.connected,e.authRequired,g,i,r]),f=x.useCallback(()=>{C&&l(h=>!h)},[C]);return o.jsxs("div",{className:`rounded-lg border transition-colors duration-200 group ${e.connected?"border-green-500/30 bg-green-500/5":c?"border-yellow-500/30 bg-yellow-500/5":"border-border bg-transparent"}`,children:[o.jsxs("div",{className:"flex items-center gap-3 px-3 py-2.5",children:[o.jsx(Na,{checked:e.connected,loading:t||c,onChange:u}),o.jsxs("div",{className:"flex-1 min-w-0",children:[o.jsxs("div",{className:"flex items-center gap-1.5",children:[o.jsx("span",{className:"text-sm font-medium truncate",children:e.name}),I&&o.jsx(Ho,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"}),e.authRequired&&!e.connected&&o.jsx(fC,{className:"w-3 h-3 text-yellow-500 flex-shrink-0"})]}),o.jsxs("div",{className:"flex items-center gap-1.5 mt-0.5",children:[o.jsx("span",{className:"text-xs text-muted-foreground truncate",children:I?e.url:`${e.command??""} ${e.args.join(" ")}`}),o.jsx("span",{className:"flex items-center flex-shrink-0 opacity-50",title:e.scope==="project"?"Project-local":"Global",children:e.scope==="project"?o.jsx(Br,{className:"w-3 h-3"}):o.jsx(La,{className:"w-3 h-3"})})]})]}),o.jsxs("div",{className:"flex items-center gap-0.5 flex-shrink-0",children:[C&&o.jsxs("button",{type:"button",onClick:f,className:"flex items-center gap-0.5 text-xs text-muted-foreground hover:text-foreground px-1.5 py-1 rounded transition-colors",children:[o.jsx(mC,{className:"w-3 h-3"}),e.tools.length,Q?o.jsx(_t,{className:"w-3 h-3"}):o.jsx(ct,{className:"w-3 h-3"})]}),o.jsx(Be,{variant:"ghost",size:"icon",onClick:a,title:"Remove server",className:"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity",children:o.jsx(mr,{className:"w-3 h-3 text-muted-foreground hover:text-red-400"})})]})]}),n&&!e.connected&&o.jsx(oy,{userCode:n.userCode,verificationUri:n.verificationUri}),!n&&c&&s&&o.jsx("div",{className:"px-3 pb-2.5 pt-0",children:o.jsxs("div",{className:"flex items-center gap-1.5 text-xs",children:[o.jsx(Le,{className:"w-3 h-3 animate-spin text-yellow-500 flex-shrink-0"}),o.jsx("span",{className:"text-yellow-500/80",children:"Waiting for auth..."}),o.jsxs("a",{href:s,target:"_blank",rel:"noopener noreferrer",onClick:h=>{h.preventDefault(),ho(s)},className:"inline-flex items-center gap-0.5 text-yellow-400 hover:text-yellow-300 underline underline-offset-2",children:["Open login",o.jsx(vt,{className:"w-3 h-3"})]})]})}),C&&Q&&o.jsx("div",{className:"px-3 pb-2.5 pt-0",children:o.jsx("div",{className:"flex flex-wrap gap-1",children:e.tools.map(h=>o.jsx("span",{className:"text-xs bg-muted px-1.5 py-0.5 rounded",title:h,children:h.split("__").pop()},h))})})]})});function ry(A,e){const{data:t}=_1(A),s=x.useRef(!1);x.useEffect(()=>{t?.authenticated&&!s.current&&e(),s.current=t?.authenticated??!1},[t?.authenticated,e])}const ny=x.memo(function(){const e=$e(L=>L.isExpanded),t=$e(L=>L.collapseSidebar),s=$e(L=>L.servers),n=$e(L=>L.loading),r=$e(L=>L.authUrls),i=$e(L=>L.setAuthUrl),a=$e(L=>L.setLoading),g=$e(L=>L.setCopilotDevice),{isLoading:Q}=H1(),l=P1(),C=W1(),I=V1(),c=Z1(),u=X1(),[f,h]=x.useState(!1),[k,v]=x.useState(null),[D,O]=x.useState(null),J=ke(),V=x.useCallback(()=>{k&&(i(k,null),v(null),J.invalidateQueries({queryKey:["mcp","servers"]}))},[k,i,J]);ry(k,V),x.useEffect(()=>{for(const L of n)s.find(B=>B.name===L)?.connected&&a(L,!1)},[s,n,a]);const eA=x.useCallback((L,w)=>{w.sessionId&&w.userCode&&w.verificationUri&&(g({sessionId:w.sessionId,userCode:w.userCode,verificationUri:w.verificationUri,interval:w.interval??5,serverName:L}),ho(w.verificationUri))},[g]),X=x.useCallback(async L=>{try{a(L,!0);const w=await c.mutateAsync(L);if(w.authType==="copilot-device"){if(w.authenticated){a(L,!1),J.invalidateQueries({queryKey:["mcp","servers"]});return}eA(L,w)}else w.authUrl?(i(L,w.authUrl),v(L),ho(w.authUrl)):a(L,!1)}catch{a(L,!1),i(L,null)}},[c,i,a,eA,J]),K=x.useCallback(async L=>{try{a(L,!0);const w=await l.mutateAsync(L);w.authType==="copilot-device"&&!w.connected?eA(L,w):w.authRequired&&w.authUrl?(i(L,w.authUrl),v(L),ho(w.authUrl)):a(L,!1)}catch{a(L,!1),i(L,null)}},[l,i,a,eA]),W=x.useMemo(()=>[...s].sort((L,w)=>L.connected&&!w.connected?-1:!L.connected&&w.connected?1:L.name.localeCompare(w.name)),[s]);if(!e)return null;const T=s.filter(L=>L.connected).length;return o.jsxs("div",{className:"w-80 border-l border-sidebar-border sidebar-fade-in flex flex-col h-full",children:[o.jsxs("div",{className:"h-14 flex items-center justify-between px-3 border-b border-border",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(wr,{className:"w-4 h-4 text-muted-foreground"}),o.jsx("span",{className:"font-medium text-sm",children:"MCP Servers"}),T>0&&o.jsxs("span",{className:"text-xs bg-green-500/20 text-green-400 px-1.5 py-0.5 rounded-full",children:[T," active"]})]}),o.jsxs("div",{className:"flex items-center gap-1",children:[o.jsx(Be,{variant:"ghost",size:"icon",onClick:()=>h(!0),title:"Add MCP server",className:"h-7 w-7",children:o.jsx(go,{className:"w-4 h-4"})}),o.jsx(Be,{variant:"ghost",size:"icon",onClick:t,title:"Close sidebar",children:o.jsx(ct,{className:"w-4 h-4"})})]})]}),o.jsx("div",{className:"flex-1 overflow-y-auto",children:Q&&s.length===0?o.jsxs("div",{className:"flex items-center justify-center h-32 text-muted-foreground",children:[o.jsx(Le,{className:"w-4 h-4 animate-spin mr-2"}),"Loading..."]}):s.length===0?o.jsxs("div",{className:"p-4 text-sm text-muted-foreground space-y-3",children:[o.jsx("p",{children:"No MCP servers configured."}),o.jsxs(Be,{variant:"primary",size:"sm",onClick:()=>h(!0),className:"w-full",children:[o.jsx(go,{className:"w-3 h-3 mr-1"}),"Add MCP Server"]}),o.jsxs("p",{className:"text-xs",children:["Or add servers to"," ",o.jsx("code",{className:"bg-muted px-1 py-0.5 rounded text-xs",children:".otto/config.json"})]})]}):o.jsx("div",{className:"p-2 space-y-1.5",children:W.map(L=>o.jsx(sy,{server:L,isLoading:n.has(L.name),authUrl:r.get(L.name),copilotDevice:u?.serverName===L.name?u:null,onStart:()=>K(L.name),onStop:()=>C.mutate(L.name),onRemove:()=>O(L.name),onAuth:()=>X(L.name)},L.name))})}),o.jsx(ty,{isOpen:f,onClose:()=>h(!1)}),o.jsxs(Po,{isOpen:!!D,onClose:()=>O(null),title:"Remove MCP Server",maxWidth:"sm",showCloseButton:!1,children:[o.jsxs("p",{className:"text-sm text-muted-foreground mb-4",children:["Are you sure you want to remove"," ",o.jsx("span",{className:"font-medium text-foreground",children:D}),"? This will stop the server and remove its configuration."]}),o.jsxs("div",{className:"flex justify-end gap-2",children:[o.jsx(Be,{variant:"secondary",size:"sm",onClick:()=>O(null),children:"Cancel"}),o.jsx(Be,{variant:"primary",size:"sm",className:"bg-red-500 hover:bg-red-600 text-white",onClick:()=>{D&&I.mutate(D),O(null)},children:"Remove"})]})]})]})}),iy=x.memo(function(){const e=$e(r=>r.isExpanded),t=$e(r=>r.toggleSidebar),n=$e(r=>r.servers).filter(r=>r.connected).length;return o.jsxs("button",{type:"button",onClick:t,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${e?"bg-muted border-primary":"border-transparent hover:bg-muted/50"}`,title:"MCP Servers",children:[o.jsx(wr,{className:"w-5 h-5 text-muted-foreground mx-auto"}),n>0&&o.jsx("span",{className:"absolute top-2 right-2 w-2 h-2 bg-green-500 rounded-full"})]})});function ay(){const A=Ve(t=>t.setSkillsConfig),e=at({queryKey:["skills"],queryFn:async()=>mA.getSkillsConfig(),refetchInterval:3e4});return x.useEffect(()=>{e.data?.items&&A({skills:e.data.items,globalEnabled:e.data.enabled,totalCount:e.data.totalCount,enabledCount:e.data.enabledCount})},[e.data,A]),e}function gy(){const A=ke(),e=Ve(t=>t.setSkillsConfig);return Ze({mutationFn:t=>mA.updateSkillsConfig(t),onSuccess:t=>{e({skills:t.items,globalEnabled:t.enabled,totalCount:t.totalCount,enabledCount:t.enabledCount}),A.setQueryData(["skills"],t)}})}function kE(A){return at({queryKey:["skills",A],queryFn:async()=>A?mA.getSkill(A):null,enabled:!!A})}function Qy(A){return at({queryKey:["skills",A,"files"],queryFn:async()=>A?mA.getSkillFiles(A):null,enabled:!!A})}function By(A,e){return at({queryKey:["skills",A,"files",e],queryFn:async()=>!A||!e?null:mA.getSkillFileContent(A,e),enabled:!!A&&!!e})}const ly={cwd:Br,parent:Br,repo:Br,user:La,system:Ho},wB={cwd:"Project",parent:"Parent",repo:"Repository",user:"User",system:"System"};function cy(A){return A<1024?`${A} B`:A<1024*1024?`${(A/1024).toFixed(1)} KB`:`${(A/(1024*1024)).toFixed(1)} MB`}const Ey=x.memo(function(){const e=Ve(D=>D.isExpanded),t=Ve(D=>D.collapseSidebar),s=Ve(D=>D.skills),n=Ve(D=>D.globalEnabled),r=Ve(D=>D.totalCount),i=Ve(D=>D.enabledCount),a=Ve(D=>D.selectedSkill),g=Ve(D=>D.selectSkill),Q=Ve(D=>D.openViewer),l=Ve(D=>D.viewingFile),{isLoading:C,isFetching:I,refetch:c}=ay(),u=gy(),{data:f}=kE(a),{data:h}=Qy(a),k=h?.files??[],v=x.useMemo(()=>{const D=new Map;for(const O of s){const J=D.get(O.scope)??[];J.push(O),D.set(O.scope,J)}return D},[s]);return e?o.jsxs("div",{className:"w-80 border-l border-sidebar-border sidebar-fade-in flex flex-col h-full",children:[o.jsxs("div",{className:"h-14 flex items-center justify-between px-3 border-b border-border",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(io,{className:"w-4 h-4 text-muted-foreground"}),o.jsx("span",{className:"font-medium text-sm",children:"Skills"})]}),o.jsxs("div",{className:"flex items-center gap-1",children:[o.jsx(Na,{checked:n,loading:u.isPending,onChange:()=>u.mutate({enabled:!n})}),o.jsx(Be,{variant:"ghost",size:"icon",onClick:t,title:"Close sidebar",children:o.jsx(ct,{className:"w-4 h-4"})})]})]}),a&&f?o.jsxs("div",{className:"flex-1 overflow-y-auto",children:[o.jsx("div",{className:"p-3 border-b border-border",children:o.jsx("button",{type:"button",onClick:()=>g(null),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"← Back to list"})}),o.jsxs("div",{className:"px-3 py-3 border-b border-border",children:[o.jsx("h3",{className:"font-medium text-sm mb-1",children:f.name}),o.jsx("p",{className:"text-xs text-muted-foreground mb-2",children:f.description}),o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-muted text-muted-foreground",children:wB[f.scope]??f.scope}),f.license&&o.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-muted text-muted-foreground",children:f.license})]})]}),o.jsxs("div",{className:"py-1",children:[o.jsx("div",{className:"flex items-center gap-1.5 px-3 py-2 text-[10px] uppercase tracking-wider text-muted-foreground font-medium",children:"Files"}),o.jsx("button",{type:"button",onClick:()=>Q(null),className:`w-full text-left px-3 py-2 hover:bg-accent transition-colors ${l===null?"bg-accent":""}`,children:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(ts,{className:"w-3.5 h-3.5 flex-shrink-0 text-muted-foreground"}),o.jsx("span",{className:"text-sm font-mono truncate flex-1",children:"SKILL.md"})]})}),k.map(D=>o.jsx("button",{type:"button",onClick:()=>Q(D.relativePath),className:`w-full text-left px-3 py-2 hover:bg-accent transition-colors ${l===D.relativePath?"bg-accent":""}`,children:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(Gn,{className:"w-3.5 h-3.5 flex-shrink-0 text-muted-foreground"}),o.jsx("span",{className:"text-sm font-mono truncate flex-1",children:D.relativePath}),o.jsx("span",{className:"text-[10px] text-muted-foreground flex-shrink-0",children:cy(D.size)})]})},D.relativePath))]})]}):o.jsx("div",{className:"flex-1 overflow-y-auto",children:C?o.jsx("div",{className:"flex items-center justify-center py-8",children:o.jsx(Le,{className:"w-4 h-4 animate-spin text-muted-foreground"})}):r===0?o.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center p-4",children:[o.jsx(io,{className:"w-12 h-12 text-muted-foreground/30 mb-4"}),o.jsx("h3",{className:"text-sm font-medium mb-2",children:"No skills found"}),o.jsxs("p",{className:"text-xs text-muted-foreground max-w-[220px]",children:["Create skills in"," ",o.jsx("code",{className:"text-[10px] bg-muted px-1 rounded",children:".otto/skills/ or .agents/skills/"})," ","or"," ",o.jsx("code",{className:"text-[10px] bg-muted px-1 rounded",children:"~/.config/otto/skills/ or ~/.agents/skills/"})]})]}):n?s.length===0?o.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center p-4",children:[o.jsx(io,{className:"w-12 h-12 text-muted-foreground/30 mb-4"}),o.jsx("h3",{className:"text-sm font-medium mb-2",children:"All skills are disabled"}),o.jsx("p",{className:"text-xs text-muted-foreground max-w-[220px]",children:"Enable individual skills or turn all skills back on."})]}):o.jsx("div",{className:"py-1",children:["cwd","parent","repo","user","system"].map(D=>{const O=v.get(D);if(!O?.length)return null;const J=ly[D]??Ho;return o.jsxs("div",{children:[o.jsxs("div",{className:"flex items-center gap-1.5 px-3 py-2 text-[10px] uppercase tracking-wider text-muted-foreground font-medium",children:[o.jsx(J,{className:"w-3 h-3"}),wB[D]??D]}),O.map(V=>o.jsx("button",{type:"button",onClick:()=>g(V.name),className:`w-full text-left px-3 py-2 hover:bg-accent transition-colors ${a===V.name?"bg-accent":""}`,children:o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ts,{className:"w-3.5 h-3.5 flex-shrink-0 text-muted-foreground"}),o.jsxs("div",{className:"min-w-0 flex-1",children:[o.jsx("div",{className:"text-sm font-medium truncate",children:V.name}),o.jsx("div",{className:"text-xs text-muted-foreground truncate",children:V.description})]}),o.jsx(Na,{checked:V.enabled!==!1,loading:u.isPending,onChange:()=>u.mutate({items:{[V.name]:{enabled:V.enabled===!1}}})})]})},`${V.scope}-${V.name}`))]},D)})}):o.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center p-4",children:[o.jsx(io,{className:"w-12 h-12 text-muted-foreground/30 mb-4"}),o.jsx("h3",{className:"text-sm font-medium mb-2",children:"Skills are disabled"}),o.jsx("p",{className:"text-xs text-muted-foreground max-w-[220px]",children:"Turn the skills toggle on to make discovered skills available."})]})}),o.jsxs("div",{className:"h-12 px-4 border-t border-border text-xs text-muted-foreground flex items-center justify-between gap-2",children:[o.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[o.jsx(io,{className:"w-3 h-3 flex-shrink-0"}),o.jsxs("span",{className:"truncate",children:[i,"/",r," ",r===1?"skill":"skills"]})]}),o.jsx(Be,{variant:"ghost",size:"icon",onClick:()=>c(),title:"Refresh skills",className:"h-6 w-6 flex-shrink-0",disabled:I,children:o.jsx(Vt,{className:`w-3 h-3 ${I?"animate-spin":""}`})})]})]}):null}),Cy=x.memo(function(){const e=Ve(s=>s.isExpanded),t=Ve(s=>s.toggleSidebar);return o.jsx("button",{type:"button",onClick:t,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${e?"bg-muted border-primary":"border-transparent hover:bg-muted/50"}`,title:"Skills",children:o.jsx(io,{className:"w-5 h-5 text-muted-foreground mx-auto"})})}),Iy={js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",sh:"bash",bash:"bash",zsh:"bash",sql:"sql",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",html:"html",css:"css",scss:"scss",md:"markdown",txt:"plaintext",toml:"toml"};function uy(A){const e=A.split(".").pop()?.toLowerCase()??"";return Iy[e]??"plaintext"}const dy=x.memo(function(){const e=Ve(u=>u.isViewerOpen),t=Ve(u=>u.viewingFile),s=Ve(u=>u.selectedSkill),n=Ve(u=>u.closeViewer),{data:r}=kE(s),{data:i,isLoading:a}=By(s,t),g=t===null,Q=g?r?.content:i?.content,l=g?!r:a,C=g?"SKILL.md":t??"",I=uy(C);if(x.useEffect(()=>{const u=f=>{const h=f.target,k=h.tagName==="INPUT"||h.tagName==="TEXTAREA"||h.isContentEditable;(f.key==="Escape"||f.key==="q"&&!k)&&e&&n()};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[e,n]),!e||!s)return null;const c=document?.documentElement.classList.contains("dark")?Eo:Co;return o.jsxs("div",{className:"absolute inset-0 bg-background z-50 flex flex-col animate-in slide-in-from-left duration-300",children:[o.jsxs("div",{className:"h-14 border-b border-border px-4 flex items-center gap-3",children:[o.jsx(Be,{variant:"ghost",size:"icon",onClick:n,title:"Close viewer (ESC)",children:o.jsx(lt,{className:"w-4 h-4"})}),o.jsxs("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[o.jsx("span",{className:"text-xs text-muted-foreground flex-shrink-0",children:s}),o.jsx("span",{className:"text-xs text-muted-foreground",children:"/"}),o.jsx("span",{className:"text-sm font-medium text-foreground font-mono truncate",title:C,children:C})]}),o.jsx("span",{className:"text-xs text-muted-foreground",children:I})]}),o.jsx("div",{className:"flex-1 overflow-auto",children:l?o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"Loading..."}):Q?o.jsx("div",{className:"code-with-line-numbers",children:o.jsx(qt,{language:I,style:c,wrapLines:!0,wrapLongLines:!0,lineProps:()=>({className:"code-line"}),customStyle:{margin:0,padding:"1rem",background:"transparent",fontSize:"0.75rem",lineHeight:"1.25rem"},codeTagProps:{style:{flex:1}},children:Q})}):o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"Unable to load file"})})]})}),xB="file-browser",DB=320,hy=280,py=600;function fy({dirPath:A}){const t=At(r=>r.expandedDirs).has(A),{data:s,isLoading:n}=EE(A,t);return t?n?o.jsx("div",{className:"pl-4 py-1 text-xs text-muted-foreground",children:"Loading..."}):o.jsx("div",{className:"pl-3",children:s?.items.map(r=>o.jsx(ME,{name:r.name,path:r.path,type:r.type,gitignored:r.gitignored},r.path))}):null}function ME({name:A,path:e,type:t,gitignored:s}){const n=At(C=>C.expandedDirs),r=At(C=>C.toggleDir),i=At(C=>C.openFile),a=At(C=>C.selectedFile),g=n.has(e),Q=a===e,l=x.useCallback(()=>{t==="directory"?r(e):i(e)},[t,e,r,i]);return o.jsxs("div",{children:[o.jsxs("button",{type:"button",onClick:l,className:`w-full text-left flex items-center gap-1.5 px-2 py-1 text-sm hover:bg-muted/50 rounded transition-colors ${Q?"bg-muted text-foreground":"text-foreground/80"} ${s?"opacity-40":""}`,children:[t==="directory"?o.jsxs(o.Fragment,{children:[g?o.jsx(_t,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"}):o.jsx(ct,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"}),g?o.jsx(KB,{className:"w-3.5 h-3.5 text-blue-500 flex-shrink-0"}):o.jsx(JB,{className:"w-3.5 h-3.5 text-blue-500 flex-shrink-0"})]}):o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"w-3 flex-shrink-0"}),o.jsx(Gn,{className:"w-3.5 h-3.5 text-muted-foreground flex-shrink-0"})]}),o.jsx("span",{className:"truncate",children:A})]}),t==="directory"&&o.jsx(fy,{dirPath:e})]})}const my=x.memo(function(){const e=At(a=>a.isExpanded),t=At(a=>a.collapseSidebar),s=os(a=>a.widths[xB]??DB),{data:n,isLoading:r,refetch:i}=EE(".");return e?o.jsxs("div",{className:"border-l border-sidebar-border sidebar-fade-in flex h-full relative",style:{width:s},children:[o.jsx(zs,{panelKey:xB,side:"right",minWidth:hy,maxWidth:py,defaultWidth:DB}),o.jsxs("div",{className:"flex-1 flex flex-col h-full min-w-0",children:[o.jsxs("div",{className:"h-14 border-b border-border px-3 flex items-center justify-between shrink-0",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(Cr,{className:"w-4 h-4 text-muted-foreground"}),o.jsx("span",{className:"font-medium",children:"Files"})]}),o.jsx(Be,{variant:"ghost",size:"icon",onClick:t,children:o.jsx(ct,{className:"w-4 h-4"})})]}),o.jsx("div",{className:"flex-1 overflow-y-auto p-1",children:r?o.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"Loading file tree..."}):!n||n.items.length===0?o.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"No files found"}):n.items.map(a=>o.jsx(ME,{name:a.name,path:a.path,type:a.type,gitignored:a.gitignored},a.path))}),o.jsxs("div",{className:"h-12 px-4 border-t border-border text-xs text-muted-foreground flex items-center justify-between gap-2",children:[o.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[o.jsx(Cr,{className:"w-3 h-3 flex-shrink-0"}),o.jsx("span",{className:"truncate",children:"Project Files"})]}),o.jsx(Be,{variant:"ghost",size:"icon",onClick:()=>i(),title:"Refresh file tree",className:"h-6 w-6 flex-shrink-0",disabled:r,children:o.jsx(Vt,{className:`w-3 h-3 ${r?"animate-spin":""}`})})]})]})]}):null}),wy=x.memo(function(){const e=At(s=>s.isExpanded),t=At(s=>s.toggleSidebar);return o.jsx("button",{type:"button",onClick:t,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${e?"bg-muted border-primary":"border-transparent hover:bg-muted/50"}`,title:"Files",children:o.jsx(Cr,{className:"w-5 h-5 text-muted-foreground mx-auto"})})}),xy={js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",sh:"bash",bash:"bash",zsh:"bash",sql:"sql",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",html:"html",css:"css",scss:"scss",md:"markdown",markdown:"markdown",mdx:"markdown",txt:"plaintext",svelte:"svelte",toml:"toml",lock:"plaintext"};function bE(A){return A.split(".").pop()?.toLowerCase()??""}function Dy(A){const e=bE(A);return xy[e]??"plaintext"}function yy(A){const e=bE(A);return e==="md"||e==="markdown"||e==="mdx"}const Ny=x.memo(function(){const e=At(Q=>Q.isViewerOpen),t=At(Q=>Q.selectedFile),s=At(Q=>Q.closeViewer),{data:n,isLoading:r}=Y2(t);if(x.useEffect(()=>{const Q=l=>{const C=l.target,I=C.tagName==="INPUT"||C.tagName==="TEXTAREA"||C.isContentEditable;(l.key==="Escape"||l.key==="q"&&!I)&&e&&s()};return document.addEventListener("keydown",Q),()=>document.removeEventListener("keydown",Q)},[e,s]),!e||!t)return null;const i=document?.documentElement.classList.contains("dark")?Eo:Co,a=Dy(t),g=yy(t);return o.jsxs("div",{className:"absolute inset-0 bg-background z-50 flex flex-col animate-in slide-in-from-left duration-300",children:[o.jsxs("div",{className:"h-14 border-b border-border px-4 flex items-center gap-3",children:[o.jsx(Be,{variant:"ghost",size:"icon",onClick:s,title:"Close file viewer (ESC)",children:o.jsx(lt,{className:"w-4 h-4"})}),o.jsxs("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[o.jsx("span",{className:"text-sm font-medium text-foreground font-mono truncate",title:t,children:t}),n&&o.jsxs("span",{className:"text-xs text-muted-foreground flex-shrink-0",children:[n.lineCount," lines"]})]}),o.jsx("span",{className:"text-xs text-muted-foreground",children:a})]}),o.jsx("div",{className:"flex-1 overflow-auto",children:r?o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"Loading file..."}):n?g?o.jsx("div",{className:"p-4 text-sm text-foreground leading-6 markdown-content max-w-full overflow-x-auto",children:o.jsx(ja,{remarkPlugins:[Ta],components:{a:({href:Q,children:l,...C})=>o.jsx("a",{href:Q,target:"_blank",rel:"noopener noreferrer",onClick:I=>{window.self!==window.top&&Q&&(I.preventDefault(),window.parent.postMessage({type:"otto-open-url",url:Q},"*"))},...C,children:l}),table:({children:Q,...l})=>o.jsx("div",{className:"overflow-x-auto max-w-full min-w-0 my-3",children:o.jsx("table",{...l,children:Q})})},children:n.content})}):o.jsx("div",{className:"code-with-line-numbers",children:o.jsx(qt,{language:a,style:i,wrapLines:!0,wrapLongLines:!0,lineProps:()=>({className:"code-line"}),customStyle:{margin:0,padding:"1rem",background:"transparent",fontSize:"0.75rem",lineHeight:"1.25rem"},codeTagProps:{style:{flex:1}},children:n.content})}):o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"Unable to load file"})})]})}),ka=ht(A=>({isOpen:!1,open:()=>A({isOpen:!0}),close:()=>A({isOpen:!1}),toggle:()=>A(e=>({isOpen:!e.isOpen}))}));function ky(A,e){const t=A.toLowerCase(),s=e.toLowerCase();if(t.length===0)return{match:!0,score:0};if(s.includes(t))return{match:!0,score:100-s.indexOf(t)};let n=0,r=0,i=-1;for(let a=0;a<s.length&&n<t.length;a++)s[a]===t[n]&&(r+=10,i===a-1&&(r+=5),(a===0||s[a-1]==="/"||s[a-1]===".")&&(r+=8),i=a,n++);return{match:n===t.length,score:r}}const My=x.memo(function(){const e=ka(k=>k.isOpen),t=ka(k=>k.close),s=At(k=>k.openFile),n=At(k=>k.expandSidebar),[r,i]=x.useState(""),[a,g]=x.useState(0),Q=x.useRef(null),l=x.useRef(null),{data:C}=Ll(),I=x.useMemo(()=>new Set(C?.ignoredFiles??[]),[C?.ignoredFiles]),c=x.useMemo(()=>C?.files?r?C.files.map(v=>({file:v,...ky(r,v)})).filter(v=>v.match).sort((v,D)=>D.score-v.score).slice(0,50).map(v=>v.file):C.files.slice(0,50):[],[C?.files,r]);x.useEffect(()=>{e&&(i(""),g(0),setTimeout(()=>Q.current?.focus(),0))},[e]),x.useEffect(()=>{l.current?.children[a]?.scrollIntoView({block:"nearest"})},[a]);const u=x.useCallback(k=>{n(),s(k),t()},[n,s,t]),f=x.useCallback(k=>{k.key==="ArrowDown"||k.ctrlKey&&k.key==="j"?(k.preventDefault(),g(v=>Math.min(v+1,c.length-1))):k.key==="ArrowUp"||k.ctrlKey&&k.key==="k"?(k.preventDefault(),g(v=>Math.max(v-1,0))):k.key==="Enter"&&c[a]?(k.preventDefault(),u(c[a])):k.key==="Escape"&&(k.preventDefault(),t())},[c,a,u,t]),h=x.useCallback(k=>{k.target===k.currentTarget&&t()},[t]);return e?o.jsx("div",{role:"dialog","aria-modal":"true",className:"fixed inset-0 bg-black/50 flex items-start justify-center z-[60] pt-[15vh]",onClick:h,onKeyDown:k=>{k.key==="Escape"&&t()},children:o.jsxs("div",{className:"bg-background border border-border rounded-lg shadow-2xl w-full max-w-lg overflow-hidden",children:[o.jsxs("div",{className:"flex items-center gap-2 px-3 border-b border-border",children:[o.jsx(Ds,{className:"w-4 h-4 text-muted-foreground flex-shrink-0"}),o.jsx("input",{ref:Q,type:"text",value:r,onChange:k=>{i(k.target.value),g(0)},onKeyDown:f,placeholder:"Search files by name...",className:"flex-1 bg-transparent py-3 text-sm text-foreground placeholder-muted-foreground outline-none"}),o.jsx("kbd",{className:"text-[10px] text-muted-foreground bg-muted px-1.5 py-0.5 rounded border border-border font-mono",children:"ESC"})]}),o.jsx("div",{ref:l,className:"max-h-[40vh] overflow-y-auto",children:c.length===0?o.jsx("div",{className:"px-4 py-8 text-center text-sm text-muted-foreground",children:r?"No matching files":"No files found"}):c.map((k,v)=>{const D=I.has(k);return o.jsxs("button",{type:"button",onClick:()=>u(k),className:`w-full text-left flex items-center gap-2 px-3 py-2 text-sm transition-colors ${v===a?"bg-accent text-accent-foreground":"text-foreground/80 hover:bg-muted/50"} ${D?"opacity-40":""}`,children:[o.jsx(Gn,{className:"w-3.5 h-3.5 text-muted-foreground flex-shrink-0"}),o.jsx(by,{path:k,query:r}),D&&o.jsx("span",{className:"ml-auto text-[10px] text-muted-foreground italic",children:"ignored"})]},k)})}),c.length>0&&o.jsxs("div",{className:"px-3 py-2 border-t border-border text-xs text-muted-foreground flex items-center gap-3",children:[o.jsxs("span",{children:[o.jsx("kbd",{className:"bg-muted px-1 py-0.5 rounded border border-border font-mono",children:"↑↓"})," ","navigate"]}),o.jsxs("span",{children:[o.jsx("kbd",{className:"bg-muted px-1 py-0.5 rounded border border-border font-mono",children:"↵"})," ","open"]}),o.jsxs("span",{className:"ml-auto",children:[c.length," files"]})]})]})}):null});function by({path:A,query:e}){if(!e)return o.jsx("span",{className:"truncate font-mono text-xs",children:A});const t=A.toLowerCase(),s=e.toLowerCase(),n=t.indexOf(s);return n>=0?o.jsxs("span",{className:"truncate font-mono text-xs",children:[A.slice(0,n),o.jsx("span",{className:"text-primary font-semibold",children:A.slice(n,n+e.length)}),A.slice(n+e.length)]}):o.jsx("span",{className:"truncate font-mono text-xs",children:A})}const Fy=[{value:"openai-compatible",label:"OpenAI-compatible"},{value:"openai",label:"OpenAI"},{value:"anthropic",label:"Anthropic"},{value:"google",label:"Google"},{value:"openrouter",label:"OpenRouter"},{value:"ollama",label:"Ollama"}];function yB(A){return A>=1e6?`${(A/1e6).toFixed(1)}M`:A>=1e3?`${Math.round(A/1e3)}K`:String(A)}const Gy=x.memo(function({authStatus:e,onSetupWallet:t,onImportWallet:s,onAddProvider:n,onAddCustomProvider:r,onRemoveProvider:i,onStartOAuth:a,onStartOAuthManual:g,onExchangeOAuthCode:Q,onOpenTopup:l,onNext:C,manageMode:I=!1,onClose:c,hideHeader:u=!1,onStartCopilotDeviceFlow:f,onPollCopilotDeviceFlow:h,onGetCopilotAuthMethods:k,onSaveCopilotToken:v,onImportCopilotTokenFromGh:D,onGetCopilotDiagnostics:O}){const[J,V]=x.useState(!1),[eA,X]=x.useState(!1),[K,W]=x.useState(!1),[T,L]=x.useState(""),[w,B]=x.useState(!1),[d,N]=x.useState(null),[G,S]=x.useState(null),[j,H]=x.useState(""),[b,E]=x.useState(!1),[p,U]=x.useState(""),[R,_]=x.useState(""),[tA,IA]=x.useState(""),[iA,UA]=x.useState(""),[HA,lA]=x.useState(""),[qA,re]=x.useState("openai-compatible"),[he,kA]=x.useState(!0),[VA,ae]=x.useState(!1),[He,le]=x.useState(null),[Ge,nt]=x.useState(!1),[ve,yA]=x.useState([]),[pe,YA]=x.useState(null),[q,y]=x.useState(null),[M,Z]=x.useState(null),[AA,nA]=x.useState(null),[cA,zA]=x.useState(""),[PA,ZA]=x.useState(!1),[Se,WA]=x.useState(!1),[De,Pt]=x.useState(null),[Je,Pe]=x.useState(!1),[So,ce]=x.useState(null),[Ue,Wt]=x.useState("oauth"),[Oe,_e]=x.useState(""),[_A,ye]=x.useState(!1),[fe,Uo]=x.useState(!1),[F,Y]=x.useState(null),[P,m]=x.useState(null),[z,sA]=x.useState(!1),[oA,uA]=x.useState(!1),[DA,bA]=x.useState(!1),xA=x.useRef(void 0),Ie=x.useRef(!1),SA=x.useRef(h);SA.current=h;const XA=Ne(aA=>aA.balance),se=Ne(aA=>aA.usdcBalance),ge=Ne(aA=>aA.payg),ie=Ne(aA=>aA.subscription),te=Ne(aA=>aA.isLoading),oe=x.useRef(null),$A=x.useRef(null),RA=x.useRef(null),OA=Ne(aA=>aA.isTopupModalOpen),vA=x.useRef(!1),{fetchBalance:KA}=ti("ottorouter"),JA=ge?.effectiveSpendableUsd??XA??0,GA=ie?.active?`GO ${(ie.creditsRemaining??0).toFixed(1)} credits`:`$${JA.toFixed(2)}`;x.useEffect(()=>{vA.current&&!OA&&KA(),vA.current=OA},[OA,KA]),x.useEffect(()=>{!e.ottorouter.configured&&!eA&&(X(!0),t().finally(()=>X(!1)))},[e.ottorouter.configured,t,eA]),x.useEffect(()=>{G&&oe.current&&oe.current.focus()},[G]),x.useEffect(()=>{AA&&$A.current&&$A.current.focus()},[AA]),x.useEffect(()=>{K&&RA.current&&RA.current.focus()},[K]),x.useEffect(()=>{if(!Je||!De||!SA.current)return;Ie.current=!1;const aA=Math.max((De.interval||5)*1e3+2e3,7e3),qe=()=>{xA.current=setTimeout(async()=>{if(!Ie.current)try{const Lr=SA.current;if(!Lr)return;const tr=await Lr(De.sessionId);if(Ie.current)return;tr.status==="complete"?(Pt(null),Pe(!1),ce(null),uA(!1)):tr.status==="error"?(ce(tr.error||"Authorization failed"),Pe(!1)):qe()}catch{Ie.current||qe()}},aA)};qe();const zt=setTimeout(()=>{Pe(!1),ce("Authorization timed out. Please try again.")},3e5);return()=>{Ie.current=!0,xA.current&&clearTimeout(xA.current),clearTimeout(zt)}},[Je,De]);const EA=async()=>{e.ottorouter.publicKey&&(await navigator.clipboard.writeText(e.ottorouter.publicKey),V(!0),setTimeout(()=>V(!1),2e3))},CA=aA=>`${aA.slice(0,8)}...${aA.slice(-6)}`,fA=async aA=>{if(j.trim())try{await n(aA,j.trim()),S(null),H("")}catch{}},hA=()=>{U(""),_(""),IA(""),UA(""),lA(""),re("openai-compatible"),kA(!0),le(null),yA([]),YA(null)},pA=()=>{VA||(E(!1),hA())},NA=async()=>{const aA=tA.trim();if(!aA){YA("Enter a base URL first.");return}nt(!0),YA(null);try{const qe=await mA.discoverProviderModels({compatibility:qA,baseURL:aA,apiKey:iA.trim()||void 0});qe.baseURL&&IA(qe.baseURL),yA(qe.models),qe.models.length>0&&lA(qe.models.map(zt=>zt.id).join(`
|
|
142
|
+
`)),YA(qe.message||(qe.models.length>0?`Fetched ${qe.models.length} model${qe.models.length===1?"":"s"}.`:"No models found."))}catch(qe){yA([]),YA(qe instanceof Error?qe.message:"Failed to fetch models")}finally{nt(!1)}},Ae=async()=>{const aA=p.trim(),qe=R.trim()||aA,zt=tA.trim(),Lr=iA.trim(),tr=HA.split(/[\n,]/).map(jr=>jr.trim()).filter(Boolean);if(!aA||!zt){le("Provider ID and base URL are required.");return}ae(!0),le(null);try{await r({id:aA,label:qe,baseURL:zt,apiKey:Lr||void 0,compatibility:qA,models:tr,allowAnyModel:he}),E(!1),hA()}catch(jr){le(jr instanceof Error?jr.message:"Failed to add custom provider")}finally{ae(!1)}},Ee=async aA=>{if(M===aA){y(aA);try{await i(aA)}finally{y(null),Z(null)}}else Z(aA)},ue=()=>{Z(null)},Ce=()=>{f&&(bA(!0),ce(null),f().then(aA=>{Pt(aA),bA(!1)}).catch(aA=>{ce(aA instanceof Error?aA.message:"Failed to start device flow"),bA(!1)}))},$=async(aA,qe)=>{aA==="anthropic"?nA({provider:aA,sessionId:null,mode:qe}):aA==="copilot"?(Wt("oauth"),_e(""),m(null),Y(null),Pe(!1),Pt(null),ce(null),uA(!0),k&&k().then(zt=>Y(zt)).catch(()=>{}),O&&O().then(zt=>m(zt)).catch(()=>{}),Ce()):a(aA,qe)},xe=async()=>{if(AA){WA(!0);try{const{sessionId:aA}=await g(AA.provider,AA.mode);nA({...AA,sessionId:aA})}catch(aA){console.error("Failed to start OAuth:",aA)}WA(!1)}},Re=async()=>{if(!(!AA||!AA.sessionId||!cA.trim())){ZA(!0);try{await Q(AA.provider,cA.trim(),AA.sessionId),nA(null),zA("")}catch{}ZA(!1)}},Me=()=>{nA(null),zA("")},me=()=>{De&&(ho(De.verificationUri),Pe(!0))},be=aA=>{Wt(aA),ce(null),aA==="token"&&Pe(!1),aA==="oauth"&&!De&&!DA&&Ce()},Ke=async()=>{if(!(!Oe.trim()||!v)){ye(!0),ce(null);try{await v(Oe.trim()),et()}catch(aA){ce(aA instanceof Error?aA.message:"Failed to save Copilot token")}finally{ye(!1)}}},gt=async()=>{if(D){Uo(!0),ce(null);try{await D(),et()}catch(aA){ce(aA instanceof Error?aA.message:"Failed to import token from GitHub CLI")}finally{Uo(!1)}}},We=async()=>{De&&(await navigator.clipboard.writeText(De.userCode),sA(!0),setTimeout(()=>sA(!1),2e3))},et=()=>{Pt(null),Pe(!1),ce(null),_e(""),ye(!1),Uo(!1),Wt("oauth"),sA(!1),uA(!1),bA(!1),Ie.current=!0,xA.current&&(clearTimeout(xA.current),xA.current=void 0)},it=()=>{N(null),L(""),W(!0)},st=()=>{w||(W(!1),N(null),L(""))},Et=async()=>{if(!(!T.trim()||w)){B(!0),N(null);try{await s(T.trim()),W(!1),L(""),KA()}catch(aA){N(aA instanceof Error?aA.message:"Failed to import wallet")}finally{B(!1)}}},pt=Object.entries(e.providers).filter(([aA,qe])=>qe.configured&&aA!=="ottorouter"),yt=Object.entries(e.providers).filter(([aA,qe])=>!qe.configured&&aA!=="ottorouter");return o.jsxs("div",{className:"min-h-screen flex flex-col",children:[!u&&o.jsxs("div",{className:"flex items-center justify-between px-4 sm:px-6 py-4 border-b border-border",children:[o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsx($t,{provider:"ottorouter",size:24}),o.jsx("span",{className:"font-semibold text-foreground",children:"otto"})]}),!I&&o.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[o.jsx("span",{className:"w-2 h-2 rounded-full bg-green-500"}),"Step 1 of 2"]})]}),o.jsx("div",{className:`flex-1 px-4 sm:px-6 lg:px-12 pb-32 ${u?"pt-8 sm:pt-10 lg:pt-14":"pt-6 sm:pt-8 lg:pt-12"}`,children:o.jsxs("div",{className:"max-w-7xl mx-auto",children:[o.jsxs("div",{className:"mb-10",children:[o.jsx("h1",{className:"text-2xl sm:text-3xl lg:text-4xl font-semibold text-foreground mb-3",children:I?"Manage Providers":"Welcome to otto"}),o.jsx("p",{className:"text-lg text-muted-foreground max-w-2xl",children:I?"Add or remove AI providers. Your changes are saved automatically.":"Setu is your default AI provider. GO plan credits are applied automatically."})]}),o.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-6 sm:gap-8",children:[o.jsx("div",{children:o.jsx("div",{className:"bg-card rounded-2xl border border-border p-5",children:e.ottorouter.configured&&e.ottorouter.publicKey?o.jsxs("div",{className:"flex flex-col h-full",children:[o.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 bg-green-500/10 border border-green-500/20 rounded-lg",children:[o.jsx($t,{provider:"ottorouter",size:16}),o.jsx("span",{className:"text-sm font-medium text-green-600 dark:text-green-400",children:"Setu"}),o.jsx("span",{className:"text-xs text-green-600/60 dark:text-green-500/60 ml-auto",children:"Default Provider"})]}),o.jsx("div",{className:"flex justify-center py-4 mt-4",children:o.jsx("div",{className:"bg-white p-2 rounded-lg",children:o.jsx(si,{value:e.ottorouter.publicKey,size:140,level:"M"})})}),o.jsxs("div",{className:"space-y-2 mt-4",children:[o.jsxs("button",{type:"button",onClick:EA,className:"w-full flex items-center justify-center gap-2 px-3 py-2 bg-muted hover:bg-muted/80 rounded-lg text-xs font-mono text-muted-foreground transition-colors",children:[CA(e.ottorouter.publicKey),J?o.jsx(Yt,{className:"w-3.5 h-3.5 text-green-500"}):o.jsx(ps,{className:"w-3.5 h-3.5 text-muted-foreground"})]}),o.jsxs("div",{className:"space-y-1.5 px-3 py-2 bg-muted/50 rounded-lg",children:[o.jsxs("div",{className:"flex items-center justify-between gap-2",children:[o.jsx("div",{className:"flex items-center gap-1.5 min-w-0",children:o.jsx("span",{className:"font-mono text-xs sm:text-sm text-foreground truncate",children:GA})}),o.jsx("button",{type:"button",onClick:KA,disabled:te,className:"p-0.5 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50",children:o.jsx(Vt,{className:`w-3 h-3 ${te?"animate-spin":""}`})})]}),o.jsxs("span",{className:"text-[10px] text-muted-foreground font-mono",children:["Balance $",(XA??0).toFixed(2)," • On-chain"," ",(se??0).toFixed(2)," USDC"]})]})]}),o.jsxs("div",{className:"flex items-center gap-4 py-4",children:[o.jsx("div",{className:"flex-1 h-px bg-border"}),o.jsx("span",{className:"text-xs text-muted-foreground font-medium",children:"OR"}),o.jsx("div",{className:"flex-1 h-px bg-border"})]}),o.jsxs("button",{type:"button",onClick:l,className:"w-full flex items-center justify-center gap-2 px-4 py-2.5 bg-primary text-primary-foreground rounded-lg text-sm font-medium hover:bg-primary/90 transition-colors",children:[o.jsx(fr,{className:"w-4 h-4"}),"Top Up with Card"]}),o.jsxs("button",{type:"button",onClick:it,className:"w-full mt-2 flex items-center justify-center gap-2 px-4 py-2.5 border border-border text-foreground rounded-lg text-sm font-medium hover:bg-muted/50 transition-colors",children:[o.jsx(Qr,{className:"w-4 h-4"}),"Import Wallet"]})]}):o.jsx("div",{className:"flex items-center justify-center py-16",children:o.jsx(Le,{className:"w-8 h-8 animate-spin text-muted-foreground"})})})}),o.jsxs("div",{className:"sm:col-span-2 space-y-6",children:[o.jsxs("div",{children:[o.jsxs("div",{className:"flex items-center justify-between mb-4",children:[o.jsx("h2",{className:"font-semibold text-foreground",children:"Connected Providers"}),pt.length>0&&o.jsxs("span",{className:"text-sm text-muted-foreground",children:[pt.length," active"]})]}),pt.length===0?o.jsx("div",{className:"text-sm text-muted-foreground py-4",children:"No providers connected yet. Add one below."}):o.jsx("div",{className:"flex flex-wrap gap-2",children:pt.map(([aA,qe])=>o.jsxs("div",{className:`flex items-center gap-2 pl-3 pr-2 py-2 rounded-full transition-all duration-200 ${M===aA?"bg-destructive/10 border border-destructive/30":"group bg-green-500/10 border border-green-500/20"}`,children:[o.jsx($t,{provider:aA,size:16}),o.jsx("span",{className:`text-sm font-medium transition-colors ${M===aA?"text-destructive":"text-green-600 dark:text-green-400"}`,children:qe.label}),M!==aA&&o.jsx("span",{className:"text-xs text-green-600/60 dark:text-green-500/60",children:qe.type==="oauth"?"OAuth":"API"}),M===aA?o.jsxs("div",{className:"flex items-center gap-1 ml-1",children:[o.jsx("span",{className:"text-xs text-destructive/80 mr-1",children:"Remove?"}),o.jsx("button",{type:"button",onClick:()=>Ee(aA),disabled:q===aA,className:"px-2 py-0.5 text-xs bg-destructive text-destructive-foreground rounded hover:bg-destructive/90 transition-colors disabled:opacity-50",children:q===aA?o.jsx(Le,{className:"w-3 h-3 animate-spin"}):"Yes"}),o.jsx("button",{type:"button",onClick:ue,className:"px-2 py-0.5 text-xs bg-muted text-muted-foreground rounded hover:bg-muted/80 transition-colors",children:"No"})]}):aA!=="ottorouter"&&o.jsx("button",{type:"button",onClick:()=>Ee(aA),className:"ml-1 p-1 text-green-600/40 dark:text-green-500/40 hover:text-green-600/80 dark:hover:text-green-500/80 opacity-0 group-hover:opacity-100 transition-opacity",children:o.jsx(lt,{className:"w-3 h-3"})})]},aA))})]}),o.jsxs("div",{children:[o.jsx("h2",{className:"font-semibold text-foreground mb-4",children:"Add Providers"}),o.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 items-start",children:[yt.map(([aA,qe])=>o.jsx("div",{children:G===aA?o.jsxs("div",{className:"flex items-center gap-2 p-3 bg-card border border-ring rounded-xl overflow-hidden",children:[o.jsx("div",{className:"shrink-0",children:o.jsx($t,{provider:aA,size:18})}),o.jsx("input",{ref:oe,type:"password",value:j,onChange:zt=>H(zt.target.value),placeholder:`${qe.label} API key...`,className:"flex-1 min-w-0 bg-transparent text-sm outline-none placeholder:text-muted-foreground text-foreground",onKeyDown:zt=>{zt.key==="Enter"&&fA(aA),zt.key==="Escape"&&(S(null),H(""))}}),o.jsx("button",{type:"button",onClick:()=>fA(aA),disabled:!j.trim(),className:"shrink-0 px-3 py-1.5 bg-primary text-primary-foreground text-sm font-medium rounded-lg disabled:opacity-50",children:"Add"}),o.jsx("button",{type:"button",onClick:()=>{S(null),H("")},className:"shrink-0 p-1.5 text-muted-foreground hover:text-foreground",children:o.jsx(lt,{className:"w-4 h-4"})})]}):o.jsxs("div",{className:"flex items-center justify-between p-3 bg-card border border-border hover:border-border/80 rounded-xl transition-colors gap-2",children:[o.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[o.jsx($t,{provider:aA,size:20}),o.jsxs("div",{className:"min-w-0",children:[o.jsx("div",{className:"font-medium text-foreground truncate",children:qe.label}),o.jsxs("div",{className:"text-xs text-muted-foreground",children:[qe.modelCount," models"]})]})]}),o.jsxs("div",{className:"flex items-center gap-1",children:[aA!=="copilot"&&o.jsxs("button",{type:"button",onClick:()=>S(aA),className:"flex items-center gap-1.5 px-3 py-1.5 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-lg transition-colors",children:[o.jsx(Qr,{className:"w-3.5 h-3.5"}),"API"]}),qe.supportsOAuth&&o.jsxs("button",{type:"button",onClick:()=>$(aA,aA==="anthropic"?"max":void 0),className:"flex items-center gap-1.5 px-3 py-1.5 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-lg transition-colors",children:[o.jsx(vt,{className:"w-3.5 h-3.5"}),aA==="anthropic"?"Pro":aA==="copilot"?"Login":"OAuth"]})]})]})},aA)),o.jsxs("button",{type:"button",onClick:()=>E(!0),className:"group flex items-center justify-between p-3 bg-card border border-dashed border-border hover:border-primary/60 hover:bg-primary/5 hover:shadow-sm rounded-xl transition-all gap-2 text-left cursor-pointer",children:[o.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[o.jsx("span",{className:"inline-flex items-center justify-center w-5 h-5 rounded-full bg-muted text-muted-foreground group-hover:bg-primary/10 group-hover:text-primary transition-colors",children:o.jsx(go,{className:"w-3.5 h-3.5"})}),o.jsxs("div",{className:"min-w-0",children:[o.jsx("div",{className:"font-medium text-foreground truncate",children:"Custom Provider"}),o.jsx("div",{className:"text-xs text-muted-foreground group-hover:text-foreground/70 transition-colors",children:"OpenAI-compatible or Ollama endpoint"})]})]}),o.jsxs("span",{className:"flex items-center gap-1.5 px-3 py-1.5 text-sm text-muted-foreground group-hover:text-primary group-hover:bg-primary/10 rounded-lg transition-colors",children:[o.jsx(Qr,{className:"w-3.5 h-3.5"}),"Add"]})]})]})]})]})]})]})}),o.jsx("div",{className:"fixed bottom-0 left-0 right-0 px-4 sm:px-6 py-4 border-t border-border bg-background",children:o.jsxs("div",{className:"max-w-7xl mx-auto flex items-center justify-between",children:[!I&&o.jsx("div",{className:"text-xs sm:text-sm text-muted-foreground hidden sm:block",children:"You can add more providers later in settings"}),I?o.jsx("button",{type:"button",onClick:c,className:"flex items-center gap-2 px-6 py-3 bg-primary text-primary-foreground rounded-lg font-medium hover:bg-primary/90 transition-colors ml-auto",children:"Done"}):o.jsxs("button",{type:"button",onClick:C,className:"flex items-center gap-2 px-6 py-3 bg-primary text-primary-foreground rounded-lg font-medium hover:bg-primary/90 transition-colors",children:["Continue",o.jsx(LB,{className:"w-4 h-4"})]})]})}),b&&o.jsx("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60 backdrop-blur-sm",children:o.jsxs("div",{className:"bg-background border border-border rounded-xl w-full max-w-2xl mx-6 shadow-2xl max-h-[90vh] overflow-y-auto",children:[o.jsxs("div",{className:"flex items-center gap-3 p-6 border-b border-border",children:[o.jsx("span",{className:"inline-flex items-center justify-center w-6 h-6 rounded-full bg-muted text-muted-foreground",children:o.jsx(go,{className:"w-4 h-4"})}),o.jsx("h3",{className:"text-lg font-semibold",children:"Add Custom Provider"})]}),o.jsxs("div",{className:"p-6 space-y-4",children:[o.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[o.jsxs("label",{className:"space-y-2",children:[o.jsx("span",{className:"text-sm font-medium text-foreground",children:"Provider ID"}),o.jsx("input",{type:"text",value:p,onChange:aA=>U(aA.target.value),placeholder:"my-provider",className:"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors font-mono text-sm"})]}),o.jsxs("label",{className:"space-y-2",children:[o.jsx("span",{className:"text-sm font-medium text-foreground",children:"Display Name"}),o.jsx("input",{type:"text",value:R,onChange:aA=>_(aA.target.value),placeholder:"My Provider",className:"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors text-sm"})]})]}),o.jsxs("div",{className:"flex items-center justify-between gap-3 p-3 bg-muted/30 border border-border rounded-lg",children:[o.jsxs("div",{className:"min-w-0",children:[o.jsx("div",{className:"text-sm font-medium text-foreground",children:"Fetch models from provider"}),o.jsx("div",{className:"text-xs text-muted-foreground",children:"For Ollama, this reads /api/tags and /api/show to include context windows."})]}),o.jsxs("button",{type:"button",onClick:NA,disabled:!tA.trim()||Ge,className:"shrink-0 px-3 py-2 bg-primary text-primary-foreground rounded-lg text-sm font-medium hover:bg-primary/90 transition-colors disabled:opacity-50 flex items-center gap-2",children:[Ge&&o.jsx(Le,{className:"w-3.5 h-3.5 animate-spin"}),"Fetch Models"]})]}),pe&&o.jsx("p",{className:"text-xs text-muted-foreground",children:pe}),ve.length>0&&o.jsx("div",{className:"space-y-2 max-h-44 overflow-y-auto border border-border rounded-lg p-2",children:ve.map(aA=>o.jsxs("div",{className:"flex items-center justify-between gap-3 p-2 bg-card rounded-md",children:[o.jsxs("div",{className:"min-w-0",children:[o.jsx("div",{className:"text-sm font-medium text-foreground truncate",children:aA.label}),o.jsx("div",{className:"text-xs text-muted-foreground font-mono truncate",children:aA.id})]}),o.jsxs("div",{className:"flex flex-wrap justify-end gap-1 shrink-0",children:[aA.contextWindow&&o.jsxs("span",{className:"text-[10px] px-1.5 py-0.5 bg-blue-600/20 text-blue-400 rounded",children:[yB(aA.contextWindow)," ctx"]}),aA.maxOutputTokens&&o.jsxs("span",{className:"text-[10px] px-1.5 py-0.5 bg-cyan-600/20 text-cyan-400 rounded",children:[yB(aA.maxOutputTokens)," out"]}),aA.toolCall&&o.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-green-600/20 text-green-400 rounded",children:"Tools"}),aA.reasoningText&&o.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-purple-600/20 text-purple-400 rounded",children:"Reasoning"}),aA.vision&&o.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-orange-600/20 text-orange-400 rounded",children:"Vision"})]})]},aA.id))}),o.jsxs("label",{className:"space-y-2 block",children:[o.jsx("span",{className:"text-sm font-medium text-foreground",children:"Base URL"}),o.jsx("input",{type:"url",value:tA,onChange:aA=>IA(aA.target.value),placeholder:"https://api.example.com/v1",className:"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors font-mono text-sm"})]}),o.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[o.jsxs("label",{className:"space-y-2",children:[o.jsx("span",{className:"text-sm font-medium text-foreground",children:"API Key"}),o.jsx("input",{type:"password",value:iA,onChange:aA=>UA(aA.target.value),placeholder:"Optional",className:"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors font-mono text-sm"})]}),o.jsxs("label",{className:"space-y-2",children:[o.jsx("span",{className:"text-sm font-medium text-foreground",children:"Compatibility"}),o.jsx("select",{value:qA,onChange:aA=>re(aA.target.value),className:"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground outline-none focus:border-foreground/30 transition-colors text-sm",children:Fy.map(aA=>o.jsx("option",{value:aA.value,children:aA.label},aA.value))})]})]}),o.jsxs("label",{className:"space-y-2 block",children:[o.jsx("span",{className:"text-sm font-medium text-foreground",children:"Models"}),o.jsx("textarea",{value:HA,onChange:aA=>lA(aA.target.value),placeholder:"gpt-4o, claude-sonnet-4-5, llama3.3",className:"w-full min-h-[90px] px-4 py-3 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors font-mono text-sm resize-y"}),o.jsx("span",{className:"text-xs text-muted-foreground",children:"Comma or newline separated. Leave blank to allow any model."})]}),o.jsxs("label",{className:"flex items-center gap-3 text-sm text-muted-foreground",children:[o.jsx("input",{type:"checkbox",checked:he,onChange:aA=>kA(aA.target.checked),className:"h-4 w-4 accent-primary"}),"Allow entering model IDs not listed above"]}),He&&o.jsx("p",{className:"text-sm text-red-500",children:He}),o.jsxs("div",{className:"flex gap-3 pt-2",children:[o.jsx("button",{type:"button",onClick:pA,disabled:VA,className:"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors disabled:opacity-50",children:"Cancel"}),o.jsx("button",{type:"button",onClick:Ae,disabled:!p.trim()||!tA.trim()||VA,className:"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:VA?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):"Add Provider"})]})]})]})}),K&&o.jsx("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60 backdrop-blur-sm",children:o.jsxs("div",{className:"bg-background border border-border rounded-xl w-full max-w-lg mx-6 shadow-2xl",children:[o.jsxs("div",{className:"flex items-center gap-3 p-6 border-b border-border",children:[o.jsx($t,{provider:"ottorouter",size:24}),o.jsx("h3",{className:"text-lg font-semibold",children:"Import Setu Wallet"})]}),o.jsxs("div",{className:"p-6",children:[o.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Paste your base58 private key to replace the current wallet used for Setu."}),o.jsx("textarea",{ref:RA,value:T,onChange:aA=>L(aA.target.value),placeholder:"Enter private key",className:"w-full min-h-[110px] px-4 py-3 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors font-mono text-xs resize-y",onKeyDown:aA=>{(aA.metaKey||aA.ctrlKey)&&aA.key==="Enter"&&(aA.preventDefault(),Et()),aA.key==="Escape"&&st()}}),d&&o.jsx("p",{className:"text-sm text-red-500 mt-3",children:d}),o.jsxs("div",{className:"flex gap-3 mt-5",children:[o.jsx("button",{type:"button",onClick:st,disabled:w,className:"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors disabled:opacity-50",children:"Cancel"}),o.jsx("button",{type:"button",onClick:Et,disabled:!T.trim()||w,className:"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:w?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):"Import Wallet"})]})]})]})}),AA&&o.jsx("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60 backdrop-blur-sm",children:o.jsxs("div",{className:"bg-background border border-border rounded-xl w-full max-w-lg mx-6 shadow-2xl",children:[o.jsxs("div",{className:"flex items-center gap-3 p-6 border-b border-border",children:[o.jsx($t,{provider:AA.provider,size:24}),o.jsxs("h3",{className:"text-lg font-semibold",children:["Connect"," ",e.providers[AA.provider]?.label||AA.provider]})]}),AA.sessionId?o.jsxs("div",{className:"p-6",children:[o.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Paste the authorization code:"}),o.jsx("input",{type:"text",ref:$A,value:cA,onChange:aA=>zA(aA.target.value),placeholder:"Paste code here...",className:"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors mb-4 font-mono text-sm",onKeyDown:aA=>{aA.key==="Enter"&&Re(),aA.key==="Escape"&&Me()}}),o.jsxs("div",{className:"flex gap-3",children:[o.jsx("button",{type:"button",onClick:Me,className:"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors",children:"Cancel"}),o.jsx("button",{type:"button",onClick:Re,disabled:!cA.trim()||PA,className:"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:PA?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):"Connect"})]})]}):o.jsxs("div",{className:"p-6",children:[o.jsxs("p",{className:"text-sm text-muted-foreground mb-6",children:["You'll be redirected to"," ",e.providers[AA.provider]?.label||AA.provider," ","to authorize access. After authorizing, copy the code and return here."]}),o.jsxs("div",{className:"flex gap-3",children:[o.jsx("button",{type:"button",onClick:Me,className:"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors",children:"Cancel"}),o.jsx("button",{type:"button",onClick:xe,disabled:Se,className:"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:Se?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):o.jsxs(o.Fragment,{children:["Continue",o.jsx(vt,{className:"w-4 h-4"})]})})]})]})]})}),oA&&o.jsx("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60 backdrop-blur-sm",children:o.jsxs("div",{className:"bg-background border border-border rounded-xl w-full max-w-lg mx-6 shadow-2xl",children:[o.jsxs("div",{className:"flex items-center gap-3 p-6 border-b border-border",children:[o.jsx($t,{provider:"copilot",size:24}),o.jsx("h3",{className:"text-lg font-semibold",children:"Connect GitHub Copilot"})]}),o.jsxs("div",{className:"p-6 space-y-4",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("button",{type:"button",onClick:()=>be("oauth"),className:`px-3 py-1.5 rounded-lg text-sm font-medium transition-colors ${Ue==="oauth"?"bg-foreground text-background":"bg-muted text-muted-foreground hover:text-foreground"}`,children:"OAuth"}),o.jsx("button",{type:"button",onClick:()=>be("token"),className:`px-3 py-1.5 rounded-lg text-sm font-medium transition-colors ${Ue==="token"?"bg-foreground text-background":"bg-muted text-muted-foreground hover:text-foreground"}`,children:"Token"})]}),Ue==="oauth"?o.jsxs(o.Fragment,{children:[o.jsx("p",{className:"text-sm text-muted-foreground",children:"Enter this code on GitHub to authorize:"}),o.jsx("div",{className:"flex items-center justify-center gap-3",children:DA?o.jsx("div",{className:"bg-muted px-6 py-3 rounded-lg animate-pulse",children:o.jsx("div",{className:"h-9 w-48 bg-muted-foreground/20 rounded"})}):De?o.jsxs(o.Fragment,{children:[o.jsx("code",{className:"text-3xl font-mono font-bold tracking-widest text-foreground bg-muted px-6 py-3 rounded-lg select-all",children:De.userCode}),o.jsx("button",{type:"button",onClick:We,className:"p-2 text-muted-foreground hover:text-foreground transition-colors",children:z?o.jsx(Yt,{className:"w-5 h-5 text-green-500"}):o.jsx(ps,{className:"w-5 h-5"})})]}):null})]}):o.jsxs(o.Fragment,{children:[o.jsx("p",{className:"text-sm text-muted-foreground",children:"Paste a GitHub token with Copilot model access."}),o.jsx("input",{type:"password",value:Oe,onChange:aA=>_e(aA.target.value),placeholder:"gho_...",className:"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors"}),F?.ghImport.available&&o.jsx("button",{type:"button",onClick:gt,disabled:fe,className:"w-full h-10 px-4 bg-muted text-foreground rounded-lg font-medium hover:bg-muted/80 transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:fe?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):"Import from GH CLI"}),F?.ghImport.available&&!F.ghImport.authenticated&&o.jsx("p",{className:"text-xs text-muted-foreground",children:F.ghImport.reason||"GitHub CLI is not authenticated"}),F&&!F.ghImport.available&&F.ghImport.reason&&o.jsx("p",{className:"text-xs text-muted-foreground",children:F.ghImport.reason})]}),P&&P.tokenSources.length>0&&o.jsx("div",{className:"text-xs text-muted-foreground space-y-1",children:P.tokenSources.map(aA=>o.jsxs("div",{children:[aA.source,":"," ",aA.configured?aA.error?aA.error:`${aA.modelCount??0} models visible`:"not configured",aA.restrictedByOrgPolicy&&aA.restrictedOrg?` (org restriction: ${aA.restrictedOrg})`:""]},aA.source))}),So&&o.jsx("p",{className:"text-sm text-red-500 text-center",children:So}),Je&&Ue==="oauth"&&o.jsxs("div",{className:"flex items-center justify-center gap-2 text-sm text-muted-foreground",children:[o.jsx(Le,{className:"w-4 h-4 animate-spin"}),"Waiting for authorization..."]}),o.jsxs("div",{className:"flex gap-3",children:[o.jsx("button",{type:"button",onClick:et,className:"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors",children:"Cancel"}),Ue==="oauth"?o.jsx("button",{type:"button",onClick:me,disabled:Je||DA,className:"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:Je||DA?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):o.jsxs(o.Fragment,{children:["Open GitHub",o.jsx(vt,{className:"w-4 h-4"})]})}):o.jsx("button",{type:"button",onClick:Ke,disabled:!Oe.trim()||_A,className:"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:_A?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):"Save token"})]})]})]})})]})}),vy=x.memo(function({authStatus:e,onComplete:t,onBack:s,hideHeader:n=!1}){const[r,i]=x.useState(null),[a,g]=x.useState(null),[Q,l]=x.useState(!0),[C,I]=x.useState(!1),[c,u]=x.useState("ottorouter"),[f,h]=x.useState("kimi-k2.5"),[k,v]=x.useState(e.defaults.agent||"build"),[D,O]=x.useState(e.defaults.toolApproval||"dangerous"),[J,V]=x.useState(!1),eA=x.useRef(!1),X=x.useId(),K=x.useId(),W=x.useId(),T=x.useId();x.useEffect(()=>{(async()=>{try{const[N,G]=await Promise.all([mA.getConfig(),mA.getAllModels()]);i(N),g(G);const S=N?.defaults?.provider||"ottorouter",j=N?.defaults?.model||"kimi-k2.5",H=G?.[S]?.models?.length>0,b=H?S:"ottorouter",E=H&&G[S].models.some(p=>p.id===j)?j:G?.[b]?.models?.[0]?.id||"kimi-k2.5";u(b),h(E),N?.defaults?.agent&&v(N.defaults.agent),N?.defaults?.toolApproval&&O(N.defaults.toolApproval),N?.defaults?.guidedMode&&V(N.defaults.guidedMode)}catch{}finally{l(!1)}})()},[]),x.useEffect(()=>{if(r?.agents?.length){const d=r.agents;(!k||!d.includes(k))&&v(d.includes("build")?"build":d[0])}},[r,k]),x.useEffect(()=>{if(a?.[c]&&eA.current){const d=a[c];d.models.some(N=>N.id===f)||h(d.models[0]?.id||"")}},[c,a,f]);const L=async()=>{I(!0);try{await mA.updateDefaults({provider:c,model:f,agent:k,toolApproval:D,guidedMode:J,fullWidthContent:r?.defaults?.fullWidthContent??!0,scope:"global"}),await t()}catch{}finally{I(!1)}};if(Q)return o.jsx("div",{className:"min-h-screen flex items-center justify-center",children:o.jsx(Le,{className:"w-8 h-8 animate-spin text-muted-foreground"})});const w=r?.providers.filter(d=>(e.providers[d]?.configured||d==="ottorouter")&&a?.[d]?.models?.length>0)||["ottorouter"],B=a?.[c]?.models||[];return o.jsxs("div",{className:"min-h-screen flex flex-col",children:[!n&&o.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-border",children:[o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsx($t,{provider:"ottorouter",size:24}),o.jsx("span",{className:"font-semibold text-foreground",children:"otto"})]}),o.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[o.jsx("span",{className:"w-2 h-2 rounded-full bg-blue-500"}),"Step 2 of 2"]})]}),o.jsx("div",{className:`flex-1 px-4 sm:px-6 lg:px-12 pb-32 ${n?"pt-8 sm:pt-10 lg:pt-14":"pt-6 sm:pt-8 lg:pt-12"}`,children:o.jsxs("div",{className:"max-w-7xl mx-auto",children:[o.jsxs("div",{className:"mb-10",children:[o.jsx("h1",{className:"text-3xl lg:text-4xl font-semibold text-foreground mb-3",children:"Configure Defaults"}),o.jsx("p",{className:"text-lg text-muted-foreground",children:"Set your preferences. You can change these anytime in settings."})]}),o.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[o.jsxs("div",{className:"md:col-span-2",children:[o.jsx("label",{htmlFor:X,className:"block text-sm font-medium text-muted-foreground mb-2",children:"Default Provider"}),o.jsxs("div",{className:"relative",children:[o.jsx("select",{id:X,value:c,onChange:d=>{eA.current=!0,u(d.target.value)},className:"w-full px-4 py-3 bg-card border border-border rounded-xl text-foreground appearance-none cursor-pointer focus:outline-none focus:border-ring transition-colors",children:w.map(d=>o.jsx("option",{value:d,children:e.providers[d]?.label||d},d))}),o.jsx(_t,{className:"absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground pointer-events-none"})]})]}),o.jsxs("div",{className:"md:col-span-2",children:[o.jsx("label",{htmlFor:K,className:"block text-sm font-medium text-muted-foreground mb-2",children:"Default Model"}),o.jsxs("div",{className:"relative",children:[o.jsx("select",{id:K,value:f,onChange:d=>h(d.target.value),className:"w-full px-4 py-3 bg-card border border-border rounded-xl text-foreground appearance-none cursor-pointer focus:outline-none focus:border-ring transition-colors",children:B.map(d=>o.jsx("option",{value:d.id,children:d.label||d.id},d.id))}),o.jsx(_t,{className:"absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground pointer-events-none"})]})]}),o.jsxs("div",{children:[o.jsx("label",{htmlFor:W,className:"block text-sm font-medium text-muted-foreground mb-2",children:"Default Agent"}),o.jsxs("div",{className:"relative",children:[o.jsx("select",{id:W,value:k,onChange:d=>v(d.target.value),className:"w-full px-4 py-3 bg-card border border-border rounded-xl text-foreground appearance-none cursor-pointer focus:outline-none focus:border-ring transition-colors",children:(r?.agents||["build"]).map(d=>o.jsx("option",{value:d,children:d},d))}),o.jsx(_t,{className:"absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground pointer-events-none"})]})]}),o.jsxs("div",{children:[o.jsx("label",{htmlFor:T,className:"block text-sm font-medium text-muted-foreground mb-2",children:"Tool Approval"}),o.jsxs("div",{className:"relative",children:[o.jsxs("select",{id:T,value:D,onChange:d=>O(d.target.value),className:"w-full px-4 py-3 bg-card border border-border rounded-xl text-foreground appearance-none cursor-pointer focus:outline-none focus:border-ring transition-colors",children:[o.jsx("option",{value:"auto",children:"Auto - run without asking"}),o.jsx("option",{value:"dangerous",children:"Dangerous - approve writes only"}),o.jsx("option",{value:"yolo",children:"YOLO - skip approvals except hard safety blocks"}),o.jsx("option",{value:"all",children:"All - approve every tool"})]}),o.jsx(_t,{className:"absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground pointer-events-none"})]}),o.jsx("p",{className:"mt-2 text-sm text-muted-foreground",children:"Controls when tool executions need approval. YOLO still blocks extreme destructive commands."})]}),o.jsx("div",{className:"md:col-span-2",children:o.jsxs("div",{className:"flex items-center justify-between px-4 py-3 bg-card border border-border rounded-xl",children:[o.jsxs("div",{children:[o.jsx("span",{className:"text-sm font-medium text-foreground",children:"Guided Mode"}),o.jsx("p",{className:"text-sm text-muted-foreground mt-0.5",children:"AI will run commands and manage services for you instead of giving instructions"})]}),o.jsx("button",{type:"button",role:"switch","aria-checked":J,onClick:()=>V(!J),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 ${J?"bg-primary":"bg-muted"}`,children:o.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full transition-transform ${J?"translate-x-6":"translate-x-1"} ${J?"bg-primary-foreground":"bg-foreground"}`})})]})})]})]})}),o.jsx("div",{className:"fixed bottom-0 left-0 right-0 px-4 sm:px-6 py-4 border-t border-border bg-background",children:o.jsxs("div",{className:"max-w-7xl mx-auto flex items-center justify-between",children:[o.jsxs("button",{type:"button",onClick:s,className:"flex items-center gap-2 px-4 py-3 text-muted-foreground hover:text-foreground transition-colors",children:[o.jsx(wC,{className:"w-4 h-4"}),"Back"]}),o.jsx("button",{type:"button",onClick:L,disabled:C,className:"flex items-center gap-2 px-6 py-3 bg-primary text-primary-foreground rounded-lg font-medium hover:bg-primary/90 transition-colors disabled:opacity-50",children:C?o.jsxs(o.Fragment,{children:[o.jsx(Le,{className:"w-4 h-4 animate-spin"}),"Setting up..."]}):o.jsxs(o.Fragment,{children:["Start Using otto",o.jsx(io,{className:"w-4 h-4"})]})})]})})]})}),Sy=x.memo(function({hideHeader:e=!1}){const t=kt(K=>K.isOpen),s=kt(K=>K.currentStep),n=kt(K=>K.manageMode),r=kt(K=>K.authStatus),i=kt(K=>K.nextStep),a=kt(K=>K.prevStep),g=kt(K=>K.reset),Q=Ne(K=>K.openTopupModal),{setupWallet:l,importWallet:C,addProvider:I,addCustomProvider:c,removeProvider:u,completeOnboarding:f,startOAuth:h,startOAuthManual:k,exchangeOAuthCode:v,startCopilotDeviceFlow:D,pollCopilotDeviceFlow:O,getCopilotAuthMethods:J,saveCopilotToken:V,importCopilotTokenFromGh:eA,getCopilotDiagnostics:X}=kg();return!t||!r?null:o.jsxs("div",{className:"fixed inset-0 z-[9999] bg-background text-foreground overflow-y-auto",children:[s==="wallet"&&o.jsx(Gy,{authStatus:r,onSetupWallet:l,onImportWallet:C,onAddProvider:I,onAddCustomProvider:c,onRemoveProvider:u,onStartOAuth:h,onStartOAuthManual:k,onExchangeOAuthCode:v,onOpenTopup:Q,onNext:i,manageMode:n,onClose:g,hideHeader:e,onStartCopilotDeviceFlow:D,onPollCopilotDeviceFlow:O,onGetCopilotAuthMethods:J,onSaveCopilotToken:V,onImportCopilotTokenFromGh:eA,onGetCopilotDiagnostics:X}),s==="defaults"&&o.jsx(vy,{authStatus:r,onComplete:f,onBack:a,hideHeader:e})]})}),FE="otto-theme";function Uy(){if(typeof window>"u")return"dark";const A=window.localStorage.getItem(FE);return A==="light"||A==="dark"?A:window.matchMedia?.("(prefers-color-scheme: light)").matches?"light":"dark"}function Ry(){const[A,e]=x.useState(()=>Uy());x.useEffect(()=>{if(typeof document>"u")return;const s=document.documentElement;A==="dark"?s.classList.add("dark"):s.classList.remove("dark");try{window.localStorage.setItem(FE,A)}catch(n){console.warn("Failed to persist theme preference",n)}window.parent&&window.parent!==window&&window.parent.postMessage({type:"otto-set-theme",theme:A},"*")},[A]),x.useEffect(()=>{if(typeof window>"u")return;const s=n=>{n.data?.type==="otto-set-theme"&&(n.data.theme==="light"||n.data.theme==="dark")&&e(n.data.theme)};return window.addEventListener("message",s),()=>window.removeEventListener("message",s)},[]);const t=x.useCallback(()=>{e(s=>s==="dark"?"light":"dark")},[]);return x.useMemo(()=>({theme:A,setTheme:e,toggleTheme:t}),[A,t])}function Ky(){const[A,e]=x.useState(null);return x.useEffect(()=>{(async()=>{try{const r=`${window.OTTO_SERVER_URL||ss}/v1/config/cwd`;console.log("[useWorkingDirectory] Fetching from:",r);const i=await fetch(r);if(!i.ok)throw console.error("[useWorkingDirectory] Failed:",i.status,i.statusText),new Error(`Failed to fetch working directory: ${i.status}`);const a=await i.json();console.log("[useWorkingDirectory] Success:",a),a.dirName&&(console.log("[useWorkingDirectory] Setting title to:",a.dirName),e(a.dirName),document.title=a.dirName)}catch(s){console.error("[useWorkingDirectory] Error:",s),document.title="otto"}})()},[]),A}function Jy({sessionIds:A,activeSessionId:e,gitFiles:t,onSelectSession:s,onNewSession:n,onStageFile:r,onUnstageFile:i,onRestoreFile:a,onDeleteFile:g,onStageAll:Q,onUnstageAll:l,onOpenCommitModal:C,onViewDiff:I,onReturnToInput:c}){const{currentFocus:u,sessionIndex:f,gitFileIndex:h,setFocus:k,setSessionIndex:v,setGitFileIndex:D,resetGitFileIndex:O}=Ng(),{setCollapsed:J,toggleCollapse:V}=ws(),{isExpanded:eA,toggleSidebar:X}=Te(),K=Te(w=>w.closeDiff),W=ft(w=>w.toggleSidebar),T=A.indexOf(e||""),L=x.useCallback(w=>{const B=w.target,d=B.tagName==="INPUT"||B.tagName==="TEXTAREA"||B.isContentEditable,N=!!B.closest("[data-terminal-viewer]");if((w.ctrlKey||w.metaKey)&&w.key==="h"){w.preventDefault(),u==="sessions"?(document.activeElement?.blur(),k("input"),J(!0),setTimeout(()=>c?.(),50)):u==="git"?(document.activeElement?.blur(),k("input"),X(),K(),setTimeout(()=>c?.(),50)):(document.activeElement?.blur(),k("sessions"),J(!1),T>=0&&v(T));return}if((w.ctrlKey||w.metaKey)&&w.key==="l"){w.preventDefault(),u==="git"?(document.activeElement?.blur(),k("input"),X(),K(),setTimeout(()=>c?.(),50)):u==="sessions"?(document.activeElement?.blur(),k("input"),J(!0),setTimeout(()=>c?.(),50)):(document.activeElement?.blur(),eA||X(),k("git"),O());return}if((w.ctrlKey||w.metaKey)&&w.key==="/"){w.preventDefault(),V();return}if((w.ctrlKey||w.metaKey)&&w.key==="\\"){w.preventDefault(),X();return}if((w.ctrlKey||w.metaKey)&&w.shiftKey&&w.key==="r"){w.preventDefault(),W();return}if((w.ctrlKey||w.metaKey)&&w.key==="n"){w.preventDefault(),n();return}if((w.ctrlKey||w.metaKey)&&w.key==="p"){w.preventDefault(),ka.getState().toggle();return}if(w.key==="Escape"&&!N||w.key==="q"&&!d&&(u==="sessions"||u==="git")){w.preventDefault(),u==="sessions"?J(!0):u==="git"&&(X(),K()),k("input"),c?.();return}if(u==="sessions"&&!d){if(w.key==="j"&&A.length>0){w.preventDefault();const G=Math.min(f+1,A.length-1);v(G);return}if(w.key==="k"&&A.length>0){w.preventDefault();const G=Math.max(f-1,0);v(G);return}if(w.key==="Enter"&&A[f]){w.preventDefault(),s(A[f]),k("input");return}}if(u==="git"&&!d){if(w.key==="j"&&t.length>0){w.preventDefault();const G=Math.min(h+1,t.length-1);D(G);return}if(w.key==="k"&&t.length>0){w.preventDefault();const G=Math.max(h-1,0);D(G);return}if(w.key===" "&&t[h]){w.preventDefault();const G=t[h];G.staged?i?.(G.path):r?.(G.path);return}if(w.key==="a"){w.preventDefault(),Q?.();return}if(w.key==="u"){w.preventDefault(),l?.();return}if(w.key==="R"&&t[h]){w.preventDefault();const G=t[h];!G.staged&&G.status!=="untracked"&&G.status!=="added"&&a?.(G.path);return}if(w.shiftKey&&w.key==="D"||w.key==="Backspace"){w.preventDefault();const G=t[h];G&&!G.staged&&G.status==="untracked"&&g?.(G.path);return}if(w.key==="c"){w.preventDefault(),C?.();return}if(w.key==="Enter"&&t[h]){w.preventDefault();const G=t[h];I?.(G.path,G.staged);return}}},[u,f,h,A,t,T,eA,k,v,D,O,J,X,W,V,s,n,r,i,a,g,Q,l,C,I,c,K]);return x.useEffect(()=>(window.addEventListener("keydown",L),()=>window.removeEventListener("keydown",L)),[L]),{currentFocus:u,sessionIndex:f,gitFileIndex:h}}function Ly(A){const e=x.useRef(null),t=x.useRef(null),s=Ne(Q=>Q.setBalance),n=Ne(Q=>Q.setPaymentPending),r=po(Q=>Q.removeToast),i=po(Q=>Q.updateToast),a=bn(Q=>Q.setPendingTopup),g=bn(Q=>Q.clearPendingTopup);x.useEffect(()=>{if(!A)return;const Q=new lE;e.current=Q;const l=mA.getStreamUrl(A);Q.connect(l);const C=Q.on("*",I=>{const c=I.payload;switch(I.type){case"ottorouter.topup.required":{const u=typeof c?.amountUsd=="number"?c.amountUsd:0,f=typeof c?.currentBalance=="number"?c.currentBalance:0,h=typeof c?.minTopupUsd=="number"?c.minTopupUsd:5,k=typeof c?.suggestedTopupUsd=="number"?c.suggestedTopupUsd:10,v=typeof c?.messageId=="string"?c.messageId:"";a({sessionId:A,messageId:v,amountUsd:u,currentBalance:f,minTopupUsd:h,suggestedTopupUsd:k});break}case"ottorouter.topup.method_selected":{c?.method==="crypto"&&(n(!0),t.current=de.loading("💳 Processing crypto payment..."));break}case"ottorouter.topup.cancelled":{g();const u=typeof c?.reason=="string"?c.reason:"Request cancelled";de(`⚠️ ${u}`);break}case"ottorouter.payment.required":{const u=typeof c?.amountUsd=="number"?c.amountUsd:0;n(!0),t.current||(t.current=de.loading(`💳 Payment required: $${u.toFixed(2)}`));break}case"ottorouter.payment.signing":{t.current?i(t.current,{message:"✍️ Signing transaction..."}):t.current=de.loading("✍️ Signing transaction...");break}case"ottorouter.payment.complete":{g();const u=c?.amountUsd,f=c?.newBalance,h=typeof c?.transactionId=="string"?c.transactionId:void 0,k=typeof u=="number"?u:typeof u=="string"?parseFloat(u):0,v=typeof f=="number"?f:typeof f=="string"?parseFloat(f):0;s(v),n(!1),t.current&&(r(t.current),t.current=null);const D=`✅ Paid $${k.toFixed(2)}`;h?de.successWithAction(D,{label:"View Tx",href:`https://orbmarkets.io/tx/${h}`}):de.success(D);break}case"ottorouter.fiat.checkout_created":{g(),n(!1),t.current&&(r(t.current),t.current=null),de.success("💳 Complete payment, then retry your message");break}case"ottorouter.balance.updated":{const u=c?.balanceRemaining,f=typeof u=="number"?u:typeof u=="string"?parseFloat(u):null;f!==null&&!Number.isNaN(f)&&s(f);break}case"ottorouter.payment.error":{g();const u=typeof c?.error=="string"?c.error:"Payment failed";n(!1),t.current&&(r(t.current),t.current=null),de.error(`❌ ${u}`);break}}});return()=>{C(),Q.disconnect()}},[A,s,n,r,i,a,g])}const ri=KE({component:jy});function jy(){const{checkOnboarding:A}=kg();return x.useEffect(()=>{A()},[A]),o.jsxs(o.Fragment,{children:[o.jsx(JE,{}),o.jsx(Sy,{}),o.jsx(yg,{}),null]})}const Ty=ba("/")({beforeLoad:()=>{throw LE({to:"/sessions"})},component:()=>null});function NB({height:A=16,className:e=""}){const t=Math.round(A*2.4686468646864688);return o.jsx("svg",{width:t,height:A,viewBox:"0 0 748 303",fill:"currentColor",className:e,"aria-label":"otto",role:"img",children:o.jsx("path",{d:"M192.877 257.682C192.877 263.287 191.783 268.551 189.596 273.473C187.545 278.395 184.674 282.701 180.982 286.393C177.428 289.947 173.189 292.818 168.268 295.006C163.482 297.057 158.287 298.082 152.682 298.082H44.1953C38.7266 298.082 33.5312 297.057 28.6094 295.006C23.6875 292.818 19.3809 289.947 15.6895 286.393C12.1348 282.701 9.26367 278.395 7.07617 273.473C5.02539 268.551 4 263.287 4 257.682V120.074C4 114.469 5.02539 109.205 7.07617 104.283C9.26367 99.3613 12.1348 95.123 15.6895 91.5684C19.3809 87.877 23.6875 85.0059 28.6094 82.9551C33.5312 80.7676 38.7266 79.6738 44.1953 79.6738H152.682C158.287 79.6738 163.482 80.7676 168.268 82.9551C173.189 85.0059 177.428 87.877 180.982 91.5684C184.674 95.123 187.545 99.3613 189.596 104.283C191.783 109.205 192.877 114.469 192.877 120.074V257.682ZM44.1953 120.074V257.682H152.682V120.074H44.1953ZM331.715 4V298.082H289.674V46.041H239.225V4H331.715ZM478.961 4V298.082H436.92V46.041H386.471V4H478.961ZM743.717 257.682C743.717 263.287 742.623 268.551 740.436 273.473C738.385 278.395 735.514 282.701 731.822 286.393C728.268 289.947 724.029 292.818 719.107 295.006C714.322 297.057 709.127 298.082 703.521 298.082H595.035C589.566 298.082 584.371 297.057 579.449 295.006C574.527 292.818 570.221 289.947 566.529 286.393C562.975 282.701 560.104 278.395 557.916 273.473C555.865 268.551 554.84 263.287 554.84 257.682V120.074C554.84 114.469 555.865 109.205 557.916 104.283C560.104 99.3613 562.975 95.123 566.529 91.5684C570.221 87.877 574.527 85.0059 579.449 82.9551C584.371 80.7676 589.566 79.6738 595.035 79.6738H703.521C709.127 79.6738 714.322 80.7676 719.107 82.9551C724.029 85.0059 728.268 87.877 731.822 91.5684C735.514 95.123 738.385 99.3613 740.436 104.283C742.623 109.205 743.717 114.469 743.717 120.074V257.682ZM595.035 120.074V257.682H703.521V120.074H595.035Z"})})}const kB="left-sidebar",MB=272,Oy=256,qy=480,Yy=x.memo(function({children:e,onNewSession:t}){const s=Te(a=>a.isDiffOpen),n=ws(a=>a.isCollapsed),r=ws(a=>a.toggleCollapse),i=os(a=>a.widths[kB]??MB);return x.useEffect(()=>(n?document.body.style.overflow="":document.body.style.overflow="hidden",()=>{document.body.style.overflow=""}),[n]),n?o.jsxs("aside",{className:"w-12 md:w-12 border-r border-border bg-background flex flex-col transition-all duration-300 ease-in-out hidden md:flex",children:[o.jsx("div",{className:"h-14 border-b border-border flex items-center justify-center",children:o.jsx(Be,{variant:"ghost",size:"icon",onClick:t,title:"New session",className:"rounded-full touch-manipulation text-muted-foreground hover:bg-muted/50",children:o.jsx(go,{className:"w-4 h-4"})})}),o.jsx("button",{type:"button",className:"flex-1 cursor-pointer hover:bg-muted/50 transition-colors touch-manipulation",onClick:s?void 0:r,title:s?void 0:"Expand sidebar","aria-label":"Expand sidebar"}),o.jsx("div",{className:"h-12 border-t border-border flex items-center justify-center",children:o.jsx(Be,{variant:"ghost",size:"icon",onClick:r,title:"Expand sidebar",disabled:s,className:"transition-transform duration-200 hover:scale-110 touch-manipulation text-muted-foreground hover:bg-muted/50",children:o.jsx(ct,{className:"w-4 h-4"})})})]}):o.jsxs(o.Fragment,{children:[!n&&o.jsx("div",{className:"fixed inset-0 bg-black/50 z-40 md:hidden",onClick:r,"aria-hidden":"true"}),o.jsxs("aside",{className:"border-r border-sidebar-border sidebar-fade-in flex transition-all duration-300 ease-in-out fixed md:relative top-0 left-0 z-50 h-screen md:h-auto w-full md:w-auto",style:{maxWidth:"100%"},children:[o.jsxs("div",{className:"flex-1 flex flex-col min-w-0 relative",style:{width:i},children:[o.jsxs("div",{className:"h-14 border-b border-sidebar-border px-4 flex items-center gap-2 md:hidden bg-sidebar",children:[o.jsx(Be,{variant:"ghost",size:"icon",onClick:r,title:"Close menu",className:"touch-manipulation flex-shrink-0 text-sidebar-foreground hover:bg-sidebar-accent","aria-label":"Close menu",children:o.jsx(lt,{className:"w-5 h-5"})}),o.jsx("div",{className:"flex-1 flex items-center",children:o.jsx(NB,{height:14,className:"text-sidebar-foreground"})})]}),o.jsxs("div",{className:"flex-1 relative overflow-hidden",children:[o.jsx("div",{className:"absolute top-0 left-0 right-0 z-10 pointer-events-none",children:o.jsxs("div",{className:"h-14 px-4 flex items-center justify-between border-b border-sidebar-border/40 bg-sidebar/40 backdrop-blur-xl supports-[backdrop-filter]:bg-sidebar/20",children:[o.jsx("div",{className:"flex items-center text-sidebar-foreground/90",children:o.jsx(NB,{height:14,className:"select-none"})}),o.jsx("button",{type:"button",onClick:t,className:"w-9 h-9 rounded-full bg-sidebar-primary flex items-center justify-center hover:opacity-90 transition-opacity touch-manipulation pointer-events-auto",title:"New session",children:o.jsx(go,{className:"w-4 h-4 text-sidebar-primary-foreground"})})]})}),o.jsx("div",{className:"absolute inset-0 overflow-hidden",children:e})]}),o.jsx("div",{className:"h-12 border-t border-sidebar-border px-2 flex items-center justify-end",children:o.jsx(Be,{variant:"ghost",size:"icon",onClick:r,title:"Collapse sidebar",disabled:s,className:"transition-transform duration-200 hover:scale-110 touch-manipulation text-sidebar-muted-foreground hover:bg-sidebar-accent w-8 h-8",children:o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"transition-transform duration-300",role:"img","aria-label":"Collapse sidebar",children:[o.jsx("title",{children:"Collapse sidebar"}),o.jsx("path",{d:"M15 18l-6-6 6-6"})]})})})]}),o.jsx("div",{className:"hidden md:block",children:o.jsx(zs,{panelKey:kB,side:"left",minWidth:Oy,maxWidth:qy,defaultWidth:MB})})]})]})}),Hy=x.memo(function({sidebar:e,children:t,onNewSession:s,theme:n,onToggleTheme:r,sessionId:i,onNavigateToSession:a,onFixWithAI:g}){const Q=Te(v=>v.isExpanded),l=tt(v=>v.isExpanded),C=ft(v=>v.isExpanded),I=Mt(v=>v.isExpanded),c=je(v=>v.isExpanded),u=At(v=>v.isExpanded),f=$e(v=>v.isExpanded),h=Ve(v=>v.isExpanded),k=Q||l||C||I||c||u||f||h;return o.jsxs("div",{className:"h-screen flex bg-background touch-manipulation border-t border-border/50",children:[o.jsx(Yy,{onNewSession:s,children:e}),o.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden w-full md:w-auto",children:[o.jsxs("div",{className:"flex-1 flex overflow-hidden",children:[o.jsxs("main",{className:"flex-1 flex flex-col overflow-hidden relative",children:[o.jsx(P2,{}),o.jsx(i1,{}),o.jsx(Ny,{}),o.jsx(dy,{}),t]}),o.jsxs("div",{className:"hidden md:flex",children:[o.jsx(O2,{onFixWithAI:g}),o.jsx(A1,{sessionId:i}),o.jsx(C1,{parentSessionId:i??null,onNavigateToSession:a}),o.jsx(F1,{}),o.jsx(q1,{}),o.jsx(my,{}),o.jsx(ny,{}),o.jsx(Ey,{}),o.jsxs("div",{className:`flex flex-col w-12 border-l ${k?"sidebar-fade-in border-sidebar-border":"bg-background border-border"}`,children:[o.jsx(q2,{}),o.jsx(e1,{sessionId:i}),o.jsx(u1,{parentSessionId:i}),o.jsx(wy,{}),o.jsx(S1,{}),o.jsx(Y1,{}),o.jsx(iy,{}),o.jsx(Cy,{}),o.jsx("div",{className:"flex-1"}),o.jsx(Lh,{}),o.jsx("div",{className:"h-12 border-t border-border flex items-center justify-center",children:o.jsx(Be,{variant:"ghost",size:"icon",onClick:r,title:`Switch to ${n==="dark"?"light":"dark"} mode`,"aria-label":`Switch to ${n==="dark"?"light":"dark"} mode`,className:"touch-manipulation",children:n==="dark"?o.jsx(xC,{className:"w-4 h-4"}):o.jsx(DC,{className:"w-4 h-4"})})})]})]})]}),o.jsx(Jh,{})]}),o.jsx(W2,{}),o.jsx(Th,{}),o.jsx(My,{})]})});function GE({sessionId:A}){const e=x.useRef(null),t=Mp(),{data:s}=is(),{theme:n,toggleTheme:r}=Ry(),{openCommitModal:i,openDiff:a}=Te(),g=jE(),{data:Q=[]}=Hn(),{data:l}=Pn(),C=Wn(),I=og(),c=Tl(),u=Ol(),f=za(K=>K.openConfirmation);Ky(),Ly(A),ti(s?.defaults?.provider);const h=x.useCallback(()=>{setTimeout(()=>{e.current?.focus()},100)},[]),k=x.useCallback(()=>{g({to:"/sessions"})},[g]),v=x.useCallback(K=>{g({to:"/sessions/$sessionId",params:{sessionId:K},replace:!1}),h()},[g,h]),D=x.useCallback(()=>{g({to:"/sessions"})},[g]),O=x.useCallback(K=>{g({to:"/sessions/$sessionId",params:{sessionId:K}}),h()},[g,h]),J=x.useCallback(async K=>{try{const W=await t.mutateAsync({agent:s?.defaults.agent||"general",provider:s?.defaults.provider,model:s?.defaults.model,title:"Fix Git Error"});g({to:"/sessions/$sessionId",params:{sessionId:W.id},replace:!1}),await mA.sendMessage(W.id,{content:K})}catch(W){console.error("Failed to create fix session:",W)}},[t,s,g]),V=x.useMemo(()=>l?[...(l.conflicted??[]).map(K=>({path:K.path,staged:!1,status:K.status})),...l.staged.map(K=>({path:K.path,staged:!0,status:K.status})),...l.unstaged.map(K=>({path:K.path,staged:!1,status:K.status})),...l.untracked.map(K=>({path:K.path,staged:!1,status:K.status}))]:[],[l]),eA=x.useMemo(()=>Q.map(K=>K.id),[Q]);Jy({sessionIds:eA,activeSessionId:A,gitFiles:V,onSelectSession:O,onNewSession:k,onStageFile:K=>C.mutate([K]),onUnstageFile:K=>I.mutate([K]),onRestoreFile:K=>c.mutate([K]),onDeleteFile:K=>{f({title:"Delete File",message:`Delete ${K}? This will permanently remove the untracked file.`,confirmLabel:"Delete",variant:"destructive",onConfirm:async()=>{await u.mutateAsync([K])}})},onStageAll:()=>{const K=V.filter(W=>!W.staged).map(W=>W.path);K.length>0&&C.mutate(K)},onUnstageAll:()=>{const K=V.filter(W=>W.staged).map(W=>W.path);K.length>0&&I.mutate(K)},onOpenCommitModal:i,onViewDiff:a,onReturnToInput:h}),x.useEffect(()=>{A&&h()},[A,h]);const X=x.useMemo(()=>A?o.jsxs(o.Fragment,{children:[o.jsx(N2,{sessionId:A,onSelectSession:O}),o.jsx(Xp,{ref:e,sessionId:A,onNewSession:k,onDeleteSession:D})]}):o.jsx(Af,{onSessionCreated:v}),[A,k,O,D,v]);return o.jsxs(o.Fragment,{children:[o.jsx(Hy,{onNewSession:k,theme:n,onToggleTheme:r,sessionId:A,onNavigateToSession:O,onFixWithAI:J,sidebar:o.jsx(F2,{activeSessionId:A,onSelectSession:O}),children:X}),o.jsx(Hh,{})]})}const Py=ba("/sessions/")({component:Wy});function Wy(){return o.jsx(GE,{})}const vE=ba("/sessions/$sessionId")({component:zy});function zy(){const{sessionId:A}=vE.useParams();return o.jsx(GE,{sessionId:A})}const Vy=Ty.update({id:"/",path:"/",getParentRoute:()=>ri}),Zy=Py.update({id:"/sessions/",path:"/sessions/",getParentRoute:()=>ri}),_y=vE.update({id:"/sessions/$sessionId",path:"/sessions/$sessionId",getParentRoute:()=>ri}),Xy={IndexRoute:Vy,SessionsSessionIdRoute:_y,SessionsIndexRoute:Zy},$y=ri._addFileChildren(Xy)._addFileTypes(),AN=()=>{const t=(typeof globalThis<"u"?globalThis.OTTO_ROUTER_BASEPATH:void 0)??"/"??"/";if(!t||t==="/")return"/";const s=t.replace(/\/+$/,"")||"/";return s.startsWith("/")?s:`/${s}`},eN=TE({routeTree:$y,basepath:AN()}),Mg=new OE({defaultOptions:{queries:{refetchOnWindowFocus:!1,retry:1,structuralSharing:!0}}});Mg.prefetchQuery({queryKey:["sessions"],queryFn:()=>mA.getSessions()});Mg.prefetchQuery({queryKey:["config"],queryFn:()=>mA.getConfig()});function tN(){return o.jsx(qE,{client:Mg,children:o.jsx(YE,{router:eN})})}const SE=document.getElementById("root");if(!SE)throw new Error("Root element not found");HE.createRoot(SE).render(o.jsx(x.StrictMode,{children:o.jsx(tN,{})}));
|