blink 1.1.40 → 1.1.41

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.
@@ -1,4 +1,4 @@
1
- import{__commonJSMin,__esmMin,__export as __export$5,__require as __require$1,__toCommonJS as __toCommonJS$4,__toDynamicImportESM,__toESM}from"./chunk-D9KrCrVq.js";import{import_websocket}from"./wrapper-DRdRnzOz.js";import{findNearestEntry,migrateDataToBlink,require_main,resolveConfig}from"./util-Gf_yR-5b.js";import{Client as Client$2,deleteAuthToken,getAuthToken,getHost as getHost$1,openUrl,open_default,setAuthToken,source_default}from"./auth-DcHT4wFv.js";import{require_ignore}from"./ignore-ltyKbzfl.js";import{createDevhookID,createGithubApp,createGithubAppSchema,createServerAdapter,createSlackApp,createSlackAppSchema,getDevhookID,hasDevhook}from"./create-github-app-BeSDE8GT.js";import{_usingCtx}from"./usingCtx-CCxav2be.js";import"./utils-BWKsfIcI.js";import{DiagConsoleLogger,DiagLogLevel,SpanStatusCode,ValueType,context,diag,esm_exports as esm_exports$11,init_esm as init_esm$10,metrics,propagation,trace as trace$11}from"./esm-C6nUlmX4.js";import{require_token_error}from"./token-error-CGIVaIg6.js";import{require_undici as require_undici$1}from"./undici-BiTrd9-R.js";import{APICallError,APIServerURLEnvironmentVariable,ChatManager,Client as Client$3,CustomChatResponseError,EmptyResponseBodyError,EventSourceParserStream,InvalidArgumentError,JSONParseError,RWLock,TypeValidationError,checkOptionalParameter,convertMessage,createAnthropic,createDiskStore,createOpenAI,createParser,decodeURIComponent_,getLockInfo,getPath as getPath$1,getPathNoStrict,getPattern,getQueryParam,getQueryParams,hc,isLogMessage,isStoredMessageMetadata,isToolApprovalOutput,lastUIOptions,lock,mergePath,parse as parse$17,splitPath,splitRoutingPath,tools as tools$1,tryDecode}from"./chat-manager-CIKM5Z0y.js";import{templates}from"./init-templates-Br3bKUNT.js";import{errorMonitor}from"events";import*as https$5 from"https";import*as http$7 from"http";import{createServer}from"http";import crypto$1 from"crypto";import{Readable}from"stream";import*as zlib$2 from"zlib";import EventEmitter,{EventEmitter as EventEmitter$1,addAbortListener,on,once,setMaxListeners}from"node:events";import{ChildProcess,exec,execFile,execSync,spawn,spawnSync}from"node:child_process";import*as path$2 from"node:path";import path,{basename,dirname,join,posix,win32}from"node:path";import*as fs$4 from"node:fs";import fs,{appendFileSync,createReadStream,createWriteStream,promises,readFileSync,statSync,writeFileSync}from"node:fs";import*as process$1 from"node:process";import y,{cwd,env,execArgv,execPath,hrtime,platform}from"node:process";import path$1,{basename as basename$1,dirname as dirname$1,join as join$1,normalize,relative as relative$1,resolve as resolve$1,sep}from"path";import*as nativeFs from"fs";import fs$1,{createWriteStream as createWriteStream$1,existsSync as existsSync$1,lstatSync,mkdirSync as mkdirSync$1,readFileSync as readFileSync$1,readdir,readdirSync,readlinkSync,realpathSync,watch,writeFile,writeFileSync as writeFileSync$1}from"fs";import{createRequire}from"module";import*as fs$37 from"fs/promises";import{readFile,writeFile as writeFile$1}from"fs/promises";import{z}from"zod";import*as z4 from"zod/v4";import{z as z$2}from"zod/v4";import{ZodFirstPartyTypeKind}from"zod/v3";import*as fs$3 from"node:fs/promises";import fs$2,{lstat,readdir as readdir$2,readlink,realpath}from"node:fs/promises";import util,{TextDecoder as TextDecoder$1,aborted,callbackify,debuglog,inspect,promisify,stripVTControlCharacters}from"node:util";import*as readline from"node:readline";import O from"node:readline";import Stream,{Duplex,PassThrough,Readable as Readable$1,Stream as Stream$1,Transform,Writable,getDefaultHighWaterMark}from"node:stream";import*as os$2 from"node:os";import os,{EOL,constants as constants$1,platform as platform$1}from"node:os";import tty from"node:tty";import os$1 from"os";import{Buffer as Buffer$1}from"node:buffer";import url,{URL as URL$1,fileURLToPath,pathToFileURL}from"node:url";import*as crypto$3 from"node:crypto";import crypto$2,{createHash,randomUUID as randomUUID$1}from"node:crypto";import{checkServerIdentity}from"node:tls";import*as http$5 from"node:http";import http$1,{ServerResponse}from"node:http";import{finished,pipeline}from"node:stream/promises";import https from"node:https";import{spawn as spawn$1}from"child_process";import{inspect as inspect$1,types}from"util";import*as net$2 from"node:net";import net from"node:net";import{AsyncLocalStorage}from"node:async_hooks";import{ADDRCONFIG,ALL,V4MAPPED,lookup,promises as promises$1}from"node:dns";import{convertToModelMessages,getToolOrDynamicToolName,isToolOrDynamicToolUIPart,readUIMessageStream,streamText,tool}from"ai";import React,{PureComponent,createContext,forwardRef,memo,useCallback,useContext,useEffect,useLayoutEffect,useMemo,useReducer,useRef,useState}from"react";import"@blink-sdk/compute-protocol/client";import{createInMemoryClientServer}from"@blink-sdk/compute-protocol/transport";import{Fragment,jsx,jsxs}from"react/jsx-runtime";import{StringDecoder}from"node:string_decoder";import{scheduler,setImmediate as setImmediate$1,setTimeout as setTimeout$1}from"node:timers/promises";import{serialize}from"node:v8";function debounce$1(func,debounceMs,{signal,edges}={}){let pendingThis,pendingArgs=null,leading=edges!=null&&edges.includes(`leading`),trailing=edges==null||edges.includes(`trailing`),invoke=()=>{pendingArgs!==null&&(func.apply(pendingThis,pendingArgs),pendingThis=void 0,pendingArgs=null)},onTimerEnd=()=>{trailing&&invoke(),cancel()},timeoutId=null,schedule=()=>{timeoutId!=null&&clearTimeout(timeoutId),timeoutId=setTimeout(()=>{timeoutId=null,onTimerEnd()},debounceMs)},cancelTimer=()=>{timeoutId!==null&&(clearTimeout(timeoutId),timeoutId=null)},cancel=()=>{cancelTimer(),pendingThis=void 0,pendingArgs=null},flush=()=>{invoke()},debounced=function(...args){if(signal?.aborted)return;pendingThis=this,pendingArgs=args;let isFirstCall=timeoutId==null;schedule(),leading&&isFirstCall&&invoke()};return debounced.schedule=schedule,debounced.cancel=cancel,debounced.flush=flush,signal?.addEventListener(`abort`,cancel,{once:!0}),debounced}function debounce(func,debounceMs=0,options$1={}){typeof options$1!=`object`&&(options$1={});let{leading=!1,trailing=!0,maxWait}=options$1,edges=[,,];leading&&(edges[0]=`leading`),trailing&&(edges[1]=`trailing`);let result,pendingAt=null,_debounced=debounce$1(function(...args){result=func.apply(this,args),pendingAt=null},debounceMs,{edges}),debounced=function(...args){return maxWait!=null&&(pendingAt===null&&(pendingAt=Date.now()),Date.now()-pendingAt>=maxWait)?(result=func.apply(this,args),pendingAt=Date.now(),_debounced.cancel(),_debounced.schedule(),result):(_debounced.apply(this,args),result)};return debounced.cancel=_debounced.cancel,debounced.flush=()=>(_debounced.flush(),result),debounced}function throttle(func,throttleMs=0,options$1={}){let{leading=!0,trailing=!0}=options$1;return debounce(func,throttleMs,{leading,maxWait:throttleMs,trailing})}const isBrowser=globalThis.window?.document!==void 0,isNode$1=globalThis.process?.versions?.node!==void 0,isBun=globalThis.process?.versions?.bun!==void 0,isDeno=globalThis.Deno?.version?.deno!==void 0,isElectron$1=globalThis.process?.versions?.electron!==void 0,isJsDom=globalThis.navigator?.userAgent?.includes(`jsdom`)===!0,isWebWorker=typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope,isDedicatedWorker=typeof DedicatedWorkerGlobalScope<`u`&&globalThis instanceof DedicatedWorkerGlobalScope,isSharedWorker=typeof SharedWorkerGlobalScope<`u`&&globalThis instanceof SharedWorkerGlobalScope,isServiceWorker=typeof ServiceWorkerGlobalScope<`u`&&globalThis instanceof ServiceWorkerGlobalScope,platform$3=globalThis.navigator?.userAgentData?.platform,isMacOs=platform$3===`macOS`||globalThis.navigator?.platform===`MacIntel`||globalThis.navigator?.userAgent?.includes(` Mac `)===!0||globalThis.process?.platform===`darwin`,isWindows$3=platform$3===`Windows`||globalThis.navigator?.platform===`Win32`||globalThis.process?.platform===`win32`,isLinux=platform$3===`Linux`||globalThis.navigator?.platform?.startsWith(`Linux`)===!0||globalThis.navigator?.userAgent?.includes(` Linux `)===!0||globalThis.process?.platform===`linux`,isIos=platform$3===`iOS`||globalThis.navigator?.platform===`MacIntel`&&globalThis.navigator?.maxTouchPoints>1||/iPad|iPhone|iPod/.test(globalThis.navigator?.platform),isAndroid=platform$3===`Android`||globalThis.navigator?.platform===`Android`||globalThis.navigator?.userAgent?.includes(` Android `)===!0||globalThis.process?.platform===`android`,ESC$1=`\x1B[`,OSC=`\x1B]`,BEL=`\x07`,SEP=`;`,isTerminalApp=!isBrowser&&y.env.TERM_PROGRAM===`Apple_Terminal`,isWindows$2=!isBrowser&&y.platform===`win32`,cwdFunction=isBrowser?()=>{throw Error("`process.cwd()` only works in Node.js, not the browser.")}:y.cwd,cursorUp=(count$1=1)=>`\x1B[`+count$1+`A`,cursorLeft=`\x1B[G`,cursorSavePosition=isTerminalApp?`\x1B7`:`\x1B[s`,cursorRestorePosition=isTerminalApp?`\x1B8`:`\x1B[u`,cursorGetPosition=`\x1B[6n`,cursorNextLine=`\x1B[E`,cursorPrevLine=`\x1B[F`,cursorHide=`\x1B[?25l`,cursorShow=`\x1B[?25h`,eraseLines=count$1=>{let clear$1=``;for(let i$7=0;i$7<count$1;i$7++)clear$1+=eraseLine+(i$7<count$1-1?cursorUp():``);return count$1&&(clear$1+=`\x1B[G`),clear$1},eraseEndLine=`\x1B[K`,eraseStartLine=`\x1B[1K`,eraseLine=`\x1B[2K`,eraseDown=`\x1B[J`,eraseUp=`\x1B[1J`,eraseScreen=`\x1B[2J`,scrollUp=`\x1B[S`,scrollDown=`\x1B[T`,clearViewport=`${eraseScreen}`,clearTerminal=isWindows$2?`${eraseScreen}`:`${eraseScreen}`,enterAlternativeScreen=`\x1B[?1049h`,exitAlternativeScreen=`\x1B[?1049l`,link$3=(text,url$3)=>[`\x1B]`,`8`,`;`,`;`,url$3,`\x07`,text,`\x1B]`,`8`,`;`,`;`,`\x07`].join(``),check$1=key$1=>key$1 in env&&env[key$1]!==`0`&&env[key$1]!==`false`;var is_in_ci_default=check$1(`CI`)||check$1(`CONTINUOUS_INTEGRATION`);const getAllProperties=object=>{let properties$1=new Set;do for(let key$1 of Reflect.ownKeys(object))properties$1.add([object,key$1]);while((object=Reflect.getPrototypeOf(object))&&object!==Object.prototype);return properties$1};function autoBind(self$1,{include,exclude}={}){let filter$3=key$1=>{let match$1=pattern=>typeof pattern==`string`?key$1===pattern:pattern.test(key$1);return include?include.some(match$1):exclude?!exclude.some(match$1):!0};for(let[object,key$1]of getAllProperties(self$1.constructor.prototype)){if(key$1===`constructor`||!filter$3(key$1))continue;let descriptor$1=Reflect.getOwnPropertyDescriptor(object,key$1);descriptor$1&&typeof descriptor$1.value==`function`&&(self$1[key$1]=self$1[key$1].bind(self$1))}return self$1}var require_signals=__commonJSMin(((exports,module)=>{module.exports=[`SIGABRT`,`SIGALRM`,`SIGHUP`,`SIGINT`,`SIGTERM`],process.platform!==`win32`&&module.exports.push(`SIGVTALRM`,`SIGXCPU`,`SIGXFSZ`,`SIGUSR2`,`SIGTRAP`,`SIGSYS`,`SIGQUIT`,`SIGIOT`),process.platform===`linux`&&module.exports.push(`SIGIO`,`SIGPOLL`,`SIGPWR`,`SIGSTKFLT`,`SIGUNUSED`)})),require_signal_exit=__commonJSMin(((exports,module)=>{var process$17=global.process;let processOk$1=function(process$18){return process$18&&typeof process$18==`object`&&typeof process$18.removeListener==`function`&&typeof process$18.emit==`function`&&typeof process$18.reallyExit==`function`&&typeof process$18.listeners==`function`&&typeof process$18.kill==`function`&&typeof process$18.pid==`number`&&typeof process$18.on==`function`};if(!processOk$1(process$17))module.exports=function(){return function(){}};else{var assert$2=__require$1(`assert`),signals$1=require_signals(),isWin$2=/^win/i.test(process$17.platform),EE=__require$1(`events`);typeof EE!=`function`&&(EE=EE.EventEmitter);var emitter;process$17.__signal_exit_emitter__?emitter=process$17.__signal_exit_emitter__:(emitter=process$17.__signal_exit_emitter__=new EE,emitter.count=0,emitter.emitted={}),emitter.infinite||=(emitter.setMaxListeners(1/0),!0),module.exports=function(cb,opts){if(!processOk$1(global.process))return function(){};assert$2.equal(typeof cb,`function`,`a callback must be provided for exit handler`),loaded===!1&&load$6();var ev=`exit`;return opts&&opts.alwaysLast&&(ev=`afterexit`),emitter.on(ev,cb),function(){emitter.removeListener(ev,cb),emitter.listeners(`exit`).length===0&&emitter.listeners(`afterexit`).length===0&&unload$1()}};var unload$1=function(){!loaded||!processOk$1(global.process)||(loaded=!1,signals$1.forEach(function(sig){try{process$17.removeListener(sig,sigListeners[sig])}catch{}}),process$17.emit=originalProcessEmit,process$17.reallyExit=originalProcessReallyExit,--emitter.count)};module.exports.unload=unload$1;var emit=function(event,code$1,signal){emitter.emitted[event]||(emitter.emitted[event]=!0,emitter.emit(event,code$1,signal))},sigListeners={};signals$1.forEach(function(sig){sigListeners[sig]=function(){processOk$1(global.process)&&process$17.listeners(sig).length===emitter.count&&(unload$1(),emit(`exit`,null,sig),emit(`afterexit`,null,sig),isWin$2&&sig===`SIGHUP`&&(sig=`SIGINT`),process$17.kill(process$17.pid,sig))}}),module.exports.signals=function(){return signals$1};var loaded=!1,load$6=function(){loaded||!processOk$1(global.process)||(loaded=!0,emitter.count+=1,signals$1=signals$1.filter(function(sig){try{return process$17.on(sig,sigListeners[sig]),!0}catch{return!1}}),process$17.emit=processEmit,process$17.reallyExit=processReallyExit)};module.exports.load=load$6;var originalProcessReallyExit=process$17.reallyExit,processReallyExit=function(code$1){processOk$1(global.process)&&(process$17.exitCode=code$1||0,emit(`exit`,process$17.exitCode,null),emit(`afterexit`,process$17.exitCode,null),originalProcessReallyExit.call(process$17,process$17.exitCode))},originalProcessEmit=process$17.emit,processEmit=function(ev,arg){if(ev===`exit`&&processOk$1(global.process)){arg!==void 0&&(process$17.exitCode=arg);var ret=originalProcessEmit.apply(this,arguments);return emit(`exit`,process$17.exitCode,null),emit(`afterexit`,process$17.exitCode,null),ret}else return originalProcessEmit.apply(this,arguments)}}})),import_signal_exit$1=__toESM(require_signal_exit(),1);const consoleMethods=[`assert`,`count`,`countReset`,`debug`,`dir`,`dirxml`,`error`,`group`,`groupCollapsed`,`groupEnd`,`info`,`log`,`table`,`time`,`timeEnd`,`timeLog`,`trace`,`warn`];let originalMethods={};var dist_default$1=callback$1=>{let stdout$1=new PassThrough,stderr=new PassThrough;stdout$1.write=data$2=>{callback$1(`stdout`,data$2)},stderr.write=data$2=>{callback$1(`stderr`,data$2)};let internalConsole=new console.Console(stdout$1,stderr);for(let method of consoleMethods)originalMethods[method]=console[method],console[method]=internalConsole[method];return()=>{for(let method of consoleMethods)console[method]=originalMethods[method];originalMethods={}}},require_react_reconciler_constants_production=__commonJSMin((exports=>{exports.DefaultEventPriority=32,exports.LegacyRoot=0,exports.NoEventPriority=0})),require_react_reconciler_constants_development=__commonJSMin((exports=>{process.env.NODE_ENV!==`production`&&(exports.ConcurrentRoot=1,exports.ContinuousEventPriority=8,exports.DefaultEventPriority=32,exports.DiscreteEventPriority=2,exports.IdleEventPriority=268435456,exports.LegacyRoot=0,exports.NoEventPriority=0)})),require_constants$15=__commonJSMin(((exports,module)=>{process.env.NODE_ENV===`production`?module.exports=require_react_reconciler_constants_production():module.exports=require_react_reconciler_constants_development()})),import_constants$1=__toESM(require_constants$15(),1),yoga_wasm_base64_esm_default=(()=>{var _scriptDir=import.meta.url;return(function(loadYoga$1){loadYoga$1||={};var h$3;h$3||=loadYoga$1===void 0?{}:loadYoga$1;var aa,ca;h$3.ready=new Promise(function(a$1,b$1){aa=a$1,ca=b$1});var da=Object.assign({},h$3),q$2=``;typeof document<`u`&&document.currentScript&&(q$2=document.currentScript.src),_scriptDir&&(q$2=_scriptDir),q$2=q$2.indexOf(`blob:`)===0?``:q$2.substr(0,q$2.replace(/[?#].*/,``).lastIndexOf(`/`)+1);var ea=h$3.print||console.log.bind(console),v$1=h$3.printErr||console.warn.bind(console);Object.assign(h$3,da),da=null;var w$2;h$3.wasmBinary&&(w$2=h$3.wasmBinary),h$3.noExitRuntime,typeof WebAssembly!=`object`&&x(`no native wasm support detected`);var fa,ha=!1;function z$4(a$1,b$1,c$3){c$3=b$1+c$3;for(var d$3=``;!(b$1>=c$3);){var e$1=a$1[b$1++];if(!e$1)break;if(e$1&128){var f=a$1[b$1++]&63;if((e$1&224)==192)d$3+=String.fromCharCode((e$1&31)<<6|f);else{var g=a$1[b$1++]&63;e$1=(e$1&240)==224?(e$1&15)<<12|f<<6|g:(e$1&7)<<18|f<<12|g<<6|a$1[b$1++]&63,65536>e$1?d$3+=String.fromCharCode(e$1):(e$1-=65536,d$3+=String.fromCharCode(55296|e$1>>10,56320|e$1&1023))}}else d$3+=String.fromCharCode(e$1)}return d$3}var ia,ja,A,C$1,ka,D$1,E$2,la,ma;function na(){var a$1=fa.buffer;ia=a$1,h$3.HEAP8=ja=new Int8Array(a$1),h$3.HEAP16=C$1=new Int16Array(a$1),h$3.HEAP32=D$1=new Int32Array(a$1),h$3.HEAPU8=A=new Uint8Array(a$1),h$3.HEAPU16=ka=new Uint16Array(a$1),h$3.HEAPU32=E$2=new Uint32Array(a$1),h$3.HEAPF32=la=new Float32Array(a$1),h$3.HEAPF64=ma=new Float64Array(a$1)}var oa,pa=[],qa=[],ra=[];function sa(){var a$1=h$3.preRun.shift();pa.unshift(a$1)}var F$1=0,ta=null,G$1=null;function x(a$1){throw h$3.onAbort&&h$3.onAbort(a$1),a$1=`Aborted(`+a$1+`)`,v$1(a$1),ha=!0,a$1=new WebAssembly.RuntimeError(a$1+`. Build with -sASSERTIONS for more info.`),ca(a$1),a$1}function ua(a$1){return a$1.startsWith(`data:application/octet-stream;base64,`)}var H=`data:application/octet-stream;base64,AGFzbQEAAAABugM3YAF/AGACf38AYAF/AX9gA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWADf398AGAAAGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAV/f39/fwBgAn9/AX1gBX9/f319AX1gAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBn9/f319fQF9YAR/f31/AGADf399AX1gBn98f39/fwF/YAR/fHx/AGACf30AYAh/f39/f39/fwBgDX9/f39/f39/f39/f38AYAp/f39/f39/f39/AGAFf39/f38BfGAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gB39/f319f38AYAJ+fwF/YAN/fX0BfWABfAF8YAN/fHwAYAR/f319AGAHf39/fX19fQF9YA1/fX99f31/fX19fX1/AX9gC39/f39/f399fX19AX9gCH9/f39/f319AGAEf39+fgBgB39/f39/f38Bf2ACfH8BfGAFf398fH8AYAN/f38BfGAEf39/fABgA39/fQBgBn9/fX99fwF/ArUBHgFhAWEAHwFhAWIAAwFhAWMACQFhAWQAFgFhAWUAEQFhAWYAIAFhAWcAAAFhAWgAIQFhAWkAAwFhAWoAAAFhAWsAFwFhAWwACgFhAW0ABQFhAW4AAwFhAW8AAQFhAXAAFwFhAXEABgFhAXIAAAFhAXMAIgFhAXQACgFhAXUADQFhAXYAFgFhAXcAAgFhAXgAAwFhAXkAGAFhAXoAAgFhAUEAAQFhAUIAEQFhAUMAAQFhAUQAAAOiAqACAgMSBwcACRkDAAoRBgYKEwAPDxMBBiMTCgcHGgMUASQFJRQHAwMKCgMmAQYYDxobFAAKBw8KBwMDAgkCAAAFGwACBwIHBgIDAQMIDAABKAkHBQURACkZASoAAAIrLAIALQcHBy4HLwkFCgMCMA0xAgMJAgACAQYKAQIBBQEACQIFAQEABQAODQ0GFQIBHBUGAgkCEAAAAAUyDzMMBQYINAUCAwUODg41AgMCAgIDBgICNgIBDAwMAQsLCwsLCx0CAAIAAAABABABBQICAQMCEgMMCwEBAQEBAQsLAQICAwICAgICAgIDAgIICAEICAgEBAQEBAQEBAQABAQABAQEBAAEBAQBAQEICAEBAQEBAQEBCAgBAQEAAg4CAgUBAR4DBAcBcAHUAdQBBQcBAYACgIACBg0CfwFBkMQEC38BQQALByQIAUUCAAFGAG0BRwCwAQFIAK8BAUkAYQFKAQABSwAjAUwApgEJjQMBAEEBC9MBqwGqAaUB5QHiAZwB0AFazwHOAVlZWpsBmgGZAc0BzAHLAcoBWpgByQFZWVqbAZoBmQHIAccBxgGjAZcBpAGWAaMBvQKVAbwCxQG7Ajq6Ajq5ApQBuAI+twI+xAFqwwFqwgFqaWjBAcABvwGhAZcBtgK+AbUClgGhAbQCmAGzAjqxAjqwAr0BrwKuAq0CrAKrAqoCqAKnAqYCpQKkAqMCogKhArwBoAKfAp4CnQKcApsCmgKZApgClwKWApUClAKTApICkQKQAo8CjgKyAo0CjAKLAooCiAKHAqkChQI+hAK7AYMCggKBAoAC/gH9AfwB+QG6AfgBuQH3AfYB9QH0AfMB8gHxAYYC8AHvAbgB+wH6Ae4B7QG3AesBlQHqATrpAT7oAT7nAZQB0QE67AE+iQLmATrkAeMBOuEB4AHfAT7eAd0B3AG2AdsB2gHZAdgB1wHWAdUBtQHUAdMB0gH/AWloaWiPAZABsgGxAZEBhQGSAbQBswGRAa4BrQGsAakBqAGnAYUBCtj+A6ACMwEBfyAAQQEgABshAAJAA0AgABBhIgENAUGIxAAoAgAiAQRAIAERCQAMAQsLEAIACyABC+0BAgJ9A39DAADAfyEEAkACQAJAAkAgAkEHcSIGDgUCAQEBAAELQQMhBQwBCyAGQQFrQQJPDQEgAkHw/wNxQQR2IQcCfSACQQhxBEAgASAHEJ4BvgwBC0EAIAdB/w9xIgFrIAEgAsFBAEgbsgshAyAGQQFGBEAgAyADXA0BQwAAwH8gAyADQwAAgH9bIANDAACA/1tyIgEbIQQgAUUhBQwBCyADIANcDQBBAEECIANDAACAf1sgA0MAAID/W3IiARshBUMAAMB/IAMgARshBAsgACAFOgAEIAAgBDgCAA8LQfQNQakYQTpB+RYQCwALZwIBfQF/QwAAwH8hAgJAAkACQCABQQdxDgQCAAABAAtBxBJBqRhByQBBuhIQCwALIAFB8P8DcUEEdiEDIAFBCHEEQCAAIAMQngG+DwtBACADQf8PcSIAayAAIAHBQQBIG7IhAgsgAgt4AgF/AX0jAEEQayIEJAAgBEEIaiAAQQMgAkECR0EBdCABQf4BcUECRxsgAhAoQwAAwH8hBQJAAkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAAAgBSAFWxsLeAIBfwF9IwBBEGsiBCQAIARBCGogAEEBIAJBAkZBAXQgAUH+AXFBAkcbIAIQKEMAAMB/IQUCQAJAAkAgBC0ADEEBaw4CAAECCyAEKgIIIQUMAQsgBCoCCCADlEMK1yM8lCEFCyAEQRBqJAAgBUMAAAAAIAUgBVsbC8wCAQV/IAAEQCAAQQRrIgEoAgAiBSEDIAEhAiAAQQhrKAIAIgAgAEF+cSIERwRAIAEgBGsiAigCBCIAIAIoAgg2AgggAigCCCAANgIEIAQgBWohAwsgASAFaiIEKAIAIgEgASAEakEEaygCAEcEQCAEKAIEIgAgBCgCCDYCCCAEKAIIIAA2AgQgASADaiEDCyACIAM2AgAgA0F8cSACakEEayADQQFyNgIAIAICfyACKAIAQQhrIgFB/wBNBEAgAUEDdkEBawwBCyABQR0gAWciAGt2QQRzIABBAnRrQe4AaiABQf8fTQ0AGkE/IAFBHiAAa3ZBAnMgAEEBdGtBxwBqIgAgAEE/TxsLIgFBBHQiAEHgMmo2AgQgAiAAQegyaiIAKAIANgIIIAAgAjYCACACKAIIIAI2AgRB6DpB6DopAwBCASABrYaENwMACwsOAEHYMigCABEJABBYAAunAQIBfQJ/IABBFGoiByACIAFBAkkiCCAEIAUQNSEGAkAgByACIAggBCAFEC0iBEMAAAAAYCADIARecQ0AIAZDAAAAAGBFBEAgAyEEDAELIAYgAyADIAZdGyEECyAAQRRqIgAgASACIAUQOCAAIAEgAhAwkiAAIAEgAiAFEDcgACABIAIQL5KSIgMgBCADIAReGyADIAQgBCAEXBsgBCAEWyADIANbcRsLvwEBA38gAC0AAEEgcUUEQAJAIAEhAwJAIAIgACIBKAIQIgAEfyAABSABEJ0BDQEgASgCEAsgASgCFCIFa0sEQCABIAMgAiABKAIkEQYAGgwCCwJAIAEoAlBBAEgNACACIQADQCAAIgRFDQEgAyAEQQFrIgBqLQAAQQpHDQALIAEgAyAEIAEoAiQRBgAgBEkNASADIARqIQMgAiAEayECIAEoAhQhBQsgBSADIAIQKxogASABKAIUIAJqNgIUCwsLCwYAIAAQIwtQAAJAAkACQAJAAkAgAg4EBAABAgMLIAAgASABQQxqEEMPCyAAIAEgAUEMaiADEEQPCyAAIAEgAUEMahBCDwsQJAALIAAgASABQQxqIAMQRQttAQF/IwBBgAJrIgUkACAEQYDABHEgAiADTHJFBEAgBSABQf8BcSACIANrIgNBgAIgA0GAAkkiARsQKhogAUUEQANAIAAgBUGAAhAmIANBgAJrIgNB/wFLDQALCyAAIAUgAxAmCyAFQYACaiQAC/ICAgJ/AX4CQCACRQ0AIAAgAToAACAAIAJqIgNBAWsgAToAACACQQNJDQAgACABOgACIAAgAToAASADQQNrIAE6AAAgA0ECayABOgAAIAJBB0kNACAAIAE6AAMgA0EEayABOgAAIAJBCUkNACAAQQAgAGtBA3EiBGoiAyABQf8BcUGBgoQIbCIBNgIAIAMgAiAEa0F8cSIEaiICQQRrIAE2AgAgBEEJSQ0AIAMgATYCCCADIAE2AgQgAkEIayABNgIAIAJBDGsgATYCACAEQRlJDQAgAyABNgIYIAMgATYCFCADIAE2AhAgAyABNgIMIAJBEGsgATYCACACQRRrIAE2AgAgAkEYayABNgIAIAJBHGsgATYCACAEIANBBHFBGHIiBGsiAkEgSQ0AIAGtQoGAgIAQfiEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkEgayICQR9LDQALCyAAC4AEAQN/IAJBgARPBEAgACABIAIQFyAADwsgACACaiEDAkAgACABc0EDcUUEQAJAIABBA3FFBEAgACECDAELIAJFBEAgACECDAELIAAhAgNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICQQNxRQ0BIAIgA0kNAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgACADQQRrIgRLBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAtIAQF/IwBBEGsiBCQAIAQgAzYCDAJAIABFBEBBAEEAIAEgAiAEKAIMEHEMAQsgACgC9AMgACABIAIgBCgCDBBxCyAEQRBqJAALkwECAX0BfyMAQRBrIgYkACAGQQhqIABB6ABqIAAgAkEBdGovAWIQH0MAAMB/IQUCQAJAAkAgBi0ADEEBaw4CAAECCyAGKgIIIQUMAQsgBioCCCADlEMK1yM8lCEFCyAALQADQRB0QYCAwABxBEAgBSAAIAEgAiAEEFQiA0MAAAAAIAMgA1sbkiEFCyAGQRBqJAAgBQu1AQECfyAAKAIEQQFqIgEgACgCACICKALsAyACKALoAyICa0ECdU8EQANAIAAoAggiAUUEQCAAQQA2AgggAEIANwIADwsgACABKAIENgIAIAAgASgCCDYCBCAAIAEoAgA2AgggARAjIAAoAgRBAWoiASAAKAIAIgIoAuwDIAIoAugDIgJrQQJ1Tw0ACwsgACABNgIEIAIgAUECdGooAgAtABdBEHRBgIAwcUGAgCBGBEAgABB9CwuBAQIBfwF9IwBBEGsiAyQAIANBCGogAEEDIAJBAkdBAXQgAUH+AXFBAkcbIAIQU0MAAMB/IQQCQAJAAkAgAy0ADEEBaw4CAAECCyADKgIIIQQMAQsgAyoCCEMAAAAAlEMK1yM8lCEECyADQRBqJAAgBEMAAAAAl0MAAAAAIAQgBFsbC4EBAgF/AX0jAEEQayIDJAAgA0EIaiAAQQEgAkECRkEBdCABQf4BcUECRxsgAhBTQwAAwH8hBAJAAkACQCADLQAMQQFrDgIAAQILIAMqAgghBAwBCyADKgIIQwAAAACUQwrXIzyUIQQLIANBEGokACAEQwAAAACXQwAAAAAgBCAEWxsLeAICfQF/IAAgAkEDdGoiByoC+AMhBkMAAMB/IQUCQAJAAkAgBy0A/ANBAWsOAgABAgsgBiEFDAELIAYgA5RDCtcjPJQhBQsgAC0AF0EQdEGAgMAAcQR9IAUgAEEUaiABIAIgBBBUIgNDAAAAACADIANbG5IFIAULC1EBAX8CQCABKALoAyICIAEoAuwDRwRAIABCADcCBCAAIAE2AgAgAigCAC0AF0EQdEGAgDBxQYCAIEcNASAAEH0PCyAAQgA3AgAgAEEANgIICwvoAgECfwJAIAAgAUYNACABIAAgAmoiBGtBACACQQF0a00EQCAAIAEgAhArDwsgACABc0EDcSEDAkACQCAAIAFJBEAgAwRAIAAhAwwDCyAAQQNxRQRAIAAhAwwCCyAAIQMDQCACRQ0EIAMgAS0AADoAACABQQFqIQEgAkEBayECIANBAWoiA0EDcQ0ACwwBCwJAIAMNACAEQQNxBEADQCACRQ0FIAAgAkEBayICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQQRrIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkEBayICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AA0AgAyABKAIANgIAIAFBBGohASADQQRqIQMgAkEEayICQQNLDQALCyACRQ0AA0AgAyABLQAAOgAAIANBAWohAyABQQFqIQEgAkEBayICDQALCyAAC5QCAgF8AX8CQCAAIAGiIgAQbCIERAAAAAAAAPA/oCAEIAREAAAAAAAAAABjGyIEIARiIgUgBJlELUMc6+I2Gj9jRXJFBEAgACAEoSEADAELIAUgBEQAAAAAAADwv6CZRC1DHOviNho/Y0VyRQRAIAAgBKFEAAAAAAAA8D+gIQAMAQsgACAEoSEAIAIEQCAARAAAAAAAAPA/oCEADAELIAMNACAAAnxEAAAAAAAAAAAgBQ0AGkQAAAAAAADwPyAERAAAAAAAAOA/ZA0AGkQAAAAAAADwP0QAAAAAAAAAACAERAAAAAAAAOC/oJlELUMc6+I2Gj9jGwugIQALIAAgAGIgASABYnIEQEMAAMB/DwsgACABo7YLkwECAX0BfyMAQRBrIgYkACAGQQhqIABB6ABqIAAgAkEBdGovAV4QH0MAAMB/IQUCQAJAAkAgBi0ADEEBaw4CAAECCyAGKgIIIQUMAQsgBioCCCADlEMK1yM8lCEFCyAALQADQRB0QYCAwABxBEAgBSAAIAEgAiAEEFQiA0MAAAAAIAMgA1sbkiEFCyAGQRBqJAAgBQtQAAJAAkACQAJAAkAgAg4EBAABAgMLIAAgASABQR5qEEMPCyAAIAEgAUEeaiADEEQPCyAAIAEgAUEeahBCDwsQJAALIAAgASABQR5qIAMQRQt+AgF/AX0jAEEQayIEJAAgBEEIaiAAQQMgAkECR0EBdCABQf4BcUECRxsgAhBQQwAAwH8hBQJAAkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAACXQwAAAAAgBSAFWxsLfgIBfwF9IwBBEGsiBCQAIARBCGogAEEBIAJBAkZBAXQgAUH+AXFBAkcbIAIQUEMAAMB/IQUCQAJAAkAgBC0ADEEBaw4CAAECCyAEKgIIIQUMAQsgBCoCCCADlEMK1yM8lCEFCyAEQRBqJAAgBUMAAAAAl0MAAAAAIAUgBVsbC08AAkACQAJAIANB/wFxIgMOBAACAgECCyABIAEvAABB+P8DcTsAAA8LIAEgAS8AAEH4/wNxQQRyOwAADwsgACABIAJBAUECIANBAUYbEEwLNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEBAAtiAgJ9An8CQCAAKALkA0UNACAAQfwAaiIDIABBGmoiBC8BABAgIgIgAlwEQCADIABBGGoiBC8BABAgIgIgAlwNASADIAAvARgQIEMAAAAAXkUNAQsgAyAELwEAECAhAQsgAQtfAQN/IAEEQEEMEB4iAyABKQIENwIEIAMhAiABKAIAIgEEQCADIQQDQEEMEB4iAiABKQIENwIEIAQgAjYCACACIQQgASgCACIBDQALCyACIAAoAgA2AgAgACADNgIACwvXawMtfxx9AX4CfwJAIAAtAABBBHEEQCAAKAKgASAMRw0BCyAAKAKkASAAKAL0AygCDEcNAEEAIAAtAKgBIANGDQEaCyAAQoCAgPyLgIDAv383AoADIABCgYCAgBA3AvgCIABCgICA/IuAgMC/fzcC8AIgAEEANgKsAUEBCyErAkACQAJAAkAgACgCCARAIABBFGoiDkECQQEgBhAiIT4gDkECQQEgBhAhITwgDkEAQQEgBhAiITsgDkEAQQEgBhAhIUAgBCABIAUgAiAAKAL4AiAAQfACaiIOKgIAIAAoAvwCIAAqAvQCIAAqAoADIAAqAoQDID4gPJIiPiA7IECSIjwgACgC9AMiEBB7DQEgACgCrAEiEUUNAyAAQbABaiETA0AgBCABIAUgAiATIB1BGGxqIg4oAgggDioCACAOKAIMIA4qAgQgDioCECAOKgIUID4gPCAQEHsNAiAdQQFqIh0gEUcNAAsMAgsgCEUEQCAAKAKsASITRQ0CIABBsAFqIRADQAJAAkAgECAdQRhsIhFqIg4qAgAiPiA+XCABIAFcckUEQCA+IAGTi0MXt9E4XQ0BDAILIAEgAVsgPiA+W3INAQsCQCAQIBFqIhEqAgQiPiA+XCACIAJcckUEQCA+IAKTi0MXt9E4XQ0BDAILIAIgAlsgPiA+W3INAQsgESgCCCAERw0AIBEoAgwgBUYNAwsgEyAdQQFqIh1HDQALDAILAkAgAEHwAmoiDioCACI+ID5cIAEgAVxyRQRAID4gAZOLQxe30ThdDQEMBAsgASABWyA+ID5bcg0DCyAOQQAgACgC/AIgBUYbQQAgACgC+AIgBEYbQQACfyACIAJcIg4gACoC9AIiPiA+XHJFBEAgPiACk4tDF7fROF0MAQtBACA+ID5bDQAaIA4LGyEOCyAORSArcgRAIA4hHQwCCyAAIA4qAhA4ApQDIAAgDioCFDgCmAMgCkEMQRAgCBtqIgMgAygCAEEBajYCACAOIR0MAgtBACEdCyAGIUAgByFHIAtBAWohIiMAQaABayINJAACQAJAIARBAUYgASABW3JFBEAgDUGqCzYCICAAQQVB2CUgDUEgahAsDAELIAVBAUYgAiACW3JFBEAgDUHZCjYCECAAQQVB2CUgDUEQahAsDAELIApBAEEEIAgbaiILIAsoAgBBAWo2AgAgACAALQCIA0H8AXEgAC0AFEEDcSILIANBASADGyIsIAsbIg9BA3FyOgCIAyAAQawDaiIQIA9BAUdBA3QiC2ogAEEUaiIUQQNBAiAPQQJGGyIRIA8gQBAiIgY4AgAgECAPQQFGQQN0Ig5qIBQgESAPIEAQISIHOAIAIAAgFEEAIA8gQBAiIjw4ArADIAAgFEEAIA8gQBAhIjs4ArgDIABBvANqIhAgC2ogFCARIA8QMDgCACAOIBBqIBQgESAPEC84AgAgACAUQQAgDxAwOALAAyAAIBRBACAPEC84AsgDIAsgAEHMA2oiC2ogFCARIA8gQBA4OAIAIAsgDmogFCARIA8gQBA3OAIAIAAgFEEAIA8gQBA4OALQAyAAIBRBACAPIEAQNyI6OALYAyAGIAeSIT4gPCA7kiE8AkACQCAAKAIIIgsEQEMAAMB/IAEgPpMgBEEBRhshBkMAAMB/IAIgPJMgBUEBRhshPiAAAn0gBCAFckUEQCAAIABBAiAPIAYgQCBAECU4ApQDIABBACAPID4gRyBAECUMAQsgBEEDTyAFQQNPcg0EIA1BiAFqIAAgBiAGIAAqAswDIAAqAtQDkiAAKgK8A5IgACoCxAOSIjyTIgdDAAAAACAHQwAAAABeGyAGIAZcG0GBgAggBEEDdEH4//8HcXZB/wFxID4gPiAAKgLQAyA6kiAAKgLAA5IgACoCyAOSIjuTIgdDAAAAACAHQwAAAABeGyA+ID5cG0GBgAggBUEDdEH4//8HcXZB/wFxIAsREAAgDSoCjAEiPUMAAAAAYCANKgKIASIHQwAAAABgcUUEQCANID27OQMIIA0gB7s5AwAgAEEBQdwdIA0QLCANKgKMASIHQwAAAAAgB0MAAAAAXhshPSANKgKIASIHQwAAAAAgB0MAAAAAXhshBwsgCiAKKAIUQQFqNgIUIAogCUECdGoiCSAJKAIYQQFqNgIYIAAgAEECIA8gPCAHkiAGIARBAWtBAkkbIEAgQBAlOAKUAyAAQQAgDyA7ID2SID4gBUEBa0ECSRsgRyBAECULOAKYAwwBCwJAIAAoAuADRQRAIAAoAuwDIAAoAugDa0ECdSELDAELIA1BiAFqIAAQMgJAIA0oAogBRQRAQQAhCyANKAKMAUUNAQsgDUGAAWohEEEAIQsDQCANQQA2AoABIA0gDSkDiAE3A3ggECANKAKQARA8IA1BiAFqEC4gDSgCgAEiCQRAA0AgCSgCACEOIAkQJyAOIgkNAAsLIAtBAWohCyANQQA2AoABIA0oAowBIA0oAogBcg0ACwsgDSgCkAEiCUUNAANAIAkoAgAhDiAJECcgDiIJDQALCyALRQRAIAAgAEECIA8gBEEBa0EBSwR9IAEgPpMFIAAqAswDIAAqAtQDkiAAKgK8A5IgACoCxAOSCyBAIEAQJTgClAMgACAAQQAgDyAFQQFrQQFLBH0gAiA8kwUgACoC0AMgACoC2AOSIAAqAsADkiAAKgLIA5ILIEcgQBAlOAKYAwwBCwJAIAgNACAFQQJGIAIgPJMiBiAGW3EgBkMAAAAAX3EgBCAFckUgBEECRiABID6TIgdDAAAAAF9xcnJFDQAgACAAQQIgD0MAAAAAQwAAAAAgByAHQwAAAABdGyAHIARBAkYbIAcgB1wbIEAgQBAlOAKUAyAAIABBACAPQwAAAABDAAAAACAGIAZDAAAAAF0bIAYgBUECRhsgBiAGXBsgRyBAECU4ApgDDAELIAAQTyAAIAAtAIgDQfsBcToAiAMgABBeQQMhEyAALQAUQQJ2QQNxIQkCQAJAIA9BAkcNAAJAIAlBAmsOAgIAAQtBAiETDAELIAkhEwsgAC8AFSEnIBQgEyAPIEAQOCEGIBQgEyAPEDAhByAUIBMgDyBAEDchOyAUIBMgDxAvITpBACEQIBQgEUEAIBNBAkkbIhYgDyBAEDghPyAUIBYgDxAwIT0gFCAWIA8gQBA3IUEgFCAWIA8QLyFEIBQgFiAPIEAQYCFCIBQgFiAPEEshQyAAIA9BACABID6TIlAgBiAHkiA7IDqSkiJKID8gPZIgQSBEkpIiRiATQQFLIhkbIEAgQBB6ITsgACAPQQEgAiA8kyJRIEYgSiAZGyBHIEAQeiFFAkACQCAEIAUgGRsiHA0AIA1BiAFqIAAQMgJAAkAgDSgCiAEiDiANKAKMASIJckUNAANAIA4oAuwDIA4oAugDIg5rQQJ1IAlNDQQCQCAOIAlBAnRqKAIAIgkQeUUNACAQDQIgCRA7IgYgBlsgBotDF7fROF1xDQIgCRBAIgYgBlwEQCAJIRAMAQsgCSEQIAaLQxe30ThdDQILIA1BiAFqEC4gDSgCjAEiCSANKAKIASIOcg0ACwwBC0EAIRALIA0oApABIglFDQADQCAJKAIAIQ4gCRAnIA4iCQ0ACwsgDUGIAWogABAyIA0oAowBIQkCQCANKAKIASIORQRAQwAAAAAhPSAJRQ0BCyBFIEVcIiMgBUEAR3IhKCA7IDtcIiQgBEEAR3IhKUMAAAAAIT0DQCAOKALsAyAOKALoAyIOa0ECdSAJTQ0CIA4gCUECdGooAgAiDhB4AkAgDi8AFSAOLQAXQRB0ciIJQYCAMHFBgIAQRgRAIA4QdyAOIA4tAAAiCUEBciIOQfsBcSAOIAlBBHEbOgAADAELIAgEfyAOIA4tABRBA3EiCSAPIAkbIDsgRRB2IA4vABUgDi0AF0EQdHIFIAkLQYDgAHFBgMAARg0AIA5BFGohEQJAIA4gEEYEQCAQQQA2ApwBIBAgDDYCmAFDAAAAACEHDAELIBQtAABBAnZBA3EhCQJAAkAgD0ECRw0AQQMhEgJAIAlBAmsOAgIAAQtBAiESDAELIAkhEgsgDUGAgID+BzYCaCANQYCAgP4HNgJQIA1B+ABqIA5B/ABqIhcgDi8BHhAfIDsgRSASQQFLIh4bIT4CQAJAAkACQCANLQB8IgkOBAABAQABCwJAIBcgDi8BGBAgIgYgBlwNACAXIA4vARgQIEMAAAAAXkUNACAOKAL0Ay0ACEEBcSIJDQBDAADAf0MAAAAAIAkbIQcMAgtDAADAfyEGDAILIA0qAnghB0MAAMB/IQYCQCAJQQFrDgIBAAILIAcgPpRDCtcjPJQhBgwBCyAHIQYLIA4tABdBEHRBgIDAAHEEQCAGIBEgD0GBAiASQQN0dkEBcSA7EFQiBkMAAAAAIAYgBlsbkiEGCyAOKgL4AyEHQQAhH0EAIRgCQAJAAkAgDi0A/ANBAWsOAgEAAgsgOyAHlEMK1yM8lCEHCyAHIAdcDQAgB0MAAAAAYCEYCyAOKgKABCEHAkACQAJAIA4tAIQEQQFrDgIBAAILIEUgB5RDCtcjPJQhBwsgByAHXA0AIAdDAAAAAGAhHwsCQCAOAn0gBiAGXCIJID4gPlxyRQRAIA4qApwBIgcgB1sEQCAOKAL0Ay0AEEEBcUUNAyAOKAKYASAMRg0DCyARIBIgDyA7EDggESASIA8QMJIgESASIA8gOxA3IBEgEiAPEC+SkiIHIAYgBiAHXRsgByAGIAkbIAYgBlsgByAHW3EbDAELIBggHnEEQCARQQIgDyA7EDggEUECIA8QMJIgEUECIA8gOxA3IBFBAiAPEC+SkiIHIA4gD0EAIDsgOxAxIgYgBiAHXRsgByAGIAYgBlwbIAYgBlsgByAHW3EbDAELIB4gH0VyRQRAIBFBACAPIDsQOCARQQAgDxAwkiARQQAgDyA7EDcgEUEAIA8QL5KSIgcgDiAPQQEgRSA7EDEiBiAGIAddGyAHIAYgBiAGXBsgBiAGWyAHIAdbcRsMAQtBASEaIA1BATYCZCANQQE2AnggEUECQQEgOxAiIBFBAkEBIDsQIZIhPiARQQBBASA7ECIhPCARQQBBASA7ECEhOkMAAMB/IQdBASEVQwAAwH8hBiAYBEAgDiAPQQAgOyA7EDEhBiANQQA2AnggDSA+IAaSIgY4AmhBACEVCyA8IDqSITwgHwRAIA4gD0EBIEUgOxAxIQcgDUEANgJkIA0gPCAHkiIHOAJQQQAhGgsCQAJAAkAgAC0AF0EQdEGAgAxxQYCACEYiCSASQQJJIiBxRQRAIAkgJHINAiAGIAZcDQEMAgsgJCAGIAZbcg0CC0ECIRUgDUECNgJ4IA0gOzgCaCA7IQYLAkAgIEEBIAkbBEAgCSAjcg0CIAcgB1wNAQwCCyAjIAcgB1tyDQELQQIhGiANQQI2AmQgDSBFOAJQIEUhBwsCQCAXIA4vAXoQICI6IDpcDQACfyAVIB5yRQRAIBcgDi8BehAgIQcgDUEANgJkIA0gPCAGID6TIAeVkjgCUEEADAELIBogIHINASAXIA4vAXoQICEGIA1BADYCeCANIAYgByA8k5QgPpI4AmhBAAshGkEAIRULIA4vABZBD3EiCUUEQCAALQAVQQR2IQkLAkAgFUUgCUEFRiAeciAYIClyIAlBBEdycnINACANQQA2AnggDSA7OAJoIBcgDi8BehAgIgYgBlwNAEEAIRogFyAOLwF6ECAhBiANQQA2AmQgDSA7ID6TIAaVOAJQCyAOLwAWQQ9xIhhFBEAgAC0AFUEEdiEYCwJAICAgKHIgH3IgGEEFRnIgGkUgGEEER3JyDQAgDUEANgJkIA0gRTgCUCAXIA4vAXoQICIGIAZcDQAgFyAOLwF6ECAhBiANQQA2AnggDSAGIEUgPJOUOAJoCyAOIA9BAiA7IDsgDUH4AGogDUHoAGoQPyAOIA9BACBFIDsgDUHkAGogDUHQAGoQPyAOIA0qAmggDSoCUCAPIA0oAnggDSgCZCA7IEVBAEEFIAogIiAMED0aIA4gEkECdEH8JWooAgBBAnRqKgKUAyEGIBEgEiAPIDsQOCARIBIgDxAwkiARIBIgDyA7EDcgESASIA8QL5KSIgcgBiAGIAddGyAHIAYgBiAGXBsgBiAGWyAHIAdbcRsLIgc4ApwBCyAOIAw2ApgBCyA9IAcgESATQQEgOxAiIBEgE0EBIDsQIZKSkiE9CyANQYgBahAuIA0oAowBIgkgDSgCiAEiDnINAAsLIA0oApABIgkEQANAIAkoAgAhDiAJECcgDiIJDQALCyA7IEUgGRshByA9QwAAAACSIQYgC0ECTwRAIBQgEyAHEE0gC0EBa7OUIAaSIQYLIEIgQ5IhPiAFIAQgGRshGiBHIEAgGRshTSBAIEcgGRshSSANQdAAaiAAEDJBACAcIAYgB14iCxsgHCAcQQJGGyAcICdBgIADcSIfGyEeIBQgFiBFIDsgGRsiRBBNIU8gDSgCVCIRIA0oAlAiCXIEQEEBQQIgRCBEXCIpGyEtIAtFIBxBAUZyIS4gE0ECSSEZIABB8gBqIS8gAEH8AGohMCATQQJ0IgtB7CVqITEgC0HcJWohMiAWQQJ0Ig5B7CVqIRwgDkHcJWohICALQfwlaiEkIA5B/CVqISMgGkEARyIzIAhyITQgGkUiNSAIQQFzcSE2IBogH3JFITcgDUHwAGohOCANQYABaiEnQYECIBNBA3R2Qf8BcSEoIBpBAWtBAkkhOQNAIA1BADYCgAEgDUIANwN4AkAgACgC7AMiCyAAKALoAyIORg0AIAsgDmsiC0EASA0DIA1BiAFqIAtBAnVBACAnEEohECANKAKMASANKAJ8IA0oAngiC2siDmsgCyAOEDMhDiANIA0oAngiCzYCjAEgDSAONgJ4IA0pA5ABIVYgDSANKAJ8Ig42ApABIA0oAoABIRIgDSBWNwJ8IA0gEjYClAEgECALNgIAIAsgDkcEQCANIA4gCyAOa0EDakF8cWo2ApABCyALRQ0AIAsQJwsgFC0AACIOQQJ2QQNxIQsCQAJAIA5BA3EiDiAsIA4bIhJBAkcNAEEDIRACQCALQQJrDgICAAELQQIhEAwBCyALIRALIAAvABUhCyAUIBAgBxBNIT8CQCAJIBFyRQRAQwAAAAAhQ0EAIRFDAAAAACFCQwAAAAAhQUEAIRUMAQsgC0GAgANxISUgEEECSSEYIBBBAnQiC0HsJWohISALQdwlaiEqQQAhFUMAAAAAIUEgESEOQwAAAAAhQkMAAAAAIUNBACEXQwAAAAAhPQNAIAkoAuwDIAkoAugDIglrQQJ1IA5NDQQCQCAJIA5BAnRqKAIAIgkvABUgCS0AF0EQdHIiC0GAgDBxQYCAEEYgC0GA4ABxQYDAAEZyDQAgDUGIAWoiESAJQRRqIgsgKigCACADECggDS0AjAEhJiARIAsgISgCACADECggDS0AjAEhESAJIBs2AtwDIBUgJkEDRmohFSARQQNGIREgCyAQQQEgOxAiIUsgCyAQQQEgOxAhIU4gCSAXIAkgFxsiF0YhJiAJKgKcASE8IAsgEiAYIEkgQBA1IToCQCALIBIgGCBJIEAQLSIGQwAAAABgIAYgPF1xDQAgOkMAAAAAYEUEQCA8IQYMAQsgOiA8IDogPF4bIQYLIBEgFWohFQJAICVFQwAAAAAgPyAmGyI8IEsgTpIiOiA9IAaSkpIgB15Fcg0AIA0oAnggDSgCfEYNACAOIREMAwsgCRB5BEAgQiAJEDuSIUIgQyAJEEAgCSoCnAGUkyFDCyBBIDwgOiAGkpIiBpIhQSA9IAaSIT0gDSgCfCILIA0oAoABRwRAIAsgCTYCACANIAtBBGo2AnwMAQsgCyANKAJ4ayILQQJ1IhFBAWoiDkGAgICABE8NBSANQYgBakH/////AyALQQF1IiYgDiAOICZJGyALQfz///8HTxsgESAnEEohDiANKAKQASAJNgIAIA0gDSgCkAFBBGo2ApABIA0oAowBIA0oAnwgDSgCeCIJayILayAJIAsQMyELIA0gDSgCeCIJNgKMASANIAs2AnggDSkDkAEhViANIA0oAnwiCzYCkAEgDSgCgAEhESANIFY3AnwgDSARNgKUASAOIAk2AgAgCSALRwRAIA0gCyAJIAtrQQNqQXxxajYCkAELIAlFDQAgCRAnCyANQQA2AnAgDSANKQNQNwNoIDggDSgCWBA8IA1B0ABqEC4gDSgCcCIJBEADQCAJKAIAIQsgCRAnIAsiCQ0ACwtBACERIA1BADYCcCANKAJUIg4gDSgCUCIJcg0ACwtDAACAPyBCIEJDAACAP10bIEIgQkMAAAAAXhshPCANKAJ8IRcgDSgCeCEJAn0CQAJ9AkACQAJAIB5FDQAgFCAPQQAgQCBAEDUhBiAUIA9BACBAIEAQLSE6IBQgD0EBIEcgQBA1IT8gFCAPQQEgRyBAEC0hPSAGID8gE0EBSyILGyBKkyIGIAZbIAYgQV5xDQEgOiA9IAsbIEqTIgYgBlsgBiBBXXENASAAKAL0Ay0AFEEBcQ0AIEEgPEMAAAAAWw0DGiAAEDsiBiAGXA0CIEEgABA7QwAAAABbDQMaDAILIAchBgsgBiAGWw0CIAYhBwsgBwshBiBBjEMAAAAAIEFDAAAAAF0bIT8gBgwBCyAGIEGTIT8gBgshByA2RQRAAkAgCSAXRgRAQwAAAAAhQQwBC0MAAIA/IEMgQ0MAAIA/XRsgQyBDQwAAAABeGyE9QwAAAAAhQSAJIQ4DQCAOKAIAIgsqApwBITogC0EUaiIQIA8gGSBJIEAQNSFCAkAgECAPIBkgSSBAEC0iBkMAAAAAYCAGIDpdcQ0AIEJDAAAAAGBFBEAgOiEGDAELIEIgOiA6IEJdGyEGCwJAID9DAAAAAF0EQCAGIAsQQIyUIjpDAAAAAF4gOkMAAAAAXXJFDQEgCyATIA8gPyA9lSA6lCAGkiJCIAcgOxAlITogQiBCXCA6IDpcciA6IEJbcg0BIEEgOiAGk5IhQSALEEAgCyoCnAGUID2SIT0MAQsgP0MAAAAAXkUNACALEDsiQkMAAAAAXiBCQwAAAABdckUNACALIBMgDyA/IDyVIEKUIAaSIkMgByA7ECUhOiBDIENcIDogOlxyIDogQ1tyDQAgPCBCkyE8IEEgOiAGk5IhQQsgDkEEaiIOIBdHDQALID8gQZMiQiA9lSFLIEIgPJUhTiAALwAVQYCAA3FFIC5yISVDAAAAACFBIAkhCwNAIAsoAgAiDioCnAEhPCAOQRRqIhggDyAZIEkgQBA1IToCQCAYIA8gGSBJIEAQLSIGQwAAAABgIAYgPF1xDQAgOkMAAAAAYEUEQCA8IQYMAQsgOiA8IDogPF4bIQYLAn0gDiATIA8CfSBCQwAAAABdBEAgBiAGIA4QQIyUIjxDAAAAAFsNAhogBiA8kiA9QwAAAABbDQEaIEsgPJQgBpIMAQsgBiBCQwAAAABeRQ0BGiAGIA4QOyI8QwAAAABeIDxDAAAAAF1yRQ0BGiBOIDyUIAaSCyAHIDsQJQshQyAYIBNBASA7ECIhPCAYIBNBASA7ECEhOiAYIBZBASA7ECIhUiAYIBZBASA7ECEhUyANIEMgPCA6kiJUkiJVOAJoIA1BADYCYCBSIFOSITwCQCAOQfwAaiIQIA4vAXoQICI6IDpbBEAgECAOLwF6ECAhOiANQQA2AmQgDSA8IFUgVJMiPCA6lCA8IDqVIBkbkjgCeAwBCyAjKAIAIRACQCApDQAgDiAQQQN0aiIhKgL4AyE6QQAhEgJAAkACQCAhLQD8A0EBaw4CAQACCyBEIDqUQwrXIzyUIToLIDogOlwNACA6QwAAAABgIRILICUgNSASQQFzcXFFDQAgDi8AFkEPcSISBH8gEgUgAC0AFUEEdgtBBEcNACANQYgBaiAYICAoAgAgDxAoIA0tAIwBQQNGDQAgDUGIAWogGCAcKAIAIA8QKCANLQCMAUEDRg0AIA1BADYCZCANIEQ4AngMAQsgDkH4A2oiEiAQQQN0aiIQKgIAIToCQAJAAkACQCAQLQAEQQFrDgIBAAILIEQgOpRDCtcjPJQhOgsgOkMAAAAAYA0BCyANIC02AmQgDSBEOAJ4DAELAkACfwJAAkACQCAWQQJrDgICAAELIDwgDiAPQQAgRCA7EDGSITpBAAwCC0EBIRAgDSA8IA4gD0EBIEQgOxAxkiI6OAJ4IBNBAU0NDAwCCyA8IA4gD0EAIEQgOxAxkiE6QQALIRAgDSA6OAJ4CyANIDMgEiAQQQN0ajEABEIghkKAgICAIFFxIDogOlxyNgJkCyAOIA8gEyAHIDsgDUHgAGogDUHoAGoQPyAOIA8gFiBEIDsgDUHkAGogDUH4AGoQPyAOICMoAgBBA3RqIhAqAvgDIToCQAJAAkACQCAQLQD8A0EBaw4CAQACCyBEIDqUQwrXIzyUIToLQQEhECA6QwAAAABgDQELQQEhECAOLwAWQQ9xIhIEfyASBSAALQAVQQR2C0EERw0AIA1BiAFqIBggICgCACAPECggDS0AjAFBA0YNACANQYgBaiAYIBwoAgAgDxAoIA0tAIwBQQNGIRALIA4gDSoCaCI8IA0qAngiOiATQQFLIhIbIDogPCASGyAALQCIA0EDcSANKAJgIhggDSgCZCIhIBIbICEgGCASGyA7IEUgCCAQcSIQQQRBByAQGyAKICIgDBA9GiBBIEMgBpOSIUEgAAJ/IAAtAIgDIhBBBHFFBEBBACAOLQCIA0EEcUUNARoLQQQLIBBB+wFxcjoAiAMgC0EEaiILIBdHDQALCyA/IEGTIT8LIAAgAC0AiAMiC0H7AXFBBCA/QwAAAABdQQJ0IAtBBHFBAnYbcjoAiAMgFCATIA8gQBBgIBQgEyAPEEuSITogFCATIA8gQBB/IBQgEyAPEFKSIUsgFCATIAcQTSFCAn8CQAJ9ID9DAAAAAF5FIB5BAkdyRQRAIA1BiAFqIDAgLyAkKAIAQQF0ai8BABAfAkAgDS0AjAEEQCAUIA8gKCBJIEAQNSIGIAZbDQELQwAAAAAMAgtDAAAAACAUIA8gKCBJIEAQNSA6kyBLkyAHID+TkyI/QwAAAABeRQ0BGgsgP0MAAAAAYEUNASA/CyE8IBQtAABBBHZBB3EMAQsgPyE8IBQtAABBBHZBB3EiC0EAIAtBA2tBA08bCyELQwAAAAAhBgJAAkAgFQ0AQwAAAAAhPQJAAkACQAJAAkAgC0EBaw4FAAECBAMGCyA8QwAAAD+UIT0MBQsgPCE9DAQLIBcgCWsiC0EFSQ0CIEIgPCALQQJ1QQFrs5WSIUIMAgsgQiA8IBcgCWtBAnVBAWqzlSI9kiFCDAILIDxDAAAAP5QgFyAJa0ECdbOVIj0gPZIgQpIhQgwBC0MAAAAAIT0LIDogPZIhPSAAEHwhEgJAIAkgF0YiGARAQwAAAAAhP0MAAAAAIToMAQsgF0EEayElIDwgFbOVIU4gMigCACEhQwAAAAAhOkMAAAAAIT8gCSELA0AgDUGIAWogCygCACIOQRRqIhAgISAPECggPUMAAACAIE5DAAAAgCA8QwAAAABeGyJBIA0tAIwBQQNHG5IhPSAIBEACfwJAAkACQAJAIBNBAWsOAwECAwALQQEhFSAOQaADagwDC0EDIRUgDkGoA2oMAgtBACEVIA5BnANqDAELQQIhFSAOQaQDagshKiAOIBVBAnRqICoqAgAgPZI4ApwDCyAlKAIAIRUgDUGIAWogECAxKAIAIA8QKCA9QwAAAIAgQiAOIBVGG5JDAAAAgCBBIA0tAIwBQQNHG5IhPQJAIDRFBEAgPSAQIBNBASA7ECIgECATQQEgOxAhkiAOKgKcAZKSIT0gRCEGDAELIA4gEyA7EF0gPZIhPSASBEAgDhBOIUEgEEEAIA8gOxBBIUMgDioCmAMgEEEAQQEgOxAiIBBBAEEBIDsQIZKSIEEgQ5IiQZMiQyA/ID8gQ10bIEMgPyA/ID9cGyA/ID9bIEMgQ1txGyE/IEEgOiA6IEFdGyBBIDogOiA6XBsgOiA6WyBBIEFbcRshOgwBCyAOIBYgOxBdIkEgBiAGIEFdGyBBIAYgBiAGXBsgBiAGWyBBIEFbcRshBgsgC0EEaiILIBdHDQALCyA/IDqSIAYgEhshQQJ9IDkEQCAAIBYgDyBGIEGSIE0gQBAlIEaTDAELIEQgQSA3GyFBIEQLIT8gH0UEQCAAIBYgDyBGIEGSIE0gQBAlIEaTIUELIEsgPZIhPAJAIAhFDQAgCSELIBgNAANAIAsoAgAiFS8AFkEPcSIORQRAIAAtABVBBHYhDgsCQAJAAkACQCAOQQRrDgIAAQILIA1BiAFqIBVBFGoiECAgKAIAIA8QKEEEIQ4gDS0AjAFBA0YNASANQYgBaiAQIBwoAgAgDxAoIA0tAIwBQQNGDQEgFSAjKAIAQQN0aiIOKgL4AyE9AkACQAJAIA4tAPwDQQFrDgIBAAILIEQgPZRDCtcjPJQhPQsgPiEGID1DAAAAAGANAwsgFSAkKAIAQQJ0aioClAMhBiANIBVB/ABqIg4gFS8BehAgIjogOlsEfSAQIBZBASA7ECIgECAWQQEgOxAhkiAGIA4gFS8BehAgIjqUIAYgOpUgGRuSBSBBCzgCeCANIAYgECATQQEgOxAiIBAgE0EBIDsQIZKSOAKIASANQQA2AmggDUEANgJkIBUgDyATIAcgOyANQegAaiANQYgBahA/IBUgDyAWIEQgOyANQeQAaiANQfgAahA/IA0qAngiOiANKgKIASI9IBNBAUsiGCIOGyEGIB9BAEcgAC8AFUEPcUEER3EiECAZcSA9IDogDhsiOiA6XHIhDiAVIDogBiAPIA4gECAYcSAGIAZcciA7IEVBAUECIAogIiAMED0aID4hBgwCC0EFQQEgFC0AAEEIcRshDgsgFSAWIDsQXSEGIA1BiAFqIBVBFGoiECAgKAIAIhggDxAoID8gBpMhOgJAIA0tAIwBQQNHBEAgHCgCACESDAELIA1BiAFqIBAgHCgCACISIA8QKCANLQCMAUEDRw0AID4gOkMAAAA/lCIGQwAAAAAgBkMAAAAAXhuSIQYMAQsgDUGIAWogECASIA8QKCA+IQYgDS0AjAFBA0YNACANQYgBaiAQIBggDxAoIA0tAIwBQQNGBEAgPiA6QwAAAAAgOkMAAAAAXhuSIQYMAQsCQAJAIA5BAWsOAgIAAQsgPiA6QwAAAD+UkiEGDAELID4gOpIhBgsCfwJAAkACQAJAIBZBAWsOAwECAwALQQEhECAVQaADagwDC0EDIRAgFUGoA2oMAgtBACEQIBVBnANqDAELQQIhECAVQaQDagshDiAVIBBBAnRqIAYgTCAOKgIAkpI4ApwDIAtBBGoiCyAXRw0ACwsgCQRAIAkQJwsgPCBIIDwgSF4bIDwgSCBIIEhcGyBIIEhbIDwgPFtxGyFIIEwgT0MAAAAAIBsbIEGSkiFMIBtBAWohGyANKAJQIgkgEXINAAsLAkAgCEUNACAfRQRAIAAQfEUNAQsgACAWIA8CfSBGIESSIBpFDQAaIAAgFkECdEH8JWooAgBBA3RqIgkqAvgDIQYCQAJAAkAgCS0A/ANBAWsOAgEAAgsgTSAGlEMK1yM8lCEGCyAGQwAAAABgRQ0AIAAgD0GBAiAWQQN0dkEBcSBNIEAQMQwBCyBGIEySCyBHIEAQJSEGQwAAAAAhPCAALwAVQQ9xIQkCQAJAAkACQAJAAkACQAJAAkAgBiBGkyBMkyIGQwAAAABgRQRAQwAAAAAhQyAJQQJrDgICAQcLQwAAAAAhQyAJQQJrDgcBAAUGBAIDBgsgPiAGkiE+DAULID4gBkMAAAA/lJIhPgwECyAGIBuzIjqVITwgPiAGIDogOpKVkiE+DAMLID4gBiAbQQFqs5UiPJIhPgwCCyAbQQJJBEAMAgsgDUGIAWogABAyIAYgG0EBa7OVITwMAgsgBiAbs5UhQwsgDUGIAWogABAyIBtFDQELIBZBAnQiCUHcJWohECAJQfwlaiERIA1BOGohGCANQcgAaiEZIA1B8ABqIRUgDUGQAWohHCANQYABaiEfQQAhEgNAIA1BADYCgAEgDSANKQOIATcDeCAfIA0oApABEDwgDUEANgJwIA0gDSkDeCJWNwNoIBUgDSgCgAEiCxA8IA0oAmwhCQJAAkAgDSgCaCIOBEBDAAAAACE6QwAAAAAhP0MAAAAAIQYMAQtDAAAAACE6QwAAAAAhP0MAAAAAIQYgCUUNAQsDQCAOKALsAyAOKALoAyIOa0ECdSAJTQ0FAkAgDiAJQQJ0aigCACIJLwAVIAktABdBEHRyIhdBgIAwcUGAgBBGIBdBgOAAcUGAwABGcg0AIAkoAtwDIBJHDQIgCUEUaiEOIAkgESgCAEECdGoqApQDIj1DAAAAAGAEfyA9IA4gFkEBIDsQIiAOIBZBASA7ECGSkiI9IAYgBiA9XRsgPSAGIAYgBlwbIAYgBlsgPSA9W3EbIQYgCS0AFgUgF0EIdgtBD3EiFwR/IBcFIAAtABVBBHYLQQVHDQAgFC0AAEEIcUUNACAJEE4gDkEAIA8gOxBBkiI9ID8gPSA/XhsgPSA/ID8gP1wbID8gP1sgPSA9W3EbIj8gCSoCmAMgDkEAQQEgOxAiIA5BAEEBIDsQIZKSID2TIj0gOiA6ID1dGyA9IDogOiA6XBsgOiA6WyA9ID1bcRsiOpIiPSAGIAYgPV0bID0gBiAGIAZcGyAGIAZbID0gPVtxGyEGCyANQQA2AkggDSANKQNoNwNAIBkgDSgCcBA8IA1B6ABqEC4gDSgCSCIJBEADQCAJKAIAIQ4gCRAnIA4iCQ0ACwsgDUEANgJIIA0oAmwiCSANKAJoIg5yDQALCyANIA0pA2g3A4gBIBwgDSgCcBB1IA0gVjcDaCAVIAsQdSA+IE9DAAAAACASG5IhPiBDIAaSIT0gDSgCbCEJAkAgDSgCaCIOIA0oAogBRgRAIAkgDSgCjAFGDQELID4gP5IhQiA+ID2SIUsgPCA9kiEGA0AgDigC7AMgDigC6AMiDmtBAnUgCU0NBQJAIA4gCUECdGooAgAiCS8AFSAJLQAXQRB0ciIXQYCAMHFBgIAQRiAXQYDgAHFBgMAARnINACAJQRRqIQ4CQAJAAkACQAJAAkAgF0EIdkEPcSIXBH8gFwUgAC0AFUEEdgtBAWsOBQEDAgQABgsgFC0AAEEIcQ0ECyAOIBYgDyA7EFEhOiAJIBAoAgBBAnRqID4gOpI4ApwDDAQLIA4gFiAPIDsQYiE/AkACQAJAAkAgFkECaw4CAgABCyAJKgKUAyE6QQIhDgwCC0EBIQ4gCSoCmAMhOgJAIBYOAgIADwtBAyEODAELIAkqApQDITpBACEOCyAJIA5BAnRqIEsgP5MgOpM4ApwDDAMLAkACQAJAAkAgFkECaw4CAgABCyAJKgKUAyE/QQIhDgwCC0EBIQ4gCSoCmAMhPwJAIBYOAgIADgtBAyEODAELIAkqApQDIT9BACEOCyAJIA5BAnRqID4gPSA/k0MAAAA/lJI4ApwDDAILIA4gFiAPIDsQQSE6IAkgECgCAEECdGogPiA6kjgCnAMgCSARKAIAQQN0aiIXKgL4AyE/AkACQAJAIBctAPwDQQFrDgIBAAILIEQgP5RDCtcjPJQhPwsgP0MAAAAAYA0CCwJAAkACfSATQQFNBEAgCSoCmAMgDiAWQQEgOxAiIA4gFkEBIDsQIZKSITogBgwBCyAGITogCSoClAMgDiATQQEgOxAiIA4gE0EBIDsQIZKSCyI/ID9cIAkqApQDIkEgQVxyRQRAID8gQZOLQxe30ThdDQEMAgsgPyA/WyBBIEFbcg0BCyAJKgKYAyJBIEFcIg4gOiA6XHJFBEAgOiBBk4tDF7fROF1FDQEMAwsgOiA6Ww0AIA4NAgsgCSA/IDogD0EAQQAgOyBFQQFBAyAKICIgDBA9GgwBCyAJIEIgCRBOkyAOQQAgDyBEEFGSOAKgAwsgDUEANgI4IA0gDSkDaDcDMCAYIA0oAnAQPCANQegAahAuIA0oAjgiCQRAA0AgCSgCACEOIAkQJyAOIgkNAAsLIA1BADYCOCANKAJsIQkgDSgCaCIOIA0oAogBRw0AIAkgDSgCjAFHDQALCyANKAJwIgkEQANAIAkoAgAhDiAJECcgDiIJDQALCyALBEADQCALKAIAIQkgCxAnIAkiCw0ACwsgPCA+kiA9kiE+IBJBAWoiEiAbRw0ACwsgDSgCkAEiCUUNAANAIAkoAgAhCyAJECcgCyIJDQALCyAAQZQDaiIQIABBAiAPIFAgQCBAECU4AgAgAEGYA2oiESAAQQAgDyBRIEcgQBAlOAIAAkAgEEGBAiATQQN0dkEBcUECdGoCfQJAIB5BAUcEQCAALQAXQQNxIglBAkYgHkECR3INAQsgACATIA8gSCBJIEAQJQwBCyAeQQJHIAlBAkdyDQEgSiAAIA8gEyBIIEkgQBB0Ij4gSiAHkiIGIAYgPl4bID4gBiAGIAZcGyAGIAZbID4gPltxGyIGIAYgSl0bIEogBiAGIAZcGyAGIAZbIEogSltxGws4AgALAkAgEEGBAiAWQQN0dkEBcUECdGoCfQJAIBpBAUcEQCAaQQJHIgkgAC0AF0EDcSILQQJGcg0BCyAAIBYgDyBGIEySIE0gQBAlDAELIAkgC0ECR3INASBGIAAgDyAWIEYgTJIgTSBAEHQiByBGIESSIgYgBiAHXhsgByAGIAYgBlwbIAYgBlsgByAHW3EbIgYgBiBGXRsgRiAGIAYgBlwbIAYgBlsgRiBGW3EbCzgCAAsCQCAIRQ0AAkAgAC8AFUGAgANxQYCAAkcNACANQYgBaiAAEDIDQCANKAKMASIJIA0oAogBIgtyRQRAIA0oApABIglFDQIDQCAJKAIAIQsgCRAnIAsiCQ0ACwwCCyALKALsAyALKALoAyILa0ECdSAJTQ0DIAsgCUECdGooAgAiCS8AFUGA4ABxQYDAAEcEQCAJAn8CQAJAAkAgFkECaw4CAAECCyAJQZQDaiEOIBAqAgAgCSoCnAOTIQZBAAwCCyAJQZQDaiEOIBAqAgAgCSoCpAOTIQZBAgwBCyARKgIAIQYCQAJAIBYOAgABCgsgCUGYA2ohDiAGIAkqAqADkyEGQQEMAQsgCUGYA2ohDiAGIAkqAqgDkyEGQQMLQQJ0aiAGIA4qAgCTOAKcAwsgDUGIAWoQLgwACwALAkAgEyAWckEBcUUNACAWQQFxIRQgE0EBcSEVIA1BiAFqIAAQMgNAIA0oAowBIgkgDSgCiAEiC3JFBEAgDSgCkAEiCUUNAgNAIAkoAgAhCyAJECcgCyIJDQALDAILIAsoAuwDIAsoAugDIgtrQQJ1IAlNDQMCQCALIAlBAnRqKAIAIgkvABUgCS0AF0EQdHIiC0GAgDBxQYCAEEYgC0GA4ABxQYDAAEZyDQAgFQRAAn8CfwJAAkACQCATQQFrDgMAAQINCyAJQZgDaiEOIAlBqANqIQtBASESIBEMAwsgCUGUA2ohDkECIRIgCUGcA2oMAQsgCUGUA2ohDkEAIRIgCUGkA2oLIQsgEAshGyAJIBJBAnRqIBsqAgAgDioCAJMgCyoCAJM4ApwDCyAURQ0AAn8CfwJAAkACQCAWQQFrDgMAAQIMCyAJQZgDaiELIAlBqANqIRJBASEXIBEMAwsgCUGUA2ohCyAJQZwDaiESQQIMAQsgCUGUA2ohCyAJQaQDaiESQQALIRcgEAshDiAJIBdBAnRqIA4qAgAgCyoCAJMgEioCAJM4ApwDCyANQYgBahAuDAALAAsgAC8AFUGA4ABxICJBAUZyRQRAIAAtAABBCHFFDQELIAAgACAeIAQgE0EBSxsgDyAKICIgDEMAAAAAQwAAAAAgOyBFEH4aCyANKAJYIglFDQIDQCAJKAIAIQsgCRAnIAsiCQ0ACwwCCxACAAsgABBeCyANQaABaiQADAELECQACyAAIAM6AKgBIAAgACgC9AMoAgw2AqQBIB0NACAKIAooAggiAyAAKAKsASIOQQFqIgkgAyAJSxs2AgggDkEIRgRAIABBADYCrAFBACEOCyAIBH8gAEHwAmoFIAAgDkEBajYCrAEgACAOQRhsakGwAWoLIgMgBTYCDCADIAQ2AgggAyACOAIEIAMgATgCACADIAAqApQDOAIQIAMgACoCmAM4AhRBACEdCyAIBEAgACAAKQKUAzcCjAMgACAALQAAIgNBAXIiBEH7AXEgBCADQQRxGzoAAAsgACAMNgKgASArIB1Fcgs1AQF/IAEgACgCBCICQQF1aiEBIAAoAgAhACABIAJBAXEEfyABKAIAIABqKAIABSAACxECAAt9ACAAQRRqIgAgAUGBAiACQQN0dkH/AXEgAyAEEC0gACACQQEgBBAiIAAgAkEBIAQQIZKSIQQCQAJAAkACQCAFKAIADgMAAQADCyAGKgIAIgMgAyAEIAMgBF0bIAQgBFwbIQQMAQsgBCAEXA0BIAVBAjYCAAsgBiAEOAIACwuMAQIBfwF9IAAoAuQDRQRAQwAAAAAPCyAAQfwAaiIBIAAvARwQICICIAJbBEAgASAALwEcECAPCwJAIAAoAvQDLQAIQQFxDQAgASAALwEYECAiAiACXA0AIAEgAC8BGBAgQwAAAABdRQ0AIAEgAC8BGBAgjA8LQwAAgD9DAAAAACAAKAL0Ay0ACEEBcRsLcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QdwlaigCACACEChDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwtHAQF/IAIvAAYiA0EHcQRAIAAgAUHoAGogAxAfDwsgAUHoAGohASACLwAOIgNBB3EEQCAAIAEgAxAfDwsgACABIAIvABAQHwtHAQF/IAIvAAIiA0EHcQRAIAAgAUHoAGogAxAfDwsgAUHoAGohASACLwAOIgNBB3EEQCAAIAEgAxAfDwsgACABIAIvABAQHwt7AAJAAkACQAJAIANBAWsOAgABAgsgAi8ACiIDQQdxRQ0BDAILIAIvAAgiA0EHcUUNAAwBCyACLwAEIgNBB3EEQAwBCyABQegAaiEBIAIvAAwiA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfDwsgACABQegAaiADEB8LewACQAJAAkACQCADQQFrDgIAAQILIAIvAAgiA0EHcUUNAQwCCyACLwAKIgNBB3FFDQAMAQsgAi8AACIDQQdxBEAMAQsgAUHoAGohASACLwAMIgNBB3EEQCAAIAEgAxAfDwsgACABIAIvABAQHw8LIAAgAUHoAGogAxAfC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQe4AaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQOQNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLIANBEGokAAuFAQIDfwF+AkAgAEKAgICAEFQEQCAAIQUMAQsDQCABQQFrIgEgAEIKgCIFQvYBfiAAfKdBMHI6AAAgAEL/////nwFWIQIgBSEAIAINAAsLIAWnIgIEQANAIAFBAWsiASACQQpuIgNB9gFsIAJqQTByOgAAIAJBCUshBCADIQIgBA0ACwsgAQs3AQJ/QQQQHiICIAE2AgBBBBAeIgMgATYCAEHBOyAAQeI7QfooQb8BIAJB4jtB/ihBwAEgAxAHCw8AIAAgASACQQFBAhCLAQteAQF/IABBADYCDCAAIAM2AhACQCABBEAgAUGAgICABE8NASABQQJ0EB4hBAsgACAENgIAIAAgBCACQQJ0aiICNgIIIAAgBCABQQJ0ajYCDCAAIAI2AgQgAA8LEFgAC3kCAX8BfSMAQRBrIgMkACADQQhqIAAgAUECdEHcJWooAgAgAhBTQwAAwH8hBAJAAkACQCADLQAMQQFrDgIAAQILIAMqAgghBAwBCyADKgIIQwAAAACUQwrXIzyUIQQLIANBEGokACAEQwAAAACXQwAAAAAgBCAEWxsLnAoBC38jAEEQayIIJAAgASABLwAAQXhxIANyIgM7AAACQAJAAkACQAJAAkACQAJAAkACQCADQQhxBEAgA0H//wNxIgZBBHYhBCAGQT9NBH8gACAEQQJ0akEEagUgBEEEayIEIAAoAhgiACgCBCAAKAIAIgBrQQJ1Tw0CIAAgBEECdGoLIAI4AgAMCgsCfyACi0MAAABPXQRAIAKoDAELQYCAgIB4CyIEQf8PakH+H0sgBLIgAlxyRQRAIANBD3FBACAEa0GAEHIgBCACQwAAAABdG0EEdHIhAwwKCyAAIAAvAQAiC0EBajsBACALQYAgTw0DIAtBA00EQCAAIAtBAnRqIAI4AgQMCQsgACgCGCIDRQRAQRgQHiIDQgA3AgAgA0IANwIQIANCADcCCCAAIAM2AhgLAkAgAygCBCIEIAMoAghHBEAgBCACOAIAIAMgBEEEajYCBAwBCyAEIAMoAgAiB2siBEECdSIJQQFqIgZBgICAgARPDQECf0H/////AyAEQQF1IgUgBiAFIAZLGyAEQfz///8HTxsiBkUEQEEAIQUgCQwBCyAGQYCAgIAETw0GIAZBAnQQHiEFIAMoAgQgAygCACIHayIEQQJ1CyEKIAUgCUECdGoiCSACOAIAIAkgCkECdGsgByAEEDMhByADIAUgBkECdGo2AgggAyAJQQRqNgIEIAMoAgAhBCADIAc2AgAgBEUNACAEECMLIAAoAhgiBigCECIDIAYoAhQiAEEFdEcNByADQQFqQQBIDQAgA0H+////A0sNASADIABBBnQiACADQWBxQSBqIgQgACAESxsiAE8NByAAQQBODQILEAIAC0H/////ByEAIANB/////wdPDQULIAhBADYCCCAIQgA3AwAgCCAAEJ8BIAYoAgwhBCAIIAgoAgQiByAGKAIQIgBBH3FqIABBYHFqIgM2AgQgB0UEQCADQQFrIQUMAwsgA0EBayIFIAdBAWtzQR9LDQIgCCgCACEKDAMLQZUlQeEXQSJB3BcQCwALEFgACyAIKAIAIgogBUEFdkEAIANBIU8bQQJ0akEANgIACyAKIAdBA3ZB/P///wFxaiEDAkAgB0EfcSIHRQRAIABBAEwNASAAQSBtIQUgAEEfakE/TwRAIAMgBCAFQQJ0EDMaCyAAIAVBBXRrIgBBAEwNASADIAVBAnQiBWoiAyADKAIAQX9BICAAa3YiAEF/c3EgBCAFaigCACAAcXI2AgAMAQsgAEEATA0AQX8gB3QhDEEgIAdrIQkgAEEgTgRAIAxBf3MhDSADKAIAIQUDQCADIAUgDXEgBCgCACIFIAd0cjYCACADIAMoAgQgDHEgBSAJdnIiBTYCBCAEQQRqIQQgA0EEaiEDIABBP0shDiAAQSBrIQAgDg0ACyAAQQBMDQELIAMgAygCAEF/IAkgCSAAIAAgCUobIgVrdiAMcUF/c3EgBCgCAEF/QSAgAGt2cSIEIAd0cjYCACAAIAVrIgBBAEwNACADIAUgB2pBA3ZB/P///wFxaiIDIAMoAgBBf0EgIABrdkF/c3EgBCAFdnI2AgALIAYoAgwhACAGIAo2AgwgBiAIKAIEIgM2AhAgBiAIKAIINgIUIABFDQAgABAjIAYoAhAhAwsgBiADQQFqNgIQIAYoAgwgA0EDdkH8////AXFqIgAgACgCAEF+IAN3cTYCACABLwAAIQMLIANBB3EgC0EEdHJBCHIhAwsgASADOwAAIAhBEGokAAuPAQIBfwF9IwBBEGsiAyQAIANBCGogAEHoAGogAEHUAEHWACABQf4BcUECRhtqLwEAIgEgAC8BWCABQQdxGxAfQwAAwH8hBAJAAkACQCADLQAMQQFrDgIAAQILIAMqAgghBAwBCyADKgIIIAKUQwrXIzyUIQQLIANBEGokACAEQwAAAACXQwAAAAAgBCAEWxsL2AICBH8BfSMAQSBrIgMkAAJAIAAoAgwiAQRAIAAgACoClAMgACoCmAMgAREnACIFIAVbDQEgA0GqHjYCACAAQQVB2CUgAxAsECQACyADQRBqIAAQMgJAIAMoAhAiAiADKAIUIgFyRQ0AAkADQCABIAIoAuwDIAIoAugDIgJrQQJ1SQRAIAIgAUECdGooAgAiASgC3AMNAyABLwAVIAEtABdBEHRyIgJBgOAAcUGAwABHBEAgAkEIdkEPcSICBH8gAgUgAC0AFUEEdgtBBUYEQCAALQAUQQhxDQQLIAEtAABBAnENAyAEIAEgBBshBAsgA0EQahAuIAMoAhQiASADKAIQIgJyDQEMAwsLEAIACyABIQQLIAMoAhgiAQRAA0AgASgCACECIAEQIyACIgENAAsLIARFBEAgACoCmAMhBQwBCyAEEE4gBCoCoAOSIQULIANBIGokACAFC6EDAQh/AkAgACgC6AMiBSAAKALsAyIHRwRAA0AgACAFKAIAIgIoAuQDRwRAAkAgACgC9AMoAgAiAQRAIAIgACAGIAERBgAiAQ0BC0GIBBAeIgEgAigCEDYCECABIAIpAgg3AgggASACKQIANwIAIAFBFGogAkEUakHoABArGiABQgA3AoABIAFB/ABqIgNBADsBACABQgA3AogBIAFCADcCkAEgAyACQfwAahCgASABQZgBaiACQZgBakHQAhArGiABQQA2AvADIAFCADcC6AMgAigC7AMiAyACKALoAyIERwRAIAMgBGsiBEEASA0FIAEgBBAeIgM2AuwDIAEgAzYC6AMgASADIARqNgLwAyACKALoAyIEIAIoAuwDIghHBEADQCADIAQoAgA2AgAgA0EEaiEDIARBBGoiBCAIRw0ACwsgASADNgLsAwsgASACKQL0AzcC9AMgASACKAKEBDYChAQgASACKQL8AzcC/AMgAUEANgLkAwsgBSABNgIAIAEgADYC5AMLIAZBAWohBiAFQQRqIgUgB0cNAAsLDwsQAgALUAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUEwahBDDwsgACABIAFBMGogAxBEDwsgACABIAFBMGoQQg8LECQACyAAIAEgAUEwaiADEEULcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QdwlaigCACACEDZDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwt5AgF/AX0jAEEQayIDJAAgA0EIaiAAIAFBAnRB7CVqKAIAIAIQU0MAAMB/IQQCQAJAAkAgAy0ADEEBaw4CAAECCyADKgIIIQQMAQsgAyoCCEMAAAAAlEMK1yM8lCEECyADQRBqJAAgBEMAAAAAl0MAAAAAIAQgBFsbC1QAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBwgBqEEMPCyAAIAEgAUHCAGogAxBEDwsgACABIAFBwgBqEEIPCxAkAAsgACABIAFBwgBqIAMQRQsvACAAIAJFQQF0IgIgASADEGAgACACIAEQS5IgACACIAEgAxB/IAAgAiABEFKSkgvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akH2AGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDkDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCyADQRBqJAALzgECA38CfSMAQRBrIgMk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AWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwscACAAIAFBCCACpyACQiCIpyADpyADQiCIpxAVCwUAEFgACzkAIABFBEBBAA8LAn8gAUGAf3FBgL8DRiABQf8ATXJFBEBB/DtBGTYCAEF/DAELIAAgAToAAEEBCwvEAgACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIACgsMCgsCAwQFDAsMDAoLBwgJCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCwALIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LAAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRAQALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQegAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQOQNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLIANBEGokAAtdAQR/IAAoAgAhAgNAIAIsAAAiAxBXBEBBfyEEIAAgAkEBaiICNgIAIAFBzJmz5gBNBH9BfyADQTBrIgMgAUEKbCIEaiADIARB/////wdzShsFIAQLIQEMAQsLIAELrhQCEn8BfiMAQdAAayIIJAAgCCABNgJMIAhBN2ohFyAIQThqIRQCQAJAAkACQANAIAEhDSAHIA5B/////wdzSg0BIAcgDmohDgJAAkACQCANIgctAAAiCQRAA0ACQAJAIAlB/wFxIgFFBEAgByEBDAELIAFBJUcNASAH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IQEgAEIANwIEIAAgATYCACABIAA2AgQgAkEQaiQAIAALGwEBfyAABEAgACgCACIBBEAgARAjCyAAECMLC0kBAn9BBBAeIQFBIBAeIgBBADYCHCAAQoCAgICAgIDAPzcCFCAAQgA3AgwgAEEAOgAIIABBAzYCBCAAQQA2AgAgASAANgIAIAELIAAgAkEFR0EAIAIbRQRAQbgwIAMgBBBJDwsgAyAEEHALIgEBfiABIAKtIAOtQiCGhCAEIAARFQAiBUIgiKckASAFpwuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGECsaIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEECsaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACCwQAQgALBABBAAuKBQIGfgJ/IAEgASgCAEEHakF4cSIBQRBqNgIAIAAhCSABKQMAIQMgASkDCCEGIwBBIGsiCCQAAkAgBkL///////////8AgyIEQoCAgICAgMCAPH0gBEKAgICAgIDA/8MAfVQEQCAGQgSGIANCPIiEIQQgA0L//////////w+DIgNCgYCAgICAgIAIWgRAIARCgYCAgICAgIDAAHwhAgwCCyAEQoCAgICAgICAQH0hAiADQoCAgICAgICACFINASACIARCAYN8IQIMAQsgA1AgBEKAgICAgIDA//8AVCAEQoCAgICAgMD//wBRG0UEQCAGQgSGIANCPIiEQv////////8Dg0KAgICAgICA/P8AhCECDAELQoCAgICAgID4/wAhAiAEQv///////7//wwBWDQBCACECIARCMIinIgBBkfcASQ0AIAMhAiAGQv///////z+DQoCAgICAgMAAhCIFIQcCQCAAQYH3AGsiAUHAAHEEQCACIAFBQGqthiEHQgAhAgwBCyABRQ0AIAcgAa0iBIYgAkHAACABa62IhCEHIAIgBIYhAgsgCCACNwMQIAggBzcDGAJAQYH4ACAAayIAQcAAcQRAIAUgAEFAaq2IIQNCACEFDAELIABFDQAgBUHAACAAa62GIAMgAK0iAoiEIQMgBSACiCEFCyAIIAM3AwAgCCAF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ASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxEBAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCAALCQAgASAAEQIACwUAQcM7Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAqCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRHgALBQBBvjsLIQAgACABKAIAIAEgASwAC0EASBtBuzsgAigCABAQNgIACyoBAX9BDBAeIgFBADoABCABIAAoAgA2AgggAEEANgIAIAFB2Cc2AgAgAQsFAEG7OwsFAEG4OwshACAAIAEoAgAgASABLAALQQBIG0GkOyACKAIAEBA2AgAL2AEBBH8jAEEgayIDJAAgASgCACIEQfD///8HSQRAAkACQCAEQQtPBEAgBEEPckEBaiIFEB4hBiADIAVBgICAgHhyNgIQIAMgBjYCCCADIAQ2AgwgBCAGaiEFDAELIAMgBDoAEyADQQhqIgYgBGohBSAERQ0BCyAGIAFBBGogBBArGgsgBUEAOgAAIAMgAjYCACADQRhqIANBCGogAyAAEQMAIAMoAhgQHSADKAIYIgAQBiADKAIAEAYgAywAE0EASARAIAMoAggQIwsgA0EgaiQAIAAPCxACAAsqAQF/QQwQHiIBQQA6AAQgASAAKAIANgIIIABBADYCACABQeAmNgIA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AkEIaiAIIAYQHyACIAcgAC8AABAfQQEhAyACKgIIIgogAioCACILXAR/IAogClsNAyALIAtcBSADC0UNAiACLQAMIAItAARHDQILIABBAmohAEEBIQMgBCEGQQEhBCAGRQ0ACyABLwB6IgBBB3FFBEAgBS0AekEHcUUNAgsgCCAAECAiCiAHIAUvAHoQICILWw0BIAogClsNACALIAtcDQELIAFBFGogBUEUakHoABArGiABQfwAaiAFQfwAahCgAQNAIAEtAAAiAEEEcQ0BIAEgAEEEcjoAACABKAIQIgAEQCABIAARAAALIAFBgICA/gc2ApwBIAEoAuQDIgENAAsLIAJBEGokAAvGAwEEfyMAQaAEayICJAAgACgCBCEBIABBADYCBCABBEAgASABKAIAKAIEEQAACyAAKAIIIQEgAEEANgIIIAEEQCABIAEoAgAoAgQRAAALAkAgACgCACIAKALoAyAAKALsA0YEQCAAKALkAw0BIAAgAkEYaiAAKAL0AxBcIgEpAgA3AgAgACABKAIQNgIQIAAgASkCCDcCCCAAQRRqIAFBFGpB6AAQKxogACABKQKMATcCjAEgACABKQKEATcChAEgACABKQJ8NwJ8IAEoApQBIQQgAUEANgKUASAAKAKUASEDIAAgBDYClAEgAwRAIAMQWwsgAEGYAWogAUGYAWpB0AIQKxogACgC6AMiAwRAIAAgAzYC7AMgAxAjCyAAIAEoAugDNgLoAyAAIAEoAuwDNgLsAyAAIAEoAvADNgLwAyABQQA2AvADIAFCADcC6AMgACABKQL8AzcC/AMgACABKQL0AzcC9AMgACABKAKEBDYChAQgASgClAEhACABQQA2ApQBIAAEQCAAEFsLIAJBoARqJAAPCyACQfAcNgIQIABBBUHYJSACQRBqECwQJAALIAJB5hE2AgAgAEEFQdglIAIQLBAkAAsLAEEMEB4gABCiAQsLAEEMEB5BABCiAQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhQLGQAgAUH/AXEEQBACAAsgACgCACgCEEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLJgAgASAAKAIAIgAoAhRHBEAgACABNgIUIAAgACgCDEEBajYCDAsLkgEBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGAEQCABIAAqAhhcBEAgACABOAIYIAAgACgCDEEBajYCDAsgAkEQaiQADwsgAkGIFDYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQbgwQdglIAIQSRoMAQsgAEEAQQVB2CUgAiAAKAIEEQ0AGgsgA0EQaiQAECQACz8AIAFB/wFxRQRAIAIgACgCACIAKAIQIgFBAXFHBEAgACABQX5xIAJyNgIQIAAgACgCDEEBajYCDAsPCxACAAsL4CYjAEGACAuBHk9ubHkgbGVhZiBub2RlcyB3aXRoIGN1c3RvbSBtZWFzdXJlIGZ1bmN0aW9ucyBzaG91bGQgbWFudWFsbHkgbWFyayB0aGVtc2VsdmVzIGFzIGRpcnR5AGlzRGlydHkAbWFya0RpcnR5AGRlc3Ryb3kAc2V0RGlzcGxheQBnZXREaXNwbGF5AHNldEZsZXgALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABzZXRGbGV4R3JvdwBnZXRGbGV4R3JvdwBzZXRPdmVyZmxvdwBnZXRPdmVyZmxvdwBoYXNOZXdMYXlvdXQAY2FsY3VsYXRlTGF5b3V0AGdldENvbXB1dGVkTGF5b3V0AHVuc2lnbmVkIHNob3J0AGdldENoaWxkQ291bnQAdW5zaWduZWQgaW50AHNldEp1c3RpZnlDb250ZW50AGdldEp1c3RpZnlDb250ZW50AGF2YWlsYWJsZUhlaWdodCBpcyBpbmRlZmluaXRlIHNvIGhlaWdodFNpemluZ01vZGUgbXVzdCBiZSBTaXppbmdNb2RlOjpNYXhDb250ZW50AGF2YWlsYWJsZVdpZHRoIGlzIGluZGVmaW5pdGUgc28gd2lkdGhTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABzZXRBbGlnbkNvbnRlbnQAZ2V0QWxpZ25Db250ZW50AGdldFBhcmVudABpbXBsZW1lbnQAc2V0TWF4SGVpZ2h0UGVyY2VudABzZXRIZWlnaHRQZXJjZW50AHNldE1pbkhlaWdodFBlcmNlbnQAc2V0RmxleEJhc2lzUGVyY2VudABzZXRHYXBQZXJjZW50AHNldFBvc2l0aW9uUGVyY2VudABzZXRNYXJnaW5QZXJjZW50AHNldE1heFdpZHRoUGVyY2VudABzZXRXaWR0aFBlcmNlbnQAc2V0TWluV2lkdGhQZXJjZW50AHNldFBhZGRpbmdQZXJjZW50AGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6UG9pbnQgfHwgaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQZXJjZW50AGNyZWF0ZURlZmF1bHQAdW5pdAByaWdodABoZWlnaHQAc2V0TWF4SGVpZ2h0AGdldE1heEhlaWdodABzZXRIZWlnaHQAZ2V0SGVpZ2h0AHNldE1pbkhlaWdodABnZXRNaW5IZWlnaHQAZ2V0Q29tcHV0ZWRIZWlnaHQAZ2V0Q29tcHV0ZWRSaWdodABsZWZ0AGdldENvbXB1dGVkTGVmdAByZXNldABfX2Rlc3RydWN0AGZsb2F0AHVpbnQ2NF90AHVzZVdlYkRlZmF1bHRzAHNldFVzZVdlYkRlZmF1bHRzAHNldEFsaWduSXRlbXMAZ2V0QWxpZ25JdGVtcwBzZXRGbGV4QmFzaXMAZ2V0RmxleEJhc2lzAENhbm5vdCBnZXQgbGF5b3V0IHByb3BlcnRpZXMgb2YgbXVsdGktZWRnZSBzaG9ydGhhbmRzAHNldFBvaW50U2NhbGVGYWN0b3IATWVhc3VyZUNhbGxiYWNrV3JhcHBlcgBEaXJ0aWVkQ2FsbGJhY2tXcmFwcGVyAENhbm5vdCByZXNldCBhIG5vZGUgc3RpbGwgYXR0YWNoZWQgdG8gYSBvd25lcgBzZXRCb3JkZXIAZ2V0Qm9yZGVyAGdldENvbXB1dGVkQm9yZGVyAGdldE51bWJlcgBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6Ok51bWJlcgB1bnNpZ25lZCBjaGFyAHRvcABnZXRDb21wdXRlZFRvcABzZXRGbGV4V3JhcABnZXRGbGV4V3JhcABzZXRHYXAAZ2V0R2FwACVwAHNldEhlaWdodEF1dG8Ac2V0RmxleEJhc2lzQXV0bwBzZXRQb3NpdGlvbkF1dG8Ac2V0TWFyZ2luQXV0bwBzZXRXaWR0aEF1dG8AU2NhbGUgZmFjdG9yIHNob3VsZCBub3QgYmUgbGVzcyB0aGFuIHplcm8Ac2V0QXNwZWN0UmF0aW8AZ2V0QXNwZWN0UmF0aW8Ac2V0UG9zaXRpb24AZ2V0UG9zaXRpb24Abm90aWZ5T25EZXN0cnVjdGlvbgBzZXRGbGV4RGlyZWN0aW9uAGdldEZsZXhEaXJlY3Rpb24Ac2V0RGlyZWN0aW9uAGdldERpcmVjdGlvbgBzZXRNYXJnaW4AZ2V0TWFyZ2luAGdldENvbXB1dGVkTWFyZ2luAG1hcmtMYXlvdXRTZWVuAG5hbgBib3R0b20AZ2V0Q29tcHV0ZWRCb3R0b20AYm9vbABlbXNjcmlwdGVuOjp2YWwAc2V0RmxleFNocmluawBnZXRGbGV4U2hyaW5rAHNldEFsd2F5c0Zvcm1zQ29udGFpbmluZ0Jsb2NrAE1lYXN1cmVDYWxsYmFjawBEaXJ0aWVkQ2FsbGJhY2sAZ2V0TGVuZ3RoAHdpZHRoAHNldE1heFdpZHRoAGdldE1heFdpZHRoAHNldFdpZHRoAGdldFdpZHRoAHNldE1pbldpZHRoAGdldE1pbldpZHRoAGdldENvbXB1dGVkV2lkdGgAcHVzaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1NtYWxsVmFsdWVCdWZmZXIuaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1N0eWxlVmFsdWVQb29sLmgAdW5zaWduZWQgbG9uZwBzZXRCb3hTaXppbmcAZ2V0Qm94U2l6aW5nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEATWVhc3VyZSBmdW5jdGlvbiByZXR1cm5lZCBhbiBpbnZhbGlkIGRpbWVuc2lvbiB0byBZb2dhOiBbd2lkdGg9JWYsIGhlaWdodD0lZl0ARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVk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`;if(!ua(H)){var va=H;H=h$3.locateFile?h$3.locateFile(va,q$2):q$2+va}function wa(){var a$1=H;try{if(a$1==H&&w$2)return new Uint8Array(w$2);if(ua(a$1))try{var b$1=xa(a$1.slice(37)),c$3=new Uint8Array(b$1.length);for(a$1=0;a$1<b$1.length;++a$1)c$3[a$1]=b$1.charCodeAt(a$1);var d$3=c$3}catch{throw Error(`Converting base64 string to bytes failed.`)}else d$3=void 0;var e$1=d$3;if(e$1)return e$1;throw`both async and sync fetching of the wasm failed`}catch(f){x(f)}}function ya(){return w$2||typeof fetch!=`function`?Promise.resolve().then(function(){return wa()}):fetch(H,{credentials:`same-origin`}).then(function(a$1){if(!a$1.ok)throw`failed to load wasm binary file at '`+H+`'`;return a$1.arrayBuffer()}).catch(function(){return wa()})}function za(a$1){for(;0<a$1.length;)a$1.shift()(h$3)}function Aa(a$1){if(a$1===void 0)return`_unknown`;a$1=a$1.replace(/[^a-zA-Z0-9_]/g,`$`);var b$1=a$1.charCodeAt(0);return 48<=b$1&&57>=b$1?`_`+a$1:a$1}function Ba(a$1,b$1){return a$1=Aa(a$1),function(){return b$1.apply(this,arguments)}}var J$1=[{},{value:void 0},{value:null},{value:!0},{value:!1}],Ca=[];function Da(a$1){var b$1=Error,c$3=Ba(a$1,function(d$3){this.name=a$1,this.message=d$3,d$3=Error(d$3).stack,d$3!==void 0&&(this.stack=this.toString()+`
1
+ import{__commonJSMin,__esmMin,__export as __export$5,__require as __require$1,__toCommonJS as __toCommonJS$4,__toDynamicImportESM,__toESM}from"./chunk-D9KrCrVq.js";import{import_websocket}from"./wrapper-DRdRnzOz.js";import{findNearestEntry,migrateDataToBlink,require_main,resolveConfig}from"./util-Gf_yR-5b.js";import{Client as Client$2,deleteAuthToken,getAuthToken,getHost as getHost$1,openUrl,open_default,setAuthToken,source_default}from"./auth-DcHT4wFv.js";import{require_ignore}from"./ignore-ltyKbzfl.js";import{createDevhookID,createGithubApp,createGithubAppSchema,createServerAdapter,createSlackApp,createSlackAppSchema,getDevhookID,hasDevhook}from"./create-github-app-BeSDE8GT.js";import{_usingCtx}from"./usingCtx-CCxav2be.js";import"./utils-BWKsfIcI.js";import{DiagConsoleLogger,DiagLogLevel,SpanStatusCode,ValueType,context,diag,esm_exports as esm_exports$11,init_esm as init_esm$10,metrics,propagation,trace as trace$11}from"./esm-C6nUlmX4.js";import{require_token_error}from"./token-error-CGIVaIg6.js";import{require_undici as require_undici$1}from"./undici-BiTrd9-R.js";import{APICallError,APIServerURLEnvironmentVariable,ChatManager,Client as Client$3,CustomChatResponseError,EmptyResponseBodyError,EventSourceParserStream,InvalidArgumentError,JSONParseError,RWLock,TypeValidationError,checkOptionalParameter,convertMessage,createAnthropic,createDiskStore,createOpenAI,createParser,decodeURIComponent_,getLockInfo,getPath as getPath$1,getPathNoStrict,getPattern,getQueryParam,getQueryParams,hc,isLogMessage,isStoredMessageMetadata,isToolApprovalOutput,lastUIOptions,lock,mergePath,parse as parse$17,splitPath,splitRoutingPath,tools as tools$1,tryDecode}from"./chat-manager-CIKM5Z0y.js";import{templates}from"./init-templates-Daj0GxEe.js";import{errorMonitor}from"events";import*as https$5 from"https";import*as http$7 from"http";import{createServer}from"http";import crypto$1 from"crypto";import{Readable}from"stream";import*as zlib$2 from"zlib";import EventEmitter,{EventEmitter as EventEmitter$1,addAbortListener,on,once,setMaxListeners}from"node:events";import{ChildProcess,exec,execFile,execSync,spawn,spawnSync}from"node:child_process";import*as path$2 from"node:path";import path,{basename,dirname,join,posix,win32}from"node:path";import*as fs$4 from"node:fs";import fs,{appendFileSync,createReadStream,createWriteStream,promises,readFileSync,statSync,writeFileSync}from"node:fs";import*as process$1 from"node:process";import y,{cwd,env,execArgv,execPath,hrtime,platform}from"node:process";import path$1,{basename as basename$1,dirname as dirname$1,join as join$1,normalize,relative as relative$1,resolve as resolve$1,sep}from"path";import*as nativeFs from"fs";import fs$1,{createWriteStream as createWriteStream$1,existsSync as existsSync$1,lstatSync,mkdirSync as mkdirSync$1,readFileSync as readFileSync$1,readdir,readdirSync,readlinkSync,realpathSync,watch,writeFile,writeFileSync as writeFileSync$1}from"fs";import{createRequire}from"module";import*as fs$37 from"fs/promises";import{readFile,writeFile as writeFile$1}from"fs/promises";import{z}from"zod";import*as z4 from"zod/v4";import{z as z$2}from"zod/v4";import{ZodFirstPartyTypeKind}from"zod/v3";import*as fs$3 from"node:fs/promises";import fs$2,{lstat,readdir as readdir$2,readlink,realpath}from"node:fs/promises";import util,{TextDecoder as TextDecoder$1,aborted,callbackify,debuglog,inspect,promisify,stripVTControlCharacters}from"node:util";import*as readline from"node:readline";import O from"node:readline";import Stream,{Duplex,PassThrough,Readable as Readable$1,Stream as Stream$1,Transform,Writable,getDefaultHighWaterMark}from"node:stream";import*as os$2 from"node:os";import os,{EOL,constants as constants$1,platform as platform$1}from"node:os";import tty from"node:tty";import os$1 from"os";import{Buffer as Buffer$1}from"node:buffer";import url,{URL as URL$1,fileURLToPath,pathToFileURL}from"node:url";import*as crypto$3 from"node:crypto";import crypto$2,{createHash,randomUUID as randomUUID$1}from"node:crypto";import{checkServerIdentity}from"node:tls";import*as http$5 from"node:http";import http$1,{ServerResponse}from"node:http";import{finished,pipeline}from"node:stream/promises";import https from"node:https";import{spawn as spawn$1}from"child_process";import{inspect as inspect$1,types}from"util";import*as net$2 from"node:net";import net from"node:net";import{AsyncLocalStorage}from"node:async_hooks";import{ADDRCONFIG,ALL,V4MAPPED,lookup,promises as promises$1}from"node:dns";import{convertToModelMessages,getToolOrDynamicToolName,isToolOrDynamicToolUIPart,readUIMessageStream,streamText,tool}from"ai";import React,{PureComponent,createContext,forwardRef,memo,useCallback,useContext,useEffect,useLayoutEffect,useMemo,useReducer,useRef,useState}from"react";import"@blink-sdk/compute-protocol/client";import{createInMemoryClientServer}from"@blink-sdk/compute-protocol/transport";import{Fragment,jsx,jsxs}from"react/jsx-runtime";import{StringDecoder}from"node:string_decoder";import{scheduler,setImmediate as setImmediate$1,setTimeout as setTimeout$1}from"node:timers/promises";import{serialize}from"node:v8";function debounce$1(func,debounceMs,{signal,edges}={}){let pendingThis,pendingArgs=null,leading=edges!=null&&edges.includes(`leading`),trailing=edges==null||edges.includes(`trailing`),invoke=()=>{pendingArgs!==null&&(func.apply(pendingThis,pendingArgs),pendingThis=void 0,pendingArgs=null)},onTimerEnd=()=>{trailing&&invoke(),cancel()},timeoutId=null,schedule=()=>{timeoutId!=null&&clearTimeout(timeoutId),timeoutId=setTimeout(()=>{timeoutId=null,onTimerEnd()},debounceMs)},cancelTimer=()=>{timeoutId!==null&&(clearTimeout(timeoutId),timeoutId=null)},cancel=()=>{cancelTimer(),pendingThis=void 0,pendingArgs=null},flush=()=>{invoke()},debounced=function(...args){if(signal?.aborted)return;pendingThis=this,pendingArgs=args;let isFirstCall=timeoutId==null;schedule(),leading&&isFirstCall&&invoke()};return debounced.schedule=schedule,debounced.cancel=cancel,debounced.flush=flush,signal?.addEventListener(`abort`,cancel,{once:!0}),debounced}function debounce(func,debounceMs=0,options$1={}){typeof options$1!=`object`&&(options$1={});let{leading=!1,trailing=!0,maxWait}=options$1,edges=[,,];leading&&(edges[0]=`leading`),trailing&&(edges[1]=`trailing`);let result,pendingAt=null,_debounced=debounce$1(function(...args){result=func.apply(this,args),pendingAt=null},debounceMs,{edges}),debounced=function(...args){return maxWait!=null&&(pendingAt===null&&(pendingAt=Date.now()),Date.now()-pendingAt>=maxWait)?(result=func.apply(this,args),pendingAt=Date.now(),_debounced.cancel(),_debounced.schedule(),result):(_debounced.apply(this,args),result)};return debounced.cancel=_debounced.cancel,debounced.flush=()=>(_debounced.flush(),result),debounced}function throttle(func,throttleMs=0,options$1={}){let{leading=!0,trailing=!0}=options$1;return debounce(func,throttleMs,{leading,maxWait:throttleMs,trailing})}const isBrowser=globalThis.window?.document!==void 0,isNode$1=globalThis.process?.versions?.node!==void 0,isBun=globalThis.process?.versions?.bun!==void 0,isDeno=globalThis.Deno?.version?.deno!==void 0,isElectron$1=globalThis.process?.versions?.electron!==void 0,isJsDom=globalThis.navigator?.userAgent?.includes(`jsdom`)===!0,isWebWorker=typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope,isDedicatedWorker=typeof DedicatedWorkerGlobalScope<`u`&&globalThis instanceof DedicatedWorkerGlobalScope,isSharedWorker=typeof SharedWorkerGlobalScope<`u`&&globalThis instanceof SharedWorkerGlobalScope,isServiceWorker=typeof ServiceWorkerGlobalScope<`u`&&globalThis instanceof ServiceWorkerGlobalScope,platform$3=globalThis.navigator?.userAgentData?.platform,isMacOs=platform$3===`macOS`||globalThis.navigator?.platform===`MacIntel`||globalThis.navigator?.userAgent?.includes(` Mac `)===!0||globalThis.process?.platform===`darwin`,isWindows$3=platform$3===`Windows`||globalThis.navigator?.platform===`Win32`||globalThis.process?.platform===`win32`,isLinux=platform$3===`Linux`||globalThis.navigator?.platform?.startsWith(`Linux`)===!0||globalThis.navigator?.userAgent?.includes(` Linux `)===!0||globalThis.process?.platform===`linux`,isIos=platform$3===`iOS`||globalThis.navigator?.platform===`MacIntel`&&globalThis.navigator?.maxTouchPoints>1||/iPad|iPhone|iPod/.test(globalThis.navigator?.platform),isAndroid=platform$3===`Android`||globalThis.navigator?.platform===`Android`||globalThis.navigator?.userAgent?.includes(` Android `)===!0||globalThis.process?.platform===`android`,ESC$1=`\x1B[`,OSC=`\x1B]`,BEL=`\x07`,SEP=`;`,isTerminalApp=!isBrowser&&y.env.TERM_PROGRAM===`Apple_Terminal`,isWindows$2=!isBrowser&&y.platform===`win32`,cwdFunction=isBrowser?()=>{throw Error("`process.cwd()` only works in Node.js, not the browser.")}:y.cwd,cursorUp=(count$1=1)=>`\x1B[`+count$1+`A`,cursorLeft=`\x1B[G`,cursorSavePosition=isTerminalApp?`\x1B7`:`\x1B[s`,cursorRestorePosition=isTerminalApp?`\x1B8`:`\x1B[u`,cursorGetPosition=`\x1B[6n`,cursorNextLine=`\x1B[E`,cursorPrevLine=`\x1B[F`,cursorHide=`\x1B[?25l`,cursorShow=`\x1B[?25h`,eraseLines=count$1=>{let clear$1=``;for(let i$7=0;i$7<count$1;i$7++)clear$1+=eraseLine+(i$7<count$1-1?cursorUp():``);return count$1&&(clear$1+=`\x1B[G`),clear$1},eraseEndLine=`\x1B[K`,eraseStartLine=`\x1B[1K`,eraseLine=`\x1B[2K`,eraseDown=`\x1B[J`,eraseUp=`\x1B[1J`,eraseScreen=`\x1B[2J`,scrollUp=`\x1B[S`,scrollDown=`\x1B[T`,clearViewport=`${eraseScreen}`,clearTerminal=isWindows$2?`${eraseScreen}`:`${eraseScreen}`,enterAlternativeScreen=`\x1B[?1049h`,exitAlternativeScreen=`\x1B[?1049l`,link$3=(text,url$3)=>[`\x1B]`,`8`,`;`,`;`,url$3,`\x07`,text,`\x1B]`,`8`,`;`,`;`,`\x07`].join(``),check$1=key$1=>key$1 in env&&env[key$1]!==`0`&&env[key$1]!==`false`;var is_in_ci_default=check$1(`CI`)||check$1(`CONTINUOUS_INTEGRATION`);const getAllProperties=object=>{let properties$1=new Set;do for(let key$1 of Reflect.ownKeys(object))properties$1.add([object,key$1]);while((object=Reflect.getPrototypeOf(object))&&object!==Object.prototype);return properties$1};function autoBind(self$1,{include,exclude}={}){let filter$3=key$1=>{let match$1=pattern=>typeof pattern==`string`?key$1===pattern:pattern.test(key$1);return include?include.some(match$1):exclude?!exclude.some(match$1):!0};for(let[object,key$1]of getAllProperties(self$1.constructor.prototype)){if(key$1===`constructor`||!filter$3(key$1))continue;let descriptor$1=Reflect.getOwnPropertyDescriptor(object,key$1);descriptor$1&&typeof descriptor$1.value==`function`&&(self$1[key$1]=self$1[key$1].bind(self$1))}return self$1}var require_signals=__commonJSMin(((exports,module)=>{module.exports=[`SIGABRT`,`SIGALRM`,`SIGHUP`,`SIGINT`,`SIGTERM`],process.platform!==`win32`&&module.exports.push(`SIGVTALRM`,`SIGXCPU`,`SIGXFSZ`,`SIGUSR2`,`SIGTRAP`,`SIGSYS`,`SIGQUIT`,`SIGIOT`),process.platform===`linux`&&module.exports.push(`SIGIO`,`SIGPOLL`,`SIGPWR`,`SIGSTKFLT`,`SIGUNUSED`)})),require_signal_exit=__commonJSMin(((exports,module)=>{var process$17=global.process;let processOk$1=function(process$18){return process$18&&typeof process$18==`object`&&typeof process$18.removeListener==`function`&&typeof process$18.emit==`function`&&typeof process$18.reallyExit==`function`&&typeof process$18.listeners==`function`&&typeof process$18.kill==`function`&&typeof process$18.pid==`number`&&typeof process$18.on==`function`};if(!processOk$1(process$17))module.exports=function(){return function(){}};else{var assert$2=__require$1(`assert`),signals$1=require_signals(),isWin$2=/^win/i.test(process$17.platform),EE=__require$1(`events`);typeof EE!=`function`&&(EE=EE.EventEmitter);var emitter;process$17.__signal_exit_emitter__?emitter=process$17.__signal_exit_emitter__:(emitter=process$17.__signal_exit_emitter__=new EE,emitter.count=0,emitter.emitted={}),emitter.infinite||=(emitter.setMaxListeners(1/0),!0),module.exports=function(cb,opts){if(!processOk$1(global.process))return function(){};assert$2.equal(typeof cb,`function`,`a callback must be provided for exit handler`),loaded===!1&&load$6();var ev=`exit`;return opts&&opts.alwaysLast&&(ev=`afterexit`),emitter.on(ev,cb),function(){emitter.removeListener(ev,cb),emitter.listeners(`exit`).length===0&&emitter.listeners(`afterexit`).length===0&&unload$1()}};var unload$1=function(){!loaded||!processOk$1(global.process)||(loaded=!1,signals$1.forEach(function(sig){try{process$17.removeListener(sig,sigListeners[sig])}catch{}}),process$17.emit=originalProcessEmit,process$17.reallyExit=originalProcessReallyExit,--emitter.count)};module.exports.unload=unload$1;var emit=function(event,code$1,signal){emitter.emitted[event]||(emitter.emitted[event]=!0,emitter.emit(event,code$1,signal))},sigListeners={};signals$1.forEach(function(sig){sigListeners[sig]=function(){processOk$1(global.process)&&process$17.listeners(sig).length===emitter.count&&(unload$1(),emit(`exit`,null,sig),emit(`afterexit`,null,sig),isWin$2&&sig===`SIGHUP`&&(sig=`SIGINT`),process$17.kill(process$17.pid,sig))}}),module.exports.signals=function(){return signals$1};var loaded=!1,load$6=function(){loaded||!processOk$1(global.process)||(loaded=!0,emitter.count+=1,signals$1=signals$1.filter(function(sig){try{return process$17.on(sig,sigListeners[sig]),!0}catch{return!1}}),process$17.emit=processEmit,process$17.reallyExit=processReallyExit)};module.exports.load=load$6;var originalProcessReallyExit=process$17.reallyExit,processReallyExit=function(code$1){processOk$1(global.process)&&(process$17.exitCode=code$1||0,emit(`exit`,process$17.exitCode,null),emit(`afterexit`,process$17.exitCode,null),originalProcessReallyExit.call(process$17,process$17.exitCode))},originalProcessEmit=process$17.emit,processEmit=function(ev,arg){if(ev===`exit`&&processOk$1(global.process)){arg!==void 0&&(process$17.exitCode=arg);var ret=originalProcessEmit.apply(this,arguments);return emit(`exit`,process$17.exitCode,null),emit(`afterexit`,process$17.exitCode,null),ret}else return originalProcessEmit.apply(this,arguments)}}})),import_signal_exit$1=__toESM(require_signal_exit(),1);const consoleMethods=[`assert`,`count`,`countReset`,`debug`,`dir`,`dirxml`,`error`,`group`,`groupCollapsed`,`groupEnd`,`info`,`log`,`table`,`time`,`timeEnd`,`timeLog`,`trace`,`warn`];let originalMethods={};var dist_default$1=callback$1=>{let stdout$1=new PassThrough,stderr=new PassThrough;stdout$1.write=data$2=>{callback$1(`stdout`,data$2)},stderr.write=data$2=>{callback$1(`stderr`,data$2)};let internalConsole=new console.Console(stdout$1,stderr);for(let method of consoleMethods)originalMethods[method]=console[method],console[method]=internalConsole[method];return()=>{for(let method of consoleMethods)console[method]=originalMethods[method];originalMethods={}}},require_react_reconciler_constants_production=__commonJSMin((exports=>{exports.DefaultEventPriority=32,exports.LegacyRoot=0,exports.NoEventPriority=0})),require_react_reconciler_constants_development=__commonJSMin((exports=>{process.env.NODE_ENV!==`production`&&(exports.ConcurrentRoot=1,exports.ContinuousEventPriority=8,exports.DefaultEventPriority=32,exports.DiscreteEventPriority=2,exports.IdleEventPriority=268435456,exports.LegacyRoot=0,exports.NoEventPriority=0)})),require_constants$15=__commonJSMin(((exports,module)=>{process.env.NODE_ENV===`production`?module.exports=require_react_reconciler_constants_production():module.exports=require_react_reconciler_constants_development()})),import_constants$1=__toESM(require_constants$15(),1),yoga_wasm_base64_esm_default=(()=>{var _scriptDir=import.meta.url;return(function(loadYoga$1){loadYoga$1||={};var h$3;h$3||=loadYoga$1===void 0?{}:loadYoga$1;var aa,ca;h$3.ready=new Promise(function(a$1,b$1){aa=a$1,ca=b$1});var da=Object.assign({},h$3),q$2=``;typeof document<`u`&&document.currentScript&&(q$2=document.currentScript.src),_scriptDir&&(q$2=_scriptDir),q$2=q$2.indexOf(`blob:`)===0?``:q$2.substr(0,q$2.replace(/[?#].*/,``).lastIndexOf(`/`)+1);var ea=h$3.print||console.log.bind(console),v$1=h$3.printErr||console.warn.bind(console);Object.assign(h$3,da),da=null;var w$2;h$3.wasmBinary&&(w$2=h$3.wasmBinary),h$3.noExitRuntime,typeof WebAssembly!=`object`&&x(`no native wasm support detected`);var fa,ha=!1;function z$4(a$1,b$1,c$3){c$3=b$1+c$3;for(var d$3=``;!(b$1>=c$3);){var e$1=a$1[b$1++];if(!e$1)break;if(e$1&128){var f=a$1[b$1++]&63;if((e$1&224)==192)d$3+=String.fromCharCode((e$1&31)<<6|f);else{var g=a$1[b$1++]&63;e$1=(e$1&240)==224?(e$1&15)<<12|f<<6|g:(e$1&7)<<18|f<<12|g<<6|a$1[b$1++]&63,65536>e$1?d$3+=String.fromCharCode(e$1):(e$1-=65536,d$3+=String.fromCharCode(55296|e$1>>10,56320|e$1&1023))}}else d$3+=String.fromCharCode(e$1)}return d$3}var ia,ja,A,C$1,ka,D$1,E$2,la,ma;function na(){var a$1=fa.buffer;ia=a$1,h$3.HEAP8=ja=new Int8Array(a$1),h$3.HEAP16=C$1=new Int16Array(a$1),h$3.HEAP32=D$1=new Int32Array(a$1),h$3.HEAPU8=A=new Uint8Array(a$1),h$3.HEAPU16=ka=new Uint16Array(a$1),h$3.HEAPU32=E$2=new Uint32Array(a$1),h$3.HEAPF32=la=new Float32Array(a$1),h$3.HEAPF64=ma=new Float64Array(a$1)}var oa,pa=[],qa=[],ra=[];function sa(){var a$1=h$3.preRun.shift();pa.unshift(a$1)}var F$1=0,ta=null,G$1=null;function x(a$1){throw h$3.onAbort&&h$3.onAbort(a$1),a$1=`Aborted(`+a$1+`)`,v$1(a$1),ha=!0,a$1=new WebAssembly.RuntimeError(a$1+`. Build with -sASSERTIONS for more info.`),ca(a$1),a$1}function ua(a$1){return a$1.startsWith(`data:application/octet-stream;base64,`)}var H=`data:application/octet-stream;base64,AGFzbQEAAAABugM3YAF/AGACf38AYAF/AX9gA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWADf398AGAAAGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAV/f39/fwBgAn9/AX1gBX9/f319AX1gAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBn9/f319fQF9YAR/f31/AGADf399AX1gBn98f39/fwF/YAR/fHx/AGACf30AYAh/f39/f39/fwBgDX9/f39/f39/f39/f38AYAp/f39/f39/f39/AGAFf39/f38BfGAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gB39/f319f38AYAJ+fwF/YAN/fX0BfWABfAF8YAN/fHwAYAR/f319AGAHf39/fX19fQF9YA1/fX99f31/fX19fX1/AX9gC39/f39/f399fX19AX9gCH9/f39/f319AGAEf39+fgBgB39/f39/f38Bf2ACfH8BfGAFf398fH8AYAN/f38BfGAEf39/fABgA39/fQBgBn9/fX99fwF/ArUBHgFhAWEAHwFhAWIAAwFhAWMACQFhAWQAFgFhAWUAEQFhAWYAIAFhAWcAAAFhAWgAIQFhAWkAAwFhAWoAAAFhAWsAFwFhAWwACgFhAW0ABQFhAW4AAwFhAW8AAQFhAXAAFwFhAXEABgFhAXIAAAFhAXMAIgFhAXQACgFhAXUADQFhAXYAFgFhAXcAAgFhAXgAAwFhAXkAGAFhAXoAAgFhAUEAAQFhAUIAEQFhAUMAAQFhAUQAAAOiAqACAgMSBwcACRkDAAoRBgYKEwAPDxMBBiMTCgcHGgMUASQFJRQHAwMKCgMmAQYYDxobFAAKBw8KBwMDAgkCAAAFGwACBwIHBgIDAQMIDAABKAkHBQURACkZASoAAAIrLAIALQcHBy4HLwkFCgMCMA0xAgMJAgACAQYKAQIBBQEACQIFAQEABQAODQ0GFQIBHBUGAgkCEAAAAAUyDzMMBQYINAUCAwUODg41AgMCAgIDBgICNgIBDAwMAQsLCwsLCx0CAAIAAAABABABBQICAQMCEgMMCwEBAQEBAQsLAQICAwICAgICAgIDAgIICAEICAgEBAQEBAQEBAQABAQABAQEBAAEBAQBAQEICAEBAQEBAQEBCAgBAQEAAg4CAgUBAR4DBAcBcAHUAdQBBQcBAYACgIACBg0CfwFBkMQEC38BQQALByQIAUUCAAFGAG0BRwCwAQFIAK8BAUkAYQFKAQABSwAjAUwApgEJjQMBAEEBC9MBqwGqAaUB5QHiAZwB0AFazwHOAVlZWpsBmgGZAc0BzAHLAcoBWpgByQFZWVqbAZoBmQHIAccBxgGjAZcBpAGWAaMBvQKVAbwCxQG7Ajq6Ajq5ApQBuAI+twI+xAFqwwFqwgFqaWjBAcABvwGhAZcBtgK+AbUClgGhAbQCmAGzAjqxAjqwAr0BrwKuAq0CrAKrAqoCqAKnAqYCpQKkAqMCogKhArwBoAKfAp4CnQKcApsCmgKZApgClwKWApUClAKTApICkQKQAo8CjgKyAo0CjAKLAooCiAKHAqkChQI+hAK7AYMCggKBAoAC/gH9AfwB+QG6AfgBuQH3AfYB9QH0AfMB8gHxAYYC8AHvAbgB+wH6Ae4B7QG3AesBlQHqATrpAT7oAT7nAZQB0QE67AE+iQLmATrkAeMBOuEB4AHfAT7eAd0B3AG2AdsB2gHZAdgB1wHWAdUBtQHUAdMB0gH/AWloaWiPAZABsgGxAZEBhQGSAbQBswGRAa4BrQGsAakBqAGnAYUBCtj+A6ACMwEBfyAAQQEgABshAAJAA0AgABBhIgENAUGIxAAoAgAiAQRAIAERCQAMAQsLEAIACyABC+0BAgJ9A39DAADAfyEEAkACQAJAAkAgAkEHcSIGDgUCAQEBAAELQQMhBQwBCyAGQQFrQQJPDQEgAkHw/wNxQQR2IQcCfSACQQhxBEAgASAHEJ4BvgwBC0EAIAdB/w9xIgFrIAEgAsFBAEgbsgshAyAGQQFGBEAgAyADXA0BQwAAwH8gAyADQwAAgH9bIANDAACA/1tyIgEbIQQgAUUhBQwBCyADIANcDQBBAEECIANDAACAf1sgA0MAAID/W3IiARshBUMAAMB/IAMgARshBAsgACAFOgAEIAAgBDgCAA8LQfQNQakYQTpB+RYQCwALZwIBfQF/QwAAwH8hAgJAAkACQCABQQdxDgQCAAABAAtBxBJBqRhByQBBuhIQCwALIAFB8P8DcUEEdiEDIAFBCHEEQCAAIAMQngG+DwtBACADQf8PcSIAayAAIAHBQQBIG7IhAgsgAgt4AgF/AX0jAEEQayIEJAAgBEEIaiAAQQMgAkECR0EBdCABQf4BcUECRxsgAhAoQwAAwH8hBQJAAkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAAAgBSAFWxsLeAIBfwF9IwBBEGsiBCQAIARBCGogAEEBIAJBAkZBAXQgAUH+AXFBAkcbIAIQKEMAAMB/IQUCQAJAAkAgBC0ADEEBaw4CAAECCyAEKgIIIQUMAQsgBCoCCCADlEMK1yM8lCEFCyAEQRBqJAAgBUMAAAAAIAUgBVsbC8wCAQV/IAAEQCAAQQRrIgEoAgAiBSEDIAEhAiAAQQhrKAIAIgAgAEF+cSIERwRAIAEgBGsiAigCBCIAIAIoAgg2AgggAigCCCAANgIEIAQgBWohAwsgASAFaiIEKAIAIgEgASAEakEEaygCAEcEQCAEKAIEIgAgBCgCCDYCCCAEKAIIIAA2AgQgASADaiEDCyACIAM2AgAgA0F8cSACakEEayADQQFyNgIAIAICfyACKAIAQQhrIgFB/wBNBEAgAUEDdkEBawwBCyABQR0gAWciAGt2QQRzIABBAnRrQe4AaiABQf8fTQ0AGkE/IAFBHiAAa3ZBAnMgAEEBdGtBxwBqIgAgAEE/TxsLIgFBBHQiAEHgMmo2AgQgAiAAQegyaiIAKAIANgIIIAAgAjYCACACKAIIIAI2AgRB6DpB6DopAwBCASABrYaENwMACwsOAEHYMigCABEJABBYAAunAQIBfQJ/IABBFGoiByACIAFBAkkiCCAEIAUQNSEGAkAgByACIAggBCAFEC0iBEMAAAAAYCADIARecQ0AIAZDAAAAAGBFBEAgAyEEDAELIAYgAyADIAZdGyEECyAAQRRqIgAgASACIAUQOCAAIAEgAhAwkiAAIAEgAiAFEDcgACABIAIQL5KSIgMgBCADIAReGyADIAQgBCAEXBsgBCAEWyADIANbcRsLvwEBA38gAC0AAEEgcUUEQAJAIAEhAwJAIAIgACIBKAIQIgAEfyAABSABEJ0BDQEgASgCEAsgASgCFCIFa0sEQCABIAMgAiABKAIkEQYAGgwCCwJAIAEoAlBBAEgNACACIQADQCAAIgRFDQEgAyAEQQFrIgBqLQAAQQpHDQALIAEgAyAEIAEoAiQRBgAgBEkNASADIARqIQMgAiAEayECIAEoAhQhBQsgBSADIAIQKxogASABKAIUIAJqNgIUCwsLCwYAIAAQIwtQAAJAAkACQAJAAkAgAg4EBAABAgMLIAAgASABQQxqEEMPCyAAIAEgAUEMaiADEEQPCyAAIAEgAUEMahBCDwsQJAALIAAgASABQQxqIAMQRQttAQF/IwBBgAJrIgUkACAEQYDABHEgAiADTHJFBEAgBSABQf8BcSACIANrIgNBgAIgA0GAAkkiARsQKhogAUUEQANAIAAgBUGAAhAmIANBgAJrIgNB/wFLDQALCyAAIAUgAxAmCyAFQYACaiQAC/ICAgJ/AX4CQCACRQ0AIAAgAToAACAAIAJqIgNBAWsgAToAACACQQNJDQAgACABOgACIAAgAToAASADQQNrIAE6AAAgA0ECayABOgAAIAJBB0kNACAAIAE6AAMgA0EEayABOgAAIAJBCUkNACAAQQAgAGtBA3EiBGoiAyABQf8BcUGBgoQIbCIBNgIAIAMgAiAEa0F8cSIEaiICQQRrIAE2AgAgBEEJSQ0AIAMgATYCCCADIAE2AgQgAkEIayABNgIAIAJBDGsgATYCACAEQRlJDQAgAyABNgIYIAMgATYCFCADIAE2AhAgAyABNgIMIAJBEGsgATYCACACQRRrIAE2AgAgAkEYayABNgIAIAJBHGsgATYCACAEIANBBHFBGHIiBGsiAkEgSQ0AIAGtQoGAgIAQfiEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkEgayICQR9LDQALCyAAC4AEAQN/IAJBgARPBEAgACABIAIQFyAADwsgACACaiEDAkAgACABc0EDcUUEQAJAIABBA3FFBEAgACECDAELIAJFBEAgACECDAELIAAhAgNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICQQNxRQ0BIAIgA0kNAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgACADQQRrIgRLBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAtIAQF/IwBBEGsiBCQAIAQgAzYCDAJAIABFBEBBAEEAIAEgAiAEKAIMEHEMAQsgACgC9AMgACABIAIgBCgCDBBxCyAEQRBqJAALkwECAX0BfyMAQRBrIgYkACAGQQhqIABB6ABqIAAgAkEBdGovAWIQH0MAAMB/IQUCQAJAAkAgBi0ADEEBaw4CAAECCyAGKgIIIQUMAQsgBioCCCADlEMK1yM8lCEFCyAALQADQRB0QYCAwABxBEAgBSAAIAEgAiAEEFQiA0MAAAAAIAMgA1sbkiEFCyAGQRBqJAAgBQu1AQECfyAAKAIEQQFqIgEgACgCACICKALsAyACKALoAyICa0ECdU8EQANAIAAoAggiAUUEQCAAQQA2AgggAEIANwIADwsgACABKAIENgIAIAAgASgCCDYCBCAAIAEoAgA2AgggARAjIAAoAgRBAWoiASAAKAIAIgIoAuwDIAIoAugDIgJrQQJ1Tw0ACwsgACABNgIEIAIgAUECdGooAgAtABdBEHRBgIAwcUGAgCBGBEAgABB9CwuBAQIBfwF9IwBBEGsiAyQAIANBCGogAEEDIAJBAkdBAXQgAUH+AXFBAkcbIAIQU0MAAMB/IQQCQAJAAkAgAy0ADEEBaw4CAAECCyADKgIIIQQMAQsgAyoCCEMAAAAAlEMK1yM8lCEECyADQRBqJAAgBEMAAAAAl0MAAAAAIAQgBFsbC4EBAgF/AX0jAEEQayIDJAAgA0EIaiAAQQEgAkECRkEBdCABQf4BcUECRxsgAhBTQwAAwH8hBAJAAkACQCADLQAMQQFrDgIAAQILIAMqAgghBAwBCyADKgIIQwAAAACUQwrXIzyUIQQLIANBEGokACAEQwAAAACXQwAAAAAgBCAEWxsLeAICfQF/IAAgAkEDdGoiByoC+AMhBkMAAMB/IQUCQAJAAkAgBy0A/ANBAWsOAgABAgsgBiEFDAELIAYgA5RDCtcjPJQhBQsgAC0AF0EQdEGAgMAAcQR9IAUgAEEUaiABIAIgBBBUIgNDAAAAACADIANbG5IFIAULC1EBAX8CQCABKALoAyICIAEoAuwDRwRAIABCADcCBCAAIAE2AgAgAigCAC0AF0EQdEGAgDBxQYCAIEcNASAAEH0PCyAAQgA3AgAgAEEANgIICwvoAgECfwJAIAAgAUYNACABIAAgAmoiBGtBACACQQF0a00EQCAAIAEgAhArDwsgACABc0EDcSEDAkACQCAAIAFJBEAgAwRAIAAhAwwDCyAAQQNxRQRAIAAhAwwCCyAAIQMDQCACRQ0EIAMgAS0AADoAACABQQFqIQEgAkEBayECIANBAWoiA0EDcQ0ACwwBCwJAIAMNACAEQQNxBEADQCACRQ0FIAAgAkEBayICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQQRrIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkEBayICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AA0AgAyABKAIANgIAIAFBBGohASADQQRqIQMgAkEEayICQQNLDQALCyACRQ0AA0AgAyABLQAAOgAAIANBAWohAyABQQFqIQEgAkEBayICDQALCyAAC5QCAgF8AX8CQCAAIAGiIgAQbCIERAAAAAAAAPA/oCAEIAREAAAAAAAAAABjGyIEIARiIgUgBJlELUMc6+I2Gj9jRXJFBEAgACAEoSEADAELIAUgBEQAAAAAAADwv6CZRC1DHOviNho/Y0VyRQRAIAAgBKFEAAAAAAAA8D+gIQAMAQsgACAEoSEAIAIEQCAARAAAAAAAAPA/oCEADAELIAMNACAAAnxEAAAAAAAAAAAgBQ0AGkQAAAAAAADwPyAERAAAAAAAAOA/ZA0AGkQAAAAAAADwP0QAAAAAAAAAACAERAAAAAAAAOC/oJlELUMc6+I2Gj9jGwugIQALIAAgAGIgASABYnIEQEMAAMB/DwsgACABo7YLkwECAX0BfyMAQRBrIgYkACAGQQhqIABB6ABqIAAgAkEBdGovAV4QH0MAAMB/IQUCQAJAAkAgBi0ADEEBaw4CAAECCyAGKgIIIQUMAQsgBioCCCADlEMK1yM8lCEFCyAALQADQRB0QYCAwABxBEAgBSAAIAEgAiAEEFQiA0MAAAAAIAMgA1sbkiEFCyAGQRBqJAAgBQtQAAJAAkACQAJAAkAgAg4EBAABAgMLIAAgASABQR5qEEMPCyAAIAEgAUEeaiADEEQPCyAAIAEgAUEeahBCDwsQJAALIAAgASABQR5qIAMQRQt+AgF/AX0jAEEQayIEJAAgBEEIaiAAQQMgAkECR0EBdCABQf4BcUECRxsgAhBQQwAAwH8hBQJAAkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAACXQwAAAAAgBSAFWxsLfgIBfwF9IwBBEGsiBCQAIARBCGogAEEBIAJBAkZBAXQgAUH+AXFBAkcbIAIQUEMAAMB/IQUCQAJAAkAgBC0ADEEBaw4CAAECCyAEKgIIIQUMAQsgBCoCCCADlEMK1yM8lCEFCyAEQRBqJAAgBUMAAAAAl0MAAAAAIAUgBVsbC08AAkACQAJAIANB/wFxIgMOBAACAgECCyABIAEvAABB+P8DcTsAAA8LIAEgAS8AAEH4/wNxQQRyOwAADwsgACABIAJBAUECIANBAUYbEEwLNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEBAAtiAgJ9An8CQCAAKALkA0UNACAAQfwAaiIDIABBGmoiBC8BABAgIgIgAlwEQCADIABBGGoiBC8BABAgIgIgAlwNASADIAAvARgQIEMAAAAAXkUNAQsgAyAELwEAECAhAQsgAQtfAQN/IAEEQEEMEB4iAyABKQIENwIEIAMhAiABKAIAIgEEQCADIQQDQEEMEB4iAiABKQIENwIEIAQgAjYCACACIQQgASgCACIBDQALCyACIAAoAgA2AgAgACADNgIACwvXawMtfxx9AX4CfwJAIAAtAABBBHEEQCAAKAKgASAMRw0BCyAAKAKkASAAKAL0AygCDEcNAEEAIAAtAKgBIANGDQEaCyAAQoCAgPyLgIDAv383AoADIABCgYCAgBA3AvgCIABCgICA/IuAgMC/fzcC8AIgAEEANgKsAUEBCyErAkACQAJAAkAgACgCCARAIABBFGoiDkECQQEgBhAiIT4gDkECQQEgBhAhITwgDkEAQQEgBhAiITsgDkEAQQEgBhAhIUAgBCABIAUgAiAAKAL4AiAAQfACaiIOKgIAIAAoAvwCIAAqAvQCIAAqAoADIAAqAoQDID4gPJIiPiA7IECSIjwgACgC9AMiEBB7DQEgACgCrAEiEUUNAyAAQbABaiETA0AgBCABIAUgAiATIB1BGGxqIg4oAgggDioCACAOKAIMIA4qAgQgDioCECAOKgIUID4gPCAQEHsNAiAdQQFqIh0gEUcNAAsMAgsgCEUEQCAAKAKsASITRQ0CIABBsAFqIRADQAJAAkAgECAdQRhsIhFqIg4qAgAiPiA+XCABIAFcckUEQCA+IAGTi0MXt9E4XQ0BDAILIAEgAVsgPiA+W3INAQsCQCAQIBFqIhEqAgQiPiA+XCACIAJcckUEQCA+IAKTi0MXt9E4XQ0BDAILIAIgAlsgPiA+W3INAQsgESgCCCAERw0AIBEoAgwgBUYNAwsgEyAdQQFqIh1HDQALDAILAkAgAEHwAmoiDioCACI+ID5cIAEgAVxyRQRAID4gAZOLQxe30ThdDQEMBAsgASABWyA+ID5bcg0DCyAOQQAgACgC/AIgBUYbQQAgACgC+AIgBEYbQQACfyACIAJcIg4gACoC9AIiPiA+XHJFBEAgPiACk4tDF7fROF0MAQtBACA+ID5bDQAaIA4LGyEOCyAORSArcgRAIA4hHQwCCyAAIA4qAhA4ApQDIAAgDioCFDgCmAMgCkEMQRAgCBtqIgMgAygCAEEBajYCACAOIR0MAgtBACEdCyAGIUAgByFHIAtBAWohIiMAQaABayINJAACQAJAIARBAUYgASABW3JFBEAgDUGqCzYCICAAQQVB2CUgDUEgahAsDAELIAVBAUYgAiACW3JFBEAgDUHZCjYCECAAQQVB2CUgDUEQahAsDAELIApBAEEEIAgbaiILIAsoAgBBAWo2AgAgACAALQCIA0H8AXEgAC0AFEEDcSILIANBASADGyIsIAsbIg9BA3FyOgCIAyAAQawDaiIQIA9BAUdBA3QiC2ogAEEUaiIUQQNBAiAPQQJGGyIRIA8gQBAiIgY4AgAgECAPQQFGQQN0Ig5qIBQgESAPIEAQISIHOAIAIAAgFEEAIA8gQBAiIjw4ArADIAAgFEEAIA8gQBAhIjs4ArgDIABBvANqIhAgC2ogFCARIA8QMDgCACAOIBBqIBQgESAPEC84AgAgACAUQQAgDxAwOALAAyAAIBRBACAPEC84AsgDIAsgAEHMA2oiC2ogFCARIA8gQBA4OAIAIAsgDmogFCARIA8gQBA3OAIAIAAgFEEAIA8gQBA4OALQAyAAIBRBACAPIEAQNyI6OALYAyAGIAeSIT4gPCA7kiE8AkACQCAAKAIIIgsEQEMAAMB/IAEgPpMgBEEBRhshBkMAAMB/IAIgPJMgBUEBRhshPiAAAn0gBCAFckUEQCAAIABBAiAPIAYgQCBAECU4ApQDIABBACAPID4gRyBAECUMAQsgBEEDTyAFQQNPcg0EIA1BiAFqIAAgBiAGIAAqAswDIAAqAtQDkiAAKgK8A5IgACoCxAOSIjyTIgdDAAAAACAHQwAAAABeGyAGIAZcG0GBgAggBEEDdEH4//8HcXZB/wFxID4gPiAAKgLQAyA6kiAAKgLAA5IgACoCyAOSIjuTIgdDAAAAACAHQwAAAABeGyA+ID5cG0GBgAggBUEDdEH4//8HcXZB/wFxIAsREAAgDSoCjAEiPUMAAAAAYCANKgKIASIHQwAAAABgcUUEQCANID27OQMIIA0gB7s5AwAgAEEBQdwdIA0QLCANKgKMASIHQwAAAAAgB0MAAAAAXhshPSANKgKIASIHQwAAAAAgB0MAAAAAXhshBwsgCiAKKAIUQQFqNgIUIAogCUECdGoiCSAJKAIYQQFqNgIYIAAgAEECIA8gPCAHkiAGIARBAWtBAkkbIEAgQBAlOAKUAyAAQQAgDyA7ID2SID4gBUEBa0ECSRsgRyBAECULOAKYAwwBCwJAIAAoAuADRQRAIAAoAuwDIAAoAugDa0ECdSELDAELIA1BiAFqIAAQMgJAIA0oAogBRQRAQQAhCyANKAKMAUUNAQsgDUGAAWohEEEAIQsDQCANQQA2AoABIA0gDSkDiAE3A3ggECANKAKQARA8IA1BiAFqEC4gDSgCgAEiCQRAA0AgCSgCACEOIAkQJyAOIgkNAAsLIAtBAWohCyANQQA2AoABIA0oAowBIA0oAogBcg0ACwsgDSgCkAEiCUUNAANAIAkoAgAhDiAJECcgDiIJDQALCyALRQRAIAAgAEECIA8gBEEBa0EBSwR9IAEgPpMFIAAqAswDIAAqAtQDkiAAKgK8A5IgACoCxAOSCyBAIEAQJTgClAMgACAAQQAgDyAFQQFrQQFLBH0gAiA8kwUgACoC0AMgACoC2AOSIAAqAsADkiAAKgLIA5ILIEcgQBAlOAKYAwwBCwJAIAgNACAFQQJGIAIgPJMiBiAGW3EgBkMAAAAAX3EgBCAFckUgBEECRiABID6TIgdDAAAAAF9xcnJFDQAgACAAQQIgD0MAAAAAQwAAAAAgByAHQwAAAABdGyAHIARBAkYbIAcgB1wbIEAgQBAlOAKUAyAAIABBACAPQwAAAABDAAAAACAGIAZDAAAAAF0bIAYgBUECRhsgBiAGXBsgRyBAECU4ApgDDAELIAAQTyAAIAAtAIgDQfsBcToAiAMgABBeQQMhEyAALQAUQQJ2QQNxIQkCQAJAIA9BAkcNAAJAIAlBAmsOAgIAAQtBAiETDAELIAkhEwsgAC8AFSEnIBQgEyAPIEAQOCEGIBQgEyAPEDAhByAUIBMgDyBAEDchOyAUIBMgDxAvITpBACEQIBQgEUEAIBNBAkkbIhYgDyBAEDghPyAUIBYgDxAwIT0gFCAWIA8gQBA3IUEgFCAWIA8QLyFEIBQgFiAPIEAQYCFCIBQgFiAPEEshQyAAIA9BACABID6TIlAgBiAHkiA7IDqSkiJKID8gPZIgQSBEkpIiRiATQQFLIhkbIEAgQBB6ITsgACAPQQEgAiA8kyJRIEYgSiAZGyBHIEAQeiFFAkACQCAEIAUgGRsiHA0AIA1BiAFqIAAQMgJAAkAgDSgCiAEiDiANKAKMASIJckUNAANAIA4oAuwDIA4oAugDIg5rQQJ1IAlNDQQCQCAOIAlBAnRqKAIAIgkQeUUNACAQDQIgCRA7IgYgBlsgBotDF7fROF1xDQIgCRBAIgYgBlwEQCAJIRAMAQsgCSEQIAaLQxe30ThdDQILIA1BiAFqEC4gDSgCjAEiCSANKAKIASIOcg0ACwwBC0EAIRALIA0oApABIglFDQADQCAJKAIAIQ4gCRAnIA4iCQ0ACwsgDUGIAWogABAyIA0oAowBIQkCQCANKAKIASIORQRAQwAAAAAhPSAJRQ0BCyBFIEVcIiMgBUEAR3IhKCA7IDtcIiQgBEEAR3IhKUMAAAAAIT0DQCAOKALsAyAOKALoAyIOa0ECdSAJTQ0CIA4gCUECdGooAgAiDhB4AkAgDi8AFSAOLQAXQRB0ciIJQYCAMHFBgIAQRgRAIA4QdyAOIA4tAAAiCUEBciIOQfsBcSAOIAlBBHEbOgAADAELIAgEfyAOIA4tABRBA3EiCSAPIAkbIDsgRRB2IA4vABUgDi0AF0EQdHIFIAkLQYDgAHFBgMAARg0AIA5BFGohEQJAIA4gEEYEQCAQQQA2ApwBIBAgDDYCmAFDAAAAACEHDAELIBQtAABBAnZBA3EhCQJAAkAgD0ECRw0AQQMhEgJAIAlBAmsOAgIAAQtBAiESDAELIAkhEgsgDUGAgID+BzYCaCANQYCAgP4HNgJQIA1B+ABqIA5B/ABqIhcgDi8BHhAfIDsgRSASQQFLIh4bIT4CQAJAAkACQCANLQB8IgkOBAABAQABCwJAIBcgDi8BGBAgIgYgBlwNACAXIA4vARgQIEMAAAAAXkUNACAOKAL0Ay0ACEEBcSIJDQBDAADAf0MAAAAAIAkbIQcMAgtDAADAfyEGDAILIA0qAnghB0MAAMB/IQYCQCAJQQFrDgIBAAILIAcgPpRDCtcjPJQhBgwBCyAHIQYLIA4tABdBEHRBgIDAAHEEQCAGIBEgD0GBAiASQQN0dkEBcSA7EFQiBkMAAAAAIAYgBlsbkiEGCyAOKgL4AyEHQQAhH0EAIRgCQAJAAkAgDi0A/ANBAWsOAgEAAgsgOyAHlEMK1yM8lCEHCyAHIAdcDQAgB0MAAAAAYCEYCyAOKgKABCEHAkACQAJAIA4tAIQEQQFrDgIBAAILIEUgB5RDCtcjPJQhBwsgByAHXA0AIAdDAAAAAGAhHwsCQCAOAn0gBiAGXCIJID4gPlxyRQRAIA4qApwBIgcgB1sEQCAOKAL0Ay0AEEEBcUUNAyAOKAKYASAMRg0DCyARIBIgDyA7EDggESASIA8QMJIgESASIA8gOxA3IBEgEiAPEC+SkiIHIAYgBiAHXRsgByAGIAkbIAYgBlsgByAHW3EbDAELIBggHnEEQCARQQIgDyA7EDggEUECIA8QMJIgEUECIA8gOxA3IBFBAiAPEC+SkiIHIA4gD0EAIDsgOxAxIgYgBiAHXRsgByAGIAYgBlwbIAYgBlsgByAHW3EbDAELIB4gH0VyRQRAIBFBACAPIDsQOCARQQAgDxAwkiARQQAgDyA7EDcgEUEAIA8QL5KSIgcgDiAPQQEgRSA7EDEiBiAGIAddGyAHIAYgBiAGXBsgBiAGWyAHIAdbcRsMAQtBASEaIA1BATYCZCANQQE2AnggEUECQQEgOxAiIBFBAkEBIDsQIZIhPiARQQBBASA7ECIhPCARQQBBASA7ECEhOkMAAMB/IQdBASEVQwAAwH8hBiAYBEAgDiAPQQAgOyA7EDEhBiANQQA2AnggDSA+IAaSIgY4AmhBACEVCyA8IDqSITwgHwRAIA4gD0EBIEUgOxAxIQcgDUEANgJkIA0gPCAHkiIHOAJQQQAhGgsCQAJAAkAgAC0AF0EQdEGAgAxxQYCACEYiCSASQQJJIiBxRQRAIAkgJHINAiAGIAZcDQEMAgsgJCAGIAZbcg0CC0ECIRUgDUECNgJ4IA0gOzgCaCA7IQYLAkAgIEEBIAkbBEAgCSAjcg0CIAcgB1wNAQwCCyAjIAcgB1tyDQELQQIhGiANQQI2AmQgDSBFOAJQIEUhBwsCQCAXIA4vAXoQICI6IDpcDQACfyAVIB5yRQRAIBcgDi8BehAgIQcgDUEANgJkIA0gPCAGID6TIAeVkjgCUEEADAELIBogIHINASAXIA4vAXoQICEGIA1BADYCeCANIAYgByA8k5QgPpI4AmhBAAshGkEAIRULIA4vABZBD3EiCUUEQCAALQAVQQR2IQkLAkAgFUUgCUEFRiAeciAYIClyIAlBBEdycnINACANQQA2AnggDSA7OAJoIBcgDi8BehAgIgYgBlwNAEEAIRogFyAOLwF6ECAhBiANQQA2AmQgDSA7ID6TIAaVOAJQCyAOLwAWQQ9xIhhFBEAgAC0AFUEEdiEYCwJAICAgKHIgH3IgGEEFRnIgGkUgGEEER3JyDQAgDUEANgJkIA0gRTgCUCAXIA4vAXoQICIGIAZcDQAgFyAOLwF6ECAhBiANQQA2AnggDSAGIEUgPJOUOAJoCyAOIA9BAiA7IDsgDUH4AGogDUHoAGoQPyAOIA9BACBFIDsgDUHkAGogDUHQAGoQPyAOIA0qAmggDSoCUCAPIA0oAnggDSgCZCA7IEVBAEEFIAogIiAMED0aIA4gEkECdEH8JWooAgBBAnRqKgKUAyEGIBEgEiAPIDsQOCARIBIgDxAwkiARIBIgDyA7EDcgESASIA8QL5KSIgcgBiAGIAddGyAHIAYgBiAGXBsgBiAGWyAHIAdbcRsLIgc4ApwBCyAOIAw2ApgBCyA9IAcgESATQQEgOxAiIBEgE0EBIDsQIZKSkiE9CyANQYgBahAuIA0oAowBIgkgDSgCiAEiDnINAAsLIA0oApABIgkEQANAIAkoAgAhDiAJECcgDiIJDQALCyA7IEUgGRshByA9QwAAAACSIQYgC0ECTwRAIBQgEyAHEE0gC0EBa7OUIAaSIQYLIEIgQ5IhPiAFIAQgGRshGiBHIEAgGRshTSBAIEcgGRshSSANQdAAaiAAEDJBACAcIAYgB14iCxsgHCAcQQJGGyAcICdBgIADcSIfGyEeIBQgFiBFIDsgGRsiRBBNIU8gDSgCVCIRIA0oAlAiCXIEQEEBQQIgRCBEXCIpGyEtIAtFIBxBAUZyIS4gE0ECSSEZIABB8gBqIS8gAEH8AGohMCATQQJ0IgtB7CVqITEgC0HcJWohMiAWQQJ0Ig5B7CVqIRwgDkHcJWohICALQfwlaiEkIA5B/CVqISMgGkEARyIzIAhyITQgGkUiNSAIQQFzcSE2IBogH3JFITcgDUHwAGohOCANQYABaiEnQYECIBNBA3R2Qf8BcSEoIBpBAWtBAkkhOQNAIA1BADYCgAEgDUIANwN4AkAgACgC7AMiCyAAKALoAyIORg0AIAsgDmsiC0EASA0DIA1BiAFqIAtBAnVBACAnEEohECANKAKMASANKAJ8IA0oAngiC2siDmsgCyAOEDMhDiANIA0oAngiCzYCjAEgDSAONgJ4IA0pA5ABIVYgDSANKAJ8Ig42ApABIA0oAoABIRIgDSBWNwJ8IA0gEjYClAEgECALNgIAIAsgDkcEQCANIA4gCyAOa0EDakF8cWo2ApABCyALRQ0AIAsQJwsgFC0AACIOQQJ2QQNxIQsCQAJAIA5BA3EiDiAsIA4bIhJBAkcNAEEDIRACQCALQQJrDgICAAELQQIhEAwBCyALIRALIAAvABUhCyAUIBAgBxBNIT8CQCAJIBFyRQRAQwAAAAAhQ0EAIRFDAAAAACFCQwAAAAAhQUEAIRUMAQsgC0GAgANxISUgEEECSSEYIBBBAnQiC0HsJWohISALQdwlaiEqQQAhFUMAAAAAIUEgESEOQwAAAAAhQkMAAAAAIUNBACEXQwAAAAAhPQNAIAkoAuwDIAkoAugDIglrQQJ1IA5NDQQCQCAJIA5BAnRqKAIAIgkvABUgCS0AF0EQdHIiC0GAgDBxQYCAEEYgC0GA4ABxQYDAAEZyDQAgDUGIAWoiESAJQRRqIgsgKigCACADECggDS0AjAEhJiARIAsgISgCACADECggDS0AjAEhESAJIBs2AtwDIBUgJkEDRmohFSARQQNGIREgCyAQQQEgOxAiIUsgCyAQQQEgOxAhIU4gCSAXIAkgFxsiF0YhJiAJKgKcASE8IAsgEiAYIEkgQBA1IToCQCALIBIgGCBJIEAQLSIGQwAAAABgIAYgPF1xDQAgOkMAAAAAYEUEQCA8IQYMAQsgOiA8IDogPF4bIQYLIBEgFWohFQJAICVFQwAAAAAgPyAmGyI8IEsgTpIiOiA9IAaSkpIgB15Fcg0AIA0oAnggDSgCfEYNACAOIREMAwsgCRB5BEAgQiAJEDuSIUIgQyAJEEAgCSoCnAGUkyFDCyBBIDwgOiAGkpIiBpIhQSA9IAaSIT0gDSgCfCILIA0oAoABRwRAIAsgCTYCACANIAtBBGo2AnwMAQsgCyANKAJ4ayILQQJ1IhFBAWoiDkGAgICABE8NBSANQYgBakH/////AyALQQF1IiYgDiAOICZJGyALQfz///8HTxsgESAnEEohDiANKAKQASAJNgIAIA0gDSgCkAFBBGo2ApABIA0oAowBIA0oAnwgDSgCeCIJayILayAJIAsQMyELIA0gDSgCeCIJNgKMASANIAs2AnggDSkDkAEhViANIA0oAnwiCzYCkAEgDSgCgAEhESANIFY3AnwgDSARNgKUASAOIAk2AgAgCSALRwRAIA0gCyAJIAtrQQNqQXxxajYCkAELIAlFDQAgCRAnCyANQQA2AnAgDSANKQNQNwNoIDggDSgCWBA8IA1B0ABqEC4gDSgCcCIJBEADQCAJKAIAIQsgCRAnIAsiCQ0ACwtBACERIA1BADYCcCANKAJUIg4gDSgCUCIJcg0ACwtDAACAPyBCIEJDAACAP10bIEIgQkMAAAAAXhshPCANKAJ8IRcgDSgCeCEJAn0CQAJ9AkACQAJAIB5FDQAgFCAPQQAgQCBAEDUhBiAUIA9BACBAIEAQLSE6IBQgD0EBIEcgQBA1IT8gFCAPQQEgRyBAEC0hPSAGID8gE0EBSyILGyBKkyIGIAZbIAYgQV5xDQEgOiA9IAsbIEqTIgYgBlsgBiBBXXENASAAKAL0Ay0AFEEBcQ0AIEEgPEMAAAAAWw0DGiAAEDsiBiAGXA0CIEEgABA7QwAAAABbDQMaDAILIAchBgsgBiAGWw0CIAYhBwsgBwshBiBBjEMAAAAAIEFDAAAAAF0bIT8gBgwBCyAGIEGTIT8gBgshByA2RQRAAkAgCSAXRgRAQwAAAAAhQQwBC0MAAIA/IEMgQ0MAAIA/XRsgQyBDQwAAAABeGyE9QwAAAAAhQSAJIQ4DQCAOKAIAIgsqApwBITogC0EUaiIQIA8gGSBJIEAQNSFCAkAgECAPIBkgSSBAEC0iBkMAAAAAYCAGIDpdcQ0AIEJDAAAAAGBFBEAgOiEGDAELIEIgOiA6IEJdGyEGCwJAID9DAAAAAF0EQCAGIAsQQIyUIjpDAAAAAF4gOkMAAAAAXXJFDQEgCyATIA8gPyA9lSA6lCAGkiJCIAcgOxAlITogQiBCXCA6IDpcciA6IEJbcg0BIEEgOiAGk5IhQSALEEAgCyoCnAGUID2SIT0MAQsgP0MAAAAAXkUNACALEDsiQkMAAAAAXiBCQwAAAABdckUNACALIBMgDyA/IDyVIEKUIAaSIkMgByA7ECUhOiBDIENcIDogOlxyIDogQ1tyDQAgPCBCkyE8IEEgOiAGk5IhQQsgDkEEaiIOIBdHDQALID8gQZMiQiA9lSFLIEIgPJUhTiAALwAVQYCAA3FFIC5yISVDAAAAACFBIAkhCwNAIAsoAgAiDioCnAEhPCAOQRRqIhggDyAZIEkgQBA1IToCQCAYIA8gGSBJIEAQLSIGQwAAAABgIAYgPF1xDQAgOkMAAAAAYEUEQCA8IQYMAQsgOiA8IDogPF4bIQYLAn0gDiATIA8CfSBCQwAAAABdBEAgBiAGIA4QQIyUIjxDAAAAAFsNAhogBiA8kiA9QwAAAABbDQEaIEsgPJQgBpIMAQsgBiBCQwAAAABeRQ0BGiAGIA4QOyI8QwAAAABeIDxDAAAAAF1yRQ0BGiBOIDyUIAaSCyAHIDsQJQshQyAYIBNBASA7ECIhPCAYIBNBASA7ECEhOiAYIBZBASA7ECIhUiAYIBZBASA7ECEhUyANIEMgPCA6kiJUkiJVOAJoIA1BADYCYCBSIFOSITwCQCAOQfwAaiIQIA4vAXoQICI6IDpbBEAgECAOLwF6ECAhOiANQQA2AmQgDSA8IFUgVJMiPCA6lCA8IDqVIBkbkjgCeAwBCyAjKAIAIRACQCApDQAgDiAQQQN0aiIhKgL4AyE6QQAhEgJAAkACQCAhLQD8A0EBaw4CAQACCyBEIDqUQwrXIzyUIToLIDogOlwNACA6QwAAAABgIRILICUgNSASQQFzcXFFDQAgDi8AFkEPcSISBH8gEgUgAC0AFUEEdgtBBEcNACANQYgBaiAYICAoAgAgDxAoIA0tAIwBQQNGDQAgDUGIAWogGCAcKAIAIA8QKCANLQCMAUEDRg0AIA1BADYCZCANIEQ4AngMAQsgDkH4A2oiEiAQQQN0aiIQKgIAIToCQAJAAkACQCAQLQAEQQFrDgIBAAILIEQgOpRDCtcjPJQhOgsgOkMAAAAAYA0BCyANIC02AmQgDSBEOAJ4DAELAkACfwJAAkACQCAWQQJrDgICAAELIDwgDiAPQQAgRCA7EDGSITpBAAwCC0EBIRAgDSA8IA4gD0EBIEQgOxAxkiI6OAJ4IBNBAU0NDAwCCyA8IA4gD0EAIEQgOxAxkiE6QQALIRAgDSA6OAJ4CyANIDMgEiAQQQN0ajEABEIghkKAgICAIFFxIDogOlxyNgJkCyAOIA8gEyAHIDsgDUHgAGogDUHoAGoQPyAOIA8gFiBEIDsgDUHkAGogDUH4AGoQPyAOICMoAgBBA3RqIhAqAvgDIToCQAJAAkACQCAQLQD8A0EBaw4CAQACCyBEIDqUQwrXIzyUIToLQQEhECA6QwAAAABgDQELQQEhECAOLwAWQQ9xIhIEfyASBSAALQAVQQR2C0EERw0AIA1BiAFqIBggICgCACAPECggDS0AjAFBA0YNACANQYgBaiAYIBwoAgAgDxAoIA0tAIwBQQNGIRALIA4gDSoCaCI8IA0qAngiOiATQQFLIhIbIDogPCASGyAALQCIA0EDcSANKAJgIhggDSgCZCIhIBIbICEgGCASGyA7IEUgCCAQcSIQQQRBByAQGyAKICIgDBA9GiBBIEMgBpOSIUEgAAJ/IAAtAIgDIhBBBHFFBEBBACAOLQCIA0EEcUUNARoLQQQLIBBB+wFxcjoAiAMgC0EEaiILIBdHDQALCyA/IEGTIT8LIAAgAC0AiAMiC0H7AXFBBCA/QwAAAABdQQJ0IAtBBHFBAnYbcjoAiAMgFCATIA8gQBBgIBQgEyAPEEuSITogFCATIA8gQBB/IBQgEyAPEFKSIUsgFCATIAcQTSFCAn8CQAJ9ID9DAAAAAF5FIB5BAkdyRQRAIA1BiAFqIDAgLyAkKAIAQQF0ai8BABAfAkAgDS0AjAEEQCAUIA8gKCBJIEAQNSIGIAZbDQELQwAAAAAMAgtDAAAAACAUIA8gKCBJIEAQNSA6kyBLkyAHID+TkyI/QwAAAABeRQ0BGgsgP0MAAAAAYEUNASA/CyE8IBQtAABBBHZBB3EMAQsgPyE8IBQtAABBBHZBB3EiC0EAIAtBA2tBA08bCyELQwAAAAAhBgJAAkAgFQ0AQwAAAAAhPQJAAkACQAJAAkAgC0EBaw4FAAECBAMGCyA8QwAAAD+UIT0MBQsgPCE9DAQLIBcgCWsiC0EFSQ0CIEIgPCALQQJ1QQFrs5WSIUIMAgsgQiA8IBcgCWtBAnVBAWqzlSI9kiFCDAILIDxDAAAAP5QgFyAJa0ECdbOVIj0gPZIgQpIhQgwBC0MAAAAAIT0LIDogPZIhPSAAEHwhEgJAIAkgF0YiGARAQwAAAAAhP0MAAAAAIToMAQsgF0EEayElIDwgFbOVIU4gMigCACEhQwAAAAAhOkMAAAAAIT8gCSELA0AgDUGIAWogCygCACIOQRRqIhAgISAPECggPUMAAACAIE5DAAAAgCA8QwAAAABeGyJBIA0tAIwBQQNHG5IhPSAIBEACfwJAAkACQAJAIBNBAWsOAwECAwALQQEhFSAOQaADagwDC0EDIRUgDkGoA2oMAgtBACEVIA5BnANqDAELQQIhFSAOQaQDagshKiAOIBVBAnRqICoqAgAgPZI4ApwDCyAlKAIAIRUgDUGIAWogECAxKAIAIA8QKCA9QwAAAIAgQiAOIBVGG5JDAAAAgCBBIA0tAIwBQQNHG5IhPQJAIDRFBEAgPSAQIBNBASA7ECIgECATQQEgOxAhkiAOKgKcAZKSIT0gRCEGDAELIA4gEyA7EF0gPZIhPSASBEAgDhBOIUEgEEEAIA8gOxBBIUMgDioCmAMgEEEAQQEgOxAiIBBBAEEBIDsQIZKSIEEgQ5IiQZMiQyA/ID8gQ10bIEMgPyA/ID9cGyA/ID9bIEMgQ1txGyE/IEEgOiA6IEFdGyBBIDogOiA6XBsgOiA6WyBBIEFbcRshOgwBCyAOIBYgOxBdIkEgBiAGIEFdGyBBIAYgBiAGXBsgBiAGWyBBIEFbcRshBgsgC0EEaiILIBdHDQALCyA/IDqSIAYgEhshQQJ9IDkEQCAAIBYgDyBGIEGSIE0gQBAlIEaTDAELIEQgQSA3GyFBIEQLIT8gH0UEQCAAIBYgDyBGIEGSIE0gQBAlIEaTIUELIEsgPZIhPAJAIAhFDQAgCSELIBgNAANAIAsoAgAiFS8AFkEPcSIORQRAIAAtABVBBHYhDgsCQAJAAkACQCAOQQRrDgIAAQILIA1BiAFqIBVBFGoiECAgKAIAIA8QKEEEIQ4gDS0AjAFBA0YNASANQYgBaiAQIBwoAgAgDxAoIA0tAIwBQQNGDQEgFSAjKAIAQQN0aiIOKgL4AyE9AkACQAJAIA4tAPwDQQFrDgIBAAILIEQgPZRDCtcjPJQhPQsgPiEGID1DAAAAAGANAwsgFSAkKAIAQQJ0aioClAMhBiANIBVB/ABqIg4gFS8BehAgIjogOlsEfSAQIBZBASA7ECIgECAWQQEgOxAhkiAGIA4gFS8BehAgIjqUIAYgOpUgGRuSBSBBCzgCeCANIAYgECATQQEgOxAiIBAgE0EBIDsQIZKSOAKIASANQQA2AmggDUEANgJkIBUgDyATIAcgOyANQegAaiANQYgBahA/IBUgDyAWIEQgOyANQeQAaiANQfgAahA/IA0qAngiOiANKgKIASI9IBNBAUsiGCIOGyEGIB9BAEcgAC8AFUEPcUEER3EiECAZcSA9IDogDhsiOiA6XHIhDiAVIDogBiAPIA4gECAYcSAGIAZcciA7IEVBAUECIAogIiAMED0aID4hBgwCC0EFQQEgFC0AAEEIcRshDgsgFSAWIDsQXSEGIA1BiAFqIBVBFGoiECAgKAIAIhggDxAoID8gBpMhOgJAIA0tAIwBQQNHBEAgHCgCACESDAELIA1BiAFqIBAgHCgCACISIA8QKCANLQCMAUEDRw0AID4gOkMAAAA/lCIGQwAAAAAgBkMAAAAAXhuSIQYMAQsgDUGIAWogECASIA8QKCA+IQYgDS0AjAFBA0YNACANQYgBaiAQIBggDxAoIA0tAIwBQQNGBEAgPiA6QwAAAAAgOkMAAAAAXhuSIQYMAQsCQAJAIA5BAWsOAgIAAQsgPiA6QwAAAD+UkiEGDAELID4gOpIhBgsCfwJAAkACQAJAIBZBAWsOAwECAwALQQEhECAVQaADagwDC0EDIRAgFUGoA2oMAgtBACEQIBVBnANqDAELQQIhECAVQaQDagshDiAVIBBBAnRqIAYgTCAOKgIAkpI4ApwDIAtBBGoiCyAXRw0ACwsgCQRAIAkQJwsgPCBIIDwgSF4bIDwgSCBIIEhcGyBIIEhbIDwgPFtxGyFIIEwgT0MAAAAAIBsbIEGSkiFMIBtBAWohGyANKAJQIgkgEXINAAsLAkAgCEUNACAfRQRAIAAQfEUNAQsgACAWIA8CfSBGIESSIBpFDQAaIAAgFkECdEH8JWooAgBBA3RqIgkqAvgDIQYCQAJAAkAgCS0A/ANBAWsOAgEAAgsgTSAGlEMK1yM8lCEGCyAGQwAAAABgRQ0AIAAgD0GBAiAWQQN0dkEBcSBNIEAQMQwBCyBGIEySCyBHIEAQJSEGQwAAAAAhPCAALwAVQQ9xIQkCQAJAAkACQAJAAkACQAJAAkAgBiBGkyBMkyIGQwAAAABgRQRAQwAAAAAhQyAJQQJrDgICAQcLQwAAAAAhQyAJQQJrDgcBAAUGBAIDBgsgPiAGkiE+DAULID4gBkMAAAA/lJIhPgwECyAGIBuzIjqVITwgPiAGIDogOpKVkiE+DAMLID4gBiAbQQFqs5UiPJIhPgwCCyAbQQJJBEAMAgsgDUGIAWogABAyIAYgG0EBa7OVITwMAgsgBiAbs5UhQwsgDUGIAWogABAyIBtFDQELIBZBAnQiCUHcJWohECAJQfwlaiERIA1BOGohGCANQcgAaiEZIA1B8ABqIRUgDUGQAWohHCANQYABaiEfQQAhEgNAIA1BADYCgAEgDSANKQOIATcDeCAfIA0oApABEDwgDUEANgJwIA0gDSkDeCJWNwNoIBUgDSgCgAEiCxA8IA0oAmwhCQJAAkAgDSgCaCIOBEBDAAAAACE6QwAAAAAhP0MAAAAAIQYMAQtDAAAAACE6QwAAAAAhP0MAAAAAIQYgCUUNAQsDQCAOKALsAyAOKALoAyIOa0ECdSAJTQ0FAkAgDiAJQQJ0aigCACIJLwAVIAktABdBEHRyIhdBgIAwcUGAgBBGIBdBgOAAcUGAwABGcg0AIAkoAtwDIBJHDQIgCUEUaiEOIAkgESgCAEECdGoqApQDIj1DAAAAAGAEfyA9IA4gFkEBIDsQIiAOIBZBASA7ECGSkiI9IAYgBiA9XRsgPSAGIAYgBlwbIAYgBlsgPSA9W3EbIQYgCS0AFgUgF0EIdgtBD3EiFwR/IBcFIAAtABVBBHYLQQVHDQAgFC0AAEEIcUUNACAJEE4gDkEAIA8gOxBBkiI9ID8gPSA/XhsgPSA/ID8gP1wbID8gP1sgPSA9W3EbIj8gCSoCmAMgDkEAQQEgOxAiIA5BAEEBIDsQIZKSID2TIj0gOiA6ID1dGyA9IDogOiA6XBsgOiA6WyA9ID1bcRsiOpIiPSAGIAYgPV0bID0gBiAGIAZcGyAGIAZbID0gPVtxGyEGCyANQQA2AkggDSANKQNoNwNAIBkgDSgCcBA8IA1B6ABqEC4gDSgCSCIJBEADQCAJKAIAIQ4gCRAnIA4iCQ0ACwsgDUEANgJIIA0oAmwiCSANKAJoIg5yDQALCyANIA0pA2g3A4gBIBwgDSgCcBB1IA0gVjcDaCAVIAsQdSA+IE9DAAAAACASG5IhPiBDIAaSIT0gDSgCbCEJAkAgDSgCaCIOIA0oAogBRgRAIAkgDSgCjAFGDQELID4gP5IhQiA+ID2SIUsgPCA9kiEGA0AgDigC7AMgDigC6AMiDmtBAnUgCU0NBQJAIA4gCUECdGooAgAiCS8AFSAJLQAXQRB0ciIXQYCAMHFBgIAQRiAXQYDgAHFBgMAARnINACAJQRRqIQ4CQAJAAkACQAJAAkAgF0EIdkEPcSIXBH8gFwUgAC0AFUEEdgtBAWsOBQEDAgQABgsgFC0AAEEIcQ0ECyAOIBYgDyA7EFEhOiAJIBAoAgBBAnRqID4gOpI4ApwDDAQLIA4gFiAPIDsQYiE/AkACQAJAAkAgFkECaw4CAgABCyAJKgKUAyE6QQIhDgwCC0EBIQ4gCSoCmAMhOgJAIBYOAgIADwtBAyEODAELIAkqApQDITpBACEOCyAJIA5BAnRqIEsgP5MgOpM4ApwDDAMLAkACQAJAAkAgFkECaw4CAgABCyAJKgKUAyE/QQIhDgwCC0EBIQ4gCSoCmAMhPwJAIBYOAgIADgtBAyEODAELIAkqApQDIT9BACEOCyAJIA5BAnRqID4gPSA/k0MAAAA/lJI4ApwDDAILIA4gFiAPIDsQQSE6IAkgECgCAEECdGogPiA6kjgCnAMgCSARKAIAQQN0aiIXKgL4AyE/AkACQAJAIBctAPwDQQFrDgIBAAILIEQgP5RDCtcjPJQhPwsgP0MAAAAAYA0CCwJAAkACfSATQQFNBEAgCSoCmAMgDiAWQQEgOxAiIA4gFkEBIDsQIZKSITogBgwBCyAGITogCSoClAMgDiATQQEgOxAiIA4gE0EBIDsQIZKSCyI/ID9cIAkqApQDIkEgQVxyRQRAID8gQZOLQxe30ThdDQEMAgsgPyA/WyBBIEFbcg0BCyAJKgKYAyJBIEFcIg4gOiA6XHJFBEAgOiBBk4tDF7fROF1FDQEMAwsgOiA6Ww0AIA4NAgsgCSA/IDogD0EAQQAgOyBFQQFBAyAKICIgDBA9GgwBCyAJIEIgCRBOkyAOQQAgDyBEEFGSOAKgAwsgDUEANgI4IA0gDSkDaDcDMCAYIA0oAnAQPCANQegAahAuIA0oAjgiCQRAA0AgCSgCACEOIAkQJyAOIgkNAAsLIA1BADYCOCANKAJsIQkgDSgCaCIOIA0oAogBRw0AIAkgDSgCjAFHDQALCyANKAJwIgkEQANAIAkoAgAhDiAJECcgDiIJDQALCyALBEADQCALKAIAIQkgCxAnIAkiCw0ACwsgPCA+kiA9kiE+IBJBAWoiEiAbRw0ACwsgDSgCkAEiCUUNAANAIAkoAgAhCyAJECcgCyIJDQALCyAAQZQDaiIQIABBAiAPIFAgQCBAECU4AgAgAEGYA2oiESAAQQAgDyBRIEcgQBAlOAIAAkAgEEGBAiATQQN0dkEBcUECdGoCfQJAIB5BAUcEQCAALQAXQQNxIglBAkYgHkECR3INAQsgACATIA8gSCBJIEAQJQwBCyAeQQJHIAlBAkdyDQEgSiAAIA8gEyBIIEkgQBB0Ij4gSiAHkiIGIAYgPl4bID4gBiAGIAZcGyAGIAZbID4gPltxGyIGIAYgSl0bIEogBiAGIAZcGyAGIAZbIEogSltxGws4AgALAkAgEEGBAiAWQQN0dkEBcUECdGoCfQJAIBpBAUcEQCAaQQJHIgkgAC0AF0EDcSILQQJGcg0BCyAAIBYgDyBGIEySIE0gQBAlDAELIAkgC0ECR3INASBGIAAgDyAWIEYgTJIgTSBAEHQiByBGIESSIgYgBiAHXhsgByAGIAYgBlwbIAYgBlsgByAHW3EbIgYgBiBGXRsgRiAGIAYgBlwbIAYgBlsgRiBGW3EbCzgCAAsCQCAIRQ0AAkAgAC8AFUGAgANxQYCAAkcNACANQYgBaiAAEDIDQCANKAKMASIJIA0oAogBIgtyRQRAIA0oApABIglFDQIDQCAJKAIAIQsgCRAnIAsiCQ0ACwwCCyALKALsAyALKALoAyILa0ECdSAJTQ0DIAsgCUECdGooAgAiCS8AFUGA4ABxQYDAAEcEQCAJAn8CQAJAAkAgFkECaw4CAAECCyAJQZQDaiEOIBAqAgAgCSoCnAOTIQZBAAwCCyAJQZQDaiEOIBAqAgAgCSoCpAOTIQZBAgwBCyARKgIAIQYCQAJAIBYOAgABCgsgCUGYA2ohDiAGIAkqAqADkyEGQQEMAQsgCUGYA2ohDiAGIAkqAqgDkyEGQQMLQQJ0aiAGIA4qAgCTOAKcAwsgDUGIAWoQLgwACwALAkAgEyAWckEBcUUNACAWQQFxIRQgE0EBcSEVIA1BiAFqIAAQMgNAIA0oAowBIgkgDSgCiAEiC3JFBEAgDSgCkAEiCUUNAgNAIAkoAgAhCyAJECcgCyIJDQALDAILIAsoAuwDIAsoAugDIgtrQQJ1IAlNDQMCQCALIAlBAnRqKAIAIgkvABUgCS0AF0EQdHIiC0GAgDBxQYCAEEYgC0GA4ABxQYDAAEZyDQAgFQRAAn8CfwJAAkACQCATQQFrDgMAAQINCyAJQZgDaiEOIAlBqANqIQtBASESIBEMAwsgCUGUA2ohDkECIRIgCUGcA2oMAQsgCUGUA2ohDkEAIRIgCUGkA2oLIQsgEAshGyAJIBJBAnRqIBsqAgAgDioCAJMgCyoCAJM4ApwDCyAURQ0AAn8CfwJAAkACQCAWQQFrDgMAAQIMCyAJQZgDaiELIAlBqANqIRJBASEXIBEMAwsgCUGUA2ohCyAJQZwDaiESQQIMAQsgCUGUA2ohCyAJQaQDaiESQQALIRcgEAshDiAJIBdBAnRqIA4qAgAgCyoCAJMgEioCAJM4ApwDCyANQYgBahAuDAALAAsgAC8AFUGA4ABxICJBAUZyRQRAIAAtAABBCHFFDQELIAAgACAeIAQgE0EBSxsgDyAKICIgDEMAAAAAQwAAAAAgOyBFEH4aCyANKAJYIglFDQIDQCAJKAIAIQsgCRAnIAsiCQ0ACwwCCxACAAsgABBeCyANQaABaiQADAELECQACyAAIAM6AKgBIAAgACgC9AMoAgw2AqQBIB0NACAKIAooAggiAyAAKAKsASIOQQFqIgkgAyAJSxs2AgggDkEIRgRAIABBADYCrAFBACEOCyAIBH8gAEHwAmoFIAAgDkEBajYCrAEgACAOQRhsakGwAWoLIgMgBTYCDCADIAQ2AgggAyACOAIEIAMgATgCACADIAAqApQDOAIQIAMgACoCmAM4AhRBACEdCyAIBEAgACAAKQKUAzcCjAMgACAALQAAIgNBAXIiBEH7AXEgBCADQQRxGzoAAAsgACAMNgKgASArIB1Fcgs1AQF/IAEgACgCBCICQQF1aiEBIAAoAgAhACABIAJBAXEEfyABKAIAIABqKAIABSAACxECAAt9ACAAQRRqIgAgAUGBAiACQQN0dkH/AXEgAyAEEC0gACACQQEgBBAiIAAgAkEBIAQQIZKSIQQCQAJAAkACQCAFKAIADgMAAQADCyAGKgIAIgMgAyAEIAMgBF0bIAQgBFwbIQQMAQsgBCAEXA0BIAVBAjYCAAsgBiAEOAIACwuMAQIBfwF9IAAoAuQDRQRAQwAAAAAPCyAAQfwAaiIBIAAvARwQICICIAJbBEAgASAALwEcECAPCwJAIAAoAvQDLQAIQQFxDQAgASAALwEYECAiAiACXA0AIAEgAC8BGBAgQwAAAABdRQ0AIAEgAC8BGBAgjA8LQwAAgD9DAAAAACAAKAL0Ay0ACEEBcRsLcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QdwlaigCACACEChDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwtHAQF/IAIvAAYiA0EHcQRAIAAgAUHoAGogAxAfDwsgAUHoAGohASACLwAOIgNBB3EEQCAAIAEgAxAfDwsgACABIAIvABAQHwtHAQF/IAIvAAIiA0EHcQRAIAAgAUHoAGogAxAfDwsgAUHoAGohASACLwAOIgNBB3EEQCAAIAEgAxAfDwsgACABIAIvABAQHwt7AAJAAkACQAJAIANBAWsOAgABAgsgAi8ACiIDQQdxRQ0BDAILIAIvAAgiA0EHcUUNAAwBCyACLwAEIgNBB3EEQAwBCyABQegAaiEBIAIvAAwiA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfDwsgACABQegAaiADEB8LewACQAJAAkACQCADQQFrDgIAAQILIAIvAAgiA0EHcUUNAQwCCyACLwAKIgNBB3FFDQAMAQsgAi8AACIDQQdxBEAMAQsgAUHoAGohASACLwAMIgNBB3EEQCAAIAEgAxAfDwsgACABIAIvABAQHw8LIAAgAUHoAGogAxAfC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQe4AaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQOQNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLIANBEGokAAuFAQIDfwF+AkAgAEKAgICAEFQEQCAAIQUMAQsDQCABQQFrIgEgAEIKgCIFQvYBfiAAfKdBMHI6AAAgAEL/////nwFWIQIgBSEAIAINAAsLIAWnIgIEQANAIAFBAWsiASACQQpuIgNB9gFsIAJqQTByOgAAIAJBCUshBCADIQIgBA0ACwsgAQs3AQJ/QQQQHiICIAE2AgBBBBAeIgMgATYCAEHBOyAAQeI7QfooQb8BIAJB4jtB/ihBwAEgAxAHCw8AIAAgASACQQFBAhCLAQteAQF/IABBADYCDCAAIAM2AhACQCABBEAgAUGAgICABE8NASABQQJ0EB4hBAsgACAENgIAIAAgBCACQQJ0aiICNgIIIAAgBCABQQJ0ajYCDCAAIAI2AgQgAA8LEFgAC3kCAX8BfSMAQRBrIgMkACADQQhqIAAgAUECdEHcJWooAgAgAhBTQwAAwH8hBAJAAkACQCADLQAMQQFrDgIAAQILIAMqAgghBAwBCyADKgIIQwAAAACUQwrXIzyUIQQLIANBEGokACAEQwAAAACXQwAAAAAgBCAEWxsLnAoBC38jAEEQayIIJAAgASABLwAAQXhxIANyIgM7AAACQAJAAkACQAJAAkACQAJAAkACQCADQQhxBEAgA0H//wNxIgZBBHYhBCAGQT9NBH8gACAEQQJ0akEEagUgBEEEayIEIAAoAhgiACgCBCAAKAIAIgBrQQJ1Tw0CIAAgBEECdGoLIAI4AgAMCgsCfyACi0MAAABPXQRAIAKoDAELQYCAgIB4CyIEQf8PakH+H0sgBLIgAlxyRQRAIANBD3FBACAEa0GAEHIgBCACQwAAAABdG0EEdHIhAwwKCyAAIAAvAQAiC0EBajsBACALQYAgTw0DIAtBA00EQCAAIAtBAnRqIAI4AgQMCQsgACgCGCIDRQRAQRgQHiIDQgA3AgAgA0IANwIQIANCADcCCCAAIAM2AhgLAkAgAygCBCIEIAMoAghHBEAgBCACOAIAIAMgBEEEajYCBAwBCyAEIAMoAgAiB2siBEECdSIJQQFqIgZBgICAgARPDQECf0H/////AyAEQQF1IgUgBiAFIAZLGyAEQfz///8HTxsiBkUEQEEAIQUgCQwBCyAGQYCAgIAETw0GIAZBAnQQHiEFIAMoAgQgAygCACIHayIEQQJ1CyEKIAUgCUECdGoiCSACOAIAIAkgCkECdGsgByAEEDMhByADIAUgBkECdGo2AgggAyAJQQRqNgIEIAMoAgAhBCADIAc2AgAgBEUNACAEECMLIAAoAhgiBigCECIDIAYoAhQiAEEFdEcNByADQQFqQQBIDQAgA0H+////A0sNASADIABBBnQiACADQWBxQSBqIgQgACAESxsiAE8NByAAQQBODQILEAIAC0H/////ByEAIANB/////wdPDQULIAhBADYCCCAIQgA3AwAgCCAAEJ8BIAYoAgwhBCAIIAgoAgQiByAGKAIQIgBBH3FqIABBYHFqIgM2AgQgB0UEQCADQQFrIQUMAwsgA0EBayIFIAdBAWtzQR9LDQIgCCgCACEKDAMLQZUlQeEXQSJB3BcQCwALEFgACyAIKAIAIgogBUEFdkEAIANBIU8bQQJ0akEANgIACyAKIAdBA3ZB/P///wFxaiEDAkAgB0EfcSIHRQRAIABBAEwNASAAQSBtIQUgAEEfakE/TwRAIAMgBCAFQQJ0EDMaCyAAIAVBBXRrIgBBAEwNASADIAVBAnQiBWoiAyADKAIAQX9BICAAa3YiAEF/c3EgBCAFaigCACAAcXI2AgAMAQsgAEEATA0AQX8gB3QhDEEgIAdrIQkgAEEgTgRAIAxBf3MhDSADKAIAIQUDQCADIAUgDXEgBCgCACIFIAd0cjYCACADIAMoAgQgDHEgBSAJdnIiBTYCBCAEQQRqIQQgA0EEaiEDIABBP0shDiAAQSBrIQAgDg0ACyAAQQBMDQELIAMgAygCAEF/IAkgCSAAIAAgCUobIgVrdiAMcUF/c3EgBCgCAEF/QSAgAGt2cSIEIAd0cjYCACAAIAVrIgBBAEwNACADIAUgB2pBA3ZB/P///wFxaiIDIAMoAgBBf0EgIABrdkF/c3EgBCAFdnI2AgALIAYoAgwhACAGIAo2AgwgBiAIKAIEIgM2AhAgBiAIKAIINgIUIABFDQAgABAjIAYoAhAhAwsgBiADQQFqNgIQIAYoAgwgA0EDdkH8////AXFqIgAgACgCAEF+IAN3cTYCACABLwAAIQMLIANBB3EgC0EEdHJBCHIhAwsgASADOwAAIAhBEGokAAuPAQIBfwF9IwBBEGsiAyQAIANBCGogAEHoAGogAEHUAEHWACABQf4BcUECRhtqLwEAIgEgAC8BWCABQQdxGxAfQwAAwH8hBAJAAkACQCADLQAMQQFrDgIAAQILIAMqAgghBAwBCyADKgIIIAKUQwrXIzyUIQQLIANBEGokACAEQwAAAACXQwAAAAAgBCAEWxsL2AICBH8BfSMAQSBrIgMkAAJAIAAoAgwiAQRAIAAgACoClAMgACoCmAMgAREnACIFIAVbDQEgA0GqHjYCACAAQQVB2CUgAxAsECQACyADQRBqIAAQMgJAIAMoAhAiAiADKAIUIgFyRQ0AAkADQCABIAIoAuwDIAIoAugDIgJrQQJ1SQRAIAIgAUECdGooAgAiASgC3AMNAyABLwAVIAEtABdBEHRyIgJBgOAAcUGAwABHBEAgAkEIdkEPcSICBH8gAgUgAC0AFUEEdgtBBUYEQCAALQAUQQhxDQQLIAEtAABBAnENAyAEIAEgBBshBAsgA0EQahAuIAMoAhQiASADKAIQIgJyDQEMAwsLEAIACyABIQQLIAMoAhgiAQRAA0AgASgCACECIAEQIyACIgENAAsLIARFBEAgACoCmAMhBQwBCyAEEE4gBCoCoAOSIQULIANBIGokACAFC6EDAQh/AkAgACgC6AMiBSAAKALsAyIHRwRAA0AgACAFKAIAIgIoAuQDRwRAAkAgACgC9AMoAgAiAQRAIAIgACAGIAERBgAiAQ0BC0GIBBAeIgEgAigCEDYCECABIAIpAgg3AgggASACKQIANwIAIAFBFGogAkEUakHoABArGiABQgA3AoABIAFB/ABqIgNBADsBACABQgA3AogBIAFCADcCkAEgAyACQfwAahCgASABQZgBaiACQZgBakHQAhArGiABQQA2AvADIAFCADcC6AMgAigC7AMiAyACKALoAyIERwRAIAMgBGsiBEEASA0FIAEgBBAeIgM2AuwDIAEgAzYC6AMgASADIARqNgLwAyACKALoAyIEIAIoAuwDIghHBEADQCADIAQoAgA2AgAgA0EEaiEDIARBBGoiBCAIRw0ACwsgASADNgLsAwsgASACKQL0AzcC9AMgASACKAKEBDYChAQgASACKQL8AzcC/AMgAUEANgLkAwsgBSABNgIAIAEgADYC5AMLIAZBAWohBiAFQQRqIgUgB0cNAAsLDwsQAgALUAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUEwahBDDwsgACABIAFBMGogAxBEDwsgACABIAFBMGoQQg8LECQACyAAIAEgAUEwaiADEEULcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QdwlaigCACACEDZDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwt5AgF/AX0jAEEQayIDJAAgA0EIaiAAIAFBAnRB7CVqKAIAIAIQU0MAAMB/IQQCQAJAAkAgAy0ADEEBaw4CAAECCyADKgIIIQQMAQsgAyoCCEMAAAAAlEMK1yM8lCEECyADQRBqJAAgBEMAAAAAl0MAAAAAIAQgBFsbC1QAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBwgBqEEMPCyAAIAEgAUHCAGogAxBEDwsgACABIAFBwgBqEEIPCxAkAAsgACABIAFBwgBqIAMQRQsvACAAIAJFQQF0IgIgASADEGAgACACIAEQS5IgACACIAEgAxB/IAAgAiABEFKSkgvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akH2AGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDkDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCyADQRBqJAALzgECA38CfSMAQRBrIgMk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AWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwscACAAIAFBCCACpyACQiCIpyADpyADQiCIpxAVCwUAEFgACzkAIABFBEBBAA8LAn8gAUGAf3FBgL8DRiABQf8ATXJFBEBB/DtBGTYCAEF/DAELIAAgAToAAEEBCwvEAgACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIACgsMCgsCAwQFDAsMDAoLBwgJCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCwALIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LAAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRAQALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQegAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQOQNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLIANBEGokAAtdAQR/IAAoAgAhAgNAIAIsAAAiAxBXBEBBfyEEIAAgAkEBaiICNgIAIAFBzJmz5gBNBH9BfyADQTBrIgMgAUEKbCIEaiADIARB/////wdzShsFIAQLIQEMAQsLIAELrhQCEn8BfiMAQdAAayIIJAAgCCABNgJMIAhBN2ohFyAIQThqIRQCQAJAAkACQANAIAEhDSAHIA5B/////wdzSg0BIAcgDmohDgJAAkACQCANIgctAAAiCQRAA0ACQAJAIAlB/wFxIgFFBEAgByEBDAELIAFBJUcNASAHIQkDQCAJLQABQSVHBEAgCSEBDAILIAdBAWohByAJLQACIQogCUECaiIBIQkgCkElRg0ACwsgByANayIHIA5B/////wdzIhhKDQcgAARAIAAgDSAHECYLIAcNBiAIIAE2AkwgAUEBaiEHQX8hEgJAIAEsAAEiChBXRQ0AIAEtAAJBJEcNACABQQNqIQcgCkEwayESQQEhFQsgCCAHNgJMQQAhDAJAIAcsAAAiCUEgayIBQR9LBEAgByEKDAELIAchCkEBIAF0IgFBidEEcUUNAANAIAggB0EBaiIKNgJMIAEgDHIhDCAHLAABIglBIGsiAUEgTw0BIAohB0EBIAF0IgFBidEEcQ0ACwsCQCAJQSpGBEACfwJAIAosAAEiARBXRQ0AIAotAAJBJEcNACABQQJ0IARqQcABa0EKNgIAIApBA2ohCUEBIRUgCiwAAUEDdCADakGAA2soAgAMAQsgFQ0GIApBAWohCSAARQRAIAggCTYCTEEAIRVBACETDAMLIAIgAigCACIBQQRqNgIAQQAhFSABKAIACyETIAggCTYCTCATQQBODQFBACATayETIAxBgMAAciEMDAELIAhBzABqEIkBIhNBAEgNCCAIKAJMIQkLQQAhB0F/IQsCfyAJLQAAQS5HBEAgCSEBQQAMAQsgCS0AAUEqRgRAAn8CQCAJLAACIgEQV0UNACAJLQADQSRHDQAgAUECdCAEakHAAWtBCjYCACAJQQRqIQEgCSwAAkEDdCADakGAA2soAgAMAQsgFQ0GIAlBAmohAUEAIABFDQAaIAIgAigCACIKQQRqNgIAIAooAgALIQsgCCABNgJMIAtBf3NBH3YMAQsgCCAJQQFqNgJMIAhBzABqEIkBIQsgCCgCTCEBQQELIQ8DQCAHIRFBHCEKIAEiECwAACIHQfsAa0FGSQ0JIBBBAWohASAHIBFBOmxqQf8qai0AACIHQQFrQQhJDQALIAggATYCTAJAAkAgB0EbRwRAIAdFDQsgEkEATgRAIAQgEkECdGogBzYCACAIIAMgEkEDdGopAwA3A0AMAgsgAEUNCCAIQUBrIAcgAiAGEIcBDAILIBJBAE4NCgtBACEHIABFDQcLIAxB//97cSIJIAwgDEGAwABxGyEMQQAhEkGPCSEWIBQhCgJAAkACQAJ/AkACQAJAAkACfwJAAkACQAJAAkACQAJAIBAsAAAiB0FfcSAHIAdBD3FBA0YbIAcgERsiB0HYAGsOIQQUFBQUFBQUFA4UDwYODg4UBhQUFBQCBQMUFAkUARQUBAALAkAgB0HBAGsOBw4UCxQODg4ACyAHQdMARg0JDBMLIAgpA0AhGUGPCQwFC0EAIQcCQAJAAkACQAJAAkACQCARQf8BcQ4IAAECAwQaBQYaCyAIKAJAIA42AgAMGQsgCCgCQCAONgIADBgLIAgoAkAgDqw3AwAMFwsgCCgCQCAOOwEADBYLIAgoAkAgDjoAAAwVCyAIKAJAIA42AgAMFAsgCCgCQCAOrDcDAAwTC0EIIAsgC0EITRshCyAMQQhyIQxB+AAhBwsgFCENIAgpA0AiGVBFBEAgB0EgcSEQA0AgDUEBayINIBmnQQ9xQZAvai0AACAQcjoAACAZQg9WIQkgGUIEiCEZIAkNAAsLIAxBCHFFIAgpA0BQcg0DIAdBBHZBjwlqIRZBAiESDAMLIBQhByAIKQNAIhlQRQRAA0AgB0EBayIHIBmnQQdxQTByOgAAIBlCB1YhDSAZQgOIIRkgDQ0ACwsgByENIAxBCHFFDQIgCyAUIA1rIgdBAWogByALSBshCwwCCyAIKQNAIhlCAFMEQCAIQgAgGX0iGTcDQEEBIRJBjwkMAQsgDEGAEHEEQEEBIRJBkAkMAQtBkQlBjwkgDEEBcSISGwshFiAZIBQQRyENCyAPQQAgC0EASBsNDiAMQf//e3EgDCAPGyEMIAgpA0AiGUIAUiALckUEQCAUIQ1BACELDAwLIAsgGVAgFCANa2oiByAHIAtIGyELDAsLQQAhDAJ/Qf////8HIAsgC0H/////B08bIgoiEUEARyEQAkACfwJAAkAgCCgCQCIHQY4lIAcbIg0iD0EDcUUgEUVyDQADQCAPLQAAIgxFDQIgEUEBayIRQQBHIRAgD0EBaiIPQQNxRQ0BIBENAAsLIBBFDQICQCAPLQAARSARQQRJckUEQANAIA8oAgAiB0F/cyAHQYGChAhrcUGAgYKEeHENAiAPQQRqIQ8gEUEEayIRQQNLDQALCyARRQ0DC0EADAELQQELIRADQCAQRQRAIA8tAAAhDEEBIRAMAQsgDyAMRQ0CGiAPQQFqIQ8gEUEBayIRRQ0BQQAhEAwACwALQQALIgcgDWsgCiAHGyIHIA1qIQogC0EATgRAIAkhDCAHIQsMCwsgCSEMIAchCyAKLQAADQ0MCgsgCwRAIAgoAkAMAgtBACEHIABBICATQQAgDBApDAILIAhBADYCDCAIIAgpA0A+AgggCCAIQQhqIgc2AkBBfyELIAcLIQlBACEHAkADQCAJKAIAIg1FDQEgCEEEaiANEIYBIgpBAEgiDSAKIAsgB2tLckUEQCAJQQRqIQkgCyAHIApqIgdLDQEMAgsLIA0NDQtBPSEKIAdBAEgNCyAAQSAgEyAHIAwQKSAHRQRAQQAhBwwBC0EAIQogCCgCQCEJA0AgCSgCACINRQ0BIAhBBGogDRCGASINIApqIgogB0sNASAAIAhBBGogDRAmIAlBBGohCSAHIApLDQALCyAAQSAgEyAHIAxBgMAAcxApIBMgByAHIBNIGyEHDAgLIA9BACALQQBIGw0IQT0hCiAAIAgrA0AgEyALIAwgByAFERwAIgdBAE4NBwwJCyAIIAgpA0A8ADdBASELIBchDSAJIQwMBAsgBy0AASEJIAdBAWohBwwACwALIAANByAVRQ0CQQEhBwNAIAQgB0ECdGooAgAiAARAIAMgB0EDdGogACACIAYQhwFBASEOIAdBAWoiB0EKRw0BDAkLC0EBIQ4gB0EKTw0HA0AgBCAHQQJ0aigCAA0BIAdBAWoiB0EKRw0ACwwHC0EcIQoMBAsgCyAKIA1rIhAgCyAQShsiCSASQf////8Hc0oNAkE9IQogEyAJIBJqIgsgCyATSBsiByAYSg0DIABBICAHIAsgDBApIAAgFiASECYgAEEwIAcgCyAMQYCABHMQKSAAQTAgCSAQQQAQKSAAIA0gEBAmIABBICAHIAsgDEGAwABzECkMAQsLQQAhDgwDC0E9IQoLQfw7IAo2AgALQX8hDgsgCEHQAGokACAOC9kCAQR/IwBB0AFrIgUkACAFIAI2AswBIAVBoAFqIgJBAEEoECoaIAUgBSgCzAE2AsgBAkBBACABIAVByAFqIAVB0ABqIAIgAyAEEIoBQQBIBEBBfyEEDAELQQEgBiAAKAJMQQBOGyEGIAAoAgAhByAAKAJIQQBMBEAgACAHQV9xNgIACwJ/AkACQCAAKAIwRQRAIABB0AA2AjAgAEEANgIcIABCADcDECAAKAIsIQggACAFNgIsDAELIAAoAhANAQtBfyAAEJ0BDQEaCyAAIAEgBUHIAWogBUHQAGogBUGgAWogAyAEEIoBCyECIAgEQCAAQQBBACAAKAIkEQYAGiAAQQA2AjAgACAINgIsIABBADYCHCAAKAIUIQEgAEIANwMQIAJBfyABGyECCyAAIAAoAgAiACAHQSBxcjYCAEF/IAIgAEEgcRshBCAGRQ0ACyAFQdABaiQAIAQLfwIBfwF+IAC9IgNCNIinQf8PcSICQf8PRwR8IAJFBEAgASAARAAAAAAAAAAAYQR/QQAFIABEAAAAAAAA8EOiIAEQjAEhACABKAIAQUBqCzYCACAADwsgASACQf4HazYCACADQv////////+HgH+DQoCAgICAgIDwP4S/BSAACwsVACAARQRAQQAPC0H8OyAANgIAQX8LzgECA38CfSMAQRBrIgMkAEEBIQQgA0EIaiAAQfwAaiIFIAAgAUEBdGpBxABqIgEvAQAQHwJAAkAgAyoCCCIHIAIqAgAiBlwEQCAHIAdbBEAgAi0ABCECDAILIAYgBlwhBAsgAi0ABCECIARFDQAgAy0ADCACQf8BcUYNAQsgBSABIAYgAhA5A0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC5AMiAA0ACwsgA0EQaiQAC9EDAEHUO0GoHBAcQdU7QYoWQQFBAUEAEBtB1jtB/RJBAUGAf0H/ABAEQdc7QfYSQQFBgH9B/wAQBEHYO0H0EkEBQQBB/wEQBEHZO0GUCkECQYCAfkH//wEQBEHaO0GLCkECQQBB//8DEARB2ztBsQpBBEGAgICAeEH/////BxAEQdw7QagKQQRBAEF/EARB3TtB+BhBBEGAgICAeEH/////BxAEQd47Qe8YQQRBAEF/EARB3ztBjxBCgICAgICAgICAf0L///////////8AEIQBQeA7QY4QQgBCfxCEAUHhO0GIEEEEEA1B4jtB9BtBCBANQeM7QaQZEA5B5DtBmSIQDkHlO0EEQZcZEAhB5jtBAkGwGRAIQec7QQRBvxkQCEHoO0GPFhAaQek7QQBB1CEQAUHqO0EAQboiEAFB6ztBAUHyIRABQew7QQJB5B4QAUHtO0EDQYMfEAFB7jtBBEGrHxABQe87QQVByB8QAUHwO0EEQd8iEAFB8TtBBUH9IhABQeo7QQBBriAQAUHrO0EBQY0gEAFB7DtBAkHwIBABQe07QQNBziAQAUHuO0EEQbMhEAFB7ztBBUGRIRABQfI7QQZB7h8QAUHzO0EHQaQjEAELJQAgAEH0JjYCACAALQAEBEAgACgCCEH9DxBmCyAAKAIIEAYgAAsDAAALJQAgAEHsJzYCACAALQAEBEAgACgCCEH9DxBmCyAAKAIIEAYgAAs3AQJ/QQQQHiICIAE2AgBBBBAeIgMgATYCAEGjOyAAQeI7QfooQcEBIAJB4jtB/ihBwgEgAxAHCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRBQALOQEBfyABIAAoAgQiBEEBdWohASAAKAIAIQAgASACIAMgBEEBcQR/IAEoAgAgAGooAgAFIAALEQMACwkAIAEgABEAAAsHACAAEQ4ACzUBAX8gASAAKAIEIgJBAXVqIQEgACgCACEAIAEgAkEBcQR/IAEoAgAgAGooAgAFIAALEQAACzABAX8jAEEQayICJAAgAiABNgIIIAJBCGogABECACEAIAIoAggQBiACQRBqJAAgAAsMACABIAAoAgARAAALCQAgAEEBOgAEC9coAQJ/QaA7QaE7QaI7QQBBjCZBB0GPJkEAQY8mQQBB2RZBkSZBCBAFQQgQHiIAQoiAgIAQNwMAQaA7QZcbQQZBoCZBuCZBCSAAQQEQAEGkO0GlO0GmO0GgO0GMJkEKQYwmQQtBjCZBDEG4EUGRJkENEAVBBBAeIgBBDjYCAEGkO0HoFEECQcAmQcgmQQ8gAEEAEABBoDtBowxBAkHMJkHUJkEQQREQA0GgO0GAHEEDQaQnQbAnQRJBExADQbg7Qbk7Qbo7QQBBjCZBFEGPJkEAQY8mQQBB6RZBkSZBFRAFQQgQHiIAQoiAgIAQNwMAQbg7QegcQQJBuCdByCZBFiAAQQEQAEG7O0G8O0G9O0G4O0GMJkEXQYwmQRhBjCZBGUHPEUGRJkEaEAVBBBAeIgBBGzYCAEG7O0HoFEECQcAnQcgmQRwgAEEAEABBuDtBowxBAkHIJ0HUJkEdQR4QA0G4O0GAHEEDQaQnQbAnQRJBHxADQb47Qb87QcA7QQBBjCZBIEGPJkEAQY8mQQBB2hpBkSZBIRAFQb47QQFB+CdBjCZBIkEjEA9BvjtBkBtBAUH4J0GMJkEiQSMQA0G+O0HpCEECQfwnQcgmQSRBJRADQQgQHiIAQQA2AgQgAEEmNgIAQb47Qa0cQQRBkChBoChBJyAAQQAQAEEIEB4iAEEANgIEIABBKDYCAEG+O0GkEUEDQagoQbQoQSkgAEEAEABBCBAeIgBBADYCBCAAQSo2AgBBvjtByB1BA0G8KEHIKEErIABBABAAQQgQHiIAQQA2AgQgAEEsNgIAQb47QaYQQQNB0ChByChBLSAAQQAQAEEIEB4iAEEANgIEIABBLjYCAEG+O0HLHEEDQdwoQbAnQS8gAEEAEABBCBAeIgBBADYCBCAAQTA2AgBBvjtB0h1BAkHoKEHUJkExIABBABAAQQgQHiIAQQA2AgQgAEEyNgIAQb47QZcQQQJB8ChB1CZBMyAAQQAQAEHBO0GECkH4KEE0QZEmQTUQCkHiD0EAEEhB6g5BCBBIQYITQRAQSEHxFUEYEEhBgxdBIBBIQfAOQSgQSEHBOxAJQaM7Qf8aQfgoQTZBkSZBNxAKQYMXQQAQkwFB8A5BCBCTAUGjOxAJQcI7QYobQfgoQThBkSZBORAKQQQQHiIAQQg2AgBBBBAeIgFBCDYCAEHCO0GEG0HiO0H6KEE6IABB4jtB/ihBOyABEAdBBBAeIgBBADYCAEEEEB4iAUEANgIAQcI7QeUOQds7QdQmQTwgAEHbO0HIKEE9IAEQB0HCOxAJQcM7QcQ7QcU7QQBBjCZBPkGPJkEAQY8mQQBB+xtBkSZBPxAFQcM7QQFBhClBjCZBwABBwQAQD0HDO0HXDkEBQYQpQYwmQcAAQcEAEANBwztB0BpBAkGIKUHUJkHCAEHDABADQcM7QekIQQJBkClByCZBxABBxQAQA0EIEB4iAEEANgIEIABBxgA2AgBBwztB9w9BAkGQKUHIJkHHACAAQQAQAEEIEB4iAEEANgIEIABByAA2AgBBwztB6htBA0GYKUHIKEHJACAAQQAQAEEIEB4iAEEANgIEIABBygA2AgBBwztBnxtBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABBzAA2AgBBwztB0BRBBEGwKUHAKUHNACAAQQAQAEEIEB4iAEEANgIEIABBzgA2AgBBwztBiA1BBEGwKUHAKUHNACAAQQAQAEEIEB4iAEEANgIEIABBzwA2AgBBwztB3RNBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABB0AA2AgBBwztB+QtBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABB0QA2AgBBwztBuBBBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABB0gA2AgBBwztB5RpBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABB0wA2AgBBwztB/BRBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABB1AA2AgBBwztBlRNBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABB1QA2AgBBwztBtQpBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABB1gA2AgBBwztBuBVBBEGwKUHAKUHNACAAQQAQAEEIEB4iAEEANgIEIABB1wA2AgBBwztBmw1BBEGwKUHAKUHNACAAQQAQAEEIEB4iAEEANgIEIABB2AA2AgBBwztB7RNBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABB2QA2AgBBwztBxAlBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABB2gA2AgBBwztB8QhBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABB2wA2AgBBwztBhwlBA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB3QA2AgBBwztB1BBBA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB3gA2AgBBwztB5gxBA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB3wA2AgBBwztBzBNBAkGQKUHIJkHHACAAQQAQAEEIEB4iAEEANgIEIABB4AA2AgBBwztBrAlBA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB4QA2AgBBwztBnxZBA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB4gA2AgBBwztBoRdBA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB4wA2AgBBwztBvw1BA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB5AA2AgBBwztB+xNBAkGQKUHIJkHHACAAQQAQAEEIEB4iAEEANgIEIABB5QA2AgBBwztBkQ9BA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB5gA2AgBBwztBwQxBA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB5wA2AgBBwztBvhNBAkGQKUHIJkHHACAAQQAQAEEIEB4iAEEANgIEIABB6AA2AgBBwztBsxdBA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB6QA2AgBBwztBzw1BA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB6gA2AgBBwztBpQ9BA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB6wA2AgBBwztB0gxBA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB7AA2AgBBwztBiRdBA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB7QA2AgBBwztBrA1BA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB7gA2AgBBwztB9w5BA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB7wA2AgBBwztBrQxBA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB8AA2AgBBwztB/RhBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABB8QA2AgBBwztBshRBA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB8gA2AgBBwztBlBJBBEGwKUHAKUHNACAAQQAQAEEIEB4iAEEANgIEIABB8wA2AgBBwztBzhlBBEGwKUHAKUHNACAAQQAQAEEIEB4iAEEANgIEIABB9AA2AgBBwztB4g1BBEGwKUHAKUHNACAAQQAQAEEIEB4iAEEANgIEIABB9QA2AgBBwztBrRNBBEGwKUHAKUHNACAAQQAQAEEIEB4iAEEANgIEIABB9gA2AgBBwztB+gxBBEGwKUHAKUHNACAAQQAQAEEIEB4iAEEANgIEIABB9wA2AgBBwztBnhVBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABB+AA2AgBBwztBrxtBAkHUKUHUJkH5ACAAQQAQAEEIEB4iAEEANgIEIABB+gA2AgBBwztB3BRBA0HcKUGwJ0H7ACAAQQAQAEEIEB4iAEEANgIEIABB/AA2AgBBwztBiQxBAkHUKUHUJkH5ACAAQQAQAEEIEB4iAEEANgIEIABB/QA2AgBBwztBxhBBAkHUKUHUJkH5ACAAQQAQAEEIEB4iAEEANgIEIABB/gA2AgBBwztB8hpBAkHUKUHUJkH5ACAAQQAQAEEIEB4iAEEANgIEIABB/wA2AgBBwztBjRVBAkHUKUHUJkH5ACAAQQAQAEEIEB4iAEEANgIEIABBgAE2AgBBwztBoRNBAkHUKUHUJkH5ACAAQQAQAEEIEB4iAEEANgIEIABBgQE2AgBBwztBxwpBAkHUKUHUJkH5ACAAQQAQAEEIEB4iAEEANgIEIABBggE2AgBBwztBwhVBA0HcKUGwJ0H7ACAAQQAQAEEIEB4iAEEANgIEIABBgwE2AgBBwztB4RBBAkHoKUHUJkGEASAAQQAQAEEIEB4iAEEANgIEIABBhQE2AgBBwztBuAlBAkHwKUH6KEGGASAAQQAQAEEIEB4iAEEANgIEIABBhwE2AgBBwztBrRZBAkHwKUH6KEGGASAAQQAQAEEIEB4iAEEANgIEIABBiAE2AgBBwztBqhdBAkHoKUHUJkGEASAAQQAQAEEIEB4iAEEANgIEIABBiQE2AgBBwztBmw9BAkHoKUHUJkGEASAAQQAQAEEIEB4iAEEANgIEIABBigE2AgBBwztBvxdBAkHoKUHUJkGEASAAQQAQAEEIEB4iAEEANgIEIABBiwE2AgBBwztBsg9BAkHoKUHUJkGEASAAQQAQAEEIEB4iAEEANgIEIABBjAE2AgBBwztBlRdBAkHoKUHUJkGEASAAQQAQAEEIEB4iAEEANgIEIABBjQE2AgBBwztBhA9BAkHoKUHUJkGEASAAQQAQAEEIEB4iAEEANgIEIABBjgE2AgBBwztBihlBAkHUKUHUJkH5ACAAQQAQAEEIEB4iAEEANgIEIABBjwE2AgBBwztBwRRBAkHwKUH6KEGGASAAQQAQAEEIEB4iAEEANgIEIABBkAE2AgBBwztBnhJBA0H4KUGEKkGRASAAQQAQAEEIEB4iAEEANgIEIABBkgE2AgBBwztB0AlBAkHUKUHUJkH5ACAAQQAQAEEIEB4iAEEANgIEIABBkwE2AgBBwztB/AhBAkHUKUHUJkH5ACAAQQAQAEEIEB4iAEEANgIEIABBlAE2AgBBwztB2RlBA0HcKUGwJ0H7ACAAQQAQAEEIEB4iAEEANgIEIABBlQE2AgBBwztBtBNBA0GMKkGYKkGWASAAQQAQAEEIEB4iAEEANgIEIABBlwE2AgBBwztBhxxBBEGgKkGgKEGYASAAQQAQAEEIEB4iAEEANgIEIABBmQE2AgBBwztBnBxBA0GwKkHIKEGaASAAQQAQAEEIEB4iAEEANgIEIABBmwE2AgBBwztBmgpBAkG8KkHUJkGcASAAQQAQAEEIEB4iAEEANgIEIABBnQE2AgBBwztBmQxBAkHEKkHUJkGeASAAQQAQAEEIEB4iAEEANgIEIABBnwE2AgBBwztBkxxBA0HMKkGwJ0GgASAAQQAQAEEIEB4iAEEANgIEIABBoQE2AgBBwztBuxZBA0HYKkHIKEGiASAAQQAQAEEIEB4iAEEANgIEIABBowE2AgBBwztBvxtBAkHkKkHUJkGkASAAQQAQAEEIEB4iAEEANgIEIABBpQE2AgBBwztB0xtBA0HYKkHIKEGiASAAQQAQAEEIEB4iAEEANgIEIABBpgE2AgBBwztBqB1BA0HsKkHIKEGnASAAQQAQAEEIEB4iAEEANgIEIABBqAE2AgBBwztBph1BAkGQKUHIJkHHACAAQQAQAEEIEB4iAEEANgIEIABBqQE2AgBBwztBuR1BA0H4KkHIKEGqASAAQQAQAEEIEB4iAEEANgIEIABBqwE2AgBBwztBtx1BAkGQKUHIJkHHACAAQQAQAEEIEB4iAEEANgIEIABBrAE2AgBBwztB3whBAkGQKUHIJkHHACAAQQAQAEEIEB4iAEEANgIEIABBrQE2AgBBwztB1whBAkGEK0HUJkGuASAAQQAQAEEIEB4iAEEANgIEIABBrwE2AgBBwztB3hVBAkGQKUHIJkHHACAAQQAQAEEIEB4iAEEANgIEIABBsAE2AgBBwztB3AlBAkGEK0HUJkGuASAAQQAQAEEIEB4iAEEANgIEIABBsQE2AgBBwztB6QlBBUGQK0GkK0GyASAAQQAQAEEIEB4iAEEANgIEIABBswE2AgBBwztB5w9BAkHwKUH6KEGGASAAQQAQAEEIEB4iAEEANgIEIABBtAE2AgBBwztB0Q9BAkHwKUH6KEGGASAAQQAQAEEIEB4iAEEANgIEIABBtQE2AgBBwztBhhNBAkHwKUH6KEGGASAAQQAQAEEIEB4iAEEANgIEIABBtgE2AgBBwztB+BVBAkHwKUH6KEGGASAAQQAQAEEIEB4iAEEANgIEIABBtwE2AgBBwztByxdBAkHwKUH6KEGGASAAQQAQAEEIEB4iAEEANgIEIABBuAE2AgBBwztBvw9BAkHwKUH6KEGGASAAQQAQAEEIEB4iAEEANgIEIABBuQE2AgBBwztB+QlBAkGsK0HUJkG6ASAAQQAQAEEIEB4iAEEANgIEIABBuwE2AgBBwztBzBVBA0H4KUGEKkGRASAAQQAQAEEIEB4iAEEANgIEIABBvAE2AgBBwztBqBJBA0H4KUGEKkGRASAAQQAQAEEIEB4iAEEANgIEIABBvQE2AgBBwztB5BlBA0H4KUGEKkGRASAAQQAQAEEIEB4iAEEANgIEIABBvgE2AgBBwztBqxVBAkHUKUHUJkH5ACAAQQAQAAtZAQF/IAAgACgCSCIBQQFrIAFyNgJIIAAoAgAiAUEIcQRAIAAgAUEgcjYCAEF/DwsgAEIANwIEIAAgACgCLCIBNgIcIAAgATYCFCAAIAEgACgCMGo2AhBBAAtHAAJAIAFBA00EfyAAIAFBAnRqQQRqBSABQQRrIgEgACgCGCIAKAIEIAAoAgAiAGtBAnVPDQEgACABQQJ0agsoAgAPCxACAAs4AQF/IAFBAEgEQBACAAsgAUEBa0EFdkEBaiIBQQJ0EB4hAiAAIAE2AgggAEEANgIEIAAgAjYCAAvSBQEJfyAAIAEvAQA7AQAgACABKQIENwIEIAAgASkCDDcCDCAAIAEoAhQ2AhQCQAJAIAEoAhgiA0UNAEEYEB4iBUEANgIIIAVCADcCACADKAIEIgEgAygCACICRwRAIAEgAmsiAkEASA0CIAUgAhAeIgE2AgAgBSABIAJqNgIIIAMoAgAiAiADKAIEIgZHBEADQCABIAIoAgA2AgAgAUEEaiEBIAJBBGoiAiAGRw0ACwsgBSABNgIECyAFQgA3AgwgBUEANgIUIAMoAhAiAUUNACAFQQxqIAEQnwEgAygCDCEGIAUgBSgCECIEIAMoAhAiAkEfcWogAkFgcWoiATYCEAJAAkAgBEUEQCABQQFrIQMMAQsgAUEBayIDIARBAWtzQSBJDQELIAUoAgwgA0EFdkEAIAFBIU8bQQJ0akEANgIACyAFKAIMIARBA3ZB/P///wFxaiEBIARBH3EiA0UEQCACQQBMDQEgAkEgbSEDIAJBH2pBP08EQCABIAYgA0ECdBAzGgsgAiADQQV0ayICQQBMDQEgASADQQJ0IgNqIgEgASgCAEF/QSAgAmt2IgFBf3NxIAMgBmooAgAgAXFyNgIADAELIAJBAEwNAEF/IAN0IQhBICADayEEIAJBIE4EQCAIQX9zIQkgASgCACEHA0AgASAHIAlxIAYoAgAiByADdHI2AgAgASABKAIEIAhxIAcgBHZyIgc2AgQgBkEEaiEGIAFBBGohASACQT9LIQogAkEgayECIAoNAAsgAkEATA0BCyABIAEoAgBBfyAEIAQgAiACIARKGyIEa3YgCHFBf3NxIAYoAgBBf0EgIAJrdnEiBiADdHI2AgAgAiAEayICQQBMDQAgASADIARqQQN2Qfz///8BcWoiASABKAIAQX9BICACa3ZBf3NxIAYgBHZyNgIACyAAKAIYIQEgACAFNgIYIAEEQCABEFsLDwsQAgALvQMBB38gAARAIwBBIGsiBiQAIAAoAgAiASgC5AMiAwRAIAMgARBvGiABQQA2AuQDCyABKALsAyICIAEoAugDIgNHBEBBASACIANrQQJ1IgIgAkEBTRshBEEAIQIDQCADIAJBAnRqKAIAQQA2AuQDIAJBAWoiAiAERw0ACwsgASADNgLsAwJAIAMgAUHwA2oiAigCAEYNACAGQQhqQQBBACACEEoiAigCBCABKALsAyABKALoAyIEayIFayIDIAQgBRAzIQUgASgC6AMhBCABIAU2AugDIAIgBDYCBCABKALsAyEFIAEgAigCCDYC7AMgAiAFNgIIIAEoAvADIQcgASACKAIMNgLwAyACIAQ2AgAgAiAHNgIMIAQgBUcEQCACIAUgBCAFa0EDakF8cWo2AggLIARFDQAgBBAnIAEoAugDIQMLIAMEQCABIAM2AuwDIAMQJwsgASgClAEhAyABQQA2ApQBIAMEQCADEFsLIAEQJyAAKAIIIQEgAEEANgIIIAEEQCABIAEoAgAoAgQRAAALIAAoAgQhASAAQQA2AgQgAQRAIAEgASgCACgCBBEAAAsgBkEgaiQAIAAQIwsLtQEBAX8jAEEQayICJAACfyABBEAgASgCACEBQYgEEB4gARBcIAENARogAkH3GTYCACACEHIQJAALQZQ7LQAARQRAQfg6QQM2AgBBiDtCgICAgICAgMA/NwIAQYA7QgA3AgBBlDtBAToAAEH8OkH8Oi0AAEH+AXE6AABB9DpBADYCAEGQO0EANgIAC0GIBBAeQfQ6EFwLIQEgAEIANwIEIAAgATYCACABIAA2AgQgAkEQaiQAIAALGwEBfyAABEAgACgCACIBBEAgARAjCyAAECMLC0kBAn9BBBAeIQFBIBAeIgBBADYCHCAAQoCAgICAgIDAPzcCFCAAQgA3AgwgAEEAOgAIIABBAzYCBCAAQQA2AgAgASAANgIAIAELIAAgAkEFR0EAIAIbRQRAQbgwIAMgBBBJDwsgAyAEEHALIgEBfiABIAKtIAOtQiCGhCAEIAARFQAiBUIgiKckASAFpwuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGECsaIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEECsaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACCwQAQgALBABBAAuKBQIGfgJ/IAEgASgCAEEHakF4cSIBQRBqNgIAIAAhCSABKQMAIQMgASkDCCEGIwBBIGsiCCQAAkAgBkL///////////8AgyIEQoCAgICAgMCAPH0gBEKAgICAgIDA/8MAfVQEQCAGQgSGIANCPIiEIQQgA0L//////////w+DIgNCgYCAgICAgIAIWgRAIARCgYCAgICAgIDAAHwhAgwCCyAEQoCAgICAgICAQH0hAiADQoCAgICAgICACFINASACIARCAYN8IQIMAQsgA1AgBEKAgICAgIDA//8AVCAEQoCAgICAgMD//wBRG0UEQCAGQgSGIANCPIiEQv////////8Dg0KAgICAgICA/P8AhCECDAELQoCAgICAgID4/wAhAiAEQv///////7//wwBWDQBCACECIARCMIinIgBBkfcASQ0AIAMhAiAGQv///////z+DQoCAgICAgMAAhCIFIQcCQCAAQYH3AGsiAUHAAHEEQCACIAFBQGqthiEHQgAhAgwBCyABRQ0AIAcgAa0iBIYgAkHAACABa62IhCEHIAIgBIYhAgsgCCACNwMQIAggBzcDGAJAQYH4ACAAayIAQcAAcQRAIAUgAEFAaq2IIQNCACEFDAELIABFDQAgBUHAACAAa62GIAMgAK0iAoiEIQMgBSACiCEFCyAIIAM3AwAgCCAF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ASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxEBAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCAALCQAgASAAEQIACwUAQcM7Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAqCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRHgALBQBBvjsLIQAgACABKAIAIAEgASwAC0EASBtBuzsgAigCABAQNgIACyoBAX9BDBAeIgFBADoABCABIAAoAgA2AgggAEEANgIAIAFB2Cc2AgAgAQsFAEG7OwsFAEG4OwshACAAIAEoAgAgASABLAALQQBIG0GkOyACKAIAEBA2AgAL2AEBBH8jAEEgayIDJAAgASgCACIEQfD///8HSQRAAkACQCAEQQtPBEAgBEEPckEBaiIFEB4hBiADIAVBgICAgHhyNgIQIAMgBjYCCCADIAQ2AgwgBCAGaiEFDAELIAMgBDoAEyADQQhqIgYgBGohBSAERQ0BCyAGIAFBBGogBBArGgsgBUEAOgAAIAMgAjYCACADQRhqIANBCGogAyAAEQMAIAMoAhgQHSADKAIYIgAQBiADKAIAEAYgAywAE0EASARAIAMoAggQIwsgA0EgaiQAIAAPCxACAAsqAQF/QQwQHiIBQQA6AAQgASAAKAIANgIIIABBADYCACABQeAmNgIA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AkEIaiAIIAYQHyACIAcgAC8AABAfQQEhAyACKgIIIgogAioCACILXAR/IAogClsNAyALIAtcBSADC0UNAiACLQAMIAItAARHDQILIABBAmohAEEBIQMgBCEGQQEhBCAGRQ0ACyABLwB6IgBBB3FFBEAgBS0AekEHcUUNAgsgCCAAECAiCiAHIAUvAHoQICILWw0BIAogClsNACALIAtcDQELIAFBFGogBUEUakHoABArGiABQfwAaiAFQfwAahCgAQNAIAEtAAAiAEEEcQ0BIAEgAEEEcjoAACABKAIQIgAEQCABIAARAAALIAFBgICA/gc2ApwBIAEoAuQDIgENAAsLIAJBEGokAAvGAwEEfyMAQaAEayICJAAgACgCBCEBIABBADYCBCABBEAgASABKAIAKAIEEQAACyAAKAIIIQEgAEEANgIIIAEEQCABIAEoAgAoAgQRAAALAkAgACgCACIAKALoAyAAKALsA0YEQCAAKALkAw0BIAAgAkEYaiAAKAL0AxBcIgEpAgA3AgAgACABKAIQNgIQIAAgASkCCDcCCCAAQRRqIAFBFGpB6AAQKxogACABKQKMATcCjAEgACABKQKEATcChAEgACABKQJ8NwJ8IAEoApQBIQQgAUEANgKUASAAKAKUASEDIAAgBDYClAEgAwRAIAMQWwsgAEGYAWogAUGYAWpB0AIQKxogACgC6AMiAwRAIAAgAzYC7AMgAxAjCyAAIAEoAugDNgLoAyAAIAEoAuwDNgLsAyAAIAEoAvADNgLwAyABQQA2AvADIAFCADcC6AMgACABKQL8AzcC/AMgACABKQL0AzcC9AMgACABKAKEBDYChAQgASgClAEhACABQQA2ApQBIAAEQCAAEFsLIAJBoARqJAAPCyACQfAcNgIQIABBBUHYJSACQRBqECwQJAALIAJB5hE2AgAgAEEFQdglIAIQLBAkAAsLAEEMEB4gABCiAQsLAEEMEB5BABCiAQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhQLGQAgAUH/AXEEQBACAAsgACgCACgCEEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLJgAgASAAKAIAIgAoAhRHBEAgACABNgIUIAAgACgCDEEBajYCDAsLkgEBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGAEQCABIAAqAhhcBEAgACABOAIYIAAgACgCDEEBajYCDAsgAkEQaiQADwsgAkGIFDYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQbgwQdglIAIQSRoMAQsgAEEAQQVB2CUgAiAAKAIEEQ0AGgsgA0EQaiQAECQACz8AIAFB/wFxRQRAIAIgACgCACIAKAIQIgFBAXFHBEAgACABQX5xIAJyNgIQIAAgACgCDEEBajYCDAsPCxACAAsL4CYjAEGACAuBHk9ubHkgbGVhZiBub2RlcyB3aXRoIGN1c3RvbSBtZWFzdXJlIGZ1bmN0aW9ucyBzaG91bGQgbWFudWFsbHkgbWFyayB0aGVtc2VsdmVzIGFzIGRpcnR5AGlzRGlydHkAbWFya0RpcnR5AGRlc3Ryb3kAc2V0RGlzcGxheQBnZXREaXNwbGF5AHNldEZsZXgALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABzZXRGbGV4R3JvdwBnZXRGbGV4R3JvdwBzZXRPdmVyZmxvdwBnZXRPdmVyZmxvdwBoYXNOZXdMYXlvdXQAY2FsY3VsYXRlTGF5b3V0AGdldENvbXB1dGVkTGF5b3V0AHVuc2lnbmVkIHNob3J0AGdldENoaWxkQ291bnQAdW5zaWduZWQgaW50AHNldEp1c3RpZnlDb250ZW50AGdldEp1c3RpZnlDb250ZW50AGF2YWlsYWJsZUhlaWdodCBpcyBpbmRlZmluaXRlIHNvIGhlaWdodFNpemluZ01vZGUgbXVzdCBiZSBTaXppbmdNb2RlOjpNYXhDb250ZW50AGF2YWlsYWJsZVdpZHRoIGlzIGluZGVmaW5pdGUgc28gd2lkdGhTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABzZXRBbGlnbkNvbnRlbnQAZ2V0QWxpZ25Db250ZW50AGdldFBhcmVudABpbXBsZW1lbnQAc2V0TWF4SGVpZ2h0UGVyY2VudABzZXRIZWlnaHRQZXJjZW50AHNldE1pbkhlaWdodFBlcmNlbnQAc2V0RmxleEJhc2lzUGVyY2VudABzZXRHYXBQZXJjZW50AHNldFBvc2l0aW9uUGVyY2VudABzZXRNYXJnaW5QZXJjZW50AHNldE1heFdpZHRoUGVyY2VudABzZXRXaWR0aFBlcmNlbnQAc2V0TWluV2lkdGhQZXJjZW50AHNldFBhZGRpbmdQZXJjZW50AGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6UG9pbnQgfHwgaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQZXJjZW50AGNyZWF0ZURlZmF1bHQAdW5pdAByaWdodABoZWlnaHQAc2V0TWF4SGVpZ2h0AGdldE1heEhlaWdodABzZXRIZWlnaHQAZ2V0SGVpZ2h0AHNldE1pbkhlaWdodABnZXRNaW5IZWlnaHQAZ2V0Q29tcHV0ZWRIZWlnaHQAZ2V0Q29tcHV0ZWRSaWdodABsZWZ0AGdldENvbXB1dGVkTGVmdAByZXNldABfX2Rlc3RydWN0AGZsb2F0AHVpbnQ2NF90AHVzZVdlYkRlZmF1bHRzAHNldFVzZVdlYkRlZmF1bHRzAHNldEFsaWduSXRlbXMAZ2V0QWxpZ25JdGVtcwBzZXRGbGV4QmFzaXMAZ2V0RmxleEJhc2lzAENhbm5vdCBnZXQgbGF5b3V0IHByb3BlcnRpZXMgb2YgbXVsdGktZWRnZSBzaG9ydGhhbmRzAHNldFBvaW50U2NhbGVGYWN0b3IATWVhc3VyZUNhbGxiYWNrV3JhcHBlcgBEaXJ0aWVkQ2FsbGJhY2tXcmFwcGVyAENhbm5vdCByZXNldCBhIG5vZGUgc3RpbGwgYXR0YWNoZWQgdG8gYSBvd25lcgBzZXRCb3JkZXIAZ2V0Qm9yZGVyAGdldENvbXB1dGVkQm9yZGVyAGdldE51bWJlcgBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6Ok51bWJlcgB1bnNpZ25lZCBjaGFyAHRvcABnZXRDb21wdXRlZFRvcABzZXRGbGV4V3JhcABnZXRGbGV4V3JhcABzZXRHYXAAZ2V0R2FwACVwAHNldEhlaWdodEF1dG8Ac2V0RmxleEJhc2lzQXV0bwBzZXRQb3NpdGlvbkF1dG8Ac2V0TWFyZ2luQXV0bwBzZXRXaWR0aEF1dG8AU2NhbGUgZmFjdG9yIHNob3VsZCBub3QgYmUgbGVzcyB0aGFuIHplcm8Ac2V0QXNwZWN0UmF0aW8AZ2V0QXNwZWN0UmF0aW8Ac2V0UG9zaXRpb24AZ2V0UG9zaXRpb24Abm90aWZ5T25EZXN0cnVjdGlvbgBzZXRGbGV4RGlyZWN0aW9uAGdldEZsZXhEaXJlY3Rpb24Ac2V0RGlyZWN0aW9uAGdldERpcmVjdGlvbgBzZXRNYXJnaW4AZ2V0TWFyZ2luAGdldENvbXB1dGVkTWFyZ2luAG1hcmtMYXlvdXRTZWVuAG5hbgBib3R0b20AZ2V0Q29tcHV0ZWRCb3R0b20AYm9vbABlbXNjcmlwdGVuOjp2YWwAc2V0RmxleFNocmluawBnZXRGbGV4U2hyaW5rAHNldEFsd2F5c0Zvcm1zQ29udGFpbmluZ0Jsb2NrAE1lYXN1cmVDYWxsYmFjawBEaXJ0aWVkQ2FsbGJhY2sAZ2V0TGVuZ3RoAHdpZHRoAHNldE1heFdpZHRoAGdldE1heFdpZHRoAHNldFdpZHRoAGdldFdpZHRoAHNldE1pbldpZHRoAGdldE1pbldpZHRoAGdldENvbXB1dGVkV2lkdGgAcHVzaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1NtYWxsVmFsdWVCdWZmZXIuaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1N0eWxlVmFsdWVQb29sLmgAdW5zaWduZWQgbG9uZwBzZXRCb3hTaXppbmcAZ2V0Qm94U2l6aW5nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEATWVhc3VyZSBmdW5jdGlvbiByZXR1cm5lZCBhbiBpbnZhbGlkIGRpbWVuc2lvbiB0byBZb2dhOiBbd2lkdGg9JWYsIGhlaWdodD0lZl0ARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVk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`;if(!ua(H)){var va=H;H=h$3.locateFile?h$3.locateFile(va,q$2):q$2+va}function wa(){var a$1=H;try{if(a$1==H&&w$2)return new Uint8Array(w$2);if(ua(a$1))try{var b$1=xa(a$1.slice(37)),c$3=new Uint8Array(b$1.length);for(a$1=0;a$1<b$1.length;++a$1)c$3[a$1]=b$1.charCodeAt(a$1);var d$3=c$3}catch{throw Error(`Converting base64 string to bytes failed.`)}else d$3=void 0;var e$1=d$3;if(e$1)return e$1;throw`both async and sync fetching of the wasm failed`}catch(f){x(f)}}function ya(){return w$2||typeof fetch!=`function`?Promise.resolve().then(function(){return wa()}):fetch(H,{credentials:`same-origin`}).then(function(a$1){if(!a$1.ok)throw`failed to load wasm binary file at '`+H+`'`;return a$1.arrayBuffer()}).catch(function(){return wa()})}function za(a$1){for(;0<a$1.length;)a$1.shift()(h$3)}function Aa(a$1){if(a$1===void 0)return`_unknown`;a$1=a$1.replace(/[^a-zA-Z0-9_]/g,`$`);var b$1=a$1.charCodeAt(0);return 48<=b$1&&57>=b$1?`_`+a$1:a$1}function Ba(a$1,b$1){return a$1=Aa(a$1),function(){return b$1.apply(this,arguments)}}var J$1=[{},{value:void 0},{value:null},{value:!0},{value:!1}],Ca=[];function Da(a$1){var b$1=Error,c$3=Ba(a$1,function(d$3){this.name=a$1,this.message=d$3,d$3=Error(d$3).stack,d$3!==void 0&&(this.stack=this.toString()+`
2
2
  `+d$3.replace(/^Error(:[^\n]*)?\n/,``))});return c$3.prototype=Object.create(b$1.prototype),c$3.prototype.constructor=c$3,c$3.prototype.toString=function(){return this.message===void 0?this.name:this.name+`: `+this.message},c$3}var K$1=void 0;function L$1(a$1){throw new K$1(a$1)}var M$1=a$1=>(a$1||L$1(`Cannot use deleted val. handle = `+a$1),J$1[a$1].value),Ea=a$1=>{switch(a$1){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var b$1=Ca.length?Ca.pop():J$1.length;return J$1[b$1]={ga:1,value:a$1},b$1}},Fa=void 0,Ga=void 0;function N$1(a$1){for(var b$1=``;A[a$1];)b$1+=Ga[A[a$1++]];return b$1}var O$2=[];function Ha(){for(;O$2.length;){var a$1=O$2.pop();a$1.M.$=!1,a$1.delete()}}var P$1=void 0,Q$1={};function Ia(a$1,b$1){for(b$1===void 0&&L$1(`ptr should not be undefined`);a$1.R;)b$1=a$1.ba(b$1),a$1=a$1.R;return b$1}var R$1={};function Ja(a$1){a$1=Ka(a$1);var b$1=N$1(a$1);return S$1(a$1),b$1}function La(a$1,b$1){var c$3=R$1[a$1];return c$3===void 0&&L$1(b$1+` has unknown type `+Ja(a$1)),c$3}function Ma(){}var Na=!1;function Oa(a$1){--a$1.count.value,a$1.count.value===0&&(a$1.T?a$1.U.W(a$1.T):a$1.P.N.W(a$1.O))}function Pa(a$1,b$1,c$3){return b$1===c$3?a$1:c$3.R===void 0?null:(a$1=Pa(a$1,b$1,c$3.R),a$1===null?null:c$3.na(a$1))}var Qa={};function Ra(a$1,b$1){return b$1=Ia(a$1,b$1),Q$1[b$1]}var Sa=void 0;function Ta(a$1){throw new Sa(a$1)}function Ua(a$1,b$1){return b$1.P&&b$1.O||Ta(`makeClassHandle requires ptr and ptrType`),!!b$1.U!=!!b$1.T&&Ta(`Both smartPtrType and smartPtr must be specified`),b$1.count={value:1},T(Object.create(a$1,{M:{value:b$1}}))}function T(a$1){return typeof FinalizationRegistry>`u`?(T=b$1=>b$1,a$1):(Na=new FinalizationRegistry(b$1=>{Oa(b$1.M)}),T=b$1=>{var c$3=b$1.M;return c$3.T&&Na.register(b$1,{M:c$3},b$1),b$1},Ma=b$1=>{Na.unregister(b$1)},T(a$1))}var Va={};function Wa(a$1){for(;a$1.length;){var b$1=a$1.pop();a$1.pop()(b$1)}}function Xa(a$1){return this.fromWireType(D$1[a$1>>2])}var U$1={},Ya={};function V$2(a$1,b$1,c$3){function d$3(k){k=c$3(k),k.length!==a$1.length&&Ta(`Mismatched type converter count`);for(var m$2=0;m$2<a$1.length;++m$2)W$1(a$1[m$2],k[m$2])}a$1.forEach(function(k){Ya[k]=b$1});var e$1=Array(b$1.length),f=[],g=0;b$1.forEach((k,m$2)=>{R$1.hasOwnProperty(k)?e$1[m$2]=R$1[k]:(f.push(k),U$1.hasOwnProperty(k)||(U$1[k]=[]),U$1[k].push(()=>{e$1[m$2]=R$1[k],++g,g===f.length&&d$3(e$1)}))}),f.length===0&&d$3(e$1)}function Za(a$1){switch(a$1){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw TypeError(`Unknown type size: `+a$1)}}function W$1(a$1,b$1,c$3={}){if(!(`argPackAdvance`in b$1))throw TypeError(`registerType registeredInstance requires argPackAdvance`);var d$3=b$1.name;if(a$1||L$1(`type "`+d$3+`" must have a positive integer typeid pointer`),R$1.hasOwnProperty(a$1)){if(c$3.ua)return;L$1(`Cannot register type '`+d$3+`' twice`)}R$1[a$1]=b$1,delete Ya[a$1],U$1.hasOwnProperty(a$1)&&(b$1=U$1[a$1],delete U$1[a$1],b$1.forEach(e$1=>e$1()))}function $a(a$1){L$1(a$1.M.P.N.name+` instance already deleted`)}function X$1(){}function ab$1(a$1,b$1,c$3){if(a$1[b$1].S===void 0){var d$3=a$1[b$1];a$1[b$1]=function(){return a$1[b$1].S.hasOwnProperty(arguments.length)||L$1(`Function '`+c$3+`' called with an invalid number of arguments (`+arguments.length+`) - expects one of (`+a$1[b$1].S+`)!`),a$1[b$1].S[arguments.length].apply(this,arguments)},a$1[b$1].S=[],a$1[b$1].S[d$3.Z]=d$3}}function bb(a$1,b$1){h$3.hasOwnProperty(a$1)?(L$1(`Cannot register public name '`+a$1+`' twice`),ab$1(h$3,a$1,a$1),h$3.hasOwnProperty(void 0)&&L$1(`Cannot register multiple overloads of a function with the same number of arguments (undefined)!`),h$3[a$1].S[void 0]=b$1):h$3[a$1]=b$1}function cb(a$1,b$1,c$3,d$3,e$1,f,g,k){this.name=a$1,this.constructor=b$1,this.X=c$3,this.W=d$3,this.R=e$1,this.pa=f,this.ba=g,this.na=k,this.ja=[]}function db(a$1,b$1,c$3){for(;b$1!==c$3;)b$1.ba||L$1(`Expected null or instance of `+c$3.name+`, got an instance of `+b$1.name),a$1=b$1.ba(a$1),b$1=b$1.R;return a$1}function eb(a$1,b$1){return b$1===null?(this.ea&&L$1(`null is not a valid `+this.name),0):(b$1.M||L$1(`Cannot pass "`+fb(b$1)+`" as a `+this.name),b$1.M.O||L$1(`Cannot pass deleted object as a pointer of type `+this.name),db(b$1.M.O,b$1.M.P.N,this.N))}function gb(a$1,b$1){if(b$1===null){if(this.ea&&L$1(`null is not a valid `+this.name),this.da){var c$3=this.fa();return a$1!==null&&a$1.push(this.W,c$3),c$3}return 0}if(b$1.M||L$1(`Cannot pass "`+fb(b$1)+`" as a `+this.name),b$1.M.O||L$1(`Cannot pass deleted object as a pointer of type `+this.name),!this.ca&&b$1.M.P.ca&&L$1(`Cannot convert argument of type `+(b$1.M.U?b$1.M.U.name:b$1.M.P.name)+` to parameter type `+this.name),c$3=db(b$1.M.O,b$1.M.P.N,this.N),this.da)switch(b$1.M.T===void 0&&L$1(`Passing raw pointer to smart pointer is illegal`),this.Ba){case 0:b$1.M.U===this?c$3=b$1.M.T:L$1(`Cannot convert argument of type `+(b$1.M.U?b$1.M.U.name:b$1.M.P.name)+` to parameter type `+this.name);break;case 1:c$3=b$1.M.T;break;case 2:if(b$1.M.U===this)c$3=b$1.M.T;else{var d$3=b$1.clone();c$3=this.xa(c$3,Ea(function(){d$3.delete()})),a$1!==null&&a$1.push(this.W,c$3)}break;default:L$1(`Unsupporting sharing policy`)}return c$3}function hb(a$1,b$1){return b$1===null?(this.ea&&L$1(`null is not a valid `+this.name),0):(b$1.M||L$1(`Cannot pass "`+fb(b$1)+`" as a `+this.name),b$1.M.O||L$1(`Cannot pass deleted object as a pointer of type `+this.name),b$1.M.P.ca&&L$1(`Cannot convert argument of type `+b$1.M.P.name+` to parameter type `+this.name),db(b$1.M.O,b$1.M.P.N,this.N))}function Y(a$1,b$1,c$3,d$3){this.name=a$1,this.N=b$1,this.ea=c$3,this.ca=d$3,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,b$1.R===void 0?(this.toWireType=d$3?eb:hb,this.V=null):this.toWireType=gb}function ib(a$1,b$1){h$3.hasOwnProperty(a$1)||Ta(`Replacing nonexistant public symbol`),h$3[a$1]=b$1,h$3[a$1].Z=void 0}function jb(a$1,b$1){var c$3=[];return function(){if(c$3.length=0,Object.assign(c$3,arguments),a$1.includes(`j`)){var d$3=h$3[`dynCall_`+a$1];d$3=c$3&&c$3.length?d$3.apply(null,[b$1].concat(c$3)):d$3.call(null,b$1)}else d$3=oa.get(b$1).apply(null,c$3);return d$3}}function Z(a$1,b$1){a$1=N$1(a$1);var c$3=a$1.includes(`j`)?jb(a$1,b$1):oa.get(b$1);return typeof c$3!=`function`&&L$1(`unknown function pointer with signature `+a$1+`: `+b$1),c$3}var mb=void 0;function nb(a$1,b$1){function c$3(f){e$1[f]||R$1[f]||(Ya[f]?Ya[f].forEach(c$3):(d$3.push(f),e$1[f]=!0))}var d$3=[],e$1={};throw b$1.forEach(c$3),new mb(a$1+`: `+d$3.map(Ja).join([`, `]))}function ob(a$1,b$1,c$3,d$3,e$1){var f=b$1.length;2>f&&L$1(`argTypes array size mismatch! Must at least get return value and 'this' types!`);var g=b$1[1]!==null&&c$3!==null,k=!1;for(c$3=1;c$3<b$1.length;++c$3)if(b$1[c$3]!==null&&b$1[c$3].V===void 0){k=!0;break}var m$2=b$1[0].name!==`void`,l$1=f-2,n$2=Array(l$1),p=[],r$2=[];return function(){if(arguments.length!==l$1&&L$1(`function `+a$1+` called with `+arguments.length+` arguments, expected `+l$1+` args!`),r$2.length=0,p.length=g?2:1,p[0]=e$1,g){var u$17=b$1[1].toWireType(r$2,this);p[1]=u$17}for(var t$1=0;t$1<l$1;++t$1)n$2[t$1]=b$1[t$1+2].toWireType(r$2,arguments[t$1]),p.push(n$2[t$1]);if(t$1=d$3.apply(null,p),k)Wa(r$2);else for(var y$3=g?1:2;y$3<b$1.length;y$3++){var B$1=y$3===1?u$17:n$2[y$3-2];b$1[y$3].V!==null&&b$1[y$3].V(B$1)}return u$17=m$2?b$1[0].fromWireType(t$1):void 0,u$17}}function pb(a$1,b$1){for(var c$3=[],d$3=0;d$3<a$1;d$3++)c$3.push(E$2[b$1+4*d$3>>2]);return c$3}function qb(a$1){4<a$1&&--J$1[a$1].ga===0&&(J$1[a$1]=void 0,Ca.push(a$1))}function fb(a$1){if(a$1===null)return`null`;var b$1=typeof a$1;return b$1===`object`||b$1===`array`||b$1===`function`?a$1.toString():``+a$1}function rb(a$1,b$1){switch(b$1){case 2:return function(c$3){return this.fromWireType(la[c$3>>2])};case 3:return function(c$3){return this.fromWireType(ma[c$3>>3])};default:throw TypeError(`Unknown float type: `+a$1)}}function sb(a$1,b$1,c$3){switch(b$1){case 0:return c$3?function(d$3){return ja[d$3]}:function(d$3){return A[d$3]};case 1:return c$3?function(d$3){return C$1[d$3>>1]}:function(d$3){return ka[d$3>>1]};case 2:return c$3?function(d$3){return D$1[d$3>>2]}:function(d$3){return E$2[d$3>>2]};default:throw TypeError(`Unknown integer type: `+a$1)}}function tb(a$1,b$1){for(var c$3=``,d$3=0;!(d$3>=b$1/2);++d$3){var e$1=C$1[a$1+2*d$3>>1];if(e$1==0)break;c$3+=String.fromCharCode(e$1)}return c$3}function ub(a$1,b$1,c$3){if(c$3===void 0&&(c$3=2147483647),2>c$3)return 0;c$3-=2;var d$3=b$1;c$3=c$3<2*a$1.length?c$3/2:a$1.length;for(var e$1=0;e$1<c$3;++e$1)C$1[b$1>>1]=a$1.charCodeAt(e$1),b$1+=2;return C$1[b$1>>1]=0,b$1-d$3}function vb(a$1){return 2*a$1.length}function wb(a$1,b$1){for(var c$3=0,d$3=``;!(c$3>=b$1/4);){var e$1=D$1[a$1+4*c$3>>2];if(e$1==0)break;++c$3,65536<=e$1?(e$1-=65536,d$3+=String.fromCharCode(55296|e$1>>10,56320|e$1&1023)):d$3+=String.fromCharCode(e$1)}return d$3}function xb(a$1,b$1,c$3){if(c$3===void 0&&(c$3=2147483647),4>c$3)return 0;var d$3=b$1;c$3=d$3+c$3-4;for(var e$1=0;e$1<a$1.length;++e$1){var f=a$1.charCodeAt(e$1);if(55296<=f&&57343>=f){var g=a$1.charCodeAt(++e$1);f=65536+((f&1023)<<10)|g&1023}if(D$1[b$1>>2]=f,b$1+=4,b$1+4>c$3)break}return D$1[b$1>>2]=0,b$1-d$3}function yb(a$1){for(var b$1=0,c$3=0;c$3<a$1.length;++c$3){var d$3=a$1.charCodeAt(c$3);55296<=d$3&&57343>=d$3&&++c$3,b$1+=4}return b$1}var zb={};function Ab(a$1){var b$1=zb[a$1];return b$1===void 0?N$1(a$1):b$1}var Bb=[];function Cb(a$1){var b$1=Bb.length;return Bb.push(a$1),b$1}function Db(a$1,b$1){for(var c$3=Array(a$1),d$3=0;d$3<a$1;++d$3)c$3[d$3]=La(E$2[b$1+4*d$3>>2],`parameter `+d$3);return c$3}var Eb=[],Fb=[null,[],[]];K$1=h$3.BindingError=Da(`BindingError`),h$3.count_emval_handles=function(){for(var a$1=0,b$1=5;b$1<J$1.length;++b$1)J$1[b$1]!==void 0&&++a$1;return a$1},h$3.get_first_emval=function(){for(var a$1=5;a$1<J$1.length;++a$1)if(J$1[a$1]!==void 0)return J$1[a$1];return null},Fa=h$3.PureVirtualError=Da(`PureVirtualError`);for(var Gb=Array(256),Hb=0;256>Hb;++Hb)Gb[Hb]=String.fromCharCode(Hb);Ga=Gb,h$3.getInheritedInstanceCount=function(){return Object.keys(Q$1).length},h$3.getLiveInheritedInstances=function(){var a$1=[],b$1;for(b$1 in Q$1)Q$1.hasOwnProperty(b$1)&&a$1.push(Q$1[b$1]);return a$1},h$3.flushPendingDeletes=Ha,h$3.setDelayFunction=function(a$1){P$1=a$1,O$2.length&&P$1&&P$1(Ha)},Sa=h$3.InternalError=Da(`InternalError`),X$1.prototype.isAliasOf=function(a$1){if(!(this instanceof X$1&&a$1 instanceof X$1))return!1;var b$1=this.M.P.N,c$3=this.M.O,d$3=a$1.M.P.N;for(a$1=a$1.M.O;b$1.R;)c$3=b$1.ba(c$3),b$1=b$1.R;for(;d$3.R;)a$1=d$3.ba(a$1),d$3=d$3.R;return b$1===d$3&&c$3===a$1},X$1.prototype.clone=function(){if(this.M.O||$a(this),this.M.aa)return this.M.count.value+=1,this;var a$1=T,b$1=Object,c$3=b$1.create,d$3=Object.getPrototypeOf(this),e$1=this.M;return a$1=a$1(c$3.call(b$1,d$3,{M:{value:{count:e$1.count,$:e$1.$,aa:e$1.aa,O:e$1.O,P:e$1.P,T:e$1.T,U:e$1.U}}})),a$1.M.count.value+=1,a$1.M.$=!1,a$1},X$1.prototype.delete=function(){this.M.O||$a(this),this.M.$&&!this.M.aa&&L$1(`Object already scheduled for deletion`),Ma(this),Oa(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},X$1.prototype.isDeleted=function(){return!this.M.O},X$1.prototype.deleteLater=function(){return this.M.O||$a(this),this.M.$&&!this.M.aa&&L$1(`Object already scheduled for deletion`),O$2.push(this),O$2.length===1&&P$1&&P$1(Ha),this.M.$=!0,this},Y.prototype.qa=function(a$1){return this.ka&&(a$1=this.ka(a$1)),a$1},Y.prototype.ha=function(a$1){this.W&&this.W(a$1)},Y.prototype.argPackAdvance=8,Y.prototype.readValueFromPointer=Xa,Y.prototype.deleteObject=function(a$1){a$1!==null&&a$1.delete()},Y.prototype.fromWireType=function(a$1){function b$1(){return this.da?Ua(this.N.X,{P:this.wa,O:c$3,U:this,T:a$1}):Ua(this.N.X,{P:this,O:a$1})}var c$3=this.qa(a$1);if(!c$3)return this.ha(a$1),null;var d$3=Ra(this.N,c$3);if(d$3!==void 0)return d$3.M.count.value===0?(d$3.M.O=c$3,d$3.M.T=a$1,d$3.clone()):(d$3=d$3.clone(),this.ha(a$1),d$3);if(d$3=this.N.pa(c$3),d$3=Qa[d$3],!d$3)return b$1.call(this);d$3=this.ca?d$3.la:d$3.pointerType;var e$1=Pa(c$3,this.N,d$3.N);return e$1===null?b$1.call(this):this.da?Ua(d$3.N.X,{P:d$3,O:e$1,U:this,T:a$1}):Ua(d$3.N.X,{P:d$3,O:e$1})},mb=h$3.UnboundTypeError=Da(`UnboundTypeError`);var xa=typeof atob==`function`?atob:function(a$1){var b$1=``,c$3=0;a$1=a$1.replace(/[^A-Za-z0-9\+\/=]/g,``);do{var d$3=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`.indexOf(a$1.charAt(c$3++)),e$1=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`.indexOf(a$1.charAt(c$3++)),f=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`.indexOf(a$1.charAt(c$3++)),g=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`.indexOf(a$1.charAt(c$3++));d$3=d$3<<2|e$1>>4,e$1=(e$1&15)<<4|f>>2;var k=(f&3)<<6|g;b$1+=String.fromCharCode(d$3),f!==64&&(b$1+=String.fromCharCode(e$1)),g!==64&&(b$1+=String.fromCharCode(k))}while(c$3<a$1.length);return b$1},Jb={l:function(a$1,b$1,c$3,d$3){x(`Assertion failed: `+(a$1?z$4(A,a$1):``)+`, at: `+[b$1?b$1?z$4(A,b$1):``:`unknown filename`,c$3,d$3?d$3?z$4(A,d$3):``:`unknown function`])},q:function(a$1,b$1,c$3){a$1=N$1(a$1),b$1=La(b$1,`wrapper`),c$3=M$1(c$3);var d$3=[].slice,e$1=b$1.N,f=e$1.X,g=e$1.R.X,k=e$1.R.constructor;for(var m$2 in a$1=Ba(a$1,function(){e$1.R.ja.forEach(function(l$1){if(this[l$1]===g[l$1])throw new Fa(`Pure virtual function `+l$1+` must be implemented in JavaScript`)}.bind(this)),Object.defineProperty(this,`__parent`,{value:f}),this.__construct.apply(this,d$3.call(arguments))}),f.__construct=function(){this===f&&L$1(`Pass correct 'this' to __construct`);var l$1=k.implement.apply(void 0,[this].concat(d$3.call(arguments)));Ma(l$1);var n$2=l$1.M;l$1.notifyOnDestruction(),n$2.aa=!0,Object.defineProperties(this,{M:{value:n$2}}),T(this),l$1=n$2.O,l$1=Ia(e$1,l$1),Q$1.hasOwnProperty(l$1)?L$1(`Tried to register registered instance: `+l$1):Q$1[l$1]=this},f.__destruct=function(){this===f&&L$1(`Pass correct 'this' to __destruct`),Ma(this);var l$1=this.M.O;l$1=Ia(e$1,l$1),Q$1.hasOwnProperty(l$1)?delete Q$1[l$1]:L$1(`Tried to unregister unregistered instance: `+l$1)},a$1.prototype=Object.create(f),c$3)a$1.prototype[m$2]=c$3[m$2];return Ea(a$1)},j:function(a$1){var b$1=Va[a$1];delete Va[a$1];var c$3=b$1.fa,d$3=b$1.W,e$1=b$1.ia,f=e$1.map(g=>g.ta).concat(e$1.map(g=>g.za));V$2([a$1],f,g=>{var k={};return e$1.forEach((m$2,l$1)=>{var n$2=g[l$1],p=m$2.ra,r$2=m$2.sa,u$17=g[l$1+e$1.length],t$1=m$2.ya,y$3=m$2.Aa;k[m$2.oa]={read:B$1=>n$2.fromWireType(p(r$2,B$1)),write:(B$1,ba)=>{var I$2=[];t$1(y$3,B$1,u$17.toWireType(I$2,ba)),Wa(I$2)}}}),[{name:b$1.name,fromWireType:function(m$2){var l$1={},n$2;for(n$2 in k)l$1[n$2]=k[n$2].read(m$2);return d$3(m$2),l$1},toWireType:function(m$2,l$1){for(var n$2 in k)if(!(n$2 in l$1))throw TypeError(`Missing field: "`+n$2+`"`);var p=c$3();for(n$2 in k)k[n$2].write(p,l$1[n$2]);return m$2!==null&&m$2.push(d$3,p),p},argPackAdvance:8,readValueFromPointer:Xa,V:d$3}]})},v:function(){},B:function(a$1,b$1,c$3,d$3,e$1){var f=Za(c$3);b$1=N$1(b$1),W$1(a$1,{name:b$1,fromWireType:function(g){return!!g},toWireType:function(g,k){return k?d$3:e$1},argPackAdvance:8,readValueFromPointer:function(g){if(c$3===1)var k=ja;else if(c$3===2)k=C$1;else if(c$3===4)k=D$1;else throw TypeError(`Unknown boolean type size: `+b$1);return this.fromWireType(k[g>>f])},V:null})},f:function(a$1,b$1,c$3,d$3,e$1,f,g,k,m$2,l$1,n$2,p,r$2){n$2=N$1(n$2),f=Z(e$1,f),k&&=Z(g,k),l$1&&=Z(m$2,l$1),r$2=Z(p,r$2);var u$17=Aa(n$2);bb(u$17,function(){nb(`Cannot construct `+n$2+` due to unbound types`,[d$3])}),V$2([a$1,b$1,c$3],d$3?[d$3]:[],function(t$1){if(t$1=t$1[0],d$3)var y$3=t$1.N,B$1=y$3.X;else B$1=X$1.prototype;t$1=Ba(u$17,function(){if(Object.getPrototypeOf(this)!==ba)throw new K$1(`Use 'new' to construct `+n$2);if(I$2.Y===void 0)throw new K$1(n$2+` has no accessible constructor`);var kb=I$2.Y[arguments.length];if(kb===void 0)throw new K$1(`Tried to invoke ctor of `+n$2+` with invalid number of parameters (`+arguments.length+`) - expected (`+Object.keys(I$2.Y).toString()+`) parameters instead!`);return kb.apply(this,arguments)});var ba=Object.create(B$1,{constructor:{value:t$1}});t$1.prototype=ba;var I$2=new cb(n$2,t$1,ba,r$2,y$3,f,k,l$1);y$3=new Y(n$2,I$2,!0,!1),B$1=new Y(n$2+`*`,I$2,!1,!1);var lb=new Y(n$2+` const*`,I$2,!1,!0);return Qa[a$1]={pointerType:B$1,la:lb},ib(u$17,t$1),[y$3,B$1,lb]})},d:function(a$1,b$1,c$3,d$3,e$1,f,g){var k=pb(c$3,d$3);b$1=N$1(b$1),f=Z(e$1,f),V$2([],[a$1],function(m$2){function l$1(){nb(`Cannot call `+n$2+` due to unbound types`,k)}m$2=m$2[0];var n$2=m$2.name+`.`+b$1;b$1.startsWith(`@@`)&&(b$1=Symbol[b$1.substring(2)]);var p=m$2.N.constructor;return p[b$1]===void 0?(l$1.Z=c$3-1,p[b$1]=l$1):(ab$1(p,b$1,n$2),p[b$1].S[c$3-1]=l$1),V$2([],k,function(r$2){return r$2=ob(n$2,[r$2[0],null].concat(r$2.slice(1)),null,f,g),p[b$1].S===void 0?(r$2.Z=c$3-1,p[b$1]=r$2):p[b$1].S[c$3-1]=r$2,[]}),[]})},p:function(a$1,b$1,c$3,d$3,e$1,f){0<b$1||x();var g=pb(b$1,c$3);e$1=Z(d$3,e$1),V$2([],[a$1],function(k){k=k[0];var m$2=`constructor `+k.name;if(k.N.Y===void 0&&(k.N.Y=[]),k.N.Y[b$1-1]!==void 0)throw new K$1(`Cannot register multiple constructors with identical number of parameters (`+(b$1-1)+`) for class '`+k.name+`'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return k.N.Y[b$1-1]=()=>{nb(`Cannot construct `+k.name+` due to unbound types`,g)},V$2([],g,function(l$1){return l$1.splice(1,0,null),k.N.Y[b$1-1]=ob(m$2,l$1,null,e$1,f),[]}),[]})},a:function(a$1,b$1,c$3,d$3,e$1,f,g,k){var m$2=pb(c$3,d$3);b$1=N$1(b$1),f=Z(e$1,f),V$2([],[a$1],function(l$1){function n$2(){nb(`Cannot call `+p+` due to unbound types`,m$2)}l$1=l$1[0];var p=l$1.name+`.`+b$1;b$1.startsWith(`@@`)&&(b$1=Symbol[b$1.substring(2)]),k&&l$1.N.ja.push(b$1);var r$2=l$1.N.X,u$17=r$2[b$1];return u$17===void 0||u$17.S===void 0&&u$17.className!==l$1.name&&u$17.Z===c$3-2?(n$2.Z=c$3-2,n$2.className=l$1.name,r$2[b$1]=n$2):(ab$1(r$2,b$1,p),r$2[b$1].S[c$3-2]=n$2),V$2([],m$2,function(t$1){return t$1=ob(p,t$1,l$1,f,g),r$2[b$1].S===void 0?(t$1.Z=c$3-2,r$2[b$1]=t$1):r$2[b$1].S[c$3-2]=t$1,[]}),[]})},A:function(a$1,b$1){b$1=N$1(b$1),W$1(a$1,{name:b$1,fromWireType:function(c$3){var d$3=M$1(c$3);return qb(c$3),d$3},toWireType:function(c$3,d$3){return Ea(d$3)},argPackAdvance:8,readValueFromPointer:Xa,V:null})},n:function(a$1,b$1,c$3){c$3=Za(c$3),b$1=N$1(b$1),W$1(a$1,{name:b$1,fromWireType:function(d$3){return d$3},toWireType:function(d$3,e$1){return e$1},argPackAdvance:8,readValueFromPointer:rb(b$1,c$3),V:null})},e:function(a$1,b$1,c$3,d$3,e$1){b$1=N$1(b$1),e$1===-1&&(e$1=4294967295),e$1=Za(c$3);var f=k=>k;if(d$3===0){var g=32-8*c$3;f=k=>k<<g>>>g}c$3=b$1.includes(`unsigned`)?function(k,m$2){return m$2>>>0}:function(k,m$2){return m$2},W$1(a$1,{name:b$1,fromWireType:f,toWireType:c$3,argPackAdvance:8,readValueFromPointer:sb(b$1,e$1,d$3!==0),V:null})},b:function(a$1,b$1,c$3){function d$3(f){f>>=2;var g=E$2;return new e$1(ia,g[f+1],g[f])}var e$1=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b$1];c$3=N$1(c$3),W$1(a$1,{name:c$3,fromWireType:d$3,argPackAdvance:8,readValueFromPointer:d$3},{ua:!0})},o:function(a$1,b$1){b$1=N$1(b$1);var c$3=b$1===`std::string`;W$1(a$1,{name:b$1,fromWireType:function(d$3){var e$1=E$2[d$3>>2],f=d$3+4;if(c$3)for(var g=f,k=0;k<=e$1;++k){var m$2=f+k;if(k==e$1||A[m$2]==0){if(g=g?z$4(A,g,m$2-g):``,l$1===void 0)var l$1=g;else l$1+=`\0`,l$1+=g;g=m$2+1}}else{for(l$1=Array(e$1),k=0;k<e$1;++k)l$1[k]=String.fromCharCode(A[f+k]);l$1=l$1.join(``)}return S$1(d$3),l$1},toWireType:function(d$3,e$1){e$1 instanceof ArrayBuffer&&(e$1=new Uint8Array(e$1));var f,g=typeof e$1==`string`;if(g||e$1 instanceof Uint8Array||e$1 instanceof Uint8ClampedArray||e$1 instanceof Int8Array||L$1(`Cannot pass non-string to std::string`),c$3&&g){var k=0;for(f=0;f<e$1.length;++f){var m$2=e$1.charCodeAt(f);127>=m$2?k++:2047>=m$2?k+=2:55296<=m$2&&57343>=m$2?(k+=4,++f):k+=3}f=k}else f=e$1.length;if(k=Ib(4+f+1),m$2=k+4,E$2[k>>2]=f,c$3&&g){if(g=m$2,m$2=f+1,f=A,0<m$2){m$2=g+m$2-1;for(var l$1=0;l$1<e$1.length;++l$1){var n$2=e$1.charCodeAt(l$1);if(55296<=n$2&&57343>=n$2){var p=e$1.charCodeAt(++l$1);n$2=65536+((n$2&1023)<<10)|p&1023}if(127>=n$2){if(g>=m$2)break;f[g++]=n$2}else{if(2047>=n$2){if(g+1>=m$2)break;f[g++]=192|n$2>>6}else{if(65535>=n$2){if(g+2>=m$2)break;f[g++]=224|n$2>>12}else{if(g+3>=m$2)break;f[g++]=240|n$2>>18,f[g++]=128|n$2>>12&63}f[g++]=128|n$2>>6&63}f[g++]=128|n$2&63}}f[g]=0}}else if(g)for(g=0;g<f;++g)l$1=e$1.charCodeAt(g),255<l$1&&(S$1(m$2),L$1(`String has UTF-16 code units that do not fit in 8 bits`)),A[m$2+g]=l$1;else for(g=0;g<f;++g)A[m$2+g]=e$1[g];return d$3!==null&&d$3.push(S$1,k),k},argPackAdvance:8,readValueFromPointer:Xa,V:function(d$3){S$1(d$3)}})},i:function(a$1,b$1,c$3){if(c$3=N$1(c$3),b$1===2)var d$3=tb,e$1=ub,f=vb,g=()=>ka,k=1;else b$1===4&&(d$3=wb,e$1=xb,f=yb,g=()=>E$2,k=2);W$1(a$1,{name:c$3,fromWireType:function(m$2){for(var l$1=E$2[m$2>>2],n$2=g(),p,r$2=m$2+4,u$17=0;u$17<=l$1;++u$17){var t$1=m$2+4+u$17*b$1;(u$17==l$1||n$2[t$1>>k]==0)&&(r$2=d$3(r$2,t$1-r$2),p===void 0?p=r$2:(p+=`\0`,p+=r$2),r$2=t$1+b$1)}return S$1(m$2),p},toWireType:function(m$2,l$1){typeof l$1!=`string`&&L$1(`Cannot pass non-string to C++ string type `+c$3);var n$2=f(l$1),p=Ib(4+n$2+b$1);return E$2[p>>2]=n$2>>k,e$1(l$1,p+4,n$2+b$1),m$2!==null&&m$2.push(S$1,p),p},argPackAdvance:8,readValueFromPointer:Xa,V:function(m$2){S$1(m$2)}})},k:function(a$1,b$1,c$3,d$3,e$1,f){Va[a$1]={name:N$1(b$1),fa:Z(c$3,d$3),W:Z(e$1,f),ia:[]}},h:function(a$1,b$1,c$3,d$3,e$1,f,g,k,m$2,l$1){Va[a$1].ia.push({oa:N$1(b$1),ta:c$3,ra:Z(d$3,e$1),sa:f,za:g,ya:Z(k,m$2),Aa:l$1})},C:function(a$1,b$1){b$1=N$1(b$1),W$1(a$1,{va:!0,name:b$1,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(a$1,b$1,c$3,d$3,e$1){a$1=Bb[a$1],b$1=M$1(b$1),c$3=Ab(c$3);var f=[];return E$2[d$3>>2]=Ea(f),a$1(b$1,c$3,f,e$1)},t:function(a$1,b$1,c$3,d$3){a$1=Bb[a$1],b$1=M$1(b$1),c$3=Ab(c$3),a$1(b$1,c$3,null,d$3)},g:qb,m:function(a$1,b$1){var c$3=Db(a$1,b$1),d$3=c$3[0];b$1=d$3.name+`_$`+c$3.slice(1).map(function(g){return g.name}).join(`_`)+`$`;var e$1=Eb[b$1];if(e$1!==void 0)return e$1;var f=Array(a$1-1);return e$1=Cb((g,k,m$2,l$1)=>{for(var n$2=0,p=0;p<a$1-1;++p)f[p]=c$3[p+1].readValueFromPointer(l$1+n$2),n$2+=c$3[p+1].argPackAdvance;for(g=g[k].apply(g,f),p=0;p<a$1-1;++p)c$3[p+1].ma&&c$3[p+1].ma(f[p]);if(!d$3.va)return d$3.toWireType(m$2,g)}),Eb[b$1]=e$1},D:function(a$1){4<a$1&&(J$1[a$1].ga+=1)},r:function(a$1){var b$1=M$1(a$1);Wa(b$1),qb(a$1)},c:function(){x(``)},x:function(a$1,b$1,c$3){A.copyWithin(a$1,b$1,b$1+c$3)},w:function(a$1){var b$1=A.length;if(a$1>>>=0,2147483648<a$1)return!1;for(var c$3=1;4>=c$3;c$3*=2){var d$3=b$1*(1+.2/c$3);d$3=Math.min(d$3,a$1+100663296);var e$1=Math;d$3=Math.max(a$1,d$3),e$1=e$1.min.call(e$1,2147483648,d$3+(65536-d$3%65536)%65536);a:{try{fa.grow(e$1-ia.byteLength+65535>>>16),na();var f=1;break a}catch{}f=void 0}if(f)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(a$1,b$1,c$3,d$3){for(var e$1=0,f=0;f<c$3;f++){var g=E$2[b$1>>2],k=E$2[b$1+4>>2];b$1+=8;for(var m$2=0;m$2<k;m$2++){var l$1=A[g+m$2],n$2=Fb[a$1];l$1===0||l$1===10?((a$1===1?ea:v$1)(z$4(n$2,0)),n$2.length=0):n$2.push(l$1)}e$1+=k}return E$2[d$3>>2]=e$1,0}};(function(){function a$1(e$1){h$3.asm=e$1.exports,fa=h$3.asm.E,na(),oa=h$3.asm.J,qa.unshift(h$3.asm.F),F$1--,h$3.monitorRunDependencies&&h$3.monitorRunDependencies(F$1),F$1==0&&(ta!==null&&(clearInterval(ta),ta=null),G$1&&(e$1=G$1,G$1=null,e$1()))}function b$1(e$1){a$1(e$1.instance)}function c$3(e$1){return ya().then(function(f){return WebAssembly.instantiate(f,d$3)}).then(function(f){return f}).then(e$1,function(f){v$1(`failed to asynchronously prepare wasm: `+f),x(f)})}var d$3={a:Jb};if(F$1++,h$3.monitorRunDependencies&&h$3.monitorRunDependencies(F$1),h$3.instantiateWasm)try{return h$3.instantiateWasm(d$3,a$1)}catch(e$1){v$1(`Module.instantiateWasm callback failed with error: `+e$1),ca(e$1)}return(function(){return w$2||typeof WebAssembly.instantiateStreaming!=`function`||ua(H)||typeof fetch!=`function`?c$3(b$1):fetch(H,{credentials:`same-origin`}).then(function(e$1){return WebAssembly.instantiateStreaming(e$1,d$3).then(b$1,function(f){return v$1(`wasm streaming compile failed: `+f),v$1(`falling back to ArrayBuffer instantiation`),c$3(b$1)})})})().catch(ca),{}})(),h$3.___wasm_call_ctors=function(){return(h$3.___wasm_call_ctors=h$3.asm.F).apply(null,arguments)};var Ka=h$3.___getTypeName=function(){return(Ka=h$3.___getTypeName=h$3.asm.G).apply(null,arguments)};h$3.__embind_initialize_bindings=function(){return(h$3.__embind_initialize_bindings=h$3.asm.H).apply(null,arguments)};var Ib=h$3._malloc=function(){return(Ib=h$3._malloc=h$3.asm.I).apply(null,arguments)},S$1=h$3._free=function(){return(S$1=h$3._free=h$3.asm.K).apply(null,arguments)};h$3.dynCall_jiji=function(){return(h$3.dynCall_jiji=h$3.asm.L).apply(null,arguments)};var Kb;G$1=function Lb(){Kb||Mb(),Kb||(G$1=Lb)};function Mb(){function a$1(){if(!Kb&&(Kb=!0,h$3.calledRun=!0,!ha)){if(za(qa),aa(h$3),h$3.onRuntimeInitialized&&h$3.onRuntimeInitialized(),h$3.postRun)for(typeof h$3.postRun==`function`&&(h$3.postRun=[h$3.postRun]);h$3.postRun.length;){var b$1=h$3.postRun.shift();ra.unshift(b$1)}za(ra)}}if(!(0<F$1)){if(h$3.preRun)for(typeof h$3.preRun==`function`&&(h$3.preRun=[h$3.preRun]);h$3.preRun.length;)sa();za(pa),0<F$1||(h$3.setStatus?(h$3.setStatus(`Running...`),setTimeout(function(){setTimeout(function(){h$3.setStatus(``)},1),a$1()},1)):a$1())}}if(h$3.preInit)for(typeof h$3.preInit==`function`&&(h$3.preInit=[h$3.preInit]);0<h$3.preInit.length;)h$3.preInit.pop()();return Mb(),loadYoga$1.ready})})();let Align=function(Align$1){return Align$1[Align$1.Auto=0]=`Auto`,Align$1[Align$1.FlexStart=1]=`FlexStart`,Align$1[Align$1.Center=2]=`Center`,Align$1[Align$1.FlexEnd=3]=`FlexEnd`,Align$1[Align$1.Stretch=4]=`Stretch`,Align$1[Align$1.Baseline=5]=`Baseline`,Align$1[Align$1.SpaceBetween=6]=`SpaceBetween`,Align$1[Align$1.SpaceAround=7]=`SpaceAround`,Align$1[Align$1.SpaceEvenly=8]=`SpaceEvenly`,Align$1}({}),BoxSizing=function(BoxSizing$1){return BoxSizing$1[BoxSizing$1.BorderBox=0]=`BorderBox`,BoxSizing$1[BoxSizing$1.ContentBox=1]=`ContentBox`,BoxSizing$1}({}),Dimension=function(Dimension$1){return Dimension$1[Dimension$1.Width=0]=`Width`,Dimension$1[Dimension$1.Height=1]=`Height`,Dimension$1}({}),Direction=function(Direction$1){return Direction$1[Direction$1.Inherit=0]=`Inherit`,Direction$1[Direction$1.LTR=1]=`LTR`,Direction$1[Direction$1.RTL=2]=`RTL`,Direction$1}({}),Display=function(Display$1){return Display$1[Display$1.Flex=0]=`Flex`,Display$1[Display$1.None=1]=`None`,Display$1[Display$1.Contents=2]=`Contents`,Display$1}({}),Edge=function(Edge$1){return Edge$1[Edge$1.Left=0]=`Left`,Edge$1[Edge$1.Top=1]=`Top`,Edge$1[Edge$1.Right=2]=`Right`,Edge$1[Edge$1.Bottom=3]=`Bottom`,Edge$1[Edge$1.Start=4]=`Start`,Edge$1[Edge$1.End=5]=`End`,Edge$1[Edge$1.Horizontal=6]=`Horizontal`,Edge$1[Edge$1.Vertical=7]=`Vertical`,Edge$1[Edge$1.All=8]=`All`,Edge$1}({}),Errata=function(Errata$1){return Errata$1[Errata$1.None=0]=`None`,Errata$1[Errata$1.StretchFlexBasis=1]=`StretchFlexBasis`,Errata$1[Errata$1.AbsolutePositionWithoutInsetsExcludesPadding=2]=`AbsolutePositionWithoutInsetsExcludesPadding`,Errata$1[Errata$1.AbsolutePercentAgainstInnerSize=4]=`AbsolutePercentAgainstInnerSize`,Errata$1[Errata$1.All=2147483647]=`All`,Errata$1[Errata$1.Classic=2147483646]=`Classic`,Errata$1}({}),ExperimentalFeature=function(ExperimentalFeature$1){return ExperimentalFeature$1[ExperimentalFeature$1.WebFlexBasis=0]=`WebFlexBasis`,ExperimentalFeature$1}({}),FlexDirection=function(FlexDirection$1){return FlexDirection$1[FlexDirection$1.Column=0]=`Column`,FlexDirection$1[FlexDirection$1.ColumnReverse=1]=`ColumnReverse`,FlexDirection$1[FlexDirection$1.Row=2]=`Row`,FlexDirection$1[FlexDirection$1.RowReverse=3]=`RowReverse`,FlexDirection$1}({}),Gutter=function(Gutter$1){return Gutter$1[Gutter$1.Column=0]=`Column`,Gutter$1[Gutter$1.Row=1]=`Row`,Gutter$1[Gutter$1.All=2]=`All`,Gutter$1}({}),Justify=function(Justify$1){return Justify$1[Justify$1.FlexStart=0]=`FlexStart`,Justify$1[Justify$1.Center=1]=`Center`,Justify$1[Justify$1.FlexEnd=2]=`FlexEnd`,Justify$1[Justify$1.SpaceBetween=3]=`SpaceBetween`,Justify$1[Justify$1.SpaceAround=4]=`SpaceAround`,Justify$1[Justify$1.SpaceEvenly=5]=`SpaceEvenly`,Justify$1}({}),LogLevel=function(LogLevel$1){return LogLevel$1[LogLevel$1.Error=0]=`Error`,LogLevel$1[LogLevel$1.Warn=1]=`Warn`,LogLevel$1[LogLevel$1.Info=2]=`Info`,LogLevel$1[LogLevel$1.Debug=3]=`Debug`,LogLevel$1[LogLevel$1.Verbose=4]=`Verbose`,LogLevel$1[LogLevel$1.Fatal=5]=`Fatal`,LogLevel$1}({}),MeasureMode=function(MeasureMode$1){return MeasureMode$1[MeasureMode$1.Undefined=0]=`Undefined`,MeasureMode$1[MeasureMode$1.Exactly=1]=`Exactly`,MeasureMode$1[MeasureMode$1.AtMost=2]=`AtMost`,MeasureMode$1}({}),NodeType=function(NodeType$1){return NodeType$1[NodeType$1.Default=0]=`Default`,NodeType$1[NodeType$1.Text=1]=`Text`,NodeType$1}({}),Overflow=function(Overflow$1){return Overflow$1[Overflow$1.Visible=0]=`Visible`,Overflow$1[Overflow$1.Hidden=1]=`Hidden`,Overflow$1[Overflow$1.Scroll=2]=`Scroll`,Overflow$1}({}),PositionType=function(PositionType$1){return PositionType$1[PositionType$1.Static=0]=`Static`,PositionType$1[PositionType$1.Relative=1]=`Relative`,PositionType$1[PositionType$1.Absolute=2]=`Absolute`,PositionType$1}({}),Unit=function(Unit$1){return Unit$1[Unit$1.Undefined=0]=`Undefined`,Unit$1[Unit$1.Point=1]=`Point`,Unit$1[Unit$1.Percent=2]=`Percent`,Unit$1[Unit$1.Auto=3]=`Auto`,Unit$1}({}),Wrap=function(Wrap$1){return Wrap$1[Wrap$1.NoWrap=0]=`NoWrap`,Wrap$1[Wrap$1.Wrap=1]=`Wrap`,Wrap$1[Wrap$1.WrapReverse=2]=`WrapReverse`,Wrap$1}({});var YGEnums_default={ALIGN_AUTO:Align.Auto,ALIGN_FLEX_START:Align.FlexStart,ALIGN_CENTER:Align.Center,ALIGN_FLEX_END:Align.FlexEnd,ALIGN_STRETCH:Align.Stretch,ALIGN_BASELINE:Align.Baseline,ALIGN_SPACE_BETWEEN:Align.SpaceBetween,ALIGN_SPACE_AROUND:Align.SpaceAround,ALIGN_SPACE_EVENLY:Align.SpaceEvenly,BOX_SIZING_BORDER_BOX:BoxSizing.BorderBox,BOX_SIZING_CONTENT_BOX:BoxSizing.ContentBox,DIMENSION_WIDTH:Dimension.Width,DIMENSION_HEIGHT:Dimension.Height,DIRECTION_INHERIT:Direction.Inherit,DIRECTION_LTR:Direction.LTR,DIRECTION_RTL:Direction.RTL,DISPLAY_FLEX:Display.Flex,DISPLAY_NONE:Display.None,DISPLAY_CONTENTS:Display.Contents,EDGE_LEFT:Edge.Left,EDGE_TOP:Edge.Top,EDGE_RIGHT:Edge.Right,EDGE_BOTTOM:Edge.Bottom,EDGE_START:Edge.Start,EDGE_END:Edge.End,EDGE_HORIZONTAL:Edge.Horizontal,EDGE_VERTICAL:Edge.Vertical,EDGE_ALL:Edge.All,ERRATA_NONE:Errata.None,ERRATA_STRETCH_FLEX_BASIS:Errata.StretchFlexBasis,ERRATA_ABSOLUTE_POSITION_WITHOUT_INSETS_EXCLUDES_PADDING:Errata.AbsolutePositionWithoutInsetsExcludesPadding,ERRATA_ABSOLUTE_PERCENT_AGAINST_INNER_SIZE:Errata.AbsolutePercentAgainstInnerSize,ERRATA_ALL:Errata.All,ERRATA_CLASSIC:Errata.Classic,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:ExperimentalFeature.WebFlexBasis,FLEX_DIRECTION_COLUMN:FlexDirection.Column,FLEX_DIRECTION_COLUMN_REVERSE:FlexDirection.ColumnReverse,FLEX_DIRECTION_ROW:FlexDirection.Row,FLEX_DIRECTION_ROW_REVERSE:FlexDirection.RowReverse,GUTTER_COLUMN:Gutter.Column,GUTTER_ROW:Gutter.Row,GUTTER_ALL:Gutter.All,JUSTIFY_FLEX_START:Justify.FlexStart,JUSTIFY_CENTER:Justify.Center,JUSTIFY_FLEX_END:Justify.FlexEnd,JUSTIFY_SPACE_BETWEEN:Justify.SpaceBetween,JUSTIFY_SPACE_AROUND:Justify.SpaceAround,JUSTIFY_SPACE_EVENLY:Justify.SpaceEvenly,LOG_LEVEL_ERROR:LogLevel.Error,LOG_LEVEL_WARN:LogLevel.Warn,LOG_LEVEL_INFO:LogLevel.Info,LOG_LEVEL_DEBUG:LogLevel.Debug,LOG_LEVEL_VERBOSE:LogLevel.Verbose,LOG_LEVEL_FATAL:LogLevel.Fatal,MEASURE_MODE_UNDEFINED:MeasureMode.Undefined,MEASURE_MODE_EXACTLY:MeasureMode.Exactly,MEASURE_MODE_AT_MOST:MeasureMode.AtMost,NODE_TYPE_DEFAULT:NodeType.Default,NODE_TYPE_TEXT:NodeType.Text,OVERFLOW_VISIBLE:Overflow.Visible,OVERFLOW_HIDDEN:Overflow.Hidden,OVERFLOW_SCROLL:Overflow.Scroll,POSITION_TYPE_STATIC:PositionType.Static,POSITION_TYPE_RELATIVE:PositionType.Relative,POSITION_TYPE_ABSOLUTE:PositionType.Absolute,UNIT_UNDEFINED:Unit.Undefined,UNIT_POINT:Unit.Point,UNIT_PERCENT:Unit.Percent,UNIT_AUTO:Unit.Auto,WRAP_NO_WRAP:Wrap.NoWrap,WRAP_WRAP:Wrap.Wrap,WRAP_WRAP_REVERSE:Wrap.WrapReverse};function wrapAssembly(lib){function patch$2(prototype,name$2,fn){let original=prototype[name$2];prototype[name$2]=function(){var args=[...arguments];return fn.call(this,original,...args)}}for(let fnName of[`setPosition`,`setMargin`,`setFlexBasis`,`setWidth`,`setHeight`,`setMinWidth`,`setMinHeight`,`setMaxWidth`,`setMaxHeight`,`setPadding`,`setGap`]){let methods={[Unit.Point]:lib.Node.prototype[fnName],[Unit.Percent]:lib.Node.prototype[`${fnName}Percent`],[Unit.Auto]:lib.Node.prototype[`${fnName}Auto`]};patch$2(lib.Node.prototype,fnName,function(original){var args=[...arguments].slice(1);let value=args.pop(),unit,asNumber$1;if(value===`auto`)unit=Unit.Auto,asNumber$1=void 0;else if(typeof value==`object`)unit=value.unit,asNumber$1=value.valueOf();else if(unit=typeof value==`string`&&value.endsWith(`%`)?Unit.Percent:Unit.Point,asNumber$1=parseFloat(value),value!==void 0&&!Number.isNaN(value)&&Number.isNaN(asNumber$1))throw Error(`Invalid value ${value} for ${fnName}`);if(!methods[unit])throw Error(`Failed to execute "${fnName}": Unsupported unit '${value}'`);return asNumber$1===void 0?methods[unit].call(this,...args):methods[unit].call(this,...args,asNumber$1)})}function wrapMeasureFunction(measureFunction){return lib.MeasureCallback.implement({measure:function(){let{width,height}=measureFunction(...arguments);return{width:width??NaN,height:height??NaN}}})}patch$2(lib.Node.prototype,`setMeasureFunc`,function(original,measureFunc){return measureFunc?original.call(this,wrapMeasureFunction(measureFunc)):this.unsetMeasureFunc()});function wrapDirtiedFunc(dirtiedFunction){return lib.DirtiedCallback.implement({dirtied:dirtiedFunction})}return patch$2(lib.Node.prototype,`setDirtiedFunc`,function(original,dirtiedFunc){original.call(this,wrapDirtiedFunc(dirtiedFunc))}),patch$2(lib.Config.prototype,`free`,function(){lib.Config.destroy(this)}),patch$2(lib.Node,`create`,(_$2,config)=>config?lib.Node.createWithConfig(config):lib.Node.createDefault()),patch$2(lib.Node.prototype,`free`,function(){lib.Node.destroy(this)}),patch$2(lib.Node.prototype,`freeRecursive`,function(){for(let t$1=0,T=this.getChildCount();t$1<T;++t$1)this.getChild(0).freeRecursive();this.free()}),patch$2(lib.Node.prototype,`calculateLayout`,function(original){let width=arguments.length>1&&arguments[1]!==void 0?arguments[1]:NaN,height=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,direction=arguments.length>3&&arguments[3]!==void 0?arguments[3]:Direction.LTR;return original.call(this,width,height,direction)}),{Config:lib.Config,Node:lib.Node,...YGEnums_default}}var src_default=wrapAssembly(await yoga_wasm_base64_esm_default());function ansiRegex({onlyFirst=!1}={}){return RegExp(`(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]`,onlyFirst?void 0:`g`)}const regex$2=ansiRegex();function stripAnsi(string){if(typeof string!=`string`)throw TypeError(`Expected a \`string\`, got \`${typeof string}\``);return string.replace(regex$2,``)}function isAmbiguous(x){return x===161||x===164||x===167||x===168||x===170||x===173||x===174||x>=176&&x<=180||x>=182&&x<=186||x>=188&&x<=191||x===198||x===208||x===215||x===216||x>=222&&x<=225||x===230||x>=232&&x<=234||x===236||x===237||x===240||x===242||x===243||x>=247&&x<=250||x===252||x===254||x===257||x===273||x===275||x===283||x===294||x===295||x===299||x>=305&&x<=307||x===312||x>=319&&x<=322||x===324||x>=328&&x<=331||x===333||x===338||x===339||x===358||x===359||x===363||x===462||x===464||x===466||x===468||x===470||x===472||x===474||x===476||x===593||x===609||x===708||x===711||x>=713&&x<=715||x===717||x===720||x>=728&&x<=731||x===733||x===735||x>=768&&x<=879||x>=913&&x<=929||x>=931&&x<=937||x>=945&&x<=961||x>=963&&x<=969||x===1025||x>=1040&&x<=1103||x===1105||x===8208||x>=8211&&x<=8214||x===8216||x===8217||x===8220||x===8221||x>=8224&&x<=8226||x>=8228&&x<=8231||x===8240||x===8242||x===8243||x===8245||x===8251||x===8254||x===8308||x===8319||x>=8321&&x<=8324||x===8364||x===8451||x===8453||x===8457||x===8467||x===8470||x===8481||x===8482||x===8486||x===8491||x===8531||x===8532||x>=8539&&x<=8542||x>=8544&&x<=8555||x>=8560&&x<=8569||x===8585||x>=8592&&x<=8601||x===8632||x===8633||x===8658||x===8660||x===8679||x===8704||x===8706||x===8707||x===8711||x===8712||x===8715||x===8719||x===8721||x===8725||x===8730||x>=8733&&x<=8736||x===8739||x===8741||x>=8743&&x<=8748||x===8750||x>=8756&&x<=8759||x===8764||x===8765||x===8776||x===8780||x===8786||x===8800||x===8801||x>=8804&&x<=8807||x===8810||x===8811||x===8814||x===8815||x===8834||x===8835||x===8838||x===8839||x===8853||x===8857||x===8869||x===8895||x===8978||x>=9312&&x<=9449||x>=9451&&x<=9547||x>=9552&&x<=9587||x>=9600&&x<=9615||x>=9618&&x<=9621||x===9632||x===9633||x>=9635&&x<=9641||x===9650||x===9651||x===9654||x===9655||x===9660||x===9661||x===9664||x===9665||x>=9670&&x<=9672||x===9675||x>=9678&&x<=9681||x>=9698&&x<=9701||x===9711||x===9733||x===9734||x===9737||x===9742||x===9743||x===9756||x===9758||x===9792||x===9794||x===9824||x===9825||x>=9827&&x<=9829||x>=9831&&x<=9834||x===9836||x===9837||x===9839||x===9886||x===9887||x===9919||x>=9926&&x<=9933||x>=9935&&x<=9939||x>=9941&&x<=9953||x===9955||x===9960||x===9961||x>=9963&&x<=9969||x===9972||x>=9974&&x<=9977||x===9979||x===9980||x===9982||x===9983||x===10045||x>=10102&&x<=10111||x>=11094&&x<=11097||x>=12872&&x<=12879||x>=57344&&x<=63743||x>=65024&&x<=65039||x===65533||x>=127232&&x<=127242||x>=127248&&x<=127277||x>=127280&&x<=127337||x>=127344&&x<=127373||x===127375||x===127376||x>=127387&&x<=127404||x>=917760&&x<=917999||x>=983040&&x<=1048573||x>=1048576&&x<=1114109}function isFullWidth(x){return x===12288||x>=65281&&x<=65376||x>=65504&&x<=65510}function isWide(x){return x>=4352&&x<=4447||x===8986||x===8987||x===9001||x===9002||x>=9193&&x<=9196||x===9200||x===9203||x===9725||x===9726||x===9748||x===9749||x>=9776&&x<=9783||x>=9800&&x<=9811||x===9855||x>=9866&&x<=9871||x===9875||x===9889||x===9898||x===9899||x===9917||x===9918||x===9924||x===9925||x===9934||x===9940||x===9962||x===9970||x===9971||x===9973||x===9978||x===9981||x===9989||x===9994||x===9995||x===10024||x===10060||x===10062||x>=10067&&x<=10069||x===10071||x>=10133&&x<=10135||x===10160||x===10175||x===11035||x===11036||x===11088||x===11093||x>=11904&&x<=11929||x>=11931&&x<=12019||x>=12032&&x<=12245||x>=12272&&x<=12287||x>=12289&&x<=12350||x>=12353&&x<=12438||x>=12441&&x<=12543||x>=12549&&x<=12591||x>=12593&&x<=12686||x>=12688&&x<=12773||x>=12783&&x<=12830||x>=12832&&x<=12871||x>=12880&&x<=42124||x>=42128&&x<=42182||x>=43360&&x<=43388||x>=44032&&x<=55203||x>=63744&&x<=64255||x>=65040&&x<=65049||x>=65072&&x<=65106||x>=65108&&x<=65126||x>=65128&&x<=65131||x>=94176&&x<=94180||x>=94192&&x<=94198||x>=94208&&x<=101589||x>=101631&&x<=101662||x>=101760&&x<=101874||x>=110576&&x<=110579||x>=110581&&x<=110587||x===110589||x===110590||x>=110592&&x<=110882||x===110898||x>=110928&&x<=110930||x===110933||x>=110948&&x<=110951||x>=110960&&x<=111355||x>=119552&&x<=119638||x>=119648&&x<=119670||x===126980||x===127183||x===127374||x>=127377&&x<=127386||x>=127488&&x<=127490||x>=127504&&x<=127547||x>=127552&&x<=127560||x===127568||x===127569||x>=127584&&x<=127589||x>=127744&&x<=127776||x>=127789&&x<=127797||x>=127799&&x<=127868||x>=127870&&x<=127891||x>=127904&&x<=127946||x>=127951&&x<=127955||x>=127968&&x<=127984||x===127988||x>=127992&&x<=128062||x===128064||x>=128066&&x<=128252||x>=128255&&x<=128317||x>=128331&&x<=128334||x>=128336&&x<=128359||x===128378||x===128405||x===128406||x===128420||x>=128507&&x<=128591||x>=128640&&x<=128709||x===128716||x>=128720&&x<=128722||x>=128725&&x<=128728||x>=128732&&x<=128735||x===128747||x===128748||x>=128756&&x<=128764||x>=128992&&x<=129003||x===129008||x>=129292&&x<=129338||x>=129340&&x<=129349||x>=129351&&x<=129535||x>=129648&&x<=129660||x>=129664&&x<=129674||x>=129678&&x<=129734||x===129736||x>=129741&&x<=129756||x>=129759&&x<=129770||x>=129775&&x<=129784||x>=131072&&x<=196605||x>=196608&&x<=262141}function validate$6(codePoint){if(!Number.isSafeInteger(codePoint))throw TypeError(`Expected a code point, got \`${typeof codePoint}\`.`)}function eastAsianWidth(codePoint,{ambiguousAsWide=!1}={}){return validate$6(codePoint),isFullWidth(codePoint)||isWide(codePoint)||ambiguousAsWide&&isAmbiguous(codePoint)?2:1}var import_emoji_regex=__toESM(__commonJSMin(((exports,module)=>{module.exports=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g}))(),1);const segmenter=new Intl.Segmenter,defaultIgnorableCodePointRegex=/^\p{Default_Ignorable_Code_Point}$/u;function stringWidth(string,options$1={}){if(typeof string!=`string`||string.length===0)return 0;let{ambiguousIsNarrow=!0,countAnsiEscapeCodes=!1}=options$1;if(countAnsiEscapeCodes||(string=stripAnsi(string)),string.length===0)return 0;let width=0,eastAsianWidthOptions={ambiguousAsWide:!ambiguousIsNarrow};for(let{segment:character}of segmenter.segment(string)){let codePoint=character.codePointAt(0);if(!(codePoint<=31||codePoint>=127&&codePoint<=159)&&!(codePoint>=8203&&codePoint<=8207||codePoint===65279)&&!(codePoint>=768&&codePoint<=879||codePoint>=6832&&codePoint<=6911||codePoint>=7616&&codePoint<=7679||codePoint>=8400&&codePoint<=8447||codePoint>=65056&&codePoint<=65071)&&!(codePoint>=55296&&codePoint<=57343)&&!(codePoint>=65024&&codePoint<=65039)&&!defaultIgnorableCodePointRegex.test(character)){if((0,import_emoji_regex.default)().test(character)){width+=2;continue}width+=eastAsianWidth(codePoint,eastAsianWidthOptions)}}return width}const ANSI_BACKGROUND_OFFSET=10,wrapAnsi16$1=(offset=0)=>code$1=>`\u001B[${code$1+offset}m`,wrapAnsi256$1=(offset=0)=>code$1=>`\u001B[${38+offset};5;${code$1}m`,wrapAnsi16m$1=(offset=0)=>(red$1,green$1,blue$1)=>`\u001B[${38+offset};2;${red$1};${green$1};${blue$1}m`,styles$4={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},modifierNames=Object.keys(styles$4.modifier),foregroundColorNames=Object.keys(styles$4.color),backgroundColorNames=Object.keys(styles$4.bgColor),colorNames=[...foregroundColorNames,...backgroundColorNames];function assembleStyles$1(){let codes$1=new Map;for(let[groupName,group]of Object.entries(styles$4)){for(let[styleName,style]of Object.entries(group))styles$4[styleName]={open:`\u001B[${style[0]}m`,close:`\u001B[${style[1]}m`},group[styleName]=styles$4[styleName],codes$1.set(style[0],style[1]);Object.defineProperty(styles$4,groupName,{value:group,enumerable:!1})}return Object.defineProperty(styles$4,`codes`,{value:codes$1,enumerable:!1}),styles$4.color.close=`\x1B[39m`,styles$4.bgColor.close=`\x1B[49m`,styles$4.color.ansi=wrapAnsi16$1(),styles$4.color.ansi256=wrapAnsi256$1(),styles$4.color.ansi16m=wrapAnsi16m$1(),styles$4.bgColor.ansi=wrapAnsi16$1(10),styles$4.bgColor.ansi256=wrapAnsi256$1(10),styles$4.bgColor.ansi16m=wrapAnsi16m$1(10),Object.defineProperties(styles$4,{rgbToAnsi256:{value(red$1,green$1,blue$1){return red$1===green$1&&green$1===blue$1?red$1<8?16:red$1>248?231:Math.round((red$1-8)/247*24)+232:16+36*Math.round(red$1/255*5)+6*Math.round(green$1/255*5)+Math.round(blue$1/255*5)},enumerable:!1},hexToRgb:{value(hex){let matches=/[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));if(!matches)return[0,0,0];let[colorString]=matches;colorString.length===3&&(colorString=[...colorString].map(character=>character+character).join(``));let integer=Number.parseInt(colorString,16);return[integer>>16&255,integer>>8&255,integer&255]},enumerable:!1},hexToAnsi256:{value:hex=>styles$4.rgbToAnsi256(...styles$4.hexToRgb(hex)),enumerable:!1},ansi256ToAnsi:{value(code$1){if(code$1<8)return 30+code$1;if(code$1<16)return 90+(code$1-8);let red$1,green$1,blue$1;if(code$1>=232)red$1=((code$1-232)*10+8)/255,green$1=red$1,blue$1=red$1;else{code$1-=16;let remainder=code$1%36;red$1=Math.floor(code$1/36)/5,green$1=Math.floor(remainder/6)/5,blue$1=remainder%6/5}let value=Math.max(red$1,green$1,blue$1)*2;if(value===0)return 30;let result=30+(Math.round(blue$1)<<2|Math.round(green$1)<<1|Math.round(red$1));return value===2&&(result+=60),result},enumerable:!1},rgbToAnsi:{value:(red$1,green$1,blue$1)=>styles$4.ansi256ToAnsi(styles$4.rgbToAnsi256(red$1,green$1,blue$1)),enumerable:!1},hexToAnsi:{value:hex=>styles$4.ansi256ToAnsi(styles$4.hexToAnsi256(hex)),enumerable:!1}}),styles$4}var ansi_styles_default=assembleStyles$1();const ESCAPES$4=new Set([`\x1B`,`›`]),END_CODE=39,ANSI_ESCAPE_BELL=`\x07`,ANSI_CSI=`[`,ANSI_OSC=`]`,ANSI_SGR_TERMINATOR=`m`,ANSI_ESCAPE_LINK=`]8;;`,wrapAnsiCode=code$1=>`${ESCAPES$4.values().next().value}[${code$1}m`,wrapAnsiHyperlink=url$3=>`${ESCAPES$4.values().next().value}${ANSI_ESCAPE_LINK}${url$3}`,wordLengths=string=>string.split(` `).map(character=>stringWidth(character)),wrapWord=(rows,word,columns)=>{let characters=[...word],isInsideEscape=!1,isInsideLinkEscape=!1,visible=stringWidth(stripAnsi(rows.at(-1)));for(let[index,character]of characters.entries()){let characterLength=stringWidth(character);if(visible+characterLength<=columns?rows[rows.length-1]+=character:(rows.push(character),visible=0),ESCAPES$4.has(character)&&(isInsideEscape=!0,isInsideLinkEscape=characters.slice(index+1,index+1+4).join(``)===ANSI_ESCAPE_LINK),isInsideEscape){isInsideLinkEscape?character===`\x07`&&(isInsideEscape=!1,isInsideLinkEscape=!1):character===`m`&&(isInsideEscape=!1);continue}visible+=characterLength,visible===columns&&index<characters.length-1&&(rows.push(``),visible=0)}!visible&&rows.at(-1).length>0&&rows.length>1&&(rows[rows.length-2]+=rows.pop())},stringVisibleTrimSpacesRight=string=>{let words$1=string.split(` `),last$1=words$1.length;for(;last$1>0&&!(stringWidth(words$1[last$1-1])>0);)last$1--;return last$1===words$1.length?string:words$1.slice(0,last$1).join(` `)+words$1.slice(last$1).join(``)},exec$1=(string,columns,options$1={})=>{if(options$1.trim!==!1&&string.trim()===``)return``;let returnValue=``,escapeCode,escapeUrl,lengths=wordLengths(string),rows=[``];for(let[index,word]of string.split(` `).entries()){options$1.trim!==!1&&(rows[rows.length-1]=rows.at(-1).trimStart());let rowLength=stringWidth(rows.at(-1));if(index!==0&&(rowLength>=columns&&(options$1.wordWrap===!1||options$1.trim===!1)&&(rows.push(``),rowLength=0),(rowLength>0||options$1.trim===!1)&&(rows[rows.length-1]+=` `,rowLength++)),options$1.hard&&lengths[index]>columns){let remainingColumns=columns-rowLength,breaksStartingThisLine=1+Math.floor((lengths[index]-remainingColumns-1)/columns);Math.floor((lengths[index]-1)/columns)<breaksStartingThisLine&&rows.push(``),wrapWord(rows,word,columns);continue}if(rowLength+lengths[index]>columns&&rowLength>0&&lengths[index]>0){if(options$1.wordWrap===!1&&rowLength<columns){wrapWord(rows,word,columns);continue}rows.push(``)}if(rowLength+lengths[index]>columns&&options$1.wordWrap===!1){wrapWord(rows,word,columns);continue}rows[rows.length-1]+=word}options$1.trim!==!1&&(rows=rows.map(row=>stringVisibleTrimSpacesRight(row)));let preString=rows.join(`
3
3
  `),pre=[...preString],preStringIndex=0;for(let[index,character]of pre.entries()){if(returnValue+=character,ESCAPES$4.has(character)){let{groups}=RegExp(`(?:\\[(?<code>\\d+)m|\\${ANSI_ESCAPE_LINK}(?<uri>.*))`).exec(preString.slice(preStringIndex))||{groups:{}};if(groups.code!==void 0){let code$2=Number.parseFloat(groups.code);escapeCode=code$2===39?void 0:code$2}else groups.uri!==void 0&&(escapeUrl=groups.uri.length===0?void 0:groups.uri)}let code$1=ansi_styles_default.codes.get(Number(escapeCode));pre[index+1]===`
4
4
  `?(escapeUrl&&(returnValue+=wrapAnsiHyperlink(``)),escapeCode&&code$1&&(returnValue+=wrapAnsiCode(code$1))):character===`
@@ -344,7 +344,7 @@ Example: After running tests with \`workspace_bash\`, use this to find all FAIL:
344
344
  To resolve the conflict:`,(0,RegistrationConflicts_1$8.getConflictResolutionRecipe)(existingDescriptor,expectedDescriptor))),compatibleStorage=existingStorage):api$39.diag.warn(`A view or instrument with the name `,expectedDescriptor.name,` has already been registered and is incompatible with another registered view.
345
345
  `,`Details:
346
346
  `,(0,RegistrationConflicts_1$8.getIncompatibilityDetails)(existingDescriptor,expectedDescriptor),`To resolve the conflict:
347
- `,(0,RegistrationConflicts_1$8.getConflictResolutionRecipe)(existingDescriptor,expectedDescriptor))}return compatibleStorage}}})),require_MultiWritableMetricStorage$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.MultiMetricStorage=class{_backingStorages;constructor(_backingStorages){this._backingStorages=_backingStorages}record(value,attributes,context$1,recordTime){this._backingStorages.forEach(it=>{it.record(value,attributes,context$1,recordTime)})}}})),require_ObservableResult$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$260=(init_esm$10(),__toCommonJS$4(esm_exports$11)),HashMap_1$32=require_HashMap$8(),Instruments_1$25=require_Instruments$8();exports.ObservableResultImpl=class{_instrumentName;_valueType;_buffer=new HashMap_1$32.AttributeHashMap;constructor(_instrumentName,_valueType){this._instrumentName=_instrumentName,this._valueType=_valueType}observe(value,attributes={}){if(typeof value!=`number`){api_1$260.diag.warn(`non-number value provided to metric ${this._instrumentName}: ${value}`);return}this._valueType===api_1$260.ValueType.INT&&!Number.isInteger(value)&&(api_1$260.diag.warn(`INT value type cannot accept a floating-point value for ${this._instrumentName}, ignoring the fractional digits.`),value=Math.trunc(value),!Number.isInteger(value))||this._buffer.set(attributes,value)}},exports.BatchObservableResultImpl=class{_buffer=new Map;observe(metric,value,attributes={}){if(!(0,Instruments_1$25.isObservableInstrument)(metric))return;let map$2=this._buffer.get(metric);if(map$2??(map$2=new HashMap_1$32.AttributeHashMap,this._buffer.set(metric,map$2)),typeof value!=`number`){api_1$260.diag.warn(`non-number value provided to metric ${metric._descriptor.name}: ${value}`);return}metric._descriptor.valueType===api_1$260.ValueType.INT&&!Number.isInteger(value)&&(api_1$260.diag.warn(`INT value type cannot accept a floating-point value for ${metric._descriptor.name}, ignoring the fractional digits.`),value=Math.trunc(value),!Number.isInteger(value))||map$2.set(attributes,value)}}})),require_ObservableRegistry$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$259=(init_esm$10(),__toCommonJS$4(esm_exports$11)),Instruments_1$24=require_Instruments$8(),ObservableResult_1$8=require_ObservableResult$8(),utils_1$171=require_utils$61();exports.ObservableRegistry=class{_callbacks=[];_batchCallbacks=[];addCallback(callback$1,instrument){this._findCallback(callback$1,instrument)>=0||this._callbacks.push({callback:callback$1,instrument})}removeCallback(callback$1,instrument){let idx=this._findCallback(callback$1,instrument);idx<0||this._callbacks.splice(idx,1)}addBatchCallback(callback$1,instruments){let observableInstruments=new Set(instruments.filter(Instruments_1$24.isObservableInstrument));if(observableInstruments.size===0){api_1$259.diag.error(`BatchObservableCallback is not associated with valid instruments`,instruments);return}this._findBatchCallback(callback$1,observableInstruments)>=0||this._batchCallbacks.push({callback:callback$1,instruments:observableInstruments})}removeBatchCallback(callback$1,instruments){let observableInstruments=new Set(instruments.filter(Instruments_1$24.isObservableInstrument)),idx=this._findBatchCallback(callback$1,observableInstruments);idx<0||this._batchCallbacks.splice(idx,1)}async observe(collectionTime,timeoutMillis){let callbackFutures=this._observeCallbacks(collectionTime,timeoutMillis),batchCallbackFutures=this._observeBatchCallbacks(collectionTime,timeoutMillis);return(await(0,utils_1$171.PromiseAllSettled)([...callbackFutures,...batchCallbackFutures])).filter(utils_1$171.isPromiseAllSettledRejectionResult).map(it=>it.reason)}_observeCallbacks(observationTime,timeoutMillis){return this._callbacks.map(async({callback:callback$1,instrument})=>{let observableResult=new ObservableResult_1$8.ObservableResultImpl(instrument._descriptor.name,instrument._descriptor.valueType),callPromise=Promise.resolve(callback$1(observableResult));timeoutMillis!=null&&(callPromise=(0,utils_1$171.callWithTimeout)(callPromise,timeoutMillis)),await callPromise,instrument._metricStorages.forEach(metricStorage=>{metricStorage.record(observableResult._buffer,observationTime)})})}_observeBatchCallbacks(observationTime,timeoutMillis){return this._batchCallbacks.map(async({callback:callback$1,instruments})=>{let observableResult=new ObservableResult_1$8.BatchObservableResultImpl,callPromise=Promise.resolve(callback$1(observableResult));timeoutMillis!=null&&(callPromise=(0,utils_1$171.callWithTimeout)(callPromise,timeoutMillis)),await callPromise,instruments.forEach(instrument=>{let buffer$4=observableResult._buffer.get(instrument);buffer$4!=null&&instrument._metricStorages.forEach(metricStorage=>{metricStorage.record(buffer$4,observationTime)})})})}_findCallback(callback$1,instrument){return this._callbacks.findIndex(record=>record.callback===callback$1&&record.instrument===instrument)}_findBatchCallback(callback$1,instruments){return this._batchCallbacks.findIndex(record=>record.callback===callback$1&&(0,utils_1$171.setEquals)(record.instruments,instruments))}}})),require_SyncMetricStorage$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let MetricStorage_1$16=require_MetricStorage$8(),DeltaMetricProcessor_1$16=require_DeltaMetricProcessor$8(),TemporalMetricProcessor_1$16=require_TemporalMetricProcessor$8();exports.SyncMetricStorage=class extends MetricStorage_1$16.MetricStorage{_attributesProcessor;_aggregationCardinalityLimit;_deltaMetricStorage;_temporalMetricStorage;constructor(instrumentDescriptor,aggregator,_attributesProcessor,collectorHandles,_aggregationCardinalityLimit){super(instrumentDescriptor),this._attributesProcessor=_attributesProcessor,this._aggregationCardinalityLimit=_aggregationCardinalityLimit,this._deltaMetricStorage=new DeltaMetricProcessor_1$16.DeltaMetricProcessor(aggregator,this._aggregationCardinalityLimit),this._temporalMetricStorage=new TemporalMetricProcessor_1$16.TemporalMetricProcessor(aggregator,collectorHandles)}record(value,attributes,context$1,recordTime){attributes=this._attributesProcessor.process(attributes,context$1),this._deltaMetricStorage.record(value,attributes,context$1,recordTime)}collect(collector,collectionTime){let accumulations=this._deltaMetricStorage.collect();return this._temporalMetricStorage.buildMetrics(collector,this._instrumentDescriptor,accumulations,collectionTime)}}})),require_AttributesProcessor$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});var NoopAttributesProcessor$8=class{process(incoming,_context){return incoming}},MultiAttributesProcessor$8=class{_processors;constructor(_processors){this._processors=_processors}process(incoming,context$1){let filteredAttributes=incoming;for(let processor of this._processors)filteredAttributes=processor.process(filteredAttributes,context$1);return filteredAttributes}},AllowListProcessor$8=class{_allowedAttributeNames;constructor(_allowedAttributeNames){this._allowedAttributeNames=_allowedAttributeNames}process(incoming,_context){let filteredAttributes={};return Object.keys(incoming).filter(attributeName=>this._allowedAttributeNames.includes(attributeName)).forEach(attributeName=>filteredAttributes[attributeName]=incoming[attributeName]),filteredAttributes}},DenyListProcessor$8=class{_deniedAttributeNames;constructor(_deniedAttributeNames){this._deniedAttributeNames=_deniedAttributeNames}process(incoming,_context){let filteredAttributes={};return Object.keys(incoming).filter(attributeName=>!this._deniedAttributeNames.includes(attributeName)).forEach(attributeName=>filteredAttributes[attributeName]=incoming[attributeName]),filteredAttributes}};function createNoopAttributesProcessor$8(){return NOOP$9}exports.createNoopAttributesProcessor=createNoopAttributesProcessor$8;function createMultiAttributesProcessor$8(processors){return new MultiAttributesProcessor$8(processors)}exports.createMultiAttributesProcessor=createMultiAttributesProcessor$8;function createAllowListAttributesProcessor$8(attributeAllowList){return new AllowListProcessor$8(attributeAllowList)}exports.createAllowListAttributesProcessor=createAllowListAttributesProcessor$8;function createDenyListAttributesProcessor$8(attributeDenyList){return new DenyListProcessor$8(attributeDenyList)}exports.createDenyListAttributesProcessor=createDenyListAttributesProcessor$8;let NOOP$9=new NoopAttributesProcessor$8})),require_MeterSharedState$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let InstrumentDescriptor_1$32=require_InstrumentDescriptor$8(),Meter_1$8=require_Meter$8(),utils_1$170=require_utils$61(),AsyncMetricStorage_1$8=require_AsyncMetricStorage$8(),MetricStorageRegistry_1$8=require_MetricStorageRegistry$8(),MultiWritableMetricStorage_1$8=require_MultiWritableMetricStorage$8(),ObservableRegistry_1$8=require_ObservableRegistry$8(),SyncMetricStorage_1$8=require_SyncMetricStorage$8(),AttributesProcessor_1$26=require_AttributesProcessor$8();exports.MeterSharedState=class{_meterProviderSharedState;_instrumentationScope;metricStorageRegistry=new MetricStorageRegistry_1$8.MetricStorageRegistry;observableRegistry=new ObservableRegistry_1$8.ObservableRegistry;meter;constructor(_meterProviderSharedState,_instrumentationScope){this._meterProviderSharedState=_meterProviderSharedState,this._instrumentationScope=_instrumentationScope,this.meter=new Meter_1$8.Meter(this)}registerMetricStorage(descriptor$1){let storages=this._registerMetricStorage(descriptor$1,SyncMetricStorage_1$8.SyncMetricStorage);return storages.length===1?storages[0]:new MultiWritableMetricStorage_1$8.MultiMetricStorage(storages)}registerAsyncMetricStorage(descriptor$1){return this._registerMetricStorage(descriptor$1,AsyncMetricStorage_1$8.AsyncMetricStorage)}async collect(collector,collectionTime,options$1){let errors=await this.observableRegistry.observe(collectionTime,options$1?.timeoutMillis),storages=this.metricStorageRegistry.getStorages(collector);if(storages.length===0)return null;let metricDataList=storages.map(metricStorage=>metricStorage.collect(collector,collectionTime)).filter(utils_1$170.isNotNullish);return metricDataList.length===0?{errors}:{scopeMetrics:{scope:this._instrumentationScope,metrics:metricDataList},errors}}_registerMetricStorage(descriptor$1,MetricStorageType){let storages=this._meterProviderSharedState.viewRegistry.findViews(descriptor$1,this._instrumentationScope).map(view=>{let viewDescriptor=(0,InstrumentDescriptor_1$32.createInstrumentDescriptorWithView)(view,descriptor$1),compatibleStorage=this.metricStorageRegistry.findOrUpdateCompatibleStorage(viewDescriptor);if(compatibleStorage!=null)return compatibleStorage;let aggregator=view.aggregation.createAggregator(viewDescriptor),viewStorage=new MetricStorageType(viewDescriptor,aggregator,view.attributesProcessor,this._meterProviderSharedState.metricCollectors,view.aggregationCardinalityLimit);return this.metricStorageRegistry.register(viewStorage),viewStorage});if(storages.length===0){let collectorStorages=this._meterProviderSharedState.selectAggregations(descriptor$1.type).map(([collector,aggregation])=>{let compatibleStorage=this.metricStorageRegistry.findOrUpdateCompatibleCollectorStorage(collector,descriptor$1);if(compatibleStorage!=null)return compatibleStorage;let aggregator=aggregation.createAggregator(descriptor$1),cardinalityLimit=collector.selectCardinalityLimit(descriptor$1.type),storage=new MetricStorageType(descriptor$1,aggregator,(0,AttributesProcessor_1$26.createNoopAttributesProcessor)(),[collector],cardinalityLimit);return this.metricStorageRegistry.registerForCollector(collector,storage),storage});storages=storages.concat(collectorStorages)}return storages}}})),require_MeterProviderSharedState$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let utils_1$169=require_utils$61(),ViewRegistry_1$8=require_ViewRegistry$8(),MeterSharedState_1$8=require_MeterSharedState$8(),AggregationOption_1$34=require_AggregationOption$8();exports.MeterProviderSharedState=class{resource;viewRegistry=new ViewRegistry_1$8.ViewRegistry;metricCollectors=[];meterSharedStates=new Map;constructor(resource){this.resource=resource}getMeterSharedState(instrumentationScope){let id=(0,utils_1$169.instrumentationScopeId)(instrumentationScope),meterSharedState=this.meterSharedStates.get(id);return meterSharedState??(meterSharedState=new MeterSharedState_1$8.MeterSharedState(this,instrumentationScope),this.meterSharedStates.set(id,meterSharedState)),meterSharedState}selectAggregations(instrumentType){let result=[];for(let collector of this.metricCollectors)result.push([collector,(0,AggregationOption_1$34.toAggregation)(collector.selectAggregation(instrumentType))]);return result}}})),require_MetricCollector$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let core_1$133=require_src$84();exports.MetricCollector=class{_sharedState;_metricReader;constructor(_sharedState,_metricReader){this._sharedState=_sharedState,this._metricReader=_metricReader}async collect(options$1){let collectionTime=(0,core_1$133.millisToHrTime)(Date.now()),scopeMetrics=[],errors=[],meterCollectionPromises=Array.from(this._sharedState.meterSharedStates.values()).map(async meterSharedState=>{let current=await meterSharedState.collect(this,collectionTime,options$1);current?.scopeMetrics!=null&&scopeMetrics.push(current.scopeMetrics),current?.errors!=null&&errors.push(...current.errors)});return await Promise.all(meterCollectionPromises),{resourceMetrics:{resource:this._sharedState.resource,scopeMetrics},errors}}async forceFlush(options$1){await this._metricReader.forceFlush(options$1)}async shutdown(options$1){await this._metricReader.shutdown(options$1)}selectAggregationTemporality(instrumentType){return this._metricReader.selectAggregationTemporality(instrumentType)}selectAggregation(instrumentType){return this._metricReader.selectAggregation(instrumentType)}selectCardinalityLimit(instrumentType){return this._metricReader.selectCardinalityLimit?.(instrumentType)??2e3}}})),require_Predicate$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let ESCAPE$8=/[\^$\\.+?()[\]{}|]/g;exports.PatternPredicate=class PatternPredicate$8{_matchAll;_regexp;constructor(pattern){pattern===`*`?(this._matchAll=!0,this._regexp=/.*/):(this._matchAll=!1,this._regexp=new RegExp(PatternPredicate$8.escapePattern(pattern)))}match(str$1){return this._matchAll?!0:this._regexp.test(str$1)}static escapePattern(pattern){return`^${pattern.replace(ESCAPE$8,`\\$&`).replace(`*`,`.*`)}$`}static hasWildcard(pattern){return pattern.includes(`*`)}},exports.ExactPredicate=class{_matchAll;_pattern;constructor(pattern){this._matchAll=pattern===void 0,this._pattern=pattern}match(str$1){return!!(this._matchAll||str$1===this._pattern)}}})),require_InstrumentSelector$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let Predicate_1$26=require_Predicate$8();exports.InstrumentSelector=class{_nameFilter;_type;_unitFilter;constructor(criteria){this._nameFilter=new Predicate_1$26.PatternPredicate(criteria?.name??`*`),this._type=criteria?.type,this._unitFilter=new Predicate_1$26.ExactPredicate(criteria?.unit)}getType(){return this._type}getNameFilter(){return this._nameFilter}getUnitFilter(){return this._unitFilter}}})),require_MeterSelector$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let Predicate_1$25=require_Predicate$8();exports.MeterSelector=class{_nameFilter;_versionFilter;_schemaUrlFilter;constructor(criteria){this._nameFilter=new Predicate_1$25.ExactPredicate(criteria?.name),this._versionFilter=new Predicate_1$25.ExactPredicate(criteria?.version),this._schemaUrlFilter=new Predicate_1$25.ExactPredicate(criteria?.schemaUrl)}getNameFilter(){return this._nameFilter}getVersionFilter(){return this._versionFilter}getSchemaUrlFilter(){return this._schemaUrlFilter}}})),require_View$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let Predicate_1$24=require_Predicate$8(),AttributesProcessor_1$25=require_AttributesProcessor$8(),InstrumentSelector_1$8=require_InstrumentSelector$8(),MeterSelector_1$8=require_MeterSelector$8(),AggregationOption_1$33=require_AggregationOption$8();function isSelectorNotProvided$8(options$1){return options$1.instrumentName==null&&options$1.instrumentType==null&&options$1.instrumentUnit==null&&options$1.meterName==null&&options$1.meterVersion==null&&options$1.meterSchemaUrl==null}function validateViewOptions$8(viewOptions){if(isSelectorNotProvided$8(viewOptions))throw Error(`Cannot create view with no selector arguments supplied`);if(viewOptions.name!=null&&(viewOptions?.instrumentName==null||Predicate_1$24.PatternPredicate.hasWildcard(viewOptions.instrumentName)))throw Error(`Views with a specified name must be declared with an instrument selector that selects at most one instrument per meter.`)}exports.View=class{name;description;aggregation;attributesProcessor;instrumentSelector;meterSelector;aggregationCardinalityLimit;constructor(viewOptions){validateViewOptions$8(viewOptions),viewOptions.attributesProcessors==null?this.attributesProcessor=(0,AttributesProcessor_1$25.createNoopAttributesProcessor)():this.attributesProcessor=(0,AttributesProcessor_1$25.createMultiAttributesProcessor)(viewOptions.attributesProcessors),this.name=viewOptions.name,this.description=viewOptions.description,this.aggregation=(0,AggregationOption_1$33.toAggregation)(viewOptions.aggregation??{type:AggregationOption_1$33.AggregationType.DEFAULT}),this.instrumentSelector=new InstrumentSelector_1$8.InstrumentSelector({name:viewOptions.instrumentName,type:viewOptions.instrumentType,unit:viewOptions.instrumentUnit}),this.meterSelector=new MeterSelector_1$8.MeterSelector({name:viewOptions.meterName,version:viewOptions.meterVersion,schemaUrl:viewOptions.meterSchemaUrl}),this.aggregationCardinalityLimit=viewOptions.aggregationCardinalityLimit}}})),require_MeterProvider$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$258=(init_esm$10(),__toCommonJS$4(esm_exports$11)),resources_1$14=require_src$83(),MeterProviderSharedState_1$8=require_MeterProviderSharedState$8(),MetricCollector_1$8=require_MetricCollector$8(),View_1$8=require_View$8();exports.MeterProvider=class{_sharedState;_shutdown=!1;constructor(options$1){if(this._sharedState=new MeterProviderSharedState_1$8.MeterProviderSharedState(options$1?.resource??(0,resources_1$14.defaultResource)()),options$1?.views!=null&&options$1.views.length>0)for(let viewOption of options$1.views)this._sharedState.viewRegistry.addView(new View_1$8.View(viewOption));if(options$1?.readers!=null&&options$1.readers.length>0)for(let metricReader of options$1.readers){let collector=new MetricCollector_1$8.MetricCollector(this._sharedState,metricReader);metricReader.setMetricProducer(collector),this._sharedState.metricCollectors.push(collector)}}getMeter(name$2,version$2=``,options$1={}){return this._shutdown?(api_1$258.diag.warn(`A shutdown MeterProvider cannot provide a Meter`),(0,api_1$258.createNoopMeter)()):this._sharedState.getMeterSharedState({name:name$2,version:version$2,schemaUrl:options$1.schemaUrl}).meter}async shutdown(options$1){if(this._shutdown){api_1$258.diag.warn(`shutdown may only be called once per MeterProvider`);return}this._shutdown=!0,await Promise.all(this._sharedState.metricCollectors.map(collector=>collector.shutdown(options$1)))}async forceFlush(options$1){if(this._shutdown){api_1$258.diag.warn(`invalid attempt to force flush after MeterProvider shutdown`);return}await Promise.all(this._sharedState.metricCollectors.map(collector=>collector.forceFlush(options$1)))}}})),require_src$82=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.TimeoutError=exports.createDenyListAttributesProcessor=exports.createAllowListAttributesProcessor=exports.AggregationType=exports.MeterProvider=exports.ConsoleMetricExporter=exports.InMemoryMetricExporter=exports.PeriodicExportingMetricReader=exports.MetricReader=exports.InstrumentType=exports.DataPointType=exports.AggregationTemporality=void 0;var AggregationTemporality_1$24=require_AggregationTemporality$8();Object.defineProperty(exports,`AggregationTemporality`,{enumerable:!0,get:function(){return AggregationTemporality_1$24.AggregationTemporality}});var MetricData_1$56=require_MetricData$8();Object.defineProperty(exports,`DataPointType`,{enumerable:!0,get:function(){return MetricData_1$56.DataPointType}}),Object.defineProperty(exports,`InstrumentType`,{enumerable:!0,get:function(){return MetricData_1$56.InstrumentType}});var MetricReader_1$16=require_MetricReader$8();Object.defineProperty(exports,`MetricReader`,{enumerable:!0,get:function(){return MetricReader_1$16.MetricReader}});var PeriodicExportingMetricReader_1$8=require_PeriodicExportingMetricReader$8();Object.defineProperty(exports,`PeriodicExportingMetricReader`,{enumerable:!0,get:function(){return PeriodicExportingMetricReader_1$8.PeriodicExportingMetricReader}});var InMemoryMetricExporter_1$8=require_InMemoryMetricExporter$8();Object.defineProperty(exports,`InMemoryMetricExporter`,{enumerable:!0,get:function(){return InMemoryMetricExporter_1$8.InMemoryMetricExporter}});var ConsoleMetricExporter_1$8=require_ConsoleMetricExporter$8();Object.defineProperty(exports,`ConsoleMetricExporter`,{enumerable:!0,get:function(){return ConsoleMetricExporter_1$8.ConsoleMetricExporter}});var MeterProvider_1$8=require_MeterProvider$8();Object.defineProperty(exports,`MeterProvider`,{enumerable:!0,get:function(){return MeterProvider_1$8.MeterProvider}});var AggregationOption_1$32=require_AggregationOption$8();Object.defineProperty(exports,`AggregationType`,{enumerable:!0,get:function(){return AggregationOption_1$32.AggregationType}});var AttributesProcessor_1$24=require_AttributesProcessor$8();Object.defineProperty(exports,`createAllowListAttributesProcessor`,{enumerable:!0,get:function(){return AttributesProcessor_1$24.createAllowListAttributesProcessor}}),Object.defineProperty(exports,`createDenyListAttributesProcessor`,{enumerable:!0,get:function(){return AttributesProcessor_1$24.createDenyListAttributesProcessor}});var utils_1$168=require_utils$61();Object.defineProperty(exports,`TimeoutError`,{enumerable:!0,get:function(){return utils_1$168.TimeoutError}})})),require_internal_types$10=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.EAggregationTemporality=void 0,(function(EAggregationTemporality){EAggregationTemporality[EAggregationTemporality.AGGREGATION_TEMPORALITY_UNSPECIFIED=0]=`AGGREGATION_TEMPORALITY_UNSPECIFIED`,EAggregationTemporality[EAggregationTemporality.AGGREGATION_TEMPORALITY_DELTA=1]=`AGGREGATION_TEMPORALITY_DELTA`,EAggregationTemporality[EAggregationTemporality.AGGREGATION_TEMPORALITY_CUMULATIVE=2]=`AGGREGATION_TEMPORALITY_CUMULATIVE`})(exports.EAggregationTemporality||={})})),require_internal$38=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$257=(init_esm$10(),__toCommonJS$4(esm_exports$11)),sdk_metrics_1$13=require_src$82(),internal_types_1$10=require_internal_types$10(),utils_1$167=require_utils$62(),internal_1$87=require_internal$40();function toResourceMetrics$9(resourceMetrics,options$1){let encoder$2=(0,utils_1$167.getOtlpEncoder)(options$1),processedResource=(0,internal_1$87.createResource)(resourceMetrics.resource);return{resource:processedResource,schemaUrl:processedResource.schemaUrl,scopeMetrics:toScopeMetrics$9(resourceMetrics.scopeMetrics,encoder$2)}}exports.toResourceMetrics=toResourceMetrics$9;function toScopeMetrics$9(scopeMetrics,encoder$2){return Array.from(scopeMetrics.map(metrics$1=>({scope:(0,internal_1$87.createInstrumentationScope)(metrics$1.scope),metrics:metrics$1.metrics.map(metricData=>toMetric$9(metricData,encoder$2)),schemaUrl:metrics$1.scope.schemaUrl})))}exports.toScopeMetrics=toScopeMetrics$9;function toMetric$9(metricData,encoder$2){let out={name:metricData.descriptor.name,description:metricData.descriptor.description,unit:metricData.descriptor.unit},aggregationTemporality=toAggregationTemporality$9(metricData.aggregationTemporality);switch(metricData.dataPointType){case sdk_metrics_1$13.DataPointType.SUM:out.sum={aggregationTemporality,isMonotonic:metricData.isMonotonic,dataPoints:toSingularDataPoints$9(metricData,encoder$2)};break;case sdk_metrics_1$13.DataPointType.GAUGE:out.gauge={dataPoints:toSingularDataPoints$9(metricData,encoder$2)};break;case sdk_metrics_1$13.DataPointType.HISTOGRAM:out.histogram={aggregationTemporality,dataPoints:toHistogramDataPoints$9(metricData,encoder$2)};break;case sdk_metrics_1$13.DataPointType.EXPONENTIAL_HISTOGRAM:out.exponentialHistogram={aggregationTemporality,dataPoints:toExponentialHistogramDataPoints$9(metricData,encoder$2)};break}return out}exports.toMetric=toMetric$9;function toSingularDataPoint$9(dataPoint,valueType,encoder$2){let out={attributes:(0,internal_1$87.toAttributes)(dataPoint.attributes),startTimeUnixNano:encoder$2.encodeHrTime(dataPoint.startTime),timeUnixNano:encoder$2.encodeHrTime(dataPoint.endTime)};switch(valueType){case api_1$257.ValueType.INT:out.asInt=dataPoint.value;break;case api_1$257.ValueType.DOUBLE:out.asDouble=dataPoint.value;break}return out}function toSingularDataPoints$9(metricData,encoder$2){return metricData.dataPoints.map(dataPoint=>toSingularDataPoint$9(dataPoint,metricData.descriptor.valueType,encoder$2))}function toHistogramDataPoints$9(metricData,encoder$2){return metricData.dataPoints.map(dataPoint=>{let histogram=dataPoint.value;return{attributes:(0,internal_1$87.toAttributes)(dataPoint.attributes),bucketCounts:histogram.buckets.counts,explicitBounds:histogram.buckets.boundaries,count:histogram.count,sum:histogram.sum,min:histogram.min,max:histogram.max,startTimeUnixNano:encoder$2.encodeHrTime(dataPoint.startTime),timeUnixNano:encoder$2.encodeHrTime(dataPoint.endTime)}})}function toExponentialHistogramDataPoints$9(metricData,encoder$2){return metricData.dataPoints.map(dataPoint=>{let histogram=dataPoint.value;return{attributes:(0,internal_1$87.toAttributes)(dataPoint.attributes),count:histogram.count,min:histogram.min,max:histogram.max,sum:histogram.sum,positive:{offset:histogram.positive.offset,bucketCounts:histogram.positive.bucketCounts},negative:{offset:histogram.negative.offset,bucketCounts:histogram.negative.bucketCounts},scale:histogram.scale,zeroCount:histogram.zeroCount,startTimeUnixNano:encoder$2.encodeHrTime(dataPoint.startTime),timeUnixNano:encoder$2.encodeHrTime(dataPoint.endTime)}})}function toAggregationTemporality$9(temporality){switch(temporality){case sdk_metrics_1$13.AggregationTemporality.DELTA:return internal_types_1$10.EAggregationTemporality.AGGREGATION_TEMPORALITY_DELTA;case sdk_metrics_1$13.AggregationTemporality.CUMULATIVE:return internal_types_1$10.EAggregationTemporality.AGGREGATION_TEMPORALITY_CUMULATIVE}}function createExportMetricsServiceRequest$9(resourceMetrics,options$1){return{resourceMetrics:resourceMetrics.map(metrics$1=>toResourceMetrics$9(metrics$1,options$1))}}exports.createExportMetricsServiceRequest=createExportMetricsServiceRequest$9})),require_metrics$19=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let root$29=require_root$10(),internal_1$86=require_internal$38(),metricsResponseType$9=root$29.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceResponse,metricsRequestType$9=root$29.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest;exports.ProtobufMetricsSerializer={serializeRequest:arg=>{let request$2=(0,internal_1$86.createExportMetricsServiceRequest)([arg]);return metricsRequestType$9.encode(request$2).finish()},deserializeResponse:arg=>metricsResponseType$9.decode(arg)}})),require_protobuf$29=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.ProtobufMetricsSerializer=void 0;var metrics_1$19=require_metrics$19();Object.defineProperty(exports,`ProtobufMetricsSerializer`,{enumerable:!0,get:function(){return metrics_1$19.ProtobufMetricsSerializer}})})),require_internal$37=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let internal_1$85=require_internal$40(),utils_1$166=require_utils$62(),SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK=256,SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK=512;function buildSpanFlagsFrom(traceFlags,isRemote){let flags=traceFlags&255|256;return isRemote&&(flags|=512),flags}function sdkSpanToOtlpSpan$9(span,encoder$2){let ctx=span.spanContext(),status=span.status,parentSpanId=span.parentSpanContext?.spanId?encoder$2.encodeSpanContext(span.parentSpanContext?.spanId):void 0;return{traceId:encoder$2.encodeSpanContext(ctx.traceId),spanId:encoder$2.encodeSpanContext(ctx.spanId),parentSpanId,traceState:ctx.traceState?.serialize(),name:span.name,kind:span.kind==null?0:span.kind+1,startTimeUnixNano:encoder$2.encodeHrTime(span.startTime),endTimeUnixNano:encoder$2.encodeHrTime(span.endTime),attributes:(0,internal_1$85.toAttributes)(span.attributes),droppedAttributesCount:span.droppedAttributesCount,events:span.events.map(event=>toOtlpSpanEvent$9(event,encoder$2)),droppedEventsCount:span.droppedEventsCount,status:{code:status.code,message:status.message},links:span.links.map(link$4=>toOtlpLink$9(link$4,encoder$2)),droppedLinksCount:span.droppedLinksCount,flags:buildSpanFlagsFrom(ctx.traceFlags,span.parentSpanContext?.isRemote)}}exports.sdkSpanToOtlpSpan=sdkSpanToOtlpSpan$9;function toOtlpLink$9(link$4,encoder$2){return{attributes:link$4.attributes?(0,internal_1$85.toAttributes)(link$4.attributes):[],spanId:encoder$2.encodeSpanContext(link$4.context.spanId),traceId:encoder$2.encodeSpanContext(link$4.context.traceId),traceState:link$4.context.traceState?.serialize(),droppedAttributesCount:link$4.droppedAttributesCount||0,flags:buildSpanFlagsFrom(link$4.context.traceFlags,link$4.context.isRemote)}}exports.toOtlpLink=toOtlpLink$9;function toOtlpSpanEvent$9(timedEvent,encoder$2){return{attributes:timedEvent.attributes?(0,internal_1$85.toAttributes)(timedEvent.attributes):[],name:timedEvent.name,timeUnixNano:encoder$2.encodeHrTime(timedEvent.time),droppedAttributesCount:timedEvent.droppedAttributesCount||0}}exports.toOtlpSpanEvent=toOtlpSpanEvent$9;function createExportTraceServiceRequest$9(spans,options$1){let encoder$2=(0,utils_1$166.getOtlpEncoder)(options$1);return{resourceSpans:spanRecordsToResourceSpans$9(spans,encoder$2)}}exports.createExportTraceServiceRequest=createExportTraceServiceRequest$9;function createResourceMap$18(readableSpans){let resourceMap=new Map;for(let record of readableSpans){let ilsMap=resourceMap.get(record.resource);ilsMap||(ilsMap=new Map,resourceMap.set(record.resource,ilsMap));let instrumentationScopeKey=`${record.instrumentationScope.name}@${record.instrumentationScope.version||``}:${record.instrumentationScope.schemaUrl||``}`,records=ilsMap.get(instrumentationScopeKey);records||(records=[],ilsMap.set(instrumentationScopeKey,records)),records.push(record)}return resourceMap}function spanRecordsToResourceSpans$9(readableSpans,encoder$2){let resourceMap=createResourceMap$18(readableSpans),out=[],entryIterator=resourceMap.entries(),entry=entryIterator.next();for(;!entry.done;){let[resource,ilmMap]=entry.value,scopeResourceSpans=[],ilmIterator=ilmMap.values(),ilmEntry=ilmIterator.next();for(;!ilmEntry.done;){let scopeSpans=ilmEntry.value;if(scopeSpans.length>0){let spans=scopeSpans.map(readableSpan=>sdkSpanToOtlpSpan$9(readableSpan,encoder$2));scopeResourceSpans.push({scope:(0,internal_1$85.createInstrumentationScope)(scopeSpans[0].instrumentationScope),spans,schemaUrl:scopeSpans[0].instrumentationScope.schemaUrl})}ilmEntry=ilmIterator.next()}let processedResource=(0,internal_1$85.createResource)(resource),transformedSpans={resource:processedResource,scopeSpans:scopeResourceSpans,schemaUrl:processedResource.schemaUrl};out.push(transformedSpans),entry=entryIterator.next()}return out}})),require_trace$19=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let root$28=require_root$10(),internal_1$84=require_internal$37(),traceResponseType$9=root$28.opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse,traceRequestType$9=root$28.opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest;exports.ProtobufTraceSerializer={serializeRequest:arg=>{let request$2=(0,internal_1$84.createExportTraceServiceRequest)(arg);return traceRequestType$9.encode(request$2).finish()},deserializeResponse:arg=>traceResponseType$9.decode(arg)}})),require_protobuf$28=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.ProtobufTraceSerializer=void 0;var trace_1$19=require_trace$19();Object.defineProperty(exports,`ProtobufTraceSerializer`,{enumerable:!0,get:function(){return trace_1$19.ProtobufTraceSerializer}})})),require_logs$22=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let internal_1$83=require_internal$39();exports.JsonLogsSerializer={serializeRequest:arg=>{let request$2=(0,internal_1$83.createExportLogsServiceRequest)(arg,{useHex:!0,useLongBits:!1});return new TextEncoder().encode(JSON.stringify(request$2))},deserializeResponse:arg=>{if(arg.length===0)return{};let decoder$2=new TextDecoder;return JSON.parse(decoder$2.decode(arg))}}})),require_json$31=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.JsonLogsSerializer=void 0;var logs_1$22=require_logs$22();Object.defineProperty(exports,`JsonLogsSerializer`,{enumerable:!0,get:function(){return logs_1$22.JsonLogsSerializer}})})),require_metrics$18=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let internal_1$82=require_internal$38();exports.JsonMetricsSerializer={serializeRequest:arg=>{let request$2=(0,internal_1$82.createExportMetricsServiceRequest)([arg],{useLongBits:!1});return new TextEncoder().encode(JSON.stringify(request$2))},deserializeResponse:arg=>{if(arg.length===0)return{};let decoder$2=new TextDecoder;return JSON.parse(decoder$2.decode(arg))}}})),require_json$30=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.JsonMetricsSerializer=void 0;var metrics_1$18=require_metrics$18();Object.defineProperty(exports,`JsonMetricsSerializer`,{enumerable:!0,get:function(){return metrics_1$18.JsonMetricsSerializer}})})),require_trace$18=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let internal_1$81=require_internal$37();exports.JsonTraceSerializer={serializeRequest:arg=>{let request$2=(0,internal_1$81.createExportTraceServiceRequest)(arg,{useHex:!0,useLongBits:!1});return new TextEncoder().encode(JSON.stringify(request$2))},deserializeResponse:arg=>{if(arg.length===0)return{};let decoder$2=new TextDecoder;return JSON.parse(decoder$2.decode(arg))}}})),require_json$29=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.JsonTraceSerializer=void 0;var trace_1$18=require_trace$18();Object.defineProperty(exports,`JsonTraceSerializer`,{enumerable:!0,get:function(){return trace_1$18.JsonTraceSerializer}})})),require_src$81=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.JsonTraceSerializer=exports.JsonMetricsSerializer=exports.JsonLogsSerializer=exports.ProtobufTraceSerializer=exports.ProtobufMetricsSerializer=exports.ProtobufLogsSerializer=void 0;var protobuf_1$9=require_protobuf$30();Object.defineProperty(exports,`ProtobufLogsSerializer`,{enumerable:!0,get:function(){return protobuf_1$9.ProtobufLogsSerializer}});var protobuf_2$9=require_protobuf$29();Object.defineProperty(exports,`ProtobufMetricsSerializer`,{enumerable:!0,get:function(){return protobuf_2$9.ProtobufMetricsSerializer}});var protobuf_3$9=require_protobuf$28();Object.defineProperty(exports,`ProtobufTraceSerializer`,{enumerable:!0,get:function(){return protobuf_3$9.ProtobufTraceSerializer}});var json_1$9=require_json$31();Object.defineProperty(exports,`JsonLogsSerializer`,{enumerable:!0,get:function(){return json_1$9.JsonLogsSerializer}});var json_2$9=require_json$30();Object.defineProperty(exports,`JsonMetricsSerializer`,{enumerable:!0,get:function(){return json_2$9.JsonMetricsSerializer}});var json_3$9=require_json$29();Object.defineProperty(exports,`JsonTraceSerializer`,{enumerable:!0,get:function(){return json_3$9.JsonTraceSerializer}})}));function validateAndNormalizeHeaders$7(partialHeaders){return()=>{let headers={};return Object.entries(partialHeaders?.()??{}).forEach(([key$1,value])=>{value===void 0?diag.warn(`Header "${key$1}" has invalid value (${value}) and will be ignored`):headers[key$1]=String(value)}),headers}}var init_util$8=__esmMin((()=>{init_esm$10()}));function mergeHeaders$7(userProvidedHeaders,fallbackHeaders,defaultHeaders){let requiredHeaders={...defaultHeaders()},headers={};return()=>(fallbackHeaders!=null&&Object.assign(headers,fallbackHeaders()),userProvidedHeaders!=null&&Object.assign(headers,userProvidedHeaders()),Object.assign(headers,requiredHeaders))}function validateUserProvidedUrl$7(url$3){if(url$3!=null)try{let base=globalThis.location?.href;return new URL(url$3,base).href}catch{throw Error(`Configuration: Could not parse user-provided export URL: '${url$3}'`)}}function mergeOtlpHttpConfigurationWithDefaults$7(userProvidedConfiguration,fallbackConfiguration,defaultConfiguration){return{...mergeOtlpSharedConfigurationWithDefaults$9(userProvidedConfiguration,fallbackConfiguration,defaultConfiguration),headers:mergeHeaders$7(validateAndNormalizeHeaders$7(userProvidedConfiguration.headers),fallbackConfiguration.headers,defaultConfiguration.headers),url:validateUserProvidedUrl$7(userProvidedConfiguration.url)??fallbackConfiguration.url??defaultConfiguration.url}}function getHttpConfigurationDefaults$7(requiredHeaders,signalResourcePath){return{...getSharedConfigurationDefaults$9(),headers:()=>requiredHeaders,url:`http://localhost:4318/`+signalResourcePath}}var init_otlp_http_configuration$7=__esmMin((()=>{init_shared_configuration$9(),init_util$8()}));function httpAgentFactoryFromOptions(options$1){return async protocol=>{let{Agent:Agent$7}=await(protocol===`http:`?import(`http`):import(`https`));return new Agent$7(options$1)}}function mergeOtlpNodeHttpConfigurationWithDefaults(userProvidedConfiguration,fallbackConfiguration,defaultConfiguration){return{...mergeOtlpHttpConfigurationWithDefaults$7(userProvidedConfiguration,fallbackConfiguration,defaultConfiguration),agentFactory:userProvidedConfiguration.agentFactory??fallbackConfiguration.agentFactory??defaultConfiguration.agentFactory}}function getNodeHttpConfigurationDefaults(requiredHeaders,signalResourcePath){return{...getHttpConfigurationDefaults$7(requiredHeaders,signalResourcePath),agentFactory:httpAgentFactoryFromOptions({keepAlive:!0})}}var init_otlp_node_http_configuration=__esmMin((()=>{init_otlp_http_configuration$7()}));function isExportRetryable$7(statusCode){return[429,502,503,504].includes(statusCode)}function parseRetryAfterToMills$7(retryAfter){if(retryAfter==null)return;let seconds=Number.parseInt(retryAfter,10);if(Number.isInteger(seconds))return seconds>0?seconds*1e3:-1;let delay$2=new Date(retryAfter).getTime()-Date.now();return delay$2>=0?delay$2:0}var init_is_export_retryable$7=__esmMin((()=>{}));function sendWithHttp$7(request$2,params,agent,data$2,onDone,timeoutMillis){let parsedUrl=new URL(params.url),options$1={hostname:parsedUrl.hostname,port:parsedUrl.port,path:parsedUrl.pathname,method:`POST`,headers:{...params.headers()},agent},req$1=request$2(options$1,res=>{let responseData=[];res.on(`data`,chunk$1=>responseData.push(chunk$1)),res.on(`end`,()=>{if(res.statusCode&&res.statusCode<299)onDone({status:`success`,data:Buffer.concat(responseData)});else if(res.statusCode&&isExportRetryable$7(res.statusCode))onDone({status:`retryable`,retryInMillis:parseRetryAfterToMills$7(res.headers[`retry-after`])});else{let error$3=new OTLPExporterError$9(res.statusMessage,res.statusCode,Buffer.concat(responseData).toString());onDone({status:`failure`,error:error$3})}})});req$1.setTimeout(timeoutMillis,()=>{req$1.destroy(),onDone({status:`failure`,error:Error(`Request Timeout`)})}),req$1.on(`error`,error$3=>{onDone({status:`failure`,error:error$3})}),compressAndSend$7(req$1,params.compression,data$2,error$3=>{onDone({status:`failure`,error:error$3})})}function compressAndSend$7(req$1,compression,data$2,onError$1){let dataStream=readableFromUint8Array$7(data$2);compression===`gzip`&&(req$1.setHeader(`Content-Encoding`,`gzip`),dataStream=dataStream.on(`error`,onError$1).pipe(zlib$2.createGzip()).on(`error`,onError$1)),dataStream.pipe(req$1).on(`error`,onError$1)}function readableFromUint8Array$7(buff){let readable$1=new Readable;return readable$1.push(buff),readable$1.push(null),readable$1}var init_http_transport_utils$7=__esmMin((()=>{init_is_export_retryable$7(),init_types$9()}));async function requestFunctionFactory(protocol){let{request:request$2}=await(protocol===`http:`?import(`http`):import(`https`));return request$2}function createHttpExporterTransport$7(parameters){return new HttpExporterTransport$7(parameters)}var HttpExporterTransport$7,init_http_exporter_transport$7=__esmMin((()=>{init_http_transport_utils$7(),HttpExporterTransport$7=class{_parameters;_utils=null;constructor(_parameters){this._parameters=_parameters}async send(data$2,timeoutMillis){let{agent,request:request$2}=await this._loadUtils();return new Promise(resolve$11=>{sendWithHttp$7(request$2,this._parameters,agent,data$2,result=>{resolve$11(result)},timeoutMillis)})}shutdown(){}async _loadUtils(){let utils$7=this._utils;if(utils$7===null){let protocol=new URL(this._parameters.url).protocol,[agent,request$2]=await Promise.all([this._parameters.agentFactory(protocol),requestFunctionFactory(protocol)]);utils$7=this._utils={agent,request:request$2}}return utils$7}}}));function getJitter$7(){return Math.random()*(2*JITTER$7)-JITTER$7}function createRetryingTransport$7(options$1){return new RetryingTransport$7(options$1.transport)}var MAX_ATTEMPTS$7,INITIAL_BACKOFF$7,MAX_BACKOFF$7,BACKOFF_MULTIPLIER$8,JITTER$7,RetryingTransport$7,init_retrying_transport$7=__esmMin((()=>{MAX_ATTEMPTS$7=5,INITIAL_BACKOFF$7=1e3,MAX_BACKOFF$7=5e3,BACKOFF_MULTIPLIER$8=1.5,JITTER$7=.2,RetryingTransport$7=class{_transport;constructor(_transport){this._transport=_transport}retry(data$2,timeoutMillis,inMillis){return new Promise((resolve$11,reject)=>{setTimeout(()=>{this._transport.send(data$2,timeoutMillis).then(resolve$11,reject)},inMillis)})}async send(data$2,timeoutMillis){let deadline=Date.now()+timeoutMillis,result=await this._transport.send(data$2,timeoutMillis),attempts=MAX_ATTEMPTS$7,nextBackoff=INITIAL_BACKOFF$7;for(;result.status===`retryable`&&attempts>0;){attempts--;let backoff=Math.max(Math.min(nextBackoff,MAX_BACKOFF$7)+getJitter$7(),0);nextBackoff*=BACKOFF_MULTIPLIER$8;let retryInMillis=result.retryInMillis??backoff,remainingTimeoutMillis=deadline-Date.now();if(retryInMillis>remainingTimeoutMillis)return result;result=await this.retry(data$2,remainingTimeoutMillis,retryInMillis)}return result}shutdown(){return this._transport.shutdown()}}}));function createOtlpHttpExportDelegate$7(options$1,serializer){return createOtlpExportDelegate$9({transport:createRetryingTransport$7({transport:createHttpExporterTransport$7(options$1)}),serializer,promiseHandler:createBoundedQueueExportPromiseHandler$9(options$1)},{timeout:options$1.timeoutMillis})}var init_otlp_http_export_delegate$7=__esmMin((()=>{init_otlp_export_delegate$9(),init_http_exporter_transport$7(),init_bounded_queue_export_promise_handler$9(),init_retrying_transport$7()}));function parseAndValidateTimeoutFromEnv$7(timeoutEnvVar){let envTimeout=(0,import_src$43.getNumberFromEnv)(timeoutEnvVar);if(envTimeout!=null){if(Number.isFinite(envTimeout)&&envTimeout>0)return envTimeout;diag.warn(`Configuration: ${timeoutEnvVar} is invalid, expected number greater than 0 (actual: ${envTimeout})`)}}function getTimeoutFromEnv$7(signalIdentifier){let specificTimeout=parseAndValidateTimeoutFromEnv$7(`OTEL_EXPORTER_OTLP_${signalIdentifier}_TIMEOUT`),nonSpecificTimeout=parseAndValidateTimeoutFromEnv$7(`OTEL_EXPORTER_OTLP_TIMEOUT`);return specificTimeout??nonSpecificTimeout}function parseAndValidateCompressionFromEnv$7(compressionEnvVar){let compression=(0,import_src$43.getStringFromEnv)(compressionEnvVar)?.trim();if(compression==null||compression===`none`||compression===`gzip`)return compression;diag.warn(`Configuration: ${compressionEnvVar} is invalid, expected 'none' or 'gzip' (actual: '${compression}')`)}function getCompressionFromEnv$7(signalIdentifier){let specificCompression=parseAndValidateCompressionFromEnv$7(`OTEL_EXPORTER_OTLP_${signalIdentifier}_COMPRESSION`),nonSpecificCompression=parseAndValidateCompressionFromEnv$7(`OTEL_EXPORTER_OTLP_COMPRESSION`);return specificCompression??nonSpecificCompression}function getSharedConfigurationFromEnvironment$7(signalIdentifier){return{timeoutMillis:getTimeoutFromEnv$7(signalIdentifier),compression:getCompressionFromEnv$7(signalIdentifier)}}var import_src$43,init_shared_env_configuration$7=__esmMin((()=>{import_src$43=__toESM(require_src$84()),init_esm$10()}));function getStaticHeadersFromEnv$7(signalIdentifier){let signalSpecificRawHeaders=(0,import_src$42.getStringFromEnv)(`OTEL_EXPORTER_OTLP_${signalIdentifier}_HEADERS`),nonSignalSpecificRawHeaders=(0,import_src$42.getStringFromEnv)(`OTEL_EXPORTER_OTLP_HEADERS`),signalSpecificHeaders=(0,import_src$42.parseKeyPairsIntoRecord)(signalSpecificRawHeaders),nonSignalSpecificHeaders=(0,import_src$42.parseKeyPairsIntoRecord)(nonSignalSpecificRawHeaders);if(!(Object.keys(signalSpecificHeaders).length===0&&Object.keys(nonSignalSpecificHeaders).length===0))return Object.assign({},(0,import_src$42.parseKeyPairsIntoRecord)(nonSignalSpecificRawHeaders),(0,import_src$42.parseKeyPairsIntoRecord)(signalSpecificRawHeaders))}function appendRootPathToUrlIfNeeded$7(url$3){try{return new URL(url$3).toString()}catch{diag.warn(`Configuration: Could not parse environment-provided export URL: '${url$3}', falling back to undefined`);return}}function appendResourcePathToUrl$7(url$3,path$38){try{new URL(url$3)}catch{diag.warn(`Configuration: Could not parse environment-provided export URL: '${url$3}', falling back to undefined`);return}url$3.endsWith(`/`)||(url$3+=`/`),url$3+=path$38;try{new URL(url$3)}catch{diag.warn(`Configuration: Provided URL appended with '${path$38}' is not a valid URL, using 'undefined' instead of '${url$3}'`);return}return url$3}function getNonSpecificUrlFromEnv$7(signalResourcePath){let envUrl=(0,import_src$42.getStringFromEnv)(`OTEL_EXPORTER_OTLP_ENDPOINT`);if(envUrl!==void 0)return appendResourcePathToUrl$7(envUrl,signalResourcePath)}function getSpecificUrlFromEnv$7(signalIdentifier){let envUrl=(0,import_src$42.getStringFromEnv)(`OTEL_EXPORTER_OTLP_${signalIdentifier}_ENDPOINT`);if(envUrl!==void 0)return appendRootPathToUrlIfNeeded$7(envUrl)}function getNodeHttpConfigurationFromEnvironment(signalIdentifier,signalResourcePath){return{...getSharedConfigurationFromEnvironment$7(signalIdentifier),url:getSpecificUrlFromEnv$7(signalIdentifier)??getNonSpecificUrlFromEnv$7(signalResourcePath),headers:wrapStaticHeadersInFunction$7(getStaticHeadersFromEnv$7(signalIdentifier))}}var import_src$42,init_otlp_node_http_env_configuration=__esmMin((()=>{import_src$42=__toESM(require_src$84()),init_esm$10(),init_shared_env_configuration$7(),init_shared_configuration$9()}));function convertLegacyAgentOptions$7(config){if(typeof config.httpAgentOptions==`function`)return config.httpAgentOptions;let legacy$2=config.httpAgentOptions;if(config.keepAlive!=null&&(legacy$2={keepAlive:config.keepAlive,...legacy$2}),legacy$2!=null)return httpAgentFactoryFromOptions(legacy$2)}function convertLegacyHttpOptions$7(config,signalIdentifier,signalResourcePath,requiredHeaders){return config.metadata&&diag.warn(`Metadata cannot be set when using http`),mergeOtlpNodeHttpConfigurationWithDefaults({url:config.url,headers:wrapStaticHeadersInFunction$7(config.headers),concurrencyLimit:config.concurrencyLimit,timeoutMillis:config.timeoutMillis,compression:config.compression,agentFactory:convertLegacyAgentOptions$7(config)},getNodeHttpConfigurationFromEnvironment(signalIdentifier,signalResourcePath),getNodeHttpConfigurationDefaults(requiredHeaders,signalResourcePath))}var init_convert_legacy_node_http_options$7=__esmMin((()=>{init_esm$10(),init_shared_configuration$9(),init_otlp_node_http_configuration(),init_index_node_http$7(),init_otlp_node_http_env_configuration()})),index_node_http_exports$7=__export$5({convertLegacyHttpOptions:()=>convertLegacyHttpOptions$7,createOtlpHttpExportDelegate:()=>createOtlpHttpExportDelegate$7,getSharedConfigurationFromEnvironment:()=>getSharedConfigurationFromEnvironment$7,httpAgentFactoryFromOptions:()=>httpAgentFactoryFromOptions}),init_index_node_http$7=__esmMin((()=>{init_otlp_node_http_configuration(),init_otlp_http_export_delegate$7(),init_shared_env_configuration$7(),init_convert_legacy_node_http_options$7()})),require_OTLPTraceExporter$3=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let otlp_exporter_base_1$9=(init_esm$8(),__toCommonJS$4(esm_exports$9)),version_1$20=require_version$20(),otlp_transformer_1$9=require_src$81(),node_http_1$7=(init_index_node_http$7(),__toCommonJS$4(index_node_http_exports$7));exports.OTLPTraceExporter=class extends otlp_exporter_base_1$9.OTLPExporterBase{constructor(config={}){super((0,node_http_1$7.createOtlpHttpExportDelegate)((0,node_http_1$7.convertLegacyHttpOptions)(config,`TRACES`,`v1/traces`,{"User-Agent":`OTel-OTLP-Exporter-JavaScript/${version_1$20.VERSION}`,"Content-Type":`application/json`}),otlp_transformer_1$9.JsonTraceSerializer))}}})),require_node$49=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.OTLPTraceExporter=void 0;var OTLPTraceExporter_1$3=require_OTLPTraceExporter$3();Object.defineProperty(exports,`OTLPTraceExporter`,{enumerable:!0,get:function(){return OTLPTraceExporter_1$3.OTLPTraceExporter}})})),require_platform$47=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.OTLPTraceExporter=void 0;var node_1$48=require_node$49();Object.defineProperty(exports,`OTLPTraceExporter`,{enumerable:!0,get:function(){return node_1$48.OTLPTraceExporter}})})),require_src$80=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.OTLPTraceExporter=void 0;var platform_1$66=require_platform$47();Object.defineProperty(exports,`OTLPTraceExporter`,{enumerable:!0,get:function(){return platform_1$66.OTLPTraceExporter}})})),require_LogRecord$4=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.SeverityNumber=void 0,(function(SeverityNumber){SeverityNumber[SeverityNumber.UNSPECIFIED=0]=`UNSPECIFIED`,SeverityNumber[SeverityNumber.TRACE=1]=`TRACE`,SeverityNumber[SeverityNumber.TRACE2=2]=`TRACE2`,SeverityNumber[SeverityNumber.TRACE3=3]=`TRACE3`,SeverityNumber[SeverityNumber.TRACE4=4]=`TRACE4`,SeverityNumber[SeverityNumber.DEBUG=5]=`DEBUG`,SeverityNumber[SeverityNumber.DEBUG2=6]=`DEBUG2`,SeverityNumber[SeverityNumber.DEBUG3=7]=`DEBUG3`,SeverityNumber[SeverityNumber.DEBUG4=8]=`DEBUG4`,SeverityNumber[SeverityNumber.INFO=9]=`INFO`,SeverityNumber[SeverityNumber.INFO2=10]=`INFO2`,SeverityNumber[SeverityNumber.INFO3=11]=`INFO3`,SeverityNumber[SeverityNumber.INFO4=12]=`INFO4`,SeverityNumber[SeverityNumber.WARN=13]=`WARN`,SeverityNumber[SeverityNumber.WARN2=14]=`WARN2`,SeverityNumber[SeverityNumber.WARN3=15]=`WARN3`,SeverityNumber[SeverityNumber.WARN4=16]=`WARN4`,SeverityNumber[SeverityNumber.ERROR=17]=`ERROR`,SeverityNumber[SeverityNumber.ERROR2=18]=`ERROR2`,SeverityNumber[SeverityNumber.ERROR3=19]=`ERROR3`,SeverityNumber[SeverityNumber.ERROR4=20]=`ERROR4`,SeverityNumber[SeverityNumber.FATAL=21]=`FATAL`,SeverityNumber[SeverityNumber.FATAL2=22]=`FATAL2`,SeverityNumber[SeverityNumber.FATAL3=23]=`FATAL3`,SeverityNumber[SeverityNumber.FATAL4=24]=`FATAL4`})(exports.SeverityNumber||={})})),require_NoopLogger$3=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});var NoopLogger$3=class{emit(_logRecord){}};exports.NoopLogger=NoopLogger$3,exports.NOOP_LOGGER=new NoopLogger$3})),require_NoopLoggerProvider$3=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let NoopLogger_1$11=require_NoopLogger$3();var NoopLoggerProvider$3=class{getLogger(_name,_version,_options$1){return new NoopLogger_1$11.NoopLogger}};exports.NoopLoggerProvider=NoopLoggerProvider$3,exports.NOOP_LOGGER_PROVIDER=new NoopLoggerProvider$3})),require_ProxyLogger$3=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let NoopLogger_1$10=require_NoopLogger$3();exports.ProxyLogger=class{constructor(_provider,name$2,version$2,options$1){this._provider=_provider,this.name=name$2,this.version=version$2,this.options=options$1}emit(logRecord){this._getLogger().emit(logRecord)}_getLogger(){if(this._delegate)return this._delegate;let logger$5=this._provider._getDelegateLogger(this.name,this.version,this.options);return logger$5?(this._delegate=logger$5,this._delegate):NoopLogger_1$10.NOOP_LOGGER}}})),require_ProxyLoggerProvider$3=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let NoopLoggerProvider_1$11=require_NoopLoggerProvider$3(),ProxyLogger_1$7=require_ProxyLogger$3();exports.ProxyLoggerProvider=class{getLogger(name$2,version$2,options$1){var _a$10;return this._getDelegateLogger(name$2,version$2,options$1)??new ProxyLogger_1$7.ProxyLogger(this,name$2,version$2,options$1)}_getDelegate(){var _a$10;return this._delegate??NoopLoggerProvider_1$11.NOOP_LOGGER_PROVIDER}_setDelegate(delegate){this._delegate=delegate}_getDelegateLogger(name$2,version$2,options$1){var _a$10;return this._delegate?.getLogger(name$2,version$2,options$1)}}})),require_globalThis$14=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports._globalThis=typeof globalThis==`object`?globalThis:global})),require_node$48=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports._globalThis=void 0;var globalThis_1$14=require_globalThis$14();Object.defineProperty(exports,`_globalThis`,{enumerable:!0,get:function(){return globalThis_1$14._globalThis}})})),require_platform$46=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports._globalThis=void 0;var node_1$47=require_node$48();Object.defineProperty(exports,`_globalThis`,{enumerable:!0,get:function(){return node_1$47._globalThis}})})),require_global_utils$3=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let platform_1$65=require_platform$46();exports.GLOBAL_LOGS_API_KEY=Symbol.for(`io.opentelemetry.js.api.logs`),exports._global=platform_1$65._globalThis;function makeGetter$3(requiredVersion,instance$1,fallback){return version$2=>version$2===requiredVersion?instance$1:fallback}exports.makeGetter=makeGetter$3,exports.API_BACKWARDS_COMPATIBILITY_VERSION=1})),require_logs$21=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let global_utils_1$3=require_global_utils$3(),NoopLoggerProvider_1$10=require_NoopLoggerProvider$3(),ProxyLoggerProvider_1$7=require_ProxyLoggerProvider$3();exports.LogsAPI=class LogsAPI$3{constructor(){this._proxyLoggerProvider=new ProxyLoggerProvider_1$7.ProxyLoggerProvider}static getInstance(){return this._instance||=new LogsAPI$3,this._instance}setGlobalLoggerProvider(provider){return global_utils_1$3._global[global_utils_1$3.GLOBAL_LOGS_API_KEY]?this.getLoggerProvider():(global_utils_1$3._global[global_utils_1$3.GLOBAL_LOGS_API_KEY]=(0,global_utils_1$3.makeGetter)(global_utils_1$3.API_BACKWARDS_COMPATIBILITY_VERSION,provider,NoopLoggerProvider_1$10.NOOP_LOGGER_PROVIDER),this._proxyLoggerProvider._setDelegate(provider),provider)}getLoggerProvider(){var _a$10,_b$3;return global_utils_1$3._global[global_utils_1$3.GLOBAL_LOGS_API_KEY]?.call(global_utils_1$3._global,global_utils_1$3.API_BACKWARDS_COMPATIBILITY_VERSION)??this._proxyLoggerProvider}getLogger(name$2,version$2,options$1){return this.getLoggerProvider().getLogger(name$2,version$2,options$1)}disable(){delete global_utils_1$3._global[global_utils_1$3.GLOBAL_LOGS_API_KEY],this._proxyLoggerProvider=new ProxyLoggerProvider_1$7.ProxyLoggerProvider}}})),require_src$79=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.logs=exports.ProxyLoggerProvider=exports.ProxyLogger=exports.NoopLoggerProvider=exports.NOOP_LOGGER_PROVIDER=exports.NoopLogger=exports.NOOP_LOGGER=exports.SeverityNumber=void 0;var LogRecord_1$5=require_LogRecord$4();Object.defineProperty(exports,`SeverityNumber`,{enumerable:!0,get:function(){return LogRecord_1$5.SeverityNumber}});var NoopLogger_1$9=require_NoopLogger$3();Object.defineProperty(exports,`NOOP_LOGGER`,{enumerable:!0,get:function(){return NoopLogger_1$9.NOOP_LOGGER}}),Object.defineProperty(exports,`NoopLogger`,{enumerable:!0,get:function(){return NoopLogger_1$9.NoopLogger}});var NoopLoggerProvider_1$9=require_NoopLoggerProvider$3();Object.defineProperty(exports,`NOOP_LOGGER_PROVIDER`,{enumerable:!0,get:function(){return NoopLoggerProvider_1$9.NOOP_LOGGER_PROVIDER}}),Object.defineProperty(exports,`NoopLoggerProvider`,{enumerable:!0,get:function(){return NoopLoggerProvider_1$9.NoopLoggerProvider}});var ProxyLogger_1$6=require_ProxyLogger$3();Object.defineProperty(exports,`ProxyLogger`,{enumerable:!0,get:function(){return ProxyLogger_1$6.ProxyLogger}});var ProxyLoggerProvider_1$6=require_ProxyLoggerProvider$3();Object.defineProperty(exports,`ProxyLoggerProvider`,{enumerable:!0,get:function(){return ProxyLoggerProvider_1$6.ProxyLoggerProvider}}),exports.logs=require_logs$21().LogsAPI.getInstance()})),require_autoLoaderUtils$2=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});function enableInstrumentations$2(instrumentations,tracerProvider,meterProvider,loggerProvider){for(let i$7=0,j$1=instrumentations.length;i$7<j$1;i$7++){let instrumentation=instrumentations[i$7];tracerProvider&&instrumentation.setTracerProvider(tracerProvider),meterProvider&&instrumentation.setMeterProvider(meterProvider),loggerProvider&&instrumentation.setLoggerProvider&&instrumentation.setLoggerProvider(loggerProvider),instrumentation.getConfig().enabled||instrumentation.enable()}}exports.enableInstrumentations=enableInstrumentations$2;function disableInstrumentations$2(instrumentations){instrumentations.forEach(instrumentation=>instrumentation.disable())}exports.disableInstrumentations=disableInstrumentations$2})),require_autoLoader$2=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$256=(init_esm$10(),__toCommonJS$4(esm_exports$11)),api_logs_1$8=require_src$79(),autoLoaderUtils_1$2=require_autoLoaderUtils$2();function registerInstrumentations$3(options$1){let tracerProvider=options$1.tracerProvider||api_1$256.trace.getTracerProvider(),meterProvider=options$1.meterProvider||api_1$256.metrics.getMeterProvider(),loggerProvider=options$1.loggerProvider||api_logs_1$8.logs.getLoggerProvider(),instrumentations=options$1.instrumentations?.flat()??[];return(0,autoLoaderUtils_1$2.enableInstrumentations)(instrumentations,tracerProvider,meterProvider,loggerProvider),()=>{(0,autoLoaderUtils_1$2.disableInstrumentations)(instrumentations)}}exports.registerInstrumentations=registerInstrumentations$3})),require_semver$2=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$255=(init_esm$10(),__toCommonJS$4(esm_exports$11)),VERSION_REGEXP$2=/^(?:v)?(?<version>(?<major>0|[1-9]\d*)\.(?<minor>0|[1-9]\d*)\.(?<patch>0|[1-9]\d*))(?:-(?<prerelease>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?<build>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/,RANGE_REGEXP$2=/^(?<op><|>|=|==|<=|>=|~|\^|~>)?\s*(?:v)?(?<version>(?<major>x|X|\*|0|[1-9]\d*)(?:\.(?<minor>x|X|\*|0|[1-9]\d*))?(?:\.(?<patch>x|X|\*|0|[1-9]\d*))?)(?:-(?<prerelease>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?<build>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/,operatorResMap$2={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]};function satisfies$2(version$2,range$1,options$1){if(!_validateVersion$2(version$2))return api_1$255.diag.error(`Invalid version: ${version$2}`),!1;if(!range$1)return!0;range$1=range$1.replace(/([<>=~^]+)\s+/g,`$1`);let parsedVersion=_parseVersion$2(version$2);if(!parsedVersion)return!1;let allParsedRanges=[],checkResult=_doSatisfies$2(parsedVersion,range$1,allParsedRanges,options$1);return checkResult&&!options$1?.includePrerelease?_doPreleaseCheck$2(parsedVersion,allParsedRanges):checkResult}exports.satisfies=satisfies$2;function _validateVersion$2(version$2){return typeof version$2==`string`&&VERSION_REGEXP$2.test(version$2)}function _doSatisfies$2(parsedVersion,range$1,allParsedRanges,options$1){if(range$1.includes(`||`)){let ranges$1=range$1.trim().split(`||`);for(let r$2 of ranges$1)if(_checkRange$2(parsedVersion,r$2,allParsedRanges,options$1))return!0;return!1}else if(range$1.includes(` - `))range$1=replaceHyphen$2(range$1,options$1);else if(range$1.includes(` `)){let ranges$1=range$1.trim().replace(/\s{2,}/g,` `).split(` `);for(let r$2 of ranges$1)if(!_checkRange$2(parsedVersion,r$2,allParsedRanges,options$1))return!1;return!0}return _checkRange$2(parsedVersion,range$1,allParsedRanges,options$1)}function _checkRange$2(parsedVersion,range$1,allParsedRanges,options$1){if(range$1=_normalizeRange$2(range$1,options$1),range$1.includes(` `))return _doSatisfies$2(parsedVersion,range$1,allParsedRanges,options$1);{let parsedRange=_parseRange$2(range$1);return allParsedRanges.push(parsedRange),_satisfies$2(parsedVersion,parsedRange)}}function _satisfies$2(parsedVersion,parsedRange){if(parsedRange.invalid)return!1;if(!parsedRange.version||_isWildcard$2(parsedRange.version))return!0;let comparisonResult=_compareVersionSegments$2(parsedVersion.versionSegments||[],parsedRange.versionSegments||[]);if(comparisonResult===0){let versionPrereleaseSegments=parsedVersion.prereleaseSegments||[],rangePrereleaseSegments=parsedRange.prereleaseSegments||[];comparisonResult=!versionPrereleaseSegments.length&&!rangePrereleaseSegments.length?0:!versionPrereleaseSegments.length&&rangePrereleaseSegments.length?1:versionPrereleaseSegments.length&&!rangePrereleaseSegments.length?-1:_compareVersionSegments$2(versionPrereleaseSegments,rangePrereleaseSegments)}return operatorResMap$2[parsedRange.op]?.includes(comparisonResult)}function _doPreleaseCheck$2(parsedVersion,allParsedRanges){return parsedVersion.prerelease?allParsedRanges.some(r$2=>r$2.prerelease&&r$2.version===parsedVersion.version):!0}function _normalizeRange$2(range$1,options$1){return range$1=range$1.trim(),range$1=replaceCaret$2(range$1,options$1),range$1=replaceTilde$2(range$1),range$1=replaceXRange$2(range$1,options$1),range$1=range$1.trim(),range$1}function isX$2(id){return!id||id.toLowerCase()===`x`||id===`*`}function _parseVersion$2(versionString){let match$1=versionString.match(VERSION_REGEXP$2);if(!match$1){api_1$255.diag.error(`Invalid version: ${versionString}`);return}let version$2=match$1.groups.version,prerelease=match$1.groups.prerelease,build$10=match$1.groups.build,versionSegments=version$2.split(`.`),prereleaseSegments=prerelease?.split(`.`);return{op:void 0,version:version$2,versionSegments,versionSegmentCount:versionSegments.length,prerelease,prereleaseSegments,prereleaseSegmentCount:prereleaseSegments?prereleaseSegments.length:0,build:build$10}}function _parseRange$2(rangeString){if(!rangeString)return{};let match$1=rangeString.match(RANGE_REGEXP$2);if(!match$1)return api_1$255.diag.error(`Invalid range: ${rangeString}`),{invalid:!0};let op=match$1.groups.op,version$2=match$1.groups.version,prerelease=match$1.groups.prerelease,build$10=match$1.groups.build,versionSegments=version$2.split(`.`),prereleaseSegments=prerelease?.split(`.`);return op===`==`&&(op=`=`),{op:op||`=`,version:version$2,versionSegments,versionSegmentCount:versionSegments.length,prerelease,prereleaseSegments,prereleaseSegmentCount:prereleaseSegments?prereleaseSegments.length:0,build:build$10}}function _isWildcard$2(s$3){return s$3===`*`||s$3===`x`||s$3===`X`}function _parseVersionString$2(v$1){let n$2=parseInt(v$1,10);return isNaN(n$2)?v$1:n$2}function _normalizeVersionType$2(a$1,b$1){if(typeof a$1==typeof b$1){if(typeof a$1==`number`||typeof a$1==`string`)return[a$1,b$1];throw Error(`Version segments can only be strings or numbers`)}else return[String(a$1),String(b$1)]}function _compareVersionStrings$2(v1$1,v2){if(_isWildcard$2(v1$1)||_isWildcard$2(v2))return 0;let[parsedV1,parsedV2]=_normalizeVersionType$2(_parseVersionString$2(v1$1),_parseVersionString$2(v2));return parsedV1>parsedV2?1:parsedV1<parsedV2?-1:0}function _compareVersionSegments$2(v1$1,v2){for(let i$7=0;i$7<Math.max(v1$1.length,v2.length);i$7++){let res=_compareVersionStrings$2(v1$1[i$7]||`0`,v2[i$7]||`0`);if(res!==0)return res}return 0}let LETTERDASHNUMBER$2=`[a-zA-Z0-9-]`,NUMERICIDENTIFIER$2=`0|[1-9]\\d*`,NONNUMERICIDENTIFIER$2=`\\d*[a-zA-Z-]${LETTERDASHNUMBER$2}*`,GTLT$2=`((?:<|>)?=?)`,PRERELEASEIDENTIFIER$2=`(?:${NUMERICIDENTIFIER$2}|${NONNUMERICIDENTIFIER$2})`,PRERELEASE$2=`(?:-(${PRERELEASEIDENTIFIER$2}(?:\\.${PRERELEASEIDENTIFIER$2})*))`,BUILDIDENTIFIER$2=`${LETTERDASHNUMBER$2}+`,BUILD$2=`(?:\\+(${BUILDIDENTIFIER$2}(?:\\.${BUILDIDENTIFIER$2})*))`,XRANGEIDENTIFIER$2=`${NUMERICIDENTIFIER$2}|x|X|\\*`,XRANGEPLAIN$2=`[v=\\s]*(${XRANGEIDENTIFIER$2})(?:\\.(${XRANGEIDENTIFIER$2})(?:\\.(${XRANGEIDENTIFIER$2})(?:${PRERELEASE$2})?${BUILD$2}?)?)?`,XRANGE$2=`^((?:<|>)?=?)\\s*${XRANGEPLAIN$2}$`,XRANGE_REGEXP$2=new RegExp(XRANGE$2),HYPHENRANGE$2=`^\\s*(${XRANGEPLAIN$2})\\s+-\\s+(${XRANGEPLAIN$2})\\s*$`,HYPHENRANGE_REGEXP$2=new RegExp(HYPHENRANGE$2),TILDE$2=`^(?:~>?)${XRANGEPLAIN$2}$`,TILDE_REGEXP$2=new RegExp(TILDE$2),CARET$2=`^(?:\\^)${XRANGEPLAIN$2}$`,CARET_REGEXP$2=new RegExp(CARET$2);function replaceTilde$2(comp){let r$2=TILDE_REGEXP$2;return comp.replace(r$2,(_$2,M$1,m$2,p,pr)=>{let ret;return ret=isX$2(M$1)?``:isX$2(m$2)?`>=${M$1}.0.0 <${+M$1+1}.0.0-0`:isX$2(p)?`>=${M$1}.${m$2}.0 <${M$1}.${+m$2+1}.0-0`:pr?`>=${M$1}.${m$2}.${p}-${pr} <${M$1}.${+m$2+1}.0-0`:`>=${M$1}.${m$2}.${p} <${M$1}.${+m$2+1}.0-0`,ret})}function replaceCaret$2(comp,options$1){let r$2=CARET_REGEXP$2,z$4=options$1?.includePrerelease?`-0`:``;return comp.replace(r$2,(_$2,M$1,m$2,p,pr)=>{let ret;return ret=isX$2(M$1)?``:isX$2(m$2)?`>=${M$1}.0.0${z$4} <${+M$1+1}.0.0-0`:isX$2(p)?M$1===`0`?`>=${M$1}.${m$2}.0${z$4} <${M$1}.${+m$2+1}.0-0`:`>=${M$1}.${m$2}.0${z$4} <${+M$1+1}.0.0-0`:pr?M$1===`0`?m$2===`0`?`>=${M$1}.${m$2}.${p}-${pr} <${M$1}.${m$2}.${+p+1}-0`:`>=${M$1}.${m$2}.${p}-${pr} <${M$1}.${+m$2+1}.0-0`:`>=${M$1}.${m$2}.${p}-${pr} <${+M$1+1}.0.0-0`:M$1===`0`?m$2===`0`?`>=${M$1}.${m$2}.${p}${z$4} <${M$1}.${m$2}.${+p+1}-0`:`>=${M$1}.${m$2}.${p}${z$4} <${M$1}.${+m$2+1}.0-0`:`>=${M$1}.${m$2}.${p} <${+M$1+1}.0.0-0`,ret})}function replaceXRange$2(comp,options$1){let r$2=XRANGE_REGEXP$2;return comp.replace(r$2,(ret,gtlt,M$1,m$2,p,pr)=>{let xM=isX$2(M$1),xm=xM||isX$2(m$2),xp=xm||isX$2(p),anyX=xp;return gtlt===`=`&&anyX&&(gtlt=``),pr=options$1?.includePrerelease?`-0`:``,xM?ret=gtlt===`>`||gtlt===`<`?`<0.0.0-0`:`*`:gtlt&&anyX?(xm&&(m$2=0),p=0,gtlt===`>`?(gtlt=`>=`,xm?(M$1=+M$1+1,m$2=0,p=0):(m$2=+m$2+1,p=0)):gtlt===`<=`&&(gtlt=`<`,xm?M$1=+M$1+1:m$2=+m$2+1),gtlt===`<`&&(pr=`-0`),ret=`${gtlt+M$1}.${m$2}.${p}${pr}`):xm?ret=`>=${M$1}.0.0${pr} <${+M$1+1}.0.0-0`:xp&&(ret=`>=${M$1}.${m$2}.0${pr} <${M$1}.${+m$2+1}.0-0`),ret})}function replaceHyphen$2(comp,options$1){let r$2=HYPHENRANGE_REGEXP$2;return comp.replace(r$2,(_$2,from,fM,fm,fp,fpr,fb,to,tM,tm,tp$1,tpr)=>(from=isX$2(fM)?``:isX$2(fm)?`>=${fM}.0.0${options$1?.includePrerelease?`-0`:``}`:isX$2(fp)?`>=${fM}.${fm}.0${options$1?.includePrerelease?`-0`:``}`:fpr?`>=${from}`:`>=${from}${options$1?.includePrerelease?`-0`:``}`,to=isX$2(tM)?``:isX$2(tm)?`<${+tM+1}.0.0-0`:isX$2(tp$1)?`<${tM}.${+tm+1}.0-0`:tpr?`<=${tM}.${tm}.${tp$1}-${tpr}`:options$1?.includePrerelease?`<${tM}.${tm}.${+tp$1+1}-0`:`<=${to}`,`${from} ${to}`.trim()))}})),require_shimmer$2=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.massUnwrap=exports.unwrap=exports.massWrap=exports.wrap=void 0;let logger$4=console.error.bind(console);function defineProperty$3(obj,name$2,value){let enumerable=!!obj[name$2]&&Object.prototype.propertyIsEnumerable.call(obj,name$2);Object.defineProperty(obj,name$2,{configurable:!0,enumerable,writable:!0,value})}exports.wrap=(nodule,name$2,wrapper)=>{if(!nodule||!nodule[name$2]){logger$4(`no original function `+String(name$2)+` to wrap`);return}if(!wrapper){logger$4(`no wrapper function`),logger$4(Error().stack);return}let original=nodule[name$2];if(typeof original!=`function`||typeof wrapper!=`function`){logger$4(`original object and wrapper must be functions`);return}let wrapped=wrapper(original,name$2);return defineProperty$3(wrapped,`__original`,original),defineProperty$3(wrapped,`__unwrap`,()=>{nodule[name$2]===wrapped&&defineProperty$3(nodule,name$2,original)}),defineProperty$3(wrapped,`__wrapped`,!0),defineProperty$3(nodule,name$2,wrapped),wrapped},exports.massWrap=(nodules,names$1,wrapper)=>{if(nodules)Array.isArray(nodules)||(nodules=[nodules]);else{logger$4(`must provide one or more modules to patch`),logger$4(Error().stack);return}if(!(names$1&&Array.isArray(names$1))){logger$4(`must provide one or more functions to wrap on modules`);return}nodules.forEach(nodule=>{names$1.forEach(name$2=>{(0,exports.wrap)(nodule,name$2,wrapper)})})},exports.unwrap=(nodule,name$2)=>{if(!nodule||!nodule[name$2]){logger$4(`no function to unwrap.`),logger$4(Error().stack);return}let wrapped=nodule[name$2];if(!wrapped.__unwrap)logger$4(`no original to unwrap to -- has `+String(name$2)+` already been unwrapped?`);else{wrapped.__unwrap();return}},exports.massUnwrap=(nodules,names$1)=>{if(nodules)Array.isArray(nodules)||(nodules=[nodules]);else{logger$4(`must provide one or more modules to patch`),logger$4(Error().stack);return}if(!(names$1&&Array.isArray(names$1))){logger$4(`must provide one or more functions to unwrap on modules`);return}nodules.forEach(nodule=>{names$1.forEach(name$2=>{(0,exports.unwrap)(nodule,name$2)})})};function shimmer$5(options$1){options$1&&options$1.logger&&(typeof options$1.logger==`function`?logger$4=options$1.logger:logger$4(`new logger isn't a function, not replacing`))}exports.default=shimmer$5,shimmer$5.wrap=exports.wrap,shimmer$5.massWrap=exports.massWrap,shimmer$5.unwrap=exports.unwrap,shimmer$5.massUnwrap=exports.massUnwrap})),require_instrumentation$5=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$254=(init_esm$10(),__toCommonJS$4(esm_exports$11)),api_logs_1$7=require_src$79(),shimmer$4=require_shimmer$2();exports.InstrumentationAbstract=class{instrumentationName;instrumentationVersion;_config={};_tracer;_meter;_logger;_diag;constructor(instrumentationName,instrumentationVersion,config){this.instrumentationName=instrumentationName,this.instrumentationVersion=instrumentationVersion,this.setConfig(config),this._diag=api_1$254.diag.createComponentLogger({namespace:instrumentationName}),this._tracer=api_1$254.trace.getTracer(instrumentationName,instrumentationVersion),this._meter=api_1$254.metrics.getMeter(instrumentationName,instrumentationVersion),this._logger=api_logs_1$7.logs.getLogger(instrumentationName,instrumentationVersion),this._updateMetricInstruments()}_wrap=shimmer$4.wrap;_unwrap=shimmer$4.unwrap;_massWrap=shimmer$4.massWrap;_massUnwrap=shimmer$4.massUnwrap;get meter(){return this._meter}setMeterProvider(meterProvider){this._meter=meterProvider.getMeter(this.instrumentationName,this.instrumentationVersion),this._updateMetricInstruments()}get logger(){return this._logger}setLoggerProvider(loggerProvider){this._logger=loggerProvider.getLogger(this.instrumentationName,this.instrumentationVersion)}getModuleDefinitions(){let initResult=this.init()??[];return Array.isArray(initResult)?initResult:[initResult]}_updateMetricInstruments(){}getConfig(){return this._config}setConfig(config){this._config={enabled:!0,...config}}setTracerProvider(tracerProvider){this._tracer=tracerProvider.getTracer(this.instrumentationName,this.instrumentationVersion)}get tracer(){return this._tracer}_runSpanCustomizationHook(hookHandler,triggerName,span,info$1){if(hookHandler)try{hookHandler(span,info$1)}catch(e$1){this._diag.error(`Error running span customization hook due to exception in handler`,{triggerName},e$1)}}}})),require_ms=__commonJSMin(((exports,module)=>{var s$2=1e3,m$1=s$2*60,h$2=m$1*60,d$2=h$2*24,w$1=d$2*7,y$2=d$2*365.25;module.exports=function(val,options$1){options$1||={};var type=typeof val;if(type===`string`&&val.length>0)return parse$14(val);if(type===`number`&&isFinite(val))return options$1.long?fmtLong(val):fmtShort(val);throw Error(`val is not a non-empty string or a valid number. val=`+JSON.stringify(val))};function parse$14(str$1){if(str$1=String(str$1),!(str$1.length>100)){var match$1=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str$1);if(match$1){var n$2=parseFloat(match$1[1]);switch((match$1[2]||`ms`).toLowerCase()){case`years`:case`year`:case`yrs`:case`yr`:case`y`:return n$2*y$2;case`weeks`:case`week`:case`w`:return n$2*w$1;case`days`:case`day`:case`d`:return n$2*d$2;case`hours`:case`hour`:case`hrs`:case`hr`:case`h`:return n$2*h$2;case`minutes`:case`minute`:case`mins`:case`min`:case`m`:return n$2*m$1;case`seconds`:case`second`:case`secs`:case`sec`:case`s`:return n$2*s$2;case`milliseconds`:case`millisecond`:case`msecs`:case`msec`:case`ms`:return n$2;default:return}}}}function fmtShort(ms){var msAbs=Math.abs(ms);return msAbs>=d$2?Math.round(ms/d$2)+`d`:msAbs>=h$2?Math.round(ms/h$2)+`h`:msAbs>=m$1?Math.round(ms/m$1)+`m`:msAbs>=s$2?Math.round(ms/s$2)+`s`:ms+`ms`}function fmtLong(ms){var msAbs=Math.abs(ms);return msAbs>=d$2?plural(ms,msAbs,d$2,`day`):msAbs>=h$2?plural(ms,msAbs,h$2,`hour`):msAbs>=m$1?plural(ms,msAbs,m$1,`minute`):msAbs>=s$2?plural(ms,msAbs,s$2,`second`):ms+` ms`}function plural(ms,msAbs,n$2,name$2){var isPlural=msAbs>=n$2*1.5;return Math.round(ms/n$2)+` `+name$2+(isPlural?`s`:``)}})),require_common$3=__commonJSMin(((exports,module)=>{function setup$8(env$6){createDebug.debug=createDebug,createDebug.default=createDebug,createDebug.coerce=coerce,createDebug.disable=disable,createDebug.enable=enable,createDebug.enabled=enabled,createDebug.humanize=require_ms(),createDebug.destroy=destroy,Object.keys(env$6).forEach(key$1=>{createDebug[key$1]=env$6[key$1]}),createDebug.names=[],createDebug.skips=[],createDebug.formatters={};function selectColor(namespace){let hash$1=0;for(let i$7=0;i$7<namespace.length;i$7++)hash$1=(hash$1<<5)-hash$1+namespace.charCodeAt(i$7),hash$1|=0;return createDebug.colors[Math.abs(hash$1)%createDebug.colors.length]}createDebug.selectColor=selectColor;function createDebug(namespace){let prevTime,enableOverride=null,namespacesCache,enabledCache;function debug$12(...args){if(!debug$12.enabled)return;let self$1=debug$12,curr=Number(new Date);self$1.diff=curr-(prevTime||curr),self$1.prev=prevTime,self$1.curr=curr,prevTime=curr,args[0]=createDebug.coerce(args[0]),typeof args[0]!=`string`&&args.unshift(`%O`);let index=0;args[0]=args[0].replace(/%([a-zA-Z%])/g,(match$1,format$2)=>{if(match$1===`%%`)return`%`;index++;let formatter=createDebug.formatters[format$2];if(typeof formatter==`function`){let val=args[index];match$1=formatter.call(self$1,val),args.splice(index,1),index--}return match$1}),createDebug.formatArgs.call(self$1,args),(self$1.log||createDebug.log).apply(self$1,args)}return debug$12.namespace=namespace,debug$12.useColors=createDebug.useColors(),debug$12.color=createDebug.selectColor(namespace),debug$12.extend=extend,debug$12.destroy=createDebug.destroy,Object.defineProperty(debug$12,`enabled`,{enumerable:!0,configurable:!1,get:()=>enableOverride===null?(namespacesCache!==createDebug.namespaces&&(namespacesCache=createDebug.namespaces,enabledCache=createDebug.enabled(namespace)),enabledCache):enableOverride,set:v$1=>{enableOverride=v$1}}),typeof createDebug.init==`function`&&createDebug.init(debug$12),debug$12}function extend(namespace,delimiter){let newDebug=createDebug(this.namespace+(delimiter===void 0?`:`:delimiter)+namespace);return newDebug.log=this.log,newDebug}function enable(namespaces){createDebug.save(namespaces),createDebug.namespaces=namespaces,createDebug.names=[],createDebug.skips=[];let split=(typeof namespaces==`string`?namespaces:``).trim().replace(/\s+/g,`,`).split(`,`).filter(Boolean);for(let ns of split)ns[0]===`-`?createDebug.skips.push(ns.slice(1)):createDebug.names.push(ns)}function matchesTemplate(search,template$1){let searchIndex=0,templateIndex=0,starIndex=-1,matchIndex=0;for(;searchIndex<search.length;)if(templateIndex<template$1.length&&(template$1[templateIndex]===search[searchIndex]||template$1[templateIndex]===`*`))template$1[templateIndex]===`*`?(starIndex=templateIndex,matchIndex=searchIndex,templateIndex++):(searchIndex++,templateIndex++);else if(starIndex!==-1)templateIndex=starIndex+1,matchIndex++,searchIndex=matchIndex;else return!1;for(;templateIndex<template$1.length&&template$1[templateIndex]===`*`;)templateIndex++;return templateIndex===template$1.length}function disable(){let namespaces=[...createDebug.names,...createDebug.skips.map(namespace=>`-`+namespace)].join(`,`);return createDebug.enable(``),namespaces}function enabled(name$2){for(let skip of createDebug.skips)if(matchesTemplate(name$2,skip))return!1;for(let ns of createDebug.names)if(matchesTemplate(name$2,ns))return!0;return!1}function coerce(val){return val instanceof Error?val.stack||val.message:val}function destroy(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return createDebug.enable(createDebug.load()),createDebug}module.exports=setup$8})),require_browser=__commonJSMin(((exports,module)=>{exports.formatArgs=formatArgs$1,exports.save=save$1,exports.load=load$5,exports.useColors=useColors$1,exports.storage=localstorage(),exports.destroy=(()=>{let warned$1=!1;return()=>{warned$1||(warned$1=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),exports.colors=`#0000CC.#0000FF.#0033CC.#0033FF.#0066CC.#0066FF.#0099CC.#0099FF.#00CC00.#00CC33.#00CC66.#00CC99.#00CCCC.#00CCFF.#3300CC.#3300FF.#3333CC.#3333FF.#3366CC.#3366FF.#3399CC.#3399FF.#33CC00.#33CC33.#33CC66.#33CC99.#33CCCC.#33CCFF.#6600CC.#6600FF.#6633CC.#6633FF.#66CC00.#66CC33.#9900CC.#9900FF.#9933CC.#9933FF.#99CC00.#99CC33.#CC0000.#CC0033.#CC0066.#CC0099.#CC00CC.#CC00FF.#CC3300.#CC3333.#CC3366.#CC3399.#CC33CC.#CC33FF.#CC6600.#CC6633.#CC9900.#CC9933.#CCCC00.#CCCC33.#FF0000.#FF0033.#FF0066.#FF0099.#FF00CC.#FF00FF.#FF3300.#FF3333.#FF3366.#FF3399.#FF33CC.#FF33FF.#FF6600.#FF6633.#FF9900.#FF9933.#FFCC00.#FFCC33`.split(`.`);function useColors$1(){if(typeof window<`u`&&window.process&&(window.process.type===`renderer`||window.process.__nwjs))return!0;if(typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let m$2;return typeof document<`u`&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<`u`&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<`u`&&navigator.userAgent&&(m$2=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(m$2[1],10)>=31||typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs$1(args){if(args[0]=(this.useColors?`%c`:``)+this.namespace+(this.useColors?` %c`:` `)+args[0]+(this.useColors?`%c `:` `)+`+`+module.exports.humanize(this.diff),!this.useColors)return;let c$3=`color: `+this.color;args.splice(1,0,c$3,`color: inherit`);let index=0,lastC=0;args[0].replace(/%[a-zA-Z%]/g,match$1=>{match$1!==`%%`&&(index++,match$1===`%c`&&(lastC=index))}),args.splice(lastC,0,c$3)}exports.log=console.debug||console.log||(()=>{});function save$1(namespaces){try{namespaces?exports.storage.setItem(`debug`,namespaces):exports.storage.removeItem(`debug`)}catch{}}function load$5(){let r$2;try{r$2=exports.storage.getItem(`debug`)||exports.storage.getItem(`DEBUG`)}catch{}return!r$2&&typeof process<`u`&&`env`in process&&(r$2=process.env.DEBUG),r$2}function localstorage(){try{return localStorage}catch{}}module.exports=require_common$3()(exports);let{formatters:formatters$1}=module.exports;formatters$1.j=function(v$1){try{return JSON.stringify(v$1)}catch(error$3){return`[UnexpectedJSONParseError]: `+error$3.message}}})),require_has_flag$1=__commonJSMin(((exports,module)=>{module.exports=(flag,argv=process.argv)=>{let prefix=flag.startsWith(`-`)?``:flag.length===1?`-`:`--`,position=argv.indexOf(prefix+flag),terminatorPosition=argv.indexOf(`--`);return position!==-1&&(terminatorPosition===-1||position<terminatorPosition)}})),require_supports_color$2=__commonJSMin(((exports,module)=>{let os$19=__require$1(`os`),tty$4=__require$1(`tty`),hasFlag$4=require_has_flag$1(),{env:env$5}=process,flagForceColor;hasFlag$4(`no-color`)||hasFlag$4(`no-colors`)||hasFlag$4(`color=false`)||hasFlag$4(`color=never`)?flagForceColor=0:(hasFlag$4(`color`)||hasFlag$4(`colors`)||hasFlag$4(`color=true`)||hasFlag$4(`color=always`))&&(flagForceColor=1);function envForceColor(){if(`FORCE_COLOR`in env$5)return env$5.FORCE_COLOR===`true`?1:env$5.FORCE_COLOR===`false`?0:env$5.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(env$5.FORCE_COLOR,10),3)}function translateLevel$3(level$1){return level$1===0?!1:{level:level$1,hasBasic:!0,has256:level$1>=2,has16m:level$1>=3}}function supportsColor$4(haveStream,{streamIsTTY,sniffFlags=!0}={}){let noFlagForceColor=envForceColor();noFlagForceColor!==void 0&&(flagForceColor=noFlagForceColor);let forceColor$3=sniffFlags?flagForceColor:noFlagForceColor;if(forceColor$3===0)return 0;if(sniffFlags){if(hasFlag$4(`color=16m`)||hasFlag$4(`color=full`)||hasFlag$4(`color=truecolor`))return 3;if(hasFlag$4(`color=256`))return 2}if(haveStream&&!streamIsTTY&&forceColor$3===void 0)return 0;let min=forceColor$3||0;if(env$5.TERM===`dumb`)return min;if(process.platform===`win32`){let osRelease=os$19.release().split(`.`);return Number(osRelease[0])>=10&&Number(osRelease[2])>=10586?Number(osRelease[2])>=14931?3:2:1}if(`CI`in env$5)return[`TRAVIS`,`CIRCLECI`,`APPVEYOR`,`GITLAB_CI`,`GITHUB_ACTIONS`,`BUILDKITE`,`DRONE`].some(sign$2=>sign$2 in env$5)||env$5.CI_NAME===`codeship`?1:min;if(`TEAMCITY_VERSION`in env$5)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env$5.TEAMCITY_VERSION)?1:0;if(env$5.COLORTERM===`truecolor`)return 3;if(`TERM_PROGRAM`in env$5){let version$2=Number.parseInt((env$5.TERM_PROGRAM_VERSION||``).split(`.`)[0],10);switch(env$5.TERM_PROGRAM){case`iTerm.app`:return version$2>=3?3:2;case`Apple_Terminal`:return 2}}return/-256(color)?$/i.test(env$5.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env$5.TERM)||`COLORTERM`in env$5?1:min}function getSupportLevel$3(stream$8,options$1={}){let level$1=supportsColor$4(stream$8,{streamIsTTY:stream$8&&stream$8.isTTY,...options$1});return translateLevel$3(level$1)}module.exports={supportsColor:getSupportLevel$3,stdout:getSupportLevel$3({isTTY:tty$4.isatty(1)}),stderr:getSupportLevel$3({isTTY:tty$4.isatty(2)})}})),require_node$47=__commonJSMin(((exports,module)=>{let tty$3=__require$1(`tty`),util$58=__require$1(`util`);exports.init=init$2,exports.log=log$4,exports.formatArgs=formatArgs,exports.save=save,exports.load=load$4,exports.useColors=useColors,exports.destroy=util$58.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),exports.colors=[6,2,3,4,5,1];try{let supportsColor$5=require_supports_color$2();supportsColor$5&&(supportsColor$5.stderr||supportsColor$5).level>=2&&(exports.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}exports.inspectOpts=Object.keys(process.env).filter(key$1=>/^debug_/i.test(key$1)).reduce((obj,key$1)=>{let prop=key$1.substring(6).toLowerCase().replace(/_([a-z])/g,(_$2,k)=>k.toUpperCase()),val=process.env[key$1];return val=/^(yes|on|true|enabled)$/i.test(val)?!0:/^(no|off|false|disabled)$/i.test(val)?!1:val===`null`?null:Number(val),obj[prop]=val,obj},{});function useColors(){return`colors`in exports.inspectOpts?!!exports.inspectOpts.colors:tty$3.isatty(process.stderr.fd)}function formatArgs(args){let{namespace:name$2,useColors:useColors$2}=this;if(useColors$2){let c$3=this.color,colorCode=`\x1B[3`+(c$3<8?c$3:`8;5;`+c$3),prefix=` ${colorCode};1m${name$2} \u001B[0m`;args[0]=prefix+args[0].split(`
347
+ `,(0,RegistrationConflicts_1$8.getConflictResolutionRecipe)(existingDescriptor,expectedDescriptor))}return compatibleStorage}}})),require_MultiWritableMetricStorage$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.MultiMetricStorage=class{_backingStorages;constructor(_backingStorages){this._backingStorages=_backingStorages}record(value,attributes,context$1,recordTime){this._backingStorages.forEach(it=>{it.record(value,attributes,context$1,recordTime)})}}})),require_ObservableResult$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$260=(init_esm$10(),__toCommonJS$4(esm_exports$11)),HashMap_1$32=require_HashMap$8(),Instruments_1$25=require_Instruments$8();exports.ObservableResultImpl=class{_instrumentName;_valueType;_buffer=new HashMap_1$32.AttributeHashMap;constructor(_instrumentName,_valueType){this._instrumentName=_instrumentName,this._valueType=_valueType}observe(value,attributes={}){if(typeof value!=`number`){api_1$260.diag.warn(`non-number value provided to metric ${this._instrumentName}: ${value}`);return}this._valueType===api_1$260.ValueType.INT&&!Number.isInteger(value)&&(api_1$260.diag.warn(`INT value type cannot accept a floating-point value for ${this._instrumentName}, ignoring the fractional digits.`),value=Math.trunc(value),!Number.isInteger(value))||this._buffer.set(attributes,value)}},exports.BatchObservableResultImpl=class{_buffer=new Map;observe(metric,value,attributes={}){if(!(0,Instruments_1$25.isObservableInstrument)(metric))return;let map$2=this._buffer.get(metric);if(map$2??(map$2=new HashMap_1$32.AttributeHashMap,this._buffer.set(metric,map$2)),typeof value!=`number`){api_1$260.diag.warn(`non-number value provided to metric ${metric._descriptor.name}: ${value}`);return}metric._descriptor.valueType===api_1$260.ValueType.INT&&!Number.isInteger(value)&&(api_1$260.diag.warn(`INT value type cannot accept a floating-point value for ${metric._descriptor.name}, ignoring the fractional digits.`),value=Math.trunc(value),!Number.isInteger(value))||map$2.set(attributes,value)}}})),require_ObservableRegistry$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$259=(init_esm$10(),__toCommonJS$4(esm_exports$11)),Instruments_1$24=require_Instruments$8(),ObservableResult_1$8=require_ObservableResult$8(),utils_1$171=require_utils$61();exports.ObservableRegistry=class{_callbacks=[];_batchCallbacks=[];addCallback(callback$1,instrument){this._findCallback(callback$1,instrument)>=0||this._callbacks.push({callback:callback$1,instrument})}removeCallback(callback$1,instrument){let idx=this._findCallback(callback$1,instrument);idx<0||this._callbacks.splice(idx,1)}addBatchCallback(callback$1,instruments){let observableInstruments=new Set(instruments.filter(Instruments_1$24.isObservableInstrument));if(observableInstruments.size===0){api_1$259.diag.error(`BatchObservableCallback is not associated with valid instruments`,instruments);return}this._findBatchCallback(callback$1,observableInstruments)>=0||this._batchCallbacks.push({callback:callback$1,instruments:observableInstruments})}removeBatchCallback(callback$1,instruments){let observableInstruments=new Set(instruments.filter(Instruments_1$24.isObservableInstrument)),idx=this._findBatchCallback(callback$1,observableInstruments);idx<0||this._batchCallbacks.splice(idx,1)}async observe(collectionTime,timeoutMillis){let callbackFutures=this._observeCallbacks(collectionTime,timeoutMillis),batchCallbackFutures=this._observeBatchCallbacks(collectionTime,timeoutMillis);return(await(0,utils_1$171.PromiseAllSettled)([...callbackFutures,...batchCallbackFutures])).filter(utils_1$171.isPromiseAllSettledRejectionResult).map(it=>it.reason)}_observeCallbacks(observationTime,timeoutMillis){return this._callbacks.map(async({callback:callback$1,instrument})=>{let observableResult=new ObservableResult_1$8.ObservableResultImpl(instrument._descriptor.name,instrument._descriptor.valueType),callPromise=Promise.resolve(callback$1(observableResult));timeoutMillis!=null&&(callPromise=(0,utils_1$171.callWithTimeout)(callPromise,timeoutMillis)),await callPromise,instrument._metricStorages.forEach(metricStorage=>{metricStorage.record(observableResult._buffer,observationTime)})})}_observeBatchCallbacks(observationTime,timeoutMillis){return this._batchCallbacks.map(async({callback:callback$1,instruments})=>{let observableResult=new ObservableResult_1$8.BatchObservableResultImpl,callPromise=Promise.resolve(callback$1(observableResult));timeoutMillis!=null&&(callPromise=(0,utils_1$171.callWithTimeout)(callPromise,timeoutMillis)),await callPromise,instruments.forEach(instrument=>{let buffer$4=observableResult._buffer.get(instrument);buffer$4!=null&&instrument._metricStorages.forEach(metricStorage=>{metricStorage.record(buffer$4,observationTime)})})})}_findCallback(callback$1,instrument){return this._callbacks.findIndex(record=>record.callback===callback$1&&record.instrument===instrument)}_findBatchCallback(callback$1,instruments){return this._batchCallbacks.findIndex(record=>record.callback===callback$1&&(0,utils_1$171.setEquals)(record.instruments,instruments))}}})),require_SyncMetricStorage$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let MetricStorage_1$16=require_MetricStorage$8(),DeltaMetricProcessor_1$16=require_DeltaMetricProcessor$8(),TemporalMetricProcessor_1$16=require_TemporalMetricProcessor$8();exports.SyncMetricStorage=class extends MetricStorage_1$16.MetricStorage{_attributesProcessor;_aggregationCardinalityLimit;_deltaMetricStorage;_temporalMetricStorage;constructor(instrumentDescriptor,aggregator,_attributesProcessor,collectorHandles,_aggregationCardinalityLimit){super(instrumentDescriptor),this._attributesProcessor=_attributesProcessor,this._aggregationCardinalityLimit=_aggregationCardinalityLimit,this._deltaMetricStorage=new DeltaMetricProcessor_1$16.DeltaMetricProcessor(aggregator,this._aggregationCardinalityLimit),this._temporalMetricStorage=new TemporalMetricProcessor_1$16.TemporalMetricProcessor(aggregator,collectorHandles)}record(value,attributes,context$1,recordTime){attributes=this._attributesProcessor.process(attributes,context$1),this._deltaMetricStorage.record(value,attributes,context$1,recordTime)}collect(collector,collectionTime){let accumulations=this._deltaMetricStorage.collect();return this._temporalMetricStorage.buildMetrics(collector,this._instrumentDescriptor,accumulations,collectionTime)}}})),require_AttributesProcessor$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});var NoopAttributesProcessor$8=class{process(incoming,_context){return incoming}},MultiAttributesProcessor$8=class{_processors;constructor(_processors){this._processors=_processors}process(incoming,context$1){let filteredAttributes=incoming;for(let processor of this._processors)filteredAttributes=processor.process(filteredAttributes,context$1);return filteredAttributes}},AllowListProcessor$8=class{_allowedAttributeNames;constructor(_allowedAttributeNames){this._allowedAttributeNames=_allowedAttributeNames}process(incoming,_context){let filteredAttributes={};return Object.keys(incoming).filter(attributeName=>this._allowedAttributeNames.includes(attributeName)).forEach(attributeName=>filteredAttributes[attributeName]=incoming[attributeName]),filteredAttributes}},DenyListProcessor$8=class{_deniedAttributeNames;constructor(_deniedAttributeNames){this._deniedAttributeNames=_deniedAttributeNames}process(incoming,_context){let filteredAttributes={};return Object.keys(incoming).filter(attributeName=>!this._deniedAttributeNames.includes(attributeName)).forEach(attributeName=>filteredAttributes[attributeName]=incoming[attributeName]),filteredAttributes}};function createNoopAttributesProcessor$8(){return NOOP$9}exports.createNoopAttributesProcessor=createNoopAttributesProcessor$8;function createMultiAttributesProcessor$8(processors){return new MultiAttributesProcessor$8(processors)}exports.createMultiAttributesProcessor=createMultiAttributesProcessor$8;function createAllowListAttributesProcessor$8(attributeAllowList){return new AllowListProcessor$8(attributeAllowList)}exports.createAllowListAttributesProcessor=createAllowListAttributesProcessor$8;function createDenyListAttributesProcessor$8(attributeDenyList){return new DenyListProcessor$8(attributeDenyList)}exports.createDenyListAttributesProcessor=createDenyListAttributesProcessor$8;let NOOP$9=new NoopAttributesProcessor$8})),require_MeterSharedState$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let InstrumentDescriptor_1$32=require_InstrumentDescriptor$8(),Meter_1$8=require_Meter$8(),utils_1$170=require_utils$61(),AsyncMetricStorage_1$8=require_AsyncMetricStorage$8(),MetricStorageRegistry_1$8=require_MetricStorageRegistry$8(),MultiWritableMetricStorage_1$8=require_MultiWritableMetricStorage$8(),ObservableRegistry_1$8=require_ObservableRegistry$8(),SyncMetricStorage_1$8=require_SyncMetricStorage$8(),AttributesProcessor_1$26=require_AttributesProcessor$8();exports.MeterSharedState=class{_meterProviderSharedState;_instrumentationScope;metricStorageRegistry=new MetricStorageRegistry_1$8.MetricStorageRegistry;observableRegistry=new ObservableRegistry_1$8.ObservableRegistry;meter;constructor(_meterProviderSharedState,_instrumentationScope){this._meterProviderSharedState=_meterProviderSharedState,this._instrumentationScope=_instrumentationScope,this.meter=new Meter_1$8.Meter(this)}registerMetricStorage(descriptor$1){let storages=this._registerMetricStorage(descriptor$1,SyncMetricStorage_1$8.SyncMetricStorage);return storages.length===1?storages[0]:new MultiWritableMetricStorage_1$8.MultiMetricStorage(storages)}registerAsyncMetricStorage(descriptor$1){return this._registerMetricStorage(descriptor$1,AsyncMetricStorage_1$8.AsyncMetricStorage)}async collect(collector,collectionTime,options$1){let errors=await this.observableRegistry.observe(collectionTime,options$1?.timeoutMillis),storages=this.metricStorageRegistry.getStorages(collector);if(storages.length===0)return null;let metricDataList=storages.map(metricStorage=>metricStorage.collect(collector,collectionTime)).filter(utils_1$170.isNotNullish);return metricDataList.length===0?{errors}:{scopeMetrics:{scope:this._instrumentationScope,metrics:metricDataList},errors}}_registerMetricStorage(descriptor$1,MetricStorageType){let storages=this._meterProviderSharedState.viewRegistry.findViews(descriptor$1,this._instrumentationScope).map(view=>{let viewDescriptor=(0,InstrumentDescriptor_1$32.createInstrumentDescriptorWithView)(view,descriptor$1),compatibleStorage=this.metricStorageRegistry.findOrUpdateCompatibleStorage(viewDescriptor);if(compatibleStorage!=null)return compatibleStorage;let aggregator=view.aggregation.createAggregator(viewDescriptor),viewStorage=new MetricStorageType(viewDescriptor,aggregator,view.attributesProcessor,this._meterProviderSharedState.metricCollectors,view.aggregationCardinalityLimit);return this.metricStorageRegistry.register(viewStorage),viewStorage});if(storages.length===0){let collectorStorages=this._meterProviderSharedState.selectAggregations(descriptor$1.type).map(([collector,aggregation])=>{let compatibleStorage=this.metricStorageRegistry.findOrUpdateCompatibleCollectorStorage(collector,descriptor$1);if(compatibleStorage!=null)return compatibleStorage;let aggregator=aggregation.createAggregator(descriptor$1),cardinalityLimit=collector.selectCardinalityLimit(descriptor$1.type),storage=new MetricStorageType(descriptor$1,aggregator,(0,AttributesProcessor_1$26.createNoopAttributesProcessor)(),[collector],cardinalityLimit);return this.metricStorageRegistry.registerForCollector(collector,storage),storage});storages=storages.concat(collectorStorages)}return storages}}})),require_MeterProviderSharedState$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let utils_1$169=require_utils$61(),ViewRegistry_1$8=require_ViewRegistry$8(),MeterSharedState_1$8=require_MeterSharedState$8(),AggregationOption_1$34=require_AggregationOption$8();exports.MeterProviderSharedState=class{resource;viewRegistry=new ViewRegistry_1$8.ViewRegistry;metricCollectors=[];meterSharedStates=new Map;constructor(resource){this.resource=resource}getMeterSharedState(instrumentationScope){let id=(0,utils_1$169.instrumentationScopeId)(instrumentationScope),meterSharedState=this.meterSharedStates.get(id);return meterSharedState??(meterSharedState=new MeterSharedState_1$8.MeterSharedState(this,instrumentationScope),this.meterSharedStates.set(id,meterSharedState)),meterSharedState}selectAggregations(instrumentType){let result=[];for(let collector of this.metricCollectors)result.push([collector,(0,AggregationOption_1$34.toAggregation)(collector.selectAggregation(instrumentType))]);return result}}})),require_MetricCollector$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let core_1$133=require_src$84();exports.MetricCollector=class{_sharedState;_metricReader;constructor(_sharedState,_metricReader){this._sharedState=_sharedState,this._metricReader=_metricReader}async collect(options$1){let collectionTime=(0,core_1$133.millisToHrTime)(Date.now()),scopeMetrics=[],errors=[],meterCollectionPromises=Array.from(this._sharedState.meterSharedStates.values()).map(async meterSharedState=>{let current=await meterSharedState.collect(this,collectionTime,options$1);current?.scopeMetrics!=null&&scopeMetrics.push(current.scopeMetrics),current?.errors!=null&&errors.push(...current.errors)});return await Promise.all(meterCollectionPromises),{resourceMetrics:{resource:this._sharedState.resource,scopeMetrics},errors}}async forceFlush(options$1){await this._metricReader.forceFlush(options$1)}async shutdown(options$1){await this._metricReader.shutdown(options$1)}selectAggregationTemporality(instrumentType){return this._metricReader.selectAggregationTemporality(instrumentType)}selectAggregation(instrumentType){return this._metricReader.selectAggregation(instrumentType)}selectCardinalityLimit(instrumentType){return this._metricReader.selectCardinalityLimit?.(instrumentType)??2e3}}})),require_Predicate$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let ESCAPE$8=/[\^$\\.+?()[\]{}|]/g;exports.PatternPredicate=class PatternPredicate$8{_matchAll;_regexp;constructor(pattern){pattern===`*`?(this._matchAll=!0,this._regexp=/.*/):(this._matchAll=!1,this._regexp=new RegExp(PatternPredicate$8.escapePattern(pattern)))}match(str$1){return this._matchAll?!0:this._regexp.test(str$1)}static escapePattern(pattern){return`^${pattern.replace(ESCAPE$8,`\\$&`).replace(`*`,`.*`)}$`}static hasWildcard(pattern){return pattern.includes(`*`)}},exports.ExactPredicate=class{_matchAll;_pattern;constructor(pattern){this._matchAll=pattern===void 0,this._pattern=pattern}match(str$1){return!!(this._matchAll||str$1===this._pattern)}}})),require_InstrumentSelector$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let Predicate_1$26=require_Predicate$8();exports.InstrumentSelector=class{_nameFilter;_type;_unitFilter;constructor(criteria){this._nameFilter=new Predicate_1$26.PatternPredicate(criteria?.name??`*`),this._type=criteria?.type,this._unitFilter=new Predicate_1$26.ExactPredicate(criteria?.unit)}getType(){return this._type}getNameFilter(){return this._nameFilter}getUnitFilter(){return this._unitFilter}}})),require_MeterSelector$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let Predicate_1$25=require_Predicate$8();exports.MeterSelector=class{_nameFilter;_versionFilter;_schemaUrlFilter;constructor(criteria){this._nameFilter=new Predicate_1$25.ExactPredicate(criteria?.name),this._versionFilter=new Predicate_1$25.ExactPredicate(criteria?.version),this._schemaUrlFilter=new Predicate_1$25.ExactPredicate(criteria?.schemaUrl)}getNameFilter(){return this._nameFilter}getVersionFilter(){return this._versionFilter}getSchemaUrlFilter(){return this._schemaUrlFilter}}})),require_View$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let Predicate_1$24=require_Predicate$8(),AttributesProcessor_1$25=require_AttributesProcessor$8(),InstrumentSelector_1$8=require_InstrumentSelector$8(),MeterSelector_1$8=require_MeterSelector$8(),AggregationOption_1$33=require_AggregationOption$8();function isSelectorNotProvided$8(options$1){return options$1.instrumentName==null&&options$1.instrumentType==null&&options$1.instrumentUnit==null&&options$1.meterName==null&&options$1.meterVersion==null&&options$1.meterSchemaUrl==null}function validateViewOptions$8(viewOptions){if(isSelectorNotProvided$8(viewOptions))throw Error(`Cannot create view with no selector arguments supplied`);if(viewOptions.name!=null&&(viewOptions?.instrumentName==null||Predicate_1$24.PatternPredicate.hasWildcard(viewOptions.instrumentName)))throw Error(`Views with a specified name must be declared with an instrument selector that selects at most one instrument per meter.`)}exports.View=class{name;description;aggregation;attributesProcessor;instrumentSelector;meterSelector;aggregationCardinalityLimit;constructor(viewOptions){validateViewOptions$8(viewOptions),viewOptions.attributesProcessors==null?this.attributesProcessor=(0,AttributesProcessor_1$25.createNoopAttributesProcessor)():this.attributesProcessor=(0,AttributesProcessor_1$25.createMultiAttributesProcessor)(viewOptions.attributesProcessors),this.name=viewOptions.name,this.description=viewOptions.description,this.aggregation=(0,AggregationOption_1$33.toAggregation)(viewOptions.aggregation??{type:AggregationOption_1$33.AggregationType.DEFAULT}),this.instrumentSelector=new InstrumentSelector_1$8.InstrumentSelector({name:viewOptions.instrumentName,type:viewOptions.instrumentType,unit:viewOptions.instrumentUnit}),this.meterSelector=new MeterSelector_1$8.MeterSelector({name:viewOptions.meterName,version:viewOptions.meterVersion,schemaUrl:viewOptions.meterSchemaUrl}),this.aggregationCardinalityLimit=viewOptions.aggregationCardinalityLimit}}})),require_MeterProvider$8=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$258=(init_esm$10(),__toCommonJS$4(esm_exports$11)),resources_1$14=require_src$83(),MeterProviderSharedState_1$8=require_MeterProviderSharedState$8(),MetricCollector_1$8=require_MetricCollector$8(),View_1$8=require_View$8();exports.MeterProvider=class{_sharedState;_shutdown=!1;constructor(options$1){if(this._sharedState=new MeterProviderSharedState_1$8.MeterProviderSharedState(options$1?.resource??(0,resources_1$14.defaultResource)()),options$1?.views!=null&&options$1.views.length>0)for(let viewOption of options$1.views)this._sharedState.viewRegistry.addView(new View_1$8.View(viewOption));if(options$1?.readers!=null&&options$1.readers.length>0)for(let metricReader of options$1.readers){let collector=new MetricCollector_1$8.MetricCollector(this._sharedState,metricReader);metricReader.setMetricProducer(collector),this._sharedState.metricCollectors.push(collector)}}getMeter(name$2,version$2=``,options$1={}){return this._shutdown?(api_1$258.diag.warn(`A shutdown MeterProvider cannot provide a Meter`),(0,api_1$258.createNoopMeter)()):this._sharedState.getMeterSharedState({name:name$2,version:version$2,schemaUrl:options$1.schemaUrl}).meter}async shutdown(options$1){if(this._shutdown){api_1$258.diag.warn(`shutdown may only be called once per MeterProvider`);return}this._shutdown=!0,await Promise.all(this._sharedState.metricCollectors.map(collector=>collector.shutdown(options$1)))}async forceFlush(options$1){if(this._shutdown){api_1$258.diag.warn(`invalid attempt to force flush after MeterProvider shutdown`);return}await Promise.all(this._sharedState.metricCollectors.map(collector=>collector.forceFlush(options$1)))}}})),require_src$82=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.TimeoutError=exports.createDenyListAttributesProcessor=exports.createAllowListAttributesProcessor=exports.AggregationType=exports.MeterProvider=exports.ConsoleMetricExporter=exports.InMemoryMetricExporter=exports.PeriodicExportingMetricReader=exports.MetricReader=exports.InstrumentType=exports.DataPointType=exports.AggregationTemporality=void 0;var AggregationTemporality_1$24=require_AggregationTemporality$8();Object.defineProperty(exports,`AggregationTemporality`,{enumerable:!0,get:function(){return AggregationTemporality_1$24.AggregationTemporality}});var MetricData_1$56=require_MetricData$8();Object.defineProperty(exports,`DataPointType`,{enumerable:!0,get:function(){return MetricData_1$56.DataPointType}}),Object.defineProperty(exports,`InstrumentType`,{enumerable:!0,get:function(){return MetricData_1$56.InstrumentType}});var MetricReader_1$16=require_MetricReader$8();Object.defineProperty(exports,`MetricReader`,{enumerable:!0,get:function(){return MetricReader_1$16.MetricReader}});var PeriodicExportingMetricReader_1$8=require_PeriodicExportingMetricReader$8();Object.defineProperty(exports,`PeriodicExportingMetricReader`,{enumerable:!0,get:function(){return PeriodicExportingMetricReader_1$8.PeriodicExportingMetricReader}});var InMemoryMetricExporter_1$8=require_InMemoryMetricExporter$8();Object.defineProperty(exports,`InMemoryMetricExporter`,{enumerable:!0,get:function(){return InMemoryMetricExporter_1$8.InMemoryMetricExporter}});var ConsoleMetricExporter_1$8=require_ConsoleMetricExporter$8();Object.defineProperty(exports,`ConsoleMetricExporter`,{enumerable:!0,get:function(){return ConsoleMetricExporter_1$8.ConsoleMetricExporter}});var MeterProvider_1$8=require_MeterProvider$8();Object.defineProperty(exports,`MeterProvider`,{enumerable:!0,get:function(){return MeterProvider_1$8.MeterProvider}});var AggregationOption_1$32=require_AggregationOption$8();Object.defineProperty(exports,`AggregationType`,{enumerable:!0,get:function(){return AggregationOption_1$32.AggregationType}});var AttributesProcessor_1$24=require_AttributesProcessor$8();Object.defineProperty(exports,`createAllowListAttributesProcessor`,{enumerable:!0,get:function(){return AttributesProcessor_1$24.createAllowListAttributesProcessor}}),Object.defineProperty(exports,`createDenyListAttributesProcessor`,{enumerable:!0,get:function(){return AttributesProcessor_1$24.createDenyListAttributesProcessor}});var utils_1$168=require_utils$61();Object.defineProperty(exports,`TimeoutError`,{enumerable:!0,get:function(){return utils_1$168.TimeoutError}})})),require_internal_types$10=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.EAggregationTemporality=void 0,(function(EAggregationTemporality){EAggregationTemporality[EAggregationTemporality.AGGREGATION_TEMPORALITY_UNSPECIFIED=0]=`AGGREGATION_TEMPORALITY_UNSPECIFIED`,EAggregationTemporality[EAggregationTemporality.AGGREGATION_TEMPORALITY_DELTA=1]=`AGGREGATION_TEMPORALITY_DELTA`,EAggregationTemporality[EAggregationTemporality.AGGREGATION_TEMPORALITY_CUMULATIVE=2]=`AGGREGATION_TEMPORALITY_CUMULATIVE`})(exports.EAggregationTemporality||={})})),require_internal$38=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$257=(init_esm$10(),__toCommonJS$4(esm_exports$11)),sdk_metrics_1$13=require_src$82(),internal_types_1$10=require_internal_types$10(),utils_1$167=require_utils$62(),internal_1$87=require_internal$40();function toResourceMetrics$9(resourceMetrics,options$1){let encoder$2=(0,utils_1$167.getOtlpEncoder)(options$1),processedResource=(0,internal_1$87.createResource)(resourceMetrics.resource);return{resource:processedResource,schemaUrl:processedResource.schemaUrl,scopeMetrics:toScopeMetrics$9(resourceMetrics.scopeMetrics,encoder$2)}}exports.toResourceMetrics=toResourceMetrics$9;function toScopeMetrics$9(scopeMetrics,encoder$2){return Array.from(scopeMetrics.map(metrics$1=>({scope:(0,internal_1$87.createInstrumentationScope)(metrics$1.scope),metrics:metrics$1.metrics.map(metricData=>toMetric$9(metricData,encoder$2)),schemaUrl:metrics$1.scope.schemaUrl})))}exports.toScopeMetrics=toScopeMetrics$9;function toMetric$9(metricData,encoder$2){let out={name:metricData.descriptor.name,description:metricData.descriptor.description,unit:metricData.descriptor.unit},aggregationTemporality=toAggregationTemporality$9(metricData.aggregationTemporality);switch(metricData.dataPointType){case sdk_metrics_1$13.DataPointType.SUM:out.sum={aggregationTemporality,isMonotonic:metricData.isMonotonic,dataPoints:toSingularDataPoints$9(metricData,encoder$2)};break;case sdk_metrics_1$13.DataPointType.GAUGE:out.gauge={dataPoints:toSingularDataPoints$9(metricData,encoder$2)};break;case sdk_metrics_1$13.DataPointType.HISTOGRAM:out.histogram={aggregationTemporality,dataPoints:toHistogramDataPoints$9(metricData,encoder$2)};break;case sdk_metrics_1$13.DataPointType.EXPONENTIAL_HISTOGRAM:out.exponentialHistogram={aggregationTemporality,dataPoints:toExponentialHistogramDataPoints$9(metricData,encoder$2)};break}return out}exports.toMetric=toMetric$9;function toSingularDataPoint$9(dataPoint,valueType,encoder$2){let out={attributes:(0,internal_1$87.toAttributes)(dataPoint.attributes),startTimeUnixNano:encoder$2.encodeHrTime(dataPoint.startTime),timeUnixNano:encoder$2.encodeHrTime(dataPoint.endTime)};switch(valueType){case api_1$257.ValueType.INT:out.asInt=dataPoint.value;break;case api_1$257.ValueType.DOUBLE:out.asDouble=dataPoint.value;break}return out}function toSingularDataPoints$9(metricData,encoder$2){return metricData.dataPoints.map(dataPoint=>toSingularDataPoint$9(dataPoint,metricData.descriptor.valueType,encoder$2))}function toHistogramDataPoints$9(metricData,encoder$2){return metricData.dataPoints.map(dataPoint=>{let histogram=dataPoint.value;return{attributes:(0,internal_1$87.toAttributes)(dataPoint.attributes),bucketCounts:histogram.buckets.counts,explicitBounds:histogram.buckets.boundaries,count:histogram.count,sum:histogram.sum,min:histogram.min,max:histogram.max,startTimeUnixNano:encoder$2.encodeHrTime(dataPoint.startTime),timeUnixNano:encoder$2.encodeHrTime(dataPoint.endTime)}})}function toExponentialHistogramDataPoints$9(metricData,encoder$2){return metricData.dataPoints.map(dataPoint=>{let histogram=dataPoint.value;return{attributes:(0,internal_1$87.toAttributes)(dataPoint.attributes),count:histogram.count,min:histogram.min,max:histogram.max,sum:histogram.sum,positive:{offset:histogram.positive.offset,bucketCounts:histogram.positive.bucketCounts},negative:{offset:histogram.negative.offset,bucketCounts:histogram.negative.bucketCounts},scale:histogram.scale,zeroCount:histogram.zeroCount,startTimeUnixNano:encoder$2.encodeHrTime(dataPoint.startTime),timeUnixNano:encoder$2.encodeHrTime(dataPoint.endTime)}})}function toAggregationTemporality$9(temporality){switch(temporality){case sdk_metrics_1$13.AggregationTemporality.DELTA:return internal_types_1$10.EAggregationTemporality.AGGREGATION_TEMPORALITY_DELTA;case sdk_metrics_1$13.AggregationTemporality.CUMULATIVE:return internal_types_1$10.EAggregationTemporality.AGGREGATION_TEMPORALITY_CUMULATIVE}}function createExportMetricsServiceRequest$9(resourceMetrics,options$1){return{resourceMetrics:resourceMetrics.map(metrics$1=>toResourceMetrics$9(metrics$1,options$1))}}exports.createExportMetricsServiceRequest=createExportMetricsServiceRequest$9})),require_metrics$19=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let root$29=require_root$10(),internal_1$86=require_internal$38(),metricsResponseType$9=root$29.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceResponse,metricsRequestType$9=root$29.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest;exports.ProtobufMetricsSerializer={serializeRequest:arg=>{let request$2=(0,internal_1$86.createExportMetricsServiceRequest)([arg]);return metricsRequestType$9.encode(request$2).finish()},deserializeResponse:arg=>metricsResponseType$9.decode(arg)}})),require_protobuf$29=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.ProtobufMetricsSerializer=void 0;var metrics_1$19=require_metrics$19();Object.defineProperty(exports,`ProtobufMetricsSerializer`,{enumerable:!0,get:function(){return metrics_1$19.ProtobufMetricsSerializer}})})),require_internal$37=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let internal_1$85=require_internal$40(),utils_1$166=require_utils$62(),SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK=256,SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK=512;function buildSpanFlagsFrom(traceFlags,isRemote){let flags=traceFlags&255|256;return isRemote&&(flags|=512),flags}function sdkSpanToOtlpSpan$9(span,encoder$2){let ctx=span.spanContext(),status=span.status,parentSpanId=span.parentSpanContext?.spanId?encoder$2.encodeSpanContext(span.parentSpanContext?.spanId):void 0;return{traceId:encoder$2.encodeSpanContext(ctx.traceId),spanId:encoder$2.encodeSpanContext(ctx.spanId),parentSpanId,traceState:ctx.traceState?.serialize(),name:span.name,kind:span.kind==null?0:span.kind+1,startTimeUnixNano:encoder$2.encodeHrTime(span.startTime),endTimeUnixNano:encoder$2.encodeHrTime(span.endTime),attributes:(0,internal_1$85.toAttributes)(span.attributes),droppedAttributesCount:span.droppedAttributesCount,events:span.events.map(event=>toOtlpSpanEvent$9(event,encoder$2)),droppedEventsCount:span.droppedEventsCount,status:{code:status.code,message:status.message},links:span.links.map(link$4=>toOtlpLink$9(link$4,encoder$2)),droppedLinksCount:span.droppedLinksCount,flags:buildSpanFlagsFrom(ctx.traceFlags,span.parentSpanContext?.isRemote)}}exports.sdkSpanToOtlpSpan=sdkSpanToOtlpSpan$9;function toOtlpLink$9(link$4,encoder$2){return{attributes:link$4.attributes?(0,internal_1$85.toAttributes)(link$4.attributes):[],spanId:encoder$2.encodeSpanContext(link$4.context.spanId),traceId:encoder$2.encodeSpanContext(link$4.context.traceId),traceState:link$4.context.traceState?.serialize(),droppedAttributesCount:link$4.droppedAttributesCount||0,flags:buildSpanFlagsFrom(link$4.context.traceFlags,link$4.context.isRemote)}}exports.toOtlpLink=toOtlpLink$9;function toOtlpSpanEvent$9(timedEvent,encoder$2){return{attributes:timedEvent.attributes?(0,internal_1$85.toAttributes)(timedEvent.attributes):[],name:timedEvent.name,timeUnixNano:encoder$2.encodeHrTime(timedEvent.time),droppedAttributesCount:timedEvent.droppedAttributesCount||0}}exports.toOtlpSpanEvent=toOtlpSpanEvent$9;function createExportTraceServiceRequest$9(spans,options$1){let encoder$2=(0,utils_1$166.getOtlpEncoder)(options$1);return{resourceSpans:spanRecordsToResourceSpans$9(spans,encoder$2)}}exports.createExportTraceServiceRequest=createExportTraceServiceRequest$9;function createResourceMap$18(readableSpans){let resourceMap=new Map;for(let record of readableSpans){let ilsMap=resourceMap.get(record.resource);ilsMap||(ilsMap=new Map,resourceMap.set(record.resource,ilsMap));let instrumentationScopeKey=`${record.instrumentationScope.name}@${record.instrumentationScope.version||``}:${record.instrumentationScope.schemaUrl||``}`,records=ilsMap.get(instrumentationScopeKey);records||(records=[],ilsMap.set(instrumentationScopeKey,records)),records.push(record)}return resourceMap}function spanRecordsToResourceSpans$9(readableSpans,encoder$2){let resourceMap=createResourceMap$18(readableSpans),out=[],entryIterator=resourceMap.entries(),entry=entryIterator.next();for(;!entry.done;){let[resource,ilmMap]=entry.value,scopeResourceSpans=[],ilmIterator=ilmMap.values(),ilmEntry=ilmIterator.next();for(;!ilmEntry.done;){let scopeSpans=ilmEntry.value;if(scopeSpans.length>0){let spans=scopeSpans.map(readableSpan=>sdkSpanToOtlpSpan$9(readableSpan,encoder$2));scopeResourceSpans.push({scope:(0,internal_1$85.createInstrumentationScope)(scopeSpans[0].instrumentationScope),spans,schemaUrl:scopeSpans[0].instrumentationScope.schemaUrl})}ilmEntry=ilmIterator.next()}let processedResource=(0,internal_1$85.createResource)(resource),transformedSpans={resource:processedResource,scopeSpans:scopeResourceSpans,schemaUrl:processedResource.schemaUrl};out.push(transformedSpans),entry=entryIterator.next()}return out}})),require_trace$19=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let root$28=require_root$10(),internal_1$84=require_internal$37(),traceResponseType$9=root$28.opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse,traceRequestType$9=root$28.opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest;exports.ProtobufTraceSerializer={serializeRequest:arg=>{let request$2=(0,internal_1$84.createExportTraceServiceRequest)(arg);return traceRequestType$9.encode(request$2).finish()},deserializeResponse:arg=>traceResponseType$9.decode(arg)}})),require_protobuf$28=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.ProtobufTraceSerializer=void 0;var trace_1$19=require_trace$19();Object.defineProperty(exports,`ProtobufTraceSerializer`,{enumerable:!0,get:function(){return trace_1$19.ProtobufTraceSerializer}})})),require_logs$22=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let internal_1$83=require_internal$39();exports.JsonLogsSerializer={serializeRequest:arg=>{let request$2=(0,internal_1$83.createExportLogsServiceRequest)(arg,{useHex:!0,useLongBits:!1});return new TextEncoder().encode(JSON.stringify(request$2))},deserializeResponse:arg=>{if(arg.length===0)return{};let decoder$2=new TextDecoder;return JSON.parse(decoder$2.decode(arg))}}})),require_json$31=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.JsonLogsSerializer=void 0;var logs_1$22=require_logs$22();Object.defineProperty(exports,`JsonLogsSerializer`,{enumerable:!0,get:function(){return logs_1$22.JsonLogsSerializer}})})),require_metrics$18=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let internal_1$82=require_internal$38();exports.JsonMetricsSerializer={serializeRequest:arg=>{let request$2=(0,internal_1$82.createExportMetricsServiceRequest)([arg],{useLongBits:!1});return new TextEncoder().encode(JSON.stringify(request$2))},deserializeResponse:arg=>{if(arg.length===0)return{};let decoder$2=new TextDecoder;return JSON.parse(decoder$2.decode(arg))}}})),require_json$30=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.JsonMetricsSerializer=void 0;var metrics_1$18=require_metrics$18();Object.defineProperty(exports,`JsonMetricsSerializer`,{enumerable:!0,get:function(){return metrics_1$18.JsonMetricsSerializer}})})),require_trace$18=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let internal_1$81=require_internal$37();exports.JsonTraceSerializer={serializeRequest:arg=>{let request$2=(0,internal_1$81.createExportTraceServiceRequest)(arg,{useHex:!0,useLongBits:!1});return new TextEncoder().encode(JSON.stringify(request$2))},deserializeResponse:arg=>{if(arg.length===0)return{};let decoder$2=new TextDecoder;return JSON.parse(decoder$2.decode(arg))}}})),require_json$29=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.JsonTraceSerializer=void 0;var trace_1$18=require_trace$18();Object.defineProperty(exports,`JsonTraceSerializer`,{enumerable:!0,get:function(){return trace_1$18.JsonTraceSerializer}})})),require_src$81=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.JsonTraceSerializer=exports.JsonMetricsSerializer=exports.JsonLogsSerializer=exports.ProtobufTraceSerializer=exports.ProtobufMetricsSerializer=exports.ProtobufLogsSerializer=void 0;var protobuf_1$9=require_protobuf$30();Object.defineProperty(exports,`ProtobufLogsSerializer`,{enumerable:!0,get:function(){return protobuf_1$9.ProtobufLogsSerializer}});var protobuf_2$9=require_protobuf$29();Object.defineProperty(exports,`ProtobufMetricsSerializer`,{enumerable:!0,get:function(){return protobuf_2$9.ProtobufMetricsSerializer}});var protobuf_3$9=require_protobuf$28();Object.defineProperty(exports,`ProtobufTraceSerializer`,{enumerable:!0,get:function(){return protobuf_3$9.ProtobufTraceSerializer}});var json_1$9=require_json$31();Object.defineProperty(exports,`JsonLogsSerializer`,{enumerable:!0,get:function(){return json_1$9.JsonLogsSerializer}});var json_2$9=require_json$30();Object.defineProperty(exports,`JsonMetricsSerializer`,{enumerable:!0,get:function(){return json_2$9.JsonMetricsSerializer}});var json_3$9=require_json$29();Object.defineProperty(exports,`JsonTraceSerializer`,{enumerable:!0,get:function(){return json_3$9.JsonTraceSerializer}})}));function validateAndNormalizeHeaders$7(partialHeaders){return()=>{let headers={};return Object.entries(partialHeaders?.()??{}).forEach(([key$1,value])=>{value===void 0?diag.warn(`Header "${key$1}" has invalid value (${value}) and will be ignored`):headers[key$1]=String(value)}),headers}}var init_util$8=__esmMin((()=>{init_esm$10()}));function mergeHeaders$7(userProvidedHeaders,fallbackHeaders,defaultHeaders){let requiredHeaders={...defaultHeaders()},headers={};return()=>(fallbackHeaders!=null&&Object.assign(headers,fallbackHeaders()),userProvidedHeaders!=null&&Object.assign(headers,userProvidedHeaders()),Object.assign(headers,requiredHeaders))}function validateUserProvidedUrl$7(url$3){if(url$3!=null)try{let base=globalThis.location?.href;return new URL(url$3,base).href}catch{throw Error(`Configuration: Could not parse user-provided export URL: '${url$3}'`)}}function mergeOtlpHttpConfigurationWithDefaults$7(userProvidedConfiguration,fallbackConfiguration,defaultConfiguration){return{...mergeOtlpSharedConfigurationWithDefaults$9(userProvidedConfiguration,fallbackConfiguration,defaultConfiguration),headers:mergeHeaders$7(validateAndNormalizeHeaders$7(userProvidedConfiguration.headers),fallbackConfiguration.headers,defaultConfiguration.headers),url:validateUserProvidedUrl$7(userProvidedConfiguration.url)??fallbackConfiguration.url??defaultConfiguration.url}}function getHttpConfigurationDefaults$7(requiredHeaders,signalResourcePath){return{...getSharedConfigurationDefaults$9(),headers:()=>requiredHeaders,url:`http://localhost:4318/`+signalResourcePath}}var init_otlp_http_configuration$7=__esmMin((()=>{init_shared_configuration$9(),init_util$8()}));function httpAgentFactoryFromOptions(options$1){return async protocol=>{let{Agent:Agent$7}=await(protocol===`http:`?import(`http`):import(`https`));return new Agent$7(options$1)}}function mergeOtlpNodeHttpConfigurationWithDefaults(userProvidedConfiguration,fallbackConfiguration,defaultConfiguration){return{...mergeOtlpHttpConfigurationWithDefaults$7(userProvidedConfiguration,fallbackConfiguration,defaultConfiguration),agentFactory:userProvidedConfiguration.agentFactory??fallbackConfiguration.agentFactory??defaultConfiguration.agentFactory}}function getNodeHttpConfigurationDefaults(requiredHeaders,signalResourcePath){return{...getHttpConfigurationDefaults$7(requiredHeaders,signalResourcePath),agentFactory:httpAgentFactoryFromOptions({keepAlive:!0})}}var init_otlp_node_http_configuration=__esmMin((()=>{init_otlp_http_configuration$7()}));function isExportRetryable$7(statusCode){return[429,502,503,504].includes(statusCode)}function parseRetryAfterToMills$7(retryAfter){if(retryAfter==null)return;let seconds=Number.parseInt(retryAfter,10);if(Number.isInteger(seconds))return seconds>0?seconds*1e3:-1;let delay$2=new Date(retryAfter).getTime()-Date.now();return delay$2>=0?delay$2:0}var init_is_export_retryable$7=__esmMin((()=>{}));function sendWithHttp$7(request$2,params,agent,data$2,onDone,timeoutMillis){let parsedUrl=new URL(params.url),options$1={hostname:parsedUrl.hostname,port:parsedUrl.port,path:parsedUrl.pathname,method:`POST`,headers:{...params.headers()},agent},req$1=request$2(options$1,res=>{let responseData=[];res.on(`data`,chunk$1=>responseData.push(chunk$1)),res.on(`end`,()=>{if(res.statusCode&&res.statusCode<299)onDone({status:`success`,data:Buffer.concat(responseData)});else if(res.statusCode&&isExportRetryable$7(res.statusCode))onDone({status:`retryable`,retryInMillis:parseRetryAfterToMills$7(res.headers[`retry-after`])});else{let error$3=new OTLPExporterError$9(res.statusMessage,res.statusCode,Buffer.concat(responseData).toString());onDone({status:`failure`,error:error$3})}})});req$1.setTimeout(timeoutMillis,()=>{req$1.destroy(),onDone({status:`failure`,error:Error(`Request Timeout`)})}),req$1.on(`error`,error$3=>{onDone({status:`failure`,error:error$3})}),compressAndSend$7(req$1,params.compression,data$2,error$3=>{onDone({status:`failure`,error:error$3})})}function compressAndSend$7(req$1,compression,data$2,onError$1){let dataStream=readableFromUint8Array$7(data$2);compression===`gzip`&&(req$1.setHeader(`Content-Encoding`,`gzip`),dataStream=dataStream.on(`error`,onError$1).pipe(zlib$2.createGzip()).on(`error`,onError$1)),dataStream.pipe(req$1).on(`error`,onError$1)}function readableFromUint8Array$7(buff){let readable$1=new Readable;return readable$1.push(buff),readable$1.push(null),readable$1}var init_http_transport_utils$7=__esmMin((()=>{init_is_export_retryable$7(),init_types$9()}));async function requestFunctionFactory(protocol){let{request:request$2}=await(protocol===`http:`?import(`http`):import(`https`));return request$2}function createHttpExporterTransport$7(parameters){return new HttpExporterTransport$7(parameters)}var HttpExporterTransport$7,init_http_exporter_transport$7=__esmMin((()=>{init_http_transport_utils$7(),HttpExporterTransport$7=class{_parameters;_utils=null;constructor(_parameters){this._parameters=_parameters}async send(data$2,timeoutMillis){let{agent,request:request$2}=await this._loadUtils();return new Promise(resolve$11=>{sendWithHttp$7(request$2,this._parameters,agent,data$2,result=>{resolve$11(result)},timeoutMillis)})}shutdown(){}async _loadUtils(){let utils$7=this._utils;if(utils$7===null){let protocol=new URL(this._parameters.url).protocol,[agent,request$2]=await Promise.all([this._parameters.agentFactory(protocol),requestFunctionFactory(protocol)]);utils$7=this._utils={agent,request:request$2}}return utils$7}}}));function getJitter$7(){return Math.random()*(2*JITTER$7)-JITTER$7}function createRetryingTransport$7(options$1){return new RetryingTransport$7(options$1.transport)}var MAX_ATTEMPTS$7,INITIAL_BACKOFF$7,MAX_BACKOFF$7,BACKOFF_MULTIPLIER$8,JITTER$7,RetryingTransport$7,init_retrying_transport$7=__esmMin((()=>{MAX_ATTEMPTS$7=5,INITIAL_BACKOFF$7=1e3,MAX_BACKOFF$7=5e3,BACKOFF_MULTIPLIER$8=1.5,JITTER$7=.2,RetryingTransport$7=class{_transport;constructor(_transport){this._transport=_transport}retry(data$2,timeoutMillis,inMillis){return new Promise((resolve$11,reject)=>{setTimeout(()=>{this._transport.send(data$2,timeoutMillis).then(resolve$11,reject)},inMillis)})}async send(data$2,timeoutMillis){let deadline=Date.now()+timeoutMillis,result=await this._transport.send(data$2,timeoutMillis),attempts=MAX_ATTEMPTS$7,nextBackoff=INITIAL_BACKOFF$7;for(;result.status===`retryable`&&attempts>0;){attempts--;let backoff=Math.max(Math.min(nextBackoff,MAX_BACKOFF$7)+getJitter$7(),0);nextBackoff*=BACKOFF_MULTIPLIER$8;let retryInMillis=result.retryInMillis??backoff,remainingTimeoutMillis=deadline-Date.now();if(retryInMillis>remainingTimeoutMillis)return result;result=await this.retry(data$2,remainingTimeoutMillis,retryInMillis)}return result}shutdown(){return this._transport.shutdown()}}}));function createOtlpHttpExportDelegate$7(options$1,serializer){return createOtlpExportDelegate$9({transport:createRetryingTransport$7({transport:createHttpExporterTransport$7(options$1)}),serializer,promiseHandler:createBoundedQueueExportPromiseHandler$9(options$1)},{timeout:options$1.timeoutMillis})}var init_otlp_http_export_delegate$7=__esmMin((()=>{init_otlp_export_delegate$9(),init_http_exporter_transport$7(),init_bounded_queue_export_promise_handler$9(),init_retrying_transport$7()}));function parseAndValidateTimeoutFromEnv$7(timeoutEnvVar){let envTimeout=(0,import_src$43.getNumberFromEnv)(timeoutEnvVar);if(envTimeout!=null){if(Number.isFinite(envTimeout)&&envTimeout>0)return envTimeout;diag.warn(`Configuration: ${timeoutEnvVar} is invalid, expected number greater than 0 (actual: ${envTimeout})`)}}function getTimeoutFromEnv$7(signalIdentifier){let specificTimeout=parseAndValidateTimeoutFromEnv$7(`OTEL_EXPORTER_OTLP_${signalIdentifier}_TIMEOUT`),nonSpecificTimeout=parseAndValidateTimeoutFromEnv$7(`OTEL_EXPORTER_OTLP_TIMEOUT`);return specificTimeout??nonSpecificTimeout}function parseAndValidateCompressionFromEnv$7(compressionEnvVar){let compression=(0,import_src$43.getStringFromEnv)(compressionEnvVar)?.trim();if(compression==null||compression===`none`||compression===`gzip`)return compression;diag.warn(`Configuration: ${compressionEnvVar} is invalid, expected 'none' or 'gzip' (actual: '${compression}')`)}function getCompressionFromEnv$7(signalIdentifier){let specificCompression=parseAndValidateCompressionFromEnv$7(`OTEL_EXPORTER_OTLP_${signalIdentifier}_COMPRESSION`),nonSpecificCompression=parseAndValidateCompressionFromEnv$7(`OTEL_EXPORTER_OTLP_COMPRESSION`);return specificCompression??nonSpecificCompression}function getSharedConfigurationFromEnvironment$7(signalIdentifier){return{timeoutMillis:getTimeoutFromEnv$7(signalIdentifier),compression:getCompressionFromEnv$7(signalIdentifier)}}var import_src$43,init_shared_env_configuration$7=__esmMin((()=>{import_src$43=__toESM(require_src$84()),init_esm$10()}));function getStaticHeadersFromEnv$7(signalIdentifier){let signalSpecificRawHeaders=(0,import_src$42.getStringFromEnv)(`OTEL_EXPORTER_OTLP_${signalIdentifier}_HEADERS`),nonSignalSpecificRawHeaders=(0,import_src$42.getStringFromEnv)(`OTEL_EXPORTER_OTLP_HEADERS`),signalSpecificHeaders=(0,import_src$42.parseKeyPairsIntoRecord)(signalSpecificRawHeaders),nonSignalSpecificHeaders=(0,import_src$42.parseKeyPairsIntoRecord)(nonSignalSpecificRawHeaders);if(!(Object.keys(signalSpecificHeaders).length===0&&Object.keys(nonSignalSpecificHeaders).length===0))return Object.assign({},(0,import_src$42.parseKeyPairsIntoRecord)(nonSignalSpecificRawHeaders),(0,import_src$42.parseKeyPairsIntoRecord)(signalSpecificRawHeaders))}function appendRootPathToUrlIfNeeded$7(url$3){try{return new URL(url$3).toString()}catch{diag.warn(`Configuration: Could not parse environment-provided export URL: '${url$3}', falling back to undefined`);return}}function appendResourcePathToUrl$7(url$3,path$38){try{new URL(url$3)}catch{diag.warn(`Configuration: Could not parse environment-provided export URL: '${url$3}', falling back to undefined`);return}url$3.endsWith(`/`)||(url$3+=`/`),url$3+=path$38;try{new URL(url$3)}catch{diag.warn(`Configuration: Provided URL appended with '${path$38}' is not a valid URL, using 'undefined' instead of '${url$3}'`);return}return url$3}function getNonSpecificUrlFromEnv$7(signalResourcePath){let envUrl=(0,import_src$42.getStringFromEnv)(`OTEL_EXPORTER_OTLP_ENDPOINT`);if(envUrl!==void 0)return appendResourcePathToUrl$7(envUrl,signalResourcePath)}function getSpecificUrlFromEnv$7(signalIdentifier){let envUrl=(0,import_src$42.getStringFromEnv)(`OTEL_EXPORTER_OTLP_${signalIdentifier}_ENDPOINT`);if(envUrl!==void 0)return appendRootPathToUrlIfNeeded$7(envUrl)}function getNodeHttpConfigurationFromEnvironment(signalIdentifier,signalResourcePath){return{...getSharedConfigurationFromEnvironment$7(signalIdentifier),url:getSpecificUrlFromEnv$7(signalIdentifier)??getNonSpecificUrlFromEnv$7(signalResourcePath),headers:wrapStaticHeadersInFunction$7(getStaticHeadersFromEnv$7(signalIdentifier))}}var import_src$42,init_otlp_node_http_env_configuration=__esmMin((()=>{import_src$42=__toESM(require_src$84()),init_esm$10(),init_shared_env_configuration$7(),init_shared_configuration$9()}));function convertLegacyAgentOptions$7(config){if(typeof config.httpAgentOptions==`function`)return config.httpAgentOptions;let legacy$2=config.httpAgentOptions;if(config.keepAlive!=null&&(legacy$2={keepAlive:config.keepAlive,...legacy$2}),legacy$2!=null)return httpAgentFactoryFromOptions(legacy$2)}function convertLegacyHttpOptions$7(config,signalIdentifier,signalResourcePath,requiredHeaders){return config.metadata&&diag.warn(`Metadata cannot be set when using http`),mergeOtlpNodeHttpConfigurationWithDefaults({url:config.url,headers:wrapStaticHeadersInFunction$7(config.headers),concurrencyLimit:config.concurrencyLimit,timeoutMillis:config.timeoutMillis,compression:config.compression,agentFactory:convertLegacyAgentOptions$7(config)},getNodeHttpConfigurationFromEnvironment(signalIdentifier,signalResourcePath),getNodeHttpConfigurationDefaults(requiredHeaders,signalResourcePath))}var init_convert_legacy_node_http_options$7=__esmMin((()=>{init_esm$10(),init_shared_configuration$9(),init_otlp_node_http_configuration(),init_index_node_http$7(),init_otlp_node_http_env_configuration()})),index_node_http_exports$7=__export$5({convertLegacyHttpOptions:()=>convertLegacyHttpOptions$7,createOtlpHttpExportDelegate:()=>createOtlpHttpExportDelegate$7,getSharedConfigurationFromEnvironment:()=>getSharedConfigurationFromEnvironment$7,httpAgentFactoryFromOptions:()=>httpAgentFactoryFromOptions}),init_index_node_http$7=__esmMin((()=>{init_otlp_node_http_configuration(),init_otlp_http_export_delegate$7(),init_shared_env_configuration$7(),init_convert_legacy_node_http_options$7()})),require_OTLPTraceExporter$3=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let otlp_exporter_base_1$9=(init_esm$8(),__toCommonJS$4(esm_exports$9)),version_1$20=require_version$20(),otlp_transformer_1$9=require_src$81(),node_http_1$7=(init_index_node_http$7(),__toCommonJS$4(index_node_http_exports$7));exports.OTLPTraceExporter=class extends otlp_exporter_base_1$9.OTLPExporterBase{constructor(config={}){super((0,node_http_1$7.createOtlpHttpExportDelegate)((0,node_http_1$7.convertLegacyHttpOptions)(config,`TRACES`,`v1/traces`,{"User-Agent":`OTel-OTLP-Exporter-JavaScript/${version_1$20.VERSION}`,"Content-Type":`application/json`}),otlp_transformer_1$9.JsonTraceSerializer))}}})),require_node$49=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.OTLPTraceExporter=void 0;var OTLPTraceExporter_1$3=require_OTLPTraceExporter$3();Object.defineProperty(exports,`OTLPTraceExporter`,{enumerable:!0,get:function(){return OTLPTraceExporter_1$3.OTLPTraceExporter}})})),require_platform$47=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.OTLPTraceExporter=void 0;var node_1$48=require_node$49();Object.defineProperty(exports,`OTLPTraceExporter`,{enumerable:!0,get:function(){return node_1$48.OTLPTraceExporter}})})),require_src$80=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.OTLPTraceExporter=void 0;var platform_1$66=require_platform$47();Object.defineProperty(exports,`OTLPTraceExporter`,{enumerable:!0,get:function(){return platform_1$66.OTLPTraceExporter}})})),require_LogRecord$4=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.SeverityNumber=void 0,(function(SeverityNumber){SeverityNumber[SeverityNumber.UNSPECIFIED=0]=`UNSPECIFIED`,SeverityNumber[SeverityNumber.TRACE=1]=`TRACE`,SeverityNumber[SeverityNumber.TRACE2=2]=`TRACE2`,SeverityNumber[SeverityNumber.TRACE3=3]=`TRACE3`,SeverityNumber[SeverityNumber.TRACE4=4]=`TRACE4`,SeverityNumber[SeverityNumber.DEBUG=5]=`DEBUG`,SeverityNumber[SeverityNumber.DEBUG2=6]=`DEBUG2`,SeverityNumber[SeverityNumber.DEBUG3=7]=`DEBUG3`,SeverityNumber[SeverityNumber.DEBUG4=8]=`DEBUG4`,SeverityNumber[SeverityNumber.INFO=9]=`INFO`,SeverityNumber[SeverityNumber.INFO2=10]=`INFO2`,SeverityNumber[SeverityNumber.INFO3=11]=`INFO3`,SeverityNumber[SeverityNumber.INFO4=12]=`INFO4`,SeverityNumber[SeverityNumber.WARN=13]=`WARN`,SeverityNumber[SeverityNumber.WARN2=14]=`WARN2`,SeverityNumber[SeverityNumber.WARN3=15]=`WARN3`,SeverityNumber[SeverityNumber.WARN4=16]=`WARN4`,SeverityNumber[SeverityNumber.ERROR=17]=`ERROR`,SeverityNumber[SeverityNumber.ERROR2=18]=`ERROR2`,SeverityNumber[SeverityNumber.ERROR3=19]=`ERROR3`,SeverityNumber[SeverityNumber.ERROR4=20]=`ERROR4`,SeverityNumber[SeverityNumber.FATAL=21]=`FATAL`,SeverityNumber[SeverityNumber.FATAL2=22]=`FATAL2`,SeverityNumber[SeverityNumber.FATAL3=23]=`FATAL3`,SeverityNumber[SeverityNumber.FATAL4=24]=`FATAL4`})(exports.SeverityNumber||={})})),require_NoopLogger$3=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});var NoopLogger$3=class{emit(_logRecord){}};exports.NoopLogger=NoopLogger$3,exports.NOOP_LOGGER=new NoopLogger$3})),require_NoopLoggerProvider$3=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let NoopLogger_1$11=require_NoopLogger$3();var NoopLoggerProvider$3=class{getLogger(_name,_version,_options$1){return new NoopLogger_1$11.NoopLogger}};exports.NoopLoggerProvider=NoopLoggerProvider$3,exports.NOOP_LOGGER_PROVIDER=new NoopLoggerProvider$3})),require_ProxyLogger$3=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let NoopLogger_1$10=require_NoopLogger$3();exports.ProxyLogger=class{constructor(_provider,name$2,version$2,options$1){this._provider=_provider,this.name=name$2,this.version=version$2,this.options=options$1}emit(logRecord){this._getLogger().emit(logRecord)}_getLogger(){if(this._delegate)return this._delegate;let logger$5=this._provider._getDelegateLogger(this.name,this.version,this.options);return logger$5?(this._delegate=logger$5,this._delegate):NoopLogger_1$10.NOOP_LOGGER}}})),require_ProxyLoggerProvider$3=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let NoopLoggerProvider_1$11=require_NoopLoggerProvider$3(),ProxyLogger_1$7=require_ProxyLogger$3();exports.ProxyLoggerProvider=class{getLogger(name$2,version$2,options$1){var _a$10;return this._getDelegateLogger(name$2,version$2,options$1)??new ProxyLogger_1$7.ProxyLogger(this,name$2,version$2,options$1)}_getDelegate(){var _a$10;return this._delegate??NoopLoggerProvider_1$11.NOOP_LOGGER_PROVIDER}_setDelegate(delegate){this._delegate=delegate}_getDelegateLogger(name$2,version$2,options$1){var _a$10;return this._delegate?.getLogger(name$2,version$2,options$1)}}})),require_globalThis$14=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports._globalThis=typeof globalThis==`object`?globalThis:global})),require_node$48=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports._globalThis=void 0;var globalThis_1$14=require_globalThis$14();Object.defineProperty(exports,`_globalThis`,{enumerable:!0,get:function(){return globalThis_1$14._globalThis}})})),require_platform$46=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports._globalThis=void 0;var node_1$47=require_node$48();Object.defineProperty(exports,`_globalThis`,{enumerable:!0,get:function(){return node_1$47._globalThis}})})),require_global_utils$3=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let platform_1$65=require_platform$46();exports.GLOBAL_LOGS_API_KEY=Symbol.for(`io.opentelemetry.js.api.logs`),exports._global=platform_1$65._globalThis;function makeGetter$3(requiredVersion,instance$1,fallback){return version$2=>version$2===requiredVersion?instance$1:fallback}exports.makeGetter=makeGetter$3,exports.API_BACKWARDS_COMPATIBILITY_VERSION=1})),require_logs$21=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let global_utils_1$3=require_global_utils$3(),NoopLoggerProvider_1$10=require_NoopLoggerProvider$3(),ProxyLoggerProvider_1$7=require_ProxyLoggerProvider$3();exports.LogsAPI=class LogsAPI$3{constructor(){this._proxyLoggerProvider=new ProxyLoggerProvider_1$7.ProxyLoggerProvider}static getInstance(){return this._instance||=new LogsAPI$3,this._instance}setGlobalLoggerProvider(provider){return global_utils_1$3._global[global_utils_1$3.GLOBAL_LOGS_API_KEY]?this.getLoggerProvider():(global_utils_1$3._global[global_utils_1$3.GLOBAL_LOGS_API_KEY]=(0,global_utils_1$3.makeGetter)(global_utils_1$3.API_BACKWARDS_COMPATIBILITY_VERSION,provider,NoopLoggerProvider_1$10.NOOP_LOGGER_PROVIDER),this._proxyLoggerProvider._setDelegate(provider),provider)}getLoggerProvider(){var _a$10,_b$3;return global_utils_1$3._global[global_utils_1$3.GLOBAL_LOGS_API_KEY]?.call(global_utils_1$3._global,global_utils_1$3.API_BACKWARDS_COMPATIBILITY_VERSION)??this._proxyLoggerProvider}getLogger(name$2,version$2,options$1){return this.getLoggerProvider().getLogger(name$2,version$2,options$1)}disable(){delete global_utils_1$3._global[global_utils_1$3.GLOBAL_LOGS_API_KEY],this._proxyLoggerProvider=new ProxyLoggerProvider_1$7.ProxyLoggerProvider}}})),require_src$79=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.logs=exports.ProxyLoggerProvider=exports.ProxyLogger=exports.NoopLoggerProvider=exports.NOOP_LOGGER_PROVIDER=exports.NoopLogger=exports.NOOP_LOGGER=exports.SeverityNumber=void 0;var LogRecord_1$5=require_LogRecord$4();Object.defineProperty(exports,`SeverityNumber`,{enumerable:!0,get:function(){return LogRecord_1$5.SeverityNumber}});var NoopLogger_1$9=require_NoopLogger$3();Object.defineProperty(exports,`NOOP_LOGGER`,{enumerable:!0,get:function(){return NoopLogger_1$9.NOOP_LOGGER}}),Object.defineProperty(exports,`NoopLogger`,{enumerable:!0,get:function(){return NoopLogger_1$9.NoopLogger}});var NoopLoggerProvider_1$9=require_NoopLoggerProvider$3();Object.defineProperty(exports,`NOOP_LOGGER_PROVIDER`,{enumerable:!0,get:function(){return NoopLoggerProvider_1$9.NOOP_LOGGER_PROVIDER}}),Object.defineProperty(exports,`NoopLoggerProvider`,{enumerable:!0,get:function(){return NoopLoggerProvider_1$9.NoopLoggerProvider}});var ProxyLogger_1$6=require_ProxyLogger$3();Object.defineProperty(exports,`ProxyLogger`,{enumerable:!0,get:function(){return ProxyLogger_1$6.ProxyLogger}});var ProxyLoggerProvider_1$6=require_ProxyLoggerProvider$3();Object.defineProperty(exports,`ProxyLoggerProvider`,{enumerable:!0,get:function(){return ProxyLoggerProvider_1$6.ProxyLoggerProvider}}),exports.logs=require_logs$21().LogsAPI.getInstance()})),require_autoLoaderUtils$2=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});function enableInstrumentations$2(instrumentations,tracerProvider,meterProvider,loggerProvider){for(let i$7=0,j$1=instrumentations.length;i$7<j$1;i$7++){let instrumentation=instrumentations[i$7];tracerProvider&&instrumentation.setTracerProvider(tracerProvider),meterProvider&&instrumentation.setMeterProvider(meterProvider),loggerProvider&&instrumentation.setLoggerProvider&&instrumentation.setLoggerProvider(loggerProvider),instrumentation.getConfig().enabled||instrumentation.enable()}}exports.enableInstrumentations=enableInstrumentations$2;function disableInstrumentations$2(instrumentations){instrumentations.forEach(instrumentation=>instrumentation.disable())}exports.disableInstrumentations=disableInstrumentations$2})),require_autoLoader$2=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$256=(init_esm$10(),__toCommonJS$4(esm_exports$11)),api_logs_1$8=require_src$79(),autoLoaderUtils_1$2=require_autoLoaderUtils$2();function registerInstrumentations$3(options$1){let tracerProvider=options$1.tracerProvider||api_1$256.trace.getTracerProvider(),meterProvider=options$1.meterProvider||api_1$256.metrics.getMeterProvider(),loggerProvider=options$1.loggerProvider||api_logs_1$8.logs.getLoggerProvider(),instrumentations=options$1.instrumentations?.flat()??[];return(0,autoLoaderUtils_1$2.enableInstrumentations)(instrumentations,tracerProvider,meterProvider,loggerProvider),()=>{(0,autoLoaderUtils_1$2.disableInstrumentations)(instrumentations)}}exports.registerInstrumentations=registerInstrumentations$3})),require_semver$2=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$255=(init_esm$10(),__toCommonJS$4(esm_exports$11)),VERSION_REGEXP$2=/^(?:v)?(?<version>(?<major>0|[1-9]\d*)\.(?<minor>0|[1-9]\d*)\.(?<patch>0|[1-9]\d*))(?:-(?<prerelease>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?<build>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/,RANGE_REGEXP$2=/^(?<op><|>|=|==|<=|>=|~|\^|~>)?\s*(?:v)?(?<version>(?<major>x|X|\*|0|[1-9]\d*)(?:\.(?<minor>x|X|\*|0|[1-9]\d*))?(?:\.(?<patch>x|X|\*|0|[1-9]\d*))?)(?:-(?<prerelease>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?<build>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/,operatorResMap$2={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]};function satisfies$2(version$2,range$1,options$1){if(!_validateVersion$2(version$2))return api_1$255.diag.error(`Invalid version: ${version$2}`),!1;if(!range$1)return!0;range$1=range$1.replace(/([<>=~^]+)\s+/g,`$1`);let parsedVersion=_parseVersion$2(version$2);if(!parsedVersion)return!1;let allParsedRanges=[],checkResult=_doSatisfies$2(parsedVersion,range$1,allParsedRanges,options$1);return checkResult&&!options$1?.includePrerelease?_doPreleaseCheck$2(parsedVersion,allParsedRanges):checkResult}exports.satisfies=satisfies$2;function _validateVersion$2(version$2){return typeof version$2==`string`&&VERSION_REGEXP$2.test(version$2)}function _doSatisfies$2(parsedVersion,range$1,allParsedRanges,options$1){if(range$1.includes(`||`)){let ranges$1=range$1.trim().split(`||`);for(let r$2 of ranges$1)if(_checkRange$2(parsedVersion,r$2,allParsedRanges,options$1))return!0;return!1}else if(range$1.includes(` - `))range$1=replaceHyphen$2(range$1,options$1);else if(range$1.includes(` `)){let ranges$1=range$1.trim().replace(/\s{2,}/g,` `).split(` `);for(let r$2 of ranges$1)if(!_checkRange$2(parsedVersion,r$2,allParsedRanges,options$1))return!1;return!0}return _checkRange$2(parsedVersion,range$1,allParsedRanges,options$1)}function _checkRange$2(parsedVersion,range$1,allParsedRanges,options$1){if(range$1=_normalizeRange$2(range$1,options$1),range$1.includes(` `))return _doSatisfies$2(parsedVersion,range$1,allParsedRanges,options$1);{let parsedRange=_parseRange$2(range$1);return allParsedRanges.push(parsedRange),_satisfies$2(parsedVersion,parsedRange)}}function _satisfies$2(parsedVersion,parsedRange){if(parsedRange.invalid)return!1;if(!parsedRange.version||_isWildcard$2(parsedRange.version))return!0;let comparisonResult=_compareVersionSegments$2(parsedVersion.versionSegments||[],parsedRange.versionSegments||[]);if(comparisonResult===0){let versionPrereleaseSegments=parsedVersion.prereleaseSegments||[],rangePrereleaseSegments=parsedRange.prereleaseSegments||[];comparisonResult=!versionPrereleaseSegments.length&&!rangePrereleaseSegments.length?0:!versionPrereleaseSegments.length&&rangePrereleaseSegments.length?1:versionPrereleaseSegments.length&&!rangePrereleaseSegments.length?-1:_compareVersionSegments$2(versionPrereleaseSegments,rangePrereleaseSegments)}return operatorResMap$2[parsedRange.op]?.includes(comparisonResult)}function _doPreleaseCheck$2(parsedVersion,allParsedRanges){return parsedVersion.prerelease?allParsedRanges.some(r$2=>r$2.prerelease&&r$2.version===parsedVersion.version):!0}function _normalizeRange$2(range$1,options$1){return range$1=range$1.trim(),range$1=replaceCaret$2(range$1,options$1),range$1=replaceTilde$2(range$1),range$1=replaceXRange$2(range$1,options$1),range$1=range$1.trim(),range$1}function isX$2(id){return!id||id.toLowerCase()===`x`||id===`*`}function _parseVersion$2(versionString){let match$1=versionString.match(VERSION_REGEXP$2);if(!match$1){api_1$255.diag.error(`Invalid version: ${versionString}`);return}let version$2=match$1.groups.version,prerelease=match$1.groups.prerelease,build$10=match$1.groups.build,versionSegments=version$2.split(`.`),prereleaseSegments=prerelease?.split(`.`);return{op:void 0,version:version$2,versionSegments,versionSegmentCount:versionSegments.length,prerelease,prereleaseSegments,prereleaseSegmentCount:prereleaseSegments?prereleaseSegments.length:0,build:build$10}}function _parseRange$2(rangeString){if(!rangeString)return{};let match$1=rangeString.match(RANGE_REGEXP$2);if(!match$1)return api_1$255.diag.error(`Invalid range: ${rangeString}`),{invalid:!0};let op=match$1.groups.op,version$2=match$1.groups.version,prerelease=match$1.groups.prerelease,build$10=match$1.groups.build,versionSegments=version$2.split(`.`),prereleaseSegments=prerelease?.split(`.`);return op===`==`&&(op=`=`),{op:op||`=`,version:version$2,versionSegments,versionSegmentCount:versionSegments.length,prerelease,prereleaseSegments,prereleaseSegmentCount:prereleaseSegments?prereleaseSegments.length:0,build:build$10}}function _isWildcard$2(s$3){return s$3===`*`||s$3===`x`||s$3===`X`}function _parseVersionString$2(v$1){let n$2=parseInt(v$1,10);return isNaN(n$2)?v$1:n$2}function _normalizeVersionType$2(a$1,b$1){if(typeof a$1==typeof b$1){if(typeof a$1==`number`||typeof a$1==`string`)return[a$1,b$1];throw Error(`Version segments can only be strings or numbers`)}else return[String(a$1),String(b$1)]}function _compareVersionStrings$2(v1$1,v2){if(_isWildcard$2(v1$1)||_isWildcard$2(v2))return 0;let[parsedV1,parsedV2]=_normalizeVersionType$2(_parseVersionString$2(v1$1),_parseVersionString$2(v2));return parsedV1>parsedV2?1:parsedV1<parsedV2?-1:0}function _compareVersionSegments$2(v1$1,v2){for(let i$7=0;i$7<Math.max(v1$1.length,v2.length);i$7++){let res=_compareVersionStrings$2(v1$1[i$7]||`0`,v2[i$7]||`0`);if(res!==0)return res}return 0}let LETTERDASHNUMBER$2=`[a-zA-Z0-9-]`,NUMERICIDENTIFIER$2=`0|[1-9]\\d*`,NONNUMERICIDENTIFIER$2=`\\d*[a-zA-Z-]${LETTERDASHNUMBER$2}*`,GTLT$2=`((?:<|>)?=?)`,PRERELEASEIDENTIFIER$2=`(?:${NUMERICIDENTIFIER$2}|${NONNUMERICIDENTIFIER$2})`,PRERELEASE$2=`(?:-(${PRERELEASEIDENTIFIER$2}(?:\\.${PRERELEASEIDENTIFIER$2})*))`,BUILDIDENTIFIER$2=`${LETTERDASHNUMBER$2}+`,BUILD$2=`(?:\\+(${BUILDIDENTIFIER$2}(?:\\.${BUILDIDENTIFIER$2})*))`,XRANGEIDENTIFIER$2=`${NUMERICIDENTIFIER$2}|x|X|\\*`,XRANGEPLAIN$2=`[v=\\s]*(${XRANGEIDENTIFIER$2})(?:\\.(${XRANGEIDENTIFIER$2})(?:\\.(${XRANGEIDENTIFIER$2})(?:${PRERELEASE$2})?${BUILD$2}?)?)?`,XRANGE$2=`^((?:<|>)?=?)\\s*${XRANGEPLAIN$2}$`,XRANGE_REGEXP$2=new RegExp(XRANGE$2),HYPHENRANGE$2=`^\\s*(${XRANGEPLAIN$2})\\s+-\\s+(${XRANGEPLAIN$2})\\s*$`,HYPHENRANGE_REGEXP$2=new RegExp(HYPHENRANGE$2),TILDE$2=`^(?:~>?)${XRANGEPLAIN$2}$`,TILDE_REGEXP$2=new RegExp(TILDE$2),CARET$2=`^(?:\\^)${XRANGEPLAIN$2}$`,CARET_REGEXP$2=new RegExp(CARET$2);function replaceTilde$2(comp){let r$2=TILDE_REGEXP$2;return comp.replace(r$2,(_$2,M$1,m$2,p,pr)=>{let ret;return ret=isX$2(M$1)?``:isX$2(m$2)?`>=${M$1}.0.0 <${+M$1+1}.0.0-0`:isX$2(p)?`>=${M$1}.${m$2}.0 <${M$1}.${+m$2+1}.0-0`:pr?`>=${M$1}.${m$2}.${p}-${pr} <${M$1}.${+m$2+1}.0-0`:`>=${M$1}.${m$2}.${p} <${M$1}.${+m$2+1}.0-0`,ret})}function replaceCaret$2(comp,options$1){let r$2=CARET_REGEXP$2,z$4=options$1?.includePrerelease?`-0`:``;return comp.replace(r$2,(_$2,M$1,m$2,p,pr)=>{let ret;return ret=isX$2(M$1)?``:isX$2(m$2)?`>=${M$1}.0.0${z$4} <${+M$1+1}.0.0-0`:isX$2(p)?M$1===`0`?`>=${M$1}.${m$2}.0${z$4} <${M$1}.${+m$2+1}.0-0`:`>=${M$1}.${m$2}.0${z$4} <${+M$1+1}.0.0-0`:pr?M$1===`0`?m$2===`0`?`>=${M$1}.${m$2}.${p}-${pr} <${M$1}.${m$2}.${+p+1}-0`:`>=${M$1}.${m$2}.${p}-${pr} <${M$1}.${+m$2+1}.0-0`:`>=${M$1}.${m$2}.${p}-${pr} <${+M$1+1}.0.0-0`:M$1===`0`?m$2===`0`?`>=${M$1}.${m$2}.${p}${z$4} <${M$1}.${m$2}.${+p+1}-0`:`>=${M$1}.${m$2}.${p}${z$4} <${M$1}.${+m$2+1}.0-0`:`>=${M$1}.${m$2}.${p} <${+M$1+1}.0.0-0`,ret})}function replaceXRange$2(comp,options$1){let r$2=XRANGE_REGEXP$2;return comp.replace(r$2,(ret,gtlt,M$1,m$2,p,pr)=>{let xM=isX$2(M$1),xm=xM||isX$2(m$2),xp=xm||isX$2(p),anyX=xp;return gtlt===`=`&&anyX&&(gtlt=``),pr=options$1?.includePrerelease?`-0`:``,xM?ret=gtlt===`>`||gtlt===`<`?`<0.0.0-0`:`*`:gtlt&&anyX?(xm&&(m$2=0),p=0,gtlt===`>`?(gtlt=`>=`,xm?(M$1=+M$1+1,m$2=0,p=0):(m$2=+m$2+1,p=0)):gtlt===`<=`&&(gtlt=`<`,xm?M$1=+M$1+1:m$2=+m$2+1),gtlt===`<`&&(pr=`-0`),ret=`${gtlt+M$1}.${m$2}.${p}${pr}`):xm?ret=`>=${M$1}.0.0${pr} <${+M$1+1}.0.0-0`:xp&&(ret=`>=${M$1}.${m$2}.0${pr} <${M$1}.${+m$2+1}.0-0`),ret})}function replaceHyphen$2(comp,options$1){let r$2=HYPHENRANGE_REGEXP$2;return comp.replace(r$2,(_$2,from,fM,fm,fp,fpr,fb,to,tM,tm,tp$1,tpr)=>(from=isX$2(fM)?``:isX$2(fm)?`>=${fM}.0.0${options$1?.includePrerelease?`-0`:``}`:isX$2(fp)?`>=${fM}.${fm}.0${options$1?.includePrerelease?`-0`:``}`:fpr?`>=${from}`:`>=${from}${options$1?.includePrerelease?`-0`:``}`,to=isX$2(tM)?``:isX$2(tm)?`<${+tM+1}.0.0-0`:isX$2(tp$1)?`<${tM}.${+tm+1}.0-0`:tpr?`<=${tM}.${tm}.${tp$1}-${tpr}`:options$1?.includePrerelease?`<${tM}.${tm}.${+tp$1+1}-0`:`<=${to}`,`${from} ${to}`.trim()))}})),require_shimmer$2=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.massUnwrap=exports.unwrap=exports.massWrap=exports.wrap=void 0;let logger$4=console.error.bind(console);function defineProperty$3(obj,name$2,value){let enumerable=!!obj[name$2]&&Object.prototype.propertyIsEnumerable.call(obj,name$2);Object.defineProperty(obj,name$2,{configurable:!0,enumerable,writable:!0,value})}exports.wrap=(nodule,name$2,wrapper)=>{if(!nodule||!nodule[name$2]){logger$4(`no original function `+String(name$2)+` to wrap`);return}if(!wrapper){logger$4(`no wrapper function`),logger$4(Error().stack);return}let original=nodule[name$2];if(typeof original!=`function`||typeof wrapper!=`function`){logger$4(`original object and wrapper must be functions`);return}let wrapped=wrapper(original,name$2);return defineProperty$3(wrapped,`__original`,original),defineProperty$3(wrapped,`__unwrap`,()=>{nodule[name$2]===wrapped&&defineProperty$3(nodule,name$2,original)}),defineProperty$3(wrapped,`__wrapped`,!0),defineProperty$3(nodule,name$2,wrapped),wrapped},exports.massWrap=(nodules,names$1,wrapper)=>{if(nodules)Array.isArray(nodules)||(nodules=[nodules]);else{logger$4(`must provide one or more modules to patch`),logger$4(Error().stack);return}if(!(names$1&&Array.isArray(names$1))){logger$4(`must provide one or more functions to wrap on modules`);return}nodules.forEach(nodule=>{names$1.forEach(name$2=>{(0,exports.wrap)(nodule,name$2,wrapper)})})},exports.unwrap=(nodule,name$2)=>{if(!nodule||!nodule[name$2]){logger$4(`no function to unwrap.`),logger$4(Error().stack);return}let wrapped=nodule[name$2];if(!wrapped.__unwrap)logger$4(`no original to unwrap to -- has `+String(name$2)+` already been unwrapped?`);else{wrapped.__unwrap();return}},exports.massUnwrap=(nodules,names$1)=>{if(nodules)Array.isArray(nodules)||(nodules=[nodules]);else{logger$4(`must provide one or more modules to patch`),logger$4(Error().stack);return}if(!(names$1&&Array.isArray(names$1))){logger$4(`must provide one or more functions to unwrap on modules`);return}nodules.forEach(nodule=>{names$1.forEach(name$2=>{(0,exports.unwrap)(nodule,name$2)})})};function shimmer$5(options$1){options$1&&options$1.logger&&(typeof options$1.logger==`function`?logger$4=options$1.logger:logger$4(`new logger isn't a function, not replacing`))}exports.default=shimmer$5,shimmer$5.wrap=exports.wrap,shimmer$5.massWrap=exports.massWrap,shimmer$5.unwrap=exports.unwrap,shimmer$5.massUnwrap=exports.massUnwrap})),require_instrumentation$5=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let api_1$254=(init_esm$10(),__toCommonJS$4(esm_exports$11)),api_logs_1$7=require_src$79(),shimmer$4=require_shimmer$2();exports.InstrumentationAbstract=class{instrumentationName;instrumentationVersion;_config={};_tracer;_meter;_logger;_diag;constructor(instrumentationName,instrumentationVersion,config){this.instrumentationName=instrumentationName,this.instrumentationVersion=instrumentationVersion,this.setConfig(config),this._diag=api_1$254.diag.createComponentLogger({namespace:instrumentationName}),this._tracer=api_1$254.trace.getTracer(instrumentationName,instrumentationVersion),this._meter=api_1$254.metrics.getMeter(instrumentationName,instrumentationVersion),this._logger=api_logs_1$7.logs.getLogger(instrumentationName,instrumentationVersion),this._updateMetricInstruments()}_wrap=shimmer$4.wrap;_unwrap=shimmer$4.unwrap;_massWrap=shimmer$4.massWrap;_massUnwrap=shimmer$4.massUnwrap;get meter(){return this._meter}setMeterProvider(meterProvider){this._meter=meterProvider.getMeter(this.instrumentationName,this.instrumentationVersion),this._updateMetricInstruments()}get logger(){return this._logger}setLoggerProvider(loggerProvider){this._logger=loggerProvider.getLogger(this.instrumentationName,this.instrumentationVersion)}getModuleDefinitions(){let initResult=this.init()??[];return Array.isArray(initResult)?initResult:[initResult]}_updateMetricInstruments(){}getConfig(){return this._config}setConfig(config){this._config={enabled:!0,...config}}setTracerProvider(tracerProvider){this._tracer=tracerProvider.getTracer(this.instrumentationName,this.instrumentationVersion)}get tracer(){return this._tracer}_runSpanCustomizationHook(hookHandler,triggerName,span,info$1){if(hookHandler)try{hookHandler(span,info$1)}catch(e$1){this._diag.error(`Error running span customization hook due to exception in handler`,{triggerName},e$1)}}}})),require_ms=__commonJSMin(((exports,module)=>{var s$2=1e3,m$1=s$2*60,h$2=m$1*60,d$2=h$2*24,w$1=d$2*7,y$2=d$2*365.25;module.exports=function(val,options$1){options$1||={};var type=typeof val;if(type===`string`&&val.length>0)return parse$14(val);if(type===`number`&&isFinite(val))return options$1.long?fmtLong(val):fmtShort(val);throw Error(`val is not a non-empty string or a valid number. val=`+JSON.stringify(val))};function parse$14(str$1){if(str$1=String(str$1),!(str$1.length>100)){var match$1=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str$1);if(match$1){var n$2=parseFloat(match$1[1]);switch((match$1[2]||`ms`).toLowerCase()){case`years`:case`year`:case`yrs`:case`yr`:case`y`:return n$2*y$2;case`weeks`:case`week`:case`w`:return n$2*w$1;case`days`:case`day`:case`d`:return n$2*d$2;case`hours`:case`hour`:case`hrs`:case`hr`:case`h`:return n$2*h$2;case`minutes`:case`minute`:case`mins`:case`min`:case`m`:return n$2*m$1;case`seconds`:case`second`:case`secs`:case`sec`:case`s`:return n$2*s$2;case`milliseconds`:case`millisecond`:case`msecs`:case`msec`:case`ms`:return n$2;default:return}}}}function fmtShort(ms){var msAbs=Math.abs(ms);return msAbs>=d$2?Math.round(ms/d$2)+`d`:msAbs>=h$2?Math.round(ms/h$2)+`h`:msAbs>=m$1?Math.round(ms/m$1)+`m`:msAbs>=s$2?Math.round(ms/s$2)+`s`:ms+`ms`}function fmtLong(ms){var msAbs=Math.abs(ms);return msAbs>=d$2?plural(ms,msAbs,d$2,`day`):msAbs>=h$2?plural(ms,msAbs,h$2,`hour`):msAbs>=m$1?plural(ms,msAbs,m$1,`minute`):msAbs>=s$2?plural(ms,msAbs,s$2,`second`):ms+` ms`}function plural(ms,msAbs,n$2,name$2){var isPlural=msAbs>=n$2*1.5;return Math.round(ms/n$2)+` `+name$2+(isPlural?`s`:``)}})),require_common$3=__commonJSMin(((exports,module)=>{function setup$8(env$6){createDebug.debug=createDebug,createDebug.default=createDebug,createDebug.coerce=coerce,createDebug.disable=disable,createDebug.enable=enable,createDebug.enabled=enabled,createDebug.humanize=require_ms(),createDebug.destroy=destroy,Object.keys(env$6).forEach(key$1=>{createDebug[key$1]=env$6[key$1]}),createDebug.names=[],createDebug.skips=[],createDebug.formatters={};function selectColor(namespace){let hash$1=0;for(let i$7=0;i$7<namespace.length;i$7++)hash$1=(hash$1<<5)-hash$1+namespace.charCodeAt(i$7),hash$1|=0;return createDebug.colors[Math.abs(hash$1)%createDebug.colors.length]}createDebug.selectColor=selectColor;function createDebug(namespace){let prevTime,enableOverride=null,namespacesCache,enabledCache;function debug$12(...args){if(!debug$12.enabled)return;let self$1=debug$12,curr=Number(new Date);self$1.diff=curr-(prevTime||curr),self$1.prev=prevTime,self$1.curr=curr,prevTime=curr,args[0]=createDebug.coerce(args[0]),typeof args[0]!=`string`&&args.unshift(`%O`);let index=0;args[0]=args[0].replace(/%([a-zA-Z%])/g,(match$1,format$2)=>{if(match$1===`%%`)return`%`;index++;let formatter=createDebug.formatters[format$2];if(typeof formatter==`function`){let val=args[index];match$1=formatter.call(self$1,val),args.splice(index,1),index--}return match$1}),createDebug.formatArgs.call(self$1,args),(self$1.log||createDebug.log).apply(self$1,args)}return debug$12.namespace=namespace,debug$12.useColors=createDebug.useColors(),debug$12.color=createDebug.selectColor(namespace),debug$12.extend=extend,debug$12.destroy=createDebug.destroy,Object.defineProperty(debug$12,`enabled`,{enumerable:!0,configurable:!1,get:()=>enableOverride===null?(namespacesCache!==createDebug.namespaces&&(namespacesCache=createDebug.namespaces,enabledCache=createDebug.enabled(namespace)),enabledCache):enableOverride,set:v$1=>{enableOverride=v$1}}),typeof createDebug.init==`function`&&createDebug.init(debug$12),debug$12}function extend(namespace,delimiter){let newDebug=createDebug(this.namespace+(delimiter===void 0?`:`:delimiter)+namespace);return newDebug.log=this.log,newDebug}function enable(namespaces){createDebug.save(namespaces),createDebug.namespaces=namespaces,createDebug.names=[],createDebug.skips=[];let split=(typeof namespaces==`string`?namespaces:``).trim().replace(/\s+/g,`,`).split(`,`).filter(Boolean);for(let ns of split)ns[0]===`-`?createDebug.skips.push(ns.slice(1)):createDebug.names.push(ns)}function matchesTemplate(search,template$1){let searchIndex=0,templateIndex=0,starIndex=-1,matchIndex=0;for(;searchIndex<search.length;)if(templateIndex<template$1.length&&(template$1[templateIndex]===search[searchIndex]||template$1[templateIndex]===`*`))template$1[templateIndex]===`*`?(starIndex=templateIndex,matchIndex=searchIndex,templateIndex++):(searchIndex++,templateIndex++);else if(starIndex!==-1)templateIndex=starIndex+1,matchIndex++,searchIndex=matchIndex;else return!1;for(;templateIndex<template$1.length&&template$1[templateIndex]===`*`;)templateIndex++;return templateIndex===template$1.length}function disable(){let namespaces=[...createDebug.names,...createDebug.skips.map(namespace=>`-`+namespace)].join(`,`);return createDebug.enable(``),namespaces}function enabled(name$2){for(let skip of createDebug.skips)if(matchesTemplate(name$2,skip))return!1;for(let ns of createDebug.names)if(matchesTemplate(name$2,ns))return!0;return!1}function coerce(val){return val instanceof Error?val.stack||val.message:val}function destroy(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return createDebug.enable(createDebug.load()),createDebug}module.exports=setup$8})),require_browser=__commonJSMin(((exports,module)=>{exports.formatArgs=formatArgs$1,exports.save=save$1,exports.load=load$5,exports.useColors=useColors$1,exports.storage=localstorage(),exports.destroy=(()=>{let warned$1=!1;return()=>{warned$1||(warned$1=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),exports.colors=`#0000CC.#0000FF.#0033CC.#0033FF.#0066CC.#0066FF.#0099CC.#0099FF.#00CC00.#00CC33.#00CC66.#00CC99.#00CCCC.#00CCFF.#3300CC.#3300FF.#3333CC.#3333FF.#3366CC.#3366FF.#3399CC.#3399FF.#33CC00.#33CC33.#33CC66.#33CC99.#33CCCC.#33CCFF.#6600CC.#6600FF.#6633CC.#6633FF.#66CC00.#66CC33.#9900CC.#9900FF.#9933CC.#9933FF.#99CC00.#99CC33.#CC0000.#CC0033.#CC0066.#CC0099.#CC00CC.#CC00FF.#CC3300.#CC3333.#CC3366.#CC3399.#CC33CC.#CC33FF.#CC6600.#CC6633.#CC9900.#CC9933.#CCCC00.#CCCC33.#FF0000.#FF0033.#FF0066.#FF0099.#FF00CC.#FF00FF.#FF3300.#FF3333.#FF3366.#FF3399.#FF33CC.#FF33FF.#FF6600.#FF6633.#FF9900.#FF9933.#FFCC00.#FFCC33`.split(`.`);function useColors$1(){if(typeof window<`u`&&window.process&&(window.process.type===`renderer`||window.process.__nwjs))return!0;if(typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let m$2;return typeof document<`u`&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<`u`&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<`u`&&navigator.userAgent&&(m$2=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(m$2[1],10)>=31||typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs$1(args){if(args[0]=(this.useColors?`%c`:``)+this.namespace+(this.useColors?` %c`:` `)+args[0]+(this.useColors?`%c `:` `)+`+`+module.exports.humanize(this.diff),!this.useColors)return;let c$3=`color: `+this.color;args.splice(1,0,c$3,`color: inherit`);let index=0,lastC=0;args[0].replace(/%[a-zA-Z%]/g,match$1=>{match$1!==`%%`&&(index++,match$1===`%c`&&(lastC=index))}),args.splice(lastC,0,c$3)}exports.log=console.debug||console.log||(()=>{});function save$1(namespaces){try{namespaces?exports.storage.setItem(`debug`,namespaces):exports.storage.removeItem(`debug`)}catch{}}function load$5(){let r$2;try{r$2=exports.storage.getItem(`debug`)||exports.storage.getItem(`DEBUG`)}catch{}return!r$2&&typeof process<`u`&&`env`in process&&(r$2=process.env.DEBUG),r$2}function localstorage(){try{return localStorage}catch{}}module.exports=require_common$3()(exports);let{formatters:formatters$1}=module.exports;formatters$1.j=function(v$1){try{return JSON.stringify(v$1)}catch(error$3){return`[UnexpectedJSONParseError]: `+error$3.message}}})),require_has_flag$1=__commonJSMin(((exports,module)=>{module.exports=(flag,argv=process.argv)=>{let prefix=flag.startsWith(`-`)?``:flag.length===1?`-`:`--`,position=argv.indexOf(prefix+flag),terminatorPosition=argv.indexOf(`--`);return position!==-1&&(terminatorPosition===-1||position<terminatorPosition)}})),require_supports_color$2=__commonJSMin(((exports,module)=>{let os$19=__require$1(`os`),tty$4=__require$1(`tty`),hasFlag$4=require_has_flag$1(),{env:env$5}=process,forceColor$3;hasFlag$4(`no-color`)||hasFlag$4(`no-colors`)||hasFlag$4(`color=false`)||hasFlag$4(`color=never`)?forceColor$3=0:(hasFlag$4(`color`)||hasFlag$4(`colors`)||hasFlag$4(`color=true`)||hasFlag$4(`color=always`))&&(forceColor$3=1),`FORCE_COLOR`in env$5&&(forceColor$3=env$5.FORCE_COLOR===`true`?1:env$5.FORCE_COLOR===`false`?0:env$5.FORCE_COLOR.length===0?1:Math.min(parseInt(env$5.FORCE_COLOR,10),3));function translateLevel$3(level$1){return level$1===0?!1:{level:level$1,hasBasic:!0,has256:level$1>=2,has16m:level$1>=3}}function supportsColor$4(haveStream,streamIsTTY){if(forceColor$3===0)return 0;if(hasFlag$4(`color=16m`)||hasFlag$4(`color=full`)||hasFlag$4(`color=truecolor`))return 3;if(hasFlag$4(`color=256`))return 2;if(haveStream&&!streamIsTTY&&forceColor$3===void 0)return 0;let min=forceColor$3||0;if(env$5.TERM===`dumb`)return min;if(process.platform===`win32`){let osRelease=os$19.release().split(`.`);return Number(osRelease[0])>=10&&Number(osRelease[2])>=10586?Number(osRelease[2])>=14931?3:2:1}if(`CI`in env$5)return[`TRAVIS`,`CIRCLECI`,`APPVEYOR`,`GITLAB_CI`,`GITHUB_ACTIONS`,`BUILDKITE`].some(sign$2=>sign$2 in env$5)||env$5.CI_NAME===`codeship`?1:min;if(`TEAMCITY_VERSION`in env$5)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env$5.TEAMCITY_VERSION)?1:0;if(env$5.COLORTERM===`truecolor`)return 3;if(`TERM_PROGRAM`in env$5){let version$2=parseInt((env$5.TERM_PROGRAM_VERSION||``).split(`.`)[0],10);switch(env$5.TERM_PROGRAM){case`iTerm.app`:return version$2>=3?3:2;case`Apple_Terminal`:return 2}}return/-256(color)?$/i.test(env$5.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env$5.TERM)||`COLORTERM`in env$5?1:min}function getSupportLevel$3(stream$8){let level$1=supportsColor$4(stream$8,stream$8&&stream$8.isTTY);return translateLevel$3(level$1)}module.exports={supportsColor:getSupportLevel$3,stdout:translateLevel$3(supportsColor$4(!0,tty$4.isatty(1))),stderr:translateLevel$3(supportsColor$4(!0,tty$4.isatty(2)))}})),require_node$47=__commonJSMin(((exports,module)=>{let tty$3=__require$1(`tty`),util$58=__require$1(`util`);exports.init=init$2,exports.log=log$4,exports.formatArgs=formatArgs,exports.save=save,exports.load=load$4,exports.useColors=useColors,exports.destroy=util$58.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),exports.colors=[6,2,3,4,5,1];try{let supportsColor$5=require_supports_color$2();supportsColor$5&&(supportsColor$5.stderr||supportsColor$5).level>=2&&(exports.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}exports.inspectOpts=Object.keys(process.env).filter(key$1=>/^debug_/i.test(key$1)).reduce((obj,key$1)=>{let prop=key$1.substring(6).toLowerCase().replace(/_([a-z])/g,(_$2,k)=>k.toUpperCase()),val=process.env[key$1];return val=/^(yes|on|true|enabled)$/i.test(val)?!0:/^(no|off|false|disabled)$/i.test(val)?!1:val===`null`?null:Number(val),obj[prop]=val,obj},{});function useColors(){return`colors`in exports.inspectOpts?!!exports.inspectOpts.colors:tty$3.isatty(process.stderr.fd)}function formatArgs(args){let{namespace:name$2,useColors:useColors$2}=this;if(useColors$2){let c$3=this.color,colorCode=`\x1B[3`+(c$3<8?c$3:`8;5;`+c$3),prefix=` ${colorCode};1m${name$2} \u001B[0m`;args[0]=prefix+args[0].split(`
348
348
  `).join(`
349
349
  `+prefix),args.push(colorCode+`m+`+module.exports.humanize(this.diff)+`\x1B[0m`)}else args[0]=getDate()+name$2+` `+args[0]}function getDate(){return exports.inspectOpts.hideDate?``:new Date().toISOString()+` `}function log$4(...args){return process.stderr.write(util$58.formatWithOptions(exports.inspectOpts,...args)+`
350
350
  `)}function save(namespaces){namespaces?process.env.DEBUG=namespaces:delete process.env.DEBUG}function load$4(){return process.env.DEBUG}function init$2(debug$12){debug$12.inspectOpts={};let keys=Object.keys(exports.inspectOpts);for(let i$7=0;i$7<keys.length;i$7++)debug$12.inspectOpts[keys[i$7]]=exports.inspectOpts[keys[i$7]]}module.exports=require_common$3()(exports);let{formatters}=module.exports;formatters.o=function(v$1){return this.inspectOpts.colors=this.useColors,util$58.inspect(v$1,this.inspectOpts).split(`
@@ -1726,7 +1726,13 @@ The structure MUST be as follows:
1726
1726
  **Decision Rules (apply in order):**
1727
1727
  1. **Model Continues:** If your last response explicitly states an immediate next action *you* intend to take (e.g., "Next, I will...", "Now I'll process...", "Moving on to analyze...", indicates an intended tool call that didn't execute), OR if the response seems clearly incomplete (cut off mid-thought without a natural conclusion), then the **'model'** should speak next.
1728
1728
  2. **Question to User:** If your last response ends with a direct question specifically addressed *to the user*, then the **'user'** should speak next.
1729
- 3. **Waiting for User:** If your last response completed a thought, statement, or task *and* does not meet the criteria for Rule 1 (Model Continues) or Rule 2 (Question to User), it implies a pause expecting user input or reaction. In this case, the **'user'** should speak next.`}]}];try{let parsedResponse=await geminiClient.generateJson(contents,RESPONSE_SCHEMA,abortSignal,DEFAULT_GEMINI_FLASH_MODEL);return parsedResponse&&parsedResponse.next_speaker&&[`user`,`model`].includes(parsedResponse.next_speaker)?parsedResponse:null}catch(error$3){return console.warn(`Failed to talk to Gemini endpoint when seeing if conversation should continue.`,error$3),null}}var import_levenshtein=__toESM(__commonJSMin(((exports,module)=>{(function(){var collator;try{collator=typeof Intl<`u`&&Intl.Collator!==void 0?Intl.Collator(`generic`,{sensitivity:`base`}):null}catch{console.log(`Collator could not be initialized and wouldn't be used`)}var prevRow=[],str2Char=[],Levenshtein={get:function(str1,str2,options$1){var useCollator=options$1&&collator&&options$1.useCollator,str1Len=str1.length,str2Len=str2.length;if(str1Len===0)return str2Len;if(str2Len===0)return str1Len;var curCol,nextCol,i$7,j$1,tmp;for(i$7=0;i$7<str2Len;++i$7)prevRow[i$7]=i$7,str2Char[i$7]=str2.charCodeAt(i$7);prevRow[str2Len]=str2Len;var strCmp;if(useCollator)for(i$7=0;i$7<str1Len;++i$7){for(nextCol=i$7+1,j$1=0;j$1<str2Len;++j$1)curCol=nextCol,strCmp=collator.compare(str1.charAt(i$7),String.fromCharCode(str2Char[j$1]))===0,nextCol=prevRow[j$1]+(strCmp?0:1),tmp=curCol+1,nextCol>tmp&&(nextCol=tmp),tmp=prevRow[j$1+1]+1,nextCol>tmp&&(nextCol=tmp),prevRow[j$1]=curCol;prevRow[j$1]=nextCol}else for(i$7=0;i$7<str1Len;++i$7){for(nextCol=i$7+1,j$1=0;j$1<str2Len;++j$1)curCol=nextCol,strCmp=str1.charCodeAt(i$7)===str2Char[j$1],nextCol=prevRow[j$1]+(strCmp?0:1),tmp=curCol+1,nextCol>tmp&&(nextCol=tmp),tmp=prevRow[j$1+1]+1,nextCol>tmp&&(nextCol=tmp),prevRow[j$1]=curCol;prevRow[j$1]=nextCol}return nextCol}};typeof define<`u`&&define!==null&&define.amd?define(function(){return Levenshtein}):module!=null&&exports!==void 0&&module.exports===exports?module.exports=Levenshtein:typeof self<`u`&&typeof self.postMessage==`function`&&typeof self.importScripts==`function`?self.Levenshtein=Levenshtein:typeof window<`u`&&window!==null&&(window.Levenshtein=Levenshtein)})()}))(),1),ChatRecordingService=class{conversationFile=null;cachedLastConvData=null;sessionId;projectHash;queuedThoughts=[];queuedTokens=null;config;constructor(config){this.config=config,this.sessionId=config.getSessionId(),this.projectHash=getProjectHash(config.getProjectRoot())}initialize(resumedSessionData){try{if(resumedSessionData)this.conversationFile=resumedSessionData.filePath,this.sessionId=resumedSessionData.conversation.sessionId,this.updateConversation(conversation=>{conversation.sessionId=this.sessionId}),this.cachedLastConvData=null;else{let chatsDir=path.join(this.config.storage.getProjectTempDir(),`chats`);fs.mkdirSync(chatsDir,{recursive:!0});let filename=`session-${new Date().toISOString().slice(0,16).replace(/:/g,`-`)}-${this.sessionId.slice(0,8)}.json`;this.conversationFile=path.join(chatsDir,filename),this.writeConversation({sessionId:this.sessionId,projectHash:this.projectHash,startTime:new Date().toISOString(),lastUpdated:new Date().toISOString(),messages:[]})}this.queuedThoughts=[],this.queuedTokens=null}catch(error$3){throw console.error(`Error initializing chat recording service:`,error$3),error$3}}getLastMessage(conversation){return conversation.messages.at(-1)}newMessage(type,content){return{id:randomUUID$1(),timestamp:new Date().toISOString(),type,content}}recordMessage(message){if(this.conversationFile)try{this.updateConversation(conversation=>{let msg=this.newMessage(message.type,message.content);msg.type===`gemini`?(conversation.messages.push({...msg,thoughts:this.queuedThoughts,tokens:this.queuedTokens,model:this.config.getModel()}),this.queuedThoughts=[],this.queuedTokens=null):conversation.messages.push(msg)})}catch(error$3){throw console.error(`Error saving message:`,error$3),error$3}}recordThought(thought){if(this.conversationFile)try{this.queuedThoughts.push({...thought,timestamp:new Date().toISOString()})}catch(error$3){throw console.error(`Error saving thought:`,error$3),error$3}}recordMessageTokens(respUsageMetadata){if(this.conversationFile)try{let tokens={input:respUsageMetadata.promptTokenCount??0,output:respUsageMetadata.candidatesTokenCount??0,cached:respUsageMetadata.cachedContentTokenCount??0,thoughts:respUsageMetadata.thoughtsTokenCount??0,tool:respUsageMetadata.toolUsePromptTokenCount??0,total:respUsageMetadata.totalTokenCount??0};this.updateConversation(conversation=>{let lastMsg=this.getLastMessage(conversation);lastMsg&&lastMsg.type===`gemini`&&!lastMsg.tokens?(lastMsg.tokens=tokens,this.queuedTokens=null):this.queuedTokens=tokens})}catch(error$3){throw console.error(`Error updating message tokens:`,error$3),error$3}}recordToolCalls(toolCalls){if(!this.conversationFile)return;let toolRegistry=this.config.getToolRegistry(),enrichedToolCalls=toolCalls.map(toolCall=>{let toolInstance=toolRegistry.getTool(toolCall.name);return{...toolCall,displayName:toolInstance?.displayName||toolCall.name,description:toolInstance?.description||``,renderOutputAsMarkdown:toolInstance?.isOutputMarkdown||!1}});try{this.updateConversation(conversation=>{let lastMsg=this.getLastMessage(conversation);if(!lastMsg||lastMsg.type!==`gemini`||this.queuedThoughts.length>0){let newMsg={...this.newMessage(`gemini`,``),type:`gemini`,toolCalls:enrichedToolCalls,thoughts:this.queuedThoughts,model:this.config.getModel()};this.queuedThoughts.length>0&&(newMsg.thoughts=this.queuedThoughts,this.queuedThoughts=[]),this.queuedTokens&&=(newMsg.tokens=this.queuedTokens,null),conversation.messages.push(newMsg)}else{lastMsg.toolCalls||=[],lastMsg.toolCalls=lastMsg.toolCalls.map(toolCall=>{let incomingToolCall=toolCalls.find(tc=>tc.id===toolCall.id);return incomingToolCall?{...toolCall,...incomingToolCall}:toolCall});for(let toolCall of enrichedToolCalls)lastMsg.toolCalls.find(tc=>tc.id===toolCall.id)||lastMsg.toolCalls.push(toolCall)}})}catch(error$3){throw console.error(`Error adding tool call to message:`,error$3),error$3}}readConversation(){try{return this.cachedLastConvData=fs.readFileSync(this.conversationFile,`utf8`),JSON.parse(this.cachedLastConvData)}catch(error$3){if(error$3.code!==`ENOENT`)throw console.error(`Error reading conversation file:`,error$3),error$3;return{sessionId:this.sessionId,projectHash:this.projectHash,startTime:new Date().toISOString(),lastUpdated:new Date().toISOString(),messages:[]}}}writeConversation(conversation){try{if(!this.conversationFile||conversation.messages.length===0)return;if(this.cachedLastConvData!==JSON.stringify(conversation,null,2)){conversation.lastUpdated=new Date().toISOString();let newContent=JSON.stringify(conversation,null,2);this.cachedLastConvData=newContent,fs.writeFileSync(this.conversationFile,newContent)}}catch(error$3){throw console.error(`Error writing conversation file:`,error$3),error$3}}updateConversation(updateFn){let conversation=this.readConversation();updateFn(conversation),this.writeConversation(conversation)}deleteSession(sessionId$1){try{let chatsDir=path.join(this.config.storage.getProjectTempDir(),`chats`),sessionPath=path.join(chatsDir,`${sessionId$1}.json`);fs.unlinkSync(sessionPath)}catch(error$3){throw console.error(`Error deleting session:`,error$3),error$3}}},TelemetryTarget;(function(TelemetryTarget$1){TelemetryTarget$1.GCP=`gcp`,TelemetryTarget$1.LOCAL=`local`})(TelemetryTarget||={});const DEFAULT_TELEMETRY_TARGET=TelemetryTarget.LOCAL,DEFAULT_OTLP_ENDPOINT=`http://localhost:4317`;async function handleFallback(config,failedModel,authType,error$3){if(authType!==AuthType.LOGIN_WITH_GOOGLE)return null;let fallbackModel=DEFAULT_GEMINI_FLASH_MODEL;if(failedModel===fallbackModel)return null;let fallbackModelHandler=config.fallbackModelHandler;if(typeof fallbackModelHandler!=`function`)return null;try{let intent=await fallbackModelHandler(failedModel,fallbackModel,error$3);switch(intent){case`retry`:return activateFallbackMode(config,authType),!0;case`stop`:return activateFallbackMode(config,authType),!1;case`auth`:return!1;default:throw Error(`Unexpected fallback intent received from fallbackModelHandler: "${intent}"`)}}catch(handlerError){return console.error(`Fallback UI handler failed:`,handlerError),null}}function activateFallbackMode(config,authType){config.isInFallbackMode()||(config.setFallbackMode(!0),authType&&logFlashFallback(config,new FlashFallbackEvent(authType)))}function partListUnionToString(value){return partToString(value,{verbose:!0})}var StreamEventType;(function(StreamEventType$1){StreamEventType$1.CHUNK=`chunk`,StreamEventType$1.RETRY=`retry`})(StreamEventType||={});const INVALID_CONTENT_RETRY_OPTIONS={maxAttempts:3,initialDelayMs:500};function isValidResponse(response){if(response.candidates===void 0||response.candidates.length===0)return!1;let content=response.candidates[0]?.content;return content===void 0?!1:isValidContent(content)}function isValidContent(content){if(content.parts===void 0||content.parts.length===0)return!1;for(let part of content.parts)if(part===void 0||Object.keys(part).length===0||!part.thought&&part.text!==void 0&&part.text===``)return!1;return!0}function validateHistory(history){for(let content of history)if(content.role!==`user`&&content.role!==`model`)throw Error(`Role must be user or model, but got ${content.role}.`)}function extractCuratedHistory(comprehensiveHistory){if(comprehensiveHistory===void 0||comprehensiveHistory.length===0)return[];let curatedHistory=[],length=comprehensiveHistory.length,i$7=0;for(;i$7<length;)if(comprehensiveHistory[i$7].role===`user`)curatedHistory.push(comprehensiveHistory[i$7]),i$7++;else{let modelOutput=[],isValid=!0;for(;i$7<length&&comprehensiveHistory[i$7].role===`model`;)modelOutput.push(comprehensiveHistory[i$7]),isValid&&!isValidContent(comprehensiveHistory[i$7])&&(isValid=!1),i$7++;isValid&&curatedHistory.push(...modelOutput)}return curatedHistory}var EmptyStreamError=class extends Error{constructor(message){super(message),this.name=`EmptyStreamError`}},GeminiChat=class{config;generationConfig;history;sendPromise=Promise.resolve();chatRecordingService;constructor(config,generationConfig={},history=[]){this.config=config,this.generationConfig=generationConfig,this.history=history,validateHistory(history),this.chatRecordingService=new ChatRecordingService(config),this.chatRecordingService.initialize()}setSystemInstruction(sysInstr){this.generationConfig.systemInstruction=sysInstr}async sendMessageStream(params,prompt_id){await this.sendPromise;let streamDoneResolver;this.sendPromise=new Promise(resolve$11=>{streamDoneResolver=resolve$11});let userContent=createUserContent(params.message);if(!isFunctionResponse(userContent)){let userMessage=Array.isArray(params.message)?params.message:[params.message],userMessageContent=partListUnionToString(toParts(userMessage));this.chatRecordingService.recordMessage({type:`user`,content:userMessageContent})}this.history.push(userContent);let requestContents=this.getHistory(!0),self$1=this;return(async function*(){try{let lastError=Error(`Request failed after all retries.`);for(let attempt=0;attempt<INVALID_CONTENT_RETRY_OPTIONS.maxAttempts;attempt++)try{attempt>0&&(yield{type:StreamEventType.RETRY});let stream$8=await self$1.makeApiCallAndProcessStream(requestContents,params,prompt_id,userContent);for await(let chunk$1 of stream$8)yield{type:StreamEventType.CHUNK,value:chunk$1};lastError=null;break}catch(error$3){if(lastError=error$3,error$3 instanceof EmptyStreamError&&attempt<INVALID_CONTENT_RETRY_OPTIONS.maxAttempts-1){logContentRetry(self$1.config,new ContentRetryEvent(attempt,`EmptyStreamError`,INVALID_CONTENT_RETRY_OPTIONS.initialDelayMs)),await new Promise(res=>setTimeout(res,INVALID_CONTENT_RETRY_OPTIONS.initialDelayMs*(attempt+1)));continue}break}if(lastError)throw lastError instanceof EmptyStreamError&&logContentRetryFailure(self$1.config,new ContentRetryFailureEvent(INVALID_CONTENT_RETRY_OPTIONS.maxAttempts,`EmptyStreamError`)),self$1.history[self$1.history.length-1]===userContent&&self$1.history.pop(),lastError}finally{streamDoneResolver()}})()}async makeApiCallAndProcessStream(requestContents,params,prompt_id,userContent){let currentAttemptModel,streamResponse=await retryWithBackoff(()=>{let modelToUse=this.config.isInFallbackMode()?DEFAULT_GEMINI_FLASH_MODEL:this.config.getModel();if(currentAttemptModel=modelToUse,this.config.getQuotaErrorOccurred()&&modelToUse===DEFAULT_GEMINI_FLASH_MODEL)throw Error(`Please submit a new query to continue with the Flash model.`);return this.config.getContentGenerator().generateContentStream({model:modelToUse,contents:requestContents,config:{...this.generationConfig,...params.config}},prompt_id)},{shouldRetry:error$3=>{if(error$3 instanceof Error&&error$3.message){if(isSchemaDepthError(error$3.message))return!1;if(error$3.message.includes(`429`)||error$3.message.match(/5\d{2}/))return!0}return!1},onPersistent429:async(authType,error$3)=>currentAttemptModel?await handleFallback(this.config,currentAttemptModel,authType,error$3):null,authType:this.config.getContentGeneratorConfig()?.authType});return this.processStreamResponse(streamResponse,userContent)}getHistory(curated=!1){let history=curated?extractCuratedHistory(this.history):this.history;return structuredClone(history)}clearHistory(){this.history=[]}addHistory(content){this.history.push(content)}setHistory(history){this.history=history}stripThoughtsFromHistory(){this.history=this.history.map(content=>{let newContent={...content};return newContent.parts&&=newContent.parts.map(part=>{if(part&&typeof part==`object`&&`thoughtSignature`in part){let newPart={...part};return delete newPart.thoughtSignature,newPart}return part}),newContent})}setTools(tools$2){this.generationConfig.tools=tools$2}async maybeIncludeSchemaDepthContext(error$3){if(isSchemaDepthError(error$3.message)||isInvalidArgumentError(error$3.message)){let tools$2=this.config.getToolRegistry().getAllTools(),cyclicSchemaTools=[];for(let tool$1 of tools$2)(tool$1.schema.parametersJsonSchema&&hasCycleInSchema(tool$1.schema.parametersJsonSchema)||tool$1.schema.parameters&&hasCycleInSchema(tool$1.schema.parameters))&&cyclicSchemaTools.push(tool$1.displayName);if(cyclicSchemaTools.length>0){let extraDetails=`
1729
+ 3. **Waiting for User:** If your last response completed a thought, statement, or task *and* does not meet the criteria for Rule 1 (Model Continues) or Rule 2 (Question to User), it implies a pause expecting user input or reaction. In this case, the **'user'** should speak next.`}]}];try{let parsedResponse=await geminiClient.generateJson(contents,RESPONSE_SCHEMA,abortSignal,DEFAULT_GEMINI_FLASH_MODEL);return parsedResponse&&parsedResponse.next_speaker&&[`user`,`model`].includes(parsedResponse.next_speaker)?parsedResponse:null}catch(error$3){return console.warn(`Failed to talk to Gemini endpoint when seeing if conversation should continue.`,error$3),null}}var import_levenshtein=__toESM(__commonJSMin(((exports,module)=>{(function(){var collator;try{collator=typeof Intl<`u`&&Intl.Collator!==void 0?Intl.Collator(`generic`,{sensitivity:`base`}):null}catch{console.log(`Collator could not be initialized and wouldn't be used`)}var prevRow=[],str2Char=[],Levenshtein={get:function(str1,str2,options$1){var useCollator=options$1&&collator&&options$1.useCollator,str1Len=str1.length,str2Len=str2.length;if(str1Len===0)return str2Len;if(str2Len===0)return str1Len;var curCol,nextCol,i$7,j$1,tmp;for(i$7=0;i$7<str2Len;++i$7)prevRow[i$7]=i$7,str2Char[i$7]=str2.charCodeAt(i$7);prevRow[str2Len]=str2Len;var strCmp;if(useCollator)for(i$7=0;i$7<str1Len;++i$7){for(nextCol=i$7+1,j$1=0;j$1<str2Len;++j$1)curCol=nextCol,strCmp=collator.compare(str1.charAt(i$7),String.fromCharCode(str2Char[j$1]))===0,nextCol=prevRow[j$1]+(strCmp?0:1),tmp=curCol+1,nextCol>tmp&&(nextCol=tmp),tmp=prevRow[j$1+1]+1,nextCol>tmp&&(nextCol=tmp),prevRow[j$1]=curCol;prevRow[j$1]=nextCol}else for(i$7=0;i$7<str1Len;++i$7){for(nextCol=i$7+1,j$1=0;j$1<str2Len;++j$1)curCol=nextCol,strCmp=str1.charCodeAt(i$7)===str2Char[j$1],nextCol=prevRow[j$1]+(strCmp?0:1),tmp=curCol+1,nextCol>tmp&&(nextCol=tmp),tmp=prevRow[j$1+1]+1,nextCol>tmp&&(nextCol=tmp),prevRow[j$1]=curCol;prevRow[j$1]=nextCol}return nextCol}};typeof define<`u`&&define!==null&&define.amd?define(function(){return Levenshtein}):module!=null&&exports!==void 0&&module.exports===exports?module.exports=Levenshtein:typeof self<`u`&&typeof self.postMessage==`function`&&typeof self.importScripts==`function`?self.Levenshtein=Levenshtein:typeof window<`u`&&window!==null&&(window.Levenshtein=Levenshtein)})()}))(),1),ChatRecordingService=class{conversationFile=null;cachedLastConvData=null;sessionId;projectHash;queuedThoughts=[];queuedTokens=null;config;constructor(config){this.config=config,this.sessionId=config.getSessionId(),this.projectHash=getProjectHash(config.getProjectRoot())}initialize(resumedSessionData){try{if(resumedSessionData)this.conversationFile=resumedSessionData.filePath,this.sessionId=resumedSessionData.conversation.sessionId,this.updateConversation(conversation=>{conversation.sessionId=this.sessionId}),this.cachedLastConvData=null;else{let chatsDir=path.join(this.config.storage.getProjectTempDir(),`chats`);fs.mkdirSync(chatsDir,{recursive:!0});let filename=`session-${new Date().toISOString().slice(0,16).replace(/:/g,`-`)}-${this.sessionId.slice(0,8)}.json`;this.conversationFile=path.join(chatsDir,filename),this.writeConversation({sessionId:this.sessionId,projectHash:this.projectHash,startTime:new Date().toISOString(),lastUpdated:new Date().toISOString(),messages:[]})}this.queuedThoughts=[],this.queuedTokens=null}catch(error$3){throw console.error(`Error initializing chat recording service:`,error$3),error$3}}getLastMessage(conversation){return conversation.messages.at(-1)}newMessage(type,content){return{id:randomUUID$1(),timestamp:new Date().toISOString(),type,content}}recordMessage(message){if(this.conversationFile)try{this.updateConversation(conversation=>{let msg=this.newMessage(message.type,message.content);msg.type===`gemini`?(conversation.messages.push({...msg,thoughts:this.queuedThoughts,tokens:this.queuedTokens,model:this.config.getModel()}),this.queuedThoughts=[],this.queuedTokens=null):conversation.messages.push(msg)})}catch(error$3){throw console.error(`Error saving message:`,error$3),error$3}}recordThought(thought){if(this.conversationFile)try{this.queuedThoughts.push({...thought,timestamp:new Date().toISOString()})}catch(error$3){throw console.error(`Error saving thought:`,error$3),error$3}}recordMessageTokens(respUsageMetadata){if(this.conversationFile)try{let tokens={input:respUsageMetadata.promptTokenCount??0,output:respUsageMetadata.candidatesTokenCount??0,cached:respUsageMetadata.cachedContentTokenCount??0,thoughts:respUsageMetadata.thoughtsTokenCount??0,tool:respUsageMetadata.toolUsePromptTokenCount??0,total:respUsageMetadata.totalTokenCount??0};this.updateConversation(conversation=>{let lastMsg=this.getLastMessage(conversation);lastMsg&&lastMsg.type===`gemini`&&!lastMsg.tokens?(lastMsg.tokens=tokens,this.queuedTokens=null):this.queuedTokens=tokens})}catch(error$3){throw console.error(`Error updating message tokens:`,error$3),error$3}}recordToolCalls(toolCalls){if(!this.conversationFile)return;let toolRegistry=this.config.getToolRegistry(),enrichedToolCalls=toolCalls.map(toolCall=>{let toolInstance=toolRegistry.getTool(toolCall.name);return{...toolCall,displayName:toolInstance?.displayName||toolCall.name,description:toolInstance?.description||``,renderOutputAsMarkdown:toolInstance?.isOutputMarkdown||!1}});try{this.updateConversation(conversation=>{let lastMsg=this.getLastMessage(conversation);if(!lastMsg||lastMsg.type!==`gemini`||this.queuedThoughts.length>0){let newMsg={...this.newMessage(`gemini`,``),type:`gemini`,toolCalls:enrichedToolCalls,thoughts:this.queuedThoughts,model:this.config.getModel()};this.queuedThoughts.length>0&&(newMsg.thoughts=this.queuedThoughts,this.queuedThoughts=[]),this.queuedTokens&&=(newMsg.tokens=this.queuedTokens,null),conversation.messages.push(newMsg)}else{lastMsg.toolCalls||=[],lastMsg.toolCalls=lastMsg.toolCalls.map(toolCall=>{let incomingToolCall=toolCalls.find(tc=>tc.id===toolCall.id);return incomingToolCall?{...toolCall,...incomingToolCall}:toolCall});for(let toolCall of enrichedToolCalls)lastMsg.toolCalls.find(tc=>tc.id===toolCall.id)||lastMsg.toolCalls.push(toolCall)}})}catch(error$3){throw console.error(`Error adding tool call to message:`,error$3),error$3}}readConversation(){try{return this.cachedLastConvData=fs.readFileSync(this.conversationFile,`utf8`),JSON.parse(this.cachedLastConvData)}catch(error$3){if(error$3.code!==`ENOENT`)throw console.error(`Error reading conversation file:`,error$3),error$3;return{sessionId:this.sessionId,projectHash:this.projectHash,startTime:new Date().toISOString(),lastUpdated:new Date().toISOString(),messages:[]}}}writeConversation(conversation){try{if(!this.conversationFile||conversation.messages.length===0)return;if(this.cachedLastConvData!==JSON.stringify(conversation,null,2)){conversation.lastUpdated=new Date().toISOString();let newContent=JSON.stringify(conversation,null,2);this.cachedLastConvData=newContent,fs.writeFileSync(this.conversationFile,newContent)}}catch(error$3){throw console.error(`Error writing conversation file:`,error$3),error$3}}updateConversation(updateFn){let conversation=this.readConversation();updateFn(conversation),this.writeConversation(conversation)}deleteSession(sessionId$1){try{let chatsDir=path.join(this.config.storage.getProjectTempDir(),`chats`),sessionPath=path.join(chatsDir,`${sessionId$1}.json`);fs.unlinkSync(sessionPath)}catch(error$3){throw console.error(`Error deleting session:`,error$3),error$3}}};init_esm$9();
1730
+ /**
1731
+ * @license
1732
+ * Copyright 2025 Google LLC
1733
+ * SPDX-License-Identifier: Apache-2.0
1734
+ */
1735
+ var TelemetryTarget;(function(TelemetryTarget$1){TelemetryTarget$1.GCP=`gcp`,TelemetryTarget$1.LOCAL=`local`})(TelemetryTarget||={});const DEFAULT_TELEMETRY_TARGET=TelemetryTarget.LOCAL,DEFAULT_OTLP_ENDPOINT=`http://localhost:4317`;async function handleFallback(config,failedModel,authType,error$3){if(authType!==AuthType.LOGIN_WITH_GOOGLE)return null;let fallbackModel=DEFAULT_GEMINI_FLASH_MODEL;if(failedModel===fallbackModel)return null;let fallbackModelHandler=config.fallbackModelHandler;if(typeof fallbackModelHandler!=`function`)return null;try{let intent=await fallbackModelHandler(failedModel,fallbackModel,error$3);switch(intent){case`retry`:return activateFallbackMode(config,authType),!0;case`stop`:return activateFallbackMode(config,authType),!1;case`auth`:return!1;default:throw Error(`Unexpected fallback intent received from fallbackModelHandler: "${intent}"`)}}catch(handlerError){return console.error(`Fallback UI handler failed:`,handlerError),null}}function activateFallbackMode(config,authType){config.isInFallbackMode()||(config.setFallbackMode(!0),authType&&logFlashFallback(config,new FlashFallbackEvent(authType)))}function partListUnionToString(value){return partToString(value,{verbose:!0})}var StreamEventType;(function(StreamEventType$1){StreamEventType$1.CHUNK=`chunk`,StreamEventType$1.RETRY=`retry`})(StreamEventType||={});const INVALID_CONTENT_RETRY_OPTIONS={maxAttempts:3,initialDelayMs:500};function isValidResponse(response){if(response.candidates===void 0||response.candidates.length===0)return!1;let content=response.candidates[0]?.content;return content===void 0?!1:isValidContent(content)}function isValidContent(content){if(content.parts===void 0||content.parts.length===0)return!1;for(let part of content.parts)if(part===void 0||Object.keys(part).length===0||!part.thought&&part.text!==void 0&&part.text===``)return!1;return!0}function validateHistory(history){for(let content of history)if(content.role!==`user`&&content.role!==`model`)throw Error(`Role must be user or model, but got ${content.role}.`)}function extractCuratedHistory(comprehensiveHistory){if(comprehensiveHistory===void 0||comprehensiveHistory.length===0)return[];let curatedHistory=[],length=comprehensiveHistory.length,i$7=0;for(;i$7<length;)if(comprehensiveHistory[i$7].role===`user`)curatedHistory.push(comprehensiveHistory[i$7]),i$7++;else{let modelOutput=[],isValid=!0;for(;i$7<length&&comprehensiveHistory[i$7].role===`model`;)modelOutput.push(comprehensiveHistory[i$7]),isValid&&!isValidContent(comprehensiveHistory[i$7])&&(isValid=!1),i$7++;isValid&&curatedHistory.push(...modelOutput)}return curatedHistory}var EmptyStreamError=class extends Error{constructor(message){super(message),this.name=`EmptyStreamError`}},GeminiChat=class{config;generationConfig;history;sendPromise=Promise.resolve();chatRecordingService;constructor(config,generationConfig={},history=[]){this.config=config,this.generationConfig=generationConfig,this.history=history,validateHistory(history),this.chatRecordingService=new ChatRecordingService(config),this.chatRecordingService.initialize()}setSystemInstruction(sysInstr){this.generationConfig.systemInstruction=sysInstr}async sendMessageStream(params,prompt_id){await this.sendPromise;let streamDoneResolver;this.sendPromise=new Promise(resolve$11=>{streamDoneResolver=resolve$11});let userContent=createUserContent(params.message);if(!isFunctionResponse(userContent)){let userMessage=Array.isArray(params.message)?params.message:[params.message],userMessageContent=partListUnionToString(toParts(userMessage));this.chatRecordingService.recordMessage({type:`user`,content:userMessageContent})}this.history.push(userContent);let requestContents=this.getHistory(!0),self$1=this;return(async function*(){try{let lastError=Error(`Request failed after all retries.`);for(let attempt=0;attempt<INVALID_CONTENT_RETRY_OPTIONS.maxAttempts;attempt++)try{attempt>0&&(yield{type:StreamEventType.RETRY});let stream$8=await self$1.makeApiCallAndProcessStream(requestContents,params,prompt_id,userContent);for await(let chunk$1 of stream$8)yield{type:StreamEventType.CHUNK,value:chunk$1};lastError=null;break}catch(error$3){if(lastError=error$3,error$3 instanceof EmptyStreamError&&attempt<INVALID_CONTENT_RETRY_OPTIONS.maxAttempts-1){logContentRetry(self$1.config,new ContentRetryEvent(attempt,`EmptyStreamError`,INVALID_CONTENT_RETRY_OPTIONS.initialDelayMs)),await new Promise(res=>setTimeout(res,INVALID_CONTENT_RETRY_OPTIONS.initialDelayMs*(attempt+1)));continue}break}if(lastError)throw lastError instanceof EmptyStreamError&&logContentRetryFailure(self$1.config,new ContentRetryFailureEvent(INVALID_CONTENT_RETRY_OPTIONS.maxAttempts,`EmptyStreamError`)),self$1.history[self$1.history.length-1]===userContent&&self$1.history.pop(),lastError}finally{streamDoneResolver()}})()}async makeApiCallAndProcessStream(requestContents,params,prompt_id,userContent){let currentAttemptModel,streamResponse=await retryWithBackoff(()=>{let modelToUse=this.config.isInFallbackMode()?DEFAULT_GEMINI_FLASH_MODEL:this.config.getModel();if(currentAttemptModel=modelToUse,this.config.getQuotaErrorOccurred()&&modelToUse===DEFAULT_GEMINI_FLASH_MODEL)throw Error(`Please submit a new query to continue with the Flash model.`);return this.config.getContentGenerator().generateContentStream({model:modelToUse,contents:requestContents,config:{...this.generationConfig,...params.config}},prompt_id)},{shouldRetry:error$3=>{if(error$3 instanceof Error&&error$3.message){if(isSchemaDepthError(error$3.message))return!1;if(error$3.message.includes(`429`)||error$3.message.match(/5\d{2}/))return!0}return!1},onPersistent429:async(authType,error$3)=>currentAttemptModel?await handleFallback(this.config,currentAttemptModel,authType,error$3):null,authType:this.config.getContentGeneratorConfig()?.authType});return this.processStreamResponse(streamResponse,userContent)}getHistory(curated=!1){let history=curated?extractCuratedHistory(this.history):this.history;return structuredClone(history)}clearHistory(){this.history=[]}addHistory(content){this.history.push(content)}setHistory(history){this.history=history}stripThoughtsFromHistory(){this.history=this.history.map(content=>{let newContent={...content};return newContent.parts&&=newContent.parts.map(part=>{if(part&&typeof part==`object`&&`thoughtSignature`in part){let newPart={...part};return delete newPart.thoughtSignature,newPart}return part}),newContent})}setTools(tools$2){this.generationConfig.tools=tools$2}async maybeIncludeSchemaDepthContext(error$3){if(isSchemaDepthError(error$3.message)||isInvalidArgumentError(error$3.message)){let tools$2=this.config.getToolRegistry().getAllTools(),cyclicSchemaTools=[];for(let tool$1 of tools$2)(tool$1.schema.parametersJsonSchema&&hasCycleInSchema(tool$1.schema.parametersJsonSchema)||tool$1.schema.parameters&&hasCycleInSchema(tool$1.schema.parameters))&&cyclicSchemaTools.push(tool$1.displayName);if(cyclicSchemaTools.length>0){let extraDetails=`
1730
1736
 
1731
1737
  This error was probably caused by cyclic schema references in one of the following tools, try disabling them with excludeTools:
1732
1738
 
@@ -1897,6 +1903,6 @@ const SCREEN_READER_USER_PREFIX=`User: `,InputPrompt=({buffer:buffer$4,onSubmit,
1897
1903
  `)&&(textToInsert+=` `),buffer$4.replaceRangeByOffset(offset,offset,textToInsert)}}}catch(error$3){console.error(`Error handling clipboard image:`,error$3)}},[buffer$4,config]),handleInput=useCallback(key$1=>{if(!(!focus&&!key$1.paste)){if(key$1.paste){setRecentPasteTime(Date.now()),pasteTimeoutRef.current&&clearTimeout(pasteTimeoutRef.current),pasteTimeoutRef.current=setTimeout(()=>{setRecentPasteTime(null),pasteTimeoutRef.current=null},500),buffer$4.handleInput(key$1);return}if(!(vimHandleInput&&vimHandleInput(key$1))){if(key$1.name!==`escape`&&(escPressCount>0||showEscapePrompt)&&resetEscapeState(),key$1.sequence===`!`&&buffer$4.text===``&&!completion.showSuggestions){setShellModeActive(!shellModeActive),buffer$4.setText(``);return}if(keyMatchers[Command.ESCAPE](key$1)){if(reverseSearchActive){setReverseSearchActive(!1),reverseSearchCompletion.resetCompletionState(),buffer$4.setText(textBeforeReverseSearch);let offset=logicalPosToOffset(buffer$4.lines,cursorPosition[0],cursorPosition[1]);buffer$4.moveToOffset(offset);return}if(shellModeActive){setShellModeActive(!1),resetEscapeState();return}if(completion.showSuggestions){completion.resetCompletionState(),resetEscapeState();return}if(escPressCount===0){if(buffer$4.text===``)return;setEscPressCount(1),setShowEscapePrompt(!0),escapeTimerRef.current&&clearTimeout(escapeTimerRef.current),escapeTimerRef.current=setTimeout(()=>{resetEscapeState()},500)}else buffer$4.setText(``),resetCompletionState(),resetEscapeState();return}if(shellModeActive&&keyMatchers[Command.REVERSE_SEARCH](key$1)){setReverseSearchActive(!0),setTextBeforeReverseSearch(buffer$4.text),setCursorPosition(buffer$4.cursor);return}if(keyMatchers[Command.CLEAR_SCREEN](key$1)){onClearScreen();return}if(reverseSearchActive){let{activeSuggestionIndex,navigateUp,navigateDown,showSuggestions,suggestions}=reverseSearchCompletion;if(showSuggestions){if(keyMatchers[Command.NAVIGATION_UP](key$1)){navigateUp();return}if(keyMatchers[Command.NAVIGATION_DOWN](key$1)){navigateDown();return}if(keyMatchers[Command.ACCEPT_SUGGESTION_REVERSE_SEARCH](key$1)){reverseSearchCompletion.handleAutocomplete(activeSuggestionIndex),reverseSearchCompletion.resetCompletionState(),setReverseSearchActive(!1);return}}if(keyMatchers[Command.SUBMIT_REVERSE_SEARCH](key$1)){let textToSubmit=showSuggestions&&activeSuggestionIndex>-1?suggestions[activeSuggestionIndex].value:buffer$4.text;handleSubmitAndClear(textToSubmit),reverseSearchCompletion.resetCompletionState(),setReverseSearchActive(!1);return}if(keyMatchers[Command.NAVIGATION_UP](key$1)||keyMatchers[Command.NAVIGATION_DOWN](key$1))return}if(completion.isPerfectMatch&&keyMatchers[Command.RETURN](key$1)){handleSubmitAndClear(buffer$4.text);return}if(completion.showSuggestions){if(completion.suggestions.length>1){if(keyMatchers[Command.COMPLETION_UP](key$1)){completion.navigateUp();return}if(keyMatchers[Command.COMPLETION_DOWN](key$1)){completion.navigateDown();return}}if(keyMatchers[Command.ACCEPT_SUGGESTION](key$1)){if(completion.suggestions.length>0){let targetIndex=completion.activeSuggestionIndex===-1?0:completion.activeSuggestionIndex;targetIndex<completion.suggestions.length&&completion.handleAutocomplete(targetIndex)}return}}if(key$1.name===`tab`&&!completion.showSuggestions&&completion.promptCompletion.text){completion.promptCompletion.accept();return}if(shellModeActive){if(keyMatchers[Command.NAVIGATION_UP](key$1)){let prevCommand=shellHistory.getPreviousCommand();prevCommand!==null&&buffer$4.setText(prevCommand);return}if(keyMatchers[Command.NAVIGATION_DOWN](key$1)){let nextCommand=shellHistory.getNextCommand();nextCommand!==null&&buffer$4.setText(nextCommand);return}}else{if(keyMatchers[Command.HISTORY_UP](key$1)){inputHistory.navigateUp();return}if(keyMatchers[Command.HISTORY_DOWN](key$1)){inputHistory.navigateDown();return}if(keyMatchers[Command.NAVIGATION_UP](key$1)&&(buffer$4.allVisualLines.length===1||buffer$4.visualCursor[0]===0&&buffer$4.visualScrollRow===0)){inputHistory.navigateUp();return}if(keyMatchers[Command.NAVIGATION_DOWN](key$1)&&(buffer$4.allVisualLines.length===1||buffer$4.visualCursor[0]===buffer$4.allVisualLines.length-1)){inputHistory.navigateDown();return}}if(keyMatchers[Command.SUBMIT](key$1)){if(buffer$4.text.trim()){if(recentPasteTime!==null)return;let[row,col]=buffer$4.cursor,line$1=buffer$4.lines[row];(col>0?cpSlice(line$1,col-1,col):``)===`\\`?(buffer$4.backspace(),buffer$4.newline()):handleSubmitAndClear(buffer$4.text)}return}if(keyMatchers[Command.NEWLINE](key$1)){buffer$4.newline();return}if(keyMatchers[Command.HOME](key$1)){buffer$4.move(`home`);return}if(keyMatchers[Command.END](key$1)){buffer$4.move(`end`);return}if(keyMatchers[Command.CLEAR_INPUT](key$1)){buffer$4.text.length>0&&(buffer$4.setText(``),resetCompletionState());return}if(keyMatchers[Command.KILL_LINE_RIGHT](key$1)){buffer$4.killLineRight();return}if(keyMatchers[Command.KILL_LINE_LEFT](key$1)){buffer$4.killLineLeft();return}if(keyMatchers[Command.DELETE_WORD_BACKWARD](key$1)){buffer$4.deleteWordLeft();return}if(keyMatchers[Command.OPEN_EXTERNAL_EDITOR](key$1)){buffer$4.openInExternalEditor();return}if(keyMatchers[Command.PASTE_CLIPBOARD_IMAGE](key$1)){handleClipboardImage();return}buffer$4.handleInput(key$1),completion.promptCompletion.text&&key$1.sequence&&key$1.sequence.length===1&&!key$1.ctrl&&!key$1.meta&&completion.promptCompletion.clear()}}},[focus,buffer$4,completion,shellModeActive,setShellModeActive,onClearScreen,inputHistory,handleSubmitAndClear,shellHistory,reverseSearchCompletion,handleClipboardImage,resetCompletionState,escPressCount,showEscapePrompt,resetEscapeState,vimHandleInput,reverseSearchActive,textBeforeReverseSearch,cursorPosition,recentPasteTime]);useKeypress(handleInput,{isActive:!0});let linesToRender=buffer$4.viewportVisualLines,[cursorVisualRowAbsolute,cursorVisualColAbsolute]=buffer$4.visualCursor,scrollVisualRow=buffer$4.visualScrollRow,{inlineGhost,additionalLines}=useCallback(()=>{if(!completion.promptCompletion.text||!buffer$4.text||!completion.promptCompletion.text.startsWith(buffer$4.text))return{inlineGhost:``,additionalLines:[]};let ghostSuffix=completion.promptCompletion.text.slice(buffer$4.text.length);if(!ghostSuffix)return{inlineGhost:``,additionalLines:[]};let currentLogicalLine=buffer$4.lines[buffer$4.cursor[0]]||``,cursorCol=buffer$4.cursor[1],textBeforeCursor=cpSlice(currentLogicalLine,0,cursorCol),usedWidth=stringWidth(textBeforeCursor),remainingWidth=Math.max(0,inputWidth-usedWidth),ghostTextLinesRaw=ghostSuffix.split(`
1898
1904
  `),firstLineRaw=ghostTextLinesRaw.shift()||``,inlineGhost$1=``,remainingFirstLine=``;if(stringWidth(firstLineRaw)<=remainingWidth)inlineGhost$1=firstLineRaw;else{let words$1=firstLineRaw.split(` `),currentLine=``,wordIdx=0;for(let word of words$1){let prospectiveLine=currentLine?`${currentLine} ${word}`:word;if(stringWidth(prospectiveLine)>remainingWidth)break;currentLine=prospectiveLine,wordIdx++}inlineGhost$1=currentLine,words$1.length>wordIdx&&(remainingFirstLine=words$1.slice(wordIdx).join(` `))}let linesToWrap=[];remainingFirstLine&&linesToWrap.push(remainingFirstLine),linesToWrap.push(...ghostTextLinesRaw);let remainingGhostText=linesToWrap.join(`
1899
1905
  `),additionalLines$1=[];if(remainingGhostText){let textLines=remainingGhostText.split(`
1900
- `);for(let textLine of textLines){let words$1=textLine.split(` `),currentLine=``;for(let word of words$1){let prospectiveLine=currentLine?`${currentLine} ${word}`:word;if(stringWidth(prospectiveLine)>inputWidth){currentLine&&additionalLines$1.push(currentLine);let wordToProcess=word;for(;stringWidth(wordToProcess)>inputWidth;){let part=``,wordCP=toCodePoints(wordToProcess),partWidth=0,splitIndex=0;for(let i$7=0;i$7<wordCP.length;i$7++){let char=wordCP[i$7],charWidth=stringWidth(char);if(partWidth+charWidth>inputWidth)break;part+=char,partWidth+=charWidth,splitIndex=i$7+1}additionalLines$1.push(part),wordToProcess=cpSlice(wordToProcess,splitIndex)}currentLine=wordToProcess}else currentLine=prospectiveLine}currentLine&&additionalLines$1.push(currentLine)}}return{inlineGhost:inlineGhost$1,additionalLines:additionalLines$1}},[completion.promptCompletion.text,buffer$4.text,buffer$4.lines,buffer$4.cursor,inputWidth])();return jsxs(Fragment,{children:[jsxs(Box_default,{borderStyle:`round`,borderColor:borderColor??(shellModeActive?theme.status.warning:focus?theme.border.focused:theme.border.default),paddingX:1,children:[jsx(Text,{color:shellModeActive?theme.status.warning:theme.text.accent,children:shellModeActive?reverseSearchActive?jsxs(Text,{color:theme.text.link,"aria-label":`User: `,children:[`(r:)`,` `]}):`! `:`> `}),jsx(Box_default,{flexGrow:1,flexDirection:`column`,children:buffer$4.text.length===0&&placeholder?focus?jsxs(Text,{children:[source_default.inverse(placeholder.slice(0,1)),jsx(Text,{color:theme.text.secondary,children:placeholder.slice(1)})]}):jsx(Text,{color:theme.text.secondary,children:placeholder}):linesToRender.map((lineText,visualIdxInRenderedSet)=>{let tokens=parseInputForHighlighting(lineText,visualIdxInRenderedSet),cursorVisualRow=cursorVisualRowAbsolute-scrollVisualRow,isOnCursorLine=focus&&visualIdxInRenderedSet===cursorVisualRow,renderedLine=[],charCount=0;tokens.forEach((token$1,tokenIdx)=>{let display=token$1.text;if(isOnCursorLine){let relativeVisualColForHighlight=cursorVisualColAbsolute,tokenStart=charCount,tokenEnd=tokenStart+cpLen(token$1.text);if(relativeVisualColForHighlight>=tokenStart&&relativeVisualColForHighlight<tokenEnd){let charToHighlight=cpSlice(token$1.text,relativeVisualColForHighlight-tokenStart,relativeVisualColForHighlight-tokenStart+1),highlighted=source_default.inverse(charToHighlight);display=cpSlice(token$1.text,0,relativeVisualColForHighlight-tokenStart)+highlighted+cpSlice(token$1.text,relativeVisualColForHighlight-tokenStart+1)}charCount=tokenEnd}let color=token$1.type===`command`||token$1.type===`file`?theme.text.accent:theme.text.primary;renderedLine.push(jsx(Text,{color,children:display},`token-${tokenIdx}`))});let currentLineGhost=isOnCursorLine?inlineGhost:``;isOnCursorLine&&cursorVisualColAbsolute===cpLen(lineText)&&(currentLineGhost||renderedLine.push(jsx(Text,{children:source_default.inverse(` `)},`cursor-end-${cursorVisualColAbsolute}`)));let showCursorBeforeGhost=focus&&isOnCursorLine&&cursorVisualColAbsolute===cpLen(lineText)&&currentLineGhost;return jsx(Box_default,{height:1,children:jsxs(Text,{children:[renderedLine,showCursorBeforeGhost&&source_default.inverse(` `),currentLineGhost&&jsx(Text,{color:theme.text.secondary,children:currentLineGhost})]})},`line-${visualIdxInRenderedSet}`)}).concat(additionalLines.map((ghostLine,index)=>{let padding=Math.max(0,inputWidth-stringWidth(ghostLine));return jsxs(Text,{color:theme.text.secondary,children:[ghostLine,` `.repeat(padding)]},`ghost-line-${index}`)}))})]}),completion.showSuggestions&&jsx(Box_default,{paddingRight:2,children:jsx(SuggestionsDisplay,{suggestions:completion.suggestions,activeIndex:completion.activeSuggestionIndex,isLoading:completion.isLoadingSuggestions,width:suggestionsWidth,scrollOffset:completion.visibleStartIndex,userInput:buffer$4.text})}),reverseSearchActive&&jsx(Box_default,{paddingRight:2,children:jsx(SuggestionsDisplay,{suggestions:reverseSearchCompletion.suggestions,activeIndex:reverseSearchCompletion.activeSuggestionIndex,isLoading:reverseSearchCompletion.isLoadingSuggestions,width:suggestionsWidth,scrollOffset:reverseSearchCompletion.visibleStartIndex,userInput:buffer$4.text})})]})},ENABLE_BRACKETED_PASTE=`\x1B[?2004h`,DISABLE_BRACKETED_PASTE=`\x1B[?2004l`,useBracketedPaste=()=>{let cleanup=()=>{process.stdout.write(`\x1B[?2004l`)};useEffect(()=>(process.stdout.write(`\x1B[?2004h`),process.on(`exit`,cleanup),process.on(`SIGINT`,cleanup),process.on(`SIGTERM`,cleanup),()=>{cleanup(),process.removeListener(`exit`,cleanup),process.removeListener(`SIGINT`,cleanup),process.removeListener(`SIGTERM`,cleanup)}),[])};function createMinimalConfig(){return new Config({sessionId:`blink`,targetDir:process.cwd(),cwd:process.cwd(),debugMode:!1,model:`gemini-1.5-flash`,telemetry:{enabled:!1}})}const convertToCommands=slashCommands=>slashCommands.map(cmd=>({name:cmd.name,altNames:cmd.altNames,description:cmd.description,kind:`built-in`,completion:async(context$1,partialArg)=>cmd.completion?.(partialArg)??[],subCommands:cmd.subcommands?convertToCommands(cmd.subcommands):void 0}));function TextInput({onSubmit,placeholder,slashCommands,onLayoutChange,borderColor,visible}){let config=useMemo(()=>createMinimalConfig(),[]),[userMessages,setUserMessages]=useState([]),{stdout:stdout$1}=use_stdout_default(),[isSlashOpen,setIsSlashOpen]=useState(!1),inputWidth=stdout$1.columns,buffer$4=useTextBuffer({viewport:{width:inputWidth-6,height:stdout$1.rows-15},isValidPath:filePath=>fs$1.existsSync(filePath),onChange:value=>{value.startsWith(`/`)?setIsSlashOpen(!0):setIsSlashOpen(prev=>(prev&&onLayoutChange?.(),!1))}}),commands=useMemo(()=>convertToCommands(slashCommands??[]),[slashCommands]);return visible?jsx(Box_default,{marginBottom:isSlashOpen?1:0,flexDirection:`column`,children:jsx(InputPrompt,{borderColor,buffer:buffer$4,onSubmit:value=>{let args=value.trim().split(` `),first$1=args[0];if(first$1&&first$1.startsWith(`/`)){let commandName=first$1.slice(1),commandIndex=slashCommands?.findIndex(c$3=>c$3.name===commandName||(c$3.altNames?c$3.altNames.includes(commandName):!1))??-1;if(commandIndex!==-1&&slashCommands){let root$31=slashCommands[commandIndex],rest=args.slice(1),execute=(cmd,remaining)=>{if(remaining.length>0&&cmd.subcommands&&cmd.subcommands.length>0){let subName=remaining[0],next=cmd.subcommands.find(sc=>sc.name===subName||(sc.altNames?sc.altNames.includes(subName):!1));if(next)return execute(next,remaining.slice(1))}cmd.action(remaining.join(` `))};execute(root$31,rest);return}}setUserMessages(prev=>[value,...prev]),onSubmit(value)},placeholder,userMessages,onClearScreen:()=>{},config,slashCommands:commands,commandContext:{services:{config,settings:{},git:void 0,logger:console},ui:{addItem:()=>{},clear:()=>{},setDebugMessage:()=>{},pendingItem:null,setPendingItem:()=>{},loadHistory:()=>{},toggleCorgiMode:()=>{},toggleVimEnabled:async()=>!1,setGeminiMdFileCount:()=>{},reloadCommands:()=>{}},session:{stats:{},sessionShellAllowlist:new Set}},inputWidth:inputWidth-2,suggestionsWidth:inputWidth-2,shellModeActive:!1,setShellModeActive:()=>{}})}):null}function KeypressProvider({children}){let config=useMemo(()=>createMinimalConfig(),[]);return useBracketedPaste(),jsx(KeypressProvider$1,{kittyProtocolEnabled:!0,config,children})}var text_input_default=TextInput;function useTerminalSize(){let{stdout:stdout$1}=use_stdout_default(),[size,setSize]=useState({columns:process.stdout.columns,rows:process.stdout.rows});return useEffect(()=>{if(!stdout$1||!stdout$1.isTTY)return;let handleResize=()=>{setSize({columns:stdout$1.columns,rows:stdout$1.rows})};return process.stdout.on(`resize`,handleResize),()=>{process.stdout.off(`resize`,handleResize)}},[stdout$1]),{columns:size.columns,rows:size.rows?size.rows-1:void 0}}function checkAndMarkFirstRun(directory){let storagePath=join$1(directory,`.blink`,`.first-run`);return mkdirSync$1(dirname$1(storagePath),{recursive:!0}),existsSync$1(storagePath)?!1:(writeFileSync$1(storagePath,new Date().toISOString()),!0)}const colors={run:`#1f86ed`,edit:`#e8900e`};async function startDev({directory}){await render_default(jsx(Root,{directory}),{exitOnCtrlC:!1}).waitUntilExit()}const Root=({directory})=>{let[logger$5,setLogger$3]=useState(new Logger(async(level$1,...message)=>{console[level$1](...message)}));return jsx(KeypressProvider,{children:jsx(LoggerContext.Provider,{value:logger$5,children:jsx(App,{directory})})})},App=({directory})=>{let size=useTerminalSize(),[isFirstRun]=useState(()=>checkAndMarkFirstRun(directory)),logger$5=useLogger(),dev$1=useDevMode({directory,logger:logger$5,onBuildStart:()=>{logger$5.log(`system`,source_default.gray(`⚙ Compiling...`))},onBuildSuccess:result=>{logger$5.log(`system`,source_default.green(`⚙ Compiled in ${Math.round(result.duration)}ms`))},onBuildError:error$3=>{logger$5.error(`system`,`${source_default.red(`⚙ [Build Error]`)} ${source_default.gray(error$3.message)}${error$3.file?source_default.bold(` (${error$3.file})`):``}`)},onEnvLoaded:keys=>{let keysText=keys.map(key$1=>source_default.dim(key$1)).join(`, `);keysText.length===0&&(keysText=source_default.dim(`(none)`)),logger$5.log(`system`,source_default.gray(`⚙ Loaded .env.local:`),keysText)},onDevhookConnected:url$3=>{logger$5.log(`system`,source_default.gray(`⚙ Send webhooks from anywhere: ${url$3}`))},onAgentLog:log$5=>{log$5.level===`error`?logger$5.error(`agent`,log$5.message):logger$5.log(`agent`,log$5.message)},onDevhookRequest:request$2=>{logger$5.log(`system`,source_default.blue(`↩ `)+source_default.gray(`method=${request$2.method} path=${request$2.path} status=${request$2.status}`))},onError:error$3=>{logger$5.error(`system`,error$3)},onModeChange:mode=>{switch(mode){case`edit`:logger$5.log(`system`,source_default.hex(colors.edit).bold(`✎ entering edit mode`)+`
1906
+ `);for(let textLine of textLines){let words$1=textLine.split(` `),currentLine=``;for(let word of words$1){let prospectiveLine=currentLine?`${currentLine} ${word}`:word;if(stringWidth(prospectiveLine)>inputWidth){currentLine&&additionalLines$1.push(currentLine);let wordToProcess=word;for(;stringWidth(wordToProcess)>inputWidth;){let part=``,wordCP=toCodePoints(wordToProcess),partWidth=0,splitIndex=0;for(let i$7=0;i$7<wordCP.length;i$7++){let char=wordCP[i$7],charWidth=stringWidth(char);if(partWidth+charWidth>inputWidth)break;part+=char,partWidth+=charWidth,splitIndex=i$7+1}additionalLines$1.push(part),wordToProcess=cpSlice(wordToProcess,splitIndex)}currentLine=wordToProcess}else currentLine=prospectiveLine}currentLine&&additionalLines$1.push(currentLine)}}return{inlineGhost:inlineGhost$1,additionalLines:additionalLines$1}},[completion.promptCompletion.text,buffer$4.text,buffer$4.lines,buffer$4.cursor,inputWidth])();return jsxs(Fragment,{children:[jsxs(Box_default,{borderStyle:`round`,borderColor:borderColor??(shellModeActive?theme.status.warning:focus?theme.border.focused:theme.border.default),paddingX:1,children:[jsx(Text,{color:shellModeActive?theme.status.warning:theme.text.accent,children:shellModeActive?reverseSearchActive?jsxs(Text,{color:theme.text.link,"aria-label":`User: `,children:[`(r:)`,` `]}):`! `:`> `}),jsx(Box_default,{flexGrow:1,flexDirection:`column`,children:buffer$4.text.length===0&&placeholder?focus?jsxs(Text,{children:[source_default.inverse(placeholder.slice(0,1)),jsx(Text,{color:theme.text.secondary,children:placeholder.slice(1)})]}):jsx(Text,{color:theme.text.secondary,children:placeholder}):linesToRender.map((lineText,visualIdxInRenderedSet)=>{let tokens=parseInputForHighlighting(lineText,visualIdxInRenderedSet),cursorVisualRow=cursorVisualRowAbsolute-scrollVisualRow,isOnCursorLine=focus&&visualIdxInRenderedSet===cursorVisualRow,renderedLine=[],charCount=0;tokens.forEach((token$1,tokenIdx)=>{let display=token$1.text;if(isOnCursorLine){let relativeVisualColForHighlight=cursorVisualColAbsolute,tokenStart=charCount,tokenEnd=tokenStart+cpLen(token$1.text);if(relativeVisualColForHighlight>=tokenStart&&relativeVisualColForHighlight<tokenEnd){let charToHighlight=cpSlice(token$1.text,relativeVisualColForHighlight-tokenStart,relativeVisualColForHighlight-tokenStart+1),highlighted=source_default.inverse(charToHighlight);display=cpSlice(token$1.text,0,relativeVisualColForHighlight-tokenStart)+highlighted+cpSlice(token$1.text,relativeVisualColForHighlight-tokenStart+1)}charCount=tokenEnd}let color=token$1.type===`command`||token$1.type===`file`?theme.text.accent:theme.text.primary;renderedLine.push(jsx(Text,{color,children:display},`token-${tokenIdx}`))});let currentLineGhost=isOnCursorLine?inlineGhost:``;isOnCursorLine&&cursorVisualColAbsolute===cpLen(lineText)&&(currentLineGhost||renderedLine.push(jsx(Text,{children:source_default.inverse(` `)},`cursor-end-${cursorVisualColAbsolute}`)));let showCursorBeforeGhost=focus&&isOnCursorLine&&cursorVisualColAbsolute===cpLen(lineText)&&currentLineGhost;return jsx(Box_default,{height:1,children:jsxs(Text,{children:[renderedLine,showCursorBeforeGhost&&source_default.inverse(` `),currentLineGhost&&jsx(Text,{color:theme.text.secondary,children:currentLineGhost})]})},`line-${visualIdxInRenderedSet}`)}).concat(additionalLines.map((ghostLine,index)=>{let padding=Math.max(0,inputWidth-stringWidth(ghostLine));return jsxs(Text,{color:theme.text.secondary,children:[ghostLine,` `.repeat(padding)]},`ghost-line-${index}`)}))})]}),completion.showSuggestions&&jsx(Box_default,{paddingRight:2,children:jsx(SuggestionsDisplay,{suggestions:completion.suggestions,activeIndex:completion.activeSuggestionIndex,isLoading:completion.isLoadingSuggestions,width:suggestionsWidth,scrollOffset:completion.visibleStartIndex,userInput:buffer$4.text})}),reverseSearchActive&&jsx(Box_default,{paddingRight:2,children:jsx(SuggestionsDisplay,{suggestions:reverseSearchCompletion.suggestions,activeIndex:reverseSearchCompletion.activeSuggestionIndex,isLoading:reverseSearchCompletion.isLoadingSuggestions,width:suggestionsWidth,scrollOffset:reverseSearchCompletion.visibleStartIndex,userInput:buffer$4.text})})]})},ENABLE_BRACKETED_PASTE=`\x1B[?2004h`,DISABLE_BRACKETED_PASTE=`\x1B[?2004l`,useBracketedPaste=()=>{let cleanup=()=>{process.stdout.write(`\x1B[?2004l`)};useEffect(()=>(process.stdout.write(`\x1B[?2004h`),process.on(`exit`,cleanup),process.on(`SIGINT`,cleanup),process.on(`SIGTERM`,cleanup),()=>{cleanup(),process.removeListener(`exit`,cleanup),process.removeListener(`SIGINT`,cleanup),process.removeListener(`SIGTERM`,cleanup)}),[])};function createMinimalConfig(){return new Config({sessionId:`blink`,targetDir:process.cwd(),cwd:process.cwd(),debugMode:!1,model:`gemini-1.5-flash`,telemetry:{enabled:!1}})}const convertToCommands=slashCommands=>slashCommands.map(cmd=>({name:cmd.name,altNames:cmd.altNames,description:cmd.description,kind:`built-in`,completion:async(context$1,partialArg)=>cmd.completion?.(partialArg)??[],subCommands:cmd.subcommands?convertToCommands(cmd.subcommands):void 0}));function TextInput({onSubmit,placeholder,slashCommands,onLayoutChange,borderColor,visible}){let config=useMemo(()=>createMinimalConfig(),[]),[userMessages,setUserMessages]=useState([]),{stdout:stdout$1}=use_stdout_default(),[isSlashOpen,setIsSlashOpen]=useState(!1),inputWidth=stdout$1.columns,buffer$4=useTextBuffer({viewport:{width:inputWidth-6,height:stdout$1.rows-15},isValidPath:filePath=>fs$1.existsSync(filePath),onChange:value=>{value.startsWith(`/`)?setIsSlashOpen(!0):setIsSlashOpen(prev=>(prev&&onLayoutChange?.(),!1))}}),commands=useMemo(()=>convertToCommands(slashCommands??[]),[slashCommands]);return visible?jsx(Box_default,{marginBottom:isSlashOpen?1:0,flexDirection:`column`,children:jsx(InputPrompt,{borderColor,buffer:buffer$4,onSubmit:value=>{let args=value.trim().split(` `),first$1=args[0];if(first$1&&first$1.startsWith(`/`)){let commandName=first$1.slice(1),commandIndex=slashCommands?.findIndex(c$3=>c$3.name===commandName||(c$3.altNames?c$3.altNames.includes(commandName):!1))??-1;if(commandIndex!==-1&&slashCommands){let root$31=slashCommands[commandIndex],rest=args.slice(1),execute=(cmd,remaining)=>{if(remaining.length>0&&cmd.subcommands&&cmd.subcommands.length>0){let subName=remaining[0],next=cmd.subcommands.find(sc=>sc.name===subName||(sc.altNames?sc.altNames.includes(subName):!1));if(next)return execute(next,remaining.slice(1))}cmd.action(remaining.join(` `))};execute(root$31,rest);return}}setUserMessages(prev=>[value,...prev]),onSubmit(value)},placeholder,userMessages,onClearScreen:()=>{},config,slashCommands:commands,commandContext:{services:{config,settings:{},git:void 0,logger:console},ui:{addItem:()=>{},clear:()=>{},setDebugMessage:()=>{},pendingItem:null,setPendingItem:()=>{},loadHistory:()=>{},toggleCorgiMode:()=>{},toggleVimEnabled:async()=>!1,setGeminiMdFileCount:()=>{},reloadCommands:()=>{}},session:{stats:{},sessionShellAllowlist:new Set}},inputWidth:inputWidth-2,suggestionsWidth:inputWidth-2,shellModeActive:!1,setShellModeActive:()=>{}})}):null}function KeypressProvider({children}){let config=useMemo(()=>createMinimalConfig(),[]);return useBracketedPaste(),jsx(KeypressProvider$1,{kittyProtocolEnabled:!0,config,children})}var text_input_default=TextInput;function useTerminalSize(){let{stdout:stdout$1}=use_stdout_default(),[size,setSize]=useState({columns:process.stdout.columns,rows:process.stdout.rows});return useEffect(()=>{if(!stdout$1||!stdout$1.isTTY)return;let handleResize=()=>{setSize({columns:stdout$1.columns,rows:stdout$1.rows})};return process.stdout.on(`resize`,handleResize),()=>{process.stdout.off(`resize`,handleResize)}},[stdout$1]),{columns:size.columns,rows:size.rows?size.rows-1:void 0}}function checkAndMarkFirstRun(directory){let storagePath=join$1(directory,`.blink`,`.first-run`);return mkdirSync$1(dirname$1(storagePath),{recursive:!0}),existsSync$1(storagePath)?!1:(writeFileSync$1(storagePath,new Date().toISOString()),!0)}const colors={run:`#1f86ed`,edit:`#e8900e`};async function startDev({directory}){await render_default(jsx(Root,{directory}),{exitOnCtrlC:!1}).waitUntilExit()}const Root=({directory})=>{let[logger$5,setLogger$3]=useState(new Logger(async(level$1,source$39,...message)=>{let contentColor=level$1===`error`?`red`:`gray`,sourceLabel=source$39===`agent`?`[${source$39}] `:``;console[level$1](source_default[contentColor](`${source_default.bold(sourceLabel)}${util.format(...message)}`))}));return jsx(KeypressProvider,{children:jsx(LoggerContext.Provider,{value:logger$5,children:jsx(App,{directory})})})},App=({directory})=>{let size=useTerminalSize(),[isFirstRun]=useState(()=>checkAndMarkFirstRun(directory)),logger$5=useLogger(),dev$1=useDevMode({directory,logger:logger$5,onBuildStart:()=>{logger$5.log(`system`,source_default.gray(`⚙ Compiling...`))},onBuildSuccess:result=>{logger$5.log(`system`,source_default.green(`⚙ Compiled in ${Math.round(result.duration)}ms`))},onBuildError:error$3=>{logger$5.error(`system`,`${source_default.red(`⚙ [Build Error]`)} ${source_default.gray(error$3.message)}${error$3.file?source_default.bold(` (${error$3.file})`):``}`)},onEnvLoaded:keys=>{let keysText=keys.map(key$1=>source_default.dim(key$1)).join(`, `);keysText.length===0&&(keysText=source_default.dim(`(none)`)),logger$5.log(`system`,source_default.gray(`⚙ Loaded .env.local:`),keysText)},onDevhookConnected:url$3=>{logger$5.log(`system`,source_default.gray(`⚙ Send webhooks from anywhere: ${url$3}`))},onAgentLog:log$5=>{log$5.level===`error`?logger$5.error(`agent`,log$5.message):logger$5.log(`agent`,log$5.message)},onDevhookRequest:request$2=>{logger$5.log(`system`,source_default.blue(`↩ `)+source_default.gray(`method=${request$2.method} path=${request$2.path} status=${request$2.status}`))},onError:error$3=>{logger$5.error(`system`,error$3)},onModeChange:mode=>{switch(mode){case`edit`:logger$5.log(`system`,source_default.hex(colors.edit).bold(`✎ entering edit mode`)+`
1901
1907
  `);break;case`run`:logger$5.log(`system`,source_default.hex(colors.run).bold(`⟳ entering run mode`)+`
1902
- `);break}}});useEffect(()=>{logger$5.setPrintLog((level$1,source$39,...message)=>dev$1.chat.queueLogMessage({message:util.format(...message),level:level$1,source:source$39}))},[dev$1.chat.queueLogMessage,logger$5]);let{exit}=use_app_default(),[exitArmed,setExitArmed]=useState(!1),exitTimerRef=useRef(void 0);useEffect(()=>()=>{exitTimerRef.current&&clearTimeout(exitTimerRef.current)},[]),use_input_default(async(input,key$1)=>{if(key$1.ctrl&&input.toLowerCase()===`c`){if(exitArmed){exit();return}setExitArmed(!0),exitTimerRef.current&&clearTimeout(exitTimerRef.current),exitTimerRef.current=setTimeout(()=>setExitArmed(!1),2e3)}key$1.ctrl&&input===`r`&&(await dev$1.chat.resetChat(),resetTerminal()),key$1.ctrl&&input===`t`&&dev$1.toggleMode(),key$1.ctrl&&input===`n`&&dev$1.newChat(),key$1.escape&&dev$1.chat.stopStreaming()});let keymaps=useMemo(()=>({"⏎":`send`,"Ctrl+T":`toggle mode`,"Ctrl+N":`new chat`,"Ctrl+C":`quit`}),[]),keybindSuggestion=useMemo(()=>{if(exitArmed)return`Ctrl+C again to quit`;if(dev$1.chat.queuedMessages.length>0)return`${dev$1.chat.queuedMessages.length} message(s) queued - Press [Escape] to stop and process queue`;if(dev$1.chat.status===`streaming`)return`Press [Escape] to stop the agent!`},[exitArmed,dev$1.chat.status,dev$1.chat.queuedMessages.length]),{write:write$1}=use_stdout_default(),[epoch,setEpoch]=useState(0),resetTerminal=useCallback(()=>{write$1(clearTerminal),setEpoch(prev=>prev+1)},[write$1]),initialSizeRef=useRef(size);useEffect(()=>{(initialSizeRef.current.columns!==size.columns||initialSizeRef.current.rows!==size.rows)&&(resetTerminal(),initialSizeRef.current=size)},[size.columns,size.rows,resetTerminal]),useEffect(()=>{resetTerminal()},[dev$1.chat.id,resetTerminal]);let optionCommand=useMemo(()=>{if(dev$1.options.schema)return{name:`option`,description:`Adjust your agent's options.`,action:()=>{},completion:async()=>Object.keys(dev$1.options.schema),subcommands:Object.entries(dev$1.options.schema).map(([key$1,value])=>({name:key$1,description:value.label??``,action:args=>{dev$1.options.setOption(key$1,args)},completion:async partialArg=>value.values.map(v$1=>v$1.id)}))}},[dev$1.options]),lastMessageWithApproval=useMemo(()=>{if(dev$1.chat.messages.length===0)return null;let lastMsg=dev$1.chat.messages[dev$1.chat.messages.length-1];return lastMsg.parts.some(part=>isToolOrDynamicToolUIPart(part)&&isToolApprovalOutput(part.output))?lastMsg:null},[dev$1.chat.messages]),staticMessages=useMemo(()=>lastMessageWithApproval?dev$1.chat.messages.slice(0,-1):dev$1.chat.messages,[dev$1.chat.messages,lastMessageWithApproval]);return dev$1.chat.loading?null:jsxs(Fragment,{children:[dev$1.mode===`edit`&&dev$1.editModeMissingApiKey?jsx(MissingApiKeyMessage,{}):null,jsxs(Box_default,{flexDirection:`column`,children:[jsx(Static,{items:[{},...staticMessages],children:(message,index)=>index===0?jsxs(Box_default,{flexDirection:`column`,marginBottom:1,children:[jsxs(Box_default,{children:[jsx(Text,{bold:!0,children:`blink■`}),jsx(Text,{color:`gray`,children:` agent development`})]}),isFirstRun&&jsx(OnboardingMessage,{}),jsxs(Box_default,{marginTop:1,flexDirection:`column`,children:[jsxs(Text,{color:`gray`,children:[`Edit `,dev$1.build.entrypoint,` to hot-reload your agent.`]}),jsxs(Text,{color:`gray`,children:[`Run `,jsx(Text,{color:`blue`,children:`blink deploy`}),` to use your agent in the cloud.`]}),jsxs(Text,{color:`gray`,children:[`Type`,` `,jsx(Text,{bold:!0,color:`cyan`,children:`/help`}),` `,`to see the full guide on how to build, test, and deploy your agent.`]})]})]},`banner`):jsx(Message,{message,previousMessage:index>1?staticMessages.at(index-2):void 0,nextMessage:index<staticMessages.length-2?staticMessages.at(index+2):void 0,maxWidth:size.columns-2},`${message.id}-${index}`)},`messages-${dev$1.chat.id}-${epoch}`),lastMessageWithApproval?jsx(Message,{message:lastMessageWithApproval,previousMessage:staticMessages.length>0?staticMessages[staticMessages.length-1]:void 0,nextMessage:void 0,maxWidth:size.columns-2},lastMessageWithApproval.id):null,dev$1.chat.streamingMessage?jsx(Message,{message:dev$1.chat.streamingMessage,nextMessage:void 0,previousMessage:dev$1.chat.messages.length>0?dev$1.chat.messages.at(dev$1.chat.messages.length-1):void 0,streaming:!0,maxWidth:size.columns-2},dev$1.chat.streamingMessage.id):null,dev$1.chat.queuedLogs.map(log$5=>jsx(Message,{message:log$5,nextMessage:void 0,previousMessage:dev$1.chat.streamingMessage||(dev$1.chat.messages.length>0?dev$1.chat.messages.at(dev$1.chat.messages.length-1):void 0),maxWidth:size.columns-2},log$5.id)),dev$1.showWaitingPlaceholder?jsx(AssistantWaitingPlaceholder,{maxWidth:size.columns-2}):null]}),jsxs(Box_default,{flexDirection:`column`,marginTop:1,children:[dev$1.approval&&jsx(ApprovalInput,{onConfirm:async(approved,autoApprove)=>{approved?await dev$1.approval?.approve(autoApprove):await dev$1.approval?.reject()},onCancel:()=>{},autoApproveEnabled:dev$1.approval.autoApproveEnabled,logger:logger$5}),jsx(text_input_default,{visible:!dev$1.approval,borderColor:colors[dev$1.mode],slashCommands:[{name:`help`,description:`Show help information`,action:()=>{getHelpText(dev$1.build.entrypoint).forEach(line$1=>console.log(line$1))}},{name:`reset`,altNames:[`clear`],description:`Reset the chat`,action:async()=>{await dev$1.chat.resetChat(),resetTerminal()}},{name:`switch`,description:`Switch to a different chat`,action:args=>{dev$1.switchChat(args)},completion:async partialArg=>dev$1.chats.filter(id=>id.startsWith(partialArg))},{name:`new`,description:`Create a new chat`,action:args=>{dev$1.switchChat(args)}},{name:`edit`,description:`Switch to Edit mode (AI helps build your agent)`,action:()=>{dev$1.chat.stopStreaming(),dev$1.setMode(`edit`)}},{name:`run`,description:`Switch to Run mode (use your agent)`,action:()=>{dev$1.chat.stopStreaming(),dev$1.setMode(`run`)}},...optionCommand?[optionCommand]:[]],onSubmit:value=>(dev$1.chat.sendMessage({id:crypto.randomUUID(),role:`user`,parts:[{type:`text`,text:value}],created_at:new Date().toISOString(),metadata:void 0,mode:dev$1.mode}),!0),onLayoutChange:()=>{}})]}),jsxs(Box_default,{children:[jsxs(Box_default,{marginLeft:2,gap:3,children:[jsxs(Text,{color:`gray`,children:[`mode: `,jsx(Text,{color:colors[dev$1.mode],children:dev$1.mode})]}),jsxs(Text,{color:`gray`,children:[`chat: `,jsx(Text,{children:dev$1.chat.id})]})]}),jsx(Spacer,{}),keybindSuggestion?jsx(Text,{color:`yellow`,children:keybindSuggestion+` `}):jsx(Box_default,{gap:3,marginRight:2,children:Object.entries(keymaps).map(([key$1,value])=>jsx(Text,{children:source_default.gray.dim(key$1+` `+value)},key$1))})]}),dev$1.tokenUsage||dev$1.options.schema&&dev$1.options.selected?jsxs(Box_default,{marginLeft:2,gap:3,children:[dev$1.tokenUsage?jsxs(Box_default,{gap:1,children:[jsx(Text,{color:`gray`,children:`tokens:`}),jsx(Text,{color:`cyan`,children:formatTokenCount(dev$1.tokenUsage.inputTokens)}),jsx(Text,{color:`gray`,children:`→`}),jsx(Text,{color:`green`,children:formatTokenCount(dev$1.tokenUsage.outputTokens)}),dev$1.tokenUsage.cachedInputTokens!==void 0&&dev$1.tokenUsage.cachedInputTokens>0?jsxs(Text,{children:[jsx(Text,{color:`gray`,children:`(`}),jsx(Text,{color:`blue`,children:formatTokenCount(dev$1.tokenUsage.cachedInputTokens)}),jsx(Text,{color:`gray`,children:` cached)`})]}):null]}):null,dev$1.options.schema&&dev$1.options.selected?jsxs(Box_default,{gap:1,children:[jsx(Text,{color:`gray`,children:`options:`}),Object.entries(dev$1.options.selected).map(([key$1,value])=>dev$1.options.schema[key$1]?jsxs(Box_default,{gap:0,children:[jsxs(Text,{color:`gray`,children:[key$1,`=`]}),jsx(Text,{color:`gray`,children:value})]},key$1):null)]}):null]}):null]})},ApprovalInput=({onConfirm,onCancel,autoApproveEnabled,logger:logger$5})=>{let[selected,setSelected]=useState(`yes`),[processing$2,setProcessing]=useState(!1),processingRef=useRef(!1),handleConfirm=React.useCallback(async(approved,autoApprove)=>{if(!processingRef.current){processingRef.current=!0,setProcessing(!0);try{await onConfirm(approved,autoApprove)}catch(err){logger$5.error(`system`,`Error processing approval:`,err)}finally{processingRef.current=!1,setProcessing(!1)}}},[onConfirm]),handleCancel=React.useCallback(()=>{processingRef.current||onCancel()},[onCancel]);return use_input_default((input,key$1)=>{let lower=input.toLowerCase();if(key$1.escape){handleCancel();return}if(lower===`y`){handleConfirm(!0);return}if(lower===`a`){handleConfirm(!0,!0);return}if(lower===`n`){handleConfirm(!1);return}if(key$1.leftArrow){setSelected(prev=>prev===`yes`?`no`:prev===`no`?`auto`:`yes`);return}if(key$1.rightArrow||key$1.tab){setSelected(prev=>prev===`yes`?`auto`:prev===`auto`?`no`:`yes`);return}key$1.return&&(selected===`yes`?handleConfirm(!0):selected===`auto`?handleConfirm(!0,!0):handleConfirm(!1))}),jsxs(Box_default,{gap:2,flexDirection:`row`,children:[jsx(Text,{children:processing$2?`Processing...`:autoApproveEnabled?`(auto-approved)`:`Approve?`}),!processing$2&&!autoApproveEnabled&&jsxs(Fragment,{children:[jsx(Box_default,{children:jsxs(Text,{children:[`[`,jsx(Text,{color:selected===`yes`?`green`:`gray`,bold:selected===`yes`,children:`Yes`}),`/`,jsx(Text,{color:selected===`auto`?`cyan`:`gray`,bold:selected===`auto`,children:`Auto`}),`/`,jsx(Text,{color:selected===`no`?`red`:`gray`,bold:selected===`no`,children:`No`}),`]`]})}),jsx(Text,{color:`gray`,children:`(y/a/n, ←/→ then ⏎)`})]})]})},Message=React.memo(({message,previousMessage,maxWidth,streaming})=>{let prefix,contentColor,marginTop=previousMessage?1:0;if(isLogMessage(message)){let logLevel=message.metadata.level,logSource=message.metadata.source,logMessage=message.metadata.message,isError$1=logLevel===`error`;return prefix=null,contentColor=isError$1?`red`:`gray`,jsxs(Box_default,{flexDirection:`row`,gap:1,children:[logSource===`agent`?jsxs(Text,{color:isError$1?`red`:void 0,bold:!0,children:[`[`,logSource,`]`]}):null,logSource===`system`&&isError$1?jsx(Text,{color:`red`,bold:!0,children:`[error]`}):null,jsx(Box_default,{gap:1,flexDirection:`column`,width:maxWidth,children:jsx(Text,{color:`gray`,children:logMessage})})]})}switch(message.role){case`system`:prefix=jsx(Text,{children:`t `}),contentColor=`gray`;break;case`user`:prefix=jsx(Text,{color:`magenta`,bold:!0,children:`▎`}),contentColor=`gray`;break;case`assistant`:let isEditMode=message.mode===`edit`;prefix=jsx(Text,{color:isEditMode?colors.edit:colors.run,children:`> `}),contentColor=`white`;break}let content=jsx(Box_default,{gap:1,flexDirection:`column`,width:maxWidth,children:message.parts.map((part,index)=>{if(part.type===`text`)return jsx(markdown_default,{id:message.id,maxWidth,streaming,children:part.text},index);if(part.type===`reasoning`)return jsxs(Text,{color:`gray`,children:[`Reasoning: `,part.text]},index);if(isToolOrDynamicToolUIPart(part))return jsx(ToolCall,{part,maxWidth,streaming},index)}).filter(Boolean)});return jsxs(Box_default,{marginTop,flexDirection:`row`,children:[jsx(Box_default,{children:jsx(Text,{color:contentColor,children:prefix})}),content]})},(prev,next)=>prev.maxWidth===next.maxWidth?!!(prev.nextMessage&&next.nextMessage&&prev.nextMessage.id===next.nextMessage.id):!1),AssistantWaitingPlaceholder=({maxWidth})=>jsxs(Box_default,{marginTop:1,flexDirection:`row`,children:[jsx(Box_default,{children:jsx(Text,{color:`white`,children:null})}),jsx(Box_default,{width:maxWidth,children:jsxs(Text,{color:`gray`,children:[jsx(build_default,{}),` Waiting for response...`]})})]}),ToolCall=({part,maxWidth,streaming})=>{let name$2=getToolOrDynamicToolName(part),input=useMemo(()=>{let labels={};return typeof part.input!=`object`||part.input===null||Object.entries(part.input).forEach(([key$1,value])=>{labels[key$1]=JSON.stringify(value)}),labels},[part]),state=useMemo(()=>{switch(part.state){case`input-available`:case`input-streaming`:return streaming?`streaming`:`error`;case`output-available`:return isToolApprovalOutput(part.output)&&part.output.outcome===`pending`?`pending-approval`:`done`;case`output-error`:return`error`}},[part,streaming]),output=useMemo(()=>{if(isToolApprovalOutput(part.output))return{state:part.output.outcome};if(!part.output)return;if(typeof part.output==`string`)return part.output;let labels={};return Array.isArray(part.output)?part.output.forEach((item,index)=>{labels[`${index}`]=JSON.stringify(item)}):typeof part.output==`object`&&Object.entries(part.output).forEach(([key$1,value])=>{labels[key$1]=JSON.stringify(value)}),labels},[part,state]),error$3=useMemo(()=>{if(part.state===`output-error`)return part.errorText},[part]),icon=useMemo(()=>{switch(state){case`done`:case`error`:return`⚒`;case`pending-approval`:return`⧗`}return jsx(build_default,{type:`dots`})},[state]);return jsxs(Box_default,{flexDirection:`column`,children:[jsxs(Box_default,{gap:1,children:[jsx(Text,{color:state===`error`?`red`:`gray`,bold:!0,children:icon}),jsx(Text,{children:name$2})]}),jsxs(Box_default,{marginLeft:2,flexDirection:`column`,overflowX:`hidden`,width:maxWidth?maxWidth-4:void 0,gap:0,children:[jsx(Text,{color:`gray`,bold:!0,children:`Input:`}),Object.entries(input).map(([key$1,value])=>jsxs(Box_default,{marginLeft:2,children:[jsx(Text,{color:`gray`,children:key$1}),jsx(Text,{color:`blackBright`,children:`=`}),jsx(Box_default,{width:maxWidth?maxWidth-6-1-2-key$1.length:void 0,children:jsx(Text,{wrap:`truncate-middle`,children:value})})]},key$1)),output&&jsxs(Fragment,{children:[jsx(Text,{color:`gray`,bold:!0,children:`Output:`}),typeof output==`string`?jsx(Box_default,{marginLeft:2,children:jsx(Text,{children:output})}):isToolApprovalOutput(part.output)?jsx(Box_default,{marginLeft:2,children:jsx(Text,{color:part.output.outcome===`approved`?`green`:part.output.outcome===`rejected`?`red`:`yellow`,bold:!0,children:part.output.outcome===`approved`?`✓ Approved`:part.output.outcome===`rejected`?`✗ Rejected`:`⧗ Pending approval`})}):jsx(Box_default,{flexDirection:`column`,children:Object.entries(output).map(([key$1,value])=>jsxs(Box_default,{marginLeft:2,children:[jsx(Text,{color:`gray`,children:key$1}),jsx(Text,{color:`blackBright`,children:`=`}),jsx(Box_default,{width:maxWidth?maxWidth-6-1-key$1.length:void 0,children:jsx(Text,{wrap:`truncate-middle`,children:value})})]},key$1))})]}),error$3&&jsxs(Fragment,{children:[jsx(Text,{color:`gray`,bold:!0,children:`Error:`}),jsx(Text,{color:`red`,children:error$3})]})]})]})},OnboardingMessage=()=>jsxs(Box_default,{flexDirection:`column`,marginTop:1,marginBottom:1,borderStyle:`round`,borderColor:`gray`,paddingX:1,paddingY:0,children:[jsx(Box_default,{children:jsx(Text,{bold:!0,children:`Quick Start: Building Your Agent`})}),jsxs(Box_default,{marginTop:1,flexDirection:`column`,children:[jsx(Text,{children:`Blink has two modes:`}),jsxs(Box_default,{marginTop:1,flexDirection:`column`,marginLeft:2,children:[jsxs(Text,{children:[jsx(Text,{bold:!0,color:colors.edit,children:`• Edit`}),jsx(Text,{children:` mode helps you build your agent`})]}),jsxs(Text,{children:[jsx(Text,{bold:!0,color:colors.run,children:`• Run`}),jsx(Text,{children:` mode lets you interact with it`})]})]}),jsx(Box_default,{marginTop:1,children:jsxs(Text,{children:[`Switch between them with`,` `,jsx(Text,{bold:!0,color:`cyan`,children:`Ctrl+T`}),` `,`or`,` `,jsx(Text,{bold:!0,color:`cyan`,children:`/edit`}),` `,`and`,` `,jsx(Text,{bold:!0,color:`cyan`,children:`/run`}),`.`]})})]})]}),MissingApiKeyMessage=()=>jsxs(Box_default,{flexDirection:`column`,marginTop:1,marginBottom:1,borderStyle:`round`,borderColor:`yellow`,paddingX:1,paddingY:0,children:[jsx(Box_default,{children:jsx(Text,{bold:!0,color:`yellow`,children:`⚠ Edit Mode Requires API Key`})}),jsxs(Box_default,{marginTop:1,flexDirection:`column`,children:[jsxs(Text,{children:[`Add one of these to your `,jsx(Text,{bold:!0,children:`.env.local`}),` file:`]}),jsxs(Box_default,{marginTop:1,flexDirection:`column`,marginLeft:2,children:[jsxs(Text,{children:[`ANTHROPIC_API_KEY=`,jsx(Text,{color:`gray`,children:`your-key`})]}),jsxs(Text,{children:[`OPENAI_API_KEY=`,jsx(Text,{color:`gray`,children:`your-key`})]}),jsxs(Text,{children:[`AI_GATEWAY_API_KEY=`,jsx(Text,{color:`gray`,children:`your-key`})]})]}),jsx(Box_default,{marginTop:1,children:jsx(Text,{children:`The file will auto-reload when you add a key.`})})]})]});function getHelpText(entrypoint){return[``,source_default.bold(`How to Build Your Agent`),``,`Blink has two modes that work together to help you build and test agents:`,``,source_default.hex(colors.edit).bold(` Edit Mode`)+` - AI helps you build your agent`,` • Describe the agent you want to build`,` • The AI will modify your agent code based on your instructions`,` • Changes are written to ${relative$1(process.cwd(),entrypoint)} and auto-reload`,``,source_default.blue.bold(` Run Mode`)+` - Use your agent`,` • Chat with your agent to see how it behaves`,` • Discover what works and what needs improvement`,``,source_default.bold(`The Development Loop:`),` 1. Start in `+source_default.hex(colors.edit)(`Edit mode`)+` (Ctrl+T or /edit) and describe what your agent should do`,` Example: "Add a tool that can search the web"`,``,` 2. Switch to `+source_default.blue(`Run mode`)+` (Ctrl+T or /run) to use your agent`,` Try it out and see if it does what you expect`,``,` 3. Toggle back to `+source_default.hex(colors.edit)(`Edit mode`)+` to refine based on what you learned`,` The edit AI can see the entire chat history, including your conversations!`,` Example: "The search tool failed when I asked about X"`,``,` 4. Repeat until your agent works perfectly`,``,` 5. Deploy with `+source_default.bold(`blink deploy`)+` when ready`,``,source_default.dim(`Tip: Use /reset to start fresh, /new to create separate test chats`)]}function formatTokenCount(count$1){return count$1>=1e6?`${(count$1/1e6).toFixed(1)}M`:count$1>=1e3?`${(count$1/1e3).toFixed(1)}K`:count$1.toString()}async function dev(directory){if(!directory){let cwd$3=process.cwd();try{resolveConfig(cwd$3),directory=cwd$3}catch{let dotBlinkPath=await findNearestEntry(cwd$3,`.blink`);dotBlinkPath&&existsSync$1(join$1(dotBlinkPath,`build`))&&(dotBlinkPath=void 0),directory=dotBlinkPath||cwd$3}}await migrateDataToBlink(directory);let exitWithDump=error$3=>{writeFileSync$1(`error.dump`,inspect$1(error$3,{depth:null})),process.exit(1)};process.addListener(`uncaughtException`,error$3=>{exitWithDump(error$3)}),process.addListener(`unhandledRejection`,error$3=>{exitWithDump(error$3)});try{await startDev({directory})}catch(err){console.error(err),process.exit(1)}finally{process.exit(0)}}export{dev as default};
1908
+ `);break}}}),{exit}=use_app_default(),[exitArmed,setExitArmed]=useState(!1),exitTimerRef=useRef(void 0);useEffect(()=>()=>{exitTimerRef.current&&clearTimeout(exitTimerRef.current)},[]),use_input_default(async(input,key$1)=>{if(key$1.ctrl&&input.toLowerCase()===`c`){if(exitArmed){exit();return}setExitArmed(!0),exitTimerRef.current&&clearTimeout(exitTimerRef.current),exitTimerRef.current=setTimeout(()=>setExitArmed(!1),2e3)}key$1.ctrl&&input===`r`&&(await dev$1.chat.resetChat(),resetTerminal()),key$1.ctrl&&input===`t`&&dev$1.toggleMode(),key$1.ctrl&&input===`n`&&dev$1.newChat(),key$1.escape&&dev$1.chat.stopStreaming()});let keymaps=useMemo(()=>({"⏎":`send`,"Ctrl+T":`toggle mode`,"Ctrl+N":`new chat`,"Ctrl+C":`quit`}),[]),keybindSuggestion=useMemo(()=>{if(exitArmed)return`Ctrl+C again to quit`;if(dev$1.chat.queuedMessages.length>0)return`${dev$1.chat.queuedMessages.length} message(s) queued - Press [Escape] to stop and process queue`;if(dev$1.chat.status===`streaming`)return`Press [Escape] to stop the agent!`},[exitArmed,dev$1.chat.status,dev$1.chat.queuedMessages.length]),{write:write$1}=use_stdout_default(),[epoch,setEpoch]=useState(0),resetTerminal=useCallback(()=>{write$1(clearTerminal),setEpoch(prev=>prev+1)},[write$1]),initialSizeRef=useRef(size);useEffect(()=>{(initialSizeRef.current.columns!==size.columns||initialSizeRef.current.rows!==size.rows)&&(resetTerminal(),initialSizeRef.current=size)},[size.columns,size.rows,resetTerminal]),useEffect(()=>{resetTerminal()},[dev$1.chat.id,resetTerminal]);let optionCommand=useMemo(()=>{if(dev$1.options.schema)return{name:`option`,description:`Adjust your agent's options.`,action:()=>{},completion:async()=>Object.keys(dev$1.options.schema),subcommands:Object.entries(dev$1.options.schema).map(([key$1,value])=>({name:key$1,description:value.label??``,action:args=>{dev$1.options.setOption(key$1,args)},completion:async partialArg=>value.values.map(v$1=>v$1.id)}))}},[dev$1.options]),lastMessageWithApproval=useMemo(()=>{if(dev$1.chat.messages.length===0)return null;let lastMsg=dev$1.chat.messages[dev$1.chat.messages.length-1];return lastMsg.parts.some(part=>isToolOrDynamicToolUIPart(part)&&isToolApprovalOutput(part.output))?lastMsg:null},[dev$1.chat.messages]),staticMessages=useMemo(()=>lastMessageWithApproval?dev$1.chat.messages.slice(0,-1):dev$1.chat.messages,[dev$1.chat.messages,lastMessageWithApproval]);return dev$1.chat.loading?null:jsxs(Fragment,{children:[dev$1.mode===`edit`&&dev$1.editModeMissingApiKey?jsx(MissingApiKeyMessage,{}):null,jsxs(Box_default,{flexDirection:`column`,children:[jsx(Static,{items:[{},...staticMessages],children:(message,index)=>index===0?jsxs(Box_default,{flexDirection:`column`,marginBottom:1,children:[jsxs(Box_default,{children:[jsx(Text,{bold:!0,children:`blink■`}),jsx(Text,{color:`gray`,children:` agent development`})]}),isFirstRun&&jsx(OnboardingMessage,{}),jsxs(Box_default,{marginTop:1,flexDirection:`column`,children:[jsxs(Text,{color:`gray`,children:[`Edit `,dev$1.build.entrypoint,` to hot-reload your agent.`]}),jsxs(Text,{color:`gray`,children:[`Run `,jsx(Text,{color:`blue`,children:`blink deploy`}),` to use your agent in the cloud.`]}),jsxs(Text,{color:`gray`,children:[`Type`,` `,jsx(Text,{bold:!0,color:`cyan`,children:`/help`}),` `,`to see the full guide on how to build, test, and deploy your agent.`]})]})]},`banner`):jsx(Message,{message,previousMessage:index>1?staticMessages.at(index-2):void 0,nextMessage:index<staticMessages.length-2?staticMessages.at(index+2):void 0,maxWidth:size.columns-2},`${message.id}-${index}`)},`messages-${dev$1.chat.id}-${epoch}`),lastMessageWithApproval?jsx(Message,{message:lastMessageWithApproval,previousMessage:staticMessages.length>0?staticMessages[staticMessages.length-1]:void 0,nextMessage:void 0,maxWidth:size.columns-2},lastMessageWithApproval.id):null,dev$1.chat.streamingMessage?jsx(Message,{message:dev$1.chat.streamingMessage,nextMessage:void 0,previousMessage:dev$1.chat.messages.length>0?dev$1.chat.messages.at(dev$1.chat.messages.length-1):void 0,streaming:!0,maxWidth:size.columns-2},dev$1.chat.streamingMessage.id):null,dev$1.chat.queuedLogs.map(log$5=>jsx(Message,{message:log$5,nextMessage:void 0,previousMessage:dev$1.chat.streamingMessage||(dev$1.chat.messages.length>0?dev$1.chat.messages.at(dev$1.chat.messages.length-1):void 0),maxWidth:size.columns-2},log$5.id)),dev$1.showWaitingPlaceholder?jsx(AssistantWaitingPlaceholder,{maxWidth:size.columns-2}):null]}),jsxs(Box_default,{flexDirection:`column`,marginTop:1,children:[dev$1.approval&&jsx(ApprovalInput,{onConfirm:async(approved,autoApprove)=>{approved?await dev$1.approval?.approve(autoApprove):await dev$1.approval?.reject()},onCancel:()=>{},autoApproveEnabled:dev$1.approval.autoApproveEnabled,logger:logger$5}),jsx(text_input_default,{visible:!dev$1.approval,borderColor:colors[dev$1.mode],slashCommands:[{name:`help`,description:`Show help information`,action:()=>{getHelpText(dev$1.build.entrypoint).forEach(line$1=>console.log(line$1))}},{name:`reset`,altNames:[`clear`],description:`Reset the chat`,action:async()=>{await dev$1.chat.resetChat(),resetTerminal()}},{name:`switch`,description:`Switch to a different chat`,action:args=>{dev$1.switchChat(args)},completion:async partialArg=>dev$1.chats.filter(id=>id.startsWith(partialArg))},{name:`new`,description:`Create a new chat`,action:args=>{dev$1.switchChat(args)}},{name:`edit`,description:`Switch to Edit mode (AI helps build your agent)`,action:()=>{dev$1.chat.stopStreaming(),dev$1.setMode(`edit`)}},{name:`run`,description:`Switch to Run mode (use your agent)`,action:()=>{dev$1.chat.stopStreaming(),dev$1.setMode(`run`)}},...optionCommand?[optionCommand]:[]],onSubmit:value=>(dev$1.chat.sendMessage({id:crypto.randomUUID(),role:`user`,parts:[{type:`text`,text:value}],created_at:new Date().toISOString(),metadata:void 0,mode:dev$1.mode}),!0),onLayoutChange:()=>{}})]}),jsxs(Box_default,{children:[jsxs(Box_default,{marginLeft:2,gap:3,children:[jsxs(Text,{color:`gray`,children:[`mode: `,jsx(Text,{color:colors[dev$1.mode],children:dev$1.mode})]}),jsxs(Text,{color:`gray`,children:[`chat: `,jsx(Text,{children:dev$1.chat.id})]})]}),jsx(Spacer,{}),keybindSuggestion?jsx(Text,{color:`yellow`,children:keybindSuggestion+` `}):jsx(Box_default,{gap:3,marginRight:2,children:Object.entries(keymaps).map(([key$1,value])=>jsx(Text,{children:source_default.gray.dim(key$1+` `+value)},key$1))})]}),dev$1.tokenUsage||dev$1.options.schema&&dev$1.options.selected?jsxs(Box_default,{marginLeft:2,gap:3,children:[dev$1.tokenUsage?jsxs(Box_default,{gap:1,children:[jsx(Text,{color:`gray`,children:`tokens:`}),jsx(Text,{color:`cyan`,children:formatTokenCount(dev$1.tokenUsage.inputTokens)}),jsx(Text,{color:`gray`,children:`→`}),jsx(Text,{color:`green`,children:formatTokenCount(dev$1.tokenUsage.outputTokens)}),dev$1.tokenUsage.cachedInputTokens!==void 0&&dev$1.tokenUsage.cachedInputTokens>0?jsxs(Text,{children:[jsx(Text,{color:`gray`,children:`(`}),jsx(Text,{color:`blue`,children:formatTokenCount(dev$1.tokenUsage.cachedInputTokens)}),jsx(Text,{color:`gray`,children:` cached)`})]}):null]}):null,dev$1.options.schema&&dev$1.options.selected?jsxs(Box_default,{gap:1,children:[jsx(Text,{color:`gray`,children:`options:`}),Object.entries(dev$1.options.selected).map(([key$1,value])=>dev$1.options.schema[key$1]?jsxs(Box_default,{gap:0,children:[jsxs(Text,{color:`gray`,children:[key$1,`=`]}),jsx(Text,{color:`gray`,children:value})]},key$1):null)]}):null]}):null]})},ApprovalInput=({onConfirm,onCancel,autoApproveEnabled,logger:logger$5})=>{let[selected,setSelected]=useState(`yes`),[processing$2,setProcessing]=useState(!1),processingRef=useRef(!1),handleConfirm=React.useCallback(async(approved,autoApprove)=>{if(!processingRef.current){processingRef.current=!0,setProcessing(!0);try{await onConfirm(approved,autoApprove)}catch(err){logger$5.error(`system`,`Error processing approval:`,err)}finally{processingRef.current=!1,setProcessing(!1)}}},[onConfirm]),handleCancel=React.useCallback(()=>{processingRef.current||onCancel()},[onCancel]);return use_input_default((input,key$1)=>{let lower=input.toLowerCase();if(key$1.escape){handleCancel();return}if(lower===`y`){handleConfirm(!0);return}if(lower===`a`){handleConfirm(!0,!0);return}if(lower===`n`){handleConfirm(!1);return}if(key$1.leftArrow){setSelected(prev=>prev===`yes`?`no`:prev===`no`?`auto`:`yes`);return}if(key$1.rightArrow||key$1.tab){setSelected(prev=>prev===`yes`?`auto`:prev===`auto`?`no`:`yes`);return}key$1.return&&(selected===`yes`?handleConfirm(!0):selected===`auto`?handleConfirm(!0,!0):handleConfirm(!1))}),jsxs(Box_default,{gap:2,flexDirection:`row`,children:[jsx(Text,{children:processing$2?`Processing...`:autoApproveEnabled?`(auto-approved)`:`Approve?`}),!processing$2&&!autoApproveEnabled&&jsxs(Fragment,{children:[jsx(Box_default,{children:jsxs(Text,{children:[`[`,jsx(Text,{color:selected===`yes`?`green`:`gray`,bold:selected===`yes`,children:`Yes`}),`/`,jsx(Text,{color:selected===`auto`?`cyan`:`gray`,bold:selected===`auto`,children:`Auto`}),`/`,jsx(Text,{color:selected===`no`?`red`:`gray`,bold:selected===`no`,children:`No`}),`]`]})}),jsx(Text,{color:`gray`,children:`(y/a/n, ←/→ then ⏎)`})]})]})},Message=React.memo(({message,previousMessage,maxWidth,streaming})=>{let prefix,contentColor,marginTop=previousMessage?1:0;if(isLogMessage(message)){let logLevel=message.metadata.level,logSource=message.metadata.source,logMessage=message.metadata.message,isError$1=logLevel===`error`;return prefix=null,contentColor=isError$1?`red`:`gray`,jsxs(Box_default,{flexDirection:`row`,gap:1,children:[logSource===`agent`?jsxs(Text,{color:isError$1?`red`:void 0,bold:!0,children:[`[`,logSource,`]`]}):null,logSource===`system`&&isError$1?jsx(Text,{color:`red`,bold:!0,children:`[error]`}):null,jsx(Box_default,{gap:1,flexDirection:`column`,width:maxWidth,children:jsx(Text,{color:`gray`,children:logMessage})})]})}switch(message.role){case`system`:prefix=jsx(Text,{children:`t `}),contentColor=`gray`;break;case`user`:prefix=jsx(Text,{color:`magenta`,bold:!0,children:`▎`}),contentColor=`gray`;break;case`assistant`:let isEditMode=message.mode===`edit`;prefix=jsx(Text,{color:isEditMode?colors.edit:colors.run,children:`> `}),contentColor=`white`;break}let content=jsx(Box_default,{gap:1,flexDirection:`column`,width:maxWidth,children:message.parts.map((part,index)=>{if(part.type===`text`)return jsx(markdown_default,{id:message.id,maxWidth,streaming,children:part.text},index);if(part.type===`reasoning`)return jsxs(Text,{color:`gray`,children:[`Reasoning: `,part.text]},index);if(isToolOrDynamicToolUIPart(part))return jsx(ToolCall,{part,maxWidth,streaming},index)}).filter(Boolean)});return jsxs(Box_default,{marginTop,flexDirection:`row`,children:[jsx(Box_default,{children:jsx(Text,{color:contentColor,children:prefix})}),content]})},(prev,next)=>prev.maxWidth===next.maxWidth?!!(prev.nextMessage&&next.nextMessage&&prev.nextMessage.id===next.nextMessage.id):!1),AssistantWaitingPlaceholder=({maxWidth})=>jsxs(Box_default,{marginTop:1,flexDirection:`row`,children:[jsx(Box_default,{children:jsx(Text,{color:`white`,children:null})}),jsx(Box_default,{width:maxWidth,children:jsxs(Text,{color:`gray`,children:[jsx(build_default,{}),` Waiting for response...`]})})]}),ToolCall=({part,maxWidth,streaming})=>{let name$2=getToolOrDynamicToolName(part),input=useMemo(()=>{let labels={};return typeof part.input!=`object`||part.input===null||Object.entries(part.input).forEach(([key$1,value])=>{labels[key$1]=JSON.stringify(value)}),labels},[part]),state=useMemo(()=>{switch(part.state){case`input-available`:case`input-streaming`:return streaming?`streaming`:`error`;case`output-available`:return isToolApprovalOutput(part.output)&&part.output.outcome===`pending`?`pending-approval`:`done`;case`output-error`:return`error`}},[part,streaming]),output=useMemo(()=>{if(isToolApprovalOutput(part.output))return{state:part.output.outcome};if(!part.output)return;if(typeof part.output==`string`)return part.output;let labels={};return Array.isArray(part.output)?part.output.forEach((item,index)=>{labels[`${index}`]=JSON.stringify(item)}):typeof part.output==`object`&&Object.entries(part.output).forEach(([key$1,value])=>{labels[key$1]=JSON.stringify(value)}),labels},[part,state]),error$3=useMemo(()=>{if(part.state===`output-error`)return part.errorText},[part]),icon=useMemo(()=>{switch(state){case`done`:case`error`:return`⚒`;case`pending-approval`:return`⧗`}return jsx(build_default,{type:`dots`})},[state]);return jsxs(Box_default,{flexDirection:`column`,children:[jsxs(Box_default,{gap:1,children:[jsx(Text,{color:state===`error`?`red`:`gray`,bold:!0,children:icon}),jsx(Text,{children:name$2})]}),jsxs(Box_default,{marginLeft:2,flexDirection:`column`,overflowX:`hidden`,width:maxWidth?maxWidth-4:void 0,gap:0,children:[jsx(Text,{color:`gray`,bold:!0,children:`Input:`}),Object.entries(input).map(([key$1,value])=>jsxs(Box_default,{marginLeft:2,children:[jsx(Text,{color:`gray`,children:key$1}),jsx(Text,{color:`blackBright`,children:`=`}),jsx(Box_default,{width:maxWidth?maxWidth-6-1-2-key$1.length:void 0,children:jsx(Text,{wrap:`truncate-middle`,children:value})})]},key$1)),output&&jsxs(Fragment,{children:[jsx(Text,{color:`gray`,bold:!0,children:`Output:`}),typeof output==`string`?jsx(Box_default,{marginLeft:2,children:jsx(Text,{children:output})}):isToolApprovalOutput(part.output)?jsx(Box_default,{marginLeft:2,children:jsx(Text,{color:part.output.outcome===`approved`?`green`:part.output.outcome===`rejected`?`red`:`yellow`,bold:!0,children:part.output.outcome===`approved`?`✓ Approved`:part.output.outcome===`rejected`?`✗ Rejected`:`⧗ Pending approval`})}):jsx(Box_default,{flexDirection:`column`,children:Object.entries(output).map(([key$1,value])=>jsxs(Box_default,{marginLeft:2,children:[jsx(Text,{color:`gray`,children:key$1}),jsx(Text,{color:`blackBright`,children:`=`}),jsx(Box_default,{width:maxWidth?maxWidth-6-1-key$1.length:void 0,children:jsx(Text,{wrap:`truncate-middle`,children:value})})]},key$1))})]}),error$3&&jsxs(Fragment,{children:[jsx(Text,{color:`gray`,bold:!0,children:`Error:`}),jsx(Text,{color:`red`,children:error$3})]})]})]})},OnboardingMessage=()=>jsxs(Box_default,{flexDirection:`column`,marginTop:1,marginBottom:1,borderStyle:`round`,borderColor:`gray`,paddingX:1,paddingY:0,children:[jsx(Box_default,{children:jsx(Text,{bold:!0,children:`Quick Start: Building Your Agent`})}),jsxs(Box_default,{marginTop:1,flexDirection:`column`,children:[jsx(Text,{children:`Blink has two modes:`}),jsxs(Box_default,{marginTop:1,flexDirection:`column`,marginLeft:2,children:[jsxs(Text,{children:[jsx(Text,{bold:!0,color:colors.edit,children:`• Edit`}),jsx(Text,{children:` mode helps you build your agent`})]}),jsxs(Text,{children:[jsx(Text,{bold:!0,color:colors.run,children:`• Run`}),jsx(Text,{children:` mode lets you interact with it`})]})]}),jsx(Box_default,{marginTop:1,children:jsxs(Text,{children:[`Switch between them with`,` `,jsx(Text,{bold:!0,color:`cyan`,children:`Ctrl+T`}),` `,`or`,` `,jsx(Text,{bold:!0,color:`cyan`,children:`/edit`}),` `,`and`,` `,jsx(Text,{bold:!0,color:`cyan`,children:`/run`}),`.`]})})]})]}),MissingApiKeyMessage=()=>jsxs(Box_default,{flexDirection:`column`,marginTop:1,marginBottom:1,borderStyle:`round`,borderColor:`yellow`,paddingX:1,paddingY:0,children:[jsx(Box_default,{children:jsx(Text,{bold:!0,color:`yellow`,children:`⚠ Edit Mode Requires API Key`})}),jsxs(Box_default,{marginTop:1,flexDirection:`column`,children:[jsxs(Text,{children:[`Add one of these to your `,jsx(Text,{bold:!0,children:`.env.local`}),` file:`]}),jsxs(Box_default,{marginTop:1,flexDirection:`column`,marginLeft:2,children:[jsxs(Text,{children:[`ANTHROPIC_API_KEY=`,jsx(Text,{color:`gray`,children:`your-key`})]}),jsxs(Text,{children:[`OPENAI_API_KEY=`,jsx(Text,{color:`gray`,children:`your-key`})]}),jsxs(Text,{children:[`AI_GATEWAY_API_KEY=`,jsx(Text,{color:`gray`,children:`your-key`})]})]}),jsx(Box_default,{marginTop:1,children:jsx(Text,{children:`The file will auto-reload when you add a key.`})})]})]});function getHelpText(entrypoint){return[``,source_default.bold(`How to Build Your Agent`),``,`Blink has two modes that work together to help you build and test agents:`,``,source_default.hex(colors.edit).bold(` Edit Mode`)+` - AI helps you build your agent`,` • Describe the agent you want to build`,` • The AI will modify your agent code based on your instructions`,` • Changes are written to ${relative$1(process.cwd(),entrypoint)} and auto-reload`,``,source_default.blue.bold(` Run Mode`)+` - Use your agent`,` • Chat with your agent to see how it behaves`,` • Discover what works and what needs improvement`,``,source_default.bold(`The Development Loop:`),` 1. Start in `+source_default.hex(colors.edit)(`Edit mode`)+` (Ctrl+T or /edit) and describe what your agent should do`,` Example: "Add a tool that can search the web"`,``,` 2. Switch to `+source_default.blue(`Run mode`)+` (Ctrl+T or /run) to use your agent`,` Try it out and see if it does what you expect`,``,` 3. Toggle back to `+source_default.hex(colors.edit)(`Edit mode`)+` to refine based on what you learned`,` The edit AI can see the entire chat history, including your conversations!`,` Example: "The search tool failed when I asked about X"`,``,` 4. Repeat until your agent works perfectly`,``,` 5. Deploy with `+source_default.bold(`blink deploy`)+` when ready`,``,source_default.dim(`Tip: Use /reset to start fresh, /new to create separate test chats`)]}function formatTokenCount(count$1){return count$1>=1e6?`${(count$1/1e6).toFixed(1)}M`:count$1>=1e3?`${(count$1/1e3).toFixed(1)}K`:count$1.toString()}async function dev(directory){if(!directory){let cwd$3=process.cwd();try{resolveConfig(cwd$3),directory=cwd$3}catch{let dotBlinkPath=await findNearestEntry(cwd$3,`.blink`);dotBlinkPath&&existsSync$1(join$1(dotBlinkPath,`build`))&&(dotBlinkPath=void 0),directory=dotBlinkPath||cwd$3}}await migrateDataToBlink(directory);let exitWithDump=error$3=>{writeFileSync$1(`error.dump`,inspect$1(error$3,{depth:null})),process.exit(1)};process.addListener(`uncaughtException`,error$3=>{exitWithDump(error$3)}),process.addListener(`unhandledRejection`,error$3=>{exitWithDump(error$3)});try{await startDev({directory})}catch(err){console.error(err),process.exit(1)}finally{process.exit(0)}}export{dev as default};