@tokmizer/plugin 0.9.59 → 0.9.61
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/README.md +45 -14
- package/command-templates/tkr-status.md +1 -1
- package/dist/bin/tkr-codex-hook.js +4 -4
- package/dist/bin/tkr-daemon.js +108 -106
- package/dist/bin/tkr-exec +57 -57
- package/dist/bin/tkr-exec.js +57 -57
- package/dist/bin/tkr-processor.js +85 -83
- package/dist/bin/tkr-shim.js +4 -4
- package/dist/bin/tkr.js +85 -85
- package/dist/hooks-host/command-expansion.js +3 -0
- package/dist/hooks-host/post-tool-use.js +79 -77
- package/dist/hooks-host/pre-tool-use.js +5 -5
- package/dist/hooks-host/reducer-stop.js +13 -13
- package/dist/hooks-host/session-recap.js +1 -1
- package/dist/index.js +4 -4
- package/dist/native/manifest.json +12 -12
- package/dist/native/single.json +12 -12
- package/dist/native/tkr-exec-darwin-arm64 +0 -0
- package/dist/native/tkr-exec-darwin-x64 +0 -0
- package/dist/native/tkr-exec-linux-arm64 +0 -0
- package/dist/native/tkr-exec-linux-x64 +0 -0
- package/dist/native/tkr-exec-win32-arm64.exe +0 -0
- package/dist/native/tkr-exec-win32-x64.exe +0 -0
- package/hooks/hooks.json +12 -0
- package/package.json +7 -7
|
@@ -1,121 +1,123 @@
|
|
|
1
1
|
import { createRequire as __tkrCreateRequire } from "node:module"; const require = __tkrCreateRequire(import.meta.url);
|
|
2
|
-
var
|
|
3
|
-
`),!0)}var
|
|
4
|
-
`)}function lt(e,t){if(typeof e!="string")return!1;if(e.includes(t))return!0;let n=at(t);return n?.length?new RegExp(`^\\s*${
|
|
5
|
-
`)}function Dr(e){let t=[],n=[];for(let r of e.split(/(?<=\n)/))/^\s*\[\[?\s*[A-Za-z0-9_-]/.test(r)&&n.length&&(t.push(n.join("")),n=[]),n.push(r);return n.length&&t.push(n.join("")),t}function Bt(e){return/^\s*\[\[hooks\]\]/.test(e)&&new RegExp(`^\\s*name\\s*=\\s*"${
|
|
2
|
+
var Zu=Object.create;var Sr=Object.defineProperty;var Gu=Object.getOwnPropertyDescriptor;var Ju=Object.getOwnPropertyNames;var Wu=Object.getPrototypeOf,Ku=Object.prototype.hasOwnProperty;var ve=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var g=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var X=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},Pt=(e,t)=>{for(var n in t)Sr(e,n,{get:t[n],enumerable:!0})},Vu=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Ju(t))!Ku.call(e,s)&&s!==n&&Sr(e,s,{get:()=>t[s],enumerable:!(r=Gu(t,s))||r.enumerable});return e};var qu=(e,t,n)=>(n=e!=null?Zu(Wu(e)):{},Vu(t||!e||!e.__esModule?Sr(n,"default",{value:e,enumerable:!0}):n,e));import Qu from"node:os";import{join as Nt}from"node:path";function S(){return process.env.TOKMIZER_HOME||Nt(Qu.homedir(),".tokmizer")}function Dt(){return Nt(S(),"install-id")}function vr(){return Nt(S(),"content-cache")}function Ao(){return Nt(S(),"restore.json")}function Er(e){return Nt(vr(),e)}var L=g(()=>{"use strict"});import{join as ef}from"node:path";import{mkdir as w_,readFile as tf,writeFile as x_,unlink as S_,rename as v_}from"node:fs/promises";function rf(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e&&e.length>0?e:"Etc/UTC"}catch{return"Etc/UTC"}}function sf(e){return e?.dir??S()}async function Le(e){let t=sf(e);try{let n=await tf(ef(t,nf),"utf8"),r=JSON.parse(n),s=r.timeZone;return{...r,lastSettingsRevision:r.lastSettingsRevision??0,get timeZone(){return s??=rf()},bonusActive:r.bonusActive??!1,...r.bonusResetAt!==void 0?{bonusResetAt:r.bonusResetAt}:{}}}catch{return null}}var nf,Mt=g(()=>{"use strict";L();nf="state.json"});import{basename as of}from"node:path";function at(e){let t=of(e).replace(/\.(m?js|ts)$/,"");if(t==="tkr")return[];for(let[n,r]of Object.entries(af))if(r===t)return[n];for(let[n,r]of Object.entries(lf))if(r===t)return["hook",n];return null}var af,lf,Ft=g(()=>{"use strict";af={exec:"tkr-exec",processor:"tkr-processor",daemon:"tkr-daemon","shim-run":"tkr-shim"},lf={codex:"tkr-codex-hook",cursor:"tkr-cursor-hook",gemini:"tkr-gemini-hook",agent:"tkr-agent-hook",copilot:"tkr-copilot-hook",droid:"tkr-droid-hook",trae:"tkr-trae-hook",qwen:"tkr-qwen-hook",crush:"tkr-crush-hook",junie:"tkr-junie-hook",zcode:"tkr-zcode-hook",grok:"tkr-grok-hook",context:"tkr-context-hook","pre-tool-use":"pre-tool-use","post-tool-use":"post-tool-use","session-recap":"session-recap","session-start":"on-session-start","reducer-session-start":"reducer-session-start","reducer-prompt-submit":"reducer-prompt-submit","reducer-stop":"reducer-stop","command-expansion":"command-expansion"}});function he(){return!1}function Lt(e,t=process.execPath){let n=he()?at(e):null;return n?[process.execPath,...n]:[t,e]}var Ee=g(()=>{"use strict";Ft()});import{rmSync as cf,statSync as uf}from"node:fs";import{join as Co}from"node:path";function gn(){return Co(S(),"shims")}function Tr(){return Co(S(),"fail-open")}function Oo(e=Date.now()){try{if(e-uf(Tr()).mtimeMs<ff)return!0;cf(Tr(),{force:!0})}catch{}return!1}var ff,jt=g(()=>{"use strict";L();ff=24*36e5});var Rr=g(()=>{"use strict";L();Ee();Ft();jt()});import{chmod as gf,lstat as Po,mkdir as yf,readFile as Ar,rename as bf,rm as U_,unlink as No,writeFile as kf}from"node:fs/promises";import{createHash as Do}from"node:crypto";import{basename as _f,join as Mo}from"node:path";function Fo(){return Mo(S(),"backup","config")}function $r(e){let t=Or(e),n=Do("sha256").update(t).digest("hex").slice(0,16),r=_f(t).replace(/[^A-Za-z0-9._-]/g,"_").slice(0,80);return Mo(Fo(),`${n}-${r}`)}function Lo(e){return`${$r(e)}.written`}function jo(e){return Do("sha256").update(e).digest("hex")}async function xf(e){try{return await Po(e),!0}catch{return!1}}async function Cr(e,t){let n=`${e}.tmp-${process.pid}`;try{return await yf(Fo(),{recursive:!0,mode:448}),await kf(n,t,{mode:384}),await gf(n,384),await bf(n,e),!0}catch{return await No(n).catch(()=>{}),!1}}async function Sf(e,t){let n=`${e}${wf}`;try{if(!(await Po(n)).isFile())return!1}catch{return!1}let r=!await xf(t);if(r&&!await Cr(t,await Ar(n,"utf8")))throw new Error("backup");return await No(n).catch(()=>{}),r}async function vf(e,t){try{return(await Ar(Lo(e),"utf8")).trim()===jo(t)}catch{return!1}}async function Ho(e,t){let n=t;try{n===void 0&&(n=await Ar(e,"utf8"))}catch(r){return r.code==="ENOENT"}try{if(await Sf(e,$r(e)))return!0}catch{return!1}return await vf(e,n)?!0:Cr($r(e),n)}async function yn(e,t,n){return!await Ho(e,n)||!await kn(e,t)?!1:(await Cr(Lo(e),`${jo(t)}
|
|
3
|
+
`),!0)}var wf,bn=g(()=>{"use strict";L();ge();wf=".tkr-bak"});import{readFile as Ef,writeFile as Tf,rename as Rf,mkdir as Uo,chmod as $f,stat as Af,unlink as Cf}from"node:fs/promises";import{existsSync as Of,lstatSync as If,readlinkSync as Pf,realpathSync as Bo}from"node:fs";import{basename as Nf,dirname as _n,join as Df,resolve as zo}from"node:path";function H(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}async function Te(e){if(!Of(e))return{};try{let t=JSON.parse(await Ef(e,"utf8"));return H(t)?t:null}catch{return null}}function Or(e){let t=zo(e);for(let n=0;n<32;n++){try{return Bo(t)}catch{}try{if(!If(t).isSymbolicLink())break;t=zo(_n(t),Pf(t))}catch{break}}try{return Df(Bo(_n(t)),Nf(t))}catch{return t}}async function kn(e,t){let n=Or(e),r=`${n}.tmp-${process.pid}`;try{await Uo(_n(n),{recursive:!0});let s=384;try{s=(await Af(n)).mode&511}catch{}return await Tf(r,t,{mode:s}),await $f(r,s),await Rf(r,n),!0}catch{try{await Cf(r)}catch{}return!1}}async function Re(e,t){try{await Uo(_n(e),{recursive:!0})}catch{return!1}return yn(e,`${JSON.stringify(t,null,2)}
|
|
4
|
+
`)}function lt(e,t){if(typeof e!="string")return!1;if(e.includes(t))return!0;let n=at(t);return n?.length?new RegExp(`^\\s*${Mf}\\s+${n.join("\\s+")}(?:\\s|$)`,"i").test(e):!1}function wn(e,t,n,r){let s=i=>i!==n&&t(i),o=!1;for(let i=e.length-1;i>=0;i--){let a=e[i];if(!r){s(a)&&(e.splice(i,1),o=!0);continue}if(!H(a)||!Array.isArray(a.hooks))continue;let l=a.hooks.filter(c=>!s(c));l.length!==a.hooks.length&&(o=!0,l.length?a.hooks=l:e.splice(i,1))}return o}var Mf,ge=g(()=>{"use strict";Ft();Ee();Rr();bn();Mf=String.raw`(?:'(?:(?:[^']|'\\'')*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?'|"(?:[^"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?"|(?:[^\s'"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?)`});import{existsSync as iw,readFileSync as Ff}from"node:fs";import{join as Lf}from"node:path";import jf from"node:os";function Bf(){return Lf(jf.homedir(),".cursor","hooks.json")}function zf(e){return H(e)&<(e.command,Hf)}function Uf(e){let t=H(e.hooks)?e.hooks:{},n=Array.isArray(t[Zo])?t[Zo]:[];return{hooks:t,entries:n}}function Go(){try{let e=JSON.parse(Ff(Bf(),"utf8"));return Uf(e).entries.some(zf)}catch{return!1}}var Hf,Zo,Jo=g(()=>{"use strict";ge();Hf="tkr-cursor-hook",Zo="preToolUse"});import{existsSync as dw,readFileSync as Zf}from"node:fs";import{join as Gf}from"node:path";import Jf from"node:os";function Kf(){return Gf(process.env.GEMINI_CLI_HOME||Jf.homedir(),".gemini","settings.json")}function Vf(e){return H(e)&<(e.command,Wf)}function qf(e){return(Array.isArray(e.hooks)?e.hooks:[]).find(Vf)}function Yf(e){let t=H(e.hooks)?e.hooks:{},n=Array.isArray(t[Wo])?t[Wo]:[];return{hooks:t,groups:n}}function Ko(){try{let e=JSON.parse(Zf(Kf(),"utf8"));return Yf(e).groups.some(t=>qf(t)!=null)}catch{return!1}}var Wf,Wo,Vo=g(()=>{"use strict";ge();Wf="tkr-gemini-hook",Wo="BeforeTool"});import{existsSync as kw,accessSync as _w,constants as ww,readFileSync as Xf}from"node:fs";function ed(e){return e.includes(Qf)}function qo(e){try{return ed(Xf(e,"utf8"))}catch{return!1}}var Qf,Yo=g(()=>{"use strict";ge();Ee();bn();L();Qf='"rewrite", "--host"'});import{readFile as Qo,mkdir as td}from"node:fs/promises";import{existsSync as Nr,readFileSync as ei}from"node:fs";import{dirname as nd,join as Pr}from"node:path";import ti from"node:os";function zt(){return Pr(process.env.VIBE_HOME||Pr(ti.homedir(),".vibe"),"hooks.toml")}function Xo(e){return JSON.stringify(e)}function rd(e){return["[[hooks]]",`name = ${Xo(ni)}`,'type = "pre_tool"','match = "bash"',`command = ${Xo(e)}`,"timeout = 10.0","strict = false",'description = "Route shell commands through tokmizer."',""].join(`
|
|
5
|
+
`)}function Dr(e){let t=[],n=[];for(let r of e.split(/(?<=\n)/))/^\s*\[\[?\s*[A-Za-z0-9_-]/.test(r)&&n.length&&(t.push(n.join("")),n=[]),n.push(r);return n.length&&t.push(n.join("")),t}function Bt(e){return/^\s*\[\[hooks\]\]/.test(e)&&new RegExp(`^\\s*name\\s*=\\s*"${ni}"\\s*$`,"m").test(e)}async function ri(e,t){try{await td(nd(e),{recursive:!0})}catch{return!1}return yn(e,t)}function si(){try{return Dr(ei(zt(),"utf8")).some(Bt)}catch{return!1}}async function oi(e){let t=zt(),n="";try{Nr(t)&&(n=await Qo(t,"utf8"))}catch{return"error"}let r=rd(e),s=Dr(n),o=s.filter(Bt);if(o.length===1&&o[0].trimEnd()===r.trimEnd())return"present";let i=s.filter(l=>!Bt(l)).join("").trimEnd(),a=i?`${i}
|
|
6
6
|
|
|
7
|
-
${r}`:r;return await
|
|
8
|
-
`:"";return await Xo(e,s)?"removed":"error"}function Ut(){return Pr(qo.homedir(),".gemini","config","hooks.json")}function nd(e){return{enabled:!0,PreToolUse:[{matcher:"run_command",hooks:[{type:"command",command:e,timeout:10}]}]}}function ni(){try{let e=JSON.parse(Vo(Ut(),"utf8"));return H(e)&&H(e[Ht])}catch{return!1}}async function ri(e){let t=Ut(),n=await Te(t);if(!n)return"error";let r=nd(e),s=n[Ht];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[Ht]=r,await $e(t,n)?s===void 0?"added":"updated":"error")}async function si(){let e=Ut();if(!Nr(e))return"absent";let t=await Te(e);return t?Ht in t?(delete t[Ht],await $e(e,t)?"removed":"error"):"absent":"error"}var Yo,Ht,oi=g(()=>{"use strict";ge();bn();Yo="tokmizer-rewrite",Ht="tokmizer-rewrite"});import{dirname as Fw,join as te}from"node:path";import rd from"node:os";function ai(e){return e.kind==="hook"?e.installed():Go(e.files()[0].target)}var Zt,Mr,ii,li=g(()=>{"use strict";ge();Jo();oi();Zt=()=>rd.homedir(),Mr=()=>process.env.XDG_CONFIG_HOME||te(Zt(),".config"),ii=[{host:"opencode",label:"OpenCode",command:"setup-opencode",kind:"shim",files:()=>[{template:"opencode.js",target:te(Mr(),"opencode","plugins","tokmizer.js")}],next:"Restart OpenCode so it loads the plugin."},{host:"kilo",label:"Kilo Code",command:"setup-kilo",kind:"shim",files:()=>[{template:"kilo.js",target:te(Mr(),"kilo","plugin","tokmizer.js")}],next:"Restart Kilo Code (CLI or VS Code extension) so it loads the plugin."},{host:"amp",label:"Amp",command:"setup-amp",kind:"shim",files:()=>[{template:"amp.js",target:te(Mr(),"amp","plugins","tokmizer.js")}],next:"Reload plugins in Amp (or restart it), then check it with: amp plugins list"},{host:"vibe",label:"Mistral Vibe",command:"setup-vibe",kind:"hook",file:zt,installed:Qo,ensure:ei,remove:ti,next:"Restart Vibe so it reads hooks.toml."},{host:"antigravity",label:"Antigravity",command:"setup-antigravity",kind:"hook",file:Ut,installed:ni,ensure:ri,remove:si,next:"Restart Antigravity, then check it with /hooks."},{host:"openclaw",label:"OpenClaw",command:"setup-openclaw",kind:"shim",files:()=>{let e=te(Zt(),".openclaw","extensions","tokmizer");return["index.js","openclaw.plugin.json","package.json"].map(t=>({template:`openclaw/${t}`,target:te(e,t)}))},next:"Run: openclaw plugins enable tokmizer && openclaw gateway restart"},{host:"pi",label:"Pi",command:"setup-pi",kind:"shim",files:()=>[{template:"pi.js",target:te(process.env.PI_CODING_AGENT_DIR||te(Zt(),".pi","agent"),"extensions","tokmizer.js")}],next:"Restart Pi (or run /reload) so it loads the extension."},{host:"omp",label:"Oh My Pi",command:"setup-omp",kind:"shim",files:()=>[{template:"omp.js",target:te(Zt(),".omp","agent","extensions","tokmizer.js")}],next:"Restart omp so it loads the extension."},{host:"hermes",label:"Hermes",command:"setup-hermes",kind:"shim",files:()=>{let e=te(process.env.HERMES_HOME||te(Zt(),".hermes"),"plugins","tokmizer");return["__init__.py","plugin.yaml"].map(t=>({template:`hermes/${t}`,target:te(e,t)}))},next:"Run: hermes plugins enable tokmizer, then restart Hermes (needs Hermes v2026.8.16 or newer)."}]});import{existsSync as sd,readFileSync as od}from"node:fs";function xn(e,t){return H(e)&<(e.command,t)}function ci(e){return e.path??(e.nested?["hooks"]:[])}function ui(e,t){let n=e;for(let r of ci(t))H(n[r])||(n[r]={}),n=n[r];return n}function fi(e,t){let n=e;for(let s of ci(t))n=H(n)?n[s]:void 0;if(!H(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function id(e){return H(e)&&Array.isArray(e.hooks)?e.hooks:[]}function di(e,t){return(t.matcher===void 0?e:e.flatMap(id)).filter(r=>xn(r,t.mark))}function pi(e,t){return di(fi(e,t),t).length>0}function Fr(e,t){try{let n=JSON.parse(od(e,"utf8"));return H(n)&&pi(n,t)}catch{return!1}}function ad(e,t,n){let r=ui(e,t),s=Array.isArray(r[t.event])?r[t.event]:[];r[t.event]=s;let o=di(s,t)[0],i=t.entry(n);if(o){let a=wn(s,c=>xn(c,t.mark),o,t.matcher!==void 0),l=Object.entries(i).filter(([c,u])=>JSON.stringify(o[c])!==JSON.stringify(u));if(!l.length&&!a)return"present";for(let[c,u]of l)o[c]=u;return"updated"}return s.push(t.matcher===void 0?i:{matcher:t.matcher,hooks:[i]}),"added"}function ld(e,t){if(!pi(e,t))return!1;let n=ui(e,t),r=fi(e,t),s=t.matcher===void 0?r.filter(o=>!xn(o,t.mark)):r.map(o=>H(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!xn(i,t.mark))}:o).filter(o=>!H(o)||!Array.isArray(o.hooks)||o.hooks.length>0);return s.length?n[t.event]=s:delete n[t.event],!0}async function Lr(e,t,n){let r=await Te(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=ad(r,t,n);return s==="present"||await $e(e,r)?s:"error"}async function Sn(e,t){if(!sd(e))return"absent";let n=await Te(e);return n?ld(n,t)?await $e(e,n)?"removed":"error":"absent":"error"}var mi=g(()=>{"use strict";ge()});import{existsSync as Hr,readFileSync as cd}from"node:fs";import{join as U}from"node:path";import ud from"node:os";function le(){return ud.homedir()}function bi(e){return e.version===void 0&&(e.version=1),e.version===1}function fd(e,t,n){return Promise.all(e.map(r=>Lr(r,t,n))).then(r=>r.includes("error")?"error":r.includes("updated")?"updated":r.includes("added")?"added":"present")}function dd(e,t){return Promise.all(e.map(n=>Sn(n,t))).then(n=>n.includes("error")?"error":n.includes("removed")?"removed":"absent")}function je(e,t){return{...e,installed:()=>e.files().some(n=>Fr(n,t)),ensure:n=>fd(e.files(),t,n),remove:()=>dd(e.files(),t)}}function md(){return U(process.env.COPILOT_HOME||U(le(),".copilot"),"hooks","tokmizer.json")}function gd(){let e=[U(le(),".trae","hooks.json")];return Hr(U(le(),".trae-cn"))&&e.push(U(le(),".trae-cn","hooks.json")),e}function bd(){return U(process.env.QWEN_HOME||U(le(),".qwen"),"settings.json")}function _d(){return U(process.env.XDG_CONFIG_HOME||U(le(),".config"),"crush","crush.json")}function xd(){return U(le(),".junie","config.json")}function Sd(e){return e.hooks===void 0&&(e.hooks={}),H(e.hooks)?(e.hooks.enabled===void 0&&(e.hooks.enabled=!0),e.hooks.events===void 0||H(e.hooks.events)):!1}function Ed(){return U(le(),".zcode","cli","config.json")}function $d(){return U(le(),".grok","hooks","tokmizer.json")}function jr(){return U(le(),".factory")}function vn(){return[{file:U(jr(),"hooks.json"),spec:Br},{file:U(jr(),"hooks","hooks.json"),spec:Br},{file:U(jr(),"settings.json"),spec:Ad}]}function hi(e){try{let t=JSON.parse(cd(e,"utf8"));return H(t)?t:null}catch{return null}}function gi(e,t){let n=t?e?.hooks:e;return H(n)&&Array.isArray(n.PreToolUse)&&n.PreToolUse.length>0}function yi(){let[e,t,n]=vn(),r=Hr(e.file)?e:Hr(t.file)?t:null;return r&&gi(hi(r.file),!1)?r:gi(hi(n.file),!0)?n:r??e}var pd,hd,yd,kd,wd,vd,Td,Rd,Br,Ad,Cd,ki,_i=g(()=>{"use strict";ge();mi();pd={mark:"tkr-copilot-hook",event:"PreToolUse",nested:!0,entry:e=>({type:"command",command:e,bash:e,powershell:e,timeout:10,timeoutSec:10}),prepare:bi};hd={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:bi};yd={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};kd={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};wd={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};vd={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:Sd};Td={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};Rd="tkr-droid-hook",Br={mark:Rd,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},Ad={...Br,nested:!0};Cd={id:"droid",label:"Factory Droid",setup:"tkr setup-droid",bin:"tkr-droid-hook",restart:"Restart Droid, then check it with /hooks.",files:()=>[yi().file],installed:()=>vn().some(e=>Fr(e.file,e.spec)),ensure:async e=>{let t=yi(),n=await Lr(t.file,t.spec,e);return n==="error"||await Promise.all(vn().filter(r=>r.file!==t.file).map(r=>Sn(r.file,r.spec))),n},remove:async()=>{let e=await Promise.all(vn().map(t=>Sn(t.file,t.spec)));return e.includes("error")?"error":e.includes("removed")?"removed":"absent"}},ki=[je({id:"copilot",label:"GitHub Copilot",setup:"tkr setup-copilot",bin:"tkr-copilot-hook",restart:"Restart VS Code or Copilot CLI so they load the new hook.",files:()=>[md()]},pd),Cd,je({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:gd},hd),je({id:"qwen-code",label:"Qwen Code",setup:"tkr setup-qwen",bin:"tkr-qwen-hook",restart:"Restart Qwen Code, then check it with /hooks.",files:()=>[bd()]},yd),je({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[_d()]},kd),je({id:"junie",label:"Junie CLI",setup:"tkr setup-junie",bin:"tkr-junie-hook",restart:"Restart Junie CLI so it loads the new hook.",files:()=>[xd()]},wd),je({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[Ed()]},vd),je({id:"grok",label:"Grok Build",setup:"tkr setup-grok",bin:"tkr-grok-hook",restart:"Restart Grok Build (1.0.4 or newer) so it loads the new hook.",files:()=>[$d()]},Td)]});function wi(e){return Id.has(e)||(Pd[e]?.installed()??!1)}function En(e){return null}function Tn(e=process.env){let t=process.platform,n=t==="darwin"||t==="linux"||t==="win32"?t:"other",r=process.arch,s=e.TOKMIZER_HOST;if(s&&Od.includes(s)){let o=s;return{host:o,source:"env",os:n,arch:r,shimRecommended:!wi(o)}}for(let o of xi)if(o.vars.some(i=>e[i]))return{host:o.host,source:"env",os:n,arch:r,shimRecommended:!wi(o.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}var xi,Od,Id,Pd,$n=g(()=>{"use strict";Bo();Zo();li();_i();xi=[{host:"claude-code",vars:["CLAUDECODE","CLAUDE_CODE_ENTRYPOINT","CLAUDE_CODE","CLAUDE_CODE_VERSION","ANTHROPIC_CLAUDE_CODE"]},{host:"codex",vars:["CODEX_VERSION","CODEX_CLI","OPENAI_CODEX","CODEX_THREAD_ID","CODEX_SESSION_ID"]},{host:"cursor",vars:["CURSOR_AGENT","CURSOR_VERSION","CURSOR_TRACE_ID"]},{host:"cline",vars:["CLINE_VERSION","CLINE_API_KEY"]},{host:"aider",vars:["AIDER_VERSION","AIDER_MODEL"]},{host:"qwen-code",vars:["QWEN_CODE"]},{host:"gemini-cli",vars:["GEMINI_CLI","GEMINI_CLI_VERSION","GEMINI_API_KEY"]},{host:"windsurf",vars:["WINDSURF_VERSION","WINDSURF_USER"]},{host:"copilot",vars:["GITHUB_COPILOT_VERSION","COPILOT_INTEGRATION_ID"]},{host:"opencode",vars:[]},{host:"amp",vars:[]},{host:"vibe",vars:[]},{host:"antigravity",vars:[]},{host:"openclaw",vars:[]},{host:"pi",vars:[]},{host:"omp",vars:[]},{host:"hermes",vars:[]},{host:"crush",vars:["CRUSH"]},{host:"droid",vars:[]},{host:"trae",vars:[]},{host:"junie",vars:[]},{host:"zcode",vars:[]},{host:"grok",vars:[]},{host:"kilo",vars:[]}],Od=[...xi.map(e=>e.host),"shell"],Id=new Set(["claude-code","codex"]),Pd={cursor:{installed:Ho,setup:"tkr setup-cursor"},"gemini-cli":{installed:Uo,setup:"tkr setup-gemini"},...Object.fromEntries(ii.map(e=>[e.host,{installed:()=>ai(e),setup:`tkr ${e.command}`}])),...Object.fromEntries(ki.map(e=>[e.id,{installed:e.installed,setup:e.setup}]))}});import{appendFileSync as Nd,mkdirSync as Dd,readFileSync as Md,writeFileSync as Fd,renameSync as Ld,statSync as jd,readdirSync as sx,rmSync as ox,chmodSync as Hd}from"node:fs";import{join as Si}from"node:path";function vi(){return Si(S(),"sessions")}function Zd(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Si(vi(),`${t}.jsonl`)}function Rn(e,t){try{let n=Zd(e);Dd(vi(),{recursive:!0,mode:448});let r=JSON.stringify({t:t.t??Math.floor(Date.now()/1e3),tool:t.tool,target:t.target.slice(0,Ud),...t.fail?{fail:1}:{}});if(Nd(n,`${r}
|
|
9
|
-
`,{mode:384}),
|
|
10
|
-
`).filter(a=>a.trim()!==""),o=s.slice(s.length-
|
|
7
|
+
${r}`:r;return await ri(t,a)?o.length?"updated":"added":"error"}async function ii(){let e=zt();if(!Nr(e))return"absent";let t;try{t=await Qo(e,"utf8")}catch{return"error"}let n=Dr(t);if(!n.some(Bt))return"absent";let r=n.filter(o=>!Bt(o)).join("").trimEnd(),s=r?`${r}
|
|
8
|
+
`:"";return await ri(e,s)?"removed":"error"}function Ut(){return Pr(ti.homedir(),".gemini","config","hooks.json")}function sd(e){return{enabled:!0,PreToolUse:[{matcher:"run_command",hooks:[{type:"command",command:e,timeout:10}]}]}}function ai(){try{let e=JSON.parse(ei(Ut(),"utf8"));return H(e)&&H(e[Ht])}catch{return!1}}async function li(e){let t=Ut(),n=await Te(t);if(!n)return"error";let r=sd(e),s=n[Ht];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[Ht]=r,await Re(t,n)?s===void 0?"added":"updated":"error")}async function ci(){let e=Ut();if(!Nr(e))return"absent";let t=await Te(e);return t?Ht in t?(delete t[Ht],await Re(e,t)?"removed":"error"):"absent":"error"}var ni,Ht,ui=g(()=>{"use strict";ge();bn();ni="tokmizer-rewrite",Ht="tokmizer-rewrite"});import{dirname as jw,join as te}from"node:path";import od from"node:os";function di(e){return e.kind==="hook"?e.installed():qo(e.files()[0].target)}var Zt,Mr,fi,pi=g(()=>{"use strict";ge();Yo();ui();Zt=()=>od.homedir(),Mr=()=>process.env.XDG_CONFIG_HOME||te(Zt(),".config"),fi=[{host:"opencode",label:"OpenCode",command:"setup-opencode",kind:"shim",files:()=>[{template:"opencode.js",target:te(Mr(),"opencode","plugins","tokmizer.js")}],next:"Restart OpenCode so it loads the plugin."},{host:"kilo",label:"Kilo Code",command:"setup-kilo",kind:"shim",files:()=>[{template:"kilo.js",target:te(Mr(),"kilo","plugin","tokmizer.js")}],next:"Restart Kilo Code (CLI or VS Code extension) so it loads the plugin."},{host:"amp",label:"Amp",command:"setup-amp",kind:"shim",files:()=>[{template:"amp.js",target:te(Mr(),"amp","plugins","tokmizer.js")}],next:"Reload plugins in Amp (or restart it), then check it with: amp plugins list"},{host:"vibe",label:"Mistral Vibe",command:"setup-vibe",kind:"hook",file:zt,installed:si,ensure:oi,remove:ii,next:"Restart Vibe so it reads hooks.toml."},{host:"antigravity",label:"Antigravity",command:"setup-antigravity",kind:"hook",file:Ut,installed:ai,ensure:li,remove:ci,next:"Restart Antigravity, then check it with /hooks."},{host:"openclaw",label:"OpenClaw",command:"setup-openclaw",kind:"shim",files:()=>{let e=te(Zt(),".openclaw","extensions","tokmizer");return["index.js","openclaw.plugin.json","package.json"].map(t=>({template:`openclaw/${t}`,target:te(e,t)}))},next:"Run: openclaw plugins enable tokmizer && openclaw gateway restart"},{host:"pi",label:"Pi",command:"setup-pi",kind:"shim",files:()=>[{template:"pi.js",target:te(process.env.PI_CODING_AGENT_DIR||te(Zt(),".pi","agent"),"extensions","tokmizer.js")}],next:"Restart Pi (or run /reload) so it loads the extension."},{host:"omp",label:"Oh My Pi",command:"setup-omp",kind:"shim",files:()=>[{template:"omp.js",target:te(Zt(),".omp","agent","extensions","tokmizer.js")}],next:"Restart omp so it loads the extension."},{host:"hermes",label:"Hermes",command:"setup-hermes",kind:"shim",files:()=>{let e=te(process.env.HERMES_HOME||te(Zt(),".hermes"),"plugins","tokmizer");return["__init__.py","plugin.yaml"].map(t=>({template:`hermes/${t}`,target:te(e,t)}))},next:"Run: hermes plugins enable tokmizer, then restart Hermes (needs Hermes v2026.8.16 or newer)."}]});import{existsSync as id,readFileSync as ad}from"node:fs";function xn(e,t){return H(e)&<(e.command,t)}function mi(e){return e.path??(e.nested?["hooks"]:[])}function hi(e,t){let n=e;for(let r of mi(t))H(n[r])||(n[r]={}),n=n[r];return n}function gi(e,t){let n=e;for(let s of mi(t))n=H(n)?n[s]:void 0;if(!H(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function ld(e){return H(e)&&Array.isArray(e.hooks)?e.hooks:[]}function yi(e,t){return(t.matcher===void 0?e:e.flatMap(ld)).filter(r=>xn(r,t.mark))}function bi(e,t){return yi(gi(e,t),t).length>0}function Fr(e,t){try{let n=JSON.parse(ad(e,"utf8"));return H(n)&&bi(n,t)}catch{return!1}}function cd(e,t,n){let r=hi(e,t),s=Array.isArray(r[t.event])?r[t.event]:[];r[t.event]=s;let o=yi(s,t)[0],i=t.entry(n);if(o){let a=wn(s,c=>xn(c,t.mark),o,t.matcher!==void 0),l=Object.entries(i).filter(([c,u])=>JSON.stringify(o[c])!==JSON.stringify(u));if(!l.length&&!a)return"present";for(let[c,u]of l)o[c]=u;return"updated"}return s.push(t.matcher===void 0?i:{matcher:t.matcher,hooks:[i]}),"added"}function ud(e,t){if(!bi(e,t))return!1;let n=hi(e,t),r=gi(e,t),s=t.matcher===void 0?r.filter(o=>!xn(o,t.mark)):r.map(o=>H(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!xn(i,t.mark))}:o).filter(o=>!H(o)||!Array.isArray(o.hooks)||o.hooks.length>0);return s.length?n[t.event]=s:delete n[t.event],!0}async function Lr(e,t,n){let r=await Te(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=cd(r,t,n);return s==="present"||await Re(e,r)?s:"error"}async function Sn(e,t){if(!id(e))return"absent";let n=await Te(e);return n?ud(n,t)?await Re(e,n)?"removed":"error":"absent":"error"}var ki=g(()=>{"use strict";ge()});import{existsSync as Hr,readFileSync as fd}from"node:fs";import{join as U}from"node:path";import dd from"node:os";function le(){return dd.homedir()}function Si(e){return e.version===void 0&&(e.version=1),e.version===1}function pd(e,t,n){return Promise.all(e.map(r=>Lr(r,t,n))).then(r=>r.includes("error")?"error":r.includes("updated")?"updated":r.includes("added")?"added":"present")}function md(e,t){return Promise.all(e.map(n=>Sn(n,t))).then(n=>n.includes("error")?"error":n.includes("removed")?"removed":"absent")}function je(e,t){return{...e,installed:()=>e.files().some(n=>Fr(n,t)),ensure:n=>pd(e.files(),t,n),remove:()=>md(e.files(),t)}}function gd(){return U(process.env.COPILOT_HOME||U(le(),".copilot"),"hooks","tokmizer.json")}function bd(){let e=[U(le(),".trae","hooks.json")];return Hr(U(le(),".trae-cn"))&&e.push(U(le(),".trae-cn","hooks.json")),e}function _d(){return U(process.env.QWEN_HOME||U(le(),".qwen"),"settings.json")}function xd(){return U(process.env.XDG_CONFIG_HOME||U(le(),".config"),"crush","crush.json")}function vd(){return U(le(),".junie","config.json")}function Ed(e){return e.hooks===void 0&&(e.hooks={}),H(e.hooks)?(e.hooks.enabled===void 0&&(e.hooks.enabled=!0),e.hooks.events===void 0||H(e.hooks.events)):!1}function Rd(){return U(le(),".zcode","cli","config.json")}function Ad(){return U(le(),".grok","hooks","tokmizer.json")}function jr(){return U(le(),".factory")}function vn(){return[{file:U(jr(),"hooks.json"),spec:Br},{file:U(jr(),"hooks","hooks.json"),spec:Br},{file:U(jr(),"settings.json"),spec:Od}]}function _i(e){try{let t=JSON.parse(fd(e,"utf8"));return H(t)?t:null}catch{return null}}function wi(e,t){let n=t?e?.hooks:e;return H(n)&&Array.isArray(n.PreToolUse)&&n.PreToolUse.length>0}function xi(){let[e,t,n]=vn(),r=Hr(e.file)?e:Hr(t.file)?t:null;return r&&wi(_i(r.file),!1)?r:wi(_i(n.file),!0)?n:r??e}var hd,yd,kd,wd,Sd,Td,$d,Cd,Br,Od,Id,vi,Ei=g(()=>{"use strict";ge();ki();hd={mark:"tkr-copilot-hook",event:"PreToolUse",nested:!0,entry:e=>({type:"command",command:e,bash:e,powershell:e,timeout:10,timeoutSec:10}),prepare:Si};yd={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:Si};kd={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};wd={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};Sd={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};Td={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:Ed};$d={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};Cd="tkr-droid-hook",Br={mark:Cd,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},Od={...Br,nested:!0};Id={id:"droid",label:"Factory Droid",setup:"tkr setup-droid",bin:"tkr-droid-hook",restart:"Restart Droid, then check it with /hooks.",files:()=>[xi().file],installed:()=>vn().some(e=>Fr(e.file,e.spec)),ensure:async e=>{let t=xi(),n=await Lr(t.file,t.spec,e);return n==="error"||await Promise.all(vn().filter(r=>r.file!==t.file).map(r=>Sn(r.file,r.spec))),n},remove:async()=>{let e=await Promise.all(vn().map(t=>Sn(t.file,t.spec)));return e.includes("error")?"error":e.includes("removed")?"removed":"absent"}},vi=[je({id:"copilot",label:"GitHub Copilot",setup:"tkr setup-copilot",bin:"tkr-copilot-hook",restart:"Restart VS Code or Copilot CLI so they load the new hook.",files:()=>[gd()]},hd),Id,je({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:bd},yd),je({id:"qwen-code",label:"Qwen Code",setup:"tkr setup-qwen",bin:"tkr-qwen-hook",restart:"Restart Qwen Code, then check it with /hooks.",files:()=>[_d()]},kd),je({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[xd()]},wd),je({id:"junie",label:"Junie CLI",setup:"tkr setup-junie",bin:"tkr-junie-hook",restart:"Restart Junie CLI so it loads the new hook.",files:()=>[vd()]},Sd),je({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[Rd()]},Td),je({id:"grok",label:"Grok Build",setup:"tkr setup-grok",bin:"tkr-grok-hook",restart:"Restart Grok Build (1.0.4 or newer) so it loads the new hook.",files:()=>[Ad()]},$d)]});function Ti(e){return Nd.has(e)||(Dd[e]?.installed()??!1)}function En(e){return null}function Tn(e=process.env){let t=process.platform,n=t==="darwin"||t==="linux"||t==="win32"?t:"other",r=process.arch,s=e.TOKMIZER_HOST;if(s&&Pd.includes(s)){let o=s;return{host:o,source:"env",os:n,arch:r,shimRecommended:!Ti(o)}}for(let o of Ri)if(o.vars.some(i=>e[i]))return{host:o.host,source:"env",os:n,arch:r,shimRecommended:!Ti(o.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}var Ri,Pd,Nd,Dd,Rn=g(()=>{"use strict";Jo();Vo();pi();Ei();Ri=[{host:"claude-code",vars:["CLAUDECODE","CLAUDE_CODE_ENTRYPOINT","CLAUDE_CODE","CLAUDE_CODE_VERSION","ANTHROPIC_CLAUDE_CODE"]},{host:"codex",vars:["CODEX_VERSION","CODEX_CLI","OPENAI_CODEX","CODEX_THREAD_ID","CODEX_SESSION_ID"]},{host:"cursor",vars:["CURSOR_AGENT","CURSOR_VERSION","CURSOR_TRACE_ID"]},{host:"cline",vars:["CLINE_VERSION","CLINE_API_KEY"]},{host:"aider",vars:["AIDER_VERSION","AIDER_MODEL"]},{host:"qwen-code",vars:["QWEN_CODE"]},{host:"gemini-cli",vars:["GEMINI_CLI","GEMINI_CLI_VERSION","GEMINI_API_KEY"]},{host:"windsurf",vars:["WINDSURF_VERSION","WINDSURF_USER"]},{host:"copilot",vars:["GITHUB_COPILOT_VERSION","COPILOT_INTEGRATION_ID"]},{host:"opencode",vars:[]},{host:"amp",vars:[]},{host:"vibe",vars:[]},{host:"antigravity",vars:[]},{host:"openclaw",vars:[]},{host:"pi",vars:[]},{host:"omp",vars:[]},{host:"hermes",vars:[]},{host:"crush",vars:["CRUSH"]},{host:"droid",vars:[]},{host:"trae",vars:[]},{host:"junie",vars:[]},{host:"zcode",vars:[]},{host:"grok",vars:[]},{host:"kilo",vars:[]}],Pd=[...Ri.map(e=>e.host),"shell"],Nd=new Set(["claude-code","codex"]),Dd={cursor:{installed:Go,setup:"tkr setup-cursor"},"gemini-cli":{installed:Ko,setup:"tkr setup-gemini"},...Object.fromEntries(fi.map(e=>[e.host,{installed:()=>di(e),setup:`tkr ${e.command}`}])),...Object.fromEntries(vi.map(e=>[e.id,{installed:e.installed,setup:e.setup}]))}});import{appendFileSync as Md,mkdirSync as Fd,readFileSync as Ld,writeFileSync as jd,renameSync as Hd,statSync as Bd,readdirSync as ix,rmSync as ax,chmodSync as zd}from"node:fs";import{join as $i}from"node:path";function Ai(){return $i(S(),"sessions")}function Jd(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return $i(Ai(),`${t}.jsonl`)}function $n(e,t){try{let n=Jd(e);Fd(Ai(),{recursive:!0,mode:448});let r=JSON.stringify({t:t.t??Math.floor(Date.now()/1e3),tool:t.tool,target:t.target.slice(0,Gd),...t.fail?{fail:1}:{}});if(Md(n,`${r}
|
|
9
|
+
`,{mode:384}),zd(n,384),Bd(n).size>Ud){let s=Ld(n,"utf8").split(`
|
|
10
|
+
`).filter(a=>a.trim()!==""),o=s.slice(s.length-Zd),i=`${n}.tmp-${process.pid}`;jd(i,`${o.join(`
|
|
11
11
|
`)}
|
|
12
|
-
`,{mode:384}),Ld(i,n)}}catch{}}var Bd,zd,lx,Ud,zr=g(()=>{"use strict";L();Bd=96*1024,zd=500,lx=168*3600*1e3,Ud=120});import{readFileSync as rp}from"node:fs";import{join as sp}from"node:path";function ye(){try{return rp(sp(S(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var An=g(()=>{"use strict";L()});var Zi=X((Kx,Ui)=>{Ui.exports=zi;zi.sync=Np;var Hi=ve("fs");function Pp(e,t){var n=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!n||(n=n.split(";"),n.indexOf("")!==-1))return!0;for(var r=0;r<n.length;r++){var s=n[r].toLowerCase();if(s&&e.substr(-s.length).toLowerCase()===s)return!0}return!1}function Bi(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:Pp(t,n)}function zi(e,t,n){Hi.stat(e,function(r,s){n(r,r?!1:Bi(s,e,t))})}function Np(e,t){return Bi(Hi.statSync(e),e,t)}});var Vi=X((Vx,Ki)=>{Ki.exports=Ji;Ji.sync=Dp;var Gi=ve("fs");function Ji(e,t,n){Gi.stat(e,function(r,s){n(r,r?!1:Wi(s,t))})}function Dp(e,t){return Wi(Gi.statSync(e),t)}function Wi(e,t){return e.isFile()&&Mp(e,t)}function Mp(e,t){var n=e.mode,r=e.uid,s=e.gid,o=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),i=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,f=n&c||n&l&&s===i||n&a&&r===o||n&u&&o===0;return f}});var Yi=X((Yx,qi)=>{var qx=ve("fs"),On;process.platform==="win32"||global.TESTING_WINDOWS?On=Zi():On=Vi();qi.exports=Zr;Zr.sync=Fp;function Zr(e,t,n){if(typeof t=="function"&&(n=t,t={}),!n){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(r,s){Zr(e,t||{},function(o,i){o?s(o):r(i)})})}On(e,t||{},function(r,s){r&&(r.code==="EACCES"||t&&t.ignoreErrors)&&(r=null,s=!1),n(r,s)})}function Fp(e,t){try{return On.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var sa=X((Xx,ra)=>{var ct=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Xi=ve("path"),Lp=ct?";":":",Qi=Yi(),ea=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),ta=(e,t)=>{let n=t.colon||Lp,r=e.match(/\//)||ct&&e.match(/\\/)?[""]:[...ct?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],s=ct?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=ct?s.split(n):[""];return ct&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:r,pathExt:o,pathExtExe:s}},na=(e,t,n)=>{typeof t=="function"&&(n=t,t={}),t||(t={});let{pathEnv:r,pathExt:s,pathExtExe:o}=ta(e,t),i=[],a=c=>new Promise((u,f)=>{if(c===r.length)return t.all&&i.length?u(i):f(ea(e));let d=r[c],p=/^".*"$/.test(d)?d.slice(1,-1):d,m=Xi.join(p,e),k=!p&&/^\.[\\\/]/.test(e)?e.slice(0,2)+m:m;u(l(k,c,0))}),l=(c,u,f)=>new Promise((d,p)=>{if(f===s.length)return d(a(u+1));let m=s[f];Qi(c+m,{pathExt:o},(k,y)=>{if(!k&&y)if(t.all)i.push(c+m);else return d(c+m);return d(l(c,u,f+1))})});return n?a(0).then(c=>n(null,c),n):a(0)},jp=(e,t)=>{t=t||{};let{pathEnv:n,pathExt:r,pathExtExe:s}=ta(e,t),o=[];for(let i=0;i<n.length;i++){let a=n[i],l=/^".*"$/.test(a)?a.slice(1,-1):a,c=Xi.join(l,e),u=!l&&/^\.[\\\/]/.test(e)?e.slice(0,2)+c:c;for(let f=0;f<r.length;f++){let d=u+r[f];try{if(Qi.sync(d,{pathExt:s}))if(t.all)o.push(d);else return d}catch{}}}if(t.all&&o.length)return o;if(t.nothrow)return null;throw ea(e)};ra.exports=na;na.sync=jp});var ia=X((Qx,Gr)=>{"use strict";var oa=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};Gr.exports=oa;Gr.exports.default=oa});var ua=X((eS,ca)=>{"use strict";var aa=ve("path"),Hp=sa(),Bp=ia();function la(e,t){let n=e.options.env||process.env,r=process.cwd(),s=e.options.cwd!=null,o=s&&process.chdir!==void 0&&!process.chdir.disabled;if(o)try{process.chdir(e.options.cwd)}catch{}let i;try{i=Hp.sync(e.command,{path:n[Bp({env:n})],pathExt:t?aa.delimiter:void 0})}catch{}finally{o&&process.chdir(r)}return i&&(i=aa.resolve(s?e.options.cwd:"",i)),i}function zp(e){return la(e)||la(e,!0)}ca.exports=zp});var fa=X((tS,Wr)=>{"use strict";var Jr=/([()\][%!^"`<>&|;, *?])/g;function Up(e){return e=e.replace(Jr,"^$1"),e}function Zp(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(Jr,"^$1"),t&&(e=e.replace(Jr,"^$1")),e}Wr.exports.command=Up;Wr.exports.argument=Zp});var pa=X((nS,da)=>{"use strict";da.exports=/^#!(.*)/});var ha=X((rS,ma)=>{"use strict";var Gp=pa();ma.exports=(e="")=>{let t=e.match(Gp);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),s=n.split("/").pop();return s==="env"?r:r?`${s} ${r}`:s}});var ya=X((sS,ga)=>{"use strict";var Kr=ve("fs"),Jp=ha();function Wp(e){let n=Buffer.alloc(150),r;try{r=Kr.openSync(e,"r"),Kr.readSync(r,n,0,150,0),Kr.closeSync(r)}catch{}return Jp(n.toString())}ga.exports=Wp});var wa=X((oS,_a)=>{"use strict";var Kp=ve("path"),ba=ua(),ka=fa(),Vp=ya(),qp=process.platform==="win32",Yp=/\.(?:com|exe)$/i,Xp=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Qp(e){e.file=ba(e);let t=e.file&&Vp(e.file);return t?(e.args.unshift(e.file),e.command=t,ba(e)):e.file}function em(e){if(!qp)return e;let t=Qp(e),n=!Yp.test(t);if(e.options.forceShell||n){let r=Xp.test(t);e.command=Kp.normalize(e.command),e.command=ka.command(e.command),e.args=e.args.map(o=>ka.argument(o,r));let s=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${s}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}function tm(e,t,n){t&&!Array.isArray(t)&&(n=t,t=null),t=t?t.slice(0):[],n=Object.assign({},n);let r={command:e,args:t,options:n,file:void 0,original:{command:e,args:t}};return n.shell?r:em(r)}_a.exports=tm});var va=X((iS,Sa)=>{"use strict";var Vr=process.platform==="win32";function qr(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function nm(e,t){if(!Vr)return;let n=e.emit;e.emit=function(r,s){if(r==="exit"){let o=xa(s,t);if(o)return n.call(e,"error",o)}return n.apply(e,arguments)}}function xa(e,t){return Vr&&e===1&&!t.file?qr(t.original,"spawn"):null}function rm(e,t){return Vr&&e===1&&!t.file?qr(t.original,"spawnSync"):null}Sa.exports={hookChildProcess:nm,verifyENOENT:xa,verifyENOENTSync:rm,notFoundError:qr}});var $a=X((aS,ut)=>{"use strict";var Ea=ve("child_process"),Yr=wa(),Xr=va();function Ta(e,t,n){let r=Yr(e,t,n),s=Ea.spawn(r.command,r.args,r.options);return Xr.hookChildProcess(s,r),s}function sm(e,t,n){let r=Yr(e,t,n),s=Ea.spawnSync(r.command,r.args,r.options);return s.error=s.error||Xr.verifyENOENTSync(s.status,r),s}ut.exports=Ta;ut.exports.spawn=Ta;ut.exports.sync=sm;ut.exports._parse=Yr;ut.exports._enoent=Xr});var I,Qr,w,ce,Wt=g(()=>{(function(e){e.assertEqual=s=>{};function t(s){}e.assertIs=t;function n(s){throw new Error}e.assertNever=n,e.arrayToEnum=s=>{let o={};for(let i of s)o[i]=i;return o},e.getValidEnumValues=s=>{let o=e.objectKeys(s).filter(a=>typeof s[s[a]]!="number"),i={};for(let a of o)i[a]=s[a];return e.objectValues(i)},e.objectValues=s=>e.objectKeys(s).map(function(o){return s[o]}),e.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let o=[];for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&o.push(i);return o},e.find=(s,o)=>{for(let i of s)if(o(i))return i},e.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,o=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(s,o)=>typeof o=="bigint"?o.toString():o})(I||(I={}));(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Qr||(Qr={}));w=I.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ce=e=>{switch(typeof e){case"undefined":return w.undefined;case"string":return w.string;case"number":return Number.isNaN(e)?w.nan:w.number;case"boolean":return w.boolean;case"function":return w.function;case"bigint":return w.bigint;case"symbol":return w.symbol;case"object":return Array.isArray(e)?w.array:e===null?w.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?w.promise:typeof Map<"u"&&e instanceof Map?w.map:typeof Set<"u"&&e instanceof Set?w.set:typeof Date<"u"&&e instanceof Date?w.date:w.object;default:return w.unknown}}});var h,om,W,In=g(()=>{Wt();h=I.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),om=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),W=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){let n=t||function(o){return o.message},r={_errors:[]},s=o=>{for(let i of o.issues)if(i.code==="invalid_union")i.unionErrors.map(s);else if(i.code==="invalid_return_type")s(i.returnTypeError);else if(i.code==="invalid_arguments")s(i.argumentsError);else if(i.path.length===0)r._errors.push(n(i));else{let a=r,l=0;for(;l<i.path.length;){let c=i.path[l];l===i.path.length-1?(a[c]=a[c]||{_errors:[]},a[c]._errors.push(n(i))):a[c]=a[c]||{_errors:[]},a=a[c],l++}}};return s(this),r}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,I.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){let n={},r=[];for(let s of this.issues)if(s.path.length>0){let o=s.path[0];n[o]=n[o]||[],n[o].push(t(s))}else r.push(t(s));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};W.create=e=>new W(e)});var im,be,es=g(()=>{In();Wt();im=(e,t)=>{let n;switch(e.code){case h.invalid_type:e.received===w.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case h.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,I.jsonStringifyReplacer)}`;break;case h.unrecognized_keys:n=`Unrecognized key(s) in object: ${I.joinValues(e.keys,", ")}`;break;case h.invalid_union:n="Invalid input";break;case h.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${I.joinValues(e.options)}`;break;case h.invalid_enum_value:n=`Invalid enum value. Expected ${I.joinValues(e.options)}, received '${e.received}'`;break;case h.invalid_arguments:n="Invalid function arguments";break;case h.invalid_return_type:n="Invalid function return type";break;case h.invalid_date:n="Invalid date";break;case h.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:I.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case h.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case h.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case h.custom:n="Invalid input";break;case h.invalid_intersection_types:n="Intersection results could not be merged";break;case h.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case h.not_finite:n="Number must be finite";break;default:n=t.defaultError,I.assertNever(e)}return{message:n}},be=im});function am(e){Ra=e}function ft(){return Ra}var Ra,Pn=g(()=>{es();Ra=be});function _(e,t){let n=ft(),r=Kt({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===be?void 0:be].filter(s=>!!s)});e.common.issues.push(r)}var Kt,lm,z,v,He,Z,Nn,Dn,Re,dt,ts=g(()=>{Pn();es();Kt=e=>{let{data:t,path:n,errorMaps:r,issueData:s}=e,o=[...n,...s.path||[]],i={...s,path:o};if(s.message!==void 0)return{...s,path:o,message:s.message};let a="",l=r.filter(c=>!!c).slice().reverse();for(let c of l)a=c(i,{data:t,defaultError:a}).message;return{...s,path:o,message:a}},lm=[];z=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){let r=[];for(let s of n){if(s.status==="aborted")return v;s.status==="dirty"&&t.dirty(),r.push(s.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){let r=[];for(let s of n){let o=await s.key,i=await s.value;r.push({key:o,value:i})}return e.mergeObjectSync(t,r)}static mergeObjectSync(t,n){let r={};for(let s of n){let{key:o,value:i}=s;if(o.status==="aborted"||i.status==="aborted")return v;o.status==="dirty"&&t.dirty(),i.status==="dirty"&&t.dirty(),o.value!=="__proto__"&&(typeof i.value<"u"||s.alwaysSet)&&(r[o.value]=i.value)}return{status:t.value,value:r}}},v=Object.freeze({status:"aborted"}),He=e=>({status:"dirty",value:e}),Z=e=>({status:"valid",value:e}),Nn=e=>e.status==="aborted",Dn=e=>e.status==="dirty",Re=e=>e.status==="valid",dt=e=>typeof Promise<"u"&&e instanceof Promise});var Aa=g(()=>{});var x,Ca=g(()=>{(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(x||(x={}))});function A(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:s}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:s}:{errorMap:(i,a)=>{let{message:l}=e;return i.code==="invalid_enum_value"?{message:l??a.defaultError}:typeof a.data>"u"?{message:l??r??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:l??n??a.defaultError}},description:s}}function Na(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function Em(e){return new RegExp(`^${Na(e)}$`)}function Da(e){let t=`${Pa}T${Na(e)}`,n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function Tm(e,t){return!!((t==="v4"||!t)&&bm.test(e)||(t==="v6"||!t)&&_m.test(e))}function $m(e,t){if(!mm.test(e))return!1;try{let[n]=e.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),s=JSON.parse(atob(r));return!(typeof s!="object"||s===null||"typ"in s&&s?.typ!=="JWT"||!s.alg||t&&s.alg!==t)}catch{return!1}}function Rm(e,t){return!!((t==="v4"||!t)&&km.test(e)||(t==="v6"||!t)&&wm.test(e))}function Am(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,s=n>r?n:r,o=Number.parseInt(e.toFixed(s).replace(".","")),i=Number.parseInt(t.toFixed(s).replace(".",""));return o%i/10**s}function pt(e){if(e instanceof K){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=ne.create(pt(r))}return new K({...e._def,shape:()=>t})}else return e instanceof we?new we({...e._def,type:pt(e.element)}):e instanceof ne?ne.create(pt(e.unwrap())):e instanceof fe?fe.create(pt(e.unwrap())):e instanceof ue?ue.create(e.items.map(t=>pt(t))):e}function rs(e,t){let n=ce(e),r=ce(t);if(e===t)return{valid:!0,data:e};if(n===w.object&&r===w.object){let s=I.objectKeys(t),o=I.objectKeys(e).filter(a=>s.indexOf(a)!==-1),i={...e,...t};for(let a of o){let l=rs(e[a],t[a]);if(!l.valid)return{valid:!1};i[a]=l.data}return{valid:!0,data:i}}else if(n===w.array&&r===w.array){if(e.length!==t.length)return{valid:!1};let s=[];for(let o=0;o<e.length;o++){let i=e[o],a=t[o],l=rs(i,a);if(!l.valid)return{valid:!1};s.push(l.data)}return{valid:!0,data:s}}else return n===w.date&&r===w.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}function Ma(e,t){return new Ye({values:e,typeName:$.ZodEnum,...A(t)})}function Ia(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function Fa(e,t={},n){return e?Ce.create().superRefine((r,s)=>{let o=e(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=Ia(t,r),l=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:l})}});if(!o){let i=Ia(t,r),a=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:a})}}):Ce.create()}var re,Oa,O,cm,um,fm,dm,pm,mm,hm,gm,ym,ns,bm,km,_m,wm,xm,Sm,Pa,vm,Ae,Be,ze,Ue,Ze,mt,Ge,Je,Ce,_e,oe,ht,we,K,We,ke,Mn,Ke,ue,Fn,gt,yt,Ln,Ve,qe,Ye,Xe,Oe,se,ne,fe,Qe,et,bt,Cm,Vt,qt,tt,Om,$,Im,La,ja,Pm,Nm,Ha,Dm,Mm,Fm,Lm,jm,Hm,Bm,zm,Um,Zm,Gm,Jm,Wm,Km,Vm,qm,Ym,Xm,Qm,eh,th,nh,rh,sh,oh,ih,ah,lh,ch,uh,fh,dh,ph,mh,Ba=g(()=>{In();Pn();Ca();ts();Wt();re=class{constructor(t,n,r,s){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Oa=(e,t)=>{if(Re(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new W(e.common.issues);return this._error=n,this._error}}};O=class{get description(){return this._def.description}_getType(t){return ce(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ce(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new z,ctx:{common:t.parent.common,data:t.data,parsedType:ce(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(dt(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){let n=this._parse(t);return Promise.resolve(n)}parse(t,n){let r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ce(t)},s=this._parseSync({data:t,path:r.path,parent:r});return Oa(r,s)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ce(t)};if(!this["~standard"].async)try{let r=this._parseSync({data:t,path:[],parent:n});return Re(r)?{value:r.value}:{issues:n.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then(r=>Re(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(t,n){let r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ce(t)},s=this._parse({data:t,path:r.path,parent:r}),o=await(dt(s)?s:Promise.resolve(s));return Oa(r,o)}refine(t,n){let r=s=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(s):n;return this._refinement((s,o)=>{let i=t(s),a=()=>o.addIssue({code:h.custom,...r(s)});return typeof Promise<"u"&&i instanceof Promise?i.then(l=>l?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,s)=>t(r)?!0:(s.addIssue(typeof n=="function"?n(r,s):n),!1))}_refinement(t){return new se({schema:this,typeName:$.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return ne.create(this,this._def)}nullable(){return fe.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return we.create(this)}promise(){return Oe.create(this,this._def)}or(t){return We.create([this,t],this._def)}and(t){return Ke.create(this,t,this._def)}transform(t){return new se({...A(this._def),schema:this,typeName:$.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new Qe({...A(this._def),innerType:this,defaultValue:n,typeName:$.ZodDefault})}brand(){return new Vt({typeName:$.ZodBranded,type:this,...A(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new et({...A(this._def),innerType:this,catchValue:n,typeName:$.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return qt.create(this,t)}readonly(){return tt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},cm=/^c[^\s-]{8,}$/i,um=/^[0-9a-z]+$/,fm=/^[0-9A-HJKMNP-TV-Z]{26}$/i,dm=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,pm=/^[a-z0-9_-]{21}$/i,mm=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,hm=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,gm=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,ym="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",bm=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,km=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,_m=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,wm=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,xm=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Sm=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Pa="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",vm=new RegExp(`^${Pa}$`);Ae=class e extends O{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==w.string){let o=this._getOrReturnCtx(t);return _(o,{code:h.invalid_type,expected:w.string,received:o.parsedType}),v}let r=new z,s;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:h.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="max")t.data.length>o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:h.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){let i=t.data.length>o.value,a=t.data.length<o.value;(i||a)&&(s=this._getOrReturnCtx(t,s),i?_(s,{code:h.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&_(s,{code:h.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),r.dirty())}else if(o.kind==="email")gm.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"email",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="emoji")ns||(ns=new RegExp(ym,"u")),ns.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"emoji",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="uuid")dm.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"uuid",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="nanoid")pm.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"nanoid",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid")cm.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cuid",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid2")um.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cuid2",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="ulid")fm.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"ulid",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{s=this._getOrReturnCtx(t,s),_(s,{validation:"url",code:h.invalid_string,message:o.message}),r.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"regex",code:h.invalid_string,message:o.message}),r.dirty())):o.kind==="trim"?t.data=t.data.trim():o.kind==="includes"?t.data.includes(o.value,o.position)||(s=this._getOrReturnCtx(t,s),_(s,{code:h.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),r.dirty()):o.kind==="toLowerCase"?t.data=t.data.toLowerCase():o.kind==="toUpperCase"?t.data=t.data.toUpperCase():o.kind==="startsWith"?t.data.startsWith(o.value)||(s=this._getOrReturnCtx(t,s),_(s,{code:h.invalid_string,validation:{startsWith:o.value},message:o.message}),r.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(s=this._getOrReturnCtx(t,s),_(s,{code:h.invalid_string,validation:{endsWith:o.value},message:o.message}),r.dirty()):o.kind==="datetime"?Da(o).test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:h.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?vm.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:h.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?Em(o).test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:h.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?hm.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"duration",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?Tm(t.data,o.version)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"ip",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?$m(t.data,o.alg)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"jwt",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?Rm(t.data,o.version)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cidr",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?xm.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"base64",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?Sm.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"base64url",code:h.invalid_string,message:o.message}),r.dirty()):I.assertNever(o);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:h.invalid_string,...x.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...x.errToObj(t)})}url(t){return this._addCheck({kind:"url",...x.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...x.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...x.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...x.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...x.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...x.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...x.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...x.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...x.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...x.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...x.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...x.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...x.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...x.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...x.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...x.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...x.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...x.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...x.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...x.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...x.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...x.errToObj(n)})}nonempty(t){return this.min(1,x.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Ae.create=e=>new Ae({checks:[],typeName:$.ZodString,coerce:e?.coerce??!1,...A(e)});Be=class e extends O{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==w.number){let o=this._getOrReturnCtx(t);return _(o,{code:h.invalid_type,expected:w.number,received:o.parsedType}),v}let r,s=new z;for(let o of this._def.checks)o.kind==="int"?I.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),_(r,{code:h.invalid_type,expected:"integer",received:"float",message:o.message}),s.dirty()):o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(r=this._getOrReturnCtx(t,r),_(r,{code:h.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),_(r,{code:h.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?Am(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),_(r,{code:h.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),_(r,{code:h.not_finite,message:o.message}),s.dirty()):I.assertNever(o);return{status:s.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,x.toString(n))}gt(t,n){return this.setLimit("min",t,!1,x.toString(n))}lte(t,n){return this.setLimit("max",t,!0,x.toString(n))}lt(t,n){return this.setLimit("max",t,!1,x.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:x.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:x.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:x.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:x.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:x.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:x.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:x.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:x.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:x.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:x.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&I.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}};Be.create=e=>new Be({checks:[],typeName:$.ZodNumber,coerce:e?.coerce||!1,...A(e)});ze=class e extends O{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==w.bigint)return this._getInvalidInput(t);let r,s=new z;for(let o of this._def.checks)o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(r=this._getOrReturnCtx(t,r),_(r,{code:h.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),_(r,{code:h.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),_(r,{code:h.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):I.assertNever(o);return{status:s.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return _(n,{code:h.invalid_type,expected:w.bigint,received:n.parsedType}),v}gte(t,n){return this.setLimit("min",t,!0,x.toString(n))}gt(t,n){return this.setLimit("min",t,!1,x.toString(n))}lte(t,n){return this.setLimit("max",t,!0,x.toString(n))}lt(t,n){return this.setLimit("max",t,!1,x.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:x.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:x.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:x.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:x.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:x.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:x.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};ze.create=e=>new ze({checks:[],typeName:$.ZodBigInt,coerce:e?.coerce??!1,...A(e)});Ue=class extends O{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==w.boolean){let r=this._getOrReturnCtx(t);return _(r,{code:h.invalid_type,expected:w.boolean,received:r.parsedType}),v}return Z(t.data)}};Ue.create=e=>new Ue({typeName:$.ZodBoolean,coerce:e?.coerce||!1,...A(e)});Ze=class e extends O{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==w.date){let o=this._getOrReturnCtx(t);return _(o,{code:h.invalid_type,expected:w.date,received:o.parsedType}),v}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return _(o,{code:h.invalid_date}),v}let r=new z,s;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:h.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),r.dirty()):o.kind==="max"?t.data.getTime()>o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:h.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):I.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:x.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:x.toString(n)})}get minDate(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}};Ze.create=e=>new Ze({checks:[],coerce:e?.coerce||!1,typeName:$.ZodDate,...A(e)});mt=class extends O{_parse(t){if(this._getType(t)!==w.symbol){let r=this._getOrReturnCtx(t);return _(r,{code:h.invalid_type,expected:w.symbol,received:r.parsedType}),v}return Z(t.data)}};mt.create=e=>new mt({typeName:$.ZodSymbol,...A(e)});Ge=class extends O{_parse(t){if(this._getType(t)!==w.undefined){let r=this._getOrReturnCtx(t);return _(r,{code:h.invalid_type,expected:w.undefined,received:r.parsedType}),v}return Z(t.data)}};Ge.create=e=>new Ge({typeName:$.ZodUndefined,...A(e)});Je=class extends O{_parse(t){if(this._getType(t)!==w.null){let r=this._getOrReturnCtx(t);return _(r,{code:h.invalid_type,expected:w.null,received:r.parsedType}),v}return Z(t.data)}};Je.create=e=>new Je({typeName:$.ZodNull,...A(e)});Ce=class extends O{constructor(){super(...arguments),this._any=!0}_parse(t){return Z(t.data)}};Ce.create=e=>new Ce({typeName:$.ZodAny,...A(e)});_e=class extends O{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Z(t.data)}};_e.create=e=>new _e({typeName:$.ZodUnknown,...A(e)});oe=class extends O{_parse(t){let n=this._getOrReturnCtx(t);return _(n,{code:h.invalid_type,expected:w.never,received:n.parsedType}),v}};oe.create=e=>new oe({typeName:$.ZodNever,...A(e)});ht=class extends O{_parse(t){if(this._getType(t)!==w.undefined){let r=this._getOrReturnCtx(t);return _(r,{code:h.invalid_type,expected:w.void,received:r.parsedType}),v}return Z(t.data)}};ht.create=e=>new ht({typeName:$.ZodVoid,...A(e)});we=class e extends O{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==w.array)return _(n,{code:h.invalid_type,expected:w.array,received:n.parsedType}),v;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(i||a)&&(_(n,{code:i?h.too_big:h.too_small,minimum:a?s.exactLength.value:void 0,maximum:i?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),r.dirty())}if(s.minLength!==null&&n.data.length<s.minLength.value&&(_(n,{code:h.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),r.dirty()),s.maxLength!==null&&n.data.length>s.maxLength.value&&(_(n,{code:h.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((i,a)=>s.type._parseAsync(new re(n,i,n.path,a)))).then(i=>z.mergeArray(r,i));let o=[...n.data].map((i,a)=>s.type._parseSync(new re(n,i,n.path,a)));return z.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:x.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:x.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:x.toString(n)}})}nonempty(t){return this.min(1,t)}};we.create=(e,t)=>new we({type:e,minLength:null,maxLength:null,exactLength:null,typeName:$.ZodArray,...A(t)});K=class e extends O{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),n=I.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==w.object){let c=this._getOrReturnCtx(t);return _(c,{code:h.invalid_type,expected:w.object,received:c.parsedType}),v}let{status:r,ctx:s}=this._processInputParams(t),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof oe&&this._def.unknownKeys==="strip"))for(let c in s.data)i.includes(c)||a.push(c);let l=[];for(let c of i){let u=o[c],f=s.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new re(s,f,s.path,c)),alwaysSet:c in s.data})}if(this._def.catchall instanceof oe){let c=this._def.unknownKeys;if(c==="passthrough")for(let u of a)l.push({key:{status:"valid",value:u},value:{status:"valid",value:s.data[u]}});else if(c==="strict")a.length>0&&(_(s,{code:h.unrecognized_keys,keys:a}),r.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let c=this._def.catchall;for(let u of a){let f=s.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new re(s,f,s.path,u)),alwaysSet:u in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let c=[];for(let u of l){let f=await u.key,d=await u.value;c.push({key:f,value:d,alwaysSet:u.alwaysSet})}return c}).then(c=>z.mergeObjectSync(r,c)):z.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return x.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{let s=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:x.errToObj(t).message??s}:{message:s}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:$.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let r of I.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let r of I.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return pt(this)}partial(t){let n={};for(let r of I.objectKeys(this.shape)){let s=this.shape[r];t&&!t[r]?n[r]=s:n[r]=s.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let r of I.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof ne;)o=o._def.innerType;n[r]=o}return new e({...this._def,shape:()=>n})}keyof(){return Ma(I.objectKeys(this.shape))}};K.create=(e,t)=>new K({shape:()=>e,unknownKeys:"strip",catchall:oe.create(),typeName:$.ZodObject,...A(t)});K.strictCreate=(e,t)=>new K({shape:()=>e,unknownKeys:"strict",catchall:oe.create(),typeName:$.ZodObject,...A(t)});K.lazycreate=(e,t)=>new K({shape:e,unknownKeys:"strip",catchall:oe.create(),typeName:$.ZodObject,...A(t)});We=class extends O{_parse(t){let{ctx:n}=this._processInputParams(t),r=this._def.options;function s(o){for(let a of o)if(a.result.status==="valid")return a.result;for(let a of o)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;let i=o.map(a=>new W(a.ctx.common.issues));return _(n,{code:h.invalid_union,unionErrors:i}),v}if(n.common.async)return Promise.all(r.map(async o=>{let i={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:i}),ctx:i}})).then(s);{let o,i=[];for(let l of r){let c={...n,common:{...n.common,issues:[]},parent:null},u=l._parseSync({data:n.data,path:n.path,parent:c});if(u.status==="valid")return u;u.status==="dirty"&&!o&&(o={result:u,ctx:c}),c.common.issues.length&&i.push(c.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;let a=i.map(l=>new W(l));return _(n,{code:h.invalid_union,unionErrors:a}),v}}get options(){return this._def.options}};We.create=(e,t)=>new We({options:e,typeName:$.ZodUnion,...A(t)});ke=e=>e instanceof Ve?ke(e.schema):e instanceof se?ke(e.innerType()):e instanceof qe?[e.value]:e instanceof Ye?e.options:e instanceof Xe?I.objectValues(e.enum):e instanceof Qe?ke(e._def.innerType):e instanceof Ge?[void 0]:e instanceof Je?[null]:e instanceof ne?[void 0,...ke(e.unwrap())]:e instanceof fe?[null,...ke(e.unwrap())]:e instanceof Vt||e instanceof tt?ke(e.unwrap()):e instanceof et?ke(e._def.innerType):[],Mn=class e extends O{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==w.object)return _(n,{code:h.invalid_type,expected:w.object,received:n.parsedType}),v;let r=this.discriminator,s=n.data[r],o=this.optionsMap.get(s);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(_(n,{code:h.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),v)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let s=new Map;for(let o of n){let i=ke(o.shape[t]);if(!i.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let a of i){if(s.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);s.set(a,o)}}return new e({typeName:$.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...A(r)})}};Ke=class extends O{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(o,i)=>{if(Nn(o)||Nn(i))return v;let a=rs(o.value,i.value);return a.valid?((Dn(o)||Dn(i))&&n.dirty(),{status:n.value,value:a.data}):(_(r,{code:h.invalid_intersection_types}),v)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,i])=>s(o,i)):s(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};Ke.create=(e,t,n)=>new Ke({left:e,right:t,typeName:$.ZodIntersection,...A(n)});ue=class e extends O{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.array)return _(r,{code:h.invalid_type,expected:w.array,received:r.parsedType}),v;if(r.data.length<this._def.items.length)return _(r,{code:h.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),v;!this._def.rest&&r.data.length>this._def.items.length&&(_(r,{code:h.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let o=[...r.data].map((i,a)=>{let l=this._def.items[a]||this._def.rest;return l?l._parse(new re(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(o).then(i=>z.mergeArray(n,i)):z.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};ue.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ue({items:e,typeName:$.ZodTuple,rest:null,...A(t)})};Fn=class e extends O{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.object)return _(r,{code:h.invalid_type,expected:w.object,received:r.parsedType}),v;let s=[],o=this._def.keyType,i=this._def.valueType;for(let a in r.data)s.push({key:o._parse(new re(r,a,r.path,a)),value:i._parse(new re(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?z.mergeObjectAsync(n,s):z.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof O?new e({keyType:t,valueType:n,typeName:$.ZodRecord,...A(r)}):new e({keyType:Ae.create(),valueType:t,typeName:$.ZodRecord,...A(n)})}},gt=class extends O{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.map)return _(r,{code:h.invalid_type,expected:w.map,received:r.parsedType}),v;let s=this._def.keyType,o=this._def.valueType,i=[...r.data.entries()].map(([a,l],c)=>({key:s._parse(new re(r,a,r.path,[c,"key"])),value:o._parse(new re(r,l,r.path,[c,"value"]))}));if(r.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let l of i){let c=await l.key,u=await l.value;if(c.status==="aborted"||u.status==="aborted")return v;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}})}else{let a=new Map;for(let l of i){let c=l.key,u=l.value;if(c.status==="aborted"||u.status==="aborted")return v;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}}}};gt.create=(e,t,n)=>new gt({valueType:t,keyType:e,typeName:$.ZodMap,...A(n)});yt=class e extends O{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.set)return _(r,{code:h.invalid_type,expected:w.set,received:r.parsedType}),v;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(_(r,{code:h.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),n.dirty()),s.maxSize!==null&&r.data.size>s.maxSize.value&&(_(r,{code:h.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),n.dirty());let o=this._def.valueType;function i(l){let c=new Set;for(let u of l){if(u.status==="aborted")return v;u.status==="dirty"&&n.dirty(),c.add(u.value)}return{status:n.value,value:c}}let a=[...r.data.values()].map((l,c)=>o._parse(new re(r,l,r.path,c)));return r.common.async?Promise.all(a).then(l=>i(l)):i(a)}min(t,n){return new e({...this._def,minSize:{value:t,message:x.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:x.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};yt.create=(e,t)=>new yt({valueType:e,minSize:null,maxSize:null,typeName:$.ZodSet,...A(t)});Ln=class e extends O{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==w.function)return _(n,{code:h.invalid_type,expected:w.function,received:n.parsedType}),v;function r(a,l){return Kt({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,ft(),be].filter(c=>!!c),issueData:{code:h.invalid_arguments,argumentsError:l}})}function s(a,l){return Kt({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,ft(),be].filter(c=>!!c),issueData:{code:h.invalid_return_type,returnTypeError:l}})}let o={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof Oe){let a=this;return Z(async function(...l){let c=new W([]),u=await a._def.args.parseAsync(l,o).catch(p=>{throw c.addIssue(r(l,p)),c}),f=await Reflect.apply(i,this,u);return await a._def.returns._def.type.parseAsync(f,o).catch(p=>{throw c.addIssue(s(f,p)),c})})}else{let a=this;return Z(function(...l){let c=a._def.args.safeParse(l,o);if(!c.success)throw new W([r(l,c.error)]);let u=Reflect.apply(i,this,c.data),f=a._def.returns.safeParse(u,o);if(!f.success)throw new W([s(u,f.error)]);return f.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:ue.create(t).rest(_e.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new e({args:t||ue.create([]).rest(_e.create()),returns:n||_e.create(),typeName:$.ZodFunction,...A(r)})}},Ve=class extends O{get schema(){return this._def.getter()}_parse(t){let{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};Ve.create=(e,t)=>new Ve({getter:e,typeName:$.ZodLazy,...A(t)});qe=class extends O{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return _(n,{received:n.data,code:h.invalid_literal,expected:this._def.value}),v}return{status:"valid",value:t.data}}get value(){return this._def.value}};qe.create=(e,t)=>new qe({value:e,typeName:$.ZodLiteral,...A(t)});Ye=class e extends O{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return _(n,{expected:I.joinValues(r),received:n.parsedType,code:h.invalid_type}),v}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),r=this._def.values;return _(n,{received:n.data,code:h.invalid_enum_value,options:r}),v}return Z(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}};Ye.create=Ma;Xe=class extends O{_parse(t){let n=I.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==w.string&&r.parsedType!==w.number){let s=I.objectValues(n);return _(r,{expected:I.joinValues(s),received:r.parsedType,code:h.invalid_type}),v}if(this._cache||(this._cache=new Set(I.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=I.objectValues(n);return _(r,{received:r.data,code:h.invalid_enum_value,options:s}),v}return Z(t.data)}get enum(){return this._def.values}};Xe.create=(e,t)=>new Xe({values:e,typeName:$.ZodNativeEnum,...A(t)});Oe=class extends O{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==w.promise&&n.common.async===!1)return _(n,{code:h.invalid_type,expected:w.promise,received:n.parsedType}),v;let r=n.parsedType===w.promise?n.data:Promise.resolve(n.data);return Z(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};Oe.create=(e,t)=>new Oe({type:e,typeName:$.ZodPromise,...A(t)});se=class extends O{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===$.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=this._def.effect||null,o={addIssue:i=>{_(r,i),i.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),s.type==="preprocess"){let i=s.transform(r.data,o);if(r.common.async)return Promise.resolve(i).then(async a=>{if(n.value==="aborted")return v;let l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?v:l.status==="dirty"?He(l.value):n.value==="dirty"?He(l.value):l});{if(n.value==="aborted")return v;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?v:a.status==="dirty"?He(a.value):n.value==="dirty"?He(a.value):a}}if(s.type==="refinement"){let i=a=>{let l=s.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?v:(a.status==="dirty"&&n.dirty(),i(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?v:(a.status==="dirty"&&n.dirty(),i(a.value).then(()=>({status:n.value,value:a.value}))))}if(s.type==="transform")if(r.common.async===!1){let i=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!Re(i))return v;let a=s.transform(i.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(i=>Re(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:n.value,value:a})):v);I.assertNever(s)}};se.create=(e,t,n)=>new se({schema:e,typeName:$.ZodEffects,effect:t,...A(n)});se.createWithPreprocess=(e,t,n)=>new se({schema:t,effect:{type:"preprocess",transform:e},typeName:$.ZodEffects,...A(n)});ne=class extends O{_parse(t){return this._getType(t)===w.undefined?Z(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};ne.create=(e,t)=>new ne({innerType:e,typeName:$.ZodOptional,...A(t)});fe=class extends O{_parse(t){return this._getType(t)===w.null?Z(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};fe.create=(e,t)=>new fe({innerType:e,typeName:$.ZodNullable,...A(t)});Qe=class extends O{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===w.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};Qe.create=(e,t)=>new Qe({innerType:e,typeName:$.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...A(t)});et=class extends O{_parse(t){let{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},s=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return dt(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new W(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new W(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};et.create=(e,t)=>new et({innerType:e,typeName:$.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...A(t)});bt=class extends O{_parse(t){if(this._getType(t)!==w.nan){let r=this._getOrReturnCtx(t);return _(r,{code:h.invalid_type,expected:w.nan,received:r.parsedType}),v}return{status:"valid",value:t.data}}};bt.create=e=>new bt({typeName:$.ZodNaN,...A(e)});Cm=Symbol("zod_brand"),Vt=class extends O{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},qt=class e extends O{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{let o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?v:o.status==="dirty"?(n.dirty(),He(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?v:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(t,n){return new e({in:t,out:n,typeName:$.ZodPipeline})}},tt=class extends O{_parse(t){let n=this._def.innerType._parse(t),r=s=>(Re(s)&&(s.value=Object.freeze(s.value)),s);return dt(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};tt.create=(e,t)=>new tt({innerType:e,typeName:$.ZodReadonly,...A(t)});Om={object:K.lazycreate};(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})($||($={}));Im=(e,t={message:`Input not instance of ${e.name}`})=>Fa(n=>n instanceof e,t),La=Ae.create,ja=Be.create,Pm=bt.create,Nm=ze.create,Ha=Ue.create,Dm=Ze.create,Mm=mt.create,Fm=Ge.create,Lm=Je.create,jm=Ce.create,Hm=_e.create,Bm=oe.create,zm=ht.create,Um=we.create,Zm=K.create,Gm=K.strictCreate,Jm=We.create,Wm=Mn.create,Km=Ke.create,Vm=ue.create,qm=Fn.create,Ym=gt.create,Xm=yt.create,Qm=Ln.create,eh=Ve.create,th=qe.create,nh=Ye.create,rh=Xe.create,sh=Oe.create,oh=se.create,ih=ne.create,ah=fe.create,lh=se.createWithPreprocess,ch=qt.create,uh=()=>La().optional(),fh=()=>ja().optional(),dh=()=>Ha().optional(),ph={string:(e=>Ae.create({...e,coerce:!0})),number:(e=>Be.create({...e,coerce:!0})),boolean:(e=>Ue.create({...e,coerce:!0})),bigint:(e=>ze.create({...e,coerce:!0})),date:(e=>Ze.create({...e,coerce:!0}))},mh=v});var b={};Pt(b,{BRAND:()=>Cm,DIRTY:()=>He,EMPTY_PATH:()=>lm,INVALID:()=>v,NEVER:()=>mh,OK:()=>Z,ParseStatus:()=>z,Schema:()=>O,ZodAny:()=>Ce,ZodArray:()=>we,ZodBigInt:()=>ze,ZodBoolean:()=>Ue,ZodBranded:()=>Vt,ZodCatch:()=>et,ZodDate:()=>Ze,ZodDefault:()=>Qe,ZodDiscriminatedUnion:()=>Mn,ZodEffects:()=>se,ZodEnum:()=>Ye,ZodError:()=>W,ZodFirstPartyTypeKind:()=>$,ZodFunction:()=>Ln,ZodIntersection:()=>Ke,ZodIssueCode:()=>h,ZodLazy:()=>Ve,ZodLiteral:()=>qe,ZodMap:()=>gt,ZodNaN:()=>bt,ZodNativeEnum:()=>Xe,ZodNever:()=>oe,ZodNull:()=>Je,ZodNullable:()=>fe,ZodNumber:()=>Be,ZodObject:()=>K,ZodOptional:()=>ne,ZodParsedType:()=>w,ZodPipeline:()=>qt,ZodPromise:()=>Oe,ZodReadonly:()=>tt,ZodRecord:()=>Fn,ZodSchema:()=>O,ZodSet:()=>yt,ZodString:()=>Ae,ZodSymbol:()=>mt,ZodTransformer:()=>se,ZodTuple:()=>ue,ZodType:()=>O,ZodUndefined:()=>Ge,ZodUnion:()=>We,ZodUnknown:()=>_e,ZodVoid:()=>ht,addIssueToContext:()=>_,any:()=>jm,array:()=>Um,bigint:()=>Nm,boolean:()=>Ha,coerce:()=>ph,custom:()=>Fa,date:()=>Dm,datetimeRegex:()=>Da,defaultErrorMap:()=>be,discriminatedUnion:()=>Wm,effect:()=>oh,enum:()=>nh,function:()=>Qm,getErrorMap:()=>ft,getParsedType:()=>ce,instanceof:()=>Im,intersection:()=>Km,isAborted:()=>Nn,isAsync:()=>dt,isDirty:()=>Dn,isValid:()=>Re,late:()=>Om,lazy:()=>eh,literal:()=>th,makeIssue:()=>Kt,map:()=>Ym,nan:()=>Pm,nativeEnum:()=>rh,never:()=>Bm,null:()=>Lm,nullable:()=>ah,number:()=>ja,object:()=>Zm,objectUtil:()=>Qr,oboolean:()=>dh,onumber:()=>fh,optional:()=>ih,ostring:()=>uh,pipeline:()=>ch,preprocess:()=>lh,promise:()=>sh,quotelessJson:()=>om,record:()=>qm,set:()=>Xm,setErrorMap:()=>am,strictObject:()=>Gm,string:()=>La,symbol:()=>Mm,transformer:()=>oh,tuple:()=>Vm,undefined:()=>Fm,union:()=>Jm,unknown:()=>Hm,util:()=>I,void:()=>zm});var ss=g(()=>{Pn();ts();Aa();Wt();Ba();In()});var kt=g(()=>{ss();ss()});var Ie,Yt=g(()=>{"use strict";kt();Ie=b.object({slug:b.string().min(1).max(64),description:b.string().max(255).optional(),match_command:b.string().min(1),priority:b.number().int().default(50),strip_ansi:b.boolean().default(!1),strip_lines_matching:b.array(b.string()).default([]),keep_failures:b.boolean().default(!1),strip_on_failure:b.boolean().default(!1),fold_passing:b.boolean().default(!1),fold_passing_threshold:b.number().int().positive().max(1e3).optional(),mask_abs_paths:b.boolean().default(!1),preserve_exact:b.boolean().default(!1),truncate_lines_at:b.number().int().positive().max(1e4).optional(),max_lines:b.number().int().positive().max(1e5).optional(),scale_with_level:b.boolean().default(!0),transform:b.string().max(64).optional(),on_empty:b.string().max(255).optional()})});function hh(e,t){let n=e.slice(0,t).split(/\r?\n/);return[n.length,n.pop().length+1]}function gh(e,t,n){let r=e.split(/\r?\n/),s="",o=(Math.log10(t+1)|0)+1;for(let i=t-1;i<=t+1;i++){let a=r[i-1];a&&(s+=i.toString().padEnd(o," "),s+=": ",s+=a,s+=`
|
|
12
|
+
`,{mode:384}),Hd(i,n)}}catch{}}var Ud,Zd,ux,Gd,zr=g(()=>{"use strict";L();Ud=96*1024,Zd=500,ux=168*3600*1e3,Gd=120});import{readFileSync as op}from"node:fs";import{join as ip}from"node:path";function ye(){try{return op(ip(S(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var An=g(()=>{"use strict";L()});var Wi=X((qx,Ji)=>{Ji.exports=Gi;Gi.sync=Mp;var Ui=ve("fs");function Dp(e,t){var n=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!n||(n=n.split(";"),n.indexOf("")!==-1))return!0;for(var r=0;r<n.length;r++){var s=n[r].toLowerCase();if(s&&e.substr(-s.length).toLowerCase()===s)return!0}return!1}function Zi(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:Dp(t,n)}function Gi(e,t,n){Ui.stat(e,function(r,s){n(r,r?!1:Zi(s,e,t))})}function Mp(e,t){return Zi(Ui.statSync(e),e,t)}});var Xi=X((Yx,Yi)=>{Yi.exports=Vi;Vi.sync=Fp;var Ki=ve("fs");function Vi(e,t,n){Ki.stat(e,function(r,s){n(r,r?!1:qi(s,t))})}function Fp(e,t){return qi(Ki.statSync(e),t)}function qi(e,t){return e.isFile()&&Lp(e,t)}function Lp(e,t){var n=e.mode,r=e.uid,s=e.gid,o=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),i=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,f=n&c||n&l&&s===i||n&a&&r===o||n&u&&o===0;return f}});var ea=X((Qx,Qi)=>{var Xx=ve("fs"),On;process.platform==="win32"||global.TESTING_WINDOWS?On=Wi():On=Xi();Qi.exports=Jr;Jr.sync=jp;function Jr(e,t,n){if(typeof t=="function"&&(n=t,t={}),!n){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(r,s){Jr(e,t||{},function(o,i){o?s(o):r(i)})})}On(e,t||{},function(r,s){r&&(r.code==="EACCES"||t&&t.ignoreErrors)&&(r=null,s=!1),n(r,s)})}function jp(e,t){try{return On.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var aa=X((eS,ia)=>{var ct=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",ta=ve("path"),Hp=ct?";":":",na=ea(),ra=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),sa=(e,t)=>{let n=t.colon||Hp,r=e.match(/\//)||ct&&e.match(/\\/)?[""]:[...ct?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],s=ct?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=ct?s.split(n):[""];return ct&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:r,pathExt:o,pathExtExe:s}},oa=(e,t,n)=>{typeof t=="function"&&(n=t,t={}),t||(t={});let{pathEnv:r,pathExt:s,pathExtExe:o}=sa(e,t),i=[],a=c=>new Promise((u,f)=>{if(c===r.length)return t.all&&i.length?u(i):f(ra(e));let d=r[c],p=/^".*"$/.test(d)?d.slice(1,-1):d,m=ta.join(p,e),b=!p&&/^\.[\\\/]/.test(e)?e.slice(0,2)+m:m;u(l(b,c,0))}),l=(c,u,f)=>new Promise((d,p)=>{if(f===s.length)return d(a(u+1));let m=s[f];na(c+m,{pathExt:o},(b,y)=>{if(!b&&y)if(t.all)i.push(c+m);else return d(c+m);return d(l(c,u,f+1))})});return n?a(0).then(c=>n(null,c),n):a(0)},Bp=(e,t)=>{t=t||{};let{pathEnv:n,pathExt:r,pathExtExe:s}=sa(e,t),o=[];for(let i=0;i<n.length;i++){let a=n[i],l=/^".*"$/.test(a)?a.slice(1,-1):a,c=ta.join(l,e),u=!l&&/^\.[\\\/]/.test(e)?e.slice(0,2)+c:c;for(let f=0;f<r.length;f++){let d=u+r[f];try{if(na.sync(d,{pathExt:s}))if(t.all)o.push(d);else return d}catch{}}}if(t.all&&o.length)return o;if(t.nothrow)return null;throw ra(e)};ia.exports=oa;oa.sync=Bp});var ca=X((tS,Wr)=>{"use strict";var la=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};Wr.exports=la;Wr.exports.default=la});var pa=X((nS,da)=>{"use strict";var ua=ve("path"),zp=aa(),Up=ca();function fa(e,t){let n=e.options.env||process.env,r=process.cwd(),s=e.options.cwd!=null,o=s&&process.chdir!==void 0&&!process.chdir.disabled;if(o)try{process.chdir(e.options.cwd)}catch{}let i;try{i=zp.sync(e.command,{path:n[Up({env:n})],pathExt:t?ua.delimiter:void 0})}catch{}finally{o&&process.chdir(r)}return i&&(i=ua.resolve(s?e.options.cwd:"",i)),i}function Zp(e){return fa(e)||fa(e,!0)}da.exports=Zp});var ma=X((rS,Vr)=>{"use strict";var Kr=/([()\][%!^"`<>&|;, *?])/g;function Gp(e){return e=e.replace(Kr,"^$1"),e}function Jp(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(Kr,"^$1"),t&&(e=e.replace(Kr,"^$1")),e}Vr.exports.command=Gp;Vr.exports.argument=Jp});var ga=X((sS,ha)=>{"use strict";ha.exports=/^#!(.*)/});var ba=X((oS,ya)=>{"use strict";var Wp=ga();ya.exports=(e="")=>{let t=e.match(Wp);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),s=n.split("/").pop();return s==="env"?r:r?`${s} ${r}`:s}});var _a=X((iS,ka)=>{"use strict";var qr=ve("fs"),Kp=ba();function Vp(e){let n=Buffer.alloc(150),r;try{r=qr.openSync(e,"r"),qr.readSync(r,n,0,150,0),qr.closeSync(r)}catch{}return Kp(n.toString())}ka.exports=Vp});var va=X((aS,Sa)=>{"use strict";var qp=ve("path"),wa=pa(),xa=ma(),Yp=_a(),Xp=process.platform==="win32",Qp=/\.(?:com|exe)$/i,em=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function tm(e){e.file=wa(e);let t=e.file&&Yp(e.file);return t?(e.args.unshift(e.file),e.command=t,wa(e)):e.file}function nm(e){if(!Xp)return e;let t=tm(e),n=!Qp.test(t);if(e.options.forceShell||n){let r=em.test(t);e.command=qp.normalize(e.command),e.command=xa.command(e.command),e.args=e.args.map(o=>xa.argument(o,r));let s=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${s}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}function rm(e,t,n){t&&!Array.isArray(t)&&(n=t,t=null),t=t?t.slice(0):[],n=Object.assign({},n);let r={command:e,args:t,options:n,file:void 0,original:{command:e,args:t}};return n.shell?r:nm(r)}Sa.exports=rm});var Ra=X((lS,Ta)=>{"use strict";var Yr=process.platform==="win32";function Xr(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function sm(e,t){if(!Yr)return;let n=e.emit;e.emit=function(r,s){if(r==="exit"){let o=Ea(s,t);if(o)return n.call(e,"error",o)}return n.apply(e,arguments)}}function Ea(e,t){return Yr&&e===1&&!t.file?Xr(t.original,"spawn"):null}function om(e,t){return Yr&&e===1&&!t.file?Xr(t.original,"spawnSync"):null}Ta.exports={hookChildProcess:sm,verifyENOENT:Ea,verifyENOENTSync:om,notFoundError:Xr}});var Ca=X((cS,ut)=>{"use strict";var $a=ve("child_process"),Qr=va(),es=Ra();function Aa(e,t,n){let r=Qr(e,t,n),s=$a.spawn(r.command,r.args,r.options);return es.hookChildProcess(s,r),s}function im(e,t,n){let r=Qr(e,t,n),s=$a.spawnSync(r.command,r.args,r.options);return s.error=s.error||es.verifyENOENTSync(s.status,r),s}ut.exports=Aa;ut.exports.spawn=Aa;ut.exports.sync=im;ut.exports._parse=Qr;ut.exports._enoent=es});var I,ts,w,ce,Wt=g(()=>{(function(e){e.assertEqual=s=>{};function t(s){}e.assertIs=t;function n(s){throw new Error}e.assertNever=n,e.arrayToEnum=s=>{let o={};for(let i of s)o[i]=i;return o},e.getValidEnumValues=s=>{let o=e.objectKeys(s).filter(a=>typeof s[s[a]]!="number"),i={};for(let a of o)i[a]=s[a];return e.objectValues(i)},e.objectValues=s=>e.objectKeys(s).map(function(o){return s[o]}),e.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let o=[];for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&o.push(i);return o},e.find=(s,o)=>{for(let i of s)if(o(i))return i},e.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,o=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(s,o)=>typeof o=="bigint"?o.toString():o})(I||(I={}));(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(ts||(ts={}));w=I.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ce=e=>{switch(typeof e){case"undefined":return w.undefined;case"string":return w.string;case"number":return Number.isNaN(e)?w.nan:w.number;case"boolean":return w.boolean;case"function":return w.function;case"bigint":return w.bigint;case"symbol":return w.symbol;case"object":return Array.isArray(e)?w.array:e===null?w.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?w.promise:typeof Map<"u"&&e instanceof Map?w.map:typeof Set<"u"&&e instanceof Set?w.set:typeof Date<"u"&&e instanceof Date?w.date:w.object;default:return w.unknown}}});var h,am,W,In=g(()=>{Wt();h=I.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),am=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),W=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){let n=t||function(o){return o.message},r={_errors:[]},s=o=>{for(let i of o.issues)if(i.code==="invalid_union")i.unionErrors.map(s);else if(i.code==="invalid_return_type")s(i.returnTypeError);else if(i.code==="invalid_arguments")s(i.argumentsError);else if(i.path.length===0)r._errors.push(n(i));else{let a=r,l=0;for(;l<i.path.length;){let c=i.path[l];l===i.path.length-1?(a[c]=a[c]||{_errors:[]},a[c]._errors.push(n(i))):a[c]=a[c]||{_errors:[]},a=a[c],l++}}};return s(this),r}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,I.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){let n={},r=[];for(let s of this.issues)if(s.path.length>0){let o=s.path[0];n[o]=n[o]||[],n[o].push(t(s))}else r.push(t(s));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};W.create=e=>new W(e)});var lm,be,ns=g(()=>{In();Wt();lm=(e,t)=>{let n;switch(e.code){case h.invalid_type:e.received===w.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case h.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,I.jsonStringifyReplacer)}`;break;case h.unrecognized_keys:n=`Unrecognized key(s) in object: ${I.joinValues(e.keys,", ")}`;break;case h.invalid_union:n="Invalid input";break;case h.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${I.joinValues(e.options)}`;break;case h.invalid_enum_value:n=`Invalid enum value. Expected ${I.joinValues(e.options)}, received '${e.received}'`;break;case h.invalid_arguments:n="Invalid function arguments";break;case h.invalid_return_type:n="Invalid function return type";break;case h.invalid_date:n="Invalid date";break;case h.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:I.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case h.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case h.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case h.custom:n="Invalid input";break;case h.invalid_intersection_types:n="Intersection results could not be merged";break;case h.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case h.not_finite:n="Number must be finite";break;default:n=t.defaultError,I.assertNever(e)}return{message:n}},be=lm});function cm(e){Oa=e}function ft(){return Oa}var Oa,Pn=g(()=>{ns();Oa=be});function _(e,t){let n=ft(),r=Kt({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===be?void 0:be].filter(s=>!!s)});e.common.issues.push(r)}var Kt,um,z,v,He,Z,Nn,Dn,$e,dt,rs=g(()=>{Pn();ns();Kt=e=>{let{data:t,path:n,errorMaps:r,issueData:s}=e,o=[...n,...s.path||[]],i={...s,path:o};if(s.message!==void 0)return{...s,path:o,message:s.message};let a="",l=r.filter(c=>!!c).slice().reverse();for(let c of l)a=c(i,{data:t,defaultError:a}).message;return{...s,path:o,message:a}},um=[];z=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){let r=[];for(let s of n){if(s.status==="aborted")return v;s.status==="dirty"&&t.dirty(),r.push(s.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){let r=[];for(let s of n){let o=await s.key,i=await s.value;r.push({key:o,value:i})}return e.mergeObjectSync(t,r)}static mergeObjectSync(t,n){let r={};for(let s of n){let{key:o,value:i}=s;if(o.status==="aborted"||i.status==="aborted")return v;o.status==="dirty"&&t.dirty(),i.status==="dirty"&&t.dirty(),o.value!=="__proto__"&&(typeof i.value<"u"||s.alwaysSet)&&(r[o.value]=i.value)}return{status:t.value,value:r}}},v=Object.freeze({status:"aborted"}),He=e=>({status:"dirty",value:e}),Z=e=>({status:"valid",value:e}),Nn=e=>e.status==="aborted",Dn=e=>e.status==="dirty",$e=e=>e.status==="valid",dt=e=>typeof Promise<"u"&&e instanceof Promise});var Ia=g(()=>{});var x,Pa=g(()=>{(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(x||(x={}))});function A(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:s}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:s}:{errorMap:(i,a)=>{let{message:l}=e;return i.code==="invalid_enum_value"?{message:l??a.defaultError}:typeof a.data>"u"?{message:l??r??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:l??n??a.defaultError}},description:s}}function Fa(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function Rm(e){return new RegExp(`^${Fa(e)}$`)}function La(e){let t=`${Ma}T${Fa(e)}`,n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function $m(e,t){return!!((t==="v4"||!t)&&_m.test(e)||(t==="v6"||!t)&&xm.test(e))}function Am(e,t){if(!gm.test(e))return!1;try{let[n]=e.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),s=JSON.parse(atob(r));return!(typeof s!="object"||s===null||"typ"in s&&s?.typ!=="JWT"||!s.alg||t&&s.alg!==t)}catch{return!1}}function Cm(e,t){return!!((t==="v4"||!t)&&wm.test(e)||(t==="v6"||!t)&&Sm.test(e))}function Om(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,s=n>r?n:r,o=Number.parseInt(e.toFixed(s).replace(".","")),i=Number.parseInt(t.toFixed(s).replace(".",""));return o%i/10**s}function pt(e){if(e instanceof K){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=ne.create(pt(r))}return new K({...e._def,shape:()=>t})}else return e instanceof we?new we({...e._def,type:pt(e.element)}):e instanceof ne?ne.create(pt(e.unwrap())):e instanceof fe?fe.create(pt(e.unwrap())):e instanceof ue?ue.create(e.items.map(t=>pt(t))):e}function os(e,t){let n=ce(e),r=ce(t);if(e===t)return{valid:!0,data:e};if(n===w.object&&r===w.object){let s=I.objectKeys(t),o=I.objectKeys(e).filter(a=>s.indexOf(a)!==-1),i={...e,...t};for(let a of o){let l=os(e[a],t[a]);if(!l.valid)return{valid:!1};i[a]=l.data}return{valid:!0,data:i}}else if(n===w.array&&r===w.array){if(e.length!==t.length)return{valid:!1};let s=[];for(let o=0;o<e.length;o++){let i=e[o],a=t[o],l=os(i,a);if(!l.valid)return{valid:!1};s.push(l.data)}return{valid:!0,data:s}}else return n===w.date&&r===w.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}function ja(e,t){return new Ye({values:e,typeName:R.ZodEnum,...A(t)})}function Da(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function Ha(e,t={},n){return e?Ce.create().superRefine((r,s)=>{let o=e(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=Da(t,r),l=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:l})}});if(!o){let i=Da(t,r),a=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:a})}}):Ce.create()}var re,Na,O,fm,dm,pm,mm,hm,gm,ym,bm,km,ss,_m,wm,xm,Sm,vm,Em,Ma,Tm,Ae,Be,ze,Ue,Ze,mt,Ge,Je,Ce,_e,oe,ht,we,K,We,ke,Mn,Ke,ue,Fn,gt,yt,Ln,Ve,qe,Ye,Xe,Oe,se,ne,fe,Qe,et,bt,Im,Vt,qt,tt,Pm,R,Nm,Ba,za,Dm,Mm,Ua,Fm,Lm,jm,Hm,Bm,zm,Um,Zm,Gm,Jm,Wm,Km,Vm,qm,Ym,Xm,Qm,eh,th,nh,rh,sh,oh,ih,ah,lh,ch,uh,fh,dh,ph,mh,hh,gh,Za=g(()=>{In();Pn();Pa();rs();Wt();re=class{constructor(t,n,r,s){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Na=(e,t)=>{if($e(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new W(e.common.issues);return this._error=n,this._error}}};O=class{get description(){return this._def.description}_getType(t){return ce(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ce(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new z,ctx:{common:t.parent.common,data:t.data,parsedType:ce(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(dt(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){let n=this._parse(t);return Promise.resolve(n)}parse(t,n){let r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ce(t)},s=this._parseSync({data:t,path:r.path,parent:r});return Na(r,s)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ce(t)};if(!this["~standard"].async)try{let r=this._parseSync({data:t,path:[],parent:n});return $e(r)?{value:r.value}:{issues:n.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then(r=>$e(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(t,n){let r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ce(t)},s=this._parse({data:t,path:r.path,parent:r}),o=await(dt(s)?s:Promise.resolve(s));return Na(r,o)}refine(t,n){let r=s=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(s):n;return this._refinement((s,o)=>{let i=t(s),a=()=>o.addIssue({code:h.custom,...r(s)});return typeof Promise<"u"&&i instanceof Promise?i.then(l=>l?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,s)=>t(r)?!0:(s.addIssue(typeof n=="function"?n(r,s):n),!1))}_refinement(t){return new se({schema:this,typeName:R.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return ne.create(this,this._def)}nullable(){return fe.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return we.create(this)}promise(){return Oe.create(this,this._def)}or(t){return We.create([this,t],this._def)}and(t){return Ke.create(this,t,this._def)}transform(t){return new se({...A(this._def),schema:this,typeName:R.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new Qe({...A(this._def),innerType:this,defaultValue:n,typeName:R.ZodDefault})}brand(){return new Vt({typeName:R.ZodBranded,type:this,...A(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new et({...A(this._def),innerType:this,catchValue:n,typeName:R.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return qt.create(this,t)}readonly(){return tt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},fm=/^c[^\s-]{8,}$/i,dm=/^[0-9a-z]+$/,pm=/^[0-9A-HJKMNP-TV-Z]{26}$/i,mm=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,hm=/^[a-z0-9_-]{21}$/i,gm=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,ym=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,bm=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,km="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",_m=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,wm=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,xm=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Sm=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,vm=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Em=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Ma="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Tm=new RegExp(`^${Ma}$`);Ae=class e extends O{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==w.string){let o=this._getOrReturnCtx(t);return _(o,{code:h.invalid_type,expected:w.string,received:o.parsedType}),v}let r=new z,s;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:h.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="max")t.data.length>o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:h.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){let i=t.data.length>o.value,a=t.data.length<o.value;(i||a)&&(s=this._getOrReturnCtx(t,s),i?_(s,{code:h.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&_(s,{code:h.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),r.dirty())}else if(o.kind==="email")bm.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"email",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="emoji")ss||(ss=new RegExp(km,"u")),ss.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"emoji",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="uuid")mm.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"uuid",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="nanoid")hm.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"nanoid",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid")fm.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cuid",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid2")dm.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cuid2",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="ulid")pm.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"ulid",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{s=this._getOrReturnCtx(t,s),_(s,{validation:"url",code:h.invalid_string,message:o.message}),r.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"regex",code:h.invalid_string,message:o.message}),r.dirty())):o.kind==="trim"?t.data=t.data.trim():o.kind==="includes"?t.data.includes(o.value,o.position)||(s=this._getOrReturnCtx(t,s),_(s,{code:h.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),r.dirty()):o.kind==="toLowerCase"?t.data=t.data.toLowerCase():o.kind==="toUpperCase"?t.data=t.data.toUpperCase():o.kind==="startsWith"?t.data.startsWith(o.value)||(s=this._getOrReturnCtx(t,s),_(s,{code:h.invalid_string,validation:{startsWith:o.value},message:o.message}),r.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(s=this._getOrReturnCtx(t,s),_(s,{code:h.invalid_string,validation:{endsWith:o.value},message:o.message}),r.dirty()):o.kind==="datetime"?La(o).test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:h.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?Tm.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:h.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?Rm(o).test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:h.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?ym.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"duration",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?$m(t.data,o.version)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"ip",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?Am(t.data,o.alg)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"jwt",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?Cm(t.data,o.version)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cidr",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?vm.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"base64",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?Em.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"base64url",code:h.invalid_string,message:o.message}),r.dirty()):I.assertNever(o);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:h.invalid_string,...x.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...x.errToObj(t)})}url(t){return this._addCheck({kind:"url",...x.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...x.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...x.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...x.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...x.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...x.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...x.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...x.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...x.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...x.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...x.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...x.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...x.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...x.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...x.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...x.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...x.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...x.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...x.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...x.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...x.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...x.errToObj(n)})}nonempty(t){return this.min(1,x.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Ae.create=e=>new Ae({checks:[],typeName:R.ZodString,coerce:e?.coerce??!1,...A(e)});Be=class e extends O{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==w.number){let o=this._getOrReturnCtx(t);return _(o,{code:h.invalid_type,expected:w.number,received:o.parsedType}),v}let r,s=new z;for(let o of this._def.checks)o.kind==="int"?I.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),_(r,{code:h.invalid_type,expected:"integer",received:"float",message:o.message}),s.dirty()):o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(r=this._getOrReturnCtx(t,r),_(r,{code:h.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),_(r,{code:h.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?Om(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),_(r,{code:h.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),_(r,{code:h.not_finite,message:o.message}),s.dirty()):I.assertNever(o);return{status:s.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,x.toString(n))}gt(t,n){return this.setLimit("min",t,!1,x.toString(n))}lte(t,n){return this.setLimit("max",t,!0,x.toString(n))}lt(t,n){return this.setLimit("max",t,!1,x.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:x.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:x.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:x.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:x.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:x.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:x.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:x.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:x.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:x.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:x.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&I.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}};Be.create=e=>new Be({checks:[],typeName:R.ZodNumber,coerce:e?.coerce||!1,...A(e)});ze=class e extends O{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==w.bigint)return this._getInvalidInput(t);let r,s=new z;for(let o of this._def.checks)o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(r=this._getOrReturnCtx(t,r),_(r,{code:h.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),_(r,{code:h.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),_(r,{code:h.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):I.assertNever(o);return{status:s.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return _(n,{code:h.invalid_type,expected:w.bigint,received:n.parsedType}),v}gte(t,n){return this.setLimit("min",t,!0,x.toString(n))}gt(t,n){return this.setLimit("min",t,!1,x.toString(n))}lte(t,n){return this.setLimit("max",t,!0,x.toString(n))}lt(t,n){return this.setLimit("max",t,!1,x.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:x.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:x.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:x.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:x.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:x.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:x.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};ze.create=e=>new ze({checks:[],typeName:R.ZodBigInt,coerce:e?.coerce??!1,...A(e)});Ue=class extends O{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==w.boolean){let r=this._getOrReturnCtx(t);return _(r,{code:h.invalid_type,expected:w.boolean,received:r.parsedType}),v}return Z(t.data)}};Ue.create=e=>new Ue({typeName:R.ZodBoolean,coerce:e?.coerce||!1,...A(e)});Ze=class e extends O{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==w.date){let o=this._getOrReturnCtx(t);return _(o,{code:h.invalid_type,expected:w.date,received:o.parsedType}),v}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return _(o,{code:h.invalid_date}),v}let r=new z,s;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:h.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),r.dirty()):o.kind==="max"?t.data.getTime()>o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:h.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):I.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:x.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:x.toString(n)})}get minDate(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}};Ze.create=e=>new Ze({checks:[],coerce:e?.coerce||!1,typeName:R.ZodDate,...A(e)});mt=class extends O{_parse(t){if(this._getType(t)!==w.symbol){let r=this._getOrReturnCtx(t);return _(r,{code:h.invalid_type,expected:w.symbol,received:r.parsedType}),v}return Z(t.data)}};mt.create=e=>new mt({typeName:R.ZodSymbol,...A(e)});Ge=class extends O{_parse(t){if(this._getType(t)!==w.undefined){let r=this._getOrReturnCtx(t);return _(r,{code:h.invalid_type,expected:w.undefined,received:r.parsedType}),v}return Z(t.data)}};Ge.create=e=>new Ge({typeName:R.ZodUndefined,...A(e)});Je=class extends O{_parse(t){if(this._getType(t)!==w.null){let r=this._getOrReturnCtx(t);return _(r,{code:h.invalid_type,expected:w.null,received:r.parsedType}),v}return Z(t.data)}};Je.create=e=>new Je({typeName:R.ZodNull,...A(e)});Ce=class extends O{constructor(){super(...arguments),this._any=!0}_parse(t){return Z(t.data)}};Ce.create=e=>new Ce({typeName:R.ZodAny,...A(e)});_e=class extends O{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Z(t.data)}};_e.create=e=>new _e({typeName:R.ZodUnknown,...A(e)});oe=class extends O{_parse(t){let n=this._getOrReturnCtx(t);return _(n,{code:h.invalid_type,expected:w.never,received:n.parsedType}),v}};oe.create=e=>new oe({typeName:R.ZodNever,...A(e)});ht=class extends O{_parse(t){if(this._getType(t)!==w.undefined){let r=this._getOrReturnCtx(t);return _(r,{code:h.invalid_type,expected:w.void,received:r.parsedType}),v}return Z(t.data)}};ht.create=e=>new ht({typeName:R.ZodVoid,...A(e)});we=class e extends O{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==w.array)return _(n,{code:h.invalid_type,expected:w.array,received:n.parsedType}),v;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(i||a)&&(_(n,{code:i?h.too_big:h.too_small,minimum:a?s.exactLength.value:void 0,maximum:i?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),r.dirty())}if(s.minLength!==null&&n.data.length<s.minLength.value&&(_(n,{code:h.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),r.dirty()),s.maxLength!==null&&n.data.length>s.maxLength.value&&(_(n,{code:h.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((i,a)=>s.type._parseAsync(new re(n,i,n.path,a)))).then(i=>z.mergeArray(r,i));let o=[...n.data].map((i,a)=>s.type._parseSync(new re(n,i,n.path,a)));return z.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:x.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:x.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:x.toString(n)}})}nonempty(t){return this.min(1,t)}};we.create=(e,t)=>new we({type:e,minLength:null,maxLength:null,exactLength:null,typeName:R.ZodArray,...A(t)});K=class e extends O{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),n=I.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==w.object){let c=this._getOrReturnCtx(t);return _(c,{code:h.invalid_type,expected:w.object,received:c.parsedType}),v}let{status:r,ctx:s}=this._processInputParams(t),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof oe&&this._def.unknownKeys==="strip"))for(let c in s.data)i.includes(c)||a.push(c);let l=[];for(let c of i){let u=o[c],f=s.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new re(s,f,s.path,c)),alwaysSet:c in s.data})}if(this._def.catchall instanceof oe){let c=this._def.unknownKeys;if(c==="passthrough")for(let u of a)l.push({key:{status:"valid",value:u},value:{status:"valid",value:s.data[u]}});else if(c==="strict")a.length>0&&(_(s,{code:h.unrecognized_keys,keys:a}),r.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let c=this._def.catchall;for(let u of a){let f=s.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new re(s,f,s.path,u)),alwaysSet:u in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let c=[];for(let u of l){let f=await u.key,d=await u.value;c.push({key:f,value:d,alwaysSet:u.alwaysSet})}return c}).then(c=>z.mergeObjectSync(r,c)):z.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return x.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{let s=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:x.errToObj(t).message??s}:{message:s}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:R.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let r of I.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let r of I.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return pt(this)}partial(t){let n={};for(let r of I.objectKeys(this.shape)){let s=this.shape[r];t&&!t[r]?n[r]=s:n[r]=s.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let r of I.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof ne;)o=o._def.innerType;n[r]=o}return new e({...this._def,shape:()=>n})}keyof(){return ja(I.objectKeys(this.shape))}};K.create=(e,t)=>new K({shape:()=>e,unknownKeys:"strip",catchall:oe.create(),typeName:R.ZodObject,...A(t)});K.strictCreate=(e,t)=>new K({shape:()=>e,unknownKeys:"strict",catchall:oe.create(),typeName:R.ZodObject,...A(t)});K.lazycreate=(e,t)=>new K({shape:e,unknownKeys:"strip",catchall:oe.create(),typeName:R.ZodObject,...A(t)});We=class extends O{_parse(t){let{ctx:n}=this._processInputParams(t),r=this._def.options;function s(o){for(let a of o)if(a.result.status==="valid")return a.result;for(let a of o)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;let i=o.map(a=>new W(a.ctx.common.issues));return _(n,{code:h.invalid_union,unionErrors:i}),v}if(n.common.async)return Promise.all(r.map(async o=>{let i={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:i}),ctx:i}})).then(s);{let o,i=[];for(let l of r){let c={...n,common:{...n.common,issues:[]},parent:null},u=l._parseSync({data:n.data,path:n.path,parent:c});if(u.status==="valid")return u;u.status==="dirty"&&!o&&(o={result:u,ctx:c}),c.common.issues.length&&i.push(c.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;let a=i.map(l=>new W(l));return _(n,{code:h.invalid_union,unionErrors:a}),v}}get options(){return this._def.options}};We.create=(e,t)=>new We({options:e,typeName:R.ZodUnion,...A(t)});ke=e=>e instanceof Ve?ke(e.schema):e instanceof se?ke(e.innerType()):e instanceof qe?[e.value]:e instanceof Ye?e.options:e instanceof Xe?I.objectValues(e.enum):e instanceof Qe?ke(e._def.innerType):e instanceof Ge?[void 0]:e instanceof Je?[null]:e instanceof ne?[void 0,...ke(e.unwrap())]:e instanceof fe?[null,...ke(e.unwrap())]:e instanceof Vt||e instanceof tt?ke(e.unwrap()):e instanceof et?ke(e._def.innerType):[],Mn=class e extends O{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==w.object)return _(n,{code:h.invalid_type,expected:w.object,received:n.parsedType}),v;let r=this.discriminator,s=n.data[r],o=this.optionsMap.get(s);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(_(n,{code:h.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),v)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let s=new Map;for(let o of n){let i=ke(o.shape[t]);if(!i.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let a of i){if(s.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);s.set(a,o)}}return new e({typeName:R.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...A(r)})}};Ke=class extends O{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(o,i)=>{if(Nn(o)||Nn(i))return v;let a=os(o.value,i.value);return a.valid?((Dn(o)||Dn(i))&&n.dirty(),{status:n.value,value:a.data}):(_(r,{code:h.invalid_intersection_types}),v)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,i])=>s(o,i)):s(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};Ke.create=(e,t,n)=>new Ke({left:e,right:t,typeName:R.ZodIntersection,...A(n)});ue=class e extends O{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.array)return _(r,{code:h.invalid_type,expected:w.array,received:r.parsedType}),v;if(r.data.length<this._def.items.length)return _(r,{code:h.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),v;!this._def.rest&&r.data.length>this._def.items.length&&(_(r,{code:h.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let o=[...r.data].map((i,a)=>{let l=this._def.items[a]||this._def.rest;return l?l._parse(new re(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(o).then(i=>z.mergeArray(n,i)):z.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};ue.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ue({items:e,typeName:R.ZodTuple,rest:null,...A(t)})};Fn=class e extends O{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.object)return _(r,{code:h.invalid_type,expected:w.object,received:r.parsedType}),v;let s=[],o=this._def.keyType,i=this._def.valueType;for(let a in r.data)s.push({key:o._parse(new re(r,a,r.path,a)),value:i._parse(new re(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?z.mergeObjectAsync(n,s):z.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof O?new e({keyType:t,valueType:n,typeName:R.ZodRecord,...A(r)}):new e({keyType:Ae.create(),valueType:t,typeName:R.ZodRecord,...A(n)})}},gt=class extends O{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.map)return _(r,{code:h.invalid_type,expected:w.map,received:r.parsedType}),v;let s=this._def.keyType,o=this._def.valueType,i=[...r.data.entries()].map(([a,l],c)=>({key:s._parse(new re(r,a,r.path,[c,"key"])),value:o._parse(new re(r,l,r.path,[c,"value"]))}));if(r.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let l of i){let c=await l.key,u=await l.value;if(c.status==="aborted"||u.status==="aborted")return v;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}})}else{let a=new Map;for(let l of i){let c=l.key,u=l.value;if(c.status==="aborted"||u.status==="aborted")return v;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}}}};gt.create=(e,t,n)=>new gt({valueType:t,keyType:e,typeName:R.ZodMap,...A(n)});yt=class e extends O{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.set)return _(r,{code:h.invalid_type,expected:w.set,received:r.parsedType}),v;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(_(r,{code:h.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),n.dirty()),s.maxSize!==null&&r.data.size>s.maxSize.value&&(_(r,{code:h.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),n.dirty());let o=this._def.valueType;function i(l){let c=new Set;for(let u of l){if(u.status==="aborted")return v;u.status==="dirty"&&n.dirty(),c.add(u.value)}return{status:n.value,value:c}}let a=[...r.data.values()].map((l,c)=>o._parse(new re(r,l,r.path,c)));return r.common.async?Promise.all(a).then(l=>i(l)):i(a)}min(t,n){return new e({...this._def,minSize:{value:t,message:x.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:x.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};yt.create=(e,t)=>new yt({valueType:e,minSize:null,maxSize:null,typeName:R.ZodSet,...A(t)});Ln=class e extends O{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==w.function)return _(n,{code:h.invalid_type,expected:w.function,received:n.parsedType}),v;function r(a,l){return Kt({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,ft(),be].filter(c=>!!c),issueData:{code:h.invalid_arguments,argumentsError:l}})}function s(a,l){return Kt({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,ft(),be].filter(c=>!!c),issueData:{code:h.invalid_return_type,returnTypeError:l}})}let o={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof Oe){let a=this;return Z(async function(...l){let c=new W([]),u=await a._def.args.parseAsync(l,o).catch(p=>{throw c.addIssue(r(l,p)),c}),f=await Reflect.apply(i,this,u);return await a._def.returns._def.type.parseAsync(f,o).catch(p=>{throw c.addIssue(s(f,p)),c})})}else{let a=this;return Z(function(...l){let c=a._def.args.safeParse(l,o);if(!c.success)throw new W([r(l,c.error)]);let u=Reflect.apply(i,this,c.data),f=a._def.returns.safeParse(u,o);if(!f.success)throw new W([s(u,f.error)]);return f.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:ue.create(t).rest(_e.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new e({args:t||ue.create([]).rest(_e.create()),returns:n||_e.create(),typeName:R.ZodFunction,...A(r)})}},Ve=class extends O{get schema(){return this._def.getter()}_parse(t){let{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};Ve.create=(e,t)=>new Ve({getter:e,typeName:R.ZodLazy,...A(t)});qe=class extends O{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return _(n,{received:n.data,code:h.invalid_literal,expected:this._def.value}),v}return{status:"valid",value:t.data}}get value(){return this._def.value}};qe.create=(e,t)=>new qe({value:e,typeName:R.ZodLiteral,...A(t)});Ye=class e extends O{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return _(n,{expected:I.joinValues(r),received:n.parsedType,code:h.invalid_type}),v}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),r=this._def.values;return _(n,{received:n.data,code:h.invalid_enum_value,options:r}),v}return Z(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}};Ye.create=ja;Xe=class extends O{_parse(t){let n=I.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==w.string&&r.parsedType!==w.number){let s=I.objectValues(n);return _(r,{expected:I.joinValues(s),received:r.parsedType,code:h.invalid_type}),v}if(this._cache||(this._cache=new Set(I.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=I.objectValues(n);return _(r,{received:r.data,code:h.invalid_enum_value,options:s}),v}return Z(t.data)}get enum(){return this._def.values}};Xe.create=(e,t)=>new Xe({values:e,typeName:R.ZodNativeEnum,...A(t)});Oe=class extends O{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==w.promise&&n.common.async===!1)return _(n,{code:h.invalid_type,expected:w.promise,received:n.parsedType}),v;let r=n.parsedType===w.promise?n.data:Promise.resolve(n.data);return Z(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};Oe.create=(e,t)=>new Oe({type:e,typeName:R.ZodPromise,...A(t)});se=class extends O{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===R.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=this._def.effect||null,o={addIssue:i=>{_(r,i),i.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),s.type==="preprocess"){let i=s.transform(r.data,o);if(r.common.async)return Promise.resolve(i).then(async a=>{if(n.value==="aborted")return v;let l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?v:l.status==="dirty"?He(l.value):n.value==="dirty"?He(l.value):l});{if(n.value==="aborted")return v;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?v:a.status==="dirty"?He(a.value):n.value==="dirty"?He(a.value):a}}if(s.type==="refinement"){let i=a=>{let l=s.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?v:(a.status==="dirty"&&n.dirty(),i(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?v:(a.status==="dirty"&&n.dirty(),i(a.value).then(()=>({status:n.value,value:a.value}))))}if(s.type==="transform")if(r.common.async===!1){let i=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!$e(i))return v;let a=s.transform(i.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(i=>$e(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:n.value,value:a})):v);I.assertNever(s)}};se.create=(e,t,n)=>new se({schema:e,typeName:R.ZodEffects,effect:t,...A(n)});se.createWithPreprocess=(e,t,n)=>new se({schema:t,effect:{type:"preprocess",transform:e},typeName:R.ZodEffects,...A(n)});ne=class extends O{_parse(t){return this._getType(t)===w.undefined?Z(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};ne.create=(e,t)=>new ne({innerType:e,typeName:R.ZodOptional,...A(t)});fe=class extends O{_parse(t){return this._getType(t)===w.null?Z(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};fe.create=(e,t)=>new fe({innerType:e,typeName:R.ZodNullable,...A(t)});Qe=class extends O{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===w.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};Qe.create=(e,t)=>new Qe({innerType:e,typeName:R.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...A(t)});et=class extends O{_parse(t){let{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},s=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return dt(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new W(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new W(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};et.create=(e,t)=>new et({innerType:e,typeName:R.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...A(t)});bt=class extends O{_parse(t){if(this._getType(t)!==w.nan){let r=this._getOrReturnCtx(t);return _(r,{code:h.invalid_type,expected:w.nan,received:r.parsedType}),v}return{status:"valid",value:t.data}}};bt.create=e=>new bt({typeName:R.ZodNaN,...A(e)});Im=Symbol("zod_brand"),Vt=class extends O{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},qt=class e extends O{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{let o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?v:o.status==="dirty"?(n.dirty(),He(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?v:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(t,n){return new e({in:t,out:n,typeName:R.ZodPipeline})}},tt=class extends O{_parse(t){let n=this._def.innerType._parse(t),r=s=>($e(s)&&(s.value=Object.freeze(s.value)),s);return dt(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};tt.create=(e,t)=>new tt({innerType:e,typeName:R.ZodReadonly,...A(t)});Pm={object:K.lazycreate};(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(R||(R={}));Nm=(e,t={message:`Input not instance of ${e.name}`})=>Ha(n=>n instanceof e,t),Ba=Ae.create,za=Be.create,Dm=bt.create,Mm=ze.create,Ua=Ue.create,Fm=Ze.create,Lm=mt.create,jm=Ge.create,Hm=Je.create,Bm=Ce.create,zm=_e.create,Um=oe.create,Zm=ht.create,Gm=we.create,Jm=K.create,Wm=K.strictCreate,Km=We.create,Vm=Mn.create,qm=Ke.create,Ym=ue.create,Xm=Fn.create,Qm=gt.create,eh=yt.create,th=Ln.create,nh=Ve.create,rh=qe.create,sh=Ye.create,oh=Xe.create,ih=Oe.create,ah=se.create,lh=ne.create,ch=fe.create,uh=se.createWithPreprocess,fh=qt.create,dh=()=>Ba().optional(),ph=()=>za().optional(),mh=()=>Ua().optional(),hh={string:(e=>Ae.create({...e,coerce:!0})),number:(e=>Be.create({...e,coerce:!0})),boolean:(e=>Ue.create({...e,coerce:!0})),bigint:(e=>ze.create({...e,coerce:!0})),date:(e=>Ze.create({...e,coerce:!0}))},gh=v});var k={};Pt(k,{BRAND:()=>Im,DIRTY:()=>He,EMPTY_PATH:()=>um,INVALID:()=>v,NEVER:()=>gh,OK:()=>Z,ParseStatus:()=>z,Schema:()=>O,ZodAny:()=>Ce,ZodArray:()=>we,ZodBigInt:()=>ze,ZodBoolean:()=>Ue,ZodBranded:()=>Vt,ZodCatch:()=>et,ZodDate:()=>Ze,ZodDefault:()=>Qe,ZodDiscriminatedUnion:()=>Mn,ZodEffects:()=>se,ZodEnum:()=>Ye,ZodError:()=>W,ZodFirstPartyTypeKind:()=>R,ZodFunction:()=>Ln,ZodIntersection:()=>Ke,ZodIssueCode:()=>h,ZodLazy:()=>Ve,ZodLiteral:()=>qe,ZodMap:()=>gt,ZodNaN:()=>bt,ZodNativeEnum:()=>Xe,ZodNever:()=>oe,ZodNull:()=>Je,ZodNullable:()=>fe,ZodNumber:()=>Be,ZodObject:()=>K,ZodOptional:()=>ne,ZodParsedType:()=>w,ZodPipeline:()=>qt,ZodPromise:()=>Oe,ZodReadonly:()=>tt,ZodRecord:()=>Fn,ZodSchema:()=>O,ZodSet:()=>yt,ZodString:()=>Ae,ZodSymbol:()=>mt,ZodTransformer:()=>se,ZodTuple:()=>ue,ZodType:()=>O,ZodUndefined:()=>Ge,ZodUnion:()=>We,ZodUnknown:()=>_e,ZodVoid:()=>ht,addIssueToContext:()=>_,any:()=>Bm,array:()=>Gm,bigint:()=>Mm,boolean:()=>Ua,coerce:()=>hh,custom:()=>Ha,date:()=>Fm,datetimeRegex:()=>La,defaultErrorMap:()=>be,discriminatedUnion:()=>Vm,effect:()=>ah,enum:()=>sh,function:()=>th,getErrorMap:()=>ft,getParsedType:()=>ce,instanceof:()=>Nm,intersection:()=>qm,isAborted:()=>Nn,isAsync:()=>dt,isDirty:()=>Dn,isValid:()=>$e,late:()=>Pm,lazy:()=>nh,literal:()=>rh,makeIssue:()=>Kt,map:()=>Qm,nan:()=>Dm,nativeEnum:()=>oh,never:()=>Um,null:()=>Hm,nullable:()=>ch,number:()=>za,object:()=>Jm,objectUtil:()=>ts,oboolean:()=>mh,onumber:()=>ph,optional:()=>lh,ostring:()=>dh,pipeline:()=>fh,preprocess:()=>uh,promise:()=>ih,quotelessJson:()=>am,record:()=>Xm,set:()=>eh,setErrorMap:()=>cm,strictObject:()=>Wm,string:()=>Ba,symbol:()=>Lm,transformer:()=>ah,tuple:()=>Ym,undefined:()=>jm,union:()=>Km,unknown:()=>zm,util:()=>I,void:()=>Zm});var is=g(()=>{Pn();rs();Ia();Wt();Za();In()});var kt=g(()=>{is();is()});var Ie,Yt=g(()=>{"use strict";kt();Ie=k.object({slug:k.string().min(1).max(64),description:k.string().max(255).optional(),match_command:k.string().min(1),priority:k.number().int().default(50),strip_ansi:k.boolean().default(!1),strip_lines_matching:k.array(k.string()).default([]),keep_failures:k.boolean().default(!1),strip_on_failure:k.boolean().default(!1),fold_passing:k.boolean().default(!1),fold_passing_threshold:k.number().int().positive().max(1e3).optional(),mask_abs_paths:k.boolean().default(!1),preserve_exact:k.boolean().default(!1),truncate_lines_at:k.number().int().positive().max(1e4).optional(),max_lines:k.number().int().positive().max(1e5).optional(),scale_with_level:k.boolean().default(!0),transform:k.string().max(64).optional(),on_empty:k.string().max(255).optional()})});function yh(e,t){let n=e.slice(0,t).split(/\r?\n/);return[n.length,n.pop().length+1]}function bh(e,t,n){let r=e.split(/\r?\n/),s="",o=(Math.log10(t+1)|0)+1;for(let i=t-1;i<=t+1;i++){let a=r[i-1];a&&(s+=i.toString().padEnd(o," "),s+=": ",s+=a,s+=`
|
|
13
13
|
`,i===t&&(s+=" ".repeat(o+n+2),s+=`^
|
|
14
|
-
`))}return s}var E,nt=g(()=>{E=class e extends Error{line;column;codeblock;constructor(t,n){let[r,s]=
|
|
14
|
+
`))}return s}var E,nt=g(()=>{E=class e extends Error{line;column;codeblock;constructor(t,n){let[r,s]=yh(n.toml,n.ptr),o=bh(n.toml,r,s);super(`Invalid TOML document: ${t}
|
|
15
15
|
|
|
16
16
|
${o}`,n),this.line=r,this.column=s,this.codeblock=o}static x(t,n,r){throw new e(t,{toml:n.s,ptr:r??n.p})}}});function jn(e){let t=e.p,n=e.s.charCodeAt(e.p++),r=n,s=n===39,o=n===e.s.charCodeAt(e.p)&&n===e.s.charCodeAt(e.p+1);o&&((n=e.s.charCodeAt(e.p+=2))===10?e.p++:n===13&&e.s.charCodeAt(e.p+1)===10&&(e.p+=2));let i="",a=e.p,l=0;for(;e.p<e.s.length;e.p++)if(n=e.s.charCodeAt(e.p),o&&(n===10||n===13&&e.s.charCodeAt(e.p+1)===10))l=l&&3;else if(n<32&&n!==9||n===127)E.x("control characters are not allowed in strings",e);else if((!l||l===3)&&n===r&&(!o||e.s.charCodeAt(e.p+1)===r&&e.s.charCodeAt(e.p+2)===r)){if(o&&(e.s.charCodeAt(e.p+3)===r&&e.p++,e.s.charCodeAt(e.p+3)===r&&e.p++),!l){let c=e.s.slice(a,e.p);i=i?i+c:c}return e.p+=o?3:1,i}else if(!l)!s&&n===92&&(i+=e.s.slice(a,a=e.p),l=1);else if(l===1)if(n===120||n===117||n===85){let c=e.p++-1,u=0,f=n===120?2:n===117?4:8;for(let d=0;d<f;d++,e.p++){let p=e.s.charCodeAt(e.p),m=p>=48&&p<=57?p-48:p>=65&&p<=70?p-65+10:p>=97&&p<=102?p-97+10:-1;m<0&&E.x("invalid non-hex character in unicode escape",e),u=u<<4|m}(u<0||u>1114111||u>=55296&&u<=57343)&&E.x("invalid unicode escape",e,c),i+=String.fromCodePoint(u),a=e.p--,l=0}else o&&(n===32||n===9)?l=2:(n===98?i+="\b":n===116?i+=" ":n===110?i+=`
|
|
17
|
-
`:n===102?i+="\f":n===114?i+="\r":n===101?i+="\x1B":n===34?i+='"':n===92?i+="\\":E.x("unrecognised escape sequence",e),a=e.p+1,l=0);else n!==32&&n!==9&&(l===2&&E.x("invalid escape: only line-ending whitespace may be escaped",e,a),l=!s&&n===92?1:0,a=e.p);E.x("unfinished string",e,t)}var os=g(()=>{nt();});var yh,rt,is=g(()=>{yh=/^(\d{4}-\d{2}-\d{2})?[Tt ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|z|[-+]\d{2}:\d{2})?$/i,rt=class e extends Date{#t=!1;#n=!1;#e=null;constructor(t,n,r){let s=!0,o=!0,i="Z",a;if(typeof t=="string")if(n)e:{if(n<3){if(+t.slice(11,13)>23){t="";break e}n===2?(i=null,t+="Z"):(a=t.charCodeAt(t.length-1))!==90&&a!==122&&(i=t.slice(t.length-6)),r&&(t=t.slice(0,10)+"T"+t.slice(11))}else n===4&&(t=+t.slice(0,2)>23?"":`0000-01-01T${t}Z`);s=n!==4,o=n!==3}else{let l=t.match(yh);l?(l[1]||(s=!1,t=`0000-01-01T${t}`),o=!!l[2],o&&t[10]===" "&&(t=t.replace(" ","T")),l[2]&&+l[2]>23?t="":(i=l[3]||null,!i&&o&&(t+="Z"))):t=""}super(t),isNaN(this.getTime())||(this.#t=s,this.#n=o,this.#e=i)}isDateTime(){return this.#t&&this.#n}isLocal(){return!this.#t||!this.#n||!this.#e}isDate(){return this.#t&&!this.#n}isTime(){return this.#n&&!this.#t}isValid(){return this.#t||this.#n}toISOString(){let t=super.toISOString();if(this.isDate())return t.slice(0,10);if(this.isTime())return t.slice(11,23);if(this.#e===null)return t.slice(0,-1);if(this.#e==="Z"||this.#e==="z")return t;let n=+this.#e.slice(1,3)*60+ +this.#e.slice(4,6);return n=this.#e[0]==="-"?n:-n,new Date(this.getTime()-n*6e4).toISOString().slice(0,-1)+this.#e}static wrapAsOffsetDateTime(t,n="Z"){let r=new e(t);return r.#e=n,r}static wrapAsLocalDateTime(t){let n=new e(t);return n.#e=null,n}static wrapAsLocalDate(t){let n=new e(t);return n.#n=!1,n.#e=null,n}static wrapAsLocalTime(t){let n=new e(t);return n.#t=!1,n.#e=null,n}}});function Q(e,t=10){return t===16?e>47&&e<58||e>64&&e<71||e>96&&e<103:e>47&&e<48+t}function ls(e,t){return e===32||e===9||e===10||e===13||t&&(e===t||e===44)||e===35}function Qt(e,t){let n=e.p,r=e.s.charCodeAt(e.p);if(r===91||r===123){e.d--||E.x("document contains excessively nested structures. aborting.",e);let s=r===91?Za(e):Ua(e);return e.d++,s}return r===34||r===39?jn(e):r===116?((e.s.charCodeAt(++e.p)!==114||e.s.charCodeAt(++e.p)!==117||e.s.charCodeAt(++e.p)!==101)&&E.x("invalid value",e,n),e.p++,!0):r===102?((e.s.charCodeAt(++e.p)!==97||e.s.charCodeAt(++e.p)!==108||e.s.charCodeAt(++e.p)!==115||e.s.charCodeAt(++e.p)!==101)&&E.x("invalid value",e,n),e.p++,!1):r===43||r===45?Hn(e,e.p,e.s.charCodeAt(++e.p),44-r,t):e.s.charCodeAt(e.p+4)===45&&e.s.charCodeAt(e.p+7)===45?bh(e,r,t):e.s.charCodeAt(e.p+2)===58?kh(e,r,t):Hn(e,e.p,r,0,t)}function Hn(e,t,n,r,s){let o=n,i=0,a=!1;if(o===105)return(e.s.charCodeAt(++e.p)!==110||e.s.charCodeAt(++e.p)!==102)&&E.x("invalid value",e,t),e.p++,(r||1)/0;if(o===110)return(e.s.charCodeAt(++e.p)!==97||e.s.charCodeAt(++e.p)!==110)&&E.x("invalid value",e,t),e.p++,NaN;if(o===48){if(++e.p>=e.s.length||ls(o=e.s.charCodeAt(e.p),s))return e.bi===!0?0n:0;if(!r){if(o===120)return as(e,t,16,s);if(o===98)return as(e,t,2,s);if(o===111)return as(e,t,8,s)}o===46?i=2:o===101||o===69?i=4:E.x("illegal leading zero",e,t)}else Q(o)||E.x("invalid value",e,t);for(;++e.p<e.s.length&&(o=e.s.charCodeAt(e.p),!ls(o,s));)i||(i=1),o===95?(i&1||E.x("illegal underscore",e),i+=11,a=!0):i===1&&o===46?i=2:(i===1||i===3)&&(o===101||o===69)?i=4:i===4&&(o===43||o===45)||(Q(o)?i>9?i-=11:i&1||i++:E.x("illegal character in numeric literal",e));if(!i){let c=(n-48)*(r||1);return e.bi===!0?BigInt(c):c}i&1||E.x("unfinished numeric value",e,t);let l=e.s.slice(t,e.p);return a&&(l=l.replaceAll("_","")),i>1?parseFloat(l):za(e,l,10,t)}function as(e,t,n,r){let s,o=1;for(;++e.p<e.s.length&&(s=e.s.charCodeAt(e.p),!ls(s,r));)s===95?(o&1&&E.x("illegal underscore",e),o=3):Q(s,n)?o&1&&o--:E.x("illegal character in numeric literal",e);o&1&&E.x("unfinished numeric value",e);let i=e.s.slice(t+2,e.p);return o&&(i=i.replaceAll("_","")),za(e,i,n,t)}function za(e,t,n,r){if(e.bi!==!0)e:{let s=parseInt(t,n);if(!Number.isSafeInteger(s)){if(e.bi)break e;E.x("integer value cannot be represented losslessly",e,r)}return s}return BigInt(n===10?t:(n===2?"0b":n===8?"0o":"0x")+t)}function bh(e,t,n){let r=e.p++,s;if(!Q(t)||!Q(e.s.charCodeAt(e.p++))||!Q(e.s.charCodeAt(e.p++))||!Q(e.s.charCodeAt(e.p++)))return Hn(e,e.p=r,t,0,n);if(e.p+=5,Q(e.s.charCodeAt(e.p++))||E.x("invalid date-time: date part is malformed",e,r),e.p>=e.s.length||((t=e.s.charCodeAt(e.p))!==32||(s=!0,!Q(e.s.charCodeAt(e.p+1))))&&t!==84&&t!==116){let i=e.s.slice(r,e.p);return Xt(e,i,3,!1,r)}if(e.s.charCodeAt(e.p+=3)!==58&&E.x("invalid date-time: time part is malformed",e,r),e.s.charCodeAt(e.p+=3)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;Q(e.s.charCodeAt(++e.p)););if(t=e.s.charCodeAt(e.p)){if(t===90||t===122){let i=e.s.slice(r,++e.p);return Xt(e,i,1,s,r,"[+00:00]")}if(t===43||t===45){let i=e.s.slice(r,e.p+=6);return Xt(e,i,1,s,r,!e.ld&&"["+e.s.slice(e.p-6,e.p)+"]")}}let o=e.s.slice(r,e.p);return Xt(e,o,2,s,r)}function kh(e,t,n){let r=e.p;if(!Q(t)||!Q(e.s.charCodeAt(++e.p)))return Hn(e,--e.p,t,0,n);if(e.s.charCodeAt(e.p+=4)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;Q(e.s.charCodeAt(++e.p)););let s=e.s.slice(r,e.p);return Xt(e,s,4,!1,r)}function Xt(e,t,n,r,s,o){if(e.ld){let i=new rt(t,n,r);return i.isValid()||E.x("invalid date",e,s),i}try{switch(o&&(t+=o),n){case 1:return Temporal.ZonedDateTime.from(t);case 2:return Temporal.PlainDateTime.from(t);case 3:return Temporal.PlainDate.from(t);case 4:return Temporal.PlainTime.from(t)}}catch(i){E.x(i instanceof Error?i.message:""+i,e,s)}}var cs=g(()=>{os();us();nt();is();});function _h(e){for(;e.p<e.s.length;e.p++){let t=e.s.charCodeAt(e.p);if(t===10)break;if(t===13&&e.s.charCodeAt(e.p+1)===10){e.p++;break}(t<32&&t!==9||t===127)&&E.x("control characters are not allowed in comments",e)}}function ie(e,t,n){let r;for(;e.p<e.s.length;){for(;e.p<e.s.length&&((r=e.s.charCodeAt(e.p))===32||r===9||!t&&(r===10||r===13&&e.s.charCodeAt(e.p+1)===10));)e.p++;if(n||r!==35)break;_h(e)}}var fs=g(()=>{nt();});function Bn(e,t=61){let n,r=0,s=[],o,i=e.s.charCodeAt(n=e.p);do{if(i===t)return r||E.x("unexpected end of key",e),r===1&&s.push(e.s.slice(o,e.p)),e.p++,s;i===46?(r||E.x("illegal empty bare key",e),r===1&&s.push(e.s.slice(o,e.p)),r=0):!r&&(i===34||i===39)?(i===e.s.charCodeAt(e.p+1)&&i===e.s.charCodeAt(e.p+2)&&E.x("illegal quoted key: multiline strings are not allowed",e),s.push(jn(e)),r=2,e.p--):i===32||i===9?r===1&&(s.push(e.s.slice(o,e.p)),r=2):r===2||i<48&&i!==45||i>57&&i<65||i>90&&i<97&&i!==95||i>122?E.x("illegal character in key",e):r||(r=1,o=e.p)}while(i=e.s.charCodeAt(++e.p));E.x("incomplete key-value: cannot find end of key",e,n)}function Ua(e){let t=e.p++,n=Object.create(null),r=new Set,s;for(;e.p<e.s.length;){if(ie(e),(s=e.s.charCodeAt(e.p))===125)return e.p++,n;let o,i=n,a=!1,l=e.p,c=Bn(e);for(let f=0;f<c.length;f++){f&&(i=a?i[o]:i[o]=Object.create(null)),o=c[f],(a=Object.hasOwn(i,o))&&(typeof i[o]!="object"||r.has(i[o]))&&E.x("trying to redefine an already defined value",e,l);let d=o==="__proto__";if(e.uk&&(d||o==="constructor")){i=e.uk!==1&&E.x("document contains an unsafe property",e,l);break}!a&&d&&Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0})}a&&E.x("trying to redefine an already defined value",e,l),ie(e,!0,!0);let u=Qt(e,125);if(i&&typeof(i[o]=u)=="object"&&r.add(u),ie(e),(s=e.s.charCodeAt(e.p++))===125)return n;s!==44&&E.x("expected comma or end of structure",e,e.p-1)}E.x("unfinished table",e,t)}function Za(e){let t=e.p++,n=[],r;for(;e.p<e.s.length;){if(ie(e),(r=e.s.charCodeAt(e.p))===93)return e.p++,n;if(n.push(Qt(e,93)),ie(e),(r=e.s.charCodeAt(e.p++))===93)return n;r!==44&&E.x("expected comma or end of structure",e,e.p-1)}E.x("unfinished array",e,t)}var us=g(()=>{os();cs();fs();nt();});function Ga(e,t,n,r,s){let o=n,i=r,a,l=!1,c;for(let u=0;u<t.length;u++){if(u){if(o=l?o[a]:o[a]=Object.create(null),i=(c=i[a]).c,s===0&&(c.t===1||c.t===2))return null;if(c.t===2){let f=o.length-1;o=o[f],i=i[f].c}}if(a=t[u],(l=Object.hasOwn(o,a))&&i[a]?.t===0&&i[a]?.d)return null;if(!l){let f=a==="__proto__";if(e.uk&&(f||a==="constructor"))return!1;f&&(Object.defineProperty(o,a,{enumerable:!0,configurable:!0,writable:!0}),Object.defineProperty(i,a,{enumerable:!0,configurable:!0,writable:!0})),i[a]={t:u<t.length-1&&s===2?3:s,d:!1,i:0,c:Object.create(null)}}}if(c=i[a],c.t!==s&&!(s===1&&c.t===3)||(s===2&&(c.d||(c.d=!0,o[a]=[]),o[a].push(o=Object.create(null)),c.c[c.i++]=c={t:1,d:!1,i:0,c:Object.create(null)}),c.d))return null;if(c.d=!0,s===1)o=l?o[a]:o[a]=Object.create(null);else if(s===0&&l)return null;return[a,o,c.c]}function Ja(e,t,n){(t===null||e.uk===2)&&E.x(t===null?"trying to redefine an already defined table or value":"document contains an unsafe property",e,n)}function ds(e,t={}){let n={s:e,p:0,d:t.maxDepth??1e3,bi:t.integersAsBigInt??!1,ld:t.useLegacyDate??!0,uk:t.unsafeKeyBehaviour==="throw"?2:t.unsafeKeyBehaviour==="drop"?1:0},r=Object.create(null),s=Object.create(null),o,i=!1,a=r,l=s;for(e.charCodeAt(0)===65279&&n.p++,ie(n);n.p<e.length;){if(e.charCodeAt(n.p)===91){let c=e.charCodeAt(++n.p)===91;o=n.p+=+c,i=!1;let u=Bn(n,93);c&&(e.charCodeAt(n.p)!==93&&E.x("expected end of table array declaration",n),n.p++);let f=Ga(n,u,r,s,c?2:1);f?(l=f[2],a=f[1]):(Ja(n,f,o),i=!0)}else{o=n.p;let c=Bn(n),u=Ga(n,c,a,l,0);!u&&!i&&Ja(n,u,o),ie(n,!0,!0);let f=Qt(n,void 0);u&&!i&&(u[1][u[0]]=f)}ie(n,!0),n.p<e.length&&(o=e.charCodeAt(n.p))!==10&&(o!==13||e.charCodeAt(n.p+1)!==10)&&E.x("each key-value declaration must be followed by an end-of-line",n),ie(n)}return r}var Wa=g(()=>{us();cs();fs();nt();});function en(e){let t=typeof e;if(t==="object"){if(Array.isArray(e))return"array";if(typeof e.getUTCDate=="function"&&e instanceof Date)return"date";if(globalThis.Temporal){if(e.until){if(e instanceof Temporal.ZonedDateTime)return"temporal/tz+uc";if(e instanceof Temporal.PlainDateTime||e instanceof Temporal.PlainDate)return"temporal/uc";if(e instanceof Temporal.PlainTime||e instanceof Temporal.Instant)return"temporal";if(e instanceof Temporal.PlainYearMonth)return"temporal/x"}else if(e.toPlainDate&&e instanceof Temporal.PlainMonthDay||e.negated&&e instanceof Temporal.Duration)return"temporal/x"}}return t}function xh(e){for(let t=0;t<e.length;t++)if(en(e[t])!=="object")return!1;return e.length!=0}function Va(e){return JSON.stringify(e).replaceAll("\x7F","\\u007f")}function Sh(e){return Va(Ka?e.toWellFormed():e)}function qa(e){if(wh.test(e))return e;if(Ka&&!e.isWellFormed())throw new RangeError("key contains illegal lone surrogates");return Va(e)}function ps(e,t,n,r,s){if(n===0)throw new Error("Could not stringify the object: maximum object depth exceeded");switch(t){case"number":if(isNaN(e))return"nan";if(e===1/0)return"inf";if(e===-1/0)return"-inf";if(Number.isInteger(e)&&(r||!Number.isSafeInteger(e)))return e.toFixed(1);case"bigint":case"boolean":case"temporal":return e.toString();case"string":return Sh(e);case"date":if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString();case"object":return vh(e,n,r,s);case"array":return Eh(e,n,r,s);case"temporal/tz+uc":if(s){let o=e.timeZoneId,i=o.charCodeAt(0);if(i!==43&&i!==45&&(i!==85&&i!==71&&i!==90&&i!==69||o!=="UTC"&&o!=="UCT"&&o!=="Universal"&&o!=="Zulu"&&!o.startsWith("GMT")&&o!=="Greenwich"&&!o.startsWith("Etc/")))throw new TypeError("Temporal objects with an IANA timezone are not allowed in Temporal strict mode")}case"temporal/uc":if(s&&e.calendarId!=="iso8601")throw new TypeError("Temporal objects with a non-default calendar are not allowed in Temporal strict mode");return e.toString({calendarName:"never",timeZoneName:"never"});case"temporal/x":throw new TypeError("Unsupported "+e[Symbol.toStringTag])}}function vh(e,t,n,r){let s=Object.keys(e);if(s.length===0)return"{}";let o="{ ";for(let i=0;i<s.length;i++){let a=s[i];i&&(o+=", "),o+=qa(a)+" = "+ps(e[a],en(e[a]),t-1,n,r)}return o+" }"}function Eh(e,t,n,r){if(e.length===0)return"[]";let s="[ ";for(let o=0;o<e.length;o++){if(o&&(s+=", "),e[o]===null||e[o]===void 0)throw new TypeError("arrays cannot contain null or undefined values");s+=ps(e[o],en(e[o]),t-1,n,r)}return s+" ]"}function Th(e,t,n,r,s){if(n===0)throw new Error("Could not stringify the object: maximum object depth exceeded");let o="";for(let i=0;i<e.length;i++)o+=`${o&&`
|
|
17
|
+
`:n===102?i+="\f":n===114?i+="\r":n===101?i+="\x1B":n===34?i+='"':n===92?i+="\\":E.x("unrecognised escape sequence",e),a=e.p+1,l=0);else n!==32&&n!==9&&(l===2&&E.x("invalid escape: only line-ending whitespace may be escaped",e,a),l=!s&&n===92?1:0,a=e.p);E.x("unfinished string",e,t)}var as=g(()=>{nt();});var kh,rt,ls=g(()=>{kh=/^(\d{4}-\d{2}-\d{2})?[Tt ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|z|[-+]\d{2}:\d{2})?$/i,rt=class e extends Date{#t=!1;#n=!1;#e=null;constructor(t,n,r){let s=!0,o=!0,i="Z",a;if(typeof t=="string")if(n)e:{if(n<3){if(+t.slice(11,13)>23){t="";break e}n===2?(i=null,t+="Z"):(a=t.charCodeAt(t.length-1))!==90&&a!==122&&(i=t.slice(t.length-6)),r&&(t=t.slice(0,10)+"T"+t.slice(11))}else n===4&&(t=+t.slice(0,2)>23?"":`0000-01-01T${t}Z`);s=n!==4,o=n!==3}else{let l=t.match(kh);l?(l[1]||(s=!1,t=`0000-01-01T${t}`),o=!!l[2],o&&t[10]===" "&&(t=t.replace(" ","T")),l[2]&&+l[2]>23?t="":(i=l[3]||null,!i&&o&&(t+="Z"))):t=""}super(t),isNaN(this.getTime())||(this.#t=s,this.#n=o,this.#e=i)}isDateTime(){return this.#t&&this.#n}isLocal(){return!this.#t||!this.#n||!this.#e}isDate(){return this.#t&&!this.#n}isTime(){return this.#n&&!this.#t}isValid(){return this.#t||this.#n}toISOString(){let t=super.toISOString();if(this.isDate())return t.slice(0,10);if(this.isTime())return t.slice(11,23);if(this.#e===null)return t.slice(0,-1);if(this.#e==="Z"||this.#e==="z")return t;let n=+this.#e.slice(1,3)*60+ +this.#e.slice(4,6);return n=this.#e[0]==="-"?n:-n,new Date(this.getTime()-n*6e4).toISOString().slice(0,-1)+this.#e}static wrapAsOffsetDateTime(t,n="Z"){let r=new e(t);return r.#e=n,r}static wrapAsLocalDateTime(t){let n=new e(t);return n.#e=null,n}static wrapAsLocalDate(t){let n=new e(t);return n.#n=!1,n.#e=null,n}static wrapAsLocalTime(t){let n=new e(t);return n.#t=!1,n.#e=null,n}}});function Q(e,t=10){return t===16?e>47&&e<58||e>64&&e<71||e>96&&e<103:e>47&&e<48+t}function us(e,t){return e===32||e===9||e===10||e===13||t&&(e===t||e===44)||e===35}function Qt(e,t){let n=e.p,r=e.s.charCodeAt(e.p);if(r===91||r===123){e.d--||E.x("document contains excessively nested structures. aborting.",e);let s=r===91?Wa(e):Ja(e);return e.d++,s}return r===34||r===39?jn(e):r===116?((e.s.charCodeAt(++e.p)!==114||e.s.charCodeAt(++e.p)!==117||e.s.charCodeAt(++e.p)!==101)&&E.x("invalid value",e,n),e.p++,!0):r===102?((e.s.charCodeAt(++e.p)!==97||e.s.charCodeAt(++e.p)!==108||e.s.charCodeAt(++e.p)!==115||e.s.charCodeAt(++e.p)!==101)&&E.x("invalid value",e,n),e.p++,!1):r===43||r===45?Hn(e,e.p,e.s.charCodeAt(++e.p),44-r,t):e.s.charCodeAt(e.p+4)===45&&e.s.charCodeAt(e.p+7)===45?_h(e,r,t):e.s.charCodeAt(e.p+2)===58?wh(e,r,t):Hn(e,e.p,r,0,t)}function Hn(e,t,n,r,s){let o=n,i=0,a=!1;if(o===105)return(e.s.charCodeAt(++e.p)!==110||e.s.charCodeAt(++e.p)!==102)&&E.x("invalid value",e,t),e.p++,(r||1)/0;if(o===110)return(e.s.charCodeAt(++e.p)!==97||e.s.charCodeAt(++e.p)!==110)&&E.x("invalid value",e,t),e.p++,NaN;if(o===48){if(++e.p>=e.s.length||us(o=e.s.charCodeAt(e.p),s))return e.bi===!0?0n:0;if(!r){if(o===120)return cs(e,t,16,s);if(o===98)return cs(e,t,2,s);if(o===111)return cs(e,t,8,s)}o===46?i=2:o===101||o===69?i=4:E.x("illegal leading zero",e,t)}else Q(o)||E.x("invalid value",e,t);for(;++e.p<e.s.length&&(o=e.s.charCodeAt(e.p),!us(o,s));)i||(i=1),o===95?(i&1||E.x("illegal underscore",e),i+=11,a=!0):i===1&&o===46?i=2:(i===1||i===3)&&(o===101||o===69)?i=4:i===4&&(o===43||o===45)||(Q(o)?i>9?i-=11:i&1||i++:E.x("illegal character in numeric literal",e));if(!i){let c=(n-48)*(r||1);return e.bi===!0?BigInt(c):c}i&1||E.x("unfinished numeric value",e,t);let l=e.s.slice(t,e.p);return a&&(l=l.replaceAll("_","")),i>1?parseFloat(l):Ga(e,l,10,t)}function cs(e,t,n,r){let s,o=1;for(;++e.p<e.s.length&&(s=e.s.charCodeAt(e.p),!us(s,r));)s===95?(o&1&&E.x("illegal underscore",e),o=3):Q(s,n)?o&1&&o--:E.x("illegal character in numeric literal",e);o&1&&E.x("unfinished numeric value",e);let i=e.s.slice(t+2,e.p);return o&&(i=i.replaceAll("_","")),Ga(e,i,n,t)}function Ga(e,t,n,r){if(e.bi!==!0)e:{let s=parseInt(t,n);if(!Number.isSafeInteger(s)){if(e.bi)break e;E.x("integer value cannot be represented losslessly",e,r)}return s}return BigInt(n===10?t:(n===2?"0b":n===8?"0o":"0x")+t)}function _h(e,t,n){let r=e.p++,s;if(!Q(t)||!Q(e.s.charCodeAt(e.p++))||!Q(e.s.charCodeAt(e.p++))||!Q(e.s.charCodeAt(e.p++)))return Hn(e,e.p=r,t,0,n);if(e.p+=5,Q(e.s.charCodeAt(e.p++))||E.x("invalid date-time: date part is malformed",e,r),e.p>=e.s.length||((t=e.s.charCodeAt(e.p))!==32||(s=!0,!Q(e.s.charCodeAt(e.p+1))))&&t!==84&&t!==116){let i=e.s.slice(r,e.p);return Xt(e,i,3,!1,r)}if(e.s.charCodeAt(e.p+=3)!==58&&E.x("invalid date-time: time part is malformed",e,r),e.s.charCodeAt(e.p+=3)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;Q(e.s.charCodeAt(++e.p)););if(t=e.s.charCodeAt(e.p)){if(t===90||t===122){let i=e.s.slice(r,++e.p);return Xt(e,i,1,s,r,"[+00:00]")}if(t===43||t===45){let i=e.s.slice(r,e.p+=6);return Xt(e,i,1,s,r,!e.ld&&"["+e.s.slice(e.p-6,e.p)+"]")}}let o=e.s.slice(r,e.p);return Xt(e,o,2,s,r)}function wh(e,t,n){let r=e.p;if(!Q(t)||!Q(e.s.charCodeAt(++e.p)))return Hn(e,--e.p,t,0,n);if(e.s.charCodeAt(e.p+=4)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;Q(e.s.charCodeAt(++e.p)););let s=e.s.slice(r,e.p);return Xt(e,s,4,!1,r)}function Xt(e,t,n,r,s,o){if(e.ld){let i=new rt(t,n,r);return i.isValid()||E.x("invalid date",e,s),i}try{switch(o&&(t+=o),n){case 1:return Temporal.ZonedDateTime.from(t);case 2:return Temporal.PlainDateTime.from(t);case 3:return Temporal.PlainDate.from(t);case 4:return Temporal.PlainTime.from(t)}}catch(i){E.x(i instanceof Error?i.message:""+i,e,s)}}var fs=g(()=>{as();ds();nt();ls();});function xh(e){for(;e.p<e.s.length;e.p++){let t=e.s.charCodeAt(e.p);if(t===10)break;if(t===13&&e.s.charCodeAt(e.p+1)===10){e.p++;break}(t<32&&t!==9||t===127)&&E.x("control characters are not allowed in comments",e)}}function ie(e,t,n){let r;for(;e.p<e.s.length;){for(;e.p<e.s.length&&((r=e.s.charCodeAt(e.p))===32||r===9||!t&&(r===10||r===13&&e.s.charCodeAt(e.p+1)===10));)e.p++;if(n||r!==35)break;xh(e)}}var ps=g(()=>{nt();});function Bn(e,t=61){let n,r=0,s=[],o,i=e.s.charCodeAt(n=e.p);do{if(i===t)return r||E.x("unexpected end of key",e),r===1&&s.push(e.s.slice(o,e.p)),e.p++,s;i===46?(r||E.x("illegal empty bare key",e),r===1&&s.push(e.s.slice(o,e.p)),r=0):!r&&(i===34||i===39)?(i===e.s.charCodeAt(e.p+1)&&i===e.s.charCodeAt(e.p+2)&&E.x("illegal quoted key: multiline strings are not allowed",e),s.push(jn(e)),r=2,e.p--):i===32||i===9?r===1&&(s.push(e.s.slice(o,e.p)),r=2):r===2||i<48&&i!==45||i>57&&i<65||i>90&&i<97&&i!==95||i>122?E.x("illegal character in key",e):r||(r=1,o=e.p)}while(i=e.s.charCodeAt(++e.p));E.x("incomplete key-value: cannot find end of key",e,n)}function Ja(e){let t=e.p++,n=Object.create(null),r=new Set,s;for(;e.p<e.s.length;){if(ie(e),(s=e.s.charCodeAt(e.p))===125)return e.p++,n;let o,i=n,a=!1,l=e.p,c=Bn(e);for(let f=0;f<c.length;f++){f&&(i=a?i[o]:i[o]=Object.create(null)),o=c[f],(a=Object.hasOwn(i,o))&&(typeof i[o]!="object"||r.has(i[o]))&&E.x("trying to redefine an already defined value",e,l);let d=o==="__proto__";if(e.uk&&(d||o==="constructor")){i=e.uk!==1&&E.x("document contains an unsafe property",e,l);break}!a&&d&&Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0})}a&&E.x("trying to redefine an already defined value",e,l),ie(e,!0,!0);let u=Qt(e,125);if(i&&typeof(i[o]=u)=="object"&&r.add(u),ie(e),(s=e.s.charCodeAt(e.p++))===125)return n;s!==44&&E.x("expected comma or end of structure",e,e.p-1)}E.x("unfinished table",e,t)}function Wa(e){let t=e.p++,n=[],r;for(;e.p<e.s.length;){if(ie(e),(r=e.s.charCodeAt(e.p))===93)return e.p++,n;if(n.push(Qt(e,93)),ie(e),(r=e.s.charCodeAt(e.p++))===93)return n;r!==44&&E.x("expected comma or end of structure",e,e.p-1)}E.x("unfinished array",e,t)}var ds=g(()=>{as();fs();ps();nt();});function Ka(e,t,n,r,s){let o=n,i=r,a,l=!1,c;for(let u=0;u<t.length;u++){if(u){if(o=l?o[a]:o[a]=Object.create(null),i=(c=i[a]).c,s===0&&(c.t===1||c.t===2))return null;if(c.t===2){let f=o.length-1;o=o[f],i=i[f].c}}if(a=t[u],(l=Object.hasOwn(o,a))&&i[a]?.t===0&&i[a]?.d)return null;if(!l){let f=a==="__proto__";if(e.uk&&(f||a==="constructor"))return!1;f&&(Object.defineProperty(o,a,{enumerable:!0,configurable:!0,writable:!0}),Object.defineProperty(i,a,{enumerable:!0,configurable:!0,writable:!0})),i[a]={t:u<t.length-1&&s===2?3:s,d:!1,i:0,c:Object.create(null)}}}if(c=i[a],c.t!==s&&!(s===1&&c.t===3)||(s===2&&(c.d||(c.d=!0,o[a]=[]),o[a].push(o=Object.create(null)),c.c[c.i++]=c={t:1,d:!1,i:0,c:Object.create(null)}),c.d))return null;if(c.d=!0,s===1)o=l?o[a]:o[a]=Object.create(null);else if(s===0&&l)return null;return[a,o,c.c]}function Va(e,t,n){(t===null||e.uk===2)&&E.x(t===null?"trying to redefine an already defined table or value":"document contains an unsafe property",e,n)}function ms(e,t={}){let n={s:e,p:0,d:t.maxDepth??1e3,bi:t.integersAsBigInt??!1,ld:t.useLegacyDate??!0,uk:t.unsafeKeyBehaviour==="throw"?2:t.unsafeKeyBehaviour==="drop"?1:0},r=Object.create(null),s=Object.create(null),o,i=!1,a=r,l=s;for(e.charCodeAt(0)===65279&&n.p++,ie(n);n.p<e.length;){if(e.charCodeAt(n.p)===91){let c=e.charCodeAt(++n.p)===91;o=n.p+=+c,i=!1;let u=Bn(n,93);c&&(e.charCodeAt(n.p)!==93&&E.x("expected end of table array declaration",n),n.p++);let f=Ka(n,u,r,s,c?2:1);f?(l=f[2],a=f[1]):(Va(n,f,o),i=!0)}else{o=n.p;let c=Bn(n),u=Ka(n,c,a,l,0);!u&&!i&&Va(n,u,o),ie(n,!0,!0);let f=Qt(n,void 0);u&&!i&&(u[1][u[0]]=f)}ie(n,!0),n.p<e.length&&(o=e.charCodeAt(n.p))!==10&&(o!==13||e.charCodeAt(n.p+1)!==10)&&E.x("each key-value declaration must be followed by an end-of-line",n),ie(n)}return r}var qa=g(()=>{ds();fs();ps();nt();});function en(e){let t=typeof e;if(t==="object"){if(Array.isArray(e))return"array";if(typeof e.getUTCDate=="function"&&e instanceof Date)return"date";if(globalThis.Temporal){if(e.until){if(e instanceof Temporal.ZonedDateTime)return"temporal/tz+uc";if(e instanceof Temporal.PlainDateTime||e instanceof Temporal.PlainDate)return"temporal/uc";if(e instanceof Temporal.PlainTime||e instanceof Temporal.Instant)return"temporal";if(e instanceof Temporal.PlainYearMonth)return"temporal/x"}else if(e.toPlainDate&&e instanceof Temporal.PlainMonthDay||e.negated&&e instanceof Temporal.Duration)return"temporal/x"}}return t}function vh(e){for(let t=0;t<e.length;t++)if(en(e[t])!=="object")return!1;return e.length!=0}function Xa(e){return JSON.stringify(e).replaceAll("\x7F","\\u007f")}function Eh(e){return Xa(Ya?e.toWellFormed():e)}function Qa(e){if(Sh.test(e))return e;if(Ya&&!e.isWellFormed())throw new RangeError("key contains illegal lone surrogates");return Xa(e)}function hs(e,t,n,r,s){if(n===0)throw new Error("Could not stringify the object: maximum object depth exceeded");switch(t){case"number":if(isNaN(e))return"nan";if(e===1/0)return"inf";if(e===-1/0)return"-inf";if(Number.isInteger(e)&&(r||!Number.isSafeInteger(e)))return e.toFixed(1);case"bigint":case"boolean":case"temporal":return e.toString();case"string":return Eh(e);case"date":if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString();case"object":return Th(e,n,r,s);case"array":return Rh(e,n,r,s);case"temporal/tz+uc":if(s){let o=e.timeZoneId,i=o.charCodeAt(0);if(i!==43&&i!==45&&(i!==85&&i!==71&&i!==90&&i!==69||o!=="UTC"&&o!=="UCT"&&o!=="Universal"&&o!=="Zulu"&&!o.startsWith("GMT")&&o!=="Greenwich"&&!o.startsWith("Etc/")))throw new TypeError("Temporal objects with an IANA timezone are not allowed in Temporal strict mode")}case"temporal/uc":if(s&&e.calendarId!=="iso8601")throw new TypeError("Temporal objects with a non-default calendar are not allowed in Temporal strict mode");return e.toString({calendarName:"never",timeZoneName:"never"});case"temporal/x":throw new TypeError("Unsupported "+e[Symbol.toStringTag])}}function Th(e,t,n,r){let s=Object.keys(e);if(s.length===0)return"{}";let o="{ ";for(let i=0;i<s.length;i++){let a=s[i];i&&(o+=", "),o+=Qa(a)+" = "+hs(e[a],en(e[a]),t-1,n,r)}return o+" }"}function Rh(e,t,n,r){if(e.length===0)return"[]";let s="[ ";for(let o=0;o<e.length;o++){if(o&&(s+=", "),e[o]===null||e[o]===void 0)throw new TypeError("arrays cannot contain null or undefined values");s+=hs(e[o],en(e[o]),t-1,n,r)}return s+" ]"}function $h(e,t,n,r,s){if(n===0)throw new Error("Could not stringify the object: maximum object depth exceeded");let o="";for(let i=0;i<e.length;i++)o+=`${o&&`
|
|
18
18
|
`}[[${t}]]
|
|
19
|
-
`,o+=
|
|
20
|
-
`)
|
|
21
|
-
`)+
|
|
19
|
+
`,o+=gs(0,e[i],t,n,r,s);return o}function gs(e,t,n,r,s,o){if(r===0)throw new Error("Could not stringify the object: maximum object depth exceeded");let i="",a="",l=Object.keys(t);for(let c=0;c<l.length;c++){let u=l[c];if(t[u]!==null&&t[u]!==void 0){let f=en(t[u]);if(f==="symbol"||f==="function")throw new TypeError(`cannot serialize values of type '${f}'`);let d=Qa(u);if(f==="array"&&vh(t[u]))a+=(a&&`
|
|
20
|
+
`)+$h(t[u],n?`${n}.${d}`:d,r-1,s,o);else if(f==="object"){let p=n?`${n}.${d}`:d;a+=(a&&`
|
|
21
|
+
`)+gs(p,t[u],p,r-1,s,o)}else i+=d,i+=" = ",i+=hs(t[u],f,r,s,o),i+=`
|
|
22
22
|
`}}return e&&(i||!a)&&(i=i?`[${e}]
|
|
23
23
|
${i}`:`[${e}]`),i&&a?`${i}
|
|
24
|
-
${a}`:i||a}function
|
|
24
|
+
${a}`:i||a}function ys(e,{maxDepth:t=1e3,numbersAsFloat:n=!1,strictTemporal:r=!1}={}){if(en(e)!=="object")throw new TypeError("stringify can only be called with an object");let s=gs(0,e,"",t,n,r);return s[s.length-1]!==`
|
|
25
25
|
`?s+`
|
|
26
|
-
`:s}var
|
|
27
|
-
`),
|
|
28
|
-
`).length<6)}var
|
|
26
|
+
`:s}var Sh,Ya,el=g(()=>{Sh=/^[a-z0-9-_]+$/i,Ya=!!"".isWellFormed});var bs={};Pt(bs,{TomlDate:()=>rt,TomlError:()=>E,default:()=>Ah,parse:()=>ms,stringify:()=>ys});var Ah,ks=g(()=>{qa();el();ls();nt();Ah={parse:ms,stringify:ys,TomlDate:rt,TomlError:E}});import{readdir as Ch,readFile as Oh}from"node:fs/promises";import{join as nl,dirname as Ih}from"node:path";import{fileURLToPath as Ph}from"node:url";function Mh(){return process.env.TOKMIZER_DEV==="1"||process.env.TOKMIZER_DEV==="true"}async function rl(){return _t||(Mh()?(_t=await Fh(Dh),_t):(!tl&&process.env.TOKMIZER_DEBUG==="1"&&(process.stderr.write(`tokmizer: disk loader disabled (set TOKMIZER_DEV=1 to re-enable for local dev).
|
|
27
|
+
`),tl=!0),_t=new Map,_t))}async function Fh(e){let t=new Map,n,r;try{n=(await Promise.resolve().then(()=>(ks(),bs))).parse,r=(await Ch(e)).filter(s=>s.endsWith(".toml"))}catch{return t}for(let s of r){let o=await Oh(nl(e,s),"utf8"),a=n(o).filters;if(a)for(let[l,c]of Object.entries(a)){let u=Ie.parse({slug:l,...c});t.set(l,{...u,matchRegex:new RegExp(u.match_command)})}}return t}var Nh,Dh,_t,tl,sl=g(()=>{"use strict";Yt();Nh=Ih(Ph(import.meta.url)),Dh=process.env.TOKMIZER_FILTERS_DIR||nl(Nh,"..","..","filters"),_t=null,tl=!1});var ll={};Pt(ll,{OutputVerbosity:()=>il,ReducerLevel:()=>al,Settings:()=>wt,slugKey:()=>ee});import{createHash as Lh}from"node:crypto";function ee(e){let t=ol.get(e);return t||(t=Lh("sha256").update(`tkr:${e}`).digest("hex").slice(0,16),ol.set(e,t)),t}var il,al,wt,ol,Pe=g(()=>{"use strict";kt();il=k.enum(["normal","compact","minimal"]),al=k.enum(["off","light","balanced","max"]),wt=k.object({enabled:k.boolean().default(!0),telemetryOptIn:k.boolean().default(!0),outputVerbosity:il.default("compact"),reducer:al.default("off"),filters:k.object({enableAll:k.boolean().default(!0),disabled:k.array(k.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),ol=new Map});function xt(e,t,n,r=t){let s=cl.get(r);s||(s=new Map,cl.set(r,s));let o=JSON.stringify([e,n?[...n].sort():null]),i=s.get(o);if(i!==void 0)return i;let a=null;for(let l of t)n&&!n.has(ee(l.slug))||l.matchRegex.test(e)&&(!a||l.priority>a.priority)&&(a=l);if(s.size>=jh){let l=s.keys().next().value;l&&s.delete(l)}return s.set(o,a),a}var cl,jh,zn=g(()=>{"use strict";Pe();cl=new WeakMap,jh=256});function de(e){return e.replace(Hh,"").replace(Bh,"")}var Hh,Bh,tn=g(()=>{"use strict";Hh=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,Bh=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g});function ul(e,t){return t.length===0?e:e.filter(n=>!t.some(r=>r.test(n)))}var fl=g(()=>{"use strict"});function dl(e,t){return e.map(n=>{if(n.length<=t)return n;let r=n.charCodeAt(t-1),s=n.charCodeAt(t),o=r>=55296&&r<=56319&&s>=56320&&s<=57343?t-1:t;return`${n.slice(0,o)}\u2026`})}var pl=g(()=>{"use strict"});function St(e){return`\u2026 (${e} more lines omitted)`}function ml(e,t){if(e.length<=t)return{kept:e,dropped:[]};let n=Math.ceil(t*.7),r=t-n,s=e.slice(n,e.length-r);return{kept:[...e.slice(0,n),St(s.length),...e.slice(e.length-r)],dropped:s}}var _s=g(()=>{"use strict"});function hl(e,t){let n=t>0?t:5,r=[],s=0,o=a=>{s>=n?r.push(`\u2026 ${s} passing checks folded \u2026`):r.push(...a)},i=[];for(let a of e)zh.test(a)&&!Ne.test(a)?(i.push(a),s+=1):(o(i),i=[],s=0,r.push(a));return o(i),r}var zh,Ne,ws=g(()=>{"use strict";zh=/^\s*(?:[✓✔√]|ok )/,Ne=/✕|✗|×|\bFAIL\b|\bERROR\b|\bFATAL\b|\bError|\berror|Expected|Received|\bfailed\b|^\s*Tests?:|^\s*Test Suites?:/});function gl(e){return e.map(t=>t.replace(Uh,n=>{let r=n.split("/").filter(Boolean);return r.length<=2?n:`\u2026/${r.slice(-2).join("/")}`}))}var Uh,yl=g(()=>{"use strict";Uh=/(?:\/[\w.@+-]+){3,}/g});function Kh(e){let t=Jh.exec(e);return!t||Wh.has(t[1])?!1:!/=>|\bfunction\b/.test(t[2])}function qh(e,t,n){let r=t;for(;r<e.length;){if(e[r]==="\\"){r+=2;continue}if(e[r]===n)return!0;r+=1}return!1}function Yh(e,t){let n=0,r=null,s=0;for(;s<e.length;){let o=e[s];if(t.inBlockComment){if(o==="*"&&e[s+1]==="/"){t.inBlockComment=!1,s+=2;continue}s+=1;continue}if(t.inTemplate){if(o==="\\"){s+=2;continue}o==="`"&&(t.inTemplate=!1),s+=1;continue}if(r){if(o==="\\"){s+=2;continue}o===r&&(r=null),s+=1;continue}if(o==="/"&&e[s+1]==="/")break;if(o==="/"&&e[s+1]==="*"){t.inBlockComment=!0,s+=2;continue}if(o==="`"){t.inTemplate=!0,s+=1;continue}if(o==="'"||o==='"'){let i=s>0?e[s-1]:"";!(o==="'"&&(i==="<"||i==="&"))&&qh(e,s+1,o)&&(r=o),s+=1;continue}o==="{"||o==="("||o==="["?n+=1:(o==="}"||o===")"||o==="]")&&(n-=1),s+=1}return n}function Qh(e,t,n){let r=n==null?"":` (${n}-${n+t-1}): Read offset=${n} limit=${t} before editing`;return`${e}\u2026 ${t} ${t===1?"line":"lines"} folded${r} \u2026`}function xs(e){let t=new Array(e.length).fill(!1);for(let n=0;n<e.length;n+=1){let r=Xh.exec(e[n]);if(!r)continue;let s=Number(r[1])-1,o=n+1;for(;s>0&&o<e.length&&e[o]==="";)t[o]=!0,s-=1,o+=1;n=o-1}return t}function nn(e,t=3,n=!1){let r=[],s=0;for(;s<e.length;){let o=e[s];if(Zh.test(o)&&Gh.test(o)||Kh(o)||Vh.test(o)){let i={inBlockComment:!1,inTemplate:!1},a=0,l=s,c=!1;for(;l<e.length&&l-s<200;)if(a+=Yh(e[l],i),l+=1,a<=0&&!i.inTemplate&&!i.inBlockComment){c=!0;break}let u=l-s;if(c&&u<t){r.push(...e.slice(s,l)),s=l;continue}if(c&&u>=3){let f=u-2,d=/^\s*/.exec(e[s+1]??"")?.[0]??" ";r.push(o),r.push(Qh(d,f,n?s+2:null));for(let p=0;p<f-1;p++)r.push("");r.push(e[l-1]),s=l;continue}}r.push(o),s+=1}return r}function Zn(e){let t=e.slice(0,4096);return!(!eg.test(t)||t.split(`
|
|
28
|
+
`).length<6)}var Zh,Gh,Jh,Wh,Vh,Un,Xh,eg,vt=g(()=>{"use strict";Zh=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,Gh=/\{\s*$/,Jh=/^\s*(?:(?:public|private|protected|static|async|get|set|readonly|override)\s+)*([\w$]+)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\{\s*$/,Wh=new Set(["if","for","while","switch","catch","do","with","return","else","function","await","yield"]);Vh=/^\s*(?:if|for|while|switch|try|do)\b[^{}]*\{\s*$/;Un=/^\s*… \d+ lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/,Xh=/^\s*… (\d+) lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/;eg=/\b(?:function|class|interface|import\s+|export\s+|def\s+|fn\s+|impl\s+|package\s+|namespace\s+|using\s+|#include|=>\s*\{|=\s*function)/});function El(e){let t=[],n=0,r=()=>{n>0&&t.push(`\u2026 ${n} verbose log line${n===1?"":"s"} dropped \u2026`),n=0};for(let s of e){if(xl.test(s.replace(wl,""))&&!Sl.test(s)&&!vl.test(s)){n+=1;continue}r(),t.push(s)}return r(),t}function _l(e){if(e.trim()===""||/^\s/.test(e)||Sl.test(e)||vl.test(e)||ng.test(e))return null;let t=e.replace(wl,"");return xl.test(t)||tg.test(t)?"\0verbose":e.replace(/\d+/g,"#")}function Tl(e){let t=[],n=0;for(;n<e.length;){let r=_l(e[n]),s=n+1;if(r!==null)for(;s<e.length&&_l(e[s])===r;)s+=1;let o=s-n;r===null||o<rg?t.push(...e.slice(n,s)):(t.push(...e.slice(n,n+bl)),t.push(`\u2026 ${o-bl-kl} similar log lines dropped \u2026`),t.push(...e.slice(s-kl,s))),n=s}return t}function Gn(e){if(e.length===0)return e;let t=[],n=1,r=e[0];for(let s=1;s<e.length;s++){if(e[s]===r){n+=1;continue}t.push(n>1?`${r} \xD7${n}`:r),r=e[s],n=1}return t.push(n>1?`${r} \xD7${n}`:r),t}function Rl(e){let t=[],n=0;for(let r of e){if(r.trim()===""){n+=1;continue}n>0&&t.push(""),n=0,t.push(r)}return t}var wl,xl,Sl,vl,tg,ng,rg,bl,kl,Jn=g(()=>{"use strict";ws();wl=/^\s*(?:\d{4}-\d{2}-\d{2}[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?Z?|\d{2}:\d{2}:\d{2}(?:\.\d+)?)\s*/,xl=/^\s*(?:\[(?:DEBUG|TRACE|INFO|VERBOSE)\]|(?:DEBUG|TRACE|INFO|VERBOSE)(?!\s*:))(?=\s|:|$)(?!\s*[+\-*\/%&|^?]*=)/,Sl=new RegExp(Ne.source,"i"),vl=/\bWARN(?:ING)?\b/i;tg=/^(?:DEBUG|INFO):[\w.-]+:/,ng=/Error|Exception|Traceback|panic|fail|FAIL|Fail|SEVERE|CRITICAL/,rg=8,bl=1,kl=2});function V(e,t){$l.set(e,t)}function Al(e){return $l.get(e)}var $l,xe=g(()=>{"use strict";$l=new Map});function cg(e){if(e<1024)return String(e);let t=["K","M","G","T"],n=e/1024,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r+=1;return`${n.toFixed(1)}${t[r]}`}function ug(e){let t=/^(\d+(?:[.,]\d+)?)([KMGTPkmgtp])?/.exec(e),n=t[2]?lg[t[2].toLowerCase()]:0;return Number(t[1].replace(",","."))*1024**n}function fg(e){let t=ag.exec(e);if(!t)return null;let n=t[2].trim();if(n===""||n==="."||n==="..")return null;let r=t[1],s=/^\d+$/.test(r)?cg(Number(r)):r,o=e.charCodeAt(0)===100;return{name:n,size:s,sizeKey:ug(r),isDir:o}}function dg(e){if(e.length<3)return null;let t=new Map;for(let s of e){let o=s.name.lastIndexOf(".");if(o<=0)continue;let i=s.name.slice(o);t.set(i,(t.get(i)??0)+1)}let n=null,r=0;for(let[s,o]of t)o>r&&(r=o,n=s);return n&&r>=Math.ceil(e.length/2)?`${r} ${n}`:null}function pg(e){let t=[],n=[],r=!1;for(let f of e){if(f.trim()===""||/^total\s+\d+/.test(f))continue;if(og.test(f.trim())||!sg.test(f))return e;let d=fg(f);if(!d){if(/\s\.\.?$/.test(f))continue;return e}r=!0,(d.isDir?t:n).push(d)}if(!r)return e;let s=(f,d)=>f.name.localeCompare(d.name);t.sort(s),n.sort((f,d)=>d.sizeKey-f.sizeKey||s(f,d));let o=[...t,...n],i=[];for(let f of o){let d=f.isDir?`${f.name}/`:f.name;i.push(f.isDir?d:`${d} ${f.size}`)}if(i.length>Ss){let f=i.length-Ss;i=[...i.slice(0,Ss),`\u2026 ${f} more lines omitted`]}let a=n.length===1?"file":"files",l=t.length===1?"dir":"dirs",c=dg(n),u=`${n.length} ${a}, ${t.length} ${l}`+(c?` (${c})`:"");return i.push(u),i}var sg,og,ig,ag,lg,Ss,Cl=g(()=>{"use strict";xe();sg=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/,og=/^[./~][^\s]*:$/,ig=String.raw`(?:[^\s\d]{3,}\s+\d{1,2}|\d{1,2}\s+[^\s\d]{3,})\s+(?:\d{1,2}:\d{2}|\d{4})|\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:\s+[+-]\d{4})?`,ag=new RegExp(String.raw`^\S+\s+\d+\s+\S+\s+(?:\S+\s+)?(\d+(?:[.,]\d+)?[KMGTPkmgtp]?i?B?)\s+(?:${ig})\s+(.+)$`),lg={k:1,m:2,g:3,t:4,p:5},Ss=1e3;V("smart-ls",pg)});var Ol=g(()=>{"use strict";vt();xe();V("smart-read",e=>nn(e))});function mg(e){let t=e[0].split("/");for(let n of e.slice(1)){let r=n.split("/"),s=0;for(;s<t.length&&s<r.length&&t[s]===r[s];)s+=1;if(t=t.slice(0,s),t.length===0)break}return t.join("/")}function hg(e){if(e.length<2||e.some(s=>s.startsWith('"')))return"";let t=e[0];for(let s of e.slice(1)){let o=0;for(;o<t.length&&o<s.length&&t[t.length-1-o]===s[s.length-1-o];)o+=1;if(t=t.slice(t.length-o),!t)return""}let n=t.indexOf("."),r=n<0?"":t.slice(n);return r.length>=3&&e.every(s=>s.length>r.length)?r:""}function gg(e){let t=e.filter(c=>c.trim()!=="");if(t.length===0||t.filter(c=>!/\s/.test(c.trim())).length<t.length*.6)return e;let r=new Map,s=[],o=0;for(let c of t){let u=c.trim();if(u.startsWith("find:")){s.push(u);continue}let f=u.replace(/^\.\//,"").replace(/\/+$/,""),d=f.lastIndexOf("/"),p=d>=0?f.slice(0,d):"",m=d>=0?f.slice(d+1):f;if(!m)continue;let b=r.get(p)??[];b.push(/\s/.test(m)?`"${m}"`:m),r.set(p,b),o+=1}if(o===0)return e;let i=[...r.keys()].sort(),a=i.every(c=>c!=="")?mg(i):"",l=[`${o}F ${i.length}D${a?` in ${a}/`:""}:`];for(let c of i){let u=a?c.slice(a.length).replace(/^\//,""):c,f=r.get(c),d=hg(f),p=d?f.map(m=>m.slice(0,-d.length)):f;l.push(`${u?`${u}/`:"./"} (${f.length}${d?`, *${d}`:""}): ${p.join(" ")}`)}if(l.length+s.length>Il){let c=Math.max(0,Il-s.length),u=l.length-c;return[...l.slice(0,c),`\u2026 ${u} more lines omitted`,...s]}return[...l,...s]}var Il,Pl=g(()=>{"use strict";xe();Il=1e3;V("smart-find",gg)});function Ml(e){let t=e.trim();return t.length>Nl?`${t.slice(0,Nl)}\u2026`:t}function xg(e){let t=[],n="";for(let r of e){let s=n?`${n}, ${r}`:r;s.length>=bg&&n?(t.push(`${n},`),n=r):n=s}return n&&t.push(n),t}function Sg(e){let t=null;for(let n of e){let r=n.split("/").slice(0,-1);if(t===null){t=r;continue}let s=0;for(;s<t.length&&s<r.length&&t[s]===r[s];)s+=1;if(t=t.slice(0,s),t.length===0)return""}return t?t.join("/"):""}function vg(e){let t=e.filter(p=>p.trim()!=="");if(t.length===0)return e;let n=new Map,r=new Map,s=null,o=0,i=0;for(let p of t){if(p==="--"){s&&n.get(s).push({separator:!0});continue}if(/^[A-Za-z]:[\\/]/.test(p))return e;let m=kg.exec(p),b=_g.exec(p);if(m&&b)return e;let y=m||b?null:wg.exec(p),$=(m??b??y)?.[1];if(!$)return e;let T=m?{line:m[2],content:m[3],context:!1}:b?{line:b[2],content:b[3],context:!0}:{line:"",content:y[2],context:!1},P=n.get($)??[];P.push(T),n.set($,P),T.context||(o+=1,r.set($,(r.get($)??0)+1)),i+=1,s=$}if(n.size===i)return e;let a=[...n.keys()].sort((p,m)=>{let b=Dl.test(p)?1:0,y=Dl.test(m)?1:0;return b-y||(p<m?-1:p>m?1:0)}),l=a.length>1?Sg(a):"",c=p=>l?p.slice(l.length+1):p,u=[];for(let p of a){u.push(`${c(p)} (${r.get(p)??0}):`);for(let m of n.get(p))"separator"in m?u.push(" --"):m.line?u.push(` ${m.line}${m.context?"-":":"} ${Ml(m.content)}`):u.push(` ${Ml(m.content)}`)}let f=a.length>1&&u.length>yg?xg(a.map(p=>`${c(p)} (${r.get(p)??0})`)):[],d=[`${o}m ${a.length}f${l?` in ${l}/`:""}:`,...f,"",...u];if(d.length>vs){let p=d.length-vs;return[...d.slice(0,vs),`\u2026 ${p} more lines omitted`]}return d}var vs,Nl,yg,bg,kg,_g,wg,Dl,Fl=g(()=>{"use strict";xe();vs=1e3,Nl=200,yg=60,bg=190,kg=/^([^\s:]+):(\d+):(.*)$/,_g=/^([^:]+?)-(\d+)-(.*)$/,wg=/^([^\s:]+):(.*)$/,Dl=/(?:^|\/)(?:__tests__|tests?|spec|fixtures?|__mocks__|__snapshots__)\/|\.(?:test|spec)\.[^/]+$/i;V("smart-grep",vg)});function $g(e){if(!e.some(c=>Ll.test(c)))return e;let t=[],n=0,r=0,s=0,o="",i=!1,a=!1,l=()=>{r>0&&t.push(`${o} \u2026 ${r} ${r===1?"line":"lines"} folded \u2026`),r=0};for(let c of e){let u=c.slice(0,s),f=Eg.test(u),d=f?c.slice(s):c,p=Tg.test(d),m=i&&p?null:Ll.exec(c);if(m){l(),n=0,s=m[1]?.length??0,i=!0,a=!1,t.push(c);continue}if(/^diff --(?:git|cc|combined) /.test(d)&&(a=!0),p&&!a&&!(s>0&&d.trim().length===0)){n+=1,n<=Rg?t.push(c):(r+=1,o=f?u:"");continue}l(),t.push(c)}return l(),t}var Ll,Eg,Tg,Rg,jl=g(()=>{"use strict";xe();Ll=/^(?:([|\\/ ._-]*\*[|\\/* ._-]* ))?commit [0-9a-f]{7,40}\b/,Eg=/^[|\\/* ._-]*$/,Tg=/^ {4}/,Rg=2;V("smart-log",$g)});var Ag,Cg,Og,Hl=g(()=>{"use strict";xe();Ag=/^[\s=]+$/,Cg=/^\s*=+\s+(.*?)\s+=+\s*$/,Og=512;V("strip-banners",e=>{let t=[];for(let n of e){if(Ag.test(n))continue;let r=n.length<=Og?Cg.exec(n):null;t.push(r?r[1]:n)}return t})});function Ig(e){let t=[],n=0,r=0;for(;r<e.length;){let s=e[r].replace(/\s+$/,"");if(s===""){n+=1,r+=1,n<=1&&t.push("");continue}n=0;let o=1;for(;r+o<e.length&&e[r+o].replace(/\s+$/,"")===s;)o+=1;if(o>=3)t.push(s),t.push(` \u2026 (repeated ${o}x)`);else for(let i=0;i<o;i++)t.push(s);r+=o}for(;t.length>0&&t[t.length-1]==="";)t.pop();return t}var Bl=g(()=>{"use strict";xe();V("squeeze-output",Ig)});function Pg(e){return e==="compact"?.6:e==="minimal"?.3:1}function Dg(e){let[t,n,r,s]=e.slice(-4);if(!t||!n||!r||!s||!/^\s*Test Files\s+([1-9]\d*) passed \(\1\)$/.test(t)||!/^\s*Tests\s+([1-9]\d*) passed \(\1\)$/.test(n)||!/^\s*Start at\s+\d{2}:\d{2}:\d{2}$/.test(r))return e;let o=/^(\s*Duration\s+\d+(?:\.\d+)?(?:ms|s)) \(transform [^\n]+\)$/.exec(s)?.[1];return o?[...e.slice(0,-4).filter((a,l)=>l>2||!/^ RUN v\d+\.\d+\.\d+(?:[\w.+-]*) .+$/.test(a)),t,n,o]:e}function Mg(e){let t=zl.get(e);if(t)return t;let n=e.strip_lines_matching.map(s=>new RegExp(s)),r={def:e,stripRegexes:n};return zl.set(e,r),r}function Wn(e,t,n={}){return Es(e,t,n).text}function Es(e,t,n={}){let r=n.verbosity??"normal";if(!t.strip_ansi&&t.strip_lines_matching.length===0&&!t.transform&&!t.mask_abs_paths&&!t.fold_passing&&!t.truncate_lines_at&&!t.max_lines&&!t.on_empty&&!n.smartCode&&r==="normal")return{text:e,droppedTail:null};let s=Mg(t),o=e;t.strip_ansi&&(o=de(o));let i=o.endsWith(`
|
|
29
29
|
`),a=(i?o.slice(0,-1):o).split(`
|
|
30
|
-
`);s.stripRegexes.length&&(a=t.keep_failures?a.filter(d=>Ne.test(d)||!s.stripRegexes.some(p=>p.test(d))):
|
|
30
|
+
`);s.stripRegexes.length&&(a=t.keep_failures?a.filter(d=>Ne.test(d)||!s.stripRegexes.some(p=>p.test(d))):ul(a,s.stripRegexes)),r!=="normal"&&!t.preserve_exact&&(a=Gn(a),a=Rl(a)),r==="minimal"&&!t.preserve_exact&&(a=El(a),(t.slug==="vitest"||t.slug==="npm-test")&&(a=Dg(a)));let l=t.transform==="smart-read"&&n.smartCode!==!0?r==="compact"?8:r==="minimal"?6:3:3;if(!t.preserve_exact&&(n.smartCode||n.smartCode===void 0&&r!=="normal"&&Zn(o))&&(a=nn(a,l)),t.transform){let d=Al(t.transform);t.transform==="smart-read"?a=nn(a,l,t.slug==="read-tool"):d&&(a=d(a))}let c=t.slug==="read-tool";if(!c){let d=xs(a);d.some(Boolean)&&(a=a.filter((p,m)=>!d[m]))}t.mask_abs_paths&&(a=gl(a)),t.fold_passing&&(a=hl(a,t.fold_passing_threshold??5)),t.truncate_lines_at&&(a=dl(a,t.truncate_lines_at));let u=null;if(t.max_lines){let d=t.scale_with_level?Pg(n.verbosity):1,p=Math.min(t.max_lines,Math.max(Ng,Math.round(t.max_lines*d))),m=c?xs(a):null,b=m?m.filter(y=>!y).length:a.length;if(b>p){let y=p;if(m){let T=0;for(y=0;y<a.length&&T<p;)m[y]||(T+=1),y+=1}let $=b-p;if(t.keep_failures){let T=a.slice(y),P=T.filter(D=>!Ne.test(D)),C=T.reduce((D,M,F)=>D+(!Ne.test(M)&&!m?.[y+F]?1:0),0);u=P.length>0?P.join(`
|
|
31
31
|
`):null,a=[...a.slice(0,y),...C>0?[St(C)]:[],...T.filter(D=>Ne.test(D))]}else if(c)u=a.slice(y).join(`
|
|
32
|
-
`),a=[...a.slice(0,y),St(
|
|
32
|
+
`),a=[...a.slice(0,y),St($)];else{let{kept:T,dropped:P}=ml(a,p);u=P.length>0?P.join(`
|
|
33
33
|
`):null,a=T}}}let f=a.join(`
|
|
34
34
|
`);return i&&f.length>0&&(f+=`
|
|
35
|
-
`),f.trim().length===0&&t.on_empty&&(f=t.on_empty),{text:f,droppedTail:u}}var
|
|
36
|
-
`)[0]})`}),{filters:n,tests:r,issues:s}}let a=
|
|
37
|
-
`))if(!/^\s*[✓✔√]\s/.test(t)&&
|
|
35
|
+
`),f.trim().length===0&&t.on_empty&&(f=t.on_empty),{text:f,droppedTail:u}}var Ng,zl,Ts=g(()=>{"use strict";tn();fl();pl();_s();ws();yl();vt();Jn();xe();Cl();Ol();Pl();Fl();jl();Hl();Bl();Ng=20;zl=new WeakMap});import{readdir as Fg,readFile as Jl,writeFile as iE,mkdir as aE,rename as lE}from"node:fs/promises";import{readdirSync as Lg,statSync as Ul}from"node:fs";import{createHash as jg}from"node:crypto";import{basename as dE,join as Yn}from"node:path";function qn(){return Yn(S(),"filters")}function Kl(){return Yn(S(),"filters-trust.json")}function Vl(e){return typeof e=="string"&&e.startsWith(Wl)}function Bg(e){return jg("sha256").update(e).digest("hex")}async function zg(){try{let e=JSON.parse(await Jl(Kl(),"utf8")),t={};if(e.files&&typeof e.files=="object")for(let[n,r]of Object.entries(e.files))typeof r=="string"&&/^[0-9a-f]{64}$/.test(r)&&(t[n]=r);return{v:1,files:t}}catch{return{v:1,files:{}}}}function Ug(e,t){if(t===void 0)return{tests:[]};let n={message:`${e}: tests: each [[filters.${e}.tests]] needs input and expected strings`};if(!Array.isArray(t))return n;let r=[];for(let s of t){if(typeof s!="object"||s===null)return n;let{input:o,expected:i,name:a}=s;if(typeof o!="string"||typeof i!="string")return n;r.push({...typeof a=="string"&&a?{name:a}:{},input:o,expected:i})}return{tests:r}}function Zg(e,t){let n=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},{tests:r,...s}=n,o=Ug(e,r);if("message"in o)return o;let i=Ie.safeParse({...s,slug:e});if(!i.success){let l=i.error.issues.map(c=>`${c.path.join(".")||"rule"}: ${c.message}`).join("; ");return{message:`${e}: ${l}`}}let a;try{a=new RegExp(i.data.match_command)}catch{return{message:`${e}: match_command is not a valid regular expression`}}for(let l of i.data.strip_lines_matching)try{new RegExp(l)}catch{return{message:`${e}: strip_lines_matching has an invalid regular expression`}}return{filter:{...i.data,slug:`${Wl}${i.data.slug}`,matchRegex:a},tests:o.tests}}function Gg(e){return e===void 0||e===Kn?null:typeof e=="number"&&Number.isInteger(e)?`schema_version ${e} is not supported: this tkr reads schema_version = ${Kn}. Update tkr, or write the file for version ${Kn}`:`schema_version must be the number ${Kn}`}async function Jg(e){try{return(await Fg(e)).filter(t=>t.endsWith(".toml")).sort()}catch{return[]}}async function Wg(e={}){let t=e.requireTrust!==!1,n=qn(),r=new Map,s=new Map,o=[],i=await Jg(n);if(i.length===0)return{dir:n,filters:r,tests:s,issues:o};let a=t?await zg():null;for(let l of i){let c;try{c=await Jl(Yn(n,l),"utf8")}catch{o.push({file:l,message:"could not be read"});continue}if(a){let f=a.files[l];if(!f){o.push({file:l,message:`not trusted yet. Review it, then run: tkr filters trust ${l}`});continue}if(f!==Bg(c)){o.push({file:l,message:`changed since it was trusted. Review it, then run: tkr filters trust ${l}`});continue}}let u=await Kg(c,l);for(let[f,d]of u.filters)r.set(f,d);for(let[f,d]of u.tests)s.set(f,d);o.push(...u.issues)}return{dir:n,filters:r,tests:s,issues:o}}async function Kg(e,t){let n=new Map,r=new Map,s=[],{parse:o}=await Promise.resolve().then(()=>(ks(),bs)),i;try{i=o(e)}catch(c){return s.push({file:t,message:`not valid TOML (${String(c.message).split(`
|
|
36
|
+
`)[0]})`}),{filters:n,tests:r,issues:s}}let a=Gg(i.schema_version);if(a)return s.push({file:t,message:a}),{filters:n,tests:r,issues:s};let l=i.filters;if(typeof l!="object"||l===null||Array.isArray(l))return s.push({file:t,message:"no [filters.<name>] table found"}),{filters:n,tests:r,issues:s};for(let[c,u]of Object.entries(l)){let f=Zg(c,u);if("message"in f){s.push({file:t,message:f.message});continue}n.set(f.filter.slug,f.filter),f.tests.length>0&&r.set(f.filter.slug,{file:t,tests:f.tests})}return{filters:n,tests:r,issues:s}}function Vg(){let e=[];for(let t of[Kl(),qn()])try{let n=Ul(t);e.push(`${n.mtimeMs}:${n.size}`)}catch{e.push("-")}try{for(let t of Lg(qn()).filter(n=>n.endsWith(".toml")).sort()){let n=Ul(Yn(qn(),t));e.push(`${t}:${n.mtimeMs}:${n.size}`)}}catch{}return e.join("|")}function qg(){let e=Date.now();if(!Vn||e-Gl>=Hg){Gl=e;let t=Vg();(!Vn||t!==Zl)&&(Zl=t,Vn=Wg())}return Vn}async function Yg(e){let{filters:t}=await qg();return t.size===0?null:xt(e,t.values(),null,t)}function ql(e){return async(t,n)=>await Yg(t)??e(t,n)}var Wl,Kn,Vn,Zl,Gl,Hg,Rs=g(()=>{"use strict";Yt();zn();Ts();L();Wl="user/",Kn=1,Vn=null,Zl="",Gl=0,Hg=1e3});function Yl(e){if(!e)return!1;for(let t of de(e).split(`
|
|
37
|
+
`))if(!/^\s*[✓✔√]\s/.test(t)&&Xg.some(n=>n.test(t)))return!0;return!1}var Xg,Xl=g(()=>{"use strict";tn();Xg=[/\bERROR\b/,/\bFAIL\b/,/\bFAILED\b/,/\bFATAL\b/,/^Traceback /m,/^Error: /m,/^\s+at .*\(.*:\d+:\d+\)/m,/panic:/,/SyntaxError:/,/TypeError:/,/ReferenceError:/,/AssertionError:/,/^\s*(?:error|fatal):/i,/thread '.*' panicked/,/\b[1-9]\d* (?:failed|errors?)\b/]});function st(e){let t=e.trim(),n=t.split(/\s+/),r=0;for(;r<n.length;){let a=n[r];if(ey.test(a)){r++;continue}if(Qg.has(a)){for(r++,a==="timeout"&&r<n.length&&/^\d+(?:\.\d+)?[smhd]?$/.test(n[r])&&r++;(a==="stdbuf"||a==="nice")&&r<n.length&&n[r].startsWith("-");)r++;continue}break}if(r>=n.length)return t;let s=n[r],o=s.includes("/")?s.slice(s.lastIndexOf("/")+1):s,i=n.slice(r+1);return i.length?`${o} ${i.join(" ")}`:o}function Ql(e,t){let n=!1,r=!1,s=0,o=[];for(let i=0;i<e.length;i++){let a=e[i];if(a==="\\"&&!n){i++;continue}a==="'"&&!r?n=!n:a==='"'&&!n?r=!r:!n&&!r&&(a===";"?(o.push(e.slice(s,i)),s=i+1):a==="|"&&e[i+1]==="|"?(o.push(e.slice(s,i)),i++,s=i+1):a==="|"?t||(o.push(e.slice(s,i)),s=i+1):a==="&"&&e[i+1]==="&"&&(o.push(e.slice(s,i)),i++,s=i+1))}return o.push(e.slice(s)),o}function ny(e){let t=Ql(e,!1);for(let n=t.length-1;n>=0;n--){let r=t[n].trim();if(r)return r}return e.trim()}function As(e){let t=Ql(e,!0).map(n=>n.trim()).filter(Boolean);if(t.length===0)return null;for(let n of t.slice(0,-1)){let r=st(n).split(/\s+/)[0]??"";if(!ty.has(r))return null}return ny(t[t.length-1])}function ec(e){let t=!1,n=!1,r=0,s=[];for(let o=0;o<e.length;o++){let i=e[o];if(i==="\\"&&!t){o++;continue}i==="'"&&!n?t=!t:i==='"'&&!t?n=!n:!t&&!n&&(i==="|"||i===";"?(s.push(e.slice(r,o)),i==="|"&&e[o+1]==="|"&&o++,r=o+1):i==="&"&&e[o+1]==="&"&&(s.push(e.slice(r,o)),o++,r=o+1))}s.push(e.slice(r));for(let o=s.length-1;o>=0;o--){let i=s[o].trim();if(i)return i}return e.trim()}function Cs(e){let t=ry.exec(e);return t?st(e.slice(t[0].length)):null}function tc(e){let t=$s.exec(e),n=e;if(t){if(t[1]!=="bash")return[e];let a=e.indexOf(": ");if(a<0)return[e];n=e.slice(a+2)}let r=As(n),s=r?st(r):null,i=[s?Cs(s):null,s,e].filter(a=>!!a);return[...new Set(i)]}var Qg,ey,$s,ty,ry,nc=g(()=>{"use strict";Qg=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),ey=/^[A-Za-z_][A-Za-z0-9_]*=/,$s=/^([a-z]+)-tool(?::\s|$)/;ty=new Set(["cd","export","source","set","unset","mkdir","true",":","pushd","popd","alias","ulimit","umask","echo","printf","sleep","touch","rm","cp","mv","chmod","ln"]);ry=/^(?:npx|bunx|uvx|pnpm\s+(?:exec|dlx)|yarn\s+(?:exec|dlx)|(?:uv|poetry|pipenv|hatch|pdm|rye)\s+run|bundle\s+exec|python[0-9.]*\s+-m)\s+(?=[^\s-])/});function Os(e){let t=Buffer.from(e,"utf8");if(t.length<=256)return e;let n=256-Buffer.byteLength(rc,"utf8"),r=Math.floor(n/2);for(;(t[r]&192)===128;)r-=1;let s=t.length-(n-r);for(;(t[s]&192)===128;)s+=1;return t.subarray(0,r).toString("utf8")+rc+t.subarray(s).toString("utf8")}var rc,sc=g(()=>{"use strict";rc=`
|
|
38
38
|
[YOLO: omitted]
|
|
39
|
-
`});function
|
|
39
|
+
`});function iy(e,t){if(!t)return e.split(`
|
|
40
40
|
`).map(o=>o.replace(/^[ \t]+|[ \t]+(?=\r?$)/g,"")).join(`
|
|
41
41
|
`);let n="",r=!1,s=!1;for(let o of e)r?(n+=o,s?s=!1:o==="\\"?s=!0:o==='"'&&(r=!1)):o==='"'?(r=!0,n+=o):o!==" "&&o!==" "&&o!=="\r"&&o!==`
|
|
42
42
|
`&&(n+=o);return n+(e.endsWith(`
|
|
43
43
|
`)?`
|
|
44
|
-
`:"")}function
|
|
44
|
+
`:"")}function ay(e,t){if(/@(?:p)?\d|\r/.test(e))return e;let n=e.endsWith(`
|
|
45
45
|
`)?`
|
|
46
46
|
`:"",r=(n?e.slice(0,-1):e).split(`
|
|
47
|
-
`),s=r.findIndex(y=>
|
|
48
|
-
`)+n;if(!t)return a;let l=new Map;for(let{cells:y}of i)l.set(y[1],(l.get(y[1])??0)+1);let c=new Map,u=[];for(let[y
|
|
49
|
-
`)+n;return Buffer.byteLength(
|
|
47
|
+
`),s=r.findIndex(y=>sy.test(y));if(s>=0&&r.slice(0,s).some(y=>y!==""&&!/^Showing \d+ of \d+ (?:open|closed|all) pull requests in \S+$/.test(y)))return e;let o=s>=0?[...r[s].matchAll(/\S+/g)].map(y=>y.index):[],i=[];for(let y=s+1;y<r.length;y+=1){let $=r[y];if(oy.test($))continue;if(/…|\.\.\./.test($))return e;let T;if(s>=0){if(/[^\x20-\x7e]/.test($))return e;let P=o.map((C,D)=>$.slice(C,o[D+1]));if(P.slice(0,-1).some(C=>C[0]===" "||!C.endsWith(" "))||(T=P.map(C=>C.replace(/ +$/,"")),!/^#\d+$/.test(T[0])||!/^\S+$/.test(T[2])||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(T[3])||!/^\d+(?:s|m|h|d|w|mo|y)$/.test(T[4])))return e}else if(T=$.split(" "),T.length!==5||!/^\d+$/.test(T[0])||!T[1]||!T[2]||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(T[3])||!Is.test(T[4])||!Number.isFinite(Date.parse(T[4])))return e;if(T.some(P=>/[\u0000-\u001f\u007f]/.test(P)))return e;i.push({index:y,cells:T})}if(i.length===0)return e;s>=0&&(r[s]="ID TITLE BRANCH STATE CREATED");for(let y of i)r[y.index]=y.cells.join(" ");let a=r.join(`
|
|
48
|
+
`)+n;if(!t)return a;let l=new Map;for(let{cells:y}of i)l.set(y[1],(l.get(y[1])??0)+1);let c=new Map,u=[];for(let[y,$]of l){if(y.length<40||$<3||y.trim().split(/\s+/).length<8)continue;let T=`@${c.size+1}`,P=JSON.stringify(y).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),C=`TITLE ${T} = ${P}`;$*(Buffer.byteLength(y)-Buffer.byteLength(T))<=Buffer.byteLength(C)+1||(c.set(y,T),u.push(C))}let f=new Map;for(let{cells:y}of i){if(c.has(y[1]))continue;let $=/^((?:\S+\s+){4})\S/.exec(y[1])?.[1];$&&$.length>=24&&f.set($,(f.get($)??0)+1)}let d=new Map;for(let[y,$]of f){if($<3)continue;let T=`@p${d.size+1}`,P=`TITLE prefix ${T} = ${JSON.stringify(y).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}`;$*(Buffer.byteLength(y)-Buffer.byteLength(T)-1)<=Buffer.byteLength(P)+1||(d.set(y,T),u.push(P))}let p=i[0].cells[4].slice(10),m=i.length>=3&&Is.test(i[0].cells[4])&&i.every(({cells:y})=>Is.test(y[4])&&y[4].slice(10)===p)&&i.length*p.length>`CREATED suffix = ${JSON.stringify(p)}`.length+1;if(m&&u.push(`CREATED suffix = ${JSON.stringify(p)}`),u.length===0)return a;for(let{index:y,cells:$}of i){let T=c.get($[1]),P=/^((?:\S+\s+){4})\S/.exec($[1])?.[1],C=P?d.get(P):void 0;r[y]=$.map((D,M)=>M===1?T??(C?`${C}:${D.slice(P.length)}`:D):M===4&&m?D.slice(0,10):D).join(" ")}let b=[...r,"",...u].join(`
|
|
49
|
+
`)+n;return Buffer.byteLength(b)<Buffer.byteLength(a)?b:a}function dy(e){let t=uy.exec(e[0]??"");if(!t)return e;let n=fy.exec(e[1]??"");if(!n)return[`* ${t[1]}`,...e.slice(1)];let r=n[1]??n[3],s=n[2]?` [${n[2]} ${n[4]}]`:"";return[`* ${t[1]}...${r}${s}`,...e.slice(2)]}function py(e){let t=e.endsWith(`
|
|
50
50
|
`)?`
|
|
51
|
-
`:"",n=
|
|
52
|
-
`)),r=null,s=[];for(let o of n){if(Object.hasOwn(
|
|
53
|
-
`)+t}function
|
|
54
|
-
`);for(let n=0;n<t.length;n+=1){if(!
|
|
55
|
-
`)}function
|
|
51
|
+
`:"",n=dy((t?e.slice(0,-1):e).split(`
|
|
52
|
+
`)),r=null,s=[];for(let o of n){if(Object.hasOwn(oc,o)){r=oc[o];continue}if(!o.startsWith(" ")){r=null,s.push(o);continue}if(r==="untracked"){s.push(`?? ${o.slice(1)}`);continue}let i=r?cy.exec(o):null;if(!i)return e;let a=ly[i[1]];s.push(r==="staged"?`${a} ${i[2]}`:` ${a} ${i[2]}`)}return s.join(`
|
|
53
|
+
`)+t}function hy(e){let t=e.split(`
|
|
54
|
+
`);for(let n=0;n<t.length;n+=1){if(!my.test(t[n]))continue;let r=n;for(;r>0&&ic.test(t[r-1]);)r-=1;for(let s=r;s<n;s+=1)t[s]=t[s].replace(ic," $1 | $2")}return t.join(`
|
|
55
|
+
`)}function yy(e,t){let n=[];for(let r=0;r<t.length;r+=1){let s=t[r];if(s>0&&e.length>s&&e[s-1]!==" ")return null;let o=e.slice(s,t[r+1]??e.length).trim();if(o.includes(" "))return null;n.push(o)}return n}function by(e){let t=e.endsWith(`
|
|
56
56
|
`)?`
|
|
57
57
|
`:"",n=(t?e.slice(0,-1):e).split(`
|
|
58
|
-
`),r=[],s=[];for(let c of n)c.startsWith("WARNING:")?r.includes(c)||r.push(c):s.push(c);let o=s.findIndex(c=>
|
|
59
|
-
`)+t;let i=s[o],a=[...i.matchAll(/\S+/g)].map(c=>c.index),l=[...r,...s.slice(0,o),i.split(/ +/).join(" ")];for(let c of s.slice(o+1)){if(
|
|
58
|
+
`),r=[],s=[];for(let c of n)c.startsWith("WARNING:")?r.includes(c)||r.push(c):s.push(c);let o=s.findIndex(c=>ac.test(c));if(o<0)return[...r,...s].join(`
|
|
59
|
+
`)+t;let i=s[o],a=[...i.matchAll(/\S+/g)].map(c=>c.index),l=[...r,...s.slice(0,o),i.split(/ +/).join(" ")];for(let c of s.slice(o+1)){if(lc.test(c)){l.push(c);continue}let u=c.startsWith(" ")||/[^\x20-\x7e]/.test(c)?null:yy(c,a);if(!u)return[...r,...s].join(`
|
|
60
60
|
`)+t;l.push(u.join(" "))}return l.join(`
|
|
61
|
-
`)+t}function
|
|
61
|
+
`)+t}function ky(e){let t=e.endsWith(`
|
|
62
62
|
`)?`
|
|
63
63
|
`:"",n=(t?e.slice(0,-1):e).split(`
|
|
64
|
-
`),r=n.findIndex(i=>
|
|
65
|
-
`)+t}function
|
|
66
|
-
`),n=[];for(let r=0;r<t.length;){let s=t[r],o=r+1;if(
|
|
67
|
-
`)}var
|
|
64
|
+
`),r=n.findIndex(i=>ac.test(i.trimEnd()));if(r<0)return e;let s=n[r].trim().split(/ {2,}/).length;if(s<2)return e;let o=[...n.slice(0,r),n[r].trim().split(/ {2,}/).join(" ")];for(let i of n.slice(r+1)){if(lc.test(i)){o.push(i);continue}if(i.startsWith(" ")||i.includes(" ")||/[^\x20-\x7e]/.test(i))return e;let a=i.trimEnd().split(/ {2,}/);if(a.length===s-1){let l=a[0].indexOf(" ");if(l<0||a[0].indexOf(" ",l+1)>=0)return e;a=[a[0].slice(0,l),a[0].slice(l+1),...a.slice(1)]}if(a.length!==s)return e;o.push(a.join(" "))}return o.join(`
|
|
65
|
+
`)+t}function Ps(e,t,n){if(t!=="compact"&&t!=="minimal")return e;let r=e;if(/^[ \t\r\n]*[\[{]/.test(e)){try{JSON.parse(e)}catch{return e}r=iy(e,t==="minimal")}else n==="gh"?r=ay(e,t==="minimal"):n==="git-status"?r=py(e):n==="gcloud"?r=by(e):n==="oc"?r=ky(e):n==="git-diff"?r=hy(e):n==="tofu-plan"&&(r=e.replace(gy,"$1 = "));return Buffer.byteLength(r)<Buffer.byteLength(e)?r:e}var sy,oy,Is,oc,ly,cy,uy,fy,ic,my,gy,ac,lc,cc=g(()=>{"use strict";sy=/^ID {2,}TITLE {2,}BRANCH {2,}STATE {2,}CREATED *$/,oy=/^… \([1-9]\d* more lines omitted\)$/,Is=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/;oc={"Changes to be committed:":"staged","Changes not staged for commit:":"unstaged","Untracked files:":"untracked"},ly={modified:"M",deleted:"D","new file":"A",renamed:"R",copied:"C",typechange:"T"},cy=/^\t(modified|deleted|new file|renamed|copied|typechange):\s+(.+)$/,uy=/^On branch (\S+)$/,fy=/^Your branch is (?:up to date with '([^']+)'|(ahead|behind)(?: of)? '([^']+)' by (\d+) commits?(?:, and can be fast-forwarded)?)\.$/;ic=/^ (\S.*?) +\| +(\d+(?: [+-]+)?|Bin .*)$/,my=/^ \d+ files? changed(?:, \d+ insertions?\(\+\))?(?:, \d+ deletions?\(-\))?$/;gy=/^( *(?:[~+-] +)?(?:[\w.-]+|"[^"\n]*")) {2,}= /gm,ac=/^[A-Z][A-Z0-9_]*(?: +[A-Z][A-Z0-9_]*)+$/,lc=/^… \(\d+ more lines omitted\)$/});function uc(e){if(Buffer.byteLength(e)<2048||Zn(e)||wy.test(e))return e;let t=e.split(`
|
|
66
|
+
`),n=[];for(let r=0;r<t.length;){let s=t[r],o=r+1;if(_y.test(s))for(;o<t.length&&t[o]===s;)o+=1;let i=o-r,a=`[tkr: previous log line repeated ${i-1} additional times]`;if(i>=3&&Buffer.byteLength(a)+1<(i-1)*(Buffer.byteLength(s)+1))n.push(s,a);else for(let l=r;l<o;l+=1)n.push(s);r=o}return n.join(`
|
|
67
|
+
`)}var _y,wy,fc=g(()=>{"use strict";vt();_y=/^(?:\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}:\d{2}(?:\.\d+)?Z?\s+)?(?:\[(?:DEBUG|TRACE|INFO|WARN|WARNING|ERROR|FATAL)\]|DEBUG|TRACE|INFO|WARN|WARNING|ERROR|FATAL)(?::|\s|$)/,wy=/^\[tkr: previous log line repeated \d+ additional times\]$/m});function dc(e){return Sy.test(e)}function pc(e){let t=e.endsWith(`
|
|
68
68
|
`),n=(t?e.slice(0,-1):e).split(`
|
|
69
|
-
`),r=0;for(let s of n)if(s.trim()!==""){if(!
|
|
70
|
-
`:""}`}var _y,wy,fc=g(()=>{"use strict";_y=/^(?:[A-Za-z]:)?[^\s"'<>|]+\.(?:[cm]?[jt]sx?|json)$/,wy=/--(?:listFiles|listFilesOnly|listEmittedFiles|showConfig|explainFiles|traceResolution)(?:\s|=|$)/});function Et(e,t){let n=null;for(let r of e){let s=t.exec(r);s&&(n=(n??0)+Number(s[1]))}return n}function Xn(e){return xy.test(e)}function Qn(e,t,n){return n===null?t:(t!==n&&!e.some(r=>r.kind==="frame"&&r.text===t)&&e.push({kind:"frame",text:t}),n)}function Is(e,t=()=>!1){let n=[],r=null,s=-1,o=!1;for(let f of e){let d=f.trimEnd(),p=d.trim();if(!p||Ty.test(d)||/^─+$/.test(p))continue;if(t(p)){o=!0,n.push({kind:"out",text:p.replace(/\s*─+$/,"")});continue}if(o){n.push({kind:"out",text:p});continue}let m=Sy.exec(d)??vy.exec(d);if(m){s=-1;let y=m[1].replace(/^file:\/\//,"");Xn(y)||(r=Qn(n,`${y}:${m[2]}${m[3]?`:${m[3]}`:""}`,r));continue}let k=Ey.exec(d);if(k){s=-1,n.push({kind:"code",text:p,num:Number(k[2]),pointed:k[1]===">"});continue}if($y.test(p)){s=n.length,n.push({kind:"legend",text:p});continue}n.push(s>=0?{kind:"diff",text:d,segment:s}:{kind:"msg",text:p})}let i=n.some(f=>f.kind==="code"&&f.pointed),a=r?Number(/:(\d+)(?::\d+)?$/.exec(r)?.[1]):NaN,l=!1,c=n.filter(f=>{if(f.kind!=="code")return!0;let d=!l&&(i?f.pointed===!0:f.num===a);return d&&(l=!0),d}),u=new Map;for(let f of c){if(f.kind!=="diff")continue;let d=f.text.length-f.text.trimStart().length;u.set(f.segment,Math.min(u.get(f.segment)??d,d))}for(let f of c)f.kind==="diff"&&(f.text=f.text.slice(u.get(f.segment)??0)),f.kind==="code"&&(f.text=f.text.replace(/^>\s*/,""));return{body:c,loc:r}}function q(e,t=!1){return{text:e.trim().replace(/\s{2,}/g," "),minor:t}}function Ry(e){if(!e.some(l=>/^⎯+ Failed (?:Tests|Suites) \d+ ⎯+$/.test(l.trim())||/^\s*Test Files\s{2,}\d/.test(l)||/^ ?FAIL\s+\S+ > /.test(l)))return null;let t=Et(e,/^\s*Tests\s+(\d+) failed/),n=[];for(let l of e)/^\s*Test Files\s{2,}\S/.test(l)?n.push(q(l,!0)):/^\s*(?:Tests|Errors|Type Errors)\s{2,}\S/.test(l)&&n.push(q(l));let r=[],s=0,o=[],i=[],a=()=>{if(o.length){let{body:l,loc:c}=Is(i);for(let u of o)u.body=l,u.loc=c}o=[],i=[]};for(let l of e){let c=l.trim(),u=/^ ?FAIL\s+(\S.*?)\s*$/.exec(l);if(u){i.some(y=>y.trim())&&a();let d=u[1],p=/^(\S+) \[ \S+ \]$/.exec(d),m=d.split(" > "),k=p?{file:p[1],name:"(suite)",loc:null,body:[]}:m.length>1?{file:m[0],name:m.slice(1).join(" > "),loc:null,body:[]}:{file:null,name:d,loc:null,body:[]};p||(s+=1),r.push(k),o.push(k);continue}let f=/^⎯+ (Unhandled [A-Za-z ]+?) ⎯+$/.exec(c);if(f){a();let d={file:null,name:f[1],loc:null,body:[]};r.push(d),o.push(d);continue}if(/^⎯{3,}/.test(c)||/^(?:Test Files|Tests|Start at|Duration|Errors)\s{2,}/.test(c)){a();continue}o.length&&i.push(l)}if(a(),s===0){let l=null;for(let c of e){let u=/^\s*[❯✓×✗]\s+(\S+)\s+\(\d+ tests?\b/.exec(c);if(u){l=u[1];continue}let f=/^\s+[×✗]\s+(.+?)(?:\s+\d+(?:\.\d+)?m?s)?$/.exec(c);f&&(r.push({file:l,name:f[1],loc:null,body:[]}),s+=1)}}return{failures:r,summary:n,reported:t,counted:s}}function Ay(e){if(!e.some(u=>/^\s{2}● (?!Console$)/.test(u))||!e.some(u=>/^Tests:\s/.test(u)||/^(?:FAIL|PASS)\s+\S/.test(u)))return null;let t=Et(e,/^Tests:\s+(\d+) failed/),n=[];for(let u of e)/^Test Suites:\s/.test(u)?n.push(q(u,!0)):(/^Tests:\s/.test(u)||/^Snapshots:\s/.test(u)&&/failed|obsolete/.test(u))&&n.push(q(u));let r=[],s=new Set,o=0,i=null,a=null,l=[],c=()=>{if(a){let u=`${a.file}\0${a.name}`;if(!s.has(u)){s.add(u);let{body:f,loc:d}=Is(l);a.body=f,a.loc=d,r.push(a),a.name!=="Test suite failed to run"&&(o+=1)}}a=null,l=[]};for(let u of e){let f=/^(?:FAIL|PASS)\s+(\S+)/.exec(u);if(f){c(),i=f[1];continue}if(/^(?:Summary of all failing tests|Test Suites:|Tests:|Snapshots:|Time:|Ran all test suites)/.test(u)){c();continue}let d=/^\s{2}● (.+)$/.exec(u);if(d){c(),d[1].trim()!=="Console"&&(a={file:i,name:d[1].trim(),loc:null,body:[]});continue}a&&l.push(u)}return c(),{failures:r,summary:n,reported:t,counted:o}}function yc(e,t,n,r,s){let o=[],i=new Map,a=null;for(let l=t;l<n;l++){let c=e[l],u=/^\s{2}\d+\) (.+)$/.exec(c);if(u){let{name:f,used:d}=r(u[1],e.slice(l+1,Math.min(n,l+8)));l+=d,a=i.get(f)??null,a||(a=[],i.set(f,a),o.push({file:null,name:f,loc:null,body:[]}));continue}/^\s+Retry #\d+ ─*/.test(c)||a&&a.push(c)}for(let l of o){let{body:c,loc:u}=Is(i.get(l.name),s);l.body=c,l.loc=u}return o}function Cy(e){let t=e.findIndex(o=>/^\s*\d+ failing$/.test(o));if(t<0)return null;let n=Number(/(\d+)/.exec(e[t])[1]),r=e.filter(o=>/^\s*\d+ (?:passing|failing|pending)(?: \(\S+\))?$/.test(o)).map(o=>q(o.replace(/ \(\S+\)\s*$/,""))),s=yc(e,t+1,e.length,(o,i)=>{let a=[o.trim()],l=0;for(;!a[a.length-1].endsWith(":")&&l<i.length&&i[l].trim();)a.push(i[l].trim()),l+=1;return a[a.length-1].endsWith(":")?{name:a.join(" \u203A ").replace(/:$/,""),used:l}:{name:o.trim(),used:0}});return{failures:s,summary:r,reported:n,counted:s.length}}function Oy(e){let t=e.findIndex(a=>/^\s{2}\d+\) .*›.*─{3,}\s*$/.test(a));if(t<0)return null;let n=e.findIndex((a,l)=>l>t&&/^\s{2}\d+ (?:failed|flaky|passed|skipped|interrupted|did not run)(?: \(.+\))?$/.test(a)),r=n<0?e.length:n,s=Et(e.slice(r),/^\s{2}(\d+) failed$/),o=e.slice(r).filter(a=>/^\s{2}\d+ (?:failed|flaky|passed|skipped|interrupted|did not run)(?: \(.+\))?$/.test(a)).map(a=>q(a.replace(/ \([\d.]+m?s\)\s*$/,""))),i=yc(e,t,r,a=>({name:a.replace(/\s*─+\s*$/,"").trim(),used:0}),a=>/^attachment #\d+:/.test(a));return{failures:i,summary:o,reported:s,counted:i.length}}function Iy(e){if(!e.some(i=>/^test result: /.test(i))||!e.some(i=>/^---- .+ stdout ----$/.test(i)))return null;let t=Et(e,/^test result: FAILED\. \d+ passed; (\d+) failed/),n=[];for(let i of e)/^test result: FAILED/.test(i)?n.push(q(i.replace(/; finished in [\d.]+m?s\s*$/,""))):/^test result: ok/.test(i)?n.push(q(i.replace(/; finished in [\d.]+m?s\s*$/,""),!0)):/^error(?:\[\w+\])?: /.test(i)&&n.push(q(i));let r=[],s=null,o=[];for(let i of e){let a=/^---- (.+?) stdout ----$/.exec(i);if(a){s={f:{file:null,name:a[1],loc:null,body:[]},lines:[]},o.push(s),r.push(s.f);continue}if(/^failures:$|^test result: |^running \d+ tests?$/.test(i)){s=null;continue}s&&s.lines.push(i)}for(let{f:i,lines:a}of o){let l=!1,c=!1;for(let u of a){let f=u.trimEnd(),d=f.trim();if(!d)continue;let p=/^thread '.+?'(?: \(\d+\))? panicked at (?:'(.*)', )?(\S+?):(\d+):(\d+):?$/.exec(d);if(p){l=!0,i.loc??=`${p[2]}:${p[3]}:${p[4]}`,p[1]&&i.body.push({kind:"msg",text:p[1]});continue}if(!/^note: run with `RUST_BACKTRACE/.test(d)){if(/^stack backtrace:$/.test(d)){c=!0;continue}if(c){let m=/^at\s+(\S+?):(\d+):(\d+)$/.exec(d);m&&!Xn(m[1])&&(i.loc=Qn(i.body,`${m[1]}:${m[2]}:${m[3]}`,i.loc));continue}i.body.push(l?{kind:"msg",text:f}:{kind:"out",text:f})}}}return{failures:r,summary:n,reported:t,counted:r.length}}function Py(e){if(!e.some(a=>/^\s*--- FAIL: \S/.test(a)))return null;let t=new Map,n=[],r=new Map,s=[],o=null,i=null;for(let a of e){let l=/^=== (?:RUN|CONT|PAUSE|NAME)\s+(\S+)/.exec(a);if(l){o=l[1],i=null;continue}let c=/^\s*--- FAIL: (\S+) \([\d.]+m?s\)/.exec(a);if(c){i={file:null,name:c[1],loc:null,body:[]},r.set(i,[...t.get(c[1])??[]]),n.push(i),o=null;continue}if(/^\s*--- (?:PASS|SKIP): /.test(a)){i=null,o=null;continue}let u=/^(FAIL|ok)\s+(\S+)(?:\s+(?:[\d.]+m?s|\(cached\)|\[[^\]]+\]))?/.exec(a);if(u&&/\t|\s{2,}|\[/.test(a)){s.push(q(a.replace(/\s+[\d.]+m?s\s*$/,""),u[1]==="ok")),i=null,o=null;continue}if(!/^(?:FAIL|PASS)$/.test(a.trim())){if(/^exit status \d+$/.test(a)){s.push(q(a,!0));continue}if(i)r.get(i).push(a);else if(o){let f=t.get(o)??[];f.push(a),t.set(o,f)}else(/^#\s\S+$/.test(a)||/^\S+\.go:\d+(?::\d+)?: /.test(a))&&s.push(q(a))}}for(let a of n){for(let l of r.get(a)){let c=l.trim();if(!c||/^goroutine \d+ \[/.test(c))continue;let u=/^(\/\S+\.go|\S+\.go):(\d+)(?: \+0x[0-9a-f]+)?$/.exec(c);if(u){Xn(u[1])||(a.loc=Qn(a.body,`${u[1]}:${u[2]}`,a.loc));continue}/^(?:[\w.*/()-]+)\(.*\)$/.test(c)||/^created by /.test(c)||a.body.push({kind:"msg",text:c})}a.loc&&a.body.some(l=>l.kind==="msg"&&/^\S+\.go:\d+: /.test(l.text))&&(a.body.unshift({kind:"frame",text:a.loc}),a.loc=null)}return{failures:n,summary:s,reported:null,counted:n.length}}function pc(e,t){let n=[],r=null,s=!1,o=!1;for(let l of e){let c=l.trimEnd(),u=c.trim();if(/^-{3,} Captured .+ -{3,}$/.test(u)){s=!0;continue}if(s){u&&n.push({kind:"out",text:c});continue}if(/^E(?:\s|$)/.test(c)){c.slice(1).trim()&&n.push({kind:"msg",text:c});continue}let f=/^(\S+?\.py):(\d+):(?: (.*))?$/.exec(c);if(f){if(!Xn(f[1])){let d=f[3]?.startsWith("in ")?` ${f[3]}`:"";r=Qn(n,`${f[1]}:${f[2]}${r===null?"":d}`,r)}continue}/^>\s/.test(c)&&!o&&(o=!0,n.push({kind:"code",text:u.replace(/^>\s*/,"")}))}let i=n.filter(l=>l.kind==="msg"),a=Math.min(...i.map(l=>l.text.slice(1).length-l.text.slice(1).trimStart().length));for(let l of i)l.text=`E ${l.text.slice(1+a)}`;return t&&!i.some(l=>l.text.includes(t.replace(/\.\.\.$/,"")))&&n.unshift({kind:"msg",text:t}),{body:n,loc:r}}function mc(e,t){return t.push(q(e.replace(/ in [\d.]+s(?: \([\d:]+\))?$/,""))),(Et([e],/(\d+) failed/)??0)+(Et([e],/(\d+) errors?\b/)??0)}function Ny(e){if(!e.some(f=>/^={3,} (?:FAILURES|ERRORS|short test summary info) ={3,}$/.test(f)||dc.test(f)))return null;let t=new Map,n=[],r=[],s="",o=null,i=null,a=null;for(let f of e){let d=/^={3,} (.+?) ={3,}$/.exec(f);if(d){s=d[1],o=null,i=null,!/^(?:FAILURES|ERRORS|short test summary info|warnings summary|test session starts|PASSES)$/.test(s)&&/\b\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)\b|no tests ran/.test(s)&&(a=mc(s,r));continue}if(/^(?:\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)(?:, |\s|$))+(?:in [\d.]+s(?: \([\d:]+\))?)?$/.test(f.trim())){a=mc(f.trim(),r);continue}if(/^!{3,} .+ !{3,}$/.test(f)){r.push(q(f.replace(/^!+ | !+$/g,"")));continue}let p=/^_{3,} (.+?) _{3,}$/.exec(f);if(p&&(s==="FAILURES"||s==="ERRORS")){o=[],t.set(p[1],o);continue}let m=dc.exec(f);if(m&&s!=="FAILURES"&&s!=="ERRORS"){o=null;let k={kind:m[1],id:m[2],msg:m[3]??null,inline:[]};n.push(k),i=k;continue}if(o){o.push(f);continue}i&&/^E(?:\s|$)/.test(f)?i.inline.push(f):i&&f.trim()&&(i=null)}let l=new Set,c=[],u=new Set;for(let f of n){if(u.has(f.id))continue;u.add(f.id);let[d,...p]=f.id.split("::"),m=p.join("."),k=[m,`ERROR collecting ${f.id}`,`ERROR at setup of ${m}`,`ERROR at teardown of ${m}`].find(P=>P&&t.has(P)&&!l.has(P));k&&l.add(k);let{body:y,loc:R}=pc(k?t.get(k):f.inline,f.msg),T=p.length?p.join("::"):"(collection)";c.push({file:d,name:f.kind==="ERROR"?`${T} [error]`:T,loc:R,body:y})}for(let[f,d]of t){if(l.has(f))continue;let{body:p,loc:m}=pc(d,null);c.push({file:m?m.replace(/:\d+$/,""):null,name:f,loc:m,body:p})}if(c.length===0)for(let f of e){let d=/^(\S+?)::(\S+) (FAILED|ERROR)\b/.exec(f);d&&c.push({file:d[1],name:d[3]==="ERROR"?`${d[2]} [error]`:d[2],loc:null,body:[]})}return{failures:c,summary:r,reported:a,counted:c.length}}function My(e,t){return e.length===0?!1:e.every(n=>{let r=n.text.trim();if(!/^[-+]/.test(r))return!1;let s=r.slice(1).trim().replace(/,$/,"");return s.length>0&&t.includes(s)})}function Fy(e,t,n){let r=gc[n],s=e.body.filter(d=>d.kind==="msg");if(!t)return s.length?[` ${s[0].text}`]:[];let o=e.body.filter(d=>d.kind==="diff"),i=r.trimDiff&&My(o,s.map(d=>d.text).join(`
|
|
71
|
-
`)),a={msg:0,legend:0,diff:0,frame:0,code:0,out:0},l={msg:0,legend:0,diff:0,frame:0,code:0,out:0},c={msg:r.msg,legend:1/0,diff:r.diff,frame:r.frames,code:r.code?1:0,out:r.out},u=[];for(let d of e.body){if((d.kind==="diff"||d.kind==="legend")&&i||d.kind==="diff"&&r.changedOnly&&!/^[-+]/.test(d.text.trim()))continue;let p=d.kind==="legend"?"diff":d.kind;if(a[p]>=c[p]&&d.kind!=="legend"){l[p]+=1;continue}d.kind!=="legend"&&(a[p]+=1),u.push(d.kind==="frame"?` at ${d.text}`:` ${d.text}`)}let f=l.msg+l.diff+(n==="normal"?l.frame+l.out:0);return f>0&&u.push(` ${St(f)}`),u}function
|
|
72
|
-
`)}}),i=[],a,l=null;for(let c=0;c<o.length;c++){let u=o[c];u.f.file!==a&&(a=u.f.file,a&&i.push(a));let f=c;if(!u.full&&u.f.loc===null)for(;f+1<o.length;){let p=o[f+1];if(p.full||p.f.loc!==null||p.f.file!==u.f.file||p.body!==u.body)break;f+=1}i.push(f>c?`\xD7 ${
|
|
69
|
+
`),r=0;for(let s of n)if(s.trim()!==""){if(!xy.test(s))return null;r+=1}return r<2?null:`tsc: 0 errors, ${r} files${t?`
|
|
70
|
+
`:""}`}var xy,Sy,mc=g(()=>{"use strict";xy=/^(?:[A-Za-z]:)?[^\s"'<>|]+\.(?:[cm]?[jt]sx?|json)$/,Sy=/--(?:listFiles|listFilesOnly|listEmittedFiles|showConfig|explainFiles|traceResolution)(?:\s|=|$)/});function Et(e,t){let n=null;for(let r of e){let s=t.exec(r);s&&(n=(n??0)+Number(s[1]))}return n}function Xn(e){return vy.test(e)}function Qn(e,t,n){return n===null?t:(t!==n&&!e.some(r=>r.kind==="frame"&&r.text===t)&&e.push({kind:"frame",text:t}),n)}function Ns(e,t=()=>!1){let n=[],r=null,s=-1,o=!1;for(let f of e){let d=f.trimEnd(),p=d.trim();if(!p||$y.test(d)||/^─+$/.test(p))continue;if(t(p)){o=!0,n.push({kind:"out",text:p.replace(/\s*─+$/,"")});continue}if(o){n.push({kind:"out",text:p});continue}let m=Ey.exec(d)??Ty.exec(d);if(m){s=-1;let y=m[1].replace(/^file:\/\//,"");Xn(y)||(r=Qn(n,`${y}:${m[2]}${m[3]?`:${m[3]}`:""}`,r));continue}let b=Ry.exec(d);if(b){s=-1,n.push({kind:"code",text:p,num:Number(b[2]),pointed:b[1]===">"});continue}if(Ay.test(p)){s=n.length,n.push({kind:"legend",text:p});continue}n.push(s>=0?{kind:"diff",text:d,segment:s}:{kind:"msg",text:p})}let i=n.some(f=>f.kind==="code"&&f.pointed),a=r?Number(/:(\d+)(?::\d+)?$/.exec(r)?.[1]):NaN,l=!1,c=n.filter(f=>{if(f.kind!=="code")return!0;let d=!l&&(i?f.pointed===!0:f.num===a);return d&&(l=!0),d}),u=new Map;for(let f of c){if(f.kind!=="diff")continue;let d=f.text.length-f.text.trimStart().length;u.set(f.segment,Math.min(u.get(f.segment)??d,d))}for(let f of c)f.kind==="diff"&&(f.text=f.text.slice(u.get(f.segment)??0)),f.kind==="code"&&(f.text=f.text.replace(/^>\s*/,""));return{body:c,loc:r}}function q(e,t=!1){return{text:e.trim().replace(/\s{2,}/g," "),minor:t}}function Cy(e){if(!e.some(l=>/^⎯+ Failed (?:Tests|Suites) \d+ ⎯+$/.test(l.trim())||/^\s*Test Files\s{2,}\d/.test(l)||/^ ?FAIL\s+\S+ > /.test(l)))return null;let t=Et(e,/^\s*Tests\s+(\d+) failed/),n=[];for(let l of e)/^\s*Test Files\s{2,}\S/.test(l)?n.push(q(l,!0)):/^\s*(?:Tests|Errors|Type Errors)\s{2,}\S/.test(l)&&n.push(q(l));let r=[],s=0,o=[],i=[],a=()=>{if(o.length){let{body:l,loc:c}=Ns(i);for(let u of o)u.body=l,u.loc=c}o=[],i=[]};for(let l of e){let c=l.trim(),u=/^ ?FAIL\s+(\S.*?)\s*$/.exec(l);if(u){i.some(y=>y.trim())&&a();let d=u[1],p=/^(\S+) \[ \S+ \]$/.exec(d),m=d.split(" > "),b=p?{file:p[1],name:"(suite)",loc:null,body:[]}:m.length>1?{file:m[0],name:m.slice(1).join(" > "),loc:null,body:[]}:{file:null,name:d,loc:null,body:[]};p||(s+=1),r.push(b),o.push(b);continue}let f=/^⎯+ (Unhandled [A-Za-z ]+?) ⎯+$/.exec(c);if(f){a();let d={file:null,name:f[1],loc:null,body:[]};r.push(d),o.push(d);continue}if(/^⎯{3,}/.test(c)||/^(?:Test Files|Tests|Start at|Duration|Errors)\s{2,}/.test(c)){a();continue}o.length&&i.push(l)}if(a(),s===0){let l=null;for(let c of e){let u=/^\s*[❯✓×✗]\s+(\S+)\s+\(\d+ tests?\b/.exec(c);if(u){l=u[1];continue}let f=/^\s+[×✗]\s+(.+?)(?:\s+\d+(?:\.\d+)?m?s)?$/.exec(c);f&&(r.push({file:l,name:f[1],loc:null,body:[]}),s+=1)}}return{failures:r,summary:n,reported:t,counted:s}}function Oy(e){if(!e.some(u=>/^\s{2}● (?!Console$)/.test(u))||!e.some(u=>/^Tests:\s/.test(u)||/^(?:FAIL|PASS)\s+\S/.test(u)))return null;let t=Et(e,/^Tests:\s+(\d+) failed/),n=[];for(let u of e)/^Test Suites:\s/.test(u)?n.push(q(u,!0)):(/^Tests:\s/.test(u)||/^Snapshots:\s/.test(u)&&/failed|obsolete/.test(u))&&n.push(q(u));let r=[],s=new Set,o=0,i=null,a=null,l=[],c=()=>{if(a){let u=`${a.file}\0${a.name}`;if(!s.has(u)){s.add(u);let{body:f,loc:d}=Ns(l);a.body=f,a.loc=d,r.push(a),a.name!=="Test suite failed to run"&&(o+=1)}}a=null,l=[]};for(let u of e){let f=/^(?:FAIL|PASS)\s+(\S+)/.exec(u);if(f){c(),i=f[1];continue}if(/^(?:Summary of all failing tests|Test Suites:|Tests:|Snapshots:|Time:|Ran all test suites)/.test(u)){c();continue}let d=/^\s{2}● (.+)$/.exec(u);if(d){c(),d[1].trim()!=="Console"&&(a={file:i,name:d[1].trim(),loc:null,body:[]});continue}a&&l.push(u)}return c(),{failures:r,summary:n,reported:t,counted:o}}function _c(e,t,n,r,s){let o=[],i=new Map,a=null;for(let l=t;l<n;l++){let c=e[l],u=/^\s{2}\d+\) (.+)$/.exec(c);if(u){let{name:f,used:d}=r(u[1],e.slice(l+1,Math.min(n,l+8)));l+=d,a=i.get(f)??null,a||(a=[],i.set(f,a),o.push({file:null,name:f,loc:null,body:[]}));continue}/^\s+Retry #\d+ ─*/.test(c)||a&&a.push(c)}for(let l of o){let{body:c,loc:u}=Ns(i.get(l.name),s);l.body=c,l.loc=u}return o}function Iy(e){let t=e.findIndex(o=>/^\s*\d+ failing$/.test(o));if(t<0)return null;let n=Number(/(\d+)/.exec(e[t])[1]),r=e.filter(o=>/^\s*\d+ (?:passing|failing|pending)(?: \(\S+\))?$/.test(o)).map(o=>q(o.replace(/ \(\S+\)\s*$/,""))),s=_c(e,t+1,e.length,(o,i)=>{let a=[o.trim()],l=0;for(;!a[a.length-1].endsWith(":")&&l<i.length&&i[l].trim();)a.push(i[l].trim()),l+=1;return a[a.length-1].endsWith(":")?{name:a.join(" \u203A ").replace(/:$/,""),used:l}:{name:o.trim(),used:0}});return{failures:s,summary:r,reported:n,counted:s.length}}function Py(e){let t=e.findIndex(a=>/^\s{2}\d+\) .*›.*─{3,}\s*$/.test(a));if(t<0)return null;let n=e.findIndex((a,l)=>l>t&&/^\s{2}\d+ (?:failed|flaky|passed|skipped|interrupted|did not run)(?: \(.+\))?$/.test(a)),r=n<0?e.length:n,s=Et(e.slice(r),/^\s{2}(\d+) failed$/),o=e.slice(r).filter(a=>/^\s{2}\d+ (?:failed|flaky|passed|skipped|interrupted|did not run)(?: \(.+\))?$/.test(a)).map(a=>q(a.replace(/ \([\d.]+m?s\)\s*$/,""))),i=_c(e,t,r,a=>({name:a.replace(/\s*─+\s*$/,"").trim(),used:0}),a=>/^attachment #\d+:/.test(a));return{failures:i,summary:o,reported:s,counted:i.length}}function Ny(e){if(!e.some(i=>/^test result: /.test(i))||!e.some(i=>/^---- .+ stdout ----$/.test(i)))return null;let t=Et(e,/^test result: FAILED\. \d+ passed; (\d+) failed/),n=[];for(let i of e)/^test result: FAILED/.test(i)?n.push(q(i.replace(/; finished in [\d.]+m?s\s*$/,""))):/^test result: ok/.test(i)?n.push(q(i.replace(/; finished in [\d.]+m?s\s*$/,""),!0)):/^error(?:\[\w+\])?: /.test(i)&&n.push(q(i));let r=[],s=null,o=[];for(let i of e){let a=/^---- (.+?) stdout ----$/.exec(i);if(a){s={f:{file:null,name:a[1],loc:null,body:[]},lines:[]},o.push(s),r.push(s.f);continue}if(/^failures:$|^test result: |^running \d+ tests?$/.test(i)){s=null;continue}s&&s.lines.push(i)}for(let{f:i,lines:a}of o){let l=!1,c=!1;for(let u of a){let f=u.trimEnd(),d=f.trim();if(!d)continue;let p=/^thread '.+?'(?: \(\d+\))? panicked at (?:'(.*)', )?(\S+?):(\d+):(\d+):?$/.exec(d);if(p){l=!0,i.loc??=`${p[2]}:${p[3]}:${p[4]}`,p[1]&&i.body.push({kind:"msg",text:p[1]});continue}if(!/^note: run with `RUST_BACKTRACE/.test(d)){if(/^stack backtrace:$/.test(d)){c=!0;continue}if(c){let m=/^at\s+(\S+?):(\d+):(\d+)$/.exec(d);m&&!Xn(m[1])&&(i.loc=Qn(i.body,`${m[1]}:${m[2]}:${m[3]}`,i.loc));continue}i.body.push(l?{kind:"msg",text:f}:{kind:"out",text:f})}}}return{failures:r,summary:n,reported:t,counted:r.length}}function Dy(e){if(!e.some(a=>/^\s*--- FAIL: \S/.test(a)))return null;let t=new Map,n=[],r=new Map,s=[],o=null,i=null;for(let a of e){let l=/^=== (?:RUN|CONT|PAUSE|NAME)\s+(\S+)/.exec(a);if(l){o=l[1],i=null;continue}let c=/^\s*--- FAIL: (\S+) \([\d.]+m?s\)/.exec(a);if(c){i={file:null,name:c[1],loc:null,body:[]},r.set(i,[...t.get(c[1])??[]]),n.push(i),o=null;continue}if(/^\s*--- (?:PASS|SKIP): /.test(a)){i=null,o=null;continue}let u=/^(FAIL|ok)\s+(\S+)(?:\s+(?:[\d.]+m?s|\(cached\)|\[[^\]]+\]))?/.exec(a);if(u&&/\t|\s{2,}|\[/.test(a)){s.push(q(a.replace(/\s+[\d.]+m?s\s*$/,""),u[1]==="ok")),i=null,o=null;continue}if(!/^(?:FAIL|PASS)$/.test(a.trim())){if(/^exit status \d+$/.test(a)){s.push(q(a,!0));continue}if(i)r.get(i).push(a);else if(o){let f=t.get(o)??[];f.push(a),t.set(o,f)}else(/^#\s\S+$/.test(a)||/^\S+\.go:\d+(?::\d+)?: /.test(a))&&s.push(q(a))}}for(let a of n){for(let l of r.get(a)){let c=l.trim();if(!c||/^goroutine \d+ \[/.test(c))continue;let u=/^(\/\S+\.go|\S+\.go):(\d+)(?: \+0x[0-9a-f]+)?$/.exec(c);if(u){Xn(u[1])||(a.loc=Qn(a.body,`${u[1]}:${u[2]}`,a.loc));continue}/^(?:[\w.*/()-]+)\(.*\)$/.test(c)||/^created by /.test(c)||a.body.push({kind:"msg",text:c})}a.loc&&a.body.some(l=>l.kind==="msg"&&/^\S+\.go:\d+: /.test(l.text))&&(a.body.unshift({kind:"frame",text:a.loc}),a.loc=null)}return{failures:n,summary:s,reported:null,counted:n.length}}function gc(e,t){let n=[],r=null,s=!1,o=!1;for(let l of e){let c=l.trimEnd(),u=c.trim();if(/^-{3,} Captured .+ -{3,}$/.test(u)){s=!0;continue}if(s){u&&n.push({kind:"out",text:c});continue}if(/^E(?:\s|$)/.test(c)){c.slice(1).trim()&&n.push({kind:"msg",text:c});continue}let f=/^(\S+?\.py):(\d+):(?: (.*))?$/.exec(c);if(f){if(!Xn(f[1])){let d=f[3]?.startsWith("in ")?` ${f[3]}`:"";r=Qn(n,`${f[1]}:${f[2]}${r===null?"":d}`,r)}continue}/^>\s/.test(c)&&!o&&(o=!0,n.push({kind:"code",text:u.replace(/^>\s*/,"")}))}let i=n.filter(l=>l.kind==="msg"),a=Math.min(...i.map(l=>l.text.slice(1).length-l.text.slice(1).trimStart().length));for(let l of i)l.text=`E ${l.text.slice(1+a)}`;return t&&!i.some(l=>l.text.includes(t.replace(/\.\.\.$/,"")))&&n.unshift({kind:"msg",text:t}),{body:n,loc:r}}function yc(e,t){return t.push(q(e.replace(/ in [\d.]+s(?: \([\d:]+\))?$/,""))),(Et([e],/(\d+) failed/)??0)+(Et([e],/(\d+) errors?\b/)??0)}function My(e){if(!e.some(f=>/^={3,} (?:FAILURES|ERRORS|short test summary info) ={3,}$/.test(f)||hc.test(f)))return null;let t=new Map,n=[],r=[],s="",o=null,i=null,a=null;for(let f of e){let d=/^={3,} (.+?) ={3,}$/.exec(f);if(d){s=d[1],o=null,i=null,!/^(?:FAILURES|ERRORS|short test summary info|warnings summary|test session starts|PASSES)$/.test(s)&&/\b\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)\b|no tests ran/.test(s)&&(a=yc(s,r));continue}if(/^(?:\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)(?:, |\s|$))+(?:in [\d.]+s(?: \([\d:]+\))?)?$/.test(f.trim())){a=yc(f.trim(),r);continue}if(/^!{3,} .+ !{3,}$/.test(f)){r.push(q(f.replace(/^!+ | !+$/g,"")));continue}let p=/^_{3,} (.+?) _{3,}$/.exec(f);if(p&&(s==="FAILURES"||s==="ERRORS")){o=[],t.set(p[1],o);continue}let m=hc.exec(f);if(m&&s!=="FAILURES"&&s!=="ERRORS"){o=null;let b={kind:m[1],id:m[2],msg:m[3]??null,inline:[]};n.push(b),i=b;continue}if(o){o.push(f);continue}i&&/^E(?:\s|$)/.test(f)?i.inline.push(f):i&&f.trim()&&(i=null)}let l=new Set,c=[],u=new Set;for(let f of n){if(u.has(f.id))continue;u.add(f.id);let[d,...p]=f.id.split("::"),m=p.join("."),b=[m,`ERROR collecting ${f.id}`,`ERROR at setup of ${m}`,`ERROR at teardown of ${m}`].find(P=>P&&t.has(P)&&!l.has(P));b&&l.add(b);let{body:y,loc:$}=gc(b?t.get(b):f.inline,f.msg),T=p.length?p.join("::"):"(collection)";c.push({file:d,name:f.kind==="ERROR"?`${T} [error]`:T,loc:$,body:y})}for(let[f,d]of t){if(l.has(f))continue;let{body:p,loc:m}=gc(d,null);c.push({file:m?m.replace(/:\d+$/,""):null,name:f,loc:m,body:p})}if(c.length===0)for(let f of e){let d=/^(\S+?)::(\S+) (FAILED|ERROR)\b/.exec(f);d&&c.push({file:d[1],name:d[3]==="ERROR"?`${d[2]} [error]`:d[2],loc:null,body:[]})}return{failures:c,summary:r,reported:a,counted:c.length}}function Ly(e,t){return e.length===0?!1:e.every(n=>{let r=n.text.trim();if(!/^[-+]/.test(r))return!1;let s=r.slice(1).trim().replace(/,$/,"");return s.length>0&&t.includes(s)})}function jy(e,t,n){let r=kc[n],s=e.body.filter(d=>d.kind==="msg");if(!t)return s.length?[` ${s[0].text}`]:[];let o=e.body.filter(d=>d.kind==="diff"),i=r.trimDiff&&Ly(o,s.map(d=>d.text).join(`
|
|
71
|
+
`)),a={msg:0,legend:0,diff:0,frame:0,code:0,out:0},l={msg:0,legend:0,diff:0,frame:0,code:0,out:0},c={msg:r.msg,legend:1/0,diff:r.diff,frame:r.frames,code:r.code?1:0,out:r.out},u=[];for(let d of e.body){if((d.kind==="diff"||d.kind==="legend")&&i||d.kind==="diff"&&r.changedOnly&&!/^[-+]/.test(d.text.trim()))continue;let p=d.kind==="legend"?"diff":d.kind;if(a[p]>=c[p]&&d.kind!=="legend"){l[p]+=1;continue}d.kind!=="legend"&&(a[p]+=1),u.push(d.kind==="frame"?` at ${d.text}`:` ${d.text}`)}let f=l.msg+l.diff+(n==="normal"?l.frame+l.out:0);return f>0&&u.push(` ${St(f)}`),u}function Hy(e){let t=e[0];for(let r of e)for(;!r.startsWith(t);)t=t.slice(0,-1);t=t.slice(0,Math.max(...["_",":",".","/"," ","\u203A","-","[","("].map(r=>t.lastIndexOf(r)))+1);let n=e.map(r=>r.slice(t.length));return t.length>=3&&n.every(r=>r.length>0&&!/[{},\s]/.test(r))?`${t}{${n.join(",")}}`:e.join(", ")}function By(e){if(!e.loc)return`\xD7 ${e.name}`;let t=e.file&&e.loc.startsWith(`${e.file}:`)?e.loc.slice(e.file.length):e.loc;return`\xD7 ${e.name} ${t}`}function zy(e,t){let n=kc[t],r=new Map,s=e.failures.length>n.bulk,o=e.failures.map(c=>{let u=c.body.find(p=>p.kind==="msg")?.text??"",f=(r.get(u)??0)+1;r.set(u,f);let d=u===""||!s||f<=n.repeats;return{f:c,full:d,body:jy(c,d,t).join(`
|
|
72
|
+
`)}}),i=[],a,l=null;for(let c=0;c<o.length;c++){let u=o[c];u.f.file!==a&&(a=u.f.file,a&&i.push(a));let f=c;if(!u.full&&u.f.loc===null)for(;f+1<o.length;){let p=o[f+1];if(p.full||p.f.loc!==null||p.f.file!==u.f.file||p.body!==u.body)break;f+=1}i.push(f>c?`\xD7 ${Hy(o.slice(c,f+1).map(p=>p.f.name))}`:By(u.f)),c=f;let d=o[c+1];d&&d.f.file===u.f.file&&d.body===u.body||u.body&&(u.body===l&&t!=="normal"?i.push(" \u2191 same error"):(i.push(u.body),l=u.body))}for(let c of e.summary)(!c.minor||t==="normal")&&i.push(c.text);return`${i.join(`
|
|
73
73
|
`)}
|
|
74
|
-
`}function
|
|
75
|
-
`).map(r=>{let s=r.endsWith("\r")?r.slice(0,-1):r;return s.includes("\r")?s.slice(s.lastIndexOf("\r")+1):s});for(let r of
|
|
74
|
+
`}function wc(e,t="normal"){let n=de(e).split(`
|
|
75
|
+
`).map(r=>{let s=r.endsWith("\r")?r.slice(0,-1):r;return s.includes("\r")?s.slice(s.lastIndexOf("\r")+1):s});for(let r of Fy){let s=r(n);if(!(!s||s.failures.length===0))return s.counted===0||s.reported!==null&&s.counted<s.reported?null:zy(s,t)}return null}var bc,kc,vy,Ey,Ty,Ry,$y,Ay,hc,Fy,xc=g(()=>{"use strict";tn();_s();bc=/^(?:(?:npx|bunx|pnpm(?:\s+(?:exec|dlx))?|yarn(?:\s+exec)?|uv\s+run|poetry\s+run|pipenv\s+run|hatch\s+run|python3?\s+-m)\s+)?(?:\S*\/)?(?:vitest|jest|mocha|pytest|py\.test|playwright\s+test)(?:\s|$)|^(?:npm|pnpm|yarn|bun)\s+(?:run\s+)?(?:test|t)(?:[:-]\S+)?(?:\s|$)|^cargo\s+test(?:\s|$)|^go\s+test(?:\s|$)/,kc={normal:{msg:40,diff:60,frames:6,code:!0,out:20,bulk:50,repeats:10,trimDiff:!1,changedOnly:!1},compact:{msg:12,diff:24,frames:2,code:!1,out:5,bulk:20,repeats:2,trimDiff:!0,changedOnly:!1},minimal:{msg:6,diff:8,frames:0,code:!1,out:0,bulk:10,repeats:1,trimDiff:!0,changedOnly:!0}},vy=/node_modules|^node:|^internal\/|site-packages|dist-packages|\/lib\/python\d|\/rustc\/|\.cargo\/registry|\.rustup\/|\/go\/src\/|\/go\/pkg\/mod\/|\/libexec\/src\/|<anonymous>/,Ey=/^\s*at\s+(?:.*?\()?((?:file:\/\/)?[^\s()]+?):(\d+)(?::(\d+))?\)?\s*$/,Ty=/^\s*❯\s+(?:\S+\s+)?([^\s]+?):(\d+)(?::(\d+))?\s*$/,Ry=/^\s*(>)?\s*(\d+)\s*\|/,$y=/^\s*\|\s*[\^~]+\s*$/,Ay=/^(?:- Expected|\+ Received|- Snapshot|\+ expected - actual|\+ actual - expected|- expected \+ actual)(?:\s+[-+]\s*\d+)?$/;hc=/^(FAILED|ERROR) (\S+?\.py(?:::\S+)?)(?: - (.*))?$/;Fy=[Ny,Dy,My,Oy,Cy,Iy,Py]});import{createCipheriv as CE,createDecipheriv as Uy,hkdfSync as Zy,randomBytes as OE}from"node:crypto";function Wy(e){return Buffer.from(Zy("sha256",Buffer.from(e,"utf8"),Gy,Jy,32))}function er(e,t){let n=Wy(t),r=Buffer.from(e,"base64url"),s=r.subarray(0,12),o=r.subarray(12,28),i=r.subarray(28),a=Uy("aes-256-gcm",n,s);return a.setAuthTag(o),Buffer.concat([a.update(i),a.final()]).toString("utf8")}var Gy,Jy,Ds=g(()=>{"use strict";Gy=Buffer.from("tokmizer-bundle-enc-v1"),Jy=Buffer.from("rules-bundle")});import{createRequire as Ky}from"node:module";function qy(){let e="0.9.61";if(e)return e;for(let t of["../package.json","../../package.json"])try{let n=Vy(t).version;if(typeof n=="string"&&n)return n}catch{}return"0.0.0"}function Sc(e,t){if(!e||!t)return!1;let n=e.split(".").map(s=>parseInt(s,10)),r=t.split(".").map(s=>parseInt(s,10));for(let s=0;s<3;s+=1){let o=n[s]??0,i=r[s]??0;if(Number.isNaN(o)||Number.isNaN(i))return!1;if(o<i)return!0;if(o>i)return!1}return!1}var Vy,rn,tr=g(()=>{"use strict";Vy=Ky(import.meta.url);rn=qy()});var vc,Ec=g(()=>{"use strict";vc=`-----BEGIN PUBLIC KEY-----
|
|
76
76
|
MCowBQYDK2VwAyEAj/kMlXlhTIGHRKxOKMuGFa1S1ybxxwgdYcAE0YM9fgU=
|
|
77
77
|
-----END PUBLIC KEY-----
|
|
78
|
-
`});import{existsSync as
|
|
79
|
-
`)});function
|
|
80
|
-
`)}var JE,Ns=g(()=>{"use strict";tr();xc();on();JE=300*1e3});import{chmodSync as VE,readFileSync as eb,writeFileSync as qE,mkdirSync as YE,renameSync as XE}from"node:fs";import{join as tb}from"node:path";function rb(){return tb(S(),"bundle-cache.json")}function vc(){try{let e=eb(rb(),"utf8"),t=nb.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}var nb,Ec=g(()=>{"use strict";kt();L();nb=b.object({payload:b.string().min(1),signature:b.string().min(1),enc:b.literal("v1"),fetchedAt:b.number().int().nonnegative()})});import{createPublicKey as ob,verify as ib}from"node:crypto";function lb(){let e=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(e)&&e>0?e:ab}function cb(e,t){let n=Sc();if(!n||!n.includes("BEGIN PUBLIC KEY"))throw new Error("tkr-daemon: no valid signing public key configured (set TOKMIZER_RESP_SIGNING_PUBLIC_KEY_PEM at build time).");let r=ob({key:n,format:"pem"});if(!ib(null,Buffer.from(e.payload,"utf8"),r,Buffer.from(e.signature,"base64url")))throw new Error("tkr-daemon: rules bundle signature invalid");return JSON.parse(er(e.payload,t))}function ub(e,t){let n=cb(e,t),r=Ds.parse(n);if(Date.now()-r.signedAt>lb())throw new Error("tkr-daemon: rules bundle is stale");return Ms(r,{signedAt:r.signedAt,fetchedAt:Date.now()})}function Ms(e,t){let n=new Map;for(let r of e.filters)n.set(r.slug,{...r,matchRegex:new RegExp(r.match_command)});return{bundleVersion:e.bundleVersion,signedAt:t.signedAt,ruleCount:n.size,startedAt:Date.now(),fetchedAt:t.fetchedAt,selectFor:(r,s,o)=>xt(r,n.values(),o?new Set(o):null,n)}}async function Tc(){try{let e=vc();if(!e)return null;let t=await Le();return t?.signingSecret?ub(e,t.signingSecret):null}catch{return null}}var Ds,dT,ab,Fs=g(()=>{"use strict";kt();Yt();zn();Mt();Ns();Ps();Ec();Ds=b.object({bundleVersion:b.number().int().nonnegative(),signedAt:b.number().int(),filters:b.array(Ie)}),dT=b.object({payload:b.string().min(1),signature:b.string().min(1),enc:b.literal("v1")}),ab=10080*60*1e3});function $c(){let e="2DlNe3IoL_nqC-B3EtLBsvf7_ZOoPq_4AnVBH4KYFlIZqTz8RA-ClUHaatjbGGVbTKJZ78v364A87lhATRYVTRlrlT2_4LkDPtAfc_DdPoxOItN83C29geHyySG4JIApEsLQ4wpWhVDeSbZmgswd9HMgLNU8iM2fz_09KM_bITXWe4eJT5d46EgVk3g2JzwW8gMp6rbkzeo7Hf4MyXh_d0y5ZYYgfIL6Ea_pMoaj1l2S4B3zVFuHMarOm2rwGBly0WXRvMjkSZU7gN79yZ_a02QlYvz3IVPT8rwWSxHYJA87uUJL11UgCpmRMjHaFk9dXS9f3MVG2ljmVLp7qBVYgs3E17_NVb2U8pFPaFBUO_9LiYcs3Jfpg-sLy2vwvpnxcmQ-FAoYmlrv2tvKBBgHhVbFMqgfobEek331oWIKRALFg56es_SruASFEtP_IWfoyA1P9F_vsmGHjT_nxHMW8lUvva5afHDghQY_kqSWLCLUMwakt5fx4efdvpUr4i76jOVRCWIfnQfwqsp9UQqOvYQHoLk98dSme4S7A47pfWK-Bu11nJxVqZl4hKWtGwD3ZogFmY7v5iBhTH6Fx5Uja5ftt-BN_FRLvS5vMzgVhi2SZ-JVwxFPQNHl7s-7cKxyeOHpGVy-SfMGMolwLZSG-usn7PTHZlN32aaBidaNKXfKf7D1x4_FpdLBcKxGMguUrN5oGsfa9X-Lxm5lZ8vty0X-t9nMwsb-P2cDplQXdzsphoEroOwgBSVGVjbqM6IqRG7ObjKww7UmRcMzEfipcIRboSHaKySHazhva3zyqE-oqIKAGeas188tv7XiVEHKWNTTuKZ8GdvhrZUfAfij0QR4y4a5GoD2g0lASo50oukh4TnpaF1w_cHze7hTjZZnnxu0QIpuyuUokLiMQ5f7qZxhfr3fC1JF75eCfRvCDQXtOpq2GHphirg1lsXrTVWv8QF5Ju1hB4Tv7c3BVxjP7VRIjeD4Vk9OHEj-i1CWv8AYWoSvUwhhbwzIrXbdWGictV0d0mCZFtePSmJTQ9g5_DFn1mKVyvZioETlfratzyFc0e5cG7TO7TWxiEqJVb2YMJsnzzNoPIaGjHpd3D_DpWjr3Ja1EwhV-PbxI8VXkIHTVAYBBPos5-qlhmDluOxrcrcFDQufwHsXI_cHcgkjsiV2a6aB4mlHHzLIeu-T4AZTgiov8yj9G_ZhP3UVxLMOYBfPcY2tHdHfiG4WY82n9FmZ48B2nVGDCQQFqROC0_5tuvS4fsWwy9dU383VWI67K9jfLLa0yLc8RYG_8oSwQrB4viX62SX61up7yIo-AEe1qUbaGh3jZRWkRTkDikzQv9_-vH9G_nIeoGxtFRA-fNryDW6-m5iMXsgwbYwXdBFV8G0hAA09xf9v8k_SwRS-SOtY08zoqzL1WJV8DIF5wYwgdzPYN06NAsA91OfY5-ioAtxnKGhESnMPdmyhmn0KQfuVt5XG816m524MNr2h5iEfHVKoXBbN51Q3wNfAcA4UhTty2jdqcbvTAxskYuwYKAKphRKj-NpcyZyO9zXiN-vpoq56Xod9A2izjmpDlvzF597qDGAWTEggUpESQHY3lwOw082EHDmFfZCvEA9DDRjoZ4q7OopkdUMmhZ2b7SNMKigNaJUxdjZ8jiWVfEgFbhz90I4hp6t-qVrhrtmJgddxDxseOaw08aAmIKmDPo3EhQKr-g6EKdmfbpTEm4qiTPB3QSMLmcd_xZugadjtIJIier67lkldxIaQiyQYHHr-XI2lJVp298_KMMlVQ5yh1b4E-sis_DQCugwNkVIPkayKULTz2oJBAkOpe9DJifldkPpikQjoiSBDidC4BChmcM8cQarHr_vBQRWL7by_xIXUq-MTj6XWp8gMPuCSbUwl_d16kpa6fzWAASkHCbWsOVinuL3IGZSDfF-ch4XdcBkLBUMARxWNOMPKCWc3GYlf-8VXpIzxQrbST1EC8IcTHsTmerWS2gvR5gbIJHh0c-sa1OQqMQ7thaNRsbdhc1WkE5NjOyXAczDiQQNn9uIl-3XQQQ0-NBVsK5qseprbbMCnkyE45BIDFUSqb5wjyeT5HLD9RVp-ksin3j7xjLLLHURa1rDzQDevPaAyJ5OTG7amiLiNztpLsPBtMmAL37xNbwQT4o8xNrFvDWg8NtwXGjAIYbd29chaqgDcQ213lnkdJ-kjUuB4ABuj1-iit9ojETk5RGyvhuOYpWd2xPdXVd5af8XY7V90ELxMO3IQli20FMijo1ESEfjmSGabvxiXkZgX91JNvdPY_ubRJhbMA0qer0dzMMgsLARquI2YqcwNyKOXz49KHtIWOjc_T7xS3fkvVh1G71gAtc_IiaVIACgeNO0JWgPd3kNzxuIPQ78UqyqlwXS0PgIvcubK-5tFjRYpqsPg8CCgqCRmOtO013EJETGkQUfrOojlTvCgxz10qPcdYFiE7kHUracs8vCx_tEUmTuU8ubUfpsvPsSgUm7A1lubxIXPYHvORPkqFmrUUVF5iAdvOixbiUT6_QGxHOWX-MmJ8m6WvD-03UlNcvLysrza1cdzkl3uhgtgv0NtrH84PdvRrs2ExJlyZYnniAFu0r8gHw2UeaK698PgNrKPuEioUl_xViXwe9iamc-6j7P9r7uuAICTe-vabTz-8hrymUknrVxdH7luUkX3ul0IGGRhvQ_HBIAg9SoW8DlsR7j0ZsSUrOZa_DkJkQYSfifbKOJf_3882StJOJsT8G2NyvrkcQW8sVkkLnyXI6idY8fLr1YGlZaSzwIXrK-u5b6mRUC2kjRWANXgXuKmnT3oQk2jUyzw3dRMcvhf9OqlbOagbE0n-JCgeu_Vp8QxUd1DrN9g7vjFo-kf_RqCUn1MphpZ_SvGl7Ypt_Ml2sVyHiHFHCXi3y5synGOx14Za-pdJG-mn-kT6RQ2SOJNvYQHLr5RBsaYY7UA9ocqd4XWu2swo_uv4Re7beyZnStrW2Ieu_K-ukOcHZ6Dl1DzoTEDnOrxR1YaFlUur15LKNgGOh3Rkw5BTtUjYbRQUvvdnm2SActQaV4wC8ppKaOoDt421v5DwrOtOmATIOjAw-EVW0_13gAgf2MhCVUKYm8TNYccX5Eu7oYlQduoRarhSd5htZXB00znFbDPSMQ7e4IDFE_z4hrwPpqHAN_YJsZ7ZYcN_rTJME-bpPrbM4B7Wp5L7p3YMN_RaGkrnH5s7J8sEnJ5vAZISHmFgoeCq356QUrj5NIYjO_JqSzPgYYoA4zDxvXF26zm9WRKNUYFEcxAIVCiFGIznu6hesl09UrVQNlFuwv2p1uq8JJemKcu7k8H4E7K3pAQ_ZXWdQ1WyV3oRA8c9KMX2Bu_HSkepC30JdlPMLieQWD8Fgi4isEzJ5axxpWInRB4O-i43xmmQQ-H28KJ13B7ohLfeLQvCauMH-5NSAdTYTgEM8vuyugm-q2yjgkpSe8CEgdRkygeE37FQqgiTQVmyeqEv7sZfW3c523yTFdbUgmgJaGW1kUvJ2yWkbV8_LIzOyohfVJ30ALx-T2KPmB7AFKHUiYCyT3fJbVWvzbla9HFYtsKss1NWAGSYPDeA7a6PkMpFv6nbeX_HQlMVcujuci9c11MxZTOEaDrQ5Sc4GsDqBEdEsf6FX8kpONCiSF_XZSqJ_roN4aYRVMPoHw1I28_AbrCA2Kv8HVd2YkIQm-iufHUkA3sq-W8FTVPJV8rgDZf8D0pjmhHnZov-7dy-uLCTvxDRu8Ymaix8cI4l5peICeTDNNWXZ8lPCMLCT_3qy0_vLtm4EuRpyVmeDvJqxMuSyn8cKbM4Jz_Fneu0n6YTsq01DYr8eTcrphkYg7lIUSobi7TvTdykE0py4-ns2DHcz90bmKpEoAEhnrk7Jq6aCUt3nE29HeFL_a3bp7pyUz0kxtXbMvYABpqEEgdl7BobiBZrokKyR5BgopSmp0gvMDAdsbUc6Tsby84yxGyyyuJtnAtKV7-4vuQAGmZp-p7E1hc1HHg3rLlIIBX2wrnppmJYe50Sot7EzpDWRWJK06qnUm0c9fUhSIWkgg-LPPugSqlFytTdAOnJjWCcnhl8f8xy6heASGVIRWoUQolqvlu5o9LRiB9lxkULFJRkC1yztZTQOB4Zf9UHqQUt4uYvUV4kUGAHlbnnZ2yaaCG9M0uQRyFrWg_AvSht0MGHzg9Dgmx5PdsSImh8EMuElwvMqX1cay5pc-P0pqAa5qufM3otX9RlnsEbGMC2N6ISqL4O7R2AoGzQsNJ-jfFe59k_HEqdqI0cJUiUW0y-agR_m5GxNaGb6BnYjh3G3PBg4nlfdwfYx7a7Eo3WL2Om-Cu0RoXTUqBtWxUCb28Hb4L-czEjOJX9hQpSJ4u_oKvYWp1IGAYI8ydXFm38WTHauVthEAYx4q-LBPRMpsS8OguS5H5pK1AE9UNxrDW0gvwWnDUJxwIzT4MVDKy7OvStwU6HIGTVHuq_U58nWbvFQhv5M7XqifWmWzfjnBCs2c-YElzQWzXDgvQoPuzXAfMAwtNCMj5ed-WPvxZPoHKBfBKIpKQ7_InS3KhXJOSkwV4-hGTpz2WLpsjq-za5S4EL7JeZi9vH3_O0hFXOH6Zag0bObuDQAjBjMKp2F8J4vO4g7h6pn-AcsCYM-6MI2lzO7rVHH_lqSYxVzBKGd_3kGKz-B1mnI_Ag4wYPoO12EyyIEi8_csL626ZvjlTHQUAR-u6sJsENfnc6x7kjCK5mRX0dGPxhGZvFBfm7bZTXhU1CbfdkaqOFZLdopyPlaeQRjmXykhOg_trC1jgwQAYJ1GcihBBN-fWi9rx51inW9RdKLQZfBYhGEIqs7b-Fr3D383HlCi9zZdqSSjP4NxKEw9J5TwH415Jrg-Cw0Bb0SPuOIgYceXvNkhUCyKVfjQu5oyrgsdaSPj3tUirYEXeFRdJP9_p3vNAn8oh6_bi4wLumTu4Lv7J44E2Nk9BkZEKKPIRKmOqLmnUb3OzqEh31L_3Z8eIBNOssYgRRSJ3eCmP-w564InhIKL_fh2BkG9GXBrx2_oJkv2sNo0LMN3aFsaeytfCI27KHwWhqY45WpZFUHYtNVzuLsrJh0kBtlrKtbKJWKMTsuwjwUkP74O7-5PMogxT0CHAD2uJ235T_zICJXvJYK1f1UAWDaWZuJXYMaxToJ9PqPzAaxaJ0ejItyPVSDGxyH71Deb1p5tVGvsXe92HTS_AucjmC4n7rwfTqJcvOYD4UsEdxO_kOVQuLHwzBZnJ7lRF6ZAhAdn_ZCNREIfv-CLVNhojuwvPeZ8iFvvvdzT_zBQanw6FmW9al456mQJRU4MB6HMSTqslbPQB65zm_6rtuPSCQ4scQx-DcZdgmOHLEUqzfOcqeEe_GC9xJrIq_JKs9tlqU-GYZkfUhAPaK6BXJ-53ic5JUJUReTgK9Hzk-ePsQfTg6WJDoYn2Dp2qAT_Nu2A5DqVEo5K37dGj00yVWfa_X_UklBLrh4zW14wVVKJ4OvMn7FhU3ckb_5X49Z2tRmj-RgzxhVTjc9Q9lGZK_ZlRzy6NZt6BhQ-6NDA1BWiaplBkzQsMERUPNHC1tuedhltc5rTJVm72hkezySx4YR45ANSWp1dq0i-8i_67aFaw0DSmEf3EZkfzr_KsItt3PMbRedPmPkCQ5bTMy0Hw7r7sw8zJeBp9Qj54ZiGERG3fAP12yXLbpLuS_3dtDFwfJum49rJrzg2H8ZdJxpb-QJQYdQQb4G-TWoID2C9HcQjBDoFwbEGmwKLpvFmH8Dz_KcQO2VestdTCNxvMPWbAEG2r2JHmwwLOWOzq6V4O8bC36MnSB8ONXVDeKIT7hcVsmziVv00Qd14NKD0pC8HhAhrtdXYtHDiTRqzdQG90QroCJ9lQZ0bl31RdDyf9EusjLU88DYfy9Cq95eOmF81c4OWnS_BpugdzYxt7a-M55BNCyRJi0Vt8k32A1CYPs7AMa0f8eY19nCUiA6F-EQsgw2nPLCKal3wO21YOacb09396hrnwnL8quqYLuCA0wpdhXd1Q273S_d9oTquUQz5pGJoLhUFJgYu5--ztJfofVGOBSNdZ-mRSPbol7pYzCvekZthTagVRBIAKl8hPXqq8lkTdWPuTTRSnpek8eA3UWFNBjWwmnwZpdHtbFRrgDNupCKSMnFA-I-MeUa-f058GwzNkBj6msODbY44xmI1kkG4jkCioTv6Kwlh_cw86vWPZJaxAEDqIPWuTtjPLPmoBOeqQlZbumcTOnJgCKAxX0JHtFiiH058RH6boUS0vVxyeYIw6J32NUX_7Q3TJrb9dWc7At0_ne9cGNxx7FJrELyzOAhG6jy0QBWsXTs_2L9yo7EKPv68iKy23v9C0Ipi_t_PCU6tUYm4ZTiEjwVlayETFTL89bOZvTtfevgZUR4MhUywcpgwkeUGORtiAB5LwNjmwHtV7IIXcucA5xXV8QmZ-XPrnpVd_0r5pQ4bA_rOUPwLISfalRJA_QIIB2YcdiH-0IIEvjQWIf2WB55I-W3raNm9Yk_va8PCbuTg97JvkoVgqG46lbTO4ZorWC3Q8Hzfi0zK1N67OBseQsopVQh22UDWeGW-Rdxn2H_7BnuKkmCJQjaJmXlkyzO-937BlEsSVkhOX7NfOBXpgZ2szVlnZi7ZJMjIzMzK6-sdEOOKXNnXSVTbwoVZk3wgg1qAuRubehaBokHjyRl2crhSVHuZMS7Nd4wN84e3g7-WLHFB1Ti0qE_he4oi4WpTInQI38FrBeJTdmWCzeOm47-3bYSVXvgBdwKqLsGqQCIYVI7a-jYo8EvkE3GOEoaLVkvM6cur95rDm2NDPkQyjXKK1v_jQopVcTJFmd1j2CYkFDF0TdZmrNSuOWHJ7sxlGmaFJTylQKYqYN9CyMsZFp8MPSNE963y2jYtEXTYvVUiwkHEoUPMNXuMfgKlYBCXVIbnY1BOyoJBAMwiO83tSgyKJWBFKhDsva3lKEnUE1ORAjgTq0Ka1ZXy9x6iUKV2rXBGX-8NztUiYO-d4lgi3Gci5NY3CSrXfyriRRmnCfU18kXSfKuoSPE4GwoUcAh4QquLaI8ojk-XuUtqti4ST-Pz1RFK3SZSFiMRJMAkTbD16-YdOd9H96uN23n5Uiy6SV1M0iOFsQv3GGAl6kYePfEZ9qfwudGDPZdCzSIwdjXqYtyfwxf9-KiiZeZxNMgdowtZDpC4lI9InjlzyPMbYoNNNzE587NlHDcIPbGudgpOpy7O_cfp_zQsnA6vz5-SxasBeMSYfX9a1RN5cY1zxqKjDPYMNYHNJIr9iyDteTx-ONO0TN5zUYWlM0ydqe_4xi0-BzuovSPALNHDInXyxhjerUZD9E9YpVW-Qg7YpFfJ5v_SE7ssl-VoywkqqRGVNay3zYCniRxujhqh-llr9TfAeViUdhRuq1jg_P-Je763UH7aUW5pRB2Vn2F_-vW8lddp70YrN-c-l8xlYEiwZEInTz94ELDPqfjjq5zNbv2XBaq0x6a4snL6-W88MILiprnVfs2DOmsOJNEuKYd3ORtcxiABq4xa8UVr4vkMKlwJT18vUH-eP_l4NzTicmUYFXrx8csexLWDh_mBiJeMw4kmJyISaErcqplf4KI9iW9qlF-R8i3JgurVXoz0IQ6b_HI0_aRNDHXYCqj-tw2BotBM8RmwlwjRjwveirrb4bLzqyNJ6110Qp_AlG8wzH_jYZDenwoNTjO-EkO5eSMbUwoKjQtnF_R7afnzOy9LJ_FdFp2dtiIdHFTYH1fYoUI7cMS2GEgnf3g4X0QkMDnRHMBpQ-ne_zHyg6TBerhQrb_LfrCG_zh5-OKuc1OkUKSdDaIL8VqSS1NVXuWjbEwjtKoOc30IsDrYiuv-COoYxkBhy3H1MW-_-d3bkFtCkQC4dw1kds2xSB4ctjsKujG0c-xp1UBM3ra02XquK7eSQaY5h9sp-TMNfOmJD3RQeWxjVU1Jsd3ZBL2QJLQe5cZMPydSWeLXlWSEuGj2dDMPYYXdBdYrDUoCmjtEIByPFlbcayrlAuVU1yUv8leODBhoGD_ixGfSf3DQ-QXIPUNUrTjMs-Z2GcHfZW0xipUSoNCll6Y1T1ZHqoIFwXOEIpuAfN-3X9sWHI9yVUy8M5dAYWGcIRowPyQHkMiwqztyoud8DDPaqIZ5xX1BGJprbaavGql1n0fl_GR85SqDE7-IQvAPD6walSpZeMwWPx9hGVpRIN5c2b1DS6Rm3ncITDTQchFt3XTux9AGwbad7cH1RO8cNg1wuQ6yfV9yF_HDpwNxEXztkw2MeLiL87oKOMzWgvsSdZTAad_FHLJxmf0v7WIubj4Hpd1wkY_xsbHc4AU4rkddgnzjM5XYb6NSb0cxqk57gKvwQO-yw19ib6Nqt44NFR-TRlLsl9VqkyRMbweshZYUQJuv-rV124zyFUq5UVzjYfuCCrCLb3sawhtG69fUJPTvajlApq_200DuXZtzPLzLdIxlH_kCAeXm5q0FljbTWA3Vy8djME5erIif1XIO67BLQui0zMgqsRvZtTq2wfE9gGqT3EdSdwvzghjdd6xcLX1bPz8miM5faX1iNdZgaMflIWnknORPSXo-XXJXmu5UdZAFvSPx8DZPfYSMa96eGMS6aKiOcgDXiEmQx6XDzJIIYr8iln8TbEOe02pQE2pScMR5Xbc_DwFq094sPbShE6wMsFyYxNPoTcpue1z0D3hlplNFHy_dNFGV-6BahVWgLhM9VdZWPIHZwqmMlOipYY_Gm966Q-tAHDtM5AICCSR7uBNwo-pwqeYdJPy-i4CW_uxzFGvxJUqxNe0xir9u9oyj-nQ-7oHRx_LzYaGYq44qfeRsDatDSdJG2eQwMd8DOpGTIUAxzWrN9KhX4gJ_HHLviUqrUhzIt4m1d8TjOtFuNCiAF-F_2tDEh7c8s3renSwS-JYPVUqbm5lLivA4Imu7ew7a8lb4s_gJ0hGe5ZjBA8lF3sOIwtsln6wAdg8vUR7jBTz8sQBBc7sYmnIcHggeg87dZ7Goti2CEYzmWHipzN_S30jTI9Kn3ENuLBPysNguM5VAJzCHUgQrLEKOAFGv6jEtHPF6C_EM_WGvJIefuWKcsEnx8ZG7CyzIWJv6GJRahJbBFyPlDdKWhpWPL9CnHLbRYDhrVSJHcESkCZMQIbJerf-FgyAEaOrMNBNERSh90UIKlvnSKRqTx2vsUdvPIaDwQYGNygrbuuxnoup-pnLVkGVnXPA8bS0QMYZkndo6AEBdbcuTJp3jQKyl2AZQeQ-QNnO3D8NZStqG04BBXnKSUK7pthEO0GFTk1J_rk-K_5s9jCxmuUZFb2ghRBYf2sA-G3x4TslKg5CmxE3XH5rvvRhmrwVyFOiGEkMnC2z2jm-Y6_DluNQBVlSzeN1yFZ9eTfEXTNIzkDxmj5gA6C0s5kKQljUOrS2ZBv9_Oa9EssChglz1AOnK-b7cY2DpnpgN-Wu1EC6Q7hXyNH-rSmD9OuhcPGQ97vbGHAjcXzj4LRL-X-8KtWO9XUGM3EwJDj7-YJAFALJ3QrbIIawiTbHT5MFCu2aiayQmTauJQ3B7aWHf9AE6Sb89u-hPenlHIpDIXrPsaNcPPnOQeKaBlgEe7vfguofKAT4vZt67rnDOxnZBkAk8xEUUp0PLRxyXTp8KjrAqBPToypii1LIKTFOqx6sExP6Ij1Mz7nZ1wjp9Pt0FQ9wU-_T6iU79m5xpZxT8D6_gdeZ3TLBFZSLS8AhgJbBY82kqUKfs-ou_3XZk0dqB73UKHLkWebZhEpO92s-iCoh0OXI_gSRCftsGD0oK_uPLQrw4e4MV5CEiGgVcBGYyCTCTPl_LbEzEGygad2kimtRTJBUiDbp0evSnVK6DFprRknYCobLlnVj6ZcHkvnYmAG82WRavMByImCYlAfrl26bE3QoklzuNX526kByHKPtIR-k3UF_HyO8gLUWsVpxZYxP1NmSyEOuJUWskWzg7spfA1M8VuKbImjoM3syNaYm6I4No2nYNxmZcpLvdnDTzpV1VvLGkwJH4YI40jDj9ydusf93Y9cKrjgh0E_65_9i1ofs1T5CGg2K-8l1XEGcAMHGpE-WYfM_Sso5ZQH39bZ59wukm3i3qWSJW69cud2hmd6jESsF466tujBtwJdoTTobYH4nrCDfIOgFjFhk0eqTQJNAdvU7sx748W58sS3YyVNPhJ-sMLAu9K7jCvWcuBbMcJYkiHcwgQFOGFc4mh07SOgW1RDUEiIKnbxobFL5sGQNr_tpQZNC8I8gWpKCJab-dBGoszbsfNTar8N8dLeDyQ9ELxzYcs8ZUWLYvM51x660bdA6TzQmh6yttxE5xWCu9aVL5n7aXUxbne4Vay1cgMbs9EJiqpgEb5KI4FFndcs3SOglHC4rdgffh79eDUgatqXJdKjJfSKpsFcHxZaYFFfKyk-SbR0XL3eREYKErectWssBPwskjlAcFUFgSyARBvGiVJZnrjn4kqMQBnVmoLooFK5KLbkXmTniNBSJXW6mJErYnrKfA9pjH1uRfGYjIbTdMQhMIvbfzOIhoz4mdYcuTbnU2DYxiFDPaMY9ib8eYvtG1YU9ChU4psbC3yy8TjXKx-EGJwpn8QaiilgMiMC1hGL0CHVCp2pIWgBTGd6nCPkrqQf2L5KM2z7I4cYuWF9rogs3sjlQXKPx7Je5inlKzDvdvHdxrwCfmaC-XgOZA3f2CudVphincVIeS88wJ6g_kHBmwUb3Ijy6DCpG_I3LLCecQhOZqvYdAbThAJ66ZULAsWSSX_HatdZ6kwRX3OUyBVj0ZEVhVycrRYX5K0Ot1Q_GlYf7ZBd1IcbMob-yQjIhMzntTl3vAnY3rpwfeq-sdoP1XHb97RIcjtubrIMLKiM0Tnuj1504VbWNHxS041r3kqpPNl3FIbGJDRDhmTgM0LYwBbNIRN8qP-5KWhI7Xulf3yoSp3jsdxfKu9meOuYXurjSl4hqeJ2DWS7euzaB2pbc9vYBHjJiNzsMTDAdZmpaNbTk7baWf-NIntf-_HOiE913Dy4Ah5X2bNjaBU5bfSapLw3ZVzsRAiKBC_PD9ldFGfJg96Fysv5Uxs5sB0KnKvPStK_OSWinMgA7cC0Z_XLGuTfG7T6jXl4zyKFzZOuGZiZRYULbTMGoAEwaYHS_4cJy_pWdgYwCimhV_D2_FzZC_dRRoEnYjsRiE2-JFRlDbaYcDnsmO4YP0ZBloxuuz3ecfp6JTrkRvTbQiAATaKkxsP1uAs0OayY4yvN6aI-jYXZvEbpf6LWMDe3ATMEPIkVckq9Iz9vJlM7dy2hbjxWHbsAoeucaW4XlKBZ7OL4Cp9OKdu0nbK4UHd0l-n8Hp2svZssBUm1dWLzTgt8GrxCNw0qBOPH0Y5nA3Urr8HO6DF4GGMr_P7H8qCp-L79nhYz9dg0ZtxMYpVhEj-R9_l0ciQxP3Ot7cKlS6131npYebnfnLq59juZycqB8MlICLVNhJbYIkP2K8VevSt9KPLD6fxMuChEPgW31HTRigkbV_uXf8lOK2oeMcAN-3BcBKbvF-QoHn5K5oxZma4MJoPzrm6IR8fLMQ4bqAYRFD-JPCJD2MiRA-JlFklo-r6I71J8VrPHMNhJIrjDbWlmx8aalo5y010QImD45-V9OGeBjWrcPgPM5tBxMkUBJPJoElnoJsi-y4H1jGay4WeiPpPpjSfW7Ipr9pQ-r_CWpCZB7s2Qwa2RMvUV0o_a4Rdd1H2gpQplOFW4NbRVKI4MSxPvfEazI8z3LeFpGR1FIn7Txl3P8_C1AHTV8iZI0dMHq90S8NFTIh2fdx_3y7ypgf-AvS6tOI1UPIhk4OqPCLa8oQvqyc-1OQutMMMz-G_qIqN53OF_7C-L7tvnnIEWtL-pVUrouLtk92H5auTPkKeGYByt6Cu7jroJSfoDTJPlK3OEbm75aq_TEyVpqSh7vdsx-o171g0LXRku5fY30juuKMej2rkoG_vc0KviVGqMN-vK9pWSY8gmcmlkB2nc9mXU3QbqeDa-2ht4YrwolI71oDQWLscTX0-6aVYepgGggXdPbHIVPG3GE66UNxRDrDc0I_Ck_ICteCu6sDM4X07ydEJ_uBxnetsh7EOvQ-xN66V4yIID_q3rKTz-g9NwRwp2_--nk5KIoZPWMkGg1HFVsFwy6aRIR8XIN5KBJQuurqyvN-acfTd5HdiNHLw1pNk-GqdNctiY-o-WivD6r8nDnBfhECYQ6BPCwZ2OYRK-lJNE5x5Bv6k7XVfB2xzCdsxbjRZRJRH_n0YN12juZ2HcjNucadvbXXoj-lOCjctDSRKmTCqTLpeUs4-WhMKP8hMdrUKHdOY4nvarsQ-4A9ljiv3RMyIFDcZ9bVdBRwMG1L4ku-TLfedygXblamt7nCaV7a_iTQsk43TVQ0bzD1RkcauqfuxdkRleltW-iajX3oOiH8QPRE_RdxFfVPPlqwCX7AC1vsbUO6q9ufHLGTOsmoQogJQDdAg6fds2yKUwuYz2q4kwW9xPmXfG3iH4Xpuqcv1C2kl8dgXqrXCXulTyTP0j5A7B-nHFsUMj1qtFiaJ3Io1HoQhUYGvtS6E4bbXWDGc7MBW21bSNWLpoVhRly7bVNBwPeiAYBJFPxRon2mg2Mw3XKoCa4aYCr3Z4rY53aKijb2JWsPCy5ZKrcsfOObNWlZ5uUMeKcuMVGMtoQbKX0oaMYBFnxaxnz9SI-FG5gvgD-ZXU9Zn2QEYAm_HHaDLN1xai7QKqqVJaepvu1wK7QMUdDx21oH6Do8EzidnS5vndgtMNTPNxnVl4-RhwrJIl09oySTpS-iRr0_-x5Kzz_HLJDYLVe_5aZ0ymzmek5GbOcItWWvOuZIVGuvIP8iyogejk4Jl_z6dkdc9CaMNGVkv4V__waWNPpcGaOPgd47WvvCEjta1TX4Ve78xiZloEaoc0kMdyyNQdwUS7K6HFQBBpP5_9cAOxmi0bMjNrV230cSpEpmy4UvbLYtX8Sh5B45KPZC__9NDdZ0xJAkmHJjvG4Ozzrre3s4IrrmDzV4zAfMwdcdu29r2BcCw24_bRiXAGppkZ_sdUn1l7_6zSr-eJxm2gSDQRqZNQrlxtAigPaH0zRfP2a7TvfAUBuirZsrwCRGeKNqqUEpcOn9_qovuznUJ7j_Ist71cWINHWPvTZr3A24Uz_3wxW-h8SBGla7wjEpRFULUO5v-JT3ZP8M2xu5qlrzD0CGmhtwo7DhjoTnMvEcKXa7DQmj-ZDRZJtpQ23EeoxpmEnCtnfxQ_9_Q9cXWqPeWlJ4Wy1a_ldXSzXtCSAwAVm6f1GjTSRFKO3GQTUELBC3o2Yhu8pxee1PueVZN8bBs2JdvyfhD-b8IsO6Z18Hs9Em0cGuvuiTeX_XE_O7IKHzIQoHJ8wq4hgTCHfy8-qzGzHuV9ThRLud266wU3bbHK7pM81oDZCSjrzTeSV4fEFov1zCi-_fge8DPmEjCP37SfmGksy81X8MZkVCUvXqry8HeIou1dsYmR6Ec5Fu8Gz6yw4gtWX18MXYHXZuroz9O_bwkEFliltRY8ru-Yri1ytrD3BBiOvELpPS5wBiidcVo52WII8GnTx13eZDZshO2eEAOJzeF9pmRMLsyfgWz-Nz9olkmL0fFgqaTdUk8TdEzX0p2_Qrb1mzUASQ8NX5wSkWKieHlu6YPh4qeGVeomQy9ImYSdJXjZ9kDwYwbd0Im3aQPVzL4eTJx-PeeXS7p6KjUd5A3VMrCneeaYfzMQ0yp9TfQnB7sZHKviL-KVSfw9_XL3JNWs2wg-5fC4DUrrOmdxzySj5CED1R7-cBf9tV1XV36rqcw0IqPyI2aZqGoDCLVeHVi8DOiAYOdMygoR5r-B0v9xO-aDMCTrra0ihJG1Mgu4JEsIjxRKtcTfivfqd_etLp74s4UQcvvWov8Dm_8TaqCfUZJpS30YdXHvNp-fg-EOvx1-5qLLTIc31IDE-ZxokejwJ91TPuGmrBeA2_aiNpLkjLtNBrMbeUlA75RRbwM1WeLdEuAzOcahboo88ESy6SU8I_JGwTeW4iuV4W5zND4-VO_LPLmkjDkTBR42-vPETk9WCLAOOPkzJos4Y6Qc5r_1gxiJ0zhSutyw5FNgdnhwOccMFXUcrW998mDrYTXXqQKnkxaLE-grHEUkthTi84YfPe9R2Z_U0_kwH-TKlK0RrZ0-kjo-gFabuuSBwvKp3gHhABcf6xGWvmpXM7VMOHdsXjQ_WUjMhixL1z_VoiXb9X3lfOJQ1OsQyB3hloLiO9XjB2_Dd8VVN6L8FT95b4snGJoZ7lSnRbhNqwQz5V1N667okChJTB9Edy-3-y1drh_vPSXURFeLsm55yVgyy0aC-lSVivxQ986cy7-HlK-Jz1IO7qAOUoRkATziPk03nhcjdiIJv4AuHslLm7ScGl8dC4EApz1uzvsAWCW6fLVq0JKHSp-gTm2j1pZv_hefMpFnQhOcDiJ74bL7oWuQ0H9hSLJDSo0xXqY_vhkz96V4emzjcQ5FnMHxNZIsHcuBFmzo_pbUhdQOh2N-rSb5QDDKzXi9WDQkE3rrHmYxfaNvsoXxIzPXLyvfWGqrC2RBnL652OaoR8jXQOdkY_2SDJq7P6h_YhJVsFAD2c1HOu_c3CvPTtj6GCdkxbWGsf8KgJGOlRwmAuRhkQ6Yqq2I9T4G9GNY6h6g--MBFT4vZb0y1tYR-JaJZBfW_WzU_kGydzsOGt1itxrQRBMg3D716_1eKjyISxOBVo90HGp2Uz4w1coHSj0j4sWQutVL3Ni73vco4YzpSaNTDocJjUHaTMVJwq8nljp0OxF0rd3rs0wgUVg4dWBvWY9OhddADwz9d1AkIMBGR5BX71JYUDvd73_s1xY6VwDZfUym-2z_VEccHrTb27QMzraTksMNSZ1uJEGJiEQOlgkxBYVOTSBD_qqxXxQDgFa7cK8CW7vTzAEuckB4vnc_NtN_kgQopiKsS3E-UQUbmvQgLu0ADfYnUxxDrrKKRYjfMDhx8RfMFM5ZQ4nJETUtmO6SSH6w0MbAkND-enI7iU7e6sJ_9WxPa-6Xc-SnYS0VBqwoAbTLgJv2if1dPX8IlknAMwcnfC8TumhBZl7N104MwaUU-xe1ID8maowvkW1pl51jOC5Rto-4D0G5WKUhJ9gHzlxIb0gwjfvf4UvFRPzcnTriycDc50WB7gG-RWxk81A6wcTsXGRCnohk0Z9HMKJGdzD0zjpq_HdynBx4YsWAl2kip07Xy_L3uqI_lpX63r9oQCoDDKgMmTOlKhHdPHGoDxI5JCFgooAqywtb16fmvP7L_CnzIAJhpYbb24OxbVupYKsAt-fapF7t9oTN67VzOvHeK152jYEkAUNiHhnOMii5uLN0SLFDTJ-uzS2g8gvQFNi-geb4edkoAtpzN-31YmLCf5v-QBs7Gtx9e4qjSYS7vIVCw_MtRbWu0c_f_XV6Jv2mXnNhS9nWN602nTFl-B-CiGPan49lp0XBpcm1Yq62_NQs6-8b6So7j62bt_ro3AhXI7fgZXPQC4vkyrn4yxnUI8YIKkeAQ7KyjGcr_o1SqPYsuG8laOdpUiadg0hl81VpUIX_IUDSJFLW8VDUvcHxl6cL3PMM4aBlTkKDmxeH9mGD_PzFssuJP2IE5TWW-i-6HVQ0-gc2_S0XevqFMg8WnlVNMWADENg-a0_9BGiYpWO4VFE73hYeXvkCUiwj_HUwRveGo9SOK2oax0hvjDUZLRioRA5ONQebMtfyExMeBXZ7VzGuAzAuRWCQSj1oFsKkXbeXyUtNn4kITJtAIQ8jizWtwoDw4GN1POFwautw83rGjrXNyOiuyW84K7Sv2dV7-IdFs4jixptuecIQ44i-yCqN8s1qrMejfORuoNWzioIEWL1EuALW-bs-WfjnTlBtqMdJA35FHN0dwIA5L82GEM_buEuijZY9vPNF1GWnvQTWRNT48B42bnLTwcp8nFQhIdSX1r-H0ObMPboBhoC6DKMaxWYWrorJ70nZZYRhplP_WnGWepvgbWcmBBk-uM5tCDVt7OvRZnwkrC5XxXXS16CuSiWfatPASPotOn3e0gHgwxzwt97lxCRqkfLvrPKDrWMUUo26T-kYOdhMwp4RpDc4IA0OhpHICqyCkEArkGRfnIKWjSSSnnVw9XH2LxR4dDndkaOk4uldmGTswoj3aYLWYJcsVis-Hjev6aHQ3t2aAEh1tXoQPNgaMU2bEy4lfSCxt7mvJLQ3gm1JcuQLCctnvy51ydnwzKzIu9a0yedVfJ4TD4OHSrg4kbHMy2ZRcHyoP3jM97Ik4YTf8Ik-CyLNrItBCEK8XlV_fBXFD65U52QNLQ4sAkTLbymxbeNwbQlzrNX59qUBe1grHVTSpRd1Joz_sfEY0fcybLdydnd37-vjzGN_AAKg5Ic0Ycg42w0hB7BqWeuaDFhi_pL88pyu42o6rEA2U5S48hXfLZaic8wl4527uXFCQt_tMcVbGw2Jb1cxLZWFLVsuRp4WRPlCpukMY8co8hJ2hv3h4GiUYvf04co1qSgIHXQLl8EsUh9rBicUWiQ35KYrP-M2sbNWvDDIRQQ2rSAre2-jmXUCWahp0rF2UOj1sMbLWmKzfUNpXRWLTw12u7NSri7vPv72WqmEMYEet6FolGtanIW4rJFhR7dzZblu5izXNYqVExK0ssqIJR3I2mEuCaFJqDTwesTIcv78m_LYiTZn5KVLgRLkDKBxcTwsNtPGqNUum6fiq7YX44jtzATNEJmG5lXnQAvbqVbUlWJcHZGDVDPU9I1f1liOo2WLJPb6cKDeNcgbUG7xaUXbX3P0BhxKEtUl8sAt_lc_LrrPosuTSDDnZijdj8svxeRtNasULzb48V9FxbeH1jX9MgdDJOPtzyAngLl1ArH7MHZnldh2yE_Cx3ltFE7z3dkplFcoSHujv3ljs9fk4khhKv9oD9UK26tawidNu4OAxMXNDgQfJsn4zqwqMH30SYPCpPYmYuleG3eWazzZrl001QVjoJndVowmukMZw6UI6Vo4ND5Bsrrbv8d5V1AjhlKTK8MRwi6_cgEclqedaEks3U3jh0Z4G167S6Z94nU3UZ3qyGjlFqnlbFsQhA0FPKYFkxQXgCjyCy74ft_MKPl9mTaOOALlsOIrx1sntCeoq-ANJyzzL1GwJsuq62JftS2W9FD6qqR-wpV7NGtwC8nqc252Vm467UlxG_me0ktvOyI0ZmpiV3YCUnHXPwZVzqJ1NWIQr90n5dkY6otFYkPWZ8ZYlCw0Z6k_P3oA8q3CU_JPORv67_wUI19ZRu90HdqZpA3edp0fQLSv__MrtQaU0aQF6uDJABrsJFIjwzHBR9ZY5qZEmM-dphfokhE6vj9d_02_exmbY04jd88RCui-GamsGExXgq7CtLx910Try6zj4hWAaaPgMBs7FQGLYqpdHHtRMUqrBrme2vdwM3VAIUMjB9OEoYblfik2xj-HcaBWNpLNmoIst-yhKRdoZrZ6V7qqoVAMLJb2nw5SyCL4Bleac3PrpleGf1nB9ne9WlEQcGAvi4N74PJqnHs4kvLk8OHloLFf-7OtoH1Tk6HUURKkgKOhN04HJYlZJesWvae_cguSGvVr1zUZGaCZWe7e9kBhVFT9QWT160o2W_ZvEmu2u656TeVnJcEp6AVFdYxS6A4lSCfhFfh0zLYFh82BKMWFHEG7U35yEAxrMTe2p8dHlzsfVjQqzBXBsEpkHbmR49i1ICw-mgj374dQmXtHfgC5jmEYgTgJsSEfYwniI8G08FhBEW6eOLDXgg2hBOQUqEBU-w7pqyyrqREorSPPZgZT8Peoyd6FtuqnYMm31Tfll-BlOXztq9PeJx6xNrm2MgiBFHwJnbJOl61wG__svCREyI5FeNEoJvfocezrhNm7OwhkyZwlgTf51Ghbwvk2SFa_UvKFoln0zCm3jD5Z_FnZzezeFkVZFn5bhj18522QvM_EuDxZ1LIMlobtQZMC3znoF9l5cULQcR7Oc0TXVWqu7jEIBhFJ9OiTtVz13a6Bc17fEd2dH8DXFJRIzNlC7mZyGitQnMo0n38otMsA60Gtf018lfibgT8CXb0PGaSHLqsLsUgJsbmZJg1bekfcXUZiZj2itJDzqyOUaXakKoTwI4G3mI24fTJ11CioQrO9xPbNkSCBEHJv9EHld29Vp0Q_9X0NzeRVmUpO3W-VKPAtkh7BhW3DTVUyLfwM9rZkVsTcL2DaAnPF-vIH6pyq4WwqBpgSWvx1vyx99hx4lNzddY_-L430p-HxQhnJqene3k0MiW2YJfs-_Kqg3NHt60RLqLjdMhgBcBWI2wLRpEyOcptuEhy4NX3IEDWXikFpkVuh5Wa5T-MtquL984aS2Vzkt_3odV4bXvEojm7dE7JUIP4OKHlaVIT0uVZSob1hTxhAtN3btOj57kWTKbz0OoAMNHbG_0jL67pmxywchkr-gQTrAMzy0RqI4GWavFlLRFAdGPDy1nOI6QWcY6352kL9W_jpbJcJCvY9ss7hwTeh01200BJBeBcKNU_qikvQYlXaDmhI10F7xbi2wfbFSPwF0Y7o-jvRUrhwHGunHd-CFCUtpQaCfJKStFs-E3LeuF0uVhgphslgE1fOmeRm1LxZPAMZTusxTW-0i36hmo6bGRgyOrw7KA7D3T3HzPSu2fKGV-erlfgByUv9udUZ72mk-x-P9GJjRrJFRzTVWsU7E3sC9y8fw636YHnwaGqWPEOnuhycWzoAuyRUdeRdBx_uLBlP4nZGHDtVEcSWeen4GSdNPrOeZdJoAMaDRlhXdaaqp7EydcX4ChpoDxIe_AcFWnO5qRRk5O5gvGi9L4w9J8yYxypKfa1TWDWk9QNqBwlgbZpAKcwyVIDFhPM2dsK0IXMDmEk_Gf1Xic5IREJnIJCqJwPGgcfqLLUSUntoPIJQ5TFgS-TVW54Kdox-0O9jQxNdm3g7YVIIdvjTmZhboV-dw-onFzRf9sK_RcHlrMQsfBYIJVBQqspLhi0a7PdVvoJzKT7iL2TBk2H0kdlZUUX178pE9b0UgM0SCx3YwkCI2v8npGUrK4ySMs97fB2f0STMm3CAPa-hMozzoP278_edR7aKJ_dqgkpY36-iZxXT2w-6upL7Rys2QLYevuQixGZKRc_cd4GGRpFv8D_k_9o01I9fdeeQQJ-0lDDXE5wo7zF1Cqwalb8qUlAq5jvFehHcr7KAjbyjy6Tjni_w5K2YFR6Pl7MNDnbdcqtKGgd03SE8f25rX1pOo3JmhPoWIBAKpjXyGer31p9UsnTZO9TDjXGGIxyG7qj5snlMf_nmQgXWnKOmvwbMGvivjFnK-ClKw_2ebanO8KTFbl3tlZwNmYWYCiCNIl3OpUgJeA_97sY_Swv_7ks1R1EmHEALm19cBsbGTxgpwRBAqHn8ATfR_7FpS5FrsDzxcENqKSQQubjEzFKiToXOujVFFFFl-fXnPzQVxshwi9d8O9Z5PiFNMwUI0jrJ8Y0EziIICM40fthlH7jR2Xa3NGFAKEoI7ANZPnoKtRcpjKCFR6aqDVgikFhZUsfpD_FMokD33zQGyzDiWG0hGa09fD_7ewQPH_b8Dg2B2Uk9MHJFZEJ9aQnS2xFEe1oUCx3CEndSQoKQ2Zi6vl_C6uO6nf0O4jnCGtBL0wwlJEtqm5U6JNxeqoZEu-ErmsbqXn5IivDJNSkjOjLSJNFCFDQUWmKscu53wkiKX6oR7HiCPmjzJ3serO0sCg95R18zE_jy-WsoGFPIYvsmt4Lrpn0PFMhKlJTEiC5IGBG5fnBg0w7Kha04AHNRvZMQD9Maee1nHbDHAoSQZsPoWlyl9fjO5zH_NE2UNcxApVziHrl6rkOjvcYazEZutVFWKV1jthICwXT3y86P7AEZe8FaaQBv5M5VT-JNHIc2fE2x4KEUW-28FLsPL8sXEWIOUSvNwhG8Qx-UpFE__tIempuVgnjdqwezXnM4nxEQE7YW9mTrZnAvpkOy98fKQi-x1_dkG3ZDi3WozItbq2BM9wfh9SlNLPx1rzSDLWScuIAFf_uRpvt4cH_a2hTUh5beow4pWfocsIJl5CHAdUO3ZiQFAtk8aTm019vRB1-Ntyn5rdxWIwW9ejbIblYy9FT7EFWYLyhpBSqJ4Te9wi03QT9K0Us6Dhwe4pPCKMLmf7KFr_uvWsk6D5fwu-qucDMBtOeO0XFfJPmSl70OKTr-q20wm4acHsLn35BkDLUHPYBibgpORy1O01McfPeaO356ALfA_UJi9gHmmOsmYV_edG_DNqeDxYhsIV6v4Eow_rfbBAfHGGSEnP32ABuZnV9zChua4boC2sTsLXBMOnU4gi8ugxPwKccT0lRC-sXcIr64NRESTSkJu2qC3ob4ecQJVNU4DvfNnHW716xi2D80tVOu3svUK7mRbaIEc1lqPrbkWOQr2AVUKwJ3IFrlgLUFwk-1mAEux3TRFFDrF-VMfH5lxsgxR1OyM8G1lAPI0i5JHQ5aKxqD8xY9LMaMDUTObfrjaR-k3DOziHOxWofzArszIx-Wx-_c5_T2ruPL2-lRJhj00Qt8sFY48-d0HyH8l3lIjVEnHjycA_bI9-wWZh7y2CXQGUY0G2kJWtKPDY4GCziYxYUlyfdzGRNE7hTOIapFZ38WMc0ttDI8BuomH7T3UWyV1Wh45CpuhHwOkJT40mzjbzyLhU9-G6YU84V3YXN0BBdp5IuJetJCnqV0cSzK3xARrghaNQ-vova3juhfVSnyda8D08J7ZfUi4-8SAZAXkQGhppfxS773E4epFz7Wwd7ltTdgfnBqnn_d8MrEr5f9ENCjLc4EScoji4NBWWGL41klA6-_QUV_1qqZ1KF3DXhvKXSlZaqh72e8T3DF5QxNHQUcLRAQ7liZYnU8rO6HGv0pB44D7-ewrcDTZnYNhV5m4XIRArd2OgwSVNqW09vt7dl3MC8Aj0STscFO0FsJtG_Mmq6H8rfEwEyaitYu4Sk_m-RjDfnsBtX1lGujCqdRHR_ZVL6qlS6u4S5ugx3-ik59I6N_oVzDl2i84Q9uHnPYfr-96enct4-DIaleJCP-i7odewaD6XcfP1NR9gPIAdcMq3viXShNI0dD5ip75qI1CTYGXCT1UmUvbnS6N3BF34jY3Zk8JCvPzvM3_cEDpAOjAmcrWhSIm_gCbVPblRgtGYn6CHmcrBbY4NDjZcZW6ZyfXMH0NgKAiy4mm3w56liT9wxdO8QWZZbUS50As9bQewvBRHhOGuprLzuyC8xIRyVk5a36bFQkWTXl7jmbO4T7lCGt8CD1QceNRioYTvUGgrgOCQqtDTr1-IjuP31x3qDNQCE2odrPR_M8KI8FWTl7mDJVvahbF63T5otKm1Fa0g0-f67oXRcTZKcERSMn9rU_H8pQoZ-ozhNmDsAonyDfkkyBTvmp7jSPc9o_rg0bUjkiI3PD0hbn4ZfHY9WvX7OtDh9JoEAKaajk9Af1mmkpFe2AdFaexawVxLuxHTQZ4o6oV67SwSto5LpmUNfedMtmyUO8yVYrxB4hNMGNhYOyuKPTe2VciNLevI2VyBYVxdtJeXdNj6y0SMaPKJ1-GDB_U5iIrayhUkVDwQcbteKWbRjqQnS8NLkoreN4BFmYocJd6H6fedlRya5YCIB1V9d_sVxy9T71mtfaKNQzT4EU2suy3UNUnQ_lMApHIYgQTHesPLXyGlrOw0eNhCwUzcL6c4XqEO-bmEyHRr3bWLBEfFowZTSPYGMRYnUTJRXOP-OgjFEymv6SnLOqOAGs1EMwTmlO38ToqQQqNL6enQagmIC_pcu1_bcpSnQGqAWHEbRsKAdVbH6h3vbUuuCby8BrqVkwKoR07h14Xnf9fWRVYL7UbX6iBLqvnLg4G0bbPf3sw2QWyltcEXrreOh7Yw8bLNAfsbKLNpXZ5D1-VNQGo8UQEXcwPwzIoAxbb2C6wi5mc0D23LphkToBDhIyLX8Zb7ry39ZrPjouy42eRm9AyhD3eD0gTfyyMS8IJJejqplR34uOkvIz2WgAr35wLbPQxgcuBVk4r_QISWvQDlS86mY5szgeFBU3H9CY6yRmMcBofhoLyPKG3VEokUIipy_o4aw8Jt1MbmVj1V4qLJiYwvWR87T3vbU6JUgBYTmP5oBXFB46GYbB0lVx89GALwCRCnDwp9tIoGExgw-W-m8SUO65OHqBD6-lNP8SO3hxkr7PPKcC1af0y1wX07ALVBMe8DpiAj8hZ61eoiSxB5y0yyMmQ88QVFDuUYX55AvGRliBceFREWq_h3RBB6hK1NjEy5Dubj74P2TmvAdHFBx8P-C8sVwCxizPUWCDQlJ0YIg_5rlbRTsb653WaPusIduW_6lcpNSGz8ZHr3trjI56HOlz00ENlPdfJbHdjQ0OVwDP-rwrNsYnhMmzo4BwkxLPrqgxZ3LmBdj2pH25fXi2i7vm-ut0oZ3bN6TuHe4w1CJtYDG6NCBpzqCCxjN0M3-WDgGX18lvLa61pBgQvvlg2OZ0cFORUxZwtL72Hz5dS4k3TPLgx1KUoRYGrkCTPh9aIDJrE1SEzrd8A_jHcUS115EjAGzhvoUW96KdHl8pRJ8zN0lNqfpX6jDJl1ah5paRg46h1H0SqMVGtqRXmTfAs5MYnjHAMII6B9G5uelaCAOanNpFcWyhiepi9zDx5AsHRaDoQDc6k5807_fxXoELYbvGFPHa4y-3HOO7za7F9SDFT6JsA2K-MGxu94LRI5jJusWD0eVjbySDnOCL76SCGrGHelnHhdRZLMlNoPFJy0C6ncQ4UIQjBn5AZ9Kd8tmlTZzwAs0jJ2VfyKaDg7LZSaXwJ1rmij7plhzil7aCk3fTKB0c72GmgdSNtmlqe0Y7rHm_g_W-NsbUX20o0mOqQVSJuZCSTSa-9PJs2yUGm5bhhT0LwuhAUvc8rg3FwdOuMGuZuHCVCtHnUoC0TKhVjLOWSM4hfBUenOaDlo10TkHu5UinvlRoxxu63UBxksRw8Ms8_VN3h5k5ZOma3jYEHLi3K4NM2FBSbN_tM_JfPe3SUZ2xZ4GL327KmqOc-gDKPOaSxrBV8qt9nL00HMvvCgAR5llnQY1Df6FVCvDpfOdSfCAuSSK_qgq4fCkplC3GljU88ZAosZSTS_kCsYBBgjjw97KMqDWQSxeMTX1WY3XWKhsALb5Cvyyv6HDVzWKLUtdmxe8gXUNGJNcpv0tGHgcNyZIG--9XCD9H1DIjTz6gTmImbNxp0EQ4N9qkQ7_MLe5-P8Kf0ipmV-nnPWlxJ4U21lGJ_PBP5964IigNTlupm-MS-nt6I7tADxTrIx1qhCbmHeuJIjIzjpStjuIljqgwsXdbwmUfqShhonPj3wLqS1AWsfVrUxOoXyF2uaP-b_Ssz_QGfOXnTXhfg5buJCaIluA0rEaj6YFRSaClJ6l_ScEnYfmo9kjN__7qO1ZvKoAEUg3Zbky2htYt4jl1E9mUe1OHnKan3ExsirYYrwOn4dSk7lTmMdRCoYutreqfN_xT-iL-Ikp14I95nMCxWl4ZTqIkQGiFjRv4EZ3gQnEe9WWKnHrun3viNP56SuBDj0WSIwSODjTz3BA7WoKKEKaAF9KeiYgQcnflWzZkdx4XhlVqyo1MzoPTh4aHbvRbkcFo2ttlyyqISjbLeCnSs-WAJk5Tbkm1yE7Fr7qn6xSB0fWHG9g3U5lbWV0zcPZP9A5HggjWF8SVQL2pbNOxeXVWjYQL6CO8NKxqltyrGzMnymJICQVKiGUvtThQY4QyGy-5y11Bw8oK8z04gPi-QPdB918j7Ot94cV5zZDgrgvqiV0iJXUr_YjNJtyJcw2wCcpYO9M6Pnt2L32QYbQvYuz26STeGi1UB3vOZtKeKlORoYfjoMys4kkVi4GnnNdtjTQ6ZAn_t3Os7mm-8Qg-RlhQtvWWmSaux0KMlPz3zkkJynuLwWNiXg5vYf7hCOzyVqoWPRLWaFOjRan-JKfy8wrRuGtuC8TNBWHYhuu1NmVXOmxxstpbnj6n5P2_o7Bm3nR9Fg_nImDWhshA10ENvoENahfFm9UjHp0DmTaXlhHmoNmPsGTslI6UESnY_dbuxYOv8T1gHviVGGcswuy92fvP6QOVUZlMUiE7d4jeBEZH8G-pxebtD89jcN6m4BWLbmyqSIiuC8UjcvjSitZSRgqNXub2E6eHPjuTsGnhNe7lNdEeosGbRY4EKSnZ5pVAodjbcflQhvGTlpWdjnu-_Z4yZiu9ha5JXBYjU-1ehovbYsauVQxcdi2Fhqr9cz4cC4BqWLnkxXfaYLpPEmG6tERAIWNh-yG4lpIQYiFCEcEolu9WrUajjrWgi1aGz_njp7BnVThidjyYoUCLf7nl4AI2dkP338RHybBrr4hhQKiGZowyyVo1E_YPM2q9BCB502cETBzb3LLxEhZ2Lz8tvsc47V99rSfrVxm9CTJ8m2Wo3iPRRKMQFZ2Nbg_-BCLoVLFstiUy7W2fnwODCNSUrafeulSHziy99lS7V4y416S0H0n0Nk2YqUnyFSCJmi8c1tmo8mndwbAmEt0cOUOKvE2DfAjyomFbFYFhVsor0YShDYlN16gNh2VLmQTLYmD4hALe1aZZxEVn0ATtlD2I1Iv3gFNztV5hTOSKH0U2ct6jHmsVhyfvOngxo1h48WK-Ir16tVdOg0UkHztFwAjLuMlzqtRoBFRJkwhvINptZpDt0kmhF8t4JQhCo_cPFKAlcSeBqZlSX7W0yPbKlA-d-eIi9dLZUNgDZ4lY5aufpn5QoaVi0SJPfbE4tCta5XklaTpPRbWp_LwF_aneS3gnhqYI4_6j7tje7LvlnoyPBZVx2JABd8Xn1jLDTfadpfFIuBwa55EvlosRf8zfLZo8rm-BFdFhERfcWN4ldrPSdcclCb8l-dYICX83vYB04KW5BvjNXhwo8N0eR-TuJdFshs1y6e8nIeRbJ9f_eL0DTMkLXA-wNUqcOiPFbBuG1kaKQj_e2bTdyfw4k6djdzAGNjRgGSm_AQQH-aj8Dn7kCUA6Jve8_u0wY738rn5dXDo3YjbGiXnibZezVg4aWZ4G7s5uUJvP0VuqDJYn4E09J7YA97Pstp-3xsFNbzewmQ7EsmlBIKZGv8qqx_xQ9govIemZVeMxZgkGtqWYJ6q9jJpFF7CkoaMt5pil8cPQVO3pmkSgt2nBmpYjxX5qqgm_Ph7b7SQwSllC6HbrMCysFPF_ITpvF8uyb1DdZ-PY5E-c5xZnzr_md-FxGh6akG9eHXIavNlNOhg8BtThgutePhEalaTHUPqIS2jBDYC_4RSfWK3dnnS-f7LgfFrLpvg8nOH0gXmg90VDxlwG670aaQ8bHVs3uniMLjs6AduJrg16vGtg_MJCZS2dXXwzFciIWufzQ4q57Nbq_0A-bUHocmpJqMGQ-CV4mMo5iUVzi2GH5qy3IQ85NK1dEGxgE0hLfoC6NjCIN4oAQyri1pU0VA8rFFVRPk_x3qLjlHklsll5HpnxJyC9sMjdxDKcb-hkwAjqMNZRXmA9aJtxhlbSkPvI7sTSeVhCZRzFQQcY_b82vmGLFexI95wk_gZ1Rga6XKb1JnZphB_1IfFkI5_iTmFMaTZH7i3wcHvV-VMLfZz1_imwzWB0Y13gtbYbVsTV-a0XNLuGSSxQmwlGmma2YSOMjXWcjahqdkj5t5_nI1U3l75r8NOcuMAg_GnmMXHq5f3KEj7gfBRLa9d1tIeK4-VRk6biZ6jnqttLnIYPxwt5EqyLVS_8O1K_Hm46hr-7v8-BpcAlbMyPkSQqaWIuVBSAw5Fm3gmdJElBM75HzAH55DfMW-qsCA97dqp4jWUtuVO3IuSaLQIyLTSWwiOb4VlOO3wBITZPCOpvCy3HKI6ahS9kilSyeuG_CVND2g4v0uRHrtsS71ScyS4-NBtBFPlR3L8qv4YuadA20B9T8Y5ULUyQhtoLvUuPvcetUkIsFR3d255zFet4zhx8KnAmAdVKXAvu0FpDnZwufH8zm1og37tq7AuuwGulIr6Ixp8UFVyJeU5BX7TMCmG4qrauvXi_2r4Px6JmKjjCBQy5YfQpS13b_OnDeGgJW_XPXlBXP3P_S_iQtf11npbf8E3JBk1LEwmD16hZ-ejyqJx4T0shZWBTUMkPsuxWBC_3ggvxRrpplNyBIwUUnbyJ_CM1v2aaqJ2CMTT9bA4o0bnE7qJ4P21JPIFodzk85oi6v5_TRdfin3-gMx2brQCIvrHwgugHyXRMBdxmc2RqomcNrY13KnPmeOIc46c61Hln-1NpJ0V5ZV2vNZbSZWLpZ_RUb4Lv_v6XceVslKPKNjG2X6OECIa814AxRM5v2fF44RXu3BUBfrVGpT-RwKCGdrRnd98ibSyPn-8uQGcP7cVTPO8pwdppxIw11O408M-tezrySyYaRWkMxoniPPoEXoK65xLVLREXtCtpBUJzSsyKYrt-baugwrw_e5aqV4xhVoI4PAJyJvGc92wtkiTUW9PTWdFgpb3He1CLOCFqbTw_nmElIsHUb8r7unzkRe8uZsSKeMgTgo77gmWbHZw9-lCaa24D0JcD--E06nKQiGdNQFqY_Lr-KrK5zT_4pYUkYXiDulOfkWWdKtHx36zTKfa27Aq2c-FbQ8Od8f9kr-D524FQ3OxGyySnQNClc0tDjVrgJ_uxt4EVdH-dwL04zDr_jYWbG2KQfDAB7KTNmxu2RQ3QNOAdye4ChGwwylLv4AYJzyS8XExivty0uEfiYMjhJhonrZRXvmu6dvC0hd1Zij-HSiJkujGf-4mSlhw0xsPGt1V63qhy_GwYHetnbPJp03cnVQZ1c7BxeWa5kWSx6Dji0OLLvtK-7PlRbs4WL3OuNR664Xp__EPmrLib8sPVVNzmsbUlAAOxA13cHUWWsvUF3tmQ2ay3oUNRnKhGW9lEBTt5yVfrW7UnhRLw-AuihSqtOUDL845wc-hCS8kxorYbbXVCX6eE-noHqwaI8kGiTXA82weslPpw5DEC_PzWkel6bQeTH_AtKqYF8dXJqoL5HaJPbhEdjZN15oVVzhwIchjRAnKupAve9UZQwKhhOwB4uO4lz00rteGbNAnsAxCf6ncTDJUB0oBG1v2aRTpD8DBA8cx2TKLVwSDXgJDuO8qSz9Ahuyn1NbvE_KWkQNa9dRtlmFtBGqtjcBSah7tr6459xHQecaoif0wD3I8iXpq8UKuX31K72rbyftQ81zs3irx2vOMqbg7RKLACf4kWzIL4JXK_js0s2Y_DgD4k32jqngNlXXnSlKqJzDkX2-ye6RfDPEu0AN2RpJ4lBleUq9tiHVaCxCLDzDadmqYGX_3SD0X6Alje2XWeKkLtAnyqpeop2ohTT3R2rBPZIHsEFgiwPBsQbVaouq0euTOKR3IX3BVE_aGDPaDqrDZPLeYRQDYAqZhxGWUNuPHBdE4XJQ01Uv-orYAa0PXZG6xSF3lt9sl1Ums_LykENb92Ep5P384WAJfenPqCTDjMKTtqu-7ecPsb1OGLPnhlTXJdNRp_6ldRw8vHgK2PJ-ycoHGhm9zNvklZJUnnlAfWI7wJQlAS3D1G8sheCGFEPvr4MFO2QLLaIys9Gj6HFJ05Zak-lrzJ6C-6brafoLwuA3EN7ODiK4nhRcQttP_klXvPDxJ_d1mY52Fhg3O08m5zb1cSH9yrHC_XOcbZ1Wd9RGkvTOS8Y5YvZbuwybuK8p7egwd28J4rQfkRfbvDItCDFmNjAaBVpIRbrL_ESDxbiTZoClJP5C37rtmGt2QevKp67NYJdwl7n5kx72DwwHfV6GQ9W261yOh4F_1CFZlrlgQ6A8w2YNFl_E95Vlk9pu7JjhnSr0sZD1-MvQCswKgb59WReTXMxi9pK7PCbOUqv4jg2435YW8OeDovKYdjobRPYxP9NWP7C0vYrhGsXFWG0tOaDpA-5QHH6n1SksDJSjvtJfI1kySGW2jODUNAls9GbOZ6T6ZQfTho9QOxulCd52zwZsm0ubW7STZBBw16BIFmkm6XsVgJ9_z918yhNbjBei4dC-MCukv048iZGvoWwD05tLvSeCUKyS8JvB0wzM1S4ovofg8-FkSux9RI4OSgmCXldxlpOSO_lIvZ3MxeyTyQt_PVd9mQksNUM9CF_acTOBonBpCMK2JSrEUnruoZbzQqYqaj4cDB8vO5ULn0LM9H03LzwWftay8S8BAppqzOcmzga89qzAh28OfdY4Ry5LRPUb7qGrD8FEq9w8ozvF8kzipTDVJoUU9zTcjWD3YGYr4bm4p5D9G7HAXhN583pSGaK3x-TiG-IZpf3PNVCCPis-yFKxeWotIRKVXkqi36UwoTU8AfBLlIZPdqhn2ZsroKRMj-YW3YTQjfwhG72e8ghcWazXPRhqM0ZJR_vg5XBDY66uyaFzIrUYOjNnlLqVnzq-67IEPlA4J5nW-hea109T43F-UqtkqI9Bl4bdt98cl3g3IY229-luBxMm_yz464yIaGAZHh0Es4QJ0uN7GXm9tTl9GzgPTMKVdCAUMjU7-Ed1XScFBpPA6lfrAvm7Ma4OyqVOatKHyFZH05_SLb3l7z_C4gGUYeUYxlRQYxialWW89tQ49nZ0nG93VCP_rVo13Oe73aapBh4aMFQonzrfFc-f5YhfWcxTLkAEXYjqgkjLL9Sdg2qp4MGjuiWAf-c83YB2srXX_YrIdVe0l4palXo6tl0ls4w5aQ4x91-EP8HY3WFK8yzqGDRzNyDjsHd99iPT0kUmURYD_Azlwy6KSIFTicym-lo8JhP_tD8N6kfJWKpr8M53AwjoUe7aTSqfCZqCxPStHwK0hX9OTInqQ4SIfhvPXDx4dk-Yc2O2bwEpPqBtT7znwDt_Z0BJOq4mvUnZHPu9Lnf1OJvG9fHuWLR4ZI9LmPlV7UEGN9yzrjUZ1wxLLC3QjZaHAQfzGMPIR61Sgcie6WdRISE3lpzYYrX2FR5tTYZASJ-hx0dspDF3udkfWOxVKA3mwztcm955xpBzSfKWj_rZRkDwsovAOKsdIjq-H06rc2ET3VgC5UdkWvxYU9-DsqkEvr-4m5LyQJax00gDSIBuzcpnM49QN0GErKFPGMyK0USqA5PVpt9p_qWU2lFYlgOnjovRI3s-daNAnir5X6JfFcEFBu7WoBRJhOudFceN30AJDzc9kujF6wJ_NPssHRjc-O6FvVQ7CSUoLmtEzo8q1I7yqO_NjrT9oqDlaLC9xGerwNBKU1-A7Xch_C3D70pxtPMfeBfi4xHJl-h5cwAV3US0UX6TJDpv8MB4z88TIyd4OREokTBi-bc_KlUuYvvfIPTDitsFFFbZdRbM1XRSMqC6R1HhpXa81Xc5gG5rtP_i5zx7KrUmshIuO-ENbWKZaGvSB3pmjpjMgP0HClBg_ST9Kv9trcY8hVnsKL2yt1LQ3IzBRKEBvL5L1YsXWifd6mYIBHeoXozRK0TblZSnM87BamLxteFQZaHhsVsGYL_OquY8-0YTtvSRa769L9xhCk1F9jtYsAYX5C0aZh6KnWrgMKaSh0yb7BRbCdlmUMdYJ2zZOYOgZl6CuxFBzKGnB12mLxTXHjy4WM9yDiZm9EH2qlN4L3MPtBETJda8pmkN2RaiA3-rBwIIseMB4CpdRKPOWsvHEIjfrZtG3Mr1DzstpXX4qMkHnifBQG2Xcznjj91kbNEuA4lxdh_LSEgnVGsNzAtyBBjUxbncOAkuhrVZCGeEC8OI9FGczPJb9phhniEexRXrS2X2tjAxuHnfTyGz61BKpdePf3-8o1vJ5pZTStftTy0-r6iubWLxconK7jaAx8hsgLoOpDI3-FQkSwNqxLUaHK3Fuwz1bnez-fFpF9e6ShKpJi2TVG7aFSrY31Uj7E6KLjVV07_3WOyLTVImTHKrq-KzCL-lXXSG3rSWM7yHa9QsoCyoXmGmUkgYBc-dbMb1ccrnfZkq29Oh9cQrsaR23sLiN9AMavsCsoRLRuXrPMjXKMvPAPLCsabDH0z1P9InqX4VSwwVGXY8MKtvzft8azo0tEceUmf1TE_jkMs7hbkWTP8VaUXuOL29BXfWP0IDz1F6jj7gskM7_UaW0uPGLLAwUrJgdt4niJt5OYi6TGva4zzULqfWB5RUM92fIxU9-cJFbyH-_II4V-GCCxxou6WeH6uAC25vzErK3suPAa55RXNN7fED1miGvGh76c4vPE9oNC0L8ZKFgmdO2rymVBMSGFumHtVjNrRvLI7gHtQMgxdYFbDAL92JFy7oHFn_hlHs6hS4-56GZVd3VIy47HBSGEDSG3uq6LVyoyuEyx7RRrBerJOl5_tG9U05pjornPHNkZsH-ovOWA___YuwTePlOBgOPoWsNDhMFBfwnCL8u2GxwVY2KlWqiCLjDZ2Qw2TK9P-X8x6P77gBzBpsajfAIXiTvDsBuYlgZ79128FNTGFd7KdgTdLX2mE6iiW_c_78WXHwfpjkTnWqK6XHvy-Tahz0VYn0lDa6RsIYVsltMMkciOYMHV4_2H8OEwSUxSu69iU5ZpamW8zebZYEfDfAagRZAy46xTeIZ7ol_W8ViO8OQ4KVFKQJLjzjxIDc17YCQFzppg5MaKsHGKy3yw2UTQ01GsEitmNarQViVeMO8IPIcb-1fz7JkQBuKMKQLCwnPH644lD3JX1ViV4TbzpoHQuOicrWkMPoUrLgUBasueJ3X9xATAwehzzFE8G2rSbJ6HaTim5GQ42E5bM-VFv0xZMmDmg4ZVKmHxCgm-c8eoMn3jrtvkhSl_lsTQj15jk-fzxMYkwd9ExacNDC_x4sc5px_zNnTNeVQwzBGUzA3ftRVq2KqbHMsWuEDW4ZbcIITWXqDoBWt_02y58b2vMbFkTkfRuqTh2TF70mM_qpfxkjyxNFIQhxOnHFLNbvERpvI9jQRvzlIZqw-XYOUGzUo1XvkypZ84L8Cvg_V25M_5vxm2icPDZTrgtPp739nygrJdG9cESztA7TayrlREthg7jQzG_X3Ez2KMSi-tZYBz9UCgevnUeQePWxHNb2HmphyvJRJLSVuZ_PY8FaZzVIim7cZixBijZg0G1AOEWLfkUHMjFlr3As3L0HoExt7SbXEVG7hy1qO28vGYs6eUN8sNAzHzmQ3tL0TneGqHJMqiURISHFgjr5pzIgYymtwB0MuZoFny0xSu9PKCsVhW9Ej5jUPdFCV4eOpi5u96xup_BdnlwQYUrOZUKjnR8jQmuOukNtFG0oLjx5J13TZxhHz_EmZYt1E_O8P20V1uKr4VcBQKwtFd_4FkuhkUFUqMgn7CMD0AHSogh-f715F0rbzKP2XotdPLJ1OlmsDHz4M2sKCSBY6rPkBXdAmiwOs_FzYEgcXPU2y3Cc7xaV4kySwF8TRS4APjsDhThjZUyy8f6HGBqBICUeR8TBkpZ5hDRms1shTPwdLyzK6iQrcyvIRQIcUp14FSHPoPX2Fbgxd3OCtn0MZnf9u8LBTdUAjFB_CHZJ25o9FMca6CpwB2Q5-sulg4jitBwoqUfVGkVbeeUws058ge2-m4je9ot-xNO8S_VR9Z5YDBpG5zJcXV_gLr98UEmUwNELFADzDX6SjIM-TWIlqdkBqmgfCLRf1IJ4EwXT1QgHnJhxS_sVgq-D8bJdbj9yrxoFDn41b55b4KqMqselcEfMcy5Hi5ugUH88I1u6muwhTXPSavbsgKkenHuP3xxDd2Fp8S1m2bUubGWH0RjaIe-oyBQDXVNU-r87lFJkzfzuEC33uTUqN6STX1i59r-w87hxQZutLSnNlSzsZhP3a6rUkhdVNo9KsAtmv6vCHK_sQ6EAzIYz0NtHngZ6ZcDWzemuimjNxIvNRcxlqWREkmBmUYRiicRpamOqaSw9REKLM5lA-mslYNTgunUwB4Fvtfz4OKWzjLAbNoZnE4b7LppFytL2GE5w9aGQPW5mcW-vyHA4XPz0wsxrOrVyb-NcRXFO_D8Jda3Dj8EWeMXEzkjlqHw_8p3Tw9e7fj3QScoiFrL6h82VXs49sT6nITgYuqunyDi6qBFjfXXoaHrqUblCK7LzoAVCCDlT-GciAbAE4MbKG5q-JXdtZPmnQUYIKMhclPjespVbI1sfPzBHVXLvAxGSpmy3LjGfLyXBa4Rh5xrWm8r03utA0Ap87AifB6kXUDstYXu7ZvjSVGVjfuXDnZraYXk84yOrOHOmWvjTdyDG6RU7qnoU0MlHC4DVhkfROZn8jT1IWUrjjvF2Bj81lLPvyanCqI2Xq4biCIfgZwUTW7qAKCv0HHlICEK9MOhcJ47Bl4MR8qDwClyjZd6l-VxRLMgkrRaONGPOdQk_R-hf39T0WdFeILcmzzTyfP9U-3xM02ku_belkeguj_k0n7lfKKclR6cwSCiKgIrCPSvzKemi4Iml-GCLNDygXX3lx0Nb-XIf-t1amalzB7-8uhji5IiLHEMpFrnGDeyRE0w31sIJi21FcAJxOf8mGFnwfDrHOrqMF_eAEbc81E2PR1z4qGlykwfBAQ4m3g0XLtHX7wdJMnbm93KWh0cItTrxy7V6YpdVHIwP4uVHnH4kNqSCaABlkadZJRA87lRyoj-zU7Z_01BoroQ-3CsNP67Ly5zq4XRLiLlbSdg-0fr0jHqRT9_cB1MDaslwSqOfZ2yQeSo_GmRAkA2RhGEb4zKDO4XmSM5lhLdU32Hpq1KUtv9UNbdxxK2kz34gyuEqTCO2-Zbh6iQA3LL7Y9RPRogQEBcqYpKE9ev4PO-VXOBcNlzV-rR24sPkFpMuP5_6WBJHX__6KiKuKFdCCWAwBqpV-Ps_0t_L_czpuQu1pd18T4S8Jty-q-_eCv12hDKLe9kXe3xCzC8A_md1hCMq-ub9XEX94mu2z3iOzZTTVwBJERdQraRGDJOIjbSPR6OUKQO4gydmnIGGLryGtWol9zybCCbfYoN2g3qocq5V5Dm4SJ4wGdPlGvKqMQ13EJDTar6Hy_AEW0ha0WzVGYi4plWuyLCqe33VAaVOGI_IJmDTXjlvgbLOs7yepievHBBcv5aKYN8uyPETGA1vGpz7Dq0Q9_uNzJnyM1tWbMQbFuRppW7m7wO4r9mw2_SUX2Hhe8gJJM0Aoe-W3oSQChdiIRzWDWGQ4fKbDfpehBKNtNO87u90DXvcVAozHqV7vFCJr-kSqErdO2jMFFQY9ymzGdrNl6AbKt32pKdJLHrB4zWnyQEJJjnmHsmUQ839Dl0YKq9a25dzdUqRR_ZHut_t5QdP6JSNvx7AdJv-5En5BKuvQdd9yt0J77EW7g5TON_J87A0OlbYY5Kgdx2rjldboM66OkdsOd6iYp-JlHA6g5pSvIF7RU-MZOKDfS2B9c5BC2WRxvU0u0jFN4MfyE4P0oOeO6rL9JPKjdP2xecKumZeWx_AnXHg0NrkI4uwNsC8zUyaP8qAm-j8BXLrt0BJNdI1_KwT-Z_c0th03R0LySZcxwDYxWUDJCCMUiwFHeoc7xptln3I5oM-JYzN3XQ5iEwXy1RsIEmiEsPicbsY2eXPQfqOkB73Bl7VRL0dTjgeIiabE5bUIy-c-d_ydrxZLmYzFCeL7ZGPhJ-xFMNAhcqXL_5rdj_6-tIyEnBrZtxU9QNwb_z6UWYT2prJJE6OpCvy8X74527iXGLSbL-gN56a-3rtXZ1IoH7m6lDsL8ZdD9_6Wl3NryR8O6FIOD9y8TNh2r2Qzho61eU-QYPm3WX-WDIsGKjdwANh1wtY8XU1lWB_C-kYlUflo7Cb50k_9LP8Euz5yssNPbZIS2kVkQGc60xBKuEBg0KFZzRXI5oRR6o1SsFPAugXRAKJRHR1enSYeIOzbRIA0073qbO2uT_-gH7fjv9AuDN5VnuTFVD12Qi4hMQvhaq_A7Y5PNI6KiFYHwSudweN_93txv5IeR--CHc4zrcNRoz8YVUKLxjkS3nhtvS-CLjV33aw1qP2AOBXX6cRpVvymD4X0RvpVLGye1nbFMtz7yis_YF4YVevrXp6c92KsDFs4BhSPmq4s2yoxjSHEjMjkyOymZ8W4v3m7dhsbZX-l8j840ehxZ1r7tdyFjD7UFP02jYE8Sh1iZFHekUHvMHgRsJZ_tDAe9f_vHtSzT-r8JJITvn7e_l_D9kiJV311TxgjNdC5OsBaNX1GrLUMNzkxVbv3V5NTIJ0kvJy4kbkERRgnEs_X08XRUTDH5smW6qngu8i_lLzsT4h1v5ogsN4Nh-gUuBTWMWsUWa4-3xrULzWHOjRlQDKWPpyxIzcrbIXjTe-swZYEmIWGxevFlXUM0hgtqCMDMzKAvBSMgXg_WtcMKGsqYHfN4oIWsRv1mfrYVYbTbLk64be23TBte_Fo76FSq978Q32Z5Rxr67AwJTSuOX5m2TyJ0h5qCu761m2ZvjYzicwkp9do2zKau4ms-nnij74DbrNMHEigK_xF4FjFGJyFOA8iPkYiQq4gEcfXvBHRKgN92QhfUNdWpg3j74eIR30jGOFE0C1ZLyc6ehTc8Hrch53dPywdFB3-XGeidxdin67QN6tkC9s3xwZet8nBB610YTQJg5uLf3elwVCdXAze-L9fAM30Lhv-T6L71Eii6RiH46R-vksUmB08ombQv2LLrm3IqJqU3vuVioaXqlDGn02_uEqzeuaibKyod2T5IwSBkPG_iAvx5sfNUOd5NQfYajRc_wHpr8147sXtRP23A0IkfcPWvfXqHWFFI_cdGcS9eKc42pasE6je3QwMFvA8JLKmMJ6tf-nG0wVZf9ByPxtUbXixmAIBrxUAqnL4jXGVmqC4KN4FJnbDweWMClDxhtIBAhJWrHH9twc_g4Mh4ucvFNkOmKxKySIOabwSiOAQtwckAwpYLZ0EpXYBRat2YZi8kN02ELH8KWn6Kn6UC520z27_pkAtbgE2vMBxvOJey8RWw127cbcVgP54Lr4h-N_XNWZ6oDmE7L8391kfSdaOv3h6kh34c7TQxtRDF4fZnHwa_XMfKAUHD7eDeKXzXejBRplPg47hFJowEP8mPKRuQph1YwX3maGMHOivXPUPix_0Wc0l_e7821piC4Omd6x5_cqciJdG3mqQJVmujVRt-KIPA_YPUywXJs9hBEyj5xQGZlwQ92Ny_v1219bVk8Psf02piMuykrG6v-tM9_eShMYnV0qg-YSHeTdHw49SvCV_h563nogr8aYPebnn9c1J_DglkNYL_gAsTcutkwblePO2u_kHFpIKeLu21kAh7AP1i3j5_HFCxfAD6R6ahSDWjpZrdsIP4n4YoY-qSV3EXr27VSC3PbJdspLKzDoKeyApscBX22HVpzwitET7sS-auyGB3IN_xOMKeX2TXjPa3jt-Ho-AZOuId3FwNHXUeJQ6c74_6Y9pekUPhavhH6NdBneCG9EbeS_P-rYny8jvfHqCZZy1veiCpNpDQXxNOz7cd0qbSQjAVGk9jpt2gBERmGb7VUqL7mcNaXq9ghoohvHRU9VejGRqhEQHKGHv9APkMaK7x1iz3ZbwLCRfGF6KV3fJ5gYUgg-OG0IQJLwGihMfRbfDHppvevufXypQYW4G4aU-JH77GrRApvfLjRPyt7u1W364iEzMy8WxVhbKMHaCCTlGXn6wvpjRzWXPUFoz8RGSFJp9XxPHsOkXZRRJUz2lli5yj4xy7EWCp7NIh2XC8Ya-po8t0VXxk65kcxftcn43gOv62409AorJEG8d4ZGpyQZFwUJa1b7uludQuGV2l1uVWCTbe7-Fbzl2d3pPVQdZkEx-nZiBvgemevXA_aXGQsmN9F78CcMzebBaMgqSJ-1FQm-BjkDdzdRmXnG5wlo_VX1dJPL5dp_f1AqY8Dahc049-jbQyYQ7XnAWNs3xAt3nxi0m1spzeUTtWrUYMbeJjb7FYFVQYBKS--MrC7lUdEYVguoTey0Nyo5dr-DM2TmsoByrH_uhQg0NToABF7D4vdSP2kvqKx4q9fxb2Nas3kk5VrMZityS1kGHaJNSPh7NHQ2BHP-guW54yFHFBDRwTDe-kJR_3peG3wpmJwTbVROq3iY4ckpeDgE0FlHpKZ_282NPmGm4FiTYg3xOGcDXf1ay2ASAO4jEXzd5FNnVdsx17DZvbXpYtjNDb0VeMn4Y07dKieK-CnS5h2nRU37sYbclAU5tn3liO6y9_YjLIY9ojDN1tZbPJOnuxfoEdWKwr_77DS6k-4w0ncSYJjm2tbe-zFzMlqKLt41oVSsOQbn961Jzs2QUB2JzTQWWqtouKHa-veK7McfYCDxFVmsz_3_O-UgyzChNJccPomGkPkDAL30Pn0ai_3sfBBNXveU6obs1TxvlXWbOXaHY3iOvm834Ukyh4hYY-knqUixOIdRSH6wm4AmJl542VA4yNUzOv4tAJ9HUjlA55IlmKrHKCyE5BlqK-GtvvUE5jYQ3-gG983QbjV7l-10wtUT6Q5AVVmuIkTBQd0Xefb5Y-jfUvPeNjAA6_aHK_j9wdgmk0MPZCksYNYFPaIZzvJOX0wejeJv-usT5PTgNo7YjgSgFmevUyaeAbYAIPj1j4AYlT49tGLPZm0ygIB5eLPxRs8xjyFvnWSfh6FQSPoaA32vhQPqvV-zqClVIwWPSmF50czo8ooYdjFXy0Bb047CMZU9A687bn9kj4biUOo1-IaHrC9OQV3EK55r4azktKbPrC1Bhj8Zwa0vAsU1fPj-LnNrejviFEWwu882ij7B0RkvwYNl_NAcIqwaFmSrbPApaJiP-qYKKxqpnP-GHO5VqPOjyJbHfvXHYIIKLoXPtk5gYTxKaazulc7mYtP0c-R3SxVZ_Soi_iFadH8-lennJibMyRQ8aK4XKPS5J_6YApLnaNhUGSeXZhmmlRyMLftr0QbUlbFg08uZeWWw0_i6P8ZFQa90h8fMKepC_zgm7pfYCvKgzxk4CLrvwEiOH2imh77HPfZYaxUNiRE6As31teSRjFgdQto7iZMq7W2jG6IRCQj0QDNnyySNQFiXeec5-oOfRHhXktImoDyQrlilJ3r0AGeqVd05iv67yyiTJZTEbtAWtn9O87wSocNO18gk0y1l7Ch-U7HQkIT6XrpkzxSG4pXil59eiMasq9ccHdN3IYO_oSKtF7oM9bv3UbUEQ4l8hvIanenRlzt9JqnbOHzNfvs21kDfc4pAM0b6UYeS1x8hQrbj_LY-NuLM0zZGWebbbmpaOrVNwvx1thy5TY5obqbb70laoR7gxxMWleNyizQxPOkvRKZoFwIEGrT0n5fYjh6oRt5TJEKcqBWFh3cQ0fIJdm5Pa_NdN-0cssbULOYI1xbirNO3O_mm1Q-pEh-HvrXmSJ-55fYiLJmygICPTszmnK8lTSrooIsMlzIb5rebummaiXIYn0kqsBhC_FnYcs2BjoufZogPGzfI-JSdCP7AwkykH6l27XjSH6aHHuMrZ-Uq9nGMEv5QO1ctCE4JJQltLppdf1tjkjJY0RHaZnWFM5iJyubQgnUOZb407SZ6sS7juipuz281V3gywK-D4d5FUhHUNbTg0U3vYtbhZGMIF_jLu_kfD-nPXrXw6PdB1jln0VfMjQ4aIEiHsLi_vcX3x6Gj05IHQjNyfFfSy-E7BRvICGg23UOKjh5nWWqE6Tn6QJ9BPQAzQGtIHH0q8YdfW7OFYnY7bBsUQHg3gvkcVccIHatT672TPFZryAxOjjHscgNC-IEJk39Rf11TbOlt5WnwXJqkV3iAThgNdu-y69PR72aiyw5KoW5UnGB5aNHkFg8TRGymAq4JrKYRBPqF6UpCaQdKdcUSN6hQW59S79DQ1jZrYFWB42Q900pD_vfUvS5tdBwNuUMXjzNJA0bs45PV_VOTQuUnvxmgggzay22Edbttoabh5ee6A9dZ0onVSH9dFMmQ-WeHrsdzutjjA9z_gDfS01eXktID0yUeOpJhaXwjFCUA7Z7tRNA7W8qV4lnehoQSl0bu8PkFSfnzuNaSAm0wyVDcUdJUADeaThD0cnAn68SCwKy-BQ8Vs4tHdL7h-Fd72MK9lvX0GyMntELm2ppcsd9cF2efehawZ-Ad7IPah7kds_S1tOvv_qupqjBu530Mo5kVTgUVq6zp6khcJ6i1R6Ly8AZJn-Xb_7hGoBLRG-pu2NB9vu081q0caQybXx9Dvv-8__10dVrlAvum4fSSUqM_3hWBtsHtPa1xXqfAJnRcbV6aLkW68PwvQS9YQWMXTZH_q9SLLuvjFdBd1_VHKdULuYfUs2dwdN8eNlMvvWM6rtlgPFtte9O34qEfICNoKPTTawn22BBtHo7X1jUhe0La3Y90t3E8xEIAzgvh4poQERPgo52hRiJ5tYwCm1EN6PjhT3nFoNVo9OA7bhi8B_s2ocQNChurLUkV7-rvCaqekMpYqQQu3v2VnLnfB2YgsxayiqxjUXhboGELpW0jDsGDP19rYNYZHhE6aHJrRPXEPKsG-uvrgAGsxwUOvEXeaZwxFag8oWgmX_RfR-4cwpJvFVQBhCr988bNuDLVAqfYoby9hRm7gbMZOWXn51vaKzY9a4I0e4vwa2OPGPziuNpokOqc-SCMSZ9j2V6q9H8YBw7RlCCh2GRWomyxaWBQZPIqmuHFTJvlgEYTbmuE6YUx4aeoYeGwCbeBHJIN_o0j9fkdMnMzk_ineDYUEQhtseqmlxeWFhJllCLJo_3ijC9hI7frIHFJS8-H1pkevCMrHT7pVoRyt6BBD8C9W_KTdZvT2IyHzu0ldFz3RQEG0_Nyz2MFrbdcwkZyTaLmeWagdwmIOMIOn4fCxkL6w40v1WFEJ7o_YeluFn-TI1lPgoKxuNVZ7TAHmIlQ1ZmUxy0Ab8EfDa2HDeaULrcqejrSvQzrc51fgoQsUprQgFWaTxeL7EDPMd1R3Ooq4tJwlgCPMzQwZyQQUWNEMDq4zMEU20Q8rjMZ6WspSvP5BkX6zcmro_VBo0W4oRrPp4juKSJ5RZ7_imiPmfA05q1nJEtw-40OzVexQgNRJWj3F2vkCyEc62Bss01Heon0fQvBKaOrag1iysj3UtHAm2w_dBXNlL3_8VnSdy91p_gW0n58Dew907hIVGUnoh-B179FuoZB29I1odf8xNMYwmxUZ7fk-qCw-S8vlbS4gPmcNzgkJveHp3JPne6slQ1Sipurw5atxEJB7ydcIIIjad-vDV9eNTXTDTdynBbrIWgqMUOJGFtAESL8EUNkJqQ0B6K92Eu7MIrH6aYi9lar_h3Tf0kJ5Irb0I7e3xhsUYsAGfXC1s0-sKEUcIYLGaZ2s0SGnmx8rjZpQPK5nYMV0WpvV1zZlt9jDtghDdF83UB-ZixG-XM6z-kqp6v1O-8mOTKCT9VEqmsPD4Sd5JsQ1UmeZo9R2pGNwnIadFi6TLa2PEPr2-a2ySNnMBQC3ydhv7DQEmi8nXcApV53wXyiUZNW_lZC_lth-NMDNr_lavAT07TFzG9rNQwhH1WmN8S9ZA6Y5n6DCx8BN2zavnDIMw2nURHNyJzeffcwg7CxYh8FcTCKpX2tYJsBuGWRttw3iuODktSkU25OixTYs961gRy-IwZY58qs5wjcNcJnIlDFzZtA7-YfmATOGm-sPUOs2gRjcmgQs1ZubmFlO1ReVndZa9KDmtlpiu-I0LCEfaOsgDMv6WcfZ1EVLwAyr6rqrYE5SPFBkGL3-s1X55tjTpefWMgDJBk0eE1vM67sHz8jpoSYhwMBfF9B_Vg4pR2yeueh_O2jYPwBZxuG_tOZL0z5e23aJELI7m9W7IrSoT4ClWrJFhcg2yfDJV9Aa1FkQIKHubX1n0avBu9vngKguGBMmVi9w66EV1hfZjDhssAOZYwxvg5Umr1lNYRD6D4T4iUOGee4nA8yXUacC85N6IJuqS7k_LbKG2yserJO8izRoErELBPtcDehTftrT_gwNYgLReg5TSEvumYFTT-kMhi1oAFe48noAAwJZolNvmG8xZbXkCkkMK-x-KD-8Jc2zwdrRc05D63ZOTu7UBYGEAfqko27-5IXAXTZ9NiomBYYzGOX-VLNpamSf4YVlJB1MXPEPG7qApFbShgW9DDnP7aBdjgORuWZGog0AUHYFFwqGDd4yZMfw5xECf3tRWQt8es282dtnBfwKFJ08rV8z2K41s72h7Hnl72qGnvnmR2cldRYQeudld_eybeWX0CHXyPKFjK4pPPabktQUol29WMEzLxgDI6R464i6QkL79bq-JZbmSrL_C-hOUr4RrJUN0jquKIwzHWAk3DO8kF7NfwHCoQix7IQd3m2YhJGCe6dF8zr4AweW812wLNmd15QBZVSf6V0oQOWGos3sKPi1XJEQnluiYt8_rFJoe7J2OBhyj0lxdM8ljK8-xKw5ssuXKL-9Gweg_893YgEOafNEXbXvyWkt_pk-ABL8oPOXeHAIsSv8bg1tw-N2ydTvDxsm5fh-pinDIpqXl_Z0nhRtwEGJH4kY3Yl_XB8mKAjngMT1QCw2wIryL4nwfxRaKsfOOrYb4A0UiqQS42HaedCn62y6gopHartRgSSACOIjXvkk58I4YvGGzXdPgPQP-EU8tD-mANMW2F02ZvMqlYMpigRxYBqczxF2huz91CqwoV2Q2J0gpdwe-bfPCM05sjzhrCCvJA757aEV8u1oSx37YyZPlyjXNh8J30hIcOWhtYGKojyvwSp3RTRJMQ8R4owEOKxdxObrfCkjOtH7UkFyKoew8BQkrflAoo-0AKVoWkWvRdjIS0hB_7CMAQkMFhatvYyDXDSVvTsiafVzMqTCr4C6yVhrNApWNHPbFDshX6IbjPEUMGILDQ246NhwjyFnYy4Usb6JWdYkZ9GksFIU8sFUqmWRJc_XGMJVPrSRSWW0nhNSQqzkqp6XFSB_koCXZCDZDdfDn6gtKWgY0QRTLuzuJALSTIUDR9dhu3fxged8WI12pm7V48uWkGaRQa1YPoj6KWxG31zTMqWwysbKuSWduQJ5B50xLPq-Ui0clCY2Z-m5cejqx2V7-9NsISnWgQ_zgr1DSqAZpEvGUaiWSlcZN5RhYGlKcTkmgus5W77bVxlM_ZagD-jxr3fQSbWx9uQltI6rXAJBtJepa-9uDSHFnKxOYYE9KMkhMnBH08lfIi4A451Ggeq3HQeBWbHoorsZnJWmT4rHZGK1ap9HwaHUs4HtOzzmf9018Y0230awzS_bk5_IncMbUN2fdcjgGMfuv1TLoPlRmQBAHWsfeUnBwuq43vXau7tEdwjrbNhlPGnNMx4yi-31PtcJSwk0DjG9aMw31U29VWHDH4Ut8tgUwNT3EPMApfL-q09qZNlTVA-5BCnJVcklHejPV3K76-lmd-fO6C8EnTLnn_NDdACHG2xYUrwnieYrJVl_VB4helizbWhFEWLkrMwVoGad3nAxMk-xd4iLVethD11E-S8EbaIFmOGcbfp3JhjC_SnM99HtlACdn-MYvoH5LJGM0c6CkDc-FrfQ372ZpkGOfhLPsTDQQacWjDjGn7FmiegPW-jyUqM_81FUFlG-ChjHSiz82tcdGeoJBBMmjxiJFWABV9sdEXyaf4bqtbmdCGRs-IVsH2QJVSTojJrIygVutfh-qzDIQXxZ6dH8cBqCWt8OTw82d0AvUz-YaKOeVUURFGeL4_XKJqkjH2ptQarykS8eHrRS0tB_g8YMCDNVLRJwvBUEgT2jRBJoODVQHdlknk7_TIid3PwRDbE7wd6GwVukSNqnY53Ro7GYNpQkT2yNDl_wg5T9ZOz2rtFc02zmzRb16vLIoisngLC7kH84mg9UuKZpSiLOoQyFRDDrsUwUMXwL16CShu8c_GOgz45mHCHYKg_q9hppW-xC0e3OnTrSIHlCnEFDalz4P-r6XmM8AQOl_ffbcwH9T2Ey-Lm6BTK_MyIjHLjoKHfDpTpcA_7Jp5JxLSc0ZP7udWwj6IlDRynn4uqGuDC423TgmMmRcMwLAnE53w8wnia44AKo8wuj5KphHTIJkJ29OnaBFAWEdeIWOy7LmXfcQof2bFU5e-xI-9OHUMbw0Da-IuuQoYtn1bioZLqLquXzR6ZrdaPAnsVV7-0Go3kztn51qQgeXNJ1hA9fxBNSlBlfviEb_SUdV10xusq_w2UBXnr2nJp9unHLL8W_RAqSfMgXkpSuArL9oNv7q7gDJAd-smJhMVdSZpZzrk2BHi20A2gn9ptBUkuv0CpB7s7Ag3HlqrKUmY_nE599yfOBwsBPgZgB1UM3s42e5qNl_9LCslBcjywpvcWjIzlYFzgTSiR-3VvyzsSMkFOom5aj24mAlbPjpXp8MOf8K6IpWn8Pp2KCR0nJYzpqQoha_aCN4ryDmPknOklWWap1NWEsJjM-s-nQ6wq-y1D-HAkHdT2wH4KX55ekESAsipD7RjGPiYINGm9ej5xY49a2Be7U5gpZW-cI9u2VhAxmp9o9iaBDdy8f8sGwFUiAjrEQ2T50Ge6J6CQYK18TbBAGtITK5TsuE69D172h21piNs3clcjNJbjqvUHkMKQd-jmNVoho5shbLygKR31jimWqybeA9-jEnXcThdFaFXfnRky0g9P9VtrNmnhkNkTc2xFTiFZWl-Oawhn2l1Rfy2ddqkveZ6REPf_wIaM94ap6CWfPyOaAvDUUhwn2AEfXU_LtxJvtMZujH20h1dPDV5GK9zfbjUsr9jOND-sSFCYE32hXXo2WbqcgwM7EbmwfIfF15cIxSrySr-EESs_6sjF3AKlCxp5PQPaW9FA8aTmLFA_BbY-l8kqqiS5BObz5KHzyoybhDs5nR3HV3v3xvnOCCy_0YW0eyB9IiO0GLHYl4Ro16bYRJiozGq-WLbr-7iCNo3PW2vK5AvPo0EovVTfBNaUwYc02xbC4ZR77u8S7q4G92ujGvvRHCTaRY1pmy5O6MAu71uGcA0-24PWZP81RHkh-2f-6A0ZZ1vtcvZ73btRG0jMNlXBcI8Ilv4Z0xbUvSO8DFUVegty9kiHv23Xl2bH01uJd__9uhoTYcqMb-YbTa_3mHhIyjjauT8mp-YZtTbb5DuK1BD1FfjP8zGqL0V4rzDdn11IXE_pRrkFsDXX_LBu06xHLIgY6sUU8naeIIPPbz3yP3J5w_lox6gUUPQ9NAINHwLzNpgRcB8pMWF3OVaK8mSOJbYFMzjQdxpbgj-EPXz66tkqGWX-X5Tf3E7Q7WUDbT2Lt9iTeDdMLJB91PmithjM3O9BJ8WU35Y8RYorwGLURjZxJksZ7cMJNwWef5dcpMFq8noXPh7NFtVt6LMPVQMK7PBv9NaZEYSJth5WYG5_Vw_JqhNwf8qdW0bmAB8LIo0N7K2uYFRf7dTv9qlmgA15vfPlLpDguoQRL9nyidvlsM7b8fA7m71rxb0PE662vWl28dfIUBp8ejyclRaGhPkq40nI0EWoXW6VFRuX_BGnJ9y6JfD_6sf_z8KTOJjk8l2hpvKWJMjPNL9SNNAesuuxqMrpvSGMDXziix_d5DmMsY5_eM2tX7nM5LSm6QFSyKCJ9J0gG5oBHzvZceZ9oOV2MHtryPH65_t5p0H94KRTRbg_7Ca6HRPlsyRdSI-VxZn5qRrH5bWS-is7FROIfeK6VZ1LIUosYJFX8dFy2xvzukiPzs3eYmh3qNGejHDffevIM_3ORKyC-__C6iEgI-DGKxEkXivAOHNj-64HbaJpxau5mB2CmfPJneOcYm4KWzJYlZxPwOpBwTtkiYe946DPFO0IHgKT5Rr3H1Zp3YYY5PwBXEVzeLSjqPB1FqskkA2yJkvd075DR1ixez7PrbE-APIU6Sid18tJdgVbyKJkLN6jyM59pLZfyG0MkypI_QoYaEjyD_RrKZhR1IIoYZR0H2sT5oas2TuLJ8JK1cuaYwtyOneLsmSj0WsxGKGZ6dFqfNqum9OfHmdOx0SoMTpaL7cZDEhEV3tprXD-EI7hg3sKmAUfBZABPdVksSOFAoFym_AwwA45hEX6mXILBs1bwcyZpRG5EnQ1tDa3JfNYCMaJrHCb6xO2NmuWyPf2GiMrIQ0caTiDsopH3hhGMV-G5V2X2rv7O1CeGAsktmCMdhM8dkJJ_xt4y4QtxRUCyvgvMuf43cdMJctbn3CBIRU_6I7AlMPlcNP7xjjSkqQLPXblVGrmNR4qetHD_IxWIAWtwkXAszTHfHHYFPL0LIzO3ejYzgvKQb8mqMawsLXIdOT1YIfVIxdHN7T2Aydom98yfXTOOEY9u67s1fM60goqv3XhpsRqZmAXkHDI65ofBH4gaXygN0RB6u1gfOpIaAinISIe2InHE-m8--vukV0fs_DJ9FjMcDlBkP-FvbPrjYutUE1FRh01m0y7AeWZf9mcaZVM3su1x_GNMoKo_EizH6oU2QAv7MRFseVSCc6w2M-XFh5sZFfvpQaw1DmNnXFnqLgTB5zwwY45EkR_QJbiW_r7SWBIBVphApikQFn9TSC-_MnCTYWUwrb2mGD8wMWMLeChOB1lCqnbNqk0QIqV4Bqmit6pXb3IutmP_1NZBeNqAChjztN6iZ9Wl1JSfAPu-ruGmW90C53Al3I2Qv_cZLjamfuoYmvvHupkhdo0TbuMCzTk3HtKM7HDwRP3EMzKJmVHWa92TxCDYzNbRbj8J_3ZZu-xT8TE5-zm2l4vaukDqsheFJDVWzJdFlQ_c_c6xSAEzIdhNfTdI0EVnNyQtaC4yIpTtVMmBURJU0z1CBk6-3UF6cO0_kEgiDCE0PtE6_-1ApJhQD3gmdgsyl5fVdwA6KyfVJn9BJ5LmPulQvfC4T3EtVgjdfCoo9hOxrJ3R6RzzBc4u1AbPK7pkCOXIUWEizztIZHOyBUOshuW-NSH4ZQQUY_UcBR8lXPOPHR0ol1w5NXiezUpQ7TrEvb223zlJWs3CvndfOR6n2MHTNB2jD8L8YBR33eGMOJQmsNdeWQ53dVsKvzAWwjYQ9Oa5ZvtqktLtlYgFQiJEnpjmCaXzsu6pu35jTAUemYR4IFtYnPoRb4JzzgIsf3rx3CQDkDey9mzpg35W7Mv4alEsypex5E2hCQYfVIEZDLZk3muIPn-x4rxbiTWKnxiS85t-ipAq8l3XDPgLKujjK6F8ZvEBNccxCfE-Q1aRRN77vhTNV7so6NLqlhzi9KloKC_CBuZmoYCA0tZX-w0WZlb5RBTtyUeSb_3-SZTGK5xMfBgDTI3VKlXCsh053YqOjz28SJcNCvvdnE0pMON_I4ALXL-RPJOKhn1ZxuIS6jS85VTp-b_cqjgIageqg3Bkgsw9LYUXbSWVQhn9-sLXw4EfVO10B-6NXU-FFT2KiLzxK4hZ0QrmmEl04GENrPbIduz0DLpWIYA_tdK2rRFvuEXu3Ov6uLYBZ3Q6b9NKKfxuGcZ5ZvcEs2F9iBg9w3MEy4gQDNIWTLz0a4WaUX5TeV2WvqsjXWRb69TkvKNnOLJgh6syPTqvFsVRUrHud0ODvEOh54ZDFWeiXfcd-qp7HplXR4wE-qzdu-1URriDN-5QKGm3AWRCYXED7M58GIdvpXg2PdzdkZLxdQT_tD94_CphTR_mzEUi0SxlN2_GYVtH-sin4M9osrXyGdqHYu9-g8MA1Gn9PZqSLIDcXvXu7EGInVEkqN0A_h5xYPZX8q4MMkbwTci0d2cAnxsgrvhbX1PpIvtLRZUHuFkd7Z-a_pH7D37sum0aH1QW70siU2Zzs7MM1MLLarb6nS9Ki1hmyJ2vHIGWsVtQg55AHscTh_Mx9wTQL2xZ1mmGEk706ykmALfZA6UDs6p5Lvhb3xa3AcjeY8mKETwGzOnoWhd7iQP5uil4ncfcawsC5FLO1cHGyU7GAA2O2nXnvyydkiAtaZusjn_9XPJrEEZnBgCwTHh2cWL4m6dXWSJTvgOPLVR27ducVzy2nA_yykvOdd5bmdOzYY_LyfMBCDbF3bpbuLUb2IPiWPMA51Rk5CJDseAgmoaG37pNXrjWsC1GLt3--na-g0jT7Fm71t-Tr2IPSUBwgi7-nZz-5ZE_GPgPu_fmnNxDlKP64ABazSihtWZf763zPa9d11l0l_ud06nLXQECTgm3gTJacSw0-en23tLUWhxB5IQyO9hIICm0PWqjVeAc2lDobouMAsCt6YBdG4Y5ke-4_lY50-ModZZeiHsI0eZdgLpDvbSzz3IlSfK2LhKGsGpYLu5HjmyY9AUgk7ZV6C-ar2OPglFpj9lvp91do4KbQcyU5snTymtzbqeepx2XiBOJn75DJK09QkVYbKP95X1fTtVt6xVOI4QU8gEjOeVi-u2iZvs4rXX4rjmfRo1oPEB_yTUpiSeiXcUZFybPv6kRDBiUZ6j2INqrQtTlKEB__Kug8TR0NI2kU05mxYgCv7XM4xMyvq2tBS4r3DaQTMHLV4y0qq0-nsN16dJHhywv64M_Qb2rNJ1nPz0g5RL61oqH6AGEHTwTb0OkzG9sXpH6kulrv9PQi1Nkhp8YDktibQGPUxumBGKx96h-4RX2XjkmYpDvpOhcZSabc0oTMFFhKYTMFB8vGVwuERQPvgPchu8wAPT7xW1zsmO_jgS2XIklloXl2VYMijwHukCn-RN-JzUlM6Iq6KC_DXBAmR1tWNopNVZcK5giKfgZLB_hqxjNzIVctks2Syf-hVU5T6rwio54JymwDfnPD2GKZNhZdaDQk8YBFI-DRw-WjbRam-x1ZRREznZxIQimeE2ukra6fyZJzJGf36tCL9pXorgdOKMj09i_yQmnhm1D2wOcYKXj06T-wzY5sRBSSo34wENfjpC2tA8a8LHpBOTJTo1ByKM-BKE79xLE5ztdr4UX7ryk8x3rLt10A8QcllD-etOSanYdHf14kAOwHleQmajUn28adCEayNhqwH0C4RxRn19Y3np--BzjZV6P6y-FN8k7bHKMkG9p0GbKBhTpn9vSimniSD5XKIMVbfAXblwgKT7pscurJZj9EtZpAsWkZngAXFZXnD5xw1Gs0Otah_cJf49Ib3sRToacZ3kWTKY9eqaq1z4hPpurrutA5t8AqDjMSpRVR609CmExil12IOgLhrehLGIfGO1zzaexEJCs4CFQkG1dl9QRsKCFcNyKEXivC99afmgqi0Xarg7r6JHrlmL-M8kZjhr4-VeA7pLBVy7HwtZi5U5syutkroqwybgTPAmI7cWX_lbM8DClccO2O-Ee3JxVSKXMEA2yn5SBK6NqnsMGHLKl6rOlw7UqodKsvXZWfbhnWqYgiWvXoPscCuQ_AJ8u8lRIuhyRA4uuK7bZaR_Xz3wH-B2q01YdCpBe_pMYwS05C3Xdf5pnucGUQPIOERL3HP2bLB0D8ugEQy6KZL9Kz_wTXmbboZAeNXFJw27B72YD92SDMmvbdm0Yyh-4ZXDQ_L5HzsYz3SGYrAGTnX_uhwSGeoixqAMut0NWo6yiKpHUtON2zzfoY-wm1GqinOCj-bNtb-ouBLRYzFQ_CiiUIPuYm2o_V1rtBwq7CCqa4pO_L8RMmomXfCTbDa6Hk6NF84BvQYijHGzT0c3HFAmX0DWrv6M7FSh2EHaeuKvZKyDtx9TYASNbXrzEQhvWPJxKjBGjREJyNT9k3xJ3qUJHdwfJoEt-g3OPPkLjH0YAp4dOfv9FmtGADTg-tfPw_9roKAd78fcu_1ZRgJzeLWSrZp17t5jrecEQiDnOMB0SBteULdQQYa95bcWytWd33r_bTbDq5hOeYr6U2jxYbxj6DYuSRRPSRWvFvI1Os3U8nvQgnmoTm7G1nP1PjLl54-k5iDo5x-abuPpzaqRgPLq2h8bJ1UvG8jkXm9j0JoW7rfAqEiesPxydBUVjPk9Pv_p6EbKyk6KEt8d9hKCelyaxjOQA1D5m6YacKfat4ZQb7cf2pl1q1HqbztJHu33i_TG6a3o2ksbNk9LNA6kQd3PYkrGcjtXfxq20K9DPzWah3sY7ozwlp7kgWto3oF40w-4REgZSpziq8gcUtb2B99OongPZT1gQAVRTdDZ-v8Pk7BA2_1bXIhCCm_JjA7g6y43eFR6uC8cslzMSmX9siyTuwBZQlxmXnEggLb6-GxhgFZzxGtUz1zzZx9WUQDMxlhpA_AwrtzWYpg0Y1xhY2FbfCsNcCe7Cmw_D__MFkataNS1n63NZECxNTHyrxj5yuqgtIjP21wslxxFVl2r3gtAYPDrQ4c0yVLBN0_H2YQpnBpb87stUWSVMQ9-FLkKjpCtJPzTG4uykWvo-6nUpXSLb-d99-IxADbcGyw1VK7e1K_doNvjfADSv3xxGJv5gQ2B-hMFQ1NNjCRte7GsFPA_VVLqnrbAHLhtr1pO1FGXVbF1WSesINuBVPhQyXI7eqwPiMr1iXRSBxh7zRaNynuhsSianwShPlcXm71RKzY-oY1mQZAg0onbtKRSPPcIRX3iasd4l0lYHZWxHrNQ85YUZcBHpYFDZ5O_N13eitAB7vJ-oX5z8-mTp0ev6-HRGO-6dIFiBHQzoZCVpemyBOJy1DQYkxI5XyhZa8MHyTW8blAy1suYiTZXFtlQixgOd1_Vg1eeCHUSHE-FQmOo_YzqhUU5T4U32v6PeYjkIEOjA3rMh02BURyJfG0Fu7zV2M6tiv_JVkMmj9ts7vie0JgiftPaTAjC1HZx8VTqnF31VagUy9HcjfD_O0jKIQjx50vl-WeJxU_NLOJvekGLosiBFpiLqY4bNfMg4Zw9lL6sOvy524FgIyFnoKZwWP-ony-B5gFvBw8ossZrF8GJlEcOnrY7vA2k8KS-PR2fjEbJJSnul1HXzddQT_t6wvEQcHdVmMkvgowMQR0robALjM6HcaXJG0b3o12yVnqBdTymcm6vG3dYFO7cRncHlXf3FVckPsDX19vGiVmBXFCTDYwRLl5sG9X0rli3KMoF4zjWE5730wEqoLlGYeP4HJK36WSKTHZcJHkhQqCTbRjPq-SGad6EVGcmNl8CcOW6tomsTgGFhTO08N6DYGxw1Q5SzX1ZzoOfmT5qLTBYCEsr4hC4748gb2maskl3DEC4KMa4SOl995jqjGmQPxyDuPIDkxdZoCAp1F403LVZbJb5NyQrK77R397etWaRkeCFkbwuksZzWePQEGZA09_1ksdO2hJ6zCzngUhHomJrObvKaXwKrA_TLOqvDMr8nPlUPhymtbyRC9G8P90jBRQC6aoG8HQM7wn5AM7H9fD-zPy5oQ_WGlmCWOxcJOyO_-VC0VFmgVS9ZYyyvHDwyAAdhUp-cjihCMWvCj8amHdhkE2ZJouGd8_-9xF5tWjwfkBDEp8ZxoeIlNOg5D9pVjHrt8xkwSIR6Lk6PaPcqNibkM7TFX5dVPrIoLFAqbkaeS9_9x_0v-SEeTdaLrTpTvBMyFM7aH-fzR9HciOv2tSjGs8AlfhvJC_49NtWc-bfM7j2y2BojsWqp51S029u9oO-qxtH1HlMKeW1gfyR3i28eXGzamdrde4enbVfY6Y983XjyKew7bQAAOUNna7tTtDxUNQJWblrkeoUs1VHqNCoVhbHzkodnCZheV3UzbexHi3Oq6QtYcf6zrkgHLT6ibMVh3OpvMXgEkUXBUXdF4aBy_SvLZ_Pgndrv02UG1deX0--8jxA6kbApFMN4hU601Zhww9LxXH_mTlYQvjsC7awyYcmK3N9NIcfBPFpjc6B5ZIrKofJ40do_OgiLKYCCRy9C7SlM8-c4QnqeMRAPPRVlEc7QJPvGLfIzwFd7VjzcGNBhsxgOEK_jZbIUsW2Hnyo0XsV1HSXiDq9nVFeBQkK-e218SzSq0MW-ZuhTgNyk6CFYZQBT_WsBK4uBFfAw7HbDDB0ohbl6gdkdwq-3Fjv-VFOMauWSFbams4RwWbBPTQeSY7nQ96xOTYghpYeQYyUtukr3ungEGl9VL_3DBP6vBRJOvRl3SRflEXmwcLMzE_uVQdwhri4Nlejsb_kKnu1bHttRnLwJmq9W5U7ZwETSvqEQKsjyxSK1ad5SFxnEIFFvEfcI4XD1Jrz4XXGslOGfnx1iirdVZUthjpaD2k-6HqgPUk2eZoDWWB92NDnyW8xSCK2dnbuike0RS8fkVbXlcsvIJgd8e0mHB7IGTJA5vhNj3GEEzqeYe07T7DePzlZ3FCzSWy58zIrZtwFkovtl7zYrM33zL6muwkO-4WjUrlCaXQzBcHJVPn7xCgQTlFbwZRkM748lS8dpRx8GZo1LzWlQFwMUexUTBwpqOrepNi94L6pMGkzON_x-Nrj4mxQFcZZSliMD775x1lOXucOPSrFCgGmfMCcaFJOwTmpoYCStmx4y5pMohyw88HnkQLJaFfgO3jCumtesuDGEzCi2ulD0O7FYXwK2u-U43-j_Tpe35StkpOP-FMyMwJAklHaLYvoE3VwpQfh6wzne88_IwynN9Q9zclQGD94LErWiX6WNNs8nJ5l6l7RNaler-koU0-lQHDxkZGdHWaddkCWfLOcJZ1YDFzfzsDmGNCvxdYcgiWUoInDXBeyUoz6p3ogR7_SJsF4j6ZoAl2CbWpsdtSkCJzcBWmebL1lRoOjFtsLEyDloOmhepwsHknF_g1KiJD9q9tNpnLclwnMbEbE7Gcfhfrkf8eUS--tUFY-jMF4kEkdqE0x9PNcMwMsIphmAAURO5opeQJZ8bJVxOcLIwVPAnMX6mQ8IFHWjBwePjdLM3arUua7-l6tsENrWoJQVhgntrJJFdDC-C_-m7apCspUh_Pg7Y-I08yliXEzuFis_OkwM_RjcMv47_LTY2Un1BSqbJh02fFLJR2c66uCFOxUhFBFiXs-eDkYz9aqj8nmr8UwWGC5WKQY4-DJEfbToEvpp2xVX-eJlflfBfQQ9lRR8NMEsOz-8ZA_2AAKeJAYT8JGhFCziNsljrN5PQk7mq0g2UrKXgtQqf9L1aqeukm2qCTsAu16IWHXkeijX50YvKg7AXJVFazEITcpiAlhYW5nKjiZYIsN2Jw748_RHlhWRsJ_K35tfctR-9JBMMM4QslSCTTCHnfplsm4mKK-nG_JgDgJ_sV-Eh-P7ziI-ylhs-5BbVxzPUD-_vm2dien9gCqCPPMm2cD-vp--rRnzQQyt_C67GUL6An3LkGdaPecWzOZrVsZYVDzeU9vhDGZU2XZKK3fmbhm6UBBbUQ6577OcepOFJ4UnpEimBrJp6Jekm2IGDK41z03Ayi8MhCQLSUMGGat-oCHRWRPLrYEDMMavMF0kky5AUVkbVoGue7WRyUGnEDJe8rEXVLiKMFKNmK8QlsENEyHH_WXXTZbY4pZS3CVRqD86FgVy2UEC9QnCHvCrUkD0UH6Fz_jl6geVTcVYTe_iqLBoceenWVVoHLjUARmeX5xt6OF-vvtgvtbsdzwJ_AqaUwbqqrkK0KOJw4uMbOgsfdbT08gJPLa7H8cygSqdGbiKdONUKO2oYfcMg8QqksEcoVOsSeJDfB8vuqSgRZ_ATz_dt3EWvszA29ndYbU9rmfLVCElj-CzqIV8Pxgsx87cCOjIuKvNVVqzLuLGwpr7Ccyq1bNGKNAvmz3kIa8lqbbeiEl5efrc783KOWbQIkKDIcfk_FYap8njU0r15ZW3S9TM8oq35zFRjHF1hsP8l8AxQ9DxD8L1CR_m9nleX_qkm0TWDNxaoVXI2Ww0qkl90YWGqlFBpIsTZ2ZcauNJVc8MQK7IyFMVS4Gw7-Z_nLm-m966MDEp_9Yjz5o-OrDIeXiZt6XKl4W5BEHjPDmy5mWD8OEGaWESEGoZhiuy-PUScJr7Ha5-hIRT2isGOYQYCeHgNaaSsBQ06rNwREFoDWoJUHEJDrNPjvhnNlmJibbhjhVWtgyS3DUuHaR4CxjdYAsBhkMOkkJ1FzLbf_aoP11Qy-hloeBNzGRN1uTvDuo2mPDfcX8wFpzEVp6mNN9bGFehDQe7UgGNDOE8kTY2prOaYIZ0gOFdWJ-LjIQPrOU4YDSOXyypV0JDWFTZBjcJ2LUehI3WcBM8hhV97QRi1VVTx8QoG5o_r4SGyJPNhVTx-aFDxfIltm46aKeaFVbB_zW_CDeMDlr_9KBHrwyAGb8Gf79W7_cMhgLEKchDqk79zr1J08byiraHUBhfhywBCxIgnti6NwMRN7CaqTw8j2YPd0p1FR8vqlXxC3TnMthFvW22ovQycXvkK9TUOVSktMHiERRIS1it0tBZPgwneGK9WJVDCdFh-FWuTonWDAC7m_lfT6eS7y9WIOD7Q2Lk6YWG-opTnR72-kkDk3WN22ve7f8GotLwhWvLsXxVdYQzJa3VLPRQ032ca4UZFn2NmRGRqIkSi9bm4lB598JbmaOz4dS06ftScZmBuhJdPHz98rfLGhD-cEMM0NukRIZU9iT7u8PweNNbWqsyRV7rcbugHCTNGvzOaEweRqgeOG_nRMtkWF-G2hbrd2I1i1yBnk63kQB8GiNRVmMT2JonQU4kmrQa0uvqSt4ipwxEZBMoLwmseM42UO2hcJJpmHjzOWHy5NjOc6TYN3Eaag_L2NeJBc8_I-QMXlxO6Cy21nEfFBi6HwA11C3hzH69SuThBuSBB-W_1UzFkDT2y8XTyOgS-6rJjZw9ULsoUM_mQqwS6J6KDg1pZTc9-T_8caXFtxB12_S2a3V4P0vhqpe8NzNqtEHtAxz9BYQFa0Zo_SaNOa1jfDaEshrhnzKX1d4WTg5uJGwUcK-m8FAY2e1OJP7Ou9PwBjO8femdG9xYfLtFxtDMi8kx9SYY4IxXUcYszj902llRokCSvgSVt01xvZE05FAG0zL6Wd7Ivk56ehNeHDPKpSk7rga-SPFVE9VIQnkmKSSXPvxbSp0IYjsD0-ol8M-vn6rZ4D1MQ6a3v_ZGH5v4OGm_0s9FBgiTi2tBgDiTyt1_0QGXwzlirgy5dX7tRiBh2jRf25e6WhkFTbxrGg8eRfzOnXvL1zsIlCF8pWq4FMYhVQ-n3jKCKoWboywKbrWs2mUhx4cEhF7B7ORcrMJpSLz7maQ5EBsRRt9UzRoRzpkGAm6eqjizhQXYOcU0Mf3f_aDPDBZdoMeuTYGjCWI2iwhnotm97xktuAG47d1YT9rt-3T6UFbIT6W66589GPAQ99wu4LeStyGNwEoHaLZMR-sa0p86E9M2fqiw3XshLMXpD4ZRt2nYajA-UjErwyIKiRwKaqSVqa0ElEjjHXtebwJ1OMuH-I7QT5NBDqsyFDMe3L9FfsqxGCA7qka7qIAWBIFA4a5BkV0g-9X8O9tpd-tDNYmkKf7c5VBV5dLAQVt2erkOQcEGqLW-XUaZMVck8ycphW42PdbjGBjRLRRDdNDswZdiXcdr1H9pCnwlSMA9gwdQdkuTmEssy3RTSEdP4jBqrLaZGJuoYFIWkhrdFRKfdVNKfpZ4QndcnhL4B3jAUEOXUMIGSzraI6NbQw4953tqGOjxlCuyKPfyKqa0vqaRmZ-t7CHmyOOymVpXR1FY5QyDq4NZ05iiRSeVQwuNSHWApUjuLaA3uUthvb4rL3v90uj1RlpSX9YbVw_LCUeuLbaNlkn7g87E6Q3qr5JKdVy9G4S18_nGZXYoctUGv_TOFasOm3-fihNHtpmnb4KClSYAKzTHMjig6MR4FOe-vgAGSgvL5l7fOINJPNIDGhdoCqMu-LxVOvCpx7cgnaWY0QuFOObDGlmKTJ1IvUZD6-xsNF_d4FQ6hEaQoI_DjBhlndOwrgpmYGH2pVpXzEmE0Qqkmgnk56OAYD4BNTxjU2jVz6-va_NPjt6XdJjcYAgxRkhduRsiBGwFS41I6nem_fw6Fzj0GUHOLMlTA_9nsQ9xYu9pOL6ODu3Ff5OCBTMQ-fMYRdYpeGsRSDPZLPJRSloKOHT9kbfuZNxH3DuHT09pUzczhnjsBKtn4wZJl7EIjZEr5PnYujp5WpT4IHTdNlMu0yU85_TQepgIcEX_OWpJ-eDOwu1uJt_0-wyepcHFc9fLl4vbblSgFl84fzFtbU4hFxbl8KZ78poUe8FZZL8jSMb9WAE_Epxaj8Ge22qXP0ZAkIsel1en_goxA-eZEItUDUXBvmekv1_b1uwnetx1vkyAhlNm_-W4RNN1lgPkVfaJBJN8NgNlm4jiDVHnnqD9EQY1JLWUDnZgMz6LmkUTcBoNvYBil-VKS2EvRAem-HFfBgsrNMAD8uNQug9F1WKVqHcvPiN9_KjGzBasuLMie_8HtLaNkq7v3di01vTpa6yFG5hQuvqgg5WbkyQ_Z7N-DxCEPtMKoHgFB1p7hoHdqByIUrDcRmHt1nh8tzXDDtKScsal9lozYlTkBHLWrcHW2ak5yb-bONyHfa0fbN0cJ4yb6rC2Ph7ixcwdT-Kd1tqbolllERuqcshGLuV4_uaGg65GAqlfzc_QxMpjAtuXKZNj3tiOeL2G2bIIbRHvvrl8Al3WnUM7c-smU4fWl0eJivRVwkhIHZdnqGIbFruiwzhyO49EhvjDqieXvBZLqSbZLCyDUakIJ_Ej_56JTr4kpSuWKxMPNLquRbbEP0_IlvneAbJdZYBftjlNRV3QI_-E3S_G26TXYAAOdtW-9nryrSU9Hc1-5WX8207bJbG5ncwwPEtPdMQepbPZsn7V9280cXRdfEAj83GOyPzKGGfMtJp7gVEdczJK3FwGN_ZkRwhvRGf7CAHi7IYzgoecwyojHQUFmvotYiYcLBUuP8LwfbcULbMDnH-W1z0pazM1XZ5i6DXsSbDFm-nTvMxNjNCH_BSE2spGEnrw3vebSD-pCAghyneGLzOOAGAXOodjyNa40Ie7QQTNsyFvcDKzclxwYyF474pUdOqjsLjdxvZRn8oZZkrekxpTV2_xauQW7UzNDv2DQ7uhmQjBV9pQZqKx8vxb-p-0jkSQBhkUwUbJQ9dPPQYh0add7_N7JMhDtIleNA-DLM6v7AZsbitpQ-wHELVXJ4BICcjQ4VMnNc9yFFsCvuFOdpKhLFRLYCn-NL68kpMWuuNW8pmlxEErLTlZh3OjtufBJLVCDJwNioiqbPqYWAVpJbs1NdhwLzgXZ4UtiiXwOOnwuxgvHxwb2No61ifSvq7C3K7Ei5zAoEZgidnQEMVeSq9UQlNkeUrw3k8ln-bJQkBuSvvk7zl58eSVRO91vRSoIP49lZIOGXhfnp1haDLRgi6pA7FGF8mXmXHVoERlBjCp59UtJeufk9QjKOyvDyiMLS1injCuetB0XnajjtELvLDa-J6HjM6hgM2o7xcvyLApanvJo-O50rbcLR1b0sXK4tXA00J12ZFej7OLFXcZg3TUP2XFT6bZdxtvK1_2-g9XsR7ymfnXN4PnNbmxTcwWeGrQwMFy0lwRZk6Cx6ivmRhdV6WEzuIYx2ckGdx4NucxfqY67T1mAbU6ilJH7_TFEXoFDPyrBfaIh0CXorxBCi-Iq11WfseFlmHXnOj5KKCD4XXG7G_2qwpEanLiX-Zyyx93_-7Gt_Oi6siwHdc0A8KSj4tNVtdpqcGkcMdJUYT6OLpoS7aLLR6rXIM5g642g-hverXBO3gx979BS2SeorR_aWLPuxScpjoFGkXeTSYpOW28VfLYaEvliUU50NRJGOqy6ak9rOJnHGpJzEd9HMB5OLOxkWLLE9MThKZbnRBXWt6dRuqR3mQTVkFkN-XWjVYdMFh-mhNN-3A3OtlSDx5Dq7uOjWiexOqu-5LM-9YCkeZYhDBYBczIIk163lE-biNter54eDSQ-5Lkl3OzQLfqLpKzqNGmk493YqetnrETVX0-cAO6I3oqiRhwQWAZTZTtAl2K40CK52WsSLSZoBPfHL36eF22dmdXD0fL7I9QmQhY32dxr9GZGXNcKliJUaJfUadp1QocZB_M-VYwcERMaGJf5JBTKR4u23BbVkD-_cnCz2v_Vo2F8iGiAYd-XwA0X5NMBFp1_hb_qxQuVxSRhF1R32whPVgOBfQl-cTnSQzH-3IEcMqZErpYdPCpgiZ8M7rPoTVWrHXXgGAaD4ltjUjeVHjg3lKhb-ibb2rrW4GDJHTUH10Bmc5ooAqb6qSYzakqsvyXuhook2MgDBq7hVgXwxU_f_ghbFcDvAXtFguBbT7xIJDIuHz__QA3TnrihUjH8Z49G21xS4m4yaWPk0un-lJaAn3RmZ70knOcu23PLgjuI440GwXE_WY0IXR6hNTxi2jysBSGQFKB5VErKV3LFh9ldrPrMAqNGzg5yU9CjtfAHr4DBtIfvm0Y_EbYl5WkXP5qcXJSu87ZxUulFwiZav5orypliWniAzDYIGjbE1yCDEGGVQb_WkG_m-hkUdNTVQKCnlfV0d4nsGWjAkPse830ltPVdOPrKVkAZgabZF6pIf-_LQL349I9uNHDVoCvk09-U8mDoEQ72uOgfJcuN0GmscAvUEl8lnJyAnq15WBFf3zrRK_8UHRdAYt-RLFMWR7uAihCkr-GKMTkXUiCfNd8W2hocgwYl2NBL3mg5byuSuqN3I89fDicTV34JJ61-wNNxFKJwdV3qXhjFrxG3bfwz-yPmd6zLFpj1wmV9or8YkbMb7hUvKzgbTololzaIpcvUOJ7WJj6wvq6IX_v1yDVnPiajoONWXyNMDUxHUHJ_avGnSmnpDHa2PVbfRb0nrPLIMkZLOarl9GiXl4iC-eIDgEqK8GoKUhK-j6562Yzn5JMvg35VE7qBLdVU-vdsHBp3BHA9dZ6LYzshuC8AJ_eNl6p6TdUJ2WQZaUe3FYi4l4g0cBw_AuBuBN_ZyO0tu1wU7woSLipE-zz5tB4TD8UK1Db13f7duB1MLzgrOInsvQhBwUbmtZfTpQVIm7pDl5Q8NOq29LaG3B8WoBdYg-VovrNR4zOSEdHwSYAgs7xaOnQCt7cS_dG0M7GvtLMBqzrgLLPLAm_dKhDz3xv8T3TGr-zJQQ6-FvtiNfmppEhtKxhAJMsZLBVH3MlRhI37OncpOY0cS-5M1XR-QHa-NBttujSW2Y8W7fCse_aVnZ20tZFMuF2yKRMjVafdDcFARANBQA4J5bF8au5aNdyy2L4B9nOAYwEVb-UiOobjGkzGD73bjMdjRtN8Mxm0aaRAcHzcL13o6z6T1cighWID2V-bGqgH2lrg7V0JilCYhLdHGOzeXXpz6YTuaiXMAw-HMj3M30_Qi1GsChJSikcvwV7n7QiI126MXb-DuNIINRCXy-Auqxg4aLLoHZp_XT6OfQrLRjN5VkJOjfa-v-9ISVsFfeRC9gHOOfqfZ9ox0P1cmcmyhXtWUiyftcm90OP9TRExoSsf6tblPYPWXmAwN0tOk0occhcUh0fwwSK1i5166U57BX-Has33J6h9nVD7lOkc0yvYYBweVRy639fc7vLLSQNGluo71Q5sJIo3n0pdsvIl8_D8acmGEKJyZZYaC3P7Vmhzk-kfyRM-oZ_8u9nrlyX8MGK1H0U3GVJf5uxkQrlYi4LRqhVWfYsBSQOz4d2VS7MYt9lNcQqFG-zDlJXB2RpDg78OMjhoWsIFXmH5LK4F2FgSujmHf4kv6vg60VYsMj-3skXqeZlNJX4RsHN1KYe-4gcDOSW23ZSRbBMbiJ_RoVjxf2LqoJWaP2j5-bSp7TyaU_j1aJVqaTHW1YblEmGAdijrXhzsSL9Fbl51Y-2It71dWHLw5daW0cUcuu5LMvmEQiCNpyVeBdoqsylcxpmZrRIrxNYeT0b7o-esjog7jAfPPYr1tin7ZMdTibGXsu9ztCyN-vVfDSM9XA7KsIh0IiqyxfSf-mz-NZi5AfXxyybMYaNWexyxrLTpD8mG-GqAvCjyUcRDB355vcryCEZiP5uxGm8Yu5QrhvTQYAvbh9h9VY4uxtGkKuJBWV2owhVgCI-nza56ZXeBaLguM-LnNeBtnExMomajby5X3fPrcNnrehFMh6vKoI6og7HRo75ejFXA4st55y5tbNoD2YOCN6C_YZWMHgwuQpZtR0THikHLRH5aZDCy4iA2WM7I4CM6CY48Zz49phPWAApZnvPGNngbybQ8Mq_7ddwX1ExXPx0Q7Dn68Lg1_S1yN1jsV1W68nvIy28XxHNTUmOgWhRWKK6e-8A9sEhZ3m-iXexceZV6YiXstdGge4rJGXvtfGqz3aRI9DSmVMjMkWt5usLjo1S-eTQpSrPUBWJe0-Nnr_SpBtTlH4AmWtwaCbwDv1g3V8e_MLKZXELLs0l3LaH0tt4btf2w-vz9jKgPEUuCyLskP9Z08JtOyBjtKSkLOVv2rTDfchk88KNCHvXKAgaqkw7d7nhslcK527AspOyyvvwH_W2xRkBQp15Mwojx5r7XIuhT2Q6NU42jeaXTOLU5rY44OkhsKYJ_zxFUt2yoW_OUvBJsFDzM31ZtRsQa7kmOzJ_3LrjzL9KPPPCDSR8vplnqZNXmscqEO1-WZpCwT3Erz6yachwC6xe75s3I65R4Ins9nYHq7y8-bcRD9kdib0-zHUSkX3WGbCms0cYvJ0Qzum0WUkcm7x21SS4v-H4b7tczilQzQ5KhIDveeedSG1s48qvKHF6vALY6wGiGoX3GXPiWebKyhmZpYDhfY7jFCThGpCK8eYvoqzGl9H1k-tp3EJQWG7GpuZz7d8rG-R6wStcrtBQWrWkQ54zRl1v03slkJpzSGU9Yf9moPxQ21qPMgNOkfziqFnqL86UslFOT553Yz6zKtmXGGwyVsztBfHEyz8CEXHxxiZp5RRcakwqjxXYXlUDenOjNNP8SNkw9Qv6GT53cBQFraMws99yuddeU-mXzdT31M3KYiKpeNa4lvAgKrGaDDExrDA3JXUf2iPyBwpijYi7s8tWo4BymrlMrBDg6VB3DqDTPX5F58RpNS217-IRYBHfFbw1Zn9uClMOfn2xS_pqU5F3TDEqxXo3yA06B6TZF2D8zI61Q0uCzm4cB458f0-3iDn6D4r2u2_8ZXOeHG5uqs3YNMiLFvKNi-KnUCHjqMdViIytsJRpYM-gl97h6jfm0RNVc9ggKPPsibP7ZuRzWLyavNy1ywzWLRpwoGxY4Ktsp7fbUGKRB2b31T5OIodTwCtY1p2PV0lqt4H3OYYx6-EbORDT9fq5oiUHVW9MIYgBO6uKe7tECQUKbq_y8sgIdf4jYNFb1vKKbRKSendzjxaVYh_NbHzMJTYC8Rpmu949ij6aeKEF91eP5bHDKcPbZiB5YWwrEMta10U3qIpSCEPSEbzkWTOJMfQazVto4R9pFfbvLNXKBymTiljCT6kfYCapnmutsFsCIxyqq0AlvkogFYizUwA2FPuRUrJ3an5EzD1Yq8r8YLCpPIcUSJ9EFQ5IGfhelTtcNpLw3n8SIaLbEx23GiRJ2-mHxu-lR-QxxLYvkMcYZ6Q7xagr_dzuoOyjTqWuPzSHKF7nfsKcsBFpOhYCgd3qI9e4sRHTg7UUv894IqgkSlzdo7BBPf1ZO7bhGK3Zniilbci7sIj7ZE-63Be57TpD-lG5TnKCFYx_sRmQNxw3CwLKIdKxPzINbc9W-QnVta_2Z0WiLwTm5eTC74AyQWWYb0gC5w8a-g3kEdjSgB7JOC8Pj-umt9uXb8_p8UnNF2HjEN5G95Se_Gc539YkiHvQUsTCho7hd4F_9OcubkZWpzKp3rRj5_w37DGOtsSGy4nAf76P2jmqi0bzDGMsqI3rUyZ_RLM9mGwoMDSSK8bS234tL0wfy3TDYpeFlxb_UzITjdmkTznrPpbu3-zcNb_i9gIMlNQZ5t7WijaXzoxF52_-9z946jUj4UByHoAlBJpm-RfjgIeehQeO8B5WB18y6uQ2lHDMnuXCfha9Ip8rXp8JTYOnsYUgV73lOPURQp_wkc-2815RtuXM8y1vqSXjEcGIJr5XEcC1ggIK6vK75MZoCY1N2Ek1JuHoFcRStROBKz5MqaRWQyd8GrM4CEURj_HZuR3LliOf905bsL6wViFYRUQLTYFc99PxKndyKN_T8yykFA-qylxtFIh__luTGxaKwNldMhSxXOG3LBzCJdrLsP67l8GD9WrYapFQ1BnSzAPOX35crIDhEOHejp_jmqBtv87zJ-in4lMKPxV7cM8pHNNq29Oq2e0wWa-XdDnFr6qTgicj42QwVuKRTOeKTsTfD9wb_SU5CKtTqxYD1envl6L6mjLj1dz8BmB_UEmSC5OzlKuL2Qvo11SaI3mfr1XPIjhIV6N5ZMxdbRTD_oEKMgugwvbZgvUWXN_dIGW9C7a2o-81CfuRreXtSv-PI7RqG1SK-1ehiBdRTSxqJbd0iTDSCBOUUoGy_Ts8VlBRpBB9fplOjZcyv7Flf9HBVJGNhe4oTg7Vz48WhHdsX-dm7_5tALzr9Gd12gRYnsPxdbvqxDxqKm6Thwj-m2Gw00zi85wMdgJRzGdwV7MI62xyw_pypegmRnOUapvXt3kT9ZR6fCuYq7JayqmV0D_X4ggcoE6ZncGgsrzxMumunHWiSCtR3WC2RVS_L-BCjNWDlw1hF4rSM4s9QzP2XAZQWuNgrFWYVDX3sLVYehRTDIUbSgeXu3GFWM8Gjas9w-sl3q16zYUwWmriAWC2AiUxRuJR5slUHcMks8Dy4MfxF80hZ8-41vx3GLwoFNVaf1cztSfZEdhTpIrSq8k4BRgCtJg2u9QKI9d022Zodtagc2q6Q1HKhbz2arYEf5rblrcGMpCnii9xs-GVipbFePlUTF36rW-VFeE62PujJ2l_ZfzsRImVgu4nd282RNn8F2NuX19zHm0F1vsCQfYDBrxfXr4IBTPN5iQuJuEzwM59zFfqjnJKcAWnMotfdToPnxVvH73OPLzhYk0qUUtiYnwESxF8N2c6eyRnCxFHse2wjp8Zd2OT3XX5HqmreJSRmvtt2i1QaniWcZPMxaJVHUbXj-TBzyhUoqRVc6thRlYwlb1R1hCSILfy0wOoe51s2MnTgTQi7aF8JHHKruoqvnjgNL7kqPEJOmDPfYCF3lhjaOQ_9XZBgFffP6xQ4xQel7iNaECtVka7MlQdXbEoUhEwXfC44DOonxivbtrGGHueUxodUtvONQ1-M9P_GGnxSiJpPOdMHUckJnkx3_Cl-qb6XjfTVhpG5EqsXWCURlyDTOy3WlZigfrIRrH8HLGaGgaJi40U8gXkqDhrMgwi1_9fwYfkqUo9i5RDIbVkReEkvPNajEPPmRbnVA9P-qxgM2SpY-RFyTYVrqQAWNhHb-ID4X6vjxZgyGBIU5qBIeCYRm_KR1GGqumwMjKw4n-6F8ORpot-BOntReLCOlcHpsLvzqSUiwri7QfutdEewgK1yNXKI15es4IupgTVDRO7ctgWXSd6nLTA9xjHSdHBkww2JXPgsUReZW6AdZxD8fACKbcmRe35DoSNuBrkcnXMsv-aeLIHoo7wpCh-BX1F4aHyflj82kp7t6L9MLh4I-EycKInuRtbkLvvklqnPMUC_pm61SHiWk99NWnK9aSrpH0-qOyvxOfKcUEgqA2L0nE38VqyViZUzwt8eFoIM_sKk193liBQ3w2tjIdMAvJx3VMYZ25c9y8VKpxF7ra_gsx6zkfFric3X52fPg5Xpu5FeEy_3BY2I2YOpKeJUnosepAyWlI002JgRUIBqqwv3gZMnW2bAGk5uN2zHervSmc8p9zq2p_QtvYAAYUNMDEc3l-IkGyJ5qVa1o8AI5KnhikyFxyvHAm-uUVXadw4fgIHoXWgj2w5SRTojK8Yx2uEsHDLN5PagmFb54zxwKKwcZD9USM0I4DXsbqIFgf1XzzyZX9U_EcOJsAOlnbneuEFghphIORf8enG-ar4qeeP4w_FR4kIhgA836zk9wX7VEOKHcOARVXQiBwHQ5JbNTMGpdWEO8HDRNDywh0HmafZ6d0-EIaV84PEF62uHCQAQceCHZG2gvaIfiIUaKgjEGDdOKR1-FtJI4ZzrtRvHI5HO3o1b2gReqBdcSyPm-9_sxPwb0CxXM_PuXd6JzRYo_5_NHWrmD6P604HATdDqL0a_1fKWOb80YpC6ZRbLyF0qKZDSy7-mhQY6fwV-cvzjdZW8HnkIBYosqGfhkUccP8WLAtcmD1mPJuK7Ew2kn1FE2zUZGLcJwAOzQex1cNvMVEZ4wjCOn3uRaW2ir6LHoccvk55zRbEsvfS0CrjdF4l4GlaCnGbe2XJm1mc5XbWMPlIerrMlZP3eaijdmFbhlkP3ldjjcmDUbBIXuboXZj70VLvnJirCArItLDBeLSiz35kNGsSIFJ-0Ge_XGXGo0VeKKlEe2NdjsrkIA7zmaMVZUEH6uTRlz6zTMDTlmQonJE-ZgWT0cnMNPaYH4FYwJnWQyr5VXPgSIikb57e2gRLpZbN8bsfDj_AvBocUpFHr6LOIgLelkQWn27TPEnliCpIOTrP58ys3Zd9_49xAUpOvnM9I5-duYvFqi8B4rGhaOUkkZsnd2JOpppLqL4907Hh8A3bbzl0lL2-pNHQSPYafnoOx5PgRhDKvHnT_VcbRSfT9wNMoTE9yjfBrCswqvkS07YqV98LwA1M_7ON4dYJC_HQuWeCzx8RdheFlJJUJlUhwGFV-ZAQwAWSt3PllGgYNLJ1XtqANwgI4sYJJ8zrJSdcw3QDViMqJPPJkwBcPjoJzAh_E7xcUVAOQKwo_LpjYSMy3uD_XaJpxX06omRn3R9VbA9gBTo8sSZ4DfdAUEQ6otu0hrA1NaD-I2Rukq7hVbLEogEFznaHdgfz1nlebJcqsgFhHYRQ6jOTWHAYm56P_XpWa6raShBJq3cmAT6xGNICUjPKC187BC7wqqjvirPrL7C6QDR3XwODXM8W8nBqO9x8cu9Z-jtYST2wJH1pp78tpE4lnDKXNdf8UIRRoy5gorxPKWC68CFuMxtEoBId7WEiA_R6tQynr7GFym3iYlQS4vuT9bH6wTL9zNgz5kA30Yogtw2vT4B--6zq3IrImhX35lbpYQcaeWCMRfV6K2g1QgiJRxLXO_yLeTnTnCSlwjAZdCGr3FcsMjbskMkWEi5ZFa6vAcA_TyUPm6iwBLvU4QJIEs-8C_oqevSc1ax0MN_mjkZeqqi2MFnXuCY4Vsiz4QAD_PIB3xWbD5fL3-hqkMxFAOu7BsyAPssFfd8BrdYA-dceHd102JomY0zR93OH66i1toYVgQ0DRaxbqaCRIjC2gLYNCqMq0kNoabgfmJnMm07n5R44FKFuyOlN8PuNHn8I1lxc5oOOqC0vB6K9bX7IaBCgkVG8d7kEiz1JVlYiQ7UV4dyLHCrs16eJMiD86YKE148KFTzLo0FO2RBrR01HDwd5uzgRNb5CGnJcZRXcFGhCPAaz8d4txjoC1DT7Jo1731rcYbSr94SIGJEaB_JT9lf0fGCiYrFxg7qQlipNcLmBFXU7kva6t90xcw_NCXoeTSYJJOyzg4VloxwVfK7UMLVcpD8c_3VPv6ukfvCbTWldnm7kzDr3E65QvC3ndzUYSc0YYYJEWn5cDRrntgEKuN776SdSLxc4Y1-fvl4m12pkC1gVkGK-mpwccYkITX84xIpI1AC2rI-sYMdubanM-HkOY6T5Zh2hvQPFQ7RvyeA9nfdYzmu03v5_d3EvlWosvUsRijBjObu-bXO6OD5H0A_AaEhzwlzrKSl5bySkH8HUOzfZv_KIBYeaDWnhWYsNejP74rkih2XvfjCueEghZk5W9UWPLk-7ZSSurPYYH1PQkPUvh3LBGpZRPmmt-e3d-PJSeakD2-kqOseYfh6bBiWJD6ttIhxnIV5n6GJoJLxxM1JXQETvSPk5vIu-4XYwVN-kGP0cKDsyzX-1FrlmaWYXAL4BVEsGLQfGJDxArn1ujUF0DVZjI-JHaJe5ENVxch6jAi_aDAslEtHBaL9eLxCcj5YjoFI3ZUJ5J3-YQXNJChlH_TDtcrMSUQpWYdpLumxkgq9koAMdW8vYadxBdXiE-huY-J6CNdr3qBpHIaqEAd5khe1BpzVUe06YAYY1q4cAd6hhH2sN6NahDC0viVdeSCCsKdV39QHWSPgwRdvbncPU5hGzEEtDn_M56uMVAA_XB1ifft3gGWPV8NhZshCQ4LLRMZGBFmrj5q6vUHxEXQQBQ8J8BBEeicL01zM2eIK2e7Gh4XtVrnLd02fhROEgHhVviTUOcraxTDoY2-Mefzq1suebWG9K16LKCW12b6Cc4qSvKbmGMWDjL1IG8iPvEANvR4sp9XCAXiUr_eC09AhQQh8HePUdknU195PqWmOaRUH8tzIXC5OzHRNkrfxKtN4PDfE5RyQse-dA41ReCmB0_sKtWjM87pooOlhiR5BPv1rj6_9hytIdiQLQ_c0Bd0JAKpgN9ELuErAyIjG4d5xuVNNbKtKwTyTe7eQlx8yAmOwly2ScF1yQMrBW4E564u1sXmhUTjJsMrL2DdUTuv1_xafCX9vVHYiaQsJ7DJNQT16Ni7ZNHy_o9RS0hVBA5dBI99o8fOQ_grLxcFgCDPYWM6AoEcDcHwluBRmKS7LM64ffoNJ_ErOvkvW9WfPYTWDGPrmi092jOSrrcCvlNFYkkj9FZ5SOiCEV7Uxsgl3dmiYyBwsQv_Kg3U9PNChUpQPhBPJcnxhXgjUKFkT7Z4C3um3QW6COzAS13o-FY2jD70mYWj6yKFawBo0WsCW3m0gjt-DN1I4tQvZC9SZDskaaoraQ481DkjoeudtjiwA2txmXVdFX2Zz7j4z_NfPN37pBk4bWzu6EdWTegYFOJe3PSDpujYBkVzjufhGCBsncnDDyRXfq9FJRXVpvggIm6nR5K-Lb80jHFKx16K8_egUhXYu7yYtc6mGzqG5o4klAd8ex48sYfUnOQDS53aMIxu6ouXhYgvoM6Tu7-UPGxSuQr85LQmQqhL9ZjYyPUvcboELTPtopDRF6A8pmbllfyonu-eejqDWvVyeo6lCtMQE2Anl2pklXtgapJ8heYz09hNpON1MpD2bCvYitqugwG6LUmii5A1Wz7y23M16-8zorKnpr2ZaA5nVWUqDUlv-gnTaZhu21nsdtV_w0aCZDD_oCf1MoOguKnhYNW0HUtnqdO1P19k52FHuxoF_PFiLWm2n4kToU_IImiDFnmV3vVPA37put0ra27hYKyuNqtBwkPZxH8xDPJoxq8SOfnIY-ln_q5FD1BMLCSUYRppI0iMzWAm6g-tPy7x4zk1zwBaH0Mbwd10DbQjJWKZnTiDmKSvPs3dZWLmFib57yTeTK7l4Sc1DIL2J5RE9WI0EmxGroV7UqKaHpGQfUMUrArgnZUG9fJhR3OjLy0wioQ8gVOflaADYWnynBhprUY3qAFOKYIar9VWviPxfwJC32BBIxQ-r6pmRlhuM3uTTUcQJEWo0kjsDqP2waWjHoKHuy3l_GswCpu4qd6U8iPQjRBwNRpx5Kh07zxDYLrWyH3tzx3ysyznQLZcDt5Vz7JCFtZTflV1-aQ_VfGCIicbtGZCFKg9golTffhLo_68yILoOrw2Cv6jcBzTH3FUJvIcsNFY4BTBJB_PSsrIzVaNlgRo8w2EOkYkp2zQIcfN7H2yVDsfvdOVZkPgv5PGR3ez1OVffs83xXalGk__W3U8gxM9JNFLlHZV_Pd4RMzEXKqr8vtLhVwVVXOox5Q_hd1aG93BVrPeSXpqOhxCFq9W7ts23W7VcwtquF9ruH7FHiWW8YGqyP3p3ADQpUPuAcLv_4aQbteoXH2n7u5mWZoQSNDuz567i0OpmH4iv4tnN_YRmkxFXb340A-P5G9EqDM0MW9eDpd0wDhRVNnVMsg4E5BF0TGDAUmQOD9qoAHOhBKiKVMykiQoyZeDiWTw0MPZCVzFI0chlCJUyxI3rtsMdsfum0Nqf8cI_clwnuMmefx21Ui0Sc8wcCtQuEgeTMVOldNAEo1a3vTysg4bG5Cgn7LIHVTVviqwCMzIyDIDWWfpcGFuLfcrT3Q5FznThtQzh1EaQwjOPeSP7y9yZDwBQBEgdN-V2xbplLmUWozzvz4zjSUC_-FcMBBFob9vq5DATGQSU405PbbwgbnyDDT7B9r7L5igZdNzQbBpk5i0nvpnel2d31fxaTNxTEq5KsMaY2RHj_Ix7KZJfcnZQ8gaksLTTf8SuOiFvvusdyMreWcPwKgcrCPwWxtsYJ-GHXmUQdvqnjUlPJxfhQ6HV3h9tJT8Qn--WF6Fis2MUSNDPrzcq0AVitgkpr0jmi0niziOn4Swt4FmO5NOUlN1K0cIn_IKv13s7jxs5bvCmoSmddkvUoaoUqQfuk8a0NrBHdyZqAt_JiwLvcMr5XkbM-YHcJfonVpOVx4TqRF2kc-VJ5Ykx-6vYuEP54ojRmHEHqqVFKlveoTLfFbYQDD0-wJp_UwDoNkOem04yVFjQd8inWK2vs2PgneG0izh3TDL03oAFgA8fTJEQeuPhBm5ToDYwHvn4axRPkYJ5SFAPLBDTH763YW75ibxNP0PcwqGOHbXr6V5yre93y-2nNirlKm7GKE-sL_YeGE-LEg7Ci37b9eCFSUodPp7qQ48jjOKtXwLXfpBOLsP6cn9RDYlgXDkg1fuhy-LXCifRq0R3fyhdyMnVzUQt6PP3Z4vj1VGvLl2kJw3wjOg1E36TBVyrlxuoNgiczoCCiwLRIUN2g9ZEmaGyIMqY6QSlSSbujPpv9l6sNzg9r29Vwz8kXyb0bCRqX5p5MTa9Tp0zo7vrSfB6_zPanw2H9-UH3UObBJd-_Wc4j5hDyCGVoHO98xw2EaX5_LCGYh7iqYKYH-G0DcaimIFeeevNVtfndfow9bl16JjdCErm5Qj1sj4VXdUq0eiMZsv80GBncggQeIzV8C6BghP-zJWJ-CDQvWXJMzzO-mqVe-WgCH4nxjBICXHA2D-2KwQG_9lW51CkbAWHrPzN2SxZ3Kk60vssrmcXEVRyvMkQ8TZE2Tb2DuIeGW9lH169lxNiQmM1KAK07ywwttHY6N02jjkYJPUErDcTXaW2vmOXOfNcImNFmsBUMoU00nv7rX2n7NbG5OIuY7PZLaGTmmYJfizYXsiEsrI_GrbdkbnngyBFp4m5ZWAPgjoEff3HMWMRLkKRgDNILnyWQCctLobEze1VTXrw4ufBJG2RqJqWbnEN4H3kC0Mv300bubZH9b8wAQCtagxDXUBvUNo6hQmoTeZbR3j9lMxSQaD_BurlEo9wM10XjY1mb2uMEVzDAcTWm-Y0-9-ftULKPgDqUxdHoPxBRMYKCIhCRdYG7KFbmC8wzzrepoqBZP4Oor74O18tki3pvXj8sWP4e1ikka_AFDw7XxFher67ohxxlF8q-LbQ8yT77TwF9qb7sqg-PB6SLjjz4o1S6neGOX-dW-Vc_9sFlxRYxoKgVi1fAOBQmNttFOQ4ahgj3KbqGxyFmfmcljJHqACJ2NXJSIqJfbORjyM1Rycef6FK0Zji3h3XkEzQ6fQpznUrDV_Jldy-ImRa6y5M3wLAN4mfWb8HpPmaSYfIKX5Dg6oMpY0Em14tqFkvmMSp2zDV0-3OsKUkkcEbLVhWruxh7uhJsoRTk1gJI-rkNQQqoTEoyxQkIwlxrk6vd5eArPNwd08rAuNd_nf1RvdbrZoSrFabyqnMFEe81YuyTGqd8lg2_CW1grp7qFC4f6wvOyT_HwOE5lI9GOEl1tT5qMcA0xUnbMCsFyR2rjBPoIBzbdxFyVA-CNneHmoTBLC5H5iYQ2fnPx0pvQCS1tMtN3lgOnAtaNchdTjOjlN-abrkgUH6sSZ8jXJemjTRGeg-KFfas4TH1DWRzmVaAoqqlfSIIb4Z3ycVUaFsNy2lTPv6XjxRLaCX6XqsAB_N1PQsUaGeylZn-_KArobf2d0ZBKy2NNyTKfD9y7vOfCLeegktrUBcJXT6A9ZDkadt7Qo7mIxXujWUO_qPbGZaI61lOc5wgR6iot2heekBM4z1wepaZQW9Qucd3tfnDGNpYpeEGRQyfzFqJ2uNSpXRcsYtMK8KWZTqP9YvCMkDnYMhukYdeH6GUyXPDHCmrwmnS-MIND-wrXaFG_qMBTwCc2SGaAxl_L4tCo5rjW90y6cgvemH8CIvIhdu1ZlB0Yc2K8uMdVlS2s49yiFplAUqOKUwDZUiX9lrroqF8nctL07nnl0voV7Ido8h-7qdLTzetzMNelBYq2-bUqbMkKnlmFjIwSf2ZEQvSHc3wHyeCamdBygjBEdgWR7kK7U63PydJE9HH6PCgS7NaMLVomz8onoJpEyPFsj74NtiddM_NntQZPCHYp-FpXkzg4zv_1bReaqE782RHluDKZbQgb8ejaUvqCPzZd1f0DlBzx2-J3zv_CfUOzrN-ao9M2CWV5k9cy-oOFRZJD5j1DkooHe00nLcGOZumycmthI-DpGXl92BoGlknFJTAlbwGhwm8rMA9u12v8vE26KoFVFGbUcfhE82MSMQ4rn5vxoMNeODp_eY8DtY0jJ_-mOZQy93gay9tpFcdrPaS9tXsG0FSl5uuGFlJnkh73pyM_ms4oLRJZl-p5fcAihRbiWaq4w2VPzVg7a0SfqULqY9BjQHFyYx55PImW1PhUz2Phd9-cl_8r9Jv6BQ1QiAj9b2wmlBlEJGhJnaWZOoauVroONwGhIj6dclBwRmLklgB-_7UeUzvMp00y71Fh4AQZU1Yov82-BmTBIhSSc5S4xxDogcQvkXUOhlw4M67sH6ym7AWjNdY_RNljToAU_UdHHmgQlAptRb27hZvUkpK3bsHD9uTlQ32oiea6Y-LcdPnowz4fdqEQUqkuvFdO_dB4aECbzeHk9VNxXYIyiuMFO-EVkheB2qRjZYqaldXX_MpkPtJhsdyV80FON8QZKcdJNcioWizdmftZRcmngi0zzBLPcozBmt84injamCOLXai4OzhpvscW6GKLFzovhlyvNzZn1fAMYCFFGWXA_yvfuTdt-8LCMRxQXA70lOHF8LsTTJMD8V5iPR2H3MuurRBzTh09jDF9NSFYAsaJZlGOmjL7sm3z9r6dlN1b2ZwCUcfT7yeNBFAqiEf_Okn-tTymqTMdi21a5gSD8w64R2TwfvVM0gI2Tuvsgw0dk6z9xYwbuqUbVI6oLxmX-QxAmD5O35nisOPUIWvg8piqoHRuGr2TBHHz6-WMlv947S_MHkDa57VHnC6qHDnKZh2Au4U3PJhaTMO-6NpkF7ott5PLCmkNzHUzl0a92zOaDwL_gZMvRH2AF3RegVwzS2AhI1iDHyTk2iXG1Cl3aZCAj_i9lZ0s4BhH5j0wNJAvPF03zEsUfBCknGT_jdJgvat5TFWKOOtKC_7-MVc9toslMxa6IAVWIxjS6qlRYs5NSDTeZUItPOWvSWCS_ttwCmsDK48MWAiBX43FcweOyhHEuqgDJbOMzhpHqTzNRtWusBlLU_-TO4bhZybf2Iti5kZpocIBw9oDP0dqpStTYVv_LshUkI2Z6C8DquwkjK5ojh6lFnpCSwXpekgbatBnxCWlvqjMwINvXITf5ZdyYgURfaGc6uTycWLRTfOmspa46KGRJEKvMafCWUC1SqYkfMzg4xa_T7TaArEv7hkeKG_itXekZsa8XBG_EtiRKNB60KwKn-2B0q8EyMwW6M77rVn6VdQw2aw-fmtlVhb17z87ouD3X9m3QMEMW1zMqruFSINRm_X1KiTF1DYXMJOlwLcoWNxJvK8X9Rm2W2TyuDwLEVI5zW0JoWEUB0XgTod1CZP7VFOBUkYUAnK2AdAVX4MuxEKgpxsqv_Ao3uwAon2p0sKCiPoDW_nyGW-mL2UvZr_XY2zBtfsfoxS_c-4TJYZjZ7DvJ1k92ZoX2vZG6syDLTMrsGhRcARnThL40hUVzBBOEwTX621Qg5uehW9KSCEz0jQnaimSXb-0taZA6_y8A15rH7zm4z7mN7FoVyxBLAYyJ3tILIdQRC0nwrSfxNWdU7WrI_j7fTwCaVMszmxsADwda-GKTeyOX96pUhOT26w9Pvmppm_BJ_7VPmPsiU1TAZRHJ6yFcV_STotEI_quCOgh1hHyg2O4cDb1TXjHp6gpiFhOfCWOBcfW0bT5_6AyaRmOucp8cyqX1x2hpCcKwmNv9M3yVXNllNY7smh2mv7qCGQz24G9fARE7LeTfP61V_quHBcTDAOdXja_LGSDLZKIHWzKi5d0YKPvbebWogbyl3d6I6lJ34BtPDik1dr6oFRAJ16I9Vu9izYtXBURTZ5UfbuSHp_y4zSyDgcteVOHekbqjPlMFJ21kuwY0DgvZtrKOnt2CNPQBgLUH9KEuQ9lQpTUMd06rgh0x9n_Ny6EiKZ6-tG-g6SkaPmAt63k0rZHNZ30qQs00-2Rf1y8PAyjSvCpny1p6GWUTKy1FYPfsTh52opV6GieDJhdD__4UUUPPE_Swg1FjbFLBe-G1jieWKduiJsugtXWRel_n2JwemNFWf-Y2KKnSkko-BoYAw1oUCLhQqeIh_8-w8vI4Jw66u2OicSrcJh0u2co_bfyREFdvgOTkrI77d0lhMtbfZ_G2i_hQ7DOMuDhuWdCdKYPNszgjW_h0Y5ZPwXhB0U5JAdtpaBBQ-GGRxJ1Upi5XBbOkQf0BvfkcnNnW4mkMwkSvCQ-XDfwANCJTrR-r7sMblAGy_-7jtIljyHQtyC_a6E0g_qurNna5ok1a9CyiWYj4ai5F_yV2epFKNR-yrNaDlmcSne1uK9S6O3DJjqJgoCCt6o0lVVNWayRZG7CR43bjeRm1UvVf9c9NoDKu759u2FO7KEDZx6Eh9k4IB8tKAhmcgafjJpP8MV8LbFUQpu6iPTLhjs71GTKHZlJRobc4iA8cTQ8aqiz_Ke8sQaaW_l3VAEadBxH4Rl6HpN3kQ4AyYG-opfUzn8wAhRW25ai6NWiTEBDWywipxdCVFLT72Hn7zoe_6TlVO-pO9W0EU92xHsuKmeUgb1jgzASqjv9qyPiGMz8REpE9I-241QEgktiTsWwJ6jyU1yGkF6dHncbOmUvaHg5UJRTnbx___WJB1NPyBv1erEla8v0x0it6Iz-ODYn5VT969tBZQveZsFZkzyzes8NI77Sa9uq3BLYNodyUpr477SFi5oU4f5Zr8XtofGXziDHtIXktd-jDYcO2TI_Jz16gbJUzHUSOQ69599u4jChCh81OxhuToOIb_2MLs2ycbfecLzZo6A5nGKH1FP-99kFKFMJM2dff92x8PHJXVChN-BLFHz5gZvYkPJfzRaXPxVafcyBliCE7RvBN9Vh9bSIdw3Qa9AfzcViBI7zrJuuy30P7jMCqQXXovxz0lLRfbjoOQ6qC-VlhaFqx78v7yi4sfP-Nop0ZLlij4ffjPhp5iUkXsG5GnI57L0TouOmXULBcbpcVClBSd2qnRDndzeobpjQglzqRiCehCayY_XnTv04edAjkw2klNld0pRo_mHOaK2qy2yi_m5EiZyUD4L0CdvK3un9eaith2IyLAAiLRuLu9Gk0VsGpIsV4oogHNI__ax-rat3JQiUig0ZH2NIauVJtv1Po8QcYI8GX7FiZEpfu0mk0aM-FKGr5w0iIuC_TVT_iaMLpMKobCVR2kjAhbtgCf7X8_4dz4S-G8zYhmOy-_gQUkydE7SeJqNyZ2B4kf11TvdDm7La1wO_p8a7cZQgQP3Wdbe1mFVHfBzm_mkvZK8vGE8SeYrw4S2iXAL1FkFC4nIneBF0y0DB6e1cjOsTDAxEny30alNOmiZmdFjOtlzLoXbF7e93Br-XW3BeJV04p2AnucsZR0XiHhHzVKxWso8-VNxfUxKD4oXK1Btid93nAC55YDMZ4evr88ucH_BS9SSKl_tFhO2TtRv1UDK8S3Ep5mly5k4D17drzSJHGUF47INhtBpxtZJZF2Rrq2wtZ-tnCga8u19vXj0RfVorygQW2yGncobWOTFZ6rPBHhI78r-kG2sQDJ9MnJGUOBd8sPd9FlvqAVqxvbjP0VlrX2z4prHH7C0F9LW_9d8a7YDSs45I9N9kSLGiSmCGj4JCXaNxLvZByLSCBpDFCfBc-Yo9MOXtw08GcapfSzbmN6w1wzatdxmk_D0IGpk1eJYYtIKZ7gR6Ca4YCXUdLwLv83MJvDotQQaAgcpEOEkTDJiivlIVXTUonGglfSGI5ZRPeLCUM00WpqOp2dhaa9Jw0sI1rD-kpRQh3UL2sTumaQsXTlLkJW8jlmGG09gF1t_9nP155VwpERIww8ZjFy0nsMu2_lPuz_1Pej7U4etpfuE9SQb6JpwguDw6fvX3H47BKa08kzjpGEHIH3Pdi4qRo6CSzQ9kYJAgQq-n0zQFgkVESglDLHSFVEFjRFbJZMltkXm-nFPSKkLNQd7f0diMbZe_0ZD1JvRv1Gbqf0cVLue8ktU5p9xuB-C5qpVwIqYqPXbkV-1Y8lh1jThls4o9X6lV34cGgmBaSoNPOqrm_qO80T8fldS8X5pn21KFf6wtbeM79uCrbbK4kAHOOIkDV6yJT59QergxzIaHsLCJg-74njbqx8u3C4lCz1vkr-qumrrclZtGxObE-Qhz5dhMZuMS-ByElUG0NovNSKVJPITnY64dkc3zxoy0xqaX6ySziuRNFJPpi-CLMFxBqz7XDEA6u-vGVj-w04Fp3HeTzal9v9D_WfuCasUxmSxk13Tmbw8fbd7gPbfR5O1rJE1a0dZVvluikINS4TUMh5EQfMcM9rHwbMzLaKp7mSOd8V31qltAFir-J-firjE4hWfcC9XQw0qIexOB06Sy5h_pu3p5u7TJaZWrppeF-STRykWEbZvTBHWxAEA42GXnoJekOZY9GzTN0brFvhaWVlQJtoIKZDIJYqQke07OrexLo-6ly52zTNbZLrwMCnTCMWdrHmTaXOZs4m55fga_kpdmtJKzPP6Vq3IGEd8msEdUuMwAWfawXHb-UsnnEwkDK-FfpsUjajqxJi460aZzdr0y2F1LUPMmq_lpLE4YkuScXuoVvM3qDgG_F_erNt8_kiEBU8Srru2Af2qu_ZqD25NMlwRRdz4HqKt7pGCwcIDGPB1oK8EbfTaWsJQAMhhY8h6vpbBp9BTfEDWXVI6st3y3DDfwgdiDQAnVstt5D5ZGamZwtvPiPMEy0cJ8b_7Lmn7OqROb8-r7ItvyLx5nPZE_rSz8GEclKillokiLPmKY-v4b1ITWovSKF23MN1emi-u5Ig4NPMulbfzLW-fUHESciwLlnrwleYpDDbwvffxn2u2_O5dzPjNVCgyc-ngEwYV1m5diwd10i5WPYBZRVixSP4rHqt3wYxKrprqE7JflkIYY7LX3gjB1l4yS6DpVBKC_tv8SyJmwo7BPGC34n-Hx1Q5LGaMzo96amc3niw0Ww-i2i5wINLL6r_HfGRhCmQL15v2qUNw_9c_10UGsHd-HJkiglaH5XoJ6jOMDvfcfQDCPbDutaI0kRbIhLGTt0wK_qQJorWjhqyLdTo_xk1npTeSV-skdMYJLZ1zTN50Kjq7OXmHQj14QTy-e62srhbtFxIJDoQA0SMwdzGYaUpZffjMeuJpf1wY0mxN10VaPwgmaRnbV4uQWVhmeA7yglbdxbXUXTFOGhpNqDdNqViuUHjmLj0kOlO6BO8FCt4PtKd3Z4OtORgpm-5K7A6cAy4wwC6FpewIP9BUO0CoszPT6xrr0tY7Gwm1ZT1M3uwTw2vB730BHoyUfkYoBYP_Hgswe2ses7xC8pY5FGZaIEXQFNKE3mromaRWtyVoyqVixEKR-KJjkOjYWBUFu6KRGpnoVuRR0hayK9s1vmMs0AW8xQrINdlWR8-VaLHBGvio-M74akfBhmiwC7PxxOZ2zPYF6zj_ElmYKKmE4rHJJEbN2IxRE1vzpdBg8JcxRkbkR-VNuexsOcCQihyyf9h76NXZj3m2ir4g_6e3fQGga7L-R7Zkp4caH71eZ0vgpGyV65KrDNCccczQAxvUqVzQmVTAQwogCdnjZ3J1V2jJBnBiY2Z7FvjTCKpP-t6G8_u4wJW-V1r7weEKSLy36c8ZXm-iPVPNDS1x2kKGfKl2qWQGd_mrNFGxRbkJitFLX448MxGiUiUCQj0gWYACpSP9W0j1s3JyXFmNA-9W78AhXTIOOM8XSeFKhaLoyzQhnh2g3rXVvuTx7HQgffolvHlOmCTUCju-aNcZiCDU29t7IEfoxkWFlPeD0jqJ1HGxjpz6CMtL4ch8Bz8Qpj1jq3DIlFcV45MSr3mXbumygBNgBo_ZxyOOJ8P7sN7AHqMzvIuLR5SWRlevYN7i18uZeVc1cpipCxEgdEzIsfdC-_BhppXv_KwsW4QZOrvS5fwk_tW3NhcQMWd7O1wfJjTMrHiHIyvLrD0c8FzP3msVbYVtmvQqy8hE2a2_tIqa5bNx90tWOIHI-D7xEL-nQKBcTJbEHyhD0N201P9mQY80mKFHXjEUYo1i8tHGo2GZECLm2sDIFigS0g5JCq3LBcpl-7E4-cQYVfGQGhr511kIzpoDiAMcvNcE8aA5uxkQzh2qF0J3dritZaT91R1Ru_9d2KI7t0HS7k5J3wB2ma2pQTOhLzPmwG_sYSd5Yb23euAI5IG_AavkRJAzjLfFnEn7D0deZNO1cgNhY6oxt1o-BFCd6YLdMhntBRaC7nqFzN8miLvTWtAi2diibOkXtXYfIHw_exry2OceXOve7iQrZ4e04JRfAaeoQa-xkmIxZRjvtvwG1yNNuGqPwfsyln39tHLwLg5loE-4dTVJ7jspBXh4_Oi1InMZOoDZwVko5KLBEpuqkeli1LkSn3TkE5uQURxzW8tVAlVcIQfU13XMmlAWUmygNzGW8ZSIWd0NCbG4uOOCBFxLQGh6se5VzDZ8vJVsTKfplpHrXq3GRCiavETWhCW-VObFkQPfT6sW-NXQiLNGBnr7tZTIiT-b1pNrDnJaoCO6L-24WfuQDlZueP6tCHmF5sUpqxFHYv1-z42kMTs8ue8Tq3KdYC4i80MmiHtX01JROJSWf00ACDDgjUIuBpT2uMc-iJg2OQq-szO8lTA12SMH3pecx_3Nht1RObDSlungK0Hhu5HfNBCqhhbfYY0yn5pTGTb6YkbVrs2-JYADvxmJxWUZeB5PQEUYLfh6zpFFWCe6_-Trizx8ne8arTbUEpcwiM4jxFjcFW1-lbQWO-hla3DBLfu_cm46m6YezAn-ZRKSaASNB7VKSbyal8rBcxBFDyPM9jONKUYtT0dUS-tqiSJu2lnC0ws8u71qQRTQvVSXyF724KuMyt5XaYLPF6YbjCxJ4h_3hVo-jIZ9LsHz9kYhybUjwyV5SR_knovryfFQ0ugE1necz1kYK4Y7axmt0CTIkhl-9kFavQXvUHotUxq5eojfqXck2opssZL72wqOsL-U2DazIGpocMcozNJU7SO69qabgT6VreuuWA0eQyUO8QTJzQPLXoHYqyUGQGCFStoFinoKI-QJt21kh4KQGzKNi3j9oQBlfo707gO2Xu_-RKc9WsdjV0O3Ei_-YalEinM9qmxVxjTrRD90FLuinY0obPwa7pxizI0sprHl3vG8CU69QM3w9ZYNk5i-_JB8Mb5Zeiu135TjKGXXMqv7o2OvDoCz8mHtXGGgiqx0NTQ0fu93CEaxf0FEOKEWnsE7l-sfLo58vIMBQmztbTOFpYTCa9UvmCHV670vd10j_qxN_jB_GudpyfV4p4dKhvT8f3Ddu_WK0Q359ZQ3qDa3M6eqitlkk77UrUxjyI7-0X7HJWsQGJJLZ1-FRlWnNhqUC8Hc_X9Gn58a-12CDJ3daZlrdunEgWgNhapzSYeBR9BnmNC9eCK2YZP_SDpE65zvLJCiPa9KAGceonzYjWfY9f_duIiWy97AopzKcRVUKGbEHlfVqljwEmB6Xfmv0uC4SGKkRN43MaPlV01vvkd6Jg8BjjcO1pJ9FTxa_-XUQ5UccOe0af9wMBh1KQJBpfIgSEtPkxnfeWs6NDf1JbxI4GL2WW_IdlIqvvU-pqNDxlPihGqJcalVJhpAv73JKIBis8BTVi_uAjGm0WvVCeOx1CEbBxhSidxXs5zbx6-zSeKPs1Tw_EobtcjKjsuap12geNfJa0TEPN0P1fmLKjYRv0fuNleo12rf14YbIlFXl_BiVFhoEuGu6PrbkCC8IbgzfjS6RUey2uc2QQRqsco6OReqAKmZ9jATZg3OYiRX93iSy8b0u-jkWfBEE1hySeGz4bssKZ4lKJsjQDkW0Y4Xi413tm2imW3_EOtpeDUWZp6ODkx2ahG9LDHVpq-_eFJuGLaiIJrnbCnrcwoQ9-RP6EvowsRzzXOY5yWpX2gBUvmj3C-n-O66tNiUDrSr-MYLonT3rKec0zqriEL1AL0Nm7_fsuNU_P50sWKqoW1tM4Ju7cBlhi7KbAYlSQ4Xcy7R1ZBk-ejMuJqIXVc4xqcLAHpxZmTeatQfMoUZ-O7nCBDd8LkC9fkpCQ26iUjV7hnJVDE2zzcXasEhB_X_NkPwS7fszC0qOY-2YyTp-OQkUaz9P4oqwG10YqbhxFx9g26mjn8BK4TqkoeRU8e9JknOLUEIVhV_IvxXT-p6CcWGS31Vi767Y4zDlHHNOTUgbE0dvy7WWDfGMb8mV6bfMDlKNCY7T_1HFLG4ufmBfoc9k1v_8EnvAnjdchGUfpRkxShNX-a9PCUd3-keLYhd3OMG8WKZTOPJzgQHPGawYZBvlKOqGO4W55rMT48WQDmUMFXd8y-B1XYzVZ9jNlccw6PMHp7O5hUGxsuXN513JK0dnzV8X0RoiqlQl3fpI4Kn8NdB8PCHlkxI96OiIc8ijEfqbQyEFw49lbWVs79Z0wsEGz4pByDnNZcVc1eSM2gYb4HmPFgQHrILUMl9Uv7jxkNiM8ap4SlvhU7RHVDxfMch689eZ8WXuQXWUVWosqZ4tAgm1hk12P97lIiujW9AjfQdw-vm9RyQv8YH2yU74xLUW4UV5RpobMefcvpvB44QcQ7PRg9AWPyqlj9tGptkbvfy_By_6Tmwn8LcEusv8K1sKQaGR5B76l9Gm0cY6AP7yFO6oHvvPIkwk5j4YKrNJdYIqkE_vXVGiJRmNtlWknKhWR89DRW5s4P_0jEsnzWs1-SIuzc1XP0WgTfCnQM-imiqRXNO1U-xMu7hQDCo9sqIJtRWxckWdW_S0fesSCSHr6y9ACdkvUxd8qfClRnw01n6z_S62tGVzFDAyroGO1N4yUiRpvyhz9Q-Do0ymZ95yhaKB5q8QdzUEB9J9VL2d3n-87EoNttgNxMXZyAOrOO1paoaBHVpz4HGWqzsqHYoja6JCTZwFzBZw3EJN8AERHVHIxEeLe-0yNE8oqIq64vtkQlxUiybszVtYHYC2GWSna2r1O6LgBEu5je6OpR6LvbIhuGtcOQG42u6vQ2sSAu7RF2uka-Q7DDAejPsMS8ut2EdI6nmQl3xOa5TxVTf6r_63b-bj29Bezj09XEmaiX9tzZzqWAcrCQO1sUGkuyRV9NK1LnOpQaEUVQjxcYJNvYuQlQw_7GV6JSGtQNLSUD_uT8VAX-4ff_02FayEKBZ8fJeCI7MJ_mT7BBffZ8z-3VAT4EVfJJe3gX166CjAJTA2lvOJosYn4wiQO_-ZPYCl4U9Mm19Se0wIBZBbwn-rBGQb_Q97BewmVv_a9UEJsu0tA4l70qyAs7H1s7ear7B-wKT1TpzgoL31blMOIvo2f3BL32cKiIy8QyGLadBGXKMB9CTZK1mJrgTUsilD3QG-FcgwakweMmn7gcmNbPvZKrdmrzpu7lpC-ORpHwhz73fLJd9T1k0Db5QmiQzwZQj71UZS4TR40SvJZtM26CzIDp-ZgqD1FL8--WTHUEToxlEfrVqxxFwJ9rHQs0oLtEuijLePqDTkkAetoG_-EQXSyl1e0MNIwOeKMgx2WFFwirHFjAzMaOqHzSSMHKlZgTrBGKJ6NmnzgL4NUWBElzcfjiy2HoDrlFP3X_Ilq6CzTgjNI3NgdcJXOV31ePxRvd8nuWPrYyu9U3d9P5Tq5WnIxNcPDtYBdHhksNS72mJEmsVPqI93gZzDhpDFw8EIZjscyumgbBl0b22CBOslqSkTR17skxXgGNRR_3AlhoDIg_UsYP4AZwoAwurgbt6Fzk6Ro_dg2ZixkYmwEKfQTHgXLZs3LMO1FDxvuDwF-sRZer7GUacWahAw8r0YQg0RIOwU5UYV2tYKU_5H_Db_xA56SJ7pNc8lGLQnxawuAidYwOjjqMwhO63_vF_mm6lgzpCn1pANtpVEqN6oEj2F1aMaLUcpoXGWXffixjRZeJzgLKjpeNkFCv7A1X9nwe8utuJDUo437YlDJ-JRDmCZBs1N9TcFMketbx00T-sBIMeQHqpujGPd7UuDgRrfAMCSB84QWZDaGi9sn0oOvWGpkzhERkJ4FHSQ9GB0rbS--aEtZdjlBsmU-8PaquwdIUQ8Sr9vI4hEY-Q9116o4F5fcTxB7KkcgwUAPvbMdfmSyx2hyvuHIQBe1cUHGZDhof1kZ47Wtmx9MeuJnkdlf8fEKiDKS-TAaZjY03kDFTqBf6WnYn7DA2N_ysCE_GODM0wuRlG_6xsiqNs6WPPq2jZR84AahIJi5nhJI7i4FsWWlYHq_E-ojeCerP9TX-33yx2feKThWXrmFfPA2xAfxHX_Jf2YseJXvv3Nlj4WYx2bpfF6n-R2Ybc4HMfYjEwhpLdvBrO1z_8t-6PddEsB4Ymb34x06cpNTu2iXYeNJjlP3UWSvi3oAgQRSEA1F0yvUrdeiiDWgJGTElZriH3aXv-sHWmP4S_hktv4UZ8F8Q5lfJRltBt65oy2j7ihzDI0Wy2jnBMCRSMse7UZYvQqr7-Mro8ubcGUzMnq4E-f9r5XLucKgtSYV2BbiMOPd7QZWojg0Cbgs2mrvp3N4fyF4Jf4ACo-psZMXL83g3JT-9KZsXGTjKvmDbmKpN8dIE9ow-oHpoZM4SxRCy2p-ddkeA-VDFwcmSoLwmAwAJBkbfXe_aUoShbwVTBfMunokjigziSbY5xoLjmtnptCD7i-HQ39OivN13bjIf3XbeBvMUOd_7KjzZ0peuPRDLEBz6Hod2m709cLcB3o7scXuwCO_6BnIVu56EYdyvJX-rr1rVQ6ttS_TcfrLejlMgbCbuIWIaYCXOsz6HSZ4Gg3uX64behlf7y6P_wXprXep6PTQRcWX5G9ylp8xAzboswcXFe5dD_2twymiR4I1IiH7u7ZNv82ZptHjDPOLCdEgSYai4yVxZ41I68ZUmP7YsluMfSEnejQl0TdvoR20EU_8jiO2OfJt9es1_VpsN6hVE_n4KuK75_Lt-8wWoDHcN0OKAPV9GVMuGPIOlSDctUsKL1YMBceKELejBuQiK-djMB4Vvi_McYV4DcDCnZhKka_SK0cahT8AlhjKMQupcF2ShCAGnyMC2k9Bo4V1wV2Iet4dxKwLyAzwjybXf2dZe3EH56IUt7E7n5YsxbDLkH6sE6j1jg3ClhNdIP_JlEhQsrqX9x9otwHaNEkVIx4_ovwzR7q6GFNDf75xxMy8O2u7t771cKe5hNsSQ3ojxCoA9LQubo1rra20HkJ0fm1-HzseZuyXUW-hle_ZsJCSs92rjTckks3qL_v4g7gTJBWRk_e5f7xGdtARqFpGB5Oc9mfPXNxUVTt-z7pwexBVTvqK-jYPekSt53YIDxW9oMorjU9x8v-LQbIJ0UXKHR8N2N4fnA-gvp3rlrhcFgdOO6JiWH1RsBKv4HNc8tbEWkPbsACSx0Ch0MSV3vcwajuXxiDD6A_4wcKCNwMBV4Kjy2RmZSd3glm_9Jr2dlQtn6F_vOSMfT4Gq8WLn9XaVE6WlZ_vZ2AI_6f3t6tVuUDPaly4D_-TI0iBmykrzq7hMAg8R5mZjglKtBw1Nmzzg4O6LnoYcMNVA45DWbVeeQ4nC2QpSfyLc2dBvvQoNt82HkpHYrpg3rFt-d_Qqj3R9KV_FOyPpn88RAnYtxZ0vt2iWogqHaHNeU336HkdlcxLTRHQk65_69cZh-nXzs0MXyWRS0IhHq-jUe2hOd0TBWoBcYo1-YwW0-H5iy3moCBu2soQWPLcS8qVs_LhS1fcwk_Tx4ItUSe5X6ND6ZonZpFWCz5tYV42KdQybbiaiqdYBCXMg9uCFAMZBKihuJ0lkqSFO8J7yKywNB9snPXYO7yWpINYI4Nu44iGTkeLVoKbNq30kjlQSwlZ9paYjka-qtj-1YX77PU3XnGCw-YoGzNdGHWQBsPCK0a4V_uld8LcginDcbYkIVBvUpFEPCiP-Um0Gh_4l4_rjlxReRfaQh4c6oh5mRYVkXFcac5SfefXqtcDMNbVAhkCVRw4VVXTP_mIgLuw0LC_zu8FHA6g12m_13WyZ4G3mE2K3L8jSiN_0PG0hQ0Jk2QTf00dA2ass5pMuiNgdnLTcMikqhj_adqkDpNOp_mjNFZ3KXWNrlIJUpSC2kSSngeWdsWT3yeezW0GBBu5cPgqvZI-ESOqBDAm_S9Sd91wp7fubCtBbxPng059ta_LQFZsSJoRaDPOnNJ3_Y-gYTtyoWwaZ0-20ZyOtr4wNSI0y9L9norlATN7Q4dxFECuJiKy4ld_K6mz6orlH_AG3ZmgPFLtwHC3ihomS72hZwsKt6hZ9PLNbKLbcApJLaNKZ-WSTG2jUeneCHousGjeOptr47UUReuMFZtD0XsbjiqsgKDNvFyuQinoUM3Tgn3NObbvkpsebb_tpJBp9i3H60pn8oq5srNydjueXcBqFOiuqKBFucIhXHPjpAfxTx2jm1t76X8D_F4IhKueNCS16ozobs0kvQb8KpALCp4bCTTBPuvOJZ_1S1y-0hMfCc3bK5FUHVQh5WG7khz2s1NoWOiCaHvGK9dZzyLgFclrhMCocN6QmgKx791THAaXa0RR5IS-h5aozrFdcwjAL9yki2tX0VIeByev93FMhaRrWury28DuE_jH-f5cGLgS0_H9yNZAWLcCJNz9jWZZPv8dyKgjxja-bWGwJtkytMUSHgRfIcjPRWX2SqLSyEqmh97TtrjTzVuNAzP9jhK2cU27T8XGCUY0mAorMsPqXz47IfcPyT7x45yQqp5zIp58vgNLPTZ_6QmN0Xh19-FHs0TsmlAzFheIgidDXPUoOg_DIEO9BQCoUTqQWmayCe2PNQwcg89gKz_V2AkccowUVpp0OOeHhcWzw_c_QDstRq436GLvo8uqAH2-YYof0UsQETSJyWOgdXKI8mhzeesirxw39gHlDt9wCoVVpifhX-hQbU2Z-qZL8hM3vVaxvFOktiwDiXJbyC1HQzUhZTGZ3XJFGkq8jBXzb5BifzKHhAIMPwyYU5FSSf9dICYBogLwZjcpTOXldYVqUgvrxQNtyUPp7GFnKbM2YY5Z8KF0Ty7sQfcfcoCWL07xy9VOeN0SwUXB7PQ8nI3y1QSww_bk0FvHOJQUIyjakg96GQ7ZFdV4F3WmvB1utcCURtAHdUiTm4Aj3_WcoAMCQWEAHPYgaV-INykQSKP0mFzWk7GOqAm_5qo-hOs4-14KfIC0JNOBLIpXu8vyQMARQ5B2WJgvG_Yt2mpfX1JkfFcKCdQYlUlxZJVN6vB20W7CsVBqHOeVo6mjrulHD9yjJooNmlnaZPY5sE--iswxU1SY7eWj9jECwI8J_s2GNEy9CBTzpwqFIYZQBTFGA5FmD2VrhXJlOvO7vuDsSIVhBQG1SSO9485Sj2Q6xKfPcB5YAUcICC5mUb4aGqSQqJFTgmdsXIre7Y2Uu478SCG3vBAECb37GO_gKGhf8bLIFGbbR23h_obyJEJaE3XWakiEh5Tj54NGg";if(!e)return null;if(an&&an.sealed===e)return an;let t=null;try{t=Ds.parse(JSON.parse(er(e,fb)))}catch{t=null}return an={sealed:e,bundle:t},an}function nr(){let e=$c();if(!e?.bundle)return null;if(e.runtime===void 0){let t=Date.now();try{e.runtime=Ms(e.bundle,{signedAt:t,fetchedAt:t})}catch{e.runtime=null}}return e.runtime}function pb(){let e=$c();return e?.bundle?(e.keys??=new Set(e.bundle.filters.map(t=>ee(t.slug))),e.keys):null}function Tt(e,t=!1){if(t||!e||e.length===0){let n=pb();return n?new Set(n):null}return new Set(e.map(n=>db.test(n)?n:ee(n)))}var fb,db,an,ln=g(()=>{"use strict";Ps();Pe();Fs();fb="tokmizer-default-rules-v1",db=/^[0-9a-f]{16}$/,an=null});function Ls(e){Rc=e}async function mb(e,t){let n=await el();if(n.size>0)return xt(e,n.values(),t,n);let r=nr();return r?r.selectFor(e,"free",t?[...t]:void 0):null}function kb(e,t,n){let r=Wn(e,{...t,keep_failures:!0,fold_passing:!1,mask_abs_paths:!1,transform:void 0,truncate_lines_at:void 0,max_lines:void 0,on_empty:void 0},{verbosity:"normal",smartCode:!1});if(r.trim().length===0)return de(e);if(n!=="compact"&&n!=="minimal")return r;let s=r.endsWith(`
|
|
78
|
+
`});import{existsSync as Yy,mkdirSync as FE,rmSync as LE,writeFileSync as jE}from"node:fs";import{join as Xy}from"node:path";function eb(){return Xy(S(),"network-off")}function tb(){let e=process.env.TOKMIZER_NETWORK;return e!==void 0&&Qy.has(e.trim().toLowerCase())}function sn(){return tb()?!1:!Yy(eb())}var Qy,zE,on=g(()=>{"use strict";L();Qy=new Set(["0","off","false","no"]),zE=["Tokmizer contacts tokmizer.com to keep its rules up to date and to improve the product. No account or email is needed.","It sends a random install ID, your computer name, OS and CPU model, a hash of your network card address and of your user name, and the plugin version. Command contents and output are never sent.","Usage stats (command names, token counts and install health counts) are sent only while they are on. Check with: tkr telemetry status.","Turn all network access off: tkr network off. Usage stats only: tkr telemetry off."].join(`
|
|
79
|
+
`)});function Tc(){return((process.env.TOKMIZER_DEV==="1"?process.env.TOKMIZER_RESP_SIGNING_PUBLIC_KEY_PEM:void 0)??vc).replace(/\\n/g,`
|
|
80
|
+
`)}var KE,Ms=g(()=>{"use strict";tr();Ec();on();KE=300*1e3});import{chmodSync as YE,readFileSync as nb,writeFileSync as XE,mkdirSync as QE,renameSync as eT}from"node:fs";import{join as rb}from"node:path";function ob(){return rb(S(),"bundle-cache.json")}function Rc(){try{let e=nb(ob(),"utf8"),t=sb.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}var sb,$c=g(()=>{"use strict";kt();L();sb=k.object({payload:k.string().min(1),signature:k.string().min(1),enc:k.literal("v1"),fetchedAt:k.number().int().nonnegative()})});import{createPublicKey as ab,verify as lb}from"node:crypto";function ub(){let e=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(e)&&e>0?e:cb}function fb(e,t){let n=Tc();if(!n||!n.includes("BEGIN PUBLIC KEY"))throw new Error("tkr-daemon: no valid signing public key configured (set TOKMIZER_RESP_SIGNING_PUBLIC_KEY_PEM at build time).");let r=ab({key:n,format:"pem"});if(!lb(null,Buffer.from(e.payload,"utf8"),r,Buffer.from(e.signature,"base64url")))throw new Error("tkr-daemon: rules bundle signature invalid");return JSON.parse(er(e.payload,t))}function db(e,t){let n=fb(e,t),r=Fs.parse(n);if(Date.now()-r.signedAt>ub())throw new Error("tkr-daemon: rules bundle is stale");return Ls(r,{signedAt:r.signedAt,fetchedAt:Date.now()})}function Ls(e,t){let n=new Map;for(let r of e.filters)n.set(r.slug,{...r,matchRegex:new RegExp(r.match_command)});return{bundleVersion:e.bundleVersion,signedAt:t.signedAt,ruleCount:n.size,startedAt:Date.now(),fetchedAt:t.fetchedAt,selectFor:(r,s,o)=>xt(r,n.values(),o?new Set(o):null,n)}}async function Ac(){try{let e=Rc();if(!e)return null;let t=await Le();return t?.signingSecret?db(e,t.signingSecret):null}catch{return null}}var Fs,mT,cb,js=g(()=>{"use strict";kt();Yt();zn();Mt();Ms();Ds();$c();Fs=k.object({bundleVersion:k.number().int().nonnegative(),signedAt:k.number().int(),filters:k.array(Ie)}),mT=k.object({payload:k.string().min(1),signature:k.string().min(1),enc:k.literal("v1")}),cb=10080*60*1e3});function Cc(){let e="dkzPDPWV7iEAZHbaIZZnt-lJ7Yf4US4xHjH66eikxd8hOvSVjeXONmZbUcTz0aIrHWuHQaNnF3HzNdHPmsxC8lpFKQwqmOQCgGCSoE7v6aA5YRfJrXN4-lJ8QZxbKpADbBf4_tj49xM8RNrAwXaJcLANR5c0yOVYyP_0AcKhefUi6i83-uwCyBimzbbepB21DqyRurIVbPTQfJVTZ5Vkw-e4Qp0pixUX2f4paMCA1abj2qTzlh7Ld_K9zNm3VrvNc626QWYli7eXnj1yb4OLAH_4sjxcdvz8gLPk9TegysPjMw6KlOGX837Qk-zFSCPhC9hrf-fRmMAHrCQF0CVk4zbbRq4Vg8PViSp-S3Z6xRui0KFlOYzSh383k8T3GxjIdJST3Nbadlf2hO_1Qg_pvEjBtC8WfVf4QN7jFWw6iZPx8K9PpDPZEX-aUASZoGnKkJjckMygi4D-neEg0Txx91xgabALuAnz_h0_sQLT-I-YwbYT1cGlMENkrQW0tyap0O9LXMYx9ufWQ1DpWOPYUSH-rUMJh1lc5sIIf2wSAGHu0zuyVSQQQeVcMQXR6K1rejQ6ZRdMlfHApvZg2xw9Yy3vqUiCva5TfMJHYHthojpF-_wlY6llqc6XGFcHEnQq-i1ksU8eiW6Ni4qZGNW0x08zZxZ-kEfgDwvAqpReeSnAGQF8cmt_ZeqlXAk0DJV3rlksGv9yok88luMb8Ffq6qKiArUdBwZqLnJwgtB1nxlx3YGuXgy2WkHpVwcoH54ZYK9Mqbyuzpvjc2fWqToaJ3uxuKKmU_H4z2mOTZh17tK6OLv9XCJeb14PKlapO9O3Nkj-arq7R75S9mg4-iQ6ecnYtjzgt9b7VUAGSHTyD_dqsbblLzKY-wCROxxFu9pluE9YRhWec9B0_vBzyRdgTcQDnuCgsPoznmu3fyeA3Yp0a64TIo_Bwd09gI674fvhTiRkgbrN52thJ4iZyDuLaySD7_1TiLiETCHsJzvAhJNa31mbfsDT5TDvpOTtUIqX5nVPBtFs3dLyQWZ8PcBH64RXZjHjBcJipDtHeVGmX2Sg7LyRyU0wuB5re13ZCul11Lta4_446QanV4NjCyXNXPPjlnme_9l12CAST9yLHTLecWXyNOf5QSt565YYYW5duu-RTIUCBXNEzyrpkBo0vtcpdR0lOG4PMsLKiHQuMUPEBSGqWiKQmtnJXEUxCYKWbEXbeRaJCa3m_hz8IN_lfqXT7a3s9gEKzjhsD5T3LI9DH6ZCEBVJgVGh2VwIYeenQ-dZoHUSKdr0sfVsqjeyfdSVvQYtScKew2NwDsltp2-buJVQXFoboHuemUfR3wrSEv_99c7BgcpxMQXlX-2C3vtg6LDVHV1-73Skvc448DS-N6QWyhOyUWbm7i8GdwK_0a-u4X6c8y8_TSzI3PvIxpJPU-EDe_1-FIzy_SecUgAV4zD0XiIz_KdJJLGXUqM1gZ-Lp-RS1TAsnHEKGlFp69veZTWmi_Z9YULoG2iAMZqHx0XEPPdAe9FtYvJBr3BKbSHqyDUblbaUp5W1zLuSC_lBqEj8GNnblRM7V5EDzMbTdSQa6eTTf4Xf4HSi-z5XzJPbha4DZ6sMvOUcHvHufyvrYA2uj0DkWIYZImfk6hRzv2LWx0yhAa_l9R04Mx84ikvlHoEDyCIyPtVkIzRH5TIkMUUYFgVgzV1sG7AwVjWtbfTSlxLK0H5IRXFyvXKXwRCBM1kkhFaEFys_TmbRGVIX3sleiGXn8Q2Sfx-B3F_Zt-7YkTq8EkZp_TScDlZq9P4gMi18DrU1CL4SwWCYUw1ubVt3sflVUMDpBMhI_ZJvGJHHw4XkFzeNYQJ0aeN1lAjvLnvYD-vyd3RV1lsbyPIVud7orWVTeOddOA2YbRNGyNrFBaCXSXkkmsF5xNnafGcZYyWgGt3crfhH8PnITAt9mppt0YqrGyenGqb8DBe6-3rHMPoejwkbJq4JczyCYppaEYalm3oW9p6F4y_SORjV4WqBhqhrV6Q6LzH-SeoTRtLtaZaqMRo3Py4LvXlsy1jyl2RPm0FSo6626mEAcfG16DUcodbe3XPHdYlu8nkvSqI7TwSYt_EVwHHyiDTTNUUiO1vRm1RIB3WqtwJImp9VwOKUQcztcGH2MZK39tAJkvcDEuDPuaUt8byv7HYyL7o5JUv_tQmrR0qkS36cacPp2dr1iuIySSLlhP_CHB7ke7HodTqjb5eLOdzNLHojwQPdJ6Kw-VjC8Bm6iix4n87BYt1kNUHRnhDroIHgwF_M1oztWCwVz7dIPSo-W2_SU2IGSB75b3_18b3F9yfWYnJSFjEknrvuvu5dINCer7zleQ8kNzy2BKF_mXcHqC8MNUFPNSm_mxa2_-LirWPPW200NNFu3Q-ZkM8Eot5EYFfM07BNWbKo8OulYjK9BL7jph6pI2RxEctA7G6hKAs-fmhGk5UE3AwwH0Go9-crqgR2Am9VZm26FPYiunHU7tpe32-BBtzBGcLPBztqPhdLnoEttGvxw_JxG8f0H7iOiz2F2ZGUKfkZOnDCyhhJRxVvJsGo685UWUrHvV-NW56QZUTEHMjHepa4Y0JK0EnExR0AnbXr6V0HlpFKTNA9vFsVKtyAx5Y7mFK-4TqkveeRromtGjP_H_Um5ibOs_AXuIGUlJxNFhZNrEMXWZ_ezziJZ0hIZR7BhkDIE87A2cvdEZyJpDq2OfTsqxs2RdIVPZqKYxFjbzI2ZjUX08SbIe5yZHzCX63-eFCyr-IZsmq4X3-3ObsPejLAqUrQRkTtPNdQcSqCEeSQtbD32AEbRTuxzCQIaEPGqbSbjFWR_H98mMEdnEEJ-hy7Jcfunf024T-2Cy25z7qa37EeEhr9wgN6RKf5NUDedbNObas7SYgaIowbNqZqoufkUqbSkwnMNy0bgR1st3ittZXAar2lnqueEFgjy4fUghzcP7ZSmOafSZ3LqS294Jk8Fqg2C2fx6KKcz-4P6vEzukihFw4G06_gjks1cs49CVtbOGkj3MN0RSJQt59u6UdP6g9KuTRXuhMtkd6NklXd-zrJNdGKOO0PqWrSZSZAMkukpqulDKMYe7l7Ot1zzgzzRn4_dQPIeaoAWzqn4Z7pqmJ73BUZBqXBy4Az8aOyWCcqCSyRTXZv0ICT7eanL8ujNR1ZhDJkUgi4VzzsY4GavXikQIZunQngpppMGsPvQVlnhv3a4OxV5mbXtDgog_Zrzt92L3jY6sE5rhcDxzE90-P6AlVqvE8zUVUxdB_zgm_wEeaOUwNncNe-j6y3nCiqEBE3TgDCB1sInEQqiyXyn6bKTct6_6psG9_aXv90XPI0IO5EJFZEMsmNwimM2UbZ2MXAOb1mCy67tNUcI6LMyXzrPX2uEBCdrVNl9dviwPMD23RlMMMLHn7KMM1E8PgunyKskCVf4Vg6eqflE81MotCdsyGuWUdzSlpAgQfpluoDLR1JROsE2-meM-u4Gf8hgPoicUZe8LeHuE_yPeaaffN2TBpphs65D4KRsqHSULcbArDDd6unYX1EuPhZOzOseplxofBz70FDLg-XHyL66qreuB-flinlb90GGA7PPwgBGFj4QAWPFvUoRqSNmBkzlX1x6rmWqo71vkGF6gkehNRSOWJjEP4DhCJoMlxs3Vid2JewfiYx5hPCZKuzSJR359-f21St7ku8jx-0Es6t15CvSQsC5XOMmhXHFz-0yf6n6BGnkv-Xywuo3OHqFzMdwThmPFrInFIeaORMglf1mXlg9ddHCln5TL9W5mdYFZMMHpZxKeW-eSwetdEJR7tCrRtOEW7mY6KVYW1e736QSvZhkLfJITUbTslHalk9iqn9IjTJK-zLX4y-J4-5egoeEsowZVYYXOFF99nu6UjeYtLbe6NgMlcitTOD3-weXOK8K_4R1XCsUCWh7b0EdaWP7fCgtOPqzCPNPgh0ChJEuGS9GURoFvG2h2k4Nx-X8NkabAaN17FllR-HtjZwjj5dzEOZX-vMn0SqlP7rIitQAYCv2EPMXV0VsjB-_zP9LRuSgaTbPEJTfEsI2vKefV8jV_412AuNhBtngzfZap586j7UtiN6eXIjWaWo0wfPvOK5MnZoi9UWj_EdWL359FPz08gHYQEek-rk6kYNqKELax07WqqAdPjEBhf2UtxraxCmgdjTOHzcJf83lj7O71YNfEq64Y93JVo_csCae4IePaYhYow3yr-v0n0OhqvL-32C4h3ZtA8OZ2GocFmSMqepduPtfgsApo0lgl2hC0eHufH9vshXRyDinvSwTE2SufZAM4vwh7qNDapVguKKERGSBDJv4Ba8A_k-hw_zt6Zi2RzxRQC-6MTekf28jJiKwtpZSPKdP9HUjNpcTWQfZMQOKy116RKX8aqRMi4ZljEJcL8WkurvMr3CJpFWsG8_wskTT8fbZyshv7eDfZjVfFnrDxYsYhUiNw2YwctKMyermwg5htk0-l5cYSeSntDPZc5cLEEhIEqbYp5KV8e5r-5oLmggkBubVTLAZrOfaUKCeYI5fw7_zn7bq61nxFgY0-UWYLytwYHpXqRm0TzXObC6I-opHeXtppOlad4o8PMIh0T58vyLPMuyGf5G0LnpeCB7wX9ObK8k4MSzzXMnuRucREpHymGuVuZlD-pGy1DRW2muO63QdN4fNA050CdOHS9nZIaKe5AWN46mS2tklqKYj44lZ9cwUe4hmcGAzMRzTYnFOnnM63hqPmZueiaIn3sJJxZ3Zw7kU4GfXiF8lIlrpUxAB_eNGLYuUq8iUTQcYNS3BEy-FiTxhLr19s-u4xwBDaulPt599UGcSREMYKG9LTJNFe0ZxgMiWBXRv1xLqS_CXpbMpwAtCuLX7ud3NWD0sSuS1ypKx5fPbV1Uip_o-2fdkmqIyefTuldA38yD1r2leaYEqR_ag7oNZU-jP_759wXU4eBzXw2kY6kqOgbes5i_8s3y7HN0X8aJRrsdcusuVBM5g89c7iW2FV3lx2P-aKpdXqb9kXtU9hHPL_xRZKKCZNUMrulOkHCdz2zgHmo-uvAnV6kIYi78lgoXTtgJdiSeFKiWQpok60Zphs5Z4qg1HSbNHJjOrY-upYDsi5_oUIHzwFA5X7OxDN0GrbUjJRzHTe-Z0F52R89Dy1BmaigTHDnOFZfYPYN7wycB3479UmEvHpFIWSOZM79cfwpkRgjS-XltQUetcSjmrC9X358uDvYYk4cq0YDfrVuPq2a5CMAxzv-Fx4wpr39sufFP19PzS7jxMRBpSvuEnEprSTmBUaQWgqcnnYnpdTc7_Ya2IEQUeqyuMl7_EkXL8lLzFWzz3kRZ5ReWphNrXjykCFXCyq8kxZgBytgCafu5L330PJjbMOOoVKHaSi2IhbDVZcnoYR2y30Ov8VUlvjVzKAdNveiZzRR5e1K87J7JCAu0KbEojwj1vJcZ4ZjwEw1tyXvvIvs0Yk0Y_bMuUT1YW-5HYx0ZPLsDvCysZ4wHe5cTnQPBk5fqM0FGggynn_8sjSqm-1J3AkxovF1TWOtoRNrGMPj6IbR5-YCxh1gTPd8S-tY12OTkb1lG5nTSBGAllcD0lK-8BU-DlDCOjnZVxx-yRq3I8PmVz5hJFrVbvlaIWi3sgH6RJhWAoFa0AZ1QNC3BpncH5hTpKklzizZfYB6dBAaq8bU09VMh5i8rCg_K8Lr8e6AorykKSa8X5r2hTZ7umVWmEbYK60VG4WLi0lhL6SpOwBGHr7Lr_81gWOM-wtswntxmr-3xZHIqLD0ksmUJnP9wIk5toNDndTmVpGvA_F7slwSvvd85gOYIXiZqndBFH4IpY6C9JVkQx-mgGn_n1nyiMWpD7uzkGCKRctIfPtRkZ7EoMRSwl8hWHRvFHmig6gxhXjZGue3nRChmIhhcGNLbwQ-JF8bQC4-RKiMtpXA3SrawLlkxogyqWM41AozKjpKc19B0HHfesazoMAnvdKXzXTIpuUUS8RSsqz2HQAPPy5b3Ro90OzrQ-jt9KpAQmCveJM_sfNaG-l7H2XOKY6Umm_m5YEuoSfMDsg_xllqpgNdG3nXYEAYhwHXFjB8OG0zeMkBazRi1TneEZFvhxbdOH47_q-pjyn9iJ78EsF0p63P23kGEiw5kPFq1HLtYY9eRl0JIezha0-oYbgJFkE-4_qFCPhrYGo-5MOXjofgwJ6hANSy3Ew1RmwC1o7xWzY7_7yHyj0TgHrx7Y2Kkj-1vyjjObE0hreZ2rThmC51Vk4NxopTWRZnelVDmWDirJPNZ_1yhRQklXuU1ZfsRohVQlDHsbzX2QcPcgELDkwFJGLUwnbPawN90VZ3xR3Z62dCnVFmGhO9Sr9xF_QrIjWtmQBuQ6R4yOAVc1wM4yCdja1yWrnyXTiWrOZ_Ke0nS-OQB8sz-8-pJ29B9tiyRV9-P7HF6RkvrVueByfL8X7GioGLNdTxiq8jpBbqntdoz5ziKhn6-dqBJD1md48wXFlMaItU3FROdGbBXPn06qwVP4MBnN-jtGkIpiPnXCflkmC6Jydy42aO_b6elvfO5qOcSKqivJpOG-Hrey_EISp5b0JHF8X9yPLLqlPcGyHXixWZMc43AO2nN33_2xZG7AcFt6AM2jE0j7Feu9oO_mTe23HdC2W1b11tWojjnvHsl_5qZprbaHBEP6pOWFZ7VLefTsZT72TuvVlngCESM19nzuo-i5cgdBArgRJm7aXSAxtC_o9ECyhFqs_9zX6KBJN0mz_bO9t1gjHoL1hXswVosbDNaDz8wCdjgkQv-CLCaemVUCrxTuNuuervVsGdaaPLQh4zxuqIgqEcg5XvoI6TfCpEQn8lriZF_Mi918eX8ueje5AlHdcNn-UqHmfAtNNWQNUUxx8TrpMobWE2BJvnd6En2NlgW8EoaBppe1997IdcKa6g0CKRc5NWXlDzsTj6tLs4xCu-CcAWNb4QE5f0ppyZoACq6EyjTNNr92GXUWQH66ktE8I2spMVdhW0wiv2uB0mKPVVZLMBE7DRC4si4I8UxwUzII9Drvm6DjPouUrdeLBUbYmu5792oduBzLZLZ0VaQuVZWsK3gaIU83doWs0jWG-BZC9zZ2sDok6g2ubmF8SYjMYg5ZxQrsunzx_H6_cabpisEB5SQfNVxN42CmDTZi1OqqTp-WY7GQsIH27e__hAzA-Qbb2yWsDXjPlEO0tkwU1-mZS1Rs2W-zMR8uy0dCFY_OHU_T79n54UGZbE2OeOp9h6kXXYa3wSpYk2ZKbTCBITjVp_SHosB2mAUKDYo3Jkqk2qDlIjCatdYDhuj4qHY2kYhfZXxaWDVA3EvDsfuI2YZ9JYpAHWOVqdN5-XtFM2Zhmew1LHeiG6vFqEm8-TwAlz1h-Yi1V2w7GzcmB8MBunjw_NE0CG_RCPlmUt7R18NQWhbB-xOB4fiuP_TL06dMJilTPNiELNqBEuBrS5UaoTzPMeHUfB5QmIMXcYYHSCMPFpLLE-nNISr1qmribftTEslJ5WK_lwYD6AfGaYGfI1np_PF13KOFqUJmjLrjDDz2HUwPwQ1fDLarPIa5vFTtMgEoDiNgn0ztT8h-xnpX2JWaZgnvVVQe1XCm-3ci3DzE59E9JWCtX1y0068-JzpIOfY6Bb2HjaEevSMJ035mplyD_ZCWTM6zpX_EbX49pIrjH6KzAA_VDPiQOi6efYw_44l9BsfXPB_KwIIZ9-CbVA4kyfP1CE5HpzgOb7B0j3BDIsIVyWJhVlQjNuIhlH-aA2U3AXQmkV-FPqBwOQKSMS4ddrGPisNO_UibWeBTNZ_PzgeQl6LVXg_jp38fygF4noQ6-RiWOqV7bCdeVrb4RflxTHevaMioc44e-AfXxLH9bKdwm7kcEQW84Tnbf5wY5vrSjVxObtvg660mZQQQsW4NjW8D1EmsYwMnhA3A6k9sQZleJKH7Zr9mjzUw1So8kDsFTXLwCEfbzDnLVDLiBnYfy16SXNx7bwrmQ9FhKu5I5xqHOZV6EORGiXrKCyn9oWKVLiqkpjhYdZFp3rb-qNd4-o6H66Pm3jnVS9q7Rr9zVy9kaT4G0npnMn9-_gOVTaCHo39dkE99cuxhvopzl_jO6gtewF1WYse8CUxpANbxdRItJ5DTvIgchVCBOYerrXIU6MzJuvQa2hUFQPBSFreA1U_Nz6Qmo8aY7BbeY6rvjSmQIINsoqC5QTZEK3zFNSAV7sd60ym5rEJ2chPyRWCO2m6pf58igXVSszpWItKcXS2oS7YpROSmhR8hx4AqPQqA8ueluTRCo40H7s6r7URYhmZ0FQdsQVODxUIFO45hRM_f7hWTxEdUtIPjOo0d8TF0D0N1toCvKp_X21TJrIMua_JgI0aauCkLAb-Soz5NuPl_amqcghtoyli5nXDT1O20XjBQ2XBtP6JEhG7WUCxWEp7IkFMNtIJbBFfcmk-aVdev_BekCKv-s5jTrblfuTaHo_VWZrCqGHSJTMWdjtOFDUIqQ5y44oOc-WdXy6-hlAE6eQdpOGH9vkivQRY6PfZPfL-jTFGq6SGjAL7zp44JUSh2Ebl1nNFd8DjYyCDJPNwOL66KfFakNtdmlUCJgAL3IPLvhIWqhBmUMaWbbEv5_OMETeQfht0TzBt7I0_ZdyLA_G59DETkL-G95optmBIVB3_INkbgIcfaAArU5N9Nd3FWbJIn7XJiInHSpiH-Uz3lzHS6ClGsWxVefEdyhNHCvZdHZ6oiYUlfXrLy0G_VLZVPqfs2kZF7erltXwymW-EH2IWP1Xzxtxpl9WwmRoqYLHaMhtHPxBaZBrk2qhKiL3SbCq5eQtGi6-5YlXIYyedzm-en9T0hcK9rr6wPj3aBDRbwX1-wcWdwwHjPm0V3VQ3fgYGuHgI7sMg5GkwlvNYq_E9oH-kkwTsIiQsTYghKsV9sCXAXBz_mD2wFajXkG_Oix9bnYweOSQHJerdTOUfQbETzOJW_SrV-8ya8qnvm43BVmtpY2eJs5Dg-x2i6C4wUluRY3cMk3LMvSGMGJmZvYcvvAZzJ7QZKsyuLn056lkqBmgDGKYuqK9JHaPbMTWprad5-QD4iw5u_yPJKvi1OWC6PrHnkKqOIGYJ98xuUSB21Aj1vy_xTBnwaD1p_z7XiBPywGN6WE4Tb5sPqKRFcjfmoiWLtdMeY-eghxNh7Aa4Cx1lsfjip5fHJvB7E-xmL-mmHfZLZwQL05qh95bzwKupU2bsk6VY9Hk5NtFv2SR-RCqIWeOn-V4lJLlULqUlalR8ABhNSyxGK2wntb5Y89d6Ow1UF8ILVGlWRAFG7j2tLGNU4lKLtCp1mmk0AWfBHvOKW8JFQyOueWcQUbWmEqVjPeUh7MEQZalVa55pyJ72LPuI2JIYZnfzHzSV1YFJr5etf3PtvenkCelglL5bD5w4rZgpoTTFrCER2EcQv0LobfTxM0gLhQuWzr8F32gwIkIQC33aoeyznuVrJHTb2aNYRg8EhRiyxIYUa1fc4KICpeRfvNSpjXfkiNGym_qsviBWWexjFI9CAUgvyv7kCOvMTlQ-LZtIfh2IRPJyhOeenONIorL3QFIRGAfH4qzWJNK1WA0V2vGBSWlU6owi5_k37FVqAQSQZADAO-oLy-6lLWEZpZI29PbMi_oqWdjEyrk2039jOe0hXE_iyAmWUo4-Yfa0eAM9F3vaDBSdRag6OBuzGIpprwqsqXmnrPQbIKeYCxCqaYolUI9uOmGsrR3a4-9FEPcBxW-2Negvsp8Y3KDF10qZvNYAJcRRrh4D3yBiggMUWF3epfkr6a1vcpgY8fvl42_BK_DFRFuQqcmpdJ1v6aY5J-2KpFbjSawFZ1OJSTkJBd9KePHmvUFSZHOLF1EzKD64cWFpBebqf5qRWelQpI_7a37OkR9uUyUOCuyG51MNgutFHuB4peS7RxXE8xqW92-MbCLlf2o71pSJxkqKbyXRsSNexRYorgwJ6VAGHH97vCORbDKjDH3l66Uic0J12EEUlkmImGvUzG-uHYEoudNG51ZclpfgcVLye3lweLKUZBFBZ334zHgx7w9pgSgdgfmVqRFKTlgAejcUj2yGLtqt3IHhm7FJYZFtD7VttF_XNVnpgqGcBLSDyNMZXANECwxHzBgn33kRRbsHRDMkIHoPErVC5N5AO1X_exr8Y9Hdb6zip6PFU16kQWNIfGH_K6pkOo3BssYH_uhW_5paIy_34zT94GAySbxfCs-pl8daNYpteqaJVLApmyz-O0RHvEBOV_TVFzTOHQyF8t0qM6zsLYfVsnPnz20a0FPYnZtl08ZB62hc9rWzGd9mfoe1Rj8SdeIEFxDUFucT9VYOHRc4w0CBLsE2dxj-5UjUUGFmySMfBgjeJGsesl_rab1Ib6MLPedgvBkQTQxjR0U9o4zsmuyUusZVBTIqxRCuwpDfHdxBLB_2EwFsLgw_d8CKIe0iwL7L8x6X37dH0xCbDfMZSgXuVq8H6QIstLUqqVc4axlIDL_UtAj0QPga2gwQxnMr5mT76GtEWdBQjoRjUMncjAflz2xUezKdTeCflVgjLgJGH8nY2D1Y2D-iScJwWseaBi1qlQfX2VRZ6_rkoNbdtCdrZM3mPJbLu3NWJkF-RoZYX3xcrNuyOV5V0V92mqriezfDAA9JpO8N9aTslydnkXOgiVis1c86HEfz0tToGj6CsN5x3JbD5q_8VC8RmtDvtlhLGF-hFkb80TLSFLY2UhI-XHMIz1Nsf5noOrq47zpPMvq0K-rHTNOUUmcG5vXAOkJOBOcCx7Coi63jrFfqywEBPzTYnqf5Xjq3PLaDXSXxUJgFrC40b-fhkajESjmKgCn3lBnB7eRG8yr2NIsx4hcrYl8qhlAbkYi6KSpUeTciPmNHdGAzhfSN1KacVmxk6mbMUZ6Bg12W2ntpJ3Y6CbbHphd-1NPco0yTYM8Qk-tUCuzxU2ZSYKEyN2yVz-VKGqoQClfSis08qAzIGH5l0wModGkhW8dQbopeEtays1zcj43Y1GZfGy4AtHczDAW1-BuvVKQ0jgSxDrUKtOG6RoQ7aNyqE2FnbzWd0M3fQ9famtNuht9OSjmR07pvTldUB4upsVseYa0ZWaO_Ce4ehOL0GidZN0TfJ33M1v5z0bLzb2DshJfmTgZmSuBLyGObkt0Lt-Xe-QCXMUa0SbUPV-mTWJrNeVUXuEuF9upzbQLtuTJQ1qKPhDElzsc3w514JKiYj6gmDjTpjUH478AgixKkOgeLcdRw5zb5QShIYwBkVjAfFm8UJltWO3NJvAed7UqnTl-waDikDqrS57qXt5KEd98i8-i5Bcauuj4k8W67qHZZSBQz0QzNULwU761gJYFRDbb_7MAxmbPq9B9h79yCJ4rY2INcgHnmRDE87SghvUBblIsCEY1YG5HKyf4chOk8SDj7QGydz9tbXtOdxY2CazWrN5DFWcZ3dphi6qkRLUbDFtZgS7ogBRBVoBrGAse18o5_7ykRc5iFx3cJ3OSDN7lj16jvC80JrQza4iXYxa1QtsqY5PgZMvR25rGzd8x7IVZ7rXfc9vAmsSlxASyYT22UqfjEOm7sbXW_F1Zk4X3pWX485bDIlMFydD_5xc7isHmGSCbspF-BILyypawIDkXQN6roTNovwQpFnd811ilmhHhSEML82Ql2jCw-yguORruPCDVRYRd6QOJu104-HPSWEKDFp1-dKhBKRMTCvxaCN0zr_gcXsrYkeCLPtHNYrstVqSKvM6Cd1dw8uQdZEC2Es-OvMTnuXasME6J8zY1NdsqYcnpxecfiGrhf25oiKfVZ8Z4qIxZVYaZsMTHr0kjhi6s0qGDeiU7CG9CVzq16wcrNKkooWg6ot91ag02o5hIywMPL7Q-Kmv1UTSKCszFXXAN2BgvYD77s4ik-5w7Vfz-MgxANuOh-N9RyuSE2ms0i9fEiHfCrz_gERD8K29H_Duck1qnLU-FFMmJ62DImpgVAhUSjQO0Oqy8W-W38NIPVnYgkPnHUi3ytq4EYWsJdprJR09h-1xrHToZ5QW3OUOmgbbdbUFbkiqcVgVaRPFYGhE3KUf_jiBDiGgWAu_rzhBov2yllEyD0qLD81GfEN1jz0yU_0iIFa-QKZM9sYdh5hcoENJE4IhRha65PrUtCxWBYi5prZiz5O29Ko17NUWuVuAEIL_WdRpd4riz47N1s8m-IVJiiOjb5rwyI5fp7qnmluVFy6gdEfhs1oqyCJoAZr4HkxxJeULKUOdQ_v41el6P4dathf5I8PrqUS__7WHo_Cxv7DrXibEeijbTRA-vSsXaaFN7naPYLwAKOk4e7pEyx8b2NzZJXtgbeYkEcE1kffkXNfXdW3pc92AymsA3RcHoAkNshtAOAyeHXEgnbdBACISP19FWiirMYA8-BI_BgV1fTdw5QtXxYkySLgMMNO10dL9WhjvO1pMxMnL77_00X9UuMfrEl6yTXVaKRARSvtrhw6LVnxq_UnTDAlVrW-cjeol1Hsr3UhtwoUBGWzoeHIIDdFEsjVq5NSn6jCxcT-64P815PdrIRlb0OOnxaDkRRCuoZSlJtksucdYnqsPcmGpx8klxMfS-iHXKLM_EuQ3zioN6Kvxy26MsayIhrJOvWGhihW49Jb7ZXLrRLmcA0hTzFY4-gcG9pXY3ms0twWkwfXnXoEuPZcKWRX-nWrQnZG7-WtffGqkwznxK0uWS02mTVbJEcMNtKhk9r_Ac9hj6uQDJkJXe-cmodTAzIaUDqeoFyYaUMQz-wMmcxVx2tt1odB1FYfbaGkqY084QWTZCD60pYMdUSEEgX3yAqzqhJUc3LdcyzuhF7g854kajktDBatSp4sSmWRd2pbOpFt9FfhoY9TMfUXyQxlH9wym_SSHdC2SKp6Nkou4pHvstdar59RmQHmscizLnsuRm99UHL_2nIrp_Xni5g2qQts7x1y4pIGESlb-mHVs8muPcDM33ISvQgyT2LRVxrRA5LCt57gvkVVIHhy_XVaQri_nRPjRYa3z_aq9GRkKTgyzTIqWKMZnNSVCMHcEveL56lM0rlD9F-5kEsCUSq-RxPPG4T4EjGSWOEqRHYqDFpmB0zHBl_mHvjYWio78OXoa-u12RxFiJvLuwaFL5S98ovhVijnNVD2Sy2MrJJ1BPwxpJEWWl61D67FGPssRXOGNkBPd9fzvWTzgZw-mJbDmdSPCY8bQlTdL9g1VJp-rVFnUSUOOr7gVDFxl0HqZZqj9ffFS3k20MXy5sncLIDzbwLunuy6-cS0dbmn57GPd1pU3oZwijAXB5pOrRf4h7HJhAkrNyX9PT1aG_Pvt9vfuc-dGFCtaInUOQiOu5SOcMK_V7BvKwxATXG4UU3cgvLtaecGxZk0GIuOT6qn_v5ArMfrqbxSDssv_jkUayrqpcBQojO-N0UnRHwc9hrAzx3Rw2qf1gSds1qQtK3V1qgRByqtYJYgs_7hUJBKc0PxBccwWS0Z0rl0V-zvosW5bvRpefslFTJztBpX8RKTE-Pvbbioyy5_ePHUrq4EHCMQAH6VUBoF2iQWgGceY9R5km6ECcjJuZbv3y0e3m28kAC6QCvgw_CGNis6usbROW_TsA87Jhz__zdYUCiEqhCoXCa6f4UKGj1HKF7ILIe1X8s8VcOSVugc7n_KG4h2_S29SfXIrUm7SRyhptO-gEDdf4-O6Sguqh6rEI7JRT7MnedF3cD7i8Ea8ltBk-n68v9Lia7VSY0zd_CNeT2PCJMsksoD6Iegk-o28pbU-mQ9l_jz0pSxw25MY7c9x49luy7Ih5AY3IAU43GPWN-v6TZba-U4TELuCCoBSv1ho5dUVKg_-m3RIfAvu_NGKwusjomAl6VALEsoIHqpeYtIdGGUWYaPK1ORI3jDRZArq_tBNdFcQIKhU30jfzX82zVHHxLzOofBmPj7YL-9u2Av8HwGygIb4c2gwa25BsPZ9f6vlRxatQIDJB89dJPbFFwFhGYYHc7Ym3gnVmtxgR5slzGEchS0tyal8OtNesO5uoLIEa751PzchKl1a7UvVv1EW53s4cG758AdeBPx8ueKi9NAZx7OgEOqbKvAQfWv98TcISYQvrL6IJ8stDvj1Rw9siR21KzTA_JMfroXi2pRGBFYNz9aWU1yAultWZPRBF9xVDvzZucAFAlsxI5dPgGomoQf8Y-BGwk6Bn2wKyNfE1Jmn30XyTVatCXwNm_N28L0YGAAC2fMZv4xG0Ud9h0iCMfC87f8gOfvs1UWKWggkMSEErc_PYYVka9TrEYUf00DdANXcFx7XczgW8C4n1zwTIc7fusAcfVD3tBPUjBEOwbcPYSjMTHEYfL4kXWoUfvuKEz0dFCC7Tt_EaOS7tacW_UASGUogRzM8tw-5g6o37SpwYl2icakW_IDN3m52Pc40oSMW8veMWkw3k8j8umcoyBsvkm2uAnC9I1aMHLPkm0mOxfnNJkfiwtm_pUWt1BD4w84s3RLEPZXsy5YrbUSLiT52wAXCH1oeHrF3Pw_AmaMjraOVnU8etIHHjlBIXXlui_tbb0tNxdK5Zm0S62M2MOuRc52SA4JsjqWudPaPVFnrs_xwnGb9gSc9qPV54KkZdz5vl1Gr73PpmtUMN0aerCpsBiUX3wSyG6zivhhBixbJaioCK3Q_cgrO0fyRSVtAUpoNaOOq2nsYmhQ43wjaeIXoZmRykhElwg1QS-c8MVqK2vLcMjfgJVdZQmqEGk9uPJ7Us22GE2YvoH8eLjM82z1dLGroLhFiE9sieZcfYDWiAPuUn-MSOiMrs7vopNmQL0owiCeog3mVf7bLs-TSSS648J_LF17LzPzycqDnNyzTnp2VBgTzM1MbS6JHke-pHCySqPCyUvk74nNw3mcV4Bmpigpewa4PsyAx2egnKUXyP881F7QQ6kL1hy1dFoYgosXZy3bnEabimgIkLV94rgwWoeiSoNrHh8Fz14ySzRpieKlbwycbrfnQk2Yysuy0MwlTBnJOFRt0ufKptlDoeuMhhbxhF_isa-Vnv0lbSRZjd6F0XLhepQdEMZVmWG_oadJHpM2BvjWwa9PFXzMdmRldt5Y94Zz2yiiuKYtTaviPw4kcVwqyn43oLpHae0dQux22ZHSJCvpuyzVM_qe4h8_XAnQ7eowdr5LJDkOlD_uulQdP7YLRssmBPCIipLmvC3ousZ9QbB5tb_SZORo0FibA-491gKW2juVwFTad5gcOmbRDlNAx5_09Br8AebD4Uwg_obeqAQqbF1LxFvZFrchGQAOG9ugB97Rn1uU11YRqUg3ia_QQhQqxoYsEWIYK4M1enGGiByI1g-pk-mviFLPiVEj-hUSfz2yrT6Vj-xI0PHVYxQ1oP9aC3eZbC3UqWmObr-OHjWLzFiQmJ1z6dawte2tOz_-O90iBZT6ZipV9p7RCIUB0qJNvbOHNocPaW_N2cm_K4ZNPnkERVd3iINX5erI5p4xZ1V3gVI0U2lccn_O3egmh0pawelC_42mgDSpR_HnEu-xKFIigP2IlGGFBAL8EL6yUQgEkf6JXZb6Zas2Vs88vcf7E6BB9WyeDSht37Pw6vkUcRf3mE_ijjsYz7LjdzY7ePD0sveQtN2Eij8nM4IMy7s5AcskxUpbqmcAuxs7ktGrstZiBUD7gj2FwxFAhF5ckF5BpUiZCVbbrBGf8JPpHLa-ZOS3nGDXtLFNu01Uo9MeAomzIa4WtXRGcdXbfFySJVr6OHnQcBr4e1pJYcjYCd8eg3J_7fBJpU-mXmEk3kXlS845svJS58btV3HCXDl0hdclo19zHAKqNQ49i5objal-zbJhhJlqlwgzcvOaC4QSdRKN50cH9z6G2tPNkFNBILpWqo0Ih0Pi5Z16RFiLwr8DcpHiDQidHm0LUIs1z7CS_NsAUg_HIxpcINjveZmnsKB3ZR5OjBeo_wEmBe576H3MUwDCXM-bvuD9SubsP59fQoRgox7D1X-7SDcy9tVMxbYmDdh-_kJ8Q5o3NWbww5bEvJ8xGIrD8az91MN8LhRazxcWV5c8l98l9DRCAs9TrDW8Xk-uzoIFyP7L0H-ES02V6LPXnuo6TFxPuVbq1Wrq1VYnGWUrjWJM9Wb_8UgWYkgawj1BSOZjJMGDAIJWdcMmwo9yRPJaKMtonlbF9w6XE4YcZfktZe33p7bAMT_ANjkZEwbKokp8JroUKZiSHxwQkLtJy3nDSItxSbeVKC-lT7BqKYusFwlwPSBSkcfZ1rEEAqRZWAIVgrAWKGuNLZJKG-lOqnL2pvByW3MvIRyNdfHGqRTOvbf9ct79BaGmLwg75NkAJYhJ5CO53iMdO9tj3Ho5AQxOQ_VvnTr_mijIfv-xLyoZyPV8U1pgEl4LNc9oHXAeuLZ6xne26Ll03hQOw5Ef7K369cerSmun7whDdE-QefVIXNPPS7Tq1SVjAohx2222ojn9tON-xxTAs6FLLfiAEss_Y0iFFvjkLUpgmYKEAX6HyJdpEtKBNXAZ0GvSVKA0TBx2Jx1FSvNNmiF8oAtN3mOeb5Vabec1APp7ZjKm9haLFrJsgjNbEMtEyivKQEHpuafOUTN80IrOi3pYc_QLWDi5CAdHFNdX-HNGD90Nc141uO9zOjJldyweOSlnFKOwk2_5kx_eEswYh4YsOPMhtFV1rHzk9_TnICTdwl2bQhIFPPKY2e-7VlU349piUp3996aNQ8CWPoa5TUJGKFM384dqfC2kJbsGHY0yl3fvtrsd-3A30NmXLMF8FmT3yJ5IO8ENaua9v8DIX7--ii9YqGnI_502BrEeH0_ITZzy3kGn6gRhmKv5C842-fIU9271C3r8s3p3wYpc31akCFx-HSsVoCgH1Y0hQKXoPtmcQSgdhnkYhV3LnBhoYejqJUUJ4P3_k5160IpI3uhTNI1fgyi_tbAmlLLkyHKHFQdaO4l_duqySvs6D_XAapOX1VT8WmRIRirsck_E2k1Ui6XHipqzSbyL8F5IE1ugarnfiUVsIMrlo4GL7rE80arqDnef7PC9LP_H-x8VM420U5BruSMg-ANZ16HpI0P5CDiogvHsNF46Gk0Tfe3_Ns9tR_1VWubTnjaQF5q1vkobjDGGFNcltfdghEprhznFBY-y4hAK9dShV6zHlSKeCXm42h0ymXEuo6EN_laTmtSgGKBj7p6vB29jd4bLNj1jrdrDXqbKN_z3qgNExutXrJXAl7HYVo3Q9NvxIpXI3aw64va7no478lX38XL1NWCUsjlkEq4DG24QuFEKpCk5bzDYk0G0dQw1JJm00gFKrZR5X9ODCrm3soF2X4lT7WEWpvQdN4iDqy4-nbF62SQZvy2ULbWzCd40wKnvI6x0T5mfUWfO3FRmezboPoy6Ni5jwd3aUpHMN1gCBDPwxiHn-aZ97Vamm2zOrabCdWJRJEGyK8Znsb4LaHA3P9anNwj_TaIBz0e44luuKGXX8cq1DqCXpNKyKcDVPmAXzYDYuRKn3Z6glB3l0SqI5vhHeGOnLHotwpr29GQoPPg2TLuncsDjP6jWYvrS54qu7vcat6RdJOQwSI8hJigKAuaD_16dd9QItoLnC6zE37_4cNIQvEu18ltKoB0m8aC2fa6uf6vReENuaVOQSArcSpolGhZcjR6OeqnqM29DyqJhzUHhUgbLiBEmEPJG5ZfwUlXznynY38X0CVKdyLusQdS62qkvpHi6y5F4nxNw1upqlEoJt3UKTaDI7z-_PRFpySA8PSzzIsq_G2nPbgZbpx1f3y4T8woE7K4OftDyp63aC4b_Rkc6QGs8LM-b9QT9q9nXEE5EtGb0kKiA72Cxida-KCQaRXV5lozUxsJ8tvU8BayhSE4WaE569tror9pkZcp6BuyOGmrf1qtNw_EN1eVMmNuboDymJdEdipE0zcL_cR9nwlYhEENKrxa_yp0s4_d1drpqvgn9gbAp2HoYBD2Mjz823RyeW3GDIW7FmxaCI3SFxtiXvhZkc7oHoHdEDKRLGBT8BDZ7NFVh_vWl2xpiXVwj58LWWMJPStlnbqKGy8Lvui9DrecH-uWEktINS3P29a8I4rVdKILrOeR0AE9Yt6v7ueQa2OyRZHQS6dodn5VrarjPmI7YpLu4LoiDIIiDzwuXz70BJ3gfalwedajfZ34lP1A8-6e0rMDnqev6wRxjwTfO-4HgpG75HMqSJMPDH7XleI_GmS74VNElf0OWFxvkQjp3Vs7JvJxaP7Cqf1oPchRA9_Yrj5ZSOPErZJ9i8DeLWb2n77wg1f-15MUp4cYp-UL1xCnT-YHX12n1Iy3inUlfLWmSnVhD8o-EbI80CyRozKOlrjJfe1J4MFvdKnJizymcm0wfjW_S3s-RP5FQIHibOFqT-ESsh73K-gehwe81DQXDUueVDsiDTWnBSbx3XHo_RAqowkyH3HDmMrYclVoZ4vnjnEysl9hiAdW-ii7qiF5XpcvkbXYyR1_X3eMZ2LASCCD1spxmrXKopgbiOaqX-5P7qJvulRizg4-vq7uZQPh_Vi23DhPclMMzvEa4p_CyzVpUvUzxDlJrCdycjkcKZTteGan0ylmj821m9P_2m6VKItMZlzV_Ugri5cWpJV7imTUK5tqCdSxrHYfcPhW63l5cDhn6aAmUDvopJpWS-Jb00BlD_-T8KxTZgZmcn5ZTOxQBeCdiXsrlaNA_bF6uyuSnfMKL0y3fdOdirnOKoU3Qpn62LhV3wiHEnY2V0WM9WJ5NE10UojqnVmnlZjTMxy2sW1KJjTThhvq9qbheiKkwcaSE1fmFOTBwcuKBhEHPzhA35ou6q7zSCOgtGxLvVbNi8ZDZawZMHYvVe_L3WUZ4xR88NS3mkPsMDzNYje_y1kJVqCluZO3_hDTNxOm4BMS-UTZgXMUB6xSsp6DOzL-9JoS4givFnSt2p3LtlCC2XHC1491JCJ9Saj67q_thr84MooGvC2nYIqZOrsIjJD6e2vFFcVr2EEXos-VTMTvRJnlHe1u3UYOlAAdA3TxHrJ0rJlQ0Dx5zXpvENCsM-Qucmh_zZyC9TKN4XBFJLgmep2e1HMUS2HoXRUtl7jFAlxsbfrAVvHa5ez__7Vw2I5zJiMpbvQKHpWqPlcWbsfD52YeuQLvJnatlToAg3xm0MIL0msxO5Vo-7rAmY0q9yoGwW3uRzzWxlrAtbP2UbXnYq1yyVrisuBahI_hjKWnf3TUd7Aw6F7mIiISeHHrR0TzBeRpNl3I7wq3dISNxzbANE0GYIxbGWyOS_866SkonmDLDSXC3dlFt9UBujFcP6HzfxvOGcpB6KwocqTWyUFoT9gPM2wgbcLD6sBw_ZL_ypx8qE5sBT_LOOJ0HL-Dua0SWiaJhW8ujnAfJuUnPJW3Q7BL6BpLXwUklRI3byjdsKJbQA38hfxPkuNRA0sL8-FPmN7VdG6bJZVyvmDDvpJJqjojwEiUfjULDKLgu4elz-e9SM4WV6CPkL0oDFEX2r1ud70ykE_Slk2W28Sg4gx8twqBZPvNRb1W3BYB8-bhT4_eLfv5dE_mr7lgr_T86snAmBXJGSn-swGIFbcNnMCjM57XLTwAqFiz8V7ECQZ2RVkkMbKqUlBX8fgiOZQK5r2be6iC9PKBjuH2PHRt4llcrH4dnowjl2DXbW-DTmPUJ_3aONUITeA4xZ0tZKUHMG38ycSOWT2Tkd0n4TwYUpTojxALWyEbrb-vxV7mUW7LBNFYG-LYZd5CBP7HLp_5lg0AHSzZGV62_AK9XT1YzZFoH4mVtX-fQK__RLAr-OasSM5O8zXgi8oBYYGLc0j2mTTlvq4703-6lT1z3Nnq0zCGXQfYwqifJN6VmCdeFMqwwi0w7WvNOsaXYOV6jyrXTpEhikva-idNjC04FWaca15ALAyJ0i9NJDQ2RVUMZXAJzbHuv0oLC7MLSd09P0DAF9Tm8faS_xYmxOo1bJea0Wwx5qtz2kGZaYf45sua0nZqwkUrjJd1LF3D-3owiMfvzrk2cBr9FhDK-hokwOFNsHD93JBaSj9GjIvr3sZ3jLIlJLvAmu8QezthylbP9250cCkFlfcpZGF-mtL5ErHsF2933wYet14LrNCQs4HvucPjNEij87JqShT7qwrVNLpzAvSM0JV8rnlcm5PD951T_mjQfqOZUmhpUFwu9TF7AFHr6hgrnjhQRjm7El73iq754ZJm92EsJE4zrXNC1RHCw8_wsUk5vEEstccpPUu3moiwC8BPAvy3Ijrs33dQgpw-Q1nDfa_p-qrRI5r5eNRF4zx3YPw-egLVATpOpnz3Q9uL07_maf00BgSbrOZkX1S24GcdPSdhSTeDpVskHojxzGXWpKU7TcYt_O367UhtijJW6gp1ZpbXRC5nLR4gYjIYa0Dgo39PcKwWbQnYpoklChZlQhDrUSgg-1AhSey6sCFIjeOvfZk9NAOfh8pmMSQnuupzbBoQ3eLNLDFPTpjp_rM6LZQxktwlFMie2ne52EQZTGPJqonalsQCJIxc9xp3xI25flRckonVDJR12PbV_K0Ly69mh6OQvbax2j1oxxe8L4g1lpZVDt5vaxazOAcBtNIdWYSyl4LqcaJC26Fbl-MXSYPs22umfEbcBkTaydqD26_GnzI9Lxeluh_vCtTWZXPGy9pdSSCpwCK6PlVmY_ePfZrak8Sjklp6FAOS6BpcFI13wj9HyEPVcBzfArTXgB67WlpAzIDQyK5qx9k76NSz7qDRnPWQPOy1-PXp85wv7y_QJFwAOnlK6wStrBWTOyVHI_xGTq1pULNSrfFSykABInBiQZTHBEv_jlIBa1ZTDSTSqhC8wqVSS2RpR1cy_gP6vqh_RTIPPQnyg429tNscymEcoxNB6b7y0H0bZagHth8R8unA_SnT7SOoFWTM9iMF6mIbKUXdXoCWpVsxvydj1mWbQtgOiSlCpgpgpiNqp3S4mWo559q-ewLu9P7lWUfoRVHhI5y8y_HimlAfeCfwN6r--U6FpRYrtI8rWH2wFSv9N9AojAPqAP_tTx866dHpoyhM0FyEPtWx0gKCJl2_j9FfeN4RmeW-plIoMkGVyuNMkANC1O0aOtGiis7gS6ESTFWe_PHq7gRk2RIxvIAVU-T_Ic8XIgrFRYiS1KcX55A9mz9s0pgBpbUVKR9WDnB-ssZnNvk-xie-0dOJdnzLAO_5my-nwixnc1ibAYuqSUdCseAaRPhdz_a-1NDbN_SauBePpxuHiy7mono6zgPRwDgK2YRtOFwsTrLZ7deO0bYFneXKnlYd9bbmgl8lbOOnAKnw_nB-MD5rC7JrJ-JpeT1Gxaw1m3V3C-C2xphyTgsZE-gfqe2-e86osAFe7eyYv7RPRad1w9QQE29kT2yUeqgcTiLT5eHoZ-b0SpHcdQ6QcUExnS6vhV3rR9DvJaIVFFL3seAATvxyAoYdIHqCShJMvhyBQOb4lyyaKpX-wnH5H94bVZp8fcG5COZ3Wok9WuGKj9Kl-X40YhJ17IRvhRJA2UJLJIawvOhKaaBGcZHQVMMOhHrtEKn5JX9XvTaltMjnxhTHOFiKxzDdA23_njmN3-CuNZ50g7jtUS_oNHDLtI6RNaK8rkEAEGDdryqijWfoS-UqXtDV95yx871CiKIxfyDBW7e2GeTQa5ScOT5oE5HXA_lHJ4kGEMOavaheYk9dqvmXQ-5SfDFe9PThaTWRzN1TQ143HL4DPrAf152KwYnNACjXFUW4N57I0DQckklDJv7n2BJv-Opc8M_VJFO5_6bD9_PZDyWUnP3tFWa-YsZ2a3GuAfH3cQZ1DHAFT2mqTLGKuWNOgw7mCqBued48XKjYdpNpaT98eU_iJ3X5x9U36hFbfAWD_eTvhL1wb7ynD-y5rGfw5cGJXM4_OlMO1X1vf7lIciE2Crdh16bA2xkTCHTI8lw8rlc2h0vVZMGJsqirxyAogb8yTctZGvOSAeWBkoN56kq64YhYtl4yyGPVU5GoccXhv-fhuBMRAJERFXT5C8O7IluIBJQBCVOvs2jF31SyNCfafEo9Ehwads3Jy0f2SQtEn6KkkDGHMIMeNBoJdHHSve_b_T-LGaEN1gjyZ12P-BsgyvqvcGNP_jWYFXIXzKvc41pa3IIQQGceRC99TDyCodnm6PLJKQHrTUZ79UpqK0REQ_8fo-TX2_WeHHINqO_N5ou7b9NT80dBi8rHY780qN0VkbpvsunVOKN4s8sYoMJS3z25YSFt_2KvKxJDOHxo0scbCuYyOzmS13Pe_yPIqU2gFSZKu9YMv0oSupiGf0P8IsxJD53on7e9GVyISJ49ULmsF7EkDt6_Z36fdpFYMpiCXg7DBijKZTx-cLcmI5oWQN5gQObWGa4tqJ3bGoH-O6Z2mrsrnS2nx8iiQ__AYnmHB5JS3ulp6f2FOOxXyNlIepHyoX1lfpDWAWi4IUa0ZtQypHRdv0E2y-Jc-f97kmuFDPFLmLuEnCLKlyHLaUcifMtom_Flui1VBhJVwvDo6np1O-UxOxmHZWpFdoTUOye_I3KTubriz5pc26EJV2YPcGeSgoSjjqTNxfmQlMrBOrwumW_h_i-LIDu54-SEZPpB1HE9p93m7sC7ClRDLXUN5uetByGdjHHO2pexp2VVkamJNVf33txAbCIKNMPs0zIpR__GfAYJvhDKml6CWdviIBtkm9VBfE1hc9pjayKnIohcWwYE-y_9ZtIj42aDZlUsJ_ttBaYhgvKebJBLGmW8QNxgLj_XPXFutDRhc0eWON9URS5hmxbX4Xzc3zv4FcNphpVKMbqsrIESFmGJt7ZNOZakbMfcMTs3gqQcBpQDqvx_fCf9ey6EIzqTPugsT6WtdTJTfjok_Wtpa--PwVRzgeQB9X3wxHPZRTFkR_J-2p8CGbVy0AELgFjNbimnZLoX75ZKnZ_2SGkDPooEYlI9YjW8VMRRBjq-xMLQCwUPAbCtjgWweE0B3Z0LpXZoW2yqAtJdKIWMDFfVzIuHS9GOSfYR6sNve1O5QuIio0emSkp-0OdsjrHmnpk_MF__ELfUmCsLOwPEAQFhlgoa8L2ITIJMhxKJaGICWTT9vPqBg1l0nSUnbBkHYV2qMsvff_FONZHBEZVn4BO1JpjF-FGwaXiExvFEEmCXdkhi6aNdNj2ZWGa8ei8j00z6J904ugKBzB-qsp9zq24-XINA5yQiynUzPHe6BKBxGSrlHWq-o7WZ3amZuwk5zHq6zccBlF0mJ0LMGc8U-5s7j54i50VY0ks5XLw7tDmnsc615N_HSClGac7Btt9up6AY3dIIDl8DQyEBXEk1G8IFThxKW-Fw_v4FsbAU6oUl5LxyQy6Lji7tmB_Q9oX8z50JbQW4POIzbczLkDNr1aRx3TdleTzqtBjOn44kfG0OzwgoOmG8NY2-4pjnwJIT7_F1l-sJg6_n3-S-QSryafFXSWHHJB9UEdWSvRTE1JysBNFSTa7LeAW3-5yeTRlGELZJH7lc-snkpRr0DXyYyQJdSwPWAVLw3-Yqh0OTEcL36cA8CuiyLOf9l4FqUixqcgJpKTaAMwogp77NkFEujntvXSUcl8T8Ern9Dik4YXC4cPH8CCTO6HI8jangSYVkE8AF7jvDBd4MYYuwgIBmFkhvJcnsc9v3Rx-2CtpJMaaD6G6P5pSNGkigr6wdGIPKBE3jvRJ_XIrCI3XCCl6ViLQJtcX7X7AYwDyHhVeyLr0kdnRihkiwdVjVudvLfhBBQHeP5WYl9g05GoAGkL59j0kTCDIh10VBXH4fLogzYeql6wf9ZDVviDPpflThJxRfx2ewBytegEeul-yzMVhYqlr3KSUG1kliEEojT-jelIPVy5ka5_llwe3oIDqK0KPTy6oaMkAv4UV2Mwx8xHGenipxeCYBKsBgXZF3SsnKFLIe-7Acdmxe1PIrYaNiNIcdc3e1u221yZl-tWVwPwIdNDYmCz9qIaDVSeMuY2MqOKMuMye9KOy_rRqMgF9vs65dHlc5wsRCJVS9Ta077s7B4ifCaWDLcNqTUwZ1OAI_t9wwxPo6M6LrFdsWs53CWsO_YvhP_-OwkREiVCWU5pGg0p9VYotReMcoxu30Qn2dk6uLi7vC6c9_FHx_Cwnzm7UkutfZ5GAoPhOGTbcJVpzGVbXI46Y5frtfhVK4xXbV0qp-Bk_otKlL_Uj6VyU53SZaO_4LTSkLjV9Sg8jr8p4quy5QiLfz_xNt6gAogDdCZJsMptJBKO3oPMJYOnED2m4i46dOd01M0ythsRL1uyctgS4AAoYgaBBnBjBXk3Q7E-hDiCqChEIboJALUcvu282I71sgjvKwh8xkzHyYLcsVhjESyL9_RoaJzTGPwIU_Awm6YrPUNJ5KmvvH-8Ks12lDyapsxl18SP0CbolwamLt8Nfrsqlzsmt9xj5hZG6Nz9Jy1wow-R-KxTKp_OxOMkLHgQi2ltGfjExAz6gHUJ_eDlpOCLEz6WHYnGgXXBor7ElQcQO3muuE4d2LEiHkyPzbTCKE3BHVENfeNYc6B3UDo4uq5LC8J2kkw0Sr5L6mX5HmvR-8TAaCd8Va-X_UE9ePYiv9Uoj95W9Zbr3Mt5i-QnquwWI1diqp12WgwyCTSDPMckkIz0FcaG4CU6UXFROU52NNKgFVk_yJMbqKQapangtLOLOZJYFljm8yeQ4Ajnv8XWWCpc42-owFq2zwFeU7FyiOOdGfTI6X3qkwrEfZr3V9qhaqx5jyA0sjX5GQmUa58vdrJAcF-7DxNw65FPz3QKNeWHHpCJtTze4bWfnKtH5l6XHSW6-bnADsGFzn_i5OZxqzx52NG7KSC9tpa7AuNSYnJou6LnqRd7zaCO7L7K_bQZedLKPjzjR3EcD4_w0HdChoosDYoltVYOq8o6WHZh1yx_TEi6IFpav7qRLI5_nd8BIGUYK_mXZgYEEEiLLwZpQmk_705_wig9_MbOL4WPlLe-6so44LJ0w_-CY8UJSsIWFkVbGY3jIkBTcu095k0_DLfFTWMpa7DRL-v-IfA8vYEvbQQukAAcr2c_gpv58eIfLZOurR-IB1jyZrwh1QKybWGc56p5CbWevil4O42M20U80JILXN1E8XapCOKyZHkAj5UnzGulPclZK6sgw6_RIQnX8VdxOomLUKNEvB3rHSay30gyGycMX8f8AGLPAgFpZgt8Hp_gpaz-8rUPOAgA8G5ry-IWrUqYJE6GQV8NrW9kIJILhp589EdrvCLc3h_ZkMINRNIT58NQNihHjcALihdW5rRSL-8Ys17tSRbaghlNs_NYy_jb9zX9nu-z6NwXV_sCKLg3IivTcXA7mFED0lP289BmgbcjnobxzwL25LSJWm00YHr6NLcy2lJ1-gQCRmMdCc_7pxyQWNao9JdFy0NNEbgZumao5Ey3Sf6PuXo2OeHwQcbUfpFHJ0grYSKEt7Ti3F_m8lj8ruuzx7Vew3EBdcZqPv6hL1xrPxoBkYYQmZXRvQSd3CAAzd-oa5KXZEM9XtQkFGBqkBdYdaI0SsjKG6Zzg65Ku4n9Vun_1Os2KHZdEZ0BDyDGjRgkj2jAFiTg9dGtLmGIEf50bBAVrAgSfSPbH7LcVb2RrpaNQBSZcvhNTMgM1uAlUOboiHkTUvKsjlsJTQq6rBGkob_y9dK_RG4ol8KRkALVE7ZZlqivwBVaLc7RvGA7UL-lhLRhxurNt_S0xUle_ryjh73yHKl0XiRJVrsMlN3HezAc75SA4PDcwvHbYPU7iJVe22lOvPzXAjn7b-JPyuxPlU3EOci171SCUcz6I1yzxHycjYcpgOIApKfQsT8eWts9TECO1EhohTeEmYcNrFxy1MCKPNaw2sHqBxhgg20R32bqS_OfzZjioJuPC6ZZCAs95rsm-WjpB_pxPGhV7x8mYtfcZDJM9G0MyFJrrO0CiUC51gDxEbl8EVxrwCxrph-0lYi2qCUikGVsDa5CGpS7BqKnM6xhutNTCEM1pzfbaxZCNAx3DRzE5CK1u9hRSko1gCdUq-RUPcLGpGyJPNnigZ1jJArxiK8npK88ajIG_qpDe2vzriXzcEM-CGxLASgPf-GynlPk5_gKOjwMWRIxIJmtzVy1kjw3reBeGfIwbu1YALoR7veLKSVfHHukn6AYRd6XgdhZ66EHkg-qHS5vxwCMrpwTLkWx5JRRR_qAd9E_2OOPsGx3Vkyz--S9vlEWOXZJr6Q0gP3GfF69kwec6ycd_DClej3rDl4CtFr1REUDDNB-BSdzrFMtPlySZaue8RUiPcHyb7leqILAsLZNRd19181lLfDDLK1W2NOi6vrYpNZ5ak22ymnEejrBIM75kdye2ZqNEKAvnbpgcCKhG5q1Dp-fnT8PubAEXjAPa4jsVow-uIWt_VHNvSufFJktOQFHDlXFCvNmOdMj160bCrbrassJN2InWzbXANyuEZNiTVMgJSTDzvlwL1m8CCSEogO7o7zPMgNq3G1Oim-2qHR4nW6qcb-shYAKz7tYeY2OdfL5CF-hvZGMwQTHly1CR_uFBl9J0ZTEqhNeVH2xsNUKCdB_X01P9UIlJNHRKmUKZxRR9o920gCo9WDA5VNd_fRYcFd3BDMpXUhdRLLieyr5RDgSVclMUcixALzeKGU-9Oi9anpJfl6F4-Iv_d8Woio5llenQAc7zbhI3NMDW36ULuieh6mj-3D2t9CyiXmQbI_U3bOlWxA1pXKwxSQCevmb8s-1SVMTwmgZ8t8xOExakzAa6oJ5MKNRaKZj6FjN_y_-JbJgY0G_Tud17NGqnyAbRt0eN4sn2qAeiOtpFjUoFV--8z3TITEtP6-BcRPJezo0rXEne4w2y3n_N4AbdY6cl_fxVpu1MEC5Tl5a46RXdg7YMYHL10yc1mJbVF8XiKY-lonsFNNOI-rKXskWee196rseaBQi5k5wv-uiTIsne53gxo4eyjDqZ_8ELoLEiDrNcgjaDjs7I6-9hLSy0_SDgQ2jBU1D_SWLh2L12wcxddHumEXPJLRVkDbexE6YmGlMhq-Jtk-lbLoNYXOIaU_inVjHGK9_jHxyBbM5_4Mz5ScsA_klT4LzlzOaidpuspIHh0OSlB-OXwdnNSz1gbfXZSOrRVaijUtrkfee6xNgdN-C4rQ6_J9K-l35DJeC2YKsf5aj1i3UG2NN9BKDBeCWSL_2TIbW14bi6DKbGu2Np8tqInRBD2eBpgelygfkZuC0lP-WNzhMCNdcy9UNlvkwKJPCL0cXKaDKW-sFzlr4Y5toHxECkx81ppMwFqJ0PEMYtKLR0-83p-lf3u1mo4HIUNy9GxiOEyQ0V9Bcmdn3hNbuEsOCmBUug_ttmyhoQESgFEu0cqoJTfb3EeUiRFzm_i_wb4KbbkmDhgWZXkpwLmed_vePohe9-nouYGKh07WCJjX_0p5L1FoHGeEORr2Eq4hpZ_WL3PFMYYjvZLx93WkfKSIIkzZhx7WHjJgEVcLwxUhiHiq15t7zQpH38md0wHoqIrQest3yY0rhNCiY2_gV5kRO66V9ZDgwxwt8Ur1zz24LzJHAMIScZIZwaubuFmPpot9ZHQuLTMAF2hFVh9FxfMwfqsIVeJPJGKK2D-QXM8qmiy5CU9RnvAUkuG8LTDBmj2BDSn5T_cx4pNKSFOFwaP64RX30NRfIbxXiU7QtIbb8hJ8OSYOKptZ4634VGjTDL3pc7hyCjceP2b01Mfgy0PnDioLbrtgRwbGRtcNsTZujPLP_4-lJHHoalW8wbJmlnjx1AZdi1pma2Hue86MqOEaUQtg7hEij24XnHVvRtZWqO5CRm-p0CqZzlQpLw0TNiHYaNuWkvJGDX7QbGRzXiikwshcDODO4PBIark6xLXPfdr9N9jGOmr1UYRxuCUs5MDY2TozuDKvL5vfp8XvkKTpHdm5IErv-FaNvM4btkOMkheZljrfPYA3FurII7oLWpntLDQ5HuCaRK6KtK8nN8o4FOtRWjdubNL5PVw6zGl1wv51vMn17kpo_GyjrrFlBg2W8nSmvO9S32tC7IOUqErYZdXE9Qj1Yfs-X7c0ugpXKPSqeMl6Ac8yxliA0nBqq6GehbXb7TXXiUWC5fBowJhbhplq-6LbcWts_SG6x-hzj6UYAtVXGyC0nQ62LFN0Yg28bZr7_sw1iqoPi0j0NqTVIl3f9KLEJ0x-Y3Q-MJAUuXmpZ8zCpEM19szVbmCK-4t4ik0PDtufKnQJ4L167HeH7s4Isu1dFGAYg0JW_Xcq5BVKbQ826D-NOOr9IQlOVK5Rb4PZD34CyNjyJm4e3O8SZtmVYMRhMartDcB-LSho8L9XsqtwgR4kXh6Uhy-q_IqTVwKknIDlLW6mEnXa0aAVWmPgM-dXMqUkZJvEdKRXJaUV2lTOEUoehmWp9WEcXzo3oENPzjtKyjgRq2nXG9ypJBiP75QdmzHPii1M9Y71RxGTZlyBIHDWRVdceJ6JvDzCTnYtVMYYCyfRKYtFjMRhQBZ1KFJF9BZFEdBtjOMixjKx3aPLP7LwQ5Ft2tfybrhn2yVGttxE2TNRJ-8pobeCHQ6c-ZUQ5viMcBvvFKrFIjSzbyLuOeIl6jMyH1qi9_ZaT62tltvdiv70hZSyGFZR7iCkJjmx8Rmm1IqQCRdJm__mzKcEVTeimUkuXU3on57VB1y3NBuGbY4G9Y2Nujo3u5HZKf68xm6f9V9Lt1CcL3qywM3NrZs1Tu9v-Z0uVICxwRI6IVfMnbeA4kNDWEmE45zytKogJnbWqOZmuqhaukmtGfUuWTxm9Ur1GKJxljGOAAsqvMVNP6cZBUpI0s8XYKxyuf21_W1lfMcTJiAM1n0WfCsAKD3acT41nFMK3fy_LxyAEH_Mm29iKy9L2FfnM3B6pztNSawApmsVBuUxALpaJlCi5gQuqeDVyEqB6dkKuGxMKehKDUtokQ9m8Rsu9TeT4IFXQ4Xk4UVxyH1TKt0G3hhhkcf-36wlqoiDQ89-zRgfjTliXN4qUtn0KBamgN5_FMavSwhIVDn0NNuO1V03nR6qPiPmlEdeNTYh-p_DGpAg6BxDNDkdBK7rpOTs7WvxmsZ21O_vHg4fM4gZsZtXYFewHXN2ttJsHfvh5TCzv1Rg27ZiiQNIzQrOL6csjXnniQbRItcZWGHn8Q_wgaRdtYZ4p_JMSsIIr7xEvNpNaNj_c9Xy2EyDsCgCc0cSF18lIL3U1MkVAzlj_JPGbJEe9qQpGXfqgwZRNgZCv0Xm1vrU88g7cKl3CkpVAy6wwzTfYpWED2s8PohzNX6f3U7eGpb5nVNhkx4Wv0I9PQgqtKmG1Vv4BvZuRHT39b4ZV_yqsI4tCb__blsnUhEf5unnYMmkx40EA_pyvwEVpzti-asSuxK1Ret68QUGa6m9v2DlepivUkYIkVw_qX1QFGkaQM6OzjjwX8G5I6Sd6rVLfxlLwMCPLeTkz8RwqIm8WY8L32b83irVl84WxsUffyZGNF1RebEolXqEA8MNSxVhwYCMWD_Iy73PiXLo1EqbKELNEi2WUufIQOX2W7iaH6ou-9zMGy1CfFvOx96wRi49hTd-YoXekGagN2pjrwSisRc-iot_-BHIIVh6IPD66EyMghbvBihcGz9P0lFHuso3WgiSYRPC-r30ZbhO1BxytZtPGAo5tcoU1268Vcsl9DnxLqLxOeVOPuBCR4lEMAH32Jgo_C1Nue_nGJ5LbzGs6U6OmBg7qIIzE32CGOykKxxZ2pOan3G6SGBzldQcICRzFYa8wrN7X0qq0FE0tvKgNMqRTTqeZzYPjqb4QI3GNdhMfM4_v-h_jO5W6l12KuAyuxoCmqYxcPiLqDQpuBC4Am5nE1vbbGFBQtI-NFLclzjNzS5L2aKiUX96xpXRW-ab5Pos8Tq1onjKLzx4Jl9OvQ2VtVbvdFF2eK5YY5ybgXwHq4zXk50fU2Kuh9aaGCMHSkjr3OsnPq3DGb3mWNcH0UMMjGCe49HQYNGTbpH7pwIOqiTnMMDrtDUQ7L3wl5iisgdcMZpf-nxWC8DF5NRZ4iGhMOi8AuAS0JaRRAinUKYtyUUNwrvQKQf48hfC4ppITprAqRLWCiFFANo3zUxTIcMFFdlvS3c-op_p5xu84s1U8WgXtO3g619v-MhOL1__DHqJkPfalXyck8deK_DOOJRGoysVjMVaConv5o5YD6ChQQZtB0pH43xcSFeN81Yuc9EVo24cbdpqVGEy6MCjCpQYzwZ40losjDln88tAm75wmHa1BPUeTNuHhNzRPDyq0sUGzD6JQRv2dyrr2dhuwdmFW2qj5fS7AK8rQNoBI7IImi78tjOCG_By12PR_zCXH4x9-UKuU3C_7ZvqG1dl-FmGfjUCSwQ4D59oOMdygOPp8zBV93RC3TPTSV1I7zjuGwaj6Bcs0VzmCkz1X1e_oXYltncpjxexuSFWEbc_dBRxEZxx5Zzluypg72qSvQkCJNL5EX90P4fy68hjdNxIIO4CSNEAEysQCWHA44jR2Hz7iSgBrr6HZrJLQB6zfLv2dHLK6SaI4G78LgoPSWzj6tW1KzKcolDSlafIMjIMp3Pv2gjvJLqKEwvDO8BrychnjfqRdnttsVJ3_wb0IF4cyqwatO1gZvmSSLO3alwwO7OdlsEYRwguCUucTk2LdkyjWoCKPxirelb6rzgvCmB4aK3ow1Fb6oxxfCq57XvXZ926GzLvDmNAvRyfQwrURL4vPUGIVsIdZlZdQ2Uf5xk-LOJGRdV8YfCin3e0u7L_nikEmRA6JighAApH_mwcXFUoHNi1Y9GN-20szYeFetA0oe1XBBj_AzcujKGHgCR6l4gIjGpKrdp5oSuZmUZWphC3WNYnVqn4h3zPLxHZquzm8yc1iEkonlM_RupOlxeF4Ia33Ps0iFzoYlhR-qLpWGDPTljcr6Gpe6vJ1_4A8RzLmon6hlkCFO_IQIbfKYdNkyyyAtvA-RU3QUA1XtFWsEHGCj8dn2cBuloB0i48MKig6NKGTXKZvPFPp5nNVASXVKrYsnPYes-xbI49l_poZQPU1tE28xR7V51MKSA_2d0uI-3cnBjJ1HAOFsP4Lv3qB6vU62Kl2FK_w_oQ55qy0LS4eJbKsbS9XYlpS7-J9Dkpmwu6XSt_q-oEfmTanDoznQohJfX_qdNNwOh_vgdovzKjmvQfLclTIZqkYtFFWLTdriZtvqY0NeCodn60JqvrNKze0AwARyCICp0AwVla6hIj0gU1y5H7Kto108J-4FA57H7PTj2SBKzQVdRABK4GKZzEYYygZkPo5LztKyLugf77EPXW7TR0WmF_K_mb_DEN-71taNV9V7qf2zofFO9R11jzQQ_FgfdDwoEfh9vwZ6J2MgB3irSIYB7cp8Kf4Qb3iJ4gXynqRqQ7s_GaY6rEQTS6xRXpMBLLB1HTX97u6NZqDsSqlIt9CUIuZXRDPclML5rZdMebRFdTKIH3MvItQnvq9Z186RcXEYT9faI3N5KPzKUfoDL_ZsNbLIQG1BjRi-kx9NIJlHZdtGLZF6C__j5umzNUUrFuMqe8xVhj4qkZJMM4mm9ZOySSZKgc9SRt9d_MAQudeoryMfN4kaAoQcNLEi-06z_7DcWTy_bG6-goqTwRvsncrb0J6syVG94KICWwy-AFJOtB7P9VCfZDXsb7yCHu3oWEO7Iyem9Hek5qAmhZlOthbBnvzoL1ICuUXzufg3jnn9H6VfC88Du1j2P2q31L0AV-v-MA95jVSQ9pBbZ8zzbohUWMUdYMlJukqYwOx069eVCOKYYRaaWwFCqB6sJtOllfuSNPsYPWuW6qU-KPm-AnXCQMfNwroXwTilQZ4MgvHEBtF4b0HS8LGHtzPCVb4TbvFYi7hAAKXinxlzs5E6WWkK-7WyNDgdT3rLz2MY9vnwpIc3pam9KyWgR8bS3kkAM7FBYL8rFgRoEdBLf2UV2Zepjr-kAtvG9Oysxyd68DJRiM2WQQj0PHJDgfKkSD0vcc6k591FcgMVUaCtaQDu2Ny1z-wGNEfaPcnQ1vrcSdgsF4wul_gPVsN0Tzy9h-hdERJY1K2boLXqe6WiffIB4heIHrodGEQRcvw18uzVSe9lg8MiDpkQMyBiVzCSm6HtECeMxCuGVQrQVx5P-sGcXUZEbpblYcGZsu6WqmdGHtrr-hgbZis_9Z386NVjeJariZX-Ubjsb3KBo10qBkKp6mdhB7S9U9gdhMp14FMjRxOs8NVH2Ni9D8tPGtTjliJ8Aav42oX3B1UUGufk8KqW53dvbdgv2RoyHbAaKL4oByCm58SZVv-_GJAK5uAgj80A408OcKEknBZmXlPwDApfe3n8ptbZijokM5-7_jRtqFFZQ7R3oA3G-5oV5MFKWFWkTZtXTcyfHDcIH_qqiulSzAYagsBz2mfZ0dyXPWZgu5IbVRE7byro7DLQd9E-LvE-nELl6S4Wp2Wh4kH3BD0YCzVXT7pj-hV66E0s5zHBtZcP0l-EDYSCpjTIsadr7UqmNnEGdvxsSM2E1C2tCphI_B5zhPCIDrxWPPRb7FKvHa4EPuf2nGMZYRN1_aYdcKkJd2iB-8YIl_evue9krcm0g7JdOxo9CYHjL-uuec9Px2V0voJiHH4mf2RFpqOmg6NtHI_YtNEMiw9dSsI33LTua69-XKehas1HXup8BNs-8ac03M8JED8t7i3Jhzo-V7jeyR40_oE2E8Jh3begs9hjt9DD21LWgFgDZkCOv0mQ8Uwk5-j3qTd6lsBSB9ndn_hndo_z21p39DhVzXXyBYyvdcAUzGlwsNxwbWPKsR2OJNcDx5SRp3U2giLsTLbSXYyuOQZuFxTXHtrFVKXnVnJxgELmoG-oA-IwKSNdZ9hJakTRWCTyjXh1sNjOMhB4Bj1ExisBeLMEcvpc3yuihUTkU0r8cDIKOmRIpUPmCB0e2Ao9_RQuwqXFZmX8Zbr8YgEgiUuhxsvvaun6Fidhcsp20WZxNqRp9-RycbO3QqIxVUIEJACN1dW9eFOL1P6M-EENPVMmIkwlPYeNzjMyk7sg8H26gzjQb_9iwWgHH4NV-GMw6qzfKiqhDuq-VktcwYViw1KiUMQUGpA3GSDYBnNBVm6PeTlZKKeZZ0FgZOx0gdzvTHmZ4IqqoAY466Tpc-4-ucH281LlHMzAVK4JPKvYYAEfwyGcHeOT_CR3NbiWOffvcn7F4nZQsQ09H1_mRpM8Is5R1tSIgLN2Yh7KCiuqDhafFKLaIwCpIMuwPS_4gykVpWM4tCAP61N_AFic64AYw4spsCWwUdfS81aFuE_gzqgwQzwzunw2P-g2iBqiBMRncbn06oWQ2AwdgNJpB4YJ6KYYi2yjZ82fEg4Gd2DUxU_TTl5iY1bmJcjdsk_AEOfkYYGVc6QKG3UvWQ92F12OtLJTC6_aHpZzTjCbGEeZs0H0mTdoJCtTXwuUD5yTGePFNnMBITUv7WFKwQzU0_tCIKPVkhBGXb31yurNVo5HPMEiA_iz7LSkanzLV_iOEnrfjgDHuWr82vbjJgZxTRcLOgh0mnDyG7XkSRi5hdTRmFXSNIaAypy-1B4UB61EyZseUqEKSOzL3nIrz_ZfHLN0JpmZjV3G8-pmy5iEKeUpojdlogoEGB2mxJ1DMiLNu4Wq7EP1I4ve8g9Wv13HmL0mHxErJJHQ1R_2d39vdp4HWZNoh4cksYqcXMZgbKhY5QXjAbc8yeQN7zf_9Voi4gg-dw8UDpBEl9-V-8Ra_BDdX-AiOtN-zW3zmRynP9WwguL9rKdJ08ywLnM9naFW-jDsDgXHGlqz2K-xI6y_WElNVfjsvzjB69eIdU9c-k4uLjvYxV028OET7y5z4kvmatU40C9qu34GK5_Eyy8I8ZFK5k_0BcQPFeW9NFDoR28sX2JQ4ArCWED_0swEi5XLeMQZAoxz3YVkVSUSLFvv6njFt_Pbtz1utW-5avdipZcZljT7evlON90enzfL4kzV2G0bFl0wxjUDwcL-hzA1KCYz90kEqoUow9yMBYFxFZxOA-PqFNA8aO1fGdf-VZAuzec6Z-4ND9zkEQK3VS8s03LjSSmvsTb2czvjH1Hgkall5WeAr6pXr4bJ3mnhqoloBBMyyHOS1PK7M0uIHmze-VKFv4aeJ9YzYsavPpGqTQhP_aVWmB7icZObVuAVhBZ7gZ2WCQtuhjicrJg_lBzTtwy3xLZGSlL0T61JXeoKUEGfM97ZJNe-hKUuwJn6mowFQUpv703F9_N2Cd6wgiIjcdC04WguQJAPvcajUg8yvdeswnChXQWyORtngBuPtnTDbqwNg6Ii0B8uD5ajKm54h8zmXJFIpLUaail98baqhMeqT8sObcWENfPE9wckr6BygI_k8KblbTsCvPcwP-jc9QGzWOstEOsN53vXystuTS69B55Ci8nCneCwLlX2Vwv0LmhJQFT6nDNUb7Xo_jBPSQzWmrtAnhPbGfXvS_AXXMha7d09Bbj6Hvao0nOZ-iEeQW5-FHeum4M8ok0M64_4K90tyNXVxHU9BH2z_hTrYIPqnd9j4JTFjbhsKreTaYwNWruTFKGGOFZAGiGmakteitBPNAkehNL8N5aoP9ByvbUDWZV3HAyRT52TvItXYDaHo2ONKJxNq2v1RkfvRxkML5bFdsqj091omRCCsKqyaA8hT59jWtkUuvBhW_majfY5Y-fjekFkD1MQiWwIQEhDcnhE5_EOXcnK-xhnochU6uA1k6WPPkiNVUBns-M8F46sGEdQMiP-4idUukwn5eYueUr9TEkAIusYT7xxnUkqmAwgDwNx4m-OFjko57D4DGO3p-VClmViEIWOkVwKb0uYuSboW_FmzMKIjti77GsipmoAWCyHu-4NCYc61jsYcsHdW1qlaaqOS1Ta56nOUdI3fFb3fY1W4rDQvwgZBRlOL48qKJ8WGPbSC52hoR-JxILATmXkHoqX0zJiLZekjT4uuxhzJPZuIODzKZSfEGJIwT5NEYCdvYFzEnWQ_y_Gjg49s9I9NTz0-L4X5YY8iZFQqUqKPes7A9COLMLNyy6DSH_-iSNQ_zSswN6cBdewdbQv1kOcI-LMxwSL_QJ1tEbNztrb00dxuzDBKFTNsnQleh9hHQ9J6_Hj1r4c5zuFYTH_rHfGMFzaVVrl7CHe4QD9UPEovuKzD0z0vS5fAg7sSi8O5Asux8NNaN-mISiETLbL0QaMK0MjyvHCrjw6t2ZRNEWGEEw-I_sRRwDchnj-FwwBgDQAC9Uep4wyt3cMnmSmJ4pMNjcz5TOcGqbIShN396RqoTjKFvBpCwiHAGX5qlgKXec4mhpt6_xyxJ9CxlafJrsssks15W-NUj-Ey0H55ahHRlVAvtv1U4JCHpM7DEwAfxF6Ry1zJFk7kmP-vQrX2CN-yDdzRTW2J71anwAO2HdJnGZBI-wfctCWE5kjfMYR91hbnjMWBrfbAgg7aPzBPv524MnkPU9WdHa7etQajt5yAWznYFIGEjr66__-1NS_cbCG7HFjEco-G55k_bzkldpUpquhnArdvMiMZLT8q1kfH4E76kqvc4uBqGyUlWftj5yq2V36HhWCushC3TOYNT-WGI_b_bhCGfCRoLSSoJyByJr-x325ZrsNn66eGTJXF_I5ExT6AU-BuVhsQ-c0-272lAEeh0CO-BDBw-uNxRYPPhhPv7629mw0OaYV_be-itS1ab3TQxxwjV7jE7SBaYaCbJutqkJb5R8mpIf9By4NWKTbLFN8Z9f28O6hO_vhrTchsaAPK-8w1e4VOviMNF7CMN1il62NoVQIn5UkNjQ-jaV5K2h9VFl8d5K0oTzrr3PVrJ47V8AS_J2QAGHDIKIB3PrzXkBmofyS8FYipODWWszXnFvM_MMkY9KvmttJo58tJ5N7uTqXcp6xhtv-qnKVNxGWhIJkpuC4bwl7nkLRUlPSB4qmAg4a3uL8l1jUK9PX3ddTvppIWwkxx_lCVFefRc7d4NU8i8iFTJB1MfEtBuk9VbTc4AqBeLmJjz2TqdK3DgsSCWQZmDlhvBiqRkGpr4Zg50UxOMyVnAbg4NI3VarRlwoTZJai-aZXKhqKbSRh6pO3RtxtEw7YV6G93vpVb0EZick1acXXeBC3sv45oKOmcgjUCTojyN2QSXLst-DO9DVPvgagy7oY2-yuhLpT_cTYBsRiSzV3HKYz1A6gLICHsL0H8WpnN0na8fNwn0wgrmS6I4-tH6njUuX_v_OAApAN103gsoJchyEsanu3cKasJCSklrcJ11uI6fF-eeLLkqxHWz-8ua5eZh75zQbd1fTOAms1uzdX9pdvQy13KxPjiuQF4WPVUBzeUTREfp8_cdlkUlAYDLLgXoGB56n3TqdBWGAOY34RB399H9AABfohiDcWDI4h3V1TmNpi7CDGD4q_WZ5jqSd_exEe7ijdNdDzoi5F3FfIbUwQ3Sle933eNS8BSQnHFdJJ-vvgGbj1qIXmOYsAEVb2Pyovv1TJFve1Ge-vjNnFODA077pTi3uHlKnEjx0I71HC-fBRswUtVQ7M3caCmYdQMBnjNr58vPVVj9-y4_w5fjL2fFeEUWvyhR6TtESKkJ2b4M93Hg4vAM7zgzKKFAwQE6hxQFnFlasUfGdYgdyQBVC5pPZDRY_5Zo97AI01bIVngcnVsW2VuULhhf4NXH2_kw9KDKdSYYpfIgrtCm_bD1GhQAqtUsB0oX3g5QSUAv4rbJTac0r7YraW596c_M200gLradke0yiLjcRYvRMtuvinVxglx0JbNVUbPOYlXEBX9XWRifhMR1GW_M_O4lNWtH_bpKicXF9TAcDgI7Q82oVCejlE0m3rERQtNEyQ9vLENhrnNC4Eb4vmxkGnxiYwdpHvMIMdUIoMyPAN80Ld3prK3Hmwb515x1JRvvMm6FI7BYSt15qmkU-PYZkiClVkbAnN5fb1JmfGHoGrXfmUHQZOXhI6Q66H5NdWAPQkknF-_Xcs8nzR4XRWPYyMcBrp9Vy55i9Lc9NUk7WLryocst84JIvnc53b9UaS-Owq3oSTUQdPxlRsHEmiJBrJaRau8akI_xcd8Ceh4HwZRUszp9xeUKleHeZ9W-iS7RWiTRax2pT7JcbKbH01UjWkoi6z3eo9hs-ehTMvYJ4_GxdMCUHmoexnlMh0ddkSj5D1eyln2P0PvVd-8ZcIOQwFu7aC4Lpiomlt3sYRAuY3hxr4bc4UkefA0qjQ4xXQFQIx6u6IS9BFGrWYigokcOEzdl56JNrv0YVWdKe6uNXuvYXWJO4tPLWGG0_e-Dqf7xc9T-BwJUyFFnpgGsfMFoQ049ItvxXZEYeTT4cqB6ZDotjcZa9vAiNqyJBbPh8Vmy58hm3AZARCPHDScFXXpnH9FysJGTWkapNTXq1RIpN14pOq6S3eD-kzyUOf_C_nMkTFv6V26gKB2uQ3nODfCkr8YbMTc9uXiBTQ8-JlxJt3_7qyTHIK5h85V8zVScCCBYOrmrf9eNlTU07oxH28-AUm-7sMOC8lU3c1dgXnrAlogtQ9FY9L6-LhzdqcwQNOVAXrXYl_aiE9zzI39gSPeix028rrWoBZLMztF8Sui--RkAWQZzGNGaZskQfDOUFiWWRIxejJN1YoNOQ1CodxAfvAzcVEUV8jWW3_RapjRNJsIT49dZnPPQ3JQ0QQNiEPkL69gkzfVWbVskVJcZRKdNMK-7FMA2RtDYSh2mYEEhLVBnkYhjhoHAlD9USQd0IUJQ9EsNqYg9RxLedLHLCyz0b1aNFOlvKSJvZue4yyDjBU518BdQRpVBBNdy1K9Kt-Z5RA_aCSlWZdPTFkbQ6V8FXp8mxFbv3Eb3BN4IFSm_uqdw60XU14Eb2jo5zQk9vofPeRwp4fbm1eE-Zs2Up-6KtnZepcfEH71yXmEBGAxkCyMKqU-9UxOhv0st66x_pYYEVHDbU-9KgszY-_90EkETSrQsv21Su_RHHTAEdbDLKp8ZP8lMMyLhsBzH0PeeDblHykLC_5YasJWXSRRXaxQ75Yj1iGi6ReQYrEDTTmTgGJBuGLzuyFttTQc1M3UMSAvaNH8iilRUNTGUuZiu_0EwrVRQ98mOUWELnX74SeAw6ylf3TMA2qPbFzuuyNl1Nhx5tbd0hlLcGl98Vy7bg0RnpP68D_CkAMmugRfSIfipYbiwAtwrkor-9XTRXzUBCviRtD5vJ5LQcoe0z3nlecWyzbucbZAKx9G8gh_qTiiDxYK3UoRhOm1VUUB-nrqldSOFeF7rKz8TkmD_fPJvEvDe1p57DJGu9dNwe2MqJ-MkUsRJVSvoPYLVn4FLg3mpXsRwkDMUSmucjWGkiRlDQAtox0e7L2eKCfUVWRSHu4kGS8RWa3SZ608RD6BC13yl2iTldD4j2Ca6vxY4Nf3mo9s9bSdjez4jI8HTa_67SkVBnCcmdxx15GKDCLuiSlbTfcBTPhrnvyTAjXQ2HdnAyV3qDpONzTmn9HHbrmyabCuUVDBniv7gnVgexj2wcJ0Af1c0cnZ6qBiyQr2yIADkBQ2oKhu95iXOmmauE6W2pjtMi2q2ioLPr00G6n9EPiBdtuuTUvVdrUTni7lJ4A_045gORMu_UrKLTdNZcd7-EH0eE_EhWSXb35buBgHgYPf0CX7GR618_dTGBBbD_gYlb740Wqk7s3AyuWO_SwfE2x9i49oUPvXAkyA2ax9mcnShJv3obu5Hdi3wMI1QGlx3noPVKQ-u5uKqFDCUUfhIcGeju0kC_fz45GTblIqCSy099KCjZTTGlziUCPQXnfxw7xPTgPvzkfT9kFKWTLTA10XMcQgU5-lhmbX9FbPCkToLHHWQkKwiF88NRd0I2bRKjnOwwZmHvEquEcQogv9THIQFfwfoSMkhbVFu9h2mWZzVTa9ezDzw0FPyTczzH3OkxmuFcujFCfiUR8GSSj__a8ieKKfVV7CZKtjqGDi2FRiBsV7dkKADdhpDfbEsBOphhKLV-NxduKVQv4s1KiX-lKJq3C2AvegSp2ucdkS5G39NW35Xw5YBUQlNCCmVj7bONXAHTjM6-DIdQNFwcELxrqwgZ1C8sM9aXQR1UcbARqtH8IvZvOc-V4CJrpLkb_XGcsoo4C4CucnsPuy2gNviSgWB22uddXSyIM_GDMnJ81xw1ActDBDrM6R8tCWoWbtTK0QEEYF9-0V3YUhD-KrWfjv6G2f_Xl6DcLhT5yCiSqaUpkdCwHv-bgyIYMHPyLTiEn8MLosRRuGFwX0PBT3M7gvjevnuBKu8IB183DRbzy1fxNjAz-eiM1rtKGhPiVANZ_LJzMXHkgYwpLTq9jmuKm3bdjouZorhr82-jKyBoS0daaziV2aBTpo2hzXxigy3OV0JKSD6UeiaYsaeVWfIuv7tjxVMenCREsfTnch5uVuqDPWqgi0298B3Q0XEkiRnmQ-z0kBrOYMyqVZCuOwTIhyVydjo9dWvjQp5hr60WN8nWQ6qnTQuDatYfDnPCtDPF6_1D8lSoIi25w-4at_x4SZ4v5SYVfGsyapj66M7hJcw4hrYtxwT8rNKrGTsF0BhqxnSJQE-yjYdjq45rf68GlL5cr4n7g5JVSlsBkIuQ83TdfDTMHOkLr6G3ArFNy2hFkF6i3pp7BwUPeMBk1W5vPMnzF-nh9ipC8Gz4fyTaur-GuX2aygh7gax7wLJGDDmeikqBSJ_SwBzSxAXiTvZ-8ebJi3sKujKSig9M9uMkYOR9e2L4kkmU3eVyNeTHNRSV90AmnXi278DYXm-1hQel3ztB2v8-aklpgVeQO94FFTkz4L6QC65OzwPS4WSQiaoV-e1dBIB_5HwW_gQLZFO1tu2ID8PnMIP2euktEtL29zT8jKD1tPx8kTRN3Bc8W0Ugk0-ExnmAUPumnk5Z5OvU9od2fIfCDiamYIrrplhVKFcNis_DoczYrexVI1NF_HKSyM6S33aMTZ1K-HKONk9ThUj-P5wpSRXur9HtaT_tdvdAoZ8fZPe6jOqJ5Ew8L0wnZALKjULAEdo3Fg2nP-mcNPBKJqL6jj2SX69GtRljoiu5DJR1Ql7kC27t4S0iRdgTyEdk5N5gpd9ZuPKCFQbPKwHKYWsQlEsfw2Zl3RT8oIVxpoM5TH6rbrUAvB5rHzLDR2feDjvLEcBXMHBulTb8BH4Hv4tZSQp93j_eVOtzuxQz9UMlbORN3NlLthIVK2rOC-zf80DSISR94RZ98XRAHrtW2CE1pU5z6Qmz2Qhlg1-BypYB7jU-sLKY_JA-yRi7Zcc-leocT9q8c_nMHHQ6puAJPlzjvoXLRrQkSHPiKIQypVqDpDYsxp2TRyEGRBLL_XDBsyu96HQd2zrBR6qGf7sr4qQ1Vf0Kdae4v2jAY8lt2Qs-tSkU8v_gdtS5S0SnD0J9b16hr76Y-QthhwNrTrruu5ZO1UwUHjVAIoHafWHqWW4uqEKkxoQgDx0R622A0_mteUL02hYk8_VlTsZt-UHrOPdpwzKNV4JAy2SwxrJgm6cAaCRqynMD3LUv7LPsO4bZ97P09tUsPPDY0pXHgDbdhIyNyDLTKbwc1rfr60P2d5Zf_gOiitejSdSlRPMSPdrVuJ7MU8T55fGZjJunE7c4asSzN-o6dzjuyCwbpBupDCQYJC_c32df5Lm5L762z8xc_Pm65RS7_ok0OGxefdXiF1FqN0j0rzFSQyKZHCghfZZh32-MCxBPTx44SwvBqA70F8o-RZ0Ptqj3uKQ0ZznA3zHRib-LmUDa_iwnnAGkTbZM_4LVTv3LqsPleoCOzkkajpKdAubu7kGMrSnzsbQbdMw3JbgCa2M6tRRM8Yj5mqFg09doSNYYa-GdrVgkPAURqHSw41jYZTXMUhuxysbRFyfLP-tcLiKcXpN87E7l4XTyh2bSosEYBgHMvCnbLNJSHtrakHs0eZOpp761gI6Skr46zm0_5TqSKtoDpMnTgZ_pFgeial-Qzvjn3nd9OxN91pBMDiTnVewU_Xhk2RmFk4i63lyYvG-RfAizSyaJfLVI7T6Z_oBRyqAxR2L8PKsbgZcMtvW37zkKHcfr9u_P2rgKYSsvqr7m5Y_sbkIeHjHmyjfUkm6K2EsuyvfTLW2T1EsqfphZch78O1V3icLT8eMumdZ-HtrW9CGUFAVmC3rnGNIneVYQMwWEr-AYqBMkGYfwHUV3FDtz3ABpLOmE0_eALC4tAPKbBgn8vOiWngO_OqbBD1wDXnqnRH9PuaKINsHwxutI2yAAaCb7d7COuzGjILwTOF5b9mXuUgf-vL5eb1qA6DM7NbNi0Em7LwiKEJu5Kvp0MzAR3bKsIPYLkCElGHlOIJxbKzou5HSUtfXxna6KtZ3u7H8qY4D9QBZ_xk2tPW7j04YcRfTMQIdYLWyb29A3TKvSN-hXBgFFc-am7xYp3timB7k6Xk82xk1x4vfOFCoL4EiTmT9GPYP4xD1gEFbAVQW7jiCbnVubEBPfFrAurn7k-0BtmzpeqvesGmlQSrMUDvb46b0ZKXQBsV938l6_S-KwIAGHol6MwfLDFhMnLoalvqR30yosvVQ768ikun4TH3SDS7nuBuZY7In6z-maUDVPzhQrFy9QT4SxHPPR28tPRgUDxqjroiWGVpnfE7iHoOHT5T0KqWqnlV4VnaVBYyvGb26PeO2YJriqb-LGDmGUci4f5w7TsivWOhG2fEAS1_CYkPExvAwhpdMNDOVECYXHytwxF0hkNAwj9-gjYbdoZakv5lRSvlKqeUBajTasrb93ARQSz20XWJipennwAglNGZ497v4o3t9i56uqkDQg5fm7-OxwUj1V-FNriNc3uO-7t3bXnZWV-YSziBm_H0PzQQ7SVwQfpoTn9RSsghAnudOVwyIqxv0X6S-gXvIiOCJiuulY7D5FqYpglgwYoHH10clnC-2OuNVeJJpip4343_5gKm55Dcivyd97htC_CKstzEpOzypP6Ert8DfCr8ATqVUpeZasvW2elwG4e3vebkhmU8lFgaAcNpu6LUtsERwFJRwHUIm4rIxyHoRocDoi0doNpBAfAi3qdcnCHVUccDM_ypPypL4Io3wMEVVeN_K5KesZu148rU2NlTp6qb-GbDF3fuY0BJtpWG6BBwZm4I0efUO1AWzbPDdKVIza9zLlHHXAlnhevQsOhcuLVXx-q8P0kknTn0p1dmYvbdeWqNNBKEUB-r5i638o90Ktpdxczb7WIh4my5kPBoyBBP8P2HfKrwjZub5f5SL-bkWLio-e8V2WT6kg22_a3uM3EeKEaW5d13HqZf9QmsjXArLkDwrQ9ug6kWTmElmV76maTpyUn-VFahFv1spwjPGlKRhVXxoR3u6YMrn0txMeB4jtqg9fu6Qt7eDehTV5l1E6UDX4gNCSoUvQzwbXUHNaJwsAJ6b4gyecGR7APKddZ7rTRtVWRE66FjimR9CZM_b8vy5tUuaxUgbgcKd7rBEU1jqsqdmVg6yM5n2G2W4D_qexHpbmYEekfwAuCFZL5MJ7Spjqop6L5wdwDpS6ywLD8CXLuA9HSSIC5L0mDJs5P3UO3q7dAhRcDDCdPuT4XTJERS8Xcfz8lW0dv8m6fkwFuZGRYg06ph5oiNx_CKQc5e-mn6zn0e4j1x2EJGMo4tfYrYBTrMaU9zPhpT5F6evVmX5uB21D9mX-ImthQwlnJafTDKKAIF1TBgCpVy79yidTkzV8HqtJJCJE7UC4FtwkIgM-g__XUAO2M5rxrRphvdv5BHsJYU2cCmGvPePNuhj9TyXCRL3O9iF5jXelTPZKHXp3lOil8O0Q2UgflIRQ4PwYZPXPrYxGFDSP9do4Y407cJhhfmmR0v2BK6zZXpbLll6LaYIb8iZ6BBUQrgcuDnEfJllNnG4J2r5t_uS-jQAM9tWj-bbR70ntKBq6-6yallBF4E1p5Ii2XwfYxxm4VQ56s7Yr6blPuFRVyo85EVRQGS116K9-By1qvf82qnayz7RWZ9r1p5aX1xnpH4xT2L3aMJzT8ywUCGYzmbHNi5w0de0sapfbysAXKOT0Eaks8o79A1l1jtNM2UtGD4K-uCUeZDmUzw_qfBAkIdB-iuICpZdhIsNQoBgZr5cVrlQ88vhY5dcs9A2hRxRFoTapL7NqBGIx-2Q1Kic9pA9qJG53k9VACSenUFTw-9H1aikzOeQmfKSHA_6HAAXxl4ssfLNQTXzqaVsg5ZwPGrCfUlzV_OvMqqXQbbzrvkJfhvT0-KJi9OngoVI2ko8hfyHu4PTVbtwHZhgezimTnKgv5_8KdIyg0z3d7GOdOycAie977XgIHbo3n_iT5h-cNYDf0kgPAvcQxUYJq3EKUowTsYbHIFCkN_0o8Cmg7OvaAaX4Eaebj0aibaFV4kOiOXnUy7kfn7N64gvBG1qgIJDDqpcv4TGO-2azvN7tywWF1eHmjqADyk9o8QhrVh0bWY0fpjt2RsRWo1fSKghqINAjdes0MPiutlLEsdtjGdyhp-c8bMzjArjV9UAL0-frrg1-v8hfyDlxJM0ykDITlJbp4GMeijD2EoKlnuDXc9UD88HAWkkIZeE0aDuZbo_AkiUjZRYiaE6XPQRwp2c_mlrBantlCKwUBRGohhj7DuCp4nNflWaeBXDPp7KjsiakkO84RIhPE1NMf5PBabdYd-esNE4LxImXqa67Esbqa_Dv60khmou6Znxsy3JYArLdTxMx8u4sO-K3ZgK31vrzeKhzTlmCd6D8A3lGa2bCyTH8fm49nh76KelpkMbUlIwDjRbm679Gr9OiBDfy7xgLj0iJB0piCVhII4OVL0iurT5T3GFEZQWhhVNAWmnk-5nViBrlDqT7zSZUPiSJCcCgsdI9DIRTQyeC8VrC3BXE6LeyfPbAMNTT328pdVwVd_djHZqyxJHfLdlSUPAOg2-92vNbazoFffNNVG652Zm250skBP5Byt89mvLPTVoebIuaHWts-FPpYlkm85wX71DE7emGXGddHC8vAxTSmb76rTVBt9k1CXgNUFQWaaY59A2ZKkLJvkMKaub5zsOERRSltBB3SiZLgwZa91oTOVn84Ql6eSlakejtfEzDoRtMkDCPogXmpi8lWidWv8l9WF26MXMnpDXhV4AUfiJLSlWbX_c3bysvAeRGbMbME2I5s7ON0jE6VIdbioFSgwECagedbYLvMvusbpH-cO_0aAZgrr-Mz9Kb4WU8tstH8sNBFPtIpvBjKOiuvqpSFIYNH8ZcEg0E1IuQ36f24eSsBmVcXsVmUtK0J3gDkrlxvZpk82XLygqo0NRfiJ-0p8gQBrMcwpKElYftMLa70o_8ljav7t7Oo1vRonliR4yxHeJykKde3zZUElqnqGKB1sJnnYRKdTCg_5zmQjNRclD7gaYlfgCehwmTI8ipgfF_0BzcoJWIE-nN3GpQ7WX0THk9DChIyRSYKrq60pHy4Hlf0i-AyMowJTv_UehFbiyyGuV6NSa_GUZ7TeSn3ifVMtmZNu7hXWUIZa2t29kSkfbd6uk54u97RAX5ziQvNhYnqqQ6do-Z1HHwgD1VYCu42dJtnldHsibeFKDPBvlKYpebG3lB2RtpFwo-gDX3BccBz_a6QuU4c-7P3UaMils2mcTC6G5Rr4H_yOBvaz2pxVdGIPb0xVl-4e3oBWnWrXcodvdI4WdcPZgtNJhL0JRw3sE2didF9Pb2Gt9mmzoiEQe0ZDBASXrxKyqbqypGsk7OQl49zPwb6vbAAOuTITAHKoHO73qwiY2TsYrrUv3zPPt-nHtlLvh51992zKldQyXh8GjG9N-DAa_Ni_7h0t0DOY6cyn--6tF7jn81oFpTeIgFgYSR4YeGrqJddUopaYGVS4o09Od0pi95_QZPDScvVJI4jQik6ueGIGlEbrgj5PtDuGA85oNFD80UUcv3hKAa0ob1vQ6MK8Waz2dRYLTtLhXwHFaPA2pgKkLK1ybUGYZdUUwf9goyZ4Voxkscof5dctrqOJxmdswpfmp8jOhy1fuk9U3U62U-HnaYUVr1Ot-942ec2BuLbe1U6FO8ycrhy3CTkeMHyGezA4NvGe5VzeS9zHF4-Oj0ZTb7gh8PSpptL9KjF7sHt5_mHjAo7_ImPw26SWmE0wDeGN67xyCorYOKDePHXlKDkLsmnB7rcNvMUC2e4J-2wlGwjHn3RITdj8GHozX1e40R8zLEusYrP1xjF-jmmsu5GPG5XF5-DsyzBJZNhYSpz_QeYAq8G07HRNOt8J3ss6d4I5fcbIIk6yFgAdr5pFr1HnNhoJc_xnTTIoS06l8EYddSehP5VlS4S2w_eZHUg61YIRvcyfK61U3_KDze8QyY-btf1k34Nw2cuBg-SJpNPKHLp-O3jWadFWF_dexyB-qlELeWxhhQ--ipJpD8XbeNN6E1oyQYqwcGwNhUKuzXr5bfRMAWv1HogHe_5Gd3G_i7HAR6Eh0gM3EaGBJ7K-eEkO7j8JFEYPd_GTt9OE3fCycRD221Rw5-t4Mb6Xc1Q3iMZe1RDQJDFq_TGOyE-vKkt8KGUOSUMJV4M_AmBsoWZy9lE9z-fnwOKTCmXeKNmQdC0HVcvcFNvKjYatF_IkSGiPKl9A3pwqecQmYxk7m8uhDbPq1imSsq1f2jb4u7DKdTncMLRQFIDsgsg1hyIp8_NRHl9cxoq7sVdPN-K8qFb5iPAAdXbn0cB6Uc7H22R0pTFbptIqQqtQKkQB3GPPngTSAyvjsu6NmxCRDlCn8ELTIyR1knxBhrdBvxYu4HbioeWrC3Gb0Z209-WPSN4dnXkC8gDrFHAnCJkmOO5hpIUlL9yqR1D6CXAmCZVkBrRxehiVDUqJD2BeTc4J3Iw6k-9eslAKO9rrQ_XAl37KTZVKtIB2my7HXXhLvwnFRCdjWIwNChR0LuXOXQyHT4YAzCRe9Km2lAsHIKxzdXEMOLVIGb9sm1pc4qSLY5gY_oWU3koKR6tAQEpIavYGhxaokKaYZniZUA1af-NTPYASZOHkVTVa9W1F-CZUaagsf0rbv18EZGiMT_WWG5ejPftLIUUFbw6-UDGDJ4TupasbxedIoQwCA2LWBMVq00DEiOYn0n8kXG1egTnRhNroAQxKxq5G7j8EvUZpXxKVpm8VMz8jhEtTLil-QesOPz_IDuVWce_DoxoPofqFDus4JnnanN60cYOUh5DYph4urheCOqGsXDJprceLsGuxusGha5qLAPxR7XpzS8RtdtVbsmXpZrfGcMhlwdAhvAvZJO6DxN2mM8omRlJS1ZVVudb-pK337ocNqBbprJY94MdtUJUOyOyeNNvesLl5aUFKNcIcULLNOEitnWrrb9WrJ8QFs1RPuukq8RSvMIf0pWJIT9kn0qJNFVbRrBRfs6Uy93pMQfTXJ9yio3vb6Qh1sUT95Agc6jiFvgdkGAYjAcJGhJRBaD03_yqhy2PcIk2Xr4aerCO1o-n5SDv6Om8ZH2VUDBvzDQ_A8UYa-PmMNcA2WeFRlm6whQUeCQDXH1tdXffAm8KKvNuosYF6u_gwhpiKiR-TvSTw4uc-vkweSsyisXBsW-fzR7IgwfNg18Fv0Dg8BHLMz4kJLuCUTjstqAK76IWrHMNqIyEuAqBvFXBluqZC1YRVDAUJiM-9uGgebb3_7cWy2HJ1x7RF6qLCIqNqdCmGLzBkYhLoqSkzkKw2hIpZFeU6nsAxOXAuuFDIPCCJhTIU9ya481h25MmFjjOh4gRlw-hx0LxnNebPLNljnt8k2nH2vDTikSkwONSHg5ft7acG0rbIEFjaLO9K0Sq2ZO5Z7JIApk-W3HKRXYlpU-ISRRNm151MeLuyKX8F_kExqJaj_qLHkbD8OQljX8MZ5yN1z4gkTtvCHiGlCmMi6zt3ll3FBvQjch5lX1YVwE0w-TOOIa1J6L216LZlJXizs5e-JaUhyYMeDTkIU_1LdPKqXHkAqNxCO8EhtxodqMiTGSy9FPL8W1pn_tRsdEDOmpDcd-RffzFTqAFZwQluH3AkLcf_EMua7hhXgyXyzF11G7vhzn9OphTmkVzfZtvpS9ibynb07Ixccb5UdcIp_KGL2F-z8uwl9T35X3_5iyUVEqheb4EE2ZEmkTw5RFrq4CpoEgcxV3PNpqpyXae26nhXrD2JgncjVFN2Z7F5AfZkOqMW0brtqIMdZwhwP0U7l-GIczjsXHuc8DijoxwJ3oUVE5NT841-6JL4IKQ-ut2KJRtxn4IHI0m68TdJjRu2T6vdhXlvB5dB-CTS2uroJZ6_dBx0pxEMoeN0SJbqLYB53LRjEeQml_vaVMcTbL5IYEsSzlGfCAszYeUBtm61-Frolct9Jy0zU8vOvGdnTzC-RvC6lHcJGvZYT1wy4mq6_pbQAY0CCwX8YDcguFGELwDFtrkNF9qLUtZnLetJ65DEZ6geRH-EBoZW2LDITPQv2OJrbsgPMSFtAC8hVXQoOg7I6a6fs38ofAAJK3vdckabjxtxjIC5XTTliDPtumC2Q-_3m3Y4uil51tqL-frD2fehP1Dkp9sXxVuHdFG4w9WURaJktB3M6G_SL3j-BHB2wnyACvRgyKT-_aZCoHr3NU4vJ65otQYvZ3iGJHQGNHTpwuh7tK_hLW5shfRbYV_yiPkGC0XRcFQ4OqqKskQ8oVGDRlnpMkJZqQiDzHZioSTvqkY4PKdFy2h4iOLh1L-qGMPRlP-7W76UfzD6HXwtSX2fJQzLd22QEHyiVDX-ItwNv2s1699iDjh2Y3LWG0dXS79rXPHmE-hyF67-7U3RTrxcVpWtzgwPlAf_ExU4cxtMe9CbXwQ-a1iGdxAFEJ5UXjXVq_vMn-fDONkKTr-2QbMYTgzn4I5j3GW4LSGtOwvlEuLcj_tW42uDxSBZQ3aFYE2neOhXYrI5be-h9g8ApSJfQ3wNfz7NPnB4jT0tWBkhQxxDq2eQ1hT9stlE77KSZuSG0Y-64rN9rhRHWUtFSc3yBtA77XijmslYyqbyG6hnzpG9XRX4svhK-1nWEwIaIFay8eGO1Ti6REdv0zSj_kmOWcU-lOlIQkYxxcw_Rno8TeJ5SJPAZekM3VZqW2jQVGML7HDoExNSv-5QpxWHYIxX4vc2foYB39rx5Qywh6WSCgPmn6gc6rzbLxxBXRBcU2blNKqw-swoOkuXv5dhtGLejLJr16dccFK3pOrka3FBuO2cKvOas7e2gD97j9ARm-IKtvaxKN0Rbna4fXDZ9FR5jZxPnBQD6XLT_4hdSjCT8UQzc8P91YKFu0FlLePYH8rAbUTu0MRIhFL3CQxHLWEnj2s50NV9twXIAtetoUFV30mGSmps1TyF0tDT0vkiwMI1uiiYkUOwXvYV62PXVdM36Z94OKw6ht0DhWOmRaQvkjrLqcZMZgRLxxnMl1yyP8zXrlDVBDo0UbuO0BLyh2IZrHGb8WocFp1RXyGNSytn3rpzeVu-npVN8xlY0aO5TsqQLPRZGP5NlS2zYLH0E8oDhcUmeJ9oxi17YjeRrDpjhjnHe15iR0H0DpSw8juEBIPra-T4QfmfPVoRonzakEQ5h1ELTA5eFAPNVCCY3zAFSXivdjIESsk1s8qH9XyAEyUVGKe6ZkXFVuUqKyV_mXYkXKjqqtqWzkA3YVZfyTg_08_m1jseH2Jx9mtJuUuysDTkTrUPbnpCC9Dz0K9gXix1aZ7kpsUUMci4hV_UyAj2O7QNECIXgr7YQ8U38rSdxyMS2S3UxiCNIoAstGj6W65_96GeRv-y_Yk4QpxJTRboJovG6ApSPqaRLf9KThgXrxyh5SaCE-VJGGt1SOIEDpzlWZ4t3vjlmBoIj-feMQtwuamRm74k6xS0Wzh9rGcPq9iOeX0TCVwPjpYI06ZE2x4h-GqWuZ8wMaI7CJkBm_Ff8opOkog8b2RjrZ7i04P9-JLo5kwRuol95H3T1cUogdcZGXx_GD0FtCnuE1pYo0iIwlMGSWNFl7LqJDYLUrAUNjJOMXZtLPdUhUikO5X_J-zq0cVfO4FUdoEgb0FlZsuP7cyh7MGyTgifJLnamyDFIq_ksuSzhyHuUiSLBRlajyM32__LacVmZPWcLbJNWqD_qKEbghGusIJ4nLeRD1fGLNmxUGN2cO3m7A4OoR5AqH4nNGhXtSC3ATNNFJPIp-93R_ft5kDVbI0eoUvvY9dAGyvhaxrpmK0hjdkHzM_QmVr1dbADWAkuf4_WGQRAOXxVpAI2VJJ6Rk3Zz9NmCHLqAvqccxIQO-vR08d7-kHo8wpWd6ei4fFO-qEyoXVpdY028RyBbm5FrMx5DtqmYtqhbztNye3LXe636Xb9wfQYcOJSVXseQLqa0hwur9Xf2yJExbl5WbjcE9z1Rky-oOH5uITt1pKKvw1qNbAxH2kxVrK-9VwLrwRSV9JNrvDsEaYY3j-eq1w2w-OSB10Urv4P0vkxLUVP07tUazF6zNQI33mdhcoWSW6Ak6CJ4IMF19swSUmj9fd1fSu3Na3-40uncuWiXif0nc0jTXWX0VDAOwJq4RGR3wFWif6c6njz-9gHjHEvrx_eNJJw9V_uqkTp0NblWr8s1bTBxCZWeaABuz-18VdTiCHP-pymYV0kAKm2BHvU0RNRLXvAXBXIAmmZ2gAmjttemRQmnOkz4dF3qARZwsuox3eDB4hni_Qz3-oNYmlgZb97rrY2J4Pwt7sT8mtc_YNSIx6UD_DwhtSNE48xGWEKPriO4WnRG7wv1VWm402Ytu-SHXzmCFj5tOGGBuONPoc6CNdOk1F1_VuXrHW36aAQf9T7_hjMjQoDPdeQYAQjwiIpJge_PYSTcG44Am-Kggxz_bmY--SeXUNcs57mLxSRSQjRPI19E7zbGqG3KV2XCuvdqtLhDvr5-dNDhO72fMEah4IIkg9IUwjjfFPxPmmWDLkZ0nGl49MZUFgjtaUSu3v3hQt3BOYWhXUpMQans6Asi7o3fjV_opEE_lFwbQgGhlfPH3-Ve00Zl0tYKjikzVXqCthsGfcBFOVQWGuiATtaFvS1UbW5zOVEyxtBeqSLvT2aO_QL71tAV6tcFq73Z4FqsQmIyhwqrtr3jSfPzfl0RvGxXqXR7ipK4aUCfCBUgl4a2cfGIs3k3PSxdeNgUw1aNh3aIfymHP03vE7vX1jdKkNFjfF6Oppr6DM3bRwbHXLUiw8fwvT3qgJRJQTAhgEeB3P_75FDN3vfkv-bjlTlY9Y-_C9RgWSV0X5G74AZ8cwaz-dBB-tQU2ebrC3z05wyYPr3MC9kMYARvgmx_y2_i4q4NgdZw36aYlQCQS5Qq0xPhYihEt-KDjd5-sqxgnXCjA6xVNsQtOvGXVSaREa4vGph-mkgKh7BSM0oSx14Ky_d6vR9i7C13_awV301JFOp9EnXoln8J6VCylpZEJzEOeLRu11WPGQuDHn1mtvMm36lojsIHPeJZ6hJ52rD9jJGCCT2hB3y5ub36RBtL3866V_wIq_igibS8x5NKIZo94grWvecamaIybLzdr2azRjMhT4DrC3MrfF34IA7A-ANpadPtS9F7h1AeCdnzYaoa_RS-jnyMtmyoXTcD1ugWy6sTkerzA9g9JHeQp5nrrt5cLLbBmITJjyYXlKMtZeRh8lmbQn6nP7qvkuu7L3pkxSp2mq6HdFcyhLrA9EpOx0sxVU5CbSqmE-j3uvJfb3nxh9pZXXPV_QXMQ2Rbx-yYzqVeQT3_Z6qI7Vc4HfL5Ml9NDJfGQ9OiSCEvE7BeMB2mbNxYqW42NYvQks6whB8Q5KVuw2yzUsr9X0n3eNy0AGuzWb9bIwXRbGhWF5zGUw4N8Da4_TPKZIR-nrN1AmTOjLvsaqM4fkT40tlcYEjuYWXJsNQ-a9xs99lTIi9Of5-Vx0sYonb4cekvywTXrpl0TtX5mo_La3av-4F2mEymXLuVWTbBrwiPH6bavxjAOO963ejkXgAYXJL0PizEen2fbPqh0L6BEc3OuNw-uIut_HryjCmx5ZMdbcNOvvqO9I0AZ6KIw7JM1TsQOqiOxZ6_CJEGISi8l2Y5vQbj7RcFwoeRpEwoLNTtCk6R4y8V4Z50QaPYailR8EUf-inL3mGMIKXRlsnrJ3jRSCY5Wo104R13qNa-ZTGe1FjHR6iI_ssYsXM-olxVK4qWlTjJu0V6KlNswyBAcSd9ZjUdHydrsww9e5sY21dDWArwH_NHlI5mxqu8xaDVwQUl7sSqCSalF3X07U9S_GGqXEAI89HKAGeGttvZ6aQz8v9Wg_gqXuJ0IBXR4HnXDebI8up_5fcAfjowPRvo6iTso0mBlhzgT_bSxl8Kjv0gwN40LLSyZZ33hl2vsc1KoYIka4ZG39yfB4U-NA6KFPj4aEvVPDVU48DkjAhlaDstQFo2X2g7z5dQihAwnIgOEXMXbOWAmQfLQcMKAO7hHDLnrBrmwJHRCuU5Zy83KYIt-cLXCqmd7Qz9VsilCYoIspjqyjD-TE8wbJrTCQcKt4VM9manXYm-7elChaaJ-tYe61ofFY9I5wVXR8LZaLrp2ZvQBbjcHrkRHJTM_CaD9ClNZusqvLKDQhTOc3EqPIM35qTvoKOp6LNFYMPgGnUxSqteBZmq3C4DPi0xgkjQ7yJkQqZvfCAuLopd15TiTqOPOsDOEeUDgjhLL6n_SGVibSKZNlfdlwCjPXopILBwf3oyD9dz2GcAdeGMaVOUIPeIVHSb34P4jMpvA-H7LGxtA735sCcMWMIC0m8jXv8MKe3FHCNPaJ_5hvM6ZZCTikaKy6mxjExk6_5VoyaQnTFbxvfuEJmrjuNmW-e99KtjzvlNx4A5ytOo5H1OH3tCHbsP9reNaXK9axsNsPBZvy6xmWgztJ0OWr_yKG1p0Zr7DkEGj_daCEDW_tmEO9Q_vbdMT4GT9ADgFFfyi6pBSt0GRZiYR_baZnR52sl3oIk61EBedmjNCaFKPgcFDQwhMA4KS_JVs_LeuyT1fFayoBcbNCsd5UgS3ywQvVZ37IBwZmYR0dgPA-SfY2fVmFdIGj8zcTgEwaDFT8MYZA_u4tUm0XhaDnWW5M_Ao3aDlOMMxJSn4NR-oNLOSXrALXojP18PEOPBarWi2_ocyNjbpOQ2TeLyXaYke3ZM3IBgT6xI-fmW1my4GQ8yJlYiptSKUg-oG5Ai0wQX08dLkFVe9cd5ZowgLqexj9BDG9fGHvY2JUWmahHR8lRsuzfANdQ-SGgjsINWhpjViuo0ZqYFVqtN5lU5XQcDphyQRgLY4CzMxIzioahJ-dPijYL3bkPFzg7ptHXJpAUxwYVQ9QzCMboJHZqKGHQfKG6l1nrj_CbTJZ5MxPBZExeumrl3_D1pz21vaXm5chzPExYAm2PYFWLtCnrmAlSRiUuDbovvLtORf46lWIZna96HSpYhXEzRt_G_cycUHQElxMry4LJYgGM0OAifYkDHJTHOokbUgmm4NddguB7ftZvT_1warEHDeKpJK0nuihaRbvkPxH7UivuGWTXCwj6DIj33-lmIjxXC3_EgpdDG7QnXyNtoCNRvbfNehYDvBT5-LG1nGVk3fn8AD9FvX_D_G2_0kuaE1IsFwvGVokz4Qvm8MIqcE_BBGv5-GbFFlH6EFDPQPBk2tdwdCaPCkK0AuNLkqYfCqXg0pavQX-rGbzuqwfq_vBCXFlz--MQFJN1FSjaTOTg84rrKfPjECHEjk8at5OI6RBMx4gthhWuJ5f0y6Tr0qc2mo7DdTJQ-CiRWLTE4pV9OKNyqHXSHm2prKyJJNlgbb9iACz3Dlmb2AjEp4f0Up3atT7OutLGHZ44f3P-cLvjkhO-HBnib6j305pKj3X6lRUy7HJI_U1m_8kxEmauyuPDpwiY6lhd2x4txQuVb3cg91keTLhqFDXlBf6yGM2Dlavj12pNcL9rybbB4jT_b8XXaxPXSe9eOd-cPd6DXVhOcpDQTrrajpdbFxUmdGTRxYS4P8-1MKECxIfFUZAt-TsODrIEnjboNEq50vZBrfJdTlc3qH_0IbxRNjimLxR3ojcfkAkKMKwLuny8FDinLU6X04ZCqNj8OTcR5t5CpFV7GIDyqoQtwwg74T1YXws5hzjZ7FjC5WjOF2EiYqOp5oZiKReHCB0vwHIF7LTVwOHXHI6v8caCXlpKP9GStPpqKwpCHa4tD4_8MeOcp1BpGzxsVcDvdoqMDca3KmqCQidRteaT6cw_vLoQK4_ovI1bHhBvSjs0bCKpejneJECcot81chEuRqfHayeAx6KVCZP2EzOv-Up9QoM1dlazHLrjF-fyWkZuZ2T-rM3dvk4vDKZRydE75gbHOnC4w0x7Vni7Z0uJvWuTarb38FNXZR91tfh8feRFeGNHchTBeU0yueQ7o8DbIiSenfu-zuTQN7csPMA4A2jY3ZhHGMewzqHytOWigx9uMy6LQ9gMDYZAOZpdL7mal9o6g89i7kbfOJPFS56YLB_kxNGtSYIOUkcvsNcf081dwLwDNovEDaQiRi8ktTExyEkDJDPG6T0TKB5HnrO6TF2moqsfayVIdCvkzJ6d0eBcPaDZiO7O0rTZwjCrCMft7eNv9eCxAzVhf5dHOWGwWmSOI5McZjct1oSowiGBSjsxeL7vyqukPnnBtRek-lK1Uxlqr8l4JF_8_qASG3f_XjpziMicc1T1YCH1ZPCFXquSBWtlZcn5rs9_yiWlkzRXm1tYi9ujAeqIA7tqHF_TBvDzD0-LH2mK7or8xN2LBJHkCcVRiSR1-Y-B-bwxj8h4P7S0mgjlEIRAZNlycroPyz8SNCxPoccPyLr3C4aaTxdSwi5EuWlyHlgI8elQYkkTh-Ey8NZtmBAiQRV5TX5lvYZcVLfEOSinQYzfvn8QdyUcvWKzyfb44ubiiO2x7xxxRKBcz1W1gnTFc3B5Ntig_sJuzZI0tGCcF5ok9JOJO9Ma_YSIJ4uOs7AOsV3fQlwo418axc_SOTp2ffP-DRX9pMZWtLRrZjtF_jdghJ_qH3E4-0grDDHEjhXssU6EOZ5we7tFOfZWZMZy2dWHCVFqk_miE1FNVPf-UcdzvuRp-wvXXeDPrHTyvWlBupHY8NZXJs8kt3qNfWlXLNXDyvm2bZx4TgYGD3bJZcTuo0tYlR4QQbq1G-hkpjZEPl1rU0fhYEPId5xfxcoYH04GSRcQ1ZxihujAuhNC2DcGN2n_r-NOKNLO-apoOhqG-zYzctYU0-2qE1ynOR61eS8Hr4hrcFkNlJgn8cGmE0rZIIo6iHiqshgyV6a7n8AnGC2jsT3QkQNEh8ARq_vdbz_FaJzswY0d8TfxDZ07o2uSLxqdpbw0sprpT7hDV8g46pUXaqV_mwLUG3DuqjaXwulU2ur_F-HcLa6Bpl6f-JwzNVTojjis_S3aNJxDuAMQ9sMD9HPBcep3KpUmteN1zCYftLqjl4N0wb4CT8Z2hJQc2kb6vKQnerX_B5_ulNSO-dugMhbJN-lkUu3V62XB4BAFZLtsj1pnuKyrATU-q43UGdiZqNqAZhol46aNX6X44R2k-xHv4hyjSsTypTUSA_cuwl8zsOki8gtWAgrwR3gfIyo1z5mYlFi4UvOpWrNxXTU-TL0RX2HcStlyCKsPXtd5im8_ZKygcQBXXlNVNBPXScFGSs3ayffhc--dvemlIw3kZR1LUAYajjacYe3Ccg8Tmw17eDpqmZPqED7RnsNJpQ6njxNhBt0OXqcGj2d9JHKe-Uv93vTV1pIQ1KunTTxLeb-E-bQ7w1XW3WtcMZRLKBB3y9IQmmVxkBftphm0mnS8YID_PHivHlVof3DwIVPK7zA6TXHD9FQO8greSVMMzK9Xcru-9dsQGSGCctHqNkOQprjK6i-e1TZo1xhcQwB2ckdMDwYgwXtvM_DIYHeOlKm2S52gFQDd7dDaGgOsMDXLGrjhs6SMt99oNjVdOm2d7Skj-5558gu6eae5XVJ3W6Sb-C_nlfVotXc18DX22F_GobSHpn-tesP_1thvaLO1P4QDi7Vn7U0RWErq4Jwv302W1a1lVeNUgNplgdNA12lcjvSYI0vh_oFpQGq5Xa_xlSbStxFwNKsZYUmV6eDBhyf7fM4bW2Q1OPx8boAYx7htVtxt9-x2y6cqUusZkSygapOvAep3LBc9ozBg-rf-vJTuGnZkXhr28Xj69A2nTHs5POE7xEBpV_HxXsyJnqRCniGx-VPxHythhzeAJZK95y6ea_Ln39wZi4oOrw0VVdqDyVdQm97h0Ub8abFw5NyUkG5jWLkn4xoTp5Fr9zzBOOWkO4t6HGYzzGDxV_Q4swjqk6BGYtvWiC-4S0ppBjrrt_iIe9L35CI3zrLkCNa2umhWpZcaGNQK9Og9JbgAQS88dRz4BvVqzDYZSBCgKEvjs5AgGsAabulcVagiXHAYK_NbPnbGfrcll_W_0yTgpkru-eAPbK-Hhda9QOAfOPVDFq7dJh6TDpIIO3QqfcgOArg6nqla7I06jeFv6AL3JyYOvAtQkZxt9aIg-Uw_OhLbvPZH5qGYO7WQr7VK1l3GC6v-eJLoliMY5IPgcUYTBzlC448ZO1R0krAAHjrCufQ_wMI1Cab42U6jhJ8d9GF6FkmBPaSnDWIagyU81gBerr6tRZ3fndHZimOACqgFl_uXb3sg1t1w0lmjZ1H1xiSBqviLQC7L56nyBNaWl4aSN5y7O3vJgXraBsA6VvgnGDN8VnUuQ2msHLaxG5SS-xU6HKF6Sag0bGMwxW5GuFVhiXaFLF2bvinacbsoKDbAtzU2f9fbnJNsW9ddcUZ4t5xVEmi4I3x-a4VKxDjvHt0VK4ID2zL4j7mBHu8M4H4326e3IxCGOOoSl0c4li4I4VBM1Q3ZTMc-d9-RvSARGpku8fTnFrBqgDw28w_uCOq4_oYFr7m2tY_AkXE3fyTEdSNicOl8avpfM3qQzH0-H2gJ2TZWkMpomUZ4T0QVrzYUPLA6uZE9sCT80JZZct0acvu5QdE3XjmPlzZa2L1T98ktj3OXK0WPzikq_9BTnual4WywMSVPsufYoI1n0BfcHS0FFSIyG4ZdxB4qGwFY4yWevoOTawP4QpCQr6-_yaJtgpkdDkfTOlrGy4GntIPRXdXIsZYqTq1SN7cxCVweQIqy3uTr-vfg21DSk7sNbs5uRwialmR8jMwErCCsXBqvKHUTKF91P9vhIc7zbWuchK5W5NTMLPbdvdLIgpSB1_AlCVwdQDlFe1pyoeWpyuxk8vxYDH4DgL88obS4TTeYx1DTSl-xLJ6U2n25Q8WhRBzcfwxHfE8QdnAO0_ZjcMLNQctpJhLrL4Q7_kj1rqKlKr79J8IFdFDOsoxqJKvmFT-e47fT1Nr-ku4GM7RSdGK8UYVEotPGrKn6BMvksEEiENadnuqe3IgTblytyblaY3zzGV5pQ5N4AtnZoiBpsvwFdFVsso4jQdKLOBcTFaOGX8kepD92FCzq50_Ps9posgGaCLgfM9pkWRLLYQA7kKsVBw5dTIMFWPXKEkz685dOjJajbgd4cT9F28X0fOiODEGynIeFqHyjQGWQzTQ8WzjgBjljA450aYik1bPggda9WkyCKt4XiOr8rdvGMJI_l6IfUsOrLZeYEGUnvhF9nHwOxbcEKsCVduBU0fw66hhxuhbl676UPteg-WyeufwIRKDqHEQG4AoNjYLH5_5tTD37eOlbYpSJmvxZxNq1HusvbZVCl8PshmZA9m7L4ei4u1AFqPaaLReLLx3jwD3fONemPacwtnXKVcVmkImmhs1EHCoQ3hgR0ekZIg40EOvTsPUpaHs3FtJH9NUdETUOVwsafiPmFSj2bmLTZkRk-fO6uqdFpW_Q8re2nBYiYNBltEQ0S6Hu7lqMnkkU9f4uZ4xZwKSAmF_UDtDupwLPwAhPmaSSx-czCnXFa41APqbPlLQieq87-E4gTRHD6DF14J9LmJ84mWIL0Pfm7yxy_8hExk1LibTWY8F7b_nm5JJWNIZ38x1COWVp4_PDsI7ahHOKTowUf2YQbv9MfCd9qaatCH3m_lhtUYLM_Oj49iX7057pCqBRHvBr5HJ1ZgELFd3EDTTQb3wYv0_HP57iq4ZPyKDSRoTWHiqDLtppSYkn2eXwgenOCYFTGYx5uUCTLjNp5HxbjIbBiXkVK27-jgGcYjISlW7QCIJiieH-pBaAcc7LV9M9c-5KwJFSn1lsG26hb7vfz1XFyrjdfIudwE_boVJpd1j7x3-qydkDr8_RjYO8jFXnKrl3Xp3v1RNV11bRezAuiBkY_-eJDUpDrS1yBPgHJgOkweggLlre3RwMk6bBksM6Cvp8sHmIMnY-tll9SV_M05OwrPFNWKH03Hp6WED_q70cE7ve0TRHEtrUBvgSGpnvtelqZCLLhIWY_iAeicuHV90UebuUOH4dWzNF1qOQjilbU-LGWePVu7kLcfrta3r-8tyZBCL2-MiHsv5r8T2P-cUdEeMNebQxaevNJJcH2pgD6nSYpgx6sZXQtp53XR8-fMXtxmeIDI29NarS_Pii1Ti9DsIHe2b5ByH0RvZWLtmrWj2uf6S8R4_M18A9vQUEgHMvZqCnHS9hQUPS7zMy_7bBwNKVxHuCgMBnWRwhLW7e-zTebOpVUw8bZIRSwx-Fe0xksFUcS4JcdCawh00OCiAkGEZVMDpQUAOoE9hqFaruGuYTelf3sUADdqlwz2Fvoq0mPW7IervPEbN5mx6G-8lyDkoJxTCCHqFMgjBfi-EZv47goxCXRbybFw2sWZUJkRSk4llRH5fS013Frr7Qrh66v-YPgQ4uSOHhlg72wtT2AxeKAP0ONwNTrc3QylMfbJYKivJ0otUH2FCT8F_AsDphxFTJb-hkQAJxjbBqxS7gMRvsAw8ywfds77KtHnYDlQ_0LY-s2uwwT5uGHbyyo8GTlmA6_Xrf2ejFQcMiR3PxjOEP74T8nqseRAOuPoHJo7Wh3vkoqIiUklzDPaB2qtECX45f2tuWDiTtoLbocFIT9hge065H-lrmDze9o02_ADCGo_oHvDneXOdpV4R7Fw4391Wr7sQzwrdQUREUZXhMemcthEjrsTlAgk71y2y-ofvJOKwnlaTKXQHN0vNlUznKcvQPm6oN6ZWS3z8pJogwwN3TfuyhmMYYfl5Vi3TwvY0U3kQXTUDjQ9lnxWeTMV8sa897zx1rqH9KottagZbB4H3bMPxNMa_wSKsGAcecf2wosTUlOfwRYK0mDnakMAAzhhcQhGvaxJepjNURfpcNR_javXS8b8bo-bTF_McSeo-Y3SWngFARbbJRnSxi7Pd0ZF0Gwujz3uUvRt1otToigl3Eh6HHyUsmVOZQ8VRDhRDxXqnxSsCymjWNezZDAqdo-na7AGYKMziNxOGLJQa71DET99kU-RSK7bo0E7jDN_KEBTuDmWC4M0FaLS79QqB4WLEku0Mzkg-HhSEStPyGxV8X58D9VGvmOCAJEXaifkgRyfkv49lhdDqp3v3d1UKNrpwuYXr60QEoQcrmDxtAL1yeCLDY9tnrml2qCSN9dO44Hb1RYm2PJ4qq5Fuq9_zC_lgELzF9NF7ZYegnQpcTeLwmw8lTK1WRlg7ol3RZwzbZxqeupq_7yWROuCOh87PIJw4dGG9Y_GoGCkzUMZasjhLVv0YyAnmD9AGOHJEUCXGytb9wxWv3vfiaV5RyXsitKdCmVdWtnWzr2B1hqS_JDQa8u5hZPGb6AFagZiBhNC2rkGuqWHDHI6OSvjvhYIzkHOgu_TI4ALuzG1nPf8GR4JDBm84XE_PLYXCKz7JkmkvsKJ_x83fOD0ywKHHICfIdgN5tCRY-vz4dqr1cq98EN3DNti4-CZseGj6RAAw3NbZ45q_h0GOgSrr8O54-IiEvuQyY_ZFKQRzaAj8gVtojh-UVBrZz6klKqHX47z3r1KIl9R1pSuL63R_spRZjh5YkJBPlngwdjuzCZg3cieN2kS7JIlm2vDzfcDqI0zXsTMV2OlO6bpb_ESXOzGyv8WSWZVWSUGsMkV_4BYs87Z4fji2zWlpa5MnwkMMeRFuxA3MvjBtmzIUH54HBfXxuqRczdoxfh3SDrxlyjY3ZOgLqm2yrcmVlE9fx3TmrGAdlWz-tvJZc1jxz9f8KFXi6cZfBENvOVYwKDNYyWbIUekvH0AQxUL3jwY9blqN5LfLLW_CEfzsdW3wgskmPgraoPSQS5FdJhi-0MnxkRzEAesRDZpLS03B-TlMv7d_DN9ty_hrM5UF2ijnuAOMvLOwmIVFgYOK4gN-6W-NbIYh6gLHo8SginHcdrcqfGTa0smvHUyaCtExPyW-ndDDuLqHKXwOOZ5VNmyAhGCoya7Tv976pjRRMumxhuXqjuf1YEneMoiIjBMtHXneGA_mQYkuTyxAZ6LyKxYkNFIr9erFuuSF9EjuVcONZiDunMAehWhUl9x7oYGelpFa40-G92MB1y3kD2Shy6VQhH0MLEq43V9DAsjcRSWNvqrTE2txahdRQQrfwhrIcqiST5772-Yoryu6YPe_WxsK0WInwgkiW1n60AVOSjVHLxJUy-gw9xL0zMtVs3BPTNRv6VxDeS7FIDcWQg6kch5d-n3k5XYloG-tEp7C_sWJLv14e0vPR5vHmjwCjhMq4mXMilhlF8zC_DCkFIC1udul4hl5xYt7Fbu6p3Yj9KhEwfKgsdYaLgUyWVuIJQerBJbvRP60qeBFI4M02ix9VpWmH1Mqm7CIvqnjv4VA0m2QfnL1v1X3cgJKXl7thzDJIx3BgSuQm5Osb1ttzeO-AaxMA4T54OiTILCmnYbraWqkLRqQdoxUhaUEYTjWPerfRAxEre7JTlNsgVBl4_JGBHfsFCsX6fh7S9YKeTRET1Tz5iY1y19QVbZTtyNKmmhWQj8MzodgksoQt8odSuPH8uhbpUd_7dkz_8aotdmBHKlevMxRAaS48FqTalWhB3ssbuUYNAOVhYSDjWYVdZN7tTG1dOKqnW2tGyVIQu5Fxsew-WYSZ0EEkd-HlHtnDcUVkafXQMozdtkf26zAmcCeaM12tvFOKFj_XdWskXR8SJDjbpBp_9PRKQWlzQRziKLC29Oc1y_Y4GBWGgR1wETNSVk055nyBAyi_Uf8gWZ1JJMlRu2NLFwwAmg5QIfcjtr5ROFVurQQKjkUA7djg_L6m-cRt0LPNiqnG78dBt_5kyuWfDxfOeCw5213C81WJ_ODkVKUuAYmaMmbAjPUIoBqJ8V34Vx92mFvKn-so7Mp8aFYsV1LNK0YBKbT-gvy1YgadfaLVI2jIMQqy1gXnDxMp9HDoFv0lg0ZDi7xYqDDlgEEo83143CUaCEntYZUF_XuEm24AWiQAuiOr9nlAo6SoTODiMTuaa4NCZ7H-wS3u_gKZFE1umtVB4rUXxxUdBl1DL3VEMB09KI5rQSNLq6MV5uLKqD9KzBwo6VJZ7rsuKij_rndfLalsWfW1w-1D0dOxjnd48fNOhID3mXIwpvhSF8iC7nRI8OZFtpCapvTmhZg03YO74ikQX_U6NDoUHykMyZXhP-3cX9_sAYairtYdQsYNnVcvGjSTvckoReHrsiRsTdXW_bcPmGad1tOJ52jnzzETlNWj7BqaA1PfiabWsqYX6Pzz-QL59WRkkCq0S5k3sep_vDvj8KmFAzNYhm3IUUV7_bsak2u7vnDG1WHid_M77W6tjkxThtI5p9abY7HXxiTXqs79FJYyAcuh-rkTXm0-bFBdfdfwFPWlWzKXHmUoJDo-TZwXyQostUfyJBN8VD6u5zF7AEcw5Azf21rw29VyiP3rY88LOTtJD8M2i1d8pd9J3n-pde4OZFQliEhHnxKb8gvOp66DtBMrasKVzzd7uyTw40QFiVH4SNdav5bpM2tGCTakwtiztLcISF4EyF3Xs-wg1R952DxjSxgg8Ov9OVowHw60ejVt-oIWHNpmXHqKuqJlDd5XBZqTtSiyeRYosveSgJ0iZDmiDMd2p2OrQvXA5EJa2cTyzxm9Xaoz1Qjey9BWsfv-wN-H_LQGUNiTGrLtqdlIuYKCvQBsKr34cfgaSJ6losNHTZmh8xtYfs3n5ogMX4mbd17zCky06x1n04y6BAAh4_k5HLVuCK7psHc5yP0TOWwEUjVaw4oDAGg1ySOUhR0kWtS5jgGIDz_Qkoz7MKg0TT12HtmhFOO-z3UdfDl0jDlFOIWM1Q3MzNH67JsMDMql6u32Ww7RikYrszStymFSeLVaB40V45UyohdtQmvmP3PO-_24sGiFCkPHuVQAPsFp1wPlOKsKGQuUFBDI5pw_IPACRZ46mHhrE-OBDMxoaXqrl9bj8YyHLYIX6YC4H3iCcFGRJXf5g754WLhd495L2_HyB8OsdrEXl9Dq9SXHlAyAhOdw3DmG37SVc5YFIszThDVs2EogsaUhV0ZGh72W0MaGnY_58-lRkSqsy_4DKctnezvcq8AuZmRQ9ZJyCQvbxnQ9u30tK1xGKMKY8ri5lO3OKkRlfXcq69IBbS0-Abs243iQlK8_CM6RdFomc5OdZohzddg_fwsU_LdmwLhYYTn0aUZ4krm3dLJT2-PwoS8TcUNdg9DtczXJ-MgGrir1ZAq6wf8mgtUd4qbh2nzDfkDlEiBab-Oh_TLl3hilyuIYK-rZDox01pf-8aK_Jyh9SuQhD9ix_EWIA23aW8Jyv2h-BFxVo7juV0-mwomitS6_A2QYjlWM_jq_YDWRKcjEwvPCpJyvijL0MGTc__YfYwQiQX99leZSa8ENqJjCG9NvKW1Ya9m2CQYbqxYs5pQGkh4o7l0M8Fi2LnOTsBfumlCYBzWt9b_L9LEqLFLmuh5zvy7GtfQdMaI6gQu3hkt--fwNhXgBS1puFnzuRY30MVf8umq4xAWy_0WU2eDytXyn5AnL3iIXsJnVAwxkCNkkyc2EefmQb2xInrIaPE67KQWfvddFoibHFqLsz7XFHV4Y8uIoZ-SiW_B8D13JNFEyej3YjxG9--ug6MQ5ccMVXLTqatR41CyV1wZpk8qyyveXMXCqtx4W0I9_sk1TW5_Fob-hR8__ZjCosF7rvYykO6MPUhQy69ZZScboSkJj704a7vt50uko5fw_YwzbSr5s1BgMe3SODYD7lV35VDqlqFMKLJypprGQQe8xEl5a7yTNX_OUCB4gLvDC9ece7d8pzGmv9M9Hd6iTpuHG9z9PviyES5KYFDTc_pi6FvPJV5wp_KPe7DSbcxyCtDO2jPHkcFpHkPmx47S2lbTwrIq4gcchq0F5zbcZiAnPBPKoEzwUrcpXzJKRbZGapiZZMQoqp-7xC1mSk2ko_iUa5A-0L-p1kWVuHipWlhtncmWBgUJQyb7cMwlXtOCU2YSvbagIZuimul7YhcDOT7ICLAGddniiugIuJvVcgnkkncwxzoDNn8sPkbaFmQs0EJl8PYMV7DGHzgMzAK4YEgS_V6LaJ-ftF8L8HoaUDssmHsJZvi0zKa6PVlHC24nHEE6EReRZI_DwGv3RA3ePTI2NvRCM6PQfXGx7koihLMnwqGZZyBGEWVdodClroWVzdNyAiul_-Xd3K4etZUgzA77X-2UOdamjT9_VEeJkTHUmlsYrDTs7liSQsQasect2In2mCHlZHNnHUjMHSstMzdE_oSVzSfloLrqtCF1_Rms_nCFPLPwPsW1sBaetKNf94a3BgxcFaMhkX7lFMzKbPIASs0LDFUsLCrVugEyaWPObre7Hz1GbhHX48c6SK1WyoVfJ0dGTJssQqI3L_4cEqSCPpHyYqt-SFgwBn9GFwbQHqqmXTuq_4v6Li6OXmjZWA604Aq61-FwWyn0-nTpk2OKaXaUzFl72DkP0Ba_oIZjeWm6SMStRP0Cyr6gAfQuoaw1tzMG6_c0e-3VSFDE6OSyljJ_xCoX1Xf06GQl2CpenmuMkq_FWGghTbAhOGYrAf3Y2HM9YfS5EEx1GqrQn-fDkxtRDKm_jBoD-33xPjF3DcYjGzbAm7LmDRG5uq60sOdSoh7kJJ9oLhZMQw00P92GBOozcWOPFf9ikSLluh0ykJGgRm3Zpen4BAu0vp7d9dc2nTl4Be2ciMpqucj4N79GR7M6LWS2-iRMAVkPzB8Y9yfs1Jr2WNfrIu2bfKIkLYUP2vNx4u89wbTUmn_iTr1EvXWJ1fy2UYZ1gHzWB03taEsN_s33khp38e2OwIEJrLcoPR_rRsdvAQuS8Vb9GPs0EMLnQZRSJOHR5S8KvNIisisMydyEozLKGz_bWsXbFfHC32IUJnzfBhzKufYg1_JiBdX8_12nKFhksUUyxLQKpotgVB1J0CTYaem8Y7Q7W6CYP9fKAxR_Hu-KBH3-JFETl0fZGSh4Mmq2a18PlNH578HjPhuZDmrgXdUrJGJjSVKktqyv3RYMSNZbvr7fJ6C9EeKQWiPdJUqf9lhZ7EgX9sR0QUkQGqEo23m8dSQyDNuPYElf_LftU1iFsvz-BE5pcjCnndJYrzQ03vFRZKHmq2cBsc-gFYsufqfCtoBX9q92Scw_Q9ENMGnQdRvvOtSWD8aEkZqNDYSmKXEFqaTp5w9eC54kiA86yyz3oNimqdSeBkv19kLzoE6mRsBbUVuINFxvoNcilAd7pCeGw57HC1nU_SeRlj5n3DODxGXrWCtSccwqUvQCrdwX6IEpm0iLVJAnfgEyrHStNZKG5E0DA6kgFwZAh50JDo0xxPqQ8xUSyymAIDnvlhl9J6MegVQ49PWzpiG09wQE5b7iLKhmNEm60SNf_Nw8ofsLFhv7zD8Lr31qkYiH9KpWEyQzKZfXlKPI-iJVw3aCFdHR0N4mU5KE_OUPR4d53NYroenG96he6EMUiKrK5N9l5zzQTnDuesTcjQYBWHLf8XgqYYE56VyYOSjW2FoSRPPfkwF7jFWnSnAuuW4GJE7J6Q-D7vJUP3GVEyJ1YUsQ_d76iYsTmUr6QcX8IXOilnQcH2wM2kZzHAfsBAboJx7cIKSuL-lSSVih6IJFxcop8wMHj4d61jDdPJVUHticnzuu1mSi_xoG-X8kWNw5yF_q65qC7mj6aqg6y1K2Gy-KDyF-iUyEoS7nsGTMqOJzZdwlcKOAi9wykP_PbfiwXZPmTiN5oQr4pP5nq94q7tyyG-7kzll6hzOPmTwDETz_CPBph1Qy_zB64hiJC0SGI2A7EP8R0IfxVU-tDncrcMHXHmB22qPyg_sZgpRSBjUwlvHr-Lwsm4fStHCRwnkMSu9he2_Eq2Zb2l332Ersv98g5JcZaOm8B__cjO-oUUlBVT-Q94peER7oaGbuY0DhfzkL_22YCHf76w-Hi0PisUnzMMzvNasGknL2ZDmiCZ6mo6vxdFb7FqlyHS8YdxMmXbB8f87_9SIEQswNw5oRBEWuELgt85O-skWcNlVrcVzgaAwNUaqBIZuL6cYHJxP80y6ad2mEQMH6Mx3L7-qxcwzIzXrJB3KCvB4w5_JOBQ296V4Z7CZpXmkIZuo02ofr9fgijz61La-17uRv1EJtFhF8o587cuEl5sFrFppoSiX2HoGrlAIYb883U1gktM_CJojj-m2X9dUKpZz-AutZ9owm2WzAJWDObBXdlXYNpzOtDpb-XQPARP5CMQVXdL0MmerUpSjhWByvDSusRsdRZ7qTgohWfkxfGho9eEayqS8FicXEHCbCLjJdb51lFV2kQnigzqSRFJ9KHh_AmqmPz0o64RfF3SHr7CibCmvKb3il8iIdNSzrw4KHhSs83h1M4P46HQjG7tOFwlCXeXeMxL-mcDisKPqh1mPRr-9frJiJ0GiVokcCWxUK10qzabLvYeBkjJ_Pi_aT5DsJjd3_kwk_Gpm9cAQXPKcFRY4v9xBAQZuklwQD4eTDCe_BdmHA8YDoQUBM_dFY8FTFRuuyP6oB73k02VMrT8S6pVCT-iRE9mQmw4CaUPCcolYFuQGXlWyQ5B-lUMegoNI0qYY_IOpoz4p_YmIYHeh491D78PRdiR4v7xAFEU13Gu8_C7xmm4671IXuymA-VP3FB-QX003mOvztiCJuOZYG-hLyxmSmhWvnwPm9cFCdvyFejvgUaT4acHOG7O1iChCDf5EARdNIBwNdoBmXKTxeWLU643IPeivzkISaxxwvKwXqVOeIKZdFMJv-lbOwdRoZ0CyXEq-F9JQJMZnITBKZSMTgqocBvr-uc76is43pC1ixlafOiF8bxH3k9iea7WAc4ZzaJkDd-5kTK2YkDLjNwa1TYWE925foW4xQoOXo5bw7GECjWfVgBd0ndyhDyHMKW2HOl6UD_oBOP_9SqrONbNDT-bwlUDjzPUA4FupYsay4DhDbBnAK4mu7VQQfqqlteZDmWyn2mzHAWNL2K9jm0QkMhV47ZLRMyh6V5_2gMVMZzX7c3cjfQ3No_QWSS3BCC8XLbIkSDZqnaBIcF-P6w7kdhwmHeDgl8FmgW6kyNwnRg7jS2ND3ESdiJ43LCNoBnKu1boGU2a7bI8DVBwt7gy7MAAsy0CBASZhtdffBtgI-E8D37n2qcDycW72nJh-pekgSNmiIGzoS6ZLnQKF3yy3lED70WMXlnIaYvpSfq9w6xontYr6tZEss1nnkdqC2MY5EX0N5-GTm9Au5I8vAWwJ-OsgGwhnvZD85jmUmzjEBFUhboUQ7EA5p5LWzzch3zm4HA30HL34IqTKiOtGw7d0SFJ-4DWtEQ4RoOrRzgosw4JeqahKjkbP30-TZJ2RlpbvIn6zC-k-KTTqHk9cQ5NaWLVZEFXt9-9FjvAweHaZ85hNLou8h6NmS292sRBKv_4b58bDMOoMERgu2cx5vC0jxZFrkZ3KqMzlFUd2alvNTt8Mod7juEFZi_pSWgSP57ARF_MQE2baRfjkIghWhleJlhE4ydgNFW92BArk2l2twN2Qn9KWcLGWh__msc10nrGxvsTxsJh93ls-xhWGsOy_WyyoRJLOeYiNPHYL8-D9s8uRsvRMExHIVQbTgkClXRCDaset4wX6Pc8WASnvXwHN1mIJf5McaoIjfmC6uHbEUijNQEhFhg-z7C62qQ_Y93QLkE-Bo3k53GkpEMSuchEr6dkfww3cT80lpiZ1pOZtJou3t6hIKNlnDeBRF9Z5PWwM-ODcleJXKewVVACOaahjkO69aqQx9Aqcg8gWL3XGxPOrcXaRxyAE2NS8loFIMxKzM2l55ZW5KmNwxmfLcigD_X2NudF6ErbMSsxKjBGp9pPpva2RxCtKbJtixbEhIUAO5mQXEZGdRauSqJObtb2-ZlYaOyCN4bqh3qs1XGVv_WPi5IHV8H8TuGjq3DVZVt_Vc-iOdQs1V-_92J_g2ehW93bWAXQlbj7CGyc7fno8-a6ECccc4YdUK_72Omp44QL3k5WlmDr122Pmqtql6Bd4fPVDGWcaDpUYUJdxKSpFqBpzv5L3Vk916EacpyUB2bDsnzoM4BwfPKbfL9NOdUbHINjU2iHJD-BK0Xv6AoIp3zOenR9BypiKxBGHVbamMxU2nh2jxlPgo6GIXxxFVtnXjdPi_hXIEJW6EdCIEoHGl_Zij_EOGqoHro44b8sKZgEP04-FpYa7rFghO5X2JAkFCsOiuOKpOy3ag-JevEOPNexYs0ysxS7ra4fJSKN3_GIWi-eNLpRJicDPUCMGc_1J7pmyUTw15mj4sxU6X4byuvn1gKq1oOPBjQBaw4n7doqBxIQLNofF3PRQH6XtWxgmyPqnZ4FSIHa4wBJqEId043IJYUYtAvI74rgrvYMjqopeMukZA9m46XnG9pKS-d25I1a1mgWP_1KRNWpd7ENYQ1aKdnu8NI-nNdfzUcbyXSQAMlR1ESBUtKfMSuZa4qlNnOx3unYD4SA1xRXBBmBLS61aF-oJPwOr2e6XfteT-yadtsB3WaIftPRGdnLD00Q4a2Pv_ui7PcoBGPvJOHeOniI2BXMs7O3A64KxPI5Kg8ilUC1414N_VmFnC-TFP4ucBp67ukynuD2T6j5WdQpoOqlCxnhyRhRw5Fst4hH5nXLAw90l0OnDcArePvgN9f8x6RPe-FswIGTEO3fgUH1BA1Wg54evT5JgFNPA8358xFmWKYypg28WgWCo2rHD-9s5cpREZptfh-Uw4OHQkydtknJIK9t-BTkz-SBeC5DGEkHNk7sJ4nN9eYfMJrKc8jONXc596oFJ0ySM-kbo2lze8awL7Gxx3bFjP6-g3l5_QxjWwJy-8N4125cm4GSzmc77pQaoOtrvSsu17FwAeqtdRQunneqsayfPBeK-dCkhNuTYRUL9eZSAt9OkG7gR8qCm8MOEi33bKZX9YgubgiWEgcgvI7eIgQqwNrvAAyNOamNLWi0vbpX_e6njuFiaChKyOhKbPFhWtBTt110ge-NxD9S3iAhte65iLUEaTIwdCWP58PRzWdTjAxVyCFAYfD309R1lt28lOizAbEbsNM59WQ6nNf8o2KyOFeVNw9KuJebsw-a8wa2sD56WePoMA8MVYXcABuchAKkrJEu1iWIVry1hxZc-SKUSb_1urVhWDRcjZq7GJpavOtcpECiOEQvzVKie59lPwZ71KzDN-_CQN_nQfv3cvC2Mdm9eREnqDEyYJGuqulYtEZ-nFLjEsWzUa3FTefyFNzx8TCDgCS3XkrEMK53I037Y9QE6eOK4oPzjjSNtLiLwSmtE9oHXNSTaxHAlNCcTZ4I2xU6WkQLnbcDtss5t5csvcoKaojUwduxenHAS8BoArUOpmghTiCvGlCX5wPu6V8j8OiPRXsyMweQl8LEbtQEmHiTF1GUtiLkF8in7jTmCvLP3DNm0LVIGiJFzigm_tukuAUiQeUkmXOOLPIjCMGysvrnBPzCKc8jh75QGuucRA0eu5aA45NlmDMCfF9UJ5L2SlRmUwBJh2UCv6oenygPiZ2ToywfIdtguNyrWI7KmHR3wX6kDrd9MqV6KTzCa0ReUbutb8nYHQa3ZIfnxEb2JhaqQ79X1sLZxGbsQoQPgCK5abu1lUZFuc3UDFZhZzZSSefmnIkiETKT9WsaTO3R6w_YXLyGTtIuru1wMCuu9Vs_rj7I8Hk8KF6g4CkMQxwM3qjXmSq1LtWaE8VFEKD3hwL0jjFkBDT6B5_f6CVWAo3y5AYMYoZp-oFoXMm2SQAjqKbLSc_OIM092b2xkRj6KaIAfOz-MG9J-On7HE4fadlhsQYYD_GIEyIZCBhq3KiboFyXdvsZ6fVMUOSWkdx0LCJi7Di7ZXuCxQIStORcMAPvZRBro52FZX2Fzhp1qY49gVpJ-ZUmJ2arxc5bAXjEkgNAeoVHzTh5E3YHmVuk2GoWfwZnpDpXj9QE_rCPjQK67VvlQ5DKYZNnT7mq4xr8CN_UN5Zr5rBapZJCYyFfbGpi-sc3pG-OqFOYGQVQ-W-xyQHCxFj41xaDY4HHvdjQKWTcCImIri-wmy-PKz7jaTNtO0bKghHZ1ndGmoq7mMhFumCaHr_C5IhTP7vACbTmeRtBQyebybIdGax6uISSv9_HNGXvDrvfeyral2kiUAs1mogfJmpEvay2GmyWLrBI24-z0ano6Gyjc4lbD6PxT3wvaDEO29q00WCmhRlw-hZx2tPOu36w2lylvyPci7AutpcMNAxb4-slVeffV71WfYiWoNxXNOUV28_fNK0crziZIiyh39ujHtfaMOd4d2Wgoh74MRG6_wChRnRadTbFA1PjzwdpkgAlT9kgfzf2CA9lDKe4astphkCOq317yzlnKwDjK_xu6WBkK44ps5TY8HEqDZTNjgOhM0RaPMhtq_luX2tQ1Fji7A3fuk2Yj5zq0aAh2mlIbywtuYB1DsOChA7Gn0aE496OoSLTMl4G7MkxSZaSzUgTRkD8ADLeFGcT7aTYuugs0UQKvftz2f1eq01so5ulslLpwkW4YTE78POHsmIttn1fCe7kcywYNQgwgjaB7Z63MudmDYsPen4C0fA9ERGF4evAhfdcdFZvvzDitfEDdSPED35z_mzKOiX4TFzAB0qZcewZqsYyQ7n09WZu46rAKD7Ue30Mf2Sk79BrtevDYs8zCpzOF48zecwDv7d5tRDnd7ZK1HkVHfbsoUiuuLonHjzBvxycFqjFPNxz2WFH5kMXL-MHnM_HruKWfrtLMMNHQogr6-udcex_QTJPGG_5oMcGkKzbFSax0hW3WQ7MWzTmRzR9DMj4uLInk72iS4VZUVFZuNwFIcmkJYoCbOZWSrCh_eIheyDBUNoyFDHpGY1dTLQtlMMhcYhppoApsCulQplAMq98wBagnNacz8m2FJZaJQ0kYvTuz2daBzf4OPZfYS4z_YscoECf_Z2qY__ZoFJ9pR6phXeDU6QvCVtKvuXBvuuwsY303xTzvFTVlq-aNv75qT2yRRq9dnkuyKFfU572HE9sc6yutEtDlvNe-rHQDUz1KRzwCqq3iULyBKn_56DYGQ-JErxtZsjcdazSgC_83s5E3k0YOMahPIIUTGDiXu_S-tVA4QNjEsyo9ePVjT2MNJBtKDuGdKxqglRk4BFa7p-Hro9uZU61pcCypm1C0kBvV3T4NJQcSJfS7RoVE1nnAiC3ShiwIZ-Li_860a0SYSHoWIDgQuk-q4bOICytZVkk3SaFSsooD8C4dPxVnPWxjSvcrzYQ1keLJWJ-ToLDIzlFlA3LfVGye-BSwKdTDdGJpjT3XmfejiZSJxg4OPeEVf3FOexH6tw6u0LUPxLFde7bz_BCCRB9tUCOf2kDbaArmzW1vjxelcktCDu4382FkTqLLMBbhLCgechMqkUX-ky40HxooCVDILw3_oi8n8OuihacTZyFWEmPTSjvnNe612-pS3Hb_aS4UMraLF7j7M6TtsfTQVB8pzywPWoLNbQYAZ-RhmLEziizofgYIYNmIuNSOFrF3ZszQhmA-qJ5cuHAWuYP4wCnA12wNojvEJVs0FkBtiqTkttZCe5Rtu15Om5GYJMxlLgdZbkj8e1R2JgAV1yzoBVXLjaNDAtYBvm-Iw9jH3aZXcIV_Cu-DPaeXvWKsN0uxAxmQPxtoQAilnsM3BtzRjXNmjsE6qwrWS5sl9Wz7Nm6GuQDJ_fECpindqq-L806i9Z_8VZ1lVYVKytZ9UAwARVnhTUBpL0luuz1KvljI0JoE4yKubXRc_FX2dxTjWEK38nAeauaXMV-zxEQO79O8rUXOyCFC8akf06n0y1dAHSp6l6BISPbt1jSL3xfQIEcZjC6HsN272SpJEXH4xC87n_keRkboNc4vAunv_gzDxLodoLEMU04hLMa86APJsCtiNumst-nV4RcbQMSiL0-NU8SRU1boBqYkVbIfGirk4PQMDQO7HtEQVCDUVGcznRLmLDPokwzkuN8gdLEs-DcTEUueHYViioljqc1HPXdjJgDqh5SuGKHMyQMlRSPNQk0GCDgcEQnn7518K239N3r4HffcN1r_0UqcGePFz0cn9E_RDk5hfxoShD2qnKPZ4MJvqX9-KUQL6fc2KnOP06epAy7xTeT34COvQVkHrfqSgu9D2DdB4df2_PrLiB0BCr8MuFLDRDTMrG9gKoKVXZyM2lep6V_jffkm7OdcnApOL0h86ulEdahIC8FvAuAL0ZXWSMOnE4WS9gQQWFDm4tBu1na-Db1kjJ2zPbugNxgcNodD4l8ytZJ4hwe8-FVV8JaBCPIIzdKcKQ614J4ItdRrWrJhv3BO3imNuKdGAljSqa-PEqPlt6obmuOYOKVY5s2NNMYkSyPA1eSxyIdXxiXld5ZoYhEZrdrti2aw7qkDOERdKIn_4BfJ5ue5yke3x9plCpLroRzI0BeYwyxDfoCRDN7AzPy1XPzc249ZbiuslqSyXl01Nc6sA2OPMHFIe2DZdTdCkXqEY6L9_CQyoxKFjSwzmFIeCI1wiXuarhH9gZfwDbMAMYV2FQubnIFljX6RdeJXhpOvYvk1YLme8AnQsQFeZS-2ALjdjrk_XIdLWrx1LUyhivz1rAZNj4Oa-1K9cvFogVg-gPXwx-6nDPtMtl6aylpkm39B8PRPzcW380N43C0Eyqv7MQ7_pEwAXEYtGCijFZRm7JLmsxGVj-jPmrIRIi36OXdh0Zm_Mjb-bPRGX323JpCDrUiRh2URH9518PHwvgNVyYQnnOxEH1oOU4mE2EQh7VtWdpAzwquoWEs54pcYKdhRp_qIqEKYF1zSeICp-7YmRK2ZBBgGOWob-AyCtVKiR2jk8UKUDhUddpSExrFeBtlhEtYnIl2Rmmxk5MZf5xVFlfFRiovOvCoi-fV0jZ5TzWfbt7wXbrvew3a5GoxupGAiFfj95m0wBPVGEnjNfRSrnL4k2VTqIeshsrR6Kucj9E6IbPcLATfgQNZ0jy7xrS9e_Rx6HqdKlpnks6pvexRe8yayc9mDuHyyWNBYd_7T8Ouz5m4Ye-5H6IZgkQqdKak6bZpLCop04wLLEs_W4Xv_f1QJnPBoeSFwG1k3R3o3OPFEYQjvERuVUB-cQ1vqE1gT7UidojjpcsqVDjdVzwU0q-XkQD7ggMrapmJ0KBfzkG7UOUhBTVLiUSajsBo4Znk_nGAUoYuVNEn1h_SCWfgKoA7am4bWE67UuVYX8gpAYuL0modJJNa7UHd9I-K-DDPSHMJ7VxuDe2kJU9ra_DXVZhihhvgjJY9BTPANUqd_GVicR-wXEwWj2wW9XTo1M81PbLolyqRueizE2-6dTSvQNXX3nGcpt1zmYqY3tTPOFPiPzc90hY9FsWGrVJ-PENneiZpRBPb8ikf9CLDn3uNbVNe3taiPTcxjwxElBczVOV_VBzAVUGajk0B5Ql65iXdxKtRoscbwkPiNLwHvYZ4xgZ5qT26OHdDwxKDUZ1IKODFOr0_CldXLyTZKHvqwkVzQP5rDBFJYf9etjZJVxaSDTLadysZ1lPCgnj-0Snh_FfQ9yoQ4qXMCLBU3MIWItG0pUoHH8zsBlMk0IRz9gG_eTAOx0gGqKWGxUFuYoiViZYrzvOiPnAUa7tGanabQQ1me0gJfq6REeV9d1urwLozUy1FbfqVF-5XI06FdHNrnsyVnwvDfDtI6FmzklwSaXygfDyjvRUlD6iLEoLBqHZ6HPEzEhZ5_I6wZA-WEcVvgZ8c-HaPx37580t9kThzJO-q5w7jnfIWUSmswvKRmfqmb_H-IsVkj0aAd6OK3pWhBWaMp-GeBC-nu7AVf2DUoxhv5S8wrCpy_S6-o2kk0OtynOVzAuIKqGD2FAwG-C1KYWyP5zMx8htJlCjFwndle7cLz9AAa18BBC37SMkcUSKCzJ88-aZfQQ3t8N_b2DXQ6cGnCXWo4plPre2LnPhtN0bzCJk5tjwkZTzQXiH3mV9TSUO440nhmBAzEQGTfIXnPk-gWVdouSCO5JrtMLiPXl4JAFaZ44muOEWnt-yWuCfsG_1IDE8klVy46ImnUGIxNIa8OAYNuMR79XPLgFL19tg8EiL63RTaOUakO5E1N0AL5aZnR3WVK8OYROoFvjfep3iOud4w72mg_cPdHsPN-KSYQQPw7PgpGr2Ep5Fkh_knqqz14RxaOh_Zhk6gI8ALgPOyPEm5UJ7hRyD9xJSihn7nYpNJJrKcdKUQE3O5i1VdajngU9HNKxbIvjGo3msg0AM-bxquqTaLxruyGMEiieA3Cjzy_HU_hL9OD2mQfMaEZNEmEnORSXsCh186ajrQPPVwS0oc0FBHYNSM_tbBs3MT6sRWRATNfozuVGfCZQbNHXgyAaUpYLIlLx00SN-R60RzfPulWLrLXJCgWtOyZkV4tI7KoeHAPm-K7vG7490R7n3wVuNVNOYv1Ls2r6AhSduuHrvHw3euD-h6afs1wjpqsvUE9rQDK_ZVdjfnyMkByU731oH7M-UaC7TGDRHYJJeURmUvHkOS8_vHsyz8bv7JlHmP2lqrAyYWWgZQVbU3RUJGAZZxSPgMg3nrwqBHYJaXN8i_DbMm2aKsyL3DajvQPOKucCKCD_07XI14-vLXnR2NRAxGi6P4Muw2JAF11nG2kSznIcWg8mH77gnLOw5EuI9DUYxSuNaNmAk6D0ux8Qpx0ktpX87ADd-oCQFRQabWd2bkO7SacIO7V_lIQyXKL__SSl2qJYtaSaMyIbqp2yepMODIylXbbDfMoFieU23MMPPhbkhYkCzswsRz9CNQGjAvXRDliUVEMAK1R2Z2SI19MddMDmUSH5NouUqT-rseOKZ4gK1B0F940HbAhwgBgpjl580hcSL0YLEL7qeMwCU85rGPKzxpSbkwiFIggXskTheb7UmD3TIYx6HXjIauNI-C6tq0MGgH9hJvbsYWLijLo_kag_XEWf6owHTKKq6OxwYyRul1rpde_jiRXBpLpf9oxqyZWsoO8ffpOtR2JWm75kDo18CK6OO3fQg4n6gBfx3_jZ7YQ5b9puwCj8vaC_FXKcJyyuz2wY2yO5KXSeNpBn5NWS4EXG9yDz6giKZSwK-aE3LsDRfRZU7oqA1ZEQqw1qZRf_OJenIoes468QI4fqcmka5X_atvgAPsTgzPED9y_VhvBeMJXvZscdP32gMiU7JdPjiWCvObgZSrEdp7Q6G_SdgA4LNN2kPoWvL0nBT_aJ_kzZMa5TVIxlhiWiZOK9bAbsLsbcUH-ZY8JnQmDjkw550mLHg9fN1-wHIHRxR7MSsFwnd4Qz49eyrVkCF10NBxfl-ekWX3xJe7jorRKMLWOjZNt843DkGjO45rchXoWq8VqOKWqaBmEPVZeRVimj9C4n60QTj4he6L2Zgzkcv7t-7ptxKD7Lz7UaK-TdI8ZQnxB113C-w4OGCGSBjnOAZC37LoFeprTUNvWpNx8GpfzJrzt1HwV8EHO_LejtQMM9lMCWUSR0vbEL879G812yTBZ0VcFy4jPeZRe12y5NFintuYF7fLpjM-Aj0GzeKzOEgbGqIncsmLC2fOdNv2cCAHfS6CsVA1h9N_SNcLzfCX8FR4YU_VspKCOwrrUk1sgz8aeALDyx-fXRli0V5sVSYM7ZGqvfCz4tZ5rBlds7H0kbo5kmLlmuMmwCbbAK_IuUw5IBzOZoW4To2qjUyFMEiXb9K9w6O6NE_IHYu_axqNagn9JaCzQY3mD79Dr072ugNUcKarK_ySn4mKn6WuU_HpB1tN9RHA2vfTfODXztlrud3t7DZZviaWHDR8lmVZtlUM3JxQFtjDln4sveWH1l65HiyD66bnVuM1Sxu4_beGYoaCyZ3w0US7aunbjaTTCig2sO71m8YD2yGT6qg0oXKQDQjvopSpYjrYUbjyThyE9hqfOLhLJvJngB-wmrhXzw8Gmj48GXusuTEGVG0P8lgPP5Z6uiiNU0lklGzv-5aiBaRjgWb52LFzDM4-kGICUl-rPLzsOMhs0jXhkwGtp5F-L-cyftNN4JJL5ByKEKBXbIsDQDx_dno2qOp4vziLrFOimq8VW65OE1EbGEAkYV-81m_npf7tNKxyT4o_J642XDzU_3XN6u_LCscIVFOMliq5IGHwfoGztJ5sI02_oJKfFn7rjfCXvpGNaG8oWt46rF9fuHSF_Qv38Yup5R5J4WdS67_kBk2C9nIX5lqDOdU74_xmkXFMONi7YziQYU9Ij7PbEuMEVYVV1rVJzle0BHXmyVfLbjJnuiV9Buv7WCy6okQ1-3MS1tWkNSX1uiuuK71GcVbbHue4ahHtN2HdIZMqDhHXZELnm7E7Cl6wLKx_anLZDyd2h4QeMrxePj21BL4LsLkOGelqRPi6Mu4P9RpchwL9w7tit8h-xKhA5S0Pb5w8kULmrhqvrZhWDhzV5wfVzB2mg4LvcNuoMyYEN_FjhC6HAuFxt0839gZ0topk59d8qSN9354CpqQv-dmGKP5mi3T_rOxQ0EoEzqaJUurOWBWIGJ_oPOBBce6ecAMwZ44lNXeDtlfMJi1KRPYTqC2NqQjeJqS58MqiewVn0793JzpcgQOxUk341VH2-y1xNs_RbYJ3NQKfJTbsJA3fU_eC-CkItXBckoXq57HlE9whMOULfOnElA1vjCia0J0PE6dJZGBCUWnPelD_hMxB8SixDw0EQ_cnWiNXBr63lb7rbbuTExmedo8anCSixTn5kgXw2aoWONQc1mZLx6MIs313FBRk0GuRL-iAuqVx7__0Wp5JTE77pCSkRk8NyRb38Z7t8hmAcrwcguL6NSf-H4ESsf-p5zZO29DAq4bvpdB2eVzWadE5ADhNb-DHJ1vA7g-dNF9gwMPcI-8SHN_p59ulztq4ZyRZ4t9e6edjLJwP2HNMEvqLG09QFP7yjLP959beW-lZQbUttRWlmg6QNhjC8OHxb4nWVlw2IyA8tILDNMSL8g2mOvUw3DD6AiBDEz0e85JUb9VwWdldUJ_dFIeZ9GF-sgL6lZT_OzTD2YcPATftJEmd2DC66PBX-Ihxl_Rd3kYGRRx04NWvl1kE0loy0HtNzJOD9l5CfzOzCPmldXx5EnINUTrJH9RW9A65E36UU_V_qC-2atPk3HI79Pm_boM89o9qV7sK4bYgnnUmtvLHKXCznb8kg3gS1xbTTCDpxRK6T9mmuMopInF5dksKjHw9Qkap3HksBpAEuuqq31tZeL4VIHe9KOgvSC5Ls9hKvp3JDj3Z4f0t9U9_a0Jh7v0N3LJlwLKaRHUcwI8NJwG9TFMijhvEYE-CDGSCs09lFCZz6I7RHFddFAOMizanuokFCFX_2oVnMCMl6101-PT_tTyojbMj0wiv3K841MbY_uNM4982qGakU5eLG9BKqFhB7v1IxA80WYqaNwwHpqwckr7hDw7dRABdsJ4uexKaISzo3Tct0KtfOYhSg_ezEifm65DGyLlabiUOxGECM3TwttaKwQIX75G6c0v1UscO0Kd5oejE_ucMvRIUplwYaVA8xtA10zllwwAwoMS1ifT9wSNfct7xNEVK9r_RVZ-Iz9Y_6iDHsaSuuy05984flrpxVeeLtjfFiLTAP86WFdsW4kxWFt2msEePTi4EEavhCNY9xwg6C8_4fBIcqHButGSaGbs7Pb1PxSS6UZ8ahTavw7CWBvHNZ47XWzftVUxh5LrewhhEF8dgUTrMyzJsx8cezHV1z9tJHkDUfginN6QB3hoRZXboEjjriMGIx7I3ZLaKdD1Rz4jL1t9iLFc__WHGwVlVeNP5IK3oVog2l2R_5icn5zFbkFD9oWMaW5QAL1KBkbP6icP6iv5hEEQhyrMUXoejMjCpmTACrNRAt9dbzAbwZPO3Yi3rB9Yesf_Jl57mjrMMlo5NQbg62LrgB6TrmgQa2gvsw1syrxvtwSUJXedWGfmbh8bCrOc_29A-dPOzlq3XHOn4KDX8WZOXm58dH6uAXnM_0VFFjaM1GWltZoe_6aqr1VnKCFHGyTeOcg5u5E8_leRWyOroKa5JFr7r15haABSbHlrH2hK8XfhOWzZQGzo0AjZbw7doUAK6CVmnYpZ11J-GuiscCq9LS2N__o5t8E-hjkK_-CNVI2rERbDWIyJSqw6ZhtZpyuxoV5OFV-Nw73LofJctWKWkZ57xQNSHPAWGyC11xxQ5Fj4_go-xHAUHpjSblmE5b61tn1o5dohoeXT6crOWj1v4YeZEGcRwg4J3BiMrcGlumkWIEOROkUpkGAtRLVHQBB5iGyaQAf65TG35efLhety8_qOMS7AWfpadnXBokL3cFFaEklC3sS4GpCCMyESBBJRQCOc8F6e3wtvY4U7RPgAo6T6LCsCuwVKfLk60ksYPNCXNo-gMrO1MKW-LXaB07RihiesxMKjh4nOIeaq91w5hl1IMEnXfduLIFPOIIsYpMI4r3FfCX-rdx0k3QKUX74w6MbHoP6y8I0T9epr4Xrrij4aI5DzSh3fEGCfsv2ExoVpEcrN0CcsyxBHWXjgqvGNMC25If4qyXPrQuK9WzOP13m2G4rfrKuho-eJUmGcusH7LrVr_CSpxw-nnXfE2C5yRpu5FsZmYeLwiZ96corKeHBivnnb5bC2tWw7yrDDYA8q1CWj489cBHvVWiAmF7bbH5NJwnOgMM1clyXdArYx1-d9yc-AiJopI8sMJBULmIhFYao8L-s4kyRRZ0hjtOHY-ksPYplgJEmpxzXCVuYWylLEfWCMDjjez_eYnt9c4eC-YdcSAinbt06boFFxqflHaZZ7ne0Wf6C1FsHEHjSVHkU3pkDF0r83XFGP5boZc_GjkQP-XVIaQXWdvnksgyaobIsgq6FrW0TBcroOIrG_g31ajdlTWZuoOEOgVyCvBi-vPCgl-EGjHuALvzMxc8C4BiQNRUY7JEJMGxnAsOisZNr-1-9tGsEi7H1wtx3bIw1CV-_TW3Oui1De6Qe4UcKT5LdElOwCZ8CwDfO3LcdUS7-sh5UBIgqqqbTr_7gekJhrCc1V69u9nGCU8LcTO7bZFW2VTDOJtlJ4eRBvDzR9X7RFYvXGE8vmYNwtDlsxebRgfoE7WXwuy2wkZf9hvVdHeRoWFjjRc-00gh9IGSqEyUNVR8OrzvRt7AHmNcCxGBgvCWrvo7st0DM-58r3OHB4GHx2VMkpSWejHi3wvUEXph6FlASvl9DQCAnB4RrsMFNBL50rvk5IXnRtQiWWJyBGkb37qDIhHxoyPiKSNL8ZmXkCyIGG-UQSPEbQMI852VWQA5UbCXLRhO50WPYeHWglx9yEjQqbJFEyiKmVNfs8dx9EfwPyLwnsjNGqiqaJ7lBnXT15kyN6U46dgY0gdPYMu7NsGB9LLagLBSTAaFc75KLhcCdpq6LUoHsmslMcx1rwp7wTEu733l-npAHqbMQ8xEQFgYtBPvUIluJo0VA6qOX3yqg0ji_dnzNWbb7NI4AK5WIXRK8dLUqPBzZNd2KY2_ZbYOixJ4GTPiNwjnB-Fj3kK97cEsgqMkorILdinMa5ZhTZuUTZ8O0NOVStvsvdKJ94AFdjC4zSwj6c8DFYmf0RWPqNMHdFbNBbXLyWI4cfFavc2W4JSymrLq7KhDqdN8VBM_Vr8mhv-TubWBOVUu4suOX-7j_p83sgfkz0LWZUrNePl0RK4sIGVMpUa96QQwSk8atCHNlBH4Y6XPT0nnp7JNFW0UXJ8j911FA3sUes8Y4rYBDvdje_A3BYJ5W7Yacab96KVIAaJv6sbxMTDQyypF3lBjzv4Y1dVwutg8-HE-LU64pFk0EBP57JP8Yhh-SKH-H8Pn22yy12oby7sawX6ztI5z3oCy22c_VY_TM6mwhr9thgztpGemvByiswX8ovz4lysEq6fEEh5rKEqYgArVsC7qvqhSLY9ld5BIcAYAKvUb2mhTIUvgWA09DEGCv8w34HTKX4iRMdZ5W5E3o-eCgYf1r2HS62FewCHC0OeVSFURTuGQCqBwEyj3N4zuKKFzBMwNKed7F2kAdFQVWSM9-4IRJA0prdDmg0x8dlWDq60B0p5e8P73z1MNcOdfMZrz3-azpGafOt8uqvYwu7TWtdcX7k0KaX4Kf3d7-jy0nWWx_-WRh6o1eD6KkmJiKJNh0nr_aCeHpqt-kjGRZPQnuCvTmKYes2aYVuRgixlYNUaNin6FU9u0arAyCHD33CHtJakaKEdCx2b_83Oi4c-9Nci2DmOw5iFWMkvkp6DXBzT2n3Jn3plvAPsswjBEAUnNjX4WzopzFSJl5k-TPEb0aemVj1Rx3rNwO6MFFY1nHGxnrvcQveNPlajx64Wq7bxS8i6MlbixSQ4aTXaK2Nx0Mo2UMeo8U0wRcl8cxPgYo87hbyUQzq57mrs4qTDPiWUHOejfgDV2Dnxg5pdB5beN8vJSN0v3-PA6oUSPBsPvrayOrbBYZ1PaNJaEcszXkY-JpYiC1lVFr19n0NSWcim-WVbYEKpJkJTLzkPNNNc2up76FhP4YWGWt-dqL8icBcUAr9G81rw-s0XA33wdNQrml80wq0p_jDl_WGXAwE6IX09sPRIlYFDbOKqRljbJXc4FYdw1XKhC7BwPB5PcyIXK_p_jMPLZa0Gn1BixzUqsoIQgspcboC7ge2Noh6OuU3_s9PmmWsv7dU6qaQtH6sukWrF98wQP-tD0E6LsZJHCUAdRVB2CmsDGh80aLVrFm2IhE7_Jiw8ms42Lxh1nhFIjYoz2iQ8heEDjBG0wVXRtYSYfWTD3qR59eK9gvwzbBLJj5tFvNWnvLbPkxmZNFR1Wc0x-lJe6okrpXEzsnkmvrvbVmTj1zA5dNYqHbJPr_U9jmkjyABdSWPjHukxnAarSWlhQwHxJmOhHibBksux5N4LW4Tve8a30iDq0o3_ONKu32-Y8qvmCLBg7X-hYPFF85LG2sPqFgU2yOcl9_3Jv7eIlmLL0s6qUrlsqDiLIJOIGCYVpQ7AyrYn5Lb6WvOsDqIRsz5mwbnYCWu4-wX59TmhY-3lputWRIc3iMUOBLtaxAjYAVodrvjN1OdGiVC9LjKOauvfhDIB7FhqOMhyYxVaKpOL4bqnM7_SQ8iTbt3TRNoikPax3i0dUzh_QtALXlR6KiznbGGIwj8WrsOM1yfPK_Z7evRxI9DabUjxUXv1lcvLxPCOvH57AXqCa-yc9nwksR6sMbnMZ5CiOKNQyBvkL2mgmdILy3BfdGcyyHxCI7wsbpn7aM2ZbBoHIM--w6VJmIZpbAHzNMHMHepHle76iVgKyK0Va_kiRvSxmWZDTkFmgXSxzrZVyqODxMhYCf5UbIFcsVMOjPt2APdzGR65eQfxqymI3uobGNmgnVW_3lILEuDhq10s70hcyP2KpXTv7sLpxlTy-0LPRBOdw5WPON3DWrn6f5qjNOxCQHTRaAlXZBhSFodH5TjRboVkpp9tVumz3yCL3UFNN1q_GCmRigmJlukXPYUw-6qlHZpxd6ndyWVoZLYin7umZDF_fqlRWYrSZywPX_cbxr1tcwYH4P6KNuk_qrMhRMb9LxH4YNsuRotDA_XKe0w6C8qvDymWT91FY0gWuW_dMwGWr5ywqlLt6fBeT5PFhL9dOUw1h0YstDrbP9Ox6RPWJaOkkjg_scXIuZ2HdCjUJn1YlZKGs-_Z9CpT4lLntsamLT1rQXnDNj839C1ebP_-RD1KXgoqQ5hfkHEujG6auSohScuuyHozVKPIPiEPQTdqGyygoG_yIlwTFGy3kIZNIFvVW5rMALmk6beNpjLpIXmDOudApGkn_9zmEka1yOGvbGnQU0O9YVPz31DoxgzszQ9EXKSqRlfnGAjhI-w7kNf1C3KO7KAkuD-fN3LYDYyF87c4lmuvjK8rLVW-PdP2jfuncmVXurR-ICac2N_sB9p9NFgVOT7Z0BFJPYsK1WM7FSAQ8nkWCBiwQhAHdsM9AYxdIZBMsVQxNUIGnCvJa6-Btj6MtSvrKVJRSavSSdi6dSshlDIM22LEekh6S0Xmb5cYSQ3wD73JgUPbRNspaZoLmeP_WZNWODkMpatZ5nLyfDTaagF4OtOqA-rsU7kDPbEIWj1yPexa8U6PAChPU06XuaXEJ-LoXURuCo3TJOnKOUr_XSzHXkvCySY0V2jLUXkoTy_dfvmgm5C4Qko94EbeR0dslcyKKAjRvq4u7HMEiUnIVBjTjEdA05Fv_BNDi9BPhht3ofBerjNNqIbvTxDMVImQmrZ8l4_gmJlEJPhHMu0IAAPcgcUF-cxFojtTM5CBeOa9rMeIZRn3pz9wtvlWR7-XPG_wuzQRy7RsOa7yvp3ZPI4EJ6twxymhf--h5gX1IVUDg0DuHEsaED4yjZhf1L9mjk5r6U5h49hONBtLQTkFpu6or97RRzrzC6RIQNP6lMonH_kPrtxNLnuCRMzZloSnBX0ehd6cQwkojPmNy43c6ZD9BH5-6e3QmiefoYpgLZCXn5RSrNbXy9y_CKaikMWENOzGqqTOrT75i5yAxeOm7bL39BhK7cO9Nqu79CU08GwgansuQl_kSGjot-1nl14E2kgd15WJEfcwvh1uPyLkhQVNGsHJrvg9jwijTXDrkrSNBP4Btt-HbdDyBB3pliG0Fwy9jHRicCuyvC81Qh2I1o4vhRRWC5LN0m9UBaLJ0nbfTnn3Uz29ZNxx1BqArzioKF_GkrpErh9TbM2LWeRtB672uTWS1e6fXgbmzm6r_a8fdEJCCTAGIsP4DkWl2MXVd_yxqgIsjDnyudWyBJqJ37ELfe0aY6R6MqHGDQaaECFbHcEp6r7_RzZh-_z662z4LLVXG7_OJz3iOnSURcy1jdslwp42boBS_DwF4XxByZq9D03MJXUTN5G_rCQmOjEQd05nD_MK-bd4HtPSuAWHRUfC0ncN0M8PzlmaZ5bzJ6tuh8ZRXmx25gVEQkeHlNAv72MSAxztvGuS6P7ab29yUweErlhexkTjJanpTyQ3AUVtE74_WU_yBQAaeMwAN2wu1c36fS2-ULGwwOTInnVyxpbtwNPAKmRApkELrVp00X1ly91P25YDAD8cfdF5bEaPFm3Ytq4jJ68b4odXFfYPwARVe7UV7YawfBAf7bd29ceGFgBxExpx6F7WG_E10wGHkieeKV_Y8dT_Sr9Qc6DUBfgDn2od2JY6BVVB4c5BKUnYRmFvlvriGxqMFkK8TL-yHB6ifaJpo6HEYwV6L1TzeM3vS5FAhFJx8dHWjihv575zRNlqBn6r7sBBs7-m-YnixrrIwSQA1tltIpf4ItYqb8_VG-YpKb3PnKaa8wXuioy7C15XcZ3wcb7l0v2xLuUGx5sRxLnJPV4A0R7ksFy7A43TiRjAtT6h5YszPNDMWkWzLYIYE-LF9JfbrAT5Hc_exgJokghRtmNviArZ-tehd-W1_1Oz1_FwR2rcvizrt1TiOHlRGByfDoJgg0IQoa6crXxZdhOTsu5OEu4CKwPrOIlD_6WKJJDuEZA8TAg6LeG9ljVEbmYi-Pa8LYvrs6DwJ1sghkYCRDdEGDT1UwnTS7k5IZDkjgl2E8TBnS2tpJIcA7bZsl-B-aHCgQwVjs7v4hWkFQ";if(!e)return null;if(an&&an.sealed===e)return an;let t=null;try{t=Fs.parse(JSON.parse(er(e,pb)))}catch{t=null}return an={sealed:e,bundle:t},an}function nr(){let e=Cc();if(!e?.bundle)return null;if(e.runtime===void 0){let t=Date.now();try{e.runtime=Ls(e.bundle,{signedAt:t,fetchedAt:t})}catch{e.runtime=null}}return e.runtime}function hb(){let e=Cc();return e?.bundle?(e.keys??=new Set(e.bundle.filters.map(t=>ee(t.slug))),e.keys):null}function Tt(e,t=!1){if(t||!e||e.length===0){let n=hb();return n?new Set(n):null}return new Set(e.map(n=>mb.test(n)?n:ee(n)))}var pb,mb,an,ln=g(()=>{"use strict";Ds();Pe();js();pb="tokmizer-default-rules-v1",mb=/^[0-9a-f]{16}$/,an=null});function Hs(e){Oc=e}async function gb(e,t){let n=await rl();if(n.size>0)return xt(e,n.values(),t,n);let r=nr();return r?r.selectFor(e,"free",t?[...t]:void 0):null}function wb(e,t,n){let r=Wn(e,{...t,keep_failures:!0,fold_passing:!1,mask_abs_paths:!1,transform:void 0,truncate_lines_at:void 0,max_lines:void 0,on_empty:void 0},{verbosity:"normal",smartCode:!1});if(r.trim().length===0)return de(e);if(n!=="compact"&&n!=="minimal")return r;let s=r.endsWith(`
|
|
81
81
|
`)?`
|
|
82
82
|
`:"";return Gn((s?r.slice(0,-1):r).split(`
|
|
83
83
|
`)).join(`
|
|
84
|
-
`)+s}async function
|
|
84
|
+
`)+s}async function Rt(e,t,n,r={}){let s=Buffer.byteLength(t,"utf8"),{exitCode:o,yolo:i=!1,resolver:a,...l}=r,c=st(ec(e.startsWith("bash-tool: ")?e.slice(11):e)),u=o!=null&&o!==0&&!(o===1&&yb.test(Cs(c)??c)),f=ql(a??Oc??gb),d=null;for(let N of tc(e))if(d=await f(N,n),d)break;!d&&s>=bb&&!$s.test(e)&&(d=await f(`bash-tool: ${e}`,n));let p=As(e.startsWith("bash-tool: ")?e.slice(11):e),m=d?.slug==="git-log"&&p!=null&&/^git\s+log(?:\s|$)/.test(st(p)),b=o==null&&(m?/^(?:fatal|error):/im.test(de(t)):Yl(t)),y=d?.transform==="smart-read"&&s<=2048&&(t.endsWith(`
|
|
85
85
|
`)?t.slice(0,-1):t).split(`
|
|
86
|
-
`).length<=60
|
|
86
|
+
`).length<=60,$=s<=16384&&p!=null&&/^(?:head|tail)(?:\s|$)|^sed\s+(?:(?:-[Eru]+|--(?:regexp-extended|unbuffered|sandbox))\s+)*(?:-[Enruse]*n[Enruse]*(?:\s|$)|--(?:quiet|silent)(?:\s|$))/.test(st(p)),T=d?.transform==="smart-read"&&s<=16384&&(l.verbosity??"normal")==="normal"&&l.smartCode!==!0,P=d?.slug==="read-tool"&&s<_b;if(!i&&(T||P||$||y&&l.smartCode!==!0))return{output:t,filterId:d?.slug??null,rawBytes:s,filteredBytes:s,debugBypass:u||b,droppedTail:null};if(!i&&d&&!d.preserve_exact&&(u||b)&&bc.test(c)){let N=wc(t,l.verbosity??"normal"),B=N===null?s:Buffer.byteLength(N,"utf8");if(N!==null&&B<s)return{output:N,filterId:d.slug,rawBytes:s,filteredBytes:B,debugBypass:!0,droppedTail:t,failureSummary:!0}}if(!d||(u||b)&&d.preserve_exact&&!i)return{output:t,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:u||b,...i?{droppedTail:null}:{}};let C=N=>{if(!i)return N;let B=N.filteredBytes>s||s>0&&N.output.length===0?t:N.output,ae=!N.debugBypass&&!d?.preserve_exact?Ps(B,"minimal",N.filterId??""):B,me=Os(ae)===ae?ae:Os(B);return{...N,output:me,filteredBytes:Buffer.byteLength(me,"utf8"),droppedTail:null}};if(d.slug==="tsc"&&!u&&!b&&!dc(e)){let N=pc(t);if(N!==null)return C({output:N,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(N,"utf8"),debugBypass:!1,droppedTail:null})}if(u||b){let N=i?Wn(t,{...d,keep_failures:!0,transform:void 0,max_lines:void 0,truncate_lines_at:void 0,on_empty:void 0},{verbosity:"minimal",smartCode:!1}):d.strip_on_failure&&!d.preserve_exact?wb(t,d,l.verbosity):d.strip_ansi&&!d.preserve_exact?de(t):t;!i&&l.verbosity==="minimal"&&d.transform!=="smart-read"&&(N=uc(N)),!i&&d.slug==="pytest"&&(l.verbosity==="compact"||l.verbosity==="minimal")&&/^={3,} test session starts ={3,}\r?$/m.test(N)&&/^={3,} FAILURES ={3,}\r?$/m.test(N)&&(N=N.replace(/^([=_])\1{2,} (.+?) \1{3,}(\r?)$/gm,"$2$3"));let B=!i&&!d.preserve_exact&&s>=kb?Tl(N.split(`
|
|
87
87
|
`)).join(`
|
|
88
|
-
`):N,ae=B.length<N.length;return C({output:B,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(B,"utf8"),debugBypass:!0,...ae?{droppedTail:t}:{}})}let{text:D,droppedTail:M}=
|
|
89
|
-
`,{mode:384}),
|
|
90
|
-
`).filter(c=>c.trim()!==""),o=s.length,i=0;for(;o>0;){let c=Buffer.byteLength(s[o-1])+1;if(i+c>n)break;i+=c,o-=1}let a=
|
|
88
|
+
`):N,ae=B.length<N.length;return C({output:B,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(B,"utf8"),debugBypass:!0,...ae?{droppedTail:t}:{}})}let{text:D,droppedTail:M}=Es(t,d,i?{...l,verbosity:"minimal",...d.transform==="smart-read"?{smartCode:!0}:{}}:l),F=!i&&!d.preserve_exact?Ps(D,l.verbosity,d.slug):D,pe=Buffer.byteLength(F,"utf8");return t.trim().length>0&&pe>=s?C({output:t,filterId:d.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):C({output:F,filterId:d.slug,rawBytes:s,filteredBytes:pe,debugBypass:!1,droppedTail:M})}var Oc,yb,bb,kb,_b,rr=g(()=>{"use strict";sl();zn();Rs();Ts();Xl();nc();sc();tn();Jn();cc();fc();Jn();mc();xc();ln();Oc=null;yb=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,bb=2048,kb=8192,_b=32*1024});function xb(){let e=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(e)&&e>0?e:6048e5}function sr(e,t=Date.now()){let n=e.lastHeartbeatOkAt;if(typeof n=="number"&&t-n>xb())return!0;if(e.subEndsAt){let r=Date.parse(e.subEndsAt);if(Number.isFinite(r)&&t>r)return!0}return!1}function or(e,t=Date.now()){return e.plan}var Bs=g(()=>{"use strict"});function cn(e){let t=e;for(let[n,r]of Sb)t=t.replace(n,r);return t}var Sb,zs=g(()=>{"use strict";Sb=[[/(authorization\s*:\s*)([A-Za-z][A-Za-z0-9._-]*)\s+[^\s'"]+/gi,"$1$2 [REDACTED]"],[/(authorization\s*:\s*)[A-Za-z0-9._\-+/=]{8,}/gi,"$1[REDACTED]"],[/(bearer\s+)[A-Za-z0-9._\-+/=]{8,}/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-b|--cookie)[=\s]+['"]?)[^\s'";=]+=[^\s'";]+(?:\s*;\s*[^\s'";=]+=[^\s'";]+)*/gi,"$1[REDACTED]"],[/((?:^|[\s'"])(?:Set-)?Cookie\s*:\s*)[^\s'";=]+=[^\s'";]+(?:\s*;\s*[^\s'";=]+=[^\s'";]+)*/gi,"$1[REDACTED]"],[/(--?(?:password|passwd|passphrase|apipass|pass|pwd|token|api[-_]?key|secret|bearer|cookie|jwt)(?:-[a-z0-9]+)*[=\s]+)\S+/gi,"$1[REDACTED]"],[/((?:^|\s)-b[=\s]?['"]?)[^\s'"=]+=[^\s'"]+/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?[^\s:/'"]*:)(\/[^/\s'"][^\s'"]*|[^\s/'"0-9][^\s'"]*|[0-9][^\s'"]*[^\s'"0-9][^\s'"]*)/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?[^\s:/'"]*[^\s:/'"0-9][^\s:/'"]*:)(?:\/[^/\s'"]|[^\s/'"])[^\s'"]*/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?:)(?:\/[^/\s'"]|[^\s/'"])[^\s'"]*/gi,"$1[REDACTED]"],[/((?:[A-Za-z0-9]+-){0,8}(?:X-Api-Key|Private-Token|[A-Za-z0-9]+-(?:Token|Key|Auth|Secret))\s*:\s*)[^\s'"]+/gi,"$1[REDACTED]"],[/((?:^|[\s'"])(?:Set-)?Cookie\s*:\s*)[^\s'"]+/gi,"$1[REDACTED]"],[/(-i\s+)(\/[^\s]+|~\/[^\s]+|[A-Z]:\\[^\s]+)/g,"$1[REDACTED]"],[/([a-zA-Z][a-zA-Z0-9+.-]{0,31}:\/\/[^:/\s@]*:)[^\s@]+(@[^@/\s]+)/g,"$1[REDACTED]$2"],[/(AWS_(?:ACCESS_KEY_ID|SECRET_ACCESS_KEY|SESSION_TOKEN)\s*=\s*)\S+/g,"$1[REDACTED]"],[/(GOOGLE_APPLICATION_CREDENTIALS\s*=\s*)\S+/g,"$1[REDACTED]"],[/(AZURE_(?:CLIENT_SECRET|TENANT_ID|CLIENT_ID)\s*=\s*)\S+/g,"$1[REDACTED]"],[/(sk-(?:proj-)?[A-Za-z0-9_-]{20,})/g,"sk-[REDACTED]"],[/\b(OPENAI_API_KEY\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(ANTHROPIC_API_KEY\s*=\s*)\S+/g,"$1[REDACTED]"],[/(sk-ant-[A-Za-z0-9_-]{20,})/g,"sk-ant-[REDACTED]"],[/\b(GH(?:_|ITHUB_)?TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(GITLAB_TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(SLACK_(?:BOT_)?TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/(xox[bpsoa]-[A-Za-z0-9-]{10,})/g,"xox[REDACTED]"],[/(xapp-[A-Za-z0-9-]{10,})/g,"[REDACTED]"],[/(sk_(?:test|live)_[A-Za-z0-9]{16,})/g,"sk_[REDACTED]"],[/(gh[a-z])_[A-Za-z0-9]{20,}/g,"$1_[REDACTED]"],[/(github_pat)_[A-Za-z0-9_]{20,}/g,"$1_[REDACTED]"],[/(gl(?:pat|rt|soat|imt|dt|ft|agent|oas|cbt|ptt))-[A-Za-z0-9_-]{16,}/g,"$1-[REDACTED]"],[/(npm_[A-Za-z0-9_-]{20,})/g,"npm_[REDACTED]"],[/(?:AKIA|ASIA|AGPA|AIDA|AROA|ANPA)[0-9A-Z]{16,}/g,"[REDACTED_AWS_KEY]"],[/AIza[A-Za-z0-9_-]{35}/g,"[REDACTED_GOOGLE_KEY]"],[/hv[sb]\.[A-Za-z0-9_-]{20,}/g,"[REDACTED_VAULT_TOKEN]"],[/dop_v1_[A-Za-z0-9]{40,}/g,"[REDACTED]"],[/dckr_pat_[A-Za-z0-9_-]{20,}/g,"[REDACTED]"],[/pypi-[A-Za-z0-9_-]{16,}/g,"[REDACTED]"],[/rk_(?:live|test)_[A-Za-z0-9]{16,}/g,"[REDACTED]"],[/whsec_[A-Za-z0-9]{16,}/g,"[REDACTED]"],[/SG\.[A-Za-z0-9_-]{20,}\.[A-Za-z0-9_-]{20,}/g,"[REDACTED]"],[/(eyJ[A-Za-z0-9_-]{6,}(?:\.[A-Za-z0-9_-]{4,}){1,2})/g,"[REDACTED_JWT]"],[/-----BEGIN [A-Z ]*PRIVATE KEY-----(?:[\s\S]*?-----END[^\n]*-----|\r?\n[A-Za-z0-9+/=][A-Za-z0-9+/=\r\n]*)?/g,"[REDACTED_PEM]"],[/\b((?:--?)?[A-Za-z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|PASS|APIKEY|KEY|CRED|CREDS|CREDENTIAL|CREDENTIALS|AUTH|_PWD)[A-Za-z0-9_]*['"]?\s*=\s*)(?:"[^"]*"|'[^']*'|[^"'\s]\S*)/gi,"$1[REDACTED]"],[/\b([A-Za-z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|PASS|APIKEY|KEY|CRED|CREDS|CREDENTIAL|CREDENTIALS|_PWD)[A-Za-z0-9_]*['"]?\s*:\s*)(?:"[^"]*"|'[^']*'|[^\s'",}]+)/gi,"$1[REDACTED]"],[/((?:^|[\s'"{,])['"]?(?:[A-Za-z0-9_]+_)?auth['"]?\s*:\s*)(?:"[^"]*"|'[^']*'|[^\s'",}]+)/gi,"$1[REDACTED]"],[/(\bpwd\s*[=:]\s*)(?:"[^"]*"|'[^']*'|[^/~\s][^\s;'"]*)/gi,"$1[REDACTED]"],[/([=:]\s*["']?)[A-Za-z0-9_\-+/=]{40,}/g,"$1[REDACTED]"]]});import{createHash as jT,randomUUID as vb}from"node:crypto";import{readFile as Ic,writeFile as Pc,mkdir as Eb}from"node:fs/promises";async function Us(){try{let n=(await Ic(Dt(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(n))return n}catch{}await Eb(S(),{recursive:!0});let e=vb();try{return await Pc(Dt(),e,{mode:384,flag:"wx"}),e}catch{try{let t=(await Ic(Dt(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(t))return t}catch{}return await Pc(Dt(),e,{mode:384}),e}}var Zs=g(()=>{"use strict";L()});import{readFile as Tb,writeFile as ZT,mkdir as GT,chmod as JT,rm as WT,rename as KT,readdir as VT}from"node:fs/promises";import{join as Rb}from"node:path";async function Se(){let e=null;try{let t=JSON.parse(await Tb(Rb(S(),$b),"utf8"));typeof t=="object"&&t!==null&&!Array.isArray(t)&&(e=t)}catch{}return e?wt.parse({...Nc,...e}):Nc}var $b,Nc,QT,$t=g(()=>{"use strict";Pe();L();$b="settings-cache.json",Nc=wt.parse({}),QT=wt.partial().extend({filters:wt.shape.filters.removeDefault().partial().optional()})});var Dc=g(()=>{"use strict";L();$t();on();tr()});import{join as Mc}from"node:path";import{appendFileSync as Ab,chmodSync as Cb,existsSync as Ob,mkdirSync as Ib,readFileSync as uR,renameSync as fR,rmdirSync as dR,statSync as Pb,unlinkSync as pR,utimesSync as mR,writeFileSync as hR}from"node:fs";function Fc(){return Mc(S(),"spool")}function Db(e){return Mc(Fc(),`${e}.jsonl`)}function ir(e,t){if(sn())try{Ib(Fc(),{recursive:!0,mode:448});let n=Db(e);if(Ob(n)&&Pb(n).size>=Nb)return;Ab(n,JSON.stringify(t)+`
|
|
89
|
+
`,{mode:384}),Cb(n,384)}catch{return}}var Nb,Gs=g(()=>{"use strict";L();Mt();Zs();Ms();$t();on();Dc();Nb=512*1024});function Jb(e){if(!/[\\/]/.test(e))return e;let t=e.split(/[\\/]/).filter(r=>r.length>0).pop()??"",n=t.toLowerCase().endsWith(".exe")?t.slice(0,-4):t;return Ub.has(n.toLowerCase())?n:""}function Wb(e,t,n){let r=0;for(;e==="git"&&r<n.length&&n[r].startsWith("-");)r+=Gb.has(n[r])?2:1;let s=(n[r]??"").toLowerCase();return t.has(s)?`${e} ${s}`:e}function Lc(e){let t=e.toLowerCase();return t.startsWith("git")||Hb.has(t)}function Js(e){let t=e.trim().split(/\s+/).filter(l=>l.length>0),n=0;for(;n<t.length&&jb.test(t[n]??"");)n+=1;let r=Jb(t[n]??"");if(!r||!Fb.test(r)||r.length>zb)return"";let s=Zb.get(r.toLowerCase());if(s)return Wb(r.toLowerCase(),s,t.slice(n+1));if(Lc(r)||Bb.test(r)||cn(r)!==r)return"";let o=t[n+1];return o&&Lc(o)?"":(o&&jc.has(r.toLowerCase())&&Lb.test(o)?`${r} ${o}`:r).slice(0,64)}async function ar(e){if(!e.telemetryOptIn)return;let t=Js(e.cmd),n=t&&cn(t)===t?t:"other",r=e.sessionId?e.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";ir("telemetry",{cmd:n,tokensSaved:Math.max(0,Math.round(e.tokensSaved)),...e.tokensRestored?{tokensRestored:Math.max(0,Math.round(e.tokensRestored))}:{},...e.rawTokens!=null?{rawTokens:Math.max(0,Math.round(e.rawTokens))}:{},optimized:e.optimized,...r?{sessionId:r}:{},...e.host?{host:e.host}:{}})}var Fb,Lb,jb,Hb,Bb,zb,jc,Ub,Zb,Gb,lr=g(()=>{"use strict";zs();Gs();Fb=/^[a-z0-9][a-z0-9._-]*$/i,Lb=/^[a-z][a-z-]+$/,jb=/^[A-Za-z_][A-Za-z0-9_]*=/,Hb=new Set(["gh","glab","gup","hub","gist"]),Bb=/^(gh[a-z]_|github_pat_|gl(?:pat|rt|soat|imt|dt|ft|agent|oas)-|npm_|xox|sk-|sk_|eyj|a(?:kia|sia|gpa|ida|roa|npa)|aiza|hv[sb]\.)/i,zb=24,jc=new Set(["docker","podman","npm","pnpm","yarn","npx","bun","deno","cargo","rustup","go","pip","pip3","uv","poetry","brew","apt","apt-get","dnf","yum","pacman","kubectl","helm","terraform","aws","gcloud","az","systemctl","composer","bundle","gem","dotnet","prisma","tkr","rtk","token"]),Ub=new Set([...jc,"git","gh","node","python","python3","bash","sh","zsh","psql","mysql","sqlite3","java","ruby","perl","rg","fd","jq","make","gradle","mvn","vitest","jest","tsc","esbuild","vite","webpack","playwright","rails","rake"]),Zb=new Map([["git",new Set(["status","diff","log","show","blame","ls-files","rev-parse","branch","fetch","pull","push","commit","checkout","switch","merge","rebase","stash","tag","remote","add","reset","restore","clean","grep"])],["gh",new Set(["pr","issue","run","repo","api"])]]),Gb=new Set(["-C","-c"])});async function cr(e){if(e.plan!=="pro"||Vl(e.filterId)||!(await Se()).telemetryOptIn)return;let t=Js(e.cmd);!t||cn(t)!==t||ir("learn",{cmd:t,filterId:e.filterId==null?null:ee(e.filterId),rawBytes:e.rawBytes,filteredBytes:e.filteredBytes})}var Ws=g(()=>{"use strict";lr();zs();Gs();Pe();Rs();$t()});function Hc(e){return e?Kb[e]??"anthropic":"anthropic"}var Kb,Bc=g(()=>{"use strict";Kb={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"}});import{appendFileSync as Vb,chmodSync as qb,mkdirSync as Yb,readFileSync as Jc,realpathSync as Xb,renameSync as Wc,rmSync as Kc,statSync as Vc,writeFileSync as Ks}from"node:fs";import{basename as zc,dirname as qc,join as ur,resolve as Qb,sep as FR}from"node:path";function Yc(){return{n:0,nc:0,r:0,f:0,or:0,of:0,x:0,sn:0,sr:0,sf:0,mr:0,mf:0,rn:0,rb:0,tn:0,tr:0,tf:0,ox:0,t0:null,t1:null,cmds:{},prov:{},rl:{},fb:{}}}function ik(e){let t=e.trim();if(!t)return null;try{let n=JSON.parse(t);return typeof n.t!="number"||!Number.isFinite(n.t)||n.t<0||n.t>864e10||typeof n.r!="number"||!Number.isSafeInteger(n.r)||n.r<0||typeof n.f!="number"||!Number.isSafeInteger(n.f)||n.f<0||n.r+n.f===0?null:{t:n.t,r:n.r,f:n.f,m:n.m===1,...typeof n.h=="string"?{h:n.h}:{},...typeof n.k=="string"?{k:n.k}:{},...typeof n.c=="string"&&n.c?{c:n.c}:{},...typeof n.p=="string"&&n.p?{p:n.p}:{},...typeof n.s=="string"&&n.s?{s:n.s}:{},...typeof n.o=="string"&&sk.has(n.o)?{o:n.o}:{}}}catch{return null}}function ak(e,t){if(!t.c)return;let n=e.cmds[t.c]??{n:0,nc:0,r:0,f:0,sh:!1};n.n+=1,t.f<t.r&&(n.nc+=1,n.rr=(n.rr??0)+t.r,n.rf=(n.rf??0)+t.f),(t.k==="sh"||t.k==="restore")&&(n.sh=!0),t.h==="shell"&&t.k!=="restore"&&(n.tn=(n.tn??0)+1,n.tr=(n.tr??0)+t.r,n.tf=(n.tf??0)+t.f),n.r+=t.r,n.f+=t.f,e.cmds[t.c]=n}function lk(e){return e.s==="b"?`b:${(e.c??"").split(" ")[0]||"other"}`:e.s?.startsWith("u:")?e.s:e.o==="n"?"n":"?"}function ck(e,t){let n=lk(t),r=e.rl[n]??{n:0,nc:0,r:0,f:0};if(r.n+=1,r.r+=t.r,r.f+=t.f,t.f<t.r&&(r.nc+=1),e.rl[n]=r,t.f>=t.r&&t.o){let s=`${t.o} ${t.c??""}`,o=e.fb[s]??{n:0,r:0};o.n+=1,o.r+=t.r,e.fb[s]=o}}function uk(e,t){if(t.m){e.mr+=t.r,e.mf+=t.f;return}if(e.t0=e.t0==null?t.t:Math.min(e.t0,t.t),e.t1=e.t1==null?t.t:Math.max(e.t1,t.t),t.k==="sh"&&t.r>rk){e.ox+=1;return}if(ak(e,t),t.k==="restore"?(e.rn+=1,e.rb+=t.f):ck(e,t),e.n+=1,e.or+=t.r,e.of+=t.f,t.f>t.r&&(e.x+=1),t.h==="shell"&&t.k!=="restore"&&(e.tn+=1,e.tr+=t.r,e.tf+=t.f),t.f<t.r){e.nc+=1,e.r+=t.r,e.f+=t.f,t.k==="sh"&&(e.sn+=1,e.sr+=t.r,e.sf+=t.f);let n=Hc(t.h),r=e.prov[n]??{r:0,f:0};r.r+=t.r,r.f+=t.f,e.prov[n]=r}}function fk(e){let t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function Xc(e){return ur(qc(e),tk)}function dk(e){let t=Xc(e),n;try{n=Jc(t,"utf8")}catch{return{}}try{let r=JSON.parse(n);if(!r.days||typeof r.days!="object")throw new Error("invalid ledger");let s={};for(let[o,i]of Object.entries(r.days))!/^\d{4}-\d{2}-\d{2}$/.test(o)||!i||typeof i!="object"||(s[o]={...Yc(),...i});return s}catch{try{Wc(t,`${t}.corrupt-${Date.now()}`)}catch{}return{}}}function Zc(e,t){let n=`${e}.tmp-${process.pid}`;Ks(n,t,{mode:384}),Wc(n,e)}function pk(e){try{return Ks(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-Vc(e).mtimeMs<nk?!1:(Kc(e,{force:!0}),Ks(e,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function mk(e,t=Uc,n=Uc/2){try{if(Vc(e).size<=t)return}catch{return}let r=`${e}.lock`;if(pk(r))try{let s=Jc(e,"utf8").split(`
|
|
90
|
+
`).filter(c=>c.trim()!==""),o=s.length,i=0;for(;o>0;){let c=Buffer.byteLength(s[o-1])+1;if(i+c>n)break;i+=c,o-=1}let a=dk(e);for(let c of s.slice(0,o)){let u=ik(c);if(!u)continue;let f=fk(u.t),d=a[f]??Yc();uk(d,u),a[f]=d}let l=s.slice(o);Zc(e,l.length?`${l.join(`
|
|
91
91
|
`)}
|
|
92
|
-
`:""),
|
|
93
|
-
`.includes(i)){if(o(),
|
|
94
|
-
`;try{
|
|
95
|
-
`,
|
|
96
|
-
`)}catch{}}function
|
|
92
|
+
`:""),Zc(Xc(e),JSON.stringify({v:1,days:a}))}catch{return}finally{Kc(r,{force:!0})}}function hk(e){let t=Qb(e),n=t,r="";for(;;){try{return ur(Xb(n),r)}catch{}let s=qc(n);if(s===n)return t;r=r?ur(zc(n),r):zc(n),n=s}}function Gc(e){return e.length===0||e[0]==="cd"||e.every(t=>Qc.test(t))}function _k(e){let t=[],n="",r=!1,s=null,o=()=>{r&&t.push(n),n="",r=!1};for(let i of e){if(s){i===s?s=null:n+=i;continue}if(i==="'"||i==='"'){s=i,r=!0;continue}if(i===" "||i===" "){o();continue}if(`|;&<>
|
|
93
|
+
`.includes(i)){if(o(),Gc(t)){t=[];continue}return t}n+=i,r=!0}return o(),Gc(t)?[]:t}function At(e){let t=_k(e).map(a=>a.replace(/^[({]+/,"")).filter(Boolean),n=0;for(;n<t.length;){let a=t[n];if(Qc.test(a)){n+=1;continue}if(gk.has(a)){for(n+=1;n<t.length;){let l=t[n];if(l.startsWith("-")){n+=yk.has(l)?2:1;continue}if(/^\d+(?:\.\d+)?[smhd]?$/.test(l)){n+=1;continue}break}continue}break}if(n>=t.length)return"";let r=t[n],s=r.includes("/")?r.slice(r.lastIndexOf("/")+1):r,o=t[n+1];return(o&&!o.startsWith("-")&&bk.test(o)&&kk.has(s.toLowerCase())?`${s} ${o}`:s).slice(0,24)}function wk(){return ur(S(),ek)}function fr(e,t,n=wk(),r=!1,s,o,i,a,l={}){if(!Number.isSafeInteger(e)||!Number.isSafeInteger(t)||e<0||t<0||e+t===0)return;let c=s?`,"h":${JSON.stringify(s)}`:"",u=o?`,"k":${JSON.stringify(o)}`:"",f=i?`,"c":${JSON.stringify(i.slice(0,24))}`:"",d=a?hk(a):"",p=d&&d.length<=ok?`,"p":${JSON.stringify(d)}`:"",m=l.s?`,"s":${JSON.stringify(l.s.slice(0,66))}`:"",b=l.o?`,"o":${JSON.stringify(l.o)}`:"",y=`{"t":${Math.floor(Date.now()/1e3)},"r":${e},"f":${t}${r?',"m":1':""}${c}${u}${f}${p}${m}${b}}
|
|
94
|
+
`;try{Yb(S(),{recursive:!0,mode:448}),Vb(n,y,{mode:384}),qb(n,384),mk(n)}catch{return}}function dr(e){let t=e.filterId==null?void 0:e.filterId.startsWith("user/")?`u:${e.filterId.slice(5)}`:"b",n=e.filteredBytes<e.rawBytes?void 0:e.filterId==null?"n":e.debugBypass?"e":"g";return{...t?{s:t}:{},...n?{o:n}:{}}}function pr(e,t,n){let r=n!=null?Math.min(e,n):e,s=n!=null?Math.min(t,n):t;return{raw:r,filtered:s}}var ek,tk,Uc,nk,rk,sk,ok,gk,yk,bk,kk,Qc,Vs=g(()=>{"use strict";L();Bc();ek="stats.jsonl",tk="stats-ledger.json",Uc=2*1024*1024,nk=3e4,rk=3e4,sk=new Set(["n","g","e"]),ok=256;gk=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),yk=new Set(["-u","-g","-n","-s","-k"]),bk=/^[a-z0-9][a-z0-9._-]*$/i,kk=new Set(["git","npm","pnpm","yarn","npx","docker","kubectl","helm","cargo","go","brew","gh","pip","pip3","apt","apt-get","systemctl","terraform","aws","gcloud","az","bundle","rake","rails","prisma","poetry","uv","gem","composer"]),Qc=/^[A-Za-z_][A-Za-z0-9_]*=/});import{existsSync as WR,realpathSync as xk}from"node:fs";import{basename as VR,delimiter as eu,join as qR,dirname as YR}from"node:path";function tu(e){try{return xk(e)}catch{return e}}function nu(){let e=gn(),t={...process.env},n=process.platform==="win32"?"Path":"PATH",r=t[n]??t.PATH??"",s=tu(e),o=r.split(eu).filter(i=>i&&i!==e&&tu(i)!==s);return t[n]=o.join(eu),n==="Path"&&(t.PATH=t[n]),t}var ru=g(()=>{"use strict";Ft();Ee();L();Rn();jt();Rr();jt()});function qs(e){return JSON.stringify(e)+mr}function*ou(e){let t=0;for(;;){let n=e.indexOf(mr,t);if(n<0)return;yield e.slice(t,n),t=n+1}}function un(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}var Sk,vk,Ek,Tk,l$,c$,u$,su,mr,f$,iu=g(()=>{"use strict";kt();Yt();Sk=k.object({id:k.string().min(1).max(64),op:k.literal("filter"),cmd:k.string().min(1).max(2048),plan:k.enum(["trial","smart","pro"]),allowed:k.array(k.string().min(1).max(64)).max(512).optional(),installId:k.string().min(1).max(64).optional()}),vk=k.object({id:k.string().min(1).max(64),op:k.literal("ping")}),Ek=k.object({id:k.string().min(1).max(64),op:k.literal("shutdown"),installId:k.string().min(1).max(64)}),Tk=k.object({id:k.string().min(1).max(64),op:k.literal("reload"),installId:k.string().min(1).max(64).optional()}),l$=k.discriminatedUnion("op",[Sk,vk,Ek,Tk]),c$=k.object({id:k.string(),ok:k.literal(!0),data:k.unknown()}),u$=k.object({id:k.string(),ok:k.literal(!1),err:k.string(),retryAfterMs:k.number().int().nonnegative().optional()}),su=k.object({filter:Ie.nullable(),cacheHit:k.boolean().optional()}),mr=`
|
|
95
|
+
`,f$=64*1024});import Rk from"node:os";import{join as fn}from"node:path";import{existsSync as $k,statSync as Ak,lstatSync as au,unlinkSync as Ck,mkdirSync as Ok,chmodSync as Ik}from"node:fs";import{createHash as Pk}from"node:crypto";function Nk(e){let t=Pk("sha256").update(S()).digest("hex").slice(0,8),n=fn(Rk.tmpdir(),`tkr-${e}-${t}`),r=fn(n,"d.sock");if(Buffer.byteLength(r)>Ys)throw new Error("Temporary directory path is too long for IPC");return lu(n,e),r}function Dk(e,t){try{let n=au(e);return n.isDirectory()&&n.uid===t&&(n.mode&63)===0}catch{return!1}}function lu(e,t){Ok(e,{recursive:!0,mode:448});let n=au(e);if(!n.isDirectory()||n.uid!==t)throw new Error("Unsafe IPC directory");Ik(e,448)}function dn(){if(process.platform==="win32")return{path:`\\\\.\\pipe\\tokmizer-${process.env.USERNAME??"tokmizer"}`,isPipe:!0};let e=typeof process.getuid=="function"?process.getuid():0,t=process.env.XDG_RUNTIME_DIR;if(t&&Dk(t,e)){let s=fn(t,`tokmizer-${e}.sock`);if(Buffer.byteLength(s)<=Ys)return{path:s,isPipe:!1}}let n=fn(S(),"run"),r=fn(n,"daemon.sock");return Buffer.byteLength(r)>Ys?{path:Nk(e),isPipe:!1}:(lu(n,e),{path:r,isPipe:!1})}async function Xs(){let{path:e,isPipe:t}=dn();if(t||!$k(e))return;try{if(!Ak(e).isSocket())return}catch{return}let n=await import("node:net");if(!await new Promise(s=>{let o=n.createConnection(e),i=a=>{o.removeAllListeners();try{o.destroy()}catch{}s(a)};o.once("connect",()=>i(!0)),o.once("error",a=>{let l=a.code;i(l!=="ECONNREFUSED"&&l!=="ENOENT")}),setTimeout(()=>i(!0),250)}))try{Ck(e)}catch{}}var Ys,b$,cu=g(()=>{"use strict";L();Ys=100;b$=5*6e4});import{createConnection as Mk}from"node:net";import{spawn as Fk}from"node:child_process";import{existsSync as du,openSync as Qs,closeSync as uu,unlinkSync as to,writeFileSync as no,mkdirSync as ro,readFileSync as Lk,appendFileSync as jk,rmSync as Hk,statSync as Bk}from"node:fs";import{dirname as zk,join as so}from"node:path";import{fileURLToPath as Uk}from"node:url";function oo(){return so(S(),"daemon.spawn.fail")}function io(){return so(S(),"daemon.log")}function Wk(){try{let e=Number(Lk(oo(),"utf8"));return Number.isFinite(e)&&Date.now()-e<Gk}catch{return!1}}function Kk(e){try{ro(S(),{recursive:!0});let t=io();try{Bk(t).size>Jk&&to(t)}catch{}jk(t,`${new Date().toISOString()} ${e}
|
|
96
|
+
`)}catch{}}function Vk(e){try{ro(S(),{recursive:!0}),no(oo(),String(Date.now()))}catch{}Kk(`spawn failed: ${e.message}`)}function qk(){try{Hk(oo(),{force:!0})}catch{}}async function hr(e,t){return new Promise((n,r)=>{let s=Mk(e),o=a=>{if(s.removeAllListeners("connect"),s.removeAllListeners("error"),clearTimeout(i),a){try{s.destroy()}catch{}r(a)}else n(s)},i=setTimeout(()=>o(new Error("connect timeout")),t);s.once("connect",()=>o(null)),s.once("error",a=>o(a))})}function Yk(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:Uk(new URL("../bin/tkr-daemon.js",import.meta.url))}async function eo(e,t=3e3){let n=Math.ceil(t/75),r=process.platform==="win32";for(let s=0;s<n;s++){if(r)try{return(await hr(e,75)).destroy(),!0}catch{}else if(du(e))return!0;await new Promise(o=>setTimeout(o,75))}return!1}async function Xk(e){let t=Yk();if(!he()&&!du(t))throw new Error(`tkr-daemon binary not found at ${t}`);let{path:n}=dn(),r=process.platform==="win32"?S():zk(n);try{ro(r,{recursive:!0})}catch{}let s=so(r,"daemon.spawn.lock"),o=null;try{o=Qs(s,"wx"),no(o,String(process.pid))}catch(i){if(i.code==="EEXIST"){if(await eo(n,5e3))return;try{to(s)}catch{}try{o=Qs(s,"wx"),no(o,String(process.pid))}catch(l){if(l.code==="EEXIST"){await eo(n,5e3);return}throw l}}else throw i}try{let i=null;try{i=Qs(io(),"a")}catch{}let[a,...l]=Lt(t);if(Fk(a,l,{detached:!0,stdio:["ignore","ignore",i??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:e}}).unref(),i!==null)try{uu(i)}catch{}if(!await eo(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(o!==null){try{uu(o)}catch{}try{to(s)}catch{}}}}async function Qk(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:dn(),n=await Us();try{let r=await hr(t,pu);r.write(qs({id:un(),op:"shutdown",installId:n})),await new Promise(s=>setTimeout(s,150));try{r.destroy()}catch{}return!0}catch{return!1}}async function e0(e,t){let n=Date.now()+t;for(;Date.now()<n;){try{(await hr(e,250)).destroy()}catch{return!0}await new Promise(r=>setTimeout(r,100))}return!1}async function ao(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:dn(),n=await Us(),r=null,s=0,o=!1;for(;s<=fu;)try{r=await hr(t,pu),qk();break}catch{if(s+=1,s>fu)throw new Error(`tkr-daemon unreachable at ${t}`);if(Wk())throw new Error(`tkr-daemon spawn on cooldown (see ${io()})`);await Xs();try{await Xk(n),o=!0}catch(u){throw Vk(u),u}}if(!r)throw new Error("tkr-daemon: socket setup failed");let i=new Map,a="";r.setEncoding("utf8"),r.on("data",u=>{a+=u;let f=-1;for(let p=0;p<a.length;p++)a[p]===mr&&(f=p);if(f<0)return;let d=[];for(let p of ou(a.slice(0,f+1)))d.push(p);a=a.slice(f+1);for(let p of d)if(p)try{let m=JSON.parse(p),b=i.get(m.id);if(!b)continue;clearTimeout(b.timer),i.delete(m.id),b.resolve(m)}catch{}}),r.on("close",()=>{for(let u of i.values())clearTimeout(u.timer),u.reject(new Error("daemon socket closed"));i.clear()}),r.on("error",()=>{});function l(u){return new Promise((f,d)=>{if(r.destroyed||!r.writable){d(new Error("daemon socket closed"));return}let p=setTimeout(()=>{i.delete(u.id),d(new Error(`daemon request timeout (${u.op})`))},Zk);i.set(u.id,{resolve:f,reject:d,timer:p}),r.write(qs(u))})}let c={filter:async(u,f,d)=>{let p=await l({id:un(),op:"filter",cmd:u.slice(0,2048),plan:f,...d&&d.length>0?{allowed:d.slice(0,512)}:{},installId:n});if(!p.ok)return null;let m=su.safeParse(p.data);return m.success?m.data.filter:null},ping:async()=>{let u=await l({id:un(),op:"ping"});if(!u.ok)throw new Error(u.err);return u.data},reload:async()=>{let u=await l({id:un(),op:"reload",installId:n});if(!u.ok)throw new Error(u.err);return u.data},close:()=>{try{r.destroy()}catch{}}};if(!e.skipVersionCheck&&!o){let u=!1;try{let f=await c.ping();if(f.version&&Sc(rn,f.version))throw new Error(`newer daemon ${f.version} already running`);u=f.version!==rn}catch(f){throw c.close(),f}if(u){try{await Qk(e.socketPath?{socketPath:e.socketPath}:{})}catch{}c.close();let f=await e0(t,2e3);if(await Xs(),!f)throw new Error("stale daemon still running after shutdown request");return ao({...e,skipVersionCheck:!0})}}return c}var pu,Zk,fu,Gk,Jk,mu=g(()=>{"use strict";iu();cu();L();Ee();Zs();tr();pu=500,Zk=3e3,fu=1,Gk=6e4,Jk=256*1024});async function t0(){if(Ct)return Ct;if(pn)return pn;let e=ao().then(t=>{if(pn===e)return Ct=t,t;try{t.close()}catch{}return null}).catch(()=>null);return pn=e,e}async function n0(){return co||(co=!0,lo=await Ac()??nr()),lo}async function hu(e,t,n){let r=await n0();if(!r)return null;let s=r.selectFor(e,t,n?[...n]:void 0);return!s||n&&!n.has(ee(s.slug))?null:s}function r0(e){return e?{...e,matchRegex:new RegExp(e.match_command)}:null}function gr(e){Hs(async(t,n)=>{let r=e==="free"?"trial":e,s=n??Tt(void 0),o=await t0();if(!o)return hu(t,r,s);try{let i=await o.filter(t,r,s?[...s]:void 0);return!i||s&&!s.has(ee(i.slug))?null:r0(i)}catch{return hu(t,r,s)}})}function yr(){if(Hs(null),Ct)try{Ct.close()}catch{}Ct=null,pn=null,lo=null,co=!1}var Ct,pn,lo,co,uo=g(()=>{"use strict";mu();rr();Pe();js();ln();Ct=null,pn=null;lo=null,co=!1});import{chmod as s0,mkdir as o0,readFile as H$,writeFile as gu,stat as B$,readdir as z$,rm as yu,rename as i0}from"node:fs/promises";import{readFileSync as a0}from"node:fs";import{createHash as l0}from"node:crypto";function p0(){try{let e=JSON.parse(a0(Ao(),"utf8")),t=e.maxAgeDays;return{...typeof t=="number"&&Number.isFinite(t)&&t>0?{maxAgeDays:Math.min(t,365)}:{},...e.disabled===!0?{disabled:!0}:{}}}catch{return{}}}function m0(e,t,n=process.env){let r=Number(n[e]);return Number.isFinite(r)&&r>0?r:t}function h0(e){return`${Er(e)}${d0}`}function g0(e){return e===""?[]:(e.endsWith(`
|
|
97
97
|
`)?e.slice(0,-1):e).split(`
|
|
98
|
-
`)}async function
|
|
99
|
-
[tkr restore ${i}]`;if(Buffer.byteLength(e,"utf8")<=Buffer.byteLength(s("0".repeat(16)),"utf8"))return t;if(r.raw){let i=await
|
|
100
|
-
[tkr restore ${s}]`:t}var
|
|
101
|
-
`)});var
|
|
98
|
+
`)}async function y0(e,t,n=process.env,r={}){if(ye()||!f0.test(e))return!1;let s=Buffer.byteLength(t,"utf8");if(s>m0("TOKMIZER_CCR_ENTRY_MAX_BYTES",u0,n))return!1;let o=Er(e),i=`${o}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{if(await o0(vr(),{recursive:!0}),ye())return!1;if(await gu(i,t,{mode:384}),await s0(i,384),ye())return await yu(i,{force:!0}),!1;await i0(i,o)}catch{try{await yu(i)}catch{}return!1}let a={at:Date.now(),bytes:s,lines:g0(t).length,partial:r.partial===!0,...r.label?{label:r.label.slice(0,40)}:{}};try{await gu(h0(e),JSON.stringify(a),{mode:384})}catch{}return!0}function bu(e){let t=e.TOKMIZER_CCR_DISABLED;return t==="1"||t==="true"||ye()||p0().disabled===!0}async function fo(e,t,n,r){let s=l0("sha256").update(e).digest("hex").slice(0,16);return await y0(s,e,r,{partial:t,label:n})?s:null}async function mn(e,t,n=process.env,r={}){if(bu(n)||!e)return t;let s=i=>`
|
|
99
|
+
[tkr restore ${i}]`;if(Buffer.byteLength(e,"utf8")<=Buffer.byteLength(s("0".repeat(16)),"utf8"))return t;if(r.raw){let i=await fo(r.raw,!1,r.label,n);if(i)return`${t}${s(i)}`}let o=await fo(e,!0,r.label,n);return o?`${t}${s(o)}`:t}async function br(e,t,n=process.env,r={}){if(bu(n)||!e)return t;let s=await fo(e,!1,r.label,n);return s?`${t}
|
|
100
|
+
[tkr restore ${s}]`:t}var c0,W$,K$,u0,f0,d0,V$,po=g(()=>{"use strict";L();An();c0=1440*60*1e3,W$=30*c0,K$=200*1024*1024,u0=8*1024*1024,f0=/^[0-9a-f]{8,64}$/i,d0=".meta",V$=["usage: tkr restore <hash> [--lines a:b] [--grep pattern]"," tkr restore --list"," tkr restore --grep <pattern>",""].join(`
|
|
101
|
+
`)});var Eu={};Pt(Eu,{CAPTURING_ENV:()=>ho,kickBackgroundEnroll:()=>wu,processCapturedOutput:()=>vu,resolveExecTimeoutMs:()=>xu,runWrapped:()=>A0,signalNumber:()=>Su,underCapturingExec:()=>T0});import{existsSync as b0,readFileSync as k0,writeFileSync as _0,mkdirSync as w0}from"node:fs";import{join as x0}from"node:path";import{fileURLToPath as S0}from"node:url";import{StringDecoder as v0}from"node:string_decoder";function T0(e=process.env){return e[ho]==="1"}function _u(e,t){let n=new v0("utf8"),r=n.write(Buffer.concat(e));return t?r:r+n.end()}function wu(){try{if(!sn())return;let e=process.env.TOKMIZER_TKR_BIN||S0(new URL("../bin/tkr.js",import.meta.url));if(!he()&&!b0(e))return;let t=x0(S(),"enroll-kick");try{let o=Number(k0(t,"utf8"));if(Number.isFinite(o)&&Date.now()-o<E0)return}catch{}w0(S(),{recursive:!0}),_0(t,String(Date.now()));let[n,...r]=Lt(e);(0,mo.default)(n,[...r,"heartbeat"],{detached:!0,stdio:"ignore"}).unref()}catch{}}function xu(e){let t=Number(e.TOKMIZER_EXEC_TIMEOUT_MS);if(Number.isFinite(t)&&t>0)return t;let n=Number(e.BASH_MAX_TIMEOUT_MS);return Number.isFinite(n)&&n>6e5?n:6e5}function Su(e){return $0[e]??15}async function A0(e){let[t,...n]=e;if(!t)throw new Error("tkr-exec: missing command");let r=ye(),s=(0,mo.default)(t,n,{stdio:["inherit","pipe","pipe"],env:{...nu(),[ho]:"1"}}),o=!1;s.on("spawn",()=>{o=!0});let i=C=>{try{s.kill(C)}catch{}},a=()=>i("SIGINT"),l=()=>i("SIGTERM");process.on("SIGINT",a),process.on("SIGTERM",l);let c=[],u=[],f=0,d=0,p=!1,m=!1;s.stdout?.on("data",C=>{if(f>=Ot){p=!0;return}let D=Ot-f,M=C.length>D?C.subarray(0,D):C;c.push(M),f+=M.length,C.length>D&&(p=!0)}),s.stderr?.on("data",C=>{if(d>=Ot){m=!0;return}let D=Ot-d,M=C.length>D?C.subarray(0,D):C;u.push(M),d+=M.length,C.length>D&&(m=!0)});let b,y,$;try{$=await new Promise((C,D)=>{s.on("error",M=>{b&&clearTimeout(b),o?C(1):D(M)}),s.on("close",(M,F)=>{b&&clearTimeout(b),C(M??(F?128+Su(F):0))}),b=setTimeout(()=>{s.kill("SIGTERM"),y=setTimeout(()=>s.kill("SIGKILL"),2e3)},R0),b.unref?.()})}finally{b&&clearTimeout(b),y&&clearTimeout(y),process.off("SIGINT",a),process.off("SIGTERM",l)}let T=_u(c,p),P=_u(u,m);return vu({argv:e,stdout:T,stderr:P,exitCode:$,truncated:p,stderrTruncated:m},{yolo:r,env:process.env,onMissingState:wu})}async function vu({argv:e,stdout:t,stderr:n,exitCode:r,truncated:s,stderrTruncated:o},{yolo:i,env:a,resolver:l,onMissingState:c,deferAccounting:u,...f}){let d=s?`
|
|
102
102
|
\u2026 (output truncated at ${Ot/1048576}MB)`:"",p=o?`
|
|
103
|
-
\u2026 (stderr truncated at ${Ot/(1024*1024)}MB)`:"",m=()=>{let
|
|
104
|
-
`)){let[c,u,f]=l.split(" ");if(c===o&&u===i)return{cmd:f??""}}
|
|
105
|
-
`,{mode:384}),
|
|
106
|
-
`||a==="|"){i(a,1);continue}}r+=a,s+=1}return o(),n}function
|
|
107
|
-
`).filter(i=>r.has(i)||
|
|
103
|
+
\u2026 (stderr truncated at ${Ot/(1024*1024)}MB)`:"",m=()=>{let b=t+d,y=Buffer.byteLength(b,"utf8");return{stdout:b,stderr:n+p,code:r,filterId:null,rawBytes:y,filteredBytes:y,truncated:s}};try{let b=await Le();b||c?.();let y=await Se();if(!y.enabled)return m();let $=a.CLAUDE_CODE_SESSION_ID;$&&b?.token&&$n($,{tool:"Bash",target:e.join(" "),...r!==0?{fail:1}:{}});let T=b?or(b):null,P=b?Tt(b.allowedFilters,sr(b)):null,C=new Set(y.filters.disabled.map(ee)),D=P&&C.size>0?new Set([...P].filter(J=>!C.has(J))):P,M=e.join(" ");b&&!l&&gr(T);let F=await Rt(M,t,D,{verbosity:y.outputVerbosity,resolver:l,yolo:i,exitCode:r}),pe=n,N=0,B=0;if((i||r===0)&&Buffer.byteLength(n,"utf8")>=(i?1:ku)){let J=await Rt(M,n,D,{verbosity:y.outputVerbosity,resolver:l,yolo:i,exitCode:r});pe=J.output,N=J.rawBytes,B=J.filteredBytes}else if(!i&&r!==0&&Buffer.byteLength(n,"utf8")>=ku){let J=await Rt(M,n,D,{verbosity:y.outputVerbosity,resolver:l,exitCode:r});if(J.failureSummary){try{pe=await mn(J.droppedTail??null,J.output,a)}catch{pe=J.output}N=J.rawBytes,B=J.filteredBytes}}let ae=F.output;if(!i&&F.filteredBytes<F.rawBytes)try{ae=new RegExp(Un.source,"m").test(F.output)?await br(t,F.output,a,{label:At(M)}):await mn(F.droppedTail??null,F.output,a,{raw:s?null:t,label:At(M)})}catch{}let De=ae+d,me=pe+p,ot=Tn(a).host,Me=pr(F.rawBytes+Buffer.byteLength(n,"utf8"),Buffer.byteLength(De,"utf8")+Buffer.byteLength(me,"utf8"),En(ot)),hn=!1,it=async()=>{if(!hn){hn=!0;try{fr(Me.raw,Me.filtered,void 0,!1,ot,"sh",At(M),"cwd"in f?f.cwd:process.cwd(),dr(F)),await cr({cmd:M,filterId:F.filterId,rawBytes:F.rawBytes,filteredBytes:F.filteredBytes,plan:T}),await ar({cmd:M,tokensSaved:Math.max(0,Math.round((Me.raw-Me.filtered)/4)),rawTokens:Math.round(Me.raw/4),optimized:F.filterId!=null,telemetryOptIn:y.telemetryOptIn&&(!u||(await Se()).telemetryOptIn),sessionId:$,host:ot})}catch{}}};return u?u(it):await it(),{stdout:De,stderr:me,code:r,filterId:F.filterId,rawBytes:F.rawBytes+N,filteredBytes:F.filteredBytes+B,truncated:s}}catch{return m()}finally{l||yr()}}var mo,Ot,ku,E0,ho,R0,$0,Tu=g(()=>{"use strict";mo=qu(Ca(),1);rr();Pe();ln();Mt();L();Bs();Ws();lr();Vs();zr();$t();Rn();ru();uo();po();vt();An();Ee();on();Ot=10*1024*1024,ku=1024,E0=6e4,ho="TOKMIZER_EXEC_CAPTURING";R0=xu(process.env),$0={SIGHUP:1,SIGINT:2,SIGQUIT:3,SIGILL:4,SIGTRAP:5,SIGABRT:6,SIGBUS:7,SIGFPE:8,SIGKILL:9,SIGUSR1:10,SIGSEGV:11,SIGUSR2:12,SIGPIPE:13,SIGALRM:14,SIGTERM:15}});var go={};Pt(go,{FOLD_MARKER_RE:()=>Un,captureForRestore:()=>mn,captureOriginalForRestore:()=>br,closeDaemonResolver:()=>yr,countedSaving:()=>pr,gatingPlan:()=>or,graceExceeded:()=>sr,installDaemonResolver:()=>gr,loadSettingsCache:()=>Se,processOutput:()=>Rt,recordEvent:()=>cr,recordStat:()=>fr,recordTelemetry:()=>ar,resolveAllowedFilters:()=>Tt,statCmdLabel:()=>At,statOutcome:()=>dr});var yo=g(()=>{"use strict";rr();po();vt();ln();Bs();Ws();lr();Vs();uo();$t()});function Eo(e=5e3){return new Promise(t=>{let n=[],r=process.stdin,s=!1,o=()=>{s||(s=!0,clearTimeout(a),r.off("data",i),r.pause(),r.unref?.(),t(Buffer.concat(n).toString("utf8")))},i=l=>{n.push(Buffer.isBuffer(l)?l:Buffer.from(l))},a=setTimeout(o,e);r.on("data",i).once("end",o).once("error",o),r.resume()})}import{realpathSync as To}from"node:fs";import{fileURLToPath as Yu,pathToFileURL as Xu}from"node:url";var Ro=null;function $o(e,t,n){if(n!==void 0&&Ro===n)return!0;if(Ro!==null||!e)return!1;if(t===Xu(e).href)return!0;try{return To(e)===To(Yu(t))}catch{return!1}}L();Mt();Rn();zr();import{existsSync as C0,writeFileSync as O0,appendFileSync as I0,statSync as P0,constants as Ru}from"node:fs";import{lstat as N0,open as D0}from"node:fs/promises";import{basename as M0,dirname as F0,isAbsolute as L0,join as Iu}from"node:path";L();jt();import{readFileSync as Wd}from"node:fs";import{join as Kd}from"node:path";function Ci(){if(Oo())return!1;try{return JSON.parse(Wd(Kd(S(),"settings-cache.json"),"utf8")).enabled!==!1}catch{return!0}}L();import{createHash as Vd}from"node:crypto";import{appendFileSync as qd,chmodSync as Yd,mkdirSync as Xd,readFileSync as Qd,rmSync as ep,statSync as tp}from"node:fs";import{join as Oi}from"node:path";var np=256*1024,rp=80;function sp(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Oi(S(),"sessions",`${t}.seen`)}function Ur(e){return e.replace(/[\t\r\n]+/g," ").trim().slice(0,rp)}function Zr(e,t,n,r){try{let s=sp(e),o=Ur(t),i=Vd("sha256").update(n).digest("hex").slice(0,32),a="";try{a=Qd(s,"utf8")}catch{}for(let l of a.split(`
|
|
104
|
+
`)){let[c,u,f]=l.split(" ");if(c===o&&u===i)return{cmd:f??""}}Xd(Oi(S(),"sessions"),{recursive:!0,mode:448}),qd(s,`${o} ${i} ${Ur(r)}
|
|
105
|
+
`,{mode:384}),Yd(s,384),tp(s).size>np&&ep(s,{force:!0})}catch{}return null}function Gr(e,t){return`[same output as \`${Ur(e)}\` earlier in this session, unchanged, ~${Math.round(t/4)} tokens]`}An();function G(e,t){let n=e[t];return typeof n=="string"&&n?n:null}function Gt(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function ap(e){return G(e,"prompt_id")||G(e,"scratchpad_dir")?!0:Gt(e.effort)}function lp(e){return G(e,"tool_use_id")?.startsWith("toolu_")===!0||/^claude/i.test(G(e,"model")??"")}var cp=new Set(["BeforeTool","AfterTool","BeforeAgent","AfterAgent","BeforeModel","AfterModel","BeforeToolSelection"]),up=new Set(["preToolUse","postToolUse","beforeShellExecution","afterShellExecution","beforeSubmitPrompt","sessionStart","sessionEnd","stop"]),fp=new Set(["pre_tool","post_tool"]),dp=new Set(["before_tool_call","after_tool_call"]),pp=new Set(["runTerminalCommand","run_in_terminal"]),mp=[["codex",e=>G(e,"turn_id")!==null],["claude-code",ap],["cursor",e=>G(e,"cursor_version")!==null||G(e,"generation_id")!==null||G(e,"conversation_id")!==null||Array.isArray(e.workspace_roots)||up.has(G(e,"hook_event_name")??"")],["gemini-cli",e=>cp.has(G(e,"hook_event_name")??"")],["qwen-code",e=>e.hook_event_name==="PreToolUse"&&e.tool_name==="run_shell_command"],["vibe",e=>fp.has(G(e,"hook_event_name")??"")],["antigravity",e=>Gt(e.toolCall)],["copilot",e=>G(e,"toolName")!==null&&"toolArgs"in e||pp.has(G(e,"tool_name")??"")],["grok",e=>e.toolName==="run_terminal_command"||e.tool_name==="run_terminal_command"||Gt(e.toolInput)&&!("toolArgs"in e)],["droid",e=>e.tool_name==="Execute"],["trae",e=>e.tool_name==="RunCommand"],["crush",e=>e.hook_event_name===void 0&&G(e,"event")!==null&&!dp.has(G(e,"event"))]],hp=new Set(["codex","antigravity"]);function gp(e){return Gt(e)?mp.filter(([,t])=>t(e)).map(([t])=>t):[]}function yp(e,t){if(!Gt(e))return null;let n=gp(e);return n.length>1?null:n.length===1?n[0]:lp(e)&&hp.has(t)?"claude-code":t==="codex"?null:t}function Ii(e,t){let n=yp(e,t);return n==="claude-code"||n==="codex"?n:null}L();var Ox=2*1024*1024;Ee();L();var Px=4*1024*1024;var kp=new Set(["tkr","tkr-exec","token","claude","cd","export","source","echo","mkdir","rm","mv","cp","chmod","ln","true","false",":","test","[","exit","return","nohup","sudo","doas","env"]),_p=new Set(["for","while","until","if","then","else","elif","fi","do","done","case","esac","select","function","time","coproc","in","!","[[","]]","{","}",".","declare","typeset","local","readonly","unset","set","shift","trap","wait","read","eval","exec","break","continue","pushd","popd","dirs","alias","unalias","hash","ulimit","umask","getopts","let","shopt","builtin","command","compgen","complete","disown","suspend","jobs","fg","bg","kill","history","fc","bind","enable","caller","type","printf","pwd","times","logout","mapfile","readarray","help","which","print","whence","where","autoload","zmodload","setopt","unsetopt","emulate","noglob","rehash","functions","bindkey","zle","vared","sched","limit","unlimit","zstyle","zparseopts","ttyctl"]),Pi=new Set(["sh","bash","zsh","dash","ksh","fish","python","python3","python2","node","ruby","perl","php","awk","sed","deno","bun"]),Ni="(?:dev|start|serve|watch|preview)",wp=new RegExp(`^(?:\\S*/)?(?:bun\\s+(?:install|i|add|remove|rm|update|outdated|audit|test|build|pm|x)(?:\\s|$)|bun\\s+run\\s+(?!${Ni}(?:\\s|$))[A-Za-z0-9:_-]+(?:\\s|$)|deno\\s+(?:test|lint|fmt|check|compile|install|info|doc|bench|outdated)(?:\\s|$)|deno\\s+task\\s+(?!${Ni}(?:\\s|$))[A-Za-z0-9:_-]+(?:\\s|$)|php\\s+-l(?:\\s|$)|php\\s+(?:\\S*/)?(?:phpunit|pest|paratest|phpstan|pint|ecs|php-cs-fixer|psalm|rector|run-tests\\.php)(?:\\s|$)|php\\s+artisan\\s+(?!(?:serve|tinker|queue:work|queue:listen|horizon|octane:start|reverb:start|schedule:work|pail|dev)(?:\\s|$))\\S)`),xp=/(?:^|\s)--watch(?:\s|=|$)/;function Sp(e){return wp.test(e)&&!xp.test(e)}var vp=/^((?:\S*\/)?(sh|bash|zsh|dash|ksh|fish)\s+(-[elux]*c[elux]*)\s+)(['"])/,Ep=/[()$]|(?:^|[;&|\n]\s*)(?:and|or|not|begin|end|if|else|switch|case|while|for|function|return)(?:\s|;|$)/,Tp=3;function Rp(e){let t=vp.exec(e);if(!t)return null;let n=t[2]==="fish";if(n&&t[3]!=="-c")return null;let r=t[4],s=t[1].length+1,o=e.indexOf(r,s);if(o<=s)return null;let i=e.slice(o+1);if(i&&!/^\s/.test(i))return null;let a=e.slice(s,o);return r==='"'&&/[$`\\!]/.test(a)||n&&Ep.test(a)?null:{script:a,start:s,end:o,quote:r}}var $p=new Set(["cd","export","set","unset","source",".","true",":","pushd","popd"]);function Ap(e){return Jt(e).filter(n=>{if(n.kind!=="cmd"||n.unsafe)return!1;let r=Hi(n.text);return r!==""&&!$p.has(r)&&!Fi.test(r)}).length>1}function Cp(e,t,n,r,s){if(n>=Tp)return null;let o=Rp(e);if(!o)return null;let{script:i,start:a,end:l,quote:c}=o,u=[],f=zi(i,t,n+1,r,b=>u.push(b));if(f===i||c==='"'&&/["$`]/.test(f))return null;let d=c==="'"?f.replace(/'/g,"'\\''"):f,p=`${e.slice(0,a)}${d}${e.slice(l)}`,m=Ap(i);if(s)for(let b of m?[e,...u]:u)s(b);return m?`${t} ${p}`:p}var Di=/(?:^|\s)(?:--follow|-[0-9a-zA-Z]*f[a-zA-Z]*)(?:\s|=|$)/,Op=new Set(["docker","podman","kubectl","nerdctl","docker-compose","stern","flyctl"]);function Ip(e,t){let n=Li(t);return n==="tail"||n==="journalctl"?Di.test(e):n==="stern"?!0:Op.has(n)?/\blogs?\b/.test(e)&&Di.test(e):!1}var Fi=/^[A-Za-z_][A-Za-z0-9_]*\+?=/,Pp=/^[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/,Np=/(?:^|[;&|\n({])\s*[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/;function Li(e){let t=e.lastIndexOf("/");return t===-1?e:e.slice(t+1)}function ji(e){let t=new Array(e.length).fill(!1),n=[],r=0;for(;r<e.length;){let s=e[r],o=e[r+1],i=n[n.length-1];if(i==="'"){s==="'"&&n.pop(),r+=1;continue}if(s==="\\"){if(o===void 0)return null;r+=2;continue}if(i==="$'"){s==="'"&&n.pop(),r+=1;continue}if(s==="$"&&(o==="("||o==="{")){n.push(o==="("?")":"}"),r+=2;continue}if(s==="`"){i==="`"?n.pop():n.push("`"),r+=1;continue}if(i==='"'){s==='"'&&n.pop(),r+=1;continue}if(s==="$"&&o==="'"){n.push("$'"),r+=2;continue}if(s==="'"||s==='"'){n.push(s),r+=1;continue}if(s==="("||s==="{"&&i==="}"){n.push(s==="("?")":"}"),r+=1;continue}if(s===i){n.pop(),r+=1;continue}if(s===")"&&i===void 0)return null;t[r]=i===void 0,r+=1}return n.length===0?t:null}function Mi(e){let t=ji(e);if(!t)return!0;for(let n=0;n<e.length;n++)if(t[n]&&e[n]===">")return!0;return!1}function Jt(e){let t=ji(e);if(!t)return[{kind:"cmd",text:e,unsafe:!0}];let n=[],r="",s=0,o=()=>{r.length>0&&(n.push({kind:"cmd",text:r}),r="")},i=(a,l)=>{o(),n.push({kind:"sep",text:a}),s+=l};for(;s<e.length;){let a=e[s],l=e[s+1];if(t[s]){if(a===">"&&l==="|"){r+=">|",s+=2;continue}if(a==="&"&&l==="&"){i("&&",2);continue}if(a==="&"&&l!==">"){let c=r.replace(/\s+$/,""),u=c[c.length-1];if(u!==">"&&u!=="<"&&u!=="&"){i("&",1);continue}}if(a==="|"&&l==="|"){i("||",2);continue}if(a==="|"&&l==="&"){i("|&",2);continue}if(a===";"&&l===";"){let c=e[s+2]==="&";i(c?";;&":";;",c?3:2);continue}if(a===";"||a===`
|
|
106
|
+
`||a==="|"){i(a,1);continue}}r+=a,s+=1}return o(),n}function Hi(e){return e.trim().split(/\s+/)[0]??""}function Bi(e,t="tkr-exec",n=()=>!0,r){return zi(e,t,0,n,r)}function zi(e,t,n,r,s){if(e.includes("<<")||Np.test(e))return e;let o=Jt(e),i=[];for(let a=0;a<o.length;a++){let l=o[a];if(l.kind==="sep"||l.unsafe){i.push(l.text);continue}let c=l.text.trim();if(!c){i.push(l.text);continue}let u=Hi(c),f=o[a+1],d=f?.kind==="sep"&&(f.text==="|"||f.text==="|&"),p=f?.kind==="sep"&&f.text==="&",m=!d&&!p&&!Mi(l.text)&&!l.text.includes("<(")&&!l.text.includes(">(")?Cp(c,t,n,r,s):null;if(m!==null){i.push(`${l.text.match(/^\s*/)?.[0]??""}${m}${l.text.match(/\s*$/)?.[0]??""}`);continue}if(c===t||c.startsWith(t)&&/^\s/.test(c.slice(t.length))||kp.has(u)||_p.has(u)||(Pi.has(u)||Pi.has(Li(u)))&&!Sp(c)||Fi.test(u)||u.startsWith("(")||u.startsWith("#")||u.startsWith("<")||u.startsWith(">")||Pp.test(c)||Ip(c,u)||u.endsWith(")")||d||p||Mi(l.text)||l.text.includes("<(")||l.text.includes(">(")||u==="node"&&c.includes("tkr-exec.js")||!r(u)){i.push(l.text);continue}let b=l.text.match(/^\s*/)?.[0]??"",y=l.text.match(/\s*$/)?.[0]??"";s?.(c),i.push(`${b}${t} ${c}${y}`)}return i.join("")}var Cn=["test","run test","run build","run lint","run typecheck"],Kx={npm:new Set(Cn),pnpm:new Set([...Cn,"build","lint","typecheck"]),yarn:new Set([...Cn,"build","lint","typecheck"]),bun:new Set(Cn),cargo:new Set(["test","build","check","clippy"]),go:new Set(["test","build","vet"]),mvn:new Set(["test","compile","verify"]),gradle:new Set(["test","build","check"]),dotnet:new Set(["test","build"])};var j0=new Set(["Read","Grep","Glob","Bash"]),kr=10*1024*1024,Pu=1024,H0=40,B0=25e3,z0=/^… \(?\d+ more lines omitted\)?$/,U0=/^\[tkr restore [0-9a-f]{8,64}\]$/,Z0=/^\d+F \d+D(?: in .+\/)?:$|^\S.*\/ \(\d+(?:, \*\.[^)]+)?\): \S/,G0=/^… \(\d+ more lines omitted\)$/m,J0="[tkr: partial view; folded or omitted lines are not file text. Read with offset/limit for the exact lines before Edit or Write]";function W0(e){return z0.test(e)||U0.test(e)||e==="[YOLO: omitted]"}function Nu(e,t,n){if(!e||typeof e=="string")return t;if(e.file?.content!=null)return{...e,file:{...e.file,content:t}};if(e.content!=null)return{...e,content:t};if(e.output!=null)return{...e,output:t};if(e.stdout!=null||e.stderr!=null){let{persistedOutputPath:r,persistedOutputSize:s,...o}=e;return{...o,stdout:t,stderr:""}}if(Array.isArray(e.filenames)){let r=new Set(e.filenames),s=n==="Glob",o=t.split(`
|
|
107
|
+
`).filter(i=>r.has(i)||W0(i)||s&&Z0.test(i));return{...e,filenames:o}}return t}function Du(e,t,n){return JSON.stringify({...n?{systemMessage:n}:{},hookSpecificOutput:{hookEventName:"PostToolUse",updatedToolOutput:Nu(e.tool_response,t,e.tool_name)}})}var K0=100,bo=null;function Mu(){let e=bo;return bo=null,e}function $u(e){let t=Math.round(e/4);return t>=1e3?`${(t/1e3).toFixed(1)}K`:String(t)}function Fu(e,t){try{if(Math.round((e-t)/4)<K0)return;let n=Iu(S(),"first-save");if(C0(n))return;O0(n,String(Date.now())),bo=`Tokmizer just optimized its first command output here: ~${$u(e)} tokens down to ~${$u(t)}. Watch it add up: /tkr-gain`}catch{}}function Au(e){return e?typeof e=="string"?e:e.file?.content!=null?e.file.content:e.content!=null?e.content:e.output!=null?e.output:e.stdout!=null||e.stderr!=null?[e.stdout??"",e.stderr??""].filter(Boolean).join(`
|
|
108
108
|
`):Array.isArray(e.filenames)?e.filenames.join(`
|
|
109
|
-
`):null:""}var
|
|
110
|
-
`)}catch{}}function
|
|
111
|
-
`)[0].trim().slice(0,200):n.file_path?`${t.toLowerCase()} ${n.file_path}`:n.pattern?`${t.toLowerCase()} ${n.pattern}`:n.path?`${t.toLowerCase()} ${n.path}`:t.toLowerCase()}var
|
|
112
|
-
`),
|
|
113
|
-
`)[0]
|
|
114
|
-
`).
|
|
115
|
-
`)[0]
|
|
109
|
+
`):null:""}var V0=64*1024;function q0(e,t){try{if(!t||typeof t!="object")return;let n=Iu(S(),"drift.jsonl");try{if(P0(n).size>V0)return}catch{}let r=Object.keys(t).slice(0,12);I0(n,`${JSON.stringify({t:Math.floor(Date.now()/1e3),tool:e,keys:r})}
|
|
110
|
+
`)}catch{}}function Y0(e){let t=e.tool_name??"tool",n=e.tool_input??{};return n.command?n.command.split(`
|
|
111
|
+
`)[0].trim().slice(0,200):n.file_path?`${t.toLowerCase()} ${n.file_path}`:n.pattern?`${t.toLowerCase()} ${n.pattern}`:n.path?`${t.toLowerCase()} ${n.path}`:t.toLowerCase()}var X0=/'(?:[A-Za-z]:)?\/[^']*\/(?:tkr-exec(?:\.exe|\.js)?'|tkr(?:\.exe)?' exec)(?:\\'')?(?:\s|$)/,Q0=/;|\|\||\n|(?<![>&|])&(?![&>])/,e_=new Set(["cd","export","set","unset","true",":"]),t_=/^(?:\S*\/)?(?:sh|bash|zsh|dash|ksh)\s+-[elux]*c[elux]*\s+'([^']*)'$/,n_=/(?:^|[\s;&|(])(?:[A-Za-z]:)?\/\S*\/tkr-exec(?:\.exe|\.js)?\s|(?:^|[;&|(\n])\s*(?:\S*\/)?tkr-exec(?:\.exe|\.js)?\s/;function Lu(e){return X0.test(e)||n_.test(e)}function ju(e,t,n=0){let r=Jt(e);for(let s=0;s<r.length;s++){let o=r[s];if(o.kind==="sep")continue;let i=o.text.trim();if(!i||i===t)continue;let a=r[s+1];if(a?.kind==="sep"&&(a.text==="|"||a.text==="|&")||e_.has(i.split(/\s+/)[0]))continue;let l=n<3?t_.exec(i):null;if(!(l&&ju(l[1],t,n+1)))return!1}return!0}function r_(e){let t=[],n="",r=!1;for(let s=0;s<e.length;s++){let o=e[s];if(o==="'"){let i=e.indexOf("'",s+1);if(i===-1)return null;n+=e.slice(s+1,i),r=!0,s=i}else if(o==='"'){let i=s+1;for(;i<e.length&&e[i]!=='"';i++)e[i]==="\\"&&/["\\$`]/.test(e[i+1]??"")&&i++,n+=e[i];if(i>=e.length)return null;r=!0,s=i}else if(o==="\\"){if(s+1>=e.length)return null;n+=e[++s],r=!0}else/\s/.test(o)?(r&&t.push(n),n="",r=!1):(n+=o,r=!0)}return r&&t.push(n),t.length>0?t:null}function Cu(e){let t="";for(let n=0;n<e.length;n++){let r=e[n];if(t==="'"){r==="'"&&(t="");continue}if(r==="\\"){n++;continue}if(r==="$"||r==="`")return!0;r==='"'?t=t?"":'"':r==="'"&&!t&&(t="'")}return!1}async function s_(e){if(!e||typeof e!="object"||e.persistedOutputPath==null)return;let{stdout:t,persistedOutputPath:n,persistedOutputSize:r}=e;if(typeof t!="string"||typeof n!="string"||typeof r!="number"||!Number.isFinite(r))return null;if(!(Buffer.byteLength(t,"utf8")>=r||t.length>=r)){if(!t||e.stderr!=null&&e.stderr!==""||e.interrupted===!0||e.isImage===!0||!L0(n)||M0(F0(n))!=="tool-results")return null;try{let s=await N0(n);if(!s.isFile()||s.size>kr)return null;let o=await D0(n,Ru.O_RDONLY|(Ru.O_NOFOLLOW??0));try{let i=await o.stat();if(!i.isFile()||i.size>kr||i.size!==s.size)return null;let a=Buffer.alloc(i.size),{bytesRead:l}=await o.read(a,0,i.size,0);if(l!==i.size)return null;let c=a.toString("utf8");return a.length!==r&&c.length!==r?null:c.startsWith(t)?c:null}finally{await o.close()}}catch{return null}}}function o_(e,t){if(!t||typeof t!="object"||typeof t.stdout!="string"||t.stderr!=null&&typeof t.stderr!="string"||t.interrupted===!0||t.isImage===!0||t.backgroundTaskId!=null||Q0.test(e)||Cu(e))return null;let n=[];if(Bi(e,"tkr-exec",()=>!0,s=>n.push(s)),n.length!==1||Cu(n[0])||!ju(e,n[0])||Jt(e).some(s=>s.kind==="sep"&&s.text!=="&&"&&s.text!=="|"&&s.text!=="|&"))return null;let r=r_(n[0]);return r?{argv:r,stdout:t.stdout,stderr:t.stderr??"",exitCode:t.returnCodeInterpretation!=null?1:0}:null}async function i_(e,t,n,r,s){let{processCapturedOutput:o}=await Promise.resolve().then(()=>(Tu(),Eu)),i=null,a=b=>{i=b},l={...process.env};t.session_id?l.CLAUDE_CODE_SESSION_ID=t.session_id:delete l.CLAUDE_CODE_SESSION_ID;let c=await o({argv:e.argv,stdout:e.stdout,stderr:e.stderr,exitCode:e.exitCode,truncated:!1,stderrTruncated:!1},{yolo:n,env:l,...r.resolver?{resolver:r.resolver}:{},deferAccounting:a,cwd:t.cwd||(r.inferCwd===!1?void 0:process.cwd())}),u=i,f=[e.stdout,e.stderr].filter(Boolean).join(`
|
|
112
|
+
`),d=Buffer.byteLength(f,"utf8");if(s==null&&c.filterId!=null&&t.session_id&&d>=Pu){let b=Zr(t.session_id,t.agent_id??"main",f,(t.tool_input?.command??"").split(`
|
|
113
|
+
`)[0]??"");if(b){let y=Gr(b.cmd,d);if(n)return y;let{captureOriginalForRestore:$}=await Promise.resolve().then(()=>(yo(),go));return $(f,y)}}let p=[c.stdout,c.stderr].filter(Boolean).join(`
|
|
114
|
+
`),m=c.stdout===e.stdout&&c.stderr===e.stderr;return s!=null&&(m||p.length>s)||(u&&(r.deferAccounting?r.deferAccounting(u):await u()),m)?null:(Fu(d,Buffer.byteLength(p,"utf8")),p)}function a_(e){if(e==null||typeof e!="object"||Array.isArray(e))return!1;let t=e;if(t.session_id!=null&&typeof t.session_id!="string"||t.tool_name!=null&&typeof t.tool_name!="string")return!1;let n=t.tool_input;if(n==null)return!0;if(typeof n!="object"||Array.isArray(n))return!1;let r=n;return["command","file_path","pattern","path"].every(s=>r[s]==null||typeof r[s]=="string")}async function Hu(e,t={}){if(!a_(e))return null;let n=e.tool_name==="Bash"&&!Lu(e.tool_input?.command??"")?await s_(e.tool_response):void 0;return n===null?null:n===void 0?Ou(e,t):Ou({...e,tool_response:{...e.tool_response,stdout:n}},t,B0)}async function Ou(e,t,n){let r=ye();if(!e.tool_name||!j0.has(e.tool_name))return null;let s=e.tool_name==="Bash"?e.tool_input?.command??"":"",o=Lu(s);if(/\btkr(?:\.js)?\s+restore\b/.test(s))return null;let i=await Le();if(!Ci())return null;let a=e.tool_name==="Bash"&&!o?o_(s,e.tool_response):null;if(a)return Buffer.byteLength(a.stdout,"utf8")+Buffer.byteLength(a.stderr,"utf8")>kr?null:i_(a,e,r,t,n);if(e.session_id&&!o&&i?.token){let j=e.tool_input??{},It=j.command??j.file_path??j.pattern??j.path??"";It&&$n(e.session_id,{tool:e.tool_name,target:It.split(`
|
|
115
|
+
`)[0].trim()})}if(e.tool_name==="Read"&&(e.tool_input?.offset!=null||e.tool_input?.limit!=null))return null;let l=Au(e.tool_response);if(l==null)return q0(e.tool_name,e.tool_response),null;if(!l)return null;let c=Buffer.byteLength(l,"utf8");if(c>kr||e.tool_name==="Bash"&&c<Pu||e.tool_name==="Glob"&&l.split(`
|
|
116
|
+
`).length<H0||o)return null;let{loadSettingsCache:u,processOutput:f,captureForRestore:d,captureOriginalForRestore:p,FOLD_MARKER_RE:m,resolveAllowedFilters:b,gatingPlan:y,graceExceeded:$,recordEvent:T,recordTelemetry:P,recordStat:C,countedSaving:D,statCmdLabel:M,statOutcome:F,installDaemonResolver:pe,closeDaemonResolver:N}=await Promise.resolve().then(()=>(yo(),go)),B=await u();if(!B.enabled)return null;let{slugKey:ae}=await Promise.resolve().then(()=>(Pe(),ll)),De=i?.token?y(i):null;!t.resolver&&De&&pe(De);let me=i?.token?b(i.allowedFilters,$(i)):null,ot=new Set(B.filters.disabled.map(ae)),Me=me&&ot.size>0?new Set([...me].filter(j=>!ot.has(j))):me,hn=Y0(e),it=`${e.tool_name.toLowerCase()}-tool`,J=`${it}: ${hn}`;try{let j=await f(J,l,Me,{verbosity:B.outputVerbosity,resolver:t.resolver,yolo:r,exitCode:e.tool_name==="Bash"?void 0:0});if(j.filterId!=null&&e.tool_name==="Bash"&&e.session_id){let So=Zr(e.session_id,e.agent_id??"main",l,s.split(`
|
|
117
|
+
`)[0]??"");if(So){let vo=Gr(So.cmd,c);return r?vo:await p(l,vo)}}let It=new RegExp(m.source,"m"),_r=e.tool_name==="Bash"?M(e.tool_input?.command??""):e.tool_name,_o=e.tool_name==="Read"&&!r&&(It.test(j.output)||G0.test(j.output))?`${j.output}${j.output.endsWith(`
|
|
116
118
|
`)?"":`
|
|
117
|
-
`}${
|
|
118
|
-
`),process.exit(0)});export{
|
|
119
|
+
`}${J0}`:j.output,Y;if(j.filteredBytes>=j.rawBytes?Y=null:r?Y=j.output:e.tool_name==="Glob"||It.test(j.output)?Y=await p(l,_o,void 0,{label:_r}):Y=await d(j.droppedTail??null,_o,void 0,{raw:l,label:_r}),r&&Y!=null&&(Y=Au(Nu(e.tool_response,Y,e.tool_name))),n!=null&&(Y==null||Y.length>n))return null;let Bu=Y==null?j.rawBytes:Buffer.byteLength(Y,"utf8"),wr=Tn().host,Fe=D(j.rawBytes,Bu,En(wr));Y!=null&&Fu(Fe.raw,Fe.filtered);let zu=e.cwd||(t.inferCwd===!1?void 0:process.cwd()),Uu=e.tool_name==="Bash"?"sh":void 0,xr=t.deferAccounting,wo=!1,xo=async()=>{wo||(wo=!0,await T({cmd:it,filterId:j.filterId,rawBytes:j.rawBytes,filteredBytes:j.filteredBytes,plan:De}),C(Fe.raw,Fe.filtered,void 0,!1,wr,Uu,_r,zu,F(j)),await P({cmd:it,tokensSaved:Math.round((Fe.raw-Fe.filtered)/4),rawTokens:Math.round(Fe.raw/4),optimized:j.filterId!=null,telemetryOptIn:B.telemetryOptIn&&(!xr||(await u()).telemetryOptIn),host:wr}))};return xr?xr(xo):await xo(),Y}finally{t.resolver||N()}}async function ko(e,t={}){if(Ii(e,"claude-code")!=="claude-code")return"";let n=await Hu(e,t);return n?Du(e,n,Mu()??void 0):""}async function l_(){let e=await Eo();e||process.exit(0);let t;try{t=JSON.parse(e)}catch{process.exit(0)}let n=await ko(t);n||process.exit(0),process.stdout.write(n)}var c_=process.argv[1]??"";$o(c_,import.meta.url,"post-tool-use")&&l_().catch(e=>{process.stderr.write(`tkr post-tool-use: ${e.message}
|
|
120
|
+
`),process.exit(0)});export{Du as buildHookEnvelope,ko as postToolUseResponse,Hu as processToolOutput,Mu as takeFirstSaveNotice};
|
|
119
121
|
/*! Bundled license information:
|
|
120
122
|
|
|
121
123
|
smol-toml/dist/error.js:
|