@tokmizer/plugin 0.9.66 → 0.9.68

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.
Files changed (37) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codex-plugin/plugin.json +1 -1
  3. package/dist/bin/tkr-agent-hook.js +53 -9
  4. package/dist/bin/tkr-codex-hook.js +72 -70
  5. package/dist/bin/tkr-copilot-hook.js +53 -9
  6. package/dist/bin/tkr-crush-hook.js +53 -9
  7. package/dist/bin/tkr-cursor-hook.js +52 -8
  8. package/dist/bin/tkr-daemon.js +131 -129
  9. package/dist/bin/tkr-droid-hook.js +53 -9
  10. package/dist/bin/tkr-exec +0 -0
  11. package/dist/bin/tkr-exec.js +79 -77
  12. package/dist/bin/tkr-gemini-hook.js +52 -8
  13. package/dist/bin/tkr-grok-hook.js +53 -9
  14. package/dist/bin/tkr-junie-hook.js +53 -9
  15. package/dist/bin/tkr-processor.js +97 -95
  16. package/dist/bin/tkr-qwen-hook.js +53 -9
  17. package/dist/bin/tkr-shim.js +80 -78
  18. package/dist/bin/tkr-trae-hook.js +53 -9
  19. package/dist/bin/tkr-zcode-hook.js +53 -9
  20. package/dist/bin/tkr.js +263 -260
  21. package/dist/hooks-host/post-tool-use.js +91 -89
  22. package/dist/hooks-host/pre-tool-use.js +53 -9
  23. package/dist/hooks-host/reducer-stop.js +24 -24
  24. package/dist/hooks-host/session-recap.js +5 -4
  25. package/dist/index.js +87 -85
  26. package/dist/native/manifest.json +12 -12
  27. package/dist/native/single.json +12 -12
  28. package/dist/native/tkr-exec-darwin-arm64 +0 -0
  29. package/dist/native/tkr-exec-darwin-x64 +0 -0
  30. package/dist/native/tkr-exec-linux-arm64 +0 -0
  31. package/dist/native/tkr-exec-linux-x64 +0 -0
  32. package/dist/native/tkr-exec-win32-arm64.exe +0 -0
  33. package/dist/native/tkr-exec-win32-x64.exe +0 -0
  34. package/hooks/hooks.json +7 -2
  35. package/hooks/on-session-start.mjs +12 -0
  36. package/package.json +7 -7
  37. package/scripts/install-native.mjs +7 -3
@@ -1,130 +1,132 @@
1
1
  import { createRequire as __tkrCreateRequire } from "node:module"; const require = __tkrCreateRequire(import.meta.url);
2
- var nf=Object.create;var $r=Object.defineProperty;var rf=Object.getOwnPropertyDescriptor;var sf=Object.getOwnPropertyNames;var of=Object.getPrototypeOf,af=Object.prototype.hasOwnProperty;var $e=(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}},Dt=(e,t)=>{for(var n in t)$r(e,n,{get:t[n],enumerable:!0})},lf=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of sf(t))!af.call(e,s)&&s!==n&&$r(e,s,{get:()=>t[s],enumerable:!(r=rf(t,s))||r.enumerable});return e};var cf=(e,t,n)=>(n=e!=null?nf(of(e)):{},lf(t||!e||!e.__esModule?$r(n,"default",{value:e,enumerable:!0}):n,e));import df from"node:os";import{join as Mt}from"node:path";function S(){return process.env.TOKMIZER_HOME||Mt(df.homedir(),".tokmizer")}function Ft(){return Mt(S(),"install-id")}function Ar(){return Mt(S(),"content-cache")}function Po(){return Mt(S(),"restore.json")}function Cr(e){return Mt(Ar(),e)}var j=g(()=>{"use strict"});import{join as pf}from"node:path";import{mkdir as Z_,readFile as mf,writeFile as G_,unlink as J_,rename as K_}from"node:fs/promises";function gf(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e&&e.length>0?e:"Etc/UTC"}catch{return"Etc/UTC"}}function yf(e){return e?.dir??S()}async function He(e){let t=yf(e);try{let n=await mf(pf(t,hf),"utf8"),r=JSON.parse(n),s=r.timeZone;return{...r,lastSettingsRevision:r.lastSettingsRevision??0,get timeZone(){return s??=gf()},bonusActive:r.bonusActive??!1,...r.bonusResetAt!==void 0?{bonusResetAt:r.bonusResetAt}:{}}}catch{return null}}var hf,Lt=g(()=>{"use strict";j();hf="state.json"});import{basename as bf}from"node:path";function at(e){let t=bf(e).replace(/\.(m?js|ts)$/,"");if(t==="tkr")return[];for(let[n,r]of Object.entries(kf))if(r===t)return[n];for(let[n,r]of Object.entries(_f))if(r===t)return["hook",n];return null}var kf,_f,jt=g(()=>{"use strict";kf={exec:"tkr-exec",processor:"tkr-processor",daemon:"tkr-daemon","shim-run":"tkr-shim"},_f={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 ge(){return!1}function Ht(e,t=process.execPath){let n=ge()?at(e):null;return n?[process.execPath,...n]:[t,e]}var Ae=g(()=>{"use strict";jt()});import{rmSync as wf,statSync as xf}from"node:fs";import{join as No}from"node:path";function kn(){return No(S(),"shims")}function Or(){return No(S(),"fail-open")}function Do(e=Date.now()){try{if(e-xf(Or()).mtimeMs<Sf)return!0;wf(Or(),{force:!0})}catch{}return!1}var Sf,Bt=g(()=>{"use strict";j();Sf=24*36e5});var Ir=g(()=>{"use strict";j();Ae();jt();Bt()});import{chmod as $f,lstat as Fo,mkdir as Af,readFile as Nr,rename as Cf,rm as dw,unlink as Lo,writeFile as Of}from"node:fs/promises";import{createHash as jo}from"node:crypto";import{basename as If,join as Ho}from"node:path";function Bo(){return Ho(S(),"backup","config")}function Pr(e){let t=Mr(e),n=jo("sha256").update(t).digest("hex").slice(0,16),r=If(t).replace(/[^A-Za-z0-9._-]/g,"_").slice(0,80);return Ho(Bo(),`${n}-${r}`)}function zo(e){return`${Pr(e)}.written`}function Uo(e){return jo("sha256").update(e).digest("hex")}async function Nf(e){try{return await Fo(e),!0}catch{return!1}}async function Dr(e,t){let n=`${e}.tmp-${process.pid}`;try{return await Af(Bo(),{recursive:!0,mode:448}),await Of(n,t,{mode:384}),await $f(n,384),await Cf(n,e),!0}catch{return await Lo(n).catch(()=>{}),!1}}async function Df(e,t){let n=`${e}${Pf}`;try{if(!(await Fo(n)).isFile())return!1}catch{return!1}let r=!await Nf(t);if(r&&!await Dr(t,await Nr(n,"utf8")))throw new Error("backup");return await Lo(n).catch(()=>{}),r}async function Mf(e,t){try{return(await Nr(zo(e),"utf8")).trim()===Uo(t)}catch{return!1}}async function Zo(e,t){let n=t;try{n===void 0&&(n=await Nr(e,"utf8"))}catch(r){return r.code==="ENOENT"}try{if(await Df(e,Pr(e)))return!0}catch{return!1}return await Mf(e,n)?!0:Dr(Pr(e),n)}async function _n(e,t,n){return!await Zo(e,n)||!await xn(e,t)?!1:(await Dr(zo(e),`${Uo(t)}
3
- `),!0)}var Pf,wn=g(()=>{"use strict";j();ye();Pf=".tkr-bak"});import{readFile as Ff,writeFile as Lf,rename as jf,mkdir as Ko,chmod as Hf,stat as Bf,unlink as zf}from"node:fs/promises";import{existsSync as Uf,lstatSync as Zf,readlinkSync as Gf,realpathSync as Go}from"node:fs";import{basename as Jf,dirname as Sn,join as Kf,resolve as Jo}from"node:path";function H(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}async function Ce(e){if(!Uf(e))return{};try{let t=JSON.parse(await Ff(e,"utf8"));return H(t)?t:null}catch{return null}}function Mr(e){let t=Jo(e);for(let n=0;n<32;n++){try{return Go(t)}catch{}try{if(!Zf(t).isSymbolicLink())break;t=Jo(Sn(t),Gf(t))}catch{break}}try{return Kf(Go(Sn(t)),Jf(t))}catch{return t}}async function xn(e,t){let n=Mr(e),r=`${n}.tmp-${process.pid}`;try{await Ko(Sn(n),{recursive:!0});let s=384;try{s=(await Bf(n)).mode&511}catch{}return await Lf(r,t,{mode:s}),await Hf(r,s),await jf(r,n),!0}catch{try{await zf(r)}catch{}return!1}}async function Oe(e,t){try{await Ko(Sn(e),{recursive:!0})}catch{return!1}return _n(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*${Wf}\\s+${n.join("\\s+")}(?:\\s|$)`,"i").test(e):!1}function vn(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 Wf,ye=g(()=>{"use strict";jt();Ae();Ir();wn();Wf=String.raw`(?:'(?:(?:[^']|'\\'')*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?'|"(?:[^"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?"|(?:[^\s'"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?)`});import{existsSync as Aw,readFileSync as Vf}from"node:fs";import{join as qf}from"node:path";import Yf from"node:os";function Qf(){return qf(Yf.homedir(),".cursor","hooks.json")}function ed(e){return H(e)&&lt(e.command,Xf)}function td(e){let t=H(e.hooks)?e.hooks:{},n=Array.isArray(t[Wo])?t[Wo]:[];return{hooks:t,entries:n}}function Vo(){try{let e=JSON.parse(Vf(Qf(),"utf8"));return td(e).entries.some(ed)}catch{return!1}}var Xf,Wo,qo=g(()=>{"use strict";ye();Xf="tkr-cursor-hook",Wo="preToolUse"});import{existsSync as Dw,readFileSync as nd}from"node:fs";import{join as rd}from"node:path";import sd from"node:os";function id(){return rd(process.env.GEMINI_CLI_HOME||sd.homedir(),".gemini","settings.json")}function ad(e){return H(e)&&lt(e.command,od)}function ld(e){return(Array.isArray(e.hooks)?e.hooks:[]).find(ad)}function cd(e){let t=H(e.hooks)?e.hooks:{},n=Array.isArray(t[Yo])?t[Yo]:[];return{hooks:t,groups:n}}function Xo(){try{let e=JSON.parse(nd(id(),"utf8"));return cd(e).groups.some(t=>ld(t)!=null)}catch{return!1}}var od,Yo,Qo=g(()=>{"use strict";ye();od="tkr-gemini-hook",Yo="BeforeTool"});import{existsSync as zw,accessSync as Uw,constants as Zw,readFileSync as ud}from"node:fs";function dd(e){return e.includes(fd)}function ei(e){try{return dd(ud(e,"utf8"))}catch{return!1}}var fd,ti=g(()=>{"use strict";ye();Ae();wn();j();fd='"rewrite", "--host"'});import{readFile as ri,mkdir as pd}from"node:fs/promises";import{existsSync as jr,readFileSync as si}from"node:fs";import{dirname as md,join as Lr}from"node:path";import oi from"node:os";function Zt(){return Lr(process.env.VIBE_HOME||Lr(oi.homedir(),".vibe"),"hooks.toml")}function ni(e){return JSON.stringify(e)}function hd(e){return["[[hooks]]",`name = ${ni(ii)}`,'type = "pre_tool"','match = "bash"',`command = ${ni(e)}`,"timeout = 10.0","strict = false",'description = "Route shell commands through tokmizer."',""].join(`
5
- `)}function Hr(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 Ut(e){return/^\s*\[\[hooks\]\]/.test(e)&&new RegExp(`^\\s*name\\s*=\\s*"${ii}"\\s*$`,"m").test(e)}async function ai(e,t){try{await pd(md(e),{recursive:!0})}catch{return!1}return _n(e,t)}function li(){try{return Hr(si(Zt(),"utf8")).some(Ut)}catch{return!1}}async function ci(e){let t=Zt(),n="";try{jr(t)&&(n=await ri(t,"utf8"))}catch{return"error"}let r=hd(e),s=Hr(n),o=s.filter(Ut);if(o.length===1&&o[0].trimEnd()===r.trimEnd())return"present";let i=s.filter(l=>!Ut(l)).join("").trimEnd(),a=i?`${i}
2
+ var pf=Object.create;var Ir=Object.defineProperty;var mf=Object.getOwnPropertyDescriptor;var hf=Object.getOwnPropertyNames;var gf=Object.getPrototypeOf,yf=Object.prototype.hasOwnProperty;var Te=(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 Y=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},Lt=(e,t)=>{for(var n in t)Ir(e,n,{get:t[n],enumerable:!0})},bf=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of hf(t))!yf.call(e,s)&&s!==n&&Ir(e,s,{get:()=>t[s],enumerable:!(r=mf(t,s))||r.enumerable});return e};var kf=(e,t,n)=>(n=e!=null?pf(gf(e)):{},bf(t||!e||!e.__esModule?Ir(n,"default",{value:e,enumerable:!0}):n,e));import xf from"node:os";import{join as jt}from"node:path";function S(){return process.env.TOKMIZER_HOME||jt(xf.homedir(),".tokmizer")}function Ht(){return jt(S(),"install-id")}function Pr(){return jt(S(),"content-cache")}function Do(){return jt(S(),"restore.json")}function Nr(e){return jt(Pr(),e)}var j=g(()=>{"use strict"});import{join as Sf}from"node:path";import{mkdir as fw,readFile as vf,writeFile as dw,unlink as pw,rename as mw}from"node:fs/promises";function Tf(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e&&e.length>0?e:"Etc/UTC"}catch{return"Etc/UTC"}}function $f(e){return e?.dir??S()}async function je(e){let t=$f(e);try{let n=await vf(Sf(t,Ef),"utf8"),r=JSON.parse(n),s=r.timeZone;return{...r,lastSettingsRevision:r.lastSettingsRevision??0,get timeZone(){return s??=Tf()},bonusActive:r.bonusActive??!1,...r.bonusResetAt!==void 0?{bonusResetAt:r.bonusResetAt}:{}}}catch{return null}}var Ef,Bt=g(()=>{"use strict";j();Ef="state.json"});import{basename as Rf}from"node:path";function ct(e){let t=Rf(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(Cf))if(r===t)return["hook",n];return null}var Af,Cf,zt=g(()=>{"use strict";Af={exec:"tkr-exec",processor:"tkr-processor",daemon:"tkr-daemon","shim-run":"tkr-shim"},Cf={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 ge(){return!1}function Ut(e,t=process.execPath){let n=ge()?ct(e):null;return n?[process.execPath,...n]:[t,e]}var $e=g(()=>{"use strict";zt()});import{rmSync as Of,statSync as If}from"node:fs";import{join as Mo}from"node:path";function wn(){return Mo(S(),"shims")}function Dr(){return Mo(S(),"fail-open")}function Fo(e=Date.now()){try{if(e-If(Dr()).mtimeMs<Pf)return!0;Of(Dr(),{force:!0})}catch{}return!1}var Pf,Zt=g(()=>{"use strict";j();Pf=24*36e5});var Mr=g(()=>{"use strict";j();$e();zt();Zt()});import{chmod as Lf,lstat as jo,mkdir as jf,readFile as Lr,rename as Hf,rm as Pw,unlink as Ho,writeFile as Bf}from"node:fs/promises";import{createHash as Bo}from"node:crypto";import{basename as zf,join as zo}from"node:path";function Uo(){return zo(S(),"backup","config")}function Fr(e){let t=Hr(e),n=Bo("sha256").update(t).digest("hex").slice(0,16),r=zf(t).replace(/[^A-Za-z0-9._-]/g,"_").slice(0,80);return zo(Uo(),`${n}-${r}`)}function Zo(e){return`${Fr(e)}.written`}function Go(e){return Bo("sha256").update(e).digest("hex")}async function Zf(e){try{return await jo(e),!0}catch{return!1}}async function jr(e,t){let n=`${e}.tmp-${process.pid}`;try{return await jf(Uo(),{recursive:!0,mode:448}),await Bf(n,t,{mode:384}),await Lf(n,384),await Hf(n,e),!0}catch{return await Ho(n).catch(()=>{}),!1}}async function Gf(e,t){let n=`${e}${Uf}`;try{if(!(await jo(n)).isFile())return!1}catch{return!1}let r=!await Zf(t);if(r&&!await jr(t,await Lr(n,"utf8")))throw new Error("backup");return await Ho(n).catch(()=>{}),r}async function Jf(e,t){try{return(await Lr(Zo(e),"utf8")).trim()===Go(t)}catch{return!1}}async function Jo(e,t){let n=t;try{n===void 0&&(n=await Lr(e,"utf8"))}catch(r){return r.code==="ENOENT"}try{if(await Gf(e,Fr(e)))return!0}catch{return!1}return await Jf(e,n)?!0:jr(Fr(e),n)}async function xn(e,t,n){return!await Jo(e,n)||!await vn(e,t)?!1:(await jr(Zo(e),`${Go(t)}
3
+ `),!0)}var Uf,Sn=g(()=>{"use strict";j();ye();Uf=".tkr-bak"});import{readFile as Kf,writeFile as Wf,rename as Vf,mkdir as Vo,chmod as qf,stat as Yf,unlink as Xf}from"node:fs/promises";import{existsSync as Qf,lstatSync as ed,readlinkSync as td,realpathSync as Ko}from"node:fs";import{basename as nd,dirname as En,join as rd,resolve as Wo}from"node:path";function H(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}async function Re(e){if(!Qf(e))return{};try{let t=JSON.parse(await Kf(e,"utf8"));return H(t)?t:null}catch{return null}}function Hr(e){let t=Wo(e);for(let n=0;n<32;n++){try{return Ko(t)}catch{}try{if(!ed(t).isSymbolicLink())break;t=Wo(En(t),td(t))}catch{break}}try{return rd(Ko(En(t)),nd(t))}catch{return t}}async function vn(e,t){let n=Hr(e),r=`${n}.tmp-${process.pid}`;try{await Vo(En(n),{recursive:!0});let s=384;try{s=(await Yf(n)).mode&511}catch{}return await Wf(r,t,{mode:s}),await qf(r,s),await Vf(r,n),!0}catch{try{await Xf(r)}catch{}return!1}}async function Ae(e,t){try{await Vo(En(e),{recursive:!0})}catch{return!1}return xn(e,`${JSON.stringify(t,null,2)}
4
+ `)}function ut(e,t){if(typeof e!="string")return!1;if(e.includes(t))return!0;let n=ct(t);return n?.length?new RegExp(`^\\s*${sd}\\s+${n.join("\\s+")}(?:\\s|$)`,"i").test(e):!1}function Tn(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 sd,ye=g(()=>{"use strict";zt();$e();Mr();Sn();sd=String.raw`(?:'(?:(?:[^']|'\\'')*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?'|"(?:[^"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?"|(?:[^\s'"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?)`});import{existsSync as qw,readFileSync as od}from"node:fs";import{join as id}from"node:path";import ad from"node:os";function cd(){return id(ad.homedir(),".cursor","hooks.json")}function ud(e){return H(e)&&ut(e.command,ld)}function fd(e){let t=H(e.hooks)?e.hooks:{},n=Array.isArray(t[qo])?t[qo]:[];return{hooks:t,entries:n}}function Yo(){try{let e=JSON.parse(od(cd(),"utf8"));return fd(e).entries.some(ud)}catch{return!1}}var ld,qo,Xo=g(()=>{"use strict";ye();ld="tkr-cursor-hook",qo="preToolUse"});import{existsSync as nx,readFileSync as dd}from"node:fs";import{join as pd}from"node:path";import md from"node:os";function gd(){return pd(process.env.GEMINI_CLI_HOME||md.homedir(),".gemini","settings.json")}function yd(e){return H(e)&&ut(e.command,hd)}function bd(e){return(Array.isArray(e.hooks)?e.hooks:[]).find(yd)}function kd(e){let t=H(e.hooks)?e.hooks:{},n=Array.isArray(t[Qo])?t[Qo]:[];return{hooks:t,groups:n}}function ei(){try{let e=JSON.parse(dd(gd(),"utf8"));return kd(e).groups.some(t=>bd(t)!=null)}catch{return!1}}var hd,Qo,ti=g(()=>{"use strict";ye();hd="tkr-gemini-hook",Qo="BeforeTool"});import{existsSync as cx,accessSync as ux,constants as fx,readFileSync as _d}from"node:fs";function xd(e){return e.includes(wd)}function ni(e){try{return xd(_d(e,"utf8"))}catch{return!1}}var wd,ri=g(()=>{"use strict";ye();$e();Sn();j();wd='"rewrite", "--host"'});import{readFile as oi,mkdir as Sd}from"node:fs/promises";import{existsSync as Ur,readFileSync as ii}from"node:fs";import{dirname as vd,join as zr}from"node:path";import ai from"node:os";function Kt(){return zr(process.env.VIBE_HOME||zr(ai.homedir(),".vibe"),"hooks.toml")}function si(e){return JSON.stringify(e)}function Ed(e){return["[[hooks]]",`name = ${si(li)}`,'type = "pre_tool"','match = "bash"',`command = ${si(e)}`,"timeout = 10.0","strict = false",'description = "Route shell commands through tokmizer."',""].join(`
5
+ `)}function Zr(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 Jt(e){return/^\s*\[\[hooks\]\]/.test(e)&&new RegExp(`^\\s*name\\s*=\\s*"${li}"\\s*$`,"m").test(e)}async function ci(e,t){try{await Sd(vd(e),{recursive:!0})}catch{return!1}return xn(e,t)}function ui(){try{return Zr(ii(Kt(),"utf8")).some(Jt)}catch{return!1}}async function fi(e){let t=Kt(),n="";try{Ur(t)&&(n=await oi(t,"utf8"))}catch{return"error"}let r=Ed(e),s=Zr(n),o=s.filter(Jt);if(o.length===1&&o[0].trimEnd()===r.trimEnd())return"present";let i=s.filter(l=>!Jt(l)).join("").trimEnd(),a=i?`${i}
6
6
 
7
- ${r}`:r;return await ai(t,a)?o.length?"updated":"added":"error"}async function ui(){let e=Zt();if(!jr(e))return"absent";let t;try{t=await ri(e,"utf8")}catch{return"error"}let n=Hr(t);if(!n.some(Ut))return"absent";let r=n.filter(o=>!Ut(o)).join("").trimEnd(),s=r?`${r}
8
- `:"";return await ai(e,s)?"removed":"error"}function Gt(){return Lr(oi.homedir(),".gemini","config","hooks.json")}function gd(e){return{enabled:!0,PreToolUse:[{matcher:"run_command",hooks:[{type:"command",command:e,timeout:10}]}]}}function fi(){try{let e=JSON.parse(si(Gt(),"utf8"));return H(e)&&H(e[zt])}catch{return!1}}async function di(e){let t=Gt(),n=await Ce(t);if(!n)return"error";let r=gd(e),s=n[zt];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[zt]=r,await Oe(t,n)?s===void 0?"added":"updated":"error")}async function pi(){let e=Gt();if(!jr(e))return"absent";let t=await Ce(e);return t?zt in t?(delete t[zt],await Oe(e,t)?"removed":"error"):"absent":"error"}var ii,zt,mi=g(()=>{"use strict";ye();wn();ii="tokmizer-rewrite",zt="tokmizer-rewrite"});import{dirname as lx,join as te}from"node:path";import yd from"node:os";function gi(e){return e.kind==="hook"?e.installed():ei(e.files()[0].target)}var Jt,Br,hi,yi=g(()=>{"use strict";ye();ti();mi();Jt=()=>yd.homedir(),Br=()=>process.env.XDG_CONFIG_HOME||te(Jt(),".config"),hi=[{host:"opencode",label:"OpenCode",command:"setup-opencode",kind:"shim",files:()=>[{template:"opencode.js",target:te(Br(),"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(Br(),"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(Br(),"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:li,ensure:ci,remove:ui,next:"Restart Vibe so it reads hooks.toml."},{host:"antigravity",label:"Antigravity",command:"setup-antigravity",kind:"hook",file:Gt,installed:fi,ensure:di,remove:pi,next:"Restart Antigravity, then check it with /hooks."},{host:"openclaw",label:"OpenClaw",command:"setup-openclaw",kind:"shim",files:()=>{let e=te(Jt(),".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(Jt(),".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(Jt(),".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(Jt(),".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 bd,readFileSync as kd}from"node:fs";function En(e,t){return H(e)&&lt(e.command,t)}function bi(e){return e.path??(e.nested?["hooks"]:[])}function ki(e,t){let n=e;for(let r of bi(t))H(n[r])||(n[r]={}),n=n[r];return n}function _i(e,t){let n=e;for(let s of bi(t))n=H(n)?n[s]:void 0;if(!H(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function _d(e){return H(e)&&Array.isArray(e.hooks)?e.hooks:[]}function wi(e,t){return(t.matcher===void 0?e:e.flatMap(_d)).filter(r=>En(r,t.mark))}function xi(e,t){return wi(_i(e,t),t).length>0}function zr(e,t){try{let n=JSON.parse(kd(e,"utf8"));return H(n)&&xi(n,t)}catch{return!1}}function wd(e,t,n){let r=ki(e,t),s=Array.isArray(r[t.event])?r[t.event]:[];r[t.event]=s;let o=wi(s,t)[0],i=t.entry(n);if(o){let a=vn(s,c=>En(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 xd(e,t){if(!xi(e,t))return!1;let n=ki(e,t),r=_i(e,t),s=t.matcher===void 0?r.filter(o=>!En(o,t.mark)):r.map(o=>H(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!En(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 Ur(e,t,n){let r=await Ce(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=wd(r,t,n);return s==="present"||await Oe(e,r)?s:"error"}async function Tn(e,t){if(!bd(e))return"absent";let n=await Ce(e);return n?xd(n,t)?await Oe(e,n)?"removed":"error":"absent":"error"}var Si=g(()=>{"use strict";ye()});import{existsSync as Gr,readFileSync as Sd}from"node:fs";import{join as Z}from"node:path";import vd from"node:os";function le(){return vd.homedir()}function Ri(e){return e.version===void 0&&(e.version=1),e.version===1}function Ed(e,t,n){return Promise.all(e.map(r=>Ur(r,t,n))).then(r=>r.includes("error")?"error":r.includes("updated")?"updated":r.includes("added")?"added":"present")}function Td(e,t){return Promise.all(e.map(n=>Tn(n,t))).then(n=>n.includes("error")?"error":n.includes("removed")?"removed":"absent")}function Be(e,t){return{...e,installed:()=>e.files().some(n=>zr(n,t)),ensure:n=>Ed(e.files(),t,n),remove:()=>Td(e.files(),t)}}function $d(){return Z(process.env.COPILOT_HOME||Z(le(),".copilot"),"hooks","tokmizer.json")}function Cd(){let e=[Z(le(),".trae","hooks.json")];return Gr(Z(le(),".trae-cn"))&&e.push(Z(le(),".trae-cn","hooks.json")),e}function Id(){return Z(process.env.QWEN_HOME||Z(le(),".qwen"),"settings.json")}function Nd(){return Z(process.env.XDG_CONFIG_HOME||Z(le(),".config"),"crush","crush.json")}function Md(){return Z(le(),".junie","config.json")}function Fd(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 jd(){return Z(le(),".zcode","cli","config.json")}function Bd(){return Z(le(),".grok","hooks","tokmizer.json")}function Zr(){return Z(le(),".factory")}function Rn(){return[{file:Z(Zr(),"hooks.json"),spec:Jr},{file:Z(Zr(),"hooks","hooks.json"),spec:Jr},{file:Z(Zr(),"settings.json"),spec:Ud}]}function vi(e){try{let t=JSON.parse(Sd(e,"utf8"));return H(t)?t:null}catch{return null}}function Ei(e,t){let n=t?e?.hooks:e;return H(n)&&Array.isArray(n.PreToolUse)&&n.PreToolUse.length>0}function Ti(){let[e,t,n]=Rn(),r=Gr(e.file)?e:Gr(t.file)?t:null;return r&&Ei(vi(r.file),!1)?r:Ei(vi(n.file),!0)?n:r??e}var Rd,Ad,Od,Pd,Dd,Ld,Hd,zd,Jr,Ud,Zd,$i,Ai=g(()=>{"use strict";ye();Si();Rd={mark:"tkr-copilot-hook",event:"PreToolUse",nested:!0,entry:e=>({type:"command",command:e,bash:e,powershell:e,timeout:10,timeoutSec:10}),prepare:Ri};Ad={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:Ri};Od={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};Pd={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};Dd={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};Ld={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:Fd};Hd={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};zd="tkr-droid-hook",Jr={mark:zd,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},Ud={...Jr,nested:!0};Zd={id:"droid",label:"Factory Droid",setup:"tkr setup-droid",bin:"tkr-droid-hook",restart:"Restart Droid, then check it with /hooks.",files:()=>[Ti().file],installed:()=>Rn().some(e=>zr(e.file,e.spec)),ensure:async e=>{let t=Ti(),n=await Ur(t.file,t.spec,e);return n==="error"||await Promise.all(Rn().filter(r=>r.file!==t.file).map(r=>Tn(r.file,r.spec))),n},remove:async()=>{let e=await Promise.all(Rn().map(t=>Tn(t.file,t.spec)));return e.includes("error")?"error":e.includes("removed")?"removed":"absent"}},$i=[Be({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:()=>[$d()]},Rd),Zd,Be({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:Cd},Ad),Be({id:"qwen-code",label:"Qwen Code",setup:"tkr setup-qwen",bin:"tkr-qwen-hook",restart:"Restart Qwen Code, then check it with /hooks.",files:()=>[Id()]},Od),Be({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[Nd()]},Pd),Be({id:"junie",label:"Junie CLI",setup:"tkr setup-junie",bin:"tkr-junie-hook",restart:"Restart Junie CLI so it loads the new hook.",files:()=>[Md()]},Dd),Be({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[jd()]},Ld),Be({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:()=>[Bd()]},Hd)]});function Ci(e){return Jd.has(e)||(Kd[e]?.installed()??!1)}function $n(e){return null}function An(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&&Gd.includes(s)){let o=s;return{host:o,source:"env",os:n,arch:r,shimRecommended:!Ci(o)}}for(let o of Oi)if(o.vars.some(i=>e[i]))return{host:o.host,source:"env",os:n,arch:r,shimRecommended:!Ci(o.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}var Oi,Gd,Jd,Kd,Cn=g(()=>{"use strict";qo();Qo();yi();Ai();Oi=[{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:[]}],Gd=[...Oi.map(e=>e.host),"shell"],Jd=new Set(["claude-code","codex"]),Kd={cursor:{installed:Vo,setup:"tkr setup-cursor"},"gemini-cli":{installed:Xo,setup:"tkr setup-gemini"},...Object.fromEntries(hi.map(e=>[e.host,{installed:()=>gi(e),setup:`tkr ${e.command}`}])),...Object.fromEntries($i.map(e=>[e.id,{installed:e.installed,setup:e.setup}]))}});import{appendFileSync as Wd,mkdirSync as Vd,readFileSync as qd,writeFileSync as Yd,renameSync as Xd,statSync as Qd,readdirSync as Ax,rmSync as Cx,chmodSync as ep}from"node:fs";import{join as Ii}from"node:path";function Pi(){return Ii(S(),"sessions")}function sp(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Ii(Pi(),`${t}.jsonl`)}function On(e,t){try{let n=sp(e);Vd(Pi(),{recursive:!0,mode:448});let r=JSON.stringify({t:t.t??Math.floor(Date.now()/1e3),tool:t.tool,target:t.target.slice(0,rp),...t.fail?{fail:1}:{}});if(Wd(n,`${r}
9
- `,{mode:384}),ep(n,384),Qd(n).size>tp){let s=qd(n,"utf8").split(`
10
- `).filter(a=>a.trim()!==""),o=s.slice(s.length-np),i=`${n}.tmp-${process.pid}`;Yd(i,`${o.join(`
7
+ ${r}`:r;return await ci(t,a)?o.length?"updated":"added":"error"}async function di(){let e=Kt();if(!Ur(e))return"absent";let t;try{t=await oi(e,"utf8")}catch{return"error"}let n=Zr(t);if(!n.some(Jt))return"absent";let r=n.filter(o=>!Jt(o)).join("").trimEnd(),s=r?`${r}
8
+ `:"";return await ci(e,s)?"removed":"error"}function Wt(){return zr(ai.homedir(),".gemini","config","hooks.json")}function Td(e){return{enabled:!0,PreToolUse:[{matcher:"run_command",hooks:[{type:"command",command:e,timeout:10}]}]}}function pi(){try{let e=JSON.parse(ii(Wt(),"utf8"));return H(e)&&H(e[Gt])}catch{return!1}}async function mi(e){let t=Wt(),n=await Re(t);if(!n)return"error";let r=Td(e),s=n[Gt];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[Gt]=r,await Ae(t,n)?s===void 0?"added":"updated":"error")}async function hi(){let e=Wt();if(!Ur(e))return"absent";let t=await Re(e);return t?Gt in t?(delete t[Gt],await Ae(e,t)?"removed":"error"):"absent":"error"}var li,Gt,gi=g(()=>{"use strict";ye();Sn();li="tokmizer-rewrite",Gt="tokmizer-rewrite"});import{dirname as Ax,join as ee}from"node:path";import $d from"node:os";function bi(e){return e.kind==="hook"?e.installed():ni(e.files()[0].target)}var Vt,Gr,yi,ki=g(()=>{"use strict";ye();ri();gi();Vt=()=>$d.homedir(),Gr=()=>process.env.XDG_CONFIG_HOME||ee(Vt(),".config"),yi=[{host:"opencode",label:"OpenCode",command:"setup-opencode",kind:"shim",files:()=>[{template:"opencode.js",target:ee(Gr(),"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:ee(Gr(),"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:ee(Gr(),"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:Kt,installed:ui,ensure:fi,remove:di,next:"Restart Vibe so it reads hooks.toml."},{host:"antigravity",label:"Antigravity",command:"setup-antigravity",kind:"hook",file:Wt,installed:pi,ensure:mi,remove:hi,next:"Restart Antigravity, then check it with /hooks."},{host:"openclaw",label:"OpenClaw",command:"setup-openclaw",kind:"shim",files:()=>{let e=ee(Vt(),".openclaw","extensions","tokmizer");return["index.js","openclaw.plugin.json","package.json"].map(t=>({template:`openclaw/${t}`,target:ee(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:ee(process.env.PI_CODING_AGENT_DIR||ee(Vt(),".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:ee(Vt(),".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=ee(process.env.HERMES_HOME||ee(Vt(),".hermes"),"plugins","tokmizer");return["__init__.py","plugin.yaml"].map(t=>({template:`hermes/${t}`,target:ee(e,t)}))},next:"Run: hermes plugins enable tokmizer, then restart Hermes (needs Hermes v2026.8.16 or newer)."}]});import{existsSync as Rd,readFileSync as Ad}from"node:fs";function $n(e,t){return H(e)&&ut(e.command,t)}function _i(e){return e.path??(e.nested?["hooks"]:[])}function wi(e,t){let n=e;for(let r of _i(t))H(n[r])||(n[r]={}),n=n[r];return n}function xi(e,t){let n=e;for(let s of _i(t))n=H(n)?n[s]:void 0;if(!H(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function Cd(e){return H(e)&&Array.isArray(e.hooks)?e.hooks:[]}function Si(e,t){return(t.matcher===void 0?e:e.flatMap(Cd)).filter(r=>$n(r,t.mark))}function vi(e,t){return Si(xi(e,t),t).length>0}function Jr(e,t){try{let n=JSON.parse(Ad(e,"utf8"));return H(n)&&vi(n,t)}catch{return!1}}function Od(e,t,n){let r=wi(e,t),s=Array.isArray(r[t.event])?r[t.event]:[];r[t.event]=s;let o=Si(s,t)[0],i=t.entry(n);if(o){let a=Tn(s,c=>$n(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 Id(e,t){if(!vi(e,t))return!1;let n=wi(e,t),r=xi(e,t),s=t.matcher===void 0?r.filter(o=>!$n(o,t.mark)):r.map(o=>H(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!$n(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 Kr(e,t,n){let r=await Re(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=Od(r,t,n);return s==="present"||await Ae(e,r)?s:"error"}async function Rn(e,t){if(!Rd(e))return"absent";let n=await Re(e);return n?Id(n,t)?await Ae(e,n)?"removed":"error":"absent":"error"}var Ei=g(()=>{"use strict";ye()});import{existsSync as Vr,readFileSync as Pd}from"node:fs";import{join as U}from"node:path";import Nd from"node:os";function le(){return Nd.homedir()}function Ai(e){return e.version===void 0&&(e.version=1),e.version===1}function Dd(e,t,n){return Promise.all(e.map(r=>Kr(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=>Rn(n,t))).then(n=>n.includes("error")?"error":n.includes("removed")?"removed":"absent")}function He(e,t){return{...e,installed:()=>e.files().some(n=>Jr(n,t)),ensure:n=>Dd(e.files(),t,n),remove:()=>Md(e.files(),t)}}function Ld(){return U(process.env.COPILOT_HOME||U(le(),".copilot"),"hooks","tokmizer.json")}function Hd(){let e=[U(le(),".trae","hooks.json")];return Vr(U(le(),".trae-cn"))&&e.push(U(le(),".trae-cn","hooks.json")),e}function zd(){return U(process.env.QWEN_HOME||U(le(),".qwen"),"settings.json")}function Zd(){return U(process.env.XDG_CONFIG_HOME||U(le(),".config"),"crush","crush.json")}function Jd(){return U(le(),".junie","config.json")}function Kd(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 Vd(){return U(le(),".zcode","cli","config.json")}function Yd(){return U(le(),".grok","hooks","tokmizer.json")}function Wr(){return U(le(),".factory")}function An(){return[{file:U(Wr(),"hooks.json"),spec:qr},{file:U(Wr(),"hooks","hooks.json"),spec:qr},{file:U(Wr(),"settings.json"),spec:Qd}]}function Ti(e){try{let t=JSON.parse(Pd(e,"utf8"));return H(t)?t:null}catch{return null}}function $i(e,t){let n=t?e?.hooks:e;return H(n)&&Array.isArray(n.PreToolUse)&&n.PreToolUse.length>0}function Ri(){let[e,t,n]=An(),r=Vr(e.file)?e:Vr(t.file)?t:null;return r&&$i(Ti(r.file),!1)?r:$i(Ti(n.file),!0)?n:r??e}var Fd,jd,Bd,Ud,Gd,Wd,qd,Xd,qr,Qd,ep,Ci,Oi=g(()=>{"use strict";ye();Ei();Fd={mark:"tkr-copilot-hook",event:"PreToolUse",nested:!0,entry:e=>({type:"command",command:e,bash:e,powershell:e,timeout:10,timeoutSec:10}),prepare:Ai};jd={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:Ai};Bd={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};Ud={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};Gd={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};Wd={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:Kd};qd={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};Xd="tkr-droid-hook",qr={mark:Xd,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},Qd={...qr,nested:!0};ep={id:"droid",label:"Factory Droid",setup:"tkr setup-droid",bin:"tkr-droid-hook",restart:"Restart Droid, then check it with /hooks.",files:()=>[Ri().file],installed:()=>An().some(e=>Jr(e.file,e.spec)),ensure:async e=>{let t=Ri(),n=await Kr(t.file,t.spec,e);return n==="error"||await Promise.all(An().filter(r=>r.file!==t.file).map(r=>Rn(r.file,r.spec))),n},remove:async()=>{let e=await Promise.all(An().map(t=>Rn(t.file,t.spec)));return e.includes("error")?"error":e.includes("removed")?"removed":"absent"}},Ci=[He({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:()=>[Ld()]},Fd),ep,He({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:Hd},jd),He({id:"qwen-code",label:"Qwen Code",setup:"tkr setup-qwen",bin:"tkr-qwen-hook",restart:"Restart Qwen Code, then check it with /hooks.",files:()=>[zd()]},Bd),He({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[Zd()]},Ud),He({id:"junie",label:"Junie CLI",setup:"tkr setup-junie",bin:"tkr-junie-hook",restart:"Restart Junie CLI so it loads the new hook.",files:()=>[Jd()]},Gd),He({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[Vd()]},Wd),He({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:()=>[Yd()]},qd)]});function Ii(e){return np.has(e)||(rp[e]?.installed()??!1)}function Cn(e){return null}function On(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&&tp.includes(s)){let o=s;return{host:o,source:"env",os:n,arch:r,shimRecommended:!Ii(o)}}for(let o of Pi)if(o.vars.some(i=>e[i]))return{host:o.host,source:"env",os:n,arch:r,shimRecommended:!Ii(o.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}var Pi,tp,np,rp,In=g(()=>{"use strict";Xo();ti();ki();Oi();Pi=[{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:[]}],tp=[...Pi.map(e=>e.host),"shell"],np=new Set(["claude-code","codex"]),rp={cursor:{installed:Yo,setup:"tkr setup-cursor"},"gemini-cli":{installed:ei,setup:"tkr setup-gemini"},...Object.fromEntries(yi.map(e=>[e.host,{installed:()=>bi(e),setup:`tkr ${e.command}`}])),...Object.fromEntries(Ci.map(e=>[e.id,{installed:e.installed,setup:e.setup}]))}});import{appendFileSync as sp,mkdirSync as op,readFileSync as ip,writeFileSync as ap,renameSync as lp,statSync as cp,readdirSync as qx,rmSync as Yx,chmodSync as up}from"node:fs";import{join as Ni}from"node:path";function Di(){return Ni(S(),"sessions")}function mp(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Ni(Di(),`${t}.jsonl`)}function Pn(e,t){try{let n=mp(e);op(Di(),{recursive:!0,mode:448});let r=JSON.stringify({t:t.t??Math.floor(Date.now()/1e3),tool:t.tool,target:t.target.slice(0,pp),...t.fail?{fail:1}:{}});if(sp(n,`${r}
9
+ `,{mode:384}),up(n,384),cp(n).size>fp){let s=ip(n,"utf8").split(`
10
+ `).filter(a=>a.trim()!==""),o=s.slice(s.length-dp),i=`${n}.tmp-${process.pid}`;ap(i,`${o.join(`
11
11
  `)}
12
- `,{mode:384}),Xd(i,n)}}catch{}}var tp,np,Px,rp,Kr=g(()=>{"use strict";j();tp=96*1024,np=500,Px=168*3600*1e3,rp=120});import{readFileSync as yp}from"node:fs";import{join as bp}from"node:path";function be(){try{return yp(bp(S(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var In=g(()=>{"use strict";j()});var ct,Pn=g(()=>{"use strict";ct="[tkr: partial view; folded or omitted lines are not file text. Read with offset/limit for the exact lines before Edit or Write]"});var Yi=X((_S,qi)=>{qi.exports=Vi;Vi.sync=Wp;var Ki=$e("fs");function Kp(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 Wi(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:Kp(t,n)}function Vi(e,t,n){Ki.stat(e,function(r,s){n(r,r?!1:Wi(s,e,t))})}function Wp(e,t){return Wi(Ki.statSync(e),e,t)}});var na=X((wS,ta)=>{ta.exports=Qi;Qi.sync=Vp;var Xi=$e("fs");function Qi(e,t,n){Xi.stat(e,function(r,s){n(r,r?!1:ea(s,t))})}function Vp(e,t){return ea(Xi.statSync(e),t)}function ea(e,t){return e.isFile()&&qp(e,t)}function qp(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 sa=X((SS,ra)=>{var xS=$e("fs"),Dn;process.platform==="win32"||global.TESTING_WINDOWS?Dn=Yi():Dn=na();ra.exports=Yr;Yr.sync=Yp;function Yr(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){Yr(e,t||{},function(o,i){o?s(o):r(i)})})}Dn(e,t||{},function(r,s){r&&(r.code==="EACCES"||t&&t.ignoreErrors)&&(r=null,s=!1),n(r,s)})}function Yp(e,t){try{return Dn.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var fa=X((vS,ua)=>{var ut=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",oa=$e("path"),Xp=ut?";":":",ia=sa(),aa=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),la=(e,t)=>{let n=t.colon||Xp,r=e.match(/\//)||ut&&e.match(/\\/)?[""]:[...ut?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],s=ut?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=ut?s.split(n):[""];return ut&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:r,pathExt:o,pathExtExe:s}},ca=(e,t,n)=>{typeof t=="function"&&(n=t,t={}),t||(t={});let{pathEnv:r,pathExt:s,pathExtExe:o}=la(e,t),i=[],a=c=>new Promise((u,f)=>{if(c===r.length)return t.all&&i.length?u(i):f(aa(e));let d=r[c],p=/^".*"$/.test(d)?d.slice(1,-1):d,m=oa.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];ia(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)},Qp=(e,t)=>{t=t||{};let{pathEnv:n,pathExt:r,pathExtExe:s}=la(e,t),o=[];for(let i=0;i<n.length;i++){let a=n[i],l=/^".*"$/.test(a)?a.slice(1,-1):a,c=oa.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(ia.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 aa(e)};ua.exports=ca;ca.sync=Qp});var pa=X((ES,Xr)=>{"use strict";var da=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};Xr.exports=da;Xr.exports.default=da});var ya=X((TS,ga)=>{"use strict";var ma=$e("path"),em=fa(),tm=pa();function ha(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=em.sync(e.command,{path:n[tm({env:n})],pathExt:t?ma.delimiter:void 0})}catch{}finally{o&&process.chdir(r)}return i&&(i=ma.resolve(s?e.options.cwd:"",i)),i}function nm(e){return ha(e)||ha(e,!0)}ga.exports=nm});var ba=X((RS,es)=>{"use strict";var Qr=/([()\][%!^"`<>&|;, *?])/g;function rm(e){return e=e.replace(Qr,"^$1"),e}function sm(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(Qr,"^$1"),t&&(e=e.replace(Qr,"^$1")),e}es.exports.command=rm;es.exports.argument=sm});var _a=X(($S,ka)=>{"use strict";ka.exports=/^#!(.*)/});var xa=X((AS,wa)=>{"use strict";var om=_a();wa.exports=(e="")=>{let t=e.match(om);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),s=n.split("/").pop();return s==="env"?r:r?`${s} ${r}`:s}});var va=X((CS,Sa)=>{"use strict";var ts=$e("fs"),im=xa();function am(e){let n=Buffer.alloc(150),r;try{r=ts.openSync(e,"r"),ts.readSync(r,n,0,150,0),ts.closeSync(r)}catch{}return im(n.toString())}Sa.exports=am});var $a=X((OS,Ra)=>{"use strict";var lm=$e("path"),Ea=ya(),Ta=ba(),cm=va(),um=process.platform==="win32",fm=/\.(?:com|exe)$/i,dm=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function pm(e){e.file=Ea(e);let t=e.file&&cm(e.file);return t?(e.args.unshift(e.file),e.command=t,Ea(e)):e.file}function mm(e){if(!um)return e;let t=pm(e),n=!fm.test(t);if(e.options.forceShell||n){let r=dm.test(t);e.command=lm.normalize(e.command),e.command=Ta.command(e.command),e.args=e.args.map(o=>Ta.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 hm(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:mm(r)}Ra.exports=hm});var Oa=X((IS,Ca)=>{"use strict";var ns=process.platform==="win32";function rs(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 gm(e,t){if(!ns)return;let n=e.emit;e.emit=function(r,s){if(r==="exit"){let o=Aa(s,t);if(o)return n.call(e,"error",o)}return n.apply(e,arguments)}}function Aa(e,t){return ns&&e===1&&!t.file?rs(t.original,"spawn"):null}function ym(e,t){return ns&&e===1&&!t.file?rs(t.original,"spawnSync"):null}Ca.exports={hookChildProcess:gm,verifyENOENT:Aa,verifyENOENTSync:ym,notFoundError:rs}});var Na=X((PS,ft)=>{"use strict";var Ia=$e("child_process"),ss=$a(),os=Oa();function Pa(e,t,n){let r=ss(e,t,n),s=Ia.spawn(r.command,r.args,r.options);return os.hookChildProcess(s,r),s}function bm(e,t,n){let r=ss(e,t,n),s=Ia.spawnSync(r.command,r.args,r.options);return s.error=s.error||os.verifyENOENTSync(s.status,r),s}ft.exports=Pa;ft.exports.spawn=Pa;ft.exports.sync=bm;ft.exports._parse=ss;ft.exports._enoent=os});var P,is,w,ce,Vt=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})(P||(P={}));(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(is||(is={}));w=P.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,km,K,Mn=g(()=>{Vt();h=P.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"]),km=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),K=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,P.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()}};K.create=e=>new K(e)});var _m,ke,as=g(()=>{Mn();Vt();_m=(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,P.jsonStringifyReplacer)}`;break;case h.unrecognized_keys:n=`Unrecognized key(s) in object: ${P.joinValues(e.keys,", ")}`;break;case h.invalid_union:n="Invalid input";break;case h.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${P.joinValues(e.options)}`;break;case h.invalid_enum_value:n=`Invalid enum value. Expected ${P.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}"`:P.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,P.assertNever(e)}return{message:n}},ke=_m});function wm(e){Da=e}function dt(){return Da}var Da,Fn=g(()=>{as();Da=ke});function _(e,t){let n=dt(),r=qt({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===ke?void 0:ke].filter(s=>!!s)});e.common.issues.push(r)}var qt,xm,U,v,ze,G,Ln,jn,Ie,pt,ls=g(()=>{Fn();as();qt=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}},xm=[];U=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"}),ze=e=>({status:"dirty",value:e}),G=e=>({status:"valid",value:e}),Ln=e=>e.status==="aborted",jn=e=>e.status==="dirty",Ie=e=>e.status==="valid",pt=e=>typeof Promise<"u"&&e instanceof Promise});var Ma=g(()=>{});var x,Fa=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 Ba(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 jm(e){return new RegExp(`^${Ba(e)}$`)}function za(e){let t=`${Ha}T${Ba(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 Hm(e,t){return!!((t==="v4"||!t)&&Im.test(e)||(t==="v6"||!t)&&Nm.test(e))}function Bm(e,t){if(!$m.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 zm(e,t){return!!((t==="v4"||!t)&&Pm.test(e)||(t==="v6"||!t)&&Dm.test(e))}function Um(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 mt(e){if(e instanceof W){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=ne.create(mt(r))}return new W({...e._def,shape:()=>t})}else return e instanceof xe?new xe({...e._def,type:mt(e.element)}):e instanceof ne?ne.create(mt(e.unwrap())):e instanceof fe?fe.create(mt(e.unwrap())):e instanceof ue?ue.create(e.items.map(t=>mt(t))):e}function us(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=P.objectKeys(t),o=P.objectKeys(e).filter(a=>s.indexOf(a)!==-1),i={...e,...t};for(let a of o){let l=us(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=us(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 Ua(e,t){return new Qe({values:e,typeName:R.ZodEnum,...A(t)})}function ja(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function Za(e,t={},n){return e?Ne.create().superRefine((r,s)=>{let o=e(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=ja(t,r),l=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:l})}});if(!o){let i=ja(t,r),a=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:a})}}):Ne.create()}var re,La,O,Sm,vm,Em,Tm,Rm,$m,Am,Cm,Om,cs,Im,Pm,Nm,Dm,Mm,Fm,Ha,Lm,Pe,Ue,Ze,Ge,Je,ht,Ke,We,Ne,we,oe,gt,xe,W,Ve,_e,Hn,qe,ue,Bn,yt,bt,zn,Ye,Xe,Qe,et,De,se,ne,fe,tt,nt,kt,Zm,Yt,Xt,rt,Gm,R,Jm,Ga,Ja,Km,Wm,Ka,Vm,qm,Ym,Xm,Qm,eh,th,nh,rh,sh,oh,ih,ah,lh,ch,uh,fh,dh,ph,mh,hh,gh,yh,bh,kh,_h,wh,xh,Sh,vh,Eh,Th,Rh,$h,Wa=g(()=>{Mn();Fn();Fa();ls();Vt();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}},La=(e,t)=>{if(Ie(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 K(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 U,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(pt(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 La(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 Ie(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=>Ie(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(pt(s)?s:Promise.resolve(s));return La(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 xe.create(this)}promise(){return De.create(this,this._def)}or(t){return Ve.create([this,t],this._def)}and(t){return qe.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 tt({...A(this._def),innerType:this,defaultValue:n,typeName:R.ZodDefault})}brand(){return new Yt({typeName:R.ZodBranded,type:this,...A(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new nt({...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 Xt.create(this,t)}readonly(){return rt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Sm=/^c[^\s-]{8,}$/i,vm=/^[0-9a-z]+$/,Em=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Tm=/^[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,Rm=/^[a-z0-9_-]{21}$/i,$m=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Am=/^[-+]?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)?)??$/,Cm=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Om="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Im=/^(?:(?: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])$/,Pm=/^(?:(?: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])$/,Nm=/^(([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]))$/,Dm=/^(([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])$/,Mm=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Fm=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Ha="((\\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])))",Lm=new RegExp(`^${Ha}$`);Pe=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 U,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")Cm.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")cs||(cs=new RegExp(Om,"u")),cs.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")Tm.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")Rm.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")Sm.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")vm.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")Em.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"?za(o).test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:h.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?Lm.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:h.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?jm(o).test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:h.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?Am.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"duration",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?Hm(t.data,o.version)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"ip",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?Bm(t.data,o.alg)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"jwt",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?zm(t.data,o.version)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cidr",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?Mm.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"base64",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?Fm.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"base64url",code:h.invalid_string,message:o.message}),r.dirty()):P.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}};Pe.create=e=>new Pe({checks:[],typeName:R.ZodString,coerce:e?.coerce??!1,...A(e)});Ue=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 U;for(let o of this._def.checks)o.kind==="int"?P.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"?Um(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()):P.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"&&P.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)}};Ue.create=e=>new Ue({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 U;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()):P.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)});Ge=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 G(t.data)}};Ge.create=e=>new Ge({typeName:R.ZodBoolean,coerce:e?.coerce||!1,...A(e)});Je=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 U,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()):P.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}};Je.create=e=>new Je({checks:[],coerce:e?.coerce||!1,typeName:R.ZodDate,...A(e)});ht=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 G(t.data)}};ht.create=e=>new ht({typeName:R.ZodSymbol,...A(e)});Ke=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 G(t.data)}};Ke.create=e=>new Ke({typeName:R.ZodUndefined,...A(e)});We=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 G(t.data)}};We.create=e=>new We({typeName:R.ZodNull,...A(e)});Ne=class extends O{constructor(){super(...arguments),this._any=!0}_parse(t){return G(t.data)}};Ne.create=e=>new Ne({typeName:R.ZodAny,...A(e)});we=class extends O{constructor(){super(...arguments),this._unknown=!0}_parse(t){return G(t.data)}};we.create=e=>new we({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)});gt=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 G(t.data)}};gt.create=e=>new gt({typeName:R.ZodVoid,...A(e)});xe=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=>U.mergeArray(r,i));let o=[...n.data].map((i,a)=>s.type._parseSync(new re(n,i,n.path,a)));return U.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)}};xe.create=(e,t)=>new xe({type:e,minLength:null,maxLength:null,exactLength:null,typeName:R.ZodArray,...A(t)});W=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=P.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=>U.mergeObjectSync(r,c)):U.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 P.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 P.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return mt(this)}partial(t){let n={};for(let r of P.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 P.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 Ua(P.objectKeys(this.shape))}};W.create=(e,t)=>new W({shape:()=>e,unknownKeys:"strip",catchall:oe.create(),typeName:R.ZodObject,...A(t)});W.strictCreate=(e,t)=>new W({shape:()=>e,unknownKeys:"strict",catchall:oe.create(),typeName:R.ZodObject,...A(t)});W.lazycreate=(e,t)=>new W({shape:e,unknownKeys:"strip",catchall:oe.create(),typeName:R.ZodObject,...A(t)});Ve=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 K(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 K(l));return _(n,{code:h.invalid_union,unionErrors:a}),v}}get options(){return this._def.options}};Ve.create=(e,t)=>new Ve({options:e,typeName:R.ZodUnion,...A(t)});_e=e=>e instanceof Ye?_e(e.schema):e instanceof se?_e(e.innerType()):e instanceof Xe?[e.value]:e instanceof Qe?e.options:e instanceof et?P.objectValues(e.enum):e instanceof tt?_e(e._def.innerType):e instanceof Ke?[void 0]:e instanceof We?[null]:e instanceof ne?[void 0,..._e(e.unwrap())]:e instanceof fe?[null,..._e(e.unwrap())]:e instanceof Yt||e instanceof rt?_e(e.unwrap()):e instanceof nt?_e(e._def.innerType):[],Hn=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=_e(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)})}};qe=class extends O{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(o,i)=>{if(Ln(o)||Ln(i))return v;let a=us(o.value,i.value);return a.valid?((jn(o)||jn(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}))}};qe.create=(e,t,n)=>new qe({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=>U.mergeArray(n,i)):U.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)})};Bn=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?U.mergeObjectAsync(n,s):U.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:Pe.create(),valueType:t,typeName:R.ZodRecord,...A(n)})}},yt=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}}}};yt.create=(e,t,n)=>new yt({valueType:t,keyType:e,typeName:R.ZodMap,...A(n)});bt=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)}};bt.create=(e,t)=>new bt({valueType:e,minSize:null,maxSize:null,typeName:R.ZodSet,...A(t)});zn=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 qt({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,dt(),ke].filter(c=>!!c),issueData:{code:h.invalid_arguments,argumentsError:l}})}function s(a,l){return qt({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,dt(),ke].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 De){let a=this;return G(async function(...l){let c=new K([]),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 G(function(...l){let c=a._def.args.safeParse(l,o);if(!c.success)throw new K([r(l,c.error)]);let u=Reflect.apply(i,this,c.data),f=a._def.returns.safeParse(u,o);if(!f.success)throw new K([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(we.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(we.create()),returns:n||we.create(),typeName:R.ZodFunction,...A(r)})}},Ye=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})}};Ye.create=(e,t)=>new Ye({getter:e,typeName:R.ZodLazy,...A(t)});Xe=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}};Xe.create=(e,t)=>new Xe({value:e,typeName:R.ZodLiteral,...A(t)});Qe=class e extends O{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return _(n,{expected:P.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 G(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})}};Qe.create=Ua;et=class extends O{_parse(t){let n=P.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==w.string&&r.parsedType!==w.number){let s=P.objectValues(n);return _(r,{expected:P.joinValues(s),received:r.parsedType,code:h.invalid_type}),v}if(this._cache||(this._cache=new Set(P.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=P.objectValues(n);return _(r,{received:r.data,code:h.invalid_enum_value,options:s}),v}return G(t.data)}get enum(){return this._def.values}};et.create=(e,t)=>new et({values:e,typeName:R.ZodNativeEnum,...A(t)});De=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 G(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};De.create=(e,t)=>new De({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"?ze(l.value):n.value==="dirty"?ze(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"?ze(a.value):n.value==="dirty"?ze(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(!Ie(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=>Ie(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:n.value,value:a})):v);P.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?G(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?G(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};fe.create=(e,t)=>new fe({innerType:e,typeName:R.ZodNullable,...A(t)});tt=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}};tt.create=(e,t)=>new tt({innerType:e,typeName:R.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...A(t)});nt=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 pt(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new K(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new K(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};nt.create=(e,t)=>new nt({innerType:e,typeName:R.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...A(t)});kt=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}}};kt.create=e=>new kt({typeName:R.ZodNaN,...A(e)});Zm=Symbol("zod_brand"),Yt=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}},Xt=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(),ze(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})}},rt=class extends O{_parse(t){let n=this._def.innerType._parse(t),r=s=>(Ie(s)&&(s.value=Object.freeze(s.value)),s);return pt(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};rt.create=(e,t)=>new rt({innerType:e,typeName:R.ZodReadonly,...A(t)});Gm={object:W.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={}));Jm=(e,t={message:`Input not instance of ${e.name}`})=>Za(n=>n instanceof e,t),Ga=Pe.create,Ja=Ue.create,Km=kt.create,Wm=Ze.create,Ka=Ge.create,Vm=Je.create,qm=ht.create,Ym=Ke.create,Xm=We.create,Qm=Ne.create,eh=we.create,th=oe.create,nh=gt.create,rh=xe.create,sh=W.create,oh=W.strictCreate,ih=Ve.create,ah=Hn.create,lh=qe.create,ch=ue.create,uh=Bn.create,fh=yt.create,dh=bt.create,ph=zn.create,mh=Ye.create,hh=Xe.create,gh=Qe.create,yh=et.create,bh=De.create,kh=se.create,_h=ne.create,wh=fe.create,xh=se.createWithPreprocess,Sh=Xt.create,vh=()=>Ga().optional(),Eh=()=>Ja().optional(),Th=()=>Ka().optional(),Rh={string:(e=>Pe.create({...e,coerce:!0})),number:(e=>Ue.create({...e,coerce:!0})),boolean:(e=>Ge.create({...e,coerce:!0})),bigint:(e=>Ze.create({...e,coerce:!0})),date:(e=>Je.create({...e,coerce:!0}))},$h=v});var k={};Dt(k,{BRAND:()=>Zm,DIRTY:()=>ze,EMPTY_PATH:()=>xm,INVALID:()=>v,NEVER:()=>$h,OK:()=>G,ParseStatus:()=>U,Schema:()=>O,ZodAny:()=>Ne,ZodArray:()=>xe,ZodBigInt:()=>Ze,ZodBoolean:()=>Ge,ZodBranded:()=>Yt,ZodCatch:()=>nt,ZodDate:()=>Je,ZodDefault:()=>tt,ZodDiscriminatedUnion:()=>Hn,ZodEffects:()=>se,ZodEnum:()=>Qe,ZodError:()=>K,ZodFirstPartyTypeKind:()=>R,ZodFunction:()=>zn,ZodIntersection:()=>qe,ZodIssueCode:()=>h,ZodLazy:()=>Ye,ZodLiteral:()=>Xe,ZodMap:()=>yt,ZodNaN:()=>kt,ZodNativeEnum:()=>et,ZodNever:()=>oe,ZodNull:()=>We,ZodNullable:()=>fe,ZodNumber:()=>Ue,ZodObject:()=>W,ZodOptional:()=>ne,ZodParsedType:()=>w,ZodPipeline:()=>Xt,ZodPromise:()=>De,ZodReadonly:()=>rt,ZodRecord:()=>Bn,ZodSchema:()=>O,ZodSet:()=>bt,ZodString:()=>Pe,ZodSymbol:()=>ht,ZodTransformer:()=>se,ZodTuple:()=>ue,ZodType:()=>O,ZodUndefined:()=>Ke,ZodUnion:()=>Ve,ZodUnknown:()=>we,ZodVoid:()=>gt,addIssueToContext:()=>_,any:()=>Qm,array:()=>rh,bigint:()=>Wm,boolean:()=>Ka,coerce:()=>Rh,custom:()=>Za,date:()=>Vm,datetimeRegex:()=>za,defaultErrorMap:()=>ke,discriminatedUnion:()=>ah,effect:()=>kh,enum:()=>gh,function:()=>ph,getErrorMap:()=>dt,getParsedType:()=>ce,instanceof:()=>Jm,intersection:()=>lh,isAborted:()=>Ln,isAsync:()=>pt,isDirty:()=>jn,isValid:()=>Ie,late:()=>Gm,lazy:()=>mh,literal:()=>hh,makeIssue:()=>qt,map:()=>fh,nan:()=>Km,nativeEnum:()=>yh,never:()=>th,null:()=>Xm,nullable:()=>wh,number:()=>Ja,object:()=>sh,objectUtil:()=>is,oboolean:()=>Th,onumber:()=>Eh,optional:()=>_h,ostring:()=>vh,pipeline:()=>Sh,preprocess:()=>xh,promise:()=>bh,quotelessJson:()=>km,record:()=>uh,set:()=>dh,setErrorMap:()=>wm,strictObject:()=>oh,string:()=>Ga,symbol:()=>qm,transformer:()=>kh,tuple:()=>ch,undefined:()=>Ym,union:()=>ih,unknown:()=>eh,util:()=>P,void:()=>nh});var fs=g(()=>{Fn();ls();Ma();Vt();Wa();Mn()});var _t=g(()=>{fs();fs()});var Me,Qt=g(()=>{"use strict";_t();Me=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 Ah(e,t){let n=e.slice(0,t).split(/\r?\n/);return[n.length,n.pop().length+1]}function Ch(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}),lp(i,n)}}catch{}}var fp,dp,eS,pp,Yr=g(()=>{"use strict";j();fp=96*1024,dp=500,eS=168*3600*1e3,pp=120});import{readFileSync as $p}from"node:fs";import{join as Rp}from"node:path";function be(){try{return $p(Rp(S(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var Nn=g(()=>{"use strict";j()});var ft,Dn=g(()=>{"use strict";ft="[tkr: partial view; folded or omitted lines are not file text. Read with offset/limit for the exact lines before Edit or Write]"});function Hp(e,t){let n=e.slice(0,t).split(/\r?\n/);return[n.length,n.pop().length+1]}function Bp(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,st=g(()=>{E=class e extends Error{line;column;codeblock;constructor(t,n){let[r,s]=Ah(n.toml,n.ptr),o=Ch(n.toml,r,s);super(`Invalid TOML document: ${t}
14
+ `))}return s}var E,Be=g(()=>{E=class e extends Error{line;column;codeblock;constructor(t,n){let[r,s]=Hp(n.toml,n.ptr),o=Bp(n.toml,r,s);super(`Invalid TOML document: ${t}
15
15
 
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 Un(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 ds=g(()=>{st();});var Oh,ot,ps=g(()=>{Oh=/^(\d{4}-\d{2}-\d{2})?[Tt ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|z|[-+]\d{2}:\d{2})?$/i,ot=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(Oh);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 hs(e,t){return e===32||e===9||e===10||e===13||t&&(e===t||e===44)||e===35}function tn(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?Ya(e):qa(e);return e.d++,s}return r===34||r===39?Un(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?Zn(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?Ih(e,r,t):e.s.charCodeAt(e.p+2)===58?Ph(e,r,t):Zn(e,e.p,r,0,t)}function Zn(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||hs(o=e.s.charCodeAt(e.p),s))return e.bi===!0?0n:0;if(!r){if(o===120)return ms(e,t,16,s);if(o===98)return ms(e,t,2,s);if(o===111)return ms(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),!hs(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):Va(e,l,10,t)}function ms(e,t,n,r){let s,o=1;for(;++e.p<e.s.length&&(s=e.s.charCodeAt(e.p),!hs(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("_","")),Va(e,i,n,t)}function Va(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 Ih(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 Zn(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 en(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 en(e,i,1,s,r,"[+00:00]")}if(t===43||t===45){let i=e.s.slice(r,e.p+=6);return en(e,i,1,s,r,!e.ld&&"["+e.s.slice(e.p-6,e.p)+"]")}}let o=e.s.slice(r,e.p);return en(e,o,2,s,r)}function Ph(e,t,n){let r=e.p;if(!Q(t)||!Q(e.s.charCodeAt(++e.p)))return Zn(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 en(e,s,4,!1,r)}function en(e,t,n,r,s,o){if(e.ld){let i=new ot(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 gs=g(()=>{ds();ys();st();ps();});function Nh(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;Nh(e)}}var bs=g(()=>{st();});function Gn(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(Un(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 qa(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=Gn(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=tn(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 Ya(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(tn(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 ys=g(()=>{ds();gs();bs();st();});function Xa(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 Qa(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 ks(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=Gn(n,93);c&&(e.charCodeAt(n.p)!==93&&E.x("expected end of table array declaration",n),n.p++);let f=Xa(n,u,r,s,c?2:1);f?(l=f[2],a=f[1]):(Qa(n,f,o),i=!0)}else{o=n.p;let c=Gn(n),u=Xa(n,c,a,l,0);!u&&!i&&Qa(n,u,o),ie(n,!0,!0);let f=tn(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 el=g(()=>{ys();gs();bs();st();});function nn(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 Mh(e){for(let t=0;t<e.length;t++)if(nn(e[t])!=="object")return!1;return e.length!=0}function nl(e){return JSON.stringify(e).replaceAll("\x7F","\\u007f")}function Fh(e){return nl(tl?e.toWellFormed():e)}function rl(e){if(Dh.test(e))return e;if(tl&&!e.isWellFormed())throw new RangeError("key contains illegal lone surrogates");return nl(e)}function _s(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 Fh(e);case"date":if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString();case"object":return Lh(e,n,r,s);case"array":return jh(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 Lh(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+=rl(a)+" = "+_s(e[a],nn(e[a]),t-1,n,r)}return o+" }"}function jh(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+=_s(e[o],nn(e[o]),t-1,n,r)}return s+" ]"}function Hh(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&&`
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 Mn(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 p=0;p<f;p++,e.p++){let d=e.s.charCodeAt(e.p),m=d>=48&&d<=57?d-48:d>=65&&d<=70?d-65+10:d>=97&&d<=102?d-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 ts=g(()=>{Be();});var zp,ze,ns=g(()=>{zp=/^(\d{4}-\d{2}-\d{2})?[Tt ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|z|[-+]\d{2}:\d{2})?$/i,ze=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(zp);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 X(e,t=10){return t===16?e>47&&e<58||e>64&&e<71||e>96&&e<103:e>47&&e<48+t}function ss(e,t){return e===32||e===9||e===10||e===13||t&&(e===t||e===44)||e===35}function Xt(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?Bi(e):Hi(e);return e.d++,s}return r===34||r===39?Mn(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?Fn(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?Up(e,r,t):e.s.charCodeAt(e.p+2)===58?Zp(e,r,t):Fn(e,e.p,r,0,t)}function Fn(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||ss(o=e.s.charCodeAt(e.p),s))return e.bi===!0?0n:0;if(!r){if(o===120)return rs(e,t,16,s);if(o===98)return rs(e,t,2,s);if(o===111)return rs(e,t,8,s)}o===46?i=2:o===101||o===69?i=4:E.x("illegal leading zero",e,t)}else X(o)||E.x("invalid value",e,t);for(;++e.p<e.s.length&&(o=e.s.charCodeAt(e.p),!ss(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)||(X(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):ji(e,l,10,t)}function rs(e,t,n,r){let s,o=1;for(;++e.p<e.s.length&&(s=e.s.charCodeAt(e.p),!ss(s,r));)s===95?(o&1&&E.x("illegal underscore",e),o=3):X(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("_","")),ji(e,i,n,t)}function ji(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 Up(e,t,n){let r=e.p++,s;if(!X(t)||!X(e.s.charCodeAt(e.p++))||!X(e.s.charCodeAt(e.p++))||!X(e.s.charCodeAt(e.p++)))return Fn(e,e.p=r,t,0,n);if(e.p+=5,X(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,!X(e.s.charCodeAt(e.p+1))))&&t!==84&&t!==116){let i=e.s.slice(r,e.p);return Yt(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(;X(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 Yt(e,i,1,s,r,"[+00:00]")}if(t===43||t===45){let i=e.s.slice(r,e.p+=6);return Yt(e,i,1,s,r,!e.ld&&"["+e.s.slice(e.p-6,e.p)+"]")}}let o=e.s.slice(r,e.p);return Yt(e,o,2,s,r)}function Zp(e,t,n){let r=e.p;if(!X(t)||!X(e.s.charCodeAt(++e.p)))return Fn(e,--e.p,t,0,n);if(e.s.charCodeAt(e.p+=4)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;X(e.s.charCodeAt(++e.p)););let s=e.s.slice(r,e.p);return Yt(e,s,4,!1,r)}function Yt(e,t,n,r,s,o){if(e.ld){let i=new ze(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 os=g(()=>{ts();is();Be();ns();});function Gp(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 oe(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;Gp(e)}}var as=g(()=>{Be();});function Ln(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(Mn(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 Hi(e){let t=e.p++,n=Object.create(null),r=new Set,s;for(;e.p<e.s.length;){if(oe(e),(s=e.s.charCodeAt(e.p))===125)return e.p++,n;let o,i=n,a=!1,l=e.p,c=Ln(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 p=o==="__proto__";if(e.uk&&(p||o==="constructor")){i=e.uk!==1&&E.x("document contains an unsafe property",e,l);break}!a&&p&&Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0})}a&&E.x("trying to redefine an already defined value",e,l),oe(e,!0,!0);let u=Xt(e,125);if(i&&typeof(i[o]=u)=="object"&&r.add(u),oe(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 Bi(e){let t=e.p++,n=[],r;for(;e.p<e.s.length;){if(oe(e),(r=e.s.charCodeAt(e.p))===93)return e.p++,n;if(n.push(Xt(e,93)),oe(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 is=g(()=>{ts();os();as();Be();});function zi(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 Ui(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 jn(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++,oe(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=Ln(n,93);c&&(e.charCodeAt(n.p)!==93&&E.x("expected end of table array declaration",n),n.p++);let f=zi(n,u,r,s,c?2:1);f?(l=f[2],a=f[1]):(Ui(n,f,o),i=!0)}else{o=n.p;let c=Ln(n),u=zi(n,c,a,l,0);!u&&!i&&Ui(n,u,o),oe(n,!0,!0);let f=Xt(n,void 0);u&&!i&&(u[1][u[0]]=f)}oe(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),oe(n)}return r}var Zi=g(()=>{is();os();as();Be();});function Qt(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 Kp(e){for(let t=0;t<e.length;t++)if(Qt(e[t])!=="object")return!1;return e.length!=0}function Ji(e){return JSON.stringify(e).replaceAll("\x7F","\\u007f")}function Wp(e){return Ji(Gi?e.toWellFormed():e)}function Ki(e){if(Jp.test(e))return e;if(Gi&&!e.isWellFormed())throw new RangeError("key contains illegal lone surrogates");return Ji(e)}function ls(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 Wp(e);case"date":if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString();case"object":return Vp(e,n,r,s);case"array":return qp(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 Vp(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+=Ki(a)+" = "+ls(e[a],Qt(e[a]),t-1,n,r)}return o+" }"}function qp(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+=ls(e[o],Qt(e[o]),t-1,n,r)}return s+" ]"}function Yp(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+=ws(0,e[i],t,n,r,s);return o}function ws(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=nn(t[u]);if(f==="symbol"||f==="function")throw new TypeError(`cannot serialize values of type '${f}'`);let d=rl(u);if(f==="array"&&Mh(t[u]))a+=(a&&`
20
- `)+Hh(t[u],n?`${n}.${d}`:d,r-1,s,o);else if(f==="object"){let p=n?`${n}.${d}`:d;a+=(a&&`
21
- `)+ws(p,t[u],p,r-1,s,o)}else i+=d,i+=" = ",i+=_s(t[u],f,r,s,o),i+=`
19
+ `,o+=cs(0,e[i],t,n,r,s);return o}function cs(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=Qt(t[u]);if(f==="symbol"||f==="function")throw new TypeError(`cannot serialize values of type '${f}'`);let p=Ki(u);if(f==="array"&&Kp(t[u]))a+=(a&&`
20
+ `)+Yp(t[u],n?`${n}.${p}`:p,r-1,s,o);else if(f==="object"){let d=n?`${n}.${p}`:p;a+=(a&&`
21
+ `)+cs(d,t[u],d,r-1,s,o)}else i+=p,i+=" = ",i+=ls(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 xs(e,{maxDepth:t=1e3,numbersAsFloat:n=!1,strictTemporal:r=!1}={}){if(nn(e)!=="object")throw new TypeError("stringify can only be called with an object");let s=ws(0,e,"",t,n,r);return s[s.length-1]!==`
24
+ ${a}`:i||a}function us(e,{maxDepth:t=1e3,numbersAsFloat:n=!1,strictTemporal:r=!1}={}){if(Qt(e)!=="object")throw new TypeError("stringify can only be called with an object");let s=cs(0,e,"",t,n,r);return s[s.length-1]!==`
25
25
  `?s+`
26
- `:s}var Dh,tl,sl=g(()=>{Dh=/^[a-z0-9-_]+$/i,tl=!!"".isWellFormed});var Ss={};Dt(Ss,{TomlDate:()=>ot,TomlError:()=>E,default:()=>Bh,parse:()=>ks,stringify:()=>xs});var Bh,vs=g(()=>{el();sl();ps();st();Bh={parse:ks,stringify:xs,TomlDate:ot,TomlError:E}});import{readdir as zh,readFile as Uh}from"node:fs/promises";import{join as il,dirname as Zh}from"node:path";import{fileURLToPath as Gh}from"node:url";function Wh(){return!1}async function al(){return wt||(Wh()?(wt=await Vh(Kh),wt):(!ol&&process.env.TOKMIZER_DEBUG==="1"&&(process.stderr.write(`tokmizer: disk loader disabled (set TOKMIZER_DEV=1 to re-enable for local dev).
27
- `),ol=!0),wt=new Map,wt))}async function Vh(e){let t=new Map,n,r;try{n=(await Promise.resolve().then(()=>(vs(),Ss))).parse,r=(await zh(e)).filter(s=>s.endsWith(".toml"))}catch{return t}for(let s of r){let o=await Uh(il(e,s),"utf8"),a=n(o).filters;if(a)for(let[l,c]of Object.entries(a)){let u=Me.parse({slug:l,...c});t.set(l,{...u,matchRegex:new RegExp(u.match_command)})}}return t}var Jh,Kh,wt,ol,ll=g(()=>{"use strict";Qt();Jh=Zh(Gh(import.meta.url)),Kh=process.env.TOKMIZER_FILTERS_DIR||il(Jh,"..","..","filters"),wt=null,ol=!1});var dl={};Dt(dl,{OutputVerbosity:()=>ul,ReducerLevel:()=>fl,Settings:()=>xt,slugKey:()=>ee});import{createHash as qh}from"node:crypto";function ee(e){let t=cl.get(e);return t||(t=qh("sha256").update(`tkr:${e}`).digest("hex").slice(0,16),cl.set(e,t)),t}var ul,fl,xt,cl,Fe=g(()=>{"use strict";_t();ul=k.enum(["normal","compact","minimal"]),fl=k.enum(["off","light","balanced","max"]),xt=k.object({enabled:k.boolean().default(!0),telemetryOptIn:k.boolean().default(!0),outputVerbosity:ul.default("compact"),reducer:fl.default("off"),filters:k.object({enableAll:k.boolean().default(!0),disabled:k.array(k.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),cl=new Map});function St(e,t,n,r=t){let s=pl.get(r);s||(s=new Map,pl.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>=Yh){let l=s.keys().next().value;l&&s.delete(l)}return s.set(o,a),a}var pl,Yh,Jn=g(()=>{"use strict";Fe();pl=new WeakMap,Yh=256});function de(e){return e.replace(Xh,"").replace(Qh,"")}var Xh,Qh,rn=g(()=>{"use strict";Xh=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,Qh=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g});function ml(e,t){return t.length===0?e:e.filter(n=>!t.some(r=>r.test(n)))}var hl=g(()=>{"use strict"});function gl(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 yl=g(()=>{"use strict"});function vt(e){return`\u2026 (${e} more lines omitted)`}function bl(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),vt(s.length),...e.slice(e.length-r)],dropped:s}}var Es=g(()=>{"use strict"});function kl(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)eg.test(a)&&!Le.test(a)?(i.push(a),s+=1):(o(i),i=[],s=0,r.push(a));return o(i),r}var eg,Le,Ts=g(()=>{"use strict";eg=/^\s*(?:[✓✔√]|ok )/,Le=/✕|✗|×|\bFAIL\b|\bERROR\b|\bFATAL\b|\bError|\berror|Expected|Received|\bfailed\b|^\s*Tests?:|^\s*Test Suites?:/});function _l(e){return e.map(t=>t.replace(tg,n=>{let r=n.split("/").filter(Boolean);return r.length<=2?n:`\u2026/${r.slice(-2).join("/")}`}))}var tg,wl=g(()=>{"use strict";tg=/(?:\/[\w.@+-]+){3,}/g});function ig(e){let t=sg.exec(e);return!t||og.has(t[1])?!1:!/=>|\bfunction\b/.test(t[2])}function lg(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 cg(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==="&"))&&lg(e,s+1,o)&&(r=o),s+=1;continue}o==="{"||o==="("||o==="["?n+=1:(o==="}"||o===")"||o==="]")&&(n-=1),s+=1}return n}function fg(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 Rs(e){let t=new Array(e.length).fill(!1);for(let n=0;n<e.length;n+=1){let r=ug.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 sn(e,t=3,n=!1){let r=[],s=0;for(;s<e.length;){let o=e[s];if(ng.test(o)&&rg.test(o)||ig(o)||ag.test(o)){let i={inBlockComment:!1,inTemplate:!1},a=0,l=s,c=!1;for(;l<e.length&&l-s<200;)if(a+=cg(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(fg(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 Wn(e){let t=e.slice(0,4096);return!(!dg.test(t)||t.split(`
28
- `).length<6)}var ng,rg,sg,og,ag,Kn,ug,dg,Et=g(()=>{"use strict";ng=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,rg=/\{\s*$/,sg=/^\s*(?:(?:public|private|protected|static|async|get|set|readonly|override)\s+)*([\w$]+)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\{\s*$/,og=new Set(["if","for","while","switch","catch","do","with","return","else","function","await","yield"]);ag=/^\s*(?:if|for|while|switch|try|do)\b[^{}]*\{\s*$/;Kn=/^\s*… \d+ lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/,ug=/^\s*… (\d+) lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/;dg=/\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 Al(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(Tl.test(s.replace(El,""))&&!Rl.test(s)&&!$l.test(s)){n+=1;continue}r(),t.push(s)}return r(),t}function vl(e){if(e.trim()===""||/^\s/.test(e)||Rl.test(e)||$l.test(e)||mg.test(e))return null;let t=e.replace(El,"");return Tl.test(t)||pg.test(t)?"\0verbose":e.replace(/\d+/g,"#")}function Cl(e){let t=[],n=0;for(;n<e.length;){let r=vl(e[n]),s=n+1;if(r!==null)for(;s<e.length&&vl(e[s])===r;)s+=1;let o=s-n;r===null||o<hg?t.push(...e.slice(n,s)):(t.push(...e.slice(n,n+xl)),t.push(`\u2026 ${o-xl-Sl} similar log lines dropped \u2026`),t.push(...e.slice(s-Sl,s))),n=s}return t}function Vn(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.trim()?`${r} \xD7${n}`:r),r=e[s],n=1}return t.push(n>1&&r.trim()?`${r} \xD7${n}`:r),t}function Ol(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 El,Tl,Rl,$l,pg,mg,hg,xl,Sl,qn=g(()=>{"use strict";Ts();El=/^\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*/,Tl=/^\s*(?:\[(?:DEBUG|TRACE|INFO|VERBOSE)\]|(?:DEBUG|TRACE|INFO|VERBOSE)(?!\s*:))(?=\s|:|$)(?!\s*[+\-*\/%&|^?]*=)/,Rl=new RegExp(Le.source,"i"),$l=/\bWARN(?:ING)?\b/i;pg=/^(?:DEBUG|INFO):[\w.-]+:/,mg=/Error|Exception|Traceback|panic|fail|FAIL|Fail|SEVERE|CRITICAL/,hg=8,xl=1,Sl=2});function V(e,t){Il.set(e,t)}function Pl(e){return Il.get(e)}var Il,Se=g(()=>{"use strict";Il=new Map});function wg(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 xg(e){let t=/^(\d+(?:[.,]\d+)?)([KMGTPkmgtp])?/.exec(e),n=t[2]?_g[t[2].toLowerCase()]:0;return Number(t[1].replace(",","."))*1024**n}function Sg(e){let t=kg.exec(e);if(!t)return null;let n=t[4].trim();if(n===""||n==="."||n==="..")return null;let r=t[3],s=/^\d+$/.test(r)?wg(Number(r)):r,o=e.charCodeAt(0)===100;return{name:n,size:s,sizeKey:xg(r),isDir:o,mode:t[1],owner:t[2].replace(/\s+/g," ")}}function vg(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 Eg(e){let t=[],n=[],r=!1;for(let d of e){if(d.trim()===""||/^total\s+\d+/.test(d))continue;if(yg.test(d.trim())||!gg.test(d))return e;let p=Sg(d);if(!p){if(/\s\.\.?$/.test(d))continue;return e}r=!0,(p.isDir?t:n).push(p)}if(!r)return e;let s=(d,p)=>d.name.localeCompare(p.name);t.sort(s),n.sort((d,p)=>p.sizeKey-d.sizeKey||s(d,p));let o=[...t,...n],i=o.every(d=>d.owner===o[0].owner)?o[0].owner:null,a=[];for(let d of o){let p=`${d.mode} ${i===null?`${d.owner} `:""}${d.isDir?`${d.name}/`:d.name}`;a.push(d.isDir?p:`${p} ${d.size}`)}if(a.length>$s){let d=a.length-$s;a=[...a.slice(0,$s),`\u2026 ${d} more lines omitted`]}let l=n.length===1?"file":"files",c=t.length===1?"dir":"dirs",u=vg(n),f=`${n.length} ${l}, ${t.length} ${c}`+(u?` (${u})`:"")+(i===null?"":`, owner ${i.replace(" ",":")}`);return a.push(f),a}var gg,yg,bg,kg,_g,$s,Nl=g(()=>{"use strict";Se();gg=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/,yg=/^[./~][^\s]*:$/,bg=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})?`,kg=new RegExp(String.raw`^(\S+)\s+\d+\s+(\S+(?:\s+\S+)??)\s+(\d+(?:[.,]\d+)?[KMGTPkmgtp]?i?B?)\s+(?:${bg})\s+(.+)$`),_g={k:1,m:2,g:3,t:4,p:5},$s=1e3;V("smart-ls",Eg)});var Dl=g(()=>{"use strict";Et();Se();V("smart-read",e=>sn(e))});function Tg(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 Rg(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 $g(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!=="")?Tg(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=Rg(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>Ml){let c=Math.max(0,Ml-s.length),u=l.length-c;return[...l.slice(0,c),`\u2026 ${u} more lines omitted`,...s]}return[...l,...s]}var Ml,Fl=g(()=>{"use strict";Se();Ml=1e3;V("smart-find",$g)});function Hl(e){let t=e.trim();return t.length>Ll?`${t.slice(0,Ll)}\u2026`:t}function Ng(e){let t=[],n="";for(let r of e){let s=n?`${n}, ${r}`:r;s.length>=Cg&&n?(t.push(`${n},`),n=r):n=s}return n&&t.push(n),t}function Dg(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 Mg(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=Og.exec(p),b=Ig.exec(p);if(m&&b)return e;let y=m||b?null:Pg.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},N=n.get($)??[];N.push(T),n.set($,N),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=jl.test(p)?1:0,y=jl.test(m)?1:0;return b-y||(p<m?-1:p>m?1:0)}),l=a.length>1?Dg(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?"-":":"} ${Hl(m.content)}`):u.push(` ${Hl(m.content)}`)}let f=a.length>1&&u.length>Ag?Ng(a.map(p=>`${c(p)} (${r.get(p)??0})`)):[],d=[`${o}m ${a.length}f${l?` in ${l}/`:""}:`,...f,"",...u];if(d.length>As){let p=d.length-As;return[...d.slice(0,As),`\u2026 ${p} more lines omitted`]}return d}var As,Ll,Ag,Cg,Og,Ig,Pg,jl,Bl=g(()=>{"use strict";Se();As=1e3,Ll=200,Ag=60,Cg=190,Og=/^([^\s:]+):(\d+):(.*)$/,Ig=/^([^:]+?)-(\d+)-(.*)$/,Pg=/^([^\s:]+):(.*)$/,jl=/(?:^|\/)(?:__tests__|tests?|spec|fixtures?|__mocks__|__snapshots__)\/|\.(?:test|spec)\.[^/]+$/i;V("smart-grep",Mg)});function Hg(e){if(!e.some(c=>zl.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=Fg.test(u),d=f?c.slice(s):c,p=Lg.test(d),m=i&&p?null:zl.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<=jg?t.push(c):(r+=1,o=f?u:"");continue}l(),t.push(c)}return l(),t}var zl,Fg,Lg,jg,Ul=g(()=>{"use strict";Se();zl=/^(?:([|\\/ ._-]*\*[|\\/* ._-]* ))?commit [0-9a-f]{7,40}\b/,Fg=/^[|\\/* ._-]*$/,Lg=/^ {4}/,jg=2;V("smart-log",Hg)});var Bg,zg,Ug,Zl=g(()=>{"use strict";Se();Bg=/^[\s=]+$/,zg=/^\s*=+\s+(.*?)\s+=+\s*$/,Ug=512;V("strip-banners",e=>{let t=[];for(let n of e){if(Bg.test(n))continue;let r=n.length<=Ug?zg.exec(n):null;t.push(r?r[1]:n)}return t})});function Zg(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 Gl=g(()=>{"use strict";Se();V("squeeze-output",Zg)});function Gg(e){return e==="compact"?.6:e==="minimal"?.3:1}function Kg(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 Wg(e){let t=Jl.get(e);if(t)return t;let n=e.strip_lines_matching.map(s=>new RegExp(s)),r={def:e,stripRegexes:n};return Jl.set(e,r),r}function Yn(e,t,n={}){return Cs(e,t,n).text}function Cs(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=Wg(t),o=e;t.strip_ansi&&(o=de(o));let i=o.endsWith(`
26
+ `:s}var Jp,Gi,Wi=g(()=>{Jp=/^[a-z0-9-_]+$/i,Gi=!!"".isWellFormed});var fs={};Lt(fs,{TomlDate:()=>ze,TomlError:()=>E,default:()=>Xp,parse:()=>jn,stringify:()=>us});var Xp,Hn=g(()=>{Zi();Wi();ns();Be();Xp={parse:jn,stringify:us,TomlDate:ze,TomlError:E}});var ca=Y((mv,la)=>{la.exports=aa;aa.sync=ym;var oa=Te("fs");function gm(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 ia(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:gm(t,n)}function aa(e,t,n){oa.stat(e,function(r,s){n(r,r?!1:ia(s,e,t))})}function ym(e,t){return ia(oa.statSync(e),e,t)}});var ma=Y((hv,pa)=>{pa.exports=fa;fa.sync=bm;var ua=Te("fs");function fa(e,t,n){ua.stat(e,function(r,s){n(r,r?!1:da(s,t))})}function bm(e,t){return da(ua.statSync(e),t)}function da(e,t){return e.isFile()&&km(e,t)}function km(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 ga=Y((yv,ha)=>{var gv=Te("fs"),zn;process.platform==="win32"||global.TESTING_WINDOWS?zn=ca():zn=ma();ha.exports=ds;ds.sync=_m;function ds(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){ds(e,t||{},function(o,i){o?s(o):r(i)})})}zn(e,t||{},function(r,s){r&&(r.code==="EACCES"||t&&t.ignoreErrors)&&(r=null,s=!1),n(r,s)})}function _m(e,t){try{return zn.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var Sa=Y((bv,xa)=>{var dt=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",ya=Te("path"),wm=dt?";":":",ba=ga(),ka=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),_a=(e,t)=>{let n=t.colon||wm,r=e.match(/\//)||dt&&e.match(/\\/)?[""]:[...dt?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],s=dt?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=dt?s.split(n):[""];return dt&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:r,pathExt:o,pathExtExe:s}},wa=(e,t,n)=>{typeof t=="function"&&(n=t,t={}),t||(t={});let{pathEnv:r,pathExt:s,pathExtExe:o}=_a(e,t),i=[],a=c=>new Promise((u,f)=>{if(c===r.length)return t.all&&i.length?u(i):f(ka(e));let p=r[c],d=/^".*"$/.test(p)?p.slice(1,-1):p,m=ya.join(d,e),y=!d&&/^\.[\\\/]/.test(e)?e.slice(0,2)+m:m;u(l(y,c,0))}),l=(c,u,f)=>new Promise((p,d)=>{if(f===s.length)return p(a(u+1));let m=s[f];ba(c+m,{pathExt:o},(y,b)=>{if(!y&&b)if(t.all)i.push(c+m);else return p(c+m);return p(l(c,u,f+1))})});return n?a(0).then(c=>n(null,c),n):a(0)},xm=(e,t)=>{t=t||{};let{pathEnv:n,pathExt:r,pathExtExe:s}=_a(e,t),o=[];for(let i=0;i<n.length;i++){let a=n[i],l=/^".*"$/.test(a)?a.slice(1,-1):a,c=ya.join(l,e),u=!l&&/^\.[\\\/]/.test(e)?e.slice(0,2)+c:c;for(let f=0;f<r.length;f++){let p=u+r[f];try{if(ba.sync(p,{pathExt:s}))if(t.all)o.push(p);else return p}catch{}}}if(t.all&&o.length)return o;if(t.nothrow)return null;throw ka(e)};xa.exports=wa;wa.sync=xm});var Ea=Y((kv,ps)=>{"use strict";var va=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};ps.exports=va;ps.exports.default=va});var Aa=Y((_v,Ra)=>{"use strict";var Ta=Te("path"),Sm=Sa(),vm=Ea();function $a(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=Sm.sync(e.command,{path:n[vm({env:n})],pathExt:t?Ta.delimiter:void 0})}catch{}finally{o&&process.chdir(r)}return i&&(i=Ta.resolve(s?e.options.cwd:"",i)),i}function Em(e){return $a(e)||$a(e,!0)}Ra.exports=Em});var Ca=Y((wv,hs)=>{"use strict";var ms=/([()\][%!^"`<>&|;, *?])/g;function Tm(e){return e=e.replace(ms,"^$1"),e}function $m(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(ms,"^$1"),t&&(e=e.replace(ms,"^$1")),e}hs.exports.command=Tm;hs.exports.argument=$m});var Ia=Y((xv,Oa)=>{"use strict";Oa.exports=/^#!(.*)/});var Na=Y((Sv,Pa)=>{"use strict";var Rm=Ia();Pa.exports=(e="")=>{let t=e.match(Rm);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),s=n.split("/").pop();return s==="env"?r:r?`${s} ${r}`:s}});var Ma=Y((vv,Da)=>{"use strict";var gs=Te("fs"),Am=Na();function Cm(e){let n=Buffer.alloc(150),r;try{r=gs.openSync(e,"r"),gs.readSync(r,n,0,150,0),gs.closeSync(r)}catch{}return Am(n.toString())}Da.exports=Cm});var Ha=Y((Ev,ja)=>{"use strict";var Om=Te("path"),Fa=Aa(),La=Ca(),Im=Ma(),Pm=process.platform==="win32",Nm=/\.(?:com|exe)$/i,Dm=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Mm(e){e.file=Fa(e);let t=e.file&&Im(e.file);return t?(e.args.unshift(e.file),e.command=t,Fa(e)):e.file}function Fm(e){if(!Pm)return e;let t=Mm(e),n=!Nm.test(t);if(e.options.forceShell||n){let r=Dm.test(t);e.command=Om.normalize(e.command),e.command=La.command(e.command),e.args=e.args.map(o=>La.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 Lm(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:Fm(r)}ja.exports=Lm});var Ua=Y((Tv,za)=>{"use strict";var ys=process.platform==="win32";function bs(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 jm(e,t){if(!ys)return;let n=e.emit;e.emit=function(r,s){if(r==="exit"){let o=Ba(s,t);if(o)return n.call(e,"error",o)}return n.apply(e,arguments)}}function Ba(e,t){return ys&&e===1&&!t.file?bs(t.original,"spawn"):null}function Hm(e,t){return ys&&e===1&&!t.file?bs(t.original,"spawnSync"):null}za.exports={hookChildProcess:jm,verifyENOENT:Ba,verifyENOENTSync:Hm,notFoundError:bs}});var Ja=Y(($v,pt)=>{"use strict";var Za=Te("child_process"),ks=Ha(),_s=Ua();function Ga(e,t,n){let r=ks(e,t,n),s=Za.spawn(r.command,r.args,r.options);return _s.hookChildProcess(s,r),s}function Bm(e,t,n){let r=ks(e,t,n),s=Za.spawnSync(r.command,r.args,r.options);return s.error=s.error||_s.verifyENOENTSync(s.status,r),s}pt.exports=Ga;pt.exports.spawn=Ga;pt.exports.sync=Bm;pt.exports._parse=ks;pt.exports._enoent=_s});var N,ws,w,ce,tn=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})(N||(N={}));(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(ws||(ws={}));w=N.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,zm,K,Un=g(()=>{tn();h=N.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"]),zm=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),K=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,N.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()}};K.create=e=>new K(e)});var Um,ke,xs=g(()=>{Un();tn();Um=(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,N.jsonStringifyReplacer)}`;break;case h.unrecognized_keys:n=`Unrecognized key(s) in object: ${N.joinValues(e.keys,", ")}`;break;case h.invalid_union:n="Invalid input";break;case h.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${N.joinValues(e.options)}`;break;case h.invalid_enum_value:n=`Invalid enum value. Expected ${N.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}"`:N.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,N.assertNever(e)}return{message:n}},ke=Um});function Zm(e){Ka=e}function mt(){return Ka}var Ka,Zn=g(()=>{xs();Ka=ke});function _(e,t){let n=mt(),r=nn({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===ke?void 0:ke].filter(s=>!!s)});e.common.issues.push(r)}var nn,Gm,B,v,Ue,Z,Gn,Jn,Ce,ht,Ss=g(()=>{Zn();xs();nn=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}},Gm=[];B=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"}),Ue=e=>({status:"dirty",value:e}),Z=e=>({status:"valid",value:e}),Gn=e=>e.status==="aborted",Jn=e=>e.status==="dirty",Ce=e=>e.status==="valid",ht=e=>typeof Promise<"u"&&e instanceof Promise});var Wa=g(()=>{});var x,Va=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 Qa(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 lh(e){return new RegExp(`^${Qa(e)}$`)}function el(e){let t=`${Xa}T${Qa(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 ch(e,t){return!!((t==="v4"||!t)&&th.test(e)||(t==="v6"||!t)&&rh.test(e))}function uh(e,t){if(!Ym.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 fh(e,t){return!!((t==="v4"||!t)&&nh.test(e)||(t==="v6"||!t)&&sh.test(e))}function dh(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 gt(e){if(e instanceof W){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=te.create(gt(r))}return new W({...e._def,shape:()=>t})}else return e instanceof xe?new xe({...e._def,type:gt(e.element)}):e instanceof te?te.create(gt(e.unwrap())):e instanceof fe?fe.create(gt(e.unwrap())):e instanceof ue?ue.create(e.items.map(t=>gt(t))):e}function Es(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=N.objectKeys(t),o=N.objectKeys(e).filter(a=>s.indexOf(a)!==-1),i={...e,...t};for(let a of o){let l=Es(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=Es(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 tl(e,t){return new et({values:e,typeName:$.ZodEnum,...A(t)})}function Ya(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function nl(e,t={},n){return e?Ie.create().superRefine((r,s)=>{let o=e(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=Ya(t,r),l=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:l})}});if(!o){let i=Ya(t,r),a=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:a})}}):Ie.create()}var ne,qa,I,Jm,Km,Wm,Vm,qm,Ym,Xm,Qm,eh,vs,th,nh,rh,sh,oh,ih,Xa,ah,Oe,Ze,Ge,Je,Ke,yt,We,Ve,Ie,we,ie,bt,xe,W,qe,_e,Kn,Ye,ue,Wn,kt,_t,Vn,Xe,Qe,et,tt,Pe,re,te,fe,nt,rt,wt,ph,rn,sn,st,mh,$,hh,rl,sl,gh,yh,ol,bh,kh,_h,wh,xh,Sh,vh,Eh,Th,$h,Rh,Ah,Ch,Oh,Ih,Ph,Nh,Dh,Mh,Fh,Lh,jh,Hh,Bh,zh,Uh,Zh,Gh,Jh,Kh,Wh,Vh,qh,Yh,il=g(()=>{Un();Zn();Va();Ss();tn();ne=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}},qa=(e,t)=>{if(Ce(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 K(e.common.issues);return this._error=n,this._error}}};I=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 B,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(ht(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 qa(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 Ce(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=>Ce(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(ht(s)?s:Promise.resolve(s));return qa(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 re({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 te.create(this,this._def)}nullable(){return fe.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return xe.create(this)}promise(){return Pe.create(this,this._def)}or(t){return qe.create([this,t],this._def)}and(t){return Ye.create(this,t,this._def)}transform(t){return new re({...A(this._def),schema:this,typeName:$.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new nt({...A(this._def),innerType:this,defaultValue:n,typeName:$.ZodDefault})}brand(){return new rn({typeName:$.ZodBranded,type:this,...A(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new rt({...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 sn.create(this,t)}readonly(){return st.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Jm=/^c[^\s-]{8,}$/i,Km=/^[0-9a-z]+$/,Wm=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Vm=/^[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,qm=/^[a-z0-9_-]{21}$/i,Ym=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Xm=/^[-+]?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)?)??$/,Qm=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,eh="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",th=/^(?:(?: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])$/,nh=/^(?:(?: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])$/,rh=/^(([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]))$/,sh=/^(([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])$/,oh=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,ih=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Xa="((\\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])))",ah=new RegExp(`^${Xa}$`);Oe=class e extends I{_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 B,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")Qm.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")vs||(vs=new RegExp(eh,"u")),vs.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")Vm.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")qm.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")Jm.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")Km.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")Wm.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"?el(o).test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:h.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?ah.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:h.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?lh(o).test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:h.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?Xm.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"duration",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?ch(t.data,o.version)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"ip",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?uh(t.data,o.alg)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"jwt",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?fh(t.data,o.version)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cidr",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?oh.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"base64",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?ih.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"base64url",code:h.invalid_string,message:o.message}),r.dirty()):N.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}};Oe.create=e=>new Oe({checks:[],typeName:$.ZodString,coerce:e?.coerce??!1,...A(e)});Ze=class e extends I{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 B;for(let o of this._def.checks)o.kind==="int"?N.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"?dh(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()):N.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"&&N.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)}};Ze.create=e=>new Ze({checks:[],typeName:$.ZodNumber,coerce:e?.coerce||!1,...A(e)});Ge=class e extends I{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 B;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()):N.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}};Ge.create=e=>new Ge({checks:[],typeName:$.ZodBigInt,coerce:e?.coerce??!1,...A(e)});Je=class extends I{_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)}};Je.create=e=>new Je({typeName:$.ZodBoolean,coerce:e?.coerce||!1,...A(e)});Ke=class e extends I{_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 B,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()):N.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}};Ke.create=e=>new Ke({checks:[],coerce:e?.coerce||!1,typeName:$.ZodDate,...A(e)});yt=class extends I{_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)}};yt.create=e=>new yt({typeName:$.ZodSymbol,...A(e)});We=class extends I{_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)}};We.create=e=>new We({typeName:$.ZodUndefined,...A(e)});Ve=class extends I{_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)}};Ve.create=e=>new Ve({typeName:$.ZodNull,...A(e)});Ie=class extends I{constructor(){super(...arguments),this._any=!0}_parse(t){return Z(t.data)}};Ie.create=e=>new Ie({typeName:$.ZodAny,...A(e)});we=class extends I{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Z(t.data)}};we.create=e=>new we({typeName:$.ZodUnknown,...A(e)});ie=class extends I{_parse(t){let n=this._getOrReturnCtx(t);return _(n,{code:h.invalid_type,expected:w.never,received:n.parsedType}),v}};ie.create=e=>new ie({typeName:$.ZodNever,...A(e)});bt=class extends I{_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)}};bt.create=e=>new bt({typeName:$.ZodVoid,...A(e)});xe=class e extends I{_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 ne(n,i,n.path,a)))).then(i=>B.mergeArray(r,i));let o=[...n.data].map((i,a)=>s.type._parseSync(new ne(n,i,n.path,a)));return B.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)}};xe.create=(e,t)=>new xe({type:e,minLength:null,maxLength:null,exactLength:null,typeName:$.ZodArray,...A(t)});W=class e extends I{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=N.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 ie&&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 ne(s,f,s.path,c)),alwaysSet:c in s.data})}if(this._def.catchall instanceof ie){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 ne(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,p=await u.value;c.push({key:f,value:p,alwaysSet:u.alwaysSet})}return c}).then(c=>B.mergeObjectSync(r,c)):B.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 N.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 N.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return gt(this)}partial(t){let n={};for(let r of N.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 N.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof te;)o=o._def.innerType;n[r]=o}return new e({...this._def,shape:()=>n})}keyof(){return tl(N.objectKeys(this.shape))}};W.create=(e,t)=>new W({shape:()=>e,unknownKeys:"strip",catchall:ie.create(),typeName:$.ZodObject,...A(t)});W.strictCreate=(e,t)=>new W({shape:()=>e,unknownKeys:"strict",catchall:ie.create(),typeName:$.ZodObject,...A(t)});W.lazycreate=(e,t)=>new W({shape:e,unknownKeys:"strip",catchall:ie.create(),typeName:$.ZodObject,...A(t)});qe=class extends I{_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 K(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 K(l));return _(n,{code:h.invalid_union,unionErrors:a}),v}}get options(){return this._def.options}};qe.create=(e,t)=>new qe({options:e,typeName:$.ZodUnion,...A(t)});_e=e=>e instanceof Xe?_e(e.schema):e instanceof re?_e(e.innerType()):e instanceof Qe?[e.value]:e instanceof et?e.options:e instanceof tt?N.objectValues(e.enum):e instanceof nt?_e(e._def.innerType):e instanceof We?[void 0]:e instanceof Ve?[null]:e instanceof te?[void 0,..._e(e.unwrap())]:e instanceof fe?[null,..._e(e.unwrap())]:e instanceof rn||e instanceof st?_e(e.unwrap()):e instanceof rt?_e(e._def.innerType):[],Kn=class e extends I{_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=_e(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)})}};Ye=class extends I{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(o,i)=>{if(Gn(o)||Gn(i))return v;let a=Es(o.value,i.value);return a.valid?((Jn(o)||Jn(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}))}};Ye.create=(e,t,n)=>new Ye({left:e,right:t,typeName:$.ZodIntersection,...A(n)});ue=class e extends I{_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 ne(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(o).then(i=>B.mergeArray(n,i)):B.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)})};Wn=class e extends I{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 ne(r,a,r.path,a)),value:i._parse(new ne(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?B.mergeObjectAsync(n,s):B.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof I?new e({keyType:t,valueType:n,typeName:$.ZodRecord,...A(r)}):new e({keyType:Oe.create(),valueType:t,typeName:$.ZodRecord,...A(n)})}},kt=class extends I{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 ne(r,a,r.path,[c,"key"])),value:o._parse(new ne(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}}}};kt.create=(e,t,n)=>new kt({valueType:t,keyType:e,typeName:$.ZodMap,...A(n)});_t=class e extends I{_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 ne(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)}};_t.create=(e,t)=>new _t({valueType:e,minSize:null,maxSize:null,typeName:$.ZodSet,...A(t)});Vn=class e extends I{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 nn({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,mt(),ke].filter(c=>!!c),issueData:{code:h.invalid_arguments,argumentsError:l}})}function s(a,l){return nn({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,mt(),ke].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 Pe){let a=this;return Z(async function(...l){let c=new K([]),u=await a._def.args.parseAsync(l,o).catch(d=>{throw c.addIssue(r(l,d)),c}),f=await Reflect.apply(i,this,u);return await a._def.returns._def.type.parseAsync(f,o).catch(d=>{throw c.addIssue(s(f,d)),c})})}else{let a=this;return Z(function(...l){let c=a._def.args.safeParse(l,o);if(!c.success)throw new K([r(l,c.error)]);let u=Reflect.apply(i,this,c.data),f=a._def.returns.safeParse(u,o);if(!f.success)throw new K([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(we.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(we.create()),returns:n||we.create(),typeName:$.ZodFunction,...A(r)})}},Xe=class extends I{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})}};Xe.create=(e,t)=>new Xe({getter:e,typeName:$.ZodLazy,...A(t)});Qe=class extends I{_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)});et=class e extends I{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return _(n,{expected:N.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})}};et.create=tl;tt=class extends I{_parse(t){let n=N.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==w.string&&r.parsedType!==w.number){let s=N.objectValues(n);return _(r,{expected:N.joinValues(s),received:r.parsedType,code:h.invalid_type}),v}if(this._cache||(this._cache=new Set(N.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=N.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}};tt.create=(e,t)=>new tt({values:e,typeName:$.ZodNativeEnum,...A(t)});Pe=class extends I{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})))}};Pe.create=(e,t)=>new Pe({type:e,typeName:$.ZodPromise,...A(t)});re=class extends I{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"?Ue(l.value):n.value==="dirty"?Ue(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"?Ue(a.value):n.value==="dirty"?Ue(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(!Ce(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=>Ce(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:n.value,value:a})):v);N.assertNever(s)}};re.create=(e,t,n)=>new re({schema:e,typeName:$.ZodEffects,effect:t,...A(n)});re.createWithPreprocess=(e,t,n)=>new re({schema:t,effect:{type:"preprocess",transform:e},typeName:$.ZodEffects,...A(n)});te=class extends I{_parse(t){return this._getType(t)===w.undefined?Z(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};te.create=(e,t)=>new te({innerType:e,typeName:$.ZodOptional,...A(t)});fe=class extends I{_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)});nt=class extends I{_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}};nt.create=(e,t)=>new nt({innerType:e,typeName:$.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...A(t)});rt=class extends I{_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 ht(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new K(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new K(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};rt.create=(e,t)=>new rt({innerType:e,typeName:$.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...A(t)});wt=class extends I{_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}}};wt.create=e=>new wt({typeName:$.ZodNaN,...A(e)});ph=Symbol("zod_brand"),rn=class extends I{_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}},sn=class e extends I{_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(),Ue(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})}},st=class extends I{_parse(t){let n=this._def.innerType._parse(t),r=s=>(Ce(s)&&(s.value=Object.freeze(s.value)),s);return ht(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};st.create=(e,t)=>new st({innerType:e,typeName:$.ZodReadonly,...A(t)});mh={object:W.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"})($||($={}));hh=(e,t={message:`Input not instance of ${e.name}`})=>nl(n=>n instanceof e,t),rl=Oe.create,sl=Ze.create,gh=wt.create,yh=Ge.create,ol=Je.create,bh=Ke.create,kh=yt.create,_h=We.create,wh=Ve.create,xh=Ie.create,Sh=we.create,vh=ie.create,Eh=bt.create,Th=xe.create,$h=W.create,Rh=W.strictCreate,Ah=qe.create,Ch=Kn.create,Oh=Ye.create,Ih=ue.create,Ph=Wn.create,Nh=kt.create,Dh=_t.create,Mh=Vn.create,Fh=Xe.create,Lh=Qe.create,jh=et.create,Hh=tt.create,Bh=Pe.create,zh=re.create,Uh=te.create,Zh=fe.create,Gh=re.createWithPreprocess,Jh=sn.create,Kh=()=>rl().optional(),Wh=()=>sl().optional(),Vh=()=>ol().optional(),qh={string:(e=>Oe.create({...e,coerce:!0})),number:(e=>Ze.create({...e,coerce:!0})),boolean:(e=>Je.create({...e,coerce:!0})),bigint:(e=>Ge.create({...e,coerce:!0})),date:(e=>Ke.create({...e,coerce:!0}))},Yh=v});var k={};Lt(k,{BRAND:()=>ph,DIRTY:()=>Ue,EMPTY_PATH:()=>Gm,INVALID:()=>v,NEVER:()=>Yh,OK:()=>Z,ParseStatus:()=>B,Schema:()=>I,ZodAny:()=>Ie,ZodArray:()=>xe,ZodBigInt:()=>Ge,ZodBoolean:()=>Je,ZodBranded:()=>rn,ZodCatch:()=>rt,ZodDate:()=>Ke,ZodDefault:()=>nt,ZodDiscriminatedUnion:()=>Kn,ZodEffects:()=>re,ZodEnum:()=>et,ZodError:()=>K,ZodFirstPartyTypeKind:()=>$,ZodFunction:()=>Vn,ZodIntersection:()=>Ye,ZodIssueCode:()=>h,ZodLazy:()=>Xe,ZodLiteral:()=>Qe,ZodMap:()=>kt,ZodNaN:()=>wt,ZodNativeEnum:()=>tt,ZodNever:()=>ie,ZodNull:()=>Ve,ZodNullable:()=>fe,ZodNumber:()=>Ze,ZodObject:()=>W,ZodOptional:()=>te,ZodParsedType:()=>w,ZodPipeline:()=>sn,ZodPromise:()=>Pe,ZodReadonly:()=>st,ZodRecord:()=>Wn,ZodSchema:()=>I,ZodSet:()=>_t,ZodString:()=>Oe,ZodSymbol:()=>yt,ZodTransformer:()=>re,ZodTuple:()=>ue,ZodType:()=>I,ZodUndefined:()=>We,ZodUnion:()=>qe,ZodUnknown:()=>we,ZodVoid:()=>bt,addIssueToContext:()=>_,any:()=>xh,array:()=>Th,bigint:()=>yh,boolean:()=>ol,coerce:()=>qh,custom:()=>nl,date:()=>bh,datetimeRegex:()=>el,defaultErrorMap:()=>ke,discriminatedUnion:()=>Ch,effect:()=>zh,enum:()=>jh,function:()=>Mh,getErrorMap:()=>mt,getParsedType:()=>ce,instanceof:()=>hh,intersection:()=>Oh,isAborted:()=>Gn,isAsync:()=>ht,isDirty:()=>Jn,isValid:()=>Ce,late:()=>mh,lazy:()=>Fh,literal:()=>Lh,makeIssue:()=>nn,map:()=>Nh,nan:()=>gh,nativeEnum:()=>Hh,never:()=>vh,null:()=>wh,nullable:()=>Zh,number:()=>sl,object:()=>$h,objectUtil:()=>ws,oboolean:()=>Vh,onumber:()=>Wh,optional:()=>Uh,ostring:()=>Kh,pipeline:()=>Jh,preprocess:()=>Gh,promise:()=>Bh,quotelessJson:()=>zm,record:()=>Ph,set:()=>Dh,setErrorMap:()=>Zm,strictObject:()=>Rh,string:()=>rl,symbol:()=>kh,transformer:()=>zh,tuple:()=>Ih,undefined:()=>_h,union:()=>Ah,unknown:()=>Sh,util:()=>N,void:()=>Eh});var Ts=g(()=>{Zn();Ss();Wa();tn();il();Un()});var xt=g(()=>{Ts();Ts()});var Ne,on=g(()=>{"use strict";xt();Ne=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()})});import{readdir as Xh,readFile as Qh}from"node:fs/promises";import{join as ll,dirname as eg}from"node:path";import{fileURLToPath as tg}from"node:url";function sg(){return!1}async function cl(){return St||(sg()?(St=await og(rg),St):(!al&&process.env.TOKMIZER_DEBUG==="1"&&(process.stderr.write(`tokmizer: disk loader disabled (set TOKMIZER_DEV=1 to re-enable for local dev).
27
+ `),al=!0),St=new Map,St))}async function og(e){let t=new Map,n,r;try{n=(await Promise.resolve().then(()=>(Hn(),fs))).parse,r=(await Xh(e)).filter(s=>s.endsWith(".toml"))}catch{return t}for(let s of r){let o=await Qh(ll(e,s),"utf8"),a=n(o).filters;if(a)for(let[l,c]of Object.entries(a)){let u=Ne.parse({slug:l,...c});t.set(l,{...u,matchRegex:new RegExp(u.match_command)})}}return t}var ng,rg,St,al,ul=g(()=>{"use strict";on();ng=eg(tg(import.meta.url)),rg=process.env.TOKMIZER_FILTERS_DIR||ll(ng,"..","..","filters"),St=null,al=!1});var ml={};Lt(ml,{OutputVerbosity:()=>dl,ReducerLevel:()=>pl,Settings:()=>vt,slugKey:()=>Q});import{createHash as ig}from"node:crypto";function Q(e){let t=fl.get(e);return t||(t=ig("sha256").update(`tkr:${e}`).digest("hex").slice(0,16),fl.set(e,t)),t}var dl,pl,vt,fl,De=g(()=>{"use strict";xt();dl=k.enum(["normal","compact","minimal"]),pl=k.enum(["off","light","balanced","max"]),vt=k.object({enabled:k.boolean().default(!0),telemetryOptIn:k.boolean().default(!0),outputVerbosity:dl.default("compact"),reducer:pl.default("off"),filters:k.object({enableAll:k.boolean().default(!0),disabled:k.array(k.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),fl=new Map});function Et(e,t,n,r=t){let s=hl.get(r);s||(s=new Map,hl.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(Q(l.slug))||l.matchRegex.test(e)&&(!a||l.priority>a.priority)&&(a=l);if(s.size>=ag){let l=s.keys().next().value;l&&s.delete(l)}return s.set(o,a),a}var hl,ag,qn=g(()=>{"use strict";De();hl=new WeakMap,ag=256});function de(e){return e.replace(lg,"").replace(cg,"")}var lg,cg,an=g(()=>{"use strict";lg=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,cg=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g});function gl(e,t){return t.length===0?e:e.filter(n=>!t.some(r=>r.test(n)))}var yl=g(()=>{"use strict"});function bl(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 kl=g(()=>{"use strict"});function Tt(e){return`\u2026 (${e} more lines omitted)`}function _l(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),Tt(s.length),...e.slice(e.length-r)],dropped:s}}var $s=g(()=>{"use strict"});function wl(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)ug.test(a)&&!Me.test(a)?(i.push(a),s+=1):(o(i),i=[],s=0,r.push(a));return o(i),r}var ug,Me,Rs=g(()=>{"use strict";ug=/^\s*(?:[✓✔√]|ok )/,Me=/✕|✗|×|\bFAIL\b|\bERROR\b|\bFATAL\b|\bError|\berror|Expected|Received|\bfailed\b|^\s*Tests?:|^\s*Test Suites?:/});function xl(e){return e.map(t=>t.replace(fg,n=>{let r=n.split("/").filter(Boolean);return r.length<=2?n:`\u2026/${r.slice(-2).join("/")}`}))}var fg,Sl=g(()=>{"use strict";fg=/(?:\/[\w.@+-]+){3,}/g});function gg(e){let t=mg.exec(e);return!t||hg.has(t[1])?!1:!/=>|\bfunction\b/.test(t[2])}function bg(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 kg(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==="&"))&&bg(e,s+1,o)&&(r=o),s+=1;continue}o==="{"||o==="("||o==="["?n+=1:(o==="}"||o===")"||o==="]")&&(n-=1),s+=1}return n}function wg(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 As(e){let t=new Array(e.length).fill(!1);for(let n=0;n<e.length;n+=1){let r=_g.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 ln(e,t=3,n=!1){let r=[],s=0;for(;s<e.length;){let o=e[s];if(dg.test(o)&&pg.test(o)||gg(o)||yg.test(o)){let i={inBlockComment:!1,inTemplate:!1},a=0,l=s,c=!1;for(;l<e.length&&l-s<200;)if(a+=kg(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,p=/^\s*/.exec(e[s+1]??"")?.[0]??" ";r.push(o),r.push(wg(p,f,n?s+2:null));for(let d=0;d<f-1;d++)r.push("");r.push(e[l-1]),s=l;continue}}r.push(o),s+=1}return r}function Xn(e){let t=e.slice(0,4096);return!(!xg.test(t)||t.split(`
28
+ `).length<6)}var dg,pg,mg,hg,yg,Yn,_g,xg,$t=g(()=>{"use strict";dg=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,pg=/\{\s*$/,mg=/^\s*(?:(?:public|private|protected|static|async|get|set|readonly|override)\s+)*([\w$]+)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\{\s*$/,hg=new Set(["if","for","while","switch","catch","do","with","return","else","function","await","yield"]);yg=/^\s*(?:if|for|while|switch|try|do)\b[^{}]*\{\s*$/;Yn=/^\s*… \d+ lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/,_g=/^\s*… (\d+) lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/;xg=/\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 Ol(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(Rl.test(s.replace($l,""))&&!Al.test(s)&&!Cl.test(s)){n+=1;continue}r(),t.push(s)}return r(),t}function Tl(e){if(e.trim()===""||/^\s/.test(e)||Al.test(e)||Cl.test(e)||vg.test(e))return null;let t=e.replace($l,"");return Rl.test(t)||Sg.test(t)?"\0verbose":e.replace(/\d+/g,"#")}function Il(e){let t=[],n=0;for(;n<e.length;){let r=Tl(e[n]),s=n+1;if(r!==null)for(;s<e.length&&Tl(e[s])===r;)s+=1;let o=s-n;r===null||o<Eg?t.push(...e.slice(n,s)):(t.push(...e.slice(n,n+vl)),t.push(`\u2026 ${o-vl-El} similar log lines dropped \u2026`),t.push(...e.slice(s-El,s))),n=s}return t}function Qn(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.trim()?`${r} \xD7${n}`:r),r=e[s],n=1}return t.push(n>1&&r.trim()?`${r} \xD7${n}`:r),t}function Pl(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 $l,Rl,Al,Cl,Sg,vg,Eg,vl,El,er=g(()=>{"use strict";Rs();$l=/^\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*/,Rl=/^\s*(?:\[(?:DEBUG|TRACE|INFO|VERBOSE)\]|(?:DEBUG|TRACE|INFO|VERBOSE)(?!\s*:))(?=\s|:|$)(?!\s*[+\-*\/%&|^?]*=)/,Al=new RegExp(Me.source,"i"),Cl=/\bWARN(?:ING)?\b/i;Sg=/^(?:DEBUG|INFO):[\w.-]+:/,vg=/Error|Exception|Traceback|panic|fail|FAIL|Fail|SEVERE|CRITICAL/,Eg=8,vl=1,El=2});function G(e,t){Nl.set(e,t)}function Dl(e){return Nl.get(e)}var Nl,pe=g(()=>{"use strict";Nl=new Map});function Ag(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 Cg(e){let t=/^(\d+(?:[.,]\d+)?)([KMGTPkmgtp])?/.exec(e),n=t[2]?Rg[t[2].toLowerCase()]:0;return Number(t[1].replace(",","."))*1024**n}function Og(e){let t=$g.exec(e);if(!t)return null;let n=t[4].trim();if(n===""||n==="."||n==="..")return null;let r=t[3],s=/^\d+$/.test(r)?Ag(Number(r)):r,o=e.charCodeAt(0)===100;return{name:n,size:s,sizeKey:Cg(r),isDir:o,mode:t[1],owner:t[2].replace(/\s+/g," ")}}function Ig(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 Ml(e,t){let n=[],r=e;for(let s of t)r.length+1+s.length>Dg&&r!==e&&r!==" "&&(n.push(r),r=" "),r+=r===" "?s:` ${s}`;return n.push(r),n}function Mg(e){let t=e.endsWith("/")?"":e,n=t.indexOf(".",1);return n>0?t.slice(n):""}function Fg(e){let t=e.filter(l=>l.trim()!=="");if(t.length<Pg)return null;let n=e.findIndex(l=>l.trim()!==""),r=e.length-1-[...e].reverse().findIndex(l=>l.trim()!=="");if(e.slice(n,r+1).some(l=>l.trim()==="")||t.some(l=>l.endsWith(":")||Ll.test(l.trim())||Fl.test(l)||/^total\s+\d+/.test(l)||l!==l.trimEnd()||l.startsWith(" "))||t.filter(l=>/\s/.test(l)).length>t.length*.2)return null;let s=l=>/\s|"/.test(l)?JSON.stringify(l):l,o=new Map;for(let l of t){let c=Mg(l),u=o.get(c)??[];u.push(l),o.set(c,u)}let i=[`${t.length} entries:`],a=[];for(let[l,c]of[...o.entries()].sort((u,f)=>f[1].length-u[1].length||u[0].localeCompare(f[0])))l&&c.length>=Ng&&c.every(u=>!/\s|"/.test(u))?i.push(...Ml(`*${l} (${c.length}):`,c.map(u=>u.slice(0,-l.length)))):a.push(...c);return a.length&&i.push(...Ml(`other (${a.length}):`,a.map(s))),i.join(`
29
+ `).length<t.join(`
30
+ `).length?i:null}function Lg(e){let t=Fg(e);if(t)return t;let n=[],r=[],s=!1;for(let d of e){if(d.trim()===""||/^total\s+\d+/.test(d))continue;if(Ll.test(d.trim())||!Fl.test(d))return e;let m=Og(d);if(!m){if(/\s\.\.?$/.test(d))continue;return e}s=!0,(m.isDir?n:r).push(m)}if(!s)return e;let o=(d,m)=>d.name.localeCompare(m.name);n.sort(o),r.sort((d,m)=>m.sizeKey-d.sizeKey||o(d,m));let i=[...n,...r],a=i.every(d=>d.owner===i[0].owner)?i[0].owner:null,l=[];for(let d of i){let m=`${d.mode} ${a===null?`${d.owner} `:""}${d.isDir?`${d.name}/`:d.name}`;l.push(d.isDir?m:`${m} ${d.size}`)}if(l.length>Cs){let d=l.length-Cs;l=[...l.slice(0,Cs),`\u2026 ${d} more lines omitted`]}let c=r.length===1?"file":"files",u=n.length===1?"dir":"dirs",f=Ig(r),p=`${r.length} ${c}, ${n.length} ${u}`+(f?` (${f})`:"")+(a===null?"":`, owner ${a.replace(" ",":")}`);return l.push(p),l}var Fl,Ll,Tg,$g,Rg,Cs,Pg,Ng,Dg,jl=g(()=>{"use strict";pe();Fl=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/,Ll=/^[./~][^\s]*:$/,Tg=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})?`,$g=new RegExp(String.raw`^(\S+)\s+\d+\s+(\S+(?:\s+\S+)??)\s+(\d+(?:[.,]\d+)?[KMGTPkmgtp]?i?B?)\s+(?:${Tg})\s+(.+)$`),Rg={k:1,m:2,g:3,t:4,p:5},Cs=1e3;Pg=12,Ng=3,Dg=180;G("smart-ls",Lg)});var Hl=g(()=>{"use strict";$t();pe();G("smart-read",e=>ln(e))});function jg(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 Bg(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(/\/+$/,""),p=f.lastIndexOf("/"),d=p>=0?f.slice(0,p):"",m=p>=0?f.slice(p+1):f;if(!m)continue;let y=r.get(d)??[];y.push(/\s/.test(m)?`"${m}"`:m),r.set(d,y),o+=1}if(o===0)return e;let i=[...r.keys()].sort(),a=i.every(c=>c!=="")?jg(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),p=Hg(f),d=p?f.map(m=>m.slice(0,-p.length)):f;l.push(`${u?`${u}/`:"./"} (${f.length}${p?`, *${p}`:""}): ${d.join(" ")}`)}if(l.length+s.length>Bl){let c=Math.max(0,Bl-s.length),u=l.length-c;return[...l.slice(0,c),`\u2026 ${u} more lines omitted`,...s]}return[...l,...s]}var Bl,zl=g(()=>{"use strict";pe();Bl=1e3;G("smart-find",Bg)});function Ug(e){let t=[];for(let i of e){if(i.trim()==="")continue;let a=zg.exec(i);if(!a)return e;t.push({counts:a[1].replace(/\s+/g," "),path:a[2]})}let n=t.filter(i=>i.path!=="total");if(n.length<2)return t.length?t.map(i=>`${i.counts} ${i.path}`):e;let r=n.map(i=>i.path.includes("/")?i.path.slice(0,i.path.lastIndexOf("/")+1):""),s=r[0];for(let i of r)for(;s&&!i.startsWith(s);)s=s.slice(0,s.slice(0,-1).lastIndexOf("/")+1);let o=s?[`in ${s}:`]:[];for(let i of t)o.push(`${i.counts} ${i.path!=="total"&&s?i.path.slice(s.length):i.path}`);return o}var zg,Ul=g(()=>{"use strict";pe();zg=/^\s*(\d+(?:\s+\d+){0,3})\s+(\S.*)$/;G("smart-wc",Ug)});function Jl(e){let t=e.trim();return t.length>Zl?`${t.slice(0,Zl)}\u2026`:t}function Vg(e){let t=[],n="";for(let r of e){let s=n?`${n}, ${r}`:r;s.length>=Gg&&n?(t.push(`${n},`),n=r):n=s}return n&&t.push(n),t}function qg(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 Yg(e){let t=e.filter(d=>d.trim()!=="");if(t.length===0)return e;let n=new Map,r=new Map,s=null,o=0,i=0;for(let d of t){if(d==="--"){s&&n.get(s).push({separator:!0});continue}if(/^[A-Za-z]:[\\/]/.test(d))return e;let m=Jg.exec(d),y=Kg.exec(d);if(m&&y)return e;let b=m||y?null:Wg.exec(d),R=(m??y??b)?.[1];if(!R)return e;let T=m?{line:m[2],content:m[3],context:!1}:y?{line:y[2],content:y[3],context:!0}:{line:"",content:b[2],context:!1},D=n.get(R)??[];D.push(T),n.set(R,D),T.context||(o+=1,r.set(R,(r.get(R)??0)+1)),i+=1,s=R}if(n.size===i)return e;let a=[...n.keys()].sort((d,m)=>{let y=Gl.test(d)?1:0,b=Gl.test(m)?1:0;return y-b||(d<m?-1:d>m?1:0)}),l=a.length>1?qg(a):"",c=d=>l?d.slice(l.length+1):d,u=[];for(let d of a){u.push(`${c(d)} (${r.get(d)??0}):`);for(let m of n.get(d))"separator"in m?u.push(" --"):m.line?u.push(` ${m.line}${m.context?"-":":"} ${Jl(m.content)}`):u.push(` ${Jl(m.content)}`)}let f=a.length>1&&u.length>Zg?Vg(a.map(d=>`${c(d)} (${r.get(d)??0})`)):[],p=[`${o}m ${a.length}f${l?` in ${l}/`:""}:`,...f,"",...u];if(p.length>Os){let d=p.length-Os;return[...p.slice(0,Os),`\u2026 ${d} more lines omitted`]}return p}var Os,Zl,Zg,Gg,Jg,Kg,Wg,Gl,Kl=g(()=>{"use strict";pe();Os=1e3,Zl=200,Zg=60,Gg=190,Jg=/^([^\s:]+):(\d+):(.*)$/,Kg=/^([^:]+?)-(\d+)-(.*)$/,Wg=/^([^\s:]+):(.*)$/,Gl=/(?:^|\/)(?:__tests__|tests?|spec|fixtures?|__mocks__|__snapshots__)\/|\.(?:test|spec)\.[^/]+$/i;G("smart-grep",Yg)});function ay(e){let t=[];for(let l=0;l<e.length;l+=1){let c=Vl.exec(e[l]);if(!c)continue;let u=l+1,f=null;e[u]?.startsWith("Merge: ")&&(f=e[u].slice(7),u+=1);let p=ny.exec(e[u]??""),d=ry.exec(e[u+1]??"");if(!p||!d)return null;let m=sy.indexOf(d[1])+1;if(m===0)return null;t.push({at:l,hash:c[1].slice(0,oy),refs:c[2]??"",merge:f,author:p[1],date:`${d[4]}-${String(m).padStart(2,"0")}-${d[2].padStart(2,"0")} ${d[3]}`,zone:d[5],end:u+2})}if(t.length===0)return null;let n=[...new Set(t.map(l=>l.author))],r=n.length===1&&t.length>1?n[0]:null,s=n.length>1&&n.length<=iy&&t.length>n.length,o=t.length>1&&t.every(l=>l.zone===t[0].zone)?t[0].zone:null,i=r?[`author: ${r}`]:s?[`authors: ${n.map((l,c)=>`[${c+1}] ${l}`).join("; ")}`]:[];o&&i.push(`dates: UTC${o}`);let a=0;for(let l of t){i.push(...e.slice(a,l.at));let c=r?"":s?` [${n.indexOf(l.author)+1}]`:` ${l.author}`;i.push(`${l.hash} ${l.date}${o?"":` ${l.zone}`}${c}${l.merge?` merge ${l.merge}`:""}${l.refs}`),a=l.end}return i.push(...e.slice(a)),i}function ly(e){if(!e.some(r=>Wl.test(r)))return e;let t=e.some(r=>Vl.test(r))&&!e.some(r=>/^[|\\/*]/.test(r)),n=cy(e,t?ty:ey);return ay(n)??n}function cy(e,t){let n=[],r=0,s=0,o=0,i="",a=!1,l=!1,c=()=>{s>0&&n.push(`${i} \u2026 ${s} ${s===1?"line":"lines"} folded \u2026`),s=0};for(let u of e){let f=u.slice(0,o),p=Xg.test(f),d=p?u.slice(o):u,m=Qg.test(d),y=a&&m?null:Wl.exec(u);if(y){c(),r=0,o=y[1]?.length??0,a=!0,l=!1,n.push(u);continue}if(/^diff --(?:git|cc|combined) /.test(d)&&(l=!0),m&&!l&&!(o>0&&d.trim().length===0)){r+=1,r<=t?n.push(u):(s+=1,i=p?f:"");continue}c(),n.push(u)}return c(),n}var Wl,Xg,Qg,ey,ty,Vl,ny,ry,sy,oy,iy,ql=g(()=>{"use strict";pe();Wl=/^(?:([|\\/ ._-]*\*[|\\/* ._-]* ))?commit [0-9a-f]{7,40}\b/,Xg=/^[|\\/* ._-]*$/,Qg=/^ {4}/,ey=2,ty=1,Vl=/^commit ([0-9a-f]{40})(\s.*)?$/,ny=/^Author:\s+(.+)$/,ry=/^Date:\s+(?:[A-Z][a-z]{2} )?([A-Z][a-z]{2}) +(\d{1,2}) (\d{2}:\d{2}):\d{2} (\d{4}) ([+-]\d{4})$/,sy=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],oy=12,iy=5;G("smart-log",ly)});var uy,fy,dy,Yl=g(()=>{"use strict";pe();uy=/^[\s=]+$/,fy=/^\s*=+\s+(.*?)\s+=+\s*$/,dy=512;G("strip-banners",e=>{let t=[];for(let n of e){if(uy.test(n))continue;let r=n.length<=dy?fy.exec(n):null;t.push(r?r[1]:n)}return t})});function py(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 Xl=g(()=>{"use strict";pe();G("squeeze-output",py)});function my(e){return e==="compact"?.6:e==="minimal"?.3:1}function gy(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 yy(e){let t=Ql.get(e);if(t)return t;let n=e.strip_lines_matching.map(s=>new RegExp(s)),r={def:e,stripRegexes:n};return Ql.set(e,r),r}function tr(e,t,n={}){return Is(e,t,n).text}function Is(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=yy(t),o=e;t.strip_ansi&&(o=de(o));let i=o.endsWith(`
29
31
  `),a=(i?o.slice(0,-1):o).split(`
30
- `);s.stripRegexes.length&&(a=t.keep_failures?a.filter(d=>Le.test(d)||!s.stripRegexes.some(p=>p.test(d))):ml(a,s.stripRegexes)),r!=="normal"&&!t.preserve_exact&&(a=Vn(a),a=Ol(a)),r==="minimal"&&!t.preserve_exact&&(a=Al(a),(t.slug==="vitest"||t.slug==="npm-test")&&(a=Kg(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"&&Wn(o))&&(a=sn(a,l)),t.transform){let d=Pl(t.transform);t.transform==="smart-read"?a=sn(a,l,t.slug==="read-tool"):d&&(a=d(a))}let c=t.slug==="read-tool";if(!c){let d=Rs(a);d.some(Boolean)&&(a=a.filter((p,m)=>!d[m]))}t.mask_abs_paths&&(a=_l(a)),t.fold_passing&&(a=kl(a,t.fold_passing_threshold??5)),t.truncate_lines_at&&(a=gl(a,t.truncate_lines_at));let u=null;if(t.max_lines){let d=t.scale_with_level?Gg(n.verbosity):1,p=Math.min(t.max_lines,Math.max(Jg,Math.round(t.max_lines*d))),m=c?Rs(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),N=T.filter(D=>!Le.test(D)),C=T.reduce((D,M,L)=>D+(!Le.test(M)&&!m?.[y+L]?1:0),0);u=N.length>0?N.join(`
31
- `):null,a=[...a.slice(0,y),...C>0?[vt(C)]:[],...T.filter(D=>Le.test(D))]}else if(c)u=a.slice(y).join(`
32
- `),a=[...a.slice(0,y),vt($)];else{let{kept:T,dropped:N}=bl(a,p);u=N.length>0?N.join(`
32
+ `);s.stripRegexes.length&&(a=t.keep_failures?a.filter(p=>Me.test(p)||!s.stripRegexes.some(d=>d.test(p))):gl(a,s.stripRegexes)),r!=="normal"&&!t.preserve_exact&&(a=Qn(a),a=Pl(a)),r==="minimal"&&!t.preserve_exact&&(a=Ol(a),(t.slug==="vitest"||t.slug==="npm-test")&&(a=gy(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"&&Xn(o))&&(a=ln(a,l)),t.transform){let p=Dl(t.transform);t.transform==="smart-read"?a=ln(a,l,t.slug==="read-tool"):p&&(a=p(a))}let c=t.slug==="read-tool";if(!c){let p=As(a);p.some(Boolean)&&(a=a.filter((d,m)=>!p[m]))}t.mask_abs_paths&&(a=xl(a)),t.fold_passing&&(a=wl(a,t.fold_passing_threshold??5)),t.truncate_lines_at&&(a=bl(a,t.truncate_lines_at));let u=null;if(t.max_lines){let p=t.scale_with_level?my(n.verbosity):1,d=Math.min(t.max_lines,Math.max(hy,Math.round(t.max_lines*p))),m=c?As(a):null,y=m?m.filter(b=>!b).length:a.length;if(y>d){let b=d;if(m){let T=0;for(b=0;b<a.length&&T<d;)m[b]||(T+=1),b+=1}let R=y-d;if(t.keep_failures){let T=a.slice(b),D=T.filter(M=>!Me.test(M)),O=T.reduce((M,F,L)=>M+(!Me.test(F)&&!m?.[b+L]?1:0),0);u=D.length>0?D.join(`
33
+ `):null,a=[...a.slice(0,b),...O>0?[Tt(O)]:[],...T.filter(M=>Me.test(M))]}else if(c)u=a.slice(b).join(`
34
+ `),a=[...a.slice(0,b),Tt(R)];else{let{kept:T,dropped:D}=_l(a,d);u=D.length>0?D.join(`
33
35
  `):null,a=T}}}let f=a.join(`
34
36
  `);return i&&f.length>0&&(f+=`
35
- `),f.trim().length===0&&t.on_empty&&(f=t.on_empty),{text:f,droppedTail:u}}var Jg,Jl,Os=g(()=>{"use strict";rn();hl();yl();Es();Ts();wl();Et();qn();Se();Nl();Dl();Fl();Bl();Ul();Zl();Gl();Jg=20;Jl=new WeakMap});import{readdir as Vg,readFile as ql,writeFile as CE,mkdir as OE,rename as IE}from"node:fs/promises";import{readdirSync as qg,statSync as Kl}from"node:fs";import{createHash as Yg}from"node:crypto";import{basename as ME,join as tr}from"node:path";function er(){return tr(S(),"filters")}function Xl(){return tr(S(),"filters-trust.json")}function Ql(e){return typeof e=="string"&&e.startsWith(Yl)}function Qg(e){return Yg("sha256").update(e).digest("hex")}async function ey(){try{let e=JSON.parse(await ql(Xl(),"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 ty(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 ny(e,t){let n=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},{tests:r,...s}=n,o=ty(e,r);if("message"in o)return o;let i=Me.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:`${Yl}${i.data.slug}`,matchRegex:a},tests:o.tests}}function ry(e){return e===void 0||e===Xn?null:typeof e=="number"&&Number.isInteger(e)?`schema_version ${e} is not supported: this tkr reads schema_version = ${Xn}. Update tkr, or write the file for version ${Xn}`:`schema_version must be the number ${Xn}`}async function sy(e){try{return(await Vg(e)).filter(t=>t.endsWith(".toml")).sort()}catch{return[]}}async function oy(e={}){let t=e.requireTrust!==!1,n=er(),r=new Map,s=new Map,o=[],i=await sy(n);if(i.length===0)return{dir:n,filters:r,tests:s,issues:o};let a=t?await ey():null;for(let l of i){let c;try{c=await ql(tr(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!==Qg(c)){o.push({file:l,message:`changed since it was trusted. Review it, then run: tkr filters trust ${l}`});continue}}let u=await iy(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 iy(e,t){let n=new Map,r=new Map,s=[],{parse:o}=await Promise.resolve().then(()=>(vs(),Ss)),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=ry(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=ny(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 ay(){let e=[];for(let t of[Xl(),er()])try{let n=Kl(t);e.push(`${n.mtimeMs}:${n.size}`)}catch{e.push("-")}try{for(let t of qg(er()).filter(n=>n.endsWith(".toml")).sort()){let n=Kl(tr(er(),t));e.push(`${t}:${n.mtimeMs}:${n.size}`)}}catch{}return e.join("|")}function ly(){let e=Date.now();if(!Qn||e-Vl>=Xg){Vl=e;let t=ay();(!Qn||t!==Wl)&&(Wl=t,Qn=oy())}return Qn}async function cy(e){let{filters:t}=await ly();return t.size===0?null:St(e,t.values(),null,t)}function ec(e){return async(t,n)=>await cy(t)??e(t,n)}var Yl,Xn,Qn,Wl,Vl,Xg,Is=g(()=>{"use strict";Qt();Jn();Os();j();Yl="user/",Xn=1,Qn=null,Wl="",Vl=0,Xg=1e3});function tc(e){if(!e)return!1;for(let t of de(e).split(`
37
- `))if(!/^\s*[✓✔√]\s/.test(t)&&uy.some(n=>n.test(t)))return!0;return!1}var uy,nc=g(()=>{"use strict";rn();uy=[/\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 ve(e){let t=e.trim(),n=t.split(/\s+/),r=0;for(;r<n.length;){let a=n[r];if(dy.test(a)){r++;continue}if(fy.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 rc(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 my(e){let t=rc(e,!1);for(let n=t.length-1;n>=0;n--){let r=t[n].trim();if(r)return r}return e.trim()}function on(e){let t=rc(e,!0).map(n=>n.trim()).filter(Boolean);if(t.length===0)return null;for(let n of t.slice(0,-1)){let r=ve(n).split(/\s+/)[0]??"";if(!py.has(r))return null}return my(t[t.length-1])}function sc(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 Ns(e){let t=hy.exec(e);return t?ve(e.slice(t[0].length)):null}function oc(e){let t=Ps.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=on(n),s=r?ve(r):null,i=[s?Ns(s):null,s,e].filter(a=>!!a);return[...new Set(i)]}var fy,dy,Ps,py,hy,Ds=g(()=>{"use strict";fy=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),dy=/^[A-Za-z_][A-Za-z0-9_]*=/,Ps=/^([a-z]+)-tool(?::\s|$)/;py=new Set(["cd","export","source","set","unset","mkdir","true",":","pushd","popd","alias","ulimit","umask","echo","printf","sleep","touch","rm","cp","mv","chmod","ln"]);hy=/^(?: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 Ms(e){let t=Buffer.from(e,"utf8");if(t.length<=256)return e;let n=256-Buffer.byteLength(ic,"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")+ic+t.subarray(s).toString("utf8")}var ic,ac=g(()=>{"use strict";ic=`
37
+ `),f.trim().length===0&&t.on_empty&&(f=t.on_empty),{text:f,droppedTail:u}}var hy,Ql,Ps=g(()=>{"use strict";an();yl();kl();$s();Rs();Sl();$t();er();pe();jl();Hl();zl();Ul();Kl();ql();Yl();Xl();hy=20;Ql=new WeakMap});import{readdir as by,readFile as rc,writeFile as tT,mkdir as nT,rename as rT}from"node:fs/promises";import{readdirSync as ky,statSync as ec}from"node:fs";import{createHash as _y}from"node:crypto";import{basename as aT,join as or}from"node:path";function sr(){return or(S(),"filters")}function oc(){return or(S(),"filters-trust.json")}function ic(e){return typeof e=="string"&&e.startsWith(sc)}function xy(e){return _y("sha256").update(e).digest("hex")}async function Sy(){try{let e=JSON.parse(await rc(oc(),"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 vy(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 Ey(e,t){let n=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},{tests:r,...s}=n,o=vy(e,r);if("message"in o)return o;let i=Ne.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:`${sc}${i.data.slug}`,matchRegex:a},tests:o.tests}}function Ty(e){return e===void 0||e===nr?null:typeof e=="number"&&Number.isInteger(e)?`schema_version ${e} is not supported: this tkr reads schema_version = ${nr}. Update tkr, or write the file for version ${nr}`:`schema_version must be the number ${nr}`}async function $y(e){try{return(await by(e)).filter(t=>t.endsWith(".toml")).sort()}catch{return[]}}async function Ry(e={}){let t=e.requireTrust!==!1,n=sr(),r=new Map,s=new Map,o=[],i=await $y(n);if(i.length===0)return{dir:n,filters:r,tests:s,issues:o};let a=t?await Sy():null;for(let l of i){let c;try{c=await rc(or(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!==xy(c)){o.push({file:l,message:`changed since it was trusted. Review it, then run: tkr filters trust ${l}`});continue}}let u=await Ay(c,l);for(let[f,p]of u.filters)r.set(f,p);for(let[f,p]of u.tests)s.set(f,p);o.push(...u.issues)}return{dir:n,filters:r,tests:s,issues:o}}async function Ay(e,t){let n=new Map,r=new Map,s=[],{parse:o}=await Promise.resolve().then(()=>(Hn(),fs)),i;try{i=o(e)}catch(c){return s.push({file:t,message:`not valid TOML (${String(c.message).split(`
38
+ `)[0]})`}),{filters:n,tests:r,issues:s}}let a=Ty(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=Ey(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 Cy(){let e=[];for(let t of[oc(),sr()])try{let n=ec(t);e.push(`${n.mtimeMs}:${n.size}`)}catch{e.push("-")}try{for(let t of ky(sr()).filter(n=>n.endsWith(".toml")).sort()){let n=ec(or(sr(),t));e.push(`${t}:${n.mtimeMs}:${n.size}`)}}catch{}return e.join("|")}function Oy(){let e=Date.now();if(!rr||e-nc>=wy){nc=e;let t=Cy();(!rr||t!==tc)&&(tc=t,rr=Ry())}return rr}async function Iy(e){let{filters:t}=await Oy();return t.size===0?null:Et(e,t.values(),null,t)}function ac(e){return async(t,n)=>await Iy(t)??e(t,n)}var sc,nr,rr,tc,nc,wy,Ns=g(()=>{"use strict";on();qn();Ps();j();sc="user/",nr=1,rr=null,tc="",nc=0,wy=1e3});function lc(e){if(!e)return!1;for(let t of de(e).split(`
39
+ `))if(!/^\s*[✓✔√]\s/.test(t)&&Py.some(n=>n.test(t)))return!0;return!1}var Py,cc=g(()=>{"use strict";an();Py=[/\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 Se(e){let t=e.trim(),n=t.split(/\s+/),r=0;for(;r<n.length;){let a=n[r];if(Dy.test(a)){r++;continue}if(Ny.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 uc(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 Fy(e){let t=uc(e,!1);for(let n=t.length-1;n>=0;n--){let r=t[n].trim();if(r)return r}return e.trim()}function cn(e){let t=uc(e,!0).map(n=>n.trim()).filter(Boolean);if(t.length===0)return null;for(let n of t.slice(0,-1)){let r=Se(n).split(/\s+/)[0]??"";if(!My.has(r))return null}return Fy(t[t.length-1])}function fc(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 Ms(e){let t=Ly.exec(e);return t?Se(e.slice(t[0].length)):null}function dc(e){let t=Ds.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=cn(n),s=r?Se(r):null,i=[s?Ms(s):null,s,e].filter(a=>!!a);return[...new Set(i)]}var Ny,Dy,Ds,My,Ly,Fs=g(()=>{"use strict";Ny=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),Dy=/^[A-Za-z_][A-Za-z0-9_]*=/,Ds=/^([a-z]+)-tool(?::\s|$)/;My=new Set(["cd","export","source","set","unset","mkdir","true",":","pushd","popd","alias","ulimit","umask","echo","printf","sleep","touch","rm","cp","mv","chmod","ln"]);Ly=/^(?: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 Ls(e){let t=Buffer.from(e,"utf8");if(t.length<=256)return e;let n=256-Buffer.byteLength(pc,"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")+pc+t.subarray(s).toString("utf8")}var pc,mc=g(()=>{"use strict";pc=`
38
40
  [YOLO: omitted]
39
- `});function by(e,t){if(!t)return e.split(`
41
+ `});function By(e,t){if(!t)return e.split(`
40
42
  `).map(o=>o.replace(/^[ \t]+|[ \t]+(?=\r?$)/g,"")).join(`
41
43
  `);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
44
  `&&(n+=o);return n+(e.endsWith(`
43
45
  `)?`
44
- `:"")}function ky(e,t){if(/@(?:p)?\d|\r/.test(e))return e;let n=e.endsWith(`
46
+ `:"")}function zy(e,t){if(/@(?:p)?\d|\r/.test(e))return e;let n=e.endsWith(`
45
47
  `)?`
46
48
  `:"",r=(n?e.slice(0,-1):e).split(`
47
- `),s=r.findIndex(y=>gy.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(yy.test($))continue;if(/…|\.\.\./.test($))return e;let T;if(s>=0){if(/[^\x20-\x7e]/.test($))return e;let N=o.map((C,D)=>$.slice(C,o[D+1]));if(N.slice(0,-1).some(C=>C[0]===" "||!C.endsWith(" "))||(T=N.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])||!Fs.test(T[4])||!Number.isFinite(Date.parse(T[4])))return e;if(T.some(N=>/[\u0000-\u001f\u007f]/.test(N)))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}`,N=JSON.stringify(y).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),C=`TITLE ${T} = ${N}`;$*(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}`,N=`TITLE prefix ${T} = ${JSON.stringify(y).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}`;$*(Buffer.byteLength(y)-Buffer.byteLength(T)-1)<=Buffer.byteLength(N)+1||(d.set(y,T),u.push(N))}let p=i[0].cells[4].slice(10),m=i.length>=3&&Fs.test(i[0].cells[4])&&i.every(({cells:y})=>Fs.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]),N=/^((?:\S+\s+){4})\S/.exec($[1])?.[1],C=N?d.get(N):void 0;r[y]=$.map((D,M)=>M===1?T??(C?`${C}:${D.slice(N.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 vy(e){let t=xy.exec(e[0]??"");if(!t)return e;let n=Sy.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 Ey(e){let t=e.endsWith(`
49
+ `),s=r.findIndex(b=>jy.test(b));if(s>=0&&r.slice(0,s).some(b=>b!==""&&!/^Showing \d+ of \d+ (?:open|closed|all) pull requests in \S+$/.test(b)))return e;let o=s>=0?[...r[s].matchAll(/\S+/g)].map(b=>b.index):[],i=[];for(let b=s+1;b<r.length;b+=1){let R=r[b];if(Hy.test(R))continue;if(/…|\.\.\./.test(R))return e;let T;if(s>=0){if(/[^\x20-\x7e]/.test(R))return e;let D=o.map((O,M)=>R.slice(O,o[M+1]));if(D.slice(0,-1).some(O=>O[0]===" "||!O.endsWith(" "))||(T=D.map(O=>O.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=R.split(" "),T.length!==5||!/^\d+$/.test(T[0])||!T[1]||!T[2]||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(T[3])||!js.test(T[4])||!Number.isFinite(Date.parse(T[4])))return e;if(T.some(D=>/[\u0000-\u001f\u007f]/.test(D)))return e;i.push({index:b,cells:T})}if(i.length===0)return e;s>=0&&(r[s]="ID TITLE BRANCH STATE CREATED");for(let b of i)r[b.index]=b.cells.join(" ");let a=r.join(`
50
+ `)+n;if(!t)return a;let l=new Map;for(let{cells:b}of i)l.set(b[1],(l.get(b[1])??0)+1);let c=new Map,u=[];for(let[b,R]of l){if(b.length<40||R<3||b.trim().split(/\s+/).length<8)continue;let T=`@${c.size+1}`,D=JSON.stringify(b).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),O=`TITLE ${T} = ${D}`;R*(Buffer.byteLength(b)-Buffer.byteLength(T))<=Buffer.byteLength(O)+1||(c.set(b,T),u.push(O))}let f=new Map;for(let{cells:b}of i){if(c.has(b[1]))continue;let R=/^((?:\S+\s+){4})\S/.exec(b[1])?.[1];R&&R.length>=24&&f.set(R,(f.get(R)??0)+1)}let p=new Map;for(let[b,R]of f){if(R<3)continue;let T=`@p${p.size+1}`,D=`TITLE prefix ${T} = ${JSON.stringify(b).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}`;R*(Buffer.byteLength(b)-Buffer.byteLength(T)-1)<=Buffer.byteLength(D)+1||(p.set(b,T),u.push(D))}let d=i[0].cells[4].slice(10),m=i.length>=3&&js.test(i[0].cells[4])&&i.every(({cells:b})=>js.test(b[4])&&b[4].slice(10)===d)&&i.length*d.length>`CREATED suffix = ${JSON.stringify(d)}`.length+1;if(m&&u.push(`CREATED suffix = ${JSON.stringify(d)}`),u.length===0)return a;for(let{index:b,cells:R}of i){let T=c.get(R[1]),D=/^((?:\S+\s+){4})\S/.exec(R[1])?.[1],O=D?p.get(D):void 0;r[b]=R.map((M,F)=>F===1?T??(O?`${O}:${M.slice(D.length)}`:M):F===4&&m?M.slice(0,10):M).join(" ")}let y=[...r,"",...u].join(`
51
+ `)+n;return Buffer.byteLength(y)<Buffer.byteLength(a)?y:a}function Ky(e){let t=Gy.exec(e[0]??"");if(!t)return e;let n=Jy.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 gc(e){let t=e.endsWith(`
50
52
  `)?`
51
- `:"",n=vy((t?e.slice(0,-1):e).split(`
52
- `)),r=null,s=[];for(let o of n){if(Object.hasOwn(lc,o)){r=lc[o];continue}if(!o.startsWith(" ")){r=null,s.push(o);continue}if(r==="untracked"){s.push(`?? ${o.slice(1)}`);continue}let i=r?wy.exec(o):null;if(!i)return e;let a=_y[i[1]];s.push(r==="staged"?`${a} ${i[2]}`:` ${a} ${i[2]}`)}return s.join(`
53
- `)+t}function Ry(e){let t=e.split(`
54
- `);for(let n=0;n<t.length;n+=1){if(!Ty.test(t[n]))continue;let r=n;for(;r>0&&cc.test(t[r-1]);)r-=1;for(let s=r;s<n;s+=1)t[s]=t[s].replace(cc," $1 | $2")}return t.join(`
55
- `)}function Ay(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 Cy(e){let t=e.endsWith(`
53
+ `:"",n=Ky((t?e.slice(0,-1):e).split(`
54
+ `)),r=null,s=[];for(let o of n){if(Object.hasOwn(hc,o)){r=hc[o];continue}if(!o.startsWith(" ")){r=null,s.push(o);continue}if(r==="untracked"){s.push(`?? ${o.slice(1)}`);continue}let i=r?Zy.exec(o):null;if(!i)return e;let a=Uy[i[1]];s.push(r==="staged"?`${a} ${i[2]}`:` ${a} ${i[2]}`)}return s.join(`
55
+ `)+t}function Vy(e){let t=e.split(`
56
+ `);for(let n=0;n<t.length;n+=1){if(!Wy.test(t[n]))continue;let r=n;for(;r>0&&yc.test(t[r-1]);)r-=1;for(let s=r;s<n;s+=1)t[s]=t[s].replace(yc," $1 | $2")}return t.join(`
57
+ `)}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 Xy(e){let t=e.endsWith(`
56
58
  `)?`
57
59
  `:"",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=>uc.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(fc.test(c)){l.push(c);continue}let u=c.startsWith(" ")||/[^\x20-\x7e]/.test(c)?null:Ay(c,a);if(!u)return[...r,...s].join(`
60
+ `),r=[],s=[];for(let c of n)c.startsWith("WARNING:")?r.includes(c)||r.push(c):s.push(c);let o=s.findIndex(c=>bc.test(c));if(o<0)return[...r,...s].join(`
61
+ `)+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(kc.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
62
  `)+t;l.push(u.join(" "))}return l.join(`
61
- `)+t}function Oy(e){let t=e.endsWith(`
63
+ `)+t}function Qy(e){let t=e.endsWith(`
62
64
  `)?`
63
65
  `:"",n=(t?e.slice(0,-1):e).split(`
64
- `),r=n.findIndex(i=>uc.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(fc.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 Ls(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=by(e,t==="minimal")}else n==="gh"?r=ky(e,t==="minimal"):n==="git-status"?r=Ey(e):n==="gcloud"?r=Cy(e):n==="oc"?r=Oy(e):n==="git-diff"?r=Ry(e):n==="tofu-plan"&&(r=e.replace($y,"$1 = "));return Buffer.byteLength(r)<Buffer.byteLength(e)?r:e}var gy,yy,Fs,lc,_y,wy,xy,Sy,cc,Ty,$y,uc,fc,dc=g(()=>{"use strict";gy=/^ID {2,}TITLE {2,}BRANCH {2,}STATE {2,}CREATED *$/,yy=/^… \([1-9]\d* more lines omitted\)$/,Fs=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/;lc={"Changes to be committed:":"staged","Changes not staged for commit:":"unstaged","Untracked files:":"untracked"},_y={modified:"M",deleted:"D","new file":"A",renamed:"R",copied:"C",typechange:"T"},wy=/^\t(modified|deleted|new file|renamed|copied|typechange):\s+(.+)$/,xy=/^On branch (\S+)$/,Sy=/^Your branch is (?:up to date with '([^']+)'|(ahead|behind)(?: of)? '([^']+)' by (\d+) commits?(?:, and can be fast-forwarded)?)\.$/;cc=/^ (\S.*?) +\| +(\d+(?: [+-]+)?|Bin .*)$/,Ty=/^ \d+ files? changed(?:, \d+ insertions?\(\+\))?(?:, \d+ deletions?\(-\))?$/;$y=/^( *(?:[~+-] +)?(?:[\w.-]+|"[^"\n]*")) {2,}= /gm,uc=/^[A-Z][A-Z0-9_]*(?: +[A-Z][A-Z0-9_]*)+$/,fc=/^… \(\d+ more lines omitted\)$/});function pc(e){if(Buffer.byteLength(e)<2048||Wn(e)||Py.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(Iy.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 Iy,Py,mc=g(()=>{"use strict";Et();Iy=/^(?:\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|$)/,Py=/^\[tkr: previous log line repeated \d+ additional times\]$/m});function hc(e){return Dy.test(e)}function gc(e){let t=e.endsWith(`
66
+ `),r=n.findIndex(i=>bc.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(kc.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(`
67
+ `)+t}function Hs(e,t,n){if(t!=="compact"&&t!=="minimal"){if(n!=="git-status")return e;let s=gc(e);return Buffer.byteLength(s)<Buffer.byteLength(e)?s:e}let r=e;if(/^[ \t\r\n]*[\[{]/.test(e)){try{JSON.parse(e)}catch{return e}r=By(e,t==="minimal")}else n==="gh"?r=zy(e,t==="minimal"):n==="git-status"?r=gc(e):n==="gcloud"?r=Xy(e):n==="oc"?r=Qy(e):n==="git-diff"?r=Vy(e):n==="tofu-plan"&&(r=e.replace(qy,"$1 = "));return Buffer.byteLength(r)<Buffer.byteLength(e)?r:e}var jy,Hy,js,hc,Uy,Zy,Gy,Jy,yc,Wy,qy,bc,kc,_c=g(()=>{"use strict";jy=/^ID {2,}TITLE {2,}BRANCH {2,}STATE {2,}CREATED *$/,Hy=/^… \([1-9]\d* more lines omitted\)$/,js=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/;hc={"Changes to be committed:":"staged","Changes not staged for commit:":"unstaged","Untracked files:":"untracked"},Uy={modified:"M",deleted:"D","new file":"A",renamed:"R",copied:"C",typechange:"T"},Zy=/^\t(modified|deleted|new file|renamed|copied|typechange):\s+(.+)$/,Gy=/^On branch (\S+)$/,Jy=/^Your branch is (?:up to date with '([^']+)'|(ahead|behind)(?: of)? '([^']+)' by (\d+) commits?(?:, and can be fast-forwarded)?)\.$/;yc=/^ (\S.*?) +\| +(\d+(?: [+-]+)?|Bin .*)$/,Wy=/^ \d+ files? changed(?:, \d+ insertions?\(\+\))?(?:, \d+ deletions?\(-\))?$/;qy=/^( *(?:[~+-] +)?(?:[\w.-]+|"[^"\n]*")) {2,}= /gm,bc=/^[A-Z][A-Z0-9_]*(?: +[A-Z][A-Z0-9_]*)+$/,kc=/^… \(\d+ more lines omitted\)$/});function wc(e){if(Buffer.byteLength(e)<2048||Xn(e)||tb.test(e))return e;let t=e.split(`
68
+ `),n=[];for(let r=0;r<t.length;){let s=t[r],o=r+1;if(eb.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(`
69
+ `)}var eb,tb,xc=g(()=>{"use strict";$t();eb=/^(?:\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|$)/,tb=/^\[tkr: previous log line repeated \d+ additional times\]$/m});function Sc(e){return rb.test(e)}function vc(e){let t=e.endsWith(`
68
70
  `),n=(t?e.slice(0,-1):e).split(`
69
- `),r=0;for(let s of n)if(s.trim()!==""){if(!Ny.test(s))return null;r+=1}return r<2?null:`tsc: 0 errors, ${r} files${t?`
70
- `:""}`}var Ny,Dy,yc=g(()=>{"use strict";Ny=/^(?:[A-Za-z]:)?[^\s"'<>|]+\.(?:[cm]?[jt]sx?|json)$/,Dy=/--(?:listFiles|listFilesOnly|listEmittedFiles|showConfig|explainFiles|traceResolution)(?:\s|=|$)/});function Tt(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 nr(e){return My.test(e)}function rr(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 js(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||Hy.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=Fy.exec(d)??Ly.exec(d);if(m){s=-1;let y=m[1].replace(/^file:\/\//,"");nr(y)||(r=rr(n,`${y}:${m[2]}${m[3]?`:${m[3]}`:""}`,r));continue}let b=jy.exec(d);if(b){s=-1,n.push({kind:"code",text:p,num:Number(b[2]),pointed:b[1]===">"});continue}if(By.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.kind="source",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 zy(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=Tt(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}=js(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 Uy(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=Tt(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}=js(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 Sc(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}=js(i.get(l.name),s);l.body=c,l.loc=u}return o}function Zy(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=Sc(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 Gy(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=Tt(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=Sc(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 Jy(e){if(!e.some(i=>/^test result: /.test(i))||!e.some(i=>/^---- .+ stdout ----$/.test(i)))return null;let t=Tt(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&&!nr(m[1])&&(i.loc=rr(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 Ky(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){nr(u[1])||(a.loc=rr(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 kc(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(nr(f[1]))o>=0&&n.splice(o,1);else{let d=f[3]?.startsWith("in ")?` ${f[3]}`:"";r=rr(n,`${f[1]}:${f[2]}${r===null?"":d}`,r)}o=-1;continue}/^>\s/.test(c)&&(o=n.length,n.push({kind:"source",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 _c(e,t){return t.push(q(e.replace(/ in [\d.]+s(?: \([\d:]+\))?$/,""))),(Tt([e],/(\d+) failed/)??0)+(Tt([e],/(\d+) errors?\b/)??0)}function Wy(e){if(!e.some(f=>/^={3,} (?:FAILURES|ERRORS|short test summary info) ={3,}$/.test(f)||bc.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=_c(s,r));continue}if(/^(?:\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)(?:, |\s|$))+(?:in [\d.]+s(?: \([\d:]+\))?)?$/.test(f.trim())){a=_c(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=bc.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(N=>N&&t.has(N)&&!l.has(N));b&&l.add(b);let{body:y,loc:$}=kc(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,exact:!0})}for(let[f,d]of t){if(l.has(f))continue;let{body:p,loc:m}=kc(d,null);c.push({file:m?m.replace(/:\d+$/,""):null,name:f,loc:m,body:p,exact:!0})}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 Yy(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 Xy(e,t,n){let r=xc[n],s=e.body.filter(p=>p.kind==="msg");if(!t)return[...e.body.filter(p=>p.kind==="source"),...s.slice(0,1)].map(p=>` ${p.text}`);let o=e.body.filter(p=>p.kind==="diff"),i=r.trimDiff&&Yy(o,s.map(p=>p.text).join(`
71
- `)),a={msg:0,legend:0,diff:0,frame:0,code:0,source:0,out:0},l={msg:0,legend:0,diff:0,frame:0,code:0,source:0,out:0},c={msg:r.msg,legend:1/0,diff:r.diff,frame:e.exact?1/0:r.frames,code:0,source:1/0,out:r.out},u=r.changedOnly&&o.length>Vy,f=[];for(let p of e.body){if((p.kind==="diff"||p.kind==="legend")&&i)continue;if(p.kind==="diff"&&u&&!/^[-+]/.test(p.text.trim())){l.diff+=1;continue}let m=p.kind==="legend"?"diff":p.kind;if(a[m]>=c[m]&&p.kind!=="legend"){l[m]+=1;continue}p.kind!=="legend"&&(a[m]+=1),f.push(p.kind==="frame"?` at ${p.text}`:` ${p.text}`)}let d=l.msg+l.diff+(n==="normal"?l.frame+l.out:0);return d>0&&f.push(` ${vt(d)}`),f}function Qy(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 eb(e){if(!e.loc)return`\xD7 ${e.name}`;let t=!e.exact&&e.file&&e.loc.startsWith(`${e.file}:`)?e.loc.slice(e.file.length):e.loc;return`\xD7 ${e.name} ${t}`}function tb(e,t){let n=xc[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:Xy(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 ${Qy(o.slice(c,f+1).map(p=>p.f.name))}`:eb(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(`
71
+ `),r=0;for(let s of n)if(s.trim()!==""){if(!nb.test(s))return null;r+=1}return r<2?null:`tsc: 0 errors, ${r} files${t?`
72
+ `:""}`}var nb,rb,Ec=g(()=>{"use strict";nb=/^(?:[A-Za-z]:)?[^\s"'<>|]+\.(?:[cm]?[jt]sx?|json)$/,rb=/--(?:listFiles|listFilesOnly|listEmittedFiles|showConfig|explainFiles|traceResolution)(?:\s|=|$)/});function Rt(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 ir(e){return sb.test(e)}function ar(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 Bs(e,t=()=>!1){let n=[],r=null,s=-1,o=!1;for(let f of e){let p=f.trimEnd(),d=p.trim();if(!d||lb.test(p)||/^─+$/.test(d))continue;if(t(d)){o=!0,n.push({kind:"out",text:d.replace(/\s*─+$/,"")});continue}if(o){n.push({kind:"out",text:d});continue}let m=ob.exec(p)??ib.exec(p);if(m){s=-1;let b=m[1].replace(/^file:\/\//,"");ir(b)||(r=ar(n,`${b}:${m[2]}${m[3]?`:${m[3]}`:""}`,r));continue}let y=ab.exec(p);if(y){s=-1,n.push({kind:"code",text:d,num:Number(y[2]),pointed:y[1]===">"});continue}if(cb.test(d)){s=n.length,n.push({kind:"legend",text:d});continue}n.push(s>=0?{kind:"diff",text:p,segment:s}:{kind:"msg",text:d})}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 p=!l&&(i?f.pointed===!0:f.num===a);return p&&(l=!0),p}),u=new Map;for(let f of c){if(f.kind!=="diff")continue;let p=f.text.length-f.text.trimStart().length;u.set(f.segment,Math.min(u.get(f.segment)??p,p))}for(let f of c)f.kind==="diff"&&(f.text=f.text.slice(u.get(f.segment)??0)),f.kind==="code"&&(f.kind="source",f.text=f.text.replace(/^>\s*/,""));return{body:c,loc:r}}function V(e,t=!1){return{text:e.trim().replace(/\s{2,}/g," "),minor:t}}function ub(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=Rt(e,/^\s*Tests\s+(\d+) failed/),n=[];for(let l of e)/^\s*Test Files\s{2,}\S/.test(l)?n.push(V(l,!0)):/^\s*(?:Tests|Errors|Type Errors)\s{2,}\S/.test(l)&&n.push(V(l));let r=[],s=0,o=[],i=[],a=()=>{if(o.length){let{body:l,loc:c}=Bs(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(b=>b.trim())&&a();let p=u[1],d=/^(\S+) \[ \S+ \]$/.exec(p),m=p.split(" > "),y=d?{file:d[1],name:"(suite)",loc:null,body:[]}:m.length>1?{file:m[0],name:m.slice(1).join(" > "),loc:null,body:[]}:{file:null,name:p,loc:null,body:[]};d||(s+=1),r.push(y),o.push(y);continue}let f=/^⎯+ (Unhandled [A-Za-z ]+?) ⎯+$/.exec(c);if(f){a();let p={file:null,name:f[1],loc:null,body:[]};r.push(p),o.push(p);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 fb(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=Rt(e,/^Tests:\s+(\d+) failed/),n=[];for(let u of e)/^Test Suites:\s/.test(u)?n.push(V(u,!0)):(/^Tests:\s/.test(u)||/^Snapshots:\s/.test(u)&&/failed|obsolete/.test(u))&&n.push(V(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:p}=Bs(l);a.body=f,a.loc=p,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 p=/^\s{2}● (.+)$/.exec(u);if(p){c(),p[1].trim()!=="Console"&&(a={file:i,name:p[1].trim(),loc:null,body:[]});continue}a&&l.push(u)}return c(),{failures:r,summary:n,reported:t,counted:o}}function Oc(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:p}=r(u[1],e.slice(l+1,Math.min(n,l+8)));l+=p,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}=Bs(i.get(l.name),s);l.body=c,l.loc=u}return o}function db(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=>V(o.replace(/ \(\S+\)\s*$/,""))),s=Oc(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 pb(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=Rt(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=>V(a.replace(/ \([\d.]+m?s\)\s*$/,""))),i=Oc(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 mb(e){if(!e.some(i=>/^test result: /.test(i))||!e.some(i=>/^---- .+ stdout ----$/.test(i)))return null;let t=Rt(e,/^test result: FAILED\. \d+ passed; (\d+) failed/),n=[];for(let i of e)/^test result: FAILED/.test(i)?n.push(V(i.replace(/; finished in [\d.]+m?s\s*$/,""))):/^test result: ok/.test(i)?n.push(V(i.replace(/; finished in [\d.]+m?s\s*$/,""),!0)):/^error(?:\[\w+\])?: /.test(i)&&n.push(V(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(),p=f.trim();if(!p)continue;let d=/^thread '.+?'(?: \(\d+\))? panicked at (?:'(.*)', )?(\S+?):(\d+):(\d+):?$/.exec(p);if(d){l=!0,i.loc??=`${d[2]}:${d[3]}:${d[4]}`,d[1]&&i.body.push({kind:"msg",text:d[1]});continue}if(!/^note: run with `RUST_BACKTRACE/.test(p)){if(/^stack backtrace:$/.test(p)){c=!0;continue}if(c){let m=/^at\s+(\S+?):(\d+):(\d+)$/.exec(p);m&&!ir(m[1])&&(i.loc=ar(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 hb(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(V(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(V(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(V(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){ir(u[1])||(a.loc=ar(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 $c(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(ir(f[1]))o>=0&&n.splice(o,1);else{let p=f[3]?.startsWith("in ")?` ${f[3]}`:"";r=ar(n,`${f[1]}:${f[2]}${r===null?"":p}`,r)}o=-1;continue}/^>\s/.test(c)&&(o=n.length,n.push({kind:"source",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 Rc(e,t){return t.push(V(e.replace(/ in [\d.]+s(?: \([\d:]+\))?$/,""))),(Rt([e],/(\d+) failed/)??0)+(Rt([e],/(\d+) errors?\b/)??0)}function gb(e){if(!e.some(f=>/^={3,} (?:FAILURES|ERRORS|short test summary info) ={3,}$/.test(f)||Tc.test(f)))return null;let t=new Map,n=[],r=[],s="",o=null,i=null,a=null;for(let f of e){let p=/^={3,} (.+?) ={3,}$/.exec(f);if(p){s=p[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=Rc(s,r));continue}if(/^(?:\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)(?:, |\s|$))+(?:in [\d.]+s(?: \([\d:]+\))?)?$/.test(f.trim())){a=Rc(f.trim(),r);continue}if(/^!{3,} .+ !{3,}$/.test(f)){r.push(V(f.replace(/^!+ | !+$/g,"")));continue}let d=/^_{3,} (.+?) _{3,}$/.exec(f);if(d&&(s==="FAILURES"||s==="ERRORS")){o=[],t.set(d[1],o);continue}let m=Tc.exec(f);if(m&&s!=="FAILURES"&&s!=="ERRORS"){o=null;let y={kind:m[1],id:m[2],msg:m[3]??null,inline:[]};n.push(y),i=y;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[p,...d]=f.id.split("::"),m=d.join("."),y=[m,`ERROR collecting ${f.id}`,`ERROR at setup of ${m}`,`ERROR at teardown of ${m}`].find(D=>D&&t.has(D)&&!l.has(D));y&&l.add(y);let{body:b,loc:R}=$c(y?t.get(y):f.inline,f.msg),T=d.length?d.join("::"):"(collection)";c.push({file:p,name:f.kind==="ERROR"?`${T} [error]`:T,loc:R,body:b,exact:!0})}for(let[f,p]of t){if(l.has(f))continue;let{body:d,loc:m}=$c(p,null);c.push({file:m?m.replace(/:\d+$/,""):null,name:f,loc:m,body:d,exact:!0})}if(c.length===0)for(let f of e){let p=/^(\S+?)::(\S+) (FAILED|ERROR)\b/.exec(f);p&&c.push({file:p[1],name:p[3]==="ERROR"?`${p[2]} [error]`:p[2],loc:null,body:[]})}return{failures:c,summary:r,reported:a,counted:c.length}}function kb(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 _b(e,t,n){let r=Cc[n],s=e.body.filter(d=>d.kind==="msg");if(!t)return[...e.body.filter(d=>d.kind==="source"),...s.slice(0,1)].map(d=>` ${d.text}`);let o=e.body.filter(d=>d.kind==="diff"),i=r.trimDiff&&kb(o,s.map(d=>d.text).join(`
73
+ `)),a={msg:0,legend:0,diff:0,frame:0,code:0,source:0,out:0},l={msg:0,legend:0,diff:0,frame:0,code:0,source:0,out:0},c={msg:r.msg,legend:1/0,diff:r.diff,frame:e.exact?1/0:r.frames,code:0,source:1/0,out:r.out},u=r.changedOnly&&o.length>yb,f=[];for(let d of e.body){if((d.kind==="diff"||d.kind==="legend")&&i)continue;if(d.kind==="diff"&&u&&!/^[-+]/.test(d.text.trim())){l.diff+=1;continue}let m=d.kind==="legend"?"diff":d.kind;if(a[m]>=c[m]&&d.kind!=="legend"){l[m]+=1;continue}d.kind!=="legend"&&(a[m]+=1),f.push(d.kind==="frame"?` at ${d.text}`:` ${d.text}`)}let p=l.msg+l.diff+(n==="normal"?l.frame+l.out:0);return p>0&&f.push(` ${Tt(p)}`),f}function wb(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 xb(e){if(!e.loc)return`\xD7 ${e.name}`;let t=!e.exact&&e.file&&e.loc.startsWith(`${e.file}:`)?e.loc.slice(e.file.length):e.loc;return`\xD7 ${e.name} ${t}`}function Sb(e,t){let n=Cc[t],r=new Map,s=e.failures.length>n.bulk,o=e.failures.map(c=>{let u=c.body.find(d=>d.kind==="msg")?.text??"",f=(r.get(u)??0)+1;r.set(u,f);let p=u===""||!s||f<=n.repeats;return{f:c,full:p,body:_b(c,p,t).join(`
74
+ `)}}),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 d=o[f+1];if(d.full||d.f.loc!==null||d.f.file!==u.f.file||d.body!==u.body)break;f+=1}i.push(f>c?`\xD7 ${wb(o.slice(c,f+1).map(d=>d.f.name))}`:xb(u.f)),c=f;let p=o[c+1];p&&p.f.file===u.f.file&&p.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
75
  `)}
74
- `}function vc(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 qy){let s=r(n);if(!(!s||s.failures.length===0))return s.counted===0||s.reported!==null&&s.counted<s.reported?null:tb(s,t)}return null}var wc,xc,My,Fy,Ly,jy,Hy,By,bc,Vy,qy,Ec=g(()=>{"use strict";rn();Es();wc=/^(?:(?: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|$)/,xc={normal:{msg:40,diff:60,frames:6,out:20,bulk:50,repeats:10,trimDiff:!1,changedOnly:!1},compact:{msg:12,diff:24,frames:2,out:5,bulk:20,repeats:2,trimDiff:!0,changedOnly:!1},minimal:{msg:6,diff:8,frames:0,out:0,bulk:10,repeats:1,trimDiff:!0,changedOnly:!0}},My=/node_modules|^node:|^internal\/|site-packages|dist-packages|\/lib\/python\d|\/rustc\/|\.cargo\/registry|\.rustup\/|\/go\/src\/|\/go\/pkg\/mod\/|\/libexec\/src\/|<anonymous>/,Fy=/^\s*at\s+(?:.*?\()?((?:file:\/\/)?[^\s()]+?):(\d+)(?::(\d+))?\)?\s*$/,Ly=/^\s*❯\s+(?:\S+\s+)?([^\s]+?):(\d+)(?::(\d+))?\s*$/,jy=/^\s*(>)?\s*(\d+)\s*\|/,Hy=/^\s*\|\s*[\^~]+\s*$/,By=/^(?:- Expected|\+ Received|- Snapshot|\+ expected - actual|\+ actual - expected|- expected \+ actual)(?:\s+[-+]\s*\d+)?$/;bc=/^(FAILED|ERROR) (\S+?\.py(?:::\S+)?)(?: - (.*))?$/;Vy=12,qy=[Jy,Ky,Wy,Uy,zy,Zy,Gy]});import{createCipheriv as eT,createDecipheriv as nb,hkdfSync as rb,randomBytes as tT}from"node:crypto";function ib(e){return Buffer.from(rb("sha256",Buffer.from(e,"utf8"),sb,ob,32))}function sr(e,t){let n=ib(t),r=Buffer.from(e,"base64url"),s=r.subarray(0,12),o=r.subarray(12,28),i=r.subarray(28),a=nb("aes-256-gcm",n,s);return a.setAuthTag(o),Buffer.concat([a.update(i),a.final()]).toString("utf8")}var sb,ob,Hs=g(()=>{"use strict";sb=Buffer.from("tokmizer-bundle-enc-v1"),ob=Buffer.from("rules-bundle")});import{createRequire as ab}from"node:module";function cb(){let e="0.9.66";if(e)return e;for(let t of["../package.json","../../package.json"])try{let n=lb(t).version;if(typeof n=="string"&&n)return n}catch{}return"0.0.0"}function Tc(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 lb,an,or=g(()=>{"use strict";lb=ab(import.meta.url);an=cb()});var Rc,$c=g(()=>{"use strict";Rc=`-----BEGIN PUBLIC KEY-----
76
+ `}function Ic(e,t="normal"){let n=de(e).split(`
77
+ `).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 bb){let s=r(n);if(!(!s||s.failures.length===0))return s.counted===0||s.reported!==null&&s.counted<s.reported?null:Sb(s,t)}return null}var Ac,Cc,sb,ob,ib,ab,lb,cb,Tc,yb,bb,Pc=g(()=>{"use strict";an();$s();Ac=/^(?:(?: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|$)/,Cc={normal:{msg:40,diff:60,frames:6,out:20,bulk:50,repeats:10,trimDiff:!1,changedOnly:!1},compact:{msg:12,diff:24,frames:2,out:5,bulk:20,repeats:2,trimDiff:!0,changedOnly:!1},minimal:{msg:6,diff:8,frames:0,out:0,bulk:10,repeats:1,trimDiff:!0,changedOnly:!0}},sb=/node_modules|^node:|^internal\/|site-packages|dist-packages|\/lib\/python\d|\/rustc\/|\.cargo\/registry|\.rustup\/|\/go\/src\/|\/go\/pkg\/mod\/|\/libexec\/src\/|<anonymous>/,ob=/^\s*at\s+(?:.*?\()?((?:file:\/\/)?[^\s()]+?):(\d+)(?::(\d+))?\)?\s*$/,ib=/^\s*❯\s+(?:\S+\s+)?([^\s]+?):(\d+)(?::(\d+))?\s*$/,ab=/^\s*(>)?\s*(\d+)\s*\|/,lb=/^\s*\|\s*[\^~]+\s*$/,cb=/^(?:- Expected|\+ Received|- Snapshot|\+ expected - actual|\+ actual - expected|- expected \+ actual)(?:\s+[-+]\s*\d+)?$/;Tc=/^(FAILED|ERROR) (\S+?\.py(?:::\S+)?)(?: - (.*))?$/;yb=12,bb=[mb,hb,gb,fb,ub,db,pb]});import{createCipheriv as ET,createDecipheriv as vb,hkdfSync as Eb,randomBytes as TT}from"node:crypto";function Rb(e){return Buffer.from(Eb("sha256",Buffer.from(e,"utf8"),Tb,$b,32))}function lr(e,t){let n=Rb(t),r=Buffer.from(e,"base64url"),s=r.subarray(0,12),o=r.subarray(12,28),i=r.subarray(28),a=vb("aes-256-gcm",n,s);return a.setAuthTag(o),Buffer.concat([a.update(i),a.final()]).toString("utf8")}var Tb,$b,zs=g(()=>{"use strict";Tb=Buffer.from("tokmizer-bundle-enc-v1"),$b=Buffer.from("rules-bundle")});import{createRequire as Ab}from"node:module";function Ob(){let e="0.9.68";if(e)return e;for(let t of["../package.json","../../package.json"])try{let n=Cb(t).version;if(typeof n=="string"&&n)return n}catch{}return"0.0.0"}function Nc(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 Cb,un,cr=g(()=>{"use strict";Cb=Ab(import.meta.url);un=Ob()});var Dc,Mc=g(()=>{"use strict";Dc=`-----BEGIN PUBLIC KEY-----
76
78
  MCowBQYDK2VwAyEAj/kMlXlhTIGHRKxOKMuGFa1S1ybxxwgdYcAE0YM9fgU=
77
79
  -----END PUBLIC KEY-----
78
- `});import{existsSync as ub,mkdirSync as aT,rmSync as lT,writeFileSync as cT}from"node:fs";import{join as fb}from"node:path";function pb(){return fb(S(),"network-off")}function mb(){let e=process.env.TOKMIZER_NETWORK;return e!==void 0&&db.has(e.trim().toLowerCase())}function ln(){return mb()?!1:!ub(pb())}var db,dT,cn=g(()=>{"use strict";j();db=new Set(["0","off","false","no"]),dT=["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 Ac(){return Rc.replace(/\\n/g,`
80
- `)}var bT,kT,Bs=g(()=>{"use strict";or();$c();cn();bT=300*1e3,kT=120*1e3});import{chmodSync as xT,readFileSync as hb,writeFileSync as ST,mkdirSync as vT,renameSync as ET}from"node:fs";import{join as gb}from"node:path";function bb(){return gb(S(),"bundle-cache.json")}function Cc(){try{let e=hb(bb(),"utf8"),t=yb.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}var yb,Oc=g(()=>{"use strict";_t();j();yb=k.object({payload:k.string().min(1),signature:k.string().min(1),enc:k.literal("v1"),fetchedAt:k.number().int().nonnegative()})});import{createPublicKey as _b,verify as wb}from"node:crypto";function Sb(){let e=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(e)&&e>0?e:xb}function vb(e,t){let n=Ac();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=_b({key:n,format:"pem"});if(!wb(null,Buffer.from(e.payload,"utf8"),r,Buffer.from(e.signature,"base64url")))throw new Error("tkr-daemon: rules bundle signature invalid");return JSON.parse(sr(e.payload,t))}function Eb(e,t){let n=vb(e,t),r=zs.parse(n);if(Date.now()-r.signedAt>Sb())throw new Error("tkr-daemon: rules bundle is stale");return Us(r,{signedAt:r.signedAt,fetchedAt:Date.now()})}function Us(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)=>St(r,n.values(),o?new Set(o):null,n)}}async function Ic(){try{let e=Cc();if(!e)return null;let t=await He();return t?.signingSecret?Eb(e,t.signingSecret):null}catch{return null}}var zs,jT,xb,Zs=g(()=>{"use strict";_t();Qt();Jn();Lt();Bs();Hs();Oc();zs=k.object({bundleVersion:k.number().int().nonnegative(),signedAt:k.number().int(),filters:k.array(Me)}),jT=k.object({payload:k.string().min(1),signature:k.string().min(1),enc:k.literal("v1")}),xb=10080*60*1e3});function Pc(){let e="PP04tkJYgQQ8d_PpzqK8LEukCCHNd_i0lZ4maSdWrgKn-AG3bFre1nbvK1-fYj5_7JMO1Rp6lvSXWphoeHztbZlgIhhshVMexbgWcS3MGXGU5aVSfS5X1X8594EkTNjpJnP6Nay8lydv4ZS6tyYS88_fDZRHdNLMOYNQjaeBvY6YBx4gVwLUCqip0EvN_HO79aXQ-bgmL3r4c_XvhKFBdAqBHIQh1YlzqjmHc_ZEVm1SBy402ukRVeZaZCjOb8aOniSEnG5Yn7L5TRFR_1R5N_xELXdm8zE3KKi2TNSwsUylGwwv6cRbKTMhzbSKAd5dRAhU5nkwRmDJQCehYsQkmS4yZLKDFOEi3EXS1veRkK8jzwpvkhgZoFBWsV-p7jtyBndaS0ju0l-eyrxSg09eYWekHv1nFqUWErVZoCyral9JrSEbTJh81DKecdHT-6fcT9RJKpdAjqE87fFb2hVWV4k5ql71yyE0of2VkkBiqnbWl8OsxmA5vhti1rMXSpN6KxCHniTklvW3loVQAb8f58lqSdLt7mlhaT-j6U9oyVowXr2JAhTE3gp6DqBpzqxCWBgfqVFrLOoFVK3Xi6vi0EoGaQFLZBGsTv5SmhDc1ljmKPIRJNty87OHAj28f1NgEsVrXNK0pZOZ-is281AYZ3iszdlj0hbx40t9kpAGxfhbNnQX1ISItyOWEezTFQUN2bniJTmW5e5do7Cfc8dZXXYEoCR6YVYakT1GPCXuYp3YWd8BGc4J5Tvyao0cdzL9dci5KFG8HlSx6L2ZozHi8C0lrRMSOS--y6Xm9AVCa94zR8TfuWFbENsfnHqH7gQWj1DRMQwKZT9MuZOEJ6X1LKSE4R6iHiWlRMwk1YaMTbGRDscy_3QAu1gbwxMTfFWwBIGNNJ9ffsjO8zX-x0BZCrFSsv8fA81mU6E1kqB-HRP0fFFszIdUgyPqjBrRo69dEMkkoHoEo5uIUkpQyGkcJ7382cNEKrwNnxfCo7NcAUHHqavyvMhPIofNjTcxE-ZaKX9DgTRQyUjlkS3E3dVbOAhi90TlgDh9et3CC2r5uRq4puWx7fW79-SOJgCXQ3pPWO7DkI0rLG5kdTI15d50LIJnvio8wV8hsliihLdthkHkZhuGuguttnZ6EkLFWHN29XMdghcjIhgdfEAEDL2oBPqyi5wJe3AI1qGjvj5PQpSExfK27dbpc5rgvxN0nq7ndY6ZAAI55hDCC0m9_ak-hr4p0_k5N2JzhgKxbqzxPO7eX2f_Sptvta2p7VEnozwy0mNBX80weM-2SV5CwjgDTLWG_H_Yx-_AWXsYE1PrywgZSYBapiCq2VEpX8HU_PA1aUrPUJScrfStr4w4LwNV6O74nk9MWzndX1Z41jnjCox6wi6wNH_b5F_2hUHEO2KOJFYPCatwQdlacMeS9P6Y5vXyeVJJDYBOB1pQwDrOOQs2citK2NLFq7uKX7cfij8_whsuYGAz2rG3FEYD7US_TEDMgjwgpflPWwGAo4crW8GkKehG-qu2QwCkpAcFWLRvdQifXIV0HQ4SnGi8EH3VxS7BuasEVHYG2XsTcVm9-KSozz9UFnA3ApA4PoC8q6m8AV4Dl9PJckg-b8-tIv7yu1xMBz-38jDoseXskQxub570WOKSxN_-0eTlBNgGNyjTXtB2r2Yt4IlHzzW4N9gRdu8K-UlufpYDbXIMz41c_NZIcnICjc6Y7PvcH3zv9xuUulzJ9x4GS335DQXTrb_CwTkyG0Wb_caYwVZY6CzhTDBHwKTlwrqfzZTZ_NR3O3fqWczgxNz9jAncc_Lw3P7PsU2LuO5OPO9p1zsOapKrTVXf8-1ewYvdGLMs28vMSOAklOS4YOaaqFtSO4vZdrzyeEyfY-mdbCZspn1QJKaYpgoBpUn2q_qfQpoVxMBAWTS9Cdune1NIrOFE_FoUGQeLA7C3bepUQYWKRWMP2xcpa46Afyg5PuXNCgWLSs8eO4AlIejT75NIkMXGRBecVGtIEaM709reJRbAwlUTHhD0pr2ZlyxHE-RmTplnPEDd8V7AJ1B42FC4qOfJF3LSOqXYbxiETVdTRtQPRbwfBzv6r808noamTAW8SwaMAAAyV0oj3MdJ0CH4Knu8UyKHkix43brLAqnWNG_CPc1jIfRkH7Bcc_h1kWAdWxmet2FKoeBC4g0K-EwuzepKlLpue63FE10NlahuD9epJ9Q8uWeLAh7zIpESkvh24t0KHc4Tkm3Mq_ywibUMyKXNpt3lewYyb3555-C2ez_bo6wlXUcGOYzjRyxdigiTCZRsShNpR2-IFk1kZ05fQWnnK9YjEYxCdipixqyxrTbD63hnBgodZNgYF4q-Dq0n-QvAIFUlBNVBTM_CnlnQVcbGEZMv2vrlC8g9bJj4417pvzxMuTktTvqPf7m7rF-EAuVm27NzqVuBApSloSFkqqCpdJzjWKJ_k6pTaCeeU8hoJN8oCbh7j0zAbwwH0YAozBqpOIwFnwM49lF-U3i6GgwUUkWBYBwjNMpVuxXy5lsM6UquYcxqws_Dk1xi5gJscSo8NMzCToPuUnIAeUVyIYkpQAqNCIRL8CqH4JXGDt6CfvaToWmRtfhxSlLRZ-QbH0CpDk85iVcDpaWoiCOI1r3Q6TuS9MOnr7GJR5IFgUa5mijYELbpcqgtzkZgkBXvzCE1u8-v1Ac4_pfUhxTKf9T_JZ94kvyZnIvBDprqfhuG9ACSu4w-wQFjPVGtilKGY86ExO2lnd7txVoO0j8_inyvd89E9Y3H3WkQVWLq9epNREneotb7sOv4HIqb0fSRe-2CVQZQxbKNBW929LHUFgDS7-urj4-aGvt7rx89VrPzVGfctwG6GV0oihpAlX90sms-7Dh7VHwxejqPc0jJdKp6P7DXr7OpEWthIcN-gvFBnx1zkGwal2eod0ApnUEfVjL7repfoHEKNYmUPS5CL3LnKLHe7V4NSTpEHXYLFqXv5LthANP-X7ZrUc47wyxffGiVhKJ2azv_AMaGLCu6HggDi10NJUsZU8PtHQwjRBcfYyJs2LDL8N82GqK0i2oick1xn42Y6pqBPRkTIEbJCbbOUAigyg5BrWI6ae8sOaQlVGcZlDJzYvvOoTryrRvq_Wwy6ywPzGCDzGrIV2UvisYRXwd0eXz-MyVdnRyZ4GM898aZdY1uYsDL1uhMU8dF1rjEJAf8DsGy-KGl_plRP7uB7vGwFKkjTnQ2MvdKkcd8Lq4puOuzS6wbESEx7FAb42Dq_omKnmsDXDLM9ZGbJdsr4nbmPwnSvkNtTNGobgNnoByLenidvrDdEpWt5y401A6Hl1BD9a5gUYTkMdcaQxXHHJrTx7cjF1FJPFYiiWkyRLv3rHre58Px-Uvp4IQRzzuj3gCfcQaT-X47Xb_goCFQhbR3O1GKO8T7R48PDblTnIuK0nsmz2UxGJS44Fkqr4gOOY8E8GMk5G2gVNlLF0-JBx97cuvyOjr48LDNF0oDht5FYi6u6PPgbDa8sxbEHTgOSM1Vdjqvxp80a50XC7l7K5wnBObQY7pAuPpn5TkLbR1kYk6JaTsNA2rA_ID7AcCyyFqCNyej7wk5MCUurpAuIJxx7qdH7nYg3y86qa1urCcu4EJ9XRpOqwe-tHO5xTqWs6YGV4fR2t11CPrDzemPDx-OYj1cAX4irC9E6puTQbOeBJ-TO1Ak-PGZN8E8CNG5L5PqKtYx54Lkw9cMX06O_gxc3gLkc4Nlm_mN2T7yrCwE1fRrIOGe4pVpzXBB_GTd0-PrxJe7IcOtZVidszbFONSCCzzQz1vRxSkPrUZx4S_1eJX18JMXNmumMOWnYEZ_3aeZgyxlsNkLzdCy9iz6Pqgyzqyu7lplq4NYsRrq82f99eOO8fq0rM23_0CMEi_tSm5aujYyilwTFC0oY7CfkRuoimsLo6ujZ-exresAEfOunXjsSoVJ5KFSIaGKcx_9OY_0Dw6VxiFtowPn9OQDXMg93p9GEi4kS_JsaTlT4QLuKWVGDAQSMRE79bqpIdSThULMCvNqzk8wSSagltpGTgukLoTq0e5zlC9qt21rjx-tYWuLGP0KcaWD1S0yoqnoeARc9FhYky6YXnSEd7Y2OSMl7qY4Ryf1LGziBghe8tAfJwd4X_QWg3TmaQhfSDoi18b9q1hvNndZSSEjIW66Kfxlcx-Fs3iP43gtE9FwOTPsU1_YWqwfbhG62LI8qgF1vnDhtywOHzPBQsuhy8ht7pTgOietjBHBsGXRt61gjPav-Q9gH2sS9v9pTRBxmyhRhilyyN3BR8pl66BvzLh8J8mB7ZgGqs3itN07X_GeEk-S0KamR8RrhDa_e3E7Seh5tyfwbH-fPFusB3CgO8EbEd2cVSC1fZWlH4g9Mlj4QQhTd_T-LdcWDt-4ND860IqkRdB6TkzS0hrBbQKYE8hlsozCbnz0kYTu2I8xc6tAvDOGO5Tl0T_ukb4r9KXuBv7QqeOEIgh4TC4FURmMLGreGernCmDYQepMjNJbNf0Uo_mg4HC_-L0PTsi0m0mH-LocIFu7viJ0TLu3wBMe6biRFf9Byd5bPvrqUSPv9E6MH_23485LVq7-_Pl0RcZC2PAeKulUV6DBP1c9sMfzLuADc6wDop8ylw_zYJY3l_5fD-JR2h1qwa0u3e_KB3GQP2g6X5KlIVO_WgwBjTyf1yGDoWAxZmvQLfcIjys_hz3zMRmB4xgxa_UemYre8N6mTVwsRTmW5aGhb6yWDi1cLhAKXMlNWl7qHwGiEi3-Cdqk5dEjz0nO-eweoHrUvMYItjfyalHiJwRdFdSg1HRt4-r1f8NJfl07PvGLumUU-7BS1u4CCNH5IrHz-tMrhtKEgVGtNayjPFDu7l3R-Id0mijWLlls9YLkjDRdiHy2w_shg3Tr2gBHWa32fZkP3nwQUPHvpOlFpWQX6653lSOu9eQ91yKAF2VzayysQeq1Hq7kD428pfO3fTr286f0EY2Gc6jD7NDGlbBtFHaCWipHP8S39nUfsXAYBKA_KkgnkNC9WkrN-a56lGuC_ge4iVIhQTLGU1_ASbQ3WQkp2cz_9Gd8ZQNdUMJQDSjucDXI7iP_vk6w3dU8ahDYFGTohwVFApD_X_yFQbtEJkcHMFUvJNF-mdAlcOtD29FniPFpoLIdVGMlB7PAp3fIZ8ZnVOpLeqJMOvTOFU63DJmN58BSFn6047z_r9w5K1J0jtj1Hw-PLVWUSD13PC3h8xP0bc4fOBCcDDUwZwpad_r0B87i-oeyR6YwX0uRqcdLJkJHKm885dAY_Hn_EWE1l6If7LYm40ptAjp3w-9FCrBCzCM36RY_45RJpTMa0sPP5M1aG5ozBckqBTvrledWj4_ZOm1Wlbmio0auIm7uXspBXbla90XnEooDSAhZwjP8YfPggjtLfXI5M7NdzyYD2REjok27lbzXid1odwQ6Bgj5gP1Hb7k-HxoJFBiYw4gboZ7_45UWHvMaRekagj2Bg6TCUjLFftj6zRXpyM74zmP77nzej0MQTa98KdNsbjYOIQcosLKbOFEvUZKp1UpVFwVpZ4vdiEO2VdHhL3tlDuPcRYE_RLdOdWWxL10l2NoKu6LA9RGuGHxVhY0lg2rfb6u9YXlUJgj8PiC8kOLagHp118AhbhoeZqqfFewtrfbpKoXw2AFTx4fRcg5kIsC6UhmowkUo_fttFIKEE8fCwiCHsDHK_3RGfr9DlRuCvt8uN_C3NRibNumsebMl_fUc3VStd3zmLl7toPF0BpQPh8wmxO0G7EQNfACQgtPatAesIjYsULe0rf31s6yFhZXTKyMtHJRLyOlIyM9KFDAaaD-OV38il8ws6UfTBabSUYe7H6JQOkKpniC6aIydv1dJ09oEt-SRhrmfxmdD8-Eo945kt00j5alqPXyv92dt9xj3CrDwDQbLT8_B5qqlS5Ei9xARRMSxI5zZJHksRTCA1h9V6w3HaoH8EnTFz3qqX3pQGYBS_TXB8Eloidu21cCljKmjo5oqwlcz1OeKsPZDwKpj2FwHBJSY24ny0u-sTJF6XBeW0Qyn5JyUvtHuVIFt1LYCz_-R5Job2X7ikmwc9nH9wI0t3MMZx0_PPyUCeXjLuhArzooKkF_Q6RqJ1MTnIrm7lWeJBd8DgCxxQRmBQccC7jfJJ5krPtP6m1r4cFKqorD4U_360EsZ-I2NU7eCrKV0bD1eC2agRYStHBzS9YEGBxF1tumyDpLBY_Llm_qeCTz-jF7aRPzrezZhYtsA2DWte7gokZ09mSdWCIAiIzWXmZYp5C17ArAZ-tQ-BwsjNe5QtAnNiS1VFtfPDee3MIctBFd7BCDdoJ1UCy0h59LhQgbcNutyrluO7qwKpijhFnjnYfUHCDgsrBjLwG9Ms124iINMB_DVTUPpxtHKnKz3fFtWWSMLJL3i71IyEqQoYd_emD0889zMZTGxCk_Uz7BkNq-Q-HPFlo-P0759Q9xvr84AZ58Ke8UJr4FwbSUuhgxaFt3P04q9-VDUWeRpZHoblldUAYrDDkG1XOvzby2CFk0iBAGpdHY2xZJVR9KyVoX_dY42GoPSvi_6MpbGzj56VdW1WoLvgb17GkthIyhhHq0JsfVtUcKsdmi1dDfeYVZP0fXx3AjuDLSm2f5lhGw04zFeAZBCgzOLrciNiGJP-l4Cd4zGeOR0aMAAyqXTmqTrTUlwVslucAO1z6nSkHXA1txxs7tQ2jmFid4m3T2bIudLwfRs5xYYNeiv0_AglSlGuRLZvvFOuclutCV1oLYpT5nAMCb6XbYwQCybQdsRfamerANrzy_8_qX7b5IAzBwwuvmmSHHAOzpyOIN1kLROX_GlsjBeN2DqD4tF42kQnEzHHQrBBoy6khG4K4RV3yPt8-Wa15h5mrJIwmIgaj9AXrVn4f4dx54K-TvsrAECX8m4ynnmAvP-KgFxc7OIiwXFHpTQEXjKINB1DcPrwzt5ld7lJw4crjzRew_thFrNmaveW4aBbv83PnEH1VizetcKFyJzdkYWiVyEp7dXbp6jAUb0hF1zrm7XqMYsi1NRbQq0Fdx-pRSEwz0QK952WR6Jz-oZ0pUvzieZAAvHXQqAknCz2OfkdORQ_YLwMbF2fQIynZvAi6r5Zb_sCSJ2DB-6e9h-KinDI3cptsYZA51Sr-Pb_2FG-hGax_0FVrm_ZolyZm8iJAjCaj9q9IfYCTjnxPgvb48_xU1HTUtUjWvwjZMHzg7Y9GrNi5GHADq8SAIDRtloROVVUtMazgVHrkqtAu9KSDuW2SJmhkWaJwVquYOg4Vovy84z4k16sjLWhiUh7b6zmJwvLS8gxGuw-tCBdsZbhGtCmDNwbHaQoLQTPRpIZW06uXp0Zb0B-_CaDXMiREPJOcOwH5DIkE1CG22BHPcbVK-QdgMHqW6idcOmWhmL3ljQrTKnj3ezA5kXzJoT-XsJ7ytGE3ZDtT1P5Lv-jc2iOQ9m1PYiJSkerwFEmc5cuVUYJ-YeOcAUz1gEnqEZnVjSzGszo5r9Xe6kvnsSBnFt0i9sEBhwfzSNYRrac6TNTmJXxHYb6uY9Tev-Yqd_sXhwm3Nkm22NoBgBUkoRtKT-qG8Qfygyx3O3Fn9WD-y0SvVx4HU6LvEOLuLSTZRkci4md6IJbJBJzghb1wb8Sf7uhyRIa-G1CzSBUpqdVzrwtTNIQp3GWeiskWcpRbFPhrzI5pjTX6yDjjLcWzLn0tS5UGE8I3XFrBh4mMgXT9BDlDsS1h5DupbP96uYjs_YsfsrzyN6ghvciLNIoYdUXeIeCgMUpkvUyKuKgiLAzm3_TJxccYxXiuz4ZVTuKQsRYgwWjec4qBTwx1zKUc4Jx4YhZ5A0dO-y5zDtTPPyv4y0mE_Nj0COLMfptygjdWBa-X1j0xbz28e0I6JvOcb-sLeqW2QaSwJdiRY-rizxckc3qvXuRztCsYDZXvCF_82Y3EX1aGeosAPC67IiiRMl18WJSc4GkH9_Xlc8tJTbiIrHWIsjHdDa3RbPPBC6llZGX_ze60SqRYm4KFFm6LrBHUfndpjM01kAyMsmu7Rz0u7QATqXwwHrFJXqmLzUqrxgXh4EKVV-JKCs1ivOF7fa3JKnCVGoa13zqptGdlH8UpXnbfx9_MlRyAnxhMMT7jtpZUT75pOPGgV2CX0k4oAVnOCeZBgdCf4Iv69-vLnMHItlpvGLE6UIGytEuYaJweu5W5VOUc7BNCeq2VkVnDZORyXH0iB2KxsdUEo88GC_5X3DEC3HG3hPoJ9Y6URSt8R11kpTuBrMjZpPgf7x2pIqzONS-SxqIP3Z_Z08frRuAlOTJTu0Hu4693a_9IwxrjVW2pwqFBJAxUKdqHBbSzqWDmclFAH55r8tZEPPHBu5jOghyQ7NwfTZSPG4PxmC877A9s2m31e7ckEMpD0ihjaTHxvv_ISbhgNlDDxvxzOnKwhgJ56_D7Af21E-Vq_0tMw7xMWxQ_lraiMT0qjxQveIOWSvZ75oYqslEANQHWsiAjH56IHifrSQmkFZZoY8ZnjRKNk7mSTkvGRm8Gwx3b7etFTLvB51spYwk2TW_dTvgBx90VUJf0Bi-NpAZZlrqYIMEsK-QhEszcZmeYIvko1WYU5UjaEy_hC8rr_FnlvvJQC35SHU4zDdkxEKL_i6Mf1KlLH6OckO2n4Bvq8Cd7LzjC67txh9orClt1P4APe3Q1FcfxEy1WFbGIdoO5YTFJc-L604hlrPW-Sam8lPIG9IPxjuqdSfLj1tVowM2KLxTqiPCac9vQf00gz3F2LXBLNzXF2Rh4jitB8DoEzY2R584sV1GXpMds99Ej2XhG35eW3HmWR1XdhGo5j-LQrWYhx98YYwbFtO8ZK8yOVNh6_TZGCVgBZDSdFnQV1pUxoiO5LTbYuk4zT2UXx1CI1a0krnCi3ojVaE1Lj5S7NL1jjk4gq6NAO8nySZ8EATMlXMwYWS6WdIsMhEJ0bNScxyvUWAN_DPgganLF5qoBv6pX8dUjIObDr2Yp52YffNq0ipjLo2AO9uZwW__-jhr-zQtQgDpTjm0QBrVDR7Z4g1Z0f_gqA_SGTEHW7xjiDgoVc4RFPWF7RQGJsQLVJPzyswvpqJ6db9yN1xA3B6yY5QJHl6JABWHnfnJjCow0WGPtsJxOi1IetMH4DzlR8-f34utMGaxLjKzV15zvPoAGyBs7NGMbwOdEL2Cfchf9mC9_A9Das8HvxkleG9Vth-J4j7d1c1nLgisJOh7beDZiKSNJaGc5MMgvtIgcxpywOsxbrfZcXozriQ8-E8JmzaqHP9bz21SBU3uax7sJ8VSKVD282H9_O3nctXLOzaLDf-EWOHqE0e2nKhiIDgR3n_bWOfr8DrZRBWpzeinSzlS0d6axFaIs4VWjqXt0RpYn3sZrgKwW_BIcD6lZflC1mOiWPyEAOFp0WtouIvbCAz3RgMFEOMXNIFEpV6OrtcpjRXPCwAtHmBy6QbLZ-eQjN3iFrQD25DB9zGgY0ljM2nAEwHD7NIVta6v06y1JDRAlVgcFQJv-mB2EPDTB3064SQowXwcBFaQF9lg0R5MOiXVhUtNDgOID8CpTKrC7n82ZW4mG5eHESNnaqf7QIIiFIMWeg8PIEJOptePbTV_7nVF3g7o5Anrk_PV-mGpHruahbYirvuhTWWishR05XuVp4_ElhPKem4cT-qsDt7Q0uG7KXBbd_r_K0RJb9KJpKQUTMaJnDb6tlSxghFiv8Uz-6oAgOVX4kDcrcmOfrPYKfpm_8RthjgvyTHz_4VV6keILX7O8Pz-D0KMd2uUUeUNdTVxzuYw-pHxRQzKuKGR_NBdpJG1qx8DYZhgvGntBdKN7gIQIR66q1RRK2YDMj0R7OLUj0cTtOYxbJoDlVchYbj2FCr9-Ypg2p3lehDTU77v-zCBt5TY-7AGSPAY1jR6wNjhO9nqP7xWlzd4zXcekRMGGx4_8UFyvJb_i_44crC0T0Ppw02J8ZZo-3o1w7b9nF1oYzDan_BjhNPeN_P4wExMQukS9Z2UA4ZqEtwWWpK4tPV_Y_MkwtJ5NYvr1RRqtEST0spL_uJnFA8ZUKonIwrGaw7_OmO7U1_S5vs9aCT-8n26uWXExLUyVvJwrsD7NH3MZfGC8WBSAZF4R2UNuaEmPFbEAKd7guGmBLbnADfvCIUg7vMWjWh2N0KyHBdTNBmAiaAM4WcM31Fg4ZS4Y-nfjKISOj0zRTQXFUYKrj0VhdYzaaq0k_Q37PoyTuBLcGInkbQlkOdNdsdCzI_6rnCP5Ue43OElTkBXJCB1CO7zmlWIC2TLi_v7Vh41l7JoBqLLjwHFPLjhJu6iUcVho_JPWg7wbHQc5Jf0YfVI4YCVHEArwE1U1zqR0kMqfTPhhk3AamsAkW6qsB2CEqAxG2dn_N60zp5dC1LiqkCPqIsEmtOJBrRsYUoacnNMTb8ZzCeNWHmDFOUnHqqzW4q_uxUyDA-vxoTIRd2XGK-9QO0pDH2Hgj_151j8oiqRyROjYKAdMdcJEc6Zd_wLY4D2Jlg9Ukgvwll2nxKYsSrFqEtQ9zhvhOzKjZLWL-Mro1iIqiHtWHA99jboPQ36rad6mE72W6xdaUYEHDMkQI--aLJQOtmjdd21quHIknaZYZD9JMC538mumyTuntw7gHgdac_AtrV22Z7Cz-DcbkXSAZ3QaK2CDbsV4K9vOPG3_SxGGU41wNWb4lm5-AC8cOdUUIkskORUnyHm_dHgcKqJKc8JYOZTHU32jnnM3_J7dVnmyJ4HaqBekhCucBZsbI4RkrnXTtYCzpf8WjVSiHvY1kG3C7TOIANEVTWJ66AeKzGTXevodnD4u5j-Zc2ywJnWFq6JKobdtJJtN3ebHDbbiFbVzmXnsEF2JeqVoCmkyCIjmf208Vf6Uo_iLz45JBd9ArmqcWOhZ3ntMPs-H3RlvDTS1Jwczv9JQW8vf29iwjyMRWyqIyVxkxF7fN1As5dfxBgUe9dxfmKLGRVyc7c9W-ObUcbxVbvYAKgttEy4H3H6EgbnKZvdk5Xw3mt0tbsZQ8J3ByEb9CXuyR0pN4qcnZkgsCS7XNph1xr92gAcM9tGKz4KTbEvZB-yphWQEqAkrn0t7ciYa6_0u3Dio_owPJHWcLJgnoqxrgTpnKQ98uaBVWvIDpcnytyPIrJlvzexim5Quun2mX1tJyBpT-HVaUH3wbtpSJj7O5JitFSmilgAae-1WlPLKelvIV53KafD0p27TfY7sIPWu9kVm0PaYar2KT-MftTkmLg5E69ha7aMpuA_2VjixNzZ14UzdqlD3SFlcglrwCSIQTEM93TyvpveROrNSX4TXIa329R9pGXQxUE2F0_xDFZvy_PXfsD5zhbZeILBRAmefxDJ9kVvrqZPws9X3vKICskGYM8WC2CDz-FkmXByZu9k2ALDakrtyKtsnSUMPFiU7mEcLe2fCFGsO1VevtG16b-I_l_PNFPOizqbD71sid7BWDsno9OnFWQb1I8HPwqJeLVCnRHFHkoqy55_ji6P_BHm68428kczjWPo6FbALqCtcLsJQBw5kSwtNZ4Wpk0nlR-sHgxZ4uzaI96ySO6fwWS5vle_24mO1eHhoBVJsodamr0_1_ZQhDDOfWR9V9eggrsntYTudAJIYwN_6xqACR-eKelycddWr7GVaXdiRENQYQKZOtE5R1IlI1p_uDFIzflHTHGeSaE7pk_3lusCnAX4dK7RZ79l79geeWn2RfpDa8Hyciy8SBYao6TmB59yA46mUTwfRQdz63OzmsZq37697u3uv8or5se-EdOUY7KQlAKW742VMwcQaiYGYhcofz3anDvsGq_rVuC6MsfgPgJPOfFP7b5-8Nr6f9bQ8PXeHY8K4rEg2G3gPG1uYH_NECJT8XP0uehZRbUFMpY0uyaJn87w_7VxF_ylbH_7MURATVDpsZGR1FGi9H7cwjXhqxre_gsfIEkioRsQLbv85JWZfvKck0eWh9G0zCHKGyQNuhV7gcXhLgyDMIqtpOo5iFUtygNGtpTtIDyPQK4rw8QlRc-DqGH7SR5Y-_t9ejmKWIS3dBNIdsznVyaSidgjdQ7Q_jkriZi1Tu3oqCkIsNSP7Yvd3JcEvt0ezXRaDiak4B-uZWtVIgRsZoaUIJoMO2YPgV5tbvPcy-CTyon6U0JeJLgazqeeHFlil4HEraiLhVg_A748jsx5-kivrBQ3lkDj3TKZgGgpG-Hzpn4HB9Lb9weD6DOI9yB3qnrTK-CE80TswNG7wsR47iV5i2lk6eJh8y2Kpb0llwTIRi4Kpm8oRqYSRWlnkHcA7bDUAUZOHgrPkorGfljjv3VPEnSYdgcYLZDUyaS2sL8SBXcGPJNptBodMOW-f-yeYz5Im7oiQ6yedU1TmaNz4mi0M3aHU6BzLPWxrwHSKaEU7sapdNmbmv3A-mstS15BqnV6Xx03k4SYPQ_jOclJGj0z3tZ27GZbvj7ewLK-ezorYmHoDWN9FhZwfAuYz0BiLKZq6SrNGOAxHqrzkQqMTS8fcGpNyJItTDi4IWx5pFeiKTXlvvOehRNEBNgMsyIvmxsodzwWGNbhCrQzbcPPQImxdZD62cuzj2sZmPf99kLYoH_tAFtdrULpRYD6f6Wf9GZrqaclbdGINCV0xmmWUU56Eucb2-qZAympAIFxBkY2CZEtHZR1m8kESZcqHyZ9biXzNIahYhRS8E-Xtxr6iBiUTMMJ4wKu8zNRCCMQekgvCOmmH4Hl7q18RyH-7YPm5R0txVufV2Ve1v1hG-x5ODqG_sWHkVZhpz81EttYDGBknVub7GEtB14VgL0gnk8uTzzrblBeue2GenDqlscn3pNVaJR13tmvlOSxi7-V49PSBCTG_f9X2yS0CYYCWKiXsJTIjnYI2B29eKHegERbUgrCGRZLX49r9VuFR25ptDuiBrhtDSmFoYZ-lBbMVhw0fNL9SjDuf1HDgqBGmvBXAkkGbVBbZwgEJXDSKXtyRv5K5WrrSKQG5Vt2UpJDndmp2Hr_QN9ibIr7EgdYdO4Y90FXmEeyZDEHZPV3SmnUOdJWAxHTiNcLZET_1vqfdvOcvVexpMCm9zNN1A0z1Z1AfGeh-Vv1r5Y4Cq5xm5IIdfrHrDTlBtNft17nZfpJ53qi4c6PhoSHV0uNDneD6CGknbj_feVCjt3g2XVV1kWfh3FTZY9AOQzbVwf3MVeRCfG-q5iIJ87PvtN7e_aLqke4zaSvE5sY39PxPwCj9p7lYC4mHrFd2b4tlv7S6I9oi9gcBApW-2QAnPBhYxsU0gwFFjrk7KDfQK9RqphIVrJkS_T2r2B8rQkg-jo7tJ8H1YUJDrVgrlnXlNb61A0qD8Mrp1XMzw-MYVRyuM5uiv3TuXszH1j0lgNVrQeg9c2FX0JB-tflBK5jmOVWAaDH7XlMrATylHUKmYl-9_4one_lGIltlvaVR67_6V4OKTSq3_-p7leK7VvzG3iH5Tz8RrlAz4DlaClBHN4owY5vNz7CXmU_-IwpbXzB0K5bqSllfTGcWkS1NTBIor5xtJf7iZOHl2YRpl8YqjEeiYVEANFGJ_C7VwSZrIlnQ5na3np5EpQp1Cmzr74-iL3dF-0vfumPajjqVdMC87qTOH_oFYqtTZRHjRoAC--9o-cMDGZe9tzlHN1FyIoPCA4_4cdnMiR-SDKck8QjWy7TVr7gitgCxHUPCD6NuHSaFjVVflrifzgAUKEA3lBALiXKD7bO0-EMjXMBEiGx-WPI7C32ylD23Yej5UbtSpt-lxSYeRiZOSG3TuXIcnsAONTpGdWhPeCIibqcuDrt9SKoddnes-583-HqcRrrcxaZjEtB-mlDzZZxl0rpWuWwkww-K_Gn5NC07mn2GXH2MnBhNoWEgD5HbqTM3fkebObOgNZ4Ql9nse2gA2SfFsu1u6BPaApz8zqXZtwwtLgMS-6mtqAf-wk2wWO-l4rZzGwVUHiWwEtFxhioPiY4wjhmX-_uxoXnAFDSmlXGEJL0PzF6KCg-42GW0tJtsxzOYcu3Gy8N28q0UAeESsTu1C4MiMTmo0btgyabHpR-AU2iIehQe71I73mP_8n6F5HhNeT9nNwXXik9qr-zBN1svO11MQ2z0SVemaKLwo9p2IoveID7uMJSj3p8pMyQvYp5q38J7cXx9aymon0gUSpZ5Gw7C0f16hbRDOsNiTKHfwijr0dmeTI-zpAOKzvLc8XcBBOsm9YfzT5kSV9WWWNgDVlwZBv2uZXBtYN3GE-TbOxjSUgpp6IdIeWHHThVQyLSTTGdNmjXB8vy8s3X2KCBdSaht-9hvDcyZn60nPFv6uv4P3XyyAjMa_eM8AXPsKpnMMN1clPllxzSaO6zBoKWqk4QnQrJgEVyCDy2uyyGmqU-5MKTyl5KfpJC-KBKi8O3Qqi2Uyuyuo5017lfzVzvL8ShyRxxGalEUL-P7eX1CaHYhWzGUO4a_ZAtgg-JDCYRDpwSVNn526uiXt1kt6gyUyrP779--m3-limnB06T63xPwRSqZgGC7y-iUvrjjgqlEJYhQr0XWXF82vJQDZM-Yz4EFCI4Omb0Vji1M1kUhdcJwUqbDLzF-v3fAWkrvdyMDfDk5bhcaoap_uWOb80ZhQXm20MxoDzbSpqSmz9sxMfOIqrA8FcLMEBJ-ayQpkE-DjVFXOaedUMtULA82_npUJxAMzDqBAwvANJz1rmnwF_OsrecUxKktBFOvrrpodEa2yBxyRxeBDSQh0J9r_fvLeCOexQCyS3eNQDe7YjjHhFyjmr8MtffKWtZFH13lW5P-Sq03BRjFuXWTk3WCdshrMwPPSBHpSagBivsATdZAE9JMLos2_bvsiOi-_8a71v9ltCl8MQrLLI37Jckr9U53APd9pUsSQ_gECOJOSX3Ir9aDlTqPaxTf-aKT-rDacahv0EXG4dSsFqtYFerP_ATVjA3Yc9RbcSJpPxcVXQvEtisR8hLuybwMPxZTJpS2TpieC2IEegNmEAyj_W9ceBNWcpWpO8XDckTfg_4JH8hsSHJJlUa8X97houpQD1QrqpvoFbpoL20G45qj9zsyCpZX653g6TOB916MS1pDT3aDUaQpCq-g4EKCSIKIYuWA7TEQdLXakHeUQardQ7uAUriWa46wKCkHWQ8-rfU_5sCy6woif9fuoy-bZ9wYf7sHRpOSV7-qtWJ2NwR8dQTAUISUaZVf33-GEj-9UU6bOMpXmXOf75fbzQi1CXYFuupI-5YZtrIE5GupNMehnDC2xrBQWHCh7zQiYQv4QXuk05r52ZfU0zTYbfLTD7f_jDKwNF-b760XTWtOEfJgNjbMQDMj3xe2JyVzBobU88cwcaY2VOo3_F1Wy3ulCNeD8fFRivq1yQH_8vktMY_cFYK60kNDvdzEnTkCFOfT2KRfPBrTggua-8T2Kw4NAdk-2iaJcSZspalp8Q-mZ5_e1TQcwGI4m3Bycd1RRgdjfwMwycaJcDOBm68_TMtsgxeHoMu7obe0ncVe6316-8XYfNbStNIRBTq5zJai1bJm3E6mAoI8PPVeY8LZ_2v34xyjJiKlVv6gwu4mNQzgat2pEPqwevvgWVisrRxbegjY0DBG5hP-723Fq3IRskPrZOK-6zCVWetj9mALMt4QwKYwUJxF_lGi0Xh2iIR8o7LTG7tHv6-DvPJcaDoyb6_NZNDJFgtAkvg6OGXH4O4BFU_QKWup1VT68ybKAqGX8U22lgJFTYSRzUTQN7qCNPkM7te21n9g1D5y0E-9bUs4la-YqKEtX-RuTHjhLn_I3W7XbVNjsCMj0X72R0vTHO0EuiE_HQsA4TaVixsjGa6iBjQSyJJ6StBaejsU2HHa3v_uC9AJuyjZLGGOJSS9YXrTgsL1aJ-Le8lZV5Fems1XLscvks3SG4ORHrrX9jKSEacX3uyBtzntYekmLe2tBnSx2ZsSxv-4Qs7oCrIrLzs4wwRUk2kEnPOPU-7V8CfBcgLz8BTN4GCT0JRbG8nYxM6asD53qECzmwlZpb51_luhZYVMxNKJvtJByA358tzAUBnkXxH2OZdkHq4av1Id6a6rSOPfBBsnIk9hJ7tS2xn52VI993kZgcL7Ka_iVrum-iz9eHtVYOO2Ex6br7bMQmvIzuXL_ACVlQO2Pjp4Ij4Kw5E-m9aCzRby4fLC_hqekJgTZCR2fjW01m2x0Ww10MW3cbZqG3QtkgqxQMPgX17lCApleqqwCL-9eTuX8Lq7ine_Ff0YlK_CoIq8HjEgyR_kEP1JiX20vdb9lvlXot4U1DsUHsJ-SsBOD4rqqDiyUr35CdLiBag6kdJ4fODp59T747MfUzlYpu310iuP1ZjorgACuJ1qEdI0R8247xXgOG4Ej0oKx12Xg9cNT6GzWdFHa4iIQidH2DkZ4x2uwj0LGuzbhLON6bX1_vwh2JUnIgodh7cm5z3zoA1_2UszUXbL7NEfhs9RtWfnRTD2q3UBlFFhZPSTYUqEfJvTHnvJH6TbAc7Ufg84Omw4Zci0MCeuTnt66AUMMgup1k4ER70SbgoXrd_1u8_mzFHg6_gQevxwV9iR7jCh-tsz6731UyzxxqSYhiH4biHZxuWeHQWmpT9nqDrFJI8AJWaScWc_hVhvckqg38kBAueXdDWwczWZLfOipA1_ZU5Oyw4WWKbaNBJTszk03ijunEQwHZS1EnNGteXJbfjQJuNLhdN3J_ksWn5p0kNeOrnXYe8rzYoaINkqb_f1JPnKR8h5Y1glN8z8Flq2V_Kgk7U0NRH80GfeRPb1MCel1OqIisZYiAIjfJgeiB9R2OqiRBym1Vjn4ZqsKcjwod35xQS3gCAZaZR1i2XaVPtk3Nkvx6MOh2pKt00RX_y-88-iBhzqEn3SrXfQxwt2IAnEOPdKCFOfpO75zYKYA_ChPfwCyBxenmTW0Lgdbhp7pI5QDJuaUtxZ9YzD6QsTwDorwsFiMxWnYvXHNnQKntgnzZyohnKH4nwQqM9gbJ6v1HIzo2FnTIcgk_ZTrwsIojae9L4Z_05Kc2_aUX706gzzBjI06MlIm631DsQmD2Y18Vsi-20T3xzVRp9td7y7r4vrdAHT7Il-jlmYDqi27LTXK_e7MZ4RbvX5cGzqGPOtS2tdeOjtXYJULxigNiOhaU_oTDONBg1nJD68HCZIhxkzS4IrBMJ73p8gRgSr7T_eifjg09CO1LqEGi1aIBF4QYQUwx_UxdC-LJj6j7hpvP19NjncllhnH8DocSCEmtl5pqBP4B4p4i8g038UKHR05oBvSKlrTeoy0PjSSnhwfwtMDQBCof-4aWNZlUPcl-zEo5rt2ML6p0awRDjDWOR5Cyj7Un2OseM18-x2BBEM-HGGVUgcY5-q9ukDuNPHr47-eFUjIyl3CZjc11xDzzSuoaA5J4QXHS6uHe_4PRTf9AZLJDwgHOjVJT2PjfAUm4pEFVJYENLzzdvzk6sboVyailtbIvrBaiVORSsAS88RtPHvRavmnY9SjIdbdja-K_tZzd8QIXzN-pjMRQpF7Y1Rh5dRUqZ5Hf-AqOepJ0SfBCZSM5A-sZ5NIljzAfrgLHRxpdrtLZLTjNkUqPPG6dY8gk7Kcsa2CWLMY5eozJL_SnVpK1SnYyodG38gvgmXZ20vBtzruRVTBPK-UXtnkdeLJXXts6_x8VIeNfkhld9VPOSqKiTTMAVQZzdEYNaS9ujtbigMcB2Sh9vYGKWzYcnB_prAc_c9uIQOgvcgO0V5mvQMjIhYl5sjQSLGiIqFKPJ_2RHegCQVLNJ0SE1h9rR9SZFyut4wuDwC1lhmRBdUvDYcRWmbdPYbIigD2EMHAnFGOosNqVrQ5JrFUYzslSew9mowpyv1MvB1K1wRkBBVk3te11ybLTjd6tiSp33qdvtvJ4947AKdC7woCKkJ5EN8I3MiikTkn8WaBtVWGqqzQ1lQFurqmwaAi29FRJxJqSJ11g3gDDAXd-dBnBW01Otvk2Vn2twRKeVJQZB6RHjaVIlqCZripEg583t3-hj6Gzl5yurIg-XLDnM1-c-WXTMDQ1tY0JmtS3NCOQzpgQPIcAuS6Db-I9P1BikwLQWGfq2oimZEx6AzcDOErTQxIPIu3jHGbg_fPhnor8FL020FHC_SVPTudNuR0xbvfj_ub7QtIfYB0W8hsqTLA5D_FrB5q7UTaWRZC4Pt1pJx8Y9H3_BTmDorSBE26wIuqgWY8N59Jcpnw-IjgIIE5aYThwZQMR-HsH9wH_FKUQXAavBVsL0r-FEcRfURBpsnyb09iNISY-GlJfoJIj2GEf215F2N_EJwnY8mBP-v9p13chRDP6TmRQxVnInBzL3NK55BiIIU9HzBQDJxQ6b-dJipfJz-8GvzZTJrnb0661ZwpWpgTgnOuJGMhatk0Tgjd_6PzyxVZjvIVKs1uSkCxGwdtl1Hf049pGzaGdl4kKKye4JUYCMcZF_JVmxt17mKk_h4-UytA8Fzk28QBCnpi_gHysBiwx8RjSFmnY-0VgOq7obDznAg8AlrLlfHb-VZswHCT63xef0eK4otV2MMSE9mE9srWkuYLCQc6yVslrECpPQRIVAxJsWbNKgu-rqZsaRZvEmrUHdzGuSHylBC1RNpEXHuBaqAVWPYbWu_80IG-PaKUPfGL4XhNl6QmaYv-x8nm_u1ltWa4x7vkF7QcgGoCrLbwOFiUHrubmImZbCcHpI5ZTSllr577P3k-UwZnqq0bXS5YrN2Gh3SDa_8kRgdxY16eIUqyH8tL3Z_PDYZFx2wUoPzj0jlgV4sMaA-0ImwZHe-o09dfz2ixOCgBTIgNebbaPrxfZE-drb6Xy0PLzN1hNsDcalKNMF3aghx1poaX-gLGxi3pfZKbPKgLbG7w_d3dqq57YCI8isCMnWlBvMjXbq63L9thhcKsCQo8C3NUYSS244bj4Y8E4NJklHTs5CHyPf5WHWa_5TuFX3hXJLTbF9Ffoy_F-BtAAG6_oCD5AdDzgsWqFY9BzoYgSqKaPVfU2MIBXrawibnhDh_DwO-gM_mVAHkGORnQv_wG10PtaIMxLiSeEM0oAZ-pVpxfRn3my_Ob5lWZLdO9fJ34foE4Undm2Xdl7DnHHLasiZKHuap_VBPrLN9WQPXuYGw9Yth8rLYoc9ZSPXEB_x26s5U4emDXHW1t1CgUqh5WUBwBdQ0vibNiS8hNLuMCEwnGUlbMLtEyGzqmavWWYYjFEfCJmEFyZvK_qzRNqI0AX0XL_9u1ni3CsW-sy6Wtvdm6JS8DENfpy7EP74aAv-w1rc6du5FQtLuoKet8HuW26lnRY1v_VA6a5EoMIP2MgPzTRrYBgSAWS6WeHusg8EtfQ1OAYDEMXANFptWUuwor2u9oB9OsLjS_kfPRGTbhgA1xZ5Zk-8R-mmMTdUlnyfQ9KvP6qFG9Sm5b7RVBVrvILrivXYBwShAyQORVoi7aULxR2r9Oxs2dHvz4ptbjCqWsy7o-I_2OxVekjWvx_u29gFiNfqC7irWp7_Ruh3ha0dSZruRyTlswnqakLKIH2t6hi0LxPTbPknHsLBTeBFiSEDMz1rlU1tkSEDT13WLOWA9gZZxqy9xrBWAeEsrmX6bQI86x8nFN4ptUykFF-fPTblnIg5cuPVOkYFUTCNUfpFXfnrK2WqcFqjaMP4KxYGPMPGDhguWL0w9u9rbu62b2IfEzl49ZzpFswIyRZU-5mniYhJSFoHv1sEsszsQE5uoQ_h3zGhbhGPWSGTMQ5WAuf6NLkp4woB3Yqm3wvisddzCuPGKfaDrUjB7m2SyMq-no8d-DC1fZxo_weseYP-TVPFcWEZpJsAbjrbMuEBhZxMuOkrFfXCAOw7hI60QOrAeoOYlSicuc7wc9NrxeAsGOKQ9wwDR0lAF12Xwq4VJt2p7NIBEOZSSrkOqOFegAkHQO_zNEfcc0JYyHwKmMpycVprROWwG4yJk9jmtipxOMOkrbffB7oZAzo63I2rbvDyVnhIg8kYzRahdWMyV3S-v-jk_RLA_QQzdzIpNx0dGps7iXcW4vyleDgob3nqExEQN7OKCBqraemQ9ym-She1G93zzyptopv42fkYS_3B8_zxdJX56RxSxG-LDBA6Cv2ID79M6Ac3eQAIqgDSoOkLcLm1TY_eeKl5gKKWFmcWwktAVX9Nug-IxLc0GLWiep5aG20iRG5dDAQqRksgG-CVuGU_yCNezk2EsrVvbJRupaowFFK_fNBPWTuOtmOrsNRoPHrMORoa9bQvM9nS0zL10PQGZegc3ROjH707IQFMCPd35cfWV0_PTsViUOarhfru3KerI40eB8-BZ0bdhwz1QcsVHSDR5SpYr7S1MjSj29IkzdHrImBouZb_Tzc55-W84fTYJitf0tXMJuVuYYU-F6WtUqgPCfgL7lYsYaSGkZTE_NgOdEvoL-LEiUY-zdamkLIrAgW_LwqzpzOe10LtaB7HtTwK3_szd1iRKmqw09yKYlhmwk-Y95JVbWxLuATHkzCI9l6woKKSMSMzpPaxxXkbeZfQWmgdirJumJcNOhr7F3oEogexBVzCb63Cn6a8VBgoNB9rI18_r5elZwiLOytaZOkwWCXROa4UU3pygnuwuSyC35wvlGNYs3U99QhCAh3urfFob8XFTvmMlB-RpnFI2-nU4jk-o0RVS6j36gv0uiZZ5qr-lTMwPYIt7O96bRFeaXbRqQZbBSe8x80O47cZ2X8FHz7rs6M4Ig19k1ZdduCUITfYUzLa3xS8kvv7gXqYqUPDAqohEpcymkVVZS1Zsw9micZvIpIZaQJWe3N7LdALbnFWyPrD1DPgKh7h-G9d021yEUbFpao2eBjqAlspgSkyj_y3JrY63HSTCynuwBb-UdAWeAFcuALiLqJJYFj7HTGtkZqEZbsUq8aKip5fQXPtMuip1r4h3AL1bnNTYNMHOzkHUc7E3Q55aBlKSKjfoOHIrJ3TU19vuS5WqNhbVR3vmcCbWBr5_4d7X1s9sICf8iBWt9HbgemWu0TlihrgrknHnL06Q-Cjv740ghEtXCeHMIZV7Tlg764u_bgy8OTUr1zqdQzozEz_OtuhjKbuGRalRuwZ8ynfQsyvGAmA37re2KpalVhrGDJ_0RJFAmknLd2n7NfXVt5XYUhOSkaTrk6srmlOl9Q6yQAm7f2Uki1AFtZP8Po_D2Mm6Q3fNscYXstcb7WO3CMnCETp2APmf-jIlZQk1L_t0lT656QNk9Br8soOQbwPAfJAkRvnX8RPxj3sJepqKq5ktw0iLsZsbUF5IRuNsH0NTK4Y5Bd14boHTg2rPVa_uSZG2Gesou5Jl7c92prN6s4hZpWzpl858w4oMPSXM9NfijH5YJhSRvFEgPThdF6PRAKGf_IP6aNB5m5-A1R3FipRkfyspPBbeauv71Hds_lphuv-RfTkx2mvDj_GMcM1-EPULdDQwG-BeLN2ylkodBvyA1tN2yBSGQr5xVK7PQWmVdY23cjdHl691XJWfmMbHfLdcpcZ2t4Uns03xfDsIGhIx6rioRD1vyFzKpYnQef3SNTUF3am06OYepsrXV44C9-8hQcovpxrvcdsvuXZqLA1SrJlQDZ8tVSB9qObOCUPMinMDGgbnFAFx6mpW2RiGrgNHcyyoVIU7qy4VckPY2qrLlGtU3L8SKoM3qK6z2uP7QoWO23KXK77xubMfOypzDJEGiGEmsGrmdDjsVACShjbEkKvmtGXOTb5X1KNjlLocbr3LdDM9gmPa9TVpZo5P_S4MUXdYIOG9SgEqeno7ax6CP9gxORlANT55FzTg09_RiHQl4Dv54g62V3LmNjW7Qidkzufz0jMYSe0v5DL-A3bZKlH9IEd-28ZoeMx70yPUDgCb1ZrBPHXFnjgXwbd7Zos5NGLhZ6NlBP7ehc05xB0cl8bELvRKPANfaQbVSW7eD9BfwdLGZs2_rEupuod__1gaG5pdbTAAihn9i9lt6ImS8BteNdoNLct5q-Ha6PAsgmufQjchmys6-JAVYmH-SszTadeZzW_y-X-Dg2O8HHZxCFSSpg4-_bH9nC4UCEJpPpFql1cCqLYMdGQVy0hfUFVW2InXTYEjC9uhz_qX12C89GIDoAZf4aF3W8xO2KRkrqiWbZjx0_ed45XQQiQBlMIGAbovleeaxP5yXt5b9C0OrK6xA6zm-9a3M6Ok2P9FdUfRiF8b07lSQuz5gQhUU2JEonBIZ0WUKChbr3rFOiWaak9exLEsZKoeT4jFE3WKLclnx2zhyJKTh1E_PMlW-tIAkqFlM0H-p1sJHUi97_Gy_Aa9sJuawYQLMiyA3lXIsRO1fHv0ZRyx3Afa01JaLY2akeN-MPz4D7WP0bqXkZuC00JxTUcUPpzyPjzCQF-9LmXg340KWrRQFwob1YrZPWf46VltJBotpZC304fVtnB85GjOlI3M-vweAIbBZDI6CUfsUV6fKbLXywRQgI68QkfutgYcwbNXfcN2mxgWz6csR8f9ZYiTk_oA99-ioI9PaN-W4jWfodECzUPugI6I5XP8oSgQ9NhPv6TLZxSTaoVdEbqml2gbPp6d6gsOGu9wFw-B49UvOmwzp1dE6cwLb0snd5ywOmw4eRjSaB7hfwuKwJuwGHUKKdxOdyM2pQqi_3MVokwcsOgRg_L5cKWc_0nmvufrFlSxsREIkculdzf-dykHftSmetUMruR3mxIk-yLm28krk-G6itIKVoG2gYVx3aCE7wQr3A9Rt6SlH6kp6zWEUpU1LWW9n-gyr-xhMf06wOqW3zIjl7VcsOJCh72ZycenZX1wO4Kxyw-DgLG5l84XGi5d0ZWigT1QKXJDbdU83p0SRzZqyi71WwCgSHC9HkFpxQkHzfZGGkwEBZvOO1fjTDEifE5S0JaNI24FtYPXADSP2YUHusdD8zU2IlxC7x7Ngn_oTCJe49v72TSXbsk6T7UcCo1pvqyOLiSE7kuWxGbrt0AaspwKLJzJz_d-L2iSQp6YTbUAe0QHKp1D3oVqTEDCBi6ewclKJH4LGZmwmAzhJzobfs509pWBzWkG4bvaUrxxsr6G1Zoc_TxoIAs8se43WZgFDdrBFGGV9cdXTSvlNv4oV4C_lHI25RGciS9kSuD5oGGVhwOLUfRGR6Z3rZd_bxHw2Qp9jEFGiHjRfI43XSMQPGFu-fc2Kls-v4q9nMdVMi8hXtUhWabt5ZVH8-iq7c6I7P5cwKeGAuFHB-9TX5bSqw2aAovppUyr6tMhafOR-8mvDjZcB__YCop08SYDI15M8BoVZoj0Kg6oH1-JBPCg3bC1NkbxD8jjOT0b4LhueLQIxIQoTNQdL01D8YXlRixN0m_-5sgUNrFswbyJxalfLqNUgJVfFtYmmFTYdiZiLt7KjAGptRHHIbw1JjrJa-bR-HJECTM89a92ZTAyrrAUWHpcRMQt0pbk8A_y6cWW9UjFQX0eLRpZcQhmToO1sBJiTbb9zq27B7WhiI8iYDkACbGyKcvpk1AZwkim1PyI6eloxsu5mtHpVfUJF3ebet9cTxfoC2ZV-76qK2-lX0VdWaQxoXaw75Ya6LbmfWDVP-yU2oDOP4PPdDgHsoybbJQI0wbKZDItYJJizNk8cB8p3afVRsSF48ADJTxaC_xPtggLRH4ceMggN4YkNOMmcsb9X9Hq1_tQEu7yTquVQgkR6oRipTC9nX8hO7Mglhh65JK2QNnyFCUk49jy8JoJ7rQvYaTVSGDBXKDK5dYjNkTWuuGSSeqlzZIBoye77nPhx-fooy3L6esgcvu7OCydVUhtvpREMDtL-UrljVd1JO9g576jdtaQBE-3G0Feh0BPlkI5niIfwmteOoN8Y8p6jiR1JGe4ss4-eZJWw1aQqT8MgNB0P4gcaykQ8VntrDR36MTAUyEIO1IepLAYQ31JZP8XdXc5EPwOnC6al_xNu6htKOxIO8RWVDjoNNtzinMnBpMUAXnfp49m7IewA2dq1N1hGzUm9vPp1M62TqONHuwzf9cvM_ymOKfNBX6vUxPULaG821UgvWZrHVLPuxJYWLy6DEBaw7gsMTdtluCcZKJ8d4zFEVhxZirmm9KjHi2YLeD_-v9N6VRyrFV6WQQBR4Ec25zfAwjrKaxwVCjytkV51RpCkcf18ulXi122tH7q7aBRE99kBopAiRQ01uMBrx8H1ND3yFC71xiX-r_zs5iX6zum5gpOs5YIBN5lahyQzfetu9wziAOct7XK6If2B2TRc52wzxCjywFoDSiOwY5tze2ZHmNJAcDsVrZeCQC4mwz6r_sVbEPHN9dNq8YGLlOAnpaplY4XdWY5wnu6d-j8VnTVm6qW1b_bgnKvuPuzuFUcXFdv5gAIWwZrJH1AmnUoufxjnLKH_Bw6wnyxaCGAmTZjB7nMsY3OmJdl3ANSorKe9pMTOviKOPTHGgPxpU6kfcrV-Maps98rMAVJSEcbcTUfYvrv2FPm9Mhky141zxNEoWXz20hWn4rlInqCHN_nzpUR9mpLZzTyhy5xvZLrLZ9sghc2QHH1e7tlBAcTQqbFd0uA0mC1vlkKrOkIXUN6tDoUTUxgz5-QmpobJpr5aQhz8PZhn6o3LFHFYkHaoCQCkJYI1vBGxgzLYanDphSmm5qs1uluUzLzXmS-AJnYf1PrJKJPI2BA_SSc1U0p-ts3S4twQlPCfMm6kYjXD7C-95iAdmW8X1NlEp5hEI1kakrCuuPVCRc8X00uzAtXizWvPgQCDKUD7AJSPC6Nv94wId5VDxN0ZHU-XKZkzZpwwbczV2P6bHP0PAF10KzlHZfzu2h30Qq9mRVNIpk8NbWkMndrfMzr6kydv0uXRgjKFvZUtdwTKU6VpIcql-msKPrurhOYxH7iKGehSie5uLMrCU_hJQi7bsUmT4XmynTjQaWaNPK_rOWeFiAo9x_4-0b8TOIRuBtmkhoFQDVz8_fh32ELEidhNz6z8liaTqh_U5kmp8Gzi6qLdusEYsqFsinxGSf0Q55U1yAYXj96S-KxDXjNAtto83QmxDy0aU8bMI-VSkqR-5EktF2UpU1apOAPjBNKynD7ZJIeyoGoe1eqJBu4NPfW8WG2gsZu6UXCQ9rmAQA0Mik1vEnE5i5sIGoT36KhCd48556MALJfXdq-q25SsWysLytvDTpr6FAAZTaExZXhB5m-r1vBCeHp2zahiZhCdBeHGjThu6Fyeg92wSg_mkFNIcZXRSBF57KHyekKZscv8oI2EMvTLBXOvUnOKRGyLVb7JKI08K2d9Pr395_3_0EgkvXEybJq2aqr_QUKIJsoKQlMpL43aMeebqUkNt0j6YAY4-ffLgA6XcKdGzyNAwONo05d9Zi2nn5BuTzINczVpEYmUQi8Yc1Ii2RuxkenFpPfhuEltOjYOl2_HKl1xi0B2TJZMtyzp188Z_3CvucruVoa74ligThSzKqEClbDLhHi4J0RnQorNX0LXOHfttrXAM0xZVMG0cK-LFEym1J12503y14kRO3m7eSyBooiMoJs979f6DEdtpLcRsphtvo35PFMShqKuCKZBwmAu3kAal0aqAre5uadvQWO9asWiABoomIog_XEzEjTMtHSTCCHbgGhS6C_4KjYZuzKHN618FQ4joLsC4ermUbccYuZIiZ0iB1PiOjjejbcYlH4-wgQ3eI9ciex6atSFK38cjjjeZctHWPjpvyW1rTTa44Q47L8z0_O1GxuPzFzUOScxeGl358_wRHcohC8ZxWG6GoXkhpBkObE5trja6PNYGN3YFK5DmeEPxPO5wvcodSSqDcElo-l4ls_oOql0BQ1JLZsS3EFLtNHqdDIcjd8s-1LfLlINLBxSZnNnsA0irysfQsixpGe-D9Lr0G1nhCu9mZIb8bSA2i-I2W6U4uxsaS-9nGgqs_wq1jUpKmNNNSg_EYHPqmFjzFxuFiOd_WrbhMc6K1T6mAIEzPGxXQJ_Yv78kFb_LITgaMFyKVlIVPxMDPx0qBlHXX6yg3b_CvEYhBWyy_TNhVYPDTOZfaeE8ObADEa4yCKqSwfhrzf9EVeQiEd9ThcWMXJ_XnH9_AKdNR5JUor09vyPnbLRWzMDXQ94sGwCS5vsUwI-KGHzDLW0Ic8Wn1quTGOC9eXFNsNGmUz1-hyqXZeSxQj8eW_O060YG3p53FTOek5PwvrIgw5YO5lfNQadCZlO_KTYZ5qb8XLr8OHaBHhKwdbHU_iwgLyA00ZM6xzWCW9leBR4rYNfJmKDP6OLlechL7slGqjZbDXEJU6V_2kVv9fJhI_94dUjlw5JJFjn6IqbQvCZlE56i1ehudHhEVk8V0W8I_LiLUd7yXBXVsb7ckMuYnsHyLzPUzVpaMiO3wf5ZDO4W7Jem8bZSFC-JsCIOakJ0auj2Vewya1WnwkdcKgHO2n780agrqh47ut8SHauww3UX6n0VrrMUk-pP0bWf7GnYSgfwvSYdw1TwbshY9ARUZl0s2MUQCcqNkIT6Ij6CwDKW2OCy3gFQhUqsw_qIA0298pVPKwtrC5HPV48cqkfFJ7J_DjxiHR045TbSR6Iq8F5bh93VqOboLEnfMv90_da-TtFdwhUYPn8CaV7LGFLeG2_JiggP2uAPLcz3G7s7moNSIlsBQdm88w5A6lyNoDNbFRBOCLi0Zjg3ACpQkIZeLwhVMWQt1_zBlPR6Y1oAMDMsG5JyIvMd8Z3m_YVUqAxM0cYeUqUjfUM9Fh0g_ioWgiKOWXI1yvz3E-sxH5Yj4fotYg0wYn1pz6RxT8Cqrv4PvdCJ-lLnDdnaRcrmjFNdh0wXIDmjtAH1m2GlV6wf5bl7FzfOxG6kaxXeXYooLp57gBGUJFWuIeuZ3Qq291TTdSzNjkcMNCBHd57tMKqjkKZfbC_2s-ifRHnccte6i_D8uxTVlZHfenh66VaQX1oCqS11JnGM2b4XgusSmD33gWECXnabILYQhw87_65NYkWFMxWrhhe8eEXO_Fy2rh9f1TVJwbMQgoU2ySCA-Kg8H4aQ0bDIEvDP4GeRXXUSxukwWYUQWnmvQRSZYsCwjqEQsduFsWFxk3lKjQzWZJ_PowmK9myTR7jsGL3RwUu0s_AP9JFAPLqInLZy3wsyKI2AOfwXRb4-He9OMGZ-7r07UAD4VXG7IVUncGTYfpnNSD4zGxfK6EwCqAiDBZc-xWkVvB13P3I8IIz_9LMrgiG_GdeM5JN6VGPyuifjhBVd6PUusceg-Biei-6OOeW30zuVIACg6aefJ1snvfN_kUXGRKVT_0vMMSO-d0mWjCHFbVfL7aHHB507vy6aEUxIH8eiP4YeN7JR3wgwsixVPOIrrp0jR2W7ammO4XdhjdiNF99zmhu0SSAe600-gNChBq35xHjEEGFHSWAnhbsEpTEwVEQnZ5cOAfTv8OYcmcrKn-oA3a9zMV7ws3nRgTXlOhvLLlkkZYVi9fnv5csDgCN7iij9X3K5FRO6BuqlrTe8sxHUJ1dLdD_6rrkfccaX42thmFIBdVgJFk4qUMXM1KPALR8rk3Um4ti9zkwPYPyrLRrA1bwh_qtgkDT6TjWCvfzZM9Idv9nCUC706jo0tkY_QF73UtPiH60bLkb3qSsu5FCo5k-1-fsTWbEmtOwTpg51qOzQJRAhay0cmqZ1lLIrtCKsmFWTBHfVnBVuuOJMZKeTbdysYelm_eRY2oIvOybtqCSX1pfDezH-5A3KSpfY59OJBj7PnmLX4IdH94cF_fEeYBDZG2GxshrOuxFNFjAe69o1jdd5j2n0vsvhTx1Tq0KeFNCnel5xr0p8lv6RH6n1jnaH_ZBLuFN5WhUn6GpEijul564wwB1V9DSYNCcvAPIyFHbzMzEyeOLYYo341tF9XkeHUhIWAMrTI-j-drdFyA8gXnuV0YWAD8RGwjcnFcOMZigAkaJXyPkDRlg_N-hNW7jCwbXqeMjasYj6oMO-r5Umv8bhoN5_DF0tb-lfpG7P9Dd1SWB2ednFjCDVli9KEfHpx5ccWlyfg2_9RGsxKRCVT1ieV8dPzvH3un6YkJXeQlzD-ilkAGlytp2eJASkvCtAeuM-GfPkk0QZZWv1uP9RyFlF4jwqrBTCMijaGM7JUbgZbP-pD36PZFAKmV2Q36sCBiIDiIglR5lEa0UUPCRCsHT5Db9N56dCQWR3x_iL0kS3Qvd6WVfJRioU26K5CGkl5upTheuHRrvO1BT5UeYWLe-ZQ9tJZf5hSrI6gviuVBMfBCOeTyRruFlxEp9Q1VcIFXnM81c8rM31FqxElmw2Hh3EkDjBgw63oWntjlep7fW9OFuePRvnO1nU9v0P2BsoMypnYDDNx3WlHashGVzDgmyX6aP0bC-ADBWNGIAv9007awUkvVXvk5Q_ElyAcJwgTFh32NrozLMf1UOxy5Oeek9yDvAyhagixohZ7cei3J3WuiO4qBUZIlhXInG7i7fFae7myRvTToFDu-lQC06CPcAgFPZoXYSOE5xf6Nf1LiTXsJKG55rGZVeyPlaIYB0f5B606RT3EkuxLPgOXV3bgsHIv_QtwoqASq6G4xlbmkfU5CyEKID0VMG5TVUtZSFVrIUWVuutXVpvyN0oxh3LRJxTVIDU3XRfWIOj3FnGsOgOdzLEXnSENwej62e21ppl1Apsr68dnGvBOqXalejSiE5Nj1BBOQwGWR-aIIu865fz19tsLAF1oPfI5etzzFiZB_H5MNwLMmyjAVuHywhxDLe_EMmQAKVfWTvoHpG8Rx7Q8RTG2v_uLS3vrVBB8oKginqtwH8gR5dRotGJYXT_6nN_ruJJTy3jy4RVzyQD7EKz4VxYx1z82-1TsNyUVbyjd7e56QdOiZJgCh3QiCYd-JIRFZEVmIqRI1g8zorTkXwLLh8GjGH9UpS47Ue8X3FKSaI7e8BjoZlWdB3tW6hKJ0xWzxF7FxExHOWCQ8Y5OGYucHbTO4UCJTPzsiht6KMbwP6EXGjtyuamyP7KvNFbkyJNK7TF9xSlnt6EYbCrKN9RpU9bxxvyW3hqlvsUIYa4H_yR7HgOHp8vJWseikL460dvvc3yfUgtIcdUtUqWMXWzCsPfbj_ml0eJKDue5u2le46s7Zs_QDstQqjLtmzGPHOOcK5dw5pQBebbkKpjmt7cfqK-_jAr6nxlXd9yrDou6iwPpq7XTaCq6IxB6mFfap9oAs7KPRt7SkG6Ztx8hJf4PVh9vDzQU-ly3kR10pCaAhlcO5u6yApNI-Jtq9IRBenzXe6yJyhaIhfxEd_bx4GutNoo1eL_76hvFyNEQ84j9boKC2vOlBf0Loq3-I0akVGNrxIpNWPi2MNtOvPvKUE-mSdNmJlhYhMMMiGzbWODiJFw-5Z66l74AwR2Q4RIwui8RshkpFZ31g_KN1zSRVTakG2EKljIIm9NrEm9eCcmdEGcmP5JyDX4H_vCqtyBTY7Hx8BpWglYDhPI2zmfoUk8BTYYxz1TJPHTTRVuzY9eEEqEao8fJXeR11s3hs35coJtP5_O2WCubYy8qDjciNrXohivAAR2fcW6OE0WZIEgRoIwn7tnnTvYxXMrkwSW_sU8hVF2hyuMNyC_z7RhzLaiP4oNHCvvvNGN2RPumuwtxpkZ3Mrgu5QTe3-ZpdGw-fOvPNLOeD8tIjE6jUGwFCnY0mz5WedkeMjlzLLfgXQqmyeayT6jGi0pU4M8Z7iz_xiRa3i4OG8QR7XuJjXIfstAnk6D7gs6Zg_-9ivXE2pPBLXaojm5YJXYxq6mmvwIKHe_PxJRimecc0xHtxLSMJqONXiCsbu6vEx1Nuobi1Sr75IkMO1Y1DMHpZ9lrli0e8fA73O6I15W1pg0cDRsOKp1VwRqeeBMV4Q3XhPCVWCggTo-PoKfn6A_F4Ci7ZZg_VXHwpGk8T1GujlWaNJgBSB73wD840FA2LhaORVhoIAR9AfM7dDBghouGs6l9o6DlYDjPl0St_kPQc0MnhT7S15WvmharTi0HbjDE2W2w4mJhFmNixSdxbGrxCHyArhyRDnqCU-wCEPqyJqj5xHwNH8gt9wudjMUjXw8DrEfi4_BTY7fxJbSUjxyjx1YL4U3dShUNp_gMZvkfTAPRYVNZ9sVLi2hSY5MkJjB_poo-Mfgp8DUnPguGdpqv2yb3skv55-tCQ-xpH1FcUCpvjt9Dk3KKXnZQUkEbX81GRaTzc5nwmC3zZ1X_BhpPgjl8gzn-Hmshf2zN98vUcQ0uFJqtMC0LkE8uBdnU_px6ApEDIXrPbOjxRqF2jh5Kv2j-MNoT9YGs6DFYRjNbFb-QOBcXK8VcO3jUoMubIWzCyNJGqkEbYBg9iAf_imSKtK5UitHUCTc44VwjLTiUlYZe-63LfHl2UHvNj6fGbVaMdM__hWDuZW0kNpHMB0cy2gzgMI10jlbSLNjpnj8AXdq_4GOq4dEKpmgV6VZWcKNxCSuLydzfbrcuY6k9vsyFQ06on38av5Pr5Mu_9bGNzJfJaICpWxwTpYwvuyLpTuAPnCNWQ8ogEr3Wj4bOq1_RIhaQQXaU6BxO8-1qoUKGVmagLeLQiQ8v6xl_5VkxzZDCa8y_z-8hIS1jD_vUT6hsRt_714pOaconalAzWk_w75S17EXx_e5NT1wvl8e0aOdM3prUYXRidGopFzyFAjFqp-x785kSgJ0WiMF8ggRpU52YPM3D5DnIZsVGKdaKe6y2rOdGl4bvbUHaNecg9KOJZ0-R5zB85dYQmfAFADwPihuG_CAJNnY4SsTFYLwK02vQJBHnRsuFtP-0LlsGzDu-L6ELU85ld4IluQG-GIV92kAvwcHOBPRBanQwk48-Amw1RVn73D8W4zut6FLYVhyJ2GMwoyoVfKjCk4xVcMG8sZv-OjnKUsKPVGAPACFTtYfFp0fiiOKQderLRVgezP8PO0yi3ZCDWqJTymnOFh3-iaTNq_CB4ci3UbyOjJi40JvHL72ZCkzsPP0C8KDqMiAKLkdZpk2TbHfkJ-_qIz6ymxWwnHAPVJHS1Cc6sHCPJmC1JzXvven0MtD8qBHfJgsWOITLE8Iuzi_-4FLJmrnjLUo7Lm-XFXp9ECvctvtdpLMUAqTK16H0cjnpxTVxui5m_Q0F-TBvI16eRo9xgZWCveR3gix4cjyVRmeskUjX7tmQNJW6QOdt1piCkHxGb5VVY8fQzNy8xFBLObJU6lCHftsYjaO4NbKynHvomOBFygSA1vEVJbSOxGBUeGpjGLKQ966Eza9b6bCitSKf2iGUsLhVmop7gUZOTxwVFDH2YATufjEB3h4DT7XBb2DOBtNy5XMU9eVUJTVdfyqfueZtT2WW_Q2znjbPnK71gD71IeJ0vWDp2YYJ7adZRWv-1s0qCV-1eLtmQTwHMCu58WWU9lEY38cpZWuyv6EDVBSGxtab2BpsU0vL6lhpo11ya7wszq48l_KdULl8UUGTR4eEcUjaG_ChabFmj4j2K51h3qwmd9pRzJ0jSarkAuRmX0tb4gR1elBdohuTUjVLo7XBUBmQ8pIk8UhUjKkrmOEQnLs7ovCerY1c2X19aPQQQkeNGDNjCkqndB1_orZsaFxlikT-BN3XrIutYu2BlJ9WobKh1wyJhzH6U1Gq1V-peFC_EUDOgm8XjXV_IA4dZHaL6pJZAJkH9cywJIHnRZIJIPZDgXwFUUJKaNW0jNxD8n-EzfEeemUryDb0JuSVAfPgDqpDQXhDkp1LM0Yx7doqQKKzBJwow80CO3aZGMd9n7U3ZDFKY3Onaetn2lilGlGPm6KDX-sxXcoJly2LE8oIEedEsHoqhWAIMDXnLuvvdwGqSStmEB-OFQtG_uawuHFwuwKX3E1DEmjumaQ081lnATpWz2u6i6qC8DhJnb2dfKtBVSha6vQiN2J274faTmKCNA2nn049xEzI5lFojXq08KmQZzYR-YSzNxGiRghLWwH0Br9pGuAuKpl_pEMKhTuXCSZWae-hB64OvBGy0XxKkTc0a9gnJTF8hY5tWwjNKkdSLnAbsbr8Ts1hX_Qt3WB9GueJcYE6Wmf5CIMbtp0sA5gBq6s25dYF_e-DbO8-zGTUWVKiKj2i4MNVyL0d2iz7-G2wiWySNFpMKPGxornvkH3b4EI-uEP3hVdzPHDuOXj2NRVJrzDIHL-ItCuaBcSiq24b9M57os7SHVYOzTKarFrp4neqhmnzJhd7-nlcDo7K6PT9_JuOysZjNc_u2wbFZOKTNu2qu74vrU5UuTjb0biYAp1SLfj94FB1gl5KASqgo0NJeQR0eH3QJOYsHDgH3VsJ-nNrvde3ILTMN9qtnvW69FW-jyIvFep8ZHmk2V5w87m1Te1Qq_ERrHDpGAe8tJJp4XcZypb1H29yUpozbeyxZCRsIXJSnDqR6_Lctl6S8Uj1wmmdQcDEMN-g2YBK0Jx14G3Xta8DbJPVRrBgrPyWWHRLHIu_tyaZrhanArMB-XvKIn0aqGIJFcyZw78HFQSuDkFNcMcMHCqGZ0Ctlob_k0xa6Zcq-Zo8iTA1FbwaBurHeafH2alS-TuNO7-GoPObkaSYVSaAOlqr78UiKDoUNueDLd44YXOko6JRGzFwlQRbtiuLMz4A81t78juEfdKuVfFyfeL1uwxOxOxfkmqAe4hGT2831B7weVi_m6zdT9FaPBNB8doaJUnKvZemRMnXENbO-SDft2XoY2kgQ0oYYtgAZXC7Y4rc15Oegtz-RxtGx_qd8aqnjBsFRSp3httdJoDnkQztBG36PrWTrz0GQnKOeEJyVMNzdI3A-2CVbJb-E7baPy8IIoWgvBWrmonQyUU1GbM5nz7mm-belvcF3Wv33E9KksuslBBXUt_tJnt5WiAitzFS_5edsiqT-KmkUx-vm83mXOCdETMQJ-1-AJsG1GzjQt50YOmPBARxGPW-LfJsU89puGbuSliHSO1wfOtajRQEZm1GCM6xyKEPsuMYuB8jY20SHTKAbxnw5u7rskGIHOBfqnDkBMCWTB0Ov5iVsMLwzbimBVxDx4kCYRFzauLdat5mBdn2E6b5sE-k756ZHVPgIggNR47UdDA-1_LdPfQ-0E5ij0BgGbhUdhFbw6CPd9srOe4-5SxovDEQlhmWm9im08c-g2g7VHR25-ll3Dxdro9BJ66vN03uaZb1qvLj9mWvzhjkBHCWdnKBq5CFxXdvwZ12D-kBPE43NdVE9JLwLKnP7EziViVoHDJ-xBdvfHS8cguDfSuVZwy8OeYiekjgftm6wGVo3tC3Vpqq4O8oExZ0piDK1XCKXVcbT2WmJddcOdUY7Ny1qNJR76TeuupTqbl6UykZrIgXs8woHwICeX1H1-hHuOKOHqnLh05aBrlXfZxjLEzbNV9SWmgsYxMLSovr2f1DzMjbiQy99Z4ejetbQXwuqFcBplb7zpqyH2YgxCTL6RFWwH6-bjjLyjowACbx1wU7sncrJG5Ip6FMGA2fg0XU38vI0wNgUzyyJTnkXtj8gxCMeBG-ev2c9ACIzzXcQSj_WpbSts5FzyFspBPsX2-vzeGrFnR6p2erxedpq3jUjqytCUjst3R9WB-womyOXNvV87BjlgKl-LQuS8KhUgLADDmfaxTHXWgLSo7uI1dnPHfmR7y-iv2_rStDDHHj7vMpFW3ki5jNRROEyREbwZpITxJtageYRu7isryCsZCdrTC5onPLBd54UUBgC2kO_F1E5CgrQMw16WKbogRWA38h6jOYAAoQyPmluGl6BbaUKAF7LZRqxKm6qXapdS4Zp3Qy2KqSJfhYR1IbKQvNYX7hMkIqR3S6src36QHeGxQXfF7_uEyA5Pswo6v0YhiPwB7DG9dtSIIOUGQnidY7s6ufZ9bSLUSQ7IRy0M1cg0qgq146_MU2p1hwl1SXVrbGhptw-POxLZHTYhfYaZrL-jp0XcFQxuzD9Q1p3lwX6xMlAINkEKOhc6HhlDLENBJisjNbG7u1sCTEkTsKaDY5kOm4ztR4KsXWH4VzaMIclY3YhKtWonDzDDnSt22M36X-YpVXXMjAJjcjUayAqNOa6s4iHpZ6GnAOQnTSyOKucrj0CWzanBbvXul9JwLqN-l5WkUPtgtDL4Vk6K7k8jZ90akHIkA89ifg-QLYjBaZmPjpFUI6aUSIZaVZrfzzV2mzAoCId9p3uE_qKMWRGAQ0xcn-kDW-WWGh5CEIxV6j1bOGbEt4HQydULwoZ3eWMAoBESxKmPG8I6QB7exrHxkzC10nObbdJ1iWGx4er7nVdF8nAEW9ePOCBxpNDaIB1BbpS7dEH65_VDVj747vboVfPlu4oO3KOBIEpwzuFTMBOTqEvQbt1KSATYsq8FcKqgfYPRgR64T7fbyVfQ-8hJzih81CKcwkRE_vMAc2OcjTbU78MPGZ_uTXkv8KtBAf9yPWOg1xe2QuXTerDPIswbvfXPoQa9ij_bPy-fjFB-uPuYF1FsvIhq-kUQxuhijd-0qclx5OVAVHKJSsg9xaYTqLo8N3yjxT1ujlUwP0-8FFI4Y-RZ9IEbgYqGeC_otyupdGAsDBEjPr93WQztitnpKLOYAvLHo6hncskmjHo8OMLUPyIcfAGwBcKZc_mZkiVNKzDV21YqAuUVC655PUVPieFmJeGxZUVvTDHWv0Ko1v546ahNLLbs7BVyaJT2kDJUNuoEC-3NDhysWE2Pn0w6eRNdI2eEysKBubOd18Mg0Er5NBsglUQXT-c3kKGhAHkxgetxM2vL3MxZ-gfdmxBqKihzZoOkgUGbD-BejtP_sRD2jfExxuMOrx9BZX7ChKGE8La5BnBmlYIUSatXgQMV7P_iDx_1Cj3S033nS51RmNzsNdDdMsytYzTkxjS5LRw_ZkfnZNaarm-LZyyR9VYdlkwDyYwu-BP-E1hEQB50IBDfBBKCsBhQc87Ai1KHg3ucFIDxFWKgii7WSNfRqiyIyHDPb4GQdZSeRTU_tya-mAFed3fZ2p05EaviJhn-QLJcnrAQ0-pSPDLON1U7HVy5W0_w4qqBSO-SildQ9XIaFeI9LtnVfaS_UDrVlE97bBv_dBRHJm0s1X2eJlev1s7jmEuf-39fxgwTWWxQZTysYmUKXoM75-Ssy3Z0s43ma1HNv_EWIVEdwmi6_zy1MlqgvetjSxaFFq6Ct1u4QM05kx0m3XDTWT19ctDv13Kgh0emPosrAc5dtKDdaTZ7oh6VtIXxnqOgVpim7ah4iXzL_1eNS3KuuqY5agZAypDeArVUY8EGjgKwchBsLKTdqKs2cs4g0C_yb-McShMq-GDM_eOY3iD7ytDb1W1tGdLOa-ycmgfQy3zrMCJBBLbuAc4Pt-mZ4uapq1Pg4VSTgS41pWaLVLz5HpaR6u3oaEbDOPKbDQcjfutNB04ljgWBrkHwSUdpxz0Ks0mz7nNQmpcXDAch4Ry1ritgBG-EPS0NB-KXyLjmNLYdjZFr3CFsNvvrO6OAX-9yr-xNuvsXncBftgEQBSb9109LOlpn_01OijsjrtjKEE7iVTii2wsJ8-Sfuzsvp3JyP7kdcjKvkc8-7RN04zQtyjOnXmFWZOuZT1CWdA5YaJqfdpsb0d2pn_N2wPGlVJPve6BEWNRHykRfhNWvdBWMSiK5PF-KAT8_dQJi8hg62HbTadFKBGaUW_YHkvjIek0aDdz54F_BF3L0pJJDnube_X9ThG8zntw9J06AQQKI_snI8GRcGBFoG4f4QU4eLv4bRrzPKG9c_yHRcBBJD7cK506tZopYy-S8MnqgT1Rpir4K0bMtzr1GdCBQ-6vFQ-M5JDn8FPQuhSWiEw9qtXlsEEcbKzk2PBYO9z0E2E-aTTU-9i_Z8Kik8X0bUIuA1tzBDSzlgEOKf5qiTYVy4e8ixsWtq2DZ5TvtX4sLGg96pogJYYbF2fHykoJa0jJNAPpC7Nx6ln-PI3Me0VgsYEPKhYK59xYZohU2NIjqNnZOg5QKRYMMXYT5EiM2saI99__qPi2_v3JKonZAG7RFOFzbrVCRvEwR-FYEkk2CgegGlt8SJPHoSbKRqVrjg-rTNllRqDMXhqs-76hLhw_eZkCljSXBcYzsEQipFQLFb59mf28Pk1jhz_gIgZXDRMKBwRo0vps6FcINE-uorba9MBn4NGk3RQJo70kcaceq9GEJwpNXWC2Mc3Bsx4V6SRSGB6peox2hBz3sA-BKzOvZfIstEFu5XVm6gll7ei2PseH_jWb_dS5N_JQYsMp_M-ZL7GBC9HA5hLVrdfcR0d-of2tvUCZk6HumDys8Orfu0ORkoU0B4EY2vgOlOAbM2p-R4Ce9eI-5QxNLvwPcTMfV2xdmtS9cEEabmnk5nP2Of6K6FRJu3hubEL9yWhzvaDd5OxBx_6M5qlaf9B4wHAFKMNdRyGqdXG1m-23_xo83K5ow7_fyrHnLoAERMX4pPd0PmqFXpfc-g_2N6v8WjFL2ugNGaWUpu4WF7fF7oOvSRwc4Ojb2F5w0ZfxHSXLt8grWD1LHNEX8ARSL-QOozzuit5upa72kAXqjZ3QCQeG81hzVCQIFqcOi0vXC2bLZrPi3WqtMbJLjAx8H8mUy9qZsan7DMZuU4UH2leZ4y30KeEdtYUN9PwY5x_TSInaop33t5q5iaK4VWQpIvoQHO5jk16V5BJQ4mkszwh6OqFi7C4iHaQijpFYdj0aigHZc9cmtHQoUtb3tBD0P05nuobfN1Idn1iakrjqUWtWdVVIMf95OvXo3DoUTIIKv0Bfa5Y7h0kBLRQadvyGELW6EUjN3GZAyyJUYuadg8rl3a_1dovP7s2YNj5CMzaG3-6kGHeJt95EtXDmkSc2pNjxJzm2TXog5ncowSta1Mi0s5AN7ZwuDzTmtTLaKqpu4PNkCgsU2zfQyNn2uzrvEI56kPOJQHVuhMr8zBKHqdBSnTzGgxuHZSRD5xqu8QywJee6hhPJLX_mZT4JjSiRFtRbNj8mEwQhSF5Pe01-jdCrXdYZJAi_l_WBz8KjH34SdHFzOZg6bg05i_y3xhfCzLCfl2vgCQ4QW6kh-tHUHKZkFGsNoxnwGAgjiGbX8k8OdppXaWNPhUVMSGnXQ4naB1TiQGw3TSGyzlwjK9AmgIP-S-oQxxbkFlJksJo_OrVSMtIaigCmS-0II7qSeDhDLBhPZ7ObZDOLt6-3clQ4vYE515EbSN2mbtklky9tfzmGV_KrHFEPV3yRV-RP3OfSYRlLMd66wrRX5pptVT2FPwmgBEgcDAaEyg87gZK0AW2iJYr4mjSpvqDL5RY6Y_8uTlvP3VukUUaXzyMRGQyu_Jv0q48h6Q2EMoGQAzkOeacjc5aT8WgLD_lNeGRUe6W92331IazFftFKETGwK5GQK09DCMu6-RN-HVmaYfZP29P3D7r_tA9P2HOHW8VJdY0c8C0xEVXIOUb_6Jpt7E2rcitKt2qup36OadhOp8wB1iX9ruhWg6Gn8M5IS2kktKbVctmHF_q-WGSc3rdm6qovzFsU7BeEP7e01fR0LvJ0ouikNPYmPHzEtGjG34_ke3INhE6QK5UzybzZKRPrJYscsbMjrMEJe1iyTq6oz1H9AMRKIISp7tDobp_lLZ-2qX4eIUxr0H_ElZclIIBHVePDGN0OUC5v0TgPjn1rCCKURiN-MdUkTiSuXXQdKGqrGjlrhxAQ-_lrrMtriw_7bSatj98O_PVWDrZ4AdAcuNoMIYV5XmlE_WnJ1ZMWELxPae9XKWzNWfLIBhCE4A8cnZqsxgUFX_3JW7Q3GZYvg50vyBihVg_qaxoCNpVPjiIsn_awd20WY8NtKVr9_kNqtx1PiT5-xIL9OFllmMq3OnmWLf4RQUupjETfrJHBij21bZLSCD58TfVFXlSxbxYw4YcoYmPBIwv5wtYMg66sy25kttrpiuBQV5WfA7xsAley9QSUT_9FXGT7g6OF7DW_t-kyxf2UUZW4QHWU5O5mvi7EtkNwxoDRNJB5UdXH0MU5YNseI4amxmDrp1_GGMn3Sgyc9UmVcVk8dnXDUMFA6Ie-oiwkaESQ9xsrgkpUQ-1DTw5RSinTCCvnW9edtSkesCdHkaIdbXvWmHajWnUpg_0YSmbw3cG3s8rPekKeY5uDwGsNix6muxbpH6K9fXtIgKTCmSNDtdJ6BCxBfSpRPprbfP8I2QlOLkbHBkpfx1WHKKu5BZHxaS5kjgdeaqvInfrs4xMtQR0yojGpqAnCDRO-qpOPKhm_OPe9cj4jwRN1IvlMJsQRayg5Q5IuIw3odMwewJYoLUNLn2gCFGlJ4sEBZXvIcksSONgzBf3U7Xkumu7snTi30DJtzF5mv0OjFQ_30ZxPWC69NGuyocab6PUUGu46o_QZq4DHz4CEyw2IIILyIRkNZ2iUwS9RiZM_0YswqRxR-fZV3bbN2wbNWtwEuyKTz3Chu7UrRRxXrySdge2SYVwRU2PTVoSE_R5_zOENjfDM2oqARrd01aOPrvwkCn9f6WspfzvVTREv-dYS-XFvmIEc9IEuInG-ySZUobbBkKnF4qjFH_W_DkZW1wjpLy0kU3IwZLkGRUVLD_jdMe9DBZne9p3cw8EC0ehdTDCN11iAgkT0HU8EOQAM8EcV9aZbfbfz2cfUu5UaDwkvrmTqyuv9OhBVIx-Tjtju2J1Rl5PevaiaHXYXlpp8xrPDwW7jUHIYmKWrZpKo2ovYBAm4PFq7ZGx5HlfWEvWr4uRPMr_bwVdUxLzk-UOzTIaE1CpI9hQyGecNPn1R3HRn1SXjWARHGLHm-piDzNXrUf3bbOPVP_nS42M_nB34MAp396eYJqLVktbDg518laSlkHg9eZiVLqjLMqGAieLmrxzR0Ivd3GCaxsso6Tw2_G6g0fqkNazwxvRk08nfe-gj4fh8DsKav-R2scKYWFVw0p83AybJODcx8puf0AdrTZewaN-UPDFmKtZOqe3YmDVYY1Oa7AIsunU6EDE055qkSKmCGXNmnnBJ-3TD603-ECCyA-4wDKvNYLCaaMVWgdhlMChUtSDMDLn_1xkDc-eEQR9Bmj4GDY9pjctzmw3P0ZoC6OpMse5gxGop2rRWtsTPvkkNDbI6uf3oziNyPyvLFZltNcyxMCC9TMULeE1hJnxYcoJ6b5eyD_aRydQrypdcJ2M0UZdzfIhNxhXmbuh0a6G9NpOZfCPbHhuQo66bh2ewdZ7TuDrK0Pg3F40KN8BG7Sa4v0zsSWmk518lZ84sJwlr70N98W2POK8gOK1Mv2lRCO5zu2Dm7IQ-lRzfeWtLKc69jJH5y-c1hYwp0m1iD2SlPTvGz9qqMz6iqv_GGjYikVb97J8zNjz5NJ410L1xu_O2SxD7FxocCFxiqB1JH7TSaYMWLFx6JfKxoE4DrAMzGKA8pRMp-SR9Ka7mBAYGV3D6qDZEYoKokq3d31alJuIC4DNMu1SOABX5GgA2j_pOIpu9a18xMKmEEJtLWLpNWAr4W8hzq3BGxTZWOj_l9KqcaP_uip84shBxXWVV-T5XG-Mc4mq9rQV2PWPaA4MxTaHfJQc8z4cJLqnscRPNMpV0qPuD3_RGqcGQ0l2Lnp5dHpXmFwc4AqUexJnVZywlJ1G-vKsclVWX7RkEYCQVdZ-OAn66c1UoF1ofZdAuGOnApPUl0TTFKyhNdMsQKDtibIBTc5AmPFAyV_wJv_IO0-eKmyAJmWGgHEh0aOS59dG2hvgONdD-bOHJvQHUce_WWuVUcJp_v8gcImpl2CNJUsSjNDw61o7KR-CSLIYLl_BYpDuDT6f05DIZZVGysGus4KTNxzsNrVOtzvugPdIiKeZvDbbvlHsMC4gl90r7dd7rPfigIwqC7GDtmQLJBT6TQcyjO3-FNVUuhV-9kPAA37PuA3ZfGgC5LFMqXif4JmtmWbkNw-jTwTXK71iftcjOVPaT8tCzjIjYKlK2gF7MtmSsFBt-YBCkhxjxeJ9wfuaIv9zxh2BUYBqUFJPqXuN13Xay2haET7yT6Ca6R2ReyJAwVb1-TzTvrjsXzPTl53JB1bNaQd2758MK2y3L2aUAAw0DbkmSlDOW5Cp8MTQPNSUuDs--CaR6AQaegrIWoSrjgxzezVysOP-EEt6qLSsUZfQNoKwyr5O9qj4Ovzvbb2Im-z2Y1NuglpjDjA2YBS92jAsupwSFyVst0oI2usOIsqcYELUYl6JWNjmS9uwbcqxZCat6K3c2bx-dcF7a9H1Ebz4Z8XzfwdLby0gkvkuArdfa0uB2RzkxF5gMbOswqk55Y1gZ182gq7ofYWQiNbwOZo4F5V3mwnXNAUEYDe-MUil1hE7aW4vP5iqDO9g2PKX-O3eM-bxCqN2_R2SmqluJx62eVl-ODBw3NM2fz4sWEAAI1kuuBW8_Fg7Mo2pGEaWrzMaZaQAc-2pSUH5dH1jPMEflMvhrDWV7z3DQNPc5WPireC48_OqcZBc1Tveqlq_0wM5h1CyiZZhjcw4FVICpvbGVAWXlHznxjtUqZrBhU7WSk1tRA44OVrPewW6pBKnycL59R-OBneCM0GZBHGionfXdugtZDLbG38Uj6A8r6XSpM6U0bEt_aMjLDuQe6XuORYVR3ToRXwTHl3kMmBPu_swkNeK3YzgahmeiKKKAqCoMowvsRBSlVjde-qBjtebB_JdWLG9ZKXJJoqDhvXeYerCzkbTT3tel9DEPrg0oEVL7ov3QPxQDM1R98WuN-DOnY6QhDB5D395mJDZVPtotKn9aGDAZgck4YM8U1b724uso8talq-fzZi1BuZO5Cjh8MsWacYmNbjxUELZuVz4X7r4P5_5to6NjjmGO1Bclmoey4fO_zMJtS5rVJsFhoKJqLtrfXRuTLm2BvMRnOxTjTMX0qI4OxPepzKQ2CQXfy7d-9g4dwWQNQYATVJwpiSP4aaDWMTnaIbRUrABY_dkvPBGVpJfNOWk9xU-mvyEPllrURMZmQnB92-MCYJF6L7_A5iLXszm8o4VAZPcs_TP3xUmCoj3Z-mN4KkbgCn-0B5KCZINCrUXudnx1mdTMbTL0FX1XpWcyAiuR9NpP3S1EKuRFCmy1zFql6FH44dGJW1s547RCCAKMbmvOONa87pYlYCSUznBw4eEqoKF-USB9TabOrutSinW-aNnLnothofVKjGpwM7_wSxHA4QWAVomZb_ywci17hYfcMAywP0ie-e-U1E5j3BgEUk8DH2oi9UZGIyEiwzuTxrS_staeeOrTybELqwmrWpFenCGfOI5sOV1xZBatJvDfozvT0xNmQqZZq-m-w0dhFIjCOINJBgFqClWj9Jxq89UxbcsFolXR8c8Mc2_e_fNRUc6yGnrP_Vygkj91uhQMg9QdfdSNwS1dsc4bRa0pM3tRW6kF_hERIBF0EIAsS7RQZ8AWll1R1xSX1jrOAdbwGKHB3CP9p4AQvfd997jA1nXnG8W_ugpzWLC7v_87V6SDZPP-j_ISlZ-zR3HPi0wDTNnAQqtwMJ1mXHr8iLl5RCjXw-w0I-FLoQhv-ZoV2IKs25f-LF2XUPWy_Y5-KPNkFDyCGOF9wf-piFzchvru-R-J4Pt42q3deCJxLyZCKcHnEh7OlBLqEKfRI5sEoqfLcIeF3s86g5Eams6p-mC7TRVrDsOCscyMa3vHixWu8BwnkD19Wq9o-z98Bcznq_JUAl-rq5UtITAz4yeKiy-sdnRnhbfFEDzBiFRlZrSt6tW3vF2t3LVbEJdgM10g-DkLW2WuiSxE2G8uFW9xMo_-NC3Z59RM3a8O0xbqhAbXT8tIzOuAB3JznGaLNtwsYaY14Yq8eWBakH5KghUYWr2nMQwHVQe54vuynMthwv1b_I9x6izpGnFx3mPvSiGmnuPqad40o8_QJR7fFOcIVOC51WWCfoR_Qt3qMT42VwzJB56xlhEOSwNeK_9xZcZvhCgnxPvhi9RgrhpeEl9MRXXHqOkqVR-ZI1pcGbF5scpiWtyRcO9NDHzfk4AOQT-NwxZnt0Fgs9K9Q_-95Zw0tNc5EHqmRisGRAWouK9ppbjOB93EmAqVwlTtLEgedVrMmsD3aZosYZkwXrsAi9AWyQY-iitjBl5L2j0knEkemB6CACgP59d8cCt493h9UJwvpzSBfEd4aI4hCEjr1y7JktUs8asnlpmKK0aCwWVkANYmVHEQ-CR5jqT9LjwIi0Xkt294doW6QBQmpnoI6JjytfzWP-0gudJJR7vJ3plj9En6MVKNCiXrcd7zOqSVLE94MmNOMPbLvANfRd8JIRcg03NtAZeDosTejzhsmzDm4sRcJ2YRhnorvAcI6lpb-ylkWHiraqeIuykak8JC3ItC4sI_kVypIjRaLZJ68wt0jiQu507PWWgVHeM1W-V0L57vTRHo2SsEldSFf_jijQEXAK2Xd6LK00YhJg4SoB0xtk0eSIt7OjkGQ_mBDB9arxI-Fl7c75tY-4RnbAB268Egfo4TtysHLkhykIKvLrGWW1AWvaSrxVfyun1Xd1bIaVCVCRRfrbf77Mtv9tgCICmM5BSRfbiowJfwAzMJUxPSZx0yrWgBfMdkNHdIKYpQtKfWyVRwfTQW6xATDeLRYfm_5DtR1IJiwJxKDzPGcbYAgZeBDqQOJbMlFXINOvdmyuntxMCZAtc7EMvNp6tejBxpmkQTdJ42lvaSKrKZ3QTcRkJ40xc2-bPNf32TLF4h-pqbMWrDId4fwsoHV8um7tsBhWU5GHiTTOZ3XKBzSXWT81ETpsQ4HTV_vM_jBxNXBYkG2fcyiZW5rMafN280AtmvAvdwFh9mVVwS-ob4iO4xVio7HBmQI5aShLB4DwM2v7qgEvGQt2rfQijd0Y4mv8RnEIVfuMLFrq304p2V2jEuJqOXd3Tk-BjnR-DC0ZQQMAP7c5ybHV3TGI7TmY5Dk1mdRrKkiUKoq3jyRmHPUxYJvAzCxqWDCHshSxLCB4x5pmQ3C5iD5wvpw2j_ReiyXbCrSlm_tATcXe8SV_Nq2oIY0sCVQS4DJ17T6ovtTMDhzsMKHX6HmUiQ3jPJxcDMzGkNFmPKvt5Pj8beGJ78YuDfMWzRaYGYjE94nvfjfkUUp0TwvPxNUS6Xn1IWcJIUO1taX8hzHZfa3HgBUDczl_hCVwwcRUqrPat0ZS6ngXhDqhzIhFoZpJCkHcdZCoiBTQbmHB4CrCXtn0v-4obqqPXPFHo0WReK7lROAF2OLAViWZKHYDGpqjQTHE7l4KFG5JDzissLp8QjrPj202iXUtfCAHyIaUCbj3d6rB-eBkvQfb-mTuOt5jxZcyi5-3Gtzw5e_Bhtkr5guZ8yvxGT8Is7L5qbG0O6qCdkOcdMAsXsZVWRsVP9Q7IWjs8dLsc739lNg9si4b3NKjIVuedIEVmm5gGZl12fjYgyEpky6R2G6ON1Eei0TIy9sFu-q40DSfaDicOkWiKtgTBDWdlkvUz-jHeEXm4l12rPhN2srpdKZ8zE-SFW66cqrXmNc86ATX7BXq1x5aRkug9wVNL7n4OfALewUeLWNHInGZHWVUfy73jakRXCdtRARAiKd3psjpKIsciqY01oDJj17jXyMCievha9uGAOVKi1JsJcwoQhmTYBzD04W1j4QHgEwuEoVNWRKeGcYCwhkKQdWpfRClWP23u0Cu2XiYUdk4e-jCdAUIPtS54mZHATetBs_W6Gs87TdKmu4j995vTcc1U05isRDEBQqMveiHdIDDMxm4b9HR6QUN5TnRqlH-pe6pqF_nvS_Txa-S_aQh5RVg_FhDBegev9MGxv7TxlOEEaPpavNMjBOf4v8rq32xi7rBWYQ2UunOlBc-yR78eA3Mhx8RPqrzctQxfmFwPvB69jWW7ohRUOltnKkcs9BRQVTQ4vpaIaWIDTok_4QGKEq4UGcARTTOz2H-uqjSQkZ9zQ_WE5dV6CzuQeUcbHeWLnZ7f3IfvYPLFAG1m06XExekJAxyNKgbgwO8CnxPoL7h8URYPJTc9dVhysjUxBzgXLAdv36Fc1lWlCh0ISariRUxo8FMf9fJV_weLYqB3IIIFBXyMrd55faD6KFdxkpaecLs-CRWSOuy0rUYE1ENl6MI88fvTwuc8IITYOee6hnZxUbmzTRpQAyCj6waW18bJ5GtIzchF3qbSgDWTQZAS-EMyxsz8deMM8Es1wAffpCiFz4UJZ7ydtKborqehy5DKPDgeoKGBqX-YSwuJ68_RY15J-sJkueNW_EeabtsYRXF39XkKzuo4YwsSsz6YU0q1SXS6HzfJER2l_I2sJnQL2_nZch9wN8oUUxvg8TLwb69QW3-qwCtHWQfBA2vEUBQzYplBk2hJYPDJ-ojyzcgE9LirjROAgH2WTQK-34yQhOpZS0EXACrwxoGCWT9ma5K65SD8_36mpkJLhWmHzfFWYeo_Pfjcn1GvJ4SaEEt-R8B8r6HeKuiYobjQf_XC_GT3IorHcw8EvUsfTAW_yO6wY9Hk16FdcREkpC4WY9hb7Y5ZSqkNyZCoe6G1o_8oux-a30JKCXWjTzhgYvRBKF1NJxBGGMUv1cdCsdtN-kN1DPQE2YjJqHnXIP1Tqv32ouB_54p13IdXgMmJWjxF2r9Mh1JzvCh37mp8I_zkIXeSuERNnN8vWtxa5y7z742cJxB6G7c5WvpFuyQUWIoCXNt_PQeT97gz_OOO4FSF1JkiAKnTX35TKHch-mMhGINlL4rk5RRj2NW7puG4FS-mEWQBvFl04zd2Mt7UTi9SZyaljDR1ZU5M8V9kPw9g-UUViPQbUP3QHwi_STGdTjhdBjn3OmcZ60nYoUpuucBT0L16LtU79oGXKKD8E_jFgrh288iuUtdWiuyiEKm3SuO8lqRpC4nya6GMWjLsNA_ievYsGn_ef-2G8wPs6kECY5uUYIiHoswnplLSTymSDhtGkUJPO1NUpvPVUw-Xi95mjs_3oEPvUXWP-mxClVRVU5Ci99oqTB8xAQiqTbrwT5CujiTiVFzowA7ieJG6jhyUBRbVPUNFXi-moBeVkOR6s-6cLBa-5v7gHx4BzM0JFB3JJAv-NQoTJ7BCLI8d-Nx7DDgG-xt2p4JHlE48RmXnZlA_Zguktwf8nLk6sEtuG6ZjojE7dFDupXPiStzH8-U0RMY0-TOd5IiZ7axyAl62Xe-qGK9iJ2ehNTQappq9uhPyH8RR94GDTRv0aCRalNWgofcY1yPxaCaw7NIOdkNbznNJk4PrF1tbdTgxWs1ef1tZOuAQWnZWQTD74k6qMuQFbtP9vQztDaZgl5hWFsFlbX91GLV7asWZsh4DGnAE9tOfFWxNjY2wO9RdpOh3sS-jaPMhXxsqk-zW5zBJTX5OEFHYcphCTms-EHV3HoXGoMFaO9lNWIwADUsatkBZKhNMQ3bKEZuorlf1fO-Aa5SqUM022wQnz9QRCsLN2lMd3EZfWw2hulJQwhvJZYFA__Cd3w8MgCq_IZg2SbTPrjABl78w0tM5yruSSPCVljJs78iWwpt1BZwvhG9oVIDvgZ1yeYBKeQjftb2-uOGWzR3wQstoXRW--G3-AZ_71WMh-cNRjj1v1j-kVjQ2nvflxyDNvnj0lp7vrOCyq9OP_DcijgiX8qzebkmwxg1mEEeFX5Q6a331VJvnbmefyqleuwhhdxVSjFogQg62ST0WosPJrWSMRmYuyW8YMlLpXou__BbZHFwndR6nf2zOcsHy0Yz5Og8gBV9prH7EafL002RMFkrRXeMfL2pFay88VAwOF7Ieh7jl6qSDzpY_xG9OydDdGEeF64fYEF0xcpsYrtsjqAurpXIrZ_8NfE5kbW5bTujmss26o4RhWhX6v6joWFF5VT1dUDIbIbNE4q9EZhogXC2_otJ6g6l5fIvIwl6cTEWqYhmvro19B_Zoyf9Vk8J1B2EGgTdmmlbrN326WBTkEUGuoTOWS908keaAiszEK8GUs-_bzmnSijtYH-c5FQrmvKRAEonJ5LQF9BDEQiXazep0S2Wa6OOo90f3tACIWLbGkd0ydqZU7BlM9ZfepMvwv-7T5OJBAaqljpn1lvp27B6IKiuhuclh4jejM5niQ1ERpdhrxo_VC59cY6W8HFbhVX9m7PQlmsTro0ubCUfVgVtx92u8wsgoGI_HNhF2d9igGk6YZaGDYqJQrC2_kyoZja_mFNoHN2wGaJ0N_onsAL5uuXuN5qV1FOFWmb7Cm8PzWHn0G1FtcHRZU3iWdUxbfEfE21pA37DumGAyKp4yWSJi03dPNRaqIKKNKO8bGG_nm0B2cKVJdqQoMx8aoknKup6lc0T0-XOOpKl4DuUMZbqHJV0fMHFEugfAhGx_TqgFsSrWAQRE5RxM7PCtqrUU2fOFhB93UUQWoNpTrLxUf_5bno8wES7xA2xOB0PGOz0vYMZdrngJZ4fB9c_7OWTIGJO381-tuDfgM9zHXtzb-yj7kD3TtkiCv_IgsIkztqqCf29jKMYx5o_mCoPuyx9A8CYxoQr1OXFx2tJ7XwVLVbrhXGS2j1NNYz7LFK2Ai_aZ1yIqkrQURt_k_5C7goUBI4Z4Lwq2ntAcvzT1T2IWJ8kF98wMVG1XXUoQtdWt1vsuR-3ZRANG4vPO-X04bbo8-H7H3tpQwmTZgylRis3qK8q9a_WEuoYraYpoxQnpPd0pcbiPpSzkVvhpr6MJ8P5b7nECNfL8g7V0ziRjnIZoshDkM7KhXThiHE5fLbysO1AZSJCbhckWedomZHVG515MlJkElFwEzYdcj4_qJMkAM5J9odKrzAhLSJKQ1lyz857izUm_8Yex7fHar8yCHxYTIRb7tcjVadKxnVpUgPupa5HJO7r53ynLNVtxKuqmbza_-v4kj6KCOzA9ij1rZ-p7X0Qr8hMhGLryl7anBI5M9ngMhAmOGv_HoEfMREoJZC_b3JVKNLi6lroAPPi555_kWZ3LsXyTNO5r1zJFAFu7J2XYgrWnlz0Hmh9nxgZPQcbKAkg5T0XSz2_YFrobTYC-rAixozGJt01tBqJBMQoM2MS72C2jg2XJU-zzaGDQdV1QBddTC0alSQbrtM6cR8vADVT59fEgVWYuGRXbGvoPwnAcP8purXFMO8xbt1HPtj4LsOi7QpRk_ofJVs7i682K-Yfsj7BV6QebX2ExuNQx6vcVa1WsbCu4s4WEGJxFseIc3CoySYkUTZRDYDLLZMgwPC5Ii-0hLkLRSu90XugGYpndXpw3Vg1krnKVfg4-xEU4jtT6gNE__bXzWk2ZJjPqMs4EqyanPCrZasYlqLuoOZjwG4WcerV7_lVJoGrOV5rFALOB9mc0l2hObOAjp4OssxgYjKaysVtmm0kA5-LbSNnHCwILWaQdHxSzXGSRCa4XIO1WhlWStYCeCP40Ana90nxUKVkX_JyQiuAVOYsrf2z0L2Ke_fGVNQzFiLvaLkvI6of5N0Or3S_IomEEpjjILxugf4lLl4XzsHcA2dDROcbl1r3mjtbHKpwOVny15mDfqbQmeDYkOabuotUuJsQ-Pb320ru_B6h8sMNKdReo9LIIZQyLbU3E4SBQD-fxjKvHcuALiBupNfc7K3smAsEgsYQtaTnwEUxLDloo200EV1gjNu1lyD-sLwtdYhA4ypv_D_KVB_kKrMW_mc0rBk7lcGVvJYe6Tlaeq6VfKpnJa2E6mvMPq0zEqDmea4y8NiOfpvEpDJeJRtT4B3XgCse-HaPIzEAO5erkG-axVCrfJwf4qapRg77kB9Jp1x1UVKk6-rq2-sdL7X4cQTrsj0_l-TP8-2Lr7PtXZtXWvgAjbIlRIKCPGyzdfWQPQh40DmtjDTA6eTWtDPKLSlkKJeXsGqz5-Cw4jHTHcpvjjuOuio1zmM7Z8GYDpAJ2ZwzCj8B-rf50l-rtA7rRAdp9gDlAgFyPSbZ9gOJZ_UE5cjuU9-1hNmZA7gFXzkiBG737Mxbxs7BC1p550x5NhZJivRBOA0BZnQZS_ljjSAKOOHHO2_lq3xiJAZmdU8wZ4V5H1_RXRg2WK_Q-hyyOEFH3FM7T9-wnIMeTDYA2YuwXNLXvQHy62ZyT5tj3mflhLhhRxPZkD5NOVUaE-5_-3i0_tC5f-AhzkPfOhbUGQfs3dOQgylsK5mzCcxuOyeEXGPrX01k-wFZ88g-Fn_LLpsJT5CWhdRkqPenfBAKO8ufoUTFjNHf0shzcTZTAR-DDB5i2bu0GgStQBahH0ke5FVYz4N9MI1Hy_w417BvjNnxBIdd91d_lDSeZGrgK3K6kLZ7GdVb-HZTjOqtM6iKRzi_5JR7WrxDzH_bO4XZ08vQ8AbfFOHfmJcscXPwYG2-rd84qaH1UMchikgsk7__JgQaONGit9cJb9UBOhgOLSGxbSw4-xIyZ2jhL5rZh37WWfh4R7YajuiECK8XOUdx5mCnyCvCLu745n9Xt92SaAP5Nf9z1TL5jto_vmgqvxPG4PTHDT6ArEAEuU-FAneWLWUboAkpl0oqhcqJNJKtYjDs5suUZsRUSj4sTxViXxBYUS2WgVtKkh8QFwlq7yjMR3seK3EMFMn0rtNB4bka_mH4Tspbm55ndKUV3rpjRN_FCM--_2rz_EIyUkXZBowMZtJqSr_RF4qA1bNP85IHDpFGWbyIasw_nebAE-1Dv4pMwvv8PlF-z7CC6aMCXV83KtfSuMHgYEQ9-4-H2Qrm_qpdgDj_db2zOk2QhPjQT2INcT95xOziC1bc0-Ad7Bja45ixUV99WyPpfc-Q8mtX-6-MWknMdSvw3tVBm_tHsWwFbBCREgDskMajCRnCwExvB8Am02c-07YnIa-sAT446ouC8QgCGOmm8pYdGifq1lIdWPGGber8wEyz54THSsdlPj4iBAN_X-DkPmUbjUvL842lPzOduyqli6Zc8nRTcaF5II3Rfu3IY2PLIoaW-Blf6AfZIL0gsEgurcVUEnlQMaai7rRDdqDN2eqlXCbnzMqjOGL9cyBRFvTMMenb5-zK4PesWY26olobRaRpZQ3vE2swz-sZd6gHQy2Ihin29YThq47nLVIWB4ZsTMPiIBMWgEajJGSjzWrtOQBBbte5URUx8vpgDqZAKDXs7fBTvZ4_j9qqQlie4UHGY8AckFlJVrR3vnxaVHUfYYyN7ppULHuyTxgcbUS-GaHWw4zZTDrxffQ6y1Sz775SVDdtLJlCQyiSk9hOdcGzuiYEh7-XgX5d9OUQx6mwSYyPu3X56jL5o0F7LUmquT5Cmlk9GNqdfBbnZC1m48W7UzL1yHll3XvZSuwbvPaiWGRuN6EZaqekKuCVv20PZJe9d-PJ0A_HzfcwykS1GxWadgHaO0ldoA1CsyzRSmcQdKSqYbjyZFPLPUHLZUyXnDQESBDOrXmzHeYLAxZuPNm-TGpZwR5RzUsW50s8-d1zRXbImB230LPeXLfWuj37Q2dD3WqX19BJD0Uiaq1ZlnumicG34k1qcmWWlYaLNtyfzr9-9zblDf5NsQu7chOPjB1zLK_FxGc50uHdPDCE29GFW2xOedQYwI2Pn5tDgTuX2GqPIR6lO5OTpL-eii20iuhJKJmo3mKEQX94WwhUxS3_4oObXx297yfcjeHu1YTOE6UQ5NmvHnFE1MZbzNk0aHDPUr9yfRPRRLP9gSrMcU2kGjGRDSbXPmpzdlAUDS1vlHd3aT_uKUvBHy7c2p4-Im7WV6FjYxFtiLtPFnOXNAJnS3WP2ufiC_f1wYBmMhntyslAXsjX6xER8AcXZWNz4woaCnHX0tlLte1lcLI3ipoURr88xc93d6PsXFVlDcsI9xLjr2Ym6D6WZ1zi3rut2xWGWAjNc5EwRmdF9q7wmqATGt1UtUEUwh8Ets3MqrsjS0lb8oRuotWN_iUN43dcMD_U3i7qr52Ktic_jdyTGPCwMhqsDS-N51Qqr-_Y58yZxjoXlJw2xSLOUv3fH7q0shOZZF9ySxIZ5EqtITG0MeqwD3I4QdU5QvNe-_4jXtKEIpYVJtxSsYVZIUBWXGq43RuB7Alyn506CiUJgK3I3mH_cBmFaOsAu5HgnYOIjE6b3AQfPBS6mQfNLfcxTK-RsYBtAEQ6Bo7Jz_uZJOzVxzuyt0yYypMrgLJ129Cd-nkD8VaayF_gPsKMPnlBrVdfoGFaNRKKF9gCQ4lU357KQL3fsG7vYVannTAh6mugVbk2IfacfiTtqjnzEylSlsBvngKVwyXSV76jdXGOSq3FLZDcES09Fl3x9J-P270dijGiDyK9EN0dLnOCWIFnAqVUUlUaxS13BXf83iaXCg7mWiUNdzgoDjq_l-943z0alOz1kCZjrINHUWoSF0YBTouac7tmrAtTg3MIwBzEacYzHdTfS9v2A6WWV423Cvkn1SxG3VE-jPatN7R4VkepYZc3I8VQ4-TzMcaFHfKDLgEePX12affJ4TFmR4CHCmFm0_sMHxgCAsiIBMue2A_eFMq1_nii5JCyzSKdEa-k0KWMjm8N0bpP8XojGboFswIpen2PwtwcRkT-OhgsL0q5-uMBrJm7ei4c0RaTDVucI9qy3lh0ltfLzxzVwS8eVMzSTP822NgNtiSYZAwaODAGz5uvxAgjVnorwgIITlPoELve-fZasWYvhNipKVnWpNtwDpYWaYMl-Vm8q4VLvEs0_2tXJbPLt7uD7hMGzRwCzPCz327VS2RRycU3S1pvYCPVxKzmlb-JgNxgLPHFgu9v6jxqwBt-VPwpTX_L8JoXinmi6fs8H5J-YbV5zXEMPC7UyWL6zW6-W0F5q5TPpu7FnW43u5uCXvvlJPBYV_qURb_4WmSY_8D3Wh28FkXRD58CHyLW6uJmKJrLCIGgnRzXgw1lWhNrwbMhxU-OT59fnmq8zLesm-ANQmVyPSepE5jU1D5qiKk90cioTOLBbnbnBWKJZWF7kKGibYhzz4CEQiKo7MjVa1rp3ijzCQZtqpZ1ELTRASC1gbISQbWrv3iApUrocC7QyVP-Aw6g07_EPK1smiEcZgSYU2GvgcQKLMnzH-cRbW32_7H8nWNYWp_riNdSVyqmdMF1RBBnjcjNudRyOsLYo3xRJykfCJ8rLvZfYKiJNqJ4YC_-HouEuM7oahsiArZCGuo5Nk85CNfDCOGAxbVQvt5uGPpzzKycNbkcE2aRKFsG_iHwoR8dnxhnqs8nGLvf1__FLbT2i-w8qUnPWhWUtWQIxy0LQ8YRg7OecNP1PLUgWCe9JYvXU_GTFV54K4zHgarFXuPkV_jfFcz8PpegUbeqXqYo8u7gvJ4TcQiHfKeiCuNIR21Ut5oAsaclNqS6oyO0Af0KrMUA7PFjCeK4p2L66pkQkVMbF8QmWdV_u9P-TSyb4zZtKUnLq4J2pYqIsl0WR88ahqc86Kd9heBpz6eRm1zEKZs6shrveqOZ9qKLvuwGuUjSxIae4CIekMGjSTOUNGr7Vo2h1A6Ede7VbDfiVZsmeBFoCE6PXMNapemBeDpHyE9ouj7IgNjuDyk4rsu9hb1c5YeDTNVz0MH9YGF8WXn-eLvpS4z3UnBqecgzo8xYk4_1oqG1ijHAO3CWf9GERB5oaQz82u3uhXR4hsPBUYg7IsQhuN3MKbNo4ZD3jsJLQIkDVxwemOe5jVNXT0duCN0ZOSRRE1E5-BhdLdZTBwaE4ENpDwOjROOtWGUewr-SnX-OWfdHQKnHY_8Oe-sLKB4v6rGQoQKSqXUEweQ6RlU_0oH5ZexbAnLa0qzGX8bS43pPwMJ4_goAZqx6Jsi8Vm6HiXz-pVOTyKd4bh2XLRsRbYNcTDx7Lexvxez2GJjCJ0DvOCCgzORa5yWB6Z9amzoW8MVtxsOp8Sa8X_4ZSZpI00FwHmW3pBuG2u47V66HiN1f86EE44v0BTo-OKqQX8pFLRG5GjK1pBzc3iuIzcSgAzKRHBHQ2KjXw73BFdhXyvHfKF3HhCALvIQb-P5_WNsvdWbv1268sYQ6vXLwqlXgAQZjIVro-x_DTZ2-HYjFYmMulw-dBLTS2anrSmsdZEPHHX2t6HEmoEQ_KLIFo0zvGjldepswj4RCYBTEfZAqYdvdpDiINW8yN5EqqWKAZkouqb3-leE1HQUyqOwPGfXX9Wisw1DSvGFpuqmY_eY-DxnZu6O4skjwaMaaSq3XEfGask-rdenea9mtv5NiBXMqU0l2klW8Ial-QL3ybY1I0KZWbBWMzU35Ig5YU9n9clm9KiUEHnn6qiwXLdBSNNW2W8l4QBDOokSOXC4AUUUELwLM30-V0HcJB7mpmcQnTDPg0NGxZqDQuVJyuuEPMaXFvoMrvo5MFX35lP89cLcxCM8Im09TloJ3cDIf-bIrYqAseWkQTgsRgbdxzBwUO4hJ1PFZCqTVLyOquSOIEbkBGjgp01iRxE3ylvpcTo6diaIwOwbB9hKkjDQtMBro5VjpMYuSZ9LqzgrPWCn8nkaA4SFVj88qYV70UNg183Kdr0p16qnRS8ius_Xeei6TF2FGpXPtFBY3c6FL9UBD5OgdFX5NuxMaC4lHofOIpmuBXxAiOY378BlEfOCr70Y-01xVEn6ZPTEjL8W17OY9Hw4lI7Z5AAQFjurFhuLzQT0UTXhEFjmnhTAqX6XMW0oOotN43XPa08n9yTZlgcjGLQIdFZlu8aqqdsUN2AGw9sDSfzuSvCdQLECR3Gu64xwPOCJn99Zcf1GL25ga0JKcYZwVrQU5z_4njDBXRTxjlYNZeXbvVCyPeNQKPUfLeEjwZhuOfnopJ7C9cWVcRiZEA1gmTd3YpuEKRs5bhU8kO_N20-XuH5YFhzkb0gbDwv2bkB_qLIfo8it_3GIB3-qPA2r6ry_Jw48NaZk8MhxXk_vLJr7q4WHV1A9jS4JmHWqg6DUpPUNU380leJUsKYfnbB72k-B1Bc_mG38HRLHBJhppZ16X28Uwdl05Raw1VG2zaGEloMtMF6YgELDoZbB4r8R6v82k03q1v6XgdCLZtDMffDCPONIp9iksCasM1aWVZf9RX4MYZKkTrA9SkHIIufni-ytmn9b83Oud9RIfnk613cZM5LKuYhdUN76zOO21bewzxWulHmfEpssmhPhpKg9JbIt8rivkuueyIVcv2kEyr358G4-hdqt1FBrvpuOQABkGRSF5Z3BrUf23bZ0H0SZHHdS5UsHAWQSxMe0cAAgsRdc4ik8VNmkjY8ps8cKzT7t2lC_BL-GmnvHYLDDkZ83gULWoUmzJjHWhQgI2qMPxsmXZNVAC2ZoEcRIZiqfn-Bfcm1JjQ60VRdYP90Bz1dyxhza1yJUCnuP09ufOd5WuxsFoS1Ki6NjMb-dIuuzv8CK9eow-5tcgBhE0bJ5zsZva9bCSwWVT_HW-yHEX_LfGOUtzhwgQaoZOF67DrYR1WDHXvuyXu4mGXJJ6P5zdQNrdhIBAL-FN8_C93GRj5aIq5532G4Epj3KKp4OqxTiETGw-Dn_eDs-IHCtEj5pQg1LEdC1Yd_Ndesm6MTW4VPPdZIwrTOHdlGCqf-PBxxc6Y4X-ljssmlVIx_5VWwjNjc4QN9WN7mah4pvSYIBrmrY6oqBnB22DPlw7sVkBNhSlzEwkoK5Ah-M_2YhbkN2GmQf3NKinCjSEAVhR9-STxJGSh4ViYBemIW6D7nk5KS6ctXC8AShFyYQRcyOteMwNf7i8JUst-tBAYoHsSU8SQcp3O2AaTVSYqQpqVB-rnW5K279K7V_VVxL64MxRCLNnrZO493E7HoQN9BgZBXUeZpVHjbucU5er7VdDtUuIIeaz38n8V5WpMdH--M7lFd9luq6geG-_wx3MjYuN_ZF9F1gWeXnSZf77WUiq1Ao-5IZM7a89OmVXHrgbbc45sdqnP5Ned3GWmdc2OjZwISbGLeWgKMpR2Ol9DPDN3yUkQ-TuDWyUztZggT9T8oelk07UhJNyGt4LKTFtmnAj9faec2l32UpsiMT5VvOR8qczmobpyiMPSvWLUNuLCfIQP-31EManbDfK88OCYuPMe62WpjZuyRmXo0Gw--iijALZBOZvo9aaBoK5Cx773z_xVVAwyq_WlRGiVJJxh1FZgHCwyx-VlggB6o0-EmDmba14Wk5XiGbuF682CUAQOUnSYsIQW1LjWfocOnKSRiK3zAFLwKHWXeya9DBJ79Mowtf8B_PJmw8BE0swtwlv8fEMyOjowYYj_Kemyli3f5leldmqmZ1oD9uK24kwgnPi3B0jw4XOjGGkUS5aw7M7rVtbXKMJvqBn_1iBU5vg9KDKq3r3rMwiLiWb1CtkrudBkc8ftusaKSEI8QA93etT-zm1YyLgNe1QsrERCstPJL3Mc6MnFvlycPJsfs0vI9VwwgrEeyPHxvOSVXeIS8Wjdhx2SB7iv3HIzaqCTJFrwhJ-YnIGl-NdhJM-I4bv9HsKYQ4-C4QLqEZjvFAmxGP7ZQLHA2NTIExEeukT0OYARi5WJUhpcZhZaxqpA0nZgRLI1glvIAqKKnYxN1D__czA5QyEanUn3hjARv2HPVsj1UbObLWWbhwvfaIX-T-yOoU8xr0j4RJt51GFYDueaF4o-rVHHN6B0x08ib8gY7XdP9hiApneMXWHeUAzpM7WMj6siMOm5bfq0qB86Y_lL4Kszil39yaBiBJphIdk4Jjw-LbeTj8N19-Q199iTY1onxbahG2V3xJASrHrv_zgvQr3Jtebk37JD-Qau-qcMKeskaer4KsBxu2Bok57TKczN3zany8_A-QtNci7UnQkw-RRRpqsCXFiPf5RM3vylkJ2IHsCpa5lnlMRrsLp_O-dW4_X66n5d0DOnah43VkHQgqnmbxwf6wDXHaU5fLLaC5q1vLJ3CI1G1EiNNJZKqMdcpn8rd7leRVF-3hdTsLgDUOY56fawpmMOAWzxFEj7QtyrlBP4vIYano68dXbltx9olb0PK3BR2OIu0ZWeukFCY2dc8YEljeEM4foSP4A9rjltWFn5rVqSfK4Hlm9gVtHbygzK4-CVlXKGw6DSHN0q_DK5gBwuABz2RUr_BAYPsjG5Np6KbryyHCjmSZ3phsD5MjhBwY7Ja1twFGKV77RUb1q2ioc1jVQjvEMQ8gAhsBHw68PY10AT0kNgGLmAQ2y1i04b6eJvW7iaKBiXbBaXZH1mbT2cQ7XsbHQbQGeh8pqkiE4or5tL6SEtKpBoQKV-WOcGFUvw5OQCjFeH0VEON5ZB-Q7nu42PPaPyvsSTo7YNBou4u5fEbDb2E2GLnBBwFcKf1PZZ5TR3Fc4wkPiNBgLPQOTCxooac3L96S8t6WgcISvKd1Xd2nvleGi9cSvvZkUZ3ec63bxlHzySaysoWd3HeJw8g8X1il6EOtB5EXCDn4e1ShkKJhNmdhjcWyy-CJmGuIufnCYdr507HjFf5E3HlixS-p6LJh-tZzQEz0uZuUVE74ZK-tlkiw3XmhsTadNQ2Je54c46emtQrSMJjaKQvoUar-UjqQAiWI2enJ-pBRsyR5IO-eDgxoEz5NCfLxNu9tjLlOiIrG0LTDJ2aEIyvx8pwInzcyu2HmADsBFlCp0CfliCGcCnHlICP_51Or0SSz5DRCD4IU-iiVh-iSb7s70JnJJLwmIb5IrFKI2oIj8c4VRGdEvJJUKtIwoHLKxUyJ3veQ-hwTSwxeJy7c201azq5o2wHEc0P-Bu_D12vaMogKNwsKpUWGxOM4ZSMfS1YCfzfHDdZij-9LGwL_tKuPND2GL9X7Cc4H-j-NW47AtDq1kStXmCuVpv5dARDe1k-ESFbbAWUMeHrCXubAQa7ttBg5CKW4iTkAKiuahDYIc6HoyhmQmF_OEcm4bGb0HmZzwIFGz5LxMh0nizAo5Y63UjJXy7ggbz1qjpZvSROoKAjWGHm63rU7Ke3OQceITQytnT5J0BE9VjWSX5yKmDVtgIWiASz6YZbNV7kgAeJyTEW4PTq7fzAFtq8Djlg0kO3INvk8AaG9ZLSvjlF6LHA_D6MCWJkk1j4vl3MIV9r7rCx5_ofEhAKfZB3I5MXwLRKpekmoxwGXKl_pms_DtJ2IToDBXNV05UqwZ_szBLm6HQhSxaMpcbg7REnLQxzncm4EaMOqEBEfRavXsfM2B-fFuLJC3cLUeWYUbVLxcvsMHjW2zilQ8CS7D344RfQdKZXzSl_o3HI0MfZJH3x3a9ve3FyiYkPqvc4NTUnHhYox-XOmHfvcNJdPVZZ1ETKKo3_XpcSyoRQZ6Kp-ybLckAs_pxc1pMspQBjwW2GF7IRNZqIgx6lW2sUCh3yfGYLuG8wGW3V6k5Lwf8qKksnP1njK4h4_Q7PeP4ezPDnryLR5ncWHNG6kLxKMbRMqha-AomqX1LJLrD8Bdl_gr890AekvkfF3myu0FsNeCSBjd-XKoq5NqPj-ZmFvXw5x-QeMYPOqgqj3BAFt4YiWmut6nDJXaoFPfM9lx2c_OI6Y40viyCvJlp_WYDKew5HKULnYYlrRDwZf0Pl60dzEnEq3k4Pqa0GLP3qO-um3hhRNrZceF82jC0YmYh_0vSKhno2V78qH12Q8GqrZ3qOSMIG-vWIghzvln7QelOBIKq00qhuQR0Yz1mb1_Dighp7yo2OLmbE4ncCXC0Dqhx1tQfFnBlaW0MI8YVbv2fHgJiM_aA8XIYoOzaTaUrtSz9DnDdwjD9a2oBXTWKmAFCQDyHPBz9vJ9ZED6whqxDj2vA7kUiWN0t_9LSFvtgKaGQccjbwX6VAHW_XbJoRfVDSQlsRlmSL3rewQmehrbOo8VUU9gqdNuYSB3bav47YTVD8KYsPRjnFF8WOylo5TYY6UEUpQOaEIHdEABmgT9cXKlzQBia17GNev6ekDLQ_RHKk44xrNwwbcMBsYDjttgXnhuMwRXyXH0-DFQYxj8ODD9AMFXjl7Pkja_MP0igGqP9vlXrFNkHgiDkAf7hatG5G-bX5_MxBy346UkxIujaPRQThqz31iuuYlIKMtR4ayfZbPIJJi7xQhKrpTc5YfgJnGsllSGf2Qt3N3DWABBpEWSyhLTRl8q2UDJ0dTIAYfqpKNoX2_mo-YhMp9OyJk7xMFtHAX-ZJ1ypgELTIUVhwy6WnAGtcQJT9D-1Oj9s2UgM5vvDPZIeUMTiw7qJaYkrrQI0qwis-4Yktaoh_ySKnoR_UTC9Dt9qXQ6DISwJ--fdTxm6LCeiv6rA-rO2XfJvo4zudQqBfOoc6mrBZrG_N1a_Wt3N9w5q4SZcU6iWVvjylqcbpEkNkre0bDlNdYqiSal_HZ3got3K_NjqE6IEDZx0q8nrM9Y2nURE7HFNjV4moJJiagqKJXRP3aoU_QQb1Iehr0sO0dbb5XPHylHwMowNo13pjN7uZAYoRd8agvlcmoPAvmVtD6_hZvRdInZbjM0pHv6s1cHN-lcOx0q1mrCWZDB-SrDGO3bnGURCIGsIFmhthUxUCaL0L9CfbLLHjxjzmwE26NN37Vx9UXUVGPWCwyEDs-OfA7EpJsc4cDLQtDc0Sz40UBelgCcVJavvCP7Tk284BraC1gOcOutYZ0SHjm6qXPQthKU4huyMVocSSdSUCJdgyCK64H3MqJT3HSvrPfKjzd6gcObcK0YBjVNbZV2JISud6xOQroq_pNLo0ydKoRxfY4GIs7yT1T1Wu9-Q_iHGCvq7aFra0ppHH1ZWNYjNVaZugg84C4KXX99da8uGp-FBYfq_xIsDFvXhLV4BzSMd6CSRmcP6ZkOR4vc-no1jgqKRx_iNKacZp4i5T9k-uW2IOm9zOqzpl0b2aIqV1UPZ1swwl24ka8-RiSq6p-aPQOPeauHOIshtd0xfdsebS7a5B4Fws-QbNnvXwZZMDUlDvbfNX7Xgxmvk-ALGoc6xnwsDPTwaHduz0ftqdNW4Edxm9nR6HqWbBYI-lQ0jCOGzzE4jGw1WV2DH2Z4wM8xoxhxLfJ1Yz-6d7-Tg6P3ZZuF_EN7p82YEeJ9P8KhHi3x81hkvqQ6xNlH40yZC7TT5-z0mD9ZTA4dlE78G1teZzLG9L9f45d3Ufw6NTfGJ0xMOc939GxcyJVpwuW7YhhIJZo9PA53LqtYJiLIwJ9CutXhxwtIOcFhjPyv1jBKm9gh4L_U3jsjXMXABv9tsjSMyQp9Sm2306FkL797Eq_5X8voqWV83MQ2kNzjkU1dBK5WrRoWjB8688CREVOHaxMW7IZHVId1MN0fUCILVa9Eg4zZ9RXXXZZ2XVJutvZiQgRv47evELKgTNP8SsoLhBmXEMIe2a-hViLivjKJWiWRQtClf8gLku56MidHYZQf8RTmsvKyBOTuMIHzvmOwfLQJzmxStXPHeHYIbS_OK4mI4htm7A2otlkd2YU8sH94AT8pX2Uno36RbZQRE5y69DOVZuRibuNcYodfxA_h_bAt6mw_lxglkySICTU0GGRsgBRwLpC3-iDhdo7yOjtgyQobOk_oW_Dw_CnntaU7jeRQCyrVopvTNKaHqxvagyFPwNE7fkS8uQAFrnkM7e3DCUG5pndaP7IRXU9Equul1jRsn5ckMLKIsJv4NjvRoSMopwxkdgKwrRUity3dur-dR7x48TwQ70wptUp4zAxojqQJ9E64FoQtniWB1rgTYRw7nXHZAMVrCJd6zXv72v6KaZukwRPj3KOfQUH8UivdlXuawz5w9AuNpDe4K5UZ1YCyVdaymwtZsQLBci3s4JtP0iFPkIa8aNRffzXOqLooScQcWkkt3qbCMuEnigv0iVfzkuJyoZxWJybxhgwRtMB68Lrr6Ri4HS0HA4rWVCut3orj4kvSqATaTC7BERS69qFsPBMg1yBcbWG6-MUbaN5DjUFVY1280V1DTYYzid-SscXAnI08ZxhkNiocLOW5X4-7ZQ36omITvLu0jepmZqCvbU9l9hgOoTvDzHRORjZBjAbY4yl2lgw6Jat_fbOETKpMgMJf0bd8TMu-xMVwIPidnrQBXmQCzZLC6dTTzBrMv6U1A8ecN6I-Ey-mdko6VsHEDmbFDIe9apY1BK0HRJv01OxZijsBftNNgZEOhtHOF-D4P0rTGnyaXyqE3_RRpCMjhIPUANG4DtIkEp3T38lTurFb7Xcie5eIOd9O9MJY6qa63dXw9s6cfzmleU99NAUu6488ALndk-_bY97Nl7kmWu9RXMnIImn-f9GJ3X5PslZnfpNbIc1EhMoLwmWc8OJK-Ir0oJ6JEe7_8-0bI2eZ2iCYGZFKjou8FsReTQ1TTgWVSrL54S9niGrkLG1OM4PDDtdPQKbXsuBBWaMTv6ZKljBfkiJ35tMmtbn7_xT0JLrKSOgJXr08fFcbHbkjFE72jWnDjE1Cmx3GdsmEqyLCF-S6SAeOxeIyr8cY3JGY4Cr13I4ERELqArheqtRZDRjNXjB_LP3Cm5YRiQnz_XVJsVExQ7QoFG321u8HO1USl3A4pW6Ab5Ga63gblt2p9RoHO9wyAYYJEffrsExCwqoRw3M66o4JAg59N-p4Se3dTG_Iy3SfRAurpLJ_v_zt0NpEi7yNEnp1z9LFVWIWGcl6OPIMFUa_0P5NQxMSVq737mJt2aqN4D6WFzQSaTFgks0vm6yOf6Ecmrw590QxJPPJGLYPwa1_9UZcfnwA2Kpx-fGwrSB7fwL7M33g1uzCiOI2RLSihQn_MwVNQjzG2UYShRb99FTygAv-m2WLYkBCxZD79cFZaTyD45La6M-RZNSzB7U3M6fsp5oFvbUVZkNTIoWf5Nqnhq6M_3Gs0EmkMK1_VYEXihzamf-KYtSTYr8PFZ50gKSZbAKwKo3y2WBEx4NFk7N9jqTP0e3djpKgwNLSB_Jey5CqM7LTUvWQteAGC_guJessqFZzPVezHvPEi9fwDNsMP6C35FTZQH4DnXnxMhwEFMDtBoDywWK663s1bPqoQ3B33QaMV5ArQu8XW8DaSJ30NYbKS61aWHRpbdiVpmB3PkCtbsK612p8QjV_HEkQWycqi-zm56U3X2cRPjn2SstOkzD6YwpSgNCYv-ewJpTVEv-rpvunK64QkMNbhLEDd-m1Q9GSerp2qI7QZFWQ7d_G9aZtm33AhmmhSBUCx-nwkq1TgMUVHGLRbyPIRDmA-azfnsvVUx-uy-PBHgoJ1OkbIh5yuusgB7mKIxlcnE5nHs54OE908edK2cnmdUDBMqqYMgqp29RGo09VYgfoIuUkAH-79Tbldnst1N_d6spiMpHD6RGk42eBWOYMP3vfrTU4Iupsh5UGhFWgrVESArHYsSPm-0QBemaeSLDL0WhsaYpiHOhTO1hPzb2Aga1E-qOBYY3yqPHW0qVPyunu4mY_aTmz9nq8sSb3nglj8_mz2PNrGfrLLzVrNnDOLA8-b95zVx4-4-vPQa9CgiYnB6TutFu3pqy_yqcYDmY5pq9nxD_EykDXg5jNThHJyTuNaqSEmoOeLTW0awdmjKBp4i98-DGJwFSIjZ6X1PmBs0Na2e8qRb0Tnw37gCEzQLq_s_lr74peEmOBxm4Kut8TEP9ju4Dph2nDwKUJQurtGndVgmb6j9G3bwvrDXsVlFCrR52r-XYGVsgny1h3VIHYP1F0m8n_MsQsu2NN8bbwFZT2lOcyMusVctibXXmEoZYxGLHQGUXQY4xrAGTRV3u0Q6XbshBz4GjDr7XCBmhbZ4L1TZERl8a-f_at1cqalrlx9FD4MOoea8wVE_BDxbz6v7ptP7pa7taGuJpiHchD-bU_S60BstmtkLPEZm2h6D0dcHtKwPPDP4bsgMHqSXAGLKTM1Ya8OQMplmtyspUO2BhJGPd05Exn_T2bj-yylH1ASQMQABGUXbcjWE1pjLE701rhIX5hGOt60p1qrI4XLolvo0HPqRm384Ii5GZ_Xo5L7ztpkVkkyew4Tsi-zXCbt8rkmIhbhjSTIySe-WVDWh94xBhPa-pzjapsA7iXLkSyUIPL2dbpqGfxv6g-BBB_RQFBY7WmmWLgfQaRDV-mLerjjqNZ0xudFi5XhRI2vbeJPARD2-FwSy5bROmQEYlkp7Vk-B88f8rGvbdU-8cS4YwSqxaa662BHAXmhKhgDZf_1buXxNve9Rn2F0s_fhJubXBhCOY-lH8YvQdLz75EIdTClmseXkWtRAlwKXP1cp1YVr6Xts5YDx-hSl_1wmeuK_yAf2olcOG2g5hMru7k5VfIOX5GB0PWR0kL0CobmjPegQW9grEZ-gRfkH4AxNzZ6BJIaNR0kr55w9aH2AzYIUsFrCbkPEYBZB3kNOMqjD8q65ywjPxonhdG9yi90JgRiEjaguQxiD-PtO__L5PAq2sp6-0rVrS8OFf9Nja5lG-3v7WjuVEfJ5KMb_5jKiYZTkWb3OIZ7ROQqTJtpICupxMPAgC-BGAtR70YSSfzykK8w__dH2Ob9eqVLrPWaZUDDnEVX9n_HqQRVGYh3-a1emQ3cRYzc4Og7lEvEbiNatCw8W6niuOtUY8VJqAN0yXtl5ZQKi1AAP9QxVIXIp7Y8VZOfYJnTHrsztJsw35MlfDUhkXG9glFn-UYmFNNFSzPFyGx5A-_-FP9JMc9uRZueFkAnSyPvxhE3DFAb8YyHic2Dsq8qAegjJ390vu4MWD1aW1MIsrbAoCE8zWlBWNSncVLrEH0hA8DVMFM9FtUv98vM8XPZUj4PX9btaA5iKdX4O0hw_zrxfSMBaSRZPzkI_JDqMnDDBPpCa7xOk8USWqMW5rIqvpxNgH6jTLP9oI9OHrVq4O5NIb17rS0RDWg0k7HOzBIdSamRXrZibjOqX47BNjB1mD6TqBPpgZDKc13LEYBrLY1eIMTadSdxH6U5eDt1iH5AWJ3j5qEqoPcM1--CKX9n8iJknbKkb2QwzX-oVZ9H2SWizMtd6Tei7AkLzvbCCq1yLInL_qjnFuefNUcYAGPGIAusDBINHuyk_azHR708AfidpLWDyLIVItnt2q8Qk0JAK8B9rsBQZf3vPnbkxU8eEFUWI54Nb-BZ65JyaywYgsr3Te_DOGxepTMYqfGtfS1e-MpVAaYn7IQD9BB6YjL60nzeZfmYk79X2Xy2BglJGbL7QWrmrI59evIia9OaT5kdDMTbkAfbDS6BZaA_qRw3GkuUjtar9x0rQmlTT0pchTV0XZBA_rcuY2ee-xvEIarWQ8zTyG4s1NXCvDJwxO9RKonFfOD7_T7imx7Lekt-6tvMMfNfDJZEciFDXzV-jcooEaWJphSDPEA9GvYJ4jo1k-dBRgWfDktB4sV6utpJbFlJKqmU3kDeCNCpjOQwDoIzIqQ1Yaaqq-w-nXXBa7_LjsLOpQM4z__7kJ4I-D-mzeLdmYAcimts1aYJk4cogZvS_WN9vb6d2VwX1HDfj3qIzv6rSEAO5kw-2hD6b798e8ADQX-JejBQP9DAkYcylJwGQh3qO1-Hpv9950MRauP_mKNUOWreZDAM7qAsuUNNbd--xiZiD18T4xyCPQQCF6aCDLyJP7Uy_78almjVY4UZ9mLOm8jcjtp88RQmAFb5RLX1u-zZRCA_FXc8IgBm-YF2vdaiVWEq4nHM7TUmrCr6VA2afimS6SLEjVJW1Nvi0Rc7r3AAle0eyVo3XaQl6PQ5orbVV41_lfrrHPe5YnRtM90jmCI63eZH_4CdFUC63N2x_dVNe1UUjvhc3K8lT3SRsbiNgT8zNum-0mMR26wJIizDRMNQ8gITPKtgcmRFq_MIWeiw7G1BY_ul9MwE-o4Fj2HYFyQZvIy6gj8PFShhD-KtS_Sh8nZ4MfV9pyvRPg_OolL-4KcOABX9ETtLDFukHJnZfDtQn6X_P0AYz-cv9wtAHV75DXZIoSfTHH9yaxfrZuE_nUqRwA54qn0bdYvAVNXeqpiIACt-252qOIRzy1GrQLQzmNtmiYUBXCpbnscSplLg_ScvgSa5u7wJcezR9vyiAoMu9wMV2hAmV6pA61o5a_6aHN-Smww8ZYrB_9_pmcZoHvjnHazA0ZI2GanAoa5a4OfZW4rbCRamF9GEI-RP1oDNLSLL9SfkC8TTPnVnr9D_7sHxTVR11kbtj4NDjJPz39aY-CoJxFor9QJIsSEl-C4lFXWyHLWuFChzy5YSK3h3KTHqwprtkf4gIXc9Iq1-wkULZJT1n3ELGO3MvkVcGUk-WqzyLN0P7b97JeyD3qIzDQgq8kQgJ5yxxvbLzM3CqwCE_lMC2zFQMV0PXPzkjurFlk8mJH5wre_V1FhUdCSMqdDX-BM-fbkqkTgM10--tD_0dO0XImyLO3HEWieh_R9BHDG1NCYYtUeJG4yewbqF6f_hH-fEHdqK7ULfI3_I_9lRQoQelfws2Iltie0HF_Vfjcq8OiyjtRQDje1V9C7EHKPYTWEMUPDiCIzC_TjB_1Fdt2UNvNZ_tmmq0ftWTaWFCoVUx_frO5yLZ-RfXZn5fvPm7NiQN-yxf0p0u7spHl0p-1PwucRJcHXnbOzX_N8akY5HnKfiosVG_S1KrYXFGtO7g3xWs3f3hoIoKhBkbzbo3BoMU-ki-kwXUtU_0RZ8ShQ55L1YVUERn6KuXL6onD1Z5FzP670HjvlfwaI1od1Dia68db5BBL-iZp_BfzwPHpsuGrKYc0PFVKd9hppG4_cBbnI9nGhmb7Xv9P6njto_PQkbnMVynl7sMEY6ElBAUwgyETLh26BmG05-5i7RtInmZpHZaHLdnFKwIRBDvqf6VkgJcBKi05rZ_7C4ycu1q1Iiee-HlYiFRhTVQhZhLfMOhmqiG8hOE3MUqiQPnIYFO4wWBvxqNgkPebeT39LvMP_nvoHyiudiABka-VTN2uRqnRe1HKCq-04Cn_lewtdY0XBhYOPwlv4nrsMUdowFerks3P7vFvgmp5vNTxP6FWyzvULVQHR1Z1ZHR5-b1NOHYmAcfyDmu8Mip9_FPHqziYKWCZTw-JUzHqnm8-l45OxtHQ0VsNR4HNK8MEdOSzYF-ftDXjboctCXv8DW8kxRdLWoS0GICto6q2ACGD-OuS_2_0-0mHJBVGqSjSQI5mi8Qce33jj4ViGi75-P72nMTllr9DJcM6SY29HFfsUfZLLgcegZmV4yeU_1Qtu-9oD5FYeGi0w06vbbPVDB4FBa0O0ap2Rng4svQeAlWDZ-wArcL31i_u-tCrqX__nZcUS8Iwrva-nFE_0NSWrsqsiZLCYqu56RxE_UccBDmaRGBWn648zzqGIyqN2teQarJbH75nPEeiPNKeU1wEKWs-fm6Mqf7cjIBka31mlulLWqh9-aptFTlF-gVf4ABv5ZNWHlfX-ydZDTr63UXFJLP31ZlKU0s2OyyhCfF-cqlm0pVxQk1uUl8PRIKxloDefD-o0oOoxbgWLvSL8NJROWEpYyzjLA2RPP1PvP9ql0thnFVHC5HQRdOdpH8iHqbjUkC9Svyd9ZLUzISnJJqSe_gcAIk8UqIys5lLs6wFWcviVvi4TvIeKSGvUA6DjevEa4OvrwohLxD09emyyznYlfqjGA8hLZ3aUX6rTXhw-UYGHKRMWH5mb_v_na8tJFa1Ujbq7uZpoPy4vL2ULZK9_9UMW7htTXk8cUToRRm2L-4VsFR5-k2NbH9gfN8ISNgL5wUOdBdrXkz29rZe3kTNMITJIV5qvtr9PHSiWA2xKSqCRKrod4uWbE7XnTsRSkPjZ2v76cAV5st2Zh9A9FwbbJWUeLnUnkl68QhLS7h4yZZcB0H03GlX-pSsZE4PnqoDKJQfvVacjCdjlepVFGh5JrSRV_j3596-XCyBH3ouKm6oq0MjWJFM4AmVPU6nnJ-__0Fue1dtbWoHrrFP8G6stIbMVEifGeiGGCOJ7PhKwDiBoAiHvquxg65TRzaF1LOrR79qYJIQu3gUYWx6YKVevCTUf78c2JLuOGMsSR8rbSYSH7jTAzhMdYo0tAsvFPQKaMTQ9egpwbu6aZftw_NKJ2TD5ez9PvmakelsoK2tR54x_Kj3IVJI6Sy5SyeRQ6MWaB7Qua-rvRk4t3BZ0sYzd4kpaAZpfSt4j8P1S7jYjR8wFncMQnBv6YEc2VN0128UyFhcW5sENjZYBH9WpDwnyBZ32cGzAFzz3p65VX0Q2Z4o6q-bpXpl-xw6G793PHtFtBadJhggjtfjgKZugDLoRH8JyYh7F5yfoykgL6lYSl8HCniSJVueNvUEF3zdVkgq0cgWdb7VL1Q8nm2ls-amH0QmM703tOxSrOP8gaaIbyEILvLGdZ8sAnOLoI1ibFayGix5RpJip2o-9Y1WWG5r8Zetx6qdq71_73sOgzfH6xBzR1vfLtqB8NYHH0xXGwzkBsE_8AQ2jrelBmpz3M1X0oV_6ofh2uud7QdgN17kJ4ZJ18jcuAUXasW7hHwiPOhycV2DU8cU9_HCvvSoAR3sW-lDBKrz1uso3xQOwOxJLj-Ibv0bzoZ4CpBxCQNvXf0VlVBv-Cumkc7_Oc_0Hvvmxc0PfFgloa8SRl1JzKOuc3cY4siLrMVKb-zYeYc9H3itZcJK_NF3UkUFMH_5vophXFE8RXTUv_cs_Jh4nQMib6TajUESDWSb-kojaTnKC8W_difgWHDOSQhThbqlSL03e_zwPIHHkf9lmawnyv3IBOH0W4KVRd_-4XQ5A1AydqTPNGt_4PekCL1kd1SfySC66H4elq50vbUGzUpOz01wOMnjG2-iW6c2ym-1tPaRlPWfdZ4wGbqMkBokHik2Jt2cvBSYZYi9TEw_AaMzw0yCkteu6iKY9HfrbXdyxyXHqgua4cilXF5zzoO6xx1QSuwna0B8hT0WvDMxM4skRhCbhPE94F1I2iRweiKFdvxAxehnG4g5Z41aatPFtawK5PW-3dUhBP22jUvwoghursGtSzBxQ0WZe_GinUNi-w0-nRn_loVZwoAaPwjAesFbTEESODtVqlbEJpKDdS3IaKu1w5oiID0UyZFvOBv4yUI4kukbhfdvW51UZEDwiI2Gd8RZOTD1iNbQjjb6-PMAW0ioJYFPl3Sl_Jb9ikHI7QnE5YbV61zGuZk4IoHJWO2DTaYwua_qx1I25G0QnetIDrVo8jkTwltdEXCJI7zoJHXHsPnflQWe2nuWMny_I2XqtoWbi6IY0_JXOJEufP2-CNcI0wfEc3qHCv7zJoNbUPHNSM3RlXFGenRzraIWAxfUR5Zdx-VA4nO0UYC9EQkNRQVZVL1s39-6H1U69ptXEciZqiHOaVaoUAQQ28yJTEfN33ybJemwK-skYyb1Kpa-FkMR6n3W7ERAWZOcHto_1iClg8I3WO7OX0kNd_3AR523ULKba_14fLu5zPP5z-6H4h0FBnDi2w3vG7gY_c_cuzXYiCQtpmtlG3vdETYFO6XLXZi0UDAovy1RfsERkjrk-BSTJme5ABY8szr2tMoVqbOFo86w-8Q0txejm0rHYjeMEiOW3p_0zxLvkBJlhJ7fq3cu4c2puc6FQWfnAqfPqu2GK_a5qJftepBa9C1ThGsvQbprtgj9cAzAQ-N52yijcaJ11MR8ihU2wrK5ZTNwploygsBLusH88NVrKLHAf-e7QvUmk1DxqdY3c8p9PcmiqGob6g38v6Lz4nGxjDj7Jhr3fAMDred2_XAB1sUlKkuJ7-BMdgJN7gOj98shkE6yi8Ud2IiDi5qAxP9ZWsHaxTJtPs9ZMAqPRhZua0t1N7NfqNeYUuNCr7TPaYArhRlF93i9f9Vn0xz3pKdzNBNFt_NtvLInE6HLDAjNF2tGovlx61h_39TFwzB-SffPaxkL6W_xicZ3gidzo5xTbUpnGrJx3jT1Q_OymQOVkYORLwnSJM5aN-3AMKIQePOTattnC3DspKe1SqW12wzrmTW5FcoU4RlZK3JJxUnmLxhnbjYRMn-2vUorNElZr_XqiTwlmPVhCR8TytS3En4ABlqMldyIuQuygyTw2IeNLoa7COD7lz9xuZQXDwHFLXwgkFNSZIiUAy70XGH0dxgywVkKdv_V5Bqwx1_DBzqFiBZeR8hlrwKWHWQJ4MmgYe3mIx99Qpu6HyxBEQEzgsLK7aMuSRQvnCOvRIyguGEDIaWRHm7A8JamR6A9hiALQ_PfuNrceBlcO1hGh3w3AJCSn1egClCmTgYvh5zZsjsBh7zGRuwgh46wmvpHL7bEIMCnA3hpUShhPxePSlRlccCOY7vlL2lcgRo7ZWsrLUDaS54v6VPXk990BT3-MR3E7Ctngi2_1XMcQ-UCXOjpMwWH-Cn4qmGZKSzHeVLp92w5uWGPRCTZhs5obFM2sGfSFiDcK2HRI2ru8MLdbHj7n1YJWxXebDJyrBQEqD5FOXClfzfuYzhWA2vrN0Rzj4D3S0Z5OGXKMJPsknsRjh6U7Eyk9FzaKn1ufn_FwiPwqYQ2uDTlA-f4cOSsaKrGcQAPl1qHi2fAueGSZNNDNxVeCbqpHC0CkHGlyrjRRFnTgfabcN9jnlqOCrW_ruMxBcklzrR_h8b0rB8K5QxEz-WdoCVHM2h1PzMIkcWxQiaCSiM6lqihUYmlJa02XlABy87FO76YRxEEdTBkbCdLxYC-lbsuVTsOWvkN0Gnb9rVxtu7mD_qa7PVYtYgkc1Ac4N05r6esNzQq78xUIMUabN_L-y6f9pXjjBJxFYZ22yZipGKstT5Fn9ld1Wz74G0TCIbYyjd4V41Xx-1K6mbm_-y72CBQzz8QOW1MKnXtNQMc4cf9g8dG-pI-olryz8oPYeWX-p2YOuy_J1XPLcuABfWn2vsqvWC73xzn6E7cPHAr2pm1hEj6F3xMV2C7_Sma3B8pD-qgfoBiPMlP4-w0HSjNxA7dkTO-DYnSSmuOOh_D_hnXWKlUb0ST8Sybyqpt-GH7E1pWH7bZRk_Bz5w4dtQy0F2OqyMMWRsKMt7o128e5GzJAt731uC3bRYMQDvhYjTfASkuLv4TpI0yWjtx8OL0pmYaMafp3t3t7fPZSGc0K9JiF8GwW-pa-TKw2EWb823iESABVOIZYwTQOkwJI-jg7TzahLRmOfAwH02OIYlCTC0bXfT9chMx8HZpXb7qEwwcVQBYvJa1TXM2VLgF86XPru1mQTQB4on3S1TGDfybfjmGaSSMAjVv_9GM6UO-ZtBMCJu81jIYg9nUW_OVF7aGDfsBqrmh7-l8Ac6JEXn1dj35Lx63EBLQcQ9190cJG07xtbqIjZt-kocLzsSbP6-inc9cHint5teRgyY60AYd0VDcT0rTT5-HtLimWIhCken8Ldo6owmwhxYPVnbpiZO-SOnM_MAebUh39GJl_T4CLAdOoYteOggp7RB_el5RmIRbhBZfqMwjpOiXTW3Ag8u1k2E2tg5VUctST4RZYoCb882MgLN_PrAaJQLYjs9UGIpsOLrE_nmOT-iagPWTVbSn6pwYNEVUsX3tZLpja3oICOD2keuJxDDMclC60dePsQcGaKaVuQBX8hJmmiU5ryusZvzwaM0K3e_Cf5DGo40feTaBfpW6IVK1KBV2WHdECLYZVGYKaUgvmlKF9fRHBz_6JMpuEXJm9Fvz5sBPFeVZ6ZRkXuRmr6okSTkgnUrLv-ELqzsyMLdg5Ji-Oq2cDQheSilCW-qgHbDiPcxWXt_VAHSu74c68WrXqeWS1pHyeD5MYEfyMV1CCIV9yeqgjvP7Y0Ul5GMmnqWly7UVIYpEea9j4oDcnhNwrSSwakiIoFYfwOfN6GvhJ8CBEXepWFPb3KYpyGtmpxlDjxqflLwmC4n_YB58DVPRW9s5FyiptBL0fOaU80bQvH02gYJIpbh9tneysEtNnI_q60CcGLJv7CcxSGXcPSYperTrSL2KdaHGN3IJZaNOVlNRIzQXRecYtt1Zwp1g9nrenXCKaGhOCJVjD9cHx7WErPPE2TpBXQVg2L88E0pJgHQMMiFnSrVe5EqnCHLDLquFhzerZEUOwKsxYrTdQlwHcWPMA4t9TDPyjfQz3m1Bv8ug_rm_KDH1KFG1Fe9ZCpuwRbXZbtNyabjux_Y689h5wEpk4QKTL_Eg26Ve-76kqzQkASpb8nm8ZVuQuFiG2Wdgv0EO9Ck1HSAWyr5cJyyQZZZX2LyBu2QYi9XhLM2UVcFLNScJBGMztTZT2WTRRBwSBPrfo2V2442LTvdfgtvkYc9QqsvqJ8McE3PvXb_ijORix_rAmwjRb5bzEoxISVs7M_5vyYNn3we73AaS4D_VbVjrg6zyWIMerYyNYXvDZZu7CjqoO76dNIOGdVBJ5rWKM2TEMt4Uz-0ULB55uQqUaJnAjsDSAXIZB_2dHgMoATu2rmAXkcy6SLxz4cYSM9Tl5C_FoWQUkHMCufbqyIkvqJRJQyI0ojJIb4UKajENy6v4VQ_LWyEkUAXxSo9V1FD4i06Hh2A3fjiM5O8a9eqdVCvWN_fAapXgz1X2iR5qom5I3iyWu7g2JXEpAPZLr8qoLbPfJhdjVB1Xjte52jTmMy9TVFh6Qv7_mqNvZxYHJSsr-6UrGFM-ZtYgefTpMMSnUry8GcYe3AQL1fy4WJVtaaVqSg-mvuGR-yeSYwRWLMVYZpc-v0AE6AGcFQP6wQcNDRBvJpMahKhQMe1GSNMiqCMvwzFE5_C8F1TIv5R_BwL3dFaJPSSxFSoKyRqBYLJsP2K-vd4JDXNucWavLKrtd27ao99cuOVWzj9usAEuhn69D4Xm6zGUppcFWgqR-feenG67vF1e805YepB0wxbwcIuFPioppGfzhkeEuZDsp1SDxWFWvu1fFIA-W7HATeSasskrx2Jendfn2kwMmZ9opycGHkswToadvmfUGnMp_SP7-bKgDJchnV2bZ3qHd77Gwsvtuhzl5TMkRzqsneyUak0ZSwnwRBlB1-oB8Sud8_e_GA0MEKkl3bF3YwEwSLYBpHQ8ZtXZTRvo8r_8kZxhzdkdQ-q1gm10msw0ULCPhX3JPkoDHiQ69r8VOYsC9f8b25M9EJm7RWUYZ3zV66c3AxcbgtWFET7SEKgSBsxqbkaJr86iobmUNILF86I39j3U4V6RSbODVJCb_H_mE-E1ifc9tjFrSFRuT3fUzv9v5SMsR_w3F_mC25CT9xw0kKOukB8Fkc3vwVgrgEtoAXstFaSYm2Gk3N3pTL91A9fFvwzVBPK2-FDW8IgQFWk-qsdIvCtglnFhRnuGXsxtz3petIuIcsB4pGTTArSuw6nCz1pn0xb75EXnZnw2Da3dbgXN_WQ63pQ66KefCaG0ATXw8fC6x1FA4ImWxwXYZuE3L8P16l87MSKjfaEmbGr-nYKvpkw8m15lzcTnIYdDBi6hPeiA4HYq3E3aDeXBryB7a5sJ_uX4quTz3Fo5zjdF_yBr3bxKMu9_9l6MZNXpWq0Xh5cYxrkQFIYQ0WcklmpqrNroA7hfHdP0Pj2U4Sbzt3dENlw49d0bTm1W8gwcDyo7WAuxfii8YMicj_eA07Cm3VC7JHuHwfUcnhIjFpFCVULghK6q50bYqD3BwX9hC8xUQcNv9KxcNwxx9tHuLbrXTbRqStPqQVuOX54N39Dv6lncWS8HTE8kPVqKG1MOOPr4tH7hgD0Sn1BymK_y0zcD9M70GIlNqi9Ui6R-OJUoW_3tgEgT6sBHuPxMD5UpMgQarwOoKOy_IyrpVCq8P5ExZxp0YT0eVGA2aOWX1HB52i5yQuO6LIm1u7wncBklaibxvdb9S4zmNtwLDcqiizDrxYURpTM0u4tRR_qQvEKssXHqVWPElANn205AAnj9D3X132onfNJGzxvJ_A2I0o7N2UVowJ08Of5maOdaj5ShCA0uwgCxOPhRQqK16GHCDJMSMgynkstJiNLPQpHFg89ShibRS02RDepVWY-xYViKiZXUO2Q0lWYAy_IpXPJfgk66v3Z3LHD7ZTa3Xu0IkIMBadzfql1o9nF6jfn3-QQLleUWUBcnJ2pxFnQ1eTZUReKZbEik4ceMir5dawZCWwr2WBWSUll5Jj7sUGhZ0dg99VMJhHrQ2w6ZA9qK2UfLooyG7D-_ZXVlcL0B0CLB6zD4kHSKUQtTIMkNh5OwzRIC96tOnlIi_4uEKtB7_hn8i5SG4OVqWwelHprP2Z8Q3hWq4lZcgtO4bVH8KVe-x5D7_WdFB5ZGhHcNKFgriGNZuMg_kwbx0dOGQSgJ1JbAqSQ0VLvT4I-P23i4tjZTtgUOP9zd9ehfalBOhfoUqkV40u02ZUx9q2KuziseoUSuLqt9k_Dwgq-bNS_bf6efEJA_1fSskWjmBiHyl4rxNGFXLqNFvw2FhvWDNdnjU-ZvqgB6RwHZF4HU_NFwkp7qXUkzBj00tAIPQAcAn0GiZYQctFJc9yJttJElNSfKBFo-9vks07cQcfZgrCE4Th4OJ5BNkXBqk2Zd8xZOYmjIrQdZnEw-bAFUL6tacLDweBDX-fupzhYqBBcDs9zqoy2ZCTDEWlLrvq59LmojfH1Ku8OoMNDJHj7riE2avwuGywq5XHkivL4efXSd4hxRVlepcqqrVE8EATo7AhTK76paAe-gk8CfddU0OtHx7DCd3dIXlxYqeNaL2R9xc4IfRMAlnYMU0Og2iRLEG-b-tqPlF1nEtArD4CMWNzbstiRiBEFEruPJRKzQJguqNBQif60ocGve3CI_WbqYGSyQ47aSaCNC5JmCwfHdF6SwDWglo9qRKVJlcgHkQu7KLCzSz-UkFCuKuvtTdpHhCBc8eE3p_se5wQ6l-KMll7IdJHE45et6vycXqANMQmZaTV2x6hRtOCmN4YpY5aCGGNM4ibiqq19jQRC8sP50tDkiD2v2_SdJWOTUJ1sAHak6eRlrofobc1tpNetwN2y0LdY36t48ed_aTUF5fV0zyjl4Y1EdzKchhMuHxOwvhSqafaGnfuDwJ_T3lgfV9MyPPeMQfkbimOjgkngXDyxMm0ANuTQ3ehy97rUPv6J0Numwpg6iHOPx7cYOB8aCaRRLtXrLglVYDV3ztbZKlgo6r-hTQ9Dijib4PLaFXb87TjsSAbepMVQOKdWpj1R1146Y2H7L0MjZNbvExMV99y78eMPGUEXTmrOOYciag8YExK_CmwKrpnZA969Dn8oEmm2j6gvf-tis0wX8eRNT_UcfJGawrmZbBP2FwbRwwHZvn6AhFRinwTYE-3jCWDh8rRL4XA6I124wAY5EBxEkDxVdMAzvAwRUZC6CLosBbIziKThX3rk6e8QcMzE0VmpyXx29zFav19cBgDcH3kWQUqAucUgEEMu14knX2plxDc4o8iBYwq0LFcU_uwE7MBqlH9p5vsJlP3845Kw2-6w8KCVn8wS7H669xwXrE8TBjLEkN3d52D71Bs0UyHJS2hohPuZrPXsprVhqPns2ilrTJRKB4P1pOXef9IWfZ4PCJQpA3H5qy56hcBID_5qvYG6wajuYxe_KyqIZGtB4tRvwgH9-U_381kprir5uShubg-ILOWr84ocTHhV4VPH77bCTrmh5973xvtYlNQkf9ObnXSnFZiRPndT9Oc2OSu0POBUpu6TpA2CJJoe0mdZONZE_OjckIAzpt3B_sQjyq9N5gVjzPrVf4qh_lT4aU2K8R6XA0tl64dhogaCIFPC81DyxqSQWbzn2Uc9yf2Zi-Z4hGAnytNsvgcCBGeJM3apaMMsYsawupX8zzx7p-xcTFUY6UZoJEc-BmOBOjzMitU9v98DNjN7AjbQZXMHjh2d7Z02Z-hxk9ARvX24AYpDoXJPjh8NdFZBQa9Y01KwLvd2GaJ9hWlRCD2kRTY_DJa8Bf_7RH6ZqBQ75-Vd02abWNi5bO0Hu_qDrj61F7xI7U0DG9NhAq8YfwKv3GZlcMt3DEJmZVI0v29dwJgFqaMY7JZVYKOXKxk2gQezHZA1LlfGCCinXiQj9gsNoMFwv3APx2d113eyg_9BfqeUdY_mqejViuQ2prVKrlgsx9NG3w__bDkR6-dLFpEgjD5sF440hyNhLmLAB9F2-97VMFsZ3_QKVTTABrNXg4Xx8uLb7AMfNUa5al932aCX7_PHxEKXHRd0O6ae_OuKuGCRle9z6S7Nkk6JXpULviqKxlcS1R6W0bUc6httAIWRYohyyUTqO_g_skZqfts5Hdkgk8_3kvZrMhKSs4LEDb8w75Vg26TOe68J9Lsjjm6sA7pVtVD9TPxZrGdoef75tPIA76Bu_fT62xtmyoe5-DR-HaDOm0eoXuKTpCGCJqCQr8F8SbwMOyxkf7d8GyhnIfotMplgadp8rc6e9XuSwRrrt2BWM80z-2i8HUCasK_dgWfiFy6HrtF745bHsmwiLwI6hI-YzmbXYkLzpGyrlbQvSV5_YbdthTHnNqefoRhY6c6q5ui5OeneuHnQFe8F5nFeR2qY4LJjQ0Bic91TTeeuFzz_DJ0ktON3vpFNp3VKRVTraIWrYxFxDzyO9uh2PENYzOWMu3sxf2__cjD87Pm3tTCVHGPNVSSOgpzQNAGqU_dPFSbDkHWh3Qonfe6M62xj_vtBaaBLYVfUz0aeh3fXyeGkd_kQJ3o6KVNrdwaDdB3Z6b1e-XRzrIxtgLrYBO-zHclWAT0udqU5qREyTlMELu8RjCuFiQ3n05V1KDyI8iYaVT1RvH3A1z9a7Xsbt5bS8MdL0Mu4sAbhCGaeULAAlyQ6noesxTQ36iDYIAknJ1q6tVHfqTrKzixHslrSFUyuD6BGdKn0Vg2pUQYz7UteQS49I8pJHU9AQZRKO2mUxiinXCNBqmKu-pU-MdKYCmOxyY_Ol47QUmLd7k8RCBT0DJbAlWOXeTrxpFHrZ2fLS1nOSXTqD8DGkUMlc6IxeUmQj0_nmD0ErNA_TlxSYpw-_NcKhYin9fiwMFBG5SSeN9dka6OcmUzeFIAPsR-P76O-MKPnX7yp7kG7IFneVtZxg6pvhlQSgMvweQeov33k5PKJIU74vClEEuk20FZKVROVprWuRYRcRo7YrwOxfMK0yUA81kEeh9hqyUC3_5bvvmjzfdO062bskq3CvqhJSfy3DGrYg4em9kUjVw6BPSTYT6SHdJuIsc4DISJD-fL6dJUTx6xyPlTa97s-BPwognTnvu6cbVbi2Q7MgPiBsdRkTzXVhkL-gON3bvOSRsFaaN54iPsRGfi3cTnbPMtkbR1GQhgU168Op3bEIGHjqivaPuCM4mt4juK07FMKZX6LqNAS4zC3gtlzlGI0gcVxke8GIYDhYdSHSJOvJBjdE6d6GnTSz9Cld-2JfmsqXKSutGjfcwJ8avf41YMq_8Smia1dzrK72qViyWCRfhs9Y3MFrI9aQ6E1ese-va3lEyfXmkbIWNPoJmE6z8xAaO4ctLGmgc04OHQVZzKcGZeTO1OPv7CBx5o-mlOVHmFkz8vItlgHhJND88dxOO9x4m3GY-Bf_YP03kFb-iDX4mPKUg3MyAy1hmKn5Gt7-s60d5twPOnXNqIqBXyB7DmGv0fZ3MiHxxxuKlCzwkCssSwJ1A4YLNP7fdl-M_fo0sKzW_LCMpFR0XASmtgMZokd989ocb_5hBCmwUo3fAVADFQjse3P6fGP1dJlK4bnJI_CSc_e9sztEoaGN9rpmSEcTQLpMn1ZsgfJmLYPj9YClxBJrNDiSCzzeQE5_891e1j7yLWXub0Qmc4P0LMjnGT9cYhwsniLPhwm1da93LImBo_he7HtBDwy99hyI-VsokRDdXoS-LLHN4c0gvJTk0Wnvp400YspMuydKQCZR82bgR8isXFbqzJ7cnnmPSkYI6yeLPXgzwKqMjWHFvOKNNRWCypDaxb5g59FFWPOBx7YsiqUMsrHLhObhKycu-lCgNWOugGR2b4_jP6xwv3cbJPoRa1RyLdv_o3W4qiacn17HhlTw7Zjhq1taXWFskYhWJ0z4Alk_zI6NGa358WrheG_eq9Ad33HGcPTj1QBWPBCmDc-v4uQjAOmL5ozxagDOytrwIIfpIaKsgaYZQe_OYoB9drJujAFaLCrstCGsNfY_qPqAiV8Q_E03YCi0DcCmhoUpQ46f59cpLyn4BGCczANsfOag-jgf4yXl9bJrZkBdlwRKLgwtzDO4038lQJ9KpIUOUz4TdfP3CXrJYLndaXqG0dv9GIYTPwMoTMN64TfIJg86i7tpg01MyXjbiH4mM269tldaThCuUVGfSyawe6tn1yVIWUd1so7uyA5zlBNQMpDie6qexLOvG6csvXk2KllCmjYnGE0XTuQr22647KLJE8BKkMpAZJ83YIkYE91VKCTaf1cl7XG2IJA2IDN09k6yIsYjx8Ge3RzggAUgJXXTd_SVjszJbp07aktYDuz_XiQTCb_W3Zdnw4XoYbkq92gkz8Yng5DwKzZsWPts1D9GDlKdLLjaTUrj8n-RYX2MWk8y6Yk1KDAYyDy7146Awf9iIz6UNFEXDnjpom7Fvj3XscbLbCXvTdlxgQFQMgXEoXqf8Xy1twH-TH8mREezlO1qOW3yJHNY2adNuWv2VsVHX4LKpF_diM6jtfM1I1Iw3h-WG5tysntgUFq-htTspEiC9BLIdDkCmhuF5g_vU5fOPA7-cP1ME65doxU8KMqJjfvPkl6X8SJvIPGqQkXOaf3XCmXxQ9SywZiO5tGSdbYtstKk3heq6K0scwv4OqyCDfxlUGsbk3m91-nUUz4mfdA3_0gP-N4TZz1cuIBEFUTkJb5mGuDbj7_zWb4lWQzovk4MH-dioF2jvjL5ZFTUjfdvZ-9Xz5snUOaZtwvE6yWO5yA3hOLRylscahD4UZASRIE5vXPm2viFJvhUE7BUggMIDLpiy_gqQF2eU6xc8MDPGJ9WcRCIRgaOM4oMKOOAS4GKM3-UpLBOOLQFDzGWLLdHeeu5yc3-GULaiB54TGXp3F9a74mPkAZva44qJiTcx3B5c6cKiyZKJN5d7DmHlKCYihan3xTXllGk9J-HeggQfgraDm3ajh3DGnhB7nKFiu1Tdgjfu1ecs0rH_Ji13s3Oqsw6lCrBgon7XRSOZE01-1ZfHJlSxKb1s4Vz-oWm6OmkWnm-6lklVm1mX79PMbUPVFfnJdV4I8DD6VV1ts6abHoK1Ii233DrvoCVX61-l8CGHxql_u8ddV_-jvqTMjCNyEyB4EYgwFwdpVEw1ANbTg-3sOy2aagcsRPEaj9IEztQ6YG2WvSGN6WcieclOIEbmpNcT0KLy3Zto_iiHGE58BcteZVsUsNolgBJncw0HW58LO-rNLk-wrLOeD4Hb-pgN02x8I1Xil4G1jqgMNkJli6JI3gPiJ8RPSI7rHAKjR0ROYVXw5NalYOuAGDjUiC44IaHZksX7vzb_39lk_2TBb-kxxC7SXjEPAo4nMfxWd3vJSSGnUpV7ZFguvvlQUhClwTUZAb_s3GbF5wQ-8EFuaATKCyl3E7NWpoICOXds77YM5RzSfCO1jnj0c7PjOQrpu6BfglHaMEFKk00jCKHiEdrnbUYW0pZWRprY4_6AN8RCEUX6113GPU_qbvjh6TjAHZCBWNH0UnxFcjspL4kApvRx83FShUNrFRpf5AbFfw9fw9iSqOpStxJUoM-jP-YIMPHY_kOKhCJfnFuUIZfH-FeijBdNwnRQHEDtstWP0PChiLlJtaYGBgn3zkcI-3-xpFIVj3RZARe4dSizElKfBQDcktJuBbRBObhZpTeTGZRNswSS6tq4o7iEGSpAbHNJYI98CSQqa9lv_a4DJ0nEceUXmurYgBKfh7D9f1aKP88Duz_Pg9y463Ban0GuBrftWT3QfemaondOug7iZe4DLG4BVOj4uZ8udk1-WLtl6Bex7WJ1uKbx94sqU_sKK3q3D9A0D1KDAVlL49thI7IISsEmd_YsixxrWUklaOCCMvFjnmo49SrmvQEKx2yvw7KpukZtHCqQmn-oBE3DVySnRVejbk_0gT1utDGflUMeBKHfw5ifUU-hzT9Svyuj3223VQsSPqqvQ5cLyaBOp7FarkjmWjFsoj8hLwN0Ap2wKZ8FkLsJrSWY_IkIvdpfHTd5YBhpwBmTvEqkoDb8Q-erR2MbqnWxl9BvIIy4fGkWE3vCUB2efFIHLl6ixNsjfxf_XEgUDBZYx69lh2ks8QW5QJxzw2JJcxdWK5bFrXuQRaJzVy2YQM2KPDEMNi6qIxGEsJeCd91JlinGd4o6SntKmDd-7B3SEG1yZ4HaLg2pt0dedOcH-78CuCi3qDFpGdUNdgcg5zsLdWw-FoxNgx_K35D3w3ArZefhrs4USoUfztnd4E6UJfCXvveeGGNpts8I10Q6Co7JcdaMUP4MTms4MPuZFHMf7R07gZEvpg7EzzbkYa8nsnnQMFws_AbHesVTK6kqP2wLkHjav4dgqyK0uaz2jDgDyyKj6OJvaFYrPwlYyigWk3COJpP2CVpB26x-5xtja2NnbH9XYBFPUZB-Z5SH_-iq3Qub4-feFDWngrDl-JCBdXO-VA2wrCEZGEQ-Xsh_g3VS-sAG14s9HNXhB98P2slCJYdyKF1oYJLWa48YOETe3ZbjXrhLphZiejPaaIjbAZL9vX36i_NOWVZiq0vjGbDgr1y0q7ucSbhXI9AsC5_gToX5nSvA4RsdQPHw5wXdxzLZhkrOOJLv95oaIEDOSsZQegHgkS4RNk-eULqkzE1doeL8NqKUGl-GjMXYHk6OIJjtzpMip42l8D6RojZRLVdh2hm9OPKdhfCJl0jclIudXQAnpKsG7qQzihQW-zXr4J-RV0UtSTPR3_bxYjJwZ6HQtt4ooNY-uFVm4Pzrdg365i_L-BrAF1r1NR4Y0pGx_SgBQSYD22Pc4_CW4BuVMdq9fKtS-Y37gJn9RkDVdvwrfDQEs4TLXO_s-_xMKUTVUKsjZ7bwESjYWmY3EO_vUxby5YCoa-DqrD2Vdb6kaQMHqNq3mSTx-L4Lrt_jYeu2gCzvQJE7DplHGEYqC5-yLgqdP8NxHjJbpaG8ed3eanvPxJReg5W1EKw1F7woPyNzh1KxJPlpcHRoF9zDIOxFHraNTJsI-e92jRiqZNuh3UWpE501g0ePD60iqb-ns5K--T9wbt7vJAk1bKX5Hsd-Bstr3UwCvpKFuCPM_PhCkWy-Wk1MtXa1-N9UBDgkkrrdwmEswNwwfBTZstdfFJ3S1LXDaY0b9n3mtaEVW4abrurwe6gtqixVydTf37_7Wax5CQos_y4VFCwcwinUuvJOywwFhNq_xFEWhek7d5K7_Z2rShPH5HTbFiuBM8iOuzIf_TAv9XViz_pZ3dTyssu84d2bkHBaIIBsprx_RnKF750qHtR5aXuMxAYrpdzGoO3AGSR85XzFcC3Ql51S1EL2D0tshypXzVfIc37cTm-l8C3vxCTcRr_AaWWRNycSaNTknCIPmHSlth5tFNuZLX7YlZO1vEEWkea5HDH-tdhHbV5AWGDP-hALy2bjoLBBLkGSvAw70thcxb4keFjmayhUVw2nqpZlcSVwfhcvxp_kl7bRyA-LDkkZzmAwwJDwiAmUQimLf1lXeiMlbh6ABeEgujt5Tocsc3DwhA5Z-0DyIWqeqOZFziz9X0gYwVZ8DNIj-i07lVuVvhSbT9tnIYi4zKOzK_xFL71C4wq9gTvdHZ1YrHCTSdTb1_C7lQic0705fKhHAPKrJjrl7ieEUCsbedK4zBKRQL587YhNbQHnhPt-VmRpR9GXA8wcSeOsHI5kKBiYs3bt3gagYWKMVVART5IkVO67ThuTpGR12D1m_A93Q4j-hLClByoslr3wgXFnw_fCYQaaVE7ek2eOzkxJkn4pu-0ogjxS3c8g03adoioPCr_zIZ7z0tTf8HKlbrUZTHz1GVS2AYap09htHkHM71AS76yZBlMPgzDohARFQmVe_w7fjRLUmoceJOVw3aJCHAUwOiKwQznVtbFZ-fEWSCuRJHnSt7I5Xzw_8hNleTvel7oCy0bBot2BgLHNPyjaz3whWeDWeUGVss2rlI8xVKWe_LNX-stScQ9F-RBnq4VqNXXlg_58Na45XQ3OwFc5X72qS6R10AYsFLKW6eBPDhgYKLpp7DhWoZ6ZOd3ruG1lBiShqv4ykno-v0X3ut8wawUgHDEwuYQvtJ8uC-cImRz_dZZpyA65ledb0qT1uhTvWLDJ_jGD6cScOk8fPfi9IcZxjuvCVmykWVSJDl4X3yAcUGrdbBnlB9cgWUwDWrjHrEoQNXKcRkuO9G3a3YdJpveNdeTVXZpnkI8kGfTg1UFJyD-2N8FVKtWEE39LA4tmWRr5jhqc2S5SSgEAp3iUFcIWjsdUoTdP429YqKi267QQrr-HGzcBvHm2yC0WMcq5HYyo2n_jhzfBSgzEHzmgGqXrn6GCAaHgJlnBdVHaAeavizE4_42JdTeNfn3IhV4dnzlWvtPtjLKTV2kr1jg9aV1LajBW059THm6INg5SKcVc1kanSz3EDkjP-JC3GveSoZPiv1y3U9cidp4SjdOgYpjNvw99oq4RyoPHzQ9ai_vuf_Bg9hR0erGIS7_D2x7GzImtxqXqfV5YTOn05VXNwvtCQtz9eXhA_EN9DPMQrJQW4Rt9_636ku_Jfu-FkrltLyV1Sa5ZM2HnBcRHtZEf-Ce3wH47xYthIH0lig2ps5Z9Z_8zKEvJwsQ3CbIIp-UmG8l5d6Np1XWLCSn0pYj0xYdRfsBKIZ6Wf7am_bgE1WYzysZZaIldP7g8klPZIv6fg6WY4pRbf9j5l9llCk71OpbLUL78atn3lB4czU49PJcCyhCthPeF2QEN6jPZe_0GW3W-AkyTTflT_eNNvTBALmHzNjIKkPrpmC1CEAuOAGKOhuwGME_2VDUoE6Qx3XHL74Kq2tIZyXX51bATk0igYS5KtXxGp3YJfkQGlj8uLfYk4TC5n6Gbqn4uqWxKhmNoExqBhYxdrJ8cQwMZGOZP1-s-2XJTJmjU2HFRMLY_Lg9_V41qDzS7qplL3lwXOTMRfhm1Z-_WT7ydc_xqDFWaNOi0YvGBqfjVEVHNYD9QIkaox9V7eqCmm72ooe_TQR_K7dZ1DmpzlGFCrdl8swiurFnUAkiwtd2tLK3hO0QhoYLZ0Us5pSKSnBmIa19_OVT5JIb5VtHUXiLV2wM6FNwKti_dP5aRAB2fzg6E8UiqlJYN07FwTGqP_ViDOH1lA4QeBHgqJV3XvZejubUnYxx8zIES_zfAzbWRg1XCk2wSNBNCbOSi8TbuDunxk8KJ9uNSM5kaZZ-WYbt6esLgekmIV9iRmrQPzoWvl44_3t8nBsbAgviDiWFO9aXZ5mIB40pOhs1SZJau4MiwFgDkefGEYaf6oPysyLp8xPHmXGhF_EqDO-zg4-5DOS6xDOS9mVKikCvwRcDTRRyKWKugo2nZ5pshlHuqYLiZJ0z5j51ksK7oJcJuja5N_hahXXcmAxbKyGnfChmuMupwVdCFoqbmG6nngkaQxGGnhxtZVXYTRde9Sz11V_BtkKhmC1TylJpXz8J_EhI9fnjlotBo-h535DlZCANexdnwPtj_A7Ljk_B2fiFFxAHvp41HnZGlhVSUNgmZHpKSqunL9OWmf5jgWmWbK1EgrpqX-tEU_nNJPn1zbPwOFSJe3nBKZkk8QCNu8gi9x5xlkN93DDSOvjQqOh1pRZp_R-nQbVx6mj6DTm7TU4UYo1bEhzvZNhvGeUPOlM_RHcUkR2CxKniWTpzxbvBQrUfH1Qx6VR1c1U86z25py6ZRslA8b4pQLo71FmvW1PmHEBOsZyrg7FM3Oa8bJ5BAnOwh_u7vJN3il2KzRz_RROi2GKjBZuhoz4DkUe-hnu7R7Gidp26NYdZxNUYWoV-jX4bouoM75w4oBeqXQA2ADjNb81RZyKyQrq-RgSbdV0Dc0VqFWDzwy_PV0U9056rp1fRVV9fpVX1-XF9PqJuZazjGlKwAEyvSq3teuS9EvcgTY66ShmzQ1oO0B1YYCp_uRVPG859wShxcAUv5ggwQr0Y3NrAQ_YdrkZOOdS4G22UnEPOREWazEvZGuCq_TTdRKWV6pU83eBEVEXN7wRPyGxj5tXKgOktwjokGhszJ7HTiXL9bA4ZO4yonCvuEdQQmN75zVOIQDPCIyovOA_OzxWrnDQ7fCu1ErhUrGU6SJ9XkWO_VF8zincby0R7M9rK_BihnX5C2YUg74SOcJBWUJ03u6yf8jXomIXcTh-JjKCTCmtGFz1kzfj7-yiYpO8nPfqxRNrniyeOR2t4RKGC-ogf8QB39RARN6miA84kZn0XbJRKHbdzl2kUiS_5R5HBKhNK2DkaNOBig6MGHaEUVaSlUK600NWmmHpTtlFLppIM9qOGMbyo4s9nRXpd9hKLTRUlKz6p9f9eA9O34m1ZcDSgWHe4poRsRr4J0N4uYESk_X0itfKwXcEaZBSMtTq4l44oT6JdUAPWdCfx6PGcr7rypib374dzHlThs88bk56-_IKiBq5COExWptokNrv6V72UkrnCPRJcN4YQjuZSqJ_wHKQt8P6QGIpiB7DvrYL2t-LB-8c0gYJfnitCEwlcyExWVnnT0LZgGBC6OvZKBxGOdbnUWcOi5DY--6CTxaBPwZlgahVeLKwyGFhz0J3iOxcf_SLz8Na9U4bUWKDWPaIg0NHTGZM6wsPyvfMH0ZLQPNQc_oc9-3FRAky0UXswJc28JZu-nOXQSaxWQUkavqSkYEQW6nePTVX3gDsKcqVLVpUHcQWWRycQm2Kkj_M160Oz5k_dFZzO1U77UAKvQYl6mdMvq8eP0FIgo4PT2-9yh6KkrVCggHdboBSPb3i0KB3QZRfzyobhprKtpWd5O64b2TmXaxvazlF8BbDhlfutIeYF6B2oQJ3cVYLAv4iYljheh0fyW8_ikyRVwHpstO_r0X6e7yOhqqn3bTGW6S2csVMzK4ZAsBA8oWUb3nWSVm-apFbWJUFxCkaz4eZMIgjOvt29JMMDyY9ZdBnNzPkwltIXdEvmshCq5l_Lap3oIB4tQGIrDkDRlSPolbbY76vSmwORCI0i5DkYwLeic_j23GMzi4JezJu4rsDmxZQNbio9iMmKSiwt-zaa6Zcbio8IoISwjh6K-4MDqp2RPMs8A1-MQLis";if(!e)return null;if(un&&un.sealed===e)return un;let t=null;try{t=zs.parse(JSON.parse(sr(e,Tb)))}catch{t=null}return un={sealed:e,bundle:t},un}function ir(){let e=Pc();if(!e?.bundle)return null;if(e.runtime===void 0){let t=Date.now();try{e.runtime=Us(e.bundle,{signedAt:t,fetchedAt:t})}catch{e.runtime=null}}return e.runtime}function $b(){let e=Pc();return e?.bundle?(e.keys??=new Set(e.bundle.filters.map(t=>ee(t.slug))),e.keys):null}function Rt(e,t=!1){if(t||!e||e.length===0){let n=$b();return n?new Set(n):null}return new Set(e.map(n=>Rb.test(n)?n:ee(n)))}var Tb,Rb,un,fn=g(()=>{"use strict";Hs();Fe();Zs();Tb="tokmizer-default-rules-v1",Rb=/^[0-9a-f]{16}$/,un=null});function Gs(e){Nc=e}async function Ab(e,t){let n=await al();if(n.size>0)return St(e,n.values(),t,n);let r=ir();return r?r.selectFor(e,"free",t?[...t]:void 0):null}function Nb(e,t,n){let r=Yn(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(`
80
+ `});import{existsSync as Ib,mkdirSync as IT,rmSync as PT,writeFileSync as NT}from"node:fs";import{join as Fc}from"node:path";function Db(){return Fc(S(),"network-off")}function Mb(){let e=process.env.TOKMIZER_NETWORK;return e!==void 0&&Pb.has(e.trim().toLowerCase())}function fn(){return Mb()?!1:!Ib(Db())}function Lc(){return Fc(S(),Nb)}var Pb,Nb,FT,dn=g(()=>{"use strict";j();Pb=new Set(["0","off","false","no"]),Nb="network-notice-shown",FT=["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(`
81
+ `)});function jc(){return Dc.replace(/\\n/g,`
82
+ `)}var UT,ZT,Us=g(()=>{"use strict";cr();Mc();dn();UT=300*1e3,ZT=120*1e3});import{chmodSync as KT,readFileSync as Fb,writeFileSync as WT,mkdirSync as VT,renameSync as qT}from"node:fs";import{join as Lb}from"node:path";function Hb(){return Lb(S(),"bundle-cache.json")}function Hc(){try{let e=Fb(Hb(),"utf8"),t=jb.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}var jb,Bc=g(()=>{"use strict";xt();j();jb=k.object({payload:k.string().min(1),signature:k.string().min(1),enc:k.literal("v1"),fetchedAt:k.number().int().nonnegative()})});import{createPublicKey as zb,verify as Ub}from"node:crypto";function Gb(){let e=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(e)&&e>0?e:Zb}function Jb(e,t){let n=jc();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=zb({key:n,format:"pem"});if(!Ub(null,Buffer.from(e.payload,"utf8"),r,Buffer.from(e.signature,"base64url")))throw new Error("tkr-daemon: rules bundle signature invalid");return JSON.parse(lr(e.payload,t))}function Kb(e,t){let n=Jb(e,t),r=Zs.parse(n);if(Date.now()-r.signedAt>Gb())throw new Error("tkr-daemon: rules bundle is stale");return Gs(r,{signedAt:r.signedAt,fetchedAt:Date.now()})}function Gs(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)=>Et(r,n.values(),o?new Set(o):null,n)}}async function zc(){try{let e=Hc();if(!e)return null;let t=await je();return t?.signingSecret?Kb(e,t.signingSecret):null}catch{return null}}var Zs,u$,Zb,Js=g(()=>{"use strict";xt();on();qn();Bt();Us();zs();Bc();Zs=k.object({bundleVersion:k.number().int().nonnegative(),signedAt:k.number().int(),filters:k.array(Ne)}),u$=k.object({payload:k.string().min(1),signature:k.string().min(1),enc:k.literal("v1")}),Zb=10080*60*1e3});function Uc(){let e="DiTLS15Fkw0LO7TAjtXEzWfAFHy9zGdVPVhLzDmgtLzJc_TpH_1N7u3y0wnmoGqi8Gw118152ZQEgDJyGz3x6dNF_q7OUBdLzeeKuYwykqeQb76IObXo94X-wg0J66gMvUpbkN0TCtLWJwLR4g43P-JMapEzQ993vYTBGoWkJZqTGFuYQ_v3Tf1u05cofhzNExCxlPiaMjYO8lFGc6nAkhnFgB6SMoFUSg_VKYfrIyWNvneq2TrwnO8oLXuVrGY_OzFwj7SXpbwiLUkaiMgavFwaXTVaGq7EGk0HtVvnn_AwBLbhQXmMA7dpv1DjHp4jhIbGV0NMaa1YqxiKbtJnnTGXkekw4D9dk6LPlf1cElJJqa2aEiXcTsM1ahHCKhx3hp4YliBfvn6CzyfVZWuTFeg6KhkykBh0BpV7xb0bdUM1l9U7mcsWRosAGnVvE6Mz5Jy53eUk9aWS_bhfImfGiM9bvMgMfWK0PSR7NtaqzahLuugBfofZ0FOVs6T45-ZsW3NLjpRjZJaM7t-6PyjAOzpad20B9n_PyJGmd5LsatBqpwNaBj6aSu1G4cwBdm_-2q8KZ8nLF7tS6nVlX2NLj1AJDVSJ_5IXKc1XL7xuf1TTEwfyNGRQrpeHZYTWGtmggDAxsyDjOrXFuzqlBcyllsPYMTD9FF4MWg15x_FrwfdlFkkd94V1RUxQqAJ4vK63egTISCkAy-hY2i7DqnNNsqaAFZlJAtx-G8kX7WaMJIPNNVa2KR3677ANMR5HJTQEiur33g29qcwjRf92FdquJbVNWzs647lzd_MHdoureoU1bv-LtwKGvP1PAEGaQZsTLb3DDeh1eTnksf_xCGdFYg7fG8KAsx7Gd9esmgH8RoCwz_xJX39UdvDxBs_Dvg3NmtU474d72lA9zr1AisGapnStda3YO323EeQta4DGOEhTd60UDk8ZHUHU620d6hjue4uAuiwf_wWF76q1Mi141s0wqynngAnHKQ5ufSU6_x7R-lYb65CHwJ2v9UJVqQCY5pidO4voiTWgL3kFw5_gXQd-CxQ7xE2CXlrEBB2NBujPRmUc88sQ-4juk_dmRd0r5SQ7W68ZMzgB7LNSkyl-jwF8fV2tZCUCR26sT1HAgPKKShrMEAdoYrLMhiwIFFw2k9pYcHY6dCd6QucQLgeRaiCBjMrqPCkSSScgQ6t4ysJjoei17Lg-9QA6bAfrFWfwljppK9ZDNCHvBcob-K-dHlBnRXh1dJg7oNa0gt4Axqjdg9e1V0P55qosHV4dHNiGnYQFaD6KBWG1ECm6HF01c6UT4sf1Hn04R_r61Xn-KrztLPlanul4a2I7VEJDm-C68P1UXeCemJm9NK1s6vnD397tPzmBmx5_f1QYEmCFkefr8uf234qFqccJSP26O9W6z6HzDKavZybdPZxZboEUbjjH5tglBVRHI68A1QmjIa2GS3DPoKYjcPuMf1YVvQSXlG3PgVm9tLzhj5SR1x0-IT_pafgHhyDcy02Q4o7qVCsvesMIK5Zv2fOH_eAaYCyvr3RJ-8bqWneRxLPId3w79DRkCd6-2WMvKCDsfwD1BzuMD7ueCEiq6eW883kQ7FbDnDdEIZFunbpFstr0a8IUrwRg_4vsHlQox7iw6b1rolC6a55K_t17aTbzpN0F5fgDAnH2_upWNvDRPPP4jXI_OaD_jddGtp-GBOiSfqfgK-rRC1mj0LOEgOTMn5J1ulomF8XXVlrh34LSUnKSVQDeUloBc33ctiQE1I3w1ETqAxA2N9jVES5OOqYY5gXcGmOB3_yazQlXHXycbc9tE8Q3IpbYP5EkOCudStHUT_yY0DolKrCP60T_rG3LMrKmNCXtV23eovr4IMG3RdjQfWoC8vT03QAWHZ8jE--CGvoxS4_beBApiJpLkwcvBSdrVfyS-8d13pjA8iQOFwkNTynzuYVFy-Gap9xVfOewbymthbGgD0_1NHGTgxiL5uXlsLgOppWYdwxfTnc1GSditDEsfW5fie-2JcuTayJ3JgtCNn-sQM6b8Lg2i1IXxbG21VyPP2WMS-E6oLQywyqQsaRnXYT63VBtMGvMk-sRqE3xeHaKdEzMD815FOJaAUqFNzOGOUl6mSPWBaqNyfm9rzGtvZddNtWag0Sh4MnewRfwUcbIHXPnmKvNo_WzQBfwsDu_D6kuqp06DoTpSVtUwmvQtgKU4kaY-W1B9NORVPtq2bV2wVHpOg8D2xhsGXGQZSp3edJqeVL3ELGRUkHcWX5Fs6eFEnlcvjRVx73lUokn0HaSRE-WLcxadEC9RoEk1c-YGPB1eRbONmVn1VZpgMgXXk7GI0gvrVxT-I1Z4rNlArnmGtQgAOVKPAfglPdtVNb6QL2wHPo4JMgSjkhwIzCqMCtTTE7WDStC3WefHrjgfv_rBrIidMnaVeWwpCmpxFkIaAv8btjbzBHzvMxP8NHO5Sgy19rj7HMJTQuiiQWet5syV-fxbkVI2g_ZA0ES8AF_KEKMtB5mpBmWHgrOdLaZfbRORWGxrLc5GWVinaIg7robq8mBiGrq451HOHh8DhJ0heSZFOpY-Vu81ZNGb648G9008dck144T-sMIzNMIIB6MvXCAp1j3xetU_Zlnx3dtvrp9OuriUfZAFhW_unj9ic_fldoQy7e6_8UjMi6FjRSVO_ZKqbgahLY2Zv3_lgeXNA85fuWsFIfDHx04zl-V6i_ITXTq8PffLzLfGCMjt5Iop5qnLh6FjEha3RhJ7kWmZ9Nj5kJ82fdMOrIZ5TcW6poDk7Yoo5eo8mIBBypAZH3lVMot06Bc18Q7VSIbzV2NdOwCxqF4u40WXKDmu40_MPFXGK3Qkof2jvrMrZAmDkbcLepIWJzsUvZL3lKtph9Y3gay6fSi7cW7IIjHR3w_CK0eSYB9AndxAasS4V0965J2lvLSOXiF4EqVhzWkW9V83yOb8VhQEeA2tk8vI8Quwv2dukNWOkzDeO5yAwtzHt_biVer6rPT_E2XuZnQNZVj_XYk4xJF_k43hlNhj0QP6TvfWVTAWXlRF4MPhgTFsNf_YLG-R9_4bpDbtxpZuV6MxE8SN5OCq1Kgl88MhrlGYwIVc1uCYiUo0_iiuCPgwUfQKnXDNZ_qn3oQJxP80a1907i805WuAb5-cjv76jFGwtWgB7tRudpCPuGUA8CdSijD41JmraUAtyGukuwMyvqBB6suc9tdSUYIBQ1MA5x06gEq-VCflomlelTxBIWafqqdFv6tG857t4J0ZKcbjKzpeboZQpaoFBhUW9x_1ebA-JzLtVGgxyt2DGcGL8fnWt3BNRMXEmWvGf9X0cwEuAClSmNl2rYW9VbxvTbEXBAZcUOtMUsJLPHPrVMzYLoCMpK7GdfC__l3_6XeOxk5eIjFdey11Wwh1S9u9Wy6JQgk5oOX38_8jQNhd6-oxfbI5HGKT4xPDLnO0zfDFqO69KxDp3i2nh7HcIC9Cas1plJ7EdqOzCDZEA0NqJH3AZRrNsVq-j2Szizycwl-uosPQk19HZ8Yw5-zncf_BGNQ6g9YbTp-EkAafvsagIW0DY7VZfdSc4-eQ0RBs0RJ_5fHgVSM9V4KMQ7IVFKJVKPeb_HkE7XkvPD_F3Pam4i9-oWSX-sfIyr_vZP9v1Na7iIssoVO0e-dKz27WtPGmBP0x3iAB4lyRgNIy9ECq5ZLG_Dx8BvKMp1PmSrtvjw1ORWgRQ5JYVCGGlGEGEjI-yzesJRPhfjbnKYvKoJzPdBxK4JSwWt6uhnYV3RbMSZwDQYtaVIWJwRa08oVYXEsKbVYyDCDQ-mNCVdIeUBR4KQn8-ivRwKkSCZGcdiJ_xrT9VVZE7JHqgjF6Nt0LWux1STt0sgNZDcTksrFgjBrEZzF-aEAJ8gMSF1fdkyyVedR_Om7nz22PWw6Dqz6902eS3O5nv9q7w4ubCZyEDzkD4Rhm3tY941rv5PZ-EyKDrah2SWFGpkG2sNwPV3UVLMS0zM9TCphmmd42B3XTXwr6RIv0KYIhrXryVUCNXyH-nF7f_wVWbSHIjhtIbZZJjWOkLs3N0HdxGM26Y4PmvhBhyIeEuma6QWU1QDvkTQLT7rfbgcOmEAZ_P2SCHEDnwNKk56oPZftLpbYoFyovC18Rh4pIMPn9FldmNulY-2EzVGMW013ehrsNkJFeMG-swp9SAG4koqfKGKXTg-_4mVdkvSBAS0RW6JlwMLTP99Tf3L4zsVBaQN0edM0wscoOwmeWda4g8POcR5oWaNp_oxS73Nwwg4PkUGESzCQKT5UQu7ZZNCd1AngZmbNaN92IsvmDakT8rURnB5MZ6T1-MXXY6I7hgmZ8_dZCT9ffool6duR4wy2bCEiY0YO6jj9IjvrB14OxQZGU5gn1mC19GABP8R11aa-K82A_dfkv60uo62GnbHzt7gF6PlPEb4EddsX-ghEQLaR_FdahGH3g1iVsFd6SeuHFIaDy5yIm71Vco26A8vduZhLyDf-qe2pjk7pIIBJAKxOyktmwSSTIznsl4g9oUvdg2fJc3bSVnU791KFxpbkc92wF2mqypq4g7jUyaatFzb1KIj1fKV6c_G7TbvhTsndNxhvd56jbmPCl5tb-JWF67h8hckpduy1U411FqyVIUTrvA1QD-maMKtkFB_NQ3e7KjRMEBh-e-K5DlT9L_Caxf19rG-orM02gZJTn1g-ddHHFsClQQL5vyPWioNwjF40V5D5MaULbJquiNs5cCAVMdwxYT5kOoCIPSrmh_25-PqiTmF_nOSXnx2EvEePR_PcPtBf7h2h970QbNnr6T5OQwMmahE09k2B74YNBMAeN0O9lLONY8NWU4BQwxRyeRBykoZNoH0E0eGZTb0WUmlypM_IvgobL9v2dY7lMw4HVNtD49jPRhyT3EHmLTKPSajfohTh18gYTF3OGuaz729iBxaGxQ_s9GRBL88ed_8UaBByONkeJDrFQeYlyyrrZp3BFtj5alAz_CYYGCynz8Urm_a4AGjqETnPjl1nv2e8V4InZBpmQpFKs90WnmrYhRF_fzDvtr-SigIZtauqbR6j6MRq3_r_7hWOF6OIq4ky8pfTIiGwsLPKqLzb2TZxdiHnf3JmK7GwrC6ZdvX6c63emdr9HNg-UgPO01yrC3qq07bQrro9qkjiLQfR0oZ9SexOJ5Itl-xgYmH9b0fgnrUgitR4oWAY2YjF4oXij_FM5Vhv_9yenI7_KjfRB4bC8Q0MPc1l4lcdzijCxW4gejqpV-OT6O8TdRtgtQcxnRRWNNrgoNg3NzqpMNH7O6WweXPnjaEXZqFGeIIHmtjLhki_tuIgiCRBzkrfKcHsZDupgSTgBgoESL4zVmxoX_jxoDpXcxvBesKzVyqRspXI6eQYn7T7_7l2Aq_t8Fc1fUN7xE02eQKjvVVbUXczEVfLDcW1RkxDTjCw09b6YyiXgyj61iwlNzysZtYAxpNm41xEYmI3HdbEGOOLgZfSf_gW4OO6Xf-drY198Ncdz1f0ujrQ8qqQPfy50biD-nyILBFI_2xjBkROIMXnFTXoL3Vtr1T4-eUyV0vBqg-VJ-HofGMGZ-BxRGMQd-BvAHIgcNDFX2CtGMFZxy95SQcI2qKPWxc1dHr-oKjuxYjfvgEdIIbppXGj7vuL9Q4pGy-dvVy7YLcbpGVbWB-UQaoNgI-Ai8V899DeEaAWWrRp4IlL_7AX-PbbFroygpA6d4XME6YkU9ozvoVUd6JYgq1v0hjhn53TgdQXIa3gSgMneXsdgWX9S3tcTA6qKkUF5DFNIZpwPDy6elDfMBr9mVwcOXlB0LVgekTlhf27OV912jgtJQDxnaaZoHDI_H1se9LzstVJosA_WdkZfaqPyEu_HIZoWltpUlikuRHQOkQenFKQ2bi0wqjk7Ht7VuuFyolTDFQ_iRCy-OUwI10nvsGCvA1UX8PZ1-9L6c83mbllinU3tnzB8tHPPSnIblG1rGj1LDfRmjbAWxVe0S74vyvbfxe5VuvW7DY1dDY0ilc1KL_xX0sllx78-oDCRLc6FoRmdGGCWENLEeJH5ObWrmYFQ8qF9LQYKNC8P0hi_6XxJoq704e7sb6TeeHI1P0yxEg7zKFygKpo9GJXqgbKVwSqa_YiIwucfddULf8j_Zn_3DzY8L7u7Keg8KqoBE0JSfp7Ytd6xBUdmAclopl67uUzqzEHcytlghvy3MBSIvhlkAKjS2ec-ofD4QqpdfN5_FamDT-2JXFR4eg_6ZDUV_kTOBQpmLjxjjGag14KqioK8BYJx1HBvOhP2M5EpBX8IjtlG4YjWTYLsNIAN8dZny4Xj_xO9G7u2kplsWn2MDYb1lstqvQkcH4j1dg2B2inmYRUTnlB1pSnHAKZMG3cd2kOjYjl-yMZfC5XOBCYITMfor98_GXYHjIv9VFZq7Im-CA_sJGG3NrVRpbmwpRspZzt0Pn8czCpccLftURoldIATAE0n68kSpYhYQuzrohWHOowx_Si2utOJ-gSXxat6vrpJajzYn5u3Z4ChnBSQn82rbDZ89PV4mnk3BzNQYjSa0v9kbaRtVx2yHp4QXZVQe99ruVyBUiDXpd4idMJo5slfu6XPj5EtP5bkXLWvlANH6APIJkXD3U6_EEDs8Kdtj_SO9sia6klskUz_p4W-mdYtlTSM86GX5kSMNBTLcl7QEr3dIa1BK7rheYG1_NsTe79O1yFHjfao5CMftYpC4Ksq06VFCuqmKbGMgqUr7ICH_9q2A-ittdSUGwJ4lw4MItYLhq0pxl08POiAyf2xa6RdHedEZgmHewsMe10RZR7Vw--f8-6L5Wa7OLCQ5XrKnHavfX-TM9W-EBok2rd3u6_FiEBxfQ1vQNcEa7xLMf-sWSuaO7zrMEWIHSqu1PBcMO1bTgmTM5EOyiUWL9Ar8Rfkr3QpBvEvJfcDlkGytIG19sGLZDPON8czPa2cJW5hq1ezBvhPv38d3yE-Be2hqir48bDZYB3Zf6jacy8jJ_5rdvlMSLwS0IZ0x-JBzQI7P_Zg-1vn-o6q8hWIVuYTx8hIaFNh6H9Z1zugYE3NwUMmTyThrHXDLYmFcyfO_YHLTH8qgp5yv-PhIDQRyKiJ0k2-gaXGxee3vkMNdM8PmFX0SE2mSHM3eZWaacEOL9fLtj7knXO1H44sUd0L9yt8vcxsG5TUd98bV3MUvWhmovGpvs7Twc7bCWf5wYGo0drUN1e8NHjp5n3njxKuqjO7kzPn20AvVUsZxnkt_JGYypAfXqLIrXy4ok32xgGBjSWqBc1vSp6c_hO-O3Kv5RaxgTMk_BRkkKQMZyGNxpaV7GueCywTRvD4mBinuC1kFDyrtm3OA0Zuvnws4_oo8Nw3FyU9EW_hzGwDg9ish3gVadWfw6XXkmr28DV3wS4rWTTWGzyEuc0wnFHPyxCx9H18q4U6QiwvqIx8sq_rB4B7x-5yygnTS92TSYmO9E5C1MT3KPyszqKI49PNHrjqBXB98O1XUjvXlHyUEKZ4IKby6rggzD_NAy-a3UVa7Thk43iS-rWYEdEj9pjMWeDIdMZn6ceNMtLAkLcar_VGMHXNX-hWPQt5o94_oxZNSLEu6EbteTRGzYMuWDEn5v8Ndqfoe3mc4hFhXegVfUxL4KPVYRQ5guYkq82o2XOpwFwcCpzBqYkAHkhAh4i5ul6BtlZQWDtMa0zaGgONCQCWsCbOKKDThXOswQ2SdJ0O7qCDMxWAyexA3TPsYeQZ2_TMszASeJQh-uL6WeaAalClIqyskX0iP5bhacJPowSm9k33yIaU996PSnsD43wIV5t6Fb7dcIVvKJqG3m4ZbjDdVxl4YlB61JZIYHmmnc5Rn1juGgOaXcYY9lwVgP4_kbu4T-cI2HWAhtVmEUIwYMRUVKN5CMvWZCPk6PwCR_CdWhhEzVP_6e7NzkaDR34BkaXltpTMLu1n_elLfd8zJdez17b35CmdO9w-11gkBhqDi9rixItmSIUgMyO_BkVIoV7mCvBqXgKVcF_NCcCJeIZ-aDNGoSykwKwcM9ZtG_I1pZhPqShYnBTTlTopBAz-ajdiTiGROOokXTtPo22VFKTmvtB1dVbM0KNray15wNntD43U7Oh0IEO5CjuXMCiZhlm6991yYNxiIJ_Be4c-FTdGVBiRS1weP7dXYCNZbSs613zQIiStPf6Pzq6vFEYknYON64hoA4XP6qS_52co1CU6PgXqotHGjRRJCL3Fg-o1Az_1oB7N4FsL_mXHrpIvog142v5BpTh7OvvfvPOBhmMx1OScoaLGQTZ5l4Zklw_A0EynE1ie91S3OqCUAzxyXiECMrzYPIa9NHdcgce8imD-gW4USIsKpQ5U3R6lqpGL_7X3xdm1kIZ5k2QNFX-eKZCU-fHZQJFacYqChm6fmAO6bcvz-MCGzuG5lgmYk2PI1sP7HhJgwxnHAE1BjqW1fct2ApRjaGH6P4Bn4EHTKR7OJyuDdo6vVIDJFHP18kuOlf4rwZhaj_4NPwvuaCPcvmNcGm7yWYiahxI4Do2WU2G1QO57K6_xmWCvpETLRRj4lSZ5sjYPamDeSzHMeq7Z_AOq6RPWMrJSKkn-I3t4oHYSifKsrgyDW8i9FyJFaBoFXqRLWVApiZ0gSqisHEG9xECAJCEf17C8sBuT71qRmM5mrBKdIE98lW_GBdMHCt4t8uEWyaL508x5tESVda0DQwE20NqQTaKnKhTZmj6mt8ElzgMLYRCaIMZki-AMAE10450gdeY0OiDzwL133utM0V4SnJ6DtJTgBJ17heN96z3Xi8_JFH2JYOIeXbCgPVkMCjkaZAbevFet0NGtyun80yjnNGsY3PAOdlqO8yeOhEA7k7O5tK9cbtw9qVpwRQ1kd9drij7m6UcXXEZndZS5ybTj6N8cizXz0GFP_pQjD3eYqWdgvbf-0_0Zxb4U5HcjVCsyA6F_LrO-d_tGD04QgtoVNiIJ9FXY79FPj1phiPXYr000zujpQ87AYG_XQ0_87vttbGIKHnZVWnXLhO2PreasnP54By4BJ6xYEqxulzYVWTJEY6oG4iuVoWxtHM33ddocvRBPXjcBgh14VPNY_qr-AaZDM6P47lnDvOr9HSv4z_VdVsAq9a8JIAjOt3FzcdeOinSn9RRhXTYSzobsH5a_anDTHJO44HHCQfrm_8FUtePp_wD7O1ycC_RsjXcDYAjXTUmDiRPkHER3CVG2OylkO_t9uWnyO3-UNdplTXAhLoxrITaFp1GnbDFmP-WkJ5QRFHFEEep0om210VyEQviiPfUNlhwcWOqBq-97jqJ4ykcLPmfH73d7sOEAe0Pn9fXAFmnTKwQk7cyKFMv2babShvd8K1ASu51mlrvR9LhiagF-eUXxxekkjEaxRxDZer3VRJZJDLG1mllD3mtdFf7t8aGRDajoRstP8htD1WGwKTOdc6KGYtssADZaVRhKfWWqxqma891D3rkwqcaxWcPXaK1BTW1cHw0z1wXGZyh1m-K-Tm3RuP2HlIaAYv98LA_BW3c6Zeda31MVpTRZFWjTUQAsZePervxDnanUZ84kLbknNDsVkl_0HACCeQuIFwzB4MeaAYhGB1VMc8a2kTyCXtFG_iVhcUO56N_-QWyl_TrMQh1-U7mnT0sueZAGi3Guo7sA404sFQSod9L9oTlm0S1boZvaC5FgYgJGA-2EAqjCFLPqpVDkBTwwSHgbjqheTk3biPM0W3rdQVkJihZ8I2m1YPeuOdDthjb62blFsZINzsWQjXl6uj9JmRv_bK-F6yiLPuHfYmwcMjkSPiqrSy6dDCPL_tz1DScKWj_FRM0XQ-yPM0V5JiqZIgF6k7Zx9bsRPY5aBXrZ4LFuLD_EVfzjZ0_FFkkz4ixWozXG7dtEbe6VOsHnH-cy2raWRjQ5rlxXUN7U2SVnhq5-0hoqBO1WtBhim7BpjtIpUXPrn1fNHGIHwp9K7-GLXPVzmr4BeMJfE7DHzyLMk_KA37wm3IUD2eGbgHwMVEkqABiah6SjAE38UKQzS1WWyRDz233Pi9E8v0SH4iCzCcmolpcn0NFlIs48aZKJZlm99d1lbHT704WWGBBk1pwkR-_Hkr6ZBjQeGL1kMK-8p2OiBtLFiuV8wPDFrD9enI02LXk8qI0-QrsX4HndgMjnFKVpz4uwPV6BBhHwSyX1NBGpDDqx4DSC0qOs686ADQlVA23ZddQtNeBI09xfWSI3w45IDDa8Av5rtPpopWk2J2v32l5qdofKvpOwrDCju6NNGDqgoxWpiE1djv9DTtNDPGGw0tFSo7GaX24YZ8hA1qFaiIJv80uEhFsyhxCpWt-uj2ECeFdFDBPV8B-0XlGlB7PV52GX3osycYyclIWqgbp5bgc5VNs7DM9cvQEpoHlkmwJcLWb5b6W20cDr7WSjROm_O_K6TxupKM2lhdblvYa_FHAfDoXaiawQ_Iuf2TPbmfnV28GrSa7fk7x7XgRf8u1tlA1L-kCGndM8KViAqJxg4nx7wnhklT0sq_amK-JTxZCh-jzug55KSa77JffBxx1kWwu5WWaL1BADyP0RvCtElPXRS_-awYgXk8loP5M6yXMO6BX24SgWdDd6ZPitioUX0mncxN3jBH-ZDTQ4sEHbiSexpxd6lhiD5N3PkvKE2I0ggGMixC6qm0EDrLQ7HDFvp_rPSN0njtBwHBHUTMIEDOQL9xCCGv8fx4h21RQVq-1D4BHgXQWHCyEgeBBUm-OMv7rn0i1Jd5fQTwOUEATdpRcuriGtsefAyP8A3otIPuTUhcjZO1l2lMmKJsEsaRrzOYOyHfOWGw7-7IkEsTpSg5QNgQZiaVlBz5SHi36E_Hdy-O5sQjDqPAz0RrUc49ZdInTLTWYXW37BQ6H9st2gWjuy6w9yLSF9qAz61cT0sJcg2oPgub_tchSwJy5Eoy0_GDDpgFQ2shyhBDIJ65zzeq-Qvoz5q_LbvvPNy9rbzGfR5mRKAYGwsdQqTIXJcKIJMHBFgBZXkItJH6iKXyZS-u1S_xHsi_zZUvjD6BgNZRJ7fFuEKvczbzjMPxlB2A86oL5fmb3NztOPnyWAJWPurykfNBcMjzjeFgRcGZP0vUYCvI8awSOfUj4lQyGhbarHqlc6dQm5KKnZXLd4Wt2VusbbhnCbyEg374Qkd3XcXwyVRIA7AllgmXk_9SQHAdh0jAJpX0Lmijj4uDYdvkNnCFygVJBPIg_pffWrqs2jI2IudA-HShrSO0xzT8lM4rZZFg7exaTlphgZuMZq753U_T3QDHR7-bIGaiuAg74AFDz5SS4-xDHRaoW3GEp9JfqN62VCq_-6DrvkDLzsLUUrFw2RXNAS42nKGDb5r5x7haXDa37vOyWnQSHs42mddejtTuKl-5WwhNewhX32DVX1bKyQbA13ZTzt8WgUkYcwjmtcfUPOh0xsf9u16Z8-SxSHxP-VuGdBwyYFlxdJjx5Kx0kIiJykpGnaYgVh4OubBKZlj8j7_mOUecbWiMnJ4nk2kVqpRyae1rHDVjOaDlaAjcCcsHjschjEEYxSmG1dgwpufmiggYbkQ7ODuSqQDCPKTlBj5OVZSv8TXgqllWUBsSJ9QXMNtXRsPi-6yWXDnsNn5k2LuC3eRWRn5oAGOWIoWpLo4KNAZJezwQvYwY2GpIlfeEJ2QRR2r6dwCTvhZIw0UcAluD_d19iJIDChGhPS9epTe1B7Id5Q5O2fREnJvWTj6JCrxjrtsaEOTNBUnt6g9P4PJeSDOI5DA2dU6QdTpJ8RJ4V01Ddy521GE4cjfMiEehCEG975JwOu03ONBpKVeveXuQ8R48jRUhflAFoGhSom2gci_pWUiG7Ob-_t9jvuCj3fV9FusNyKMvEP4ve8mqMF1eR54V67DS0hr6oWJXJoOEVoD2BSoKZQJ48q7QC82Y7AjHQzaiPASRavbVtVqpHQkI3bGBeiY36XiPlJ0yJfRSHmWm6GWfEiwHcjcwEUYhqXrSid1W9pMze8tBqD44tGAPNzKh3kU5YTvD79xVOCsppLxCUbdHaFx-Fv1PlzzxQtho-7XtRVoiNlIdHfw5L5FFHYgYIB3nXEc_Fduhcl4oVjfD4eo4Ne--c828dX5QROJ-BCdc6W5tD_7QScgZB5WdgYxDBg-vdSCLgl3W_Elktjg4DcLgN0pFLn4ZVP-1YhM033PSIB1ah_yGFDqpZtCI3B0SnzyrtJljMuJ4KaFPDrQnbfF3cHhGlGJpn8xZs0F9VRCSCBlXRFopP3p0gJy76Cp2HWm1DeWMwYI5m3r-b0thlqSH8fBpuKOsNF2sclXoefF6Krj3_MaInVh0P2_FsQv7h7AmHJueuE1ewyFvBYkP8OJIYyRfX0bUifmKT29OSrX89MQAiQjMw0iO0lznLtd_JbjHlCW6L8S-7ezqo1qSOTYj2vztvmosSFkML2ZaO3RBfJTlI5ItLfwbdjSDv83t6nsS6Yx6OwCyZEqyQh71LpB7Pqq-kbObdQx7SB5oBm7xr7VB5lM65Klz2YRVvm8ai_silXVL-eSVbU5nMirv4IqOAYh_GXItLeMonFZPj-id0vYnDdpw1H5PJxV3azhj8FUDHNp925PPpAl2Tgx4o5o_DAesvAQgNsD61zya-3SY9ZkXraf0tRhFeOhe3XZ8IIPnRprZQv4HzVGFbbllYLtADlXtqiBSVo6zWCjK3Qv4inxIX9SfE4UPWsEwfvlnnXGGYFNBIKwBtNrDbTdtwgN5shO3vVMQZpMkG8ABX_OpfhM1pV-jLyIeZs_Y1hvKGyO5YlkHD6gzvM8dW5DJxjYlJRehoUPAQn3o1-yGkQyMtoNx5OlgKjnZV07rusCqYR7TP5D_PdQUEj3SxqwDgE7SorTQimQ5ZrIOcS0sPgGiZx31UoIX8Nbh9_RyEd0NeXPsv_ypCZCCPsoaFFBn-vtEm07bwGcmiBJh37dw2mEk--ugBma9mb7X-MDdWefYy3t4NdeF0qK2rkGJGFMcmnnns2GoVh_n2LyHlaprypquVAeZlfiaLitfP3tDhsgUmoxjJ8pauWZnFVS5VBY1UKbdMNP9itMgk-NWKijOyTOCasqss4aIIybxWxv8O6BEVr2HpxvEmeFcFi7ZeVfB8Otgfy-5HnFxwosm3cxmlMXNG9sKKflGQfNDbNfPIzc4kMJZdzgqsH_QfudZPpYEVvCzepJlktNidSrBy5mL08inwGebvjNR-u4v0Be9q8krHNuYIBi1-Ix7lMl4aViWxskn5PkcQd1keqwMs35z6TpCwiDEomNqtzngiTarZbumIOiGtBW9jpaKcyOWhEET5fSQthhx2DW1Zsd3wdbSk8OYBbOsD-uavi7NDDiEIcRIqCRi6JzGvHqZNc25DKaJNtR_JWuHbXHd0-WrwZBeMr2j9xr4CLTWPOoYgM1oYHIo2DQRdCp1FG6JWQNODBbOhwMV7LpWRSo_zCcADkJDF1t7QQpYHxWGpoIA9tErKAiTK67_F5-U2Y86goFBkUfTQAt7IBMn-VNLuOrfFLfgX1Gm23W0ZbnaiUYt8EWpwv20W6SRoLM4tWtPzrtv55G-ckvi5cHX9cYDcJPvFWeC2OHObfxt3RmxyPHs7k_DUgzLwOrSBioMM5YZrv-RDXbRiVOjS9vWsQUuU6fkXMCCGXwM-IQR_6Y4XaUOqDfkeraVGnNwfkkjcTWJFH5Tfkz8I5CUhnUK7sBaS_aBTw99HgDn6XHuaDb_hZ2nOuMbYnhK_Am3nVv1ASv09sVnhbMcPV2VEliH2hHpBng4jaAUspBKwqpxvPe9jdZnJQFmwl4E2ifGKJUOmqjymmeYmPwa-0apnVMEEBIR4ng1bO5ycqZ-7_XljcBWgRa_LGP2XfCbwQJVdVtzwftREE5_Wu-C8a3j1fs4TsnDIvl63IPrpW8Lg0Px09CxR6juF1d5T9_2vgjuerQ3yyAAL9s_-qRC1UPGj68b1lDcgwphZhgnSvRMWYuW_nrTdL7Ve_7rvVJIVN_WA8acPAJRjLxRK91yAJey7GO35fAV3Dx-n6ejPW-5V28Jmj_Hb0abOJm5zKdteef_STo3j_gvf9CryRma7Bzr2pxJ3naSwVEFJ1eYOA-oIx7sGM6pHWi0V61vDFrFAyq-jF-34dexta_h8086eHmROAUDqQ14rQ-ZTOzpisetna2yMyCNtPtbkhI1tyyCh6exxeRjgL-eTgh5HdQmJAoFMBok5QLato55gWsXjGA2Xd-LpjjKwvare2pCNfDhkprjOekZZfRtdQbqa5C6azpIanatDNJd31mC-ag804BEijthu1B98LfTa0f0LemCIPl_ysF35578j4UgoNBCwmsqb7MPq1VmKdbKLqUHFOgaV2JCsOzQlxQz8Hwqdcwoke0Lyy1p9DR_B8yxvbqd68TeuSv4wiq4YfVF5Z3Ofr4-JPqOOqiAADgnuXbSfo0OrcTpUUz1ieLTdsZplL8k2EmMcFvUUU4Ai2MKzh1kVce4M4VgTzOkW_kZwBWbgEa7MT98Yto0gphdkZCLZGkgo8y50bZkT_H0uVX7Vvr7K7Ri2AwVAVrJA9pWrZe7-joAFDTagKoUqG1_uR2xalFqC98NVWpUEP6_g2OYcuAdXVV5GSOtRp2h771VZX_InC7ovV9XkSbYS4C2VYn79xjQxOBna2KTnsr6VWXntrSGS0s5DhiK094o5WXCLyMsFJsD71bsxnuL9onf7q9AT3M47V5Heyee_aRaRlrVDuCjS7zVM4SyomMoRcEA2DXFz20bk5Pn9li3-x9j3dGFIEcDynZO-05ZX94VFkH28p__Kz5-rL46Eg-njSpARQajR9yVuNUzPuxYi6exnvvySWH-JGE-tSf4SbD_BOYxzeK-kXsI3pFlRE9uVT-aavrICUBtwcCIfNxDcrmUF3l2Oe11jIpUeVdwJ77tPMwz8A8QjV8igemfenFvyb1X4pWKh1BWNGsiH1OnzrlZgSUZRk_v3ZfyjO0Yuxeq1zBjW0wrkRgWbF9vmklcpXu8uqdVqFbxryTdiHMGOF89oyZEDXht0Hd5O9JxbYUPjvvggAKhYRebtZjpnzD_iMqyIlUZ11JamlLN_peSbXKg0dv5spgwV4V_DYl1UWdP5zz8qQNd4jy2T2TEg7H3HPYkXAQgUjwqNI_qwrwCZwwhmqU3fgX67u0wcK9h596BzRjV46SRvFmj-Sa5gZhVL-fvlOl6yA6SbdNFvgn0Vb8MBgvLK7FTD1TcVuenScaQ03XnKgAKCvBtmhOP2tupgjDb6p9xUExucyUZ7clPdnnN5geAfdTY2B0F1BZzUP3ot0xYZdQ5FTO3zn5FUsUcRvrgM2Qc70v70cQ8Q90SMeoeeSYwn3-9tc3l2JAwtZfrTnzhmZUm-PDSYOvXNNojO-VDw-dO8Bsgth3LVd72ru_zqDWqVjLBNFFFW3mjHoqOPCnSHaGRQNAOaXNt_XnpAuoDJGttBErfzkMOgFfn0vyC6L9RtUdTvR-6QQa3Ri9q5jljVwcjvduVQlX4fa7hHMUjpuSS1e5kjjIcTHxPjH0Xd4CvvaB1U7hNupe-DILjPP0yTmGPXMUIgQECX6yCgRnc7p0d-6QwTkycTG3hPWhHYvt0yEo7hbOUMgYOIORPjsYrHcvQrDvEdyrsW18OQ7d48nUe9V9KFPEL4397LNIbsnWJFIoLNaAkuuyr3RCqYUAAIY9Q5LdIaLSVS7SNas3BffgKvUbOFpWPy3koMFpW0XSvs1wd14x0N3mvqTehEGuOgpqueTb4gX6qpiPeMdQ6uYAVk06zXPv1RnQbgJDRmzbvem678CgBHftTpAGmElmNKTNNkOnPWtxIlyHzyRShIEu_gYZkKbjzROGEbK07LJVuG2TTFrKPfbAP0GG7fW_SIL0fCOLygwdzklmmXewSXfVBuNczOFZ6Y27XU__VsQD34Vp535IVBJlShMvGJYQcJ15meR_6GGetKWhbPW_GO0AIJuNoZsZfYa_N1m7d2P6GQP-nIP8jkvD2dtNgNNm9BXP884IX260FLbddY4HGzMHznQ8MrTsffXYKJouvk1GTvd0xHyIclrwKt1PbiK7D2LrOWp_3ci3dY_qqsnG8siG4OarNDPEfT76-xDOvMefW04VS6eMltFDxjToR6gprIvwNq0qQmDnKrCRwCoMq9qu_2uyeR7kI5AXQxAGC5-6xtXgWFg_DEqqa6Zj0AH2lnfNIu3QNc6bjMSAvGfdvR-GXTnM1VFfye72pTlp85UTS2oSXwF9Nsv83Qn_5wUIFzIYPcvkAHHYcPvCcexyVFP7x8FGx210HqqW4ARUve9AunyyqBLW34irsWRSLp7SFqd9oJ4tiHzUgmrg1edmU17Y5bNYqFHKzDK-mIrwKp-C8VE6RLWDTDe_XoGZdzfK_CnZeyFj8A2jZ4SGs47qQV2HtU465P1KgDlX345H9qsQx_zKPIslZhuS6I-d5AGmiQ3v1ItB75Dzf69udkbMJ6XmCVyDoVuBXIvvSZX_YpchbDYqBz1Cxb0JBRi0Y9gHldKx8QJPkq3lrNccmdL1T1OYf9_odqwfFo_dqm5ZXNw0Cve80AChU_YHHp0hyq7b2O32rJR7lCPa3Nbx_ZoAnf-p3Y3dKAwggJtB0-4gwez3ze4RffUtZKQz98TRgDk6KvBQKKQ7QbPG1mKAQCQki5HaXkVU4dnAKbSBMuSxaagjwxS8C7I8DCCBcKD9aEIW5HHjXtcx62yKK2Ty7uypyn0CS9wpM4b4Ak4boAAYJ9LEHEl4gHH2f5tLQEE-i0GymwWPa7hXkRVe3SY06vxwweUUFYm4OdH9fEWe17ovLgaddNjuvtj-7dqBe8IJdsoeHDRrRMv9-QLGGvgPf4QhRvTMVr3PDKVzKnb1ggtH8s7wCKG7buIUvnaaxtuxi1q4xXCAyLzWenmQCekqAAYIsCS2DTM56K5xiE08rCHsOGmMhZqWxSvtKrR2BO33R6IzvNhWa42wJcwKGK68Frkob6vw4fK9aOhbChG1j70FNVQK1JOQglM3PpDur8YjQmZ7CdmbcMMmEYbKYyVweXpe1sW5apXFCzZ6iR4n2Xx6sBeJ_upl-1KhzBWCmfqxCVi3cyMZckGU_Hp2zfRCpRJkbGSvj7BNlJwKpRrtqg20QYQUFg5pVEIHT7iYS7Kb9bZftyttV_DTiCSr-g-0mI74hPN-VSy5RFzJtcJ5py0fz4OhOTSnR0KNws6u6Y69H8hI6Dk3tIdAMOruZuF5J4BzZcT8wm6FaCbWtk2Zx3xLbLvCiemO0ZsDMjQkNJ6Ah_NNGCISmS17fVMWK1dLI7-iFzUjYiArXG_p6ctFb1gAvo4ulxTKR8MdrwFCSl9v8DNhLjRVZhw0QN_GyHX3yGlLzTCF1wjY60yNTD_NAs-WnZu_Ory4r2Hv6eoGBP1opL58pWEG4aF1noAnyBgqf2nK5rhxqmIdEupjr3LvzOHBqgKqDUE8Q2dazJaCnVDm0fgiAdl3hJYxcAxCWM-DkMUn9QEftLXQW6BAyWB7Xw4FwCN_C5kXiw13Evwz4oQXBjN0Xfyg0tbgm7Gt74TLvAdApWZ32NTGHFd4yfhst_yzldHvPEZswmetPet56X2VG-fVjyDUNaf88F2Jb9IzuyRBTF7nMrh2CXg5iawpwsN62xlAwkCh_nvf6hsuiReQUMnM2LiZI8Tye9R7mor9ouEb8bbnHMmaniVnMo2mZXEZB3F00LNv2KNfJWbyHo-l3FIHKGs00avPXWiOhdNb-9u3PVfRmtYT80obyxxMkzs3iW62dFacffXUp8wEp4AmL2-jEKYIsxs_Wo4v2AxFoKO7rIT4ZvB7rdg8b9Do5KwAO8S8mrRD-xMETvnde_K_p2Z66ZN9PdmhNKY5OSYVw9lwogiq841NfFSrXf05V6qXG_sPh-N3IwxNPZkylgGmeeX5qO2HhuJDeRMUMQv_OjLKCAhO5u3XE7vuNilGIHAy4zTBPfHobiTEKAXkgxzpwAal_BR5NTnl2d9e1mXV1HpejrO0Gcm8Y0kuQlqG8_Wm1kuv3X6uP5cJbkLPB0Za6O1LWP8QUS9BZ51DxjNmBAxVD8Wluzrarw_WmbTIsPsSO12DuiqDUx_dBbzJcw03yDJxe0uW50KgRrd1L8XvEiifUSFoFF_lUZ8cdfSlfk6ET3PYrdnFxy24bzpktlhtRd_83H_ScVBCsWdb0u_pDk29wtgUXniHQsij_foDFPA13rq4KiVpXkbG09hFtRxMNE4Aakcl3FIOgqRLWa7iDN_ZsNIbAFM3qnWY3v6c51OT_uyRpv4eR7l6BKUjRL7eAL4ro1yWiBE4vY6Qt0FiMjNwVj7bxUxjXNRWIcZLDfTgMVBj2K8gpL0WhoVRJBFxYQEAsHhhwjy8zuXBaa6CSnbdafja9hV2vZO3XqNqCP1qezEbno2tSEGfvKlJqXe8nohqbNRUDTP9kv0JfolVVPh7WNzJnicWj9TZDJDhUdR0HrbgPQr0C9LfcEbOpYbtV4EKbdXfCFS4l2rX1y6RkTL2F9RQc_eFZlCwuH3t_wdbNzcfmV6rQrS2M-4lC4Ndy2eS3RhWCw-Up_ApnLUIt1yQxNqcGiR5VVbHhx56Oe5fh7Bg3iqEQDYpTNb43A_dldHHZRRcb5RycDtcs2I6Hc_LUKuOheZ6Gz9wJNvLBRLzxEyi6HiEnW-OPd64RNfXKs0EtbqK-krHyPm09pHev111sK_So0UZcNcw7LwvikS3ohe3C3PfACe1pWcCuCzPcBEHnhSzOiLrx1CV4p6hm9P-quBcU02XGUGvU5SMYzU4fzEIaUIh6uKKRgDKspnPrmLEunNLik6js_xcfuUq4sn0MRcj8etgf0YDI8M8x0uY1eMqaYebjgImOsWCF8uHFyW2w2Ji1w__xZXNjUNNYZhtaWBkddI-H964M8CPZo7aezqp528XXTrGmAYKj91REEQq64n_u9rynw3yB8PNua8q8VjX0fd08L95LSipiBLDl3kGE4YE6tx6ZlavQ0DybMeml8ziAFXx95xVDdg4No7illufdRsV79fuk8Akmz2cpuKt89c5aIhmZ_WesTql86GZgp9awyv6uu7VI_118iuv694sNiJWZUB5jMaccWn6wEYAaeCjJ4HZcE2gb_5lkno50fSmxry0xOnfiFdLtC1-5iQcXtoI7UOqUFfKwhtKhCTPkwbuMxw6mLiVfj5j_cVMtsHHkXKt3eNFM483F37df_IvxR1TTbCUMlzyCaS_Mo4aLKXsdESIiC5CmR133yBZn0stLBVIP3CCRG9qPYdWosxaPvwWYro9MuAsUPvwv3Ml15cUPHwMDPgoaGzNIpm8EQ6BRSCBOgkm5RkaNX6XoqiHmE8ST-dbI5goq6p0JxXPxC9G0TatFWBlI-IS1vzVw-gZ_V45GwFJUvWNZVrBQoLZVUltPmB5uF5iNt_Qn32wOcpuq6i7hNEPwYEIQ-4cI7sXzWaqRFpRxWfmE_6A19mjx9uWh-_wwvpMyTYyAomXgJvDgP38POVCUR5AYmHzbH49j9MOOefA4-mVCUVoCZ9OFLCCNh5gyAdb80SOf9_nQItgCUZbU1BP5rNe48Qv0U74IbEurL4Gk5bw13JGaKhjbnFiCF9wXybWyhUW8WNT1W0Juaiw941VoaV0VSR3zyWu_hI49fFS49QXAT2MtMA-IW2aVeibYgSiU0hAZtMz3VHPS-N9q-eE5s0W3je4fue-w5B7afBFtzQjmcAqtohSSVjO0riIRUUZ5PAYDdb_NhjIOotLJgaz_apkRAtT7ab5H6rPT52xfS84RwxPcFdLyqqAYiPwkMwr8fSfa9zxceMFKe9UWi6Z8Yrg1SHHwbvlPAgBfl71b_Ehqr5cviVARu4nAOZ-F20GlXamEHY0KWwLNFDszjI_cDxdQKM4AQSObEooZvtD7YMAk2UcyIgCa5XCE4uCypwFxkeA5MiypGmCtMgoeQAIn0djIgmgYjbCETz1TyNQUfO-VYXlMJOY4pKxrQuehzoOzGQ5h-aHtENM2fzt8qQ0M84OCdxFcqUA8GipcaHzkxteCnbaSUfkyjWm8vZKjACdX4m4GTOF2JkuJlvN04PGR3ZoBJgtGm7K5GHyf9BAeXn3sdKo2ErWys5vkTYLi87yNcyiUlr2Vdbb7EHxkvRp-1W2GxJYY6QsJA4psKUGSAs3uBMb_Ydst60xuEEfOsTS-zXWaCNPuCN8YPnDWZWiaGOPJoQAu5KqtpdegIOw_TxcusOZ2EmuENT5PKQK9PrsAJymUjYYBJEc9U9rq95zSQAy2ZfM0R-tZ1ifi_Keb5CLjQXzgPklUW2WLzBkSjnAvRDLUXQiCAqN4HONUz0he5ouFYsRz6MM-LoT7sNHWHYfhzaUY2D2Wtz5GXRlUVmh4zDn7aU-7eBekeXiBNWo-U3NVPu4V-IhQ6hYwPgAQSaiEpy_LhiM1MJ_UJy_nAh4jBpNb8X5focmuCCqNPYwsTAPt6eGJz9y6fePbbnOKrOLUXR-pNriEFokkpnFkpu_Yr3KgjU8joFBB34O5uETtCJEpUBHBSlVBZD3cC3iedDehpzzFYYX7NU-IdXjdONdKqZ5fAPu_fJ1onXfAV2QywyVWSDJh-ilnO7xIeTHvqplahIO9b-D5eaW206sFCg8xtK1xjvgl-urpZ3hsWeiyzjra0bhYCTtGW7sS_1yAVDNQKV3-NY4qZaW0-c92fMpeLOElO-mRLKdLpeJ664gwwBKYz3s5QTuURb8rMuyXa33mP8S6Ax-Oi21AC18sQNbjryuPxllm7enmI0AxaEVdjL_dgYU0vViHhHYfX_ZHsp3VpIBavslqdgZozu7Bhi4ZsM07m_U5E-RV5UMh2Vm5L61dq13CqSKqtleTK3P1FRNKoVomkPJX0T4UKzTqFcPHYYBtLkPhtOZgGry-WHv07nki-1-5QXCQyuWSva7DFSO7Q1CXI0fciY7gmVzwnFRAfQXDAtsDO8eFyhm3JP3h8gXhKzrGrwUed5PhZvsGk080xa5Qpt1VDxvePlGjWQSqBXt5vOb4R6uytwSSW-P1TFquxU26FBLv0qp7MWI6QgnslduXenpUcdvGdCGNHkBozZ191gKydk_cATxHtihiprpwOYCZVcu_L7KGANdWyL_iOCLNQ8a29BBCaGcwjBZtBTFPw1pMV7wFVzu_gGw5MVrpQHKQKB4NjZtXMPOA-xJ9nX4WyreIpIUiA9bp4hb-tI84DH9N6QvMjFbsgVPqriBKD67uS86rlnTIaWYv3EZeXpthYiAWsispkjL06Ug1shAGf4ayEMIbBcRibGUeRv3-Xz8gz_B18IEAgGHbFCNdy8Sg0x56hltJxUHyNuwYfmiAIeghM3ZxwJacT3z6SsLo_AwwCbGVmFzQlIHHG5-22TiZRTWJWC7OUTuZ_07AYxTTi1XXq5XfmPLzVSj938HmOFLaaiL9YzARcimpvT9tB9UfkV6A_k1JupVfAZkNfDCJYc5YDsIJCeE2jCakeXrHV9Kk8aSBBa4fJPKi7VNIlpllvbgZcBo3VQHVlDXMiZq8Owby2pVBDu-RTjOt6z1yhXN2T4urwUIAZwkOn6uuZW2E3SXECAlJdl3Dcne1mRdriCFf5_914TM62lFTUymNT_7fMA8UNEJECPZQ41leiZuDdjqAv1xRdbE7hQA78-7Nf0MfPueVDNtgf0FwdVjts4sjgIwjb7QavySCm7MwBVmTjFQBKFfV6V-aLY45kqF0_P4-SdRuL0KaJuaIlI39wg2j7S3ADcu29QZgkWtmRVjtpDYzdWuILWBByXv-Ghe7_XHdf1MkEowc3sli_6EFVLu7vY9iRXEpzTSC8vYe6TdYDRwurSPQkIYuaJTGjxqlJa9ZTbfcERO-Z58uf5zuuswqA0LSbAcBbGr3EE1kV2eIdqFPsFrZZs2vfqTAddcHQbM8ic2Ed9b6N3HI4aEuv47QCB1N0BfWsxJiydjPgQJQyrYJnZeH0Y_IkDL3djtoUgA8TDs2U1wuGDMequfItSqpoHlPii_-MVK8iBg_gwhf2xGdGggbFi1f1CNO2wDtSTnxTVpqj5Sw5q7jzsKQt0-rBrWQbuGrc8rdOpGraKjjTs-OWnKiUKrFd3W9xsjb50-ZChJrmXeDn6sxfRwtmgqO-05yf5v6-L5rJT705rc_EeiL6INchzU3n6E4Q-qz8sKU8oq5oE4qN8ocZ89LxvPdM2tEHsvf6C0JxlhD9ZIY03RMqoYfbBxnxuOlKFZwRaL-WmsIuyif_iB5tVGt8h9nQpEk6wK4cZbjy6fnyazstuspzeMlK83GFRrmUsCPLH6wJ5nA_9k-8tRPpmfgrPamGaQLBeGRmgzZ3KytHChrqPHEW8pOT5h-qFGLmKDqw4Uw9H67GCoXkhHvbZblI2LyGijlqLOqiSXJCGiCPZ3u793znKhFd5qORD5d6nHcsKo8G5y93G61l_27vogQHPQGCEkzOBOshYV7u_cvaYpZRokipYRAX6wn5_dnJs6lGuWpxUdQltyzG2THVXIzi0CkDLU5p_BiXNu8MbjL3Og_JF-1FHppEh33jhujVidGsfL2gYlwAOWkxAU7sg9CdSMQ75IEoJY6TQmtbF-lfmoN_nR8Aja3Ea71oFoF3pkzU0gWedxdZycrBJTqDMnXEYeqPN8vErx2EfRVd1Idrbbw8mRFx53QAOO9IJNZ7fH7Cb1PXh8HhwVH7mqFYA7aDVM93tUMf8ySU6Bi-6wiPD-uMVgLNjOUnk0T2VxKyhfT3GXTePFJlrdoO_WWzTlFpVV628T5Idsd44rxq9f-IWr23XYq3qUyKoV_tasSlnfGHdZ2oAXDUnBPEeeNnxYWC5M570kQUzBXydCJlF5rIbInoZUMzssqL4XHIO1YNCPokRgShCKFYRsbWjJplvKJbhhve5AnctV-dL3DfZ6jcFTvERL-NC84m7BSl8IbGGf-uoivMGq8Os0Vq43zn74_v8IwZfd4cPldMg_cvtRvFbAJ390RT7KP82KyWrKeHK0a7xG3zFEt_Q7hiBzVN4fYzzyfg74QMnZ3b1ddCngW74XMP-lXLhGpuTxbOjmGB96MaIxWOhAU3z4hT38XmRqKbB4A_rGYesztizxzvZrRJorqIY350Y-zKhBYcpon-SAkJEVQWM-hbthbs6V09lbpLVqCp7XOeLzqqA9OqxRoZmssrxglX7sVWcRUoU6MQ1HSh7-rytl9MGLapjlk-dGNmLsmsvpIcCyzFWw6NghKLk86zprpqnQvTnSe88iIObZ1p2EjjzfToDdJ0juRIeRibb8vho6YFMDY7XSDlVAjWjVhfv9J9LfBzS4Dt21kbNFrPRuB5FUwHCqwH_G6XAnCvKaLxHFe60mjJEml2962yARChr3tQsKPwdJmhRbXPO2zD_iO0OsmiCWEUa1KRxV6EdQrjMyQOF9Brhy6K0Uk8y3HVKzdn8fFmJwS9WdzJuwM0sgoaFtHc8Cn6hrRVxvn9cAT3_uQEuVUnscXcXcSkJ8UihSJn3Ae9QgnpuwwPre90oKshXUygGw24rznm77t_8GHWeGxRSE-ql5teQy2TNd49jnY93hHgAfWPq66DK9Gif5XOPYbYLps7WVoMXiJmcXZaFNt5SY8UdHes9F8Bf7YB8BR3W4SLIm-ZK5IoDPA_rsU8Yw8xUwwwgIJwyzX6ehxl0dGqab8-ww8LQLSnRN6erNY_muT6UtaHn7ws5jZN7Hjj_Js3j3ikzo_JgyZK-kj2m1NSPnFzhnJnD5Bp4bmXlL8guqWoFBzjWPtR8s2LkoiANh329FD_q4MyH5Xx62v-F9fGo3v6tanolJZoGZO6Id2hGgzQz4yoVz5-HjrER9AT_nJ1D1kqH-BlszEd0MAflEbSW6TOH_gmyRkAjHVPXhGek_S4MTrQh82yHH02HAk0Acs3Csnr9IjRA7mPGUC8R8BOB11r6-iyh2N8gw7IB2tIGO4j5u2g7M2TSFRivJ_LaohfYdXSPd4H5lwjRwt2UZVEEfsrDswN0TITT9m-lLVP1TfcHljBt739vjdHkU9GXfw9mqL0c94hH4DEWUb-R54gZhVfQ5RvAhj-TQMdJPvzR-m6rVZM84s99bMJ_mva5s9wOYr25it-4vh4JaGitHzvaERNjjqph86gcYk29ATzgchPPcxYw7Y0Y6qyQx-KuqFk8vKghUnodj7k9BlRQPLbrXDBYXe7WcUCBsFY06ikC7dk9V3kncR32QaP6d5JRQHERV_-0opCeZiY9F1nhKXoRmEeXr4I5L5UodcSRSSi6fGc2z4jHzJQ5P85R7FY8jClitguUoY4rfLCscK1GXFDDP4aFs5uR333ppL6vMzHtohsDktrzZ46e0QLrPHLhzJXtoU0IV7Ki_hhf8ywW47vRVwfib85_WDjAd6lV2rsgYRG7uT1arHe8UkFpVTljTOfkDTeNASd_3Lznwk-cT4AcNT6qh16lKvNLsctkPb-yhi2gYH3c2oWc9ZToKQeOfj2fz1tHdWwrTgjmALFqrFQ4U74iFpDYhYx5fxvKFst_4cY5Fv-AuU0cFjC_NZekV7NRZEQKAy-brSA-a9HCbXuKZ7KDxgy1ux5vzGHw91E9cRgnWlrO8xVYWl_vd5Mrooj1co9Hq_skEwt13zoMnsqJP-hH7t4Ld4ro4MoAcq6vjBn2yC4a7YeG29RumhmAzcm7t2S-zH-6-lBIenHv8ChsVyQIhPSeX7WCn2qBStwKsPmmypoi7FotQVxVwnYcb0uaXKuZvcQYhTqWRmWbdC2TU31xDrxMwvyCPaWI9EvB0EUfPfc2MLv_PUbbCVFITzy1M1USRykZb6GW0FfQZy2Xvfew6W8lKjV81iEGwW0brb3rCIX1NR3yTPvvi0R3Iyb3W6yKk3e6byl70eU-m4kvCwFJ7nI8Vp6Vg3lvE8srWD7zfL-WYARG8ZwDKAX-jG3nO08QjanNvX3M8GncX5UdjLO-HA6t7w4fpmgBb1CEzKqHGS1xaVBzasa6Ca5gzHJr_3HjimEOb1yuVxaczHclwKPDAQDRnL9hpcIYqsOky3hjs7EnREYmmad3zBcVBOkayeqwHKBE9XRbPdYUezAXw5kDq55EpdYMbalnh7hGu7YQG57g6fnzwolC-xW94Gj5YAO7FMsmzfXxpdbIhU2aBpRRmpDMAQCPyrBMvY68WzhlETk4Bsea3afpSo78BqeTCOIwKNop_pBTkvQHEXCJzL6UYImvDZwxtbxMu0Yf2tqnGet5r8DzWZfITb97bY8MUDFT7sTR8N2ALcn1UMuhcI0DFn4z5BrhX9dZop4I6BEAOe6jkXJtVeVfULJ77t-tmvhytu_6M3Gid6klKwVPzUEEW3UrR4_q0GaBLgLC67lkMXGpL90jYBq1VRfOXZUOuS2yeXd9nUOheg9rvkAwWpZORt29PMhUtdzQ8QATvbOhr9rQf1Fbkmjf2Tzoo2DD4Q3SaYEth6jbiUQtv1g7koNn7sNv1rjmyZ07NqxGdxkJS9co4WH_jdBbX2B0w3W5W73XN5-CaFYZIqGEXWg5_4tN6P3cCaEE6QX8HlXQkggNIejeaLhWxOHvXIVCBhtNHnfWKzqqZHiYhfgAMOqqdsRXTjBNxqTbMf2yvmR4deJrb6E99FiFC3QJ9NwpxQ0pav3fPgJ8S9hK7HlT6ZDUJ_CL7VH3X-JzHn2tJyLJ2yHx08tl16aItzRbeNcFenz8zC-iTocEZ4MhAouIPqdUloa9lukjjid7_QNsRnlAeyUsFn8pCiEz-roA0SlilM2DKlBYMO6epSKx6pslpKW4WNTFrla3FLFAd6MBUqn0RcTz2zGF6jQ3_pOTcxzsr5mbD6ATYIJKCwAecuuoBqyv5-exBrlKzh3bzULXwMONruEd-tvonZluAacZUqiRkyKi0EaZCyEvn02r4TgSCOi_BSw57Jd05knZL2TQG67IJkDE-5eUtHNtLp6BDjqoM6TQQIsK4W3HUQocsboTZ2Ok32LxwpIkMXjjyEe1cdS__0MU-jPc-0L5xqPmzDhwKOWDfQrsRNTKp6CKIj01Zq7o34PVP0TXTp1S6I7YfoTNo38ua9FEbpGadPOILuaWTHdyZgcaprq-xyVlk49rOqFITKftvdmuvGgl6rUlCC_RKQsq-DTj-A4I8qdn2zkgGX4uLi9sUiQOPp8Zdpy_YVPHSmz2XP3Lg19U4YCemyeQj3RBGUCa8raTPGNrNlS9_5DIMR-kw99WnTjEbbAR4mHzAXlkSjlGm4PSm7Xc5tWrhM80URfvHLEOng8Wo9WF2FZodLyt4mt9Hc1tE_zd2jl_b-CcfKdCSh_2C203EnIvZn17nxx3CLkdIeN8_g6UxIbqYY43zO58fv-p_NmFkz0YqKYasS_HNRgInzEKOWr-YFU52Xh2L9ij6Zg3Qs7ckWoCLqOxaG5_UBdra85emD4KAlaV5Nnkbu_KdT32Rnu-7f8rtBENSuAyuwMj5xTsgIyIMUp5he9be7h6sajujxVM2fTrBahJfv50f4jd8516i3zCwyWW65E_-I__T25qEML1UR340JNkMJzgvtckmVunXiEhIM5SSeYOewkaL22iZDbMoPkOwYE1L5O7ogi8LLvhjggh35K90CAEfJvnbWiAM-o-_UJsNVRHXA9qz_0GbcMgXnbc_3QSju6KEfdLAZThGOO0sgLSb4rzGoUwJNwLFQRPTlPn0lH-8Em8Cbndn65jJsQ5l-w356i1bvjvYo1vIKOgoC7Z2C5dM9KpTCxPM8SPVjDWM4FoLv3T0k40S3oMegsiSM_hFxpYNp4uxGX0BcLfNCbC2bH4Xw4mhFps1N9Hc_GLHGn6D6FPgXTcoZKYiLh4sl2lAhHLBOfbEqLApLniUakc_j8b9za070OP5mq7SsgMLPQ1JXAGSX_Ux-KhFvk5_gn5Ctj_5sb1_8UROMirtw6LULmjxeCpGnPc0V2j5FGBqmYTDjnjX2nWKBHNRN9y6-SgOCA2HcH_men_YiJzrxBiLky7VbxQh29d6JMIc6k418tcSJX_EVWxpJXO6ZW2wt4AGiBgDCZJBXUCBx0O6UlOdWrNreaOvOPgy0Ocgndn2hRO2WC9HvDdlVqXt0Rui3aVQ1-ClQ3mvRhx07vO9vwtuu0TMBFulrX0hQlGYMVnXV-LEZBk7f7Vqq7KwlNl2oMU-PdNCdyZsp95HrLMVZ4rmiHE7kXwUoWt5n_F1WG-hU6kRyC6bUeOlMJcE4NhPYupeiG3QISw3gWQ6zug5F-CqxSdv_8EDeOtbTZDlV2SEiMg9UQr-koxsVGBm8wbZVelwD249emwvhDH5g1UXkIotbp035YE1TZsNMEY_Izz3N6YWbolWPLRLiwigD6igdr5291-rR9J6cU2jGdLBogs7EAhuK77fZKSNiRGHv4nsP62ezn6UCQMxcrM-nUbmV3mTeq8uYEJCnN47oi56_0IxXrV4FMW047-020n0bLSeQmIWALTgvYhHm9VIeDjJJlH7a8fvOpk8UhX8sZmVXl_B3HnetwV9FXiGBFW-ve7pzqxyjZ7GylcKTUrkGkISzxj_p6S76IIFE0K7VGMyqE6ELBfQKA5OhCxmlxV1VFOGtlE2WIGeWSX1R2VP2fUEcx3m2vwozUzxVs7syWQZHyP2hJN2HAn4i8Ybb8gnJDJdm8bd9QvjKdNHGNc2HChkHDJyDQeLgzPVRzUyu2kmQI6VRqLi3msjXvtrMeILjHVZSihoJ1Im9N8sS1aLOjsTsyeHldULXqj57zi9_9pe4gyskKsj1lvsy00u79BGZQklePsDAfWEYE6Yr38PbPEBEXrqrY_gOKujl7ifLZjhC5kGMeh2DpttaZMj9jfCQuLNCV99xdxPnr_nFss3MwEnElw3cKZw3a7d-q6_-ITq4fmx_k5i7oNjwmWjmVjW9RncORPVqDyq74_t1ENIfnCgXRoeGxu8MUygNCXUM5cjCNI9L_Kh27hpaShztqKD7dXOwQVYED4rcRQZxojxqPCPEGNAbhaNoLLii4neoqXJZsez8hTU22rUXK1AKAERHnFQO1EhVrjGG3L-JzZWrRg93A8yO7iUhAYRv8JxHT8q_NWgTGoWUOzX5gmib4Tpo16Ug2ZVSSdeqKaX2Z2weeJkcONCziDofvJY8zyy571j-A8OWTDKKK0tWWPCka5YBSGRgEFhBdbZKJI0g6SMJ08hb4FwsAT0tcGY9vaXEOA8Cnwjlx4C-WF6LqMiZljh0bfnic9c_zNTnFAqaTnFDH6yBRUg2oH_706pZIV6-HSjmmdbo94sJkH_V9Y4oAzeocuidA9_eFmDuDPYfvlQulW55nL9faGA8qlcPX2nMeSfBphcXeFQEQ-lnLuwcJ1L2OLbozqLb9U3RVUef4FuWjMg0LKt3f48SAyqC9VS2injsMxzESjNtgFYIfcxDYUNQEZX_kqC5ZKGTs_k09a1LsDRqMhS8ZgE5hnPJTzyj8BSfZi9ANNTQ39STj39ysd8bi3pEvtyYN8_o7W9pXOT5CwSjO0HYTj9Zmf62RQ5UyS-qKZpOgOI5yYjDvAkgaJ-ELjrA046CeNyRzNmloF-53kMqnX1jdjyL35gSBm440xPdHdyE9BVvnpw-RcOcsDMLwcbm89cq3sbUIGP1uol7-MMDb4XAYTEQVJWuioGxT85tpKV37zKeXHX57jJTm7fQwV8h6EL0HfHy1IDMmorQtFmXFyXmvvtSGoEmpKCqK-_HOIX0o_vhIEz2IUX3HKNr1G5PRgElf7imA50Xm9duvy_Qh9MIl--sOILn6HDLjVoSgrDNdjuskWTlXeFue-g785vpJT5NlF-qNLp10OcJBSE1u9_y30EkOo0Yijl8fZ1BWLz5h4FbKpYJz8b5hSSdiQuXiBeq-P6qmYp6uXoa0-nNregiwRS5OqhB6LfTAnSDRHjJKfsRPRY9reA8WlTbva9id5Y7GMn3oQ0ddS1jc8NztxEX8Tfdz3y2Pk6pwTUXqNAqEH3ADBpbahVihqMymS86WuCH1WNkuDc60aXwhpDRn9r1dq-x02chXNKTW7kHsIAxbRUo6MHazHz_iAHauK21-dOE9gQAiPi_B-0JM5ybEHpfhJ9Uht2l0uwdwkWF8JpqOnF2ewcaPsbaWQ-pDqADTRdxH6B3755ZoNzky_JLlFmDp7d8eqzhosA9bODQPI9ixAp1cJX5tmZ96jP8hHYJPQL6OMkhVXRsni5lf5cAykwFk79Q3x3aPRZInDUjZZeHYkCkMRUdeHqw8oi3lTs4LX8ZJVbHViv9bMNOxHxS5abYX4m-czi5tQAPpC-nI_BPVeesUl6fHhrhyqNMfOIuKKXSzd_OELR3ue7rNZ0ugbJDM0SNKtqmN8uiNZxMqk-NYj1S7z6WtrgtZneEe1f6lZ1pRczNgWNbVMa4IW8PVmgow_PAfkBbmw0RRla0ysDsEo-cufNp3rm5Y1m4ZMjt-Z3rm6i8Ne4e2LXCDCL4YiX9pldsSCD6n1zRP0gEjXiRwv-pIkbvlnhSyEIAAM-z_LGwar7bgfWKxvkcX8Kg-9F37sBc8fG_bc6lNbD67shJvsgiRae-Ifi9pkcGDVo9-n2-7tnrIfWWjsITrk9-mWJq25ro_DuGuNI0uts0x5wAkU1DPuWF6eiO78pRA6LXs1dsl4ILEdt_VojUb1Nr1wlMXH9S_S8QQajCDayPx1MNEQin4D4Jby8eDxKvxdV5Zv-Bn4fXxU4uLGIIMDChxTsPeJ1Cu5COtDONh2EDbjiPBE52wtYIBoDfH3JbKhYeV1aTgfngSPdSlf2H09L5smArooelnPU4N1ysjvvKwKC_ACFw9d1E8i1ESgSYhK2jevLpVMx2L_8jXG6Qy13oG05T6QrcJb1lQ6BVlgAVwupAD1cX07dIttqQpDrS5Om-cxWf5fRovVdKYnWu2dTpkvAcaMilqcndKGNitKRAp_03Q1R7aQJr2AM0JzkRLSx6VEzyh2eN-7yve2A7yBLjnViaLmilMAqWrsnZSpAi8qUTnSvP7J7SPQOKCW0us9rqRbYExrQEnf6t8hb6g6QfQzmkw1zXtEiCqQpgA8NLoGpu8MFVo-7KU3UURg-UInc_3gU02RKLM-dCxKfiGzdxO044-U0d0MU1k8RQtlw4t21sORD0MlddTah4whpBrKQdDoU3-aCWynx74KRurDMcgEFNQKp4q99Q0Y-w2P_32t6Qehdalv7X3xOSyFCGwlJ9oCOStlKgQ9ol1__JmbLxZWJh0ySw3fJ65yJBaZmBLH3jd26zfHRNhRvXNSvpTkTtTFAGGXqPrHIhkQjzhtdzNJb9xI12kvVEEDeM9XoWYdpYR-80zk6uaPo8BRxzYyo5Z6NLlWw4Gm7pE-BryFIQi4EZwvMCnYnRj6HqhkXHR4WX7leFyr3JCiF3W88ZXw4_vkK7FpGoVjzBncxqFoyqSnu0D2PCudACNHSguTZMmi9XizhbBZ0tAHnNF6E5EFjLkBhIv5BfOIErnhotLSxLCvt6IBgzr11xJXqL-okFseyNk77fiGBmqkwN6yr-xcZdVs9JOJCyqGoiic_0M7MB8RxfVBS8C49moEbMxnSNkQLv2ScLhhwdQP_frWREBtuVP1vNnqMdazhCiNXyh93QrlgI7gQQ0oO3e1B04UQoOkyAxXr09Fc5AI8Iqt0pVlqTc7T4ifqC_QrGKiiqovSJRXkLe4rElHAnPH654GX6sqe1aKnH1qc5IPfPRb92LoFnJ1y5l0iSCntjNo2l9JG6qp0wOQb695LNktXy8LH1EP6P3KpXleZDGm_b9YfWYvm5h96M9PHW9U__j_fJ2BsSsm0ozKPCMOjX2E2VN11gWbnjXbwF0IsaCvK2_6rgs8uCJp5ZEUp21XRMWD-_XhSuZnOPLIQCYpYPBCsuAAPGBs3jDOcpej_v8moLhBB7uYywmH_zrCdaghYl2lL2a6tHPJ6AG535yRYKSshQ9GcrlbrP-MctnYJA3Ce8TV4h9mePx66aRMgliJefXh_mGVVMlLoGh-z3wkoLqAIXWf6sSldC42dU-ePwgcf4xjcJMChIErfm2pgmrNbqF5qkz1lSgKF-1h9ISD6RRjhTH2eojBljL6mde49uzQTeiQ8qt7CqHVuum5Dbq6pT3Pibn4zHMKM1aXxDyA7oQqBDxuhsaG3Jum2RSFQxW9Q8S5R2dS0G3oubWhsik0GaX-7noxRp84skTC3FSKxSIDjg62MR8mzH6eGTiuH_jmoRswkglkTQVJgWVFO2Gj9lC-6gJxDRHuqZiNkh2WcjOss8hFmzqQ8HHGGOzjlsXZKF4jEgGQNayC3YE_EZTJbEsHKLCVsy2b4FzrMDjFzPSOL2FnCt9g8UfHGwlmAUKV6ErAuDg6lqpeyJDd2h3YDMsbGzSTw-c7MFKLZRuj9PR5gZDaHafShUtcCpF0lrsIpFkol704guQnF21YVi0GV3KC6eTUDYOyWvTYt2OQWQ_SqKb2_pmiKpw7whEnE4qumpdUg_M6ADjsEzgVRKxBhftfUTnnYzPklaELvYl_EZKZqGO1L2UFSzye2yGXq7MpuuvtMIuPkaLhOK4kdo3Pq_w5h3J3XUXUN6imEv2R3F6-fOkZw02AUxz_EutW9HV8xdqJIwFBLNjTOOzbkj1AAuOw2ytQaG8G1tCQaUuNCrpM_07bcetyw_axwk4xVIXfXkhJcW1e5HfjjR_2lGtUCcYEpMouWqbNzxBkfxfuHpZBHECmpLFRApari4iGfGhAEvsoOi3ULLGUC6MMLPQw-N9xlH2jxOqR0ecEiLlwyqQNnpP3SjqX_kjEOX82WTM_eQp16DbGk7AdaudSwzUceslNnAE7viP8rHhupd6HGTSlVzNUUEHfCNoDOngHnZH_4diYnkQPQsrlvf5Peiyx17CmrqywT6lCRf7pBxrMK9pxHyugxHj1bMyTWi38fj2m3C0_DRFEJdmYiMJrEZLMIy8xsRbNMrSLHXbns5RqxVChaSLFKXDv0kfuzeocIsPeE_yGydio2bcOx_jToUSAiwnUw9yTwtsLW-sFW-uVI-BqMgZvS4HyiHsZj2vqA3Yo-KH8HYI_yJ_H-OnUqnnsbIurz8YsVkRChZ-2ui5CobSTeaQ-iiyp1uZbP8F8pmwTK8B1W9U0UU0DdmsEQoskAZrqmn8zS1QBFHEq7ovQxV3iUzKwOqby7UcIFhBayXzCiqPDVV5m3L5g2KZgQdp1i4M_eZN0bvV2q_6ZZkSw98lCWo_bax14Zm92KY7dLaUd_j8VFw0LgNPosA10-p_RymMC5Nvop6riSeyrDyn8Wq3Lew9T0CeT0bpBMSe2vSwQrmVGG-78YWjRvGZK4-Y_79Sb1Zx6klX837nK62Nm-tbI30kBShL4Zp8mI0zXhDehwaAxPPwwNiHRsG2xZtSQLqaVcFrNbs-XU2Ewm1Iwvmfg0DB-exmsGXeG7VcIjVtRnH1oyKZqir15upZpLzSd53YaaGMHQj0xmsOiwR9YHABIyd0NMLvO_6k-urHkGZ7OTWYYZWDP5taKBDsdkcezgy4SVAk_m5TdZ-cO7oIfzlKsNfWg7colOE4FYlQI76W0VfbS4Soo1nmb05u3kJtVVs4T5CM1_TtxOR0BamdaFTpkOiBKOS_qq2puxHX7q84wnybwyOtuWpl_4hUw9VuXEF28T0u9oYrPlgfp0y7bZFU9R73UP96iVquHYD8qKlAH6JcC7m1O3wQfAQRqENCwsKV2mPZOt4PcDxHUezumVlGu3EMHSnyJblY6E1e3kq70-otQQNYo_KttFyf6CpAPnXuOJHmxIqc8rWbcEhkWIK6SYgrOQTIuIaHnkFFDnHW8pQ7CiAop8K8NX_VOqj66VeDEkfekidFtrojW_Kwg41igECsJH-TPlEsbKMC_I-UYJRXvL-h0oMN3mhXTwS8BHcGvOTFfu9c3WJq-5EY3UvAQB-zbHLfyda0DCiVuO6KQHaUn5qlETmEF1ToUCExkIYihFu0CIY09hWNsHSE-okx2PHsy0Kvja-cJ8GNVrbGVzey6WzERgYnupLTUmI5ioOihqsp0akddkJTN5qredoQA67Hu5LG92VQ96pUqesq-PYLVQ2062YL7LjLwqDxK4TxNg1tk2HnLF6WOClDPd7XdJBnQsA4AfDkilBny3SK1QDnsZg5rLbg1tfIv8uCgdybaM_MhoYp_kXBRQIHCHpN4jR54V-kvw0qCrycgVItPgqwHhEk1_azRp5fmC2gsbdvHUrkNxddT7O1ipCRZ3GKKgBe3xFKtK_qUb2svlKmy8DqsgJ1OGDicJAm2EV81rUGmOHPstEr3XsKAcoHGEvxk_snVza43u1aRGgaI-0DCAFpRjyENcA45sJpSZyCvCvCf24JYQqKROSV50CxTlV7_IVqvHMiLeizP6tOTdQAV3o0C9wa4NWCLEMTafdw4dUsbiZNgq1QB4gyjQJZyiTlT8gCgLG6I-fyRZEXaexndMXRUNT1WqWGNLKYOXCz7oxQ5cFHmq2tSJwaaau8LQ8k2AnFHlUuoXoTgpfhAj1Au_8WvSX0h7vew9kBbVGuoMNM-tzMevDLy47x7AGerTC74oodopbNKLbQxBkp8Tj0qwpLfge4xBZp-06YOynDVBn5UKn4lj1E0pKOoscg7sZ7_bVwxo7C5iO_iQn-JiqX7ifMyI4tC5MenDiiRiu0jOrEuweS0RhnA-y9TBI78nV7_IHIpiMns3kHIIiyRATqX3JFx0E0jWlIK-B0FZ9NYhTd6k2SzUBklknurS7Td4yJaaxCQXe8yTv2fraKoXTcYbG9corVBQAINFMqXoR9eb86a4DqRhQnrTd3xIcW-yfXdTBYdHfSXKcB8URVT2clqvUTQKnj3MxobSR6JPwSMBky8GVRVC0ha6de6dJ71L_pL3n5kvS0-CVSR8Yq5pcLlMexKuUR-DsaqIvW5xbdodO_ewfohr98aJiJ-C3FQS-9QgoZPM6uH5xqDUUhocDTulxcbRj3MS2ytuKOM5gznLnW2SJw4PsToTQe4Aeqel_wU8hyTKPMAR2sv1UCprWkmPb2I1A1Ih4tNus7b39xQnpaz-cXusLYx_wvSIEGzf7IswRf2R6RT5tojnSqjLv4YRdM62bwaVMAomCU4POn_Zq8JKzvpz4gK1KyML9-PiWr89CRSuN3fwT0Z8PQsA3zPw7GLG9JWh7vAVk1gEYYLeVJeq4ls4TvSnvJT6Ll6YVu1Kz95ks-r1p5DITqr2-gs8lWaAhF-ewxIL5ghb9KTjfbQcFxRjqYEklVgZDWVHWNixNQOVK9SaelYUPBYqp7mQi0zKpRQxOUKZ0l8Qkr3sOhAo-1MbIOjEKDXR3Pz1hZtFPL2wji2VNtqMVnZ6HevIAfYixDpXRxccbSm-OVp3OIHZsKeNUjgEckaKQUlQCDaheeYMeRumAHMz-ajXAwnweAJNksMaSEm-NAEn7_lkrp5ubjSr_ULOX96lkup65koLPNDycBTZ6XdliFXgFoXJgslP4-zeIXrgKSx53oaYiuPQ6A2nZoA_D-jwVpK5nUu1rLTV2m2kXGgDOu2a5io5Q05BZ_YhH7V5D-eLiacBviZGC4AIB-FeZ3Pw9dipKxQewi_5YosRpw00tWHG0ItOGwVVLaacg0F67x_YPOvAmE92fPnsPwyDAdS2MBCoY6hQM4BK3RAArcM828Kz8SWgC-u-Lp40rbf5x2HYpWHqShPPI5UfhP10czj8qL5Y6pBkJcUses7UVCVr_doPorwucbcHO6CvFq4-uL609seQYyKWh20Rg1-ZnwPJEXguqzAsKeIY7EaFN3OnAJpM8Qgh3cLTY6YqoWY13ZCAfjRD2Rbs7PxPkjZ0byN2zzxvTbSC2KmCot6Zk-lEr1A3VF5ag-SDtQZe4sYDauHdMEFFQoz8b-b7_zR_8XKzwOVtlUb_7V8ZVrU3KUZ7YfUm7-jskrr_gxCw98M4NcRbqLkTWh-NW49jqmlFtJg0jPTNAJgfU-zSjGCFL7wH1mgmaw1yaqb4r1UzQDiV-qaZJBBFXCrsGqkR4JaMqvX1DkqEkcZt3a4atKlbZ6jNvXc1WApxZGDakokiG5Gy0-fRV_L017eCnuVPbnyPTb3J3gGMlkcveMpR6RQOPE8LzWX4124tR0B8mPfXbd14pWYIM8GRio47UXbYtTPow4WjTeIL1HHFDdGb7-5yCHqCLMsFuvUkGZ0kKlBtFwvfXOHdOgylsiqkemA2uBro-HD216ftH9DpI6durEkoqQ5Z6Yr9nmRzY5VA9D3w7vdZQJLR-2CH-zmJl7Bk2TPnpam6eYVzaBx3d7S7jTlgQZSFBp9WvDftFUWWnGfbIl_Z13K_B-MlvrsQHUJdskvtOrf2LSgM_plO458GuAOcV62QYQ7BSgEoKBuR5Xs8ljjkPtohwo7XgFUCeReWRVmBQzIGYmxAb7IKSrXEZDIk5-4hchIABOsB8HF62Gtx3PnHLYtAAb1WlAJ60Nm_duTbe1VRuucBaZqKT-nxL2-W6RVDWbhMbsMNZReR2JJYcGV9dDQVh1_i6buR-jgayzS10FMAyzww6e0EbhMCWVgIgQF5cIpOXs1CYHAkM05ZXW0e_aXlj-WBgNrr7tSXN1N2ci5w9FCb31RYnHA789eYEVeitL-6KCZv36m4YloTLGQCGLDq3pc2559OZClq2X2N6-o1HhIp4G_vt22XzBK1Ktz4y4CXHZrw4p3boWXN3aUuWsAHX8ftN9Vk5yiQpyY1fhiWiHjk6YTkUoVQGbtTjrwzBdB2AEUvJgEWPppw6a87QYq7ibavJNC1fdujXHHvqujyaAQ1xg8YEuEtK2qapN7_rUex01eeg5vBgfUA2GiKto8CoJi7JFjiE52EbZwDM5_P1Mc1MHvBV7NN9QefIyutxmZh-dNul1_dY-uaexOkSvJmvoKe2lzFi1TbN_iyotE4nGIuEs3R3oahngMTHp5eSGDyM6uoZmmYUYmchR4JcZWYJWgL8ZzYNfO20y6Xheadg6ddYWD_AYs5CNWgIozBx-W2SUGMuNkcc_XoG9ucjwxg8HgTvr4skfBzw_eBQ5SqWHO0urR3sSqUZLwrBNX4owbzgOw-ap6JjUm01SbmQfwiuuqjuvN6uGzC-1wV5-uThBLyH2PvJkXk73BqxkBI-0JzGr96C6y5pJtJzFxHZQZRj600aAJsFZN8C9fyWRImAeCV5v76sGAq0-DEShAasr58TdVa2w_LIyem1Uqh6IrLravHGwgL_5yAsEuPS3FzJtTtP0YwUl8jcL2MicVX60YCD-zteltXur2cZ4AZPTyzUWvWN8c5pSakOZ9deelGHTW88CwWhzs_0Vqs7pZC06H1PxctVpIkSUv-B3NzBj3Mu2oYT-2cU4zwU6uhemeQ4Bt3IQ-aA6vgBP6FwqEvGGl5Kp8GrPq6wDwx2U9qjUFYm8hzXP3-4pKykZYn0WP8o1Lr9nfry63yxIX0babrlqbbZ9AxKNSpPid8kDv8la1DvGpuYUXVpsDbLKiX0vTYC3y1MJgmKgHW4iQtuoG-dn0m6WXbWFx9dSrecfgk1k5-0_QxjrW3oBpcsQmZ8tRxUGZwCNptseY0RmJTYqRg2Pn0LAl7Yf4J56GkpKregsWOx39hUWAuMrL4RMWY3rFp-zRn4ULdHvWaS71JvwrBWa7TOSz2YYpYAw-OXWlBjGNj1f342U9J3-vcugwbdEARzVxUuX30luoyYJ69cJWK_Q7a7LdxRbD_Jps2rrzfQgagUXXEaHY23g1XCkBTdEWjzQt_6wXIYgH9f7ush9-YsKVCR27gKvXaXbq-uyvQZ4pnRfIErNHvsqBAOseja9ljmpkDcdwf7CSy2A5zUCvBwBaDVj2N6CW3v7OdPJHirKNr6Od3h5Mx0VvhbtIH9Fq4VeBWT8Q-BQ-OlP90tQboXCR9HegTaj7vTBKDVx_K3E9EOeE8cBNRXG2-2RvafSVDNEFTNc3yCmaZfPiUf0FfANeQlfprPGfcF6diNJwUYEORdnnvZnOZO4KiNk4LD7MRT5lYQviUbY6fyKt4vqQVpqx7WUMhcQArUcdOvvTEQt0QMCVsPYy8-E2c-z0YiE8vzjjlvT76ZWPtGfN5W3nOdr4HzwnrQJEZkWbLsXKcT47Bl_EcyB7rg0JlV4XRab90p2WfJWvkMa2ZO6l3lA1nC-xwGVF5Vqf5mVwORPBRMI54w3f02_T8KZ71kuQv4RgEGid_h8X7kw6a_-TkMl6xuaokkT-faXRQ7g8x7LMVcs6WpZ3oNxFWwUd3298Y-KLxTMhKlT7eq9CeVcY29mCijQIv_0oe4Hj9EVJrIzDIOLcdGGE5Va-T8FoiUf_ikb1w_xFDzVYY4Gfoj0hTv7U7TOJGJQHUcvbgVmI2-pt-CpKvisK7SRPyskqHxMkRnXM6Erkg-cS2Lnc16CaIu2bJZZ4Gi5xQTqHDsDpewbgngNY-NkPcAf9DIXl51ZjcC9Q3FNUxLQ5f-35fQXTd-QWDjCvCkMgrNJuFfIo76JvNWRfR_yp6LTX94mSs2uqut9k34vNpaNTOhPbSd_Hh8Vi9bK5wYNMl1huc_Uod3IlM6SsG3_l5Ry7uBhwApPebLlQPd72D-uviIdeMsqJrfCXQx483ldg2OD6lNH4e1v_9nvfMHEfw-1XS31tjtbD2hKe_iGjg1oXNdmNUKEUTPvfB9VWsDequ6hDKuXduVGGSCqR6pTvGoEhWaS9ZcxJ-LqFWkXRNWmzqxHxtThq_OU6cfSbPzbe8QHtJBACAZIIr6iBGpJxI-NwqGbLl-qBnZMC7DDt6BfpQOdBPwz-i2xXhWJ9yGnZYqbNXgxcphbTBRpvPd0Yg5IqDh_KSgLqjhRQ4_6FqZgPOoyRdKt7nC_VbBDAI7SuOVDLgWYiO_btiSU6qpxdSLfo1pCpTWM_mJ5HHKQ4nGHAsRs6qR7_lJmJrvtcCsRB2y_9bQKYZOR30q8nHnN8JQC95zyEcVl1RdhP6-Z8s8K1zkVLigGgxnH-zqE9TtSpxPBSTFx4JkoQhLnSD9k9aAzybbTV9iHzmg8CzefxkSVlBQWJY28jXvF63HuR1x3en6REMuqF5Goqr-LYT_YFSj96GfkzOhRhLv6wUBKHtDtsKdzMeeUeADEs2UZy42nvoy88rs1AoFAeaSBnI9izk1-AOVOhUodmrjbvbIvuCxMIOwnYRg2bxU2j3DijyVm-f7RqvyUTEhrEF6Mdup6OzUahegFxozs4qEpre09MpwbLxufwyPelFim80maXw2Maksgn0zGJ-YClMeMZ8sib2z9NDooovsz9AYJG9Fs1XfJ2S3-k6K-6vvKA7ydBSBLMq3kfaNTjO-505Aux-cX2wR7iTRelh0LQLN-ATNkNpu-x0yujcpFjHz9pOR-cQV_SyXO4dwAY3qyFIRFNtc2uP2wjHGRHCJzkKiyQdVa4mFArKMZbTwuwE6oNZ1TwLlvHWxpFfV2LbLbYffAMfAzspMH8XD6jAoVJtlaMbaTxWCz49JOFOoFgU8OPq1UtDB-_ZxxmDPh-xz2mImbQVIGXfdaD2bnYnhO4_Zqmdlb0Q8n8qtc9aZ-xlATf9BoEfy9460lNbwVt8vYA7PTYvfk2xDCAhEm2nxvGWK6CpTESt-CnER47k7bYNpudhMsQ-P4aJt_X36zqn8sBlAnXwazCaPytc4CzgSL6k3798Kis3qvRXHm7ue54-YeSq7LjC-yIsFGk4lHmngvQCfmuEHk2rG8OAWDko4XYY-7UO6JhNjCMasuazFpfSeEPnoGRAF-sYImFdJ03PNCwFymcy-NauQvMzyBhV6jjZn6MRgfrnIU-SYuz5Hn3cYBLo5GbPus72pUILv1GUhGW-id_pYCpH9DRGpFDuKN63HlJahdrwKqmtLmkEFvUcilsusC0677lToxCDklYezUWSJZy-YihuNrNOEIG_Ppme7PRBaL2SV3Y0al0Rim1O-AzLf0BmRX3qtCZTGt09oiMRtjTGreayVzPCfkg8xPveaK9gHVxFQnTfwDL8ZSIuXIdP2XvF7W_R-EM92a2a3Xh7xtIvQvtF6xSKJIbB4XhxiftWFxSpERipOySCJcR2YXHum6Y8UJf7PpLoLEyl6AirB_JAX1CpJdSOJCD5k4Tfqxu0L4cM1fbvFE3RewtsWsiqR19Y2l_JHiMN-fY4rSsIU9RNukyniKkgaidZHLL3aEdeYokW7epJMr1QwsZ6g8oQvwel4FTgPsGv6BJ_wyBfgtJ8Riv72Q43u0G5xa0YvuuRarSwcjkRR9hBWL4Z3xO6oBRVRLneIx5W6pPL8GiTloeplF6Nhv3u9HomTyQswE3L-QCYO8dCWtT4IrXEpbDmyOkHBzkU78yLN3FXxA1JYarNX0iUsUzsXjJf7VGwBEG4YKlX0o_ULU7Delahs6o7oN0rm7A_REUF4iztqMSue2hIkLqe4BeseMuoUZqmNO_b_9Cemw6v-p439eR0wBl_qUlLrIujBJN7Jwskve_lCATpwcgK53OQixL2rUDAS_C9xO9znO8nv6kvpN1lBP59aM15476jGPX_IcOkffGNVK60-_8wxMpKcGHHprKemaa11y5HrfMNXbPORl1LeHwPD7lDcJwiKIbpOZHx-FiPVsRUElswXjl9DFdY_l8DNIb1K61C65gUVH5yxW3r_alv7CgG9Sn-5_hdYg-CmqlS7uiEyxns19nvGrnKKAL4Ol7EE-KKHnbv2r3t0hReLvetm1uJON8SDiEKr0KBgfOzj4HKy84f8bjS-Sz5Uz-JBMwYCbojuyWWh5Q6_NX1oa4HoEUTefK2n53XMqXE0F5XNQTmaJqbQMiozD2Jpgz1vG5rhE-mzZ0j0Kr8IqEB9pAPwpvkYiiJ-WX-kJzooWHHAn8uXfaQcfjWzPdRgXNu_8LR5QloziyPFHKkasQ8F0JTz52kjI_MXZ4-QUrg_WTZPFbbN4vxTzmGyJglF3wnEHIIWuxIWT9u7arNFFZlPNKvMkUqz30v1SVSP33dEZNfXQ25bqob4jU17_lGMoNibg1YVwbcg8ZyB-G1BQU0YWvHEv0awkkh-UBsYGuV-amaudYBlRnnXqwc-3dgLZJs96-w27T5MRCz4hKX5TR_6oaZc33wnY47egCxPdRqcTbOZYUJ3tTn34_C2UT31BNCEvfhuH5Rf5cTWQnrm4tEbD5W99IVT96b5bXXVrlf6LT76U0agN0V78W_fR8vEfSBKuUfmno2SIzwzzQ2J9t1LWUuZSzTuWPv27A0hcJrOf449m1BUI5jevJX4GknynBSyIshVXNv21ZJbhyK_6yRBBf3636z-q4ur03IERH_Xx0Cb01n8QwcRmvhQ4FjH3TlqIBkg-Me6dfCLlqFJjjAFHEOkR2B-OQc6gsbFGBYqvM5EPTlaGfylcl4bjKt9tW8rt3S0oTMctgBrtpT01OKMyienqUcjtcHRstUhBhxkoV7VHQ3MHczYBnopRVSXB21hS68DlgwBsMrCCt3w2If3h2eVC5X1lKaIzpkN-lQeHm0BqukeNHxnQZ8cCdwg-ia9x7O2IBYdnHAEb65z0XUkIKNsIwGbz1e_30-57op4g9OboP_P7gOh8gqO4qXvdO9Q2KdGdMOBJt78z-GpaIPl3VsYSLMpeN2uolQGzVQ4g705JSqFiUFkRkc_TUrPHLioawR1WtE7rh7ARJ8Zm-foGznbbUi8kUu1ciIyWY-WZUqo03gG9vakzTkqJ7lY3v77p4lX3WrpwRUuidPaSfOQh0kk22a4AK34LhfjP91MF5729QmfD_9eHBLfLL7lEDeR6En7J_ggCLbfmQoGeEIfW6HsdixIndQAkRV3uHuEy6GszDNioyKX8QtATVy3qP2bxkjACCC0tAr66dkR65J-BzxZ4X-tNsxBPISGW5rdArQZ55tnlR2BJLKesLw4IN0ncMXsQRgVef_8TEUbDyiqXUzaz33UNQFxo6DuSpyDfZligp5KMl2zaRrT9yUll-W9XmfqwXolO51uxrtYvmUVRmb2PbNoqLd4rs9H3RfM7iwTXe1dDLix-O1WkZCs9wghHCVMIRJzPKIgTAp563Sr-q0Jum7_E-eZycVWABOa1SL2fvpkmDXQDFPPdaAlw4S-SoMN4qlvk6Ov_HMazQo8b8lp0q9VCIUhywqsUyzyVef2GhnC3wGXH0dOoajzcO3wvUYOiEt8OwSaYosOz2gO7IY5r2AflbQNN7D9Xt8iRVwh-dTJeqrrsGg7qShG0g-StYkd9mI0wZVOoI65Eng6reJPMXG_SpxFItTFgEZTt4PQ1YdGcS0r71yN85uyriGAg3JBZgnevXgDrYgGBzKE-7DKqnNuy82nxN5MK2kJh_Nq6Sfm2g1LcCIa2qXRNWJvGbmzXWuRi29PC9erlSA8dMN39tSAtvIX_hWnzJMQTjFSz_7sCn-f5d3_ewsqb768ncnNTP9FTE_07tE9KoyZN2uK7CoLqfINWZncsfZvG5PSja-9Sw8BkwRJeHkx-6LcU2Ty0b9NtBmDuVvwdD3LifRFnufvKhGDZRbLsBFGjkeTsiDCOSbkOOHan2ukwGXqAK8YjhrnQy4dAefrb7yIULcdFYMQenMRhYwcgwGRX2hElT9hUCLWHiPbXj5HXssOrb15rg02jjy_mUlPh1SbpIcQMFDpLXus83g9OQonVLeMl2r_0rCmgr1BFWQVrM7TMsLcqz9rQxkcZ-Ytc_M94vcXzMbUmUDHxFd93Pzh0zUL7azRRubE61dnErXZn5pf6DUAxlTmEPfS9VZWYJBhIdUZdNHBlkghXsnTmX45sF3hN6ew7JgcM0u63sepxwplDETQa_ZXmPa2lBNaKfa_h18_svrA4kdiEIsRdLH64V5TpdQsQSAcZLVuFMPuuYb4eIR0MilJFtQ_mL-BdLAVFZqrJUKPzAVgrBzCEBy8Ssg17sGfQqmxAX-DejoAC35ul_os4yv416146mYJOvOjq8qPZWEFaazhLDzMg10ncQSZ6SLZT84i8VyP_sRC7zJM2Wst6WEj4yV_gkczFjR0AJZzbPmNuurkBiwDPF0K-_wEWYD3jdVb_9JYFjVw4Jdb200rkgKRIyngA6IIesvXUzMh_PUNZ8TNOUYVUI_bl9a8-fm6ir-rlsmEnvPhZyKjHI2A1QpTVl1MOFwG43lDh0NX2Toeet-Qn5xpNZOsjnSpoemmJggVkpXh3RJ-Eo0N6bCwiqcTPGfDNqTQgvgqDidCRllzXc8uCNMKZufdRr-l2wetCJlLZDF9UFsvazne52GiOO3iUV5x98vH4P5ELGz_szxLP-vXGtu2jovFEU6OORt7T3nSrIZ7CKtuxt8Yx3Jg70ALd_fs3x1ExmwmidTUDwSKADH6DO2tSKqw8Ie199C9GakZ6HI32ez-P-RLt5UZZaB9a_lqaxdPLCsIUiwY4ZAjIL6c8g2Vp-ymqAsNH4YDrn9MHdeXZsVifG8txaJHZlzFKtAp7_pyE9yB8mC_iMkctxlmy6SNw7kWg8fYa8BgKLjMokMbZDtTimUeTBaX1I2GPwEG7eIbybHC7axSC4kEddWZ_FyiG_WPpnlg8RZKf0uexdqVA3Jnei_Rd3BOEi1-upgzEBwurTwyhLph8Txyp4U_Gavz2zaq8alPbmILHLlMXzM-qAvp9zrqnaIMaooBZVv2LEBzA8GL5w3QxDwUd6iJ9aJAm-uRxxeOPJgACHMdTOcsc3PyUtvTAMIa9L9i7S2MUrjFAF0TK4HKKrCoFGDmkgE_93cae56u1WWPEKehlM-Lacohai9OYow_Ddg2CtTdAEHvmt91eGujGOQLEZ5qLhbEoo2SPDvZ7JkPm0QhXN4OFmPs-TYRMMuowqV0DXX8IyAI3hpkISVhCcAIwLcat43jtIWLztcfPEvesZ8wi70k9xmCpGFFy1XMFmB-FYG76HMC4es8hUeb3QZkqoyfgHGvNwHI6xEM_KE65zpC4svm5k7FG6kXE8b9CccEPDZH2nm8ojAAuqqg00WuXcChkpyXSXreUx8wNPoOzhK6Z_sdXUteUolGj0lyAS88FqB9gMCvHI8MNnZwWqsK8pzk2XYQvEYDTttliv5jIjKdds_lrIUEuKDReJykkskAmv-vxNnG50yX7fCxon7rLm9PlbA3ucSFEyR39NXp2CGft-r6g1KFHgydjTabALLkgBIA5FtANUmGCljrWTSOXSV4wzSlLM05x914fK87GC1T4m9jc20fyR0jQnUty_AKcbk4b6z_R9Ow3SVSTfuNYo-t5O7EVToc7jh3jc_vPSyArGKf672fSZpUx28f2an7Qg_BEZ8ITn7DyO8w3FHv49PMrLMoMFDon1aowGPBghqBHSf76G8xW__85WKCSy6idIjTyu6axAAfDb7Ki4bMXHq7aZhM63bvjXWx4Rogrob60FydCfRXY8cVzvyy3jj0ZKYOf1dVEio7z_LifeXtUJl7cKrb1owEMi6IX4l1VIiZlRi6BPjwicx70ny9A5y_gLW--T9IWU35oWPmd2dv7yRTy__maTKYL05tZItU018qMNeFTyGeXvizxU8LIUijdtfFhTjlBCD5ZuPggPJud1M9MzipcvVEx_390kFsvIUSTF9Rs8RvIp8mYXiXt_t0vNYI3ccBFraupMSrqmSNShTnUVVPIPHCz6N1IZ_v9XC4QvTtwVRxVKmOFSPXRKaAkndw0FdBQOwhzc81bh2bsnD9p0HngLsxEzb9iHhxPriKxPThu0yTBSkEbbehAv-wbhYwydWcFcx-aEJe6qPLHYghjss2dq_J4q91auSwvMbh7XmoKNAMi1wBe9cq9KI4QGBc9XLJF0C69pcBlgTFhn_yGFbTTnEHze_KUuwZBd5KgTkBKJ_T7PzowhvhK7pF4a0IZGZoAvVheEAhaAEX6aFnLmK4hITgdN69XuSKN60LB5Mr5y1RLMNYMQbmnuu8el2oPvlG_qw6OPj3dyKMg6zQqR375LOtgkozLibtM5j-iHcjppDXSOdQegIXnrk7oEtnoVPb3cBrn8PSAO4HNyXdyOTraTxyHoAoY73FwuV_eVjtbNwFT232AL396iFn7VPPayIT56rRAfbt8cYKh-65C_stf3-8cd17NFeBE7BB_urcrFFwajZQUVrj_vtwLeW5JUFrRh6AkzeFC_-QFlzqgM1cY8ZyScjqMjBj5zC64I2m3vt5oCwO_E5Cs1oyTKTNedm2Y7HiwIlcJT3C4HwQxUdsvnn256KVOYDLniA0aWrqJdBX59SLYLbxuM6l4uNlDP2GiIUy_5SFulKr1Ulf9sn53wFA1ynf5sAWNO96TisR4SyI65OmxYbP2eLCWDZ69VxxqnT_gDY8jMkg1Bc3lLIxFommrM38XUAlYgyx6YUiXE3aAH-L0i_wjM2m6s8X0GrHCnHd-4TjVNrh5rafKIc00Oz_c9vrnRUipw8uO7Y2ZAvcqViNqCioKZUoZH274iBOdxMSCvv9GYXPkJG-nJcOgam27XRvHd6V2x0w9_-nSkTyuSfuT1_pFgD5HobWsz8qpKDiRwZDRjrJZ4UnB9ZHbn0y1N6KjLNhXT39jF5c8t2Emiw6zkZRev_CsJnMINC7O0gyF2U0UeXRbYATWWlO5lv24I-FUKM8eJnbXi9ErjB6AN9nX_eTB8a8RXOocp27GhIHbMbhBu66jqtCQXBcUgrNB0iLnYsbMjusGu9z7dW9CGO9QYOXzeyggZg0hA6FNXUV0hxvfHdnx4qND919nJTcJ_SLwg36MkYhgsrSKMIaKtvIIuurXVX7E-tY83kyvUcg_qqsl6ubdKa7DXCWDDF7ApN3U-2SUCoFL45muPszYo7XKGM7rj3d9KoA3xvdJsZkz8LGbefl_C1scyWsaFEctHfeQ1-1R6sWNssQSxWKRbmMp3ruXkZvDHsyEWbC4YzRmx28c9TNzU4OieX62N8cNBc6uJV-KwF4Be92wmMM6iMdwa0tRSFq96nZ6raGrppH5WWklb1rzNyPFCyAkErjEwpCOYYj4zPC_Mp6IDV7thd4TayvwiZmYRDofyfoOaIk_zyUSqpHfoTPiD6n8JHW_k5TKWxIDDpV9yGL3t4hx8ZujUqjJtsFUtLZghLKvUIjfuTpKFlYYGpLzazvsz4zLag3bxTrj_P67mcw9uFBakBYhoMVTcU7fnebm_nCR-9X1YjT3srCks7-lmzgHyt4gto97JYN0PJAo_Y0XDiQ3X8wRyX_I8bnIM52n67INohYpfk-OvLI7XUM_1bdMZCBpMrL-hSz3xSqL3mR4V7DfbqCCFDyI7vEqHyahCxPyxG3LdgIXHK1I7O5MKN0RoYFSQeFP4myvGgJu9MV2lNouZYec6dXt-vCPzT8YWOx7_jvcdtR7AB1yHC1FnmtbtcwDgZTPYnp8ONiVv7AEcS9XbXeefKyBhw0X8wYoaK9gwyzBADEyfJKZJORIuAoJRUsfAxRQauHaoDWeFwKrfQNSVYqg0tUucFIot7xjTLRUyjvbtt0qEpEFSrDwwNvVcL4zfjtyYRhpcoh8G02lY5mLjRLvv3MNnkCrLsqC03b1RUZ-aROqiTtJLeEawygAfG0lG3HFScKjtMCTTyuSO1MN5FrprQtc2txsHgsSW1a1DXmP0iB0jqGQcSDNlgs_okMdDNFTxniKsXv_r_HrmFLtAw2mwbOstpztDxLpT1ewOTDo85CoN-XpAsxrUQxVhp_E4gcGf3ePpwwdU04FGL8aKQr9BQYgNgRH0BTS72Fb98mL-CkdExNmxB7QnYgQ8x7W6PRfHPfzDupouevgaXUtsSApPcCdRRqzLIScoUcM5lIcafwG6eYxRFoze_xdCxbEuqGRGxyNRLVaWTPmSHNE5NA8EbxOyF5Ua2Zln6bBzareNHktwZL1UFJQT8pjPCf1ujM-jzQ4ITX37_7FdtYFDHGHsRAucnAmVy12Pa2xi239Hc5viekvHo0GQjpdLSmNoS7hwGqd02A8xLskhKwoYYY2bnsPleYxKUETUcrmbjrAR5tS0Y-0aQiWDlsekXNpJL16oLrZBBqzb7kS7uRKJNeZfkzU2pGmuvbHoNW-HDBSJcSOoaau6T5NtKbizZjAr_2aszVy2RYWIh4uorwezcjas3hqNPEDFgOmf4mfFOZo7USzwJSPoOiCjsWZi0TkiGbjJF2w_duTMe6pJRQHHKxuvAUOg9TcYqdKzA2TXR6xHUd8CfgPt0QPbHssZbUpbzZ75JwDlFoC23mq7nHwKuUhSo3BpfdkXQshZUFslr79ScNIlvugIk9N3SlMm8HY0yLwPUAeR6MtGGd_3y6ECvfRh2MXyVH6JMrs_uorqMqC1Tf1BppRSvV5ZWj94AdXIlgV5LNsQw6bJrkYOHeldCG2JAkoVwmDkpclnO15WOYYDdgB7xkRLmORA1iBJIGBN8Xh55bY1ZhO-kWoX416hkkxE88tppCM_f7Fq4XS2iFbOnGOtu0w4p4dfWNJPRqDok4FbGhtOipXhzMu2PItBWTaX2b-13v-AHnVCBQZM1nJiIOvkkd23-zD0ajwiF5cwA5SDefjoU3kt-iOjXSsoq2uPwqaq0XrBa6MI3I2steKsrrD0X9CLZz0Sra7_odo-iHo0rPkFyB5QsLL3pTm17WTZTmlHOjDO9MPWLqOqyZF9gK_ng6e9ibY8MTHf6b-np0ZsIUW1MDXA55CVCNIqCHcLleMrc6sg3u77WTJk3tHmhNA0XETrqB0tM_86_aUtnUIvyc4jwTMZuleEi1hdH8X5S1xmaLsnOIPYkaxAkYvhMTaVaCocB2l6baE41-E6Tb7IFlHrb6rv4DnV0kFVpFcx3PsC6S_JJDhev-JDe_z_Q7EWsogxZKRRJLelMFpuSjUYVfISvk7XeyBu76lCYnrDob0v5dpQe41Ph_8dNym-9l5fEqYmh36DWGpTEvMzUHQOsWgLaVUk_MS9FdDhuGjyj5rR5reAShekFpNseVN32yqv2vXqv5viBOZA8O528nRXDqUjxh7iV696Lvf6ykXU7NAuLbyeiFebubVU2qjgBvi1kOkZlglwemdzM-MY35hJLFxTAL0yYAcWYWvPcXQfF6l3EY71tSNPPwiJcnUPKBJf6RFAkdgXKKTxHE_meRu7dVTZhlOvUpCELf6rkEp3NfUFX0yBBPPwVGvKISh4j4k53PFxkt9pf1E5HB1PDOSajqg88TV8tHVEMj5q-3ppRizYyAT8yJwmM9YzXSLUaOf8_c5mlYUzUAWuxfDTADYj8KAQQDpUsELSWdutwFUIlDAtJJwXrEGY27nSFiaIt6UdMrRb3Wb_WJFMgztwoegVFwDqS4XQbySIj5_bXUSYm0toY_P33qvbz0FIVELR6i4q5pD5zR9lGG3tu6y5EgremLEZ1VqW70pk3Eq2_5gULiDIJzuksUTmMjtUfZecuIL2A8guEcb262ozGiSHXhmW5NM1SrMZvRsgEAJRS132zufKqZtuCR9fdlR1oAWcfZVkcuzqR1Znrgr5u-3gE5eXCrAQ3x2ZNh-q-EslZ5E2eKxMo3FVaQLuNGxWhzEdTE6V-NhAhzG5t0ivGBcSzm-ehHdsARbeuc8FRThI92XEJSBRyJIXYDqKCiGcjFVFIFq7gdhdG5shEDzWigBiufPnzvxJmY7aiR12go3M0j8LjNQph8Gjl8M9_Au2Q3zZxCYX-dl-vTPEizXDP6gsjixvIWwx_lGgG1UIU5VTmQPz4SWu53O20HqgdRLMd6KVlNn-1M3Nv3z1pSRzhY4U_XC6ubgxJ2EVMC121x_D23HFUEc1uCE-S8dW_DJjP2puwkkxVOf5-O3SEDW5lcxoLVeww74g9YpoA1hwBzhxLn-4tD92qOE2q2Xr6N3DoHm0Uu1G9Co9uVoITVTIJbTe4TlAa49P3LRPyWper9u0Qopw7ux1eAiJ2VCQu5G_-MIm__3ypcGmz6r2IR_CI_G098Yw4YrcSM8nYM8Mgtu7zpuu6BH2zd2qLGfuBqoghE8LUsFz2wLWZB3pi8R07lLLh-QJ3h4smAwxZSBbSvw3hT-VXGyI1vlktLDKp4p6MGqrCc9nh39WpwL60FWBYFZvx9WD0mwYLsvfA4fGKm68wCVBVpEItDemfVS_NOFTmGDXmb6flmj_VxfTcBIr9rF4Y96aMeaSdqdvSu6yOXs-vH0M-GHwyHTlA3MlH2OqymcIGsmsibvjo7trAOGFGtd6YDpqpVqlfxGTZO5HG024_n6cSNv_GsSPktHaJ2Ea4RpzF_scZuAOs9JRgLWQx5YAbcUe7kJQQxFwHa6YDYSGkAubEwKs_guhDDlkEmfGuOV92gWI5zuh9DnYjPEEEoHZIuc6URheUHOwAEwUOWqw5TZv-Tmz8s6hUTKhHVzelqn2a9lAKu-TlVBMCQkUuRo2p2kpywOHOPtfOSppeLWSSOoiFqYneVGulSK8buIU0wet74f9n3x2i3EDoFJUBrnKdVCWNozn2SUXLfD6Urjmy61KToZANoVezSnxyp644oFVNycSlC3cHMG6Sj8bf87cTTzeqZZ4D-tRVUu1e9tyNGI1wNRYmtx-YVjbCoTbjrbGcrtX1h_rk88nEyMEze6j5HWDRm5HVyu45dduUJDwGYuzw-pRddckq5RO3-ZPBYpblAGBgfkCV_CjrM9KtZlbWnX_N0y5NzpUATV3X6DbI-znw3WECD-mkddMOfk6GmGm4OqsUGFNNtODqHmJDOyiiSrBDNuD281qF_KZVMgNlL8z-D5hC6mQ_uFfZCcyF5V7EEqoZCfloPUPK6mTVL_bTBhhadkXK-JB3IvbnHhm62F69YA03sENsYL-gXbn61LZzmDL_yZwIMXjtc5F7HDcgS29QHA4vyZ4RknBryrMOVIEVYcwqFJxdo-lCUa2Cfb8zJ4TfqpTsc9lP2Iu4veg9k_o6dlaBnSQaMUTvtStlVfsNwTylGt3qyQ7Nnkso0Q241hg45e44UMO48WjwpGaEWUTDEdnKqH0Kj1MaWcn7VB87eGWktcNmWPNLf1n8dQdpCuxdSnP77MY4j4c0cMUzs6SQD-31Fyq49MDAueSNTQ0mvbViDKDXtQgsG2v4iK1GWkUs1eoQYJTwFUvrw931fZ5keK5-ZABFwhFtVvkKt3MsCSxTatl-DbqhHXOSPhUecDcfIGRq1_hKvnAjNabCKY7ABgP4ea8SvbmeeevFgqcbLFYK85hGUq4AswKEK1ggX82lRru6egUlEoKt9c6aIbO73HX9swpDtoXkWW7-E07_3W2HtZwedkQPwJVw7ySLmU2ZngYWkhHyNTOG_7i8ET-bClwUrMPJx_LO5uaTY_TLLkTH5jYnHE_AZuNyBW7ykEURiQoFPiXg9LOk0h28Vc-vAydHcjXn9bfL4E2P9XJgGvWlHL2PbaX-dRvI5KCO9aW0fYWLt9hdh6Bixnl21gDSNYxw5O279a7FiMYkBPEWWyhcCycC8iWSlD0kpv9xzf4MX1-7pUcPk37d-VBrDx6J6SxQxTsm6K4Sxj5tM6zmH3227hxSkbv9nsHKWfjcObCklPAzgyKfUmOOavSuw7TJVOSw_0VsCE2-tqjj6LvWZclSemBq5j0yLc7MVGn6skxOZNHsAUgfSw4XNRuuAOrLfwGKiQ8MHUguj4I8sULVeIN9WiLZpcQw_-IHsWVrS51mKKqbEEomgqgIHj6NktMaD-_47hmKBC4BN_2Np4MH051M4jOSme4Z0dqQYO38CxhByJ3z_XKNQQ2S6lZhczHeIRwz_EGzjyywD53m1pRUUUk7jJZ-TAP0L97TwywaMeGs-A5x7ySPIOZPohkk8Kxka3fhvv6Wkn6d-MeBSUqLiXHHcvRpFifuWdZRmNCNqGNMfErqv5a6TF_-PNtQ2mnRZbY4i_ODoT29muwkZoyvVp_0bDfuGwtgzGCDs_PnozLc_mK_VJ54iNcHy-X-fpIMVaavzV3Cf3QgMnNXKFO1xsIl4y3HWerSE2VWwu0rwLb6aBW5CCxPGYOQCi25dPbbDLxN5M9S3BpnOuyQq84Cl-cacmwgNcLRd6_WYzViRwTBNCudzl0Ot9ce0bSrnNnLcz7uIsw7DbcOxvOTkpLxljPnusQnZjbX3agXazDhXvystOpfPnOsbucMmGw5-dPZ5tjVhToq5mGxZV6QDAAbB7PCuTDuB-9wdyTtMO3fqpJPYPC2yuBTgLMtux-JcGs-3RVeqMxAjPDjCM4f_vv2sAYgxONXVAdsFeYA7UxOJ436WgJSsWN2wfEOILiiddiDg44YNQhGytFmi6Z6sdH8pddBIW2tPTe9jwNWKhNtmpKu8ma_6p9baDHcmyj60QfKyLWaG9KjRrUU8oOb7caUs1Uti3QdnF4YHO5Eal7OLkg2xBwAlw6i2SiPMtkeR1_52IYz9pNTbztP3ON5LC80RSj2FO8QPrCi56eUqL6dZ9C1i8kavcUSqB0LRGt_A4BmSy-fe7sIql-QWzz3JQuQMtO0BhVFd6O-oq4QGxEpTAT9KThrj_rHNNv7puiqDfl3idqrqwpSPwwhMVx0Zck8ZW6ev9DzBzGjvRwwxtg7liVbNdK6GljwAAYQ2XcdDxMOCQgp5eZrm0dBTMyDfA0hWN9HvLQ8N19DGftv3fK_VqaU1F0DvoBrbyo7o48EzbSTxrmoM6edwM2cxGgPTWrM0bIQpDxHmG4pjrmmflJT3Ohst70muCRJ-Y_-cbijMQgj9B_UaQODxJrbpe9JIK89YeFYQ2P7SnKNJlzbewUaFzctSzzG7lOBeHep4ooVmsnFvf6avjnE6opfCmPAgOxeY-_5Q0OecNlTQxHdKLCfgGcprYgkLtLsbIow43u3j-NKCL3sU72RMPTYMrtYW6vr_ip5au17Ytg5kBSj90dpluo3vbWdUep1ePUU6Ft_jR6pD-t6F7f7BbMiqss-nZve7UPQO1hIBZfJksnr-OqmaEL05tMxIFhq5Gp4tORTZ4z1jLgfd00SOjfC8Mve6AO6h8mkg_E-KVM53nFiGrIYNjYSfWhmCq_qafTVgXw7yTI9dxmiWhcg_rgSU7lSsDGBYTHctyN0-3VWZ4Hlc8zMbpxr2MCtahoecIuKCORKJq0QIxXg7Cq5ljD3MZgGRTXUOyb6YBB33y0wpPmK1shjd7tQFJxZhydQC-DfiFnmSFLiiLUh9QpLUNGNx3PWuitoF_FyH038-i7taAarCM58OS0eRg3avR0mIzOiPQYMkVyR090UC_wZMIhZEKyJauiFMnvSJUUGqT7HPUWiXZ58faJ-yf3J6omi90MBsXUiaBDhGHhUTLPjbX4oXVi9KeWRes3es1hvQbg_JQn13czebifGtDhaP_Wo3vlqesrPvpMp9GGqW7SMWRvf9vKOIDeCpIprL-gwE5NTrNwdGcUbTxh1-sNTbQs7LejNAF5BqcGmQX9JSvpd5fePC7pMMiXp218Xdc-_yqBaePJeU_OujYG1ObHNJwSgfxe3hGEsz0qstgOHOx8gMc6UwUSDp8bYyuC7jSG1M1zSiDA0x1zoCTq1wjWz3dcBrQY2ziKvj-jkANqhKyH75Gd-QOwnSXULLgXyiqpTdAWICWHrwPBlVWquEbFckLE_NRqm0DxxPMoa9BXUXU-Gy_5bChR3grM6f0oMkpVCXvFYiOpd0HQNXIX-hIVz11VzqzF0JtmiVjSSiwXgJVz3hqQAamZq2O1jdRnzwmwyXIKcn-kpY5thjYon7USIJgerlC13w2pQVzqF1UHf4yXwQ2WMLttiL4S5ZiNRV42z_URuUmPCGXS1S3gz_qgfVX3iSNdTGB-X0y47HVx0xAeWyEUOtMKOSaGlOk8Juh1oavSTxWN4OlNzPY6u8j6O-t7l0kJoSX7Zwy-eUEQ5FQTJszqy61xLWS7BncdVNVoEAD-Zfg16FA5pytskxTQKmsSpw1Z5SKp8QqVtxlpuaAQ9VEpMiCyAotbYlR2gJvE7EOZg1_K-gqwWko6BBYf0eRZPFmmdd7TP_WIK8fmo4dpfiyG-RIriKr2hVgYviXXc0NW28BGsUxHN1y2X9DqyHs9g9XlNjQPSAr9fsfoq49iara0GDdU3VTlgWOehANhzKYg6dB3UpqL4QGC0QWiiY_2rgmrGONG2Bdmd6b8nOsgHTF71vMo-ZCKe8Vvi2kdZs40XczwLrfqaD1rsNhFekSvl4eKF2STj44kNHUbpwrUPjGj8oRDyOShbLaBlNJRibvQ8eFOGEk3fYnAQu2LU0965wBPMBv6L1lgzit0E6yAX1j60u1_EkxULj3cAfDrM3z9eTVp0A1QYTN93BXm9VB1ib2U0z5Av0a0NMyVDLf1CRfaEmwQKEpGKPh555KUQanEbAWC7ZCKieIYAuURcRYDT4yvtwg1niSmCcIxyPxeABKEqVDd3b0oU8gbEpuxoocz_Z4mYFPqZQYxr9SNOXJodgy1l89-JH0QrMPtSxsxMzVIhnOWHrzubeVPDfiyTMZ7Hk1-4y83Kwu5YFtNZLQJrLZ6Hq7n1jkHhDDi4JGONJ5yXgoLLvJVfUh0ZEIIvxmL_MzLJiV0OBSH3vRNpGxfrGZBs6r4IEeA425HpObdt6L4xaMEIP_ofEBpobPgzH3pUEAQ_XS48GJ4FI-oIbv-8IObSC4Qq11KP2qZv-o7hMryDadjvlaqropohYaek5gANpWFYLoNY1bc--466ZyL-SGr86rqnwicXzV4ipbgBUjd-pHxORGk9Me86gyAqoh1GQO1E05mnzXtbjiME2UAyC_SjG5HQC8Yyg7m77O6yIxoIWLWFSSh6dKzPzy_Xs2te8vHXJ3MIFaXtL2LNsutKnzIx6WE-8yN3M9yFQicLa43FKKF1i7GjwvjJGATLxySYsiDDltfpUU4a2Ea7W9keioy1D7a-FddGGJysq9X4cOGN-4tclnB4PqVULd0B3ZsmKN4QktYL_Am_I9Q16Ew89lFu8IPB1N9G7CVbakvF6Uc0TueWxxSDa759lX-MuHLlL1OMTrRwD0gud32w91P_xvjL92kbko52tsVMkXghJXVeCQvmf89P0ADWF_6B7vUS3thk_oMmV-yxwGdFudnuQQelZZLaw2i4Yg0AQBGCJl65gxFVCwPmcbLkWfv490pdRVp2-V-oEPzrUzDpblhXPInrFL3TPWiyoMlBJzKQ4HqW9rVa_WcpX--s5Hi6kuUMwaZUBJooSIXqBUZOnVOM2bPFZ76btjGwhfpRHiWJRqkBGqaim4zbdhCo11li4n58ob-RwyLE85FP1UabUZ8H-AzzTTPT-4lEYQCRIPFIaUnN6XuMRjB0Qb8DqT8PgJJopz8JxkuSZhU8mRd6AAAEXhbbxUxX5fEFJFr-DUhjWV3c0HWK-y4re4vRiRLg0o3aOBoYZIs4g48V1b9gkS5qwTW0GuFxUbHHshwWWcVnNILpRevgDykP3pxb9Fhuy-ASjxF8aT_Nuas6joSgEg2jDcraZS7HHa4s8kHbPQ9Nw7aa8NerA-fRuSJK2MagcXqqUr9y8TNaUmoB4WwRgVx2OibHbdawdRg9sVcAkO9lht5MBqZHL1Vbet7VeXW0QBG_g1nLtQH5GXDUsrcvhJIJCXHkBIBHSjNUqu1WR-s5hfLHxz7ORYIf58HXiKqRPCgLAbfaEDTNxiw5NSk1sctny1-chH_WcvtvIvKnfH2kB2rmB34JZvMvr0Yz8EtroVp9vCB-2QLMb_3_9a4Vkyjy8BPpJ-go8I8l9CgYK0mI4i4lwXuRIGPH_fR8N0vOQ1yM91i406YJj4oAw-L3HwLX7gs1vuV2iX7A8-FPfa6MZ69HUE1H3CWxrIck_ckaE4ka4XGn_Q06q93-vJmkRu6FMocUmWL0e_UhtYb98yUBQbemqU55UtqesfW-NmyjY7nVzmCq11F0m-IBZtN5d7vj3OmIIbQWZW_MXloDpByn3CWHM_6OBBenDMMF53s8TyTgdWiHYCCbzdZDfwZgDx_wEoOMfFRSwGnQBrdopske5qx9yrpho3I5b6dWpPBqTn1R_EkDVr_oL09fdeUKIvrksm9Ewrey8nmjEZ9HB7cfrBxLLFxHpPJl03BV6Q5tLUQu7Qu1j30ZrFSTONTF4bN5fLpxnZu7bUB9CzT7FriBsboOaTJdl49kLfgd3psXK7NvGcQSsczX3qwHfszq22O6PWF3zrWqwJc3sEzDkGKamRabZFdAIX_I5LUZYboJzz3Vb2tkU2BHGBkKzoLRn1wkMZ5BPCAgfGiV6jG6XtKriN15_oNGbW2mhJNnNQ1IY8JqPwXRWxXX4KRxnd5Y0nVgks5NbhfYaLoxlTQiN9XSBk2Zc79NNeDLDyh86W3J5CfgdBT2W_Zkm8pohFXW0yv_OMziad0b1qmbbwuy_S1U69Fxi9vrdFEYYs5qNl7G2GcSJhGnmWMxrAD5e4QKTihY5W8rRvpU-N7cZ6qDuk4r6AKS9gSu3oO62ZAZ2_5BkITRLHjIqkqfxMxUz1PD3XaFHH4cMQAXlkhW88C-1qUSH_nND-bNZCHKjUUI2ErCSlwBxysBhUvAWdvLhcTZN-hllscE-H-uNxqyn_n_9p46Gz1uIwpIpY9q5hZg-zI6hTnHiG-AAlZ7S9yqeFEI6tQRCkxEVaYaS4WlktwkjgCB_I3m0Ts6Fo6xuZwTLQVGn_KVfa1D2CAuNcCZBY1PiqgftyuVocDZsCa3JSRxSK9YlxLd_tYdRY28L1oV0-p7XSXxTja7wJjMz5n3n3qh2BqqEMFg9Ygvc5Nng7lL8prhtY6auU36bjROZgGbbviiLUfdcn9UWdKmbrrlzyLbnfkTID4fWZu1B7cbO1c1xiVoKP0eACAuJ5FXqkhVGmw0SfupkRWm5RYg31QpYKy8bwveecBGuQkKuNwAXP6lNM2I720ZLbcGfSH2VkqJ9CYLyL_zDGnrqkPgqGixW5-bVkJ-M3bLIHwtX8nftFTldqENi1vEv3hsdUUJ4IU1C-MUo-CG_ojVdUtmn7srXLyJthVS4RZtO28Wm2G68RM8CIxSq7mGyOji5x-f0eiVCYY4FIMGYNt7whI2Wz87ztMvbW6cx6u7vum7DaxJMwsyjhRIxbNw9mAV29ITRb_rKNqhk0tpUykldh9-QiwkczdLrneWUT3KFXezZti020GVjQ3MynJJivk0tcdUOvukw-0lpOMKCjipwOk-3sPtOSPNj3qIMz6zAE_uXFxOkNPpN7boTzv47QCCX8Ru21S9tzLcdci0SQh5LHSBbWfSUaG6xkBKAYflFS4uEVOczUSRXac_3ybhhOEv_CW778erjAcsahIZubcDU3bF-l7J8BIpRXPLjeGV5i09Pgp7GVFg8eBBR1GPEGXtzUHdwVvxlT5t3F0NH5qJ8WcRTVNJuYupXd5l_xSzQoglZzfnaEe3b9yPC3ho8Y0uMM2bJiNVUHTc9nmdSrSxFPyYdQgqXYFC4yJt4kYdDvzKtrvSo40pNFL0uXsh7LP46pjz0PFFNysoQQr7eivTHIJj0tsYC3d1rdCw4XgAJY76lpxo64Zo6ACBKo5m6qOBf29Gxxpkzr4diVC998az4rlLcCPIUUEKzeT-OHZquOUvXKZY3BVUwi4ID2jJUquWPG7mIW6EmUGaenoeg0VYcLbuOAoPbagUd6rfIOV347wD6OlGLnVMKjBnKNORNAo_7WpJQ89AK8Mp4LY4CBidgA29dPue2sOC8ymZnxgiR-aP_kp-XxbIC7ojFpXnC8zCkTuUMGmQJCoUWxKDXMfHUgNxLsapTYzRVAf7rTB1XovpALvXrrCs3LmV9KfEWqNX5-PTax6IUDUSafATwznM-DqxUq-QkNVy6yJjJZ8wMqUvFre3C_dNSTyze_hN76MDShWaiil6ZZckedztKRdpqex-7DWcD2xaO2yxRhh9BC8h0bt7jHzqWLFAL76L1Smc9FWzkbaT1OTdsDCqRN6SV0GmwPJSB0R0JucVg9W3smwNWBL7jaOtIvVNGSdcLV2ztjzdO_4oEAbXtinEegrqun-oT6FFp-cu-4eLfCnDtigbjl6eXNggdIEeoHk-AUcGQDJU1kXHOhf_RVZWTzVOD0GmATmXn-xlu861gC2zLu1CMtLfI_KGjaIIT_FF173Y5SypB1teXiD6z6I7fhGjgaWtecLiRiqH0a9PKFfgS9BRFZic4dQnFk6M7RzR19mrnUltdDv3a3q9_n2mBPl0bayTIVIouyIP2vFemmI2cJ7JWaGT3U7pjcEIcPXIwR4reYKH56g6r00sa1WjvQaPwBVs6bO77tFTaR0I0gJTbZvoe4Hktmr8bFQg9QopDKnu7vwDXuDAEImgOOIXxENNSLc11Yc74j3a10wo2q9nIn8o1KddmEyBXBj7gXrjU60TX5PkVHnq1asI2AND4yzIdttfHou0m2o9J0Y1JMpG9pM7SB3yIi0DiJNLJ7HtX2u1MNpibigJPjtp1krgkLETleppYkYPPXdgM_UbEmaucEZc_lT569WN5XrjK45u027ShPnALRJwSfSYBd5CuJ9DMhdDOcvZfXybisNnApjfGVvcsybfwcZze8jLfOn_oPws2hG45SEO8uxhD--dXNYtFxZqUfVlR1OJbPYOeb5H1gd6Squv9XPHPcCviIELqW32u8R2qrNYrZ88snVkkAxjk4XNSlNIZriE0Hk2naz_V4HNDjI-XkcCh-nQ8o3Xf_MGhsgQNpE-cWPWSQISQl1xu_heGl1X3LvYHPiSigv4ovVh-VIbFvPO8ZcacBBA_8KaasZx0IPlGzouuxPH21Jc5K2mH8hofLtDOjA_ZdozeyfDhnH4Vjm4Rst2NQebYpK2db5CIjNWwsMKCJRnpmdrfG0fzl0cDJIrYngJU71B4mllnxtcakWXO48HreWWjnHNA8i1GWedFZ9yKksNetlC17eYmuz-4neBITnGyMUFWT3kq6h1AatS9N_M9b9Dk0KcXlYcGtXAYJGV6_aJwvCeNVc36diC72hYRetyTu2g_ZzRwyojzDnhmYQTYJMDSd1RL9IAd5HkOSGkkvTZBfawP0Lo7qjXaDHlX4M4fh2f0AREw0ARhyoPO9N4MvUCwAe3_JhiHlzrFi4oH5AceqYkJaE5Q7jZGBxxi2ibJOGiSK3dP46eaJwvNTRfCLaraqKph6WK7P-ZdHQnn4G3u-IfizOxiVyrLcA-t4mXnyVs7OVuoFr7IvMRFVgHTG7Jie-4BwZYEW4bYZ_d200-8suCk0UWPAru2rxqqzSgJPq7xBSoh1AnZYWLSeT-1gu6sGF8ykQe6oaPaeD-SRlNUiwX8PR6B4Qw4bkAp0t8OsI27H5F18vpXS-V0FhHNNEPDi9_HLq5Tlj_XfEi2WF5eUwgz_VxgYobOFzB-TWVKgZnIIbLdyjoGM-uvQgJWYlLiZ1YkmgkuErqdy-RBlO6kVyscMcSsMND1t1MTgND_xTPHZMjrVJbkPaVwQ0Jn_vla1YCU-JT8y4oTEDQQJheJMULN9_LtN5efrq0jVmTwOz_hwV3nAu0_DDOxA0g7xyfJDO4Rj0fEwbYK1Rh--HK77ShR2FpVBVpzmsmnxW7AlC9krYL8XkvxsTYI-VZeoQsk5bFgIlYT5HZEruvn_pXEzIfzuEQ9BBfEU8c9F_0F5PLbb21NS1Hydr5LEdvqQojOoAUVhPKKuMBEXb4KsvUOGuRFPXEHqevzbYfO5ESu45v8AtCkXqc-dTht0SGRwwwGAPpu_JWWZlKc_ANK67H9lMYc-pmRxZ_IXzb4ZwwCQ2d4zL5Ie0DC02YXsJ62QEHsPxPMknvU-1VIe7QMJPeXWXHSE82Zxcbm5r3byshpWm5OGY0mWmBhiCFRTKpFYzrB8oFx03Nd0gEgAoZJfxfIbKu4qjpujMtAyhgjwn-50ChAv2mb0b_Q8irufVK5gv_Z4kTN7YjckRIn6oPfDLUbkaUT5QhDEwccwvCkDXhQtZ8p2Rb0Aq_ghR9U-VaCNdOOwWR8kMqeLmfo0KKAV6sYLTiT8pPMA0JLQxNRwMsC4OOVqYdmU2pb4kfOEY7bVbfQsmkbP-0YhgZgEhcd64fdvHNvT3UzEMm5DhcA36Mn5x53n6ZT_OpgP4ta7VTnS29ThMA1C1ftr4hpadIjW5FZQLbHoFOY9lTJ2kSik4XQi31TMrPlhFutdwG6zYNI38RzXy_hAJJImv3DXFFxpzR3MnlhSxcS6PUd_PJj0s02ChLl03R-NZfSB9BbW-e9YOQGxOvz8RBGI9y6nQSVKiPL9K2FsXlTbjhSj6RGzA4n87fcf6CSA0GvGF6JmDTmf21c1PZ-UTPCzqX4NabPcdh6b3Z9ekxLZE6fIfQCCPFbtSpyd58Xo6dXCITKIQosrPRp9ljgM0ELOfR5rs-D7UD9Ff8NhVyN9pXSPd0tqt3E4jvYIsdtjF60DdAqz2HTAUBfh6B8GnSpppQe23j-tkSmgAx904g67yIJBdF4etlNto6aGywBNOD1ZIenrtlCJERlrXwGhu3fPxcujQTgKiWF1P6hv62j1E-uisQBhDdnWPAJJ8924WNw55G1nADhw_lGOuxbttHrmoH40pY5czGOzFoJbG6ozFEqnldoSlhyDsu98VnFOmQciwh-mrhjNu2zmASZPqdbS4WS3CDDfCQx56H7poekbRst0-YsklizdsiOMov8IfCzw3o9yY_b_IPPPnwQaambD88XavhEX0c2xVB5NE-YI15Xn2EhnjFlE2HBuOIDi2Iola0mDrTzknXT_FDQ9z21RzH-hi2WU41qmSVDArxYMsyaIoP9DcDR6obSADOl1Jhc5bQdDHTQ4QTnG6cmX4Z9emm0MfiDraji6M5tenF4KlLus9rKW18gPgnoTZJ57SG47Q7jMpVAcRByRqbj7KyZMaCaOOIXY6hCPEsRGoOjLie1Pmto-ZDpjDMZPs_c4dtOUOHIbMWgLNGL-fLwgxBSvC1wfy8o17ZHh5iSD_1Y_pKeC8I2KsUEr1Jjdp0nG2HoLErGOlU3eqRHWl_1tsNd_qeB7cHYoITp1JZiB4cObxFh9-xa4JGzyLl_zeHh44QLvz4lCSf1waLl-6SpPiGr7ztjOEU6RXitFjyXgvdr0CDEsZUwuycj9mOjFFNMeWsJp43wVf__7qkPY2jh0ea4R4yWoGbusK3MyYTtSqt7eX6-6PxOa6hat8q4gQ1B8BPpjnnHY1U8guHRsFJbRQX0DmJ_D0IwPHRENQByU053CZQuCWc3VW56YfiVN5_3GzeYSb63j3HGr4XbC-h3kgtH_SXwAbCutvTZYt7TOkC0tFH7hR_jGzKw5kKl6DtjkRuKilFUrP-VpOsZMJHmzjuDjrXZvJMLaz2xn1Jgtk_l550r9jIWmhNwfEpFezcOa1ml4MB3_twXvIi1V33-k8fP-trdUPYoXZAJUtWlrWP2t5bNJMoMoTCCxN9SGySM00uf19CSJlFx57B63FDzPnkZgTrCcXQloDH1hvBewJMNslsRJyGi7i1KxwG5BivqpQhx0tcEZXV0IB8tDR1Da1ScjfvURQGuiEHRnXRBHQ-N95oPsXDN_TpYqsyrquPW4AFF2n68XmSExhfl8KOeMv3NGHewH4TtP3hlEMy3ulvQ2OvlK9V2pLhwZHx2ChixC6zYrYkA3ChpuGJKhizZuprFl8poaxsZQfuXLdAKbEuHbgC2t2GcM7BUvxWH9ph474CB1MAnT5GU3ctrw2iu6auRh2NW_IBRROkk62jIeHbFWPZWUQ5fxRRXENS4hGNvTQEC71xA7WX_03t73th74F4rbxTI-6xlgUz7PNs3KrGNzgZf4h5A2numtanz37rxeGn8qmmRUMjXFakPDTUgTpqV1FhqxjP5IK9gLTJI9G923m4XqVVF7suD9iCev6qDdDxa1PgrNL6ZccBi_Pt0ze7SpTH__Ra3hp7RglPys8ExtsdE0NywQoAcDlSRLFGUJBeLI02_ZU937baOrAi9aumrrFY9cLTnhLUfKiJy5JJPLpNrLzjaDOrF-zzkb4Ax-fan3LtYQguuzj9s_B-R2RaNwG1ZJHpyYJO9j3YT6qHAX3obX6r-sEFxONh9XXtN9Ww5gP3gBGra-QBscZodMOHgpPrfeDtS_18ujiTk4ocZXGCJO11xIHuxU0mN8AXyzjHwnhlInBAOEW4vJk7offwWCXCmfgNzhtZITUT5iF_M-VVv0yqnobxNFMmvfgxLvVzgbppAbm5J0VxpO4QqTSWy7ZxLJ89pvB5rSi9DUw5KUxsixQdKwYpGLKuL2TAsAQjFWlaBhXZjhH6fzt7IxAdZGq4bc7jBS6X8x8xwGjY8kV58-Esqw_b8ln4TwXOSVbLAf33UMNlyMR37VOfrKeV3TBG3eMJtxXXqp5LyRlVmjtg2wpYnFtU81tfA6wwatGriQGnTiIxm9TDZo9QGmTlMq1LbVHLXDR0Fnj-cMGyAPa-HiHEcWB7trujY9H2Ov-UPMlZ-H5ZwJTX2AV3PoCja5f4K34DAKGAyc_nXw_DH7u-IICGLlluVvnDBapVu6gBVoCeqhHLAkGJuZlQfAX1jwuU9-u8ZxtF5BDaGagPWA5TqiDlbJsKfzrCdPNIJtGOBdr3RD6UiHcDaT0tP19soLr-Qg2uMQxWlJtHzxSkA0DLk8CVii5IeM7e1MVj1fqaduLD9DPV9xAlyL861Rq0ySfVtYJkLEcu17xwwB8TUJyFLU9MPsYc5TeFSmsKgH7L2YUzpoCnifiV78DNzVABNzhYXzUkOrGbjPumGbBc3cKZiVibMp0bXlFD2P31Wp-jKWFdJ34CQGPN3NQ5fk1FFQ0ziJ3tcSdHw1F53DIKXaMXhNAEx228mBGjtX6xHE72Pn7a_-hXAoy5bdlv8taxNg6cXw1ZZMRLH6yIQvSHkA5iFCs1V58G1pZWOeiX7fOD7d6a58x-8pFUP24gpp3oTwmtbb8j-jZmLDkDG4-w0ljwoVQruYhMj-I3UQPeOnEoruJ1pXErAX2ndqcqCY9wg6APdcWQf1RGAxsyNQqUNPwDv1oJtS8-SFAKoduupcfhGz0OApzuFMA3qyzW9eUqKRkOfhejGXsoyMjkNpoYm3FyzbkeXTuK0Ae90xgkaRkVcxS777mRquN-Sy2uYuNY8Nrs1wXfk-KeH93ebjsVSe3ZFs3mhpGqU3AMwtNwMyQ3e1xTuYS3Vey-8a4g5VvuRDfA78MI9jByAS4YW4uCz3By_qWA2_Myrh9l7fIB6uOfcQ6V2x68SEBfY3xaFZi4r9Y0LgBXAnGj0319SI40xiNxdUx2rZUBRuyeCs4Z7cVfRVEdjVcJPpl-pCS1Auvq4HU5xua97bTxyDNd50QMrLDLrWQxXJO8TQzkKSCFOqi0EKJnf8oaz_lnfjSuDSqFb0gtW4FQjujJ5bX6NFMGgnRlV3cxrl6e9rEN6k-GmJItIJMI-8tIQgfC82DIUVyru_BkIkZF7xu9tj0VdeytUmHfAzpq1jj2-j0_0goB9WO1Q7-TEtR2TVcIgMlKMrbkc9_XOxyd_haTZkFdedbSeBGeonKaenWgoOTnNs3igX34wW1Qc4CYvpGggsGuiJtOpVgsUKgQwVFH2AhlTLZjBGaG06kIL7ZrrLdvvH81ZoPN9eP9spgOeVTy0GRGUOFgXLN0vNsqugsuOaUqAz6hIHHdTTJgSo9BonP7lpD46IygAzA-cawR2oXNd9grZGJldYKjSgPw_VUNBExAZU_iugviRJ0Rw2LR9-0YKU0VtXLXkh3Ha6SUEGGQUMl-SgYi90JeDgHau66vNoreU8Z_pzQNSO-dzO_xwE4bXn7gxjVWEuGmH9qYsyICXvzhLR2nzHAgvb4cNBVbPJ3liPZwbFTGhEZLC0doPLFMVQemKq0ITKjrl0tVZVIbXJjILfiSNHxVxnUioyYgF9eNuIJ5PgjPxqYq418MCSIcZJCTxE6G_L8De7CyMG586LMAULEOtI6E1Ir1GIbgEJsY8BbX13UX61CD81xvFi7v4m_CxrMI1aQN03eXbgorshZ2JWJhYOFONjj5WTlXfdFqwzkECH61QJQAuNttNmf5KlFubSow6v9NuZ0PZ8TioUDFLJNiHRAvcP-p81cSquQQ9R3TwnwRlIhxKrJiibfb8GKdho84rYAOGCtG9SDluWQ4ybirSfsvEgCby7A9gExKyB_Rtf-g2KumxSO2pUWVvTDfC2_Gb9PWHGKM_OIb11dTZYtqnLvUFte1S0nDeL35Ip95s8XpkGX2kf8zxka0AP1PbTCgBckE4WM65soKIq7VlCnUTrEjtwJPWmnRTcieDkPIl-T8CPCu1OEfutc3ZABCnQ5zwp5-Nvc4goWbUOH91qrXcsgZ9E72uXw8SJfJqT-MAeoW1TTdbA20Fv7c6cGOmoc1jDB45WNJkJqOjBtV1_sWdc7FM1GDOduqDNGtecM8wGR9mj1nYmiDA8si6tLkrWQ6MBzwmeaAtX5miQuA3RNbFOppB84bu_cXhig4hKme52_VtFk8LWuwQN_Gtrd-WVZVq9IHe6E195YLjXC0SNwcP785DvRe1SBT7w0km3O7QKMC_0xX1vCERBAEdp8rCnaSr6ddF1hErlwYMd3qr3zz4X5pTBa6FJ6PkrqYToZ8_LOuuEYWCA9GW_qRdGS07yHwFnswSccZwYEm_uXuw3j-WJYJkEG_ugaQyFT3La7o6vQ5gfQK6ah3VduclvE14BikPfs19C5qZmHZWyk_4QxyW06MYML1pUxAprQiBFXH2Jl7crdf_DYm9jUX4j3lxL13Org-3b7z_F7yu-hMuQ6kaOG9FXBG4c42vJ0-BhLNTtFdhwTLjAAgdNtxa5V-61ppY7hMzqZWVxZAVgDFW8qdtxJCUfG2eI78gRQzJhSwz97WAnppsa2kZx1-63eEEt8JDnBCL2BbFj7iEzomtdd2Gc9SdOfGGpI_ooGIyS045niQilQhBujyzdhIIolX8r542aFhdxvW1rniXeg1mtA7Dt25aifCgfxPsoNTDBxLSGCP2Y9Sn5MDkesKDH8d0rOwvw2TIeEmx0M2gXYK5FBX8CuT9XdnrPuNHBmW6nvZP3zC9j_X4br0uNqNBnehKj8weqdsO1wWKxKmADBegg8s1m8uTBrVgoKbAGLI-BFPUxxkOXthjCZOK2quq1zh9m5JKj1j6jSEljotBaE2k0YBpfBuh8zTwPto3VUKCRyKUdHrZLkWP8p6xilOqxbSMcMsOl-jx7ruZPlkmhiN9pU8vlZzj1NyswXJzLOxbUKICXeiNx49FdxOR_CEeCuLY7kV0tAO552HK7TxkJrbJg3Fjgq4YqiDde7_s0Our-FxU-KRFn570RGNwgg9uaLvH39ne6_RfRH6Ki3BawS4uejTF1kmpagdChS_7CdwS_E0FMQ1-UkPF92wadJno0Yp8ISGn8k2_YXPSH1_Jmo5Sy-KWlq88tUMyo3rHy83d3BcXWXwgb_iVTI2S6t-zsILNREijVexVgaNFDELQtFgntAx1R0AQSk8sg88PYwZ7gzsIMuz3HK2CIJs2cahzz7NLpzKy_yiuXoOTd6-j780TbcK1k0v3AvVSQXUHtq-8_v-YdsoUJxbsuT2Yq-cz3TcIXPPDBiXuxFKTAlp4JI4kLh3wSDWr_KroKmmuTg832eQvfaTJxbFS32U_Wji-qZ48Ix7xUmcP__YstJj1L9FsF_x09kRKVZA5dG8_HP8nQutXc76NJA2mKjYx_UnNzjKs8rNClMv90SGNVI5s7DhOLVX5u_V2O4TUxBgSnnZjDIz38IAZiDdxvjeA5aeV_MuokwdTzo0q21M1SAE90C_EfQzSY1hEvR49chfihowzt7YffNlC8X_HugAcAdH6dOoJsQwn2-FD_acreWcMy2VBRNbmh65mgbwXMu3USEBHIQ6_X-3HiyP9GULTQqH66dHme23OImLQ0j72x-74VesoB2q9YLiK2vr0c1LZEIXCugd1WSaBQ76AzkIc9y0nu5CrSgGxz9_0SmNyh7fGTtey4Y3x4lbkowYrLf3n78GLni0WJtAmhsjGx_k8WRCHoK-lRQA08J2A4LBaEh8L_y0N_E7PAYgfK1BtpiM11qjBfxm9EUQ0wtfDoKtNtzpbCs8izPQoZ8qXUe9RMPOdc2NomO70CBIdy4RZRuEwIbV6xQRO0zeo5450pFSBkmJJxSsh9VGgYrUhnkuQgXUSsN5ijWsg5Zt2tYofyA-C4zmXUr1EwHHsZlwx_yNayid3S-_KY3buSlpvUdgWiShaUf773YBWPygNJ9yOH8FqPFqoyVXCwPSDCVPOZ6N7FLk3Oo54j7lOyi254MrsYYKALBaw7eLj7XdnzZLpRP5Qaf--sQFLZX1tARWjL9w0A0LKrPmoaZn1nNvd7GkFTTDuS09l7Ugo-AqbeC0jsz6LtzmRMpyk8F6lCdXozhBSs_NUW4GsF43sgBXMA9gIkwCAms236-Q8NzkOkupklAQDcInWZkt7HuLSsTyG45NQuOPA00DejEcmJwC707UuuSk0dJkEKQS5JEnnCvHZUkoMlu4pF6olHvO-YXA79vxdcH4_A5yEWWr9dW-yZlBMiSMWPCin3MiuA_ZwRYTzfnlmJ5fFMjZNbsP1bkFuwTxDw5BtAh52GX_erQb1R4JAjdWFOsTAKJoLHdJNNKqlc92AhG5ORiYl2_tf_k9BceuIbrMlJ2RVUy9Sq7JKypsshE6rWw2aPFpIWsIiuqfZyrgkZv_g-gt2vT5EqqV_8KB6p82mJb-dIy4JFVTyYN6HrzcQqEyY2zzrVaxt6wcMCKAXqI4MOuPmP0Cw0Uaa7M5hDA_mNFqkQkA6grofMNnX_zpFABEFDSnTD4WFfqsJD_yMHHiPdae2vI9vprcdLiHjOGnJ5urNOL4lPcpJh8MCuijTv-AB3o-jUZfSwZVLZ8LrfclBlxuwD_HerVnWyzvIKtK2dRclbPx2AQQTYwiZafHAYxPB4GQMR0M7UHdksCRp8ZfXEztjYNQeqcdar-7cfKD-smYPU0tIfNyaKfztAA_kXB2cfGLAGZDVynoON55O44SSEEvcmURaLfte21DJBLm6me6Nhdu5qes9Vm_-HnifOjtga_MF0Cgb9NE778lL00hKmHxoLcqRU7O4PoYGO8tcLEdWIIFyKqSJ88wJITKzYzfrbodkKg2Q_gQicfBzkQo36qcHLDSS0g2S_MU9LEpQk_2rX2gtUTdi3O-eQQoVw4PUqBncMFLMAnkC6Tk7FFUuS86yslZWphDrLOM6aWDEWWc5GoQwPVSWU9p5zU3fJ5wYerQiwwXfM_9C9BhrsKk1OIPn49uETcmZYXYoDD_sMm2ZO7nJB7CO8wxMO4SyUQMQMCeBhmAvCfY6qKAN-2Y4Osr2Pjjmuaeur9UkVc4AdkWkWS1y06MbUYWmKbYMwONNSOB1KaApxjyIkCJ4_nyQOTGuyNje6HofsNCrSXKtPeMR6L0nWBE-odOB9subgdrOIChbpxEZC8F5uQ94rDRLlAc45R_8UsCvm5F-9AsbS-k-adAnwydbqbjUxOlGUS8RN0qTfdRhb8PNngnO58AxJJDZtO-xyQbM_jtzQLW6Mpe18JTItZ7sTutam41ejmidRqM7FNEklpKPlbP9Azwg8mHaxAet5JQ67rVdN8uBJ4A-vkH3MNYlka1oN4qMfb9RWA0DkYr1qVmQ39jIDK7UQ3NVSh4arLIbMbTYrowyZ-9eWHsi3S5Grs0LrAUKZHGiID2MvwcaalY1jbXP87xaYTgPix9mvHz3Re4EkViAesmvX3G8z3qhFmHYAiJ2IryjcrPFdXd1jqkokmu1SbJC2gdTFf5tMspsSbXE7ZvTM_AHoV1Nj79Mfp6oOv2s-3R6nOTuvbhikDFgCXraEpI8LSCbk3dqJSoPnlX_oFQErzxmEl4REZcFBaLFLCD0wQYYTuzbQhBGsKXKbWfyN8AIcxjVKpna4PwClI0v_yPf1eFt6yV5WsF0xvGCAel-xOQwhr-mWdG6bP-dk4FXbXbjb9Q8Vj1HxCMGWQuP3gXZUn7tuM4RVeHzAj66eLnR39bRg0VbnlR0-GVR9BBbpUv9QnQUtkdpkBVJVA2liUoFiLERmz-cQOL8f1h4bDn0V55srJYfcU_HBGWJTwXI0YKw2xOE5OmXqz5VZrL_b3PkawyBZXWHaQTT4SJfZNszIbAYqt4A2N8uzDyyQ3OcaJECYsOWcZWMjZZ2Fp2ILNYO3GK__5jw5QU4d_GesCDbfBUWlGVfiF2X06tZKKovd9pkrsXof95Aj5ddgnzw6QW1MKSb5pRnYRkHbzSs71DblnFnd3hpkBrxEL2ytDB0AIuh99IiqfVpa_OjiQTjEAzQdL2lfVOdwCICeR925mCqYtjLS7vcN35NlyApZ8UzAZu6BdpOwfSL0MIZhtR69mPuIGIEzjOzeAZirM2inGSOvw_87LchbLt7117TkT2i_kAprjQ8C_2aiCjWdXInIb9qQGyl-SZjsW9wsz0qF-G3T5AmtJWShpIcrFnH0TDoELkGtqRY1J3HOag_jaIlH2cQRUmoxp5ZumNMYJrWu3HP2F4Fb9f0dAP7BZQ7JigqUf0zjFJ6Y-970u83NOEdHQn1YYyO8ZprXnhSVAZgzs0iOAH_TXDOgUTCkwxu81XZD9CjjU060srVPqHW24pLCX4d0HqTKHDEraME_hY93WebQJlKrTKYv_CiAJMZsDGBN3O8JXYlenPymebVqA7LhtB05R-UVrPUtKky717KtOKswIJPGig2_ak8wCNP0mQw01kwDg2DYTsT4ci5yHM866hD4Mca5dXWy9j6W-kwCN63VpBUaHVP-YAWjveaR7DrwnZitYXEB0z06qA9g4hr4iLuUJKIAeUCxsAo73yihTYBZ9hzD-JU7-LdgWVFapambSw5F-zKftaWbFgW_NNklJqWv5vefTl_Z3CZ_yDsQVqM_XBKCG5KySEGaXOpgBGNeeDXGFLrxHM-ZUE7Zve9IRaofAgs9dJ5TtloeUMK6F3kKASTLa8s8NMKT2g9gCzxzEc2zXZXPTvAsVUb48Q3dQRXQDVS60Ki4LdDOKt5e1aPyxAtiETnte7Z73h8KyjrlY6luNsWdtPJAR1Bg5bOF6-GmRpo_qIDiXJxTNu2MsDHwRXPPkuRFw55e7l2u88tgERM9eIzNSI3u6h76Qf_zc93dsZJssF6E6lPvWzJQehDwcswmxm0y867GOOfdW5YH2ulq-KHg8vhTnx9CGjinlw3WhThxYzPHqG53t5tT9HzRT-rPlvlzaMmTAAgnpLpg678S59xNPthkpWzcwMlz11emPig4cbNdW6CbsKyDKE4NZmAdmUUT4dfGNSyPdKJXqYn5KsTSBKMjFA0wVNjLWe0BbjAz5a1WW0uhYFkiZOW_gC1Jm607P427QaQfQ3sAmahWww1q5ofku8CquPjH8BEOnxLD7ktUa4rjkDsodM0vr9g5ULEYAWQ3TPFHe5mEvir_PTfafJOksJ-NDi5n_cg2P5OFisgOAHK58xxDycavbEwFS7tV3AxVizmx29Ut7tInHOHkYs5s6clCOY090pxMEenKTGEu2Fn8VB_hEdi5aR0NKP1ml0RPH1YNYTlVhRd1wO1fOXWzS-ISre6NWUUwe0ay8ARtUyNFJMt0bdUPGaCFq0e0Tkd6BmWceoQtOXRoX6mgr9gX1yKOkr3gUNtTpCKVPFnDunTut9P68Qgurmicc0PhSYETOr7-zSz01L_kazun3YFY6SKrZ0qYXtlFuhycpdDvxJhbblooCTXIJqhREa_2X0aBZHITycjsmaiwS7FGu759_NuGmYldi53GK0A7TbByRHyGUaYE4vckvkhPNE4UTy7F79d_5aPyO5bob_1HAZlkIigTP6tCsYj_De3rIIWqotFZvvYRr2-y7A5YKp3ITu_QdfH6f1uU4BcnOM2xyiV9nPUqjjFbc3eJYTMc-sLu2GrzIwKRcCXOsAmqzr1NFeO3AgH3JTnYKZvDSW0hgXOLFqsxHikGkyS0kmW9pXJCU_8QIXrTczWhylBO2RaZX0_ji3pd0Ff9LMyYQyDWIAn0DGD0LtX23baFyxuOvDW7EX_PyMIzfdRm9eRZouezQUnsqsssLREWuKaIQjZEwI-8pk0lATTU387rnGhWLBTcbFVfCB2kpy7_RgT_JLaTuSLGP4JHCuGqonu5QmqlBUVw3hJay9YqX4WUd4QkoHl6lVucfqWSLigBRFnQKvBh7P97xls9u0SlWhUB1V6PcGhjxI0LW8rOQekWljzs0OqPKDRtKFllJghhG66nG-6S-VtVsKpqj8pE8EORxWpwBs1zt-uoTA_VsjWiPBf7OAuYT86ejnHjbG-K2FLKM7h4QkjXxVIRsaL7L8WCBeilJBoJ9axmlnEb3zkNhifmhkjCJKb-UA2ENMr2bDFWNC1kEz8PDiqQ9Agt5UP7EzmyO5PhiUnUrIZwd4jzlCxEcjDQ81rKg6c9QAZ1BG1hp1KIJ5ZwTUZgSnOj7hSeNLXTFwdTntbDElEC4PD6FoRxwEfpPoa-Rw5N-Bk249QtpD47jUNojVAJ4rHOo-74AGUvUXqUQtx3i60FGsboAazJYyvVdWEgPZhdlCx3WNvxmip1jid8Ng0uQ2kdk4QG6NwTU1fGpxa9cfBZgvQooph7d3FABWL855Q4xM-1iwDLaCN36semvcvdLCFIPHHPgSe1Sdo-DJgXastIp_SiZHajyMvTOCrTwVC6hIJ0h31QDtj2kzSjvtxXtQvxd_TAUsNtmSozoO79GIu_Je7oU7KVHnCtI4KBiZN4hcFBFUDUzGGTDFVxkv-EG-Sq6SX9m9x1hsVreq1nyfKLDNvijOSCOc9kvaYh88jcaGGk0MUsiqCLIIkrpiS1c1_m3m-mfYuOSY844h0nfRMHKvaeI_GslZXg89rtzxGS9A8T7oyFQ3-YRN3csOup9xtIn9g8W_v-w9tQ2Bm0AH5D8ms9pjgCg7F58yxHIN_EWRBnk6t7I5mPbtfbyWHtufT5cJqgFJH8TTFdIHGgEcSIOiSFYbB45gjc67mnpHvoJSTkOGCWufZA7NjVzAnCLXqwiH04MFWVtrdgZyePy7ibAZmxUyUQUwa1hcQvSCpBPuotDWLgUKjEymUYuuaP2JqjyXof1adFodwAVRSkVqxy-KsUd7MsF4_SdOOtXbGg0aSXXoeU9sKeftRcExemd2f5QoNibtAKK0QCaeUd0Fcwr42c6ahxSAP-gPn5gIVuz6Ghzuh9Y35fLY1j4L7icQQizSFQr3JyNXrFnTlGkk82Eh_2xZ_-4vCqLsmV1e7Vj8FO928DPTJbNssZB1hdX99D32Qr8-JngMG2nvFhBtCUNAT_tBI3Tb-cXAp0MNr_J8-TUduBtaGZyLa5FmELNJQDAQSBk09SAH3m264LAfKImMGYu4zCU_cFP9jFlbsap2qg7Qx0eNVd89lvWAvRLKxHYOTrVdrCb2NPP8SXfVauXaVO_Lv_gvvOCgX4uhorsg-DhcDkG_lHbm8CWGqsI_1huMd0e1xwD1YRGM6bczH7UEAX9W3ZNlf3vtobiToHhOmsXq56Xk3-YAcw9OtEsuDKLm5XqPp_95XXtA-BGwHKToGYOMIh6FPpw1e-EqTBjQULo8m6SbhLjLwEhU5kv69n_k6iLwRKzdf8Kr6KQS3ip14-ZTF4L4u18kTyTKYoMu017Ca1thg7utXwTy-0nyNsAdBwRBbFld5P7r5rvkYNko_pN7OOKJG8vhri4_uoJhBsdG1TGHytPxX14co__QFyMk_r0-i9aBpOs19Im4_6dWv5-s6KXWgmUXFy6zcf0CYZK6XqOQmdjKsONUkCJ_ACh3et87olc1bVtQA989n2mQyuaYFAnRXtqS9cFU9OXeQo7rUdULsimJk_8hbOQ44TWF5OabkHf7KYjnLRB_sJsnUieAP1y5qt3wJC2_E72W7mEYcp4OnqFBXZnOC0RD8gO2r2FUOQrHURAZfCPuF4TqoNB463zgx0h_F_Vnp93xKjv1YNDIj4KkQOT42eezHAVVX5UER6yhqGxVgG4i8Rrvkx7UYhK2QDyx7s8e7Bbns8_7W6A1kiAocXnsmOM4gM8ThYJtxIEeuyKBHGTfxC0QRusLP1RxLV2ikKTp46o5SNIwdVZ83A_EA40PHIG8qvmTyhScGYO853b8NnCwa2rUzq65UEl_hPnnvIwET5da9xZvIp5zwzTm2onQ8E0s2gc6MBCeZ8cJNedyustg_bPi9rECxZ7FGq5WGuxDlx7M08PuqQhhQtdRYlXRg_s2938KNY4QB4qmYOskCzmQvKmMcCGhbQUZ2NX0JIfk3obCHGWLnYmIQ-ar1YQd_PZpHcGMC89TAt5eHnkWZ-5nIFZkYiiSmpnGcIq8Uxs8AwYWBSBX3ACqwuzqgMkbep2C-JGv1Q3ZVpo17e8s2IHenldjcr-oG7i1CwqvT2iK-uTa3KM5JUmBZKkKQkSpb-C_4GnCaDajMp_Ec15jQthGzUoIe7462Yd-5GGbvn7G5JUUwPFDVlwGHbLsrsq1nWldbbnwvnl75EKOJPKl_jdDhRJ4vLVFUiuBlaitjdDZ0l9Vo86MT_TD_xzIwViDvaIx5uB3Guly4QEUD5dhVBLw5drah1WbUEfCdP8kk-LQbd8IGR2ESbgGqdZOiNbsq3in_UwRZwek7Xrl0jg3BVBQVaGedctC1K7g5-h5m6Oj2WuAUltFxiqGvJEvZv6tUHKwykTqF4TZBybA-mYWjrIpMq_Qyf3E0qqpcGna2FNrBo9lnh2XhRApjsa93s115sbc0QFGqTMXm-gJrBVi23AYWAMuglK4C0nqyQCO0kEH_mmAknXiPvMpsQw1xh-pFcHlIX3ymmwpvjmRa-AHqYn66yC1Q6XgPsQuJ8csIkz36zUxvgdnl1uy7GUDKHImP9DEmf7CiRy-FvCaY6hSYAlIvEUTzCtyIT_fjgTV2RaGRZc7E4bY95vmTm7-jSIC_fdQPFo62x1En3YVI6KHth8pJVNx4TtdnegmlL6gMyfTFUdvqkVzP_pbdRXU5DynwQspjZ74a-fFElfaPMoEXQZgyxd2UNMT9VXUnOFPkPZ3aOAJDPXpr8mJhuF5q1Zclbd8mNTQn0dTIu2Emye218f35ztLNQFQeo4gEU9inFQhF88StFWDu3G6IaDwhoMa-xf8qpiWnHa5eAq7Irfc8TgTyPkWEV0EpGbh7JZAgHbz5qx-5ap4cR9ymtnmswjNRErSnBPPu595VXyBF5ITQHTlu7W5goJHgfk6CFSzrl6qTF-C_J5CmyEfS19BVx-ytNySXaX-xu53eGAUNU9HuqQhgzrcAIJgyKFMHDZhaK4ilJQHSVFYbcdqIVMJAbnvNCu5fg-LKd7zv4JMUvtjDKFKbmARmKaEx6J1tkrsh4Cd9JYyTXSWedz5hRULVm2zCvVe2LgN9DAk9DRY0B-nX96cwBHDnKmWPI0lMZ_qjkBbpwP9LUcxve1PsPvibdJyq3BQe4WoEoNcGYR2u3Z7TTkMV6PfDT1kcb4SvZ_5H8EjM_ZD7ijyFoxRetJJZjJ15hu4yQLCFDw2uJtuHcPOdFA4gf9Pg7W-ZXROVLNMFg6M3eoRLDjqTsfhoNdO63DOEPU7cz5q4BZunykxmGQVF3Zc5ol-WbX9sc8-C8wf1T16bWYGgmMYt4TVTomHZ807eD2XtsrIGxfWvd4AH5j-elaUDP1ennhevj3oG-kX3Xo77ZYws9oa9kySTsezIcUy0r6zylRE7RFkNjSONEMEDCNiL8a2j2OhTs8ntxjP3BkjjFS9bk0iHC12o-JFEksVt3GKnxb7wggHjLfH63ZdSdG95RdnooHkjc07ajSFM3GGWpalNpJy0H-36AhAO3cpEcZmVF52VHKVoC7PN2tDlFTiDWxRZWz5LKi5mquMw0nHStm1-rOXy__iqkdR20o1QgbnnVtPp-m4y0-kt63UaPCD7p6PLVbSu0lDi7dyOQsfj5lP5W4whqRnSAH5WI7LlG0tiL-aa4v7bNTmOdYq3M0er_ZYWpRkKnpW-55wUiHIGerqol-MtC_oI15Yx4ERbyuiFCti8iPdU-p0FBJG8I8fa-3gGFnQDuDTY5eFvnKaGhOluSbYNaqVfiHqVZEMTucSFfj9dUOElH1GmFjwOH9gPkvWN34ISsADlbYY9TTGcgF53oHpBj3l8OkDrBYgi-T0izxFA-SeoGcqQ-_GjrvyJ0Vqp4zdBwxQmg15-ry2zMfK5mcwJvVp5BipyXjyrZAxQ6C0M3UzYYaV-inN79yEbQOSP3dNK-X2AlF2G7cfMW1XHVaEJXzUCmFvGiKW9_nHXaYB5k1kIV6pz82RY2RoT3iB2rT_rwVJjo7749zNCfozFZXg51ByCRF7xD6UHKy1ENSM0AjnlwBp5GEaEFvibErCW3cOPUywXiz9nhTODioMurth2pQxuaEEB1z1Y7VwGZPn2wkVg4GbJ-4ikjV7KL7zuGMWwBQLjk8BPw6fVbQo3sZDBbhCglCLhgrVqzb7MCvwYsDk8LcxQRVc7PUNRueF56cxiSGufmmTjv6ajARSBBo14HtQe45jL0hIvyW42Dkt8fwtN_K5lANVuaVlfvEXl0CMJREWRIUP1GV2nYuKzHTpY0x22E9I1hOQnrCrgYVBz-LVK61q1nK7jPRSXIJ5sahrNrJB0o-qeo29rioEyLN2bR_SLFJ7fIgb6kAsS1YqAfs4bct1W807IRvC5bldoerY0YjNL9g1Lr13METZUjCT7EHWW702HIccRH6hqX62H1IPhJTEUodGPefTrk-a0_qDiOtUNNvDOt2ObgA1jWb_pwkGAA4a2DsCank8v4ILALrikKOgI5Yf7MfqWvP8QHRdfVjDFRGRra9vnwx_Qn3Mxh7kZwoiHJNd1UqyhnY4qUFsGAP7M7qxeFuvK18IS5kSyUaD1yhvmkoDpcDmsmxSbHcsm3Ib4ehMEB_m2eQk8dbNkFjnDVnOkR6eXDH5riV3VEdS286b0iX1aumxxuPH7Yye4mN2xAMUWKm3UxkMBkjLq9PqcX9zUsnheVYqHpymCkqcJE9GuTAQIPY6xXZtYLU8li_5FQMgmwys3OjhpYBuguKJCQeXh7RK9-OjqTs6eG0iJWoWAkNXgnV8tDk5Woz4zAlfkM9ZDbrcxlMxNppCSn8d8t5XE2muonI0CbBPAzCCKq_BnYu-o1gTjgDuPuBJZ1SxDd-E1NlwgENPUd8bVlneYx68ZQvQ9BTEFFq1U9CPhWQ89jpfavnr8Ft_NmNAcp59ogs_yqTn76KdTEE1d4lcKhCJyCJ1tb4iv-1j3zc8yd6_2ookahb9G6E9Ot_CTFVsHg_rrbGpBpHIiSF1T6iAhYJDfqdRLQt3Bp2tPoi4JERmdp_Z9XAvIoRptYOcRVN2XynbO_mjzeT5lnYZcE_9e5xDNzBq33Myi0hvEpXr9p4qlk4VT7Lu6hkbPDF2mwkaZ0LzXH76-USsR_pxHnk1Yqj8bNos4-OemixAhAX4ngtU9ER3rmnoBsD4iJN6awuJ8-EssG1SiMqYma8Kp7VwL-5DYxdbg4tWL4UhxRQtCYf3BbmB9h98nQ2xZvzWfup52cVRlJK3x6LB7tlkjRzXBXGNqTDhaTgMhYORbW1DGVP-Mv80cUnCBQjLkjt4RlP75HEBFuZAcfjTwrDQlAKOHlCQGfo1U1rcZ4YKL2sn8IJyg4EFCbVrPUC53bhfBJeXM2vYen49w9fhshtGu_q_SnyVrP0NQAhJqVlTUYx523oIPbQb963KhmQEI83J2bvqwmJRNdSQnWocg6YfOrA28cL7gUp243X4pmQN_urDD0LpdJInM98uucW2PsFuXnXCMyc3hadGq_TFUSowXEGgP4Y30yKwcC1zXwem3YmFLgxpQ9T6udO7rW9aOiFVY-B1M9dKGTGXbRThaXo7t2IfRbFEIsmk1o27k5KXs97tlPmIZ1_ndPgc7ZwtbSawYy9xg73Vzy46U10A_VSHQbWPUPMB1HPMa_4U3RpdaoQcFpGee3VHf7ZPkr4zHaVd_2xvNFL4ypBr22dRRVTXe-T7XQe1frCtQYtxt5lgv7-8BWDjJLQuhKE3hI2vJW-I8gE19VjjuyLvQW3hPVIahr1vK22VcsgFvrRoe1NuF4JWiQCQU4WDUExp10XCTOkuf1rjp8mj64flhJ6ITFs4q2QxZiZZD6kOJEx9Fv03XmuqUCImz4ihgQxGK_FGs64ZpyHmgGtFzfoxi00iN1eGwGEbGpJ5kiJr2M0dZ8xSTBgiWvaZHaylus0tqy4lvE9VscSbln1DZph46QiQaIddOmsfImQTr5pIoBwfmCQN1sOOHX0B_Oh5IAmuvz49wEaP7KweAVxqmn1bgTCi7DJkPa0hcCqFFOQLxPaIXqSvI2mkacsB-Ueb2w2jsYQlJU19ECS9HupnHigUn3NTglkis0A37hY6T37YE9gBYWWZ1UxYDdZNIJhoExe1Wpy8Ev7BE0BR6ttumXBDAVFspE6YI8KqxKJpV68Gn8CZYnlLq9W3eZAtfoeklrs-Ce-F7spqoe9pMOhbA0CN6U0hfQh11SmwdlFlAtTUxbhvghYH9PQZljtXxnd0d_YloST58UrGIZCAK9XVSw5wyYu5D7uTZE0nXv_tlqD3w6NzabDNkHV_fK6JZo0j6eMHn7zQj2CD9r-I_7XZsZ6oJxyQJ9RB1o-NBa4dygrCEr4jujKC8ENcqOZH7Blea5kNwRNBVBu_8SwRztnT-8nRMCk-Ss9hNU7-_OXYtMd0oLFXjuPH3peQzbm1fKNR9JcLa7ocMvvqGjPBizSSvEFuYJlLoJW-Uvlllnpg4XFxMS6ZqhLWvrAdEHSvD1RteXbQmkZbcC52j2Zd5WiLq2H9P_hTtGLGgk1_bDI7m3nm0yBmMNj66xP-qKfWR_EIsJSQ97FVLKV2irILuJ63krWi87hd5vBPEH4TTHIgqFEJr7mGB-LQAVVQadB3EPnykgkrKvQdHuZLDU7vNrSlVP10u34EN6w79PQbjV-sGCphddfAH7Ge88n3zhCrkZrFia5xIoH2iJVtoEevH-XLd1uhloC9bEePUggRpL6eOMaQgJJqBIX7YS2JJMlc5gDL13zDYVHw8qsbThD3hk58l97TWj9WdVIxWYWQosanEKKd3EFg1ovaiAcUMtNiP0LJd3wqJ76Q-XuL9zHrproqoVl6WBW7Vp6gwoZDQC5QcjRqyAoFDLRqiyHpoSViJLCAKUnyYYDnQivocDY3Kv3NOsuVnXtx04VOlolzGG1QmP-tDbKAyssUCACMmv00BU556Eplx90ZFh7isY8WgaJBCi0qgvAQ72q0WnOmx_x9S0oloppX9kN0KxTUgrrU94HwCP8gaDYflFU4QVGJl1K-F1fsvLlSPVeFIyqlpQVsIx46onRh0VkemFQ_1BKAnhBnNHq57a3DGgjgs9AuWSKNMq7gYv-kYnsFnRhyrwbplO-yxXm-gDxWEWrgrnkYBgB45iY7t5EJFXCBnX21JC4JmT8AVWRr0Z81g8EB0GlYHk3WY7KW5KPHCeQjy6ElUtTRtESZ3whww3SxYq02DCzi6DDrvUw6yPXzhSSc_3SpLlgP17W4k64O1x12BlPVTU5dN0S169saBIGh8-nQHnIHoWTF51csIFmGY6_ewe3jpWBffTgeuGBeJmN51TOK5yeXv8WTWUMHqEYt9J5DxvN-uejfuoj5weGmP7Qa3BzwWez3f5sg15lSU1bHMZ4ED_mAG_Grs0Fg-3f6ygT7ouEFQ6sFnwr0RDy6kwbuFJ--HmAtED6-fLMcEQl1TLV4cgOj2L6Oq2X4WLmQgmQWf-s1yLzrnS2VdyS5XY19iUoKb1-_2xoEVWpWooGKfoD3PCE96Bk1b-dPPuLLn7QjMo5kLchaTNG6IUIUZNvhy4jirNWLOl_Kb2ftR0ajA3kqZYO99PZE1ISOqlPUaYZzVnvCTzSI3LQdGUN_ACpG0Bt6BMPCRMT1dVL31DyliurPfPbG4OmKmgDTigZLmFVOIKpCOrh7c7D8MWBkVw-qAYNSKuahqTI8zXZ6oAtopVvhce1gmLsHFFSHS1a--PI6eBxNKUdXpiSB6WnWwQd1huhEqN5ueEPn-TErXBMHNfBrBMuLb7wJtOON492zVLGQHypHlPjQMKW0wawwv4BjMRbSMBvthqKvbOLNKfgWxsQic_heJLkZsAY2jyaQcwa4jWvqgQvAmBs3WlfF7g-ueRcRilldGcS3JI3E4Y5uxIedzK01wzq6co2E7monGsawHtgp_ZvEuf1JmuGMV82vgyWfMO_z9eeSHFYrq7ob9cpRstF8OjEYcxoSns1h-EOsD_ubdmQeeFzCcJ2Z_6yCIhTCOhUS--EApfkfhDdYm4HxCFKGQXIPwnnHzhGMZLrPA0zZdUMndS6Jky4EFS-rX1yAW-Fil2eSUIUeIR5qzCvnwMmJobWD5xqwDEa5O-xz_cqchMH87bbYzGfGWZXbMyMlZPhLB6GSE2d2Np9VPKWv7hiYU6SmCB6vUVwlsmk7v30Ez9j85o3PK4EjtQBq7uPFn5fz1PfTWP9wEtKLf8uk8VcZG6NFd8QsBWiwZCuCMaN32VSoe68f8-hon6B5fKFzf9IIe-hcrLvFzDINqiBWwbxPXV4On0bXnzI3gw21r9VOg2BpSxqDyt0bRjeNzexXwjgpEtgDdkEvh_I4ALxkJrPF40qZ5nNn6-KYRF0-PG-wMxGP9LiLvJbEa7_BUZLhZygpJkkZfotRgsPqVygyaJ42Vic_JScZvEBU7E3rjt1muPf59jVLxt90TRlzta5PfxUOxjwcSGDvJfYnVw2X0WuNsEsdA_byiVTkKE2Uk-msY62T-RE5nMnNEzJCZOUDCYx9z9gYCTCxoahTuxIhQozCXuXru3wAkfvbtFAJzV3pcz8aF1vT7Oh2-5zGAbISumgJLAPdTHb7xlmmqhEIHOOXKU84UW_gjowL4bACZmXnE7kbVxeCeMQPqlRiFRWug7qqdBksBQ2fZ7WPHUQyT0JVFmRKf39wtDYIue7XSAy-MACJ2wKOpwht9r7FYyBmmv8Q0k089DelEDhSouRjWgLmEuhSkpNqsvT-tg70tvDI5-8qBVsO7tSGlf2YEPJBa3sEjHASVzsx8WU6qlzjmfoXaPPwA5IpJQ2Qvi3kFavDBfvV-DUafbax716UEX6X24ntLkoDT-88DhQ73D-SL5BSfyAuobwx--_5_2FAhUJDqw63RcjT3KPnxBgNeZotm2eoOqp3hnEiSp3dAvpnRjHOiB0XYCxEFqcrMDEKmdyhzN-CPRMxnrhCDkuRm07es6H39ewlfIJKqoOVR4w8Sz5uVud5jjdGlsIH-rjK6bhGsC35x5lkGF_FTm26oU0bsZlywVzu6ny72Bs6kyZZSkjxr9QroZK5QPqAC1ddfrsv-NEFC8M-sP40qdpCgwSPBoQB9Y3F1flw4yx-GINz1oPagiW_S0MkoVgaa7vb9HSnloEUj481S57YiCoFM-xIXpTcN35_Y3E99R4wFSgkAF1At0X-7LVl3W04yH7zCMPJDdxnsPL5ruwtEiUkMm51Y2OACXSD_8uMZC-ciGnSSRHeGDrLh336RyQ-kshs2zaOmmkNNk-BvwhPKFAzPyVvt06XcD4eLsQ-_fCBlQDzvmOVn7X19_wXu7oIX0O54GrxOuAGggzszDUQ5d8-hFAzmAriX2yoptv--N6cuwIPBqMfKAdsg3FJv6X6KWbpL_7INTn70Sn0Qi5j-yhViIhLsVD_gnf04d-EKKeaMVOvMLBlmnjoOt22bVGCSsodxVZeTur4XeTts7S1M6CWFZVECshOTEkK8g7qkY5bMotH-INE8-7Mglba9BhEjrCYBXfihGmH6WqrkckxoG8EDfQslAe-7LLFasYtViSSSsmsD-W9eRK_vuJSzadtLsrn4v75v8wP_5BmrcPp2srYB9fnJo7bWtyEz1pulVNrK5aDWwSPoVB0uqV36SCyLihHSvPN1GBm-W2_ClDZdRgZd9GXI9dmnX9M8_dJCn8HjHWpLm70vFxSWlpVNBqFTXDw8sDl2FhWOABaFYUO1_UyuZ3fF3fbZOWMLt-_Wl3eRtpOkGhGvknRuV80mRXmaJz_7bbXpGjHAowaLz-FCfUflEC1E_FFq-9-IQ4OMKOPYaRt68NzHgqaTC9y8Q4hFSTDtLmXSJTDWvdIjC_4zX_M1xY1QWXParr76JB2bDe2yq7_TZvJSY89tziahmKJMlaKnbZXxmQTBrpvKFny6IkNz1e2e2GrSmaluOFIF0Q7vV0r1E0g5bVZ91avoCEP97RS4UAMNQlxXV5oBLslfegKiSa2GYVa3wkBC4iSAuGu9S7Z4v4uw19fnAKT5jKgH9lx7nzHPaafsu21lldZc5UKsFKrhqlBilkJ2H4yetz4A5iGAwU5goT-xj_RuQx2yZaoZ2tjKA7kQ6QpO6qpSHTgBjwQwpMsIy1lfmtKxIFT2nBP5XW3CCLycHu-gEk6IpGtj6rHQD4v_x94VPxM9pxH1yD3VP4V8keCXYpeb1xkWlNj6pQ6x7YelclG9CKzxsxa5QI1uBFbdsG6MywlhZAaAFKlUvthwWWLKpePV5r5aJ-bPe3b5sTbzwNKwFMxuvC_zKF4aECn0b4Iyg7JZlewXcSVG9y6zd-ecrVDNQpsV6YnV9l9Ddp5Kz9q8gEaJ9CEmNodn6pGS6n23Ju5luP5NModyq-sMUDWp9o2lOQUdrK9xiEMlY979leLWPPXWlwgBOyeYKj2kM7_FfHTeFA-0TlCLfII-re-TA-fv6XQ2e54m_gCn5TSa8jNdj_eid8KXLTXkOeeZX389mDKZ3GFt9w8uJNpI23w3kaeL2PoEQSY1RnfckJOL9_suca_P-BJkt9kr7fM71nMchA3qZUAXVTfbOXATiULbGvAqQzGf9WYZFXb5prypNWFzgiLC6eXUl0HpbwWsSbUeq6e_g03mQDFasUCt79Dzg5HZbO-1aHDXFDae_yjfc1JDDFyiICFuNP6ZHtqDZfDyGcUfKCxUHWBgJaVSI8V-E8FkDuKJEiYpXPeLPfAMRzEMFT1bDkR7CPTXeJSl1lPajqlPFx_ccKcd7vAxYlCyqGpaiLXk4Ob_z1to1Iwx-S_Vojq6uu5PKzPxZnKrLKLVVOmNiGgSjDOAW1PfFF4duODs0HaXaixGYpj6qH-KF-QpdDk93sw0BQbjmphqNeBDTMRT94LgqzTUnbXNzm0-bv9A6-Ri1rTXDlo6q5OStjwcH6YEdh0iyY4Oe64LAylQY-_9gRVQSJCo2gsnSKuuON_lU6lLoEmm0AvCeNPgXV-CZNLss82lmGUuvxiVVDEKDuP1lFoR04jYUNAljb4OEQee4STIuLdbpaqxMcQ8Rekz9MuXK5lmq3tsGZpL1AhZO2-yFxjJhIdxWvlUYskFKqNet-ahjNCSzElN9zn6Vgv99eG1K4z4GJsaOE6OpHA16Rb_skzUHO6XYQFVzf1K8xT-ZDmNJT97MpYHTVxQgb4Ams0OR_wzOU1jbJ-aaXIBXVkX51gExFp-h3PfpkWnBModjNIdX5p765v89mC8kzekUMv-DYxajK01zNYEQCAYp4tJkJawXwRmTONZVyi64y3cANm0gVGPOdn_wbVoyRWhLb6H7hZ0raKbk5Klto-qMyBZenHRzMxvYMjSRL0qwKR0q6tPLIVG1V0L2nW_yXO6EYF3fcg7IDoLW7ev4youTakb19ddrSQN3oNaZOpWlnWFelKbUfT4vXx5hSSvgrCSCDcbTMqMiZCgCTMIcyvamjsf0uCDbZ9_GBIYNuw9ZXhe0CaE_osNQcoLb6-e6P24Cx4pWhoGXwAJP9js2fD74ZhYldqaYSGMO6QPcR4G3WH7Vk8mGYz6H-qk0DZhV2gpromGZvK9ROxK--gnC_t6ZK19n6ewrAKbc9xSXKaAHseoKw_NlggN0vz2E4kDfmWFj8akQ_e1I2RnQ-YiHxLsaB7olDuzTfefBj3DlAExOKgwgBcjpOo9392lgOrTJNxG8VHyfA_6Bbvev-Qyr0e1xSVQ8aM19IKlC6pzdf2P6OpzpTXbWyUvrFlGrxhooItfyXwY-iKi0FCxzQD37Vaoj71PKCLzeQwebSkn8Hb75zCt9mDUfYtrrIVZEfpgMftFhC4gMRfEodTCTO9Kw_gYX25cccTnljWgCtODyuh_D05kW01K6haNxJL3oCjmibWnWwOCg4yEvqGdHtnrZ2StA3rK6FZxcwFvqvNND0TfWGik5GlxqBVxX9raJhSzd7_E4BLAjI8OqHnSVDcYTRIonmZn_XiUArYvK-ljxjdbUloMiGMqrA6uQKQqYFVBoVHKg5fTB7zs_Z7prVgk3eB1l20lVVNkLkSCB3AuhEI8Iyk7VMbOx0d34L1kk1aOLXom-qZPxLNnpvDXBzPghYR_DEvu90zuNjQRMeQ6ATmhIOYlRMcf8rx_yxGopRezYH0daJTkPJowT9WlAONkWC64-YtCWrKmI4ejaU_-L_Ta0MAte4XDZw4SCgo7COCUcbAgOSq7WiPlsQkRhCMGTVZZTzb0YPuGnO1vSUFJ-oFWi0alHFXD7T4jwcsnbsbietWJDKI2BeWCRweeMXHwhS46O2y2ZkUMCAexVVJjV_pIky2pz57ARnh8wsHUeaHUEWalhOs772N5p1NdA4jUMJoDl_JSaNPWqSuC3BdTt68Qstixj9Hr8UQ3RFBLg6R-0M0vBcMLCawjM-a-0IJP9CNLkMeZInP4JlCZuWmGHhrUstjVD5HB7RdTiDymI9hn6G3twyAXxJNSqvJVNt7lGEjSyiMCt0SdxgPtdlmRbS1-8sCpROHf78eKxsw-t-IseOzgYl4Au4urdfPHzq5VGM4to8Wo3RDgfARzvd-LU-EhD_8DB_VQG9ZTg88baNe-ewftFzViia_Ht1tuSb1KoI8M3CLSUJo8HuFFYD8a8cETA9OsSL5VsV_rJdldTAnyscpYIS00s9VjzwSBKIHofgb66SPVsXf1g8JY0KUqzMkrBO4s0qcWhX3jWjrS_Q7Opt-SEdrrkr6oRuCa9UO42nvFy3RnB5paszfXo6fkoep7yOSw5hwzCoeKUbcJ9IeEeJb_jCPwQVas_RkRm8cnSuUb8LJkToH9WNpUEgnVvbp8hotTjWh8o7NePJZ_zTdr1GJonxrPr-Jck3NwaA260FoRywlWOeKkW1mKW-2OAPy53CHjaoFAxBVEHfm8JDHTf0HO89FpYPusEc2pIdBHKa40AZzrIMlsQ7yELaY8pYs2V0PtfuvXJMx8IOZrJoJ9QeVO7j4z0ApZtMGJf7g1JYUZxkvY9hvKgSznXqSTi869bWD09n-rxhryTgKl1zuSD_TaEjgy0lXsg49fGB8MVBYnkuEBg4fUiiprGWq9ZJec6EHzC-ltGSaKc-NiQRTlvWuwmM6XJeSte_Odx1rY_V2S55-kLQsEGkHerUgRimk1vBO7V1FLJUrf9LCQzTamwojhXxucVfLe1pckSl5CrM__kQNR3ju38DxjAjh7FW62iZDJGmyvFm1e1RHORy6fO0iT4qo-B4sEsxE4Kg1KgDd-c9dp5qUhCfweJwY3yUT3qAu7OaUHJPQoHrsLp83lqy8zLlE_Y3ZAiQedN-WwX7Kiq_ilffCI";if(!e)return null;if(pn&&pn.sealed===e)return pn;let t=null;try{t=Zs.parse(JSON.parse(lr(e,Wb)))}catch{t=null}return pn={sealed:e,bundle:t},pn}function ur(){let e=Uc();if(!e?.bundle)return null;if(e.runtime===void 0){let t=Date.now();try{e.runtime=Gs(e.bundle,{signedAt:t,fetchedAt:t})}catch{e.runtime=null}}return e.runtime}function qb(){let e=Uc();return e?.bundle?(e.keys??=new Set(e.bundle.filters.map(t=>Q(t.slug))),e.keys):null}function At(e,t=!1){if(t||!e||e.length===0){let n=qb();return n?new Set(n):null}return new Set(e.map(n=>Vb.test(n)?n:Q(n)))}var Wb,Vb,pn,mn=g(()=>{"use strict";zs();De();Js();Wb="tokmizer-default-rules-v1",Vb=/^[0-9a-f]{16}$/,pn=null});function Ks(e){Zc=e}async function Yb(e,t){let n=await cl();if(n.size>0)return Et(e,n.values(),t,n);let r=ur();return r?r.selectFor(e,"free",t?[...t]:void 0):null}function nk(e,t,n){let r=tr(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
83
  `)?`
82
- `:"";return Vn((s?r.slice(0,-1):r).split(`
84
+ `:"";return Qn((s?r.slice(0,-1):r).split(`
83
85
  `)).join(`
84
- `)+s}async function $t(e,t,n,r={}){let s=Buffer.byteLength(t,"utf8"),{exitCode:o,yolo:i=!1,resolver:a,...l}=r,c=ve(sc(e.startsWith("bash-tool: ")?e.slice(11):e)),u=o!=null&&o!==0&&!(o===1&&Cb.test(Ns(c)??c)),f=ec(a??Nc??Ab),d=null;for(let I of oc(e))if(d=await f(I,n),d)break;!d&&s>=Ob&&!Ps.test(e)&&(d=await f(`bash-tool: ${e}`,n));let p=on(e.startsWith("bash-tool: ")?e.slice(11):e),m=d?.slug==="git-log"&&p!=null&&/^git\s+log(?:\s|$)/.test(ve(p)),b=o==null&&(m?/^(?:fatal|error):/im.test(de(t)):tc(t)),y=d?.transform==="smart-read"&&s<=2048&&(t.endsWith(`
86
+ `)+s}async function Ct(e,t,n,r={}){let s=Buffer.byteLength(t,"utf8"),{exitCode:o,yolo:i=!1,resolver:a,...l}=r,c=Se(fc(e.startsWith("bash-tool: ")?e.slice(11):e)),u=o!=null&&o!==0&&!(o===1&&Xb.test(Ms(c)??c)),f=ac(a??Zc??Yb),p=null;for(let P of dc(e))if(p=await f(P,n),p)break;!p&&s>=Qb&&!Ds.test(e)&&(p=await f(`bash-tool: ${e}`,n));let d=cn(e.startsWith("bash-tool: ")?e.slice(11):e),m=p?.slug==="git-log"&&d!=null&&/^git\s+log(?:\s|$)/.test(Se(d)),y=o==null&&(m?/^(?:fatal|error):/im.test(de(t)):lc(t)),b=p?.transform==="smart-read"&&s<=2048&&(t.endsWith(`
85
87
  `)?t.slice(0,-1):t).split(`
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(ve(p)),T=d?.transform==="smart-read"&&s<=16384&&(l.verbosity??"normal")==="normal"&&l.smartCode!==!0,N=d?.slug==="read-tool"&&s<Pb;if(!i&&(T||N||$||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)&&wc.test(c)){let I=vc(t,l.verbosity??"normal"),z=I===null?s:Buffer.byteLength(I,"utf8");if(I!==null&&z<s)return{output:I,filterId:d.slug,rawBytes:s,filteredBytes:z,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=I=>{if(!i)return I.output!==t&&!I.droppedTail?{...I,droppedTail:t}:I;let z=I.filteredBytes>s||s>0&&I.output.length===0?t:I.output,Te=!I.debugBypass&&!d?.preserve_exact?Ls(z,"minimal",I.filterId??""):z,me=Ms(Te)===Te?Te:Ms(z);return{...I,output:me,filteredBytes:Buffer.byteLength(me,"utf8"),droppedTail:null}};if(d.slug==="tsc"&&!u&&!b&&!hc(e)){let I=gc(t);if(I!==null)return C({output:I,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(I,"utf8"),debugBypass:!1,droppedTail:null})}if(u||b){let I=i?Yn(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?Nb(t,d,l.verbosity):d.strip_ansi&&!d.preserve_exact?de(t):t;!i&&l.verbosity==="minimal"&&d.transform!=="smart-read"&&(I=pc(I)),!i&&d.slug==="pytest"&&(l.verbosity==="compact"||l.verbosity==="minimal")&&/^={3,} test session starts ={3,}\r?$/m.test(I)&&/^={3,} FAILURES ={3,}\r?$/m.test(I)&&(I=I.replace(/^([=_])\1{2,} (.+?) \1{3,}(\r?)$/gm,"$2$3"));let z=!i&&!d.preserve_exact&&s>=Ib?Cl(I.split(`
88
+ `).length<=60,R=s<=16384&&d!=null&&/^(?:head|tail)(?:\s|$)|^sed\s+(?:(?:-[Eru]+|--(?:regexp-extended|unbuffered|sandbox))\s+)*(?:-[Enruse]*n[Enruse]*(?:\s|$)|--(?:quiet|silent)(?:\s|$))/.test(Se(d)),T=p?.transform==="smart-read"&&s<=16384&&(l.verbosity??"normal")==="normal"&&l.smartCode!==!0,D=p?.slug==="read-tool"&&s<tk;if(!i&&(T||D||R||b&&l.smartCode!==!0))return{output:t,filterId:p?.slug??null,rawBytes:s,filteredBytes:s,debugBypass:u||y,droppedTail:null};if(!i&&p&&!p.preserve_exact&&(u||y)&&Ac.test(c)){let P=Ic(t,l.verbosity??"normal"),z=P===null?s:Buffer.byteLength(P,"utf8");if(P!==null&&z<s)return{output:P,filterId:p.slug,rawBytes:s,filteredBytes:z,debugBypass:!0,droppedTail:t,failureSummary:!0}}if(!p||(u||y)&&p.preserve_exact&&!i)return{output:t,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:u||y,...i?{droppedTail:null}:{}};let O=P=>{if(!i)return P.output!==t&&!P.droppedTail?{...P,droppedTail:t}:P;let z=P.filteredBytes>s||s>0&&P.output.length===0?t:P.output,se=!P.debugBypass&&!p?.preserve_exact?Hs(z,"minimal",P.filterId??""):z,he=Ls(se)===se?se:Ls(z);return{...P,output:he,filteredBytes:Buffer.byteLength(he,"utf8"),droppedTail:null}};if(p.slug==="tsc"&&!u&&!y&&!Sc(e)){let P=vc(t);if(P!==null)return O({output:P,filterId:p.slug,rawBytes:s,filteredBytes:Buffer.byteLength(P,"utf8"),debugBypass:!1,droppedTail:null})}if(u||y){let P=i?tr(t,{...p,keep_failures:!0,transform:void 0,max_lines:void 0,truncate_lines_at:void 0,on_empty:void 0},{verbosity:"minimal",smartCode:!1}):p.strip_on_failure&&!p.preserve_exact?nk(t,p,l.verbosity):p.strip_ansi&&!p.preserve_exact?de(t):t;!i&&l.verbosity==="minimal"&&p.transform!=="smart-read"&&(P=wc(P)),!i&&p.slug==="pytest"&&(l.verbosity==="compact"||l.verbosity==="minimal")&&/^={3,} test session starts ={3,}\r?$/m.test(P)&&/^={3,} FAILURES ={3,}\r?$/m.test(P)&&(P=P.replace(/^([=_])\1{2,} (.+?) \1{3,}(\r?)$/gm,"$2$3"));let z=!i&&!p.preserve_exact&&s>=ek?Il(P.split(`
87
89
  `)).join(`
88
- `):I,Te=z.length<I.length;return C({output:z,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(z,"utf8"),debugBypass:!0,...Te?{droppedTail:t}:{}})}let{text:D,droppedTail:M}=Cs(t,d,i?{...l,verbosity:"minimal",...d.transform==="smart-read"?{smartCode:!0}:{}}:l),L=!i&&!d.preserve_exact?Ls(D,l.verbosity,d.slug):D,ae=Buffer.byteLength(L,"utf8");return t.trim().length>0&&ae>=s?C({output:t,filterId:d.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):C({output:L,filterId:d.slug,rawBytes:s,filteredBytes:ae,debugBypass:!1,droppedTail:M})}var Nc,Cb,Ob,Ib,Pb,ar=g(()=>{"use strict";ll();Jn();Is();Os();nc();Ds();ac();rn();qn();dc();mc();qn();yc();Ec();fn();Nc=null;Cb=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,Ob=2048,Ib=8192,Pb=32*1024});function Db(){let e=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(e)&&e>0?e:6048e5}function lr(e,t=Date.now()){let n=e.lastHeartbeatOkAt;if(typeof n=="number"&&t-n>Db())return!0;if(e.subEndsAt){let r=Date.parse(e.subEndsAt);if(Number.isFinite(r)&&t>r)return!0}return!1}function cr(e,t=Date.now()){return e.plan}var Js=g(()=>{"use strict"});function dn(e){let t=e;for(let[n,r]of Mb)t=t.replace(n,r);return t}function Hb(e){if(!e.includes("PRIVATE KEY-----"))return e;let t=e.split(`
89
- `),n=[];for(let r of t){if(Lb.test(r)){let s=n.length;for(;s>0&&jb.test(n[s-1]);)s-=1;if(s<n.length){n.length=s,n.push(`${pe}${r}`);continue}}n.push(r)}return n.join(`
90
- `)}function Dc(e){let t=e;for(let[n,r]of Fb)t=t.replace(n,r);return Hb(t)}var Mb,pe,Fb,Lb,jb,ur=g(()=>{"use strict";Mb=[[/(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]"]];pe="[tkr: secret masked]",Fb=[[/(-----BEGIN [A-Z0-9 ]*PRIVATE KEY-----)(?:\r?\n(?:[A-Za-z0-9+/=]{16,}|[A-Za-z-]+: [^\r\n]*|\r?(?=\n)))*(?:(?:\r?\n[A-Za-z0-9+/=]{1,15})?\r?\n-----END [A-Z0-9 ]*PRIVATE KEY-----)?/g,`$1${pe}`],[/(?<![A-Za-z0-9_])(gh[pousr])_[A-Za-z0-9]{36,255}(?![A-Za-z0-9])/g,`$1_${pe}`],[/(?<![A-Za-z0-9_])github_pat_[A-Za-z0-9_]{22,255}/g,`github_pat_${pe}`],[/(?<![A-Za-z0-9_])npm_[A-Za-z0-9]{36}(?![A-Za-z0-9])/g,`npm_${pe}`],[/(?<![A-Z0-9])(AKIA|ASIA)[A-Z0-9]{16}(?![A-Z0-9])/g,`$1${pe}`],[/(?<![A-Za-z0-9])(xox[abpors]-)[A-Za-z0-9-]{10,}/g,`$1${pe}`],[/(?<![A-Za-z0-9])((?:sk|rk)_live_)[A-Za-z0-9]{16,}/g,`$1${pe}`],[/(authorization["']?\s*[:=]\s*["']?bearer\s+)[A-Za-z0-9._~+/=-]{8,}/gi,`$1${pe}`],[/(?<![A-Za-z0-9+.-])([a-zA-Z][a-zA-Z0-9+.-]{0,31}:\/\/[^\s:/@]*:)[^\s@/]+(@[^\s@/]+)/g,`$1${pe}$2`]],Lb=/^-----END [A-Z0-9 ]*PRIVATE KEY-----/,jb=/^[A-Za-z0-9+/=]{16,}\r?$/});var Mc=g(()=>{"use strict"});import{createHash as fR,randomUUID as Bb}from"node:crypto";import{readFile as Fc,writeFile as Lc,mkdir as zb}from"node:fs/promises";async function Ks(){try{let n=(await Fc(Ft(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(n))return n}catch{}await zb(S(),{recursive:!0});let e=Bb();try{return await Lc(Ft(),e,{mode:384,flag:"wx"}),e}catch{try{let t=(await Fc(Ft(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(t))return t}catch{}return await Lc(Ft(),e,{mode:384}),e}}var Ws=g(()=>{"use strict";j()});import{readFile as Ub,writeFile as gR,mkdir as yR,chmod as bR,rm as kR,rename as _R,readdir as wR}from"node:fs/promises";import{join as Zb}from"node:path";async function Ee(){let e=null;try{let t=JSON.parse(await Ub(Zb(S(),Gb),"utf8"));typeof t=="object"&&t!==null&&!Array.isArray(t)&&(e=t)}catch{}return e?xt.parse({...jc,...e}):jc}var Gb,jc,ER,At=g(()=>{"use strict";Fe();j();Gb="settings-cache.json",jc=xt.parse({}),ER=xt.partial().extend({filters:xt.shape.filters.removeDefault().partial().optional()})});var Hc=g(()=>{"use strict";j();At();cn();or()});import{join as Bc}from"node:path";import{appendFileSync as Jb,chmodSync as Kb,existsSync as Wb,mkdirSync as Vb,readFileSync as LR,renameSync as jR,rmdirSync as HR,statSync as qb,unlinkSync as BR,utimesSync as zR,writeFileSync as UR}from"node:fs";function zc(){return Bc(S(),"spool")}function Xb(e){return Bc(zc(),`${e}.jsonl`)}function fr(e,t){if(ln())try{Vb(zc(),{recursive:!0,mode:448});let n=Xb(e);if(Wb(n)&&qb(n).size>=Yb)return;Jb(n,JSON.stringify(t)+`
91
- `,{mode:384}),Kb(n,384)}catch{return}}var Yb,Vs=g(()=>{"use strict";Mc();j();Lt();Ws();Bs();At();cn();Hc();Yb=512*1024});function ck(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 Gc.has(n.toLowerCase())?n:""}function uk(e,t,n){let r=0;for(;e==="git"&&r<n.length&&n[r].startsWith("-");)r+=lk.has(n[r])?2:1;let s=(n[r]??"").toLowerCase();return t.has(s)?`${e} ${s}`:e}function Uc(e){let t=e.toLowerCase();return t.startsWith("git")||rk.has(t)}function qs(e){let t=e.trim().split(/\s+/).filter(l=>l.length>0),n=0;for(;n<t.length&&nk.test(t[n]??"");)n+=1;let r=ck(t[n]??"");if(!r||!ek.test(r)||r.length>ok)return"";let s=ak.get(r.toLowerCase());if(s)return uk(r.toLowerCase(),s,t.slice(n+1));if(Uc(r)||sk.test(r)||dn(r)!==r)return"";let o=t[n+1];return o&&Uc(o)?"":(o&&Zc.has(r.toLowerCase())&&tk.test(o)?`${r} ${o}`:r).slice(0,64)}function fk(e){return ik.has((e.split(" ")[0]??"").toLowerCase())}async function dr(e){if(!e.telemetryOptIn)return;let t=qs(e.cmd),n=t&&dn(t)===t&&fk(t)?t:"other",r=e.sessionId?e.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";fr("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 ek,tk,nk,rk,sk,ok,Zc,Gc,ik,ak,lk,pr=g(()=>{"use strict";ur();Vs();ek=/^[a-z0-9][a-z0-9._-]*$/i,tk=/^[a-z][a-z-]+$/,nk=/^[A-Za-z_][A-Za-z0-9_]*=/,rk=new Set(["gh","glab","gup","hub","gist"]),sk=/^(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,ok=24,Zc=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"]),Gc=new Set([...Zc,"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"]),ik=new Set([...Gc,"cd","cat","head","tail","ls","tree","find","grep","wc","nl","sort","cut","uniq","tr","diff","stat","file","du","df","ps","yq","pwd","which","echo","printf","seq","sed","awk","gawk","xargs","sleep","tar","zip","unzip","rsync","scp","ssh","curl","wget","dig","host","nslookup","ping","lsof","journalctl","iptables","ip6tables","open","md5","md5sum","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shasum","sudo","env","command","time","nodejs","bunx","pytest","mypy","dmypy","pyright","basedpyright","ruff","black","ty","gradlew","mvnw","mvnd","ninja","cmake","bazel","bazelisk","sbt","gcc","clang","gmake","swift","xcodebuild","pod","flutter","nx","turbo","next","eslint","prettier","biome","oxlint","golangci-lint","shellcheck","hadolint","yamllint","markdownlint","mdl","sqlfluff","rubocop","rspec","bundler","php","artisan","composer","phpunit","phpstan","pest","paratest","pint","mix","javap","jar","docker-compose","skopeo","oc","ecs","nomad","consul","packer","pulumi","tofu","ansible","ansible-playbook","vault","sops","vercel","netlify","wrangler","firebase","supabase","stripe","shopify","theme-check","redis-cli","liquibase","ollama","ast-grep","just","task","mise","trunk","pre-commit","jj","yadm","gt","quarto","act","jira","fail2ban-client","ctest","pio","platformio","reducer","restore","read-tool","grep-tool","glob-tool","bash-tool"]),ak=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"])]]),lk=new Set(["-C","-c"])});async function mr(e){if(e.plan!=="pro"||Ql(e.filterId)||!(await Ee()).telemetryOptIn)return;let t=qs(e.cmd);!t||dn(t)!==t||fr("learn",{cmd:t,filterId:e.filterId==null?null:ee(e.filterId),rawBytes:e.rawBytes,filteredBytes:e.filteredBytes})}var Ys=g(()=>{"use strict";pr();ur();Vs();Fe();Is();At()});function Jc(e){return e?dk[e]??"anthropic":"anthropic"}var dk,Kc=g(()=>{"use strict";dk={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"}});import{appendFileSync as pk,chmodSync as mk,mkdirSync as hk,readFileSync as Xc,realpathSync as gk,renameSync as Qc,rmSync as eu,statSync as tu,writeFileSync as Xs}from"node:fs";import{basename as Wc,dirname as nu,join as hr,resolve as yk,sep as f$}from"node:path";function ru(){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 vk(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"&&xk.has(n.o)?{o:n.o}:{}}}catch{return null}}function Ek(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 Tk(e){return e.s==="b"?`b:${(e.c??"").split(" ")[0]||"other"}`:e.s?.startsWith("u:")?e.s:e.o==="n"?"n":"?"}function Rk(e,t){let n=Tk(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 $k(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>wk){e.ox+=1;return}if(Ek(e,t),t.k==="restore"?(e.rn+=1,e.rb+=t.f):Rk(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=Jc(t.h),r=e.prov[n]??{r:0,f:0};r.r+=t.r,r.f+=t.f,e.prov[n]=r}}function Ak(e){let t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function su(e){return hr(nu(e),kk)}function Ck(e){let t=su(e),n;try{n=Xc(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]={...ru(),...i});return s}catch{try{Qc(t,`${t}.corrupt-${Date.now()}`)}catch{}return{}}}function qc(e,t){let n=`${e}.tmp-${process.pid}`;Xs(n,t,{mode:384}),Qc(n,e)}function Ok(e){try{return Xs(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-tu(e).mtimeMs<_k?!1:(eu(e,{force:!0}),Xs(e,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function Ik(e,t=Vc,n=Vc/2){try{if(tu(e).size<=t)return}catch{return}let r=`${e}.lock`;if(Ok(r))try{let s=Xc(e,"utf8").split(`
92
- `).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=Ck(e);for(let c of s.slice(0,o)){let u=vk(c);if(!u)continue;let f=Ak(u.t),d=a[f]??ru();$k(d,u),a[f]=d}let l=s.slice(o);qc(e,l.length?`${l.join(`
90
+ `):P,se=z.length<P.length;return O({output:z,filterId:p.slug,rawBytes:s,filteredBytes:Buffer.byteLength(z,"utf8"),debugBypass:!0,...se?{droppedTail:t}:{}})}let{text:M,droppedTail:F}=Is(t,p,i?{...l,verbosity:"minimal",...p.transform==="smart-read"?{smartCode:!0}:{}}:l),L=!i&&!p.preserve_exact?Hs(M,l.verbosity,p.slug):M,ae=Buffer.byteLength(L,"utf8");return t.trim().length>0&&ae>=s?O({output:t,filterId:p.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):O({output:L,filterId:p.slug,rawBytes:s,filteredBytes:ae,debugBypass:!1,droppedTail:F})}var Zc,Xb,Qb,ek,tk,fr=g(()=>{"use strict";ul();qn();Ns();Ps();cc();Fs();mc();an();er();_c();xc();er();Ec();Pc();mn();Zc=null;Xb=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,Qb=2048,ek=8192,tk=32*1024});function rk(){let e=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(e)&&e>0?e:6048e5}function dr(e,t=Date.now()){let n=e.lastHeartbeatOkAt;if(typeof n=="number"&&t-n>rk())return!0;if(e.subEndsAt){let r=Date.parse(e.subEndsAt);if(Number.isFinite(r)&&t>r)return!0}return!1}function pr(e,t=Date.now()){return e.plan}var Ws=g(()=>{"use strict"});function hn(e){let t=e;for(let[n,r]of sk)t=t.replace(n,r);return t}function lk(e){if(!e.includes("PRIVATE KEY-----"))return e;let t=e.split(`
91
+ `),n=[];for(let r of t){if(ik.test(r)){let s=n.length;for(;s>0&&ak.test(n[s-1]);)s-=1;if(s<n.length){n.length=s,n.push(`${me}${r}`);continue}}n.push(r)}return n.join(`
92
+ `)}function Gc(e){let t=e;for(let[n,r]of ok)t=t.replace(n,r);return lk(t)}var sk,me,ok,ik,ak,mr=g(()=>{"use strict";sk=[[/(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]"]];me="[tkr: secret masked]",ok=[[/(-----BEGIN [A-Z0-9 ]*PRIVATE KEY-----)(?:\r?\n(?:[A-Za-z0-9+/=]{16,}|[A-Za-z-]+: [^\r\n]*|\r?(?=\n)))*(?:(?:\r?\n[A-Za-z0-9+/=]{1,15})?\r?\n-----END [A-Z0-9 ]*PRIVATE KEY-----)?/g,`$1${me}`],[/(?<![A-Za-z0-9_])(gh[pousr])_[A-Za-z0-9]{36,255}(?![A-Za-z0-9])/g,`$1_${me}`],[/(?<![A-Za-z0-9_])github_pat_[A-Za-z0-9_]{22,255}/g,`github_pat_${me}`],[/(?<![A-Za-z0-9_])npm_[A-Za-z0-9]{36}(?![A-Za-z0-9])/g,`npm_${me}`],[/(?<![A-Z0-9])(AKIA|ASIA)[A-Z0-9]{16}(?![A-Z0-9])/g,`$1${me}`],[/(?<![A-Za-z0-9])(xox[abpors]-)[A-Za-z0-9-]{10,}/g,`$1${me}`],[/(?<![A-Za-z0-9])((?:sk|rk)_live_)[A-Za-z0-9]{16,}/g,`$1${me}`],[/(authorization["']?\s*[:=]\s*["']?bearer\s+)[A-Za-z0-9._~+/=-]{8,}/gi,`$1${me}`],[/(?<![A-Za-z0-9+.-])([a-zA-Z][a-zA-Z0-9+.-]{0,31}:\/\/[^\s:/@]*:)[^\s@/]+(@[^\s@/]+)/g,`$1${me}$2`]],ik=/^-----END [A-Z0-9 ]*PRIVATE KEY-----/,ak=/^[A-Za-z0-9+/=]{16,}\r?$/});var Jc=g(()=>{"use strict"});import{createHash as M$,createHmac as F$,randomUUID as ck}from"node:crypto";import{readFile as Kc,writeFile as Wc,mkdir as uk}from"node:fs/promises";async function Vs(){try{let n=(await Kc(Ht(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(n))return n}catch{}await uk(S(),{recursive:!0});let e=ck();try{return await Wc(Ht(),e,{mode:384,flag:"wx"}),e}catch{try{let t=(await Kc(Ht(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(t))return t}catch{}return await Wc(Ht(),e,{mode:384}),e}}var qs=g(()=>{"use strict";j()});import{readFile as fk,writeFile as z$,mkdir as U$,chmod as Z$,rm as G$,rename as J$,readdir as K$}from"node:fs/promises";import{join as dk}from"node:path";async function ve(){let e=null;try{let t=JSON.parse(await fk(dk(S(),pk),"utf8"));typeof t=="object"&&t!==null&&!Array.isArray(t)&&(e=t)}catch{}return e?vt.parse({...Vc,...e}):Vc}var pk,Vc,Y$,Ot=g(()=>{"use strict";De();j();pk="settings-cache.json",Vc=vt.parse({}),Y$=vt.partial().extend({filters:vt.shape.filters.removeDefault().partial().optional()})});var qc=g(()=>{"use strict";j();Ot();dn();cr()});import{join as Yc}from"node:path";import{appendFileSync as mk,chmodSync as hk,existsSync as gk,mkdirSync as yk,readFileSync as uR,renameSync as fR,rmdirSync as dR,statSync as bk,unlinkSync as pR,utimesSync as mR,writeFileSync as hR}from"node:fs";function Xc(){return Yc(S(),"spool")}function _k(e){return Yc(Xc(),`${e}.jsonl`)}function hr(e,t){if(fn())try{yk(Xc(),{recursive:!0,mode:448});let n=_k(e);if(gk(n)&&bk(n).size>=kk)return;mk(n,JSON.stringify(t)+`
93
+ `,{mode:384}),hk(n,384)}catch{return}}var kk,Ys=g(()=>{"use strict";Jc();j();Bt();qs();Us();Ot();dn();qc();kk=512*1024});function Ok(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 tu.has(n.toLowerCase())?n:""}function Ik(e,t,n){let r=0;for(;e==="git"&&r<n.length&&n[r].startsWith("-");)r+=Ck.has(n[r])?2:1;let s=(n[r]??"").toLowerCase();return t.has(s)?`${e} ${s}`:e}function Qc(e){let t=e.toLowerCase();return t.startsWith("git")||Ek.has(t)}function Xs(e){let t=e.trim().split(/\s+/).filter(l=>l.length>0),n=0;for(;n<t.length&&vk.test(t[n]??"");)n+=1;let r=Ok(t[n]??"");if(!r||!xk.test(r)||r.length>$k)return"";let s=Ak.get(r.toLowerCase());if(s)return Ik(r.toLowerCase(),s,t.slice(n+1));if(Qc(r)||Tk.test(r)||hn(r)!==r)return"";let o=t[n+1];return o&&Qc(o)?"":(o&&eu.has(r.toLowerCase())&&Sk.test(o)?`${r} ${o}`:r).slice(0,64)}function Pk(e){return Rk.has((e.split(" ")[0]??"").toLowerCase())}async function gr(e){if(!e.telemetryOptIn)return;let t=Xs(e.cmd),n=t&&hn(t)===t&&Pk(t)?t:"other",r=e.sessionId?e.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";hr("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 xk,Sk,vk,Ek,Tk,$k,eu,tu,Rk,Ak,Ck,yr=g(()=>{"use strict";mr();Ys();xk=/^[a-z0-9][a-z0-9._-]*$/i,Sk=/^[a-z][a-z-]+$/,vk=/^[A-Za-z_][A-Za-z0-9_]*=/,Ek=new Set(["gh","glab","gup","hub","gist"]),Tk=/^(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,$k=24,eu=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"]),tu=new Set([...eu,"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"]),Rk=new Set([...tu,"cd","cat","head","tail","ls","tree","find","grep","wc","nl","sort","cut","uniq","tr","diff","stat","file","du","df","ps","yq","pwd","which","echo","printf","seq","sed","awk","gawk","xargs","sleep","tar","zip","unzip","rsync","scp","ssh","curl","wget","dig","host","nslookup","ping","lsof","journalctl","iptables","ip6tables","open","md5","md5sum","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shasum","sudo","env","command","time","nodejs","bunx","pytest","mypy","dmypy","pyright","basedpyright","ruff","black","ty","gradlew","mvnw","mvnd","ninja","cmake","bazel","bazelisk","sbt","gcc","clang","gmake","swift","xcodebuild","pod","flutter","nx","turbo","next","eslint","prettier","biome","oxlint","golangci-lint","shellcheck","hadolint","yamllint","markdownlint","mdl","sqlfluff","rubocop","rspec","bundler","php","artisan","composer","phpunit","phpstan","pest","paratest","pint","mix","javap","jar","docker-compose","skopeo","oc","ecs","nomad","consul","packer","pulumi","tofu","ansible","ansible-playbook","vault","sops","vercel","netlify","wrangler","firebase","supabase","stripe","shopify","theme-check","redis-cli","liquibase","ollama","ast-grep","just","task","mise","trunk","pre-commit","jj","yadm","gt","quarto","act","jira","fail2ban-client","ctest","pio","platformio","reducer","restore","read-tool","grep-tool","glob-tool","bash-tool"]),Ak=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"])]]),Ck=new Set(["-C","-c"])});async function br(e){if(e.plan!=="pro"||ic(e.filterId)||!(await ve()).telemetryOptIn)return;let t=Xs(e.cmd);!t||hn(t)!==t||hr("learn",{cmd:t,filterId:e.filterId==null?null:Q(e.filterId),rawBytes:e.rawBytes,filteredBytes:e.filteredBytes})}var Qs=g(()=>{"use strict";yr();mr();Ys();De();Ns();Ot()});function nu(e){return e?Nk[e]??"anthropic":"anthropic"}var Nk,ru=g(()=>{"use strict";Nk={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"}});import{appendFileSync as Dk,chmodSync as Mk,mkdirSync as Fk,readFileSync as lu,realpathSync as Lk,renameSync as cu,rmSync as uu,statSync as fu,writeFileSync as eo}from"node:fs";import{basename as su,dirname as du,join as kr,resolve as jk,sep as FR}from"node:path";function pu(){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 Jk(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"&&Zk.has(n.o)?{o:n.o}:{}}}catch{return null}}function Kk(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,t.f<t.r&&(n.tnc=(n.tnc??0)+1,n.trr=(n.trr??0)+t.r,n.trf=(n.trf??0)+t.f)),n.r+=t.r,n.f+=t.f,e.cmds[t.c]=n}function Wk(e){return e.s==="b"?`b:${(e.c??"").split(" ")[0]||"other"}`:e.s?.startsWith("u:")?e.s:e.o==="n"?"n":"?"}function Vk(e,t){let n=Wk(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 qk(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>Uk){e.ox+=1;return}if(Kk(e,t),t.k==="restore"?(e.rn+=1,e.rb+=t.f):Vk(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=nu(t.h),r=e.prov[n]??{r:0,f:0};r.r+=t.r,r.f+=t.f,e.prov[n]=r}}function Yk(e){let t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function mu(e){return kr(du(e),Bk)}function Xk(e){let t=mu(e),n;try{n=lu(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]={...pu(),...i});return s}catch{try{cu(t,`${t}.corrupt-${Date.now()}`)}catch{}return{}}}function iu(e,t){let n=`${e}.tmp-${process.pid}`;eo(n,t,{mode:384}),cu(n,e)}function Qk(e){try{return eo(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-fu(e).mtimeMs<zk?!1:(uu(e,{force:!0}),eo(e,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function e0(e,t=ou,n=ou/2){try{if(fu(e).size<=t)return}catch{return}let r=`${e}.lock`;if(Qk(r))try{let s=lu(e,"utf8").split(`
94
+ `).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=Xk(e);for(let c of s.slice(0,o)){let u=Jk(c);if(!u)continue;let f=Yk(u.t),p=a[f]??pu();qk(p,u),a[f]=p}let l=s.slice(o);iu(e,l.length?`${l.join(`
93
95
  `)}
94
- `:""),qc(su(e),JSON.stringify({v:1,days:a}))}catch{return}finally{eu(r,{force:!0})}}function Pk(e){let t=yk(e),n=t,r="";for(;;){try{return hr(gk(n),r)}catch{}let s=nu(n);if(s===n)return t;r=r?hr(Wc(n),r):Wc(n),n=s}}function Yc(e){return e.length===0||e[0]==="cd"||e.every(t=>ou.test(t))}function Lk(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(`|;&<>
95
- `.includes(i)){if(o(),Yc(t)){t=[];continue}return t}n+=i,r=!0}return o(),Yc(t)?[]:t}function it(e){let t=Lk(e).map(a=>a.replace(/^[({]+/,"")).filter(Boolean),n=0;for(;n<t.length;){let a=t[n];if(ou.test(a)){n+=1;continue}if(Nk.has(a)){for(n+=1;n<t.length;){let l=t[n];if(l.startsWith("-")){n+=Dk.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("-")&&Mk.test(o)&&Fk.has(s.toLowerCase())?`${s} ${o}`:s).slice(0,24)}function jk(){return hr(S(),bk)}function gr(e,t,n=jk(),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?Pk(a):"",p=d&&d.length<=Sk?`,"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}}
96
- `;try{hk(S(),{recursive:!0,mode:448}),pk(n,y,{mode:384}),mk(n,384),Ik(n)}catch{return}}function yr(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 br(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 bk,kk,Vc,_k,wk,xk,Sk,Nk,Dk,Mk,Fk,ou,Qs=g(()=>{"use strict";j();Kc();bk="stats.jsonl",kk="stats-ledger.json",Vc=2*1024*1024,_k=3e4,wk=3e4,xk=new Set(["n","g","e"]),Sk=256;Nk=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),Dk=new Set(["-u","-g","-n","-s","-k"]),Mk=/^[a-z0-9][a-z0-9._-]*$/i,Fk=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"]),ou=/^[A-Za-z_][A-Za-z0-9_]*=/});import{existsSync as w$,realpathSync as Hk}from"node:fs";import{basename as S$,delimiter as iu,join as v$,dirname as E$}from"node:path";function au(e){try{return Hk(e)}catch{return e}}function lu(){let e=kn(),t={...process.env},n=process.platform==="win32"?"Path":"PATH",r=t[n]??t.PATH??"",s=au(e),o=r.split(iu).filter(i=>i&&i!==e&&au(i)!==s);return t[n]=o.join(iu),n==="Path"&&(t.PATH=t[n]),t}var cu=g(()=>{"use strict";jt();Ae();j();Cn();Bt();Ir();Bt()});function eo(e){return JSON.stringify(e)+kr}function*fu(e){let t=0;for(;;){let n=e.indexOf(kr,t);if(n<0)return;yield e.slice(t,n),t=n+1}}function pn(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}var Bk,zk,Uk,Zk,M$,F$,L$,uu,kr,j$,du=g(()=>{"use strict";_t();Qt();Bk=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()}),zk=k.object({id:k.string().min(1).max(64),op:k.literal("ping")}),Uk=k.object({id:k.string().min(1).max(64),op:k.literal("shutdown"),installId:k.string().min(1).max(64)}),Zk=k.object({id:k.string().min(1).max(64),op:k.literal("reload"),installId:k.string().min(1).max(64).optional()}),M$=k.discriminatedUnion("op",[Bk,zk,Uk,Zk]),F$=k.object({id:k.string(),ok:k.literal(!0),data:k.unknown()}),L$=k.object({id:k.string(),ok:k.literal(!1),err:k.string(),retryAfterMs:k.number().int().nonnegative().optional()}),uu=k.object({filter:Me.nullable(),cacheHit:k.boolean().optional()}),kr=`
97
- `,j$=64*1024});import Gk from"node:os";import{join as mn}from"node:path";import{existsSync as Jk,statSync as Kk,lstatSync as pu,unlinkSync as Wk,mkdirSync as Vk,chmodSync as qk}from"node:fs";import{createHash as Yk}from"node:crypto";function Xk(e){let t=Yk("sha256").update(S()).digest("hex").slice(0,8),n=mn(Gk.tmpdir(),`tkr-${e}-${t}`),r=mn(n,"d.sock");if(Buffer.byteLength(r)>to)throw new Error("Temporary directory path is too long for IPC");return mu(n,e),r}function Qk(e,t){try{let n=pu(e);return n.isDirectory()&&n.uid===t&&(n.mode&63)===0}catch{return!1}}function mu(e,t){Vk(e,{recursive:!0,mode:448});let n=pu(e);if(!n.isDirectory()||n.uid!==t)throw new Error("Unsafe IPC directory");qk(e,448)}function hn(){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&&Qk(t,e)){let s=mn(t,`tokmizer-${e}.sock`);if(Buffer.byteLength(s)<=to)return{path:s,isPipe:!1}}let n=mn(S(),"run"),r=mn(n,"daemon.sock");return Buffer.byteLength(r)>to?{path:Xk(e),isPipe:!1}:(mu(n,e),{path:r,isPipe:!1})}async function no(){let{path:e,isPipe:t}=hn();if(t||!Jk(e))return;try{if(!Kk(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{Wk(e)}catch{}}var to,J$,hu=g(()=>{"use strict";j();to=100;J$=5*6e4});import{createConnection as e0}from"node:net";import{spawn as t0}from"node:child_process";import{existsSync as bu,openSync as ro,closeSync as gu,unlinkSync as oo,writeFileSync as io,mkdirSync as ao,readFileSync as n0,appendFileSync as r0,rmSync as s0,statSync as o0}from"node:fs";import{dirname as i0,join as lo}from"node:path";import{fileURLToPath as a0}from"node:url";function co(){return lo(S(),"daemon.spawn.fail")}function uo(){return lo(S(),"daemon.log")}function f0(){try{let e=Number(n0(co(),"utf8"));return Number.isFinite(e)&&Date.now()-e<c0}catch{return!1}}function d0(e){try{ao(S(),{recursive:!0});let t=uo();try{o0(t).size>u0&&oo(t)}catch{}r0(t,`${new Date().toISOString()} ${e}
98
- `)}catch{}}function p0(e){try{ao(S(),{recursive:!0}),io(co(),String(Date.now()))}catch{}d0(`spawn failed: ${e.message}`)}function m0(){try{s0(co(),{force:!0})}catch{}}async function _r(e,t){return new Promise((n,r)=>{let s=e0(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 h0(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:a0(new URL("../bin/tkr-daemon.js",import.meta.url))}async function so(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 _r(e,75)).destroy(),!0}catch{}else if(bu(e))return!0;await new Promise(o=>setTimeout(o,75))}return!1}async function g0(e){let t=h0();if(!ge()&&!bu(t))throw new Error(`tkr-daemon binary not found at ${t}`);let{path:n}=hn(),r=process.platform==="win32"?S():i0(n);try{ao(r,{recursive:!0})}catch{}let s=lo(r,"daemon.spawn.lock"),o=null;try{o=ro(s,"wx"),io(o,String(process.pid))}catch(i){if(i.code==="EEXIST"){if(await so(n,5e3))return;try{oo(s)}catch{}try{o=ro(s,"wx"),io(o,String(process.pid))}catch(l){if(l.code==="EEXIST"){await so(n,5e3);return}throw l}}else throw i}try{let i=null;try{i=ro(uo(),"a")}catch{}let[a,...l]=Ht(t);if(t0(a,l,{detached:!0,stdio:["ignore","ignore",i??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:e}}).unref(),i!==null)try{gu(i)}catch{}if(!await so(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(o!==null){try{gu(o)}catch{}try{oo(s)}catch{}}}}async function y0(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:hn(),n=await Ks();try{let r=await _r(t,ku);r.write(eo({id:pn(),op:"shutdown",installId:n})),await new Promise(s=>setTimeout(s,150));try{r.destroy()}catch{}return!0}catch{return!1}}async function b0(e,t){let n=Date.now()+t;for(;Date.now()<n;){try{(await _r(e,250)).destroy()}catch{return!0}await new Promise(r=>setTimeout(r,100))}return!1}async function fo(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:hn(),n=await Ks(),r=null,s=0,o=!1;for(;s<=yu;)try{r=await _r(t,ku),m0();break}catch{if(s+=1,s>yu)throw new Error(`tkr-daemon unreachable at ${t}`);if(f0())throw new Error(`tkr-daemon spawn on cooldown (see ${uo()})`);await no();try{await g0(n),o=!0}catch(u){throw p0(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]===kr&&(f=p);if(f<0)return;let d=[];for(let p of fu(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})`))},l0);i.set(u.id,{resolve:f,reject:d,timer:p}),r.write(eo(u))})}let c={filter:async(u,f,d)=>{let p=await l({id:pn(),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=uu.safeParse(p.data);return m.success?m.data.filter:null},ping:async()=>{let u=await l({id:pn(),op:"ping"});if(!u.ok)throw new Error(u.err);return u.data},reload:async()=>{let u=await l({id:pn(),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&&Tc(an,f.version))throw new Error(`newer daemon ${f.version} already running`);u=f.version!==an}catch(f){throw c.close(),f}if(u){try{await y0(e.socketPath?{socketPath:e.socketPath}:{})}catch{}c.close();let f=await b0(t,2e3);if(await no(),!f)throw new Error("stale daemon still running after shutdown request");return fo({...e,skipVersionCheck:!0})}}return c}var ku,l0,yu,c0,u0,_u=g(()=>{"use strict";du();hu();j();Ae();Ws();or();ku=500,l0=3e3,yu=1,c0=6e4,u0=256*1024});async function k0(){if(Ct)return Ct;if(gn)return gn;let e=fo().then(t=>{if(gn===e)return Ct=t,t;try{t.close()}catch{}return null}).catch(()=>null);return gn=e,e}async function _0(){return mo||(mo=!0,po=await Ic()??ir()),po}async function wu(e,t,n){let r=await _0();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 w0(e){return e?{...e,matchRegex:new RegExp(e.match_command)}:null}function wr(e){Gs(async(t,n)=>{let r=e==="free"?"trial":e,s=n??Rt(void 0),o=await k0();if(!o)return wu(t,r,s);try{let i=await o.filter(t,r,s?[...s]:void 0);return!i||s&&!s.has(ee(i.slug))?null:w0(i)}catch{return wu(t,r,s)}})}function xr(){if(Gs(null),Ct)try{Ct.close()}catch{}Ct=null,gn=null,po=null,mo=!1}var Ct,gn,po,mo,ho=g(()=>{"use strict";_u();ar();Fe();Zs();fn();Ct=null,gn=null;po=null,mo=!1});import{chmod as $u,mkdir as x0,readFile as mA,writeFile as xu,stat as hA,readdir as gA,rm as Su,rename as S0}from"node:fs/promises";import{existsSync as v0,readFileSync as E0,realpathSync as T0}from"node:fs";import{createHash as R0}from"node:crypto";import{dirname as vu,join as $0,resolve as Eu}from"node:path";function P0(){try{let e=JSON.parse(E0(Po(),"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 N0(e,t,n=process.env){let r=Number(n[e]);return Number.isFinite(r)&&r>0?r:t}function D0(e){return`${Cr(e)}${I0}`}async function Tu(e){await x0(e,{recursive:!0,mode:448});try{await $u(e,448)}catch{}}function M0(e=process.cwd()){let t;try{t=T0(Eu(e))}catch{t=Eu(e)}for(let n=t;;n=vu(n)){if(v0($0(n,".git")))return n;if(vu(n)===n)return t}}function F0(e){return e===""?[]:(e.endsWith(`
96
+ `:""),iu(mu(e),JSON.stringify({v:1,days:a}))}catch{return}finally{uu(r,{force:!0})}}function t0(e){let t=jk(e),n=t,r="";for(;;){try{return kr(Lk(n),r)}catch{}let s=du(n);if(s===n)return t;r=r?kr(su(n),r):su(n),n=s}}function au(e){return e.length===0||e[0]==="cd"||e.every(t=>hu.test(t))}function i0(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(`|;&<>
97
+ `.includes(i)){if(o(),au(t)){t=[];continue}return t}n+=i,r=!0}return o(),au(t)?[]:t}function ot(e){let t=i0(e).map(a=>a.replace(/^[({]+/,"")).filter(Boolean),n=0;for(;n<t.length;){let a=t[n];if(hu.test(a)){n+=1;continue}if(n0.has(a)){for(n+=1;n<t.length;){let l=t[n];if(l.startsWith("-")){n+=r0.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("-")&&s0.test(o)&&o0.has(s.toLowerCase())?`${s} ${o}`:s).slice(0,24)}function a0(){return kr(S(),Hk)}function _r(e,t,n=a0(),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))}`:"",p=a?t0(a):"",d=p&&p.length<=Gk?`,"p":${JSON.stringify(p)}`:"",m=l.s?`,"s":${JSON.stringify(l.s.slice(0,66))}`:"",y=l.o?`,"o":${JSON.stringify(l.o)}`:"",b=`{"t":${Math.floor(Date.now()/1e3)},"r":${e},"f":${t}${r?',"m":1':""}${c}${u}${f}${d}${m}${y}}
98
+ `;try{Fk(S(),{recursive:!0,mode:448}),Dk(n,b,{mode:384}),Mk(n,384),e0(n)}catch{return}}function wr(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 xr(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 Hk,Bk,ou,zk,Uk,Zk,Gk,n0,r0,s0,o0,hu,to=g(()=>{"use strict";j();ru();Hk="stats.jsonl",Bk="stats-ledger.json",ou=2*1024*1024,zk=3e4,Uk=3e4,Zk=new Set(["n","g","e"]),Gk=256;n0=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),r0=new Set(["-u","-g","-n","-s","-k"]),s0=/^[a-z0-9][a-z0-9._-]*$/i,o0=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"]),hu=/^[A-Za-z_][A-Za-z0-9_]*=/});import{existsSync as KR,realpathSync as l0}from"node:fs";import{basename as VR,delimiter as gu,join as qR,dirname as YR}from"node:path";function yu(e){try{return l0(e)}catch{return e}}function bu(){let e=wn(),t={...process.env},n=process.platform==="win32"?"Path":"PATH",r=t[n]??t.PATH??"",s=yu(e),o=r.split(gu).filter(i=>i&&i!==e&&yu(i)!==s);return t[n]=o.join(gu),n==="Path"&&(t.PATH=t[n]),t}var ku=g(()=>{"use strict";zt();$e();j();In();Zt();Mr();Zt()});function no(e){return JSON.stringify(e)+Sr}function*wu(e){let t=0;for(;;){let n=e.indexOf(Sr,t);if(n<0)return;yield e.slice(t,n),t=n+1}}function gn(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}var c0,u0,f0,d0,lA,cA,uA,_u,Sr,fA,xu=g(()=>{"use strict";xt();on();c0=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()}),u0=k.object({id:k.string().min(1).max(64),op:k.literal("ping")}),f0=k.object({id:k.string().min(1).max(64),op:k.literal("shutdown"),installId:k.string().min(1).max(64)}),d0=k.object({id:k.string().min(1).max(64),op:k.literal("reload"),installId:k.string().min(1).max(64).optional()}),lA=k.discriminatedUnion("op",[c0,u0,f0,d0]),cA=k.object({id:k.string(),ok:k.literal(!0),data:k.unknown()}),uA=k.object({id:k.string(),ok:k.literal(!1),err:k.string(),retryAfterMs:k.number().int().nonnegative().optional()}),_u=k.object({filter:Ne.nullable(),cacheHit:k.boolean().optional()}),Sr=`
99
+ `,fA=64*1024});import p0 from"node:os";import{join as yn}from"node:path";import{existsSync as m0,statSync as h0,lstatSync as Su,unlinkSync as g0,mkdirSync as y0,chmodSync as b0}from"node:fs";import{createHash as k0}from"node:crypto";function _0(e){let t=k0("sha256").update(S()).digest("hex").slice(0,8),n=yn(p0.tmpdir(),`tkr-${e}-${t}`),r=yn(n,"d.sock");if(Buffer.byteLength(r)>ro)throw new Error("Temporary directory path is too long for IPC");return vu(n,e),r}function w0(e,t){try{let n=Su(e);return n.isDirectory()&&n.uid===t&&(n.mode&63)===0}catch{return!1}}function vu(e,t){y0(e,{recursive:!0,mode:448});let n=Su(e);if(!n.isDirectory()||n.uid!==t)throw new Error("Unsafe IPC directory");b0(e,448)}function bn(){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&&w0(t,e)){let s=yn(t,`tokmizer-${e}.sock`);if(Buffer.byteLength(s)<=ro)return{path:s,isPipe:!1}}let n=yn(S(),"run"),r=yn(n,"daemon.sock");return Buffer.byteLength(r)>ro?{path:_0(e),isPipe:!1}:(vu(n,e),{path:r,isPipe:!1})}async function so(){let{path:e,isPipe:t}=bn();if(t||!m0(e))return;try{if(!h0(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{g0(e)}catch{}}var ro,bA,Eu=g(()=>{"use strict";j();ro=100;bA=5*6e4});import{createConnection as x0}from"node:net";import{spawn as S0}from"node:child_process";import{existsSync as Ru,openSync as oo,closeSync as Tu,unlinkSync as ao,writeFileSync as lo,mkdirSync as co,readFileSync as v0,appendFileSync as E0,rmSync as T0,statSync as $0}from"node:fs";import{dirname as R0,join as uo}from"node:path";import{fileURLToPath as A0}from"node:url";function fo(){return uo(S(),"daemon.spawn.fail")}function po(){return uo(S(),"daemon.log")}function P0(){try{let e=Number(v0(fo(),"utf8"));return Number.isFinite(e)&&Date.now()-e<O0}catch{return!1}}function N0(e){try{co(S(),{recursive:!0});let t=po();try{$0(t).size>I0&&ao(t)}catch{}E0(t,`${new Date().toISOString()} ${e}
100
+ `)}catch{}}function D0(e){try{co(S(),{recursive:!0}),lo(fo(),String(Date.now()))}catch{}N0(`spawn failed: ${e.message}`)}function M0(){try{T0(fo(),{force:!0})}catch{}}async function vr(e,t){return new Promise((n,r)=>{let s=x0(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 F0(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:A0(new URL("../bin/tkr-daemon.js",import.meta.url))}async function io(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 vr(e,75)).destroy(),!0}catch{}else if(Ru(e))return!0;await new Promise(o=>setTimeout(o,75))}return!1}async function L0(e){let t=F0();if(!ge()&&!Ru(t))throw new Error(`tkr-daemon binary not found at ${t}`);let{path:n}=bn(),r=process.platform==="win32"?S():R0(n);try{co(r,{recursive:!0})}catch{}let s=uo(r,"daemon.spawn.lock"),o=null;try{o=oo(s,"wx"),lo(o,String(process.pid))}catch(i){if(i.code==="EEXIST"){if(await io(n,5e3))return;try{ao(s)}catch{}try{o=oo(s,"wx"),lo(o,String(process.pid))}catch(l){if(l.code==="EEXIST"){await io(n,5e3);return}throw l}}else throw i}try{let i=null;try{i=oo(po(),"a")}catch{}let[a,...l]=Ut(t);if(S0(a,l,{detached:!0,stdio:["ignore","ignore",i??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:e}}).unref(),i!==null)try{Tu(i)}catch{}if(!await io(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(o!==null){try{Tu(o)}catch{}try{ao(s)}catch{}}}}async function j0(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:bn(),n=await Vs();try{let r=await vr(t,Au);r.write(no({id:gn(),op:"shutdown",installId:n})),await new Promise(s=>setTimeout(s,150));try{r.destroy()}catch{}return!0}catch{return!1}}async function H0(e,t){let n=Date.now()+t;for(;Date.now()<n;){try{(await vr(e,250)).destroy()}catch{return!0}await new Promise(r=>setTimeout(r,100))}return!1}async function mo(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:bn(),n=await Vs(),r=null,s=0,o=!1;for(;s<=$u;)try{r=await vr(t,Au),M0();break}catch{if(s+=1,s>$u)throw new Error(`tkr-daemon unreachable at ${t}`);if(P0())throw new Error(`tkr-daemon spawn on cooldown (see ${po()})`);await so();try{await L0(n),o=!0}catch(u){throw D0(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 d=0;d<a.length;d++)a[d]===Sr&&(f=d);if(f<0)return;let p=[];for(let d of wu(a.slice(0,f+1)))p.push(d);a=a.slice(f+1);for(let d of p)if(d)try{let m=JSON.parse(d),y=i.get(m.id);if(!y)continue;clearTimeout(y.timer),i.delete(m.id),y.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,p)=>{if(r.destroyed||!r.writable){p(new Error("daemon socket closed"));return}let d=setTimeout(()=>{i.delete(u.id),p(new Error(`daemon request timeout (${u.op})`))},C0);i.set(u.id,{resolve:f,reject:p,timer:d}),r.write(no(u))})}let c={filter:async(u,f,p)=>{let d=await l({id:gn(),op:"filter",cmd:u.slice(0,2048),plan:f,...p&&p.length>0?{allowed:p.slice(0,512)}:{},installId:n});if(!d.ok)return null;let m=_u.safeParse(d.data);return m.success?m.data.filter:null},ping:async()=>{let u=await l({id:gn(),op:"ping"});if(!u.ok)throw new Error(u.err);return u.data},reload:async()=>{let u=await l({id:gn(),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&&Nc(un,f.version))throw new Error(`newer daemon ${f.version} already running`);u=f.version!==un}catch(f){throw c.close(),f}if(u){try{await j0(e.socketPath?{socketPath:e.socketPath}:{})}catch{}c.close();let f=await H0(t,2e3);if(await so(),!f)throw new Error("stale daemon still running after shutdown request");return mo({...e,skipVersionCheck:!0})}}return c}var Au,C0,$u,O0,I0,Cu=g(()=>{"use strict";xu();Eu();j();$e();qs();cr();Au=500,C0=3e3,$u=1,O0=6e4,I0=256*1024});async function B0(){if(It)return It;if(kn)return kn;let e=mo().then(t=>{if(kn===e)return It=t,t;try{t.close()}catch{}return null}).catch(()=>null);return kn=e,e}async function z0(){return go||(go=!0,ho=await zc()??ur()),ho}async function Ou(e,t,n){let r=await z0();if(!r)return null;let s=r.selectFor(e,t,n?[...n]:void 0);return!s||n&&!n.has(Q(s.slug))?null:s}function U0(e){return e?{...e,matchRegex:new RegExp(e.match_command)}:null}function Er(e){Ks(async(t,n)=>{let r=e==="free"?"trial":e,s=n??At(void 0),o=await B0();if(!o)return Ou(t,r,s);try{let i=await o.filter(t,r,s?[...s]:void 0);return!i||s&&!s.has(Q(i.slug))?null:U0(i)}catch{return Ou(t,r,s)}})}function Tr(){if(Ks(null),It)try{It.close()}catch{}It=null,kn=null,ho=null,go=!1}var It,kn,ho,go,yo=g(()=>{"use strict";Cu();fr();De();Js();mn();It=null,kn=null;ho=null,go=!1});import{chmod as Lu,mkdir as Z0,readFile as HA,writeFile as Iu,stat as BA,readdir as zA,rm as Pu,rename as G0}from"node:fs/promises";import{existsSync as J0,readFileSync as K0,realpathSync as W0}from"node:fs";import{createHash as V0}from"node:crypto";import{dirname as Nu,join as q0,resolve as Du}from"node:path";function t_(){try{let e=JSON.parse(K0(Do(),"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 n_(e,t,n=process.env){let r=Number(n[e]);return Number.isFinite(r)&&r>0?r:t}function r_(e){return`${Nr(e)}${e_}`}async function Mu(e){await Z0(e,{recursive:!0,mode:448});try{await Lu(e,448)}catch{}}function s_(e=process.cwd()){let t;try{t=W0(Du(e))}catch{t=Du(e)}for(let n=t;;n=Nu(n)){if(J0(q0(n,".git")))return n;if(Nu(n)===n)return t}}function o_(e){return e===""?[]:(e.endsWith(`
99
101
  `)?e.slice(0,-1):e).split(`
100
- `)}async function L0(e,t,n=process.env,r={}){if(be()||!O0.test(e))return!1;t=Dc(t);let s=Buffer.byteLength(t,"utf8");if(s>N0("TOKMIZER_CCR_ENTRY_MAX_BYTES",C0,n))return!1;let o=Cr(e),i=`${o}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{if(await Tu(S()),await Tu(Ar()),be())return!1;if(await xu(i,t,{mode:384}),await $u(i,384),be())return await Su(i,{force:!0}),!1;await S0(i,o)}catch{try{await Su(i)}catch{}return!1}let a={at:Date.now(),bytes:s,lines:F0(t).length,partial:r.partial===!0,...r.label?{label:r.label.slice(0,40)}:{},project:M0(r.cwd)};try{await xu(D0(e),JSON.stringify(a),{mode:384})}catch{}return!0}function Au(e){let t=e.TOKMIZER_CCR_DISABLED;return t==="1"||t==="true"||be()||P0().disabled===!0}function Cu(e,t){let n=e.replace(j0,"> ");if(!n.includes("[tkr:"))return n;let r=t==null?null:t.split(`
101
- `).map(o=>o.replace(/\r$/,"")).filter(o=>Ru.test(o)),s=o=>{if(r==null)return!1;let i=H0.find(a=>a(o));return i!=null&&!r.some(i)};return n.split(`
102
- `).map(o=>Ru.test(o)&&!s(o)?`> ${o}`:o).join(`
103
- `)}async function go(e,t,n,r){let s=R0("sha256").update(e).digest("hex").slice(0,16);return await L0(s,e,r,{partial:t,label:n})?s:null}async function Ot(e,t,n=process.env,r={}){if(t=Cu(t,r.raw),Au(n)||!e)return t;let s=i=>`
104
- [tkr restore ${i}]`;if(Buffer.byteLength(e,"utf8")<=Buffer.byteLength(s("0".repeat(16)),"utf8"))return t;if(r.raw){let i=await go(r.raw,!1,r.label,n);if(i)return`${t}${s(i)}`}let o=await go(e,!0,r.label,n);return o?`${t}${s(o)}`:t}async function Sr(e,t,n=process.env,r={}){if(t=Cu(t,e),Au(n)||!e)return t;let s=await go(e,!1,r.label,n);return s?`${t}
105
- [tkr restore ${s}]`:t}var A0,vA,EA,C0,O0,I0,TA,j0,Ru,H0,yo=g(()=>{"use strict";ur();Pn();j();In();A0=1440*60*1e3,vA=30*A0,EA=200*1024*1024,C0=8*1024*1024,O0=/^[0-9a-f]{8,64}$/i,I0=".meta",TA=["usage: tkr restore <hash> [--lines a:b] [--grep pattern]"," tkr restore --list [--all-projects]"," tkr restore --grep <pattern> [--all-projects]",""].join(`
106
- `);j0=/^(?=\[tkr |\[tokmizer\])/gm,Ru=/^\[tkr:/,H0=[e=>e===ct,e=>/^\[tkr: previous log line repeated \d+ additional times\]$/.test(e)]});var Fu={};Dt(Fu,{CAPTURING_ENV:()=>ko,kickBackgroundEnroll:()=>Pu,processCapturedOutput:()=>Mu,resolveExecTimeoutMs:()=>Nu,runWrapped:()=>Q0,signalNumber:()=>Du,underCapturingExec:()=>V0});import{existsSync as B0,readFileSync as z0,writeFileSync as U0,mkdirSync as Z0}from"node:fs";import{join as G0}from"node:path";import{fileURLToPath as J0}from"node:url";import{StringDecoder as K0}from"node:string_decoder";function V0(e=process.env){return e[ko]==="1"}function Iu(e,t){let n=new K0("utf8"),r=n.write(Buffer.concat(e));return t?r:r+n.end()}function Pu(){try{if(!ln())return;let e=process.env.TOKMIZER_TKR_BIN||J0(new URL("../bin/tkr.js",import.meta.url));if(!ge()&&!B0(e))return;let t=G0(S(),"enroll-kick");try{let o=Number(z0(t,"utf8"));if(Number.isFinite(o)&&Date.now()-o<W0)return}catch{}Z0(S(),{recursive:!0}),U0(t,String(Date.now()));let[n,...r]=Ht(e);(0,bo.default)(n,[...r,"heartbeat"],{detached:!0,stdio:"ignore"}).unref()}catch{}}function Nu(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 Du(e){return Y0[e]??15}function X0(e){let t=on(e);if(t===null)return!1;let[n,...r]=ve(t).split(/\s+/);return/^(?:cat|head|nl)(?:\.exe)?$/i.test(n?.split(/[\\/]/).pop()??"")&&r.some(s=>s!==""&&!s.startsWith("-"))}async function Q0(e){let[t,...n]=e;if(!t)throw new Error("tkr-exec: missing command");let r=be(),s=(0,bo.default)(t,n,{stdio:["inherit","pipe","pipe"],env:{...lu(),[ko]:"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>=It){p=!0;return}let D=It-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>=It){m=!0;return}let D=It-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,L)=>{b&&clearTimeout(b),C(M??(L?128+Du(L):0))}),b=setTimeout(()=>{s.kill("SIGTERM"),y=setTimeout(()=>s.kill("SIGKILL"),2e3)},q0),b.unref?.()})}finally{b&&clearTimeout(b),y&&clearTimeout(y),process.off("SIGINT",a),process.off("SIGTERM",l)}let T=Iu(c,p),N=Iu(u,m);return Mu({argv:e,stdout:T,stderr:N,exitCode:$,truncated:p,stderrTruncated:m},{yolo:r,env:process.env,onMissingState:Pu})}async function Mu({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?`
107
- \u2026 (output truncated at ${It/1048576}MB)`:"",p=o?`
108
- \u2026 (stderr truncated at ${It/(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 He();b||c?.();let y=await Ee();if(!y.enabled)return m();let $=a.CLAUDE_CODE_SESSION_ID;$&&b?.token&&On($,{tool:"Bash",target:e.join(" "),...r!==0?{fail:1}:{}});let T=b?cr(b):null,N=b?Rt(b.allowedFilters,lr(b)):null,C=new Set(y.filters.disabled.map(ee)),D=N&&C.size>0?new Set([...N].filter(B=>!C.has(B))):N,M=e.join(" ");b&&!l&&wr(T);let L=await $t(M,t,D,{verbosity:y.outputVerbosity,resolver:l,yolo:i,exitCode:r}),ae=n,I=0,z=0;if((i||r===0)&&Buffer.byteLength(n,"utf8")>=(i?1:Ou)){let B=await $t(M,n,D,{verbosity:y.outputVerbosity,resolver:l,yolo:i,exitCode:r});if(ae=B.output,!i&&B.output!==n)try{ae=await Ot(B.droppedTail??null,B.output,a,{raw:o?null:n,label:it(M)})}catch{}I=B.rawBytes,z=B.filteredBytes}else if(!i&&r!==0&&Buffer.byteLength(n,"utf8")>=Ou){let B=await $t(M,n,D,{verbosity:y.outputVerbosity,resolver:l,exitCode:r});if(B.failureSummary){try{ae=await Ot(B.droppedTail??null,B.output,a)}catch{ae=B.output}I=B.rawBytes,z=B.filteredBytes}}let Re=!i&&L.output!==t&&X0(M)?`${L.output}${L.output.endsWith(`
102
+ `)}async function i_(e,t,n=process.env,r={}){if(be()||!Q0.test(e))return!1;t=Gc(t);let s=Buffer.byteLength(t,"utf8");if(s>n_("TOKMIZER_CCR_ENTRY_MAX_BYTES",X0,n))return!1;let o=Nr(e),i=`${o}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{if(await Mu(S()),await Mu(Pr()),be())return!1;if(await Iu(i,t,{mode:384}),await Lu(i,384),be())return await Pu(i,{force:!0}),!1;await G0(i,o)}catch{try{await Pu(i)}catch{}return!1}let a={at:Date.now(),bytes:s,lines:o_(t).length,partial:r.partial===!0,...r.label?{label:r.label.slice(0,40)}:{},project:s_(r.cwd)};try{await Iu(r_(e),JSON.stringify(a),{mode:384})}catch{}return!0}function ju(e){let t=e.TOKMIZER_CCR_DISABLED;return t==="1"||t==="true"||be()||t_().disabled===!0}function Ee(e,t){let n=e.replace(a_,"> ");if(!n.includes("[tkr:")&&!n.includes("[same output as "))return n;let r=t==null?null:t.split(`
103
+ `).map(o=>o.replace(/\r$/,"")).filter(o=>Fu.test(o)),s=o=>{if(r==null)return!1;let i=l_.find(a=>a(o));return i!=null&&!r.some(i)};return n.split(`
104
+ `).map(o=>Fu.test(o)&&!s(o)?`> ${o}`:o).join(`
105
+ `)}async function bo(e,t,n,r){let s=V0("sha256").update(e).digest("hex").slice(0,16);return await i_(s,e,r,{partial:t,label:n})?s:null}async function Pt(e,t,n=process.env,r={}){if(t=Ee(t,r.raw),ju(n)||!e)return t;let s=i=>`
106
+ [tkr restore ${i}]`;if(Buffer.byteLength(e,"utf8")<=Buffer.byteLength(s("0".repeat(16)),"utf8"))return t;if(r.raw){let i=await bo(r.raw,!1,r.label,n);if(i)return`${t}${s(i)}`}let o=await bo(e,!0,r.label,n);return o?`${t}${s(o)}`:t}async function $r(e,t,n=process.env,r={}){if(t=Ee(t,e),ju(n)||!e)return t;let s=await bo(e,!1,r.label,n);return s?`${t}
107
+ [tkr restore ${s}]`:t}var Y0,qA,YA,X0,Q0,e_,XA,a_,Fu,l_,ko=g(()=>{"use strict";mr();Dn();j();Nn();Y0=1440*60*1e3,qA=30*Y0,YA=200*1024*1024,X0=8*1024*1024,Q0=/^[0-9a-f]{8,64}$/i,e_=".meta",XA=["usage: tkr restore <hash> [--lines a:b] [--grep pattern]"," tkr restore --list [--all-projects]"," tkr restore --grep <pattern> [--all-projects]",""].join(`
108
+ `);a_=/^(?=\[tkr |\[tokmizer\])/gm,Fu=/^\[(?:tkr:|same output as )/,l_=[e=>e===ft,e=>/^\[tkr: previous log line repeated \d+ additional times\]$/.test(e),e=>/^\[same output as `.*` earlier in this session, unchanged, ~\d+ tokens\]$/.test(e)]});var Ku={};Lt(Ku,{CAPTURING_ENV:()=>wo,kickBackgroundEnroll:()=>Uu,processCapturedOutput:()=>Ju,resolveExecTimeoutMs:()=>Zu,runWrapped:()=>__,signalNumber:()=>Gu,underCapturingExec:()=>g_});import{existsSync as Hu,readFileSync as c_,writeFileSync as u_,mkdirSync as f_}from"node:fs";import{join as d_}from"node:path";import{fileURLToPath as p_}from"node:url";import{StringDecoder as m_}from"node:string_decoder";function g_(e=process.env){return e[wo]==="1"}function zu(e,t){let n=new m_("utf8"),r=n.write(Buffer.concat(e));return t?r:r+n.end()}function Uu(){try{if(!fn()||!Hu(Lc()))return;let e=process.env.TOKMIZER_TKR_BIN||p_(new URL("../bin/tkr.js",import.meta.url));if(!ge()&&!Hu(e))return;let t=d_(S(),"enroll-kick");try{let o=Number(c_(t,"utf8"));if(Number.isFinite(o)&&Date.now()-o<h_)return}catch{}f_(S(),{recursive:!0}),u_(t,String(Date.now()));let[n,...r]=Ut(e);(0,_o.default)(n,[...r,"heartbeat"],{detached:!0,stdio:"ignore"}).unref()}catch{}}function Zu(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 Gu(e){return b_[e]??15}function k_(e){let t=cn(e);if(t===null)return!1;let[n,...r]=Se(t).split(/\s+/);return/^(?:cat|head|nl)(?:\.exe)?$/i.test(n?.split(/[\\/]/).pop()??"")&&r.some(s=>s!==""&&!s.startsWith("-"))}async function __(e){let[t,...n]=e;if(!t)throw new Error("tkr-exec: missing command");let r=be(),s=(0,_o.default)(t,n,{stdio:["inherit","pipe","pipe"],env:{...bu(),[wo]:"1"}}),o=!1;s.on("spawn",()=>{o=!0});let i=O=>{try{s.kill(O)}catch{}},a=()=>i("SIGINT"),l=()=>i("SIGTERM");process.on("SIGINT",a),process.on("SIGTERM",l);let c=[],u=[],f=0,p=0,d=!1,m=!1;s.stdout?.on("data",O=>{if(f>=Nt){d=!0;return}let M=Nt-f,F=O.length>M?O.subarray(0,M):O;c.push(F),f+=F.length,O.length>M&&(d=!0)}),s.stderr?.on("data",O=>{if(p>=Nt){m=!0;return}let M=Nt-p,F=O.length>M?O.subarray(0,M):O;u.push(F),p+=F.length,O.length>M&&(m=!0)});let y,b,R;try{R=await new Promise((O,M)=>{s.on("error",F=>{y&&clearTimeout(y),o?O(1):M(F)}),s.on("close",(F,L)=>{y&&clearTimeout(y),O(F??(L?128+Gu(L):0))}),y=setTimeout(()=>{s.kill("SIGTERM"),b=setTimeout(()=>s.kill("SIGKILL"),2e3)},y_),y.unref?.()})}finally{y&&clearTimeout(y),b&&clearTimeout(b),process.off("SIGINT",a),process.off("SIGTERM",l)}let T=zu(c,d),D=zu(u,m);return Ju({argv:e,stdout:T,stderr:D,exitCode:R,truncated:d,stderrTruncated:m},{yolo:r,env:process.env,onMissingState:Uu})}async function Ju({argv:e,stdout:t,stderr:n,exitCode:r,truncated:s,stderrTruncated:o},{yolo:i,env:a,resolver:l,onMissingState:c,deferAccounting:u,...f}){let p=s?`
109
+ \u2026 (output truncated at ${Nt/1048576}MB)`:"",d=o?`
110
+ \u2026 (stderr truncated at ${Nt/(1024*1024)}MB)`:"",m=()=>{let y=t+p,b=Buffer.byteLength(y,"utf8");return{stdout:y,stderr:n+d,code:r,filterId:null,rawBytes:b,filteredBytes:b,truncated:s}};try{let y=await je();y||c?.();let b=await ve();if(!b.enabled)return m();let R=a.CLAUDE_CODE_SESSION_ID;R&&y?.token&&Pn(R,{tool:"Bash",target:e.join(" "),...r!==0?{fail:1}:{}});let T=y?pr(y):null,D=y?At(y.allowedFilters,dr(y)):null,O=new Set(b.filters.disabled.map(Q)),M=D&&O.size>0?new Set([...D].filter(C=>!O.has(C))):D,F=e.join(" ");y&&!l&&Er(T);let L=await Ct(F,t,M,{verbosity:b.outputVerbosity,resolver:l,yolo:i,exitCode:r}),ae=Ee(n,n),P=0,z=0;if((i||r===0)&&Buffer.byteLength(n,"utf8")>=(i?1:Bu)){let C=await Ct(F,n,M,{verbosity:b.outputVerbosity,resolver:l,yolo:i,exitCode:r});if(ae=Ee(C.output,n),!i&&C.output!==n)try{ae=await Pt(C.droppedTail??null,C.output,a,{raw:o?null:n,label:ot(F)})}catch{}P=C.rawBytes,z=C.filteredBytes}else if(!i&&r!==0&&Buffer.byteLength(n,"utf8")>=Bu){let C=await Ct(F,n,M,{verbosity:b.outputVerbosity,resolver:l,exitCode:r});if(C.failureSummary){try{ae=await Pt(C.droppedTail??null,C.output,a)}catch{ae=Ee(C.output,n)}P=C.rawBytes,z=C.filteredBytes}}let it=!i&&L.output!==t&&k_(F)?`${L.output}${L.output.endsWith(`
109
111
  `)?"":`
110
- `}${ct}`:L.output,me=Re;if(!i&&L.filteredBytes<L.rawBytes)try{me=new RegExp(Kn.source,"m").test(L.output)?await Sr(t,Re,a,{label:it(M)}):await Ot(L.droppedTail??null,Re,a,{raw:s?null:t,label:it(M)})}catch{}let Pt=me+d,yn=ae+p,Nt=An(a).host,he=br(L.rawBytes+Buffer.byteLength(n,"utf8"),Buffer.byteLength(Pt,"utf8")+Buffer.byteLength(yn,"utf8"),$n(Nt)),bn=!1,F=async()=>{if(!bn){bn=!0;try{gr(he.raw,he.filtered,void 0,!1,Nt,"sh",it(M),"cwd"in f?f.cwd:process.cwd(),yr(L)),await mr({cmd:M,filterId:L.filterId,rawBytes:L.rawBytes,filteredBytes:L.filteredBytes,plan:T}),await dr({cmd:M,tokensSaved:Math.max(0,Math.round((he.raw-he.filtered)/4)),rawTokens:Math.round(he.raw/4),optimized:L.filterId!=null,telemetryOptIn:y.telemetryOptIn&&(!u||(await Ee()).telemetryOptIn),sessionId:$,host:Nt})}catch{}}};return u?u(F):await F(),{stdout:Pt,stderr:yn,code:r,filterId:L.filterId,rawBytes:L.rawBytes+I,filteredBytes:L.filteredBytes+z,truncated:s}}catch{return m()}finally{l||xr()}}var bo,It,Ou,W0,ko,q0,Y0,Lu=g(()=>{"use strict";bo=cf(Na(),1);ar();Fe();fn();Lt();j();Js();Ys();pr();Qs();Kr();At();Cn();cu();ho();yo();Et();Pn();Ds();In();Ae();cn();It=10*1024*1024,Ou=1024,W0=6e4,ko="TOKMIZER_EXEC_CAPTURING";q0=Nu(process.env),Y0={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 _o={};Dt(_o,{FOLD_MARKER_RE:()=>Kn,captureForRestore:()=>Ot,captureOriginalForRestore:()=>Sr,closeDaemonResolver:()=>xr,countedSaving:()=>br,gatingPlan:()=>cr,graceExceeded:()=>lr,installDaemonResolver:()=>wr,loadSettingsCache:()=>Ee,processOutput:()=>$t,recordEvent:()=>mr,recordStat:()=>gr,recordTelemetry:()=>dr,resolveAllowedFilters:()=>Rt,statCmdLabel:()=>it,statOutcome:()=>yr});var wo=g(()=>{"use strict";ar();yo();Et();fn();Js();Ys();pr();Qs();ho();At()});function Ao(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 Co}from"node:fs";import{fileURLToPath as uf,pathToFileURL as ff}from"node:url";var Oo=null;function Io(e,t,n){if(n!==void 0&&Oo===n)return!0;if(Oo!==null||!e)return!1;if(t===ff(e).href)return!0;try{return Co(e)===Co(uf(t))}catch{return!1}}j();Lt();Cn();Kr();import{existsSync as e_,writeFileSync as t_,appendFileSync as n_,statSync as r_,constants as ju}from"node:fs";import{lstat as s_,open as o_}from"node:fs/promises";import{basename as i_,dirname as a_,isAbsolute as l_,join as Zu}from"node:path";j();Bt();import{readFileSync as op}from"node:fs";import{join as ip}from"node:path";function Ni(){if(Do())return!1;try{return JSON.parse(op(ip(S(),"settings-cache.json"),"utf8")).enabled!==!1}catch{return!0}}j();import{createHash as ap}from"node:crypto";import{appendFileSync as lp,chmodSync as cp,mkdirSync as up,readFileSync as fp,rmSync as dp,statSync as pp}from"node:fs";import{join as Di}from"node:path";var mp=256*1024,hp=80;function gp(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Di(S(),"sessions",`${t}.seen`)}function Wr(e){return e.replace(/[\t\r\n]+/g," ").trim().slice(0,hp)}function Vr(e,t,n,r){try{let s=gp(e),o=Wr(t),i=ap("sha256").update(n).digest("hex").slice(0,32),a="";try{a=fp(s,"utf8")}catch{}for(let l of a.split(`
111
- `)){let[c,u,f]=l.split(" ");if(c===o&&u===i)return{cmd:f??""}}up(Di(S(),"sessions"),{recursive:!0,mode:448}),lp(s,`${o} ${i} ${Wr(r)}
112
- `,{mode:384}),cp(s,384),pp(s).size>mp&&dp(s,{force:!0})}catch{}return null}function qr(e,t){return`[same output as \`${Wr(e)}\` earlier in this session, unchanged, ~${Math.round(t/4)} tokens]`}In();Pn();function J(e,t){let n=e[t];return typeof n=="string"&&n?n:null}function Kt(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function kp(e){return J(e,"prompt_id")||J(e,"scratchpad_dir")?!0:Kt(e.effort)}function _p(e){return J(e,"tool_use_id")?.startsWith("toolu_")===!0||/^claude/i.test(J(e,"model")??"")}var wp=new Set(["BeforeTool","AfterTool","BeforeAgent","AfterAgent","BeforeModel","AfterModel","BeforeToolSelection"]),xp=new Set(["preToolUse","postToolUse","beforeShellExecution","afterShellExecution","beforeSubmitPrompt","sessionStart","sessionEnd","stop"]),Sp=new Set(["pre_tool","post_tool"]),vp=new Set(["before_tool_call","after_tool_call"]),Ep=new Set(["runTerminalCommand","run_in_terminal"]),Tp=[["codex",e=>J(e,"turn_id")!==null],["claude-code",kp],["cursor",e=>J(e,"cursor_version")!==null||J(e,"generation_id")!==null||J(e,"conversation_id")!==null||Array.isArray(e.workspace_roots)||xp.has(J(e,"hook_event_name")??"")],["gemini-cli",e=>wp.has(J(e,"hook_event_name")??"")],["qwen-code",e=>e.hook_event_name==="PreToolUse"&&e.tool_name==="run_shell_command"],["vibe",e=>Sp.has(J(e,"hook_event_name")??"")],["antigravity",e=>Kt(e.toolCall)],["copilot",e=>J(e,"toolName")!==null&&"toolArgs"in e||Ep.has(J(e,"tool_name")??"")],["grok",e=>e.toolName==="run_terminal_command"||e.tool_name==="run_terminal_command"||Kt(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&&J(e,"event")!==null&&!vp.has(J(e,"event"))]],Rp=new Set(["codex","antigravity"]);function $p(e){return Kt(e)?Tp.filter(([,t])=>t(e)).map(([t])=>t):[]}function Ap(e,t){if(!Kt(e))return null;let n=$p(e);return n.length>1?null:n.length===1?n[0]:_p(e)&&Rp.has(t)?"claude-code":t==="codex"?null:t}function Mi(e,t){let n=Ap(e,t);return n==="claude-code"||n==="codex"?n:null}j();var tS=2*1024*1024;Ae();j();var rS=4*1024*1024;var Op=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"]),Ip=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"]),Fi=new Set(["sh","bash","zsh","dash","ksh","fish","python","python3","python2","node","ruby","perl","php","awk","sed","deno","bun"]),Li="(?:dev|start|serve|watch|preview)",Pp=new RegExp(`^(?:\\S*/)?(?:bun\\s+(?:install|i|add|remove|rm|update|outdated|audit|test|build|pm|x)(?:\\s|$)|bun\\s+run\\s+(?!${Li}(?:\\s|$))[A-Za-z0-9:_-]+(?:\\s|$)|deno\\s+(?:test|lint|fmt|check|compile|install|info|doc|bench|outdated)(?:\\s|$)|deno\\s+task\\s+(?!${Li}(?:\\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)`),Np=/(?:^|\s)--watch(?:\s|=|$)/;function Dp(e){return Pp.test(e)&&!Np.test(e)}var Mp=/^((?:\S*\/)?(sh|bash|zsh|dash|ksh|fish)\s+(-[elux]*c[elux]*)\s+)(['"])/,Fp=/[()$]|(?:^|[;&|\n]\s*)(?:and|or|not|begin|end|if|else|switch|case|while|for|function|return)(?:\s|;|$)/,Lp=3;function jp(e){let t=Mp.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&&Fp.test(a)?null:{script:a,start:s,end:o,quote:r}}var Hp=new Set(["cd","export","set","unset","source",".","true",":","pushd","popd"]);function Bp(e){return Wt(e).filter(n=>{if(n.kind!=="cmd"||n.unsafe)return!1;let r=Zi(n.text);return r!==""&&!Hp.has(r)&&!Bi.test(r)}).length>1}function zp(e,t,n,r,s){if(n>=Lp)return null;let o=jp(e);if(!o)return null;let{script:i,start:a,end:l,quote:c}=o,u=[],f=Ji(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=Bp(i);if(s)for(let b of m?[e,...u]:u)s(b);return m?`${t} ${p}`:p}var ji=/(?:^|\s)(?:--follow|-[0-9a-zA-Z]*f[a-zA-Z]*)(?:\s|=|$)/,Up=new Set(["docker","podman","kubectl","nerdctl","docker-compose","stern","flyctl"]);function Zp(e,t){let n=zi(t);return n==="tail"||n==="journalctl"?ji.test(e):n==="stern"?!0:Up.has(n)?/\blogs?\b/.test(e)&&ji.test(e):!1}var Bi=/^[A-Za-z_][A-Za-z0-9_]*\+?=/,Gp=/^[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/,Jp=/(?:^|[;&|\n({])\s*[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/;function zi(e){let t=e.lastIndexOf("/");return t===-1?e:e.slice(t+1)}function Ui(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 Hi(e){let t=Ui(e);if(!t)return!0;for(let n=0;n<e.length;n++)if(t[n]&&e[n]===">")return!0;return!1}function Wt(e){let t=Ui(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===`
113
- `||a==="|"){i(a,1);continue}}r+=a,s+=1}return o(),n}function Zi(e){return e.trim().split(/\s+/)[0]??""}function Gi(e,t="tkr-exec",n=()=>!0,r){return Ji(e,t,0,n,r)}function Ji(e,t,n,r,s){if(e.includes("<<")||Jp.test(e))return e;let o=Wt(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=Zi(c),f=o[a+1],d=f?.kind==="sep"&&(f.text==="|"||f.text==="|&"),p=f?.kind==="sep"&&f.text==="&",m=!d&&!p&&!Hi(l.text)&&!l.text.includes("<(")&&!l.text.includes(">(")?zp(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))||Op.has(u)||Ip.has(u)||(Fi.has(u)||Fi.has(zi(u)))&&!Dp(c)||Bi.test(u)||u.startsWith("(")||u.startsWith("#")||u.startsWith("<")||u.startsWith(">")||Gp.test(c)||Zp(c,u)||u.endsWith(")")||d||p||Hi(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 Nn=["test","run test","run build","run lint","run typecheck"],bS={npm:new Set(Nn),pnpm:new Set([...Nn,"build","lint","typecheck"]),yarn:new Set([...Nn,"build","lint","typecheck"]),bun:new Set(Nn),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 c_=new Set(["Read","Grep","Glob","Bash"]),vr=10*1024*1024,Gu=1024,u_=40,f_=25e3,d_=/^… \(?\d+ more lines omitted\)?$/,p_=/^\[tkr restore [0-9a-f]{8,64}\]$/,m_=/^\d+F \d+D(?: in .+\/)?:$|^\S.*\/ \(\d+(?:, \*\.[^)]+)?\): \S/,h_=/^… \(\d+ more lines omitted\)$/m;function g_(e){return d_.test(e)||p_.test(e)||e==="[YOLO: omitted]"}function Ju(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(`
114
- `).filter(i=>r.has(i)||g_(i)||s&&m_.test(i));return{...e,filenames:o}}return t}function Ku(e,t,n){return JSON.stringify({...n?{systemMessage:n}:{},hookSpecificOutput:{hookEventName:"PostToolUse",updatedToolOutput:Ju(e.tool_response,t,e.tool_name)}})}var y_=100,xo=null;function Wu(){let e=xo;return xo=null,e}function Hu(e){let t=Math.round(e/4);return t>=1e3?`${(t/1e3).toFixed(1)}K`:String(t)}function Vu(e,t){try{if(Math.round((e-t)/4)<y_)return;let n=Zu(S(),"first-save");if(e_(n))return;t_(n,String(Date.now())),xo=`Tokmizer just optimized its first command output here: ~${Hu(e)} tokens down to ~${Hu(t)}. Watch it add up: /tkr-gain`}catch{}}function Bu(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(`
112
+ `}${ft}`:L.output,he=Ee(it,t);if(!i&&L.filteredBytes<L.rawBytes)try{he=new RegExp(Yn.source,"m").test(L.output)?await $r(t,it,a,{label:ot(F)}):await Pt(L.droppedTail??null,it,a,{raw:s?null:t,label:ot(F)})}catch{}let at=he+p,Dt=ae+d,Mt=On(a).host,Fe=xr(L.rawBytes+Buffer.byteLength(n,"utf8"),Buffer.byteLength(at,"utf8")+Buffer.byteLength(Dt,"utf8"),Cn(Mt)),lt=!1,_n=async()=>{if(!lt){lt=!0;try{_r(Fe.raw,Fe.filtered,void 0,!1,Mt,"sh",ot(F),"cwd"in f?f.cwd:process.cwd(),wr(L)),await br({cmd:F,filterId:L.filterId,rawBytes:L.rawBytes,filteredBytes:L.filteredBytes,plan:T}),await gr({cmd:F,tokensSaved:Math.max(0,Math.round((Fe.raw-Fe.filtered)/4)),rawTokens:Math.round(Fe.raw/4),optimized:L.filterId!=null,telemetryOptIn:b.telemetryOptIn&&(!u||(await ve()).telemetryOptIn),sessionId:R,host:Mt})}catch{}}};return u?u(_n):await _n(),{stdout:at,stderr:Dt,code:r,filterId:L.filterId,rawBytes:L.rawBytes+P,filteredBytes:L.filteredBytes+z,truncated:s}}catch{return m()}finally{l||Tr()}}var _o,Nt,Bu,h_,wo,y_,b_,Wu=g(()=>{"use strict";_o=kf(Ja(),1);fr();De();mn();Bt();j();Ws();Qs();yr();to();Yr();Ot();In();ku();yo();ko();$t();Dn();Fs();Nn();$e();dn();Nt=10*1024*1024,Bu=1024,h_=6e4,wo="TOKMIZER_EXEC_CAPTURING";y_=Zu(process.env),b_={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 xo={};Lt(xo,{FOLD_MARKER_RE:()=>Yn,captureForRestore:()=>Pt,captureOriginalForRestore:()=>$r,closeDaemonResolver:()=>Tr,countedSaving:()=>xr,gatingPlan:()=>pr,graceExceeded:()=>dr,installDaemonResolver:()=>Er,loadSettingsCache:()=>ve,neutralizeMarkers:()=>Ee,processOutput:()=>Ct,recordEvent:()=>br,recordStat:()=>_r,recordTelemetry:()=>gr,resolveAllowedFilters:()=>At,statCmdLabel:()=>ot,statOutcome:()=>wr});var So=g(()=>{"use strict";fr();ko();$t();mn();Ws();Qs();yr();to();yo();Ot()});function Oo(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 Io}from"node:fs";import{fileURLToPath as _f,pathToFileURL as wf}from"node:url";var Po=null;function No(e,t,n){if(n!==void 0&&Po===n)return!0;if(Po!==null||!e)return!1;if(t===wf(e).href)return!0;try{return Io(e)===Io(_f(t))}catch{return!1}}j();Bt();In();Yr();import{existsSync as w_,writeFileSync as x_,appendFileSync as S_,statSync as v_,constants as Vu}from"node:fs";import{lstat as E_,open as T_}from"node:fs/promises";import{basename as $_,dirname as R_,isAbsolute as A_,join as ef}from"node:path";j();Zt();import{readFileSync as hp}from"node:fs";import{join as gp}from"node:path";function Mi(){if(Fo())return!1;try{return JSON.parse(hp(gp(S(),"settings-cache.json"),"utf8")).enabled!==!1}catch{return!0}}j();import{createHash as yp}from"node:crypto";import{appendFileSync as bp,chmodSync as kp,mkdirSync as _p,readFileSync as wp,rmSync as xp,statSync as Sp}from"node:fs";import{join as Fi}from"node:path";var vp=256*1024,Ep=80;function Tp(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Fi(S(),"sessions",`${t}.seen`)}function Xr(e){return e.replace(/[\t\r\n]+/g," ").trim().slice(0,Ep)}function Qr(e,t,n,r){try{let s=Tp(e),o=Xr(t),i=yp("sha256").update(n).digest("hex").slice(0,32),a="";try{a=wp(s,"utf8")}catch{}for(let l of a.split(`
113
+ `)){let[c,u,f]=l.split(" ");if(c===o&&u===i)return{cmd:f??""}}_p(Fi(S(),"sessions"),{recursive:!0,mode:448}),bp(s,`${o} ${i} ${Xr(r)}
114
+ `,{mode:384}),kp(s,384),Sp(s).size>vp&&xp(s,{force:!0})}catch{}return null}function es(e,t){return`[same output as \`${Xr(e)}\` earlier in this session, unchanged, ~${Math.round(t/4)} tokens]`}Nn();Dn();function J(e,t){let n=e[t];return typeof n=="string"&&n?n:null}function qt(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function Ap(e){return J(e,"prompt_id")||J(e,"scratchpad_dir")?!0:qt(e.effort)}function Cp(e){return J(e,"tool_use_id")?.startsWith("toolu_")===!0||/^claude/i.test(J(e,"model")??"")}var Op=new Set(["BeforeTool","AfterTool","BeforeAgent","AfterAgent","BeforeModel","AfterModel","BeforeToolSelection"]),Ip=new Set(["preToolUse","postToolUse","beforeShellExecution","afterShellExecution","beforeSubmitPrompt","sessionStart","sessionEnd","stop"]),Pp=new Set(["pre_tool","post_tool"]),Np=new Set(["before_tool_call","after_tool_call"]),Dp=new Set(["runTerminalCommand","run_in_terminal"]),Mp=[["codex",e=>J(e,"turn_id")!==null],["claude-code",Ap],["cursor",e=>J(e,"cursor_version")!==null||J(e,"generation_id")!==null||J(e,"conversation_id")!==null||Array.isArray(e.workspace_roots)||Ip.has(J(e,"hook_event_name")??"")],["gemini-cli",e=>Op.has(J(e,"hook_event_name")??"")],["qwen-code",e=>e.hook_event_name==="PreToolUse"&&e.tool_name==="run_shell_command"],["vibe",e=>Pp.has(J(e,"hook_event_name")??"")],["antigravity",e=>qt(e.toolCall)],["copilot",e=>J(e,"toolName")!==null&&"toolArgs"in e||Dp.has(J(e,"tool_name")??"")],["grok",e=>e.toolName==="run_terminal_command"||e.tool_name==="run_terminal_command"||qt(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&&J(e,"event")!==null&&!Np.has(J(e,"event"))]],Fp=new Set(["codex","antigravity"]);function Lp(e){return qt(e)?Mp.filter(([,t])=>t(e)).map(([t])=>t):[]}function jp(e,t){if(!qt(e))return null;let n=Lp(e);return n.length>1?null:n.length===1?n[0]:Cp(e)&&Fp.has(t)?"claude-code":t==="codex"?null:t}function Li(e,t){let n=jp(e,t);return n==="claude-code"||n==="codex"?n:null}Hn();j();var WS=2*1024*1024;$e();j();var qS=4*1024*1024;var em=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"]),tm=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"]),Vi=new Set(["sh","bash","zsh","dash","ksh","fish","python","python3","python2","node","ruby","perl","php","awk","sed","deno","bun"]),qi="(?:dev|start|serve|watch|preview)",nm=new RegExp(`^(?:\\S*/)?(?:bun\\s+(?:install|i|add|remove|rm|update|outdated|audit|test|build|pm|x)(?:\\s|$)|bun\\s+run\\s+(?!${qi}(?:\\s|$))[A-Za-z0-9:_-]+(?:\\s|$)|deno\\s+(?:test|lint|fmt|check|compile|install|info|doc|bench|outdated)(?:\\s|$)|deno\\s+task\\s+(?!${qi}(?:\\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)`),rm=/(?:^|\s)--watch(?:\s|=|$)/;function sm(e){return nm.test(e)&&!rm.test(e)}var om=/^((?:\S*\/)?(sh|bash|zsh|dash|ksh|fish)\s+(-[elux]*c[elux]*)\s+)(['"])/,im=/[()$]|(?:^|[;&|\n]\s*)(?:and|or|not|begin|end|if|else|switch|case|while|for|function|return)(?:\s|;|$)/,am=3;function lm(e){let t=om.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&&im.test(a)?null:{script:a,start:s,end:o,quote:r}}var cm=new Set(["cd","export","set","unset","source",".","true",":","pushd","popd"]);function um(e){return en(e).filter(n=>{if(n.kind!=="cmd"||n.unsafe)return!1;let r=na(n.text);return r!==""&&!cm.has(r)&&!Qi.test(r)}).length>1}function fm(e,t,n,r,s){if(n>=am)return null;let o=lm(e);if(!o)return null;let{script:i,start:a,end:l,quote:c}=o,u=[],f=sa(i,t,n+1,r,y=>u.push(y));if(f===i||c==='"'&&/["$`]/.test(f))return null;let p=c==="'"?f.replace(/'/g,"'\\''"):f,d=`${e.slice(0,a)}${p}${e.slice(l)}`,m=um(i);if(s)for(let y of m?[e,...u]:u)s(y);return m?`${t} ${d}`:d}var Yi=/(?:^|\s)(?:--follow|-[0-9a-zA-Z]*f[a-zA-Z]*)(?:\s|=|$)/,dm=new Set(["docker","podman","kubectl","nerdctl","docker-compose","stern","flyctl"]);function pm(e,t){let n=ea(t);return n==="tail"||n==="journalctl"?Yi.test(e):n==="stern"?!0:dm.has(n)?/\blogs?\b/.test(e)&&Yi.test(e):!1}var Qi=/^[A-Za-z_][A-Za-z0-9_]*\+?=/,mm=/^[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/,hm=/(?:^|[;&|\n({])\s*[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/;function ea(e){let t=e.lastIndexOf("/");return t===-1?e:e.slice(t+1)}function ta(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 Xi(e){let t=ta(e);if(!t)return!0;for(let n=0;n<e.length;n++)if(t[n]&&e[n]===">")return!0;return!1}function en(e){let t=ta(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===`
115
+ `||a==="|"){i(a,1);continue}}r+=a,s+=1}return o(),n}function na(e){return e.trim().split(/\s+/)[0]??""}function ra(e,t="tkr-exec",n=()=>!0,r){return sa(e,t,0,n,r)}function sa(e,t,n,r,s){if(e.includes("<<")||hm.test(e))return e;let o=en(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=na(c),f=o[a+1],p=f?.kind==="sep"&&(f.text==="|"||f.text==="|&"),d=f?.kind==="sep"&&f.text==="&",m=!p&&!d&&!Xi(l.text)&&!l.text.includes("<(")&&!l.text.includes(">(")?fm(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))||em.has(u)||tm.has(u)||(Vi.has(u)||Vi.has(ea(u)))&&!sm(c)||Qi.test(u)||u.startsWith("(")||u.startsWith("#")||u.startsWith("<")||u.startsWith(">")||mm.test(c)||pm(c,u)||u.endsWith(")")||p||d||Xi(l.text)||l.text.includes("<(")||l.text.includes(">(")||u==="node"&&c.includes("tkr-exec.js")||!r(u)){i.push(l.text);continue}let y=l.text.match(/^\s*/)?.[0]??"",b=l.text.match(/\s*$/)?.[0]??"";s?.(c),i.push(`${y}${t} ${c}${b}`)}return i.join("")}var Bn=["test","run test","run build","run lint","run typecheck"],dv={npm:new Set(Bn),pnpm:new Set([...Bn,"build","lint","typecheck"]),yarn:new Set([...Bn,"build","lint","typecheck"]),bun:new Set(Bn),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 C_=new Set(["Read","Grep","Glob","Bash"]),Rr=10*1024*1024,tf=1024,O_=10,I_=25e3,P_=/^… \(?\d+ more lines omitted\)?$/,N_=/^\[tkr restore [0-9a-f]{8,64}\]$/,D_=/^\d+F \d+D(?: in .+\/)?:$|^\S.*\/ \(\d+(?:, \*\.[^)]+)?\): \S/,M_=/^… \(\d+ more lines omitted\)$/m;function F_(e){return P_.test(e)||N_.test(e)||e==="[YOLO: omitted]"}function nf(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(`
116
+ `).filter(i=>r.has(i)||F_(i)||s&&D_.test(i));return{...e,filenames:o}}return t}function rf(e,t,n){return JSON.stringify({...n?{systemMessage:n}:{},hookSpecificOutput:{hookEventName:"PostToolUse",updatedToolOutput:nf(e.tool_response,t,e.tool_name)}})}var L_=100,vo=null;function sf(){let e=vo;return vo=null,e}function qu(e){let t=Math.round(e/4);return t>=1e3?`${(t/1e3).toFixed(1)}K`:String(t)}function of(e,t){try{if(Math.round((e-t)/4)<L_)return;let n=ef(S(),"first-save");if(w_(n))return;x_(n,String(Date.now())),vo=`Tokmizer just optimized its first command output here: ~${qu(e)} tokens down to ~${qu(t)}. Watch it add up: /tkr-gain`}catch{}}function Yu(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(`
115
117
  `):Array.isArray(e.filenames)?e.filenames.join(`
116
- `):null:""}var b_=64*1024;function k_(e,t){try{if(!t||typeof t!="object")return;let n=Zu(S(),"drift.jsonl");try{if(r_(n).size>b_)return}catch{}let r=Object.keys(t).slice(0,12);n_(n,`${JSON.stringify({t:Math.floor(Date.now()/1e3),tool:e,keys:r})}
117
- `)}catch{}}function __(e){let t=e.tool_name??"tool",n=e.tool_input??{};return n.command?n.command.split(`
118
- `)[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 w_=/'(?:[A-Za-z]:)?\/[^']*\/(?:tkr-exec(?:\.exe|\.js)?'|tkr(?:\.exe)?' exec)(?:\\'')?(?:\s|$)/,x_=/;|\|\||\n|(?<![>&|])&(?![&>])/,S_=new Set(["cd","export","set","unset","true",":"]),v_=/^(?:\S*\/)?(?:sh|bash|zsh|dash|ksh)\s+-[elux]*c[elux]*\s+'([^']*)'$/,E_=/(?:^|[\s;&|(])(?:[A-Za-z]:)?\/\S*\/tkr-exec(?:\.exe|\.js)?\s|(?:^|[;&|(\n])\s*(?:\S*\/)?tkr-exec(?:\.exe|\.js)?\s/;function qu(e){return w_.test(e)||E_.test(e)}function Yu(e,t,n=0){let r=Wt(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==="|&")||S_.has(i.split(/\s+/)[0]))continue;let l=n<3?v_.exec(i):null;if(!(l&&Yu(l[1],t,n+1)))return!1}return!0}function T_(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 zu(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 R_(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||!l_(n)||i_(a_(n))!=="tool-results")return null;try{let s=await s_(n);if(!s.isFile()||s.size>vr)return null;let o=await o_(n,ju.O_RDONLY|(ju.O_NOFOLLOW??0));try{let i=await o.stat();if(!i.isFile()||i.size>vr||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 $_(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||x_.test(e)||zu(e))return null;let n=[];if(Gi(e,"tkr-exec",()=>!0,s=>n.push(s)),n.length!==1||zu(n[0])||!Yu(e,n[0])||Wt(e).some(s=>s.kind==="sep"&&s.text!=="&&"&&s.text!=="|"&&s.text!=="|&"))return null;let r=T_(n[0]);return r?{argv:r,stdout:t.stdout,stderr:t.stderr??"",exitCode:t.returnCodeInterpretation!=null?1:0}:null}async function A_(e,t,n,r,s){let{processCapturedOutput:o}=await Promise.resolve().then(()=>(Lu(),Fu)),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(`
119
- `),d=Buffer.byteLength(f,"utf8");if(s==null&&c.filterId!=null&&t.session_id&&d>=Gu){let b=Vr(t.session_id,t.agent_id??"main",f,(t.tool_input?.command??"").split(`
120
- `)[0]??"");if(b){let y=qr(b.cmd,d);if(n)return y;let{captureOriginalForRestore:$}=await Promise.resolve().then(()=>(wo(),_o));return $(f,y)}}let p=[c.stdout,c.stderr].filter(Boolean).join(`
121
- `),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:(Vu(d,Buffer.byteLength(p,"utf8")),p)}function C_(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 Xu(e,t={}){if(!C_(e))return null;let n=e.tool_name==="Bash"&&!qu(e.tool_input?.command??"")?await R_(e.tool_response):void 0;return n===null?null:n===void 0?Uu(e,t):Uu({...e,tool_response:{...e.tool_response,stdout:n}},t,f_)}async function Uu(e,t,n){let r=be();if(!e.tool_name||!c_.has(e.tool_name))return null;let s=e.tool_name==="Bash"?e.tool_input?.command??"":"",o=qu(s);if(/\btkr(?:\.js)?\s+restore\b/.test(s))return null;let i=await He();if(!Ni())return null;let a=e.tool_name==="Bash"&&!o?$_(s,e.tool_response):null;if(a)return Buffer.byteLength(a.stdout,"utf8")+Buffer.byteLength(a.stderr,"utf8")>vr?null:A_(a,e,r,t,n);if(e.session_id&&!o&&i?.token){let F=e.tool_input??{},B=F.command??F.file_path??F.pattern??F.path??"";B&&On(e.session_id,{tool:e.tool_name,target:B.split(`
122
- `)[0].trim()})}if(e.tool_name==="Read"&&(e.tool_input?.offset!=null||e.tool_input?.limit!=null))return null;let l=Bu(e.tool_response);if(l==null)return k_(e.tool_name,e.tool_response),null;if(!l)return null;let c=Buffer.byteLength(l,"utf8");if(c>vr||e.tool_name==="Bash"&&c<Gu||e.tool_name==="Glob"&&l.split(`
123
- `).length<u_||o)return null;let{loadSettingsCache:u,processOutput:f,captureForRestore:d,captureOriginalForRestore:p,FOLD_MARKER_RE:m,resolveAllowedFilters:b,gatingPlan:y,graceExceeded:$,recordEvent:T,recordTelemetry:N,recordStat:C,countedSaving:D,statCmdLabel:M,statOutcome:L,installDaemonResolver:ae,closeDaemonResolver:I}=await Promise.resolve().then(()=>(wo(),_o)),z=await u();if(!z.enabled)return null;let{slugKey:Te}=await Promise.resolve().then(()=>(Fe(),dl)),Re=i?.token?y(i):null;!t.resolver&&Re&&ae(Re);let me=i?.token?b(i.allowedFilters,$(i)):null,Pt=new Set(z.filters.disabled.map(Te)),yn=me&&Pt.size>0?new Set([...me].filter(F=>!Pt.has(F))):me,Nt=__(e),he=`${e.tool_name.toLowerCase()}-tool`,bn=`${he}: ${Nt}`;try{let F=await f(bn,l,yn,{verbosity:z.outputVerbosity,resolver:t.resolver,yolo:r,exitCode:e.tool_name==="Bash"?void 0:0});if(F.filterId!=null&&e.tool_name==="Bash"&&e.session_id){let Ro=Vr(e.session_id,e.agent_id??"main",l,s.split(`
124
- `)[0]??"");if(Ro){let $o=qr(Ro.cmd,c);return r?$o:await p(l,$o)}}let B=new RegExp(m.source,"m"),Er=e.tool_name==="Bash"?M(e.tool_input?.command??""):e.tool_name,vo=e.tool_name==="Read"&&!r&&(B.test(F.output)||h_.test(F.output))?`${F.output}${F.output.endsWith(`
118
+ `):null:""}var j_=64*1024;function H_(e,t){try{if(!t||typeof t!="object")return;let n=ef(S(),"drift.jsonl");try{if(v_(n).size>j_)return}catch{}let r=Object.keys(t).slice(0,12);S_(n,`${JSON.stringify({t:Math.floor(Date.now()/1e3),tool:e,keys:r})}
119
+ `)}catch{}}function B_(e){let t=e.tool_name??"tool",n=e.tool_input??{};return n.command?n.command.split(`
120
+ `)[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 z_=/'(?:[A-Za-z]:)?\/[^']*\/(?:tkr-exec(?:\.exe|\.js)?'|tkr(?:\.exe)?' exec)(?:\\'')?(?:\s|$)/,U_=/;|\|\||\n|(?<![>&|])&(?![&>])/,Z_=new Set(["cd","export","set","unset","true",":"]),G_=/^(?:\S*\/)?(?:sh|bash|zsh|dash|ksh)\s+-[elux]*c[elux]*\s+'([^']*)'$/,J_=/(?:^|[\s;&|(])(?:[A-Za-z]:)?\/\S*\/tkr-exec(?:\.exe|\.js)?\s|(?:^|[;&|(\n])\s*(?:\S*\/)?tkr-exec(?:\.exe|\.js)?\s/;function af(e){return z_.test(e)||J_.test(e)}function lf(e,t,n=0){let r=en(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==="|&")||Z_.has(i.split(/\s+/)[0]))continue;let l=n<3?G_.exec(i):null;if(!(l&&lf(l[1],t,n+1)))return!1}return!0}function K_(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 Xu(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 W_(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||!A_(n)||$_(R_(n))!=="tool-results")return null;try{let s=await E_(n);if(!s.isFile()||s.size>Rr)return null;let o=await T_(n,Vu.O_RDONLY|(Vu.O_NOFOLLOW??0));try{let i=await o.stat();if(!i.isFile()||i.size>Rr||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 V_(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||U_.test(e)||Xu(e))return null;let n=[];if(ra(e,"tkr-exec",()=>!0,s=>n.push(s)),n.length!==1||Xu(n[0])||!lf(e,n[0])||en(e).some(s=>s.kind==="sep"&&s.text!=="&&"&&s.text!=="|"&&s.text!=="|&"))return null;let r=K_(n[0]);return r?{argv:r,stdout:t.stdout,stderr:t.stderr??"",exitCode:t.returnCodeInterpretation!=null?1:0}:null}async function q_(e,t,n,r,s){let{processCapturedOutput:o}=await Promise.resolve().then(()=>(Wu(),Ku)),i=null,a=y=>{i=y},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(`
121
+ `),p=Buffer.byteLength(f,"utf8");if(s==null&&c.filterId!=null&&t.session_id&&p>=tf){let y=Qr(t.session_id,t.agent_id??"main",f,(t.tool_input?.command??"").split(`
122
+ `)[0]??"");if(y){let b=es(y.cmd,p);if(n)return b;let{captureOriginalForRestore:R}=await Promise.resolve().then(()=>(So(),xo));return R(f,b)}}let d=[c.stdout,c.stderr].filter(Boolean).join(`
123
+ `),m=c.stdout===e.stdout&&c.stderr===e.stderr;return s!=null&&(m||d.length>s)||(u&&(r.deferAccounting?r.deferAccounting(u):await u()),m)?null:(of(p,Buffer.byteLength(d,"utf8")),d)}function Y_(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 cf(e,t={}){if(!Y_(e))return null;let n=e.tool_name==="Bash"&&!af(e.tool_input?.command??"")?await W_(e.tool_response):void 0;return n===null?null:n===void 0?Qu(e,t):Qu({...e,tool_response:{...e.tool_response,stdout:n}},t,I_)}async function Qu(e,t,n){let r=be();if(!e.tool_name||!C_.has(e.tool_name))return null;let s=e.tool_name==="Bash"?e.tool_input?.command??"":"",o=af(s);if(/\btkr(?:\.js)?\s+restore\b/.test(s))return null;let i=await je();if(!Mi())return null;let a=e.tool_name==="Bash"&&!o?V_(s,e.tool_response):null;if(a)return Buffer.byteLength(a.stdout,"utf8")+Buffer.byteLength(a.stderr,"utf8")>Rr?null:q_(a,e,r,t,n);if(e.session_id&&!o&&i?.token){let C=e.tool_input??{},Ft=C.command??C.file_path??C.pattern??C.path??"";Ft&&Pn(e.session_id,{tool:e.tool_name,target:Ft.split(`
124
+ `)[0].trim()})}if(e.tool_name==="Read"&&(e.tool_input?.offset!=null||e.tool_input?.limit!=null))return null;let l=Yu(e.tool_response);if(l==null)return H_(e.tool_name,e.tool_response),null;if(!l)return null;let c=Buffer.byteLength(l,"utf8");if(c>Rr||e.tool_name==="Bash"&&c<tf||e.tool_name==="Glob"&&l.split(`
125
+ `).length<O_||o)return null;let{loadSettingsCache:u,processOutput:f,captureForRestore:p,captureOriginalForRestore:d,neutralizeMarkers:m,FOLD_MARKER_RE:y,resolveAllowedFilters:b,gatingPlan:R,graceExceeded:T,recordEvent:D,recordTelemetry:O,recordStat:M,countedSaving:F,statCmdLabel:L,statOutcome:ae,installDaemonResolver:P,closeDaemonResolver:z}=await Promise.resolve().then(()=>(So(),xo)),se=await u();if(!se.enabled)return null;let{slugKey:it}=await Promise.resolve().then(()=>(De(),ml)),he=i?.token?R(i):null;!t.resolver&&he&&P(he);let at=i?.token?b(i.allowedFilters,T(i)):null,Dt=new Set(se.filters.disabled.map(it)),Mt=at&&Dt.size>0?new Set([...at].filter(C=>!Dt.has(C))):at,Fe=B_(e),lt=`${e.tool_name.toLowerCase()}-tool`,_n=`${lt}: ${Fe}`;try{let C=await f(_n,l,Mt,{verbosity:se.outputVerbosity,resolver:t.resolver,yolo:r,exitCode:e.tool_name==="Bash"?void 0:0});if(C.filterId!=null&&e.tool_name==="Bash"&&e.session_id){let Ao=Qr(e.session_id,e.agent_id??"main",l,s.split(`
126
+ `)[0]??"");if(Ao){let Co=es(Ao.cmd,c);return r?Co:await d(l,Co)}}let Ft=new RegExp(y.source,"m"),Ar=e.tool_name==="Bash"?L(e.tool_input?.command??""):e.tool_name,To=e.tool_name==="Read"&&!r&&(Ft.test(C.output)||M_.test(C.output))?`${C.output}${C.output.endsWith(`
125
127
  `)?"":`
126
- `}${ct}`:F.output,Y;if(F.filteredBytes>=F.rawBytes?Y=null:r?Y=F.output:e.tool_name==="Glob"||B.test(F.output)?Y=await p(l,vo,void 0,{label:Er}):Y=await d(F.droppedTail??null,vo,void 0,{raw:l,label:Er}),r&&Y!=null&&(Y=Bu(Ju(e.tool_response,Y,e.tool_name))),n!=null&&(Y==null||Y.length>n))return null;let Qu=Y==null?F.rawBytes:Buffer.byteLength(Y,"utf8"),Tr=An().host,je=D(F.rawBytes,Qu,$n(Tr));Y!=null&&Vu(je.raw,je.filtered);let ef=e.cwd||(t.inferCwd===!1?void 0:process.cwd()),tf=e.tool_name==="Bash"?"sh":void 0,Rr=t.deferAccounting,Eo=!1,To=async()=>{Eo||(Eo=!0,await T({cmd:he,filterId:F.filterId,rawBytes:F.rawBytes,filteredBytes:F.filteredBytes,plan:Re}),C(je.raw,je.filtered,void 0,!1,Tr,tf,Er,ef,L(F)),await N({cmd:he,tokensSaved:Math.round((je.raw-je.filtered)/4),rawTokens:Math.round(je.raw/4),optimized:F.filterId!=null,telemetryOptIn:z.telemetryOptIn&&(!Rr||(await u()).telemetryOptIn),host:Tr}))};return Rr?Rr(To):await To(),Y}finally{t.resolver||I()}}async function So(e,t={}){if(Mi(e,"claude-code")!=="claude-code")return"";let n=await Xu(e,t);return n?Ku(e,n,Wu()??void 0):""}async function O_(){let e=await Ao();e||process.exit(0);let t;try{t=JSON.parse(e)}catch{process.exit(0)}let n=await So(t);n||process.exit(0),process.stdout.write(n)}var I_=process.argv[1]??"";Io(I_,import.meta.url,"post-tool-use")&&O_().catch(e=>{process.stderr.write(`tkr post-tool-use: ${e.message}
127
- `),process.exit(0)});export{Ku as buildHookEnvelope,So as postToolUseResponse,Xu as processToolOutput,Wu as takeFirstSaveNotice};
128
+ `}${ft}`:C.output,q;if(C.filteredBytes>=C.rawBytes?q=null:r?q=m(C.output,l):e.tool_name==="Glob"||Ft.test(C.output)?q=await d(l,To,void 0,{label:Ar}):q=await p(C.droppedTail??null,To,void 0,{raw:l,label:Ar}),r&&q!=null&&(q=Yu(nf(e.tool_response,q,e.tool_name))),n!=null&&(q==null||q.length>n))return null;let uf=q==null?C.rawBytes:Buffer.byteLength(q,"utf8"),Cr=On().host,Le=F(C.rawBytes,uf,Cn(Cr));q!=null&&of(Le.raw,Le.filtered);let ff=e.cwd||(t.inferCwd===!1?void 0:process.cwd()),df=e.tool_name==="Bash"?"sh":void 0,Or=t.deferAccounting,$o=!1,Ro=async()=>{$o||($o=!0,await D({cmd:lt,filterId:C.filterId,rawBytes:C.rawBytes,filteredBytes:C.filteredBytes,plan:he}),M(Le.raw,Le.filtered,void 0,!1,Cr,df,Ar,ff,ae(C)),await O({cmd:lt,tokensSaved:Math.round((Le.raw-Le.filtered)/4),rawTokens:Math.round(Le.raw/4),optimized:C.filterId!=null,telemetryOptIn:se.telemetryOptIn&&(!Or||(await u()).telemetryOptIn),host:Cr}))};return Or?Or(Ro):await Ro(),q}finally{t.resolver||z()}}async function Eo(e,t={}){if(Li(e,"claude-code")!=="claude-code")return"";let n=await cf(e,t);return n?rf(e,n,sf()??void 0):""}async function X_(){let e=await Oo();e||process.exit(0);let t;try{t=JSON.parse(e)}catch{process.exit(0)}let n=await Eo(t);n||process.exit(0),process.stdout.write(n)}var Q_=process.argv[1]??"";No(Q_,import.meta.url,"post-tool-use")&&X_().catch(e=>{process.stderr.write(`tkr post-tool-use: ${e.message}
129
+ `),process.exit(0)});export{rf as buildHookEnvelope,Eo as postToolUseResponse,cf as processToolOutput,sf as takeFirstSaveNotice};
128
130
  /*! Bundled license information:
129
131
 
130
132
  smol-toml/dist/error.js: