@tokmizer/plugin 0.9.66 → 0.9.67

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,139 +1,141 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire as __tkrCreateRequire } from "node:module"; const require = __tkrCreateRequire(import.meta.url);
3
- var Ad=Object.create;var ps=Object.defineProperty;var $d=Object.getOwnPropertyDescriptor;var Od=Object.getOwnPropertyNames;var Cd=Object.getPrototypeOf,Id=Object.prototype.hasOwnProperty;var He=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var b=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var ae=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},un=(e,t)=>{for(var n in t)ps(e,n,{get:t[n],enumerable:!0})},Pd=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Od(t))!Id.call(e,s)&&s!==n&&ps(e,s,{get:()=>t[s],enumerable:!(r=$d(t,s))||r.enumerable});return e};var Nd=(e,t,n)=>(n=e!=null?Ad(Cd(e)):{},Pd(t||!e||!e.__esModule?ps(n,"default",{value:e,enumerable:!0}):n,e));var M,ms,w,ve,cn=b(()=>{(function(e){e.assertEqual=s=>{};function t(s){}e.assertIs=t;function n(s){throw new Error}e.assertNever=n,e.arrayToEnum=s=>{let o={};for(let i of s)o[i]=i;return o},e.getValidEnumValues=s=>{let o=e.objectKeys(s).filter(a=>typeof s[s[a]]!="number"),i={};for(let a of o)i[a]=s[a];return e.objectValues(i)},e.objectValues=s=>e.objectKeys(s).map(function(o){return s[o]}),e.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let o=[];for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&o.push(i);return o},e.find=(s,o)=>{for(let i of s)if(o(i))return i},e.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,o=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(s,o)=>typeof o=="bigint"?o.toString():o})(M||(M={}));(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(ms||(ms={}));w=M.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ve=e=>{switch(typeof e){case"undefined":return w.undefined;case"string":return w.string;case"number":return Number.isNaN(e)?w.nan:w.number;case"boolean":return w.boolean;case"function":return w.function;case"bigint":return w.bigint;case"symbol":return w.symbol;case"object":return Array.isArray(e)?w.array:e===null?w.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?w.promise:typeof Map<"u"&&e instanceof Map?w.map:typeof Set<"u"&&e instanceof Set?w.set:typeof Date<"u"&&e instanceof Date?w.date:w.object;default:return w.unknown}}});var y,Dd,ee,Vn=b(()=>{cn();y=M.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Dd=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ee=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){let n=t||function(o){return o.message},r={_errors:[]},s=o=>{for(let i of o.issues)if(i.code==="invalid_union")i.unionErrors.map(s);else if(i.code==="invalid_return_type")s(i.returnTypeError);else if(i.code==="invalid_arguments")s(i.argumentsError);else if(i.path.length===0)r._errors.push(n(i));else{let a=r,l=0;for(;l<i.path.length;){let u=i.path[l];l===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(n(i))):a[u]=a[u]||{_errors:[]},a=a[u],l++}}};return s(this),r}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,M.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){let n={},r=[];for(let s of this.issues)if(s.path.length>0){let o=s.path[0];n[o]=n[o]||[],n[o].push(t(s))}else r.push(t(s));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};ee.create=e=>new ee(e)});var Md,Ie,hs=b(()=>{Vn();cn();Md=(e,t)=>{let n;switch(e.code){case y.invalid_type:e.received===w.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case y.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,M.jsonStringifyReplacer)}`;break;case y.unrecognized_keys:n=`Unrecognized key(s) in object: ${M.joinValues(e.keys,", ")}`;break;case y.invalid_union:n="Invalid input";break;case y.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${M.joinValues(e.options)}`;break;case y.invalid_enum_value:n=`Invalid enum value. Expected ${M.joinValues(e.options)}, received '${e.received}'`;break;case y.invalid_arguments:n="Invalid function arguments";break;case y.invalid_return_type:n="Invalid function return type";break;case y.invalid_date:n="Invalid date";break;case y.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:M.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case y.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case y.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case y.custom:n="Invalid input";break;case y.invalid_intersection_types:n="Intersection results could not be merged";break;case y.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case y.not_finite:n="Number must be finite";break;default:n=t.defaultError,M.assertNever(e)}return{message:n}},Ie=Md});function Fd(e){Ni=e}function Et(){return Ni}var Ni,Yn=b(()=>{hs();Ni=Ie});function _(e,t){let n=Et(),r=fn({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Ie?void 0:Ie].filter(s=>!!s)});e.common.issues.push(r)}var fn,Ld,V,R,et,Y,qn,Xn,Be,Tt,gs=b(()=>{Yn();hs();fn=e=>{let{data:t,path:n,errorMaps:r,issueData:s}=e,o=[...n,...s.path||[]],i={...s,path:o};if(s.message!==void 0)return{...s,path:o,message:s.message};let a="",l=r.filter(u=>!!u).slice().reverse();for(let u of l)a=u(i,{data:t,defaultError:a}).message;return{...s,path:o,message:a}},Ld=[];V=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){let r=[];for(let s of n){if(s.status==="aborted")return R;s.status==="dirty"&&t.dirty(),r.push(s.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){let r=[];for(let s of n){let o=await s.key,i=await s.value;r.push({key:o,value:i})}return e.mergeObjectSync(t,r)}static mergeObjectSync(t,n){let r={};for(let s of n){let{key:o,value:i}=s;if(o.status==="aborted"||i.status==="aborted")return R;o.status==="dirty"&&t.dirty(),i.status==="dirty"&&t.dirty(),o.value!=="__proto__"&&(typeof i.value<"u"||s.alwaysSet)&&(r[o.value]=i.value)}return{status:t.value,value:r}}},R=Object.freeze({status:"aborted"}),et=e=>({status:"dirty",value:e}),Y=e=>({status:"valid",value:e}),qn=e=>e.status==="aborted",Xn=e=>e.status==="dirty",Be=e=>e.status==="valid",Tt=e=>typeof Promise<"u"&&e instanceof Promise});var Di=b(()=>{});var v,Mi=b(()=>{(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(v||(v={}))});function I(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:s}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:s}:{errorMap:(i,a)=>{let{message:l}=e;return i.code==="invalid_enum_value"?{message:l??a.defaultError}:typeof a.data>"u"?{message:l??r??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:l??n??a.defaultError}},description:s}}function Hi(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function tp(e){return new RegExp(`^${Hi(e)}$`)}function Bi(e){let t=`${ji}T${Hi(e)}`,n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function np(e,t){return!!((t==="v4"||!t)&&Wd.test(e)||(t==="v6"||!t)&&Yd.test(e))}function rp(e,t){if(!Jd.test(e))return!1;try{let[n]=e.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),s=JSON.parse(atob(r));return!(typeof s!="object"||s===null||"typ"in s&&s?.typ!=="JWT"||!s.alg||t&&s.alg!==t)}catch{return!1}}function sp(e,t){return!!((t==="v4"||!t)&&Vd.test(e)||(t==="v6"||!t)&&qd.test(e))}function op(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,s=n>r?n:r,o=Number.parseInt(e.toFixed(s).replace(".","")),i=Number.parseInt(t.toFixed(s).replace(".",""));return o%i/10**s}function Rt(e){if(e instanceof te){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=de.create(Rt(r))}return new te({...e._def,shape:()=>t})}else return e instanceof De?new De({...e._def,type:Rt(e.element)}):e instanceof de?de.create(Rt(e.unwrap())):e instanceof Te?Te.create(Rt(e.unwrap())):e instanceof Ee?Ee.create(e.items.map(t=>Rt(t))):e}function bs(e,t){let n=ve(e),r=ve(t);if(e===t)return{valid:!0,data:e};if(n===w.object&&r===w.object){let s=M.objectKeys(t),o=M.objectKeys(e).filter(a=>s.indexOf(a)!==-1),i={...e,...t};for(let a of o){let l=bs(e[a],t[a]);if(!l.valid)return{valid:!1};i[a]=l.data}return{valid:!0,data:i}}else if(n===w.array&&r===w.array){if(e.length!==t.length)return{valid:!1};let s=[];for(let o=0;o<e.length;o++){let i=e[o],a=t[o],l=bs(i,a);if(!l.valid)return{valid:!1};s.push(l.data)}return{valid:!0,data:s}}else return n===w.date&&r===w.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}function Ui(e,t){return new ft({values:e,typeName:$.ZodEnum,...I(t)})}function Li(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function zi(e,t={},n){return e?ze.create().superRefine((r,s)=>{let o=e(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=Li(t,r),l=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:l})}});if(!o){let i=Li(t,r),a=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:a})}}):ze.create()}var pe,Fi,N,jd,Hd,Bd,Ud,zd,Jd,Zd,Gd,Kd,ys,Wd,Vd,Yd,qd,Xd,Qd,ji,ep,Ue,tt,nt,rt,st,At,ot,it,ze,Ne,ke,$t,De,te,at,Pe,Qn,lt,Ee,er,Ot,Ct,tr,ut,ct,ft,dt,Je,me,de,Te,pt,mt,It,ip,dn,pn,ht,ap,$,lp,Ji,Zi,up,cp,Gi,fp,dp,pp,mp,hp,gp,yp,bp,kp,_p,wp,xp,Sp,vp,Ep,Tp,Rp,Ap,$p,Op,Cp,Ip,Pp,Np,Dp,Mp,Fp,Lp,jp,Hp,Bp,Up,zp,Jp,Ki=b(()=>{Vn();Yn();Mi();gs();cn();pe=class{constructor(t,n,r,s){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Fi=(e,t)=>{if(Be(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new ee(e.common.issues);return this._error=n,this._error}}};N=class{get description(){return this._def.description}_getType(t){return ve(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ve(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new V,ctx:{common:t.parent.common,data:t.data,parsedType:ve(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(Tt(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){let n=this._parse(t);return Promise.resolve(n)}parse(t,n){let r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ve(t)},s=this._parseSync({data:t,path:r.path,parent:r});return Fi(r,s)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ve(t)};if(!this["~standard"].async)try{let r=this._parseSync({data:t,path:[],parent:n});return Be(r)?{value:r.value}:{issues:n.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then(r=>Be(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(t,n){let r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ve(t)},s=this._parse({data:t,path:r.path,parent:r}),o=await(Tt(s)?s:Promise.resolve(s));return Fi(r,o)}refine(t,n){let r=s=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(s):n;return this._refinement((s,o)=>{let i=t(s),a=()=>o.addIssue({code:y.custom,...r(s)});return typeof Promise<"u"&&i instanceof Promise?i.then(l=>l?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,s)=>t(r)?!0:(s.addIssue(typeof n=="function"?n(r,s):n),!1))}_refinement(t){return new me({schema:this,typeName:$.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return de.create(this,this._def)}nullable(){return Te.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return De.create(this)}promise(){return Je.create(this,this._def)}or(t){return at.create([this,t],this._def)}and(t){return lt.create(this,t,this._def)}transform(t){return new me({...I(this._def),schema:this,typeName:$.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new pt({...I(this._def),innerType:this,defaultValue:n,typeName:$.ZodDefault})}brand(){return new dn({typeName:$.ZodBranded,type:this,...I(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new mt({...I(this._def),innerType:this,catchValue:n,typeName:$.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return pn.create(this,t)}readonly(){return ht.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},jd=/^c[^\s-]{8,}$/i,Hd=/^[0-9a-z]+$/,Bd=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Ud=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,zd=/^[a-z0-9_-]{21}$/i,Jd=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Zd=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Gd=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Kd="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Wd=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Vd=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Yd=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,qd=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Xd=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Qd=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,ji="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",ep=new RegExp(`^${ji}$`);Ue=class e extends N{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==w.string){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_type,expected:w.string,received:o.parsedType}),R}let r=new V,s;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:y.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="max")t.data.length>o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:y.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){let i=t.data.length>o.value,a=t.data.length<o.value;(i||a)&&(s=this._getOrReturnCtx(t,s),i?_(s,{code:y.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&_(s,{code:y.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),r.dirty())}else if(o.kind==="email")Gd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"email",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="emoji")ys||(ys=new RegExp(Kd,"u")),ys.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"emoji",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="uuid")Ud.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"uuid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="nanoid")zd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"nanoid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid")jd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cuid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid2")Hd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cuid2",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="ulid")Bd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"ulid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{s=this._getOrReturnCtx(t,s),_(s,{validation:"url",code:y.invalid_string,message:o.message}),r.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"regex",code:y.invalid_string,message:o.message}),r.dirty())):o.kind==="trim"?t.data=t.data.trim():o.kind==="includes"?t.data.includes(o.value,o.position)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),r.dirty()):o.kind==="toLowerCase"?t.data=t.data.toLowerCase():o.kind==="toUpperCase"?t.data=t.data.toUpperCase():o.kind==="startsWith"?t.data.startsWith(o.value)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:{startsWith:o.value},message:o.message}),r.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:{endsWith:o.value},message:o.message}),r.dirty()):o.kind==="datetime"?Bi(o).test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?ep.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?tp(o).test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?Zd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"duration",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?np(t.data,o.version)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"ip",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?rp(t.data,o.alg)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"jwt",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?sp(t.data,o.version)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cidr",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?Xd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"base64",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?Qd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"base64url",code:y.invalid_string,message:o.message}),r.dirty()):M.assertNever(o);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:y.invalid_string,...v.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...v.errToObj(t)})}url(t){return this._addCheck({kind:"url",...v.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...v.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...v.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...v.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...v.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...v.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...v.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...v.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...v.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...v.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...v.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...v.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...v.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...v.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...v.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...v.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...v.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...v.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...v.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...v.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...v.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...v.errToObj(n)})}nonempty(t){return this.min(1,v.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Ue.create=e=>new Ue({checks:[],typeName:$.ZodString,coerce:e?.coerce??!1,...I(e)});tt=class e extends N{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==w.number){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_type,expected:w.number,received:o.parsedType}),R}let r,s=new V;for(let o of this._def.checks)o.kind==="int"?M.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),_(r,{code:y.invalid_type,expected:"integer",received:"float",message:o.message}),s.dirty()):o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(r=this._getOrReturnCtx(t,r),_(r,{code:y.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),_(r,{code:y.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?op(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),_(r,{code:y.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),_(r,{code:y.not_finite,message:o.message}),s.dirty()):M.assertNever(o);return{status:s.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,v.toString(n))}gt(t,n){return this.setLimit("min",t,!1,v.toString(n))}lte(t,n){return this.setLimit("max",t,!0,v.toString(n))}lt(t,n){return this.setLimit("max",t,!1,v.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:v.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:v.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:v.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:v.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:v.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:v.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:v.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:v.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:v.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:v.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&M.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}};tt.create=e=>new tt({checks:[],typeName:$.ZodNumber,coerce:e?.coerce||!1,...I(e)});nt=class e extends N{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==w.bigint)return this._getInvalidInput(t);let r,s=new V;for(let o of this._def.checks)o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(r=this._getOrReturnCtx(t,r),_(r,{code:y.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),_(r,{code:y.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),_(r,{code:y.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):M.assertNever(o);return{status:s.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return _(n,{code:y.invalid_type,expected:w.bigint,received:n.parsedType}),R}gte(t,n){return this.setLimit("min",t,!0,v.toString(n))}gt(t,n){return this.setLimit("min",t,!1,v.toString(n))}lte(t,n){return this.setLimit("max",t,!0,v.toString(n))}lt(t,n){return this.setLimit("max",t,!1,v.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:v.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:v.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:v.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:v.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:v.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:v.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};nt.create=e=>new nt({checks:[],typeName:$.ZodBigInt,coerce:e?.coerce??!1,...I(e)});rt=class extends N{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==w.boolean){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.boolean,received:r.parsedType}),R}return Y(t.data)}};rt.create=e=>new rt({typeName:$.ZodBoolean,coerce:e?.coerce||!1,...I(e)});st=class e extends N{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==w.date){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_type,expected:w.date,received:o.parsedType}),R}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_date}),R}let r=new V,s;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:y.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),r.dirty()):o.kind==="max"?t.data.getTime()>o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:y.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):M.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:v.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:v.toString(n)})}get minDate(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}};st.create=e=>new st({checks:[],coerce:e?.coerce||!1,typeName:$.ZodDate,...I(e)});At=class extends N{_parse(t){if(this._getType(t)!==w.symbol){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.symbol,received:r.parsedType}),R}return Y(t.data)}};At.create=e=>new At({typeName:$.ZodSymbol,...I(e)});ot=class extends N{_parse(t){if(this._getType(t)!==w.undefined){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.undefined,received:r.parsedType}),R}return Y(t.data)}};ot.create=e=>new ot({typeName:$.ZodUndefined,...I(e)});it=class extends N{_parse(t){if(this._getType(t)!==w.null){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.null,received:r.parsedType}),R}return Y(t.data)}};it.create=e=>new it({typeName:$.ZodNull,...I(e)});ze=class extends N{constructor(){super(...arguments),this._any=!0}_parse(t){return Y(t.data)}};ze.create=e=>new ze({typeName:$.ZodAny,...I(e)});Ne=class extends N{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Y(t.data)}};Ne.create=e=>new Ne({typeName:$.ZodUnknown,...I(e)});ke=class extends N{_parse(t){let n=this._getOrReturnCtx(t);return _(n,{code:y.invalid_type,expected:w.never,received:n.parsedType}),R}};ke.create=e=>new ke({typeName:$.ZodNever,...I(e)});$t=class extends N{_parse(t){if(this._getType(t)!==w.undefined){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.void,received:r.parsedType}),R}return Y(t.data)}};$t.create=e=>new $t({typeName:$.ZodVoid,...I(e)});De=class e extends N{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==w.array)return _(n,{code:y.invalid_type,expected:w.array,received:n.parsedType}),R;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(i||a)&&(_(n,{code:i?y.too_big:y.too_small,minimum:a?s.exactLength.value:void 0,maximum:i?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),r.dirty())}if(s.minLength!==null&&n.data.length<s.minLength.value&&(_(n,{code:y.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),r.dirty()),s.maxLength!==null&&n.data.length>s.maxLength.value&&(_(n,{code:y.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((i,a)=>s.type._parseAsync(new pe(n,i,n.path,a)))).then(i=>V.mergeArray(r,i));let o=[...n.data].map((i,a)=>s.type._parseSync(new pe(n,i,n.path,a)));return V.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:v.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:v.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:v.toString(n)}})}nonempty(t){return this.min(1,t)}};De.create=(e,t)=>new De({type:e,minLength:null,maxLength:null,exactLength:null,typeName:$.ZodArray,...I(t)});te=class e extends N{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),n=M.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==w.object){let u=this._getOrReturnCtx(t);return _(u,{code:y.invalid_type,expected:w.object,received:u.parsedType}),R}let{status:r,ctx:s}=this._processInputParams(t),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof ke&&this._def.unknownKeys==="strip"))for(let u in s.data)i.includes(u)||a.push(u);let l=[];for(let u of i){let c=o[u],f=s.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new pe(s,f,s.path,u)),alwaysSet:u in s.data})}if(this._def.catchall instanceof ke){let u=this._def.unknownKeys;if(u==="passthrough")for(let c of a)l.push({key:{status:"valid",value:c},value:{status:"valid",value:s.data[c]}});else if(u==="strict")a.length>0&&(_(s,{code:y.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let c of a){let f=s.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new pe(s,f,s.path,c)),alwaysSet:c in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let u=[];for(let c of l){let f=await c.key,d=await c.value;u.push({key:f,value:d,alwaysSet:c.alwaysSet})}return u}).then(u=>V.mergeObjectSync(r,u)):V.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return v.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{let s=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:v.errToObj(t).message??s}:{message:s}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:$.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let r of M.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let r of M.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return Rt(this)}partial(t){let n={};for(let r of M.objectKeys(this.shape)){let s=this.shape[r];t&&!t[r]?n[r]=s:n[r]=s.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let r of M.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof de;)o=o._def.innerType;n[r]=o}return new e({...this._def,shape:()=>n})}keyof(){return Ui(M.objectKeys(this.shape))}};te.create=(e,t)=>new te({shape:()=>e,unknownKeys:"strip",catchall:ke.create(),typeName:$.ZodObject,...I(t)});te.strictCreate=(e,t)=>new te({shape:()=>e,unknownKeys:"strict",catchall:ke.create(),typeName:$.ZodObject,...I(t)});te.lazycreate=(e,t)=>new te({shape:e,unknownKeys:"strip",catchall:ke.create(),typeName:$.ZodObject,...I(t)});at=class extends N{_parse(t){let{ctx:n}=this._processInputParams(t),r=this._def.options;function s(o){for(let a of o)if(a.result.status==="valid")return a.result;for(let a of o)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;let i=o.map(a=>new ee(a.ctx.common.issues));return _(n,{code:y.invalid_union,unionErrors:i}),R}if(n.common.async)return Promise.all(r.map(async o=>{let i={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:i}),ctx:i}})).then(s);{let o,i=[];for(let l of r){let u={...n,common:{...n.common,issues:[]},parent:null},c=l._parseSync({data:n.data,path:n.path,parent:u});if(c.status==="valid")return c;c.status==="dirty"&&!o&&(o={result:c,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;let a=i.map(l=>new ee(l));return _(n,{code:y.invalid_union,unionErrors:a}),R}}get options(){return this._def.options}};at.create=(e,t)=>new at({options:e,typeName:$.ZodUnion,...I(t)});Pe=e=>e instanceof ut?Pe(e.schema):e instanceof me?Pe(e.innerType()):e instanceof ct?[e.value]:e instanceof ft?e.options:e instanceof dt?M.objectValues(e.enum):e instanceof pt?Pe(e._def.innerType):e instanceof ot?[void 0]:e instanceof it?[null]:e instanceof de?[void 0,...Pe(e.unwrap())]:e instanceof Te?[null,...Pe(e.unwrap())]:e instanceof dn||e instanceof ht?Pe(e.unwrap()):e instanceof mt?Pe(e._def.innerType):[],Qn=class e extends N{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==w.object)return _(n,{code:y.invalid_type,expected:w.object,received:n.parsedType}),R;let r=this.discriminator,s=n.data[r],o=this.optionsMap.get(s);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(_(n,{code:y.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),R)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let s=new Map;for(let o of n){let i=Pe(o.shape[t]);if(!i.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let a of i){if(s.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);s.set(a,o)}}return new e({typeName:$.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...I(r)})}};lt=class extends N{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(o,i)=>{if(qn(o)||qn(i))return R;let a=bs(o.value,i.value);return a.valid?((Xn(o)||Xn(i))&&n.dirty(),{status:n.value,value:a.data}):(_(r,{code:y.invalid_intersection_types}),R)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,i])=>s(o,i)):s(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};lt.create=(e,t,n)=>new lt({left:e,right:t,typeName:$.ZodIntersection,...I(n)});Ee=class e extends N{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.array)return _(r,{code:y.invalid_type,expected:w.array,received:r.parsedType}),R;if(r.data.length<this._def.items.length)return _(r,{code:y.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),R;!this._def.rest&&r.data.length>this._def.items.length&&(_(r,{code:y.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let o=[...r.data].map((i,a)=>{let l=this._def.items[a]||this._def.rest;return l?l._parse(new pe(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(o).then(i=>V.mergeArray(n,i)):V.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};Ee.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ee({items:e,typeName:$.ZodTuple,rest:null,...I(t)})};er=class e extends N{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.object)return _(r,{code:y.invalid_type,expected:w.object,received:r.parsedType}),R;let s=[],o=this._def.keyType,i=this._def.valueType;for(let a in r.data)s.push({key:o._parse(new pe(r,a,r.path,a)),value:i._parse(new pe(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?V.mergeObjectAsync(n,s):V.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof N?new e({keyType:t,valueType:n,typeName:$.ZodRecord,...I(r)}):new e({keyType:Ue.create(),valueType:t,typeName:$.ZodRecord,...I(n)})}},Ot=class extends N{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.map)return _(r,{code:y.invalid_type,expected:w.map,received:r.parsedType}),R;let s=this._def.keyType,o=this._def.valueType,i=[...r.data.entries()].map(([a,l],u)=>({key:s._parse(new pe(r,a,r.path,[u,"key"])),value:o._parse(new pe(r,l,r.path,[u,"value"]))}));if(r.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let l of i){let u=await l.key,c=await l.value;if(u.status==="aborted"||c.status==="aborted")return R;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}})}else{let a=new Map;for(let l of i){let u=l.key,c=l.value;if(u.status==="aborted"||c.status==="aborted")return R;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}}}};Ot.create=(e,t,n)=>new Ot({valueType:t,keyType:e,typeName:$.ZodMap,...I(n)});Ct=class e extends N{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.set)return _(r,{code:y.invalid_type,expected:w.set,received:r.parsedType}),R;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(_(r,{code:y.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),n.dirty()),s.maxSize!==null&&r.data.size>s.maxSize.value&&(_(r,{code:y.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),n.dirty());let o=this._def.valueType;function i(l){let u=new Set;for(let c of l){if(c.status==="aborted")return R;c.status==="dirty"&&n.dirty(),u.add(c.value)}return{status:n.value,value:u}}let a=[...r.data.values()].map((l,u)=>o._parse(new pe(r,l,r.path,u)));return r.common.async?Promise.all(a).then(l=>i(l)):i(a)}min(t,n){return new e({...this._def,minSize:{value:t,message:v.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:v.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};Ct.create=(e,t)=>new Ct({valueType:e,minSize:null,maxSize:null,typeName:$.ZodSet,...I(t)});tr=class e extends N{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==w.function)return _(n,{code:y.invalid_type,expected:w.function,received:n.parsedType}),R;function r(a,l){return fn({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Et(),Ie].filter(u=>!!u),issueData:{code:y.invalid_arguments,argumentsError:l}})}function s(a,l){return fn({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Et(),Ie].filter(u=>!!u),issueData:{code:y.invalid_return_type,returnTypeError:l}})}let o={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof Je){let a=this;return Y(async function(...l){let u=new ee([]),c=await a._def.args.parseAsync(l,o).catch(p=>{throw u.addIssue(r(l,p)),u}),f=await Reflect.apply(i,this,c);return await a._def.returns._def.type.parseAsync(f,o).catch(p=>{throw u.addIssue(s(f,p)),u})})}else{let a=this;return Y(function(...l){let u=a._def.args.safeParse(l,o);if(!u.success)throw new ee([r(l,u.error)]);let c=Reflect.apply(i,this,u.data),f=a._def.returns.safeParse(c,o);if(!f.success)throw new ee([s(c,f.error)]);return f.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:Ee.create(t).rest(Ne.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new e({args:t||Ee.create([]).rest(Ne.create()),returns:n||Ne.create(),typeName:$.ZodFunction,...I(r)})}},ut=class extends N{get schema(){return this._def.getter()}_parse(t){let{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};ut.create=(e,t)=>new ut({getter:e,typeName:$.ZodLazy,...I(t)});ct=class extends N{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return _(n,{received:n.data,code:y.invalid_literal,expected:this._def.value}),R}return{status:"valid",value:t.data}}get value(){return this._def.value}};ct.create=(e,t)=>new ct({value:e,typeName:$.ZodLiteral,...I(t)});ft=class e extends N{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return _(n,{expected:M.joinValues(r),received:n.parsedType,code:y.invalid_type}),R}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),r=this._def.values;return _(n,{received:n.data,code:y.invalid_enum_value,options:r}),R}return Y(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}};ft.create=Ui;dt=class extends N{_parse(t){let n=M.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==w.string&&r.parsedType!==w.number){let s=M.objectValues(n);return _(r,{expected:M.joinValues(s),received:r.parsedType,code:y.invalid_type}),R}if(this._cache||(this._cache=new Set(M.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=M.objectValues(n);return _(r,{received:r.data,code:y.invalid_enum_value,options:s}),R}return Y(t.data)}get enum(){return this._def.values}};dt.create=(e,t)=>new dt({values:e,typeName:$.ZodNativeEnum,...I(t)});Je=class extends N{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==w.promise&&n.common.async===!1)return _(n,{code:y.invalid_type,expected:w.promise,received:n.parsedType}),R;let r=n.parsedType===w.promise?n.data:Promise.resolve(n.data);return Y(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};Je.create=(e,t)=>new Je({type:e,typeName:$.ZodPromise,...I(t)});me=class extends N{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===$.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=this._def.effect||null,o={addIssue:i=>{_(r,i),i.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),s.type==="preprocess"){let i=s.transform(r.data,o);if(r.common.async)return Promise.resolve(i).then(async a=>{if(n.value==="aborted")return R;let l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?R:l.status==="dirty"?et(l.value):n.value==="dirty"?et(l.value):l});{if(n.value==="aborted")return R;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?R:a.status==="dirty"?et(a.value):n.value==="dirty"?et(a.value):a}}if(s.type==="refinement"){let i=a=>{let l=s.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?R:(a.status==="dirty"&&n.dirty(),i(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?R:(a.status==="dirty"&&n.dirty(),i(a.value).then(()=>({status:n.value,value:a.value}))))}if(s.type==="transform")if(r.common.async===!1){let i=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!Be(i))return R;let a=s.transform(i.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(i=>Be(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:n.value,value:a})):R);M.assertNever(s)}};me.create=(e,t,n)=>new me({schema:e,typeName:$.ZodEffects,effect:t,...I(n)});me.createWithPreprocess=(e,t,n)=>new me({schema:t,effect:{type:"preprocess",transform:e},typeName:$.ZodEffects,...I(n)});de=class extends N{_parse(t){return this._getType(t)===w.undefined?Y(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};de.create=(e,t)=>new de({innerType:e,typeName:$.ZodOptional,...I(t)});Te=class extends N{_parse(t){return this._getType(t)===w.null?Y(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Te.create=(e,t)=>new Te({innerType:e,typeName:$.ZodNullable,...I(t)});pt=class extends N{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===w.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};pt.create=(e,t)=>new pt({innerType:e,typeName:$.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...I(t)});mt=class extends N{_parse(t){let{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},s=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Tt(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new ee(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new ee(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};mt.create=(e,t)=>new mt({innerType:e,typeName:$.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...I(t)});It=class extends N{_parse(t){if(this._getType(t)!==w.nan){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.nan,received:r.parsedType}),R}return{status:"valid",value:t.data}}};It.create=e=>new It({typeName:$.ZodNaN,...I(e)});ip=Symbol("zod_brand"),dn=class extends N{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},pn=class e extends N{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{let o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?R:o.status==="dirty"?(n.dirty(),et(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?R:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(t,n){return new e({in:t,out:n,typeName:$.ZodPipeline})}},ht=class extends N{_parse(t){let n=this._def.innerType._parse(t),r=s=>(Be(s)&&(s.value=Object.freeze(s.value)),s);return Tt(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};ht.create=(e,t)=>new ht({innerType:e,typeName:$.ZodReadonly,...I(t)});ap={object:te.lazycreate};(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})($||($={}));lp=(e,t={message:`Input not instance of ${e.name}`})=>zi(n=>n instanceof e,t),Ji=Ue.create,Zi=tt.create,up=It.create,cp=nt.create,Gi=rt.create,fp=st.create,dp=At.create,pp=ot.create,mp=it.create,hp=ze.create,gp=Ne.create,yp=ke.create,bp=$t.create,kp=De.create,_p=te.create,wp=te.strictCreate,xp=at.create,Sp=Qn.create,vp=lt.create,Ep=Ee.create,Tp=er.create,Rp=Ot.create,Ap=Ct.create,$p=tr.create,Op=ut.create,Cp=ct.create,Ip=ft.create,Pp=dt.create,Np=Je.create,Dp=me.create,Mp=de.create,Fp=Te.create,Lp=me.createWithPreprocess,jp=pn.create,Hp=()=>Ji().optional(),Bp=()=>Zi().optional(),Up=()=>Gi().optional(),zp={string:(e=>Ue.create({...e,coerce:!0})),number:(e=>tt.create({...e,coerce:!0})),boolean:(e=>rt.create({...e,coerce:!0})),bigint:(e=>nt.create({...e,coerce:!0})),date:(e=>st.create({...e,coerce:!0}))},Jp=R});var h={};un(h,{BRAND:()=>ip,DIRTY:()=>et,EMPTY_PATH:()=>Ld,INVALID:()=>R,NEVER:()=>Jp,OK:()=>Y,ParseStatus:()=>V,Schema:()=>N,ZodAny:()=>ze,ZodArray:()=>De,ZodBigInt:()=>nt,ZodBoolean:()=>rt,ZodBranded:()=>dn,ZodCatch:()=>mt,ZodDate:()=>st,ZodDefault:()=>pt,ZodDiscriminatedUnion:()=>Qn,ZodEffects:()=>me,ZodEnum:()=>ft,ZodError:()=>ee,ZodFirstPartyTypeKind:()=>$,ZodFunction:()=>tr,ZodIntersection:()=>lt,ZodIssueCode:()=>y,ZodLazy:()=>ut,ZodLiteral:()=>ct,ZodMap:()=>Ot,ZodNaN:()=>It,ZodNativeEnum:()=>dt,ZodNever:()=>ke,ZodNull:()=>it,ZodNullable:()=>Te,ZodNumber:()=>tt,ZodObject:()=>te,ZodOptional:()=>de,ZodParsedType:()=>w,ZodPipeline:()=>pn,ZodPromise:()=>Je,ZodReadonly:()=>ht,ZodRecord:()=>er,ZodSchema:()=>N,ZodSet:()=>Ct,ZodString:()=>Ue,ZodSymbol:()=>At,ZodTransformer:()=>me,ZodTuple:()=>Ee,ZodType:()=>N,ZodUndefined:()=>ot,ZodUnion:()=>at,ZodUnknown:()=>Ne,ZodVoid:()=>$t,addIssueToContext:()=>_,any:()=>hp,array:()=>kp,bigint:()=>cp,boolean:()=>Gi,coerce:()=>zp,custom:()=>zi,date:()=>fp,datetimeRegex:()=>Bi,defaultErrorMap:()=>Ie,discriminatedUnion:()=>Sp,effect:()=>Dp,enum:()=>Ip,function:()=>$p,getErrorMap:()=>Et,getParsedType:()=>ve,instanceof:()=>lp,intersection:()=>vp,isAborted:()=>qn,isAsync:()=>Tt,isDirty:()=>Xn,isValid:()=>Be,late:()=>ap,lazy:()=>Op,literal:()=>Cp,makeIssue:()=>fn,map:()=>Rp,nan:()=>up,nativeEnum:()=>Pp,never:()=>yp,null:()=>mp,nullable:()=>Fp,number:()=>Zi,object:()=>_p,objectUtil:()=>ms,oboolean:()=>Up,onumber:()=>Bp,optional:()=>Mp,ostring:()=>Hp,pipeline:()=>jp,preprocess:()=>Lp,promise:()=>Np,quotelessJson:()=>Dd,record:()=>Tp,set:()=>Ap,setErrorMap:()=>Fd,strictObject:()=>wp,string:()=>Ji,symbol:()=>dp,transformer:()=>Dp,tuple:()=>Ep,undefined:()=>pp,union:()=>xp,unknown:()=>gp,util:()=>M,void:()=>bp});var ks=b(()=>{Yn();gs();Di();cn();Ki();Vn()});var gt=b(()=>{ks();ks()});var Ze,mn=b(()=>{"use strict";gt();Ze=h.object({slug:h.string().min(1).max(64),description:h.string().max(255).optional(),match_command:h.string().min(1),priority:h.number().int().default(50),strip_ansi:h.boolean().default(!1),strip_lines_matching:h.array(h.string()).default([]),keep_failures:h.boolean().default(!1),strip_on_failure:h.boolean().default(!1),fold_passing:h.boolean().default(!1),fold_passing_threshold:h.number().int().positive().max(1e3).optional(),mask_abs_paths:h.boolean().default(!1),preserve_exact:h.boolean().default(!1),truncate_lines_at:h.number().int().positive().max(1e4).optional(),max_lines:h.number().int().positive().max(1e5).optional(),scale_with_level:h.boolean().default(!0),transform:h.string().max(64).optional(),on_empty:h.string().max(255).optional()})});var qi={};un(qi,{OutputVerbosity:()=>Vi,ReducerLevel:()=>Yi,Settings:()=>Pt,slugKey:()=>le});import{createHash as Zp}from"node:crypto";function le(e){let t=Wi.get(e);return t||(t=Zp("sha256").update(`tkr:${e}`).digest("hex").slice(0,16),Wi.set(e,t)),t}var Vi,Yi,Pt,Wi,Ge=b(()=>{"use strict";gt();Vi=h.enum(["normal","compact","minimal"]),Yi=h.enum(["off","light","balanced","max"]),Pt=h.object({enabled:h.boolean().default(!0),telemetryOptIn:h.boolean().default(!0),outputVerbosity:Vi.default("compact"),reducer:Yi.default("off"),filters:h.object({enableAll:h.boolean().default(!0),disabled:h.array(h.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),Wi=new Map});function Nt(e,t,n,r=t){let s=Xi.get(r);s||(s=new Map,Xi.set(r,s));let o=JSON.stringify([e,n?[...n].sort():null]),i=s.get(o);if(i!==void 0)return i;let a=null;for(let l of t)n&&!n.has(le(l.slug))||l.matchRegex.test(e)&&(!a||l.priority>a.priority)&&(a=l);if(s.size>=Gp){let l=s.keys().next().value;l&&s.delete(l)}return s.set(o,a),a}var Xi,Gp,nr=b(()=>{"use strict";Ge();Xi=new WeakMap,Gp=256});import Kp from"node:os";import{join as hn}from"node:path";function x(){return process.env.TOKMIZER_HOME||hn(Kp.homedir(),".tokmizer")}function gn(){return hn(x(),"install-id")}function _s(){return hn(x(),"content-cache")}function Qi(){return hn(x(),"restore.json")}function ws(e){return hn(_s(),e)}var B=b(()=>{"use strict"});import{join as Wp}from"node:path";import{mkdir as qv,readFile as Vp,writeFile as Xv,unlink as Qv,rename as eE}from"node:fs/promises";function qp(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e&&e.length>0?e:"Etc/UTC"}catch{return"Etc/UTC"}}function Xp(e){return e?.dir??x()}async function yt(e){let t=Xp(e);try{let n=await Vp(Wp(t,Yp),"utf8"),r=JSON.parse(n),s=r.timeZone;return{...r,lastSettingsRevision:r.lastSettingsRevision??0,get timeZone(){return s??=qp()},bonusActive:r.bonusActive??!1,...r.bonusResetAt!==void 0?{bonusResetAt:r.bonusResetAt}:{}}}catch{return null}}var Yp,yn=b(()=>{"use strict";B();Yp="state.json"});import{createRequire as Qp}from"node:module";function tm(){let e="0.9.66";if(e)return e;for(let t of["../package.json","../../package.json"])try{let n=em(t).version;if(typeof n=="string"&&n)return n}catch{}return"0.0.0"}function ea(e,t){if(!e||!t)return!1;let n=e.split(".").map(s=>parseInt(s,10)),r=t.split(".").map(s=>parseInt(s,10));for(let s=0;s<3;s+=1){let o=n[s]??0,i=r[s]??0;if(Number.isNaN(o)||Number.isNaN(i))return!1;if(o<i)return!0;if(o>i)return!1}return!1}var em,he,Dt=b(()=>{"use strict";em=Qp(import.meta.url);he=tm()});var ta,na=b(()=>{"use strict";ta=`-----BEGIN PUBLIC KEY-----
3
+ var Md=Object.create;var ys=Object.defineProperty;var Ld=Object.getOwnPropertyDescriptor;var Fd=Object.getOwnPropertyNames;var jd=Object.getPrototypeOf,Hd=Object.prototype.hasOwnProperty;var He=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var b=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var ae=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},cn=(e,t)=>{for(var n in t)ys(e,n,{get:t[n],enumerable:!0})},Bd=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Fd(t))!Hd.call(e,s)&&s!==n&&ys(e,s,{get:()=>t[s],enumerable:!(r=Ld(t,s))||r.enumerable});return e};var Ud=(e,t,n)=>(n=e!=null?Md(jd(e)):{},Bd(t||!e||!e.__esModule?ys(n,"default",{value:e,enumerable:!0}):n,e));var L,bs,w,xe,fn=b(()=>{(function(e){e.assertEqual=s=>{};function t(s){}e.assertIs=t;function n(s){throw new Error}e.assertNever=n,e.arrayToEnum=s=>{let o={};for(let i of s)o[i]=i;return o},e.getValidEnumValues=s=>{let o=e.objectKeys(s).filter(a=>typeof s[s[a]]!="number"),i={};for(let a of o)i[a]=s[a];return e.objectValues(i)},e.objectValues=s=>e.objectKeys(s).map(function(o){return s[o]}),e.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let o=[];for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&o.push(i);return o},e.find=(s,o)=>{for(let i of s)if(o(i))return i},e.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,o=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(s,o)=>typeof o=="bigint"?o.toString():o})(L||(L={}));(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(bs||(bs={}));w=L.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),xe=e=>{switch(typeof e){case"undefined":return w.undefined;case"string":return w.string;case"number":return Number.isNaN(e)?w.nan:w.number;case"boolean":return w.boolean;case"function":return w.function;case"bigint":return w.bigint;case"symbol":return w.symbol;case"object":return Array.isArray(e)?w.array:e===null?w.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?w.promise:typeof Map<"u"&&e instanceof Map?w.map:typeof Set<"u"&&e instanceof Set?w.set:typeof Date<"u"&&e instanceof Date?w.date:w.object;default:return w.unknown}}});var y,zd,te,Xn=b(()=>{fn();y=L.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),zd=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),te=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){let n=t||function(o){return o.message},r={_errors:[]},s=o=>{for(let i of o.issues)if(i.code==="invalid_union")i.unionErrors.map(s);else if(i.code==="invalid_return_type")s(i.returnTypeError);else if(i.code==="invalid_arguments")s(i.argumentsError);else if(i.path.length===0)r._errors.push(n(i));else{let a=r,l=0;for(;l<i.path.length;){let u=i.path[l];l===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(n(i))):a[u]=a[u]||{_errors:[]},a=a[u],l++}}};return s(this),r}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,L.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){let n={},r=[];for(let s of this.issues)if(s.path.length>0){let o=s.path[0];n[o]=n[o]||[],n[o].push(t(s))}else r.push(t(s));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};te.create=e=>new te(e)});var Jd,Ce,ks=b(()=>{Xn();fn();Jd=(e,t)=>{let n;switch(e.code){case y.invalid_type:e.received===w.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case y.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,L.jsonStringifyReplacer)}`;break;case y.unrecognized_keys:n=`Unrecognized key(s) in object: ${L.joinValues(e.keys,", ")}`;break;case y.invalid_union:n="Invalid input";break;case y.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${L.joinValues(e.options)}`;break;case y.invalid_enum_value:n=`Invalid enum value. Expected ${L.joinValues(e.options)}, received '${e.received}'`;break;case y.invalid_arguments:n="Invalid function arguments";break;case y.invalid_return_type:n="Invalid function return type";break;case y.invalid_date:n="Invalid date";break;case y.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:L.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case y.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case y.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case y.custom:n="Invalid input";break;case y.invalid_intersection_types:n="Intersection results could not be merged";break;case y.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case y.not_finite:n="Number must be finite";break;default:n=t.defaultError,L.assertNever(e)}return{message:n}},Ce=Jd});function Zd(e){Mi=e}function Rt(){return Mi}var Mi,Qn=b(()=>{ks();Mi=Ce});function _(e,t){let n=Rt(),r=dn({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Ce?void 0:Ce].filter(s=>!!s)});e.common.issues.push(r)}var dn,Gd,V,R,nt,Y,er,tr,Be,At,_s=b(()=>{Qn();ks();dn=e=>{let{data:t,path:n,errorMaps:r,issueData:s}=e,o=[...n,...s.path||[]],i={...s,path:o};if(s.message!==void 0)return{...s,path:o,message:s.message};let a="",l=r.filter(u=>!!u).slice().reverse();for(let u of l)a=u(i,{data:t,defaultError:a}).message;return{...s,path:o,message:a}},Gd=[];V=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){let r=[];for(let s of n){if(s.status==="aborted")return R;s.status==="dirty"&&t.dirty(),r.push(s.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){let r=[];for(let s of n){let o=await s.key,i=await s.value;r.push({key:o,value:i})}return e.mergeObjectSync(t,r)}static mergeObjectSync(t,n){let r={};for(let s of n){let{key:o,value:i}=s;if(o.status==="aborted"||i.status==="aborted")return R;o.status==="dirty"&&t.dirty(),i.status==="dirty"&&t.dirty(),o.value!=="__proto__"&&(typeof i.value<"u"||s.alwaysSet)&&(r[o.value]=i.value)}return{status:t.value,value:r}}},R=Object.freeze({status:"aborted"}),nt=e=>({status:"dirty",value:e}),Y=e=>({status:"valid",value:e}),er=e=>e.status==="aborted",tr=e=>e.status==="dirty",Be=e=>e.status==="valid",At=e=>typeof Promise<"u"&&e instanceof Promise});var Li=b(()=>{});var v,Fi=b(()=>{(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(v||(v={}))});function P(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:s}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:s}:{errorMap:(i,a)=>{let{message:l}=e;return i.code==="invalid_enum_value"?{message:l??a.defaultError}:typeof a.data>"u"?{message:l??r??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:l??n??a.defaultError}},description:s}}function Ui(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function up(e){return new RegExp(`^${Ui(e)}$`)}function zi(e){let t=`${Bi}T${Ui(e)}`,n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function cp(e,t){return!!((t==="v4"||!t)&&np.test(e)||(t==="v6"||!t)&&sp.test(e))}function fp(e,t){if(!Xd.test(e))return!1;try{let[n]=e.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),s=JSON.parse(atob(r));return!(typeof s!="object"||s===null||"typ"in s&&s?.typ!=="JWT"||!s.alg||t&&s.alg!==t)}catch{return!1}}function dp(e,t){return!!((t==="v4"||!t)&&rp.test(e)||(t==="v6"||!t)&&op.test(e))}function pp(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,s=n>r?n:r,o=Number.parseInt(e.toFixed(s).replace(".","")),i=Number.parseInt(t.toFixed(s).replace(".",""));return o%i/10**s}function $t(e){if(e instanceof ne){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=fe.create($t(r))}return new ne({...e._def,shape:()=>t})}else return e instanceof Ne?new Ne({...e._def,type:$t(e.element)}):e instanceof fe?fe.create($t(e.unwrap())):e instanceof ve?ve.create($t(e.unwrap())):e instanceof Se?Se.create(e.items.map(t=>$t(t))):e}function xs(e,t){let n=xe(e),r=xe(t);if(e===t)return{valid:!0,data:e};if(n===w.object&&r===w.object){let s=L.objectKeys(t),o=L.objectKeys(e).filter(a=>s.indexOf(a)!==-1),i={...e,...t};for(let a of o){let l=xs(e[a],t[a]);if(!l.valid)return{valid:!1};i[a]=l.data}return{valid:!0,data:i}}else if(n===w.array&&r===w.array){if(e.length!==t.length)return{valid:!1};let s=[];for(let o=0;o<e.length;o++){let i=e[o],a=t[o],l=xs(i,a);if(!l.valid)return{valid:!1};s.push(l.data)}return{valid:!0,data:s}}else return n===w.date&&r===w.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}function Ji(e,t){return new pt({values:e,typeName:$.ZodEnum,...P(t)})}function Hi(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function Zi(e,t={},n){return e?ze.create().superRefine((r,s)=>{let o=e(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=Hi(t,r),l=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:l})}});if(!o){let i=Hi(t,r),a=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:a})}}):ze.create()}var de,ji,D,Kd,Wd,Vd,qd,Yd,Xd,Qd,ep,tp,ws,np,rp,sp,op,ip,ap,Bi,lp,Ue,rt,st,ot,it,Ot,at,lt,ze,Pe,ye,Ct,Ne,ne,ut,Ie,nr,ct,Se,rr,It,Pt,sr,ft,dt,pt,mt,Je,pe,fe,ve,ht,gt,Nt,mp,pn,mn,yt,hp,$,gp,Gi,Ki,yp,bp,Wi,kp,_p,wp,xp,Sp,vp,Ep,Tp,Rp,Ap,$p,Op,Cp,Ip,Pp,Np,Dp,Mp,Lp,Fp,jp,Hp,Bp,Up,zp,Jp,Zp,Gp,Kp,Wp,Vp,qp,Yp,Xp,Vi=b(()=>{Xn();Qn();Fi();_s();fn();de=class{constructor(t,n,r,s){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},ji=(e,t)=>{if(Be(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new te(e.common.issues);return this._error=n,this._error}}};D=class{get description(){return this._def.description}_getType(t){return xe(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:xe(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new V,ctx:{common:t.parent.common,data:t.data,parsedType:xe(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(At(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){let n=this._parse(t);return Promise.resolve(n)}parse(t,n){let r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:xe(t)},s=this._parseSync({data:t,path:r.path,parent:r});return ji(r,s)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:xe(t)};if(!this["~standard"].async)try{let r=this._parseSync({data:t,path:[],parent:n});return Be(r)?{value:r.value}:{issues:n.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then(r=>Be(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(t,n){let r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:xe(t)},s=this._parse({data:t,path:r.path,parent:r}),o=await(At(s)?s:Promise.resolve(s));return ji(r,o)}refine(t,n){let r=s=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(s):n;return this._refinement((s,o)=>{let i=t(s),a=()=>o.addIssue({code:y.custom,...r(s)});return typeof Promise<"u"&&i instanceof Promise?i.then(l=>l?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,s)=>t(r)?!0:(s.addIssue(typeof n=="function"?n(r,s):n),!1))}_refinement(t){return new pe({schema:this,typeName:$.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return fe.create(this,this._def)}nullable(){return ve.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ne.create(this)}promise(){return Je.create(this,this._def)}or(t){return ut.create([this,t],this._def)}and(t){return ct.create(this,t,this._def)}transform(t){return new pe({...P(this._def),schema:this,typeName:$.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new ht({...P(this._def),innerType:this,defaultValue:n,typeName:$.ZodDefault})}brand(){return new pn({typeName:$.ZodBranded,type:this,...P(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new gt({...P(this._def),innerType:this,catchValue:n,typeName:$.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return mn.create(this,t)}readonly(){return yt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Kd=/^c[^\s-]{8,}$/i,Wd=/^[0-9a-z]+$/,Vd=/^[0-9A-HJKMNP-TV-Z]{26}$/i,qd=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Yd=/^[a-z0-9_-]{21}$/i,Xd=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Qd=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,ep=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,tp="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",np=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,rp=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,sp=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,op=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,ip=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,ap=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Bi="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",lp=new RegExp(`^${Bi}$`);Ue=class e extends D{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==w.string){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_type,expected:w.string,received:o.parsedType}),R}let r=new V,s;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:y.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="max")t.data.length>o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:y.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){let i=t.data.length>o.value,a=t.data.length<o.value;(i||a)&&(s=this._getOrReturnCtx(t,s),i?_(s,{code:y.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&_(s,{code:y.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),r.dirty())}else if(o.kind==="email")ep.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"email",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="emoji")ws||(ws=new RegExp(tp,"u")),ws.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"emoji",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="uuid")qd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"uuid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="nanoid")Yd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"nanoid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid")Kd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cuid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid2")Wd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cuid2",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="ulid")Vd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"ulid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{s=this._getOrReturnCtx(t,s),_(s,{validation:"url",code:y.invalid_string,message:o.message}),r.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"regex",code:y.invalid_string,message:o.message}),r.dirty())):o.kind==="trim"?t.data=t.data.trim():o.kind==="includes"?t.data.includes(o.value,o.position)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),r.dirty()):o.kind==="toLowerCase"?t.data=t.data.toLowerCase():o.kind==="toUpperCase"?t.data=t.data.toUpperCase():o.kind==="startsWith"?t.data.startsWith(o.value)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:{startsWith:o.value},message:o.message}),r.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:{endsWith:o.value},message:o.message}),r.dirty()):o.kind==="datetime"?zi(o).test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?lp.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?up(o).test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?Qd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"duration",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?cp(t.data,o.version)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"ip",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?fp(t.data,o.alg)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"jwt",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?dp(t.data,o.version)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cidr",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?ip.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"base64",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?ap.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"base64url",code:y.invalid_string,message:o.message}),r.dirty()):L.assertNever(o);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:y.invalid_string,...v.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...v.errToObj(t)})}url(t){return this._addCheck({kind:"url",...v.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...v.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...v.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...v.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...v.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...v.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...v.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...v.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...v.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...v.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...v.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...v.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...v.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...v.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...v.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...v.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...v.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...v.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...v.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...v.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...v.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...v.errToObj(n)})}nonempty(t){return this.min(1,v.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Ue.create=e=>new Ue({checks:[],typeName:$.ZodString,coerce:e?.coerce??!1,...P(e)});rt=class e extends D{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==w.number){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_type,expected:w.number,received:o.parsedType}),R}let r,s=new V;for(let o of this._def.checks)o.kind==="int"?L.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),_(r,{code:y.invalid_type,expected:"integer",received:"float",message:o.message}),s.dirty()):o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(r=this._getOrReturnCtx(t,r),_(r,{code:y.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),_(r,{code:y.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?pp(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),_(r,{code:y.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),_(r,{code:y.not_finite,message:o.message}),s.dirty()):L.assertNever(o);return{status:s.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,v.toString(n))}gt(t,n){return this.setLimit("min",t,!1,v.toString(n))}lte(t,n){return this.setLimit("max",t,!0,v.toString(n))}lt(t,n){return this.setLimit("max",t,!1,v.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:v.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:v.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:v.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:v.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:v.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:v.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:v.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:v.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:v.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:v.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&L.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}};rt.create=e=>new rt({checks:[],typeName:$.ZodNumber,coerce:e?.coerce||!1,...P(e)});st=class e extends D{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==w.bigint)return this._getInvalidInput(t);let r,s=new V;for(let o of this._def.checks)o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(r=this._getOrReturnCtx(t,r),_(r,{code:y.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),_(r,{code:y.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),_(r,{code:y.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):L.assertNever(o);return{status:s.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return _(n,{code:y.invalid_type,expected:w.bigint,received:n.parsedType}),R}gte(t,n){return this.setLimit("min",t,!0,v.toString(n))}gt(t,n){return this.setLimit("min",t,!1,v.toString(n))}lte(t,n){return this.setLimit("max",t,!0,v.toString(n))}lt(t,n){return this.setLimit("max",t,!1,v.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:v.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:v.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:v.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:v.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:v.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:v.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};st.create=e=>new st({checks:[],typeName:$.ZodBigInt,coerce:e?.coerce??!1,...P(e)});ot=class extends D{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==w.boolean){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.boolean,received:r.parsedType}),R}return Y(t.data)}};ot.create=e=>new ot({typeName:$.ZodBoolean,coerce:e?.coerce||!1,...P(e)});it=class e extends D{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==w.date){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_type,expected:w.date,received:o.parsedType}),R}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_date}),R}let r=new V,s;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:y.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),r.dirty()):o.kind==="max"?t.data.getTime()>o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:y.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):L.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:v.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:v.toString(n)})}get minDate(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}};it.create=e=>new it({checks:[],coerce:e?.coerce||!1,typeName:$.ZodDate,...P(e)});Ot=class extends D{_parse(t){if(this._getType(t)!==w.symbol){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.symbol,received:r.parsedType}),R}return Y(t.data)}};Ot.create=e=>new Ot({typeName:$.ZodSymbol,...P(e)});at=class extends D{_parse(t){if(this._getType(t)!==w.undefined){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.undefined,received:r.parsedType}),R}return Y(t.data)}};at.create=e=>new at({typeName:$.ZodUndefined,...P(e)});lt=class extends D{_parse(t){if(this._getType(t)!==w.null){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.null,received:r.parsedType}),R}return Y(t.data)}};lt.create=e=>new lt({typeName:$.ZodNull,...P(e)});ze=class extends D{constructor(){super(...arguments),this._any=!0}_parse(t){return Y(t.data)}};ze.create=e=>new ze({typeName:$.ZodAny,...P(e)});Pe=class extends D{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Y(t.data)}};Pe.create=e=>new Pe({typeName:$.ZodUnknown,...P(e)});ye=class extends D{_parse(t){let n=this._getOrReturnCtx(t);return _(n,{code:y.invalid_type,expected:w.never,received:n.parsedType}),R}};ye.create=e=>new ye({typeName:$.ZodNever,...P(e)});Ct=class extends D{_parse(t){if(this._getType(t)!==w.undefined){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.void,received:r.parsedType}),R}return Y(t.data)}};Ct.create=e=>new Ct({typeName:$.ZodVoid,...P(e)});Ne=class e extends D{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==w.array)return _(n,{code:y.invalid_type,expected:w.array,received:n.parsedType}),R;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(i||a)&&(_(n,{code:i?y.too_big:y.too_small,minimum:a?s.exactLength.value:void 0,maximum:i?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),r.dirty())}if(s.minLength!==null&&n.data.length<s.minLength.value&&(_(n,{code:y.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),r.dirty()),s.maxLength!==null&&n.data.length>s.maxLength.value&&(_(n,{code:y.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((i,a)=>s.type._parseAsync(new de(n,i,n.path,a)))).then(i=>V.mergeArray(r,i));let o=[...n.data].map((i,a)=>s.type._parseSync(new de(n,i,n.path,a)));return V.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:v.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:v.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:v.toString(n)}})}nonempty(t){return this.min(1,t)}};Ne.create=(e,t)=>new Ne({type:e,minLength:null,maxLength:null,exactLength:null,typeName:$.ZodArray,...P(t)});ne=class e extends D{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),n=L.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==w.object){let u=this._getOrReturnCtx(t);return _(u,{code:y.invalid_type,expected:w.object,received:u.parsedType}),R}let{status:r,ctx:s}=this._processInputParams(t),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof ye&&this._def.unknownKeys==="strip"))for(let u in s.data)i.includes(u)||a.push(u);let l=[];for(let u of i){let c=o[u],f=s.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new de(s,f,s.path,u)),alwaysSet:u in s.data})}if(this._def.catchall instanceof ye){let u=this._def.unknownKeys;if(u==="passthrough")for(let c of a)l.push({key:{status:"valid",value:c},value:{status:"valid",value:s.data[c]}});else if(u==="strict")a.length>0&&(_(s,{code:y.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let c of a){let f=s.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new de(s,f,s.path,c)),alwaysSet:c in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let u=[];for(let c of l){let f=await c.key,d=await c.value;u.push({key:f,value:d,alwaysSet:c.alwaysSet})}return u}).then(u=>V.mergeObjectSync(r,u)):V.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return v.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{let s=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:v.errToObj(t).message??s}:{message:s}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:$.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let r of L.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let r of L.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return $t(this)}partial(t){let n={};for(let r of L.objectKeys(this.shape)){let s=this.shape[r];t&&!t[r]?n[r]=s:n[r]=s.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let r of L.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof fe;)o=o._def.innerType;n[r]=o}return new e({...this._def,shape:()=>n})}keyof(){return Ji(L.objectKeys(this.shape))}};ne.create=(e,t)=>new ne({shape:()=>e,unknownKeys:"strip",catchall:ye.create(),typeName:$.ZodObject,...P(t)});ne.strictCreate=(e,t)=>new ne({shape:()=>e,unknownKeys:"strict",catchall:ye.create(),typeName:$.ZodObject,...P(t)});ne.lazycreate=(e,t)=>new ne({shape:e,unknownKeys:"strip",catchall:ye.create(),typeName:$.ZodObject,...P(t)});ut=class extends D{_parse(t){let{ctx:n}=this._processInputParams(t),r=this._def.options;function s(o){for(let a of o)if(a.result.status==="valid")return a.result;for(let a of o)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;let i=o.map(a=>new te(a.ctx.common.issues));return _(n,{code:y.invalid_union,unionErrors:i}),R}if(n.common.async)return Promise.all(r.map(async o=>{let i={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:i}),ctx:i}})).then(s);{let o,i=[];for(let l of r){let u={...n,common:{...n.common,issues:[]},parent:null},c=l._parseSync({data:n.data,path:n.path,parent:u});if(c.status==="valid")return c;c.status==="dirty"&&!o&&(o={result:c,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;let a=i.map(l=>new te(l));return _(n,{code:y.invalid_union,unionErrors:a}),R}}get options(){return this._def.options}};ut.create=(e,t)=>new ut({options:e,typeName:$.ZodUnion,...P(t)});Ie=e=>e instanceof ft?Ie(e.schema):e instanceof pe?Ie(e.innerType()):e instanceof dt?[e.value]:e instanceof pt?e.options:e instanceof mt?L.objectValues(e.enum):e instanceof ht?Ie(e._def.innerType):e instanceof at?[void 0]:e instanceof lt?[null]:e instanceof fe?[void 0,...Ie(e.unwrap())]:e instanceof ve?[null,...Ie(e.unwrap())]:e instanceof pn||e instanceof yt?Ie(e.unwrap()):e instanceof gt?Ie(e._def.innerType):[],nr=class e extends D{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==w.object)return _(n,{code:y.invalid_type,expected:w.object,received:n.parsedType}),R;let r=this.discriminator,s=n.data[r],o=this.optionsMap.get(s);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(_(n,{code:y.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),R)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let s=new Map;for(let o of n){let i=Ie(o.shape[t]);if(!i.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let a of i){if(s.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);s.set(a,o)}}return new e({typeName:$.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...P(r)})}};ct=class extends D{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(o,i)=>{if(er(o)||er(i))return R;let a=xs(o.value,i.value);return a.valid?((tr(o)||tr(i))&&n.dirty(),{status:n.value,value:a.data}):(_(r,{code:y.invalid_intersection_types}),R)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,i])=>s(o,i)):s(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};ct.create=(e,t,n)=>new ct({left:e,right:t,typeName:$.ZodIntersection,...P(n)});Se=class e extends D{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.array)return _(r,{code:y.invalid_type,expected:w.array,received:r.parsedType}),R;if(r.data.length<this._def.items.length)return _(r,{code:y.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),R;!this._def.rest&&r.data.length>this._def.items.length&&(_(r,{code:y.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let o=[...r.data].map((i,a)=>{let l=this._def.items[a]||this._def.rest;return l?l._parse(new de(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(o).then(i=>V.mergeArray(n,i)):V.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};Se.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Se({items:e,typeName:$.ZodTuple,rest:null,...P(t)})};rr=class e extends D{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.object)return _(r,{code:y.invalid_type,expected:w.object,received:r.parsedType}),R;let s=[],o=this._def.keyType,i=this._def.valueType;for(let a in r.data)s.push({key:o._parse(new de(r,a,r.path,a)),value:i._parse(new de(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?V.mergeObjectAsync(n,s):V.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof D?new e({keyType:t,valueType:n,typeName:$.ZodRecord,...P(r)}):new e({keyType:Ue.create(),valueType:t,typeName:$.ZodRecord,...P(n)})}},It=class extends D{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.map)return _(r,{code:y.invalid_type,expected:w.map,received:r.parsedType}),R;let s=this._def.keyType,o=this._def.valueType,i=[...r.data.entries()].map(([a,l],u)=>({key:s._parse(new de(r,a,r.path,[u,"key"])),value:o._parse(new de(r,l,r.path,[u,"value"]))}));if(r.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let l of i){let u=await l.key,c=await l.value;if(u.status==="aborted"||c.status==="aborted")return R;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}})}else{let a=new Map;for(let l of i){let u=l.key,c=l.value;if(u.status==="aborted"||c.status==="aborted")return R;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}}}};It.create=(e,t,n)=>new It({valueType:t,keyType:e,typeName:$.ZodMap,...P(n)});Pt=class e extends D{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.set)return _(r,{code:y.invalid_type,expected:w.set,received:r.parsedType}),R;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(_(r,{code:y.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),n.dirty()),s.maxSize!==null&&r.data.size>s.maxSize.value&&(_(r,{code:y.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),n.dirty());let o=this._def.valueType;function i(l){let u=new Set;for(let c of l){if(c.status==="aborted")return R;c.status==="dirty"&&n.dirty(),u.add(c.value)}return{status:n.value,value:u}}let a=[...r.data.values()].map((l,u)=>o._parse(new de(r,l,r.path,u)));return r.common.async?Promise.all(a).then(l=>i(l)):i(a)}min(t,n){return new e({...this._def,minSize:{value:t,message:v.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:v.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};Pt.create=(e,t)=>new Pt({valueType:e,minSize:null,maxSize:null,typeName:$.ZodSet,...P(t)});sr=class e extends D{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==w.function)return _(n,{code:y.invalid_type,expected:w.function,received:n.parsedType}),R;function r(a,l){return dn({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Rt(),Ce].filter(u=>!!u),issueData:{code:y.invalid_arguments,argumentsError:l}})}function s(a,l){return dn({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Rt(),Ce].filter(u=>!!u),issueData:{code:y.invalid_return_type,returnTypeError:l}})}let o={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof Je){let a=this;return Y(async function(...l){let u=new te([]),c=await a._def.args.parseAsync(l,o).catch(p=>{throw u.addIssue(r(l,p)),u}),f=await Reflect.apply(i,this,c);return await a._def.returns._def.type.parseAsync(f,o).catch(p=>{throw u.addIssue(s(f,p)),u})})}else{let a=this;return Y(function(...l){let u=a._def.args.safeParse(l,o);if(!u.success)throw new te([r(l,u.error)]);let c=Reflect.apply(i,this,u.data),f=a._def.returns.safeParse(c,o);if(!f.success)throw new te([s(c,f.error)]);return f.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:Se.create(t).rest(Pe.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new e({args:t||Se.create([]).rest(Pe.create()),returns:n||Pe.create(),typeName:$.ZodFunction,...P(r)})}},ft=class extends D{get schema(){return this._def.getter()}_parse(t){let{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};ft.create=(e,t)=>new ft({getter:e,typeName:$.ZodLazy,...P(t)});dt=class extends D{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return _(n,{received:n.data,code:y.invalid_literal,expected:this._def.value}),R}return{status:"valid",value:t.data}}get value(){return this._def.value}};dt.create=(e,t)=>new dt({value:e,typeName:$.ZodLiteral,...P(t)});pt=class e extends D{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return _(n,{expected:L.joinValues(r),received:n.parsedType,code:y.invalid_type}),R}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),r=this._def.values;return _(n,{received:n.data,code:y.invalid_enum_value,options:r}),R}return Y(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}};pt.create=Ji;mt=class extends D{_parse(t){let n=L.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==w.string&&r.parsedType!==w.number){let s=L.objectValues(n);return _(r,{expected:L.joinValues(s),received:r.parsedType,code:y.invalid_type}),R}if(this._cache||(this._cache=new Set(L.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=L.objectValues(n);return _(r,{received:r.data,code:y.invalid_enum_value,options:s}),R}return Y(t.data)}get enum(){return this._def.values}};mt.create=(e,t)=>new mt({values:e,typeName:$.ZodNativeEnum,...P(t)});Je=class extends D{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==w.promise&&n.common.async===!1)return _(n,{code:y.invalid_type,expected:w.promise,received:n.parsedType}),R;let r=n.parsedType===w.promise?n.data:Promise.resolve(n.data);return Y(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};Je.create=(e,t)=>new Je({type:e,typeName:$.ZodPromise,...P(t)});pe=class extends D{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===$.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=this._def.effect||null,o={addIssue:i=>{_(r,i),i.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),s.type==="preprocess"){let i=s.transform(r.data,o);if(r.common.async)return Promise.resolve(i).then(async a=>{if(n.value==="aborted")return R;let l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?R:l.status==="dirty"?nt(l.value):n.value==="dirty"?nt(l.value):l});{if(n.value==="aborted")return R;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?R:a.status==="dirty"?nt(a.value):n.value==="dirty"?nt(a.value):a}}if(s.type==="refinement"){let i=a=>{let l=s.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?R:(a.status==="dirty"&&n.dirty(),i(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?R:(a.status==="dirty"&&n.dirty(),i(a.value).then(()=>({status:n.value,value:a.value}))))}if(s.type==="transform")if(r.common.async===!1){let i=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!Be(i))return R;let a=s.transform(i.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(i=>Be(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:n.value,value:a})):R);L.assertNever(s)}};pe.create=(e,t,n)=>new pe({schema:e,typeName:$.ZodEffects,effect:t,...P(n)});pe.createWithPreprocess=(e,t,n)=>new pe({schema:t,effect:{type:"preprocess",transform:e},typeName:$.ZodEffects,...P(n)});fe=class extends D{_parse(t){return this._getType(t)===w.undefined?Y(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};fe.create=(e,t)=>new fe({innerType:e,typeName:$.ZodOptional,...P(t)});ve=class extends D{_parse(t){return this._getType(t)===w.null?Y(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};ve.create=(e,t)=>new ve({innerType:e,typeName:$.ZodNullable,...P(t)});ht=class extends D{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===w.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};ht.create=(e,t)=>new ht({innerType:e,typeName:$.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...P(t)});gt=class extends D{_parse(t){let{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},s=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return At(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new te(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new te(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};gt.create=(e,t)=>new gt({innerType:e,typeName:$.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...P(t)});Nt=class extends D{_parse(t){if(this._getType(t)!==w.nan){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.nan,received:r.parsedType}),R}return{status:"valid",value:t.data}}};Nt.create=e=>new Nt({typeName:$.ZodNaN,...P(e)});mp=Symbol("zod_brand"),pn=class extends D{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},mn=class e extends D{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{let o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?R:o.status==="dirty"?(n.dirty(),nt(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?R:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(t,n){return new e({in:t,out:n,typeName:$.ZodPipeline})}},yt=class extends D{_parse(t){let n=this._def.innerType._parse(t),r=s=>(Be(s)&&(s.value=Object.freeze(s.value)),s);return At(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};yt.create=(e,t)=>new yt({innerType:e,typeName:$.ZodReadonly,...P(t)});hp={object:ne.lazycreate};(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})($||($={}));gp=(e,t={message:`Input not instance of ${e.name}`})=>Zi(n=>n instanceof e,t),Gi=Ue.create,Ki=rt.create,yp=Nt.create,bp=st.create,Wi=ot.create,kp=it.create,_p=Ot.create,wp=at.create,xp=lt.create,Sp=ze.create,vp=Pe.create,Ep=ye.create,Tp=Ct.create,Rp=Ne.create,Ap=ne.create,$p=ne.strictCreate,Op=ut.create,Cp=nr.create,Ip=ct.create,Pp=Se.create,Np=rr.create,Dp=It.create,Mp=Pt.create,Lp=sr.create,Fp=ft.create,jp=dt.create,Hp=pt.create,Bp=mt.create,Up=Je.create,zp=pe.create,Jp=fe.create,Zp=ve.create,Gp=pe.createWithPreprocess,Kp=mn.create,Wp=()=>Gi().optional(),Vp=()=>Ki().optional(),qp=()=>Wi().optional(),Yp={string:(e=>Ue.create({...e,coerce:!0})),number:(e=>rt.create({...e,coerce:!0})),boolean:(e=>ot.create({...e,coerce:!0})),bigint:(e=>st.create({...e,coerce:!0})),date:(e=>it.create({...e,coerce:!0}))},Xp=R});var h={};cn(h,{BRAND:()=>mp,DIRTY:()=>nt,EMPTY_PATH:()=>Gd,INVALID:()=>R,NEVER:()=>Xp,OK:()=>Y,ParseStatus:()=>V,Schema:()=>D,ZodAny:()=>ze,ZodArray:()=>Ne,ZodBigInt:()=>st,ZodBoolean:()=>ot,ZodBranded:()=>pn,ZodCatch:()=>gt,ZodDate:()=>it,ZodDefault:()=>ht,ZodDiscriminatedUnion:()=>nr,ZodEffects:()=>pe,ZodEnum:()=>pt,ZodError:()=>te,ZodFirstPartyTypeKind:()=>$,ZodFunction:()=>sr,ZodIntersection:()=>ct,ZodIssueCode:()=>y,ZodLazy:()=>ft,ZodLiteral:()=>dt,ZodMap:()=>It,ZodNaN:()=>Nt,ZodNativeEnum:()=>mt,ZodNever:()=>ye,ZodNull:()=>lt,ZodNullable:()=>ve,ZodNumber:()=>rt,ZodObject:()=>ne,ZodOptional:()=>fe,ZodParsedType:()=>w,ZodPipeline:()=>mn,ZodPromise:()=>Je,ZodReadonly:()=>yt,ZodRecord:()=>rr,ZodSchema:()=>D,ZodSet:()=>Pt,ZodString:()=>Ue,ZodSymbol:()=>Ot,ZodTransformer:()=>pe,ZodTuple:()=>Se,ZodType:()=>D,ZodUndefined:()=>at,ZodUnion:()=>ut,ZodUnknown:()=>Pe,ZodVoid:()=>Ct,addIssueToContext:()=>_,any:()=>Sp,array:()=>Rp,bigint:()=>bp,boolean:()=>Wi,coerce:()=>Yp,custom:()=>Zi,date:()=>kp,datetimeRegex:()=>zi,defaultErrorMap:()=>Ce,discriminatedUnion:()=>Cp,effect:()=>zp,enum:()=>Hp,function:()=>Lp,getErrorMap:()=>Rt,getParsedType:()=>xe,instanceof:()=>gp,intersection:()=>Ip,isAborted:()=>er,isAsync:()=>At,isDirty:()=>tr,isValid:()=>Be,late:()=>hp,lazy:()=>Fp,literal:()=>jp,makeIssue:()=>dn,map:()=>Dp,nan:()=>yp,nativeEnum:()=>Bp,never:()=>Ep,null:()=>xp,nullable:()=>Zp,number:()=>Ki,object:()=>Ap,objectUtil:()=>bs,oboolean:()=>qp,onumber:()=>Vp,optional:()=>Jp,ostring:()=>Wp,pipeline:()=>Kp,preprocess:()=>Gp,promise:()=>Up,quotelessJson:()=>zd,record:()=>Np,set:()=>Mp,setErrorMap:()=>Zd,strictObject:()=>$p,string:()=>Gi,symbol:()=>_p,transformer:()=>zp,tuple:()=>Pp,undefined:()=>wp,union:()=>Op,unknown:()=>vp,util:()=>L,void:()=>Tp});var Ss=b(()=>{Qn();_s();Li();fn();Vi();Xn()});var bt=b(()=>{Ss();Ss()});var Ze,hn=b(()=>{"use strict";bt();Ze=h.object({slug:h.string().min(1).max(64),description:h.string().max(255).optional(),match_command:h.string().min(1),priority:h.number().int().default(50),strip_ansi:h.boolean().default(!1),strip_lines_matching:h.array(h.string()).default([]),keep_failures:h.boolean().default(!1),strip_on_failure:h.boolean().default(!1),fold_passing:h.boolean().default(!1),fold_passing_threshold:h.number().int().positive().max(1e3).optional(),mask_abs_paths:h.boolean().default(!1),preserve_exact:h.boolean().default(!1),truncate_lines_at:h.number().int().positive().max(1e4).optional(),max_lines:h.number().int().positive().max(1e5).optional(),scale_with_level:h.boolean().default(!0),transform:h.string().max(64).optional(),on_empty:h.string().max(255).optional()})});var Qi={};cn(Qi,{OutputVerbosity:()=>Yi,ReducerLevel:()=>Xi,Settings:()=>Dt,slugKey:()=>le});import{createHash as Qp}from"node:crypto";function le(e){let t=qi.get(e);return t||(t=Qp("sha256").update(`tkr:${e}`).digest("hex").slice(0,16),qi.set(e,t)),t}var Yi,Xi,Dt,qi,Ge=b(()=>{"use strict";bt();Yi=h.enum(["normal","compact","minimal"]),Xi=h.enum(["off","light","balanced","max"]),Dt=h.object({enabled:h.boolean().default(!0),telemetryOptIn:h.boolean().default(!0),outputVerbosity:Yi.default("compact"),reducer:Xi.default("off"),filters:h.object({enableAll:h.boolean().default(!0),disabled:h.array(h.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),qi=new Map});function Mt(e,t,n,r=t){let s=ea.get(r);s||(s=new Map,ea.set(r,s));let o=JSON.stringify([e,n?[...n].sort():null]),i=s.get(o);if(i!==void 0)return i;let a=null;for(let l of t)n&&!n.has(le(l.slug))||l.matchRegex.test(e)&&(!a||l.priority>a.priority)&&(a=l);if(s.size>=em){let l=s.keys().next().value;l&&s.delete(l)}return s.set(o,a),a}var ea,em,or=b(()=>{"use strict";Ge();ea=new WeakMap,em=256});import tm from"node:os";import{join as gn}from"node:path";function x(){return process.env.TOKMIZER_HOME||gn(tm.homedir(),".tokmizer")}function yn(){return gn(x(),"install-id")}function vs(){return gn(x(),"content-cache")}function ta(){return gn(x(),"restore.json")}function Es(e){return gn(vs(),e)}var B=b(()=>{"use strict"});import{join as nm}from"node:path";import{mkdir as uE,readFile as rm,writeFile as cE,unlink as fE,rename as dE}from"node:fs/promises";function om(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e&&e.length>0?e:"Etc/UTC"}catch{return"Etc/UTC"}}function im(e){return e?.dir??x()}async function kt(e){let t=im(e);try{let n=await rm(nm(t,sm),"utf8"),r=JSON.parse(n),s=r.timeZone;return{...r,lastSettingsRevision:r.lastSettingsRevision??0,get timeZone(){return s??=om()},bonusActive:r.bonusActive??!1,...r.bonusResetAt!==void 0?{bonusResetAt:r.bonusResetAt}:{}}}catch{return null}}var sm,bn=b(()=>{"use strict";B();sm="state.json"});import{createRequire as am}from"node:module";function um(){let e="0.9.67";if(e)return e;for(let t of["../package.json","../../package.json"])try{let n=lm(t).version;if(typeof n=="string"&&n)return n}catch{}return"0.0.0"}function na(e,t){if(!e||!t)return!1;let n=e.split(".").map(s=>parseInt(s,10)),r=t.split(".").map(s=>parseInt(s,10));for(let s=0;s<3;s+=1){let o=n[s]??0,i=r[s]??0;if(Number.isNaN(o)||Number.isNaN(i))return!1;if(o<i)return!0;if(o>i)return!1}return!1}var lm,me,Lt=b(()=>{"use strict";lm=am(import.meta.url);me=um()});var ra,sa=b(()=>{"use strict";ra=`-----BEGIN PUBLIC KEY-----
4
4
  MCowBQYDK2VwAyEAj/kMlXlhTIGHRKxOKMuGFa1S1ybxxwgdYcAE0YM9fgU=
5
5
  -----END PUBLIC KEY-----
6
- `});import{existsSync as nm,mkdirSync as aE,rmSync as lE,writeFileSync as uE}from"node:fs";import{join as rm}from"node:path";function om(){return rm(x(),"network-off")}function im(){let e=process.env.TOKMIZER_NETWORK;return e!==void 0&&sm.has(e.trim().toLowerCase())}function bn(){return im()?!1:!nm(om())}var sm,dE,kn=b(()=>{"use strict";B();sm=new Set(["0","off","false","no"]),dE=["Tokmizer contacts tokmizer.com to keep its rules up to date and to improve the product. No account or email is needed.","It sends a random install ID, your computer name, OS and CPU model, a hash of your network card address and of your user name, and the plugin version. Command contents and output are never sent.","Usage stats (command names, token counts and install health counts) are sent only while they are on. Check with: tkr telemetry status.","Turn all network access off: tkr network off. Usage stats only: tkr telemetry off."].join(`
7
- `)});function ra(){return ta.replace(/\\n/g,`
8
- `)}var bE,kE,xs=b(()=>{"use strict";Dt();na();kn();bE=300*1e3,kE=120*1e3});import{createCipheriv as xE,createDecipheriv as am,hkdfSync as lm,randomBytes as SE}from"node:crypto";function fm(e){return Buffer.from(lm("sha256",Buffer.from(e,"utf8"),um,cm,32))}function rr(e,t){let n=fm(t),r=Buffer.from(e,"base64url"),s=r.subarray(0,12),o=r.subarray(12,28),i=r.subarray(28),a=am("aes-256-gcm",n,s);return a.setAuthTag(o),Buffer.concat([a.update(i),a.final()]).toString("utf8")}var um,cm,Ss=b(()=>{"use strict";um=Buffer.from("tokmizer-bundle-enc-v1"),cm=Buffer.from("rules-bundle")});import{chmodSync as TE,readFileSync as dm,writeFileSync as RE,mkdirSync as AE,renameSync as $E}from"node:fs";import{join as pm}from"node:path";function hm(){return pm(x(),"bundle-cache.json")}function sa(){try{let e=dm(hm(),"utf8"),t=mm.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}var mm,oa=b(()=>{"use strict";gt();B();mm=h.object({payload:h.string().min(1),signature:h.string().min(1),enc:h.literal("v1"),fetchedAt:h.number().int().nonnegative()})});import{createPublicKey as ym,verify as bm}from"node:crypto";function Es(){let e=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(e)&&e>0?e:km}function _m(e,t){let n=ra();if(!n||!n.includes("BEGIN PUBLIC KEY"))throw new Error("tkr-daemon: no valid signing public key configured (set TOKMIZER_RESP_SIGNING_PUBLIC_KEY_PEM at build time).");let r=ym({key:n,format:"pem"});if(!bm(null,Buffer.from(e.payload,"utf8"),r,Buffer.from(e.signature,"base64url")))throw new Error("tkr-daemon: rules bundle signature invalid");return JSON.parse(rr(e.payload,t))}function wm(e,t){let n=_m(e,t),r=vs.parse(n);if(Date.now()-r.signedAt>Es())throw new Error("tkr-daemon: rules bundle is stale");return Ts(r,{signedAt:r.signedAt,fetchedAt:Date.now()})}function Ts(e,t){let n=new Map;for(let r of e.filters)n.set(r.slug,{...r,matchRegex:new RegExp(r.match_command)});return{bundleVersion:e.bundleVersion,signedAt:t.signedAt,ruleCount:n.size,startedAt:Date.now(),fetchedAt:t.fetchedAt,selectFor:(r,s,o)=>Nt(r,n.values(),o?new Set(o):null,n)}}async function sr(){try{let e=sa();if(!e)return null;let t=await yt();return t?.signingSecret?wm(e,t.signingSecret):null}catch{return null}}var vs,zE,km,_n=b(()=>{"use strict";gt();mn();nr();yn();xs();Ss();oa();vs=h.object({bundleVersion:h.number().int().nonnegative(),signedAt:h.number().int(),filters:h.array(Ze)}),zE=h.object({payload:h.string().min(1),signature:h.string().min(1),enc:h.literal("v1")}),km=10080*60*1e3});function xm(e,t){let n=e.slice(0,t).split(/\r?\n/);return[n.length,n.pop().length+1]}function Sm(e,t,n){let r=e.split(/\r?\n/),s="",o=(Math.log10(t+1)|0)+1;for(let i=t-1;i<=t+1;i++){let a=r[i-1];a&&(s+=i.toString().padEnd(o," "),s+=": ",s+=a,s+=`
6
+ `});import{existsSync as cm,mkdirSync as kE,rmSync as _E,writeFileSync as wE}from"node:fs";import{join as oa}from"node:path";function pm(){return oa(x(),"network-off")}function mm(){let e=process.env.TOKMIZER_NETWORK;return e!==void 0&&fm.has(e.trim().toLowerCase())}function kn(){return mm()?!1:!cm(pm())}function ia(){return oa(x(),dm)}var fm,dm,vE,_n=b(()=>{"use strict";B();fm=new Set(["0","off","false","no"]),dm="network-notice-shown",vE=["Tokmizer contacts tokmizer.com to keep its rules up to date and to improve the product. No account or email is needed.","It sends a random install ID, your computer name, OS and CPU model, a hash of your network card address and of your user name, and the plugin version. Command contents and output are never sent.","Usage stats (command names, token counts and install health counts) are sent only while they are on. Check with: tkr telemetry status.","Turn all network access off: tkr network off. Usage stats only: tkr telemetry off."].join(`
7
+ `)});function aa(){return ra.replace(/\\n/g,`
8
+ `)}var OE,CE,Ts=b(()=>{"use strict";Lt();sa();_n();OE=300*1e3,CE=120*1e3});import{createCipheriv as NE,createDecipheriv as hm,hkdfSync as gm,randomBytes as DE}from"node:crypto";function km(e){return Buffer.from(gm("sha256",Buffer.from(e,"utf8"),ym,bm,32))}function ir(e,t){let n=km(t),r=Buffer.from(e,"base64url"),s=r.subarray(0,12),o=r.subarray(12,28),i=r.subarray(28),a=hm("aes-256-gcm",n,s);return a.setAuthTag(o),Buffer.concat([a.update(i),a.final()]).toString("utf8")}var ym,bm,Rs=b(()=>{"use strict";ym=Buffer.from("tokmizer-bundle-enc-v1"),bm=Buffer.from("rules-bundle")});import{chmodSync as FE,readFileSync as _m,writeFileSync as jE,mkdirSync as HE,renameSync as BE}from"node:fs";import{join as wm}from"node:path";function Sm(){return wm(x(),"bundle-cache.json")}function la(){try{let e=_m(Sm(),"utf8"),t=xm.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}var xm,ua=b(()=>{"use strict";bt();B();xm=h.object({payload:h.string().min(1),signature:h.string().min(1),enc:h.literal("v1"),fetchedAt:h.number().int().nonnegative()})});import{createPublicKey as Em,verify as Tm}from"node:crypto";function $s(){let e=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(e)&&e>0?e:Rm}function Am(e,t){let n=aa();if(!n||!n.includes("BEGIN PUBLIC KEY"))throw new Error("tkr-daemon: no valid signing public key configured (set TOKMIZER_RESP_SIGNING_PUBLIC_KEY_PEM at build time).");let r=Em({key:n,format:"pem"});if(!Tm(null,Buffer.from(e.payload,"utf8"),r,Buffer.from(e.signature,"base64url")))throw new Error("tkr-daemon: rules bundle signature invalid");return JSON.parse(ir(e.payload,t))}function $m(e,t){let n=Am(e,t),r=As.parse(n);if(Date.now()-r.signedAt>$s())throw new Error("tkr-daemon: rules bundle is stale");return Os(r,{signedAt:r.signedAt,fetchedAt:Date.now()})}function Os(e,t){let n=new Map;for(let r of e.filters)n.set(r.slug,{...r,matchRegex:new RegExp(r.match_command)});return{bundleVersion:e.bundleVersion,signedAt:t.signedAt,ruleCount:n.size,startedAt:Date.now(),fetchedAt:t.fetchedAt,selectFor:(r,s,o)=>Mt(r,n.values(),o?new Set(o):null,n)}}async function ar(){try{let e=la();if(!e)return null;let t=await kt();return t?.signingSecret?$m(e,t.signingSecret):null}catch{return null}}var As,tT,Rm,wn=b(()=>{"use strict";bt();hn();or();bn();Ts();Rs();ua();As=h.object({bundleVersion:h.number().int().nonnegative(),signedAt:h.number().int(),filters:h.array(Ze)}),tT=h.object({payload:h.string().min(1),signature:h.string().min(1),enc:h.literal("v1")}),Rm=10080*60*1e3});function Om(e,t){let n=e.slice(0,t).split(/\r?\n/);return[n.length,n.pop().length+1]}function Cm(e,t,n){let r=e.split(/\r?\n/),s="",o=(Math.log10(t+1)|0)+1;for(let i=t-1;i<=t+1;i++){let a=r[i-1];a&&(s+=i.toString().padEnd(o," "),s+=": ",s+=a,s+=`
9
9
  `,i===t&&(s+=" ".repeat(o+n+2),s+=`^
10
- `))}return s}var A,bt=b(()=>{A=class e extends Error{line;column;codeblock;constructor(t,n){let[r,s]=xm(n.toml,n.ptr),o=Sm(n.toml,r,s);super(`Invalid TOML document: ${t}
10
+ `))}return s}var A,_t=b(()=>{A=class e extends Error{line;column;codeblock;constructor(t,n){let[r,s]=Om(n.toml,n.ptr),o=Cm(n.toml,r,s);super(`Invalid TOML document: ${t}
11
11
 
12
- ${o}`,n),this.line=r,this.column=s,this.codeblock=o}static x(t,n,r){throw new e(t,{toml:n.s,ptr:r??n.p})}}});function or(e){let t=e.p,n=e.s.charCodeAt(e.p++),r=n,s=n===39,o=n===e.s.charCodeAt(e.p)&&n===e.s.charCodeAt(e.p+1);o&&((n=e.s.charCodeAt(e.p+=2))===10?e.p++:n===13&&e.s.charCodeAt(e.p+1)===10&&(e.p+=2));let i="",a=e.p,l=0;for(;e.p<e.s.length;e.p++)if(n=e.s.charCodeAt(e.p),o&&(n===10||n===13&&e.s.charCodeAt(e.p+1)===10))l=l&&3;else if(n<32&&n!==9||n===127)A.x("control characters are not allowed in strings",e);else if((!l||l===3)&&n===r&&(!o||e.s.charCodeAt(e.p+1)===r&&e.s.charCodeAt(e.p+2)===r)){if(o&&(e.s.charCodeAt(e.p+3)===r&&e.p++,e.s.charCodeAt(e.p+3)===r&&e.p++),!l){let u=e.s.slice(a,e.p);i=i?i+u:u}return e.p+=o?3:1,i}else if(!l)!s&&n===92&&(i+=e.s.slice(a,a=e.p),l=1);else if(l===1)if(n===120||n===117||n===85){let u=e.p++-1,c=0,f=n===120?2:n===117?4:8;for(let d=0;d<f;d++,e.p++){let p=e.s.charCodeAt(e.p),m=p>=48&&p<=57?p-48:p>=65&&p<=70?p-65+10:p>=97&&p<=102?p-97+10:-1;m<0&&A.x("invalid non-hex character in unicode escape",e),c=c<<4|m}(c<0||c>1114111||c>=55296&&c<=57343)&&A.x("invalid unicode escape",e,u),i+=String.fromCodePoint(c),a=e.p--,l=0}else o&&(n===32||n===9)?l=2:(n===98?i+="\b":n===116?i+=" ":n===110?i+=`
13
- `:n===102?i+="\f":n===114?i+="\r":n===101?i+="\x1B":n===34?i+='"':n===92?i+="\\":A.x("unrecognised escape sequence",e),a=e.p+1,l=0);else n!==32&&n!==9&&(l===2&&A.x("invalid escape: only line-ending whitespace may be escaped",e,a),l=!s&&n===92?1:0,a=e.p);A.x("unfinished string",e,t)}var Rs=b(()=>{bt();});var vm,kt,As=b(()=>{vm=/^(\d{4}-\d{2}-\d{2})?[Tt ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|z|[-+]\d{2}:\d{2})?$/i,kt=class e extends Date{#t=!1;#n=!1;#e=null;constructor(t,n,r){let s=!0,o=!0,i="Z",a;if(typeof t=="string")if(n)e:{if(n<3){if(+t.slice(11,13)>23){t="";break e}n===2?(i=null,t+="Z"):(a=t.charCodeAt(t.length-1))!==90&&a!==122&&(i=t.slice(t.length-6)),r&&(t=t.slice(0,10)+"T"+t.slice(11))}else n===4&&(t=+t.slice(0,2)>23?"":`0000-01-01T${t}Z`);s=n!==4,o=n!==3}else{let l=t.match(vm);l?(l[1]||(s=!1,t=`0000-01-01T${t}`),o=!!l[2],o&&t[10]===" "&&(t=t.replace(" ","T")),l[2]&&+l[2]>23?t="":(i=l[3]||null,!i&&o&&(t+="Z"))):t=""}super(t),isNaN(this.getTime())||(this.#t=s,this.#n=o,this.#e=i)}isDateTime(){return this.#t&&this.#n}isLocal(){return!this.#t||!this.#n||!this.#e}isDate(){return this.#t&&!this.#n}isTime(){return this.#n&&!this.#t}isValid(){return this.#t||this.#n}toISOString(){let t=super.toISOString();if(this.isDate())return t.slice(0,10);if(this.isTime())return t.slice(11,23);if(this.#e===null)return t.slice(0,-1);if(this.#e==="Z"||this.#e==="z")return t;let n=+this.#e.slice(1,3)*60+ +this.#e.slice(4,6);return n=this.#e[0]==="-"?n:-n,new Date(this.getTime()-n*6e4).toISOString().slice(0,-1)+this.#e}static wrapAsOffsetDateTime(t,n="Z"){let r=new e(t);return r.#e=n,r}static wrapAsLocalDateTime(t){let n=new e(t);return n.#e=null,n}static wrapAsLocalDate(t){let n=new e(t);return n.#n=!1,n.#e=null,n}static wrapAsLocalTime(t){let n=new e(t);return n.#t=!1,n.#e=null,n}}});function ue(e,t=10){return t===16?e>47&&e<58||e>64&&e<71||e>96&&e<103:e>47&&e<48+t}function Os(e,t){return e===32||e===9||e===10||e===13||t&&(e===t||e===44)||e===35}function xn(e,t){let n=e.p,r=e.s.charCodeAt(e.p);if(r===91||r===123){e.d--||A.x("document contains excessively nested structures. aborting.",e);let s=r===91?la(e):aa(e);return e.d++,s}return r===34||r===39?or(e):r===116?((e.s.charCodeAt(++e.p)!==114||e.s.charCodeAt(++e.p)!==117||e.s.charCodeAt(++e.p)!==101)&&A.x("invalid value",e,n),e.p++,!0):r===102?((e.s.charCodeAt(++e.p)!==97||e.s.charCodeAt(++e.p)!==108||e.s.charCodeAt(++e.p)!==115||e.s.charCodeAt(++e.p)!==101)&&A.x("invalid value",e,n),e.p++,!1):r===43||r===45?ir(e,e.p,e.s.charCodeAt(++e.p),44-r,t):e.s.charCodeAt(e.p+4)===45&&e.s.charCodeAt(e.p+7)===45?Em(e,r,t):e.s.charCodeAt(e.p+2)===58?Tm(e,r,t):ir(e,e.p,r,0,t)}function ir(e,t,n,r,s){let o=n,i=0,a=!1;if(o===105)return(e.s.charCodeAt(++e.p)!==110||e.s.charCodeAt(++e.p)!==102)&&A.x("invalid value",e,t),e.p++,(r||1)/0;if(o===110)return(e.s.charCodeAt(++e.p)!==97||e.s.charCodeAt(++e.p)!==110)&&A.x("invalid value",e,t),e.p++,NaN;if(o===48){if(++e.p>=e.s.length||Os(o=e.s.charCodeAt(e.p),s))return e.bi===!0?0n:0;if(!r){if(o===120)return $s(e,t,16,s);if(o===98)return $s(e,t,2,s);if(o===111)return $s(e,t,8,s)}o===46?i=2:o===101||o===69?i=4:A.x("illegal leading zero",e,t)}else ue(o)||A.x("invalid value",e,t);for(;++e.p<e.s.length&&(o=e.s.charCodeAt(e.p),!Os(o,s));)i||(i=1),o===95?(i&1||A.x("illegal underscore",e),i+=11,a=!0):i===1&&o===46?i=2:(i===1||i===3)&&(o===101||o===69)?i=4:i===4&&(o===43||o===45)||(ue(o)?i>9?i-=11:i&1||i++:A.x("illegal character in numeric literal",e));if(!i){let u=(n-48)*(r||1);return e.bi===!0?BigInt(u):u}i&1||A.x("unfinished numeric value",e,t);let l=e.s.slice(t,e.p);return a&&(l=l.replaceAll("_","")),i>1?parseFloat(l):ia(e,l,10,t)}function $s(e,t,n,r){let s,o=1;for(;++e.p<e.s.length&&(s=e.s.charCodeAt(e.p),!Os(s,r));)s===95?(o&1&&A.x("illegal underscore",e),o=3):ue(s,n)?o&1&&o--:A.x("illegal character in numeric literal",e);o&1&&A.x("unfinished numeric value",e);let i=e.s.slice(t+2,e.p);return o&&(i=i.replaceAll("_","")),ia(e,i,n,t)}function ia(e,t,n,r){if(e.bi!==!0)e:{let s=parseInt(t,n);if(!Number.isSafeInteger(s)){if(e.bi)break e;A.x("integer value cannot be represented losslessly",e,r)}return s}return BigInt(n===10?t:(n===2?"0b":n===8?"0o":"0x")+t)}function Em(e,t,n){let r=e.p++,s;if(!ue(t)||!ue(e.s.charCodeAt(e.p++))||!ue(e.s.charCodeAt(e.p++))||!ue(e.s.charCodeAt(e.p++)))return ir(e,e.p=r,t,0,n);if(e.p+=5,ue(e.s.charCodeAt(e.p++))||A.x("invalid date-time: date part is malformed",e,r),e.p>=e.s.length||((t=e.s.charCodeAt(e.p))!==32||(s=!0,!ue(e.s.charCodeAt(e.p+1))))&&t!==84&&t!==116){let i=e.s.slice(r,e.p);return wn(e,i,3,!1,r)}if(e.s.charCodeAt(e.p+=3)!==58&&A.x("invalid date-time: time part is malformed",e,r),e.s.charCodeAt(e.p+=3)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;ue(e.s.charCodeAt(++e.p)););if(t=e.s.charCodeAt(e.p)){if(t===90||t===122){let i=e.s.slice(r,++e.p);return wn(e,i,1,s,r,"[+00:00]")}if(t===43||t===45){let i=e.s.slice(r,e.p+=6);return wn(e,i,1,s,r,!e.ld&&"["+e.s.slice(e.p-6,e.p)+"]")}}let o=e.s.slice(r,e.p);return wn(e,o,2,s,r)}function Tm(e,t,n){let r=e.p;if(!ue(t)||!ue(e.s.charCodeAt(++e.p)))return ir(e,--e.p,t,0,n);if(e.s.charCodeAt(e.p+=4)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;ue(e.s.charCodeAt(++e.p)););let s=e.s.slice(r,e.p);return wn(e,s,4,!1,r)}function wn(e,t,n,r,s,o){if(e.ld){let i=new kt(t,n,r);return i.isValid()||A.x("invalid date",e,s),i}try{switch(o&&(t+=o),n){case 1:return Temporal.ZonedDateTime.from(t);case 2:return Temporal.PlainDateTime.from(t);case 3:return Temporal.PlainDate.from(t);case 4:return Temporal.PlainTime.from(t)}}catch(i){A.x(i instanceof Error?i.message:""+i,e,s)}}var Cs=b(()=>{Rs();Is();bt();As();});function Rm(e){for(;e.p<e.s.length;e.p++){let t=e.s.charCodeAt(e.p);if(t===10)break;if(t===13&&e.s.charCodeAt(e.p+1)===10){e.p++;break}(t<32&&t!==9||t===127)&&A.x("control characters are not allowed in comments",e)}}function _e(e,t,n){let r;for(;e.p<e.s.length;){for(;e.p<e.s.length&&((r=e.s.charCodeAt(e.p))===32||r===9||!t&&(r===10||r===13&&e.s.charCodeAt(e.p+1)===10));)e.p++;if(n||r!==35)break;Rm(e)}}var Ps=b(()=>{bt();});function ar(e,t=61){let n,r=0,s=[],o,i=e.s.charCodeAt(n=e.p);do{if(i===t)return r||A.x("unexpected end of key",e),r===1&&s.push(e.s.slice(o,e.p)),e.p++,s;i===46?(r||A.x("illegal empty bare key",e),r===1&&s.push(e.s.slice(o,e.p)),r=0):!r&&(i===34||i===39)?(i===e.s.charCodeAt(e.p+1)&&i===e.s.charCodeAt(e.p+2)&&A.x("illegal quoted key: multiline strings are not allowed",e),s.push(or(e)),r=2,e.p--):i===32||i===9?r===1&&(s.push(e.s.slice(o,e.p)),r=2):r===2||i<48&&i!==45||i>57&&i<65||i>90&&i<97&&i!==95||i>122?A.x("illegal character in key",e):r||(r=1,o=e.p)}while(i=e.s.charCodeAt(++e.p));A.x("incomplete key-value: cannot find end of key",e,n)}function aa(e){let t=e.p++,n=Object.create(null),r=new Set,s;for(;e.p<e.s.length;){if(_e(e),(s=e.s.charCodeAt(e.p))===125)return e.p++,n;let o,i=n,a=!1,l=e.p,u=ar(e);for(let f=0;f<u.length;f++){f&&(i=a?i[o]:i[o]=Object.create(null)),o=u[f],(a=Object.hasOwn(i,o))&&(typeof i[o]!="object"||r.has(i[o]))&&A.x("trying to redefine an already defined value",e,l);let d=o==="__proto__";if(e.uk&&(d||o==="constructor")){i=e.uk!==1&&A.x("document contains an unsafe property",e,l);break}!a&&d&&Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0})}a&&A.x("trying to redefine an already defined value",e,l),_e(e,!0,!0);let c=xn(e,125);if(i&&typeof(i[o]=c)=="object"&&r.add(c),_e(e),(s=e.s.charCodeAt(e.p++))===125)return n;s!==44&&A.x("expected comma or end of structure",e,e.p-1)}A.x("unfinished table",e,t)}function la(e){let t=e.p++,n=[],r;for(;e.p<e.s.length;){if(_e(e),(r=e.s.charCodeAt(e.p))===93)return e.p++,n;if(n.push(xn(e,93)),_e(e),(r=e.s.charCodeAt(e.p++))===93)return n;r!==44&&A.x("expected comma or end of structure",e,e.p-1)}A.x("unfinished array",e,t)}var Is=b(()=>{Rs();Cs();Ps();bt();});function ua(e,t,n,r,s){let o=n,i=r,a,l=!1,u;for(let c=0;c<t.length;c++){if(c){if(o=l?o[a]:o[a]=Object.create(null),i=(u=i[a]).c,s===0&&(u.t===1||u.t===2))return null;if(u.t===2){let f=o.length-1;o=o[f],i=i[f].c}}if(a=t[c],(l=Object.hasOwn(o,a))&&i[a]?.t===0&&i[a]?.d)return null;if(!l){let f=a==="__proto__";if(e.uk&&(f||a==="constructor"))return!1;f&&(Object.defineProperty(o,a,{enumerable:!0,configurable:!0,writable:!0}),Object.defineProperty(i,a,{enumerable:!0,configurable:!0,writable:!0})),i[a]={t:c<t.length-1&&s===2?3:s,d:!1,i:0,c:Object.create(null)}}}if(u=i[a],u.t!==s&&!(s===1&&u.t===3)||(s===2&&(u.d||(u.d=!0,o[a]=[]),o[a].push(o=Object.create(null)),u.c[u.i++]=u={t:1,d:!1,i:0,c:Object.create(null)}),u.d))return null;if(u.d=!0,s===1)o=l?o[a]:o[a]=Object.create(null);else if(s===0&&l)return null;return[a,o,u.c]}function ca(e,t,n){(t===null||e.uk===2)&&A.x(t===null?"trying to redefine an already defined table or value":"document contains an unsafe property",e,n)}function Ns(e,t={}){let n={s:e,p:0,d:t.maxDepth??1e3,bi:t.integersAsBigInt??!1,ld:t.useLegacyDate??!0,uk:t.unsafeKeyBehaviour==="throw"?2:t.unsafeKeyBehaviour==="drop"?1:0},r=Object.create(null),s=Object.create(null),o,i=!1,a=r,l=s;for(e.charCodeAt(0)===65279&&n.p++,_e(n);n.p<e.length;){if(e.charCodeAt(n.p)===91){let u=e.charCodeAt(++n.p)===91;o=n.p+=+u,i=!1;let c=ar(n,93);u&&(e.charCodeAt(n.p)!==93&&A.x("expected end of table array declaration",n),n.p++);let f=ua(n,c,r,s,u?2:1);f?(l=f[2],a=f[1]):(ca(n,f,o),i=!0)}else{o=n.p;let u=ar(n),c=ua(n,u,a,l,0);!c&&!i&&ca(n,c,o),_e(n,!0,!0);let f=xn(n,void 0);c&&!i&&(c[1][c[0]]=f)}_e(n,!0),n.p<e.length&&(o=e.charCodeAt(n.p))!==10&&(o!==13||e.charCodeAt(n.p+1)!==10)&&A.x("each key-value declaration must be followed by an end-of-line",n),_e(n)}return r}var fa=b(()=>{Is();Cs();Ps();bt();});function Sn(e){let t=typeof e;if(t==="object"){if(Array.isArray(e))return"array";if(typeof e.getUTCDate=="function"&&e instanceof Date)return"date";if(globalThis.Temporal){if(e.until){if(e instanceof Temporal.ZonedDateTime)return"temporal/tz+uc";if(e instanceof Temporal.PlainDateTime||e instanceof Temporal.PlainDate)return"temporal/uc";if(e instanceof Temporal.PlainTime||e instanceof Temporal.Instant)return"temporal";if(e instanceof Temporal.PlainYearMonth)return"temporal/x"}else if(e.toPlainDate&&e instanceof Temporal.PlainMonthDay||e.negated&&e instanceof Temporal.Duration)return"temporal/x"}}return t}function $m(e){for(let t=0;t<e.length;t++)if(Sn(e[t])!=="object")return!1;return e.length!=0}function pa(e){return JSON.stringify(e).replaceAll("\x7F","\\u007f")}function Om(e){return pa(da?e.toWellFormed():e)}function ma(e){if(Am.test(e))return e;if(da&&!e.isWellFormed())throw new RangeError("key contains illegal lone surrogates");return pa(e)}function Ds(e,t,n,r,s){if(n===0)throw new Error("Could not stringify the object: maximum object depth exceeded");switch(t){case"number":if(isNaN(e))return"nan";if(e===1/0)return"inf";if(e===-1/0)return"-inf";if(Number.isInteger(e)&&(r||!Number.isSafeInteger(e)))return e.toFixed(1);case"bigint":case"boolean":case"temporal":return e.toString();case"string":return Om(e);case"date":if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString();case"object":return Cm(e,n,r,s);case"array":return Im(e,n,r,s);case"temporal/tz+uc":if(s){let o=e.timeZoneId,i=o.charCodeAt(0);if(i!==43&&i!==45&&(i!==85&&i!==71&&i!==90&&i!==69||o!=="UTC"&&o!=="UCT"&&o!=="Universal"&&o!=="Zulu"&&!o.startsWith("GMT")&&o!=="Greenwich"&&!o.startsWith("Etc/")))throw new TypeError("Temporal objects with an IANA timezone are not allowed in Temporal strict mode")}case"temporal/uc":if(s&&e.calendarId!=="iso8601")throw new TypeError("Temporal objects with a non-default calendar are not allowed in Temporal strict mode");return e.toString({calendarName:"never",timeZoneName:"never"});case"temporal/x":throw new TypeError("Unsupported "+e[Symbol.toStringTag])}}function Cm(e,t,n,r){let s=Object.keys(e);if(s.length===0)return"{}";let o="{ ";for(let i=0;i<s.length;i++){let a=s[i];i&&(o+=", "),o+=ma(a)+" = "+Ds(e[a],Sn(e[a]),t-1,n,r)}return o+" }"}function Im(e,t,n,r){if(e.length===0)return"[]";let s="[ ";for(let o=0;o<e.length;o++){if(o&&(s+=", "),e[o]===null||e[o]===void 0)throw new TypeError("arrays cannot contain null or undefined values");s+=Ds(e[o],Sn(e[o]),t-1,n,r)}return s+" ]"}function Pm(e,t,n,r,s){if(n===0)throw new Error("Could not stringify the object: maximum object depth exceeded");let o="";for(let i=0;i<e.length;i++)o+=`${o&&`
12
+ ${o}`,n),this.line=r,this.column=s,this.codeblock=o}static x(t,n,r){throw new e(t,{toml:n.s,ptr:r??n.p})}}});function lr(e){let t=e.p,n=e.s.charCodeAt(e.p++),r=n,s=n===39,o=n===e.s.charCodeAt(e.p)&&n===e.s.charCodeAt(e.p+1);o&&((n=e.s.charCodeAt(e.p+=2))===10?e.p++:n===13&&e.s.charCodeAt(e.p+1)===10&&(e.p+=2));let i="",a=e.p,l=0;for(;e.p<e.s.length;e.p++)if(n=e.s.charCodeAt(e.p),o&&(n===10||n===13&&e.s.charCodeAt(e.p+1)===10))l=l&&3;else if(n<32&&n!==9||n===127)A.x("control characters are not allowed in strings",e);else if((!l||l===3)&&n===r&&(!o||e.s.charCodeAt(e.p+1)===r&&e.s.charCodeAt(e.p+2)===r)){if(o&&(e.s.charCodeAt(e.p+3)===r&&e.p++,e.s.charCodeAt(e.p+3)===r&&e.p++),!l){let u=e.s.slice(a,e.p);i=i?i+u:u}return e.p+=o?3:1,i}else if(!l)!s&&n===92&&(i+=e.s.slice(a,a=e.p),l=1);else if(l===1)if(n===120||n===117||n===85){let u=e.p++-1,c=0,f=n===120?2:n===117?4:8;for(let d=0;d<f;d++,e.p++){let p=e.s.charCodeAt(e.p),m=p>=48&&p<=57?p-48:p>=65&&p<=70?p-65+10:p>=97&&p<=102?p-97+10:-1;m<0&&A.x("invalid non-hex character in unicode escape",e),c=c<<4|m}(c<0||c>1114111||c>=55296&&c<=57343)&&A.x("invalid unicode escape",e,u),i+=String.fromCodePoint(c),a=e.p--,l=0}else o&&(n===32||n===9)?l=2:(n===98?i+="\b":n===116?i+=" ":n===110?i+=`
13
+ `:n===102?i+="\f":n===114?i+="\r":n===101?i+="\x1B":n===34?i+='"':n===92?i+="\\":A.x("unrecognised escape sequence",e),a=e.p+1,l=0);else n!==32&&n!==9&&(l===2&&A.x("invalid escape: only line-ending whitespace may be escaped",e,a),l=!s&&n===92?1:0,a=e.p);A.x("unfinished string",e,t)}var Cs=b(()=>{_t();});var Im,wt,Is=b(()=>{Im=/^(\d{4}-\d{2}-\d{2})?[Tt ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|z|[-+]\d{2}:\d{2})?$/i,wt=class e extends Date{#t=!1;#n=!1;#e=null;constructor(t,n,r){let s=!0,o=!0,i="Z",a;if(typeof t=="string")if(n)e:{if(n<3){if(+t.slice(11,13)>23){t="";break e}n===2?(i=null,t+="Z"):(a=t.charCodeAt(t.length-1))!==90&&a!==122&&(i=t.slice(t.length-6)),r&&(t=t.slice(0,10)+"T"+t.slice(11))}else n===4&&(t=+t.slice(0,2)>23?"":`0000-01-01T${t}Z`);s=n!==4,o=n!==3}else{let l=t.match(Im);l?(l[1]||(s=!1,t=`0000-01-01T${t}`),o=!!l[2],o&&t[10]===" "&&(t=t.replace(" ","T")),l[2]&&+l[2]>23?t="":(i=l[3]||null,!i&&o&&(t+="Z"))):t=""}super(t),isNaN(this.getTime())||(this.#t=s,this.#n=o,this.#e=i)}isDateTime(){return this.#t&&this.#n}isLocal(){return!this.#t||!this.#n||!this.#e}isDate(){return this.#t&&!this.#n}isTime(){return this.#n&&!this.#t}isValid(){return this.#t||this.#n}toISOString(){let t=super.toISOString();if(this.isDate())return t.slice(0,10);if(this.isTime())return t.slice(11,23);if(this.#e===null)return t.slice(0,-1);if(this.#e==="Z"||this.#e==="z")return t;let n=+this.#e.slice(1,3)*60+ +this.#e.slice(4,6);return n=this.#e[0]==="-"?n:-n,new Date(this.getTime()-n*6e4).toISOString().slice(0,-1)+this.#e}static wrapAsOffsetDateTime(t,n="Z"){let r=new e(t);return r.#e=n,r}static wrapAsLocalDateTime(t){let n=new e(t);return n.#e=null,n}static wrapAsLocalDate(t){let n=new e(t);return n.#n=!1,n.#e=null,n}static wrapAsLocalTime(t){let n=new e(t);return n.#t=!1,n.#e=null,n}}});function ue(e,t=10){return t===16?e>47&&e<58||e>64&&e<71||e>96&&e<103:e>47&&e<48+t}function Ns(e,t){return e===32||e===9||e===10||e===13||t&&(e===t||e===44)||e===35}function Sn(e,t){let n=e.p,r=e.s.charCodeAt(e.p);if(r===91||r===123){e.d--||A.x("document contains excessively nested structures. aborting.",e);let s=r===91?da(e):fa(e);return e.d++,s}return r===34||r===39?lr(e):r===116?((e.s.charCodeAt(++e.p)!==114||e.s.charCodeAt(++e.p)!==117||e.s.charCodeAt(++e.p)!==101)&&A.x("invalid value",e,n),e.p++,!0):r===102?((e.s.charCodeAt(++e.p)!==97||e.s.charCodeAt(++e.p)!==108||e.s.charCodeAt(++e.p)!==115||e.s.charCodeAt(++e.p)!==101)&&A.x("invalid value",e,n),e.p++,!1):r===43||r===45?ur(e,e.p,e.s.charCodeAt(++e.p),44-r,t):e.s.charCodeAt(e.p+4)===45&&e.s.charCodeAt(e.p+7)===45?Pm(e,r,t):e.s.charCodeAt(e.p+2)===58?Nm(e,r,t):ur(e,e.p,r,0,t)}function ur(e,t,n,r,s){let o=n,i=0,a=!1;if(o===105)return(e.s.charCodeAt(++e.p)!==110||e.s.charCodeAt(++e.p)!==102)&&A.x("invalid value",e,t),e.p++,(r||1)/0;if(o===110)return(e.s.charCodeAt(++e.p)!==97||e.s.charCodeAt(++e.p)!==110)&&A.x("invalid value",e,t),e.p++,NaN;if(o===48){if(++e.p>=e.s.length||Ns(o=e.s.charCodeAt(e.p),s))return e.bi===!0?0n:0;if(!r){if(o===120)return Ps(e,t,16,s);if(o===98)return Ps(e,t,2,s);if(o===111)return Ps(e,t,8,s)}o===46?i=2:o===101||o===69?i=4:A.x("illegal leading zero",e,t)}else ue(o)||A.x("invalid value",e,t);for(;++e.p<e.s.length&&(o=e.s.charCodeAt(e.p),!Ns(o,s));)i||(i=1),o===95?(i&1||A.x("illegal underscore",e),i+=11,a=!0):i===1&&o===46?i=2:(i===1||i===3)&&(o===101||o===69)?i=4:i===4&&(o===43||o===45)||(ue(o)?i>9?i-=11:i&1||i++:A.x("illegal character in numeric literal",e));if(!i){let u=(n-48)*(r||1);return e.bi===!0?BigInt(u):u}i&1||A.x("unfinished numeric value",e,t);let l=e.s.slice(t,e.p);return a&&(l=l.replaceAll("_","")),i>1?parseFloat(l):ca(e,l,10,t)}function Ps(e,t,n,r){let s,o=1;for(;++e.p<e.s.length&&(s=e.s.charCodeAt(e.p),!Ns(s,r));)s===95?(o&1&&A.x("illegal underscore",e),o=3):ue(s,n)?o&1&&o--:A.x("illegal character in numeric literal",e);o&1&&A.x("unfinished numeric value",e);let i=e.s.slice(t+2,e.p);return o&&(i=i.replaceAll("_","")),ca(e,i,n,t)}function ca(e,t,n,r){if(e.bi!==!0)e:{let s=parseInt(t,n);if(!Number.isSafeInteger(s)){if(e.bi)break e;A.x("integer value cannot be represented losslessly",e,r)}return s}return BigInt(n===10?t:(n===2?"0b":n===8?"0o":"0x")+t)}function Pm(e,t,n){let r=e.p++,s;if(!ue(t)||!ue(e.s.charCodeAt(e.p++))||!ue(e.s.charCodeAt(e.p++))||!ue(e.s.charCodeAt(e.p++)))return ur(e,e.p=r,t,0,n);if(e.p+=5,ue(e.s.charCodeAt(e.p++))||A.x("invalid date-time: date part is malformed",e,r),e.p>=e.s.length||((t=e.s.charCodeAt(e.p))!==32||(s=!0,!ue(e.s.charCodeAt(e.p+1))))&&t!==84&&t!==116){let i=e.s.slice(r,e.p);return xn(e,i,3,!1,r)}if(e.s.charCodeAt(e.p+=3)!==58&&A.x("invalid date-time: time part is malformed",e,r),e.s.charCodeAt(e.p+=3)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;ue(e.s.charCodeAt(++e.p)););if(t=e.s.charCodeAt(e.p)){if(t===90||t===122){let i=e.s.slice(r,++e.p);return xn(e,i,1,s,r,"[+00:00]")}if(t===43||t===45){let i=e.s.slice(r,e.p+=6);return xn(e,i,1,s,r,!e.ld&&"["+e.s.slice(e.p-6,e.p)+"]")}}let o=e.s.slice(r,e.p);return xn(e,o,2,s,r)}function Nm(e,t,n){let r=e.p;if(!ue(t)||!ue(e.s.charCodeAt(++e.p)))return ur(e,--e.p,t,0,n);if(e.s.charCodeAt(e.p+=4)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;ue(e.s.charCodeAt(++e.p)););let s=e.s.slice(r,e.p);return xn(e,s,4,!1,r)}function xn(e,t,n,r,s,o){if(e.ld){let i=new wt(t,n,r);return i.isValid()||A.x("invalid date",e,s),i}try{switch(o&&(t+=o),n){case 1:return Temporal.ZonedDateTime.from(t);case 2:return Temporal.PlainDateTime.from(t);case 3:return Temporal.PlainDate.from(t);case 4:return Temporal.PlainTime.from(t)}}catch(i){A.x(i instanceof Error?i.message:""+i,e,s)}}var Ds=b(()=>{Cs();Ms();_t();Is();});function Dm(e){for(;e.p<e.s.length;e.p++){let t=e.s.charCodeAt(e.p);if(t===10)break;if(t===13&&e.s.charCodeAt(e.p+1)===10){e.p++;break}(t<32&&t!==9||t===127)&&A.x("control characters are not allowed in comments",e)}}function be(e,t,n){let r;for(;e.p<e.s.length;){for(;e.p<e.s.length&&((r=e.s.charCodeAt(e.p))===32||r===9||!t&&(r===10||r===13&&e.s.charCodeAt(e.p+1)===10));)e.p++;if(n||r!==35)break;Dm(e)}}var Ls=b(()=>{_t();});function cr(e,t=61){let n,r=0,s=[],o,i=e.s.charCodeAt(n=e.p);do{if(i===t)return r||A.x("unexpected end of key",e),r===1&&s.push(e.s.slice(o,e.p)),e.p++,s;i===46?(r||A.x("illegal empty bare key",e),r===1&&s.push(e.s.slice(o,e.p)),r=0):!r&&(i===34||i===39)?(i===e.s.charCodeAt(e.p+1)&&i===e.s.charCodeAt(e.p+2)&&A.x("illegal quoted key: multiline strings are not allowed",e),s.push(lr(e)),r=2,e.p--):i===32||i===9?r===1&&(s.push(e.s.slice(o,e.p)),r=2):r===2||i<48&&i!==45||i>57&&i<65||i>90&&i<97&&i!==95||i>122?A.x("illegal character in key",e):r||(r=1,o=e.p)}while(i=e.s.charCodeAt(++e.p));A.x("incomplete key-value: cannot find end of key",e,n)}function fa(e){let t=e.p++,n=Object.create(null),r=new Set,s;for(;e.p<e.s.length;){if(be(e),(s=e.s.charCodeAt(e.p))===125)return e.p++,n;let o,i=n,a=!1,l=e.p,u=cr(e);for(let f=0;f<u.length;f++){f&&(i=a?i[o]:i[o]=Object.create(null)),o=u[f],(a=Object.hasOwn(i,o))&&(typeof i[o]!="object"||r.has(i[o]))&&A.x("trying to redefine an already defined value",e,l);let d=o==="__proto__";if(e.uk&&(d||o==="constructor")){i=e.uk!==1&&A.x("document contains an unsafe property",e,l);break}!a&&d&&Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0})}a&&A.x("trying to redefine an already defined value",e,l),be(e,!0,!0);let c=Sn(e,125);if(i&&typeof(i[o]=c)=="object"&&r.add(c),be(e),(s=e.s.charCodeAt(e.p++))===125)return n;s!==44&&A.x("expected comma or end of structure",e,e.p-1)}A.x("unfinished table",e,t)}function da(e){let t=e.p++,n=[],r;for(;e.p<e.s.length;){if(be(e),(r=e.s.charCodeAt(e.p))===93)return e.p++,n;if(n.push(Sn(e,93)),be(e),(r=e.s.charCodeAt(e.p++))===93)return n;r!==44&&A.x("expected comma or end of structure",e,e.p-1)}A.x("unfinished array",e,t)}var Ms=b(()=>{Cs();Ds();Ls();_t();});function pa(e,t,n,r,s){let o=n,i=r,a,l=!1,u;for(let c=0;c<t.length;c++){if(c){if(o=l?o[a]:o[a]=Object.create(null),i=(u=i[a]).c,s===0&&(u.t===1||u.t===2))return null;if(u.t===2){let f=o.length-1;o=o[f],i=i[f].c}}if(a=t[c],(l=Object.hasOwn(o,a))&&i[a]?.t===0&&i[a]?.d)return null;if(!l){let f=a==="__proto__";if(e.uk&&(f||a==="constructor"))return!1;f&&(Object.defineProperty(o,a,{enumerable:!0,configurable:!0,writable:!0}),Object.defineProperty(i,a,{enumerable:!0,configurable:!0,writable:!0})),i[a]={t:c<t.length-1&&s===2?3:s,d:!1,i:0,c:Object.create(null)}}}if(u=i[a],u.t!==s&&!(s===1&&u.t===3)||(s===2&&(u.d||(u.d=!0,o[a]=[]),o[a].push(o=Object.create(null)),u.c[u.i++]=u={t:1,d:!1,i:0,c:Object.create(null)}),u.d))return null;if(u.d=!0,s===1)o=l?o[a]:o[a]=Object.create(null);else if(s===0&&l)return null;return[a,o,u.c]}function ma(e,t,n){(t===null||e.uk===2)&&A.x(t===null?"trying to redefine an already defined table or value":"document contains an unsafe property",e,n)}function vn(e,t={}){let n={s:e,p:0,d:t.maxDepth??1e3,bi:t.integersAsBigInt??!1,ld:t.useLegacyDate??!0,uk:t.unsafeKeyBehaviour==="throw"?2:t.unsafeKeyBehaviour==="drop"?1:0},r=Object.create(null),s=Object.create(null),o,i=!1,a=r,l=s;for(e.charCodeAt(0)===65279&&n.p++,be(n);n.p<e.length;){if(e.charCodeAt(n.p)===91){let u=e.charCodeAt(++n.p)===91;o=n.p+=+u,i=!1;let c=cr(n,93);u&&(e.charCodeAt(n.p)!==93&&A.x("expected end of table array declaration",n),n.p++);let f=pa(n,c,r,s,u?2:1);f?(l=f[2],a=f[1]):(ma(n,f,o),i=!0)}else{o=n.p;let u=cr(n),c=pa(n,u,a,l,0);!c&&!i&&ma(n,c,o),be(n,!0,!0);let f=Sn(n,void 0);c&&!i&&(c[1][c[0]]=f)}be(n,!0),n.p<e.length&&(o=e.charCodeAt(n.p))!==10&&(o!==13||e.charCodeAt(n.p+1)!==10)&&A.x("each key-value declaration must be followed by an end-of-line",n),be(n)}return r}var ha=b(()=>{Ms();Ds();Ls();_t();});function En(e){let t=typeof e;if(t==="object"){if(Array.isArray(e))return"array";if(typeof e.getUTCDate=="function"&&e instanceof Date)return"date";if(globalThis.Temporal){if(e.until){if(e instanceof Temporal.ZonedDateTime)return"temporal/tz+uc";if(e instanceof Temporal.PlainDateTime||e instanceof Temporal.PlainDate)return"temporal/uc";if(e instanceof Temporal.PlainTime||e instanceof Temporal.Instant)return"temporal";if(e instanceof Temporal.PlainYearMonth)return"temporal/x"}else if(e.toPlainDate&&e instanceof Temporal.PlainMonthDay||e.negated&&e instanceof Temporal.Duration)return"temporal/x"}}return t}function Lm(e){for(let t=0;t<e.length;t++)if(En(e[t])!=="object")return!1;return e.length!=0}function ya(e){return JSON.stringify(e).replaceAll("\x7F","\\u007f")}function Fm(e){return ya(ga?e.toWellFormed():e)}function ba(e){if(Mm.test(e))return e;if(ga&&!e.isWellFormed())throw new RangeError("key contains illegal lone surrogates");return ya(e)}function Fs(e,t,n,r,s){if(n===0)throw new Error("Could not stringify the object: maximum object depth exceeded");switch(t){case"number":if(isNaN(e))return"nan";if(e===1/0)return"inf";if(e===-1/0)return"-inf";if(Number.isInteger(e)&&(r||!Number.isSafeInteger(e)))return e.toFixed(1);case"bigint":case"boolean":case"temporal":return e.toString();case"string":return Fm(e);case"date":if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString();case"object":return jm(e,n,r,s);case"array":return Hm(e,n,r,s);case"temporal/tz+uc":if(s){let o=e.timeZoneId,i=o.charCodeAt(0);if(i!==43&&i!==45&&(i!==85&&i!==71&&i!==90&&i!==69||o!=="UTC"&&o!=="UCT"&&o!=="Universal"&&o!=="Zulu"&&!o.startsWith("GMT")&&o!=="Greenwich"&&!o.startsWith("Etc/")))throw new TypeError("Temporal objects with an IANA timezone are not allowed in Temporal strict mode")}case"temporal/uc":if(s&&e.calendarId!=="iso8601")throw new TypeError("Temporal objects with a non-default calendar are not allowed in Temporal strict mode");return e.toString({calendarName:"never",timeZoneName:"never"});case"temporal/x":throw new TypeError("Unsupported "+e[Symbol.toStringTag])}}function jm(e,t,n,r){let s=Object.keys(e);if(s.length===0)return"{}";let o="{ ";for(let i=0;i<s.length;i++){let a=s[i];i&&(o+=", "),o+=ba(a)+" = "+Fs(e[a],En(e[a]),t-1,n,r)}return o+" }"}function Hm(e,t,n,r){if(e.length===0)return"[]";let s="[ ";for(let o=0;o<e.length;o++){if(o&&(s+=", "),e[o]===null||e[o]===void 0)throw new TypeError("arrays cannot contain null or undefined values");s+=Fs(e[o],En(e[o]),t-1,n,r)}return s+" ]"}function Bm(e,t,n,r,s){if(n===0)throw new Error("Could not stringify the object: maximum object depth exceeded");let o="";for(let i=0;i<e.length;i++)o+=`${o&&`
14
14
  `}[[${t}]]
15
- `,o+=Ms(0,e[i],t,n,r,s);return o}function Ms(e,t,n,r,s,o){if(r===0)throw new Error("Could not stringify the object: maximum object depth exceeded");let i="",a="",l=Object.keys(t);for(let u=0;u<l.length;u++){let c=l[u];if(t[c]!==null&&t[c]!==void 0){let f=Sn(t[c]);if(f==="symbol"||f==="function")throw new TypeError(`cannot serialize values of type '${f}'`);let d=ma(c);if(f==="array"&&$m(t[c]))a+=(a&&`
16
- `)+Pm(t[c],n?`${n}.${d}`:d,r-1,s,o);else if(f==="object"){let p=n?`${n}.${d}`:d;a+=(a&&`
17
- `)+Ms(p,t[c],p,r-1,s,o)}else i+=d,i+=" = ",i+=Ds(t[c],f,r,s,o),i+=`
15
+ `,o+=js(0,e[i],t,n,r,s);return o}function js(e,t,n,r,s,o){if(r===0)throw new Error("Could not stringify the object: maximum object depth exceeded");let i="",a="",l=Object.keys(t);for(let u=0;u<l.length;u++){let c=l[u];if(t[c]!==null&&t[c]!==void 0){let f=En(t[c]);if(f==="symbol"||f==="function")throw new TypeError(`cannot serialize values of type '${f}'`);let d=ba(c);if(f==="array"&&Lm(t[c]))a+=(a&&`
16
+ `)+Bm(t[c],n?`${n}.${d}`:d,r-1,s,o);else if(f==="object"){let p=n?`${n}.${d}`:d;a+=(a&&`
17
+ `)+js(p,t[c],p,r-1,s,o)}else i+=d,i+=" = ",i+=Fs(t[c],f,r,s,o),i+=`
18
18
  `}}return e&&(i||!a)&&(i=i?`[${e}]
19
19
  ${i}`:`[${e}]`),i&&a?`${i}
20
- ${a}`:i||a}function Fs(e,{maxDepth:t=1e3,numbersAsFloat:n=!1,strictTemporal:r=!1}={}){if(Sn(e)!=="object")throw new TypeError("stringify can only be called with an object");let s=Ms(0,e,"",t,n,r);return s[s.length-1]!==`
20
+ ${a}`:i||a}function Hs(e,{maxDepth:t=1e3,numbersAsFloat:n=!1,strictTemporal:r=!1}={}){if(En(e)!=="object")throw new TypeError("stringify can only be called with an object");let s=js(0,e,"",t,n,r);return s[s.length-1]!==`
21
21
  `?s+`
22
- `:s}var Am,da,ha=b(()=>{Am=/^[a-z0-9-_]+$/i,da=!!"".isWellFormed});var Ls={};un(Ls,{TomlDate:()=>kt,TomlError:()=>A,default:()=>Nm,parse:()=>Ns,stringify:()=>Fs});var Nm,js=b(()=>{fa();ha();As();bt();Nm={parse:Ns,stringify:Fs,TomlDate:kt,TomlError:A}});import{readdir as Dm,readFile as Mm}from"node:fs/promises";import{join as ya,dirname as Fm}from"node:path";import{fileURLToPath as Lm}from"node:url";function Bm(){return!1}async function ba(){return Mt||(Bm()?(Mt=await Um(Hm),Mt):(!ga&&process.env.TOKMIZER_DEBUG==="1"&&(process.stderr.write(`tokmizer: disk loader disabled (set TOKMIZER_DEV=1 to re-enable for local dev).
23
- `),ga=!0),Mt=new Map,Mt))}async function Um(e){let t=new Map,n,r;try{n=(await Promise.resolve().then(()=>(js(),Ls))).parse,r=(await Dm(e)).filter(s=>s.endsWith(".toml"))}catch{return t}for(let s of r){let o=await Mm(ya(e,s),"utf8"),a=n(o).filters;if(a)for(let[l,u]of Object.entries(a)){let c=Ze.parse({slug:l,...u});t.set(l,{...c,matchRegex:new RegExp(c.match_command)})}}return t}var jm,Hm,Mt,ga,ka=b(()=>{"use strict";mn();jm=Fm(Lm(import.meta.url)),Hm=process.env.TOKMIZER_FILTERS_DIR||ya(jm,"..","..","filters"),Mt=null,ga=!1});function Re(e){return e.replace(zm,"").replace(Jm,"")}var zm,Jm,vn=b(()=>{"use strict";zm=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,Jm=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g});function _a(e,t){return t.length===0?e:e.filter(n=>!t.some(r=>r.test(n)))}var wa=b(()=>{"use strict"});function xa(e,t){return e.map(n=>{if(n.length<=t)return n;let r=n.charCodeAt(t-1),s=n.charCodeAt(t),o=r>=55296&&r<=56319&&s>=56320&&s<=57343?t-1:t;return`${n.slice(0,o)}\u2026`})}var Sa=b(()=>{"use strict"});function Ft(e){return`\u2026 (${e} more lines omitted)`}function va(e,t){if(e.length<=t)return{kept:e,dropped:[]};let n=Math.ceil(t*.7),r=t-n,s=e.slice(n,e.length-r);return{kept:[...e.slice(0,n),Ft(s.length),...e.slice(e.length-r)],dropped:s}}var Hs=b(()=>{"use strict"});function Ea(e,t){let n=t>0?t:5,r=[],s=0,o=a=>{s>=n?r.push(`\u2026 ${s} passing checks folded \u2026`):r.push(...a)},i=[];for(let a of e)Zm.test(a)&&!Ke.test(a)?(i.push(a),s+=1):(o(i),i=[],s=0,r.push(a));return o(i),r}var Zm,Ke,Bs=b(()=>{"use strict";Zm=/^\s*(?:[✓✔√]|ok )/,Ke=/✕|✗|×|\bFAIL\b|\bERROR\b|\bFATAL\b|\bError|\berror|Expected|Received|\bfailed\b|^\s*Tests?:|^\s*Test Suites?:/});function Ta(e){return e.map(t=>t.replace(Gm,n=>{let r=n.split("/").filter(Boolean);return r.length<=2?n:`\u2026/${r.slice(-2).join("/")}`}))}var Gm,Ra=b(()=>{"use strict";Gm=/(?:\/[\w.@+-]+){3,}/g});function qm(e){let t=Vm.exec(e);return!t||Ym.has(t[1])?!1:!/=>|\bfunction\b/.test(t[2])}function Qm(e,t,n){let r=t;for(;r<e.length;){if(e[r]==="\\"){r+=2;continue}if(e[r]===n)return!0;r+=1}return!1}function eh(e,t){let n=0,r=null,s=0;for(;s<e.length;){let o=e[s];if(t.inBlockComment){if(o==="*"&&e[s+1]==="/"){t.inBlockComment=!1,s+=2;continue}s+=1;continue}if(t.inTemplate){if(o==="\\"){s+=2;continue}o==="`"&&(t.inTemplate=!1),s+=1;continue}if(r){if(o==="\\"){s+=2;continue}o===r&&(r=null),s+=1;continue}if(o==="/"&&e[s+1]==="/")break;if(o==="/"&&e[s+1]==="*"){t.inBlockComment=!0,s+=2;continue}if(o==="`"){t.inTemplate=!0,s+=1;continue}if(o==="'"||o==='"'){let i=s>0?e[s-1]:"";!(o==="'"&&(i==="<"||i==="&"))&&Qm(e,s+1,o)&&(r=o),s+=1;continue}o==="{"||o==="("||o==="["?n+=1:(o==="}"||o===")"||o==="]")&&(n-=1),s+=1}return n}function nh(e,t,n){let r=n==null?"":` (${n}-${n+t-1}): Read offset=${n} limit=${t} before editing`;return`${e}\u2026 ${t} ${t===1?"line":"lines"} folded${r} \u2026`}function Us(e){let t=new Array(e.length).fill(!1);for(let n=0;n<e.length;n+=1){let r=th.exec(e[n]);if(!r)continue;let s=Number(r[1])-1,o=n+1;for(;s>0&&o<e.length&&e[o]==="";)t[o]=!0,s-=1,o+=1;n=o-1}return t}function En(e,t=3,n=!1){let r=[],s=0;for(;s<e.length;){let o=e[s];if(Km.test(o)&&Wm.test(o)||qm(o)||Xm.test(o)){let i={inBlockComment:!1,inTemplate:!1},a=0,l=s,u=!1;for(;l<e.length&&l-s<200;)if(a+=eh(e[l],i),l+=1,a<=0&&!i.inTemplate&&!i.inBlockComment){u=!0;break}let c=l-s;if(u&&c<t){r.push(...e.slice(s,l)),s=l;continue}if(u&&c>=3){let f=c-2,d=/^\s*/.exec(e[s+1]??"")?.[0]??" ";r.push(o),r.push(nh(d,f,n?s+2:null));for(let p=0;p<f-1;p++)r.push("");r.push(e[l-1]),s=l;continue}}r.push(o),s+=1}return r}function ur(e){let t=e.slice(0,4096);return!(!rh.test(t)||t.split(`
24
- `).length<6)}var Km,Wm,Vm,Ym,Xm,lr,th,rh,Lt=b(()=>{"use strict";Km=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,Wm=/\{\s*$/,Vm=/^\s*(?:(?:public|private|protected|static|async|get|set|readonly|override)\s+)*([\w$]+)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\{\s*$/,Ym=new Set(["if","for","while","switch","catch","do","with","return","else","function","await","yield"]);Xm=/^\s*(?:if|for|while|switch|try|do)\b[^{}]*\{\s*$/;lr=/^\s*… \d+ lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/,th=/^\s*… (\d+) lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/;rh=/\b(?:function|class|interface|import\s+|export\s+|def\s+|fn\s+|impl\s+|package\s+|namespace\s+|using\s+|#include|=>\s*\{|=\s*function)/});function Da(e){let t=[],n=0,r=()=>{n>0&&t.push(`\u2026 ${n} verbose log line${n===1?"":"s"} dropped \u2026`),n=0};for(let s of e){if(Ia.test(s.replace(Ca,""))&&!Pa.test(s)&&!Na.test(s)){n+=1;continue}r(),t.push(s)}return r(),t}function Oa(e){if(e.trim()===""||/^\s/.test(e)||Pa.test(e)||Na.test(e)||oh.test(e))return null;let t=e.replace(Ca,"");return Ia.test(t)||sh.test(t)?"\0verbose":e.replace(/\d+/g,"#")}function Ma(e){let t=[],n=0;for(;n<e.length;){let r=Oa(e[n]),s=n+1;if(r!==null)for(;s<e.length&&Oa(e[s])===r;)s+=1;let o=s-n;r===null||o<ih?t.push(...e.slice(n,s)):(t.push(...e.slice(n,n+Aa)),t.push(`\u2026 ${o-Aa-$a} similar log lines dropped \u2026`),t.push(...e.slice(s-$a,s))),n=s}return t}function cr(e){if(e.length===0)return e;let t=[],n=1,r=e[0];for(let s=1;s<e.length;s++){if(e[s]===r){n+=1;continue}t.push(n>1&&r.trim()?`${r} \xD7${n}`:r),r=e[s],n=1}return t.push(n>1&&r.trim()?`${r} \xD7${n}`:r),t}function Fa(e){let t=[],n=0;for(let r of e){if(r.trim()===""){n+=1;continue}n>0&&t.push(""),n=0,t.push(r)}return t}var Ca,Ia,Pa,Na,sh,oh,ih,Aa,$a,fr=b(()=>{"use strict";Bs();Ca=/^\s*(?:\d{4}-\d{2}-\d{2}[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?Z?|\d{2}:\d{2}:\d{2}(?:\.\d+)?)\s*/,Ia=/^\s*(?:\[(?:DEBUG|TRACE|INFO|VERBOSE)\]|(?:DEBUG|TRACE|INFO|VERBOSE)(?!\s*:))(?=\s|:|$)(?!\s*[+\-*\/%&|^?]*=)/,Pa=new RegExp(Ke.source,"i"),Na=/\bWARN(?:ING)?\b/i;sh=/^(?:DEBUG|INFO):[\w.-]+:/,oh=/Error|Exception|Traceback|panic|fail|FAIL|Fail|SEVERE|CRITICAL/,ih=8,Aa=1,$a=2});function ne(e,t){La.set(e,t)}function ja(e){return La.get(e)}var La,Me=b(()=>{"use strict";La=new Map});function dh(e){if(e<1024)return String(e);let t=["K","M","G","T"],n=e/1024,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r+=1;return`${n.toFixed(1)}${t[r]}`}function ph(e){let t=/^(\d+(?:[.,]\d+)?)([KMGTPkmgtp])?/.exec(e),n=t[2]?fh[t[2].toLowerCase()]:0;return Number(t[1].replace(",","."))*1024**n}function mh(e){let t=ch.exec(e);if(!t)return null;let n=t[4].trim();if(n===""||n==="."||n==="..")return null;let r=t[3],s=/^\d+$/.test(r)?dh(Number(r)):r,o=e.charCodeAt(0)===100;return{name:n,size:s,sizeKey:ph(r),isDir:o,mode:t[1],owner:t[2].replace(/\s+/g," ")}}function hh(e){if(e.length<3)return null;let t=new Map;for(let s of e){let o=s.name.lastIndexOf(".");if(o<=0)continue;let i=s.name.slice(o);t.set(i,(t.get(i)??0)+1)}let n=null,r=0;for(let[s,o]of t)o>r&&(r=o,n=s);return n&&r>=Math.ceil(e.length/2)?`${r} ${n}`:null}function gh(e){let t=[],n=[],r=!1;for(let d of e){if(d.trim()===""||/^total\s+\d+/.test(d))continue;if(lh.test(d.trim())||!ah.test(d))return e;let p=mh(d);if(!p){if(/\s\.\.?$/.test(d))continue;return e}r=!0,(p.isDir?t:n).push(p)}if(!r)return e;let s=(d,p)=>d.name.localeCompare(p.name);t.sort(s),n.sort((d,p)=>p.sizeKey-d.sizeKey||s(d,p));let o=[...t,...n],i=o.every(d=>d.owner===o[0].owner)?o[0].owner:null,a=[];for(let d of o){let p=`${d.mode} ${i===null?`${d.owner} `:""}${d.isDir?`${d.name}/`:d.name}`;a.push(d.isDir?p:`${p} ${d.size}`)}if(a.length>zs){let d=a.length-zs;a=[...a.slice(0,zs),`\u2026 ${d} more lines omitted`]}let l=n.length===1?"file":"files",u=t.length===1?"dir":"dirs",c=hh(n),f=`${n.length} ${l}, ${t.length} ${u}`+(c?` (${c})`:"")+(i===null?"":`, owner ${i.replace(" ",":")}`);return a.push(f),a}var ah,lh,uh,ch,fh,zs,Ha=b(()=>{"use strict";Me();ah=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/,lh=/^[./~][^\s]*:$/,uh=String.raw`(?:[^\s\d]{3,}\s+\d{1,2}|\d{1,2}\s+[^\s\d]{3,})\s+(?:\d{1,2}:\d{2}|\d{4})|\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:\s+[+-]\d{4})?`,ch=new RegExp(String.raw`^(\S+)\s+\d+\s+(\S+(?:\s+\S+)??)\s+(\d+(?:[.,]\d+)?[KMGTPkmgtp]?i?B?)\s+(?:${uh})\s+(.+)$`),fh={k:1,m:2,g:3,t:4,p:5},zs=1e3;ne("smart-ls",gh)});var Ba=b(()=>{"use strict";Lt();Me();ne("smart-read",e=>En(e))});function yh(e){let t=e[0].split("/");for(let n of e.slice(1)){let r=n.split("/"),s=0;for(;s<t.length&&s<r.length&&t[s]===r[s];)s+=1;if(t=t.slice(0,s),t.length===0)break}return t.join("/")}function bh(e){if(e.length<2||e.some(s=>s.startsWith('"')))return"";let t=e[0];for(let s of e.slice(1)){let o=0;for(;o<t.length&&o<s.length&&t[t.length-1-o]===s[s.length-1-o];)o+=1;if(t=t.slice(t.length-o),!t)return""}let n=t.indexOf("."),r=n<0?"":t.slice(n);return r.length>=3&&e.every(s=>s.length>r.length)?r:""}function kh(e){let t=e.filter(u=>u.trim()!=="");if(t.length===0||t.filter(u=>!/\s/.test(u.trim())).length<t.length*.6)return e;let r=new Map,s=[],o=0;for(let u of t){let c=u.trim();if(c.startsWith("find:")){s.push(c);continue}let f=c.replace(/^\.\//,"").replace(/\/+$/,""),d=f.lastIndexOf("/"),p=d>=0?f.slice(0,d):"",m=d>=0?f.slice(d+1):f;if(!m)continue;let k=r.get(p)??[];k.push(/\s/.test(m)?`"${m}"`:m),r.set(p,k),o+=1}if(o===0)return e;let i=[...r.keys()].sort(),a=i.every(u=>u!=="")?yh(i):"",l=[`${o}F ${i.length}D${a?` in ${a}/`:""}:`];for(let u of i){let c=a?u.slice(a.length).replace(/^\//,""):u,f=r.get(u),d=bh(f),p=d?f.map(m=>m.slice(0,-d.length)):f;l.push(`${c?`${c}/`:"./"} (${f.length}${d?`, *${d}`:""}): ${p.join(" ")}`)}if(l.length+s.length>Ua){let u=Math.max(0,Ua-s.length),c=l.length-u;return[...l.slice(0,u),`\u2026 ${c} more lines omitted`,...s]}return[...l,...s]}var Ua,za=b(()=>{"use strict";Me();Ua=1e3;ne("smart-find",kh)});function Ga(e){let t=e.trim();return t.length>Ja?`${t.slice(0,Ja)}\u2026`:t}function Eh(e){let t=[],n="";for(let r of e){let s=n?`${n}, ${r}`:r;s.length>=wh&&n?(t.push(`${n},`),n=r):n=s}return n&&t.push(n),t}function Th(e){let t=null;for(let n of e){let r=n.split("/").slice(0,-1);if(t===null){t=r;continue}let s=0;for(;s<t.length&&s<r.length&&t[s]===r[s];)s+=1;if(t=t.slice(0,s),t.length===0)return""}return t?t.join("/"):""}function Rh(e){let t=e.filter(p=>p.trim()!=="");if(t.length===0)return e;let n=new Map,r=new Map,s=null,o=0,i=0;for(let p of t){if(p==="--"){s&&n.get(s).push({separator:!0});continue}if(/^[A-Za-z]:[\\/]/.test(p))return e;let m=xh.exec(p),k=Sh.exec(p);if(m&&k)return e;let g=m||k?null:vh.exec(p),T=(m??k??g)?.[1];if(!T)return e;let S=m?{line:m[2],content:m[3],context:!1}:k?{line:k[2],content:k[3],context:!0}:{line:"",content:g[2],context:!1},O=n.get(T)??[];O.push(S),n.set(T,O),S.context||(o+=1,r.set(T,(r.get(T)??0)+1)),i+=1,s=T}if(n.size===i)return e;let a=[...n.keys()].sort((p,m)=>{let k=Za.test(p)?1:0,g=Za.test(m)?1:0;return k-g||(p<m?-1:p>m?1:0)}),l=a.length>1?Th(a):"",u=p=>l?p.slice(l.length+1):p,c=[];for(let p of a){c.push(`${u(p)} (${r.get(p)??0}):`);for(let m of n.get(p))"separator"in m?c.push(" --"):m.line?c.push(` ${m.line}${m.context?"-":":"} ${Ga(m.content)}`):c.push(` ${Ga(m.content)}`)}let f=a.length>1&&c.length>_h?Eh(a.map(p=>`${u(p)} (${r.get(p)??0})`)):[],d=[`${o}m ${a.length}f${l?` in ${l}/`:""}:`,...f,"",...c];if(d.length>Js){let p=d.length-Js;return[...d.slice(0,Js),`\u2026 ${p} more lines omitted`]}return d}var Js,Ja,_h,wh,xh,Sh,vh,Za,Ka=b(()=>{"use strict";Me();Js=1e3,Ja=200,_h=60,wh=190,xh=/^([^\s:]+):(\d+):(.*)$/,Sh=/^([^:]+?)-(\d+)-(.*)$/,vh=/^([^\s:]+):(.*)$/,Za=/(?:^|\/)(?:__tests__|tests?|spec|fixtures?|__mocks__|__snapshots__)\/|\.(?:test|spec)\.[^/]+$/i;ne("smart-grep",Rh)});function Ch(e){if(!e.some(u=>Wa.test(u)))return e;let t=[],n=0,r=0,s=0,o="",i=!1,a=!1,l=()=>{r>0&&t.push(`${o} \u2026 ${r} ${r===1?"line":"lines"} folded \u2026`),r=0};for(let u of e){let c=u.slice(0,s),f=Ah.test(c),d=f?u.slice(s):u,p=$h.test(d),m=i&&p?null:Wa.exec(u);if(m){l(),n=0,s=m[1]?.length??0,i=!0,a=!1,t.push(u);continue}if(/^diff --(?:git|cc|combined) /.test(d)&&(a=!0),p&&!a&&!(s>0&&d.trim().length===0)){n+=1,n<=Oh?t.push(u):(r+=1,o=f?c:"");continue}l(),t.push(u)}return l(),t}var Wa,Ah,$h,Oh,Va=b(()=>{"use strict";Me();Wa=/^(?:([|\\/ ._-]*\*[|\\/* ._-]* ))?commit [0-9a-f]{7,40}\b/,Ah=/^[|\\/* ._-]*$/,$h=/^ {4}/,Oh=2;ne("smart-log",Ch)});var Ih,Ph,Nh,Ya=b(()=>{"use strict";Me();Ih=/^[\s=]+$/,Ph=/^\s*=+\s+(.*?)\s+=+\s*$/,Nh=512;ne("strip-banners",e=>{let t=[];for(let n of e){if(Ih.test(n))continue;let r=n.length<=Nh?Ph.exec(n):null;t.push(r?r[1]:n)}return t})});function Dh(e){let t=[],n=0,r=0;for(;r<e.length;){let s=e[r].replace(/\s+$/,"");if(s===""){n+=1,r+=1,n<=1&&t.push("");continue}n=0;let o=1;for(;r+o<e.length&&e[r+o].replace(/\s+$/,"")===s;)o+=1;if(o>=3)t.push(s),t.push(` \u2026 (repeated ${o}x)`);else for(let i=0;i<o;i++)t.push(s);r+=o}for(;t.length>0&&t[t.length-1]==="";)t.pop();return t}var qa=b(()=>{"use strict";Me();ne("squeeze-output",Dh)});function Mh(e){return e==="compact"?.6:e==="minimal"?.3:1}function Lh(e){let[t,n,r,s]=e.slice(-4);if(!t||!n||!r||!s||!/^\s*Test Files\s+([1-9]\d*) passed \(\1\)$/.test(t)||!/^\s*Tests\s+([1-9]\d*) passed \(\1\)$/.test(n)||!/^\s*Start at\s+\d{2}:\d{2}:\d{2}$/.test(r))return e;let o=/^(\s*Duration\s+\d+(?:\.\d+)?(?:ms|s)) \(transform [^\n]+\)$/.exec(s)?.[1];return o?[...e.slice(0,-4).filter((a,l)=>l>2||!/^ RUN v\d+\.\d+\.\d+(?:[\w.+-]*) .+$/.test(a)),t,n,o]:e}function jh(e){let t=Xa.get(e);if(t)return t;let n=e.strip_lines_matching.map(s=>new RegExp(s)),r={def:e,stripRegexes:n};return Xa.set(e,r),r}function dr(e,t,n={}){return Zs(e,t,n).text}function Zs(e,t,n={}){let r=n.verbosity??"normal";if(!t.strip_ansi&&t.strip_lines_matching.length===0&&!t.transform&&!t.mask_abs_paths&&!t.fold_passing&&!t.truncate_lines_at&&!t.max_lines&&!t.on_empty&&!n.smartCode&&r==="normal")return{text:e,droppedTail:null};let s=jh(t),o=e;t.strip_ansi&&(o=Re(o));let i=o.endsWith(`
22
+ `:s}var Mm,ga,ka=b(()=>{Mm=/^[a-z0-9-_]+$/i,ga=!!"".isWellFormed});var Bs={};cn(Bs,{TomlDate:()=>wt,TomlError:()=>A,default:()=>Um,parse:()=>vn,stringify:()=>Hs});var Um,fr=b(()=>{ha();ka();Is();_t();Um={parse:vn,stringify:Hs,TomlDate:wt,TomlError:A}});import{readdir as zm,readFile as Jm}from"node:fs/promises";import{join as wa,dirname as Zm}from"node:path";import{fileURLToPath as Gm}from"node:url";function Vm(){return!1}async function xa(){return Ft||(Vm()?(Ft=await qm(Wm),Ft):(!_a&&process.env.TOKMIZER_DEBUG==="1"&&(process.stderr.write(`tokmizer: disk loader disabled (set TOKMIZER_DEV=1 to re-enable for local dev).
23
+ `),_a=!0),Ft=new Map,Ft))}async function qm(e){let t=new Map,n,r;try{n=(await Promise.resolve().then(()=>(fr(),Bs))).parse,r=(await zm(e)).filter(s=>s.endsWith(".toml"))}catch{return t}for(let s of r){let o=await Jm(wa(e,s),"utf8"),a=n(o).filters;if(a)for(let[l,u]of Object.entries(a)){let c=Ze.parse({slug:l,...u});t.set(l,{...c,matchRegex:new RegExp(c.match_command)})}}return t}var Km,Wm,Ft,_a,Sa=b(()=>{"use strict";hn();Km=Zm(Gm(import.meta.url)),Wm=process.env.TOKMIZER_FILTERS_DIR||wa(Km,"..","..","filters"),Ft=null,_a=!1});function Ee(e){return e.replace(Ym,"").replace(Xm,"")}var Ym,Xm,Tn=b(()=>{"use strict";Ym=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,Xm=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g});function va(e,t){return t.length===0?e:e.filter(n=>!t.some(r=>r.test(n)))}var Ea=b(()=>{"use strict"});function Ta(e,t){return e.map(n=>{if(n.length<=t)return n;let r=n.charCodeAt(t-1),s=n.charCodeAt(t),o=r>=55296&&r<=56319&&s>=56320&&s<=57343?t-1:t;return`${n.slice(0,o)}\u2026`})}var Ra=b(()=>{"use strict"});function jt(e){return`\u2026 (${e} more lines omitted)`}function Aa(e,t){if(e.length<=t)return{kept:e,dropped:[]};let n=Math.ceil(t*.7),r=t-n,s=e.slice(n,e.length-r);return{kept:[...e.slice(0,n),jt(s.length),...e.slice(e.length-r)],dropped:s}}var Us=b(()=>{"use strict"});function $a(e,t){let n=t>0?t:5,r=[],s=0,o=a=>{s>=n?r.push(`\u2026 ${s} passing checks folded \u2026`):r.push(...a)},i=[];for(let a of e)Qm.test(a)&&!Ke.test(a)?(i.push(a),s+=1):(o(i),i=[],s=0,r.push(a));return o(i),r}var Qm,Ke,zs=b(()=>{"use strict";Qm=/^\s*(?:[✓✔√]|ok )/,Ke=/✕|✗|×|\bFAIL\b|\bERROR\b|\bFATAL\b|\bError|\berror|Expected|Received|\bfailed\b|^\s*Tests?:|^\s*Test Suites?:/});function Oa(e){return e.map(t=>t.replace(eh,n=>{let r=n.split("/").filter(Boolean);return r.length<=2?n:`\u2026/${r.slice(-2).join("/")}`}))}var eh,Ca=b(()=>{"use strict";eh=/(?:\/[\w.@+-]+){3,}/g});function oh(e){let t=rh.exec(e);return!t||sh.has(t[1])?!1:!/=>|\bfunction\b/.test(t[2])}function ah(e,t,n){let r=t;for(;r<e.length;){if(e[r]==="\\"){r+=2;continue}if(e[r]===n)return!0;r+=1}return!1}function lh(e,t){let n=0,r=null,s=0;for(;s<e.length;){let o=e[s];if(t.inBlockComment){if(o==="*"&&e[s+1]==="/"){t.inBlockComment=!1,s+=2;continue}s+=1;continue}if(t.inTemplate){if(o==="\\"){s+=2;continue}o==="`"&&(t.inTemplate=!1),s+=1;continue}if(r){if(o==="\\"){s+=2;continue}o===r&&(r=null),s+=1;continue}if(o==="/"&&e[s+1]==="/")break;if(o==="/"&&e[s+1]==="*"){t.inBlockComment=!0,s+=2;continue}if(o==="`"){t.inTemplate=!0,s+=1;continue}if(o==="'"||o==='"'){let i=s>0?e[s-1]:"";!(o==="'"&&(i==="<"||i==="&"))&&ah(e,s+1,o)&&(r=o),s+=1;continue}o==="{"||o==="("||o==="["?n+=1:(o==="}"||o===")"||o==="]")&&(n-=1),s+=1}return n}function ch(e,t,n){let r=n==null?"":` (${n}-${n+t-1}): Read offset=${n} limit=${t} before editing`;return`${e}\u2026 ${t} ${t===1?"line":"lines"} folded${r} \u2026`}function Js(e){let t=new Array(e.length).fill(!1);for(let n=0;n<e.length;n+=1){let r=uh.exec(e[n]);if(!r)continue;let s=Number(r[1])-1,o=n+1;for(;s>0&&o<e.length&&e[o]==="";)t[o]=!0,s-=1,o+=1;n=o-1}return t}function Rn(e,t=3,n=!1){let r=[],s=0;for(;s<e.length;){let o=e[s];if(th.test(o)&&nh.test(o)||oh(o)||ih.test(o)){let i={inBlockComment:!1,inTemplate:!1},a=0,l=s,u=!1;for(;l<e.length&&l-s<200;)if(a+=lh(e[l],i),l+=1,a<=0&&!i.inTemplate&&!i.inBlockComment){u=!0;break}let c=l-s;if(u&&c<t){r.push(...e.slice(s,l)),s=l;continue}if(u&&c>=3){let f=c-2,d=/^\s*/.exec(e[s+1]??"")?.[0]??" ";r.push(o),r.push(ch(d,f,n?s+2:null));for(let p=0;p<f-1;p++)r.push("");r.push(e[l-1]),s=l;continue}}r.push(o),s+=1}return r}function pr(e){let t=e.slice(0,4096);return!(!fh.test(t)||t.split(`
24
+ `).length<6)}var th,nh,rh,sh,ih,dr,uh,fh,Ht=b(()=>{"use strict";th=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,nh=/\{\s*$/,rh=/^\s*(?:(?:public|private|protected|static|async|get|set|readonly|override)\s+)*([\w$]+)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\{\s*$/,sh=new Set(["if","for","while","switch","catch","do","with","return","else","function","await","yield"]);ih=/^\s*(?:if|for|while|switch|try|do)\b[^{}]*\{\s*$/;dr=/^\s*… \d+ lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/,uh=/^\s*… (\d+) lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/;fh=/\b(?:function|class|interface|import\s+|export\s+|def\s+|fn\s+|impl\s+|package\s+|namespace\s+|using\s+|#include|=>\s*\{|=\s*function)/});function ja(e){let t=[],n=0,r=()=>{n>0&&t.push(`\u2026 ${n} verbose log line${n===1?"":"s"} dropped \u2026`),n=0};for(let s of e){if(Ma.test(s.replace(Da,""))&&!La.test(s)&&!Fa.test(s)){n+=1;continue}r(),t.push(s)}return r(),t}function Na(e){if(e.trim()===""||/^\s/.test(e)||La.test(e)||Fa.test(e)||ph.test(e))return null;let t=e.replace(Da,"");return Ma.test(t)||dh.test(t)?"\0verbose":e.replace(/\d+/g,"#")}function Ha(e){let t=[],n=0;for(;n<e.length;){let r=Na(e[n]),s=n+1;if(r!==null)for(;s<e.length&&Na(e[s])===r;)s+=1;let o=s-n;r===null||o<mh?t.push(...e.slice(n,s)):(t.push(...e.slice(n,n+Ia)),t.push(`\u2026 ${o-Ia-Pa} similar log lines dropped \u2026`),t.push(...e.slice(s-Pa,s))),n=s}return t}function mr(e){if(e.length===0)return e;let t=[],n=1,r=e[0];for(let s=1;s<e.length;s++){if(e[s]===r){n+=1;continue}t.push(n>1&&r.trim()?`${r} \xD7${n}`:r),r=e[s],n=1}return t.push(n>1&&r.trim()?`${r} \xD7${n}`:r),t}function Ba(e){let t=[],n=0;for(let r of e){if(r.trim()===""){n+=1;continue}n>0&&t.push(""),n=0,t.push(r)}return t}var Da,Ma,La,Fa,dh,ph,mh,Ia,Pa,hr=b(()=>{"use strict";zs();Da=/^\s*(?:\d{4}-\d{2}-\d{2}[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?Z?|\d{2}:\d{2}:\d{2}(?:\.\d+)?)\s*/,Ma=/^\s*(?:\[(?:DEBUG|TRACE|INFO|VERBOSE)\]|(?:DEBUG|TRACE|INFO|VERBOSE)(?!\s*:))(?=\s|:|$)(?!\s*[+\-*\/%&|^?]*=)/,La=new RegExp(Ke.source,"i"),Fa=/\bWARN(?:ING)?\b/i;dh=/^(?:DEBUG|INFO):[\w.-]+:/,ph=/Error|Exception|Traceback|panic|fail|FAIL|Fail|SEVERE|CRITICAL/,mh=8,Ia=1,Pa=2});function re(e,t){Ua.set(e,t)}function za(e){return Ua.get(e)}var Ua,De=b(()=>{"use strict";Ua=new Map});function bh(e){if(e<1024)return String(e);let t=["K","M","G","T"],n=e/1024,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r+=1;return`${n.toFixed(1)}${t[r]}`}function kh(e){let t=/^(\d+(?:[.,]\d+)?)([KMGTPkmgtp])?/.exec(e),n=t[2]?yh[t[2].toLowerCase()]:0;return Number(t[1].replace(",","."))*1024**n}function _h(e){let t=gh.exec(e);if(!t)return null;let n=t[4].trim();if(n===""||n==="."||n==="..")return null;let r=t[3],s=/^\d+$/.test(r)?bh(Number(r)):r,o=e.charCodeAt(0)===100;return{name:n,size:s,sizeKey:kh(r),isDir:o,mode:t[1],owner:t[2].replace(/\s+/g," ")}}function wh(e){if(e.length<3)return null;let t=new Map;for(let s of e){let o=s.name.lastIndexOf(".");if(o<=0)continue;let i=s.name.slice(o);t.set(i,(t.get(i)??0)+1)}let n=null,r=0;for(let[s,o]of t)o>r&&(r=o,n=s);return n&&r>=Math.ceil(e.length/2)?`${r} ${n}`:null}function Ja(e,t){let n=[],r=e;for(let s of t)r.length+1+s.length>vh&&r!==e&&r!==" "&&(n.push(r),r=" "),r+=r===" "?s:` ${s}`;return n.push(r),n}function Eh(e){let t=e.endsWith("/")?"":e,n=t.indexOf(".",1);return n>0?t.slice(n):""}function Th(e){let t=e.filter(l=>l.trim()!=="");if(t.length<xh)return null;let n=e.findIndex(l=>l.trim()!==""),r=e.length-1-[...e].reverse().findIndex(l=>l.trim()!=="");if(e.slice(n,r+1).some(l=>l.trim()==="")||t.some(l=>l.endsWith(":")||Ga.test(l.trim())||Za.test(l)||/^total\s+\d+/.test(l)||l!==l.trimEnd()||l.startsWith(" "))||t.filter(l=>/\s/.test(l)).length>t.length*.2)return null;let s=l=>/\s|"/.test(l)?JSON.stringify(l):l,o=new Map;for(let l of t){let u=Eh(l),c=o.get(u)??[];c.push(l),o.set(u,c)}let i=[`${t.length} entries:`],a=[];for(let[l,u]of[...o.entries()].sort((c,f)=>f[1].length-c[1].length||c[0].localeCompare(f[0])))l&&u.length>=Sh&&u.every(c=>!/\s|"/.test(c))?i.push(...Ja(`*${l} (${u.length}):`,u.map(c=>c.slice(0,-l.length)))):a.push(...u);return a.length&&i.push(...Ja(`other (${a.length}):`,a.map(s))),i.join(`
25
+ `).length<t.join(`
26
+ `).length?i:null}function Rh(e){let t=Th(e);if(t)return t;let n=[],r=[],s=!1;for(let p of e){if(p.trim()===""||/^total\s+\d+/.test(p))continue;if(Ga.test(p.trim())||!Za.test(p))return e;let m=_h(p);if(!m){if(/\s\.\.?$/.test(p))continue;return e}s=!0,(m.isDir?n:r).push(m)}if(!s)return e;let o=(p,m)=>p.name.localeCompare(m.name);n.sort(o),r.sort((p,m)=>m.sizeKey-p.sizeKey||o(p,m));let i=[...n,...r],a=i.every(p=>p.owner===i[0].owner)?i[0].owner:null,l=[];for(let p of i){let m=`${p.mode} ${a===null?`${p.owner} `:""}${p.isDir?`${p.name}/`:p.name}`;l.push(p.isDir?m:`${m} ${p.size}`)}if(l.length>Zs){let p=l.length-Zs;l=[...l.slice(0,Zs),`\u2026 ${p} more lines omitted`]}let u=r.length===1?"file":"files",c=n.length===1?"dir":"dirs",f=wh(r),d=`${r.length} ${u}, ${n.length} ${c}`+(f?` (${f})`:"")+(a===null?"":`, owner ${a.replace(" ",":")}`);return l.push(d),l}var Za,Ga,hh,gh,yh,Zs,xh,Sh,vh,Ka=b(()=>{"use strict";De();Za=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/,Ga=/^[./~][^\s]*:$/,hh=String.raw`(?:[^\s\d]{3,}\s+\d{1,2}|\d{1,2}\s+[^\s\d]{3,})\s+(?:\d{1,2}:\d{2}|\d{4})|\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:\s+[+-]\d{4})?`,gh=new RegExp(String.raw`^(\S+)\s+\d+\s+(\S+(?:\s+\S+)??)\s+(\d+(?:[.,]\d+)?[KMGTPkmgtp]?i?B?)\s+(?:${hh})\s+(.+)$`),yh={k:1,m:2,g:3,t:4,p:5},Zs=1e3;xh=12,Sh=3,vh=180;re("smart-ls",Rh)});var Wa=b(()=>{"use strict";Ht();De();re("smart-read",e=>Rn(e))});function Ah(e){let t=e[0].split("/");for(let n of e.slice(1)){let r=n.split("/"),s=0;for(;s<t.length&&s<r.length&&t[s]===r[s];)s+=1;if(t=t.slice(0,s),t.length===0)break}return t.join("/")}function $h(e){if(e.length<2||e.some(s=>s.startsWith('"')))return"";let t=e[0];for(let s of e.slice(1)){let o=0;for(;o<t.length&&o<s.length&&t[t.length-1-o]===s[s.length-1-o];)o+=1;if(t=t.slice(t.length-o),!t)return""}let n=t.indexOf("."),r=n<0?"":t.slice(n);return r.length>=3&&e.every(s=>s.length>r.length)?r:""}function Oh(e){let t=e.filter(u=>u.trim()!=="");if(t.length===0||t.filter(u=>!/\s/.test(u.trim())).length<t.length*.6)return e;let r=new Map,s=[],o=0;for(let u of t){let c=u.trim();if(c.startsWith("find:")){s.push(c);continue}let f=c.replace(/^\.\//,"").replace(/\/+$/,""),d=f.lastIndexOf("/"),p=d>=0?f.slice(0,d):"",m=d>=0?f.slice(d+1):f;if(!m)continue;let k=r.get(p)??[];k.push(/\s/.test(m)?`"${m}"`:m),r.set(p,k),o+=1}if(o===0)return e;let i=[...r.keys()].sort(),a=i.every(u=>u!=="")?Ah(i):"",l=[`${o}F ${i.length}D${a?` in ${a}/`:""}:`];for(let u of i){let c=a?u.slice(a.length).replace(/^\//,""):u,f=r.get(u),d=$h(f),p=d?f.map(m=>m.slice(0,-d.length)):f;l.push(`${c?`${c}/`:"./"} (${f.length}${d?`, *${d}`:""}): ${p.join(" ")}`)}if(l.length+s.length>Va){let u=Math.max(0,Va-s.length),c=l.length-u;return[...l.slice(0,u),`\u2026 ${c} more lines omitted`,...s]}return[...l,...s]}var Va,qa=b(()=>{"use strict";De();Va=1e3;re("smart-find",Oh)});function Qa(e){let t=e.trim();return t.length>Ya?`${t.slice(0,Ya)}\u2026`:t}function Mh(e){let t=[],n="";for(let r of e){let s=n?`${n}, ${r}`:r;s.length>=Ih&&n?(t.push(`${n},`),n=r):n=s}return n&&t.push(n),t}function Lh(e){let t=null;for(let n of e){let r=n.split("/").slice(0,-1);if(t===null){t=r;continue}let s=0;for(;s<t.length&&s<r.length&&t[s]===r[s];)s+=1;if(t=t.slice(0,s),t.length===0)return""}return t?t.join("/"):""}function Fh(e){let t=e.filter(p=>p.trim()!=="");if(t.length===0)return e;let n=new Map,r=new Map,s=null,o=0,i=0;for(let p of t){if(p==="--"){s&&n.get(s).push({separator:!0});continue}if(/^[A-Za-z]:[\\/]/.test(p))return e;let m=Ph.exec(p),k=Nh.exec(p);if(m&&k)return e;let g=m||k?null:Dh.exec(p),T=(m??k??g)?.[1];if(!T)return e;let S=m?{line:m[2],content:m[3],context:!1}:k?{line:k[2],content:k[3],context:!0}:{line:"",content:g[2],context:!1},O=n.get(T)??[];O.push(S),n.set(T,O),S.context||(o+=1,r.set(T,(r.get(T)??0)+1)),i+=1,s=T}if(n.size===i)return e;let a=[...n.keys()].sort((p,m)=>{let k=Xa.test(p)?1:0,g=Xa.test(m)?1:0;return k-g||(p<m?-1:p>m?1:0)}),l=a.length>1?Lh(a):"",u=p=>l?p.slice(l.length+1):p,c=[];for(let p of a){c.push(`${u(p)} (${r.get(p)??0}):`);for(let m of n.get(p))"separator"in m?c.push(" --"):m.line?c.push(` ${m.line}${m.context?"-":":"} ${Qa(m.content)}`):c.push(` ${Qa(m.content)}`)}let f=a.length>1&&c.length>Ch?Mh(a.map(p=>`${u(p)} (${r.get(p)??0})`)):[],d=[`${o}m ${a.length}f${l?` in ${l}/`:""}:`,...f,"",...c];if(d.length>Gs){let p=d.length-Gs;return[...d.slice(0,Gs),`\u2026 ${p} more lines omitted`]}return d}var Gs,Ya,Ch,Ih,Ph,Nh,Dh,Xa,el=b(()=>{"use strict";De();Gs=1e3,Ya=200,Ch=60,Ih=190,Ph=/^([^\s:]+):(\d+):(.*)$/,Nh=/^([^:]+?)-(\d+)-(.*)$/,Dh=/^([^\s:]+):(.*)$/,Xa=/(?:^|\/)(?:__tests__|tests?|spec|fixtures?|__mocks__|__snapshots__)\/|\.(?:test|spec)\.[^/]+$/i;re("smart-grep",Fh)});function Uh(e){if(!e.some(u=>tl.test(u)))return e;let t=[],n=0,r=0,s=0,o="",i=!1,a=!1,l=()=>{r>0&&t.push(`${o} \u2026 ${r} ${r===1?"line":"lines"} folded \u2026`),r=0};for(let u of e){let c=u.slice(0,s),f=jh.test(c),d=f?u.slice(s):u,p=Hh.test(d),m=i&&p?null:tl.exec(u);if(m){l(),n=0,s=m[1]?.length??0,i=!0,a=!1,t.push(u);continue}if(/^diff --(?:git|cc|combined) /.test(d)&&(a=!0),p&&!a&&!(s>0&&d.trim().length===0)){n+=1,n<=Bh?t.push(u):(r+=1,o=f?c:"");continue}l(),t.push(u)}return l(),t}var tl,jh,Hh,Bh,nl=b(()=>{"use strict";De();tl=/^(?:([|\\/ ._-]*\*[|\\/* ._-]* ))?commit [0-9a-f]{7,40}\b/,jh=/^[|\\/* ._-]*$/,Hh=/^ {4}/,Bh=2;re("smart-log",Uh)});var zh,Jh,Zh,rl=b(()=>{"use strict";De();zh=/^[\s=]+$/,Jh=/^\s*=+\s+(.*?)\s+=+\s*$/,Zh=512;re("strip-banners",e=>{let t=[];for(let n of e){if(zh.test(n))continue;let r=n.length<=Zh?Jh.exec(n):null;t.push(r?r[1]:n)}return t})});function Gh(e){let t=[],n=0,r=0;for(;r<e.length;){let s=e[r].replace(/\s+$/,"");if(s===""){n+=1,r+=1,n<=1&&t.push("");continue}n=0;let o=1;for(;r+o<e.length&&e[r+o].replace(/\s+$/,"")===s;)o+=1;if(o>=3)t.push(s),t.push(` \u2026 (repeated ${o}x)`);else for(let i=0;i<o;i++)t.push(s);r+=o}for(;t.length>0&&t[t.length-1]==="";)t.pop();return t}var sl=b(()=>{"use strict";De();re("squeeze-output",Gh)});function Kh(e){return e==="compact"?.6:e==="minimal"?.3:1}function Vh(e){let[t,n,r,s]=e.slice(-4);if(!t||!n||!r||!s||!/^\s*Test Files\s+([1-9]\d*) passed \(\1\)$/.test(t)||!/^\s*Tests\s+([1-9]\d*) passed \(\1\)$/.test(n)||!/^\s*Start at\s+\d{2}:\d{2}:\d{2}$/.test(r))return e;let o=/^(\s*Duration\s+\d+(?:\.\d+)?(?:ms|s)) \(transform [^\n]+\)$/.exec(s)?.[1];return o?[...e.slice(0,-4).filter((a,l)=>l>2||!/^ RUN v\d+\.\d+\.\d+(?:[\w.+-]*) .+$/.test(a)),t,n,o]:e}function qh(e){let t=ol.get(e);if(t)return t;let n=e.strip_lines_matching.map(s=>new RegExp(s)),r={def:e,stripRegexes:n};return ol.set(e,r),r}function gr(e,t,n={}){return Ks(e,t,n).text}function Ks(e,t,n={}){let r=n.verbosity??"normal";if(!t.strip_ansi&&t.strip_lines_matching.length===0&&!t.transform&&!t.mask_abs_paths&&!t.fold_passing&&!t.truncate_lines_at&&!t.max_lines&&!t.on_empty&&!n.smartCode&&r==="normal")return{text:e,droppedTail:null};let s=qh(t),o=e;t.strip_ansi&&(o=Ee(o));let i=o.endsWith(`
25
27
  `),a=(i?o.slice(0,-1):o).split(`
26
- `);s.stripRegexes.length&&(a=t.keep_failures?a.filter(d=>Ke.test(d)||!s.stripRegexes.some(p=>p.test(d))):_a(a,s.stripRegexes)),r!=="normal"&&!t.preserve_exact&&(a=cr(a),a=Fa(a)),r==="minimal"&&!t.preserve_exact&&(a=Da(a),(t.slug==="vitest"||t.slug==="npm-test")&&(a=Lh(a)));let l=t.transform==="smart-read"&&n.smartCode!==!0?r==="compact"?8:r==="minimal"?6:3:3;if(!t.preserve_exact&&(n.smartCode||n.smartCode===void 0&&r!=="normal"&&ur(o))&&(a=En(a,l)),t.transform){let d=ja(t.transform);t.transform==="smart-read"?a=En(a,l,t.slug==="read-tool"):d&&(a=d(a))}let u=t.slug==="read-tool";if(!u){let d=Us(a);d.some(Boolean)&&(a=a.filter((p,m)=>!d[m]))}t.mask_abs_paths&&(a=Ta(a)),t.fold_passing&&(a=Ea(a,t.fold_passing_threshold??5)),t.truncate_lines_at&&(a=xa(a,t.truncate_lines_at));let c=null;if(t.max_lines){let d=t.scale_with_level?Mh(n.verbosity):1,p=Math.min(t.max_lines,Math.max(Fh,Math.round(t.max_lines*d))),m=u?Us(a):null,k=m?m.filter(g=>!g).length:a.length;if(k>p){let g=p;if(m){let S=0;for(g=0;g<a.length&&S<p;)m[g]||(S+=1),g+=1}let T=k-p;if(t.keep_failures){let S=a.slice(g),O=S.filter(C=>!Ke.test(C)),E=S.reduce((C,P,L)=>C+(!Ke.test(P)&&!m?.[g+L]?1:0),0);c=O.length>0?O.join(`
27
- `):null,a=[...a.slice(0,g),...E>0?[Ft(E)]:[],...S.filter(C=>Ke.test(C))]}else if(u)c=a.slice(g).join(`
28
- `),a=[...a.slice(0,g),Ft(T)];else{let{kept:S,dropped:O}=va(a,p);c=O.length>0?O.join(`
28
+ `);s.stripRegexes.length&&(a=t.keep_failures?a.filter(d=>Ke.test(d)||!s.stripRegexes.some(p=>p.test(d))):va(a,s.stripRegexes)),r!=="normal"&&!t.preserve_exact&&(a=mr(a),a=Ba(a)),r==="minimal"&&!t.preserve_exact&&(a=ja(a),(t.slug==="vitest"||t.slug==="npm-test")&&(a=Vh(a)));let l=t.transform==="smart-read"&&n.smartCode!==!0?r==="compact"?8:r==="minimal"?6:3:3;if(!t.preserve_exact&&(n.smartCode||n.smartCode===void 0&&r!=="normal"&&pr(o))&&(a=Rn(a,l)),t.transform){let d=za(t.transform);t.transform==="smart-read"?a=Rn(a,l,t.slug==="read-tool"):d&&(a=d(a))}let u=t.slug==="read-tool";if(!u){let d=Js(a);d.some(Boolean)&&(a=a.filter((p,m)=>!d[m]))}t.mask_abs_paths&&(a=Oa(a)),t.fold_passing&&(a=$a(a,t.fold_passing_threshold??5)),t.truncate_lines_at&&(a=Ta(a,t.truncate_lines_at));let c=null;if(t.max_lines){let d=t.scale_with_level?Kh(n.verbosity):1,p=Math.min(t.max_lines,Math.max(Wh,Math.round(t.max_lines*d))),m=u?Js(a):null,k=m?m.filter(g=>!g).length:a.length;if(k>p){let g=p;if(m){let S=0;for(g=0;g<a.length&&S<p;)m[g]||(S+=1),g+=1}let T=k-p;if(t.keep_failures){let S=a.slice(g),O=S.filter(I=>!Ke.test(I)),E=S.reduce((I,N,j)=>I+(!Ke.test(N)&&!m?.[g+j]?1:0),0);c=O.length>0?O.join(`
29
+ `):null,a=[...a.slice(0,g),...E>0?[jt(E)]:[],...S.filter(I=>Ke.test(I))]}else if(u)c=a.slice(g).join(`
30
+ `),a=[...a.slice(0,g),jt(T)];else{let{kept:S,dropped:O}=Aa(a,p);c=O.length>0?O.join(`
29
31
  `):null,a=S}}}let f=a.join(`
30
32
  `);return i&&f.length>0&&(f+=`
31
- `),f.trim().length===0&&t.on_empty&&(f=t.on_empty),{text:f,droppedTail:c}}var Fh,Xa,Gs=b(()=>{"use strict";vn();wa();Sa();Hs();Bs();Ra();Lt();fr();Me();Ha();Ba();za();Ka();Va();Ya();qa();Fh=20;Xa=new WeakMap});import{readdir as Hh,readFile as nl,writeFile as uR,mkdir as cR,rename as fR}from"node:fs/promises";import{readdirSync as Bh,statSync as Qa}from"node:fs";import{createHash as Uh}from"node:crypto";import{basename as hR,join as gr}from"node:path";function hr(){return gr(x(),"filters")}function sl(){return gr(x(),"filters-trust.json")}function ol(e){return typeof e=="string"&&e.startsWith(rl)}function Jh(e){return Uh("sha256").update(e).digest("hex")}async function Zh(){try{let e=JSON.parse(await nl(sl(),"utf8")),t={};if(e.files&&typeof e.files=="object")for(let[n,r]of Object.entries(e.files))typeof r=="string"&&/^[0-9a-f]{64}$/.test(r)&&(t[n]=r);return{v:1,files:t}}catch{return{v:1,files:{}}}}function Gh(e,t){if(t===void 0)return{tests:[]};let n={message:`${e}: tests: each [[filters.${e}.tests]] needs input and expected strings`};if(!Array.isArray(t))return n;let r=[];for(let s of t){if(typeof s!="object"||s===null)return n;let{input:o,expected:i,name:a}=s;if(typeof o!="string"||typeof i!="string")return n;r.push({...typeof a=="string"&&a?{name:a}:{},input:o,expected:i})}return{tests:r}}function Kh(e,t){let n=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},{tests:r,...s}=n,o=Gh(e,r);if("message"in o)return o;let i=Ze.safeParse({...s,slug:e});if(!i.success){let l=i.error.issues.map(u=>`${u.path.join(".")||"rule"}: ${u.message}`).join("; ");return{message:`${e}: ${l}`}}let a;try{a=new RegExp(i.data.match_command)}catch{return{message:`${e}: match_command is not a valid regular expression`}}for(let l of i.data.strip_lines_matching)try{new RegExp(l)}catch{return{message:`${e}: strip_lines_matching has an invalid regular expression`}}return{filter:{...i.data,slug:`${rl}${i.data.slug}`,matchRegex:a},tests:o.tests}}function Wh(e){return e===void 0||e===pr?null:typeof e=="number"&&Number.isInteger(e)?`schema_version ${e} is not supported: this tkr reads schema_version = ${pr}. Update tkr, or write the file for version ${pr}`:`schema_version must be the number ${pr}`}async function Vh(e){try{return(await Hh(e)).filter(t=>t.endsWith(".toml")).sort()}catch{return[]}}async function Yh(e={}){let t=e.requireTrust!==!1,n=hr(),r=new Map,s=new Map,o=[],i=await Vh(n);if(i.length===0)return{dir:n,filters:r,tests:s,issues:o};let a=t?await Zh():null;for(let l of i){let u;try{u=await nl(gr(n,l),"utf8")}catch{o.push({file:l,message:"could not be read"});continue}if(a){let f=a.files[l];if(!f){o.push({file:l,message:`not trusted yet. Review it, then run: tkr filters trust ${l}`});continue}if(f!==Jh(u)){o.push({file:l,message:`changed since it was trusted. Review it, then run: tkr filters trust ${l}`});continue}}let c=await qh(u,l);for(let[f,d]of c.filters)r.set(f,d);for(let[f,d]of c.tests)s.set(f,d);o.push(...c.issues)}return{dir:n,filters:r,tests:s,issues:o}}async function qh(e,t){let n=new Map,r=new Map,s=[],{parse:o}=await Promise.resolve().then(()=>(js(),Ls)),i;try{i=o(e)}catch(u){return s.push({file:t,message:`not valid TOML (${String(u.message).split(`
32
- `)[0]})`}),{filters:n,tests:r,issues:s}}let a=Wh(i.schema_version);if(a)return s.push({file:t,message:a}),{filters:n,tests:r,issues:s};let l=i.filters;if(typeof l!="object"||l===null||Array.isArray(l))return s.push({file:t,message:"no [filters.<name>] table found"}),{filters:n,tests:r,issues:s};for(let[u,c]of Object.entries(l)){let f=Kh(u,c);if("message"in f){s.push({file:t,message:f.message});continue}n.set(f.filter.slug,f.filter),f.tests.length>0&&r.set(f.filter.slug,{file:t,tests:f.tests})}return{filters:n,tests:r,issues:s}}function Xh(){let e=[];for(let t of[sl(),hr()])try{let n=Qa(t);e.push(`${n.mtimeMs}:${n.size}`)}catch{e.push("-")}try{for(let t of Bh(hr()).filter(n=>n.endsWith(".toml")).sort()){let n=Qa(gr(hr(),t));e.push(`${t}:${n.mtimeMs}:${n.size}`)}}catch{}return e.join("|")}function Qh(){let e=Date.now();if(!mr||e-tl>=zh){tl=e;let t=Xh();(!mr||t!==el)&&(el=t,mr=Yh())}return mr}async function eg(e){let{filters:t}=await Qh();return t.size===0?null:Nt(e,t.values(),null,t)}function il(e){return async(t,n)=>await eg(t)??e(t,n)}var rl,pr,mr,el,tl,zh,Ks=b(()=>{"use strict";mn();nr();Gs();B();rl="user/",pr=1,mr=null,el="",tl=0,zh=1e3});function al(e){if(!e)return!1;for(let t of Re(e).split(`
33
- `))if(!/^\s*[✓✔√]\s/.test(t)&&tg.some(n=>n.test(t)))return!0;return!1}var tg,ll=b(()=>{"use strict";vn();tg=[/\bERROR\b/,/\bFAIL\b/,/\bFAILED\b/,/\bFATAL\b/,/^Traceback /m,/^Error: /m,/^\s+at .*\(.*:\d+:\d+\)/m,/panic:/,/SyntaxError:/,/TypeError:/,/ReferenceError:/,/AssertionError:/,/^\s*(?:error|fatal):/i,/thread '.*' panicked/,/\b[1-9]\d* (?:failed|errors?)\b/]});function Fe(e){let t=e.trim(),n=t.split(/\s+/),r=0;for(;r<n.length;){let a=n[r];if(rg.test(a)){r++;continue}if(ng.has(a)){for(r++,a==="timeout"&&r<n.length&&/^\d+(?:\.\d+)?[smhd]?$/.test(n[r])&&r++;(a==="stdbuf"||a==="nice")&&r<n.length&&n[r].startsWith("-");)r++;continue}break}if(r>=n.length)return t;let s=n[r],o=s.includes("/")?s.slice(s.lastIndexOf("/")+1):s,i=n.slice(r+1);return i.length?`${o} ${i.join(" ")}`:o}function ul(e,t){let n=!1,r=!1,s=0,o=[];for(let i=0;i<e.length;i++){let a=e[i];if(a==="\\"&&!n){i++;continue}a==="'"&&!r?n=!n:a==='"'&&!n?r=!r:!n&&!r&&(a===";"?(o.push(e.slice(s,i)),s=i+1):a==="|"&&e[i+1]==="|"?(o.push(e.slice(s,i)),i++,s=i+1):a==="|"?t||(o.push(e.slice(s,i)),s=i+1):a==="&"&&e[i+1]==="&"&&(o.push(e.slice(s,i)),i++,s=i+1))}return o.push(e.slice(s)),o}function og(e){let t=ul(e,!1);for(let n=t.length-1;n>=0;n--){let r=t[n].trim();if(r)return r}return e.trim()}function Tn(e){let t=ul(e,!0).map(n=>n.trim()).filter(Boolean);if(t.length===0)return null;for(let n of t.slice(0,-1)){let r=Fe(n).split(/\s+/)[0]??"";if(!sg.has(r))return null}return og(t[t.length-1])}function cl(e){let t=!1,n=!1,r=0,s=[];for(let o=0;o<e.length;o++){let i=e[o];if(i==="\\"&&!t){o++;continue}i==="'"&&!n?t=!t:i==='"'&&!t?n=!n:!t&&!n&&(i==="|"||i===";"?(s.push(e.slice(r,o)),i==="|"&&e[o+1]==="|"&&o++,r=o+1):i==="&"&&e[o+1]==="&"&&(s.push(e.slice(r,o)),o++,r=o+1))}s.push(e.slice(r));for(let o=s.length-1;o>=0;o--){let i=s[o].trim();if(i)return i}return e.trim()}function Vs(e){let t=ig.exec(e);return t?Fe(e.slice(t[0].length)):null}function fl(e){let t=Ws.exec(e),n=e;if(t){if(t[1]!=="bash")return[e];let a=e.indexOf(": ");if(a<0)return[e];n=e.slice(a+2)}let r=Tn(n),s=r?Fe(r):null,i=[s?Vs(s):null,s,e].filter(a=>!!a);return[...new Set(i)]}var ng,rg,Ws,sg,ig,Ys=b(()=>{"use strict";ng=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),rg=/^[A-Za-z_][A-Za-z0-9_]*=/,Ws=/^([a-z]+)-tool(?::\s|$)/;sg=new Set(["cd","export","source","set","unset","mkdir","true",":","pushd","popd","alias","ulimit","umask","echo","printf","sleep","touch","rm","cp","mv","chmod","ln"]);ig=/^(?:npx|bunx|uvx|pnpm\s+(?:exec|dlx)|yarn\s+(?:exec|dlx)|(?:uv|poetry|pipenv|hatch|pdm|rye)\s+run|bundle\s+exec|python[0-9.]*\s+-m)\s+(?=[^\s-])/});function qs(e){let t=Buffer.from(e,"utf8");if(t.length<=256)return e;let n=256-Buffer.byteLength(dl,"utf8"),r=Math.floor(n/2);for(;(t[r]&192)===128;)r-=1;let s=t.length-(n-r);for(;(t[s]&192)===128;)s+=1;return t.subarray(0,r).toString("utf8")+dl+t.subarray(s).toString("utf8")}var dl,pl=b(()=>{"use strict";dl=`
33
+ `),f.trim().length===0&&t.on_empty&&(f=t.on_empty),{text:f,droppedTail:c}}var Wh,ol,Ws=b(()=>{"use strict";Tn();Ea();Ra();Us();zs();Ca();Ht();hr();De();Ka();Wa();qa();el();nl();rl();sl();Wh=20;ol=new WeakMap});import{readdir as Yh,readFile as ul,writeFile as wR,mkdir as xR,rename as SR}from"node:fs/promises";import{readdirSync as Xh,statSync as il}from"node:fs";import{createHash as Qh}from"node:crypto";import{basename as RR,join as _r}from"node:path";function kr(){return _r(x(),"filters")}function fl(){return _r(x(),"filters-trust.json")}function dl(e){return typeof e=="string"&&e.startsWith(cl)}function tg(e){return Qh("sha256").update(e).digest("hex")}async function ng(){try{let e=JSON.parse(await ul(fl(),"utf8")),t={};if(e.files&&typeof e.files=="object")for(let[n,r]of Object.entries(e.files))typeof r=="string"&&/^[0-9a-f]{64}$/.test(r)&&(t[n]=r);return{v:1,files:t}}catch{return{v:1,files:{}}}}function rg(e,t){if(t===void 0)return{tests:[]};let n={message:`${e}: tests: each [[filters.${e}.tests]] needs input and expected strings`};if(!Array.isArray(t))return n;let r=[];for(let s of t){if(typeof s!="object"||s===null)return n;let{input:o,expected:i,name:a}=s;if(typeof o!="string"||typeof i!="string")return n;r.push({...typeof a=="string"&&a?{name:a}:{},input:o,expected:i})}return{tests:r}}function sg(e,t){let n=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},{tests:r,...s}=n,o=rg(e,r);if("message"in o)return o;let i=Ze.safeParse({...s,slug:e});if(!i.success){let l=i.error.issues.map(u=>`${u.path.join(".")||"rule"}: ${u.message}`).join("; ");return{message:`${e}: ${l}`}}let a;try{a=new RegExp(i.data.match_command)}catch{return{message:`${e}: match_command is not a valid regular expression`}}for(let l of i.data.strip_lines_matching)try{new RegExp(l)}catch{return{message:`${e}: strip_lines_matching has an invalid regular expression`}}return{filter:{...i.data,slug:`${cl}${i.data.slug}`,matchRegex:a},tests:o.tests}}function og(e){return e===void 0||e===yr?null:typeof e=="number"&&Number.isInteger(e)?`schema_version ${e} is not supported: this tkr reads schema_version = ${yr}. Update tkr, or write the file for version ${yr}`:`schema_version must be the number ${yr}`}async function ig(e){try{return(await Yh(e)).filter(t=>t.endsWith(".toml")).sort()}catch{return[]}}async function ag(e={}){let t=e.requireTrust!==!1,n=kr(),r=new Map,s=new Map,o=[],i=await ig(n);if(i.length===0)return{dir:n,filters:r,tests:s,issues:o};let a=t?await ng():null;for(let l of i){let u;try{u=await ul(_r(n,l),"utf8")}catch{o.push({file:l,message:"could not be read"});continue}if(a){let f=a.files[l];if(!f){o.push({file:l,message:`not trusted yet. Review it, then run: tkr filters trust ${l}`});continue}if(f!==tg(u)){o.push({file:l,message:`changed since it was trusted. Review it, then run: tkr filters trust ${l}`});continue}}let c=await lg(u,l);for(let[f,d]of c.filters)r.set(f,d);for(let[f,d]of c.tests)s.set(f,d);o.push(...c.issues)}return{dir:n,filters:r,tests:s,issues:o}}async function lg(e,t){let n=new Map,r=new Map,s=[],{parse:o}=await Promise.resolve().then(()=>(fr(),Bs)),i;try{i=o(e)}catch(u){return s.push({file:t,message:`not valid TOML (${String(u.message).split(`
34
+ `)[0]})`}),{filters:n,tests:r,issues:s}}let a=og(i.schema_version);if(a)return s.push({file:t,message:a}),{filters:n,tests:r,issues:s};let l=i.filters;if(typeof l!="object"||l===null||Array.isArray(l))return s.push({file:t,message:"no [filters.<name>] table found"}),{filters:n,tests:r,issues:s};for(let[u,c]of Object.entries(l)){let f=sg(u,c);if("message"in f){s.push({file:t,message:f.message});continue}n.set(f.filter.slug,f.filter),f.tests.length>0&&r.set(f.filter.slug,{file:t,tests:f.tests})}return{filters:n,tests:r,issues:s}}function ug(){let e=[];for(let t of[fl(),kr()])try{let n=il(t);e.push(`${n.mtimeMs}:${n.size}`)}catch{e.push("-")}try{for(let t of Xh(kr()).filter(n=>n.endsWith(".toml")).sort()){let n=il(_r(kr(),t));e.push(`${t}:${n.mtimeMs}:${n.size}`)}}catch{}return e.join("|")}function cg(){let e=Date.now();if(!br||e-ll>=eg){ll=e;let t=ug();(!br||t!==al)&&(al=t,br=ag())}return br}async function fg(e){let{filters:t}=await cg();return t.size===0?null:Mt(e,t.values(),null,t)}function pl(e){return async(t,n)=>await fg(t)??e(t,n)}var cl,yr,br,al,ll,eg,Vs=b(()=>{"use strict";hn();or();Ws();B();cl="user/",yr=1,br=null,al="",ll=0,eg=1e3});function ml(e){if(!e)return!1;for(let t of Ee(e).split(`
35
+ `))if(!/^\s*[✓✔√]\s/.test(t)&&dg.some(n=>n.test(t)))return!0;return!1}var dg,hl=b(()=>{"use strict";Tn();dg=[/\bERROR\b/,/\bFAIL\b/,/\bFAILED\b/,/\bFATAL\b/,/^Traceback /m,/^Error: /m,/^\s+at .*\(.*:\d+:\d+\)/m,/panic:/,/SyntaxError:/,/TypeError:/,/ReferenceError:/,/AssertionError:/,/^\s*(?:error|fatal):/i,/thread '.*' panicked/,/\b[1-9]\d* (?:failed|errors?)\b/]});function Me(e){let t=e.trim(),n=t.split(/\s+/),r=0;for(;r<n.length;){let a=n[r];if(mg.test(a)){r++;continue}if(pg.has(a)){for(r++,a==="timeout"&&r<n.length&&/^\d+(?:\.\d+)?[smhd]?$/.test(n[r])&&r++;(a==="stdbuf"||a==="nice")&&r<n.length&&n[r].startsWith("-");)r++;continue}break}if(r>=n.length)return t;let s=n[r],o=s.includes("/")?s.slice(s.lastIndexOf("/")+1):s,i=n.slice(r+1);return i.length?`${o} ${i.join(" ")}`:o}function gl(e,t){let n=!1,r=!1,s=0,o=[];for(let i=0;i<e.length;i++){let a=e[i];if(a==="\\"&&!n){i++;continue}a==="'"&&!r?n=!n:a==='"'&&!n?r=!r:!n&&!r&&(a===";"?(o.push(e.slice(s,i)),s=i+1):a==="|"&&e[i+1]==="|"?(o.push(e.slice(s,i)),i++,s=i+1):a==="|"?t||(o.push(e.slice(s,i)),s=i+1):a==="&"&&e[i+1]==="&"&&(o.push(e.slice(s,i)),i++,s=i+1))}return o.push(e.slice(s)),o}function gg(e){let t=gl(e,!1);for(let n=t.length-1;n>=0;n--){let r=t[n].trim();if(r)return r}return e.trim()}function An(e){let t=gl(e,!0).map(n=>n.trim()).filter(Boolean);if(t.length===0)return null;for(let n of t.slice(0,-1)){let r=Me(n).split(/\s+/)[0]??"";if(!hg.has(r))return null}return gg(t[t.length-1])}function yl(e){let t=!1,n=!1,r=0,s=[];for(let o=0;o<e.length;o++){let i=e[o];if(i==="\\"&&!t){o++;continue}i==="'"&&!n?t=!t:i==='"'&&!t?n=!n:!t&&!n&&(i==="|"||i===";"?(s.push(e.slice(r,o)),i==="|"&&e[o+1]==="|"&&o++,r=o+1):i==="&"&&e[o+1]==="&"&&(s.push(e.slice(r,o)),o++,r=o+1))}s.push(e.slice(r));for(let o=s.length-1;o>=0;o--){let i=s[o].trim();if(i)return i}return e.trim()}function Ys(e){let t=yg.exec(e);return t?Me(e.slice(t[0].length)):null}function bl(e){let t=qs.exec(e),n=e;if(t){if(t[1]!=="bash")return[e];let a=e.indexOf(": ");if(a<0)return[e];n=e.slice(a+2)}let r=An(n),s=r?Me(r):null,i=[s?Ys(s):null,s,e].filter(a=>!!a);return[...new Set(i)]}var pg,mg,qs,hg,yg,Xs=b(()=>{"use strict";pg=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),mg=/^[A-Za-z_][A-Za-z0-9_]*=/,qs=/^([a-z]+)-tool(?::\s|$)/;hg=new Set(["cd","export","source","set","unset","mkdir","true",":","pushd","popd","alias","ulimit","umask","echo","printf","sleep","touch","rm","cp","mv","chmod","ln"]);yg=/^(?:npx|bunx|uvx|pnpm\s+(?:exec|dlx)|yarn\s+(?:exec|dlx)|(?:uv|poetry|pipenv|hatch|pdm|rye)\s+run|bundle\s+exec|python[0-9.]*\s+-m)\s+(?=[^\s-])/});function Qs(e){let t=Buffer.from(e,"utf8");if(t.length<=256)return e;let n=256-Buffer.byteLength(kl,"utf8"),r=Math.floor(n/2);for(;(t[r]&192)===128;)r-=1;let s=t.length-(n-r);for(;(t[s]&192)===128;)s+=1;return t.subarray(0,r).toString("utf8")+kl+t.subarray(s).toString("utf8")}var kl,_l=b(()=>{"use strict";kl=`
34
36
  [YOLO: omitted]
35
- `});function ug(e,t){if(!t)return e.split(`
37
+ `});function _g(e,t){if(!t)return e.split(`
36
38
  `).map(o=>o.replace(/^[ \t]+|[ \t]+(?=\r?$)/g,"")).join(`
37
39
  `);let n="",r=!1,s=!1;for(let o of e)r?(n+=o,s?s=!1:o==="\\"?s=!0:o==='"'&&(r=!1)):o==='"'?(r=!0,n+=o):o!==" "&&o!==" "&&o!=="\r"&&o!==`
38
40
  `&&(n+=o);return n+(e.endsWith(`
39
41
  `)?`
40
- `:"")}function cg(e,t){if(/@(?:p)?\d|\r/.test(e))return e;let n=e.endsWith(`
42
+ `:"")}function wg(e,t){if(/@(?:p)?\d|\r/.test(e))return e;let n=e.endsWith(`
41
43
  `)?`
42
44
  `:"",r=(n?e.slice(0,-1):e).split(`
43
- `),s=r.findIndex(g=>ag.test(g));if(s>=0&&r.slice(0,s).some(g=>g!==""&&!/^Showing \d+ of \d+ (?:open|closed|all) pull requests in \S+$/.test(g)))return e;let o=s>=0?[...r[s].matchAll(/\S+/g)].map(g=>g.index):[],i=[];for(let g=s+1;g<r.length;g+=1){let T=r[g];if(lg.test(T))continue;if(/…|\.\.\./.test(T))return e;let S;if(s>=0){if(/[^\x20-\x7e]/.test(T))return e;let O=o.map((E,C)=>T.slice(E,o[C+1]));if(O.slice(0,-1).some(E=>E[0]===" "||!E.endsWith(" "))||(S=O.map(E=>E.replace(/ +$/,"")),!/^#\d+$/.test(S[0])||!/^\S+$/.test(S[2])||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(S[3])||!/^\d+(?:s|m|h|d|w|mo|y)$/.test(S[4])))return e}else if(S=T.split(" "),S.length!==5||!/^\d+$/.test(S[0])||!S[1]||!S[2]||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(S[3])||!Xs.test(S[4])||!Number.isFinite(Date.parse(S[4])))return e;if(S.some(O=>/[\u0000-\u001f\u007f]/.test(O)))return e;i.push({index:g,cells:S})}if(i.length===0)return e;s>=0&&(r[s]="ID TITLE BRANCH STATE CREATED");for(let g of i)r[g.index]=g.cells.join(" ");let a=r.join(`
44
- `)+n;if(!t)return a;let l=new Map;for(let{cells:g}of i)l.set(g[1],(l.get(g[1])??0)+1);let u=new Map,c=[];for(let[g,T]of l){if(g.length<40||T<3||g.trim().split(/\s+/).length<8)continue;let S=`@${u.size+1}`,O=JSON.stringify(g).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),E=`TITLE ${S} = ${O}`;T*(Buffer.byteLength(g)-Buffer.byteLength(S))<=Buffer.byteLength(E)+1||(u.set(g,S),c.push(E))}let f=new Map;for(let{cells:g}of i){if(u.has(g[1]))continue;let T=/^((?:\S+\s+){4})\S/.exec(g[1])?.[1];T&&T.length>=24&&f.set(T,(f.get(T)??0)+1)}let d=new Map;for(let[g,T]of f){if(T<3)continue;let S=`@p${d.size+1}`,O=`TITLE prefix ${S} = ${JSON.stringify(g).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}`;T*(Buffer.byteLength(g)-Buffer.byteLength(S)-1)<=Buffer.byteLength(O)+1||(d.set(g,S),c.push(O))}let p=i[0].cells[4].slice(10),m=i.length>=3&&Xs.test(i[0].cells[4])&&i.every(({cells:g})=>Xs.test(g[4])&&g[4].slice(10)===p)&&i.length*p.length>`CREATED suffix = ${JSON.stringify(p)}`.length+1;if(m&&c.push(`CREATED suffix = ${JSON.stringify(p)}`),c.length===0)return a;for(let{index:g,cells:T}of i){let S=u.get(T[1]),O=/^((?:\S+\s+){4})\S/.exec(T[1])?.[1],E=O?d.get(O):void 0;r[g]=T.map((C,P)=>P===1?S??(E?`${E}:${C.slice(O.length)}`:C):P===4&&m?C.slice(0,10):C).join(" ")}let k=[...r,"",...c].join(`
45
- `)+n;return Buffer.byteLength(k)<Buffer.byteLength(a)?k:a}function hg(e){let t=pg.exec(e[0]??"");if(!t)return e;let n=mg.exec(e[1]??"");if(!n)return[`* ${t[1]}`,...e.slice(1)];let r=n[1]??n[3],s=n[2]?` [${n[2]} ${n[4]}]`:"";return[`* ${t[1]}...${r}${s}`,...e.slice(2)]}function gg(e){let t=e.endsWith(`
45
+ `),s=r.findIndex(g=>bg.test(g));if(s>=0&&r.slice(0,s).some(g=>g!==""&&!/^Showing \d+ of \d+ (?:open|closed|all) pull requests in \S+$/.test(g)))return e;let o=s>=0?[...r[s].matchAll(/\S+/g)].map(g=>g.index):[],i=[];for(let g=s+1;g<r.length;g+=1){let T=r[g];if(kg.test(T))continue;if(/…|\.\.\./.test(T))return e;let S;if(s>=0){if(/[^\x20-\x7e]/.test(T))return e;let O=o.map((E,I)=>T.slice(E,o[I+1]));if(O.slice(0,-1).some(E=>E[0]===" "||!E.endsWith(" "))||(S=O.map(E=>E.replace(/ +$/,"")),!/^#\d+$/.test(S[0])||!/^\S+$/.test(S[2])||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(S[3])||!/^\d+(?:s|m|h|d|w|mo|y)$/.test(S[4])))return e}else if(S=T.split(" "),S.length!==5||!/^\d+$/.test(S[0])||!S[1]||!S[2]||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(S[3])||!eo.test(S[4])||!Number.isFinite(Date.parse(S[4])))return e;if(S.some(O=>/[\u0000-\u001f\u007f]/.test(O)))return e;i.push({index:g,cells:S})}if(i.length===0)return e;s>=0&&(r[s]="ID TITLE BRANCH STATE CREATED");for(let g of i)r[g.index]=g.cells.join(" ");let a=r.join(`
46
+ `)+n;if(!t)return a;let l=new Map;for(let{cells:g}of i)l.set(g[1],(l.get(g[1])??0)+1);let u=new Map,c=[];for(let[g,T]of l){if(g.length<40||T<3||g.trim().split(/\s+/).length<8)continue;let S=`@${u.size+1}`,O=JSON.stringify(g).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),E=`TITLE ${S} = ${O}`;T*(Buffer.byteLength(g)-Buffer.byteLength(S))<=Buffer.byteLength(E)+1||(u.set(g,S),c.push(E))}let f=new Map;for(let{cells:g}of i){if(u.has(g[1]))continue;let T=/^((?:\S+\s+){4})\S/.exec(g[1])?.[1];T&&T.length>=24&&f.set(T,(f.get(T)??0)+1)}let d=new Map;for(let[g,T]of f){if(T<3)continue;let S=`@p${d.size+1}`,O=`TITLE prefix ${S} = ${JSON.stringify(g).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}`;T*(Buffer.byteLength(g)-Buffer.byteLength(S)-1)<=Buffer.byteLength(O)+1||(d.set(g,S),c.push(O))}let p=i[0].cells[4].slice(10),m=i.length>=3&&eo.test(i[0].cells[4])&&i.every(({cells:g})=>eo.test(g[4])&&g[4].slice(10)===p)&&i.length*p.length>`CREATED suffix = ${JSON.stringify(p)}`.length+1;if(m&&c.push(`CREATED suffix = ${JSON.stringify(p)}`),c.length===0)return a;for(let{index:g,cells:T}of i){let S=u.get(T[1]),O=/^((?:\S+\s+){4})\S/.exec(T[1])?.[1],E=O?d.get(O):void 0;r[g]=T.map((I,N)=>N===1?S??(E?`${E}:${I.slice(O.length)}`:I):N===4&&m?I.slice(0,10):I).join(" ")}let k=[...r,"",...c].join(`
47
+ `)+n;return Buffer.byteLength(k)<Buffer.byteLength(a)?k:a}function Tg(e){let t=vg.exec(e[0]??"");if(!t)return e;let n=Eg.exec(e[1]??"");if(!n)return[`* ${t[1]}`,...e.slice(1)];let r=n[1]??n[3],s=n[2]?` [${n[2]} ${n[4]}]`:"";return[`* ${t[1]}...${r}${s}`,...e.slice(2)]}function Rg(e){let t=e.endsWith(`
46
48
  `)?`
47
- `:"",n=hg((t?e.slice(0,-1):e).split(`
48
- `)),r=null,s=[];for(let o of n){if(Object.hasOwn(ml,o)){r=ml[o];continue}if(!o.startsWith(" ")){r=null,s.push(o);continue}if(r==="untracked"){s.push(`?? ${o.slice(1)}`);continue}let i=r?dg.exec(o):null;if(!i)return e;let a=fg[i[1]];s.push(r==="staged"?`${a} ${i[2]}`:` ${a} ${i[2]}`)}return s.join(`
49
- `)+t}function bg(e){let t=e.split(`
50
- `);for(let n=0;n<t.length;n+=1){if(!yg.test(t[n]))continue;let r=n;for(;r>0&&hl.test(t[r-1]);)r-=1;for(let s=r;s<n;s+=1)t[s]=t[s].replace(hl," $1 | $2")}return t.join(`
51
- `)}function _g(e,t){let n=[];for(let r=0;r<t.length;r+=1){let s=t[r];if(s>0&&e.length>s&&e[s-1]!==" ")return null;let o=e.slice(s,t[r+1]??e.length).trim();if(o.includes(" "))return null;n.push(o)}return n}function wg(e){let t=e.endsWith(`
49
+ `:"",n=Tg((t?e.slice(0,-1):e).split(`
50
+ `)),r=null,s=[];for(let o of n){if(Object.hasOwn(wl,o)){r=wl[o];continue}if(!o.startsWith(" ")){r=null,s.push(o);continue}if(r==="untracked"){s.push(`?? ${o.slice(1)}`);continue}let i=r?Sg.exec(o):null;if(!i)return e;let a=xg[i[1]];s.push(r==="staged"?`${a} ${i[2]}`:` ${a} ${i[2]}`)}return s.join(`
51
+ `)+t}function $g(e){let t=e.split(`
52
+ `);for(let n=0;n<t.length;n+=1){if(!Ag.test(t[n]))continue;let r=n;for(;r>0&&xl.test(t[r-1]);)r-=1;for(let s=r;s<n;s+=1)t[s]=t[s].replace(xl," $1 | $2")}return t.join(`
53
+ `)}function Cg(e,t){let n=[];for(let r=0;r<t.length;r+=1){let s=t[r];if(s>0&&e.length>s&&e[s-1]!==" ")return null;let o=e.slice(s,t[r+1]??e.length).trim();if(o.includes(" "))return null;n.push(o)}return n}function Ig(e){let t=e.endsWith(`
52
54
  `)?`
53
55
  `:"",n=(t?e.slice(0,-1):e).split(`
54
- `),r=[],s=[];for(let u of n)u.startsWith("WARNING:")?r.includes(u)||r.push(u):s.push(u);let o=s.findIndex(u=>gl.test(u));if(o<0)return[...r,...s].join(`
55
- `)+t;let i=s[o],a=[...i.matchAll(/\S+/g)].map(u=>u.index),l=[...r,...s.slice(0,o),i.split(/ +/).join(" ")];for(let u of s.slice(o+1)){if(yl.test(u)){l.push(u);continue}let c=u.startsWith(" ")||/[^\x20-\x7e]/.test(u)?null:_g(u,a);if(!c)return[...r,...s].join(`
56
+ `),r=[],s=[];for(let u of n)u.startsWith("WARNING:")?r.includes(u)||r.push(u):s.push(u);let o=s.findIndex(u=>Sl.test(u));if(o<0)return[...r,...s].join(`
57
+ `)+t;let i=s[o],a=[...i.matchAll(/\S+/g)].map(u=>u.index),l=[...r,...s.slice(0,o),i.split(/ +/).join(" ")];for(let u of s.slice(o+1)){if(vl.test(u)){l.push(u);continue}let c=u.startsWith(" ")||/[^\x20-\x7e]/.test(u)?null:Cg(u,a);if(!c)return[...r,...s].join(`
56
58
  `)+t;l.push(c.join(" "))}return l.join(`
57
- `)+t}function xg(e){let t=e.endsWith(`
59
+ `)+t}function Pg(e){let t=e.endsWith(`
58
60
  `)?`
59
61
  `:"",n=(t?e.slice(0,-1):e).split(`
60
- `),r=n.findIndex(i=>gl.test(i.trimEnd()));if(r<0)return e;let s=n[r].trim().split(/ {2,}/).length;if(s<2)return e;let o=[...n.slice(0,r),n[r].trim().split(/ {2,}/).join(" ")];for(let i of n.slice(r+1)){if(yl.test(i)){o.push(i);continue}if(i.startsWith(" ")||i.includes(" ")||/[^\x20-\x7e]/.test(i))return e;let a=i.trimEnd().split(/ {2,}/);if(a.length===s-1){let l=a[0].indexOf(" ");if(l<0||a[0].indexOf(" ",l+1)>=0)return e;a=[a[0].slice(0,l),a[0].slice(l+1),...a.slice(1)]}if(a.length!==s)return e;o.push(a.join(" "))}return o.join(`
61
- `)+t}function Qs(e,t,n){if(t!=="compact"&&t!=="minimal")return e;let r=e;if(/^[ \t\r\n]*[\[{]/.test(e)){try{JSON.parse(e)}catch{return e}r=ug(e,t==="minimal")}else n==="gh"?r=cg(e,t==="minimal"):n==="git-status"?r=gg(e):n==="gcloud"?r=wg(e):n==="oc"?r=xg(e):n==="git-diff"?r=bg(e):n==="tofu-plan"&&(r=e.replace(kg,"$1 = "));return Buffer.byteLength(r)<Buffer.byteLength(e)?r:e}var ag,lg,Xs,ml,fg,dg,pg,mg,hl,yg,kg,gl,yl,bl=b(()=>{"use strict";ag=/^ID {2,}TITLE {2,}BRANCH {2,}STATE {2,}CREATED *$/,lg=/^… \([1-9]\d* more lines omitted\)$/,Xs=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/;ml={"Changes to be committed:":"staged","Changes not staged for commit:":"unstaged","Untracked files:":"untracked"},fg={modified:"M",deleted:"D","new file":"A",renamed:"R",copied:"C",typechange:"T"},dg=/^\t(modified|deleted|new file|renamed|copied|typechange):\s+(.+)$/,pg=/^On branch (\S+)$/,mg=/^Your branch is (?:up to date with '([^']+)'|(ahead|behind)(?: of)? '([^']+)' by (\d+) commits?(?:, and can be fast-forwarded)?)\.$/;hl=/^ (\S.*?) +\| +(\d+(?: [+-]+)?|Bin .*)$/,yg=/^ \d+ files? changed(?:, \d+ insertions?\(\+\))?(?:, \d+ deletions?\(-\))?$/;kg=/^( *(?:[~+-] +)?(?:[\w.-]+|"[^"\n]*")) {2,}= /gm,gl=/^[A-Z][A-Z0-9_]*(?: +[A-Z][A-Z0-9_]*)+$/,yl=/^… \(\d+ more lines omitted\)$/});function kl(e){if(Buffer.byteLength(e)<2048||ur(e)||vg.test(e))return e;let t=e.split(`
62
- `),n=[];for(let r=0;r<t.length;){let s=t[r],o=r+1;if(Sg.test(s))for(;o<t.length&&t[o]===s;)o+=1;let i=o-r,a=`[tkr: previous log line repeated ${i-1} additional times]`;if(i>=3&&Buffer.byteLength(a)+1<(i-1)*(Buffer.byteLength(s)+1))n.push(s,a);else for(let l=r;l<o;l+=1)n.push(s);r=o}return n.join(`
63
- `)}var Sg,vg,_l=b(()=>{"use strict";Lt();Sg=/^(?:\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}:\d{2}(?:\.\d+)?Z?\s+)?(?:\[(?:DEBUG|TRACE|INFO|WARN|WARNING|ERROR|FATAL)\]|DEBUG|TRACE|INFO|WARN|WARNING|ERROR|FATAL)(?::|\s|$)/,vg=/^\[tkr: previous log line repeated \d+ additional times\]$/m});function wl(e){return Tg.test(e)}function xl(e){let t=e.endsWith(`
62
+ `),r=n.findIndex(i=>Sl.test(i.trimEnd()));if(r<0)return e;let s=n[r].trim().split(/ {2,}/).length;if(s<2)return e;let o=[...n.slice(0,r),n[r].trim().split(/ {2,}/).join(" ")];for(let i of n.slice(r+1)){if(vl.test(i)){o.push(i);continue}if(i.startsWith(" ")||i.includes(" ")||/[^\x20-\x7e]/.test(i))return e;let a=i.trimEnd().split(/ {2,}/);if(a.length===s-1){let l=a[0].indexOf(" ");if(l<0||a[0].indexOf(" ",l+1)>=0)return e;a=[a[0].slice(0,l),a[0].slice(l+1),...a.slice(1)]}if(a.length!==s)return e;o.push(a.join(" "))}return o.join(`
63
+ `)+t}function to(e,t,n){if(t!=="compact"&&t!=="minimal")return e;let r=e;if(/^[ \t\r\n]*[\[{]/.test(e)){try{JSON.parse(e)}catch{return e}r=_g(e,t==="minimal")}else n==="gh"?r=wg(e,t==="minimal"):n==="git-status"?r=Rg(e):n==="gcloud"?r=Ig(e):n==="oc"?r=Pg(e):n==="git-diff"?r=$g(e):n==="tofu-plan"&&(r=e.replace(Og,"$1 = "));return Buffer.byteLength(r)<Buffer.byteLength(e)?r:e}var bg,kg,eo,wl,xg,Sg,vg,Eg,xl,Ag,Og,Sl,vl,El=b(()=>{"use strict";bg=/^ID {2,}TITLE {2,}BRANCH {2,}STATE {2,}CREATED *$/,kg=/^… \([1-9]\d* more lines omitted\)$/,eo=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/;wl={"Changes to be committed:":"staged","Changes not staged for commit:":"unstaged","Untracked files:":"untracked"},xg={modified:"M",deleted:"D","new file":"A",renamed:"R",copied:"C",typechange:"T"},Sg=/^\t(modified|deleted|new file|renamed|copied|typechange):\s+(.+)$/,vg=/^On branch (\S+)$/,Eg=/^Your branch is (?:up to date with '([^']+)'|(ahead|behind)(?: of)? '([^']+)' by (\d+) commits?(?:, and can be fast-forwarded)?)\.$/;xl=/^ (\S.*?) +\| +(\d+(?: [+-]+)?|Bin .*)$/,Ag=/^ \d+ files? changed(?:, \d+ insertions?\(\+\))?(?:, \d+ deletions?\(-\))?$/;Og=/^( *(?:[~+-] +)?(?:[\w.-]+|"[^"\n]*")) {2,}= /gm,Sl=/^[A-Z][A-Z0-9_]*(?: +[A-Z][A-Z0-9_]*)+$/,vl=/^… \(\d+ more lines omitted\)$/});function Tl(e){if(Buffer.byteLength(e)<2048||pr(e)||Dg.test(e))return e;let t=e.split(`
64
+ `),n=[];for(let r=0;r<t.length;){let s=t[r],o=r+1;if(Ng.test(s))for(;o<t.length&&t[o]===s;)o+=1;let i=o-r,a=`[tkr: previous log line repeated ${i-1} additional times]`;if(i>=3&&Buffer.byteLength(a)+1<(i-1)*(Buffer.byteLength(s)+1))n.push(s,a);else for(let l=r;l<o;l+=1)n.push(s);r=o}return n.join(`
65
+ `)}var Ng,Dg,Rl=b(()=>{"use strict";Ht();Ng=/^(?:\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}:\d{2}(?:\.\d+)?Z?\s+)?(?:\[(?:DEBUG|TRACE|INFO|WARN|WARNING|ERROR|FATAL)\]|DEBUG|TRACE|INFO|WARN|WARNING|ERROR|FATAL)(?::|\s|$)/,Dg=/^\[tkr: previous log line repeated \d+ additional times\]$/m});function Al(e){return Lg.test(e)}function $l(e){let t=e.endsWith(`
64
66
  `),n=(t?e.slice(0,-1):e).split(`
65
- `),r=0;for(let s of n)if(s.trim()!==""){if(!Eg.test(s))return null;r+=1}return r<2?null:`tsc: 0 errors, ${r} files${t?`
66
- `:""}`}var Eg,Tg,Sl=b(()=>{"use strict";Eg=/^(?:[A-Za-z]:)?[^\s"'<>|]+\.(?:[cm]?[jt]sx?|json)$/,Tg=/--(?:listFiles|listFilesOnly|listEmittedFiles|showConfig|explainFiles|traceResolution)(?:\s|=|$)/});function jt(e,t){let n=null;for(let r of e){let s=t.exec(r);s&&(n=(n??0)+Number(s[1]))}return n}function yr(e){return Rg.test(e)}function br(e,t,n){return n===null?t:(t!==n&&!e.some(r=>r.kind==="frame"&&r.text===t)&&e.push({kind:"frame",text:t}),n)}function eo(e,t=()=>!1){let n=[],r=null,s=-1,o=!1;for(let f of e){let d=f.trimEnd(),p=d.trim();if(!p||Cg.test(d)||/^─+$/.test(p))continue;if(t(p)){o=!0,n.push({kind:"out",text:p.replace(/\s*─+$/,"")});continue}if(o){n.push({kind:"out",text:p});continue}let m=Ag.exec(d)??$g.exec(d);if(m){s=-1;let g=m[1].replace(/^file:\/\//,"");yr(g)||(r=br(n,`${g}:${m[2]}${m[3]?`:${m[3]}`:""}`,r));continue}let k=Og.exec(d);if(k){s=-1,n.push({kind:"code",text:p,num:Number(k[2]),pointed:k[1]===">"});continue}if(Ig.test(p)){s=n.length,n.push({kind:"legend",text:p});continue}n.push(s>=0?{kind:"diff",text:d,segment:s}:{kind:"msg",text:p})}let i=n.some(f=>f.kind==="code"&&f.pointed),a=r?Number(/:(\d+)(?::\d+)?$/.exec(r)?.[1]):NaN,l=!1,u=n.filter(f=>{if(f.kind!=="code")return!0;let d=!l&&(i?f.pointed===!0:f.num===a);return d&&(l=!0),d}),c=new Map;for(let f of u){if(f.kind!=="diff")continue;let d=f.text.length-f.text.trimStart().length;c.set(f.segment,Math.min(c.get(f.segment)??d,d))}for(let f of u)f.kind==="diff"&&(f.text=f.text.slice(c.get(f.segment)??0)),f.kind==="code"&&(f.kind="source",f.text=f.text.replace(/^>\s*/,""));return{body:u,loc:r}}function re(e,t=!1){return{text:e.trim().replace(/\s{2,}/g," "),minor:t}}function Pg(e){if(!e.some(l=>/^⎯+ Failed (?:Tests|Suites) \d+ ⎯+$/.test(l.trim())||/^\s*Test Files\s{2,}\d/.test(l)||/^ ?FAIL\s+\S+ > /.test(l)))return null;let t=jt(e,/^\s*Tests\s+(\d+) failed/),n=[];for(let l of e)/^\s*Test Files\s{2,}\S/.test(l)?n.push(re(l,!0)):/^\s*(?:Tests|Errors|Type Errors)\s{2,}\S/.test(l)&&n.push(re(l));let r=[],s=0,o=[],i=[],a=()=>{if(o.length){let{body:l,loc:u}=eo(i);for(let c of o)c.body=l,c.loc=u}o=[],i=[]};for(let l of e){let u=l.trim(),c=/^ ?FAIL\s+(\S.*?)\s*$/.exec(l);if(c){i.some(g=>g.trim())&&a();let d=c[1],p=/^(\S+) \[ \S+ \]$/.exec(d),m=d.split(" > "),k=p?{file:p[1],name:"(suite)",loc:null,body:[]}:m.length>1?{file:m[0],name:m.slice(1).join(" > "),loc:null,body:[]}:{file:null,name:d,loc:null,body:[]};p||(s+=1),r.push(k),o.push(k);continue}let f=/^⎯+ (Unhandled [A-Za-z ]+?) ⎯+$/.exec(u);if(f){a();let d={file:null,name:f[1],loc:null,body:[]};r.push(d),o.push(d);continue}if(/^⎯{3,}/.test(u)||/^(?:Test Files|Tests|Start at|Duration|Errors)\s{2,}/.test(u)){a();continue}o.length&&i.push(l)}if(a(),s===0){let l=null;for(let u of e){let c=/^\s*[❯✓×✗]\s+(\S+)\s+\(\d+ tests?\b/.exec(u);if(c){l=c[1];continue}let f=/^\s+[×✗]\s+(.+?)(?:\s+\d+(?:\.\d+)?m?s)?$/.exec(u);f&&(r.push({file:l,name:f[1],loc:null,body:[]}),s+=1)}}return{failures:r,summary:n,reported:t,counted:s}}function Ng(e){if(!e.some(c=>/^\s{2}● (?!Console$)/.test(c))||!e.some(c=>/^Tests:\s/.test(c)||/^(?:FAIL|PASS)\s+\S/.test(c)))return null;let t=jt(e,/^Tests:\s+(\d+) failed/),n=[];for(let c of e)/^Test Suites:\s/.test(c)?n.push(re(c,!0)):(/^Tests:\s/.test(c)||/^Snapshots:\s/.test(c)&&/failed|obsolete/.test(c))&&n.push(re(c));let r=[],s=new Set,o=0,i=null,a=null,l=[],u=()=>{if(a){let c=`${a.file}\0${a.name}`;if(!s.has(c)){s.add(c);let{body:f,loc:d}=eo(l);a.body=f,a.loc=d,r.push(a),a.name!=="Test suite failed to run"&&(o+=1)}}a=null,l=[]};for(let c of e){let f=/^(?:FAIL|PASS)\s+(\S+)/.exec(c);if(f){u(),i=f[1];continue}if(/^(?:Summary of all failing tests|Test Suites:|Tests:|Snapshots:|Time:|Ran all test suites)/.test(c)){u();continue}let d=/^\s{2}● (.+)$/.exec(c);if(d){u(),d[1].trim()!=="Console"&&(a={file:i,name:d[1].trim(),loc:null,body:[]});continue}a&&l.push(c)}return u(),{failures:r,summary:n,reported:t,counted:o}}function $l(e,t,n,r,s){let o=[],i=new Map,a=null;for(let l=t;l<n;l++){let u=e[l],c=/^\s{2}\d+\) (.+)$/.exec(u);if(c){let{name:f,used:d}=r(c[1],e.slice(l+1,Math.min(n,l+8)));l+=d,a=i.get(f)??null,a||(a=[],i.set(f,a),o.push({file:null,name:f,loc:null,body:[]}));continue}/^\s+Retry #\d+ ─*/.test(u)||a&&a.push(u)}for(let l of o){let{body:u,loc:c}=eo(i.get(l.name),s);l.body=u,l.loc=c}return o}function Dg(e){let t=e.findIndex(o=>/^\s*\d+ failing$/.test(o));if(t<0)return null;let n=Number(/(\d+)/.exec(e[t])[1]),r=e.filter(o=>/^\s*\d+ (?:passing|failing|pending)(?: \(\S+\))?$/.test(o)).map(o=>re(o.replace(/ \(\S+\)\s*$/,""))),s=$l(e,t+1,e.length,(o,i)=>{let a=[o.trim()],l=0;for(;!a[a.length-1].endsWith(":")&&l<i.length&&i[l].trim();)a.push(i[l].trim()),l+=1;return a[a.length-1].endsWith(":")?{name:a.join(" \u203A ").replace(/:$/,""),used:l}:{name:o.trim(),used:0}});return{failures:s,summary:r,reported:n,counted:s.length}}function Mg(e){let t=e.findIndex(a=>/^\s{2}\d+\) .*›.*─{3,}\s*$/.test(a));if(t<0)return null;let n=e.findIndex((a,l)=>l>t&&/^\s{2}\d+ (?:failed|flaky|passed|skipped|interrupted|did not run)(?: \(.+\))?$/.test(a)),r=n<0?e.length:n,s=jt(e.slice(r),/^\s{2}(\d+) failed$/),o=e.slice(r).filter(a=>/^\s{2}\d+ (?:failed|flaky|passed|skipped|interrupted|did not run)(?: \(.+\))?$/.test(a)).map(a=>re(a.replace(/ \([\d.]+m?s\)\s*$/,""))),i=$l(e,t,r,a=>({name:a.replace(/\s*─+\s*$/,"").trim(),used:0}),a=>/^attachment #\d+:/.test(a));return{failures:i,summary:o,reported:s,counted:i.length}}function Fg(e){if(!e.some(i=>/^test result: /.test(i))||!e.some(i=>/^---- .+ stdout ----$/.test(i)))return null;let t=jt(e,/^test result: FAILED\. \d+ passed; (\d+) failed/),n=[];for(let i of e)/^test result: FAILED/.test(i)?n.push(re(i.replace(/; finished in [\d.]+m?s\s*$/,""))):/^test result: ok/.test(i)?n.push(re(i.replace(/; finished in [\d.]+m?s\s*$/,""),!0)):/^error(?:\[\w+\])?: /.test(i)&&n.push(re(i));let r=[],s=null,o=[];for(let i of e){let a=/^---- (.+?) stdout ----$/.exec(i);if(a){s={f:{file:null,name:a[1],loc:null,body:[]},lines:[]},o.push(s),r.push(s.f);continue}if(/^failures:$|^test result: |^running \d+ tests?$/.test(i)){s=null;continue}s&&s.lines.push(i)}for(let{f:i,lines:a}of o){let l=!1,u=!1;for(let c of a){let f=c.trimEnd(),d=f.trim();if(!d)continue;let p=/^thread '.+?'(?: \(\d+\))? panicked at (?:'(.*)', )?(\S+?):(\d+):(\d+):?$/.exec(d);if(p){l=!0,i.loc??=`${p[2]}:${p[3]}:${p[4]}`,p[1]&&i.body.push({kind:"msg",text:p[1]});continue}if(!/^note: run with `RUST_BACKTRACE/.test(d)){if(/^stack backtrace:$/.test(d)){u=!0;continue}if(u){let m=/^at\s+(\S+?):(\d+):(\d+)$/.exec(d);m&&!yr(m[1])&&(i.loc=br(i.body,`${m[1]}:${m[2]}:${m[3]}`,i.loc));continue}i.body.push(l?{kind:"msg",text:f}:{kind:"out",text:f})}}}return{failures:r,summary:n,reported:t,counted:r.length}}function Lg(e){if(!e.some(a=>/^\s*--- FAIL: \S/.test(a)))return null;let t=new Map,n=[],r=new Map,s=[],o=null,i=null;for(let a of e){let l=/^=== (?:RUN|CONT|PAUSE|NAME)\s+(\S+)/.exec(a);if(l){o=l[1],i=null;continue}let u=/^\s*--- FAIL: (\S+) \([\d.]+m?s\)/.exec(a);if(u){i={file:null,name:u[1],loc:null,body:[]},r.set(i,[...t.get(u[1])??[]]),n.push(i),o=null;continue}if(/^\s*--- (?:PASS|SKIP): /.test(a)){i=null,o=null;continue}let c=/^(FAIL|ok)\s+(\S+)(?:\s+(?:[\d.]+m?s|\(cached\)|\[[^\]]+\]))?/.exec(a);if(c&&/\t|\s{2,}|\[/.test(a)){s.push(re(a.replace(/\s+[\d.]+m?s\s*$/,""),c[1]==="ok")),i=null,o=null;continue}if(!/^(?:FAIL|PASS)$/.test(a.trim())){if(/^exit status \d+$/.test(a)){s.push(re(a,!0));continue}if(i)r.get(i).push(a);else if(o){let f=t.get(o)??[];f.push(a),t.set(o,f)}else(/^#\s\S+$/.test(a)||/^\S+\.go:\d+(?::\d+)?: /.test(a))&&s.push(re(a))}}for(let a of n){for(let l of r.get(a)){let u=l.trim();if(!u||/^goroutine \d+ \[/.test(u))continue;let c=/^(\/\S+\.go|\S+\.go):(\d+)(?: \+0x[0-9a-f]+)?$/.exec(u);if(c){yr(c[1])||(a.loc=br(a.body,`${c[1]}:${c[2]}`,a.loc));continue}/^(?:[\w.*/()-]+)\(.*\)$/.test(u)||/^created by /.test(u)||a.body.push({kind:"msg",text:u})}a.loc&&a.body.some(l=>l.kind==="msg"&&/^\S+\.go:\d+: /.test(l.text))&&(a.body.unshift({kind:"frame",text:a.loc}),a.loc=null)}return{failures:n,summary:s,reported:null,counted:n.length}}function El(e,t){let n=[],r=null,s=!1,o=-1;for(let l of e){let u=l.trimEnd(),c=u.trim();if(/^-{3,} Captured .+ -{3,}$/.test(c)){s=!0;continue}if(s){c&&n.push({kind:"out",text:u});continue}if(/^E(?:\s|$)/.test(u)){u.slice(1).trim()&&n.push({kind:"msg",text:u});continue}let f=/^(\S+?\.py):(\d+):(?: (.*))?$/.exec(u);if(f){if(yr(f[1]))o>=0&&n.splice(o,1);else{let d=f[3]?.startsWith("in ")?` ${f[3]}`:"";r=br(n,`${f[1]}:${f[2]}${r===null?"":d}`,r)}o=-1;continue}/^>\s/.test(u)&&(o=n.length,n.push({kind:"source",text:c.replace(/^>\s*/,"")}))}let i=n.filter(l=>l.kind==="msg"),a=Math.min(...i.map(l=>l.text.slice(1).length-l.text.slice(1).trimStart().length));for(let l of i)l.text=`E ${l.text.slice(1+a)}`;return t&&!i.some(l=>l.text.includes(t.replace(/\.\.\.$/,"")))&&n.unshift({kind:"msg",text:t}),{body:n,loc:r}}function Tl(e,t){return t.push(re(e.replace(/ in [\d.]+s(?: \([\d:]+\))?$/,""))),(jt([e],/(\d+) failed/)??0)+(jt([e],/(\d+) errors?\b/)??0)}function jg(e){if(!e.some(f=>/^={3,} (?:FAILURES|ERRORS|short test summary info) ={3,}$/.test(f)||vl.test(f)))return null;let t=new Map,n=[],r=[],s="",o=null,i=null,a=null;for(let f of e){let d=/^={3,} (.+?) ={3,}$/.exec(f);if(d){s=d[1],o=null,i=null,!/^(?:FAILURES|ERRORS|short test summary info|warnings summary|test session starts|PASSES)$/.test(s)&&/\b\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)\b|no tests ran/.test(s)&&(a=Tl(s,r));continue}if(/^(?:\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)(?:, |\s|$))+(?:in [\d.]+s(?: \([\d:]+\))?)?$/.test(f.trim())){a=Tl(f.trim(),r);continue}if(/^!{3,} .+ !{3,}$/.test(f)){r.push(re(f.replace(/^!+ | !+$/g,"")));continue}let p=/^_{3,} (.+?) _{3,}$/.exec(f);if(p&&(s==="FAILURES"||s==="ERRORS")){o=[],t.set(p[1],o);continue}let m=vl.exec(f);if(m&&s!=="FAILURES"&&s!=="ERRORS"){o=null;let k={kind:m[1],id:m[2],msg:m[3]??null,inline:[]};n.push(k),i=k;continue}if(o){o.push(f);continue}i&&/^E(?:\s|$)/.test(f)?i.inline.push(f):i&&f.trim()&&(i=null)}let l=new Set,u=[],c=new Set;for(let f of n){if(c.has(f.id))continue;c.add(f.id);let[d,...p]=f.id.split("::"),m=p.join("."),k=[m,`ERROR collecting ${f.id}`,`ERROR at setup of ${m}`,`ERROR at teardown of ${m}`].find(O=>O&&t.has(O)&&!l.has(O));k&&l.add(k);let{body:g,loc:T}=El(k?t.get(k):f.inline,f.msg),S=p.length?p.join("::"):"(collection)";u.push({file:d,name:f.kind==="ERROR"?`${S} [error]`:S,loc:T,body:g,exact:!0})}for(let[f,d]of t){if(l.has(f))continue;let{body:p,loc:m}=El(d,null);u.push({file:m?m.replace(/:\d+$/,""):null,name:f,loc:m,body:p,exact:!0})}if(u.length===0)for(let f of e){let d=/^(\S+?)::(\S+) (FAILED|ERROR)\b/.exec(f);d&&u.push({file:d[1],name:d[3]==="ERROR"?`${d[2]} [error]`:d[2],loc:null,body:[]})}return{failures:u,summary:r,reported:a,counted:u.length}}function Ug(e,t){return e.length===0?!1:e.every(n=>{let r=n.text.trim();if(!/^[-+]/.test(r))return!1;let s=r.slice(1).trim().replace(/,$/,"");return s.length>0&&t.includes(s)})}function zg(e,t,n){let r=Al[n],s=e.body.filter(p=>p.kind==="msg");if(!t)return[...e.body.filter(p=>p.kind==="source"),...s.slice(0,1)].map(p=>` ${p.text}`);let o=e.body.filter(p=>p.kind==="diff"),i=r.trimDiff&&Ug(o,s.map(p=>p.text).join(`
67
- `)),a={msg:0,legend:0,diff:0,frame:0,code:0,source:0,out:0},l={msg:0,legend:0,diff:0,frame:0,code:0,source:0,out:0},u={msg:r.msg,legend:1/0,diff:r.diff,frame:e.exact?1/0:r.frames,code:0,source:1/0,out:r.out},c=r.changedOnly&&o.length>Hg,f=[];for(let p of e.body){if((p.kind==="diff"||p.kind==="legend")&&i)continue;if(p.kind==="diff"&&c&&!/^[-+]/.test(p.text.trim())){l.diff+=1;continue}let m=p.kind==="legend"?"diff":p.kind;if(a[m]>=u[m]&&p.kind!=="legend"){l[m]+=1;continue}p.kind!=="legend"&&(a[m]+=1),f.push(p.kind==="frame"?` at ${p.text}`:` ${p.text}`)}let d=l.msg+l.diff+(n==="normal"?l.frame+l.out:0);return d>0&&f.push(` ${Ft(d)}`),f}function Jg(e){let t=e[0];for(let r of e)for(;!r.startsWith(t);)t=t.slice(0,-1);t=t.slice(0,Math.max(...["_",":",".","/"," ","\u203A","-","[","("].map(r=>t.lastIndexOf(r)))+1);let n=e.map(r=>r.slice(t.length));return t.length>=3&&n.every(r=>r.length>0&&!/[{},\s]/.test(r))?`${t}{${n.join(",")}}`:e.join(", ")}function Zg(e){if(!e.loc)return`\xD7 ${e.name}`;let t=!e.exact&&e.file&&e.loc.startsWith(`${e.file}:`)?e.loc.slice(e.file.length):e.loc;return`\xD7 ${e.name} ${t}`}function Gg(e,t){let n=Al[t],r=new Map,s=e.failures.length>n.bulk,o=e.failures.map(u=>{let c=u.body.find(p=>p.kind==="msg")?.text??"",f=(r.get(c)??0)+1;r.set(c,f);let d=c===""||!s||f<=n.repeats;return{f:u,full:d,body:zg(u,d,t).join(`
68
- `)}}),i=[],a,l=null;for(let u=0;u<o.length;u++){let c=o[u];c.f.file!==a&&(a=c.f.file,a&&i.push(a));let f=u;if(!c.full&&c.f.loc===null)for(;f+1<o.length;){let p=o[f+1];if(p.full||p.f.loc!==null||p.f.file!==c.f.file||p.body!==c.body)break;f+=1}i.push(f>u?`\xD7 ${Jg(o.slice(u,f+1).map(p=>p.f.name))}`:Zg(c.f)),u=f;let d=o[u+1];d&&d.f.file===c.f.file&&d.body===c.body||c.body&&(c.body===l&&t!=="normal"?i.push(" \u2191 same error"):(i.push(c.body),l=c.body))}for(let u of e.summary)(!u.minor||t==="normal")&&i.push(u.text);return`${i.join(`
67
+ `),r=0;for(let s of n)if(s.trim()!==""){if(!Mg.test(s))return null;r+=1}return r<2?null:`tsc: 0 errors, ${r} files${t?`
68
+ `:""}`}var Mg,Lg,Ol=b(()=>{"use strict";Mg=/^(?:[A-Za-z]:)?[^\s"'<>|]+\.(?:[cm]?[jt]sx?|json)$/,Lg=/--(?:listFiles|listFilesOnly|listEmittedFiles|showConfig|explainFiles|traceResolution)(?:\s|=|$)/});function Bt(e,t){let n=null;for(let r of e){let s=t.exec(r);s&&(n=(n??0)+Number(s[1]))}return n}function wr(e){return Fg.test(e)}function xr(e,t,n){return n===null?t:(t!==n&&!e.some(r=>r.kind==="frame"&&r.text===t)&&e.push({kind:"frame",text:t}),n)}function no(e,t=()=>!1){let n=[],r=null,s=-1,o=!1;for(let f of e){let d=f.trimEnd(),p=d.trim();if(!p||Ug.test(d)||/^─+$/.test(p))continue;if(t(p)){o=!0,n.push({kind:"out",text:p.replace(/\s*─+$/,"")});continue}if(o){n.push({kind:"out",text:p});continue}let m=jg.exec(d)??Hg.exec(d);if(m){s=-1;let g=m[1].replace(/^file:\/\//,"");wr(g)||(r=xr(n,`${g}:${m[2]}${m[3]?`:${m[3]}`:""}`,r));continue}let k=Bg.exec(d);if(k){s=-1,n.push({kind:"code",text:p,num:Number(k[2]),pointed:k[1]===">"});continue}if(zg.test(p)){s=n.length,n.push({kind:"legend",text:p});continue}n.push(s>=0?{kind:"diff",text:d,segment:s}:{kind:"msg",text:p})}let i=n.some(f=>f.kind==="code"&&f.pointed),a=r?Number(/:(\d+)(?::\d+)?$/.exec(r)?.[1]):NaN,l=!1,u=n.filter(f=>{if(f.kind!=="code")return!0;let d=!l&&(i?f.pointed===!0:f.num===a);return d&&(l=!0),d}),c=new Map;for(let f of u){if(f.kind!=="diff")continue;let d=f.text.length-f.text.trimStart().length;c.set(f.segment,Math.min(c.get(f.segment)??d,d))}for(let f of u)f.kind==="diff"&&(f.text=f.text.slice(c.get(f.segment)??0)),f.kind==="code"&&(f.kind="source",f.text=f.text.replace(/^>\s*/,""));return{body:u,loc:r}}function se(e,t=!1){return{text:e.trim().replace(/\s{2,}/g," "),minor:t}}function Jg(e){if(!e.some(l=>/^⎯+ Failed (?:Tests|Suites) \d+ ⎯+$/.test(l.trim())||/^\s*Test Files\s{2,}\d/.test(l)||/^ ?FAIL\s+\S+ > /.test(l)))return null;let t=Bt(e,/^\s*Tests\s+(\d+) failed/),n=[];for(let l of e)/^\s*Test Files\s{2,}\S/.test(l)?n.push(se(l,!0)):/^\s*(?:Tests|Errors|Type Errors)\s{2,}\S/.test(l)&&n.push(se(l));let r=[],s=0,o=[],i=[],a=()=>{if(o.length){let{body:l,loc:u}=no(i);for(let c of o)c.body=l,c.loc=u}o=[],i=[]};for(let l of e){let u=l.trim(),c=/^ ?FAIL\s+(\S.*?)\s*$/.exec(l);if(c){i.some(g=>g.trim())&&a();let d=c[1],p=/^(\S+) \[ \S+ \]$/.exec(d),m=d.split(" > "),k=p?{file:p[1],name:"(suite)",loc:null,body:[]}:m.length>1?{file:m[0],name:m.slice(1).join(" > "),loc:null,body:[]}:{file:null,name:d,loc:null,body:[]};p||(s+=1),r.push(k),o.push(k);continue}let f=/^⎯+ (Unhandled [A-Za-z ]+?) ⎯+$/.exec(u);if(f){a();let d={file:null,name:f[1],loc:null,body:[]};r.push(d),o.push(d);continue}if(/^⎯{3,}/.test(u)||/^(?:Test Files|Tests|Start at|Duration|Errors)\s{2,}/.test(u)){a();continue}o.length&&i.push(l)}if(a(),s===0){let l=null;for(let u of e){let c=/^\s*[❯✓×✗]\s+(\S+)\s+\(\d+ tests?\b/.exec(u);if(c){l=c[1];continue}let f=/^\s+[×✗]\s+(.+?)(?:\s+\d+(?:\.\d+)?m?s)?$/.exec(u);f&&(r.push({file:l,name:f[1],loc:null,body:[]}),s+=1)}}return{failures:r,summary:n,reported:t,counted:s}}function Zg(e){if(!e.some(c=>/^\s{2}● (?!Console$)/.test(c))||!e.some(c=>/^Tests:\s/.test(c)||/^(?:FAIL|PASS)\s+\S/.test(c)))return null;let t=Bt(e,/^Tests:\s+(\d+) failed/),n=[];for(let c of e)/^Test Suites:\s/.test(c)?n.push(se(c,!0)):(/^Tests:\s/.test(c)||/^Snapshots:\s/.test(c)&&/failed|obsolete/.test(c))&&n.push(se(c));let r=[],s=new Set,o=0,i=null,a=null,l=[],u=()=>{if(a){let c=`${a.file}\0${a.name}`;if(!s.has(c)){s.add(c);let{body:f,loc:d}=no(l);a.body=f,a.loc=d,r.push(a),a.name!=="Test suite failed to run"&&(o+=1)}}a=null,l=[]};for(let c of e){let f=/^(?:FAIL|PASS)\s+(\S+)/.exec(c);if(f){u(),i=f[1];continue}if(/^(?:Summary of all failing tests|Test Suites:|Tests:|Snapshots:|Time:|Ran all test suites)/.test(c)){u();continue}let d=/^\s{2}● (.+)$/.exec(c);if(d){u(),d[1].trim()!=="Console"&&(a={file:i,name:d[1].trim(),loc:null,body:[]});continue}a&&l.push(c)}return u(),{failures:r,summary:n,reported:t,counted:o}}function Ml(e,t,n,r,s){let o=[],i=new Map,a=null;for(let l=t;l<n;l++){let u=e[l],c=/^\s{2}\d+\) (.+)$/.exec(u);if(c){let{name:f,used:d}=r(c[1],e.slice(l+1,Math.min(n,l+8)));l+=d,a=i.get(f)??null,a||(a=[],i.set(f,a),o.push({file:null,name:f,loc:null,body:[]}));continue}/^\s+Retry #\d+ ─*/.test(u)||a&&a.push(u)}for(let l of o){let{body:u,loc:c}=no(i.get(l.name),s);l.body=u,l.loc=c}return o}function Gg(e){let t=e.findIndex(o=>/^\s*\d+ failing$/.test(o));if(t<0)return null;let n=Number(/(\d+)/.exec(e[t])[1]),r=e.filter(o=>/^\s*\d+ (?:passing|failing|pending)(?: \(\S+\))?$/.test(o)).map(o=>se(o.replace(/ \(\S+\)\s*$/,""))),s=Ml(e,t+1,e.length,(o,i)=>{let a=[o.trim()],l=0;for(;!a[a.length-1].endsWith(":")&&l<i.length&&i[l].trim();)a.push(i[l].trim()),l+=1;return a[a.length-1].endsWith(":")?{name:a.join(" \u203A ").replace(/:$/,""),used:l}:{name:o.trim(),used:0}});return{failures:s,summary:r,reported:n,counted:s.length}}function Kg(e){let t=e.findIndex(a=>/^\s{2}\d+\) .*›.*─{3,}\s*$/.test(a));if(t<0)return null;let n=e.findIndex((a,l)=>l>t&&/^\s{2}\d+ (?:failed|flaky|passed|skipped|interrupted|did not run)(?: \(.+\))?$/.test(a)),r=n<0?e.length:n,s=Bt(e.slice(r),/^\s{2}(\d+) failed$/),o=e.slice(r).filter(a=>/^\s{2}\d+ (?:failed|flaky|passed|skipped|interrupted|did not run)(?: \(.+\))?$/.test(a)).map(a=>se(a.replace(/ \([\d.]+m?s\)\s*$/,""))),i=Ml(e,t,r,a=>({name:a.replace(/\s*─+\s*$/,"").trim(),used:0}),a=>/^attachment #\d+:/.test(a));return{failures:i,summary:o,reported:s,counted:i.length}}function Wg(e){if(!e.some(i=>/^test result: /.test(i))||!e.some(i=>/^---- .+ stdout ----$/.test(i)))return null;let t=Bt(e,/^test result: FAILED\. \d+ passed; (\d+) failed/),n=[];for(let i of e)/^test result: FAILED/.test(i)?n.push(se(i.replace(/; finished in [\d.]+m?s\s*$/,""))):/^test result: ok/.test(i)?n.push(se(i.replace(/; finished in [\d.]+m?s\s*$/,""),!0)):/^error(?:\[\w+\])?: /.test(i)&&n.push(se(i));let r=[],s=null,o=[];for(let i of e){let a=/^---- (.+?) stdout ----$/.exec(i);if(a){s={f:{file:null,name:a[1],loc:null,body:[]},lines:[]},o.push(s),r.push(s.f);continue}if(/^failures:$|^test result: |^running \d+ tests?$/.test(i)){s=null;continue}s&&s.lines.push(i)}for(let{f:i,lines:a}of o){let l=!1,u=!1;for(let c of a){let f=c.trimEnd(),d=f.trim();if(!d)continue;let p=/^thread '.+?'(?: \(\d+\))? panicked at (?:'(.*)', )?(\S+?):(\d+):(\d+):?$/.exec(d);if(p){l=!0,i.loc??=`${p[2]}:${p[3]}:${p[4]}`,p[1]&&i.body.push({kind:"msg",text:p[1]});continue}if(!/^note: run with `RUST_BACKTRACE/.test(d)){if(/^stack backtrace:$/.test(d)){u=!0;continue}if(u){let m=/^at\s+(\S+?):(\d+):(\d+)$/.exec(d);m&&!wr(m[1])&&(i.loc=xr(i.body,`${m[1]}:${m[2]}:${m[3]}`,i.loc));continue}i.body.push(l?{kind:"msg",text:f}:{kind:"out",text:f})}}}return{failures:r,summary:n,reported:t,counted:r.length}}function Vg(e){if(!e.some(a=>/^\s*--- FAIL: \S/.test(a)))return null;let t=new Map,n=[],r=new Map,s=[],o=null,i=null;for(let a of e){let l=/^=== (?:RUN|CONT|PAUSE|NAME)\s+(\S+)/.exec(a);if(l){o=l[1],i=null;continue}let u=/^\s*--- FAIL: (\S+) \([\d.]+m?s\)/.exec(a);if(u){i={file:null,name:u[1],loc:null,body:[]},r.set(i,[...t.get(u[1])??[]]),n.push(i),o=null;continue}if(/^\s*--- (?:PASS|SKIP): /.test(a)){i=null,o=null;continue}let c=/^(FAIL|ok)\s+(\S+)(?:\s+(?:[\d.]+m?s|\(cached\)|\[[^\]]+\]))?/.exec(a);if(c&&/\t|\s{2,}|\[/.test(a)){s.push(se(a.replace(/\s+[\d.]+m?s\s*$/,""),c[1]==="ok")),i=null,o=null;continue}if(!/^(?:FAIL|PASS)$/.test(a.trim())){if(/^exit status \d+$/.test(a)){s.push(se(a,!0));continue}if(i)r.get(i).push(a);else if(o){let f=t.get(o)??[];f.push(a),t.set(o,f)}else(/^#\s\S+$/.test(a)||/^\S+\.go:\d+(?::\d+)?: /.test(a))&&s.push(se(a))}}for(let a of n){for(let l of r.get(a)){let u=l.trim();if(!u||/^goroutine \d+ \[/.test(u))continue;let c=/^(\/\S+\.go|\S+\.go):(\d+)(?: \+0x[0-9a-f]+)?$/.exec(u);if(c){wr(c[1])||(a.loc=xr(a.body,`${c[1]}:${c[2]}`,a.loc));continue}/^(?:[\w.*/()-]+)\(.*\)$/.test(u)||/^created by /.test(u)||a.body.push({kind:"msg",text:u})}a.loc&&a.body.some(l=>l.kind==="msg"&&/^\S+\.go:\d+: /.test(l.text))&&(a.body.unshift({kind:"frame",text:a.loc}),a.loc=null)}return{failures:n,summary:s,reported:null,counted:n.length}}function Il(e,t){let n=[],r=null,s=!1,o=-1;for(let l of e){let u=l.trimEnd(),c=u.trim();if(/^-{3,} Captured .+ -{3,}$/.test(c)){s=!0;continue}if(s){c&&n.push({kind:"out",text:u});continue}if(/^E(?:\s|$)/.test(u)){u.slice(1).trim()&&n.push({kind:"msg",text:u});continue}let f=/^(\S+?\.py):(\d+):(?: (.*))?$/.exec(u);if(f){if(wr(f[1]))o>=0&&n.splice(o,1);else{let d=f[3]?.startsWith("in ")?` ${f[3]}`:"";r=xr(n,`${f[1]}:${f[2]}${r===null?"":d}`,r)}o=-1;continue}/^>\s/.test(u)&&(o=n.length,n.push({kind:"source",text:c.replace(/^>\s*/,"")}))}let i=n.filter(l=>l.kind==="msg"),a=Math.min(...i.map(l=>l.text.slice(1).length-l.text.slice(1).trimStart().length));for(let l of i)l.text=`E ${l.text.slice(1+a)}`;return t&&!i.some(l=>l.text.includes(t.replace(/\.\.\.$/,"")))&&n.unshift({kind:"msg",text:t}),{body:n,loc:r}}function Pl(e,t){return t.push(se(e.replace(/ in [\d.]+s(?: \([\d:]+\))?$/,""))),(Bt([e],/(\d+) failed/)??0)+(Bt([e],/(\d+) errors?\b/)??0)}function qg(e){if(!e.some(f=>/^={3,} (?:FAILURES|ERRORS|short test summary info) ={3,}$/.test(f)||Cl.test(f)))return null;let t=new Map,n=[],r=[],s="",o=null,i=null,a=null;for(let f of e){let d=/^={3,} (.+?) ={3,}$/.exec(f);if(d){s=d[1],o=null,i=null,!/^(?:FAILURES|ERRORS|short test summary info|warnings summary|test session starts|PASSES)$/.test(s)&&/\b\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)\b|no tests ran/.test(s)&&(a=Pl(s,r));continue}if(/^(?:\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)(?:, |\s|$))+(?:in [\d.]+s(?: \([\d:]+\))?)?$/.test(f.trim())){a=Pl(f.trim(),r);continue}if(/^!{3,} .+ !{3,}$/.test(f)){r.push(se(f.replace(/^!+ | !+$/g,"")));continue}let p=/^_{3,} (.+?) _{3,}$/.exec(f);if(p&&(s==="FAILURES"||s==="ERRORS")){o=[],t.set(p[1],o);continue}let m=Cl.exec(f);if(m&&s!=="FAILURES"&&s!=="ERRORS"){o=null;let k={kind:m[1],id:m[2],msg:m[3]??null,inline:[]};n.push(k),i=k;continue}if(o){o.push(f);continue}i&&/^E(?:\s|$)/.test(f)?i.inline.push(f):i&&f.trim()&&(i=null)}let l=new Set,u=[],c=new Set;for(let f of n){if(c.has(f.id))continue;c.add(f.id);let[d,...p]=f.id.split("::"),m=p.join("."),k=[m,`ERROR collecting ${f.id}`,`ERROR at setup of ${m}`,`ERROR at teardown of ${m}`].find(O=>O&&t.has(O)&&!l.has(O));k&&l.add(k);let{body:g,loc:T}=Il(k?t.get(k):f.inline,f.msg),S=p.length?p.join("::"):"(collection)";u.push({file:d,name:f.kind==="ERROR"?`${S} [error]`:S,loc:T,body:g,exact:!0})}for(let[f,d]of t){if(l.has(f))continue;let{body:p,loc:m}=Il(d,null);u.push({file:m?m.replace(/:\d+$/,""):null,name:f,loc:m,body:p,exact:!0})}if(u.length===0)for(let f of e){let d=/^(\S+?)::(\S+) (FAILED|ERROR)\b/.exec(f);d&&u.push({file:d[1],name:d[3]==="ERROR"?`${d[2]} [error]`:d[2],loc:null,body:[]})}return{failures:u,summary:r,reported:a,counted:u.length}}function Qg(e,t){return e.length===0?!1:e.every(n=>{let r=n.text.trim();if(!/^[-+]/.test(r))return!1;let s=r.slice(1).trim().replace(/,$/,"");return s.length>0&&t.includes(s)})}function ey(e,t,n){let r=Dl[n],s=e.body.filter(p=>p.kind==="msg");if(!t)return[...e.body.filter(p=>p.kind==="source"),...s.slice(0,1)].map(p=>` ${p.text}`);let o=e.body.filter(p=>p.kind==="diff"),i=r.trimDiff&&Qg(o,s.map(p=>p.text).join(`
69
+ `)),a={msg:0,legend:0,diff:0,frame:0,code:0,source:0,out:0},l={msg:0,legend:0,diff:0,frame:0,code:0,source:0,out:0},u={msg:r.msg,legend:1/0,diff:r.diff,frame:e.exact?1/0:r.frames,code:0,source:1/0,out:r.out},c=r.changedOnly&&o.length>Yg,f=[];for(let p of e.body){if((p.kind==="diff"||p.kind==="legend")&&i)continue;if(p.kind==="diff"&&c&&!/^[-+]/.test(p.text.trim())){l.diff+=1;continue}let m=p.kind==="legend"?"diff":p.kind;if(a[m]>=u[m]&&p.kind!=="legend"){l[m]+=1;continue}p.kind!=="legend"&&(a[m]+=1),f.push(p.kind==="frame"?` at ${p.text}`:` ${p.text}`)}let d=l.msg+l.diff+(n==="normal"?l.frame+l.out:0);return d>0&&f.push(` ${jt(d)}`),f}function ty(e){let t=e[0];for(let r of e)for(;!r.startsWith(t);)t=t.slice(0,-1);t=t.slice(0,Math.max(...["_",":",".","/"," ","\u203A","-","[","("].map(r=>t.lastIndexOf(r)))+1);let n=e.map(r=>r.slice(t.length));return t.length>=3&&n.every(r=>r.length>0&&!/[{},\s]/.test(r))?`${t}{${n.join(",")}}`:e.join(", ")}function ny(e){if(!e.loc)return`\xD7 ${e.name}`;let t=!e.exact&&e.file&&e.loc.startsWith(`${e.file}:`)?e.loc.slice(e.file.length):e.loc;return`\xD7 ${e.name} ${t}`}function ry(e,t){let n=Dl[t],r=new Map,s=e.failures.length>n.bulk,o=e.failures.map(u=>{let c=u.body.find(p=>p.kind==="msg")?.text??"",f=(r.get(c)??0)+1;r.set(c,f);let d=c===""||!s||f<=n.repeats;return{f:u,full:d,body:ey(u,d,t).join(`
70
+ `)}}),i=[],a,l=null;for(let u=0;u<o.length;u++){let c=o[u];c.f.file!==a&&(a=c.f.file,a&&i.push(a));let f=u;if(!c.full&&c.f.loc===null)for(;f+1<o.length;){let p=o[f+1];if(p.full||p.f.loc!==null||p.f.file!==c.f.file||p.body!==c.body)break;f+=1}i.push(f>u?`\xD7 ${ty(o.slice(u,f+1).map(p=>p.f.name))}`:ny(c.f)),u=f;let d=o[u+1];d&&d.f.file===c.f.file&&d.body===c.body||c.body&&(c.body===l&&t!=="normal"?i.push(" \u2191 same error"):(i.push(c.body),l=c.body))}for(let u of e.summary)(!u.minor||t==="normal")&&i.push(u.text);return`${i.join(`
69
71
  `)}
70
- `}function Ol(e,t="normal"){let n=Re(e).split(`
71
- `).map(r=>{let s=r.endsWith("\r")?r.slice(0,-1):r;return s.includes("\r")?s.slice(s.lastIndexOf("\r")+1):s});for(let r of Bg){let s=r(n);if(!(!s||s.failures.length===0))return s.counted===0||s.reported!==null&&s.counted<s.reported?null:Gg(s,t)}return null}var Rl,Al,Rg,Ag,$g,Og,Cg,Ig,vl,Hg,Bg,Cl=b(()=>{"use strict";vn();Hs();Rl=/^(?:(?:npx|bunx|pnpm(?:\s+(?:exec|dlx))?|yarn(?:\s+exec)?|uv\s+run|poetry\s+run|pipenv\s+run|hatch\s+run|python3?\s+-m)\s+)?(?:\S*\/)?(?:vitest|jest|mocha|pytest|py\.test|playwright\s+test)(?:\s|$)|^(?:npm|pnpm|yarn|bun)\s+(?:run\s+)?(?:test|t)(?:[:-]\S+)?(?:\s|$)|^cargo\s+test(?:\s|$)|^go\s+test(?:\s|$)/,Al={normal:{msg:40,diff:60,frames:6,out:20,bulk:50,repeats:10,trimDiff:!1,changedOnly:!1},compact:{msg:12,diff:24,frames:2,out:5,bulk:20,repeats:2,trimDiff:!0,changedOnly:!1},minimal:{msg:6,diff:8,frames:0,out:0,bulk:10,repeats:1,trimDiff:!0,changedOnly:!0}},Rg=/node_modules|^node:|^internal\/|site-packages|dist-packages|\/lib\/python\d|\/rustc\/|\.cargo\/registry|\.rustup\/|\/go\/src\/|\/go\/pkg\/mod\/|\/libexec\/src\/|<anonymous>/,Ag=/^\s*at\s+(?:.*?\()?((?:file:\/\/)?[^\s()]+?):(\d+)(?::(\d+))?\)?\s*$/,$g=/^\s*❯\s+(?:\S+\s+)?([^\s]+?):(\d+)(?::(\d+))?\s*$/,Og=/^\s*(>)?\s*(\d+)\s*\|/,Cg=/^\s*\|\s*[\^~]+\s*$/,Ig=/^(?:- Expected|\+ Received|- Snapshot|\+ expected - actual|\+ actual - expected|- expected \+ actual)(?:\s+[-+]\s*\d+)?$/;vl=/^(FAILED|ERROR) (\S+?\.py(?:::\S+)?)(?: - (.*))?$/;Hg=12,Bg=[Fg,Lg,jg,Ng,Pg,Dg,Mg]});function Il(){let e="PP04tkJYgQQ8d_PpzqK8LEukCCHNd_i0lZ4maSdWrgKn-AG3bFre1nbvK1-fYj5_7JMO1Rp6lvSXWphoeHztbZlgIhhshVMexbgWcS3MGXGU5aVSfS5X1X8594EkTNjpJnP6Nay8lydv4ZS6tyYS88_fDZRHdNLMOYNQjaeBvY6YBx4gVwLUCqip0EvN_HO79aXQ-bgmL3r4c_XvhKFBdAqBHIQh1YlzqjmHc_ZEVm1SBy402ukRVeZaZCjOb8aOniSEnG5Yn7L5TRFR_1R5N_xELXdm8zE3KKi2TNSwsUylGwwv6cRbKTMhzbSKAd5dRAhU5nkwRmDJQCehYsQkmS4yZLKDFOEi3EXS1veRkK8jzwpvkhgZoFBWsV-p7jtyBndaS0ju0l-eyrxSg09eYWekHv1nFqUWErVZoCyral9JrSEbTJh81DKecdHT-6fcT9RJKpdAjqE87fFb2hVWV4k5ql71yyE0of2VkkBiqnbWl8OsxmA5vhti1rMXSpN6KxCHniTklvW3loVQAb8f58lqSdLt7mlhaT-j6U9oyVowXr2JAhTE3gp6DqBpzqxCWBgfqVFrLOoFVK3Xi6vi0EoGaQFLZBGsTv5SmhDc1ljmKPIRJNty87OHAj28f1NgEsVrXNK0pZOZ-is281AYZ3iszdlj0hbx40t9kpAGxfhbNnQX1ISItyOWEezTFQUN2bniJTmW5e5do7Cfc8dZXXYEoCR6YVYakT1GPCXuYp3YWd8BGc4J5Tvyao0cdzL9dci5KFG8HlSx6L2ZozHi8C0lrRMSOS--y6Xm9AVCa94zR8TfuWFbENsfnHqH7gQWj1DRMQwKZT9MuZOEJ6X1LKSE4R6iHiWlRMwk1YaMTbGRDscy_3QAu1gbwxMTfFWwBIGNNJ9ffsjO8zX-x0BZCrFSsv8fA81mU6E1kqB-HRP0fFFszIdUgyPqjBrRo69dEMkkoHoEo5uIUkpQyGkcJ7382cNEKrwNnxfCo7NcAUHHqavyvMhPIofNjTcxE-ZaKX9DgTRQyUjlkS3E3dVbOAhi90TlgDh9et3CC2r5uRq4puWx7fW79-SOJgCXQ3pPWO7DkI0rLG5kdTI15d50LIJnvio8wV8hsliihLdthkHkZhuGuguttnZ6EkLFWHN29XMdghcjIhgdfEAEDL2oBPqyi5wJe3AI1qGjvj5PQpSExfK27dbpc5rgvxN0nq7ndY6ZAAI55hDCC0m9_ak-hr4p0_k5N2JzhgKxbqzxPO7eX2f_Sptvta2p7VEnozwy0mNBX80weM-2SV5CwjgDTLWG_H_Yx-_AWXsYE1PrywgZSYBapiCq2VEpX8HU_PA1aUrPUJScrfStr4w4LwNV6O74nk9MWzndX1Z41jnjCox6wi6wNH_b5F_2hUHEO2KOJFYPCatwQdlacMeS9P6Y5vXyeVJJDYBOB1pQwDrOOQs2citK2NLFq7uKX7cfij8_whsuYGAz2rG3FEYD7US_TEDMgjwgpflPWwGAo4crW8GkKehG-qu2QwCkpAcFWLRvdQifXIV0HQ4SnGi8EH3VxS7BuasEVHYG2XsTcVm9-KSozz9UFnA3ApA4PoC8q6m8AV4Dl9PJckg-b8-tIv7yu1xMBz-38jDoseXskQxub570WOKSxN_-0eTlBNgGNyjTXtB2r2Yt4IlHzzW4N9gRdu8K-UlufpYDbXIMz41c_NZIcnICjc6Y7PvcH3zv9xuUulzJ9x4GS335DQXTrb_CwTkyG0Wb_caYwVZY6CzhTDBHwKTlwrqfzZTZ_NR3O3fqWczgxNz9jAncc_Lw3P7PsU2LuO5OPO9p1zsOapKrTVXf8-1ewYvdGLMs28vMSOAklOS4YOaaqFtSO4vZdrzyeEyfY-mdbCZspn1QJKaYpgoBpUn2q_qfQpoVxMBAWTS9Cdune1NIrOFE_FoUGQeLA7C3bepUQYWKRWMP2xcpa46Afyg5PuXNCgWLSs8eO4AlIejT75NIkMXGRBecVGtIEaM709reJRbAwlUTHhD0pr2ZlyxHE-RmTplnPEDd8V7AJ1B42FC4qOfJF3LSOqXYbxiETVdTRtQPRbwfBzv6r808noamTAW8SwaMAAAyV0oj3MdJ0CH4Knu8UyKHkix43brLAqnWNG_CPc1jIfRkH7Bcc_h1kWAdWxmet2FKoeBC4g0K-EwuzepKlLpue63FE10NlahuD9epJ9Q8uWeLAh7zIpESkvh24t0KHc4Tkm3Mq_ywibUMyKXNpt3lewYyb3555-C2ez_bo6wlXUcGOYzjRyxdigiTCZRsShNpR2-IFk1kZ05fQWnnK9YjEYxCdipixqyxrTbD63hnBgodZNgYF4q-Dq0n-QvAIFUlBNVBTM_CnlnQVcbGEZMv2vrlC8g9bJj4417pvzxMuTktTvqPf7m7rF-EAuVm27NzqVuBApSloSFkqqCpdJzjWKJ_k6pTaCeeU8hoJN8oCbh7j0zAbwwH0YAozBqpOIwFnwM49lF-U3i6GgwUUkWBYBwjNMpVuxXy5lsM6UquYcxqws_Dk1xi5gJscSo8NMzCToPuUnIAeUVyIYkpQAqNCIRL8CqH4JXGDt6CfvaToWmRtfhxSlLRZ-QbH0CpDk85iVcDpaWoiCOI1r3Q6TuS9MOnr7GJR5IFgUa5mijYELbpcqgtzkZgkBXvzCE1u8-v1Ac4_pfUhxTKf9T_JZ94kvyZnIvBDprqfhuG9ACSu4w-wQFjPVGtilKGY86ExO2lnd7txVoO0j8_inyvd89E9Y3H3WkQVWLq9epNREneotb7sOv4HIqb0fSRe-2CVQZQxbKNBW929LHUFgDS7-urj4-aGvt7rx89VrPzVGfctwG6GV0oihpAlX90sms-7Dh7VHwxejqPc0jJdKp6P7DXr7OpEWthIcN-gvFBnx1zkGwal2eod0ApnUEfVjL7repfoHEKNYmUPS5CL3LnKLHe7V4NSTpEHXYLFqXv5LthANP-X7ZrUc47wyxffGiVhKJ2azv_AMaGLCu6HggDi10NJUsZU8PtHQwjRBcfYyJs2LDL8N82GqK0i2oick1xn42Y6pqBPRkTIEbJCbbOUAigyg5BrWI6ae8sOaQlVGcZlDJzYvvOoTryrRvq_Wwy6ywPzGCDzGrIV2UvisYRXwd0eXz-MyVdnRyZ4GM898aZdY1uYsDL1uhMU8dF1rjEJAf8DsGy-KGl_plRP7uB7vGwFKkjTnQ2MvdKkcd8Lq4puOuzS6wbESEx7FAb42Dq_omKnmsDXDLM9ZGbJdsr4nbmPwnSvkNtTNGobgNnoByLenidvrDdEpWt5y401A6Hl1BD9a5gUYTkMdcaQxXHHJrTx7cjF1FJPFYiiWkyRLv3rHre58Px-Uvp4IQRzzuj3gCfcQaT-X47Xb_goCFQhbR3O1GKO8T7R48PDblTnIuK0nsmz2UxGJS44Fkqr4gOOY8E8GMk5G2gVNlLF0-JBx97cuvyOjr48LDNF0oDht5FYi6u6PPgbDa8sxbEHTgOSM1Vdjqvxp80a50XC7l7K5wnBObQY7pAuPpn5TkLbR1kYk6JaTsNA2rA_ID7AcCyyFqCNyej7wk5MCUurpAuIJxx7qdH7nYg3y86qa1urCcu4EJ9XRpOqwe-tHO5xTqWs6YGV4fR2t11CPrDzemPDx-OYj1cAX4irC9E6puTQbOeBJ-TO1Ak-PGZN8E8CNG5L5PqKtYx54Lkw9cMX06O_gxc3gLkc4Nlm_mN2T7yrCwE1fRrIOGe4pVpzXBB_GTd0-PrxJe7IcOtZVidszbFONSCCzzQz1vRxSkPrUZx4S_1eJX18JMXNmumMOWnYEZ_3aeZgyxlsNkLzdCy9iz6Pqgyzqyu7lplq4NYsRrq82f99eOO8fq0rM23_0CMEi_tSm5aujYyilwTFC0oY7CfkRuoimsLo6ujZ-exresAEfOunXjsSoVJ5KFSIaGKcx_9OY_0Dw6VxiFtowPn9OQDXMg93p9GEi4kS_JsaTlT4QLuKWVGDAQSMRE79bqpIdSThULMCvNqzk8wSSagltpGTgukLoTq0e5zlC9qt21rjx-tYWuLGP0KcaWD1S0yoqnoeARc9FhYky6YXnSEd7Y2OSMl7qY4Ryf1LGziBghe8tAfJwd4X_QWg3TmaQhfSDoi18b9q1hvNndZSSEjIW66Kfxlcx-Fs3iP43gtE9FwOTPsU1_YWqwfbhG62LI8qgF1vnDhtywOHzPBQsuhy8ht7pTgOietjBHBsGXRt61gjPav-Q9gH2sS9v9pTRBxmyhRhilyyN3BR8pl66BvzLh8J8mB7ZgGqs3itN07X_GeEk-S0KamR8RrhDa_e3E7Seh5tyfwbH-fPFusB3CgO8EbEd2cVSC1fZWlH4g9Mlj4QQhTd_T-LdcWDt-4ND860IqkRdB6TkzS0hrBbQKYE8hlsozCbnz0kYTu2I8xc6tAvDOGO5Tl0T_ukb4r9KXuBv7QqeOEIgh4TC4FURmMLGreGernCmDYQepMjNJbNf0Uo_mg4HC_-L0PTsi0m0mH-LocIFu7viJ0TLu3wBMe6biRFf9Byd5bPvrqUSPv9E6MH_23485LVq7-_Pl0RcZC2PAeKulUV6DBP1c9sMfzLuADc6wDop8ylw_zYJY3l_5fD-JR2h1qwa0u3e_KB3GQP2g6X5KlIVO_WgwBjTyf1yGDoWAxZmvQLfcIjys_hz3zMRmB4xgxa_UemYre8N6mTVwsRTmW5aGhb6yWDi1cLhAKXMlNWl7qHwGiEi3-Cdqk5dEjz0nO-eweoHrUvMYItjfyalHiJwRdFdSg1HRt4-r1f8NJfl07PvGLumUU-7BS1u4CCNH5IrHz-tMrhtKEgVGtNayjPFDu7l3R-Id0mijWLlls9YLkjDRdiHy2w_shg3Tr2gBHWa32fZkP3nwQUPHvpOlFpWQX6653lSOu9eQ91yKAF2VzayysQeq1Hq7kD428pfO3fTr286f0EY2Gc6jD7NDGlbBtFHaCWipHP8S39nUfsXAYBKA_KkgnkNC9WkrN-a56lGuC_ge4iVIhQTLGU1_ASbQ3WQkp2cz_9Gd8ZQNdUMJQDSjucDXI7iP_vk6w3dU8ahDYFGTohwVFApD_X_yFQbtEJkcHMFUvJNF-mdAlcOtD29FniPFpoLIdVGMlB7PAp3fIZ8ZnVOpLeqJMOvTOFU63DJmN58BSFn6047z_r9w5K1J0jtj1Hw-PLVWUSD13PC3h8xP0bc4fOBCcDDUwZwpad_r0B87i-oeyR6YwX0uRqcdLJkJHKm885dAY_Hn_EWE1l6If7LYm40ptAjp3w-9FCrBCzCM36RY_45RJpTMa0sPP5M1aG5ozBckqBTvrledWj4_ZOm1Wlbmio0auIm7uXspBXbla90XnEooDSAhZwjP8YfPggjtLfXI5M7NdzyYD2REjok27lbzXid1odwQ6Bgj5gP1Hb7k-HxoJFBiYw4gboZ7_45UWHvMaRekagj2Bg6TCUjLFftj6zRXpyM74zmP77nzej0MQTa98KdNsbjYOIQcosLKbOFEvUZKp1UpVFwVpZ4vdiEO2VdHhL3tlDuPcRYE_RLdOdWWxL10l2NoKu6LA9RGuGHxVhY0lg2rfb6u9YXlUJgj8PiC8kOLagHp118AhbhoeZqqfFewtrfbpKoXw2AFTx4fRcg5kIsC6UhmowkUo_fttFIKEE8fCwiCHsDHK_3RGfr9DlRuCvt8uN_C3NRibNumsebMl_fUc3VStd3zmLl7toPF0BpQPh8wmxO0G7EQNfACQgtPatAesIjYsULe0rf31s6yFhZXTKyMtHJRLyOlIyM9KFDAaaD-OV38il8ws6UfTBabSUYe7H6JQOkKpniC6aIydv1dJ09oEt-SRhrmfxmdD8-Eo945kt00j5alqPXyv92dt9xj3CrDwDQbLT8_B5qqlS5Ei9xARRMSxI5zZJHksRTCA1h9V6w3HaoH8EnTFz3qqX3pQGYBS_TXB8Eloidu21cCljKmjo5oqwlcz1OeKsPZDwKpj2FwHBJSY24ny0u-sTJF6XBeW0Qyn5JyUvtHuVIFt1LYCz_-R5Job2X7ikmwc9nH9wI0t3MMZx0_PPyUCeXjLuhArzooKkF_Q6RqJ1MTnIrm7lWeJBd8DgCxxQRmBQccC7jfJJ5krPtP6m1r4cFKqorD4U_360EsZ-I2NU7eCrKV0bD1eC2agRYStHBzS9YEGBxF1tumyDpLBY_Llm_qeCTz-jF7aRPzrezZhYtsA2DWte7gokZ09mSdWCIAiIzWXmZYp5C17ArAZ-tQ-BwsjNe5QtAnNiS1VFtfPDee3MIctBFd7BCDdoJ1UCy0h59LhQgbcNutyrluO7qwKpijhFnjnYfUHCDgsrBjLwG9Ms124iINMB_DVTUPpxtHKnKz3fFtWWSMLJL3i71IyEqQoYd_emD0889zMZTGxCk_Uz7BkNq-Q-HPFlo-P0759Q9xvr84AZ58Ke8UJr4FwbSUuhgxaFt3P04q9-VDUWeRpZHoblldUAYrDDkG1XOvzby2CFk0iBAGpdHY2xZJVR9KyVoX_dY42GoPSvi_6MpbGzj56VdW1WoLvgb17GkthIyhhHq0JsfVtUcKsdmi1dDfeYVZP0fXx3AjuDLSm2f5lhGw04zFeAZBCgzOLrciNiGJP-l4Cd4zGeOR0aMAAyqXTmqTrTUlwVslucAO1z6nSkHXA1txxs7tQ2jmFid4m3T2bIudLwfRs5xYYNeiv0_AglSlGuRLZvvFOuclutCV1oLYpT5nAMCb6XbYwQCybQdsRfamerANrzy_8_qX7b5IAzBwwuvmmSHHAOzpyOIN1kLROX_GlsjBeN2DqD4tF42kQnEzHHQrBBoy6khG4K4RV3yPt8-Wa15h5mrJIwmIgaj9AXrVn4f4dx54K-TvsrAECX8m4ynnmAvP-KgFxc7OIiwXFHpTQEXjKINB1DcPrwzt5ld7lJw4crjzRew_thFrNmaveW4aBbv83PnEH1VizetcKFyJzdkYWiVyEp7dXbp6jAUb0hF1zrm7XqMYsi1NRbQq0Fdx-pRSEwz0QK952WR6Jz-oZ0pUvzieZAAvHXQqAknCz2OfkdORQ_YLwMbF2fQIynZvAi6r5Zb_sCSJ2DB-6e9h-KinDI3cptsYZA51Sr-Pb_2FG-hGax_0FVrm_ZolyZm8iJAjCaj9q9IfYCTjnxPgvb48_xU1HTUtUjWvwjZMHzg7Y9GrNi5GHADq8SAIDRtloROVVUtMazgVHrkqtAu9KSDuW2SJmhkWaJwVquYOg4Vovy84z4k16sjLWhiUh7b6zmJwvLS8gxGuw-tCBdsZbhGtCmDNwbHaQoLQTPRpIZW06uXp0Zb0B-_CaDXMiREPJOcOwH5DIkE1CG22BHPcbVK-QdgMHqW6idcOmWhmL3ljQrTKnj3ezA5kXzJoT-XsJ7ytGE3ZDtT1P5Lv-jc2iOQ9m1PYiJSkerwFEmc5cuVUYJ-YeOcAUz1gEnqEZnVjSzGszo5r9Xe6kvnsSBnFt0i9sEBhwfzSNYRrac6TNTmJXxHYb6uY9Tev-Yqd_sXhwm3Nkm22NoBgBUkoRtKT-qG8Qfygyx3O3Fn9WD-y0SvVx4HU6LvEOLuLSTZRkci4md6IJbJBJzghb1wb8Sf7uhyRIa-G1CzSBUpqdVzrwtTNIQp3GWeiskWcpRbFPhrzI5pjTX6yDjjLcWzLn0tS5UGE8I3XFrBh4mMgXT9BDlDsS1h5DupbP96uYjs_YsfsrzyN6ghvciLNIoYdUXeIeCgMUpkvUyKuKgiLAzm3_TJxccYxXiuz4ZVTuKQsRYgwWjec4qBTwx1zKUc4Jx4YhZ5A0dO-y5zDtTPPyv4y0mE_Nj0COLMfptygjdWBa-X1j0xbz28e0I6JvOcb-sLeqW2QaSwJdiRY-rizxckc3qvXuRztCsYDZXvCF_82Y3EX1aGeosAPC67IiiRMl18WJSc4GkH9_Xlc8tJTbiIrHWIsjHdDa3RbPPBC6llZGX_ze60SqRYm4KFFm6LrBHUfndpjM01kAyMsmu7Rz0u7QATqXwwHrFJXqmLzUqrxgXh4EKVV-JKCs1ivOF7fa3JKnCVGoa13zqptGdlH8UpXnbfx9_MlRyAnxhMMT7jtpZUT75pOPGgV2CX0k4oAVnOCeZBgdCf4Iv69-vLnMHItlpvGLE6UIGytEuYaJweu5W5VOUc7BNCeq2VkVnDZORyXH0iB2KxsdUEo88GC_5X3DEC3HG3hPoJ9Y6URSt8R11kpTuBrMjZpPgf7x2pIqzONS-SxqIP3Z_Z08frRuAlOTJTu0Hu4693a_9IwxrjVW2pwqFBJAxUKdqHBbSzqWDmclFAH55r8tZEPPHBu5jOghyQ7NwfTZSPG4PxmC877A9s2m31e7ckEMpD0ihjaTHxvv_ISbhgNlDDxvxzOnKwhgJ56_D7Af21E-Vq_0tMw7xMWxQ_lraiMT0qjxQveIOWSvZ75oYqslEANQHWsiAjH56IHifrSQmkFZZoY8ZnjRKNk7mSTkvGRm8Gwx3b7etFTLvB51spYwk2TW_dTvgBx90VUJf0Bi-NpAZZlrqYIMEsK-QhEszcZmeYIvko1WYU5UjaEy_hC8rr_FnlvvJQC35SHU4zDdkxEKL_i6Mf1KlLH6OckO2n4Bvq8Cd7LzjC67txh9orClt1P4APe3Q1FcfxEy1WFbGIdoO5YTFJc-L604hlrPW-Sam8lPIG9IPxjuqdSfLj1tVowM2KLxTqiPCac9vQf00gz3F2LXBLNzXF2Rh4jitB8DoEzY2R584sV1GXpMds99Ej2XhG35eW3HmWR1XdhGo5j-LQrWYhx98YYwbFtO8ZK8yOVNh6_TZGCVgBZDSdFnQV1pUxoiO5LTbYuk4zT2UXx1CI1a0krnCi3ojVaE1Lj5S7NL1jjk4gq6NAO8nySZ8EATMlXMwYWS6WdIsMhEJ0bNScxyvUWAN_DPgganLF5qoBv6pX8dUjIObDr2Yp52YffNq0ipjLo2AO9uZwW__-jhr-zQtQgDpTjm0QBrVDR7Z4g1Z0f_gqA_SGTEHW7xjiDgoVc4RFPWF7RQGJsQLVJPzyswvpqJ6db9yN1xA3B6yY5QJHl6JABWHnfnJjCow0WGPtsJxOi1IetMH4DzlR8-f34utMGaxLjKzV15zvPoAGyBs7NGMbwOdEL2Cfchf9mC9_A9Das8HvxkleG9Vth-J4j7d1c1nLgisJOh7beDZiKSNJaGc5MMgvtIgcxpywOsxbrfZcXozriQ8-E8JmzaqHP9bz21SBU3uax7sJ8VSKVD282H9_O3nctXLOzaLDf-EWOHqE0e2nKhiIDgR3n_bWOfr8DrZRBWpzeinSzlS0d6axFaIs4VWjqXt0RpYn3sZrgKwW_BIcD6lZflC1mOiWPyEAOFp0WtouIvbCAz3RgMFEOMXNIFEpV6OrtcpjRXPCwAtHmBy6QbLZ-eQjN3iFrQD25DB9zGgY0ljM2nAEwHD7NIVta6v06y1JDRAlVgcFQJv-mB2EPDTB3064SQowXwcBFaQF9lg0R5MOiXVhUtNDgOID8CpTKrC7n82ZW4mG5eHESNnaqf7QIIiFIMWeg8PIEJOptePbTV_7nVF3g7o5Anrk_PV-mGpHruahbYirvuhTWWishR05XuVp4_ElhPKem4cT-qsDt7Q0uG7KXBbd_r_K0RJb9KJpKQUTMaJnDb6tlSxghFiv8Uz-6oAgOVX4kDcrcmOfrPYKfpm_8RthjgvyTHz_4VV6keILX7O8Pz-D0KMd2uUUeUNdTVxzuYw-pHxRQzKuKGR_NBdpJG1qx8DYZhgvGntBdKN7gIQIR66q1RRK2YDMj0R7OLUj0cTtOYxbJoDlVchYbj2FCr9-Ypg2p3lehDTU77v-zCBt5TY-7AGSPAY1jR6wNjhO9nqP7xWlzd4zXcekRMGGx4_8UFyvJb_i_44crC0T0Ppw02J8ZZo-3o1w7b9nF1oYzDan_BjhNPeN_P4wExMQukS9Z2UA4ZqEtwWWpK4tPV_Y_MkwtJ5NYvr1RRqtEST0spL_uJnFA8ZUKonIwrGaw7_OmO7U1_S5vs9aCT-8n26uWXExLUyVvJwrsD7NH3MZfGC8WBSAZF4R2UNuaEmPFbEAKd7guGmBLbnADfvCIUg7vMWjWh2N0KyHBdTNBmAiaAM4WcM31Fg4ZS4Y-nfjKISOj0zRTQXFUYKrj0VhdYzaaq0k_Q37PoyTuBLcGInkbQlkOdNdsdCzI_6rnCP5Ue43OElTkBXJCB1CO7zmlWIC2TLi_v7Vh41l7JoBqLLjwHFPLjhJu6iUcVho_JPWg7wbHQc5Jf0YfVI4YCVHEArwE1U1zqR0kMqfTPhhk3AamsAkW6qsB2CEqAxG2dn_N60zp5dC1LiqkCPqIsEmtOJBrRsYUoacnNMTb8ZzCeNWHmDFOUnHqqzW4q_uxUyDA-vxoTIRd2XGK-9QO0pDH2Hgj_151j8oiqRyROjYKAdMdcJEc6Zd_wLY4D2Jlg9Ukgvwll2nxKYsSrFqEtQ9zhvhOzKjZLWL-Mro1iIqiHtWHA99jboPQ36rad6mE72W6xdaUYEHDMkQI--aLJQOtmjdd21quHIknaZYZD9JMC538mumyTuntw7gHgdac_AtrV22Z7Cz-DcbkXSAZ3QaK2CDbsV4K9vOPG3_SxGGU41wNWb4lm5-AC8cOdUUIkskORUnyHm_dHgcKqJKc8JYOZTHU32jnnM3_J7dVnmyJ4HaqBekhCucBZsbI4RkrnXTtYCzpf8WjVSiHvY1kG3C7TOIANEVTWJ66AeKzGTXevodnD4u5j-Zc2ywJnWFq6JKobdtJJtN3ebHDbbiFbVzmXnsEF2JeqVoCmkyCIjmf208Vf6Uo_iLz45JBd9ArmqcWOhZ3ntMPs-H3RlvDTS1Jwczv9JQW8vf29iwjyMRWyqIyVxkxF7fN1As5dfxBgUe9dxfmKLGRVyc7c9W-ObUcbxVbvYAKgttEy4H3H6EgbnKZvdk5Xw3mt0tbsZQ8J3ByEb9CXuyR0pN4qcnZkgsCS7XNph1xr92gAcM9tGKz4KTbEvZB-yphWQEqAkrn0t7ciYa6_0u3Dio_owPJHWcLJgnoqxrgTpnKQ98uaBVWvIDpcnytyPIrJlvzexim5Quun2mX1tJyBpT-HVaUH3wbtpSJj7O5JitFSmilgAae-1WlPLKelvIV53KafD0p27TfY7sIPWu9kVm0PaYar2KT-MftTkmLg5E69ha7aMpuA_2VjixNzZ14UzdqlD3SFlcglrwCSIQTEM93TyvpveROrNSX4TXIa329R9pGXQxUE2F0_xDFZvy_PXfsD5zhbZeILBRAmefxDJ9kVvrqZPws9X3vKICskGYM8WC2CDz-FkmXByZu9k2ALDakrtyKtsnSUMPFiU7mEcLe2fCFGsO1VevtG16b-I_l_PNFPOizqbD71sid7BWDsno9OnFWQb1I8HPwqJeLVCnRHFHkoqy55_ji6P_BHm68428kczjWPo6FbALqCtcLsJQBw5kSwtNZ4Wpk0nlR-sHgxZ4uzaI96ySO6fwWS5vle_24mO1eHhoBVJsodamr0_1_ZQhDDOfWR9V9eggrsntYTudAJIYwN_6xqACR-eKelycddWr7GVaXdiRENQYQKZOtE5R1IlI1p_uDFIzflHTHGeSaE7pk_3lusCnAX4dK7RZ79l79geeWn2RfpDa8Hyciy8SBYao6TmB59yA46mUTwfRQdz63OzmsZq37697u3uv8or5se-EdOUY7KQlAKW742VMwcQaiYGYhcofz3anDvsGq_rVuC6MsfgPgJPOfFP7b5-8Nr6f9bQ8PXeHY8K4rEg2G3gPG1uYH_NECJT8XP0uehZRbUFMpY0uyaJn87w_7VxF_ylbH_7MURATVDpsZGR1FGi9H7cwjXhqxre_gsfIEkioRsQLbv85JWZfvKck0eWh9G0zCHKGyQNuhV7gcXhLgyDMIqtpOo5iFUtygNGtpTtIDyPQK4rw8QlRc-DqGH7SR5Y-_t9ejmKWIS3dBNIdsznVyaSidgjdQ7Q_jkriZi1Tu3oqCkIsNSP7Yvd3JcEvt0ezXRaDiak4B-uZWtVIgRsZoaUIJoMO2YPgV5tbvPcy-CTyon6U0JeJLgazqeeHFlil4HEraiLhVg_A748jsx5-kivrBQ3lkDj3TKZgGgpG-Hzpn4HB9Lb9weD6DOI9yB3qnrTK-CE80TswNG7wsR47iV5i2lk6eJh8y2Kpb0llwTIRi4Kpm8oRqYSRWlnkHcA7bDUAUZOHgrPkorGfljjv3VPEnSYdgcYLZDUyaS2sL8SBXcGPJNptBodMOW-f-yeYz5Im7oiQ6yedU1TmaNz4mi0M3aHU6BzLPWxrwHSKaEU7sapdNmbmv3A-mstS15BqnV6Xx03k4SYPQ_jOclJGj0z3tZ27GZbvj7ewLK-ezorYmHoDWN9FhZwfAuYz0BiLKZq6SrNGOAxHqrzkQqMTS8fcGpNyJItTDi4IWx5pFeiKTXlvvOehRNEBNgMsyIvmxsodzwWGNbhCrQzbcPPQImxdZD62cuzj2sZmPf99kLYoH_tAFtdrULpRYD6f6Wf9GZrqaclbdGINCV0xmmWUU56Eucb2-qZAympAIFxBkY2CZEtHZR1m8kESZcqHyZ9biXzNIahYhRS8E-Xtxr6iBiUTMMJ4wKu8zNRCCMQekgvCOmmH4Hl7q18RyH-7YPm5R0txVufV2Ve1v1hG-x5ODqG_sWHkVZhpz81EttYDGBknVub7GEtB14VgL0gnk8uTzzrblBeue2GenDqlscn3pNVaJR13tmvlOSxi7-V49PSBCTG_f9X2yS0CYYCWKiXsJTIjnYI2B29eKHegERbUgrCGRZLX49r9VuFR25ptDuiBrhtDSmFoYZ-lBbMVhw0fNL9SjDuf1HDgqBGmvBXAkkGbVBbZwgEJXDSKXtyRv5K5WrrSKQG5Vt2UpJDndmp2Hr_QN9ibIr7EgdYdO4Y90FXmEeyZDEHZPV3SmnUOdJWAxHTiNcLZET_1vqfdvOcvVexpMCm9zNN1A0z1Z1AfGeh-Vv1r5Y4Cq5xm5IIdfrHrDTlBtNft17nZfpJ53qi4c6PhoSHV0uNDneD6CGknbj_feVCjt3g2XVV1kWfh3FTZY9AOQzbVwf3MVeRCfG-q5iIJ87PvtN7e_aLqke4zaSvE5sY39PxPwCj9p7lYC4mHrFd2b4tlv7S6I9oi9gcBApW-2QAnPBhYxsU0gwFFjrk7KDfQK9RqphIVrJkS_T2r2B8rQkg-jo7tJ8H1YUJDrVgrlnXlNb61A0qD8Mrp1XMzw-MYVRyuM5uiv3TuXszH1j0lgNVrQeg9c2FX0JB-tflBK5jmOVWAaDH7XlMrATylHUKmYl-9_4one_lGIltlvaVR67_6V4OKTSq3_-p7leK7VvzG3iH5Tz8RrlAz4DlaClBHN4owY5vNz7CXmU_-IwpbXzB0K5bqSllfTGcWkS1NTBIor5xtJf7iZOHl2YRpl8YqjEeiYVEANFGJ_C7VwSZrIlnQ5na3np5EpQp1Cmzr74-iL3dF-0vfumPajjqVdMC87qTOH_oFYqtTZRHjRoAC--9o-cMDGZe9tzlHN1FyIoPCA4_4cdnMiR-SDKck8QjWy7TVr7gitgCxHUPCD6NuHSaFjVVflrifzgAUKEA3lBALiXKD7bO0-EMjXMBEiGx-WPI7C32ylD23Yej5UbtSpt-lxSYeRiZOSG3TuXIcnsAONTpGdWhPeCIibqcuDrt9SKoddnes-583-HqcRrrcxaZjEtB-mlDzZZxl0rpWuWwkww-K_Gn5NC07mn2GXH2MnBhNoWEgD5HbqTM3fkebObOgNZ4Ql9nse2gA2SfFsu1u6BPaApz8zqXZtwwtLgMS-6mtqAf-wk2wWO-l4rZzGwVUHiWwEtFxhioPiY4wjhmX-_uxoXnAFDSmlXGEJL0PzF6KCg-42GW0tJtsxzOYcu3Gy8N28q0UAeESsTu1C4MiMTmo0btgyabHpR-AU2iIehQe71I73mP_8n6F5HhNeT9nNwXXik9qr-zBN1svO11MQ2z0SVemaKLwo9p2IoveID7uMJSj3p8pMyQvYp5q38J7cXx9aymon0gUSpZ5Gw7C0f16hbRDOsNiTKHfwijr0dmeTI-zpAOKzvLc8XcBBOsm9YfzT5kSV9WWWNgDVlwZBv2uZXBtYN3GE-TbOxjSUgpp6IdIeWHHThVQyLSTTGdNmjXB8vy8s3X2KCBdSaht-9hvDcyZn60nPFv6uv4P3XyyAjMa_eM8AXPsKpnMMN1clPllxzSaO6zBoKWqk4QnQrJgEVyCDy2uyyGmqU-5MKTyl5KfpJC-KBKi8O3Qqi2Uyuyuo5017lfzVzvL8ShyRxxGalEUL-P7eX1CaHYhWzGUO4a_ZAtgg-JDCYRDpwSVNn526uiXt1kt6gyUyrP779--m3-limnB06T63xPwRSqZgGC7y-iUvrjjgqlEJYhQr0XWXF82vJQDZM-Yz4EFCI4Omb0Vji1M1kUhdcJwUqbDLzF-v3fAWkrvdyMDfDk5bhcaoap_uWOb80ZhQXm20MxoDzbSpqSmz9sxMfOIqrA8FcLMEBJ-ayQpkE-DjVFXOaedUMtULA82_npUJxAMzDqBAwvANJz1rmnwF_OsrecUxKktBFOvrrpodEa2yBxyRxeBDSQh0J9r_fvLeCOexQCyS3eNQDe7YjjHhFyjmr8MtffKWtZFH13lW5P-Sq03BRjFuXWTk3WCdshrMwPPSBHpSagBivsATdZAE9JMLos2_bvsiOi-_8a71v9ltCl8MQrLLI37Jckr9U53APd9pUsSQ_gECOJOSX3Ir9aDlTqPaxTf-aKT-rDacahv0EXG4dSsFqtYFerP_ATVjA3Yc9RbcSJpPxcVXQvEtisR8hLuybwMPxZTJpS2TpieC2IEegNmEAyj_W9ceBNWcpWpO8XDckTfg_4JH8hsSHJJlUa8X97houpQD1QrqpvoFbpoL20G45qj9zsyCpZX653g6TOB916MS1pDT3aDUaQpCq-g4EKCSIKIYuWA7TEQdLXakHeUQardQ7uAUriWa46wKCkHWQ8-rfU_5sCy6woif9fuoy-bZ9wYf7sHRpOSV7-qtWJ2NwR8dQTAUISUaZVf33-GEj-9UU6bOMpXmXOf75fbzQi1CXYFuupI-5YZtrIE5GupNMehnDC2xrBQWHCh7zQiYQv4QXuk05r52ZfU0zTYbfLTD7f_jDKwNF-b760XTWtOEfJgNjbMQDMj3xe2JyVzBobU88cwcaY2VOo3_F1Wy3ulCNeD8fFRivq1yQH_8vktMY_cFYK60kNDvdzEnTkCFOfT2KRfPBrTggua-8T2Kw4NAdk-2iaJcSZspalp8Q-mZ5_e1TQcwGI4m3Bycd1RRgdjfwMwycaJcDOBm68_TMtsgxeHoMu7obe0ncVe6316-8XYfNbStNIRBTq5zJai1bJm3E6mAoI8PPVeY8LZ_2v34xyjJiKlVv6gwu4mNQzgat2pEPqwevvgWVisrRxbegjY0DBG5hP-723Fq3IRskPrZOK-6zCVWetj9mALMt4QwKYwUJxF_lGi0Xh2iIR8o7LTG7tHv6-DvPJcaDoyb6_NZNDJFgtAkvg6OGXH4O4BFU_QKWup1VT68ybKAqGX8U22lgJFTYSRzUTQN7qCNPkM7te21n9g1D5y0E-9bUs4la-YqKEtX-RuTHjhLn_I3W7XbVNjsCMj0X72R0vTHO0EuiE_HQsA4TaVixsjGa6iBjQSyJJ6StBaejsU2HHa3v_uC9AJuyjZLGGOJSS9YXrTgsL1aJ-Le8lZV5Fems1XLscvks3SG4ORHrrX9jKSEacX3uyBtzntYekmLe2tBnSx2ZsSxv-4Qs7oCrIrLzs4wwRUk2kEnPOPU-7V8CfBcgLz8BTN4GCT0JRbG8nYxM6asD53qECzmwlZpb51_luhZYVMxNKJvtJByA358tzAUBnkXxH2OZdkHq4av1Id6a6rSOPfBBsnIk9hJ7tS2xn52VI993kZgcL7Ka_iVrum-iz9eHtVYOO2Ex6br7bMQmvIzuXL_ACVlQO2Pjp4Ij4Kw5E-m9aCzRby4fLC_hqekJgTZCR2fjW01m2x0Ww10MW3cbZqG3QtkgqxQMPgX17lCApleqqwCL-9eTuX8Lq7ine_Ff0YlK_CoIq8HjEgyR_kEP1JiX20vdb9lvlXot4U1DsUHsJ-SsBOD4rqqDiyUr35CdLiBag6kdJ4fODp59T747MfUzlYpu310iuP1ZjorgACuJ1qEdI0R8247xXgOG4Ej0oKx12Xg9cNT6GzWdFHa4iIQidH2DkZ4x2uwj0LGuzbhLON6bX1_vwh2JUnIgodh7cm5z3zoA1_2UszUXbL7NEfhs9RtWfnRTD2q3UBlFFhZPSTYUqEfJvTHnvJH6TbAc7Ufg84Omw4Zci0MCeuTnt66AUMMgup1k4ER70SbgoXrd_1u8_mzFHg6_gQevxwV9iR7jCh-tsz6731UyzxxqSYhiH4biHZxuWeHQWmpT9nqDrFJI8AJWaScWc_hVhvckqg38kBAueXdDWwczWZLfOipA1_ZU5Oyw4WWKbaNBJTszk03ijunEQwHZS1EnNGteXJbfjQJuNLhdN3J_ksWn5p0kNeOrnXYe8rzYoaINkqb_f1JPnKR8h5Y1glN8z8Flq2V_Kgk7U0NRH80GfeRPb1MCel1OqIisZYiAIjfJgeiB9R2OqiRBym1Vjn4ZqsKcjwod35xQS3gCAZaZR1i2XaVPtk3Nkvx6MOh2pKt00RX_y-88-iBhzqEn3SrXfQxwt2IAnEOPdKCFOfpO75zYKYA_ChPfwCyBxenmTW0Lgdbhp7pI5QDJuaUtxZ9YzD6QsTwDorwsFiMxWnYvXHNnQKntgnzZyohnKH4nwQqM9gbJ6v1HIzo2FnTIcgk_ZTrwsIojae9L4Z_05Kc2_aUX706gzzBjI06MlIm631DsQmD2Y18Vsi-20T3xzVRp9td7y7r4vrdAHT7Il-jlmYDqi27LTXK_e7MZ4RbvX5cGzqGPOtS2tdeOjtXYJULxigNiOhaU_oTDONBg1nJD68HCZIhxkzS4IrBMJ73p8gRgSr7T_eifjg09CO1LqEGi1aIBF4QYQUwx_UxdC-LJj6j7hpvP19NjncllhnH8DocSCEmtl5pqBP4B4p4i8g038UKHR05oBvSKlrTeoy0PjSSnhwfwtMDQBCof-4aWNZlUPcl-zEo5rt2ML6p0awRDjDWOR5Cyj7Un2OseM18-x2BBEM-HGGVUgcY5-q9ukDuNPHr47-eFUjIyl3CZjc11xDzzSuoaA5J4QXHS6uHe_4PRTf9AZLJDwgHOjVJT2PjfAUm4pEFVJYENLzzdvzk6sboVyailtbIvrBaiVORSsAS88RtPHvRavmnY9SjIdbdja-K_tZzd8QIXzN-pjMRQpF7Y1Rh5dRUqZ5Hf-AqOepJ0SfBCZSM5A-sZ5NIljzAfrgLHRxpdrtLZLTjNkUqPPG6dY8gk7Kcsa2CWLMY5eozJL_SnVpK1SnYyodG38gvgmXZ20vBtzruRVTBPK-UXtnkdeLJXXts6_x8VIeNfkhld9VPOSqKiTTMAVQZzdEYNaS9ujtbigMcB2Sh9vYGKWzYcnB_prAc_c9uIQOgvcgO0V5mvQMjIhYl5sjQSLGiIqFKPJ_2RHegCQVLNJ0SE1h9rR9SZFyut4wuDwC1lhmRBdUvDYcRWmbdPYbIigD2EMHAnFGOosNqVrQ5JrFUYzslSew9mowpyv1MvB1K1wRkBBVk3te11ybLTjd6tiSp33qdvtvJ4947AKdC7woCKkJ5EN8I3MiikTkn8WaBtVWGqqzQ1lQFurqmwaAi29FRJxJqSJ11g3gDDAXd-dBnBW01Otvk2Vn2twRKeVJQZB6RHjaVIlqCZripEg583t3-hj6Gzl5yurIg-XLDnM1-c-WXTMDQ1tY0JmtS3NCOQzpgQPIcAuS6Db-I9P1BikwLQWGfq2oimZEx6AzcDOErTQxIPIu3jHGbg_fPhnor8FL020FHC_SVPTudNuR0xbvfj_ub7QtIfYB0W8hsqTLA5D_FrB5q7UTaWRZC4Pt1pJx8Y9H3_BTmDorSBE26wIuqgWY8N59Jcpnw-IjgIIE5aYThwZQMR-HsH9wH_FKUQXAavBVsL0r-FEcRfURBpsnyb09iNISY-GlJfoJIj2GEf215F2N_EJwnY8mBP-v9p13chRDP6TmRQxVnInBzL3NK55BiIIU9HzBQDJxQ6b-dJipfJz-8GvzZTJrnb0661ZwpWpgTgnOuJGMhatk0Tgjd_6PzyxVZjvIVKs1uSkCxGwdtl1Hf049pGzaGdl4kKKye4JUYCMcZF_JVmxt17mKk_h4-UytA8Fzk28QBCnpi_gHysBiwx8RjSFmnY-0VgOq7obDznAg8AlrLlfHb-VZswHCT63xef0eK4otV2MMSE9mE9srWkuYLCQc6yVslrECpPQRIVAxJsWbNKgu-rqZsaRZvEmrUHdzGuSHylBC1RNpEXHuBaqAVWPYbWu_80IG-PaKUPfGL4XhNl6QmaYv-x8nm_u1ltWa4x7vkF7QcgGoCrLbwOFiUHrubmImZbCcHpI5ZTSllr577P3k-UwZnqq0bXS5YrN2Gh3SDa_8kRgdxY16eIUqyH8tL3Z_PDYZFx2wUoPzj0jlgV4sMaA-0ImwZHe-o09dfz2ixOCgBTIgNebbaPrxfZE-drb6Xy0PLzN1hNsDcalKNMF3aghx1poaX-gLGxi3pfZKbPKgLbG7w_d3dqq57YCI8isCMnWlBvMjXbq63L9thhcKsCQo8C3NUYSS244bj4Y8E4NJklHTs5CHyPf5WHWa_5TuFX3hXJLTbF9Ffoy_F-BtAAG6_oCD5AdDzgsWqFY9BzoYgSqKaPVfU2MIBXrawibnhDh_DwO-gM_mVAHkGORnQv_wG10PtaIMxLiSeEM0oAZ-pVpxfRn3my_Ob5lWZLdO9fJ34foE4Undm2Xdl7DnHHLasiZKHuap_VBPrLN9WQPXuYGw9Yth8rLYoc9ZSPXEB_x26s5U4emDXHW1t1CgUqh5WUBwBdQ0vibNiS8hNLuMCEwnGUlbMLtEyGzqmavWWYYjFEfCJmEFyZvK_qzRNqI0AX0XL_9u1ni3CsW-sy6Wtvdm6JS8DENfpy7EP74aAv-w1rc6du5FQtLuoKet8HuW26lnRY1v_VA6a5EoMIP2MgPzTRrYBgSAWS6WeHusg8EtfQ1OAYDEMXANFptWUuwor2u9oB9OsLjS_kfPRGTbhgA1xZ5Zk-8R-mmMTdUlnyfQ9KvP6qFG9Sm5b7RVBVrvILrivXYBwShAyQORVoi7aULxR2r9Oxs2dHvz4ptbjCqWsy7o-I_2OxVekjWvx_u29gFiNfqC7irWp7_Ruh3ha0dSZruRyTlswnqakLKIH2t6hi0LxPTbPknHsLBTeBFiSEDMz1rlU1tkSEDT13WLOWA9gZZxqy9xrBWAeEsrmX6bQI86x8nFN4ptUykFF-fPTblnIg5cuPVOkYFUTCNUfpFXfnrK2WqcFqjaMP4KxYGPMPGDhguWL0w9u9rbu62b2IfEzl49ZzpFswIyRZU-5mniYhJSFoHv1sEsszsQE5uoQ_h3zGhbhGPWSGTMQ5WAuf6NLkp4woB3Yqm3wvisddzCuPGKfaDrUjB7m2SyMq-no8d-DC1fZxo_weseYP-TVPFcWEZpJsAbjrbMuEBhZxMuOkrFfXCAOw7hI60QOrAeoOYlSicuc7wc9NrxeAsGOKQ9wwDR0lAF12Xwq4VJt2p7NIBEOZSSrkOqOFegAkHQO_zNEfcc0JYyHwKmMpycVprROWwG4yJk9jmtipxOMOkrbffB7oZAzo63I2rbvDyVnhIg8kYzRahdWMyV3S-v-jk_RLA_QQzdzIpNx0dGps7iXcW4vyleDgob3nqExEQN7OKCBqraemQ9ym-She1G93zzyptopv42fkYS_3B8_zxdJX56RxSxG-LDBA6Cv2ID79M6Ac3eQAIqgDSoOkLcLm1TY_eeKl5gKKWFmcWwktAVX9Nug-IxLc0GLWiep5aG20iRG5dDAQqRksgG-CVuGU_yCNezk2EsrVvbJRupaowFFK_fNBPWTuOtmOrsNRoPHrMORoa9bQvM9nS0zL10PQGZegc3ROjH707IQFMCPd35cfWV0_PTsViUOarhfru3KerI40eB8-BZ0bdhwz1QcsVHSDR5SpYr7S1MjSj29IkzdHrImBouZb_Tzc55-W84fTYJitf0tXMJuVuYYU-F6WtUqgPCfgL7lYsYaSGkZTE_NgOdEvoL-LEiUY-zdamkLIrAgW_LwqzpzOe10LtaB7HtTwK3_szd1iRKmqw09yKYlhmwk-Y95JVbWxLuATHkzCI9l6woKKSMSMzpPaxxXkbeZfQWmgdirJumJcNOhr7F3oEogexBVzCb63Cn6a8VBgoNB9rI18_r5elZwiLOytaZOkwWCXROa4UU3pygnuwuSyC35wvlGNYs3U99QhCAh3urfFob8XFTvmMlB-RpnFI2-nU4jk-o0RVS6j36gv0uiZZ5qr-lTMwPYIt7O96bRFeaXbRqQZbBSe8x80O47cZ2X8FHz7rs6M4Ig19k1ZdduCUITfYUzLa3xS8kvv7gXqYqUPDAqohEpcymkVVZS1Zsw9micZvIpIZaQJWe3N7LdALbnFWyPrD1DPgKh7h-G9d021yEUbFpao2eBjqAlspgSkyj_y3JrY63HSTCynuwBb-UdAWeAFcuALiLqJJYFj7HTGtkZqEZbsUq8aKip5fQXPtMuip1r4h3AL1bnNTYNMHOzkHUc7E3Q55aBlKSKjfoOHIrJ3TU19vuS5WqNhbVR3vmcCbWBr5_4d7X1s9sICf8iBWt9HbgemWu0TlihrgrknHnL06Q-Cjv740ghEtXCeHMIZV7Tlg764u_bgy8OTUr1zqdQzozEz_OtuhjKbuGRalRuwZ8ynfQsyvGAmA37re2KpalVhrGDJ_0RJFAmknLd2n7NfXVt5XYUhOSkaTrk6srmlOl9Q6yQAm7f2Uki1AFtZP8Po_D2Mm6Q3fNscYXstcb7WO3CMnCETp2APmf-jIlZQk1L_t0lT656QNk9Br8soOQbwPAfJAkRvnX8RPxj3sJepqKq5ktw0iLsZsbUF5IRuNsH0NTK4Y5Bd14boHTg2rPVa_uSZG2Gesou5Jl7c92prN6s4hZpWzpl858w4oMPSXM9NfijH5YJhSRvFEgPThdF6PRAKGf_IP6aNB5m5-A1R3FipRkfyspPBbeauv71Hds_lphuv-RfTkx2mvDj_GMcM1-EPULdDQwG-BeLN2ylkodBvyA1tN2yBSGQr5xVK7PQWmVdY23cjdHl691XJWfmMbHfLdcpcZ2t4Uns03xfDsIGhIx6rioRD1vyFzKpYnQef3SNTUF3am06OYepsrXV44C9-8hQcovpxrvcdsvuXZqLA1SrJlQDZ8tVSB9qObOCUPMinMDGgbnFAFx6mpW2RiGrgNHcyyoVIU7qy4VckPY2qrLlGtU3L8SKoM3qK6z2uP7QoWO23KXK77xubMfOypzDJEGiGEmsGrmdDjsVACShjbEkKvmtGXOTb5X1KNjlLocbr3LdDM9gmPa9TVpZo5P_S4MUXdYIOG9SgEqeno7ax6CP9gxORlANT55FzTg09_RiHQl4Dv54g62V3LmNjW7Qidkzufz0jMYSe0v5DL-A3bZKlH9IEd-28ZoeMx70yPUDgCb1ZrBPHXFnjgXwbd7Zos5NGLhZ6NlBP7ehc05xB0cl8bELvRKPANfaQbVSW7eD9BfwdLGZs2_rEupuod__1gaG5pdbTAAihn9i9lt6ImS8BteNdoNLct5q-Ha6PAsgmufQjchmys6-JAVYmH-SszTadeZzW_y-X-Dg2O8HHZxCFSSpg4-_bH9nC4UCEJpPpFql1cCqLYMdGQVy0hfUFVW2InXTYEjC9uhz_qX12C89GIDoAZf4aF3W8xO2KRkrqiWbZjx0_ed45XQQiQBlMIGAbovleeaxP5yXt5b9C0OrK6xA6zm-9a3M6Ok2P9FdUfRiF8b07lSQuz5gQhUU2JEonBIZ0WUKChbr3rFOiWaak9exLEsZKoeT4jFE3WKLclnx2zhyJKTh1E_PMlW-tIAkqFlM0H-p1sJHUi97_Gy_Aa9sJuawYQLMiyA3lXIsRO1fHv0ZRyx3Afa01JaLY2akeN-MPz4D7WP0bqXkZuC00JxTUcUPpzyPjzCQF-9LmXg340KWrRQFwob1YrZPWf46VltJBotpZC304fVtnB85GjOlI3M-vweAIbBZDI6CUfsUV6fKbLXywRQgI68QkfutgYcwbNXfcN2mxgWz6csR8f9ZYiTk_oA99-ioI9PaN-W4jWfodECzUPugI6I5XP8oSgQ9NhPv6TLZxSTaoVdEbqml2gbPp6d6gsOGu9wFw-B49UvOmwzp1dE6cwLb0snd5ywOmw4eRjSaB7hfwuKwJuwGHUKKdxOdyM2pQqi_3MVokwcsOgRg_L5cKWc_0nmvufrFlSxsREIkculdzf-dykHftSmetUMruR3mxIk-yLm28krk-G6itIKVoG2gYVx3aCE7wQr3A9Rt6SlH6kp6zWEUpU1LWW9n-gyr-xhMf06wOqW3zIjl7VcsOJCh72ZycenZX1wO4Kxyw-DgLG5l84XGi5d0ZWigT1QKXJDbdU83p0SRzZqyi71WwCgSHC9HkFpxQkHzfZGGkwEBZvOO1fjTDEifE5S0JaNI24FtYPXADSP2YUHusdD8zU2IlxC7x7Ngn_oTCJe49v72TSXbsk6T7UcCo1pvqyOLiSE7kuWxGbrt0AaspwKLJzJz_d-L2iSQp6YTbUAe0QHKp1D3oVqTEDCBi6ewclKJH4LGZmwmAzhJzobfs509pWBzWkG4bvaUrxxsr6G1Zoc_TxoIAs8se43WZgFDdrBFGGV9cdXTSvlNv4oV4C_lHI25RGciS9kSuD5oGGVhwOLUfRGR6Z3rZd_bxHw2Qp9jEFGiHjRfI43XSMQPGFu-fc2Kls-v4q9nMdVMi8hXtUhWabt5ZVH8-iq7c6I7P5cwKeGAuFHB-9TX5bSqw2aAovppUyr6tMhafOR-8mvDjZcB__YCop08SYDI15M8BoVZoj0Kg6oH1-JBPCg3bC1NkbxD8jjOT0b4LhueLQIxIQoTNQdL01D8YXlRixN0m_-5sgUNrFswbyJxalfLqNUgJVfFtYmmFTYdiZiLt7KjAGptRHHIbw1JjrJa-bR-HJECTM89a92ZTAyrrAUWHpcRMQt0pbk8A_y6cWW9UjFQX0eLRpZcQhmToO1sBJiTbb9zq27B7WhiI8iYDkACbGyKcvpk1AZwkim1PyI6eloxsu5mtHpVfUJF3ebet9cTxfoC2ZV-76qK2-lX0VdWaQxoXaw75Ya6LbmfWDVP-yU2oDOP4PPdDgHsoybbJQI0wbKZDItYJJizNk8cB8p3afVRsSF48ADJTxaC_xPtggLRH4ceMggN4YkNOMmcsb9X9Hq1_tQEu7yTquVQgkR6oRipTC9nX8hO7Mglhh65JK2QNnyFCUk49jy8JoJ7rQvYaTVSGDBXKDK5dYjNkTWuuGSSeqlzZIBoye77nPhx-fooy3L6esgcvu7OCydVUhtvpREMDtL-UrljVd1JO9g576jdtaQBE-3G0Feh0BPlkI5niIfwmteOoN8Y8p6jiR1JGe4ss4-eZJWw1aQqT8MgNB0P4gcaykQ8VntrDR36MTAUyEIO1IepLAYQ31JZP8XdXc5EPwOnC6al_xNu6htKOxIO8RWVDjoNNtzinMnBpMUAXnfp49m7IewA2dq1N1hGzUm9vPp1M62TqONHuwzf9cvM_ymOKfNBX6vUxPULaG821UgvWZrHVLPuxJYWLy6DEBaw7gsMTdtluCcZKJ8d4zFEVhxZirmm9KjHi2YLeD_-v9N6VRyrFV6WQQBR4Ec25zfAwjrKaxwVCjytkV51RpCkcf18ulXi122tH7q7aBRE99kBopAiRQ01uMBrx8H1ND3yFC71xiX-r_zs5iX6zum5gpOs5YIBN5lahyQzfetu9wziAOct7XK6If2B2TRc52wzxCjywFoDSiOwY5tze2ZHmNJAcDsVrZeCQC4mwz6r_sVbEPHN9dNq8YGLlOAnpaplY4XdWY5wnu6d-j8VnTVm6qW1b_bgnKvuPuzuFUcXFdv5gAIWwZrJH1AmnUoufxjnLKH_Bw6wnyxaCGAmTZjB7nMsY3OmJdl3ANSorKe9pMTOviKOPTHGgPxpU6kfcrV-Maps98rMAVJSEcbcTUfYvrv2FPm9Mhky141zxNEoWXz20hWn4rlInqCHN_nzpUR9mpLZzTyhy5xvZLrLZ9sghc2QHH1e7tlBAcTQqbFd0uA0mC1vlkKrOkIXUN6tDoUTUxgz5-QmpobJpr5aQhz8PZhn6o3LFHFYkHaoCQCkJYI1vBGxgzLYanDphSmm5qs1uluUzLzXmS-AJnYf1PrJKJPI2BA_SSc1U0p-ts3S4twQlPCfMm6kYjXD7C-95iAdmW8X1NlEp5hEI1kakrCuuPVCRc8X00uzAtXizWvPgQCDKUD7AJSPC6Nv94wId5VDxN0ZHU-XKZkzZpwwbczV2P6bHP0PAF10KzlHZfzu2h30Qq9mRVNIpk8NbWkMndrfMzr6kydv0uXRgjKFvZUtdwTKU6VpIcql-msKPrurhOYxH7iKGehSie5uLMrCU_hJQi7bsUmT4XmynTjQaWaNPK_rOWeFiAo9x_4-0b8TOIRuBtmkhoFQDVz8_fh32ELEidhNz6z8liaTqh_U5kmp8Gzi6qLdusEYsqFsinxGSf0Q55U1yAYXj96S-KxDXjNAtto83QmxDy0aU8bMI-VSkqR-5EktF2UpU1apOAPjBNKynD7ZJIeyoGoe1eqJBu4NPfW8WG2gsZu6UXCQ9rmAQA0Mik1vEnE5i5sIGoT36KhCd48556MALJfXdq-q25SsWysLytvDTpr6FAAZTaExZXhB5m-r1vBCeHp2zahiZhCdBeHGjThu6Fyeg92wSg_mkFNIcZXRSBF57KHyekKZscv8oI2EMvTLBXOvUnOKRGyLVb7JKI08K2d9Pr395_3_0EgkvXEybJq2aqr_QUKIJsoKQlMpL43aMeebqUkNt0j6YAY4-ffLgA6XcKdGzyNAwONo05d9Zi2nn5BuTzINczVpEYmUQi8Yc1Ii2RuxkenFpPfhuEltOjYOl2_HKl1xi0B2TJZMtyzp188Z_3CvucruVoa74ligThSzKqEClbDLhHi4J0RnQorNX0LXOHfttrXAM0xZVMG0cK-LFEym1J12503y14kRO3m7eSyBooiMoJs979f6DEdtpLcRsphtvo35PFMShqKuCKZBwmAu3kAal0aqAre5uadvQWO9asWiABoomIog_XEzEjTMtHSTCCHbgGhS6C_4KjYZuzKHN618FQ4joLsC4ermUbccYuZIiZ0iB1PiOjjejbcYlH4-wgQ3eI9ciex6atSFK38cjjjeZctHWPjpvyW1rTTa44Q47L8z0_O1GxuPzFzUOScxeGl358_wRHcohC8ZxWG6GoXkhpBkObE5trja6PNYGN3YFK5DmeEPxPO5wvcodSSqDcElo-l4ls_oOql0BQ1JLZsS3EFLtNHqdDIcjd8s-1LfLlINLBxSZnNnsA0irysfQsixpGe-D9Lr0G1nhCu9mZIb8bSA2i-I2W6U4uxsaS-9nGgqs_wq1jUpKmNNNSg_EYHPqmFjzFxuFiOd_WrbhMc6K1T6mAIEzPGxXQJ_Yv78kFb_LITgaMFyKVlIVPxMDPx0qBlHXX6yg3b_CvEYhBWyy_TNhVYPDTOZfaeE8ObADEa4yCKqSwfhrzf9EVeQiEd9ThcWMXJ_XnH9_AKdNR5JUor09vyPnbLRWzMDXQ94sGwCS5vsUwI-KGHzDLW0Ic8Wn1quTGOC9eXFNsNGmUz1-hyqXZeSxQj8eW_O060YG3p53FTOek5PwvrIgw5YO5lfNQadCZlO_KTYZ5qb8XLr8OHaBHhKwdbHU_iwgLyA00ZM6xzWCW9leBR4rYNfJmKDP6OLlechL7slGqjZbDXEJU6V_2kVv9fJhI_94dUjlw5JJFjn6IqbQvCZlE56i1ehudHhEVk8V0W8I_LiLUd7yXBXVsb7ckMuYnsHyLzPUzVpaMiO3wf5ZDO4W7Jem8bZSFC-JsCIOakJ0auj2Vewya1WnwkdcKgHO2n780agrqh47ut8SHauww3UX6n0VrrMUk-pP0bWf7GnYSgfwvSYdw1TwbshY9ARUZl0s2MUQCcqNkIT6Ij6CwDKW2OCy3gFQhUqsw_qIA0298pVPKwtrC5HPV48cqkfFJ7J_DjxiHR045TbSR6Iq8F5bh93VqOboLEnfMv90_da-TtFdwhUYPn8CaV7LGFLeG2_JiggP2uAPLcz3G7s7moNSIlsBQdm88w5A6lyNoDNbFRBOCLi0Zjg3ACpQkIZeLwhVMWQt1_zBlPR6Y1oAMDMsG5JyIvMd8Z3m_YVUqAxM0cYeUqUjfUM9Fh0g_ioWgiKOWXI1yvz3E-sxH5Yj4fotYg0wYn1pz6RxT8Cqrv4PvdCJ-lLnDdnaRcrmjFNdh0wXIDmjtAH1m2GlV6wf5bl7FzfOxG6kaxXeXYooLp57gBGUJFWuIeuZ3Qq291TTdSzNjkcMNCBHd57tMKqjkKZfbC_2s-ifRHnccte6i_D8uxTVlZHfenh66VaQX1oCqS11JnGM2b4XgusSmD33gWECXnabILYQhw87_65NYkWFMxWrhhe8eEXO_Fy2rh9f1TVJwbMQgoU2ySCA-Kg8H4aQ0bDIEvDP4GeRXXUSxukwWYUQWnmvQRSZYsCwjqEQsduFsWFxk3lKjQzWZJ_PowmK9myTR7jsGL3RwUu0s_AP9JFAPLqInLZy3wsyKI2AOfwXRb4-He9OMGZ-7r07UAD4VXG7IVUncGTYfpnNSD4zGxfK6EwCqAiDBZc-xWkVvB13P3I8IIz_9LMrgiG_GdeM5JN6VGPyuifjhBVd6PUusceg-Biei-6OOeW30zuVIACg6aefJ1snvfN_kUXGRKVT_0vMMSO-d0mWjCHFbVfL7aHHB507vy6aEUxIH8eiP4YeN7JR3wgwsixVPOIrrp0jR2W7ammO4XdhjdiNF99zmhu0SSAe600-gNChBq35xHjEEGFHSWAnhbsEpTEwVEQnZ5cOAfTv8OYcmcrKn-oA3a9zMV7ws3nRgTXlOhvLLlkkZYVi9fnv5csDgCN7iij9X3K5FRO6BuqlrTe8sxHUJ1dLdD_6rrkfccaX42thmFIBdVgJFk4qUMXM1KPALR8rk3Um4ti9zkwPYPyrLRrA1bwh_qtgkDT6TjWCvfzZM9Idv9nCUC706jo0tkY_QF73UtPiH60bLkb3qSsu5FCo5k-1-fsTWbEmtOwTpg51qOzQJRAhay0cmqZ1lLIrtCKsmFWTBHfVnBVuuOJMZKeTbdysYelm_eRY2oIvOybtqCSX1pfDezH-5A3KSpfY59OJBj7PnmLX4IdH94cF_fEeYBDZG2GxshrOuxFNFjAe69o1jdd5j2n0vsvhTx1Tq0KeFNCnel5xr0p8lv6RH6n1jnaH_ZBLuFN5WhUn6GpEijul564wwB1V9DSYNCcvAPIyFHbzMzEyeOLYYo341tF9XkeHUhIWAMrTI-j-drdFyA8gXnuV0YWAD8RGwjcnFcOMZigAkaJXyPkDRlg_N-hNW7jCwbXqeMjasYj6oMO-r5Umv8bhoN5_DF0tb-lfpG7P9Dd1SWB2ednFjCDVli9KEfHpx5ccWlyfg2_9RGsxKRCVT1ieV8dPzvH3un6YkJXeQlzD-ilkAGlytp2eJASkvCtAeuM-GfPkk0QZZWv1uP9RyFlF4jwqrBTCMijaGM7JUbgZbP-pD36PZFAKmV2Q36sCBiIDiIglR5lEa0UUPCRCsHT5Db9N56dCQWR3x_iL0kS3Qvd6WVfJRioU26K5CGkl5upTheuHRrvO1BT5UeYWLe-ZQ9tJZf5hSrI6gviuVBMfBCOeTyRruFlxEp9Q1VcIFXnM81c8rM31FqxElmw2Hh3EkDjBgw63oWntjlep7fW9OFuePRvnO1nU9v0P2BsoMypnYDDNx3WlHashGVzDgmyX6aP0bC-ADBWNGIAv9007awUkvVXvk5Q_ElyAcJwgTFh32NrozLMf1UOxy5Oeek9yDvAyhagixohZ7cei3J3WuiO4qBUZIlhXInG7i7fFae7myRvTToFDu-lQC06CPcAgFPZoXYSOE5xf6Nf1LiTXsJKG55rGZVeyPlaIYB0f5B606RT3EkuxLPgOXV3bgsHIv_QtwoqASq6G4xlbmkfU5CyEKID0VMG5TVUtZSFVrIUWVuutXVpvyN0oxh3LRJxTVIDU3XRfWIOj3FnGsOgOdzLEXnSENwej62e21ppl1Apsr68dnGvBOqXalejSiE5Nj1BBOQwGWR-aIIu865fz19tsLAF1oPfI5etzzFiZB_H5MNwLMmyjAVuHywhxDLe_EMmQAKVfWTvoHpG8Rx7Q8RTG2v_uLS3vrVBB8oKginqtwH8gR5dRotGJYXT_6nN_ruJJTy3jy4RVzyQD7EKz4VxYx1z82-1TsNyUVbyjd7e56QdOiZJgCh3QiCYd-JIRFZEVmIqRI1g8zorTkXwLLh8GjGH9UpS47Ue8X3FKSaI7e8BjoZlWdB3tW6hKJ0xWzxF7FxExHOWCQ8Y5OGYucHbTO4UCJTPzsiht6KMbwP6EXGjtyuamyP7KvNFbkyJNK7TF9xSlnt6EYbCrKN9RpU9bxxvyW3hqlvsUIYa4H_yR7HgOHp8vJWseikL460dvvc3yfUgtIcdUtUqWMXWzCsPfbj_ml0eJKDue5u2le46s7Zs_QDstQqjLtmzGPHOOcK5dw5pQBebbkKpjmt7cfqK-_jAr6nxlXd9yrDou6iwPpq7XTaCq6IxB6mFfap9oAs7KPRt7SkG6Ztx8hJf4PVh9vDzQU-ly3kR10pCaAhlcO5u6yApNI-Jtq9IRBenzXe6yJyhaIhfxEd_bx4GutNoo1eL_76hvFyNEQ84j9boKC2vOlBf0Loq3-I0akVGNrxIpNWPi2MNtOvPvKUE-mSdNmJlhYhMMMiGzbWODiJFw-5Z66l74AwR2Q4RIwui8RshkpFZ31g_KN1zSRVTakG2EKljIIm9NrEm9eCcmdEGcmP5JyDX4H_vCqtyBTY7Hx8BpWglYDhPI2zmfoUk8BTYYxz1TJPHTTRVuzY9eEEqEao8fJXeR11s3hs35coJtP5_O2WCubYy8qDjciNrXohivAAR2fcW6OE0WZIEgRoIwn7tnnTvYxXMrkwSW_sU8hVF2hyuMNyC_z7RhzLaiP4oNHCvvvNGN2RPumuwtxpkZ3Mrgu5QTe3-ZpdGw-fOvPNLOeD8tIjE6jUGwFCnY0mz5WedkeMjlzLLfgXQqmyeayT6jGi0pU4M8Z7iz_xiRa3i4OG8QR7XuJjXIfstAnk6D7gs6Zg_-9ivXE2pPBLXaojm5YJXYxq6mmvwIKHe_PxJRimecc0xHtxLSMJqONXiCsbu6vEx1Nuobi1Sr75IkMO1Y1DMHpZ9lrli0e8fA73O6I15W1pg0cDRsOKp1VwRqeeBMV4Q3XhPCVWCggTo-PoKfn6A_F4Ci7ZZg_VXHwpGk8T1GujlWaNJgBSB73wD840FA2LhaORVhoIAR9AfM7dDBghouGs6l9o6DlYDjPl0St_kPQc0MnhT7S15WvmharTi0HbjDE2W2w4mJhFmNixSdxbGrxCHyArhyRDnqCU-wCEPqyJqj5xHwNH8gt9wudjMUjXw8DrEfi4_BTY7fxJbSUjxyjx1YL4U3dShUNp_gMZvkfTAPRYVNZ9sVLi2hSY5MkJjB_poo-Mfgp8DUnPguGdpqv2yb3skv55-tCQ-xpH1FcUCpvjt9Dk3KKXnZQUkEbX81GRaTzc5nwmC3zZ1X_BhpPgjl8gzn-Hmshf2zN98vUcQ0uFJqtMC0LkE8uBdnU_px6ApEDIXrPbOjxRqF2jh5Kv2j-MNoT9YGs6DFYRjNbFb-QOBcXK8VcO3jUoMubIWzCyNJGqkEbYBg9iAf_imSKtK5UitHUCTc44VwjLTiUlYZe-63LfHl2UHvNj6fGbVaMdM__hWDuZW0kNpHMB0cy2gzgMI10jlbSLNjpnj8AXdq_4GOq4dEKpmgV6VZWcKNxCSuLydzfbrcuY6k9vsyFQ06on38av5Pr5Mu_9bGNzJfJaICpWxwTpYwvuyLpTuAPnCNWQ8ogEr3Wj4bOq1_RIhaQQXaU6BxO8-1qoUKGVmagLeLQiQ8v6xl_5VkxzZDCa8y_z-8hIS1jD_vUT6hsRt_714pOaconalAzWk_w75S17EXx_e5NT1wvl8e0aOdM3prUYXRidGopFzyFAjFqp-x785kSgJ0WiMF8ggRpU52YPM3D5DnIZsVGKdaKe6y2rOdGl4bvbUHaNecg9KOJZ0-R5zB85dYQmfAFADwPihuG_CAJNnY4SsTFYLwK02vQJBHnRsuFtP-0LlsGzDu-L6ELU85ld4IluQG-GIV92kAvwcHOBPRBanQwk48-Amw1RVn73D8W4zut6FLYVhyJ2GMwoyoVfKjCk4xVcMG8sZv-OjnKUsKPVGAPACFTtYfFp0fiiOKQderLRVgezP8PO0yi3ZCDWqJTymnOFh3-iaTNq_CB4ci3UbyOjJi40JvHL72ZCkzsPP0C8KDqMiAKLkdZpk2TbHfkJ-_qIz6ymxWwnHAPVJHS1Cc6sHCPJmC1JzXvven0MtD8qBHfJgsWOITLE8Iuzi_-4FLJmrnjLUo7Lm-XFXp9ECvctvtdpLMUAqTK16H0cjnpxTVxui5m_Q0F-TBvI16eRo9xgZWCveR3gix4cjyVRmeskUjX7tmQNJW6QOdt1piCkHxGb5VVY8fQzNy8xFBLObJU6lCHftsYjaO4NbKynHvomOBFygSA1vEVJbSOxGBUeGpjGLKQ966Eza9b6bCitSKf2iGUsLhVmop7gUZOTxwVFDH2YATufjEB3h4DT7XBb2DOBtNy5XMU9eVUJTVdfyqfueZtT2WW_Q2znjbPnK71gD71IeJ0vWDp2YYJ7adZRWv-1s0qCV-1eLtmQTwHMCu58WWU9lEY38cpZWuyv6EDVBSGxtab2BpsU0vL6lhpo11ya7wszq48l_KdULl8UUGTR4eEcUjaG_ChabFmj4j2K51h3qwmd9pRzJ0jSarkAuRmX0tb4gR1elBdohuTUjVLo7XBUBmQ8pIk8UhUjKkrmOEQnLs7ovCerY1c2X19aPQQQkeNGDNjCkqndB1_orZsaFxlikT-BN3XrIutYu2BlJ9WobKh1wyJhzH6U1Gq1V-peFC_EUDOgm8XjXV_IA4dZHaL6pJZAJkH9cywJIHnRZIJIPZDgXwFUUJKaNW0jNxD8n-EzfEeemUryDb0JuSVAfPgDqpDQXhDkp1LM0Yx7doqQKKzBJwow80CO3aZGMd9n7U3ZDFKY3Onaetn2lilGlGPm6KDX-sxXcoJly2LE8oIEedEsHoqhWAIMDXnLuvvdwGqSStmEB-OFQtG_uawuHFwuwKX3E1DEmjumaQ081lnATpWz2u6i6qC8DhJnb2dfKtBVSha6vQiN2J274faTmKCNA2nn049xEzI5lFojXq08KmQZzYR-YSzNxGiRghLWwH0Br9pGuAuKpl_pEMKhTuXCSZWae-hB64OvBGy0XxKkTc0a9gnJTF8hY5tWwjNKkdSLnAbsbr8Ts1hX_Qt3WB9GueJcYE6Wmf5CIMbtp0sA5gBq6s25dYF_e-DbO8-zGTUWVKiKj2i4MNVyL0d2iz7-G2wiWySNFpMKPGxornvkH3b4EI-uEP3hVdzPHDuOXj2NRVJrzDIHL-ItCuaBcSiq24b9M57os7SHVYOzTKarFrp4neqhmnzJhd7-nlcDo7K6PT9_JuOysZjNc_u2wbFZOKTNu2qu74vrU5UuTjb0biYAp1SLfj94FB1gl5KASqgo0NJeQR0eH3QJOYsHDgH3VsJ-nNrvde3ILTMN9qtnvW69FW-jyIvFep8ZHmk2V5w87m1Te1Qq_ERrHDpGAe8tJJp4XcZypb1H29yUpozbeyxZCRsIXJSnDqR6_Lctl6S8Uj1wmmdQcDEMN-g2YBK0Jx14G3Xta8DbJPVRrBgrPyWWHRLHIu_tyaZrhanArMB-XvKIn0aqGIJFcyZw78HFQSuDkFNcMcMHCqGZ0Ctlob_k0xa6Zcq-Zo8iTA1FbwaBurHeafH2alS-TuNO7-GoPObkaSYVSaAOlqr78UiKDoUNueDLd44YXOko6JRGzFwlQRbtiuLMz4A81t78juEfdKuVfFyfeL1uwxOxOxfkmqAe4hGT2831B7weVi_m6zdT9FaPBNB8doaJUnKvZemRMnXENbO-SDft2XoY2kgQ0oYYtgAZXC7Y4rc15Oegtz-RxtGx_qd8aqnjBsFRSp3httdJoDnkQztBG36PrWTrz0GQnKOeEJyVMNzdI3A-2CVbJb-E7baPy8IIoWgvBWrmonQyUU1GbM5nz7mm-belvcF3Wv33E9KksuslBBXUt_tJnt5WiAitzFS_5edsiqT-KmkUx-vm83mXOCdETMQJ-1-AJsG1GzjQt50YOmPBARxGPW-LfJsU89puGbuSliHSO1wfOtajRQEZm1GCM6xyKEPsuMYuB8jY20SHTKAbxnw5u7rskGIHOBfqnDkBMCWTB0Ov5iVsMLwzbimBVxDx4kCYRFzauLdat5mBdn2E6b5sE-k756ZHVPgIggNR47UdDA-1_LdPfQ-0E5ij0BgGbhUdhFbw6CPd9srOe4-5SxovDEQlhmWm9im08c-g2g7VHR25-ll3Dxdro9BJ66vN03uaZb1qvLj9mWvzhjkBHCWdnKBq5CFxXdvwZ12D-kBPE43NdVE9JLwLKnP7EziViVoHDJ-xBdvfHS8cguDfSuVZwy8OeYiekjgftm6wGVo3tC3Vpqq4O8oExZ0piDK1XCKXVcbT2WmJddcOdUY7Ny1qNJR76TeuupTqbl6UykZrIgXs8woHwICeX1H1-hHuOKOHqnLh05aBrlXfZxjLEzbNV9SWmgsYxMLSovr2f1DzMjbiQy99Z4ejetbQXwuqFcBplb7zpqyH2YgxCTL6RFWwH6-bjjLyjowACbx1wU7sncrJG5Ip6FMGA2fg0XU38vI0wNgUzyyJTnkXtj8gxCMeBG-ev2c9ACIzzXcQSj_WpbSts5FzyFspBPsX2-vzeGrFnR6p2erxedpq3jUjqytCUjst3R9WB-womyOXNvV87BjlgKl-LQuS8KhUgLADDmfaxTHXWgLSo7uI1dnPHfmR7y-iv2_rStDDHHj7vMpFW3ki5jNRROEyREbwZpITxJtageYRu7isryCsZCdrTC5onPLBd54UUBgC2kO_F1E5CgrQMw16WKbogRWA38h6jOYAAoQyPmluGl6BbaUKAF7LZRqxKm6qXapdS4Zp3Qy2KqSJfhYR1IbKQvNYX7hMkIqR3S6src36QHeGxQXfF7_uEyA5Pswo6v0YhiPwB7DG9dtSIIOUGQnidY7s6ufZ9bSLUSQ7IRy0M1cg0qgq146_MU2p1hwl1SXVrbGhptw-POxLZHTYhfYaZrL-jp0XcFQxuzD9Q1p3lwX6xMlAINkEKOhc6HhlDLENBJisjNbG7u1sCTEkTsKaDY5kOm4ztR4KsXWH4VzaMIclY3YhKtWonDzDDnSt22M36X-YpVXXMjAJjcjUayAqNOa6s4iHpZ6GnAOQnTSyOKucrj0CWzanBbvXul9JwLqN-l5WkUPtgtDL4Vk6K7k8jZ90akHIkA89ifg-QLYjBaZmPjpFUI6aUSIZaVZrfzzV2mzAoCId9p3uE_qKMWRGAQ0xcn-kDW-WWGh5CEIxV6j1bOGbEt4HQydULwoZ3eWMAoBESxKmPG8I6QB7exrHxkzC10nObbdJ1iWGx4er7nVdF8nAEW9ePOCBxpNDaIB1BbpS7dEH65_VDVj747vboVfPlu4oO3KOBIEpwzuFTMBOTqEvQbt1KSATYsq8FcKqgfYPRgR64T7fbyVfQ-8hJzih81CKcwkRE_vMAc2OcjTbU78MPGZ_uTXkv8KtBAf9yPWOg1xe2QuXTerDPIswbvfXPoQa9ij_bPy-fjFB-uPuYF1FsvIhq-kUQxuhijd-0qclx5OVAVHKJSsg9xaYTqLo8N3yjxT1ujlUwP0-8FFI4Y-RZ9IEbgYqGeC_otyupdGAsDBEjPr93WQztitnpKLOYAvLHo6hncskmjHo8OMLUPyIcfAGwBcKZc_mZkiVNKzDV21YqAuUVC655PUVPieFmJeGxZUVvTDHWv0Ko1v546ahNLLbs7BVyaJT2kDJUNuoEC-3NDhysWE2Pn0w6eRNdI2eEysKBubOd18Mg0Er5NBsglUQXT-c3kKGhAHkxgetxM2vL3MxZ-gfdmxBqKihzZoOkgUGbD-BejtP_sRD2jfExxuMOrx9BZX7ChKGE8La5BnBmlYIUSatXgQMV7P_iDx_1Cj3S033nS51RmNzsNdDdMsytYzTkxjS5LRw_ZkfnZNaarm-LZyyR9VYdlkwDyYwu-BP-E1hEQB50IBDfBBKCsBhQc87Ai1KHg3ucFIDxFWKgii7WSNfRqiyIyHDPb4GQdZSeRTU_tya-mAFed3fZ2p05EaviJhn-QLJcnrAQ0-pSPDLON1U7HVy5W0_w4qqBSO-SildQ9XIaFeI9LtnVfaS_UDrVlE97bBv_dBRHJm0s1X2eJlev1s7jmEuf-39fxgwTWWxQZTysYmUKXoM75-Ssy3Z0s43ma1HNv_EWIVEdwmi6_zy1MlqgvetjSxaFFq6Ct1u4QM05kx0m3XDTWT19ctDv13Kgh0emPosrAc5dtKDdaTZ7oh6VtIXxnqOgVpim7ah4iXzL_1eNS3KuuqY5agZAypDeArVUY8EGjgKwchBsLKTdqKs2cs4g0C_yb-McShMq-GDM_eOY3iD7ytDb1W1tGdLOa-ycmgfQy3zrMCJBBLbuAc4Pt-mZ4uapq1Pg4VSTgS41pWaLVLz5HpaR6u3oaEbDOPKbDQcjfutNB04ljgWBrkHwSUdpxz0Ks0mz7nNQmpcXDAch4Ry1ritgBG-EPS0NB-KXyLjmNLYdjZFr3CFsNvvrO6OAX-9yr-xNuvsXncBftgEQBSb9109LOlpn_01OijsjrtjKEE7iVTii2wsJ8-Sfuzsvp3JyP7kdcjKvkc8-7RN04zQtyjOnXmFWZOuZT1CWdA5YaJqfdpsb0d2pn_N2wPGlVJPve6BEWNRHykRfhNWvdBWMSiK5PF-KAT8_dQJi8hg62HbTadFKBGaUW_YHkvjIek0aDdz54F_BF3L0pJJDnube_X9ThG8zntw9J06AQQKI_snI8GRcGBFoG4f4QU4eLv4bRrzPKG9c_yHRcBBJD7cK506tZopYy-S8MnqgT1Rpir4K0bMtzr1GdCBQ-6vFQ-M5JDn8FPQuhSWiEw9qtXlsEEcbKzk2PBYO9z0E2E-aTTU-9i_Z8Kik8X0bUIuA1tzBDSzlgEOKf5qiTYVy4e8ixsWtq2DZ5TvtX4sLGg96pogJYYbF2fHykoJa0jJNAPpC7Nx6ln-PI3Me0VgsYEPKhYK59xYZohU2NIjqNnZOg5QKRYMMXYT5EiM2saI99__qPi2_v3JKonZAG7RFOFzbrVCRvEwR-FYEkk2CgegGlt8SJPHoSbKRqVrjg-rTNllRqDMXhqs-76hLhw_eZkCljSXBcYzsEQipFQLFb59mf28Pk1jhz_gIgZXDRMKBwRo0vps6FcINE-uorba9MBn4NGk3RQJo70kcaceq9GEJwpNXWC2Mc3Bsx4V6SRSGB6peox2hBz3sA-BKzOvZfIstEFu5XVm6gll7ei2PseH_jWb_dS5N_JQYsMp_M-ZL7GBC9HA5hLVrdfcR0d-of2tvUCZk6HumDys8Orfu0ORkoU0B4EY2vgOlOAbM2p-R4Ce9eI-5QxNLvwPcTMfV2xdmtS9cEEabmnk5nP2Of6K6FRJu3hubEL9yWhzvaDd5OxBx_6M5qlaf9B4wHAFKMNdRyGqdXG1m-23_xo83K5ow7_fyrHnLoAERMX4pPd0PmqFXpfc-g_2N6v8WjFL2ugNGaWUpu4WF7fF7oOvSRwc4Ojb2F5w0ZfxHSXLt8grWD1LHNEX8ARSL-QOozzuit5upa72kAXqjZ3QCQeG81hzVCQIFqcOi0vXC2bLZrPi3WqtMbJLjAx8H8mUy9qZsan7DMZuU4UH2leZ4y30KeEdtYUN9PwY5x_TSInaop33t5q5iaK4VWQpIvoQHO5jk16V5BJQ4mkszwh6OqFi7C4iHaQijpFYdj0aigHZc9cmtHQoUtb3tBD0P05nuobfN1Idn1iakrjqUWtWdVVIMf95OvXo3DoUTIIKv0Bfa5Y7h0kBLRQadvyGELW6EUjN3GZAyyJUYuadg8rl3a_1dovP7s2YNj5CMzaG3-6kGHeJt95EtXDmkSc2pNjxJzm2TXog5ncowSta1Mi0s5AN7ZwuDzTmtTLaKqpu4PNkCgsU2zfQyNn2uzrvEI56kPOJQHVuhMr8zBKHqdBSnTzGgxuHZSRD5xqu8QywJee6hhPJLX_mZT4JjSiRFtRbNj8mEwQhSF5Pe01-jdCrXdYZJAi_l_WBz8KjH34SdHFzOZg6bg05i_y3xhfCzLCfl2vgCQ4QW6kh-tHUHKZkFGsNoxnwGAgjiGbX8k8OdppXaWNPhUVMSGnXQ4naB1TiQGw3TSGyzlwjK9AmgIP-S-oQxxbkFlJksJo_OrVSMtIaigCmS-0II7qSeDhDLBhPZ7ObZDOLt6-3clQ4vYE515EbSN2mbtklky9tfzmGV_KrHFEPV3yRV-RP3OfSYRlLMd66wrRX5pptVT2FPwmgBEgcDAaEyg87gZK0AW2iJYr4mjSpvqDL5RY6Y_8uTlvP3VukUUaXzyMRGQyu_Jv0q48h6Q2EMoGQAzkOeacjc5aT8WgLD_lNeGRUe6W92331IazFftFKETGwK5GQK09DCMu6-RN-HVmaYfZP29P3D7r_tA9P2HOHW8VJdY0c8C0xEVXIOUb_6Jpt7E2rcitKt2qup36OadhOp8wB1iX9ruhWg6Gn8M5IS2kktKbVctmHF_q-WGSc3rdm6qovzFsU7BeEP7e01fR0LvJ0ouikNPYmPHzEtGjG34_ke3INhE6QK5UzybzZKRPrJYscsbMjrMEJe1iyTq6oz1H9AMRKIISp7tDobp_lLZ-2qX4eIUxr0H_ElZclIIBHVePDGN0OUC5v0TgPjn1rCCKURiN-MdUkTiSuXXQdKGqrGjlrhxAQ-_lrrMtriw_7bSatj98O_PVWDrZ4AdAcuNoMIYV5XmlE_WnJ1ZMWELxPae9XKWzNWfLIBhCE4A8cnZqsxgUFX_3JW7Q3GZYvg50vyBihVg_qaxoCNpVPjiIsn_awd20WY8NtKVr9_kNqtx1PiT5-xIL9OFllmMq3OnmWLf4RQUupjETfrJHBij21bZLSCD58TfVFXlSxbxYw4YcoYmPBIwv5wtYMg66sy25kttrpiuBQV5WfA7xsAley9QSUT_9FXGT7g6OF7DW_t-kyxf2UUZW4QHWU5O5mvi7EtkNwxoDRNJB5UdXH0MU5YNseI4amxmDrp1_GGMn3Sgyc9UmVcVk8dnXDUMFA6Ie-oiwkaESQ9xsrgkpUQ-1DTw5RSinTCCvnW9edtSkesCdHkaIdbXvWmHajWnUpg_0YSmbw3cG3s8rPekKeY5uDwGsNix6muxbpH6K9fXtIgKTCmSNDtdJ6BCxBfSpRPprbfP8I2QlOLkbHBkpfx1WHKKu5BZHxaS5kjgdeaqvInfrs4xMtQR0yojGpqAnCDRO-qpOPKhm_OPe9cj4jwRN1IvlMJsQRayg5Q5IuIw3odMwewJYoLUNLn2gCFGlJ4sEBZXvIcksSONgzBf3U7Xkumu7snTi30DJtzF5mv0OjFQ_30ZxPWC69NGuyocab6PUUGu46o_QZq4DHz4CEyw2IIILyIRkNZ2iUwS9RiZM_0YswqRxR-fZV3bbN2wbNWtwEuyKTz3Chu7UrRRxXrySdge2SYVwRU2PTVoSE_R5_zOENjfDM2oqARrd01aOPrvwkCn9f6WspfzvVTREv-dYS-XFvmIEc9IEuInG-ySZUobbBkKnF4qjFH_W_DkZW1wjpLy0kU3IwZLkGRUVLD_jdMe9DBZne9p3cw8EC0ehdTDCN11iAgkT0HU8EOQAM8EcV9aZbfbfz2cfUu5UaDwkvrmTqyuv9OhBVIx-Tjtju2J1Rl5PevaiaHXYXlpp8xrPDwW7jUHIYmKWrZpKo2ovYBAm4PFq7ZGx5HlfWEvWr4uRPMr_bwVdUxLzk-UOzTIaE1CpI9hQyGecNPn1R3HRn1SXjWARHGLHm-piDzNXrUf3bbOPVP_nS42M_nB34MAp396eYJqLVktbDg518laSlkHg9eZiVLqjLMqGAieLmrxzR0Ivd3GCaxsso6Tw2_G6g0fqkNazwxvRk08nfe-gj4fh8DsKav-R2scKYWFVw0p83AybJODcx8puf0AdrTZewaN-UPDFmKtZOqe3YmDVYY1Oa7AIsunU6EDE055qkSKmCGXNmnnBJ-3TD603-ECCyA-4wDKvNYLCaaMVWgdhlMChUtSDMDLn_1xkDc-eEQR9Bmj4GDY9pjctzmw3P0ZoC6OpMse5gxGop2rRWtsTPvkkNDbI6uf3oziNyPyvLFZltNcyxMCC9TMULeE1hJnxYcoJ6b5eyD_aRydQrypdcJ2M0UZdzfIhNxhXmbuh0a6G9NpOZfCPbHhuQo66bh2ewdZ7TuDrK0Pg3F40KN8BG7Sa4v0zsSWmk518lZ84sJwlr70N98W2POK8gOK1Mv2lRCO5zu2Dm7IQ-lRzfeWtLKc69jJH5y-c1hYwp0m1iD2SlPTvGz9qqMz6iqv_GGjYikVb97J8zNjz5NJ410L1xu_O2SxD7FxocCFxiqB1JH7TSaYMWLFx6JfKxoE4DrAMzGKA8pRMp-SR9Ka7mBAYGV3D6qDZEYoKokq3d31alJuIC4DNMu1SOABX5GgA2j_pOIpu9a18xMKmEEJtLWLpNWAr4W8hzq3BGxTZWOj_l9KqcaP_uip84shBxXWVV-T5XG-Mc4mq9rQV2PWPaA4MxTaHfJQc8z4cJLqnscRPNMpV0qPuD3_RGqcGQ0l2Lnp5dHpXmFwc4AqUexJnVZywlJ1G-vKsclVWX7RkEYCQVdZ-OAn66c1UoF1ofZdAuGOnApPUl0TTFKyhNdMsQKDtibIBTc5AmPFAyV_wJv_IO0-eKmyAJmWGgHEh0aOS59dG2hvgONdD-bOHJvQHUce_WWuVUcJp_v8gcImpl2CNJUsSjNDw61o7KR-CSLIYLl_BYpDuDT6f05DIZZVGysGus4KTNxzsNrVOtzvugPdIiKeZvDbbvlHsMC4gl90r7dd7rPfigIwqC7GDtmQLJBT6TQcyjO3-FNVUuhV-9kPAA37PuA3ZfGgC5LFMqXif4JmtmWbkNw-jTwTXK71iftcjOVPaT8tCzjIjYKlK2gF7MtmSsFBt-YBCkhxjxeJ9wfuaIv9zxh2BUYBqUFJPqXuN13Xay2haET7yT6Ca6R2ReyJAwVb1-TzTvrjsXzPTl53JB1bNaQd2758MK2y3L2aUAAw0DbkmSlDOW5Cp8MTQPNSUuDs--CaR6AQaegrIWoSrjgxzezVysOP-EEt6qLSsUZfQNoKwyr5O9qj4Ovzvbb2Im-z2Y1NuglpjDjA2YBS92jAsupwSFyVst0oI2usOIsqcYELUYl6JWNjmS9uwbcqxZCat6K3c2bx-dcF7a9H1Ebz4Z8XzfwdLby0gkvkuArdfa0uB2RzkxF5gMbOswqk55Y1gZ182gq7ofYWQiNbwOZo4F5V3mwnXNAUEYDe-MUil1hE7aW4vP5iqDO9g2PKX-O3eM-bxCqN2_R2SmqluJx62eVl-ODBw3NM2fz4sWEAAI1kuuBW8_Fg7Mo2pGEaWrzMaZaQAc-2pSUH5dH1jPMEflMvhrDWV7z3DQNPc5WPireC48_OqcZBc1Tveqlq_0wM5h1CyiZZhjcw4FVICpvbGVAWXlHznxjtUqZrBhU7WSk1tRA44OVrPewW6pBKnycL59R-OBneCM0GZBHGionfXdugtZDLbG38Uj6A8r6XSpM6U0bEt_aMjLDuQe6XuORYVR3ToRXwTHl3kMmBPu_swkNeK3YzgahmeiKKKAqCoMowvsRBSlVjde-qBjtebB_JdWLG9ZKXJJoqDhvXeYerCzkbTT3tel9DEPrg0oEVL7ov3QPxQDM1R98WuN-DOnY6QhDB5D395mJDZVPtotKn9aGDAZgck4YM8U1b724uso8talq-fzZi1BuZO5Cjh8MsWacYmNbjxUELZuVz4X7r4P5_5to6NjjmGO1Bclmoey4fO_zMJtS5rVJsFhoKJqLtrfXRuTLm2BvMRnOxTjTMX0qI4OxPepzKQ2CQXfy7d-9g4dwWQNQYATVJwpiSP4aaDWMTnaIbRUrABY_dkvPBGVpJfNOWk9xU-mvyEPllrURMZmQnB92-MCYJF6L7_A5iLXszm8o4VAZPcs_TP3xUmCoj3Z-mN4KkbgCn-0B5KCZINCrUXudnx1mdTMbTL0FX1XpWcyAiuR9NpP3S1EKuRFCmy1zFql6FH44dGJW1s547RCCAKMbmvOONa87pYlYCSUznBw4eEqoKF-USB9TabOrutSinW-aNnLnothofVKjGpwM7_wSxHA4QWAVomZb_ywci17hYfcMAywP0ie-e-U1E5j3BgEUk8DH2oi9UZGIyEiwzuTxrS_staeeOrTybELqwmrWpFenCGfOI5sOV1xZBatJvDfozvT0xNmQqZZq-m-w0dhFIjCOINJBgFqClWj9Jxq89UxbcsFolXR8c8Mc2_e_fNRUc6yGnrP_Vygkj91uhQMg9QdfdSNwS1dsc4bRa0pM3tRW6kF_hERIBF0EIAsS7RQZ8AWll1R1xSX1jrOAdbwGKHB3CP9p4AQvfd997jA1nXnG8W_ugpzWLC7v_87V6SDZPP-j_ISlZ-zR3HPi0wDTNnAQqtwMJ1mXHr8iLl5RCjXw-w0I-FLoQhv-ZoV2IKs25f-LF2XUPWy_Y5-KPNkFDyCGOF9wf-piFzchvru-R-J4Pt42q3deCJxLyZCKcHnEh7OlBLqEKfRI5sEoqfLcIeF3s86g5Eams6p-mC7TRVrDsOCscyMa3vHixWu8BwnkD19Wq9o-z98Bcznq_JUAl-rq5UtITAz4yeKiy-sdnRnhbfFEDzBiFRlZrSt6tW3vF2t3LVbEJdgM10g-DkLW2WuiSxE2G8uFW9xMo_-NC3Z59RM3a8O0xbqhAbXT8tIzOuAB3JznGaLNtwsYaY14Yq8eWBakH5KghUYWr2nMQwHVQe54vuynMthwv1b_I9x6izpGnFx3mPvSiGmnuPqad40o8_QJR7fFOcIVOC51WWCfoR_Qt3qMT42VwzJB56xlhEOSwNeK_9xZcZvhCgnxPvhi9RgrhpeEl9MRXXHqOkqVR-ZI1pcGbF5scpiWtyRcO9NDHzfk4AOQT-NwxZnt0Fgs9K9Q_-95Zw0tNc5EHqmRisGRAWouK9ppbjOB93EmAqVwlTtLEgedVrMmsD3aZosYZkwXrsAi9AWyQY-iitjBl5L2j0knEkemB6CACgP59d8cCt493h9UJwvpzSBfEd4aI4hCEjr1y7JktUs8asnlpmKK0aCwWVkANYmVHEQ-CR5jqT9LjwIi0Xkt294doW6QBQmpnoI6JjytfzWP-0gudJJR7vJ3plj9En6MVKNCiXrcd7zOqSVLE94MmNOMPbLvANfRd8JIRcg03NtAZeDosTejzhsmzDm4sRcJ2YRhnorvAcI6lpb-ylkWHiraqeIuykak8JC3ItC4sI_kVypIjRaLZJ68wt0jiQu507PWWgVHeM1W-V0L57vTRHo2SsEldSFf_jijQEXAK2Xd6LK00YhJg4SoB0xtk0eSIt7OjkGQ_mBDB9arxI-Fl7c75tY-4RnbAB268Egfo4TtysHLkhykIKvLrGWW1AWvaSrxVfyun1Xd1bIaVCVCRRfrbf77Mtv9tgCICmM5BSRfbiowJfwAzMJUxPSZx0yrWgBfMdkNHdIKYpQtKfWyVRwfTQW6xATDeLRYfm_5DtR1IJiwJxKDzPGcbYAgZeBDqQOJbMlFXINOvdmyuntxMCZAtc7EMvNp6tejBxpmkQTdJ42lvaSKrKZ3QTcRkJ40xc2-bPNf32TLF4h-pqbMWrDId4fwsoHV8um7tsBhWU5GHiTTOZ3XKBzSXWT81ETpsQ4HTV_vM_jBxNXBYkG2fcyiZW5rMafN280AtmvAvdwFh9mVVwS-ob4iO4xVio7HBmQI5aShLB4DwM2v7qgEvGQt2rfQijd0Y4mv8RnEIVfuMLFrq304p2V2jEuJqOXd3Tk-BjnR-DC0ZQQMAP7c5ybHV3TGI7TmY5Dk1mdRrKkiUKoq3jyRmHPUxYJvAzCxqWDCHshSxLCB4x5pmQ3C5iD5wvpw2j_ReiyXbCrSlm_tATcXe8SV_Nq2oIY0sCVQS4DJ17T6ovtTMDhzsMKHX6HmUiQ3jPJxcDMzGkNFmPKvt5Pj8beGJ78YuDfMWzRaYGYjE94nvfjfkUUp0TwvPxNUS6Xn1IWcJIUO1taX8hzHZfa3HgBUDczl_hCVwwcRUqrPat0ZS6ngXhDqhzIhFoZpJCkHcdZCoiBTQbmHB4CrCXtn0v-4obqqPXPFHo0WReK7lROAF2OLAViWZKHYDGpqjQTHE7l4KFG5JDzissLp8QjrPj202iXUtfCAHyIaUCbj3d6rB-eBkvQfb-mTuOt5jxZcyi5-3Gtzw5e_Bhtkr5guZ8yvxGT8Is7L5qbG0O6qCdkOcdMAsXsZVWRsVP9Q7IWjs8dLsc739lNg9si4b3NKjIVuedIEVmm5gGZl12fjYgyEpky6R2G6ON1Eei0TIy9sFu-q40DSfaDicOkWiKtgTBDWdlkvUz-jHeEXm4l12rPhN2srpdKZ8zE-SFW66cqrXmNc86ATX7BXq1x5aRkug9wVNL7n4OfALewUeLWNHInGZHWVUfy73jakRXCdtRARAiKd3psjpKIsciqY01oDJj17jXyMCievha9uGAOVKi1JsJcwoQhmTYBzD04W1j4QHgEwuEoVNWRKeGcYCwhkKQdWpfRClWP23u0Cu2XiYUdk4e-jCdAUIPtS54mZHATetBs_W6Gs87TdKmu4j995vTcc1U05isRDEBQqMveiHdIDDMxm4b9HR6QUN5TnRqlH-pe6pqF_nvS_Txa-S_aQh5RVg_FhDBegev9MGxv7TxlOEEaPpavNMjBOf4v8rq32xi7rBWYQ2UunOlBc-yR78eA3Mhx8RPqrzctQxfmFwPvB69jWW7ohRUOltnKkcs9BRQVTQ4vpaIaWIDTok_4QGKEq4UGcARTTOz2H-uqjSQkZ9zQ_WE5dV6CzuQeUcbHeWLnZ7f3IfvYPLFAG1m06XExekJAxyNKgbgwO8CnxPoL7h8URYPJTc9dVhysjUxBzgXLAdv36Fc1lWlCh0ISariRUxo8FMf9fJV_weLYqB3IIIFBXyMrd55faD6KFdxkpaecLs-CRWSOuy0rUYE1ENl6MI88fvTwuc8IITYOee6hnZxUbmzTRpQAyCj6waW18bJ5GtIzchF3qbSgDWTQZAS-EMyxsz8deMM8Es1wAffpCiFz4UJZ7ydtKborqehy5DKPDgeoKGBqX-YSwuJ68_RY15J-sJkueNW_EeabtsYRXF39XkKzuo4YwsSsz6YU0q1SXS6HzfJER2l_I2sJnQL2_nZch9wN8oUUxvg8TLwb69QW3-qwCtHWQfBA2vEUBQzYplBk2hJYPDJ-ojyzcgE9LirjROAgH2WTQK-34yQhOpZS0EXACrwxoGCWT9ma5K65SD8_36mpkJLhWmHzfFWYeo_Pfjcn1GvJ4SaEEt-R8B8r6HeKuiYobjQf_XC_GT3IorHcw8EvUsfTAW_yO6wY9Hk16FdcREkpC4WY9hb7Y5ZSqkNyZCoe6G1o_8oux-a30JKCXWjTzhgYvRBKF1NJxBGGMUv1cdCsdtN-kN1DPQE2YjJqHnXIP1Tqv32ouB_54p13IdXgMmJWjxF2r9Mh1JzvCh37mp8I_zkIXeSuERNnN8vWtxa5y7z742cJxB6G7c5WvpFuyQUWIoCXNt_PQeT97gz_OOO4FSF1JkiAKnTX35TKHch-mMhGINlL4rk5RRj2NW7puG4FS-mEWQBvFl04zd2Mt7UTi9SZyaljDR1ZU5M8V9kPw9g-UUViPQbUP3QHwi_STGdTjhdBjn3OmcZ60nYoUpuucBT0L16LtU79oGXKKD8E_jFgrh288iuUtdWiuyiEKm3SuO8lqRpC4nya6GMWjLsNA_ievYsGn_ef-2G8wPs6kECY5uUYIiHoswnplLSTymSDhtGkUJPO1NUpvPVUw-Xi95mjs_3oEPvUXWP-mxClVRVU5Ci99oqTB8xAQiqTbrwT5CujiTiVFzowA7ieJG6jhyUBRbVPUNFXi-moBeVkOR6s-6cLBa-5v7gHx4BzM0JFB3JJAv-NQoTJ7BCLI8d-Nx7DDgG-xt2p4JHlE48RmXnZlA_Zguktwf8nLk6sEtuG6ZjojE7dFDupXPiStzH8-U0RMY0-TOd5IiZ7axyAl62Xe-qGK9iJ2ehNTQappq9uhPyH8RR94GDTRv0aCRalNWgofcY1yPxaCaw7NIOdkNbznNJk4PrF1tbdTgxWs1ef1tZOuAQWnZWQTD74k6qMuQFbtP9vQztDaZgl5hWFsFlbX91GLV7asWZsh4DGnAE9tOfFWxNjY2wO9RdpOh3sS-jaPMhXxsqk-zW5zBJTX5OEFHYcphCTms-EHV3HoXGoMFaO9lNWIwADUsatkBZKhNMQ3bKEZuorlf1fO-Aa5SqUM022wQnz9QRCsLN2lMd3EZfWw2hulJQwhvJZYFA__Cd3w8MgCq_IZg2SbTPrjABl78w0tM5yruSSPCVljJs78iWwpt1BZwvhG9oVIDvgZ1yeYBKeQjftb2-uOGWzR3wQstoXRW--G3-AZ_71WMh-cNRjj1v1j-kVjQ2nvflxyDNvnj0lp7vrOCyq9OP_DcijgiX8qzebkmwxg1mEEeFX5Q6a331VJvnbmefyqleuwhhdxVSjFogQg62ST0WosPJrWSMRmYuyW8YMlLpXou__BbZHFwndR6nf2zOcsHy0Yz5Og8gBV9prH7EafL002RMFkrRXeMfL2pFay88VAwOF7Ieh7jl6qSDzpY_xG9OydDdGEeF64fYEF0xcpsYrtsjqAurpXIrZ_8NfE5kbW5bTujmss26o4RhWhX6v6joWFF5VT1dUDIbIbNE4q9EZhogXC2_otJ6g6l5fIvIwl6cTEWqYhmvro19B_Zoyf9Vk8J1B2EGgTdmmlbrN326WBTkEUGuoTOWS908keaAiszEK8GUs-_bzmnSijtYH-c5FQrmvKRAEonJ5LQF9BDEQiXazep0S2Wa6OOo90f3tACIWLbGkd0ydqZU7BlM9ZfepMvwv-7T5OJBAaqljpn1lvp27B6IKiuhuclh4jejM5niQ1ERpdhrxo_VC59cY6W8HFbhVX9m7PQlmsTro0ubCUfVgVtx92u8wsgoGI_HNhF2d9igGk6YZaGDYqJQrC2_kyoZja_mFNoHN2wGaJ0N_onsAL5uuXuN5qV1FOFWmb7Cm8PzWHn0G1FtcHRZU3iWdUxbfEfE21pA37DumGAyKp4yWSJi03dPNRaqIKKNKO8bGG_nm0B2cKVJdqQoMx8aoknKup6lc0T0-XOOpKl4DuUMZbqHJV0fMHFEugfAhGx_TqgFsSrWAQRE5RxM7PCtqrUU2fOFhB93UUQWoNpTrLxUf_5bno8wES7xA2xOB0PGOz0vYMZdrngJZ4fB9c_7OWTIGJO381-tuDfgM9zHXtzb-yj7kD3TtkiCv_IgsIkztqqCf29jKMYx5o_mCoPuyx9A8CYxoQr1OXFx2tJ7XwVLVbrhXGS2j1NNYz7LFK2Ai_aZ1yIqkrQURt_k_5C7goUBI4Z4Lwq2ntAcvzT1T2IWJ8kF98wMVG1XXUoQtdWt1vsuR-3ZRANG4vPO-X04bbo8-H7H3tpQwmTZgylRis3qK8q9a_WEuoYraYpoxQnpPd0pcbiPpSzkVvhpr6MJ8P5b7nECNfL8g7V0ziRjnIZoshDkM7KhXThiHE5fLbysO1AZSJCbhckWedomZHVG515MlJkElFwEzYdcj4_qJMkAM5J9odKrzAhLSJKQ1lyz857izUm_8Yex7fHar8yCHxYTIRb7tcjVadKxnVpUgPupa5HJO7r53ynLNVtxKuqmbza_-v4kj6KCOzA9ij1rZ-p7X0Qr8hMhGLryl7anBI5M9ngMhAmOGv_HoEfMREoJZC_b3JVKNLi6lroAPPi555_kWZ3LsXyTNO5r1zJFAFu7J2XYgrWnlz0Hmh9nxgZPQcbKAkg5T0XSz2_YFrobTYC-rAixozGJt01tBqJBMQoM2MS72C2jg2XJU-zzaGDQdV1QBddTC0alSQbrtM6cR8vADVT59fEgVWYuGRXbGvoPwnAcP8purXFMO8xbt1HPtj4LsOi7QpRk_ofJVs7i682K-Yfsj7BV6QebX2ExuNQx6vcVa1WsbCu4s4WEGJxFseIc3CoySYkUTZRDYDLLZMgwPC5Ii-0hLkLRSu90XugGYpndXpw3Vg1krnKVfg4-xEU4jtT6gNE__bXzWk2ZJjPqMs4EqyanPCrZasYlqLuoOZjwG4WcerV7_lVJoGrOV5rFALOB9mc0l2hObOAjp4OssxgYjKaysVtmm0kA5-LbSNnHCwILWaQdHxSzXGSRCa4XIO1WhlWStYCeCP40Ana90nxUKVkX_JyQiuAVOYsrf2z0L2Ke_fGVNQzFiLvaLkvI6of5N0Or3S_IomEEpjjILxugf4lLl4XzsHcA2dDROcbl1r3mjtbHKpwOVny15mDfqbQmeDYkOabuotUuJsQ-Pb320ru_B6h8sMNKdReo9LIIZQyLbU3E4SBQD-fxjKvHcuALiBupNfc7K3smAsEgsYQtaTnwEUxLDloo200EV1gjNu1lyD-sLwtdYhA4ypv_D_KVB_kKrMW_mc0rBk7lcGVvJYe6Tlaeq6VfKpnJa2E6mvMPq0zEqDmea4y8NiOfpvEpDJeJRtT4B3XgCse-HaPIzEAO5erkG-axVCrfJwf4qapRg77kB9Jp1x1UVKk6-rq2-sdL7X4cQTrsj0_l-TP8-2Lr7PtXZtXWvgAjbIlRIKCPGyzdfWQPQh40DmtjDTA6eTWtDPKLSlkKJeXsGqz5-Cw4jHTHcpvjjuOuio1zmM7Z8GYDpAJ2ZwzCj8B-rf50l-rtA7rRAdp9gDlAgFyPSbZ9gOJZ_UE5cjuU9-1hNmZA7gFXzkiBG737Mxbxs7BC1p550x5NhZJivRBOA0BZnQZS_ljjSAKOOHHO2_lq3xiJAZmdU8wZ4V5H1_RXRg2WK_Q-hyyOEFH3FM7T9-wnIMeTDYA2YuwXNLXvQHy62ZyT5tj3mflhLhhRxPZkD5NOVUaE-5_-3i0_tC5f-AhzkPfOhbUGQfs3dOQgylsK5mzCcxuOyeEXGPrX01k-wFZ88g-Fn_LLpsJT5CWhdRkqPenfBAKO8ufoUTFjNHf0shzcTZTAR-DDB5i2bu0GgStQBahH0ke5FVYz4N9MI1Hy_w417BvjNnxBIdd91d_lDSeZGrgK3K6kLZ7GdVb-HZTjOqtM6iKRzi_5JR7WrxDzH_bO4XZ08vQ8AbfFOHfmJcscXPwYG2-rd84qaH1UMchikgsk7__JgQaONGit9cJb9UBOhgOLSGxbSw4-xIyZ2jhL5rZh37WWfh4R7YajuiECK8XOUdx5mCnyCvCLu745n9Xt92SaAP5Nf9z1TL5jto_vmgqvxPG4PTHDT6ArEAEuU-FAneWLWUboAkpl0oqhcqJNJKtYjDs5suUZsRUSj4sTxViXxBYUS2WgVtKkh8QFwlq7yjMR3seK3EMFMn0rtNB4bka_mH4Tspbm55ndKUV3rpjRN_FCM--_2rz_EIyUkXZBowMZtJqSr_RF4qA1bNP85IHDpFGWbyIasw_nebAE-1Dv4pMwvv8PlF-z7CC6aMCXV83KtfSuMHgYEQ9-4-H2Qrm_qpdgDj_db2zOk2QhPjQT2INcT95xOziC1bc0-Ad7Bja45ixUV99WyPpfc-Q8mtX-6-MWknMdSvw3tVBm_tHsWwFbBCREgDskMajCRnCwExvB8Am02c-07YnIa-sAT446ouC8QgCGOmm8pYdGifq1lIdWPGGber8wEyz54THSsdlPj4iBAN_X-DkPmUbjUvL842lPzOduyqli6Zc8nRTcaF5II3Rfu3IY2PLIoaW-Blf6AfZIL0gsEgurcVUEnlQMaai7rRDdqDN2eqlXCbnzMqjOGL9cyBRFvTMMenb5-zK4PesWY26olobRaRpZQ3vE2swz-sZd6gHQy2Ihin29YThq47nLVIWB4ZsTMPiIBMWgEajJGSjzWrtOQBBbte5URUx8vpgDqZAKDXs7fBTvZ4_j9qqQlie4UHGY8AckFlJVrR3vnxaVHUfYYyN7ppULHuyTxgcbUS-GaHWw4zZTDrxffQ6y1Sz775SVDdtLJlCQyiSk9hOdcGzuiYEh7-XgX5d9OUQx6mwSYyPu3X56jL5o0F7LUmquT5Cmlk9GNqdfBbnZC1m48W7UzL1yHll3XvZSuwbvPaiWGRuN6EZaqekKuCVv20PZJe9d-PJ0A_HzfcwykS1GxWadgHaO0ldoA1CsyzRSmcQdKSqYbjyZFPLPUHLZUyXnDQESBDOrXmzHeYLAxZuPNm-TGpZwR5RzUsW50s8-d1zRXbImB230LPeXLfWuj37Q2dD3WqX19BJD0Uiaq1ZlnumicG34k1qcmWWlYaLNtyfzr9-9zblDf5NsQu7chOPjB1zLK_FxGc50uHdPDCE29GFW2xOedQYwI2Pn5tDgTuX2GqPIR6lO5OTpL-eii20iuhJKJmo3mKEQX94WwhUxS3_4oObXx297yfcjeHu1YTOE6UQ5NmvHnFE1MZbzNk0aHDPUr9yfRPRRLP9gSrMcU2kGjGRDSbXPmpzdlAUDS1vlHd3aT_uKUvBHy7c2p4-Im7WV6FjYxFtiLtPFnOXNAJnS3WP2ufiC_f1wYBmMhntyslAXsjX6xER8AcXZWNz4woaCnHX0tlLte1lcLI3ipoURr88xc93d6PsXFVlDcsI9xLjr2Ym6D6WZ1zi3rut2xWGWAjNc5EwRmdF9q7wmqATGt1UtUEUwh8Ets3MqrsjS0lb8oRuotWN_iUN43dcMD_U3i7qr52Ktic_jdyTGPCwMhqsDS-N51Qqr-_Y58yZxjoXlJw2xSLOUv3fH7q0shOZZF9ySxIZ5EqtITG0MeqwD3I4QdU5QvNe-_4jXtKEIpYVJtxSsYVZIUBWXGq43RuB7Alyn506CiUJgK3I3mH_cBmFaOsAu5HgnYOIjE6b3AQfPBS6mQfNLfcxTK-RsYBtAEQ6Bo7Jz_uZJOzVxzuyt0yYypMrgLJ129Cd-nkD8VaayF_gPsKMPnlBrVdfoGFaNRKKF9gCQ4lU357KQL3fsG7vYVannTAh6mugVbk2IfacfiTtqjnzEylSlsBvngKVwyXSV76jdXGOSq3FLZDcES09Fl3x9J-P270dijGiDyK9EN0dLnOCWIFnAqVUUlUaxS13BXf83iaXCg7mWiUNdzgoDjq_l-943z0alOz1kCZjrINHUWoSF0YBTouac7tmrAtTg3MIwBzEacYzHdTfS9v2A6WWV423Cvkn1SxG3VE-jPatN7R4VkepYZc3I8VQ4-TzMcaFHfKDLgEePX12affJ4TFmR4CHCmFm0_sMHxgCAsiIBMue2A_eFMq1_nii5JCyzSKdEa-k0KWMjm8N0bpP8XojGboFswIpen2PwtwcRkT-OhgsL0q5-uMBrJm7ei4c0RaTDVucI9qy3lh0ltfLzxzVwS8eVMzSTP822NgNtiSYZAwaODAGz5uvxAgjVnorwgIITlPoELve-fZasWYvhNipKVnWpNtwDpYWaYMl-Vm8q4VLvEs0_2tXJbPLt7uD7hMGzRwCzPCz327VS2RRycU3S1pvYCPVxKzmlb-JgNxgLPHFgu9v6jxqwBt-VPwpTX_L8JoXinmi6fs8H5J-YbV5zXEMPC7UyWL6zW6-W0F5q5TPpu7FnW43u5uCXvvlJPBYV_qURb_4WmSY_8D3Wh28FkXRD58CHyLW6uJmKJrLCIGgnRzXgw1lWhNrwbMhxU-OT59fnmq8zLesm-ANQmVyPSepE5jU1D5qiKk90cioTOLBbnbnBWKJZWF7kKGibYhzz4CEQiKo7MjVa1rp3ijzCQZtqpZ1ELTRASC1gbISQbWrv3iApUrocC7QyVP-Aw6g07_EPK1smiEcZgSYU2GvgcQKLMnzH-cRbW32_7H8nWNYWp_riNdSVyqmdMF1RBBnjcjNudRyOsLYo3xRJykfCJ8rLvZfYKiJNqJ4YC_-HouEuM7oahsiArZCGuo5Nk85CNfDCOGAxbVQvt5uGPpzzKycNbkcE2aRKFsG_iHwoR8dnxhnqs8nGLvf1__FLbT2i-w8qUnPWhWUtWQIxy0LQ8YRg7OecNP1PLUgWCe9JYvXU_GTFV54K4zHgarFXuPkV_jfFcz8PpegUbeqXqYo8u7gvJ4TcQiHfKeiCuNIR21Ut5oAsaclNqS6oyO0Af0KrMUA7PFjCeK4p2L66pkQkVMbF8QmWdV_u9P-TSyb4zZtKUnLq4J2pYqIsl0WR88ahqc86Kd9heBpz6eRm1zEKZs6shrveqOZ9qKLvuwGuUjSxIae4CIekMGjSTOUNGr7Vo2h1A6Ede7VbDfiVZsmeBFoCE6PXMNapemBeDpHyE9ouj7IgNjuDyk4rsu9hb1c5YeDTNVz0MH9YGF8WXn-eLvpS4z3UnBqecgzo8xYk4_1oqG1ijHAO3CWf9GERB5oaQz82u3uhXR4hsPBUYg7IsQhuN3MKbNo4ZD3jsJLQIkDVxwemOe5jVNXT0duCN0ZOSRRE1E5-BhdLdZTBwaE4ENpDwOjROOtWGUewr-SnX-OWfdHQKnHY_8Oe-sLKB4v6rGQoQKSqXUEweQ6RlU_0oH5ZexbAnLa0qzGX8bS43pPwMJ4_goAZqx6Jsi8Vm6HiXz-pVOTyKd4bh2XLRsRbYNcTDx7Lexvxez2GJjCJ0DvOCCgzORa5yWB6Z9amzoW8MVtxsOp8Sa8X_4ZSZpI00FwHmW3pBuG2u47V66HiN1f86EE44v0BTo-OKqQX8pFLRG5GjK1pBzc3iuIzcSgAzKRHBHQ2KjXw73BFdhXyvHfKF3HhCALvIQb-P5_WNsvdWbv1268sYQ6vXLwqlXgAQZjIVro-x_DTZ2-HYjFYmMulw-dBLTS2anrSmsdZEPHHX2t6HEmoEQ_KLIFo0zvGjldepswj4RCYBTEfZAqYdvdpDiINW8yN5EqqWKAZkouqb3-leE1HQUyqOwPGfXX9Wisw1DSvGFpuqmY_eY-DxnZu6O4skjwaMaaSq3XEfGask-rdenea9mtv5NiBXMqU0l2klW8Ial-QL3ybY1I0KZWbBWMzU35Ig5YU9n9clm9KiUEHnn6qiwXLdBSNNW2W8l4QBDOokSOXC4AUUUELwLM30-V0HcJB7mpmcQnTDPg0NGxZqDQuVJyuuEPMaXFvoMrvo5MFX35lP89cLcxCM8Im09TloJ3cDIf-bIrYqAseWkQTgsRgbdxzBwUO4hJ1PFZCqTVLyOquSOIEbkBGjgp01iRxE3ylvpcTo6diaIwOwbB9hKkjDQtMBro5VjpMYuSZ9LqzgrPWCn8nkaA4SFVj88qYV70UNg183Kdr0p16qnRS8ius_Xeei6TF2FGpXPtFBY3c6FL9UBD5OgdFX5NuxMaC4lHofOIpmuBXxAiOY378BlEfOCr70Y-01xVEn6ZPTEjL8W17OY9Hw4lI7Z5AAQFjurFhuLzQT0UTXhEFjmnhTAqX6XMW0oOotN43XPa08n9yTZlgcjGLQIdFZlu8aqqdsUN2AGw9sDSfzuSvCdQLECR3Gu64xwPOCJn99Zcf1GL25ga0JKcYZwVrQU5z_4njDBXRTxjlYNZeXbvVCyPeNQKPUfLeEjwZhuOfnopJ7C9cWVcRiZEA1gmTd3YpuEKRs5bhU8kO_N20-XuH5YFhzkb0gbDwv2bkB_qLIfo8it_3GIB3-qPA2r6ry_Jw48NaZk8MhxXk_vLJr7q4WHV1A9jS4JmHWqg6DUpPUNU380leJUsKYfnbB72k-B1Bc_mG38HRLHBJhppZ16X28Uwdl05Raw1VG2zaGEloMtMF6YgELDoZbB4r8R6v82k03q1v6XgdCLZtDMffDCPONIp9iksCasM1aWVZf9RX4MYZKkTrA9SkHIIufni-ytmn9b83Oud9RIfnk613cZM5LKuYhdUN76zOO21bewzxWulHmfEpssmhPhpKg9JbIt8rivkuueyIVcv2kEyr358G4-hdqt1FBrvpuOQABkGRSF5Z3BrUf23bZ0H0SZHHdS5UsHAWQSxMe0cAAgsRdc4ik8VNmkjY8ps8cKzT7t2lC_BL-GmnvHYLDDkZ83gULWoUmzJjHWhQgI2qMPxsmXZNVAC2ZoEcRIZiqfn-Bfcm1JjQ60VRdYP90Bz1dyxhza1yJUCnuP09ufOd5WuxsFoS1Ki6NjMb-dIuuzv8CK9eow-5tcgBhE0bJ5zsZva9bCSwWVT_HW-yHEX_LfGOUtzhwgQaoZOF67DrYR1WDHXvuyXu4mGXJJ6P5zdQNrdhIBAL-FN8_C93GRj5aIq5532G4Epj3KKp4OqxTiETGw-Dn_eDs-IHCtEj5pQg1LEdC1Yd_Ndesm6MTW4VPPdZIwrTOHdlGCqf-PBxxc6Y4X-ljssmlVIx_5VWwjNjc4QN9WN7mah4pvSYIBrmrY6oqBnB22DPlw7sVkBNhSlzEwkoK5Ah-M_2YhbkN2GmQf3NKinCjSEAVhR9-STxJGSh4ViYBemIW6D7nk5KS6ctXC8AShFyYQRcyOteMwNf7i8JUst-tBAYoHsSU8SQcp3O2AaTVSYqQpqVB-rnW5K279K7V_VVxL64MxRCLNnrZO493E7HoQN9BgZBXUeZpVHjbucU5er7VdDtUuIIeaz38n8V5WpMdH--M7lFd9luq6geG-_wx3MjYuN_ZF9F1gWeXnSZf77WUiq1Ao-5IZM7a89OmVXHrgbbc45sdqnP5Ned3GWmdc2OjZwISbGLeWgKMpR2Ol9DPDN3yUkQ-TuDWyUztZggT9T8oelk07UhJNyGt4LKTFtmnAj9faec2l32UpsiMT5VvOR8qczmobpyiMPSvWLUNuLCfIQP-31EManbDfK88OCYuPMe62WpjZuyRmXo0Gw--iijALZBOZvo9aaBoK5Cx773z_xVVAwyq_WlRGiVJJxh1FZgHCwyx-VlggB6o0-EmDmba14Wk5XiGbuF682CUAQOUnSYsIQW1LjWfocOnKSRiK3zAFLwKHWXeya9DBJ79Mowtf8B_PJmw8BE0swtwlv8fEMyOjowYYj_Kemyli3f5leldmqmZ1oD9uK24kwgnPi3B0jw4XOjGGkUS5aw7M7rVtbXKMJvqBn_1iBU5vg9KDKq3r3rMwiLiWb1CtkrudBkc8ftusaKSEI8QA93etT-zm1YyLgNe1QsrERCstPJL3Mc6MnFvlycPJsfs0vI9VwwgrEeyPHxvOSVXeIS8Wjdhx2SB7iv3HIzaqCTJFrwhJ-YnIGl-NdhJM-I4bv9HsKYQ4-C4QLqEZjvFAmxGP7ZQLHA2NTIExEeukT0OYARi5WJUhpcZhZaxqpA0nZgRLI1glvIAqKKnYxN1D__czA5QyEanUn3hjARv2HPVsj1UbObLWWbhwvfaIX-T-yOoU8xr0j4RJt51GFYDueaF4o-rVHHN6B0x08ib8gY7XdP9hiApneMXWHeUAzpM7WMj6siMOm5bfq0qB86Y_lL4Kszil39yaBiBJphIdk4Jjw-LbeTj8N19-Q199iTY1onxbahG2V3xJASrHrv_zgvQr3Jtebk37JD-Qau-qcMKeskaer4KsBxu2Bok57TKczN3zany8_A-QtNci7UnQkw-RRRpqsCXFiPf5RM3vylkJ2IHsCpa5lnlMRrsLp_O-dW4_X66n5d0DOnah43VkHQgqnmbxwf6wDXHaU5fLLaC5q1vLJ3CI1G1EiNNJZKqMdcpn8rd7leRVF-3hdTsLgDUOY56fawpmMOAWzxFEj7QtyrlBP4vIYano68dXbltx9olb0PK3BR2OIu0ZWeukFCY2dc8YEljeEM4foSP4A9rjltWFn5rVqSfK4Hlm9gVtHbygzK4-CVlXKGw6DSHN0q_DK5gBwuABz2RUr_BAYPsjG5Np6KbryyHCjmSZ3phsD5MjhBwY7Ja1twFGKV77RUb1q2ioc1jVQjvEMQ8gAhsBHw68PY10AT0kNgGLmAQ2y1i04b6eJvW7iaKBiXbBaXZH1mbT2cQ7XsbHQbQGeh8pqkiE4or5tL6SEtKpBoQKV-WOcGFUvw5OQCjFeH0VEON5ZB-Q7nu42PPaPyvsSTo7YNBou4u5fEbDb2E2GLnBBwFcKf1PZZ5TR3Fc4wkPiNBgLPQOTCxooac3L96S8t6WgcISvKd1Xd2nvleGi9cSvvZkUZ3ec63bxlHzySaysoWd3HeJw8g8X1il6EOtB5EXCDn4e1ShkKJhNmdhjcWyy-CJmGuIufnCYdr507HjFf5E3HlixS-p6LJh-tZzQEz0uZuUVE74ZK-tlkiw3XmhsTadNQ2Je54c46emtQrSMJjaKQvoUar-UjqQAiWI2enJ-pBRsyR5IO-eDgxoEz5NCfLxNu9tjLlOiIrG0LTDJ2aEIyvx8pwInzcyu2HmADsBFlCp0CfliCGcCnHlICP_51Or0SSz5DRCD4IU-iiVh-iSb7s70JnJJLwmIb5IrFKI2oIj8c4VRGdEvJJUKtIwoHLKxUyJ3veQ-hwTSwxeJy7c201azq5o2wHEc0P-Bu_D12vaMogKNwsKpUWGxOM4ZSMfS1YCfzfHDdZij-9LGwL_tKuPND2GL9X7Cc4H-j-NW47AtDq1kStXmCuVpv5dARDe1k-ESFbbAWUMeHrCXubAQa7ttBg5CKW4iTkAKiuahDYIc6HoyhmQmF_OEcm4bGb0HmZzwIFGz5LxMh0nizAo5Y63UjJXy7ggbz1qjpZvSROoKAjWGHm63rU7Ke3OQceITQytnT5J0BE9VjWSX5yKmDVtgIWiASz6YZbNV7kgAeJyTEW4PTq7fzAFtq8Djlg0kO3INvk8AaG9ZLSvjlF6LHA_D6MCWJkk1j4vl3MIV9r7rCx5_ofEhAKfZB3I5MXwLRKpekmoxwGXKl_pms_DtJ2IToDBXNV05UqwZ_szBLm6HQhSxaMpcbg7REnLQxzncm4EaMOqEBEfRavXsfM2B-fFuLJC3cLUeWYUbVLxcvsMHjW2zilQ8CS7D344RfQdKZXzSl_o3HI0MfZJH3x3a9ve3FyiYkPqvc4NTUnHhYox-XOmHfvcNJdPVZZ1ETKKo3_XpcSyoRQZ6Kp-ybLckAs_pxc1pMspQBjwW2GF7IRNZqIgx6lW2sUCh3yfGYLuG8wGW3V6k5Lwf8qKksnP1njK4h4_Q7PeP4ezPDnryLR5ncWHNG6kLxKMbRMqha-AomqX1LJLrD8Bdl_gr890AekvkfF3myu0FsNeCSBjd-XKoq5NqPj-ZmFvXw5x-QeMYPOqgqj3BAFt4YiWmut6nDJXaoFPfM9lx2c_OI6Y40viyCvJlp_WYDKew5HKULnYYlrRDwZf0Pl60dzEnEq3k4Pqa0GLP3qO-um3hhRNrZceF82jC0YmYh_0vSKhno2V78qH12Q8GqrZ3qOSMIG-vWIghzvln7QelOBIKq00qhuQR0Yz1mb1_Dighp7yo2OLmbE4ncCXC0Dqhx1tQfFnBlaW0MI8YVbv2fHgJiM_aA8XIYoOzaTaUrtSz9DnDdwjD9a2oBXTWKmAFCQDyHPBz9vJ9ZED6whqxDj2vA7kUiWN0t_9LSFvtgKaGQccjbwX6VAHW_XbJoRfVDSQlsRlmSL3rewQmehrbOo8VUU9gqdNuYSB3bav47YTVD8KYsPRjnFF8WOylo5TYY6UEUpQOaEIHdEABmgT9cXKlzQBia17GNev6ekDLQ_RHKk44xrNwwbcMBsYDjttgXnhuMwRXyXH0-DFQYxj8ODD9AMFXjl7Pkja_MP0igGqP9vlXrFNkHgiDkAf7hatG5G-bX5_MxBy346UkxIujaPRQThqz31iuuYlIKMtR4ayfZbPIJJi7xQhKrpTc5YfgJnGsllSGf2Qt3N3DWABBpEWSyhLTRl8q2UDJ0dTIAYfqpKNoX2_mo-YhMp9OyJk7xMFtHAX-ZJ1ypgELTIUVhwy6WnAGtcQJT9D-1Oj9s2UgM5vvDPZIeUMTiw7qJaYkrrQI0qwis-4Yktaoh_ySKnoR_UTC9Dt9qXQ6DISwJ--fdTxm6LCeiv6rA-rO2XfJvo4zudQqBfOoc6mrBZrG_N1a_Wt3N9w5q4SZcU6iWVvjylqcbpEkNkre0bDlNdYqiSal_HZ3got3K_NjqE6IEDZx0q8nrM9Y2nURE7HFNjV4moJJiagqKJXRP3aoU_QQb1Iehr0sO0dbb5XPHylHwMowNo13pjN7uZAYoRd8agvlcmoPAvmVtD6_hZvRdInZbjM0pHv6s1cHN-lcOx0q1mrCWZDB-SrDGO3bnGURCIGsIFmhthUxUCaL0L9CfbLLHjxjzmwE26NN37Vx9UXUVGPWCwyEDs-OfA7EpJsc4cDLQtDc0Sz40UBelgCcVJavvCP7Tk284BraC1gOcOutYZ0SHjm6qXPQthKU4huyMVocSSdSUCJdgyCK64H3MqJT3HSvrPfKjzd6gcObcK0YBjVNbZV2JISud6xOQroq_pNLo0ydKoRxfY4GIs7yT1T1Wu9-Q_iHGCvq7aFra0ppHH1ZWNYjNVaZugg84C4KXX99da8uGp-FBYfq_xIsDFvXhLV4BzSMd6CSRmcP6ZkOR4vc-no1jgqKRx_iNKacZp4i5T9k-uW2IOm9zOqzpl0b2aIqV1UPZ1swwl24ka8-RiSq6p-aPQOPeauHOIshtd0xfdsebS7a5B4Fws-QbNnvXwZZMDUlDvbfNX7Xgxmvk-ALGoc6xnwsDPTwaHduz0ftqdNW4Edxm9nR6HqWbBYI-lQ0jCOGzzE4jGw1WV2DH2Z4wM8xoxhxLfJ1Yz-6d7-Tg6P3ZZuF_EN7p82YEeJ9P8KhHi3x81hkvqQ6xNlH40yZC7TT5-z0mD9ZTA4dlE78G1teZzLG9L9f45d3Ufw6NTfGJ0xMOc939GxcyJVpwuW7YhhIJZo9PA53LqtYJiLIwJ9CutXhxwtIOcFhjPyv1jBKm9gh4L_U3jsjXMXABv9tsjSMyQp9Sm2306FkL797Eq_5X8voqWV83MQ2kNzjkU1dBK5WrRoWjB8688CREVOHaxMW7IZHVId1MN0fUCILVa9Eg4zZ9RXXXZZ2XVJutvZiQgRv47evELKgTNP8SsoLhBmXEMIe2a-hViLivjKJWiWRQtClf8gLku56MidHYZQf8RTmsvKyBOTuMIHzvmOwfLQJzmxStXPHeHYIbS_OK4mI4htm7A2otlkd2YU8sH94AT8pX2Uno36RbZQRE5y69DOVZuRibuNcYodfxA_h_bAt6mw_lxglkySICTU0GGRsgBRwLpC3-iDhdo7yOjtgyQobOk_oW_Dw_CnntaU7jeRQCyrVopvTNKaHqxvagyFPwNE7fkS8uQAFrnkM7e3DCUG5pndaP7IRXU9Equul1jRsn5ckMLKIsJv4NjvRoSMopwxkdgKwrRUity3dur-dR7x48TwQ70wptUp4zAxojqQJ9E64FoQtniWB1rgTYRw7nXHZAMVrCJd6zXv72v6KaZukwRPj3KOfQUH8UivdlXuawz5w9AuNpDe4K5UZ1YCyVdaymwtZsQLBci3s4JtP0iFPkIa8aNRffzXOqLooScQcWkkt3qbCMuEnigv0iVfzkuJyoZxWJybxhgwRtMB68Lrr6Ri4HS0HA4rWVCut3orj4kvSqATaTC7BERS69qFsPBMg1yBcbWG6-MUbaN5DjUFVY1280V1DTYYzid-SscXAnI08ZxhkNiocLOW5X4-7ZQ36omITvLu0jepmZqCvbU9l9hgOoTvDzHRORjZBjAbY4yl2lgw6Jat_fbOETKpMgMJf0bd8TMu-xMVwIPidnrQBXmQCzZLC6dTTzBrMv6U1A8ecN6I-Ey-mdko6VsHEDmbFDIe9apY1BK0HRJv01OxZijsBftNNgZEOhtHOF-D4P0rTGnyaXyqE3_RRpCMjhIPUANG4DtIkEp3T38lTurFb7Xcie5eIOd9O9MJY6qa63dXw9s6cfzmleU99NAUu6488ALndk-_bY97Nl7kmWu9RXMnIImn-f9GJ3X5PslZnfpNbIc1EhMoLwmWc8OJK-Ir0oJ6JEe7_8-0bI2eZ2iCYGZFKjou8FsReTQ1TTgWVSrL54S9niGrkLG1OM4PDDtdPQKbXsuBBWaMTv6ZKljBfkiJ35tMmtbn7_xT0JLrKSOgJXr08fFcbHbkjFE72jWnDjE1Cmx3GdsmEqyLCF-S6SAeOxeIyr8cY3JGY4Cr13I4ERELqArheqtRZDRjNXjB_LP3Cm5YRiQnz_XVJsVExQ7QoFG321u8HO1USl3A4pW6Ab5Ga63gblt2p9RoHO9wyAYYJEffrsExCwqoRw3M66o4JAg59N-p4Se3dTG_Iy3SfRAurpLJ_v_zt0NpEi7yNEnp1z9LFVWIWGcl6OPIMFUa_0P5NQxMSVq737mJt2aqN4D6WFzQSaTFgks0vm6yOf6Ecmrw590QxJPPJGLYPwa1_9UZcfnwA2Kpx-fGwrSB7fwL7M33g1uzCiOI2RLSihQn_MwVNQjzG2UYShRb99FTygAv-m2WLYkBCxZD79cFZaTyD45La6M-RZNSzB7U3M6fsp5oFvbUVZkNTIoWf5Nqnhq6M_3Gs0EmkMK1_VYEXihzamf-KYtSTYr8PFZ50gKSZbAKwKo3y2WBEx4NFk7N9jqTP0e3djpKgwNLSB_Jey5CqM7LTUvWQteAGC_guJessqFZzPVezHvPEi9fwDNsMP6C35FTZQH4DnXnxMhwEFMDtBoDywWK663s1bPqoQ3B33QaMV5ArQu8XW8DaSJ30NYbKS61aWHRpbdiVpmB3PkCtbsK612p8QjV_HEkQWycqi-zm56U3X2cRPjn2SstOkzD6YwpSgNCYv-ewJpTVEv-rpvunK64QkMNbhLEDd-m1Q9GSerp2qI7QZFWQ7d_G9aZtm33AhmmhSBUCx-nwkq1TgMUVHGLRbyPIRDmA-azfnsvVUx-uy-PBHgoJ1OkbIh5yuusgB7mKIxlcnE5nHs54OE908edK2cnmdUDBMqqYMgqp29RGo09VYgfoIuUkAH-79Tbldnst1N_d6spiMpHD6RGk42eBWOYMP3vfrTU4Iupsh5UGhFWgrVESArHYsSPm-0QBemaeSLDL0WhsaYpiHOhTO1hPzb2Aga1E-qOBYY3yqPHW0qVPyunu4mY_aTmz9nq8sSb3nglj8_mz2PNrGfrLLzVrNnDOLA8-b95zVx4-4-vPQa9CgiYnB6TutFu3pqy_yqcYDmY5pq9nxD_EykDXg5jNThHJyTuNaqSEmoOeLTW0awdmjKBp4i98-DGJwFSIjZ6X1PmBs0Na2e8qRb0Tnw37gCEzQLq_s_lr74peEmOBxm4Kut8TEP9ju4Dph2nDwKUJQurtGndVgmb6j9G3bwvrDXsVlFCrR52r-XYGVsgny1h3VIHYP1F0m8n_MsQsu2NN8bbwFZT2lOcyMusVctibXXmEoZYxGLHQGUXQY4xrAGTRV3u0Q6XbshBz4GjDr7XCBmhbZ4L1TZERl8a-f_at1cqalrlx9FD4MOoea8wVE_BDxbz6v7ptP7pa7taGuJpiHchD-bU_S60BstmtkLPEZm2h6D0dcHtKwPPDP4bsgMHqSXAGLKTM1Ya8OQMplmtyspUO2BhJGPd05Exn_T2bj-yylH1ASQMQABGUXbcjWE1pjLE701rhIX5hGOt60p1qrI4XLolvo0HPqRm384Ii5GZ_Xo5L7ztpkVkkyew4Tsi-zXCbt8rkmIhbhjSTIySe-WVDWh94xBhPa-pzjapsA7iXLkSyUIPL2dbpqGfxv6g-BBB_RQFBY7WmmWLgfQaRDV-mLerjjqNZ0xudFi5XhRI2vbeJPARD2-FwSy5bROmQEYlkp7Vk-B88f8rGvbdU-8cS4YwSqxaa662BHAXmhKhgDZf_1buXxNve9Rn2F0s_fhJubXBhCOY-lH8YvQdLz75EIdTClmseXkWtRAlwKXP1cp1YVr6Xts5YDx-hSl_1wmeuK_yAf2olcOG2g5hMru7k5VfIOX5GB0PWR0kL0CobmjPegQW9grEZ-gRfkH4AxNzZ6BJIaNR0kr55w9aH2AzYIUsFrCbkPEYBZB3kNOMqjD8q65ywjPxonhdG9yi90JgRiEjaguQxiD-PtO__L5PAq2sp6-0rVrS8OFf9Nja5lG-3v7WjuVEfJ5KMb_5jKiYZTkWb3OIZ7ROQqTJtpICupxMPAgC-BGAtR70YSSfzykK8w__dH2Ob9eqVLrPWaZUDDnEVX9n_HqQRVGYh3-a1emQ3cRYzc4Og7lEvEbiNatCw8W6niuOtUY8VJqAN0yXtl5ZQKi1AAP9QxVIXIp7Y8VZOfYJnTHrsztJsw35MlfDUhkXG9glFn-UYmFNNFSzPFyGx5A-_-FP9JMc9uRZueFkAnSyPvxhE3DFAb8YyHic2Dsq8qAegjJ390vu4MWD1aW1MIsrbAoCE8zWlBWNSncVLrEH0hA8DVMFM9FtUv98vM8XPZUj4PX9btaA5iKdX4O0hw_zrxfSMBaSRZPzkI_JDqMnDDBPpCa7xOk8USWqMW5rIqvpxNgH6jTLP9oI9OHrVq4O5NIb17rS0RDWg0k7HOzBIdSamRXrZibjOqX47BNjB1mD6TqBPpgZDKc13LEYBrLY1eIMTadSdxH6U5eDt1iH5AWJ3j5qEqoPcM1--CKX9n8iJknbKkb2QwzX-oVZ9H2SWizMtd6Tei7AkLzvbCCq1yLInL_qjnFuefNUcYAGPGIAusDBINHuyk_azHR708AfidpLWDyLIVItnt2q8Qk0JAK8B9rsBQZf3vPnbkxU8eEFUWI54Nb-BZ65JyaywYgsr3Te_DOGxepTMYqfGtfS1e-MpVAaYn7IQD9BB6YjL60nzeZfmYk79X2Xy2BglJGbL7QWrmrI59evIia9OaT5kdDMTbkAfbDS6BZaA_qRw3GkuUjtar9x0rQmlTT0pchTV0XZBA_rcuY2ee-xvEIarWQ8zTyG4s1NXCvDJwxO9RKonFfOD7_T7imx7Lekt-6tvMMfNfDJZEciFDXzV-jcooEaWJphSDPEA9GvYJ4jo1k-dBRgWfDktB4sV6utpJbFlJKqmU3kDeCNCpjOQwDoIzIqQ1Yaaqq-w-nXXBa7_LjsLOpQM4z__7kJ4I-D-mzeLdmYAcimts1aYJk4cogZvS_WN9vb6d2VwX1HDfj3qIzv6rSEAO5kw-2hD6b798e8ADQX-JejBQP9DAkYcylJwGQh3qO1-Hpv9950MRauP_mKNUOWreZDAM7qAsuUNNbd--xiZiD18T4xyCPQQCF6aCDLyJP7Uy_78almjVY4UZ9mLOm8jcjtp88RQmAFb5RLX1u-zZRCA_FXc8IgBm-YF2vdaiVWEq4nHM7TUmrCr6VA2afimS6SLEjVJW1Nvi0Rc7r3AAle0eyVo3XaQl6PQ5orbVV41_lfrrHPe5YnRtM90jmCI63eZH_4CdFUC63N2x_dVNe1UUjvhc3K8lT3SRsbiNgT8zNum-0mMR26wJIizDRMNQ8gITPKtgcmRFq_MIWeiw7G1BY_ul9MwE-o4Fj2HYFyQZvIy6gj8PFShhD-KtS_Sh8nZ4MfV9pyvRPg_OolL-4KcOABX9ETtLDFukHJnZfDtQn6X_P0AYz-cv9wtAHV75DXZIoSfTHH9yaxfrZuE_nUqRwA54qn0bdYvAVNXeqpiIACt-252qOIRzy1GrQLQzmNtmiYUBXCpbnscSplLg_ScvgSa5u7wJcezR9vyiAoMu9wMV2hAmV6pA61o5a_6aHN-Smww8ZYrB_9_pmcZoHvjnHazA0ZI2GanAoa5a4OfZW4rbCRamF9GEI-RP1oDNLSLL9SfkC8TTPnVnr9D_7sHxTVR11kbtj4NDjJPz39aY-CoJxFor9QJIsSEl-C4lFXWyHLWuFChzy5YSK3h3KTHqwprtkf4gIXc9Iq1-wkULZJT1n3ELGO3MvkVcGUk-WqzyLN0P7b97JeyD3qIzDQgq8kQgJ5yxxvbLzM3CqwCE_lMC2zFQMV0PXPzkjurFlk8mJH5wre_V1FhUdCSMqdDX-BM-fbkqkTgM10--tD_0dO0XImyLO3HEWieh_R9BHDG1NCYYtUeJG4yewbqF6f_hH-fEHdqK7ULfI3_I_9lRQoQelfws2Iltie0HF_Vfjcq8OiyjtRQDje1V9C7EHKPYTWEMUPDiCIzC_TjB_1Fdt2UNvNZ_tmmq0ftWTaWFCoVUx_frO5yLZ-RfXZn5fvPm7NiQN-yxf0p0u7spHl0p-1PwucRJcHXnbOzX_N8akY5HnKfiosVG_S1KrYXFGtO7g3xWs3f3hoIoKhBkbzbo3BoMU-ki-kwXUtU_0RZ8ShQ55L1YVUERn6KuXL6onD1Z5FzP670HjvlfwaI1od1Dia68db5BBL-iZp_BfzwPHpsuGrKYc0PFVKd9hppG4_cBbnI9nGhmb7Xv9P6njto_PQkbnMVynl7sMEY6ElBAUwgyETLh26BmG05-5i7RtInmZpHZaHLdnFKwIRBDvqf6VkgJcBKi05rZ_7C4ycu1q1Iiee-HlYiFRhTVQhZhLfMOhmqiG8hOE3MUqiQPnIYFO4wWBvxqNgkPebeT39LvMP_nvoHyiudiABka-VTN2uRqnRe1HKCq-04Cn_lewtdY0XBhYOPwlv4nrsMUdowFerks3P7vFvgmp5vNTxP6FWyzvULVQHR1Z1ZHR5-b1NOHYmAcfyDmu8Mip9_FPHqziYKWCZTw-JUzHqnm8-l45OxtHQ0VsNR4HNK8MEdOSzYF-ftDXjboctCXv8DW8kxRdLWoS0GICto6q2ACGD-OuS_2_0-0mHJBVGqSjSQI5mi8Qce33jj4ViGi75-P72nMTllr9DJcM6SY29HFfsUfZLLgcegZmV4yeU_1Qtu-9oD5FYeGi0w06vbbPVDB4FBa0O0ap2Rng4svQeAlWDZ-wArcL31i_u-tCrqX__nZcUS8Iwrva-nFE_0NSWrsqsiZLCYqu56RxE_UccBDmaRGBWn648zzqGIyqN2teQarJbH75nPEeiPNKeU1wEKWs-fm6Mqf7cjIBka31mlulLWqh9-aptFTlF-gVf4ABv5ZNWHlfX-ydZDTr63UXFJLP31ZlKU0s2OyyhCfF-cqlm0pVxQk1uUl8PRIKxloDefD-o0oOoxbgWLvSL8NJROWEpYyzjLA2RPP1PvP9ql0thnFVHC5HQRdOdpH8iHqbjUkC9Svyd9ZLUzISnJJqSe_gcAIk8UqIys5lLs6wFWcviVvi4TvIeKSGvUA6DjevEa4OvrwohLxD09emyyznYlfqjGA8hLZ3aUX6rTXhw-UYGHKRMWH5mb_v_na8tJFa1Ujbq7uZpoPy4vL2ULZK9_9UMW7htTXk8cUToRRm2L-4VsFR5-k2NbH9gfN8ISNgL5wUOdBdrXkz29rZe3kTNMITJIV5qvtr9PHSiWA2xKSqCRKrod4uWbE7XnTsRSkPjZ2v76cAV5st2Zh9A9FwbbJWUeLnUnkl68QhLS7h4yZZcB0H03GlX-pSsZE4PnqoDKJQfvVacjCdjlepVFGh5JrSRV_j3596-XCyBH3ouKm6oq0MjWJFM4AmVPU6nnJ-__0Fue1dtbWoHrrFP8G6stIbMVEifGeiGGCOJ7PhKwDiBoAiHvquxg65TRzaF1LOrR79qYJIQu3gUYWx6YKVevCTUf78c2JLuOGMsSR8rbSYSH7jTAzhMdYo0tAsvFPQKaMTQ9egpwbu6aZftw_NKJ2TD5ez9PvmakelsoK2tR54x_Kj3IVJI6Sy5SyeRQ6MWaB7Qua-rvRk4t3BZ0sYzd4kpaAZpfSt4j8P1S7jYjR8wFncMQnBv6YEc2VN0128UyFhcW5sENjZYBH9WpDwnyBZ32cGzAFzz3p65VX0Q2Z4o6q-bpXpl-xw6G793PHtFtBadJhggjtfjgKZugDLoRH8JyYh7F5yfoykgL6lYSl8HCniSJVueNvUEF3zdVkgq0cgWdb7VL1Q8nm2ls-amH0QmM703tOxSrOP8gaaIbyEILvLGdZ8sAnOLoI1ibFayGix5RpJip2o-9Y1WWG5r8Zetx6qdq71_73sOgzfH6xBzR1vfLtqB8NYHH0xXGwzkBsE_8AQ2jrelBmpz3M1X0oV_6ofh2uud7QdgN17kJ4ZJ18jcuAUXasW7hHwiPOhycV2DU8cU9_HCvvSoAR3sW-lDBKrz1uso3xQOwOxJLj-Ibv0bzoZ4CpBxCQNvXf0VlVBv-Cumkc7_Oc_0Hvvmxc0PfFgloa8SRl1JzKOuc3cY4siLrMVKb-zYeYc9H3itZcJK_NF3UkUFMH_5vophXFE8RXTUv_cs_Jh4nQMib6TajUESDWSb-kojaTnKC8W_difgWHDOSQhThbqlSL03e_zwPIHHkf9lmawnyv3IBOH0W4KVRd_-4XQ5A1AydqTPNGt_4PekCL1kd1SfySC66H4elq50vbUGzUpOz01wOMnjG2-iW6c2ym-1tPaRlPWfdZ4wGbqMkBokHik2Jt2cvBSYZYi9TEw_AaMzw0yCkteu6iKY9HfrbXdyxyXHqgua4cilXF5zzoO6xx1QSuwna0B8hT0WvDMxM4skRhCbhPE94F1I2iRweiKFdvxAxehnG4g5Z41aatPFtawK5PW-3dUhBP22jUvwoghursGtSzBxQ0WZe_GinUNi-w0-nRn_loVZwoAaPwjAesFbTEESODtVqlbEJpKDdS3IaKu1w5oiID0UyZFvOBv4yUI4kukbhfdvW51UZEDwiI2Gd8RZOTD1iNbQjjb6-PMAW0ioJYFPl3Sl_Jb9ikHI7QnE5YbV61zGuZk4IoHJWO2DTaYwua_qx1I25G0QnetIDrVo8jkTwltdEXCJI7zoJHXHsPnflQWe2nuWMny_I2XqtoWbi6IY0_JXOJEufP2-CNcI0wfEc3qHCv7zJoNbUPHNSM3RlXFGenRzraIWAxfUR5Zdx-VA4nO0UYC9EQkNRQVZVL1s39-6H1U69ptXEciZqiHOaVaoUAQQ28yJTEfN33ybJemwK-skYyb1Kpa-FkMR6n3W7ERAWZOcHto_1iClg8I3WO7OX0kNd_3AR523ULKba_14fLu5zPP5z-6H4h0FBnDi2w3vG7gY_c_cuzXYiCQtpmtlG3vdETYFO6XLXZi0UDAovy1RfsERkjrk-BSTJme5ABY8szr2tMoVqbOFo86w-8Q0txejm0rHYjeMEiOW3p_0zxLvkBJlhJ7fq3cu4c2puc6FQWfnAqfPqu2GK_a5qJftepBa9C1ThGsvQbprtgj9cAzAQ-N52yijcaJ11MR8ihU2wrK5ZTNwploygsBLusH88NVrKLHAf-e7QvUmk1DxqdY3c8p9PcmiqGob6g38v6Lz4nGxjDj7Jhr3fAMDred2_XAB1sUlKkuJ7-BMdgJN7gOj98shkE6yi8Ud2IiDi5qAxP9ZWsHaxTJtPs9ZMAqPRhZua0t1N7NfqNeYUuNCr7TPaYArhRlF93i9f9Vn0xz3pKdzNBNFt_NtvLInE6HLDAjNF2tGovlx61h_39TFwzB-SffPaxkL6W_xicZ3gidzo5xTbUpnGrJx3jT1Q_OymQOVkYORLwnSJM5aN-3AMKIQePOTattnC3DspKe1SqW12wzrmTW5FcoU4RlZK3JJxUnmLxhnbjYRMn-2vUorNElZr_XqiTwlmPVhCR8TytS3En4ABlqMldyIuQuygyTw2IeNLoa7COD7lz9xuZQXDwHFLXwgkFNSZIiUAy70XGH0dxgywVkKdv_V5Bqwx1_DBzqFiBZeR8hlrwKWHWQJ4MmgYe3mIx99Qpu6HyxBEQEzgsLK7aMuSRQvnCOvRIyguGEDIaWRHm7A8JamR6A9hiALQ_PfuNrceBlcO1hGh3w3AJCSn1egClCmTgYvh5zZsjsBh7zGRuwgh46wmvpHL7bEIMCnA3hpUShhPxePSlRlccCOY7vlL2lcgRo7ZWsrLUDaS54v6VPXk990BT3-MR3E7Ctngi2_1XMcQ-UCXOjpMwWH-Cn4qmGZKSzHeVLp92w5uWGPRCTZhs5obFM2sGfSFiDcK2HRI2ru8MLdbHj7n1YJWxXebDJyrBQEqD5FOXClfzfuYzhWA2vrN0Rzj4D3S0Z5OGXKMJPsknsRjh6U7Eyk9FzaKn1ufn_FwiPwqYQ2uDTlA-f4cOSsaKrGcQAPl1qHi2fAueGSZNNDNxVeCbqpHC0CkHGlyrjRRFnTgfabcN9jnlqOCrW_ruMxBcklzrR_h8b0rB8K5QxEz-WdoCVHM2h1PzMIkcWxQiaCSiM6lqihUYmlJa02XlABy87FO76YRxEEdTBkbCdLxYC-lbsuVTsOWvkN0Gnb9rVxtu7mD_qa7PVYtYgkc1Ac4N05r6esNzQq78xUIMUabN_L-y6f9pXjjBJxFYZ22yZipGKstT5Fn9ld1Wz74G0TCIbYyjd4V41Xx-1K6mbm_-y72CBQzz8QOW1MKnXtNQMc4cf9g8dG-pI-olryz8oPYeWX-p2YOuy_J1XPLcuABfWn2vsqvWC73xzn6E7cPHAr2pm1hEj6F3xMV2C7_Sma3B8pD-qgfoBiPMlP4-w0HSjNxA7dkTO-DYnSSmuOOh_D_hnXWKlUb0ST8Sybyqpt-GH7E1pWH7bZRk_Bz5w4dtQy0F2OqyMMWRsKMt7o128e5GzJAt731uC3bRYMQDvhYjTfASkuLv4TpI0yWjtx8OL0pmYaMafp3t3t7fPZSGc0K9JiF8GwW-pa-TKw2EWb823iESABVOIZYwTQOkwJI-jg7TzahLRmOfAwH02OIYlCTC0bXfT9chMx8HZpXb7qEwwcVQBYvJa1TXM2VLgF86XPru1mQTQB4on3S1TGDfybfjmGaSSMAjVv_9GM6UO-ZtBMCJu81jIYg9nUW_OVF7aGDfsBqrmh7-l8Ac6JEXn1dj35Lx63EBLQcQ9190cJG07xtbqIjZt-kocLzsSbP6-inc9cHint5teRgyY60AYd0VDcT0rTT5-HtLimWIhCken8Ldo6owmwhxYPVnbpiZO-SOnM_MAebUh39GJl_T4CLAdOoYteOggp7RB_el5RmIRbhBZfqMwjpOiXTW3Ag8u1k2E2tg5VUctST4RZYoCb882MgLN_PrAaJQLYjs9UGIpsOLrE_nmOT-iagPWTVbSn6pwYNEVUsX3tZLpja3oICOD2keuJxDDMclC60dePsQcGaKaVuQBX8hJmmiU5ryusZvzwaM0K3e_Cf5DGo40feTaBfpW6IVK1KBV2WHdECLYZVGYKaUgvmlKF9fRHBz_6JMpuEXJm9Fvz5sBPFeVZ6ZRkXuRmr6okSTkgnUrLv-ELqzsyMLdg5Ji-Oq2cDQheSilCW-qgHbDiPcxWXt_VAHSu74c68WrXqeWS1pHyeD5MYEfyMV1CCIV9yeqgjvP7Y0Ul5GMmnqWly7UVIYpEea9j4oDcnhNwrSSwakiIoFYfwOfN6GvhJ8CBEXepWFPb3KYpyGtmpxlDjxqflLwmC4n_YB58DVPRW9s5FyiptBL0fOaU80bQvH02gYJIpbh9tneysEtNnI_q60CcGLJv7CcxSGXcPSYperTrSL2KdaHGN3IJZaNOVlNRIzQXRecYtt1Zwp1g9nrenXCKaGhOCJVjD9cHx7WErPPE2TpBXQVg2L88E0pJgHQMMiFnSrVe5EqnCHLDLquFhzerZEUOwKsxYrTdQlwHcWPMA4t9TDPyjfQz3m1Bv8ug_rm_KDH1KFG1Fe9ZCpuwRbXZbtNyabjux_Y689h5wEpk4QKTL_Eg26Ve-76kqzQkASpb8nm8ZVuQuFiG2Wdgv0EO9Ck1HSAWyr5cJyyQZZZX2LyBu2QYi9XhLM2UVcFLNScJBGMztTZT2WTRRBwSBPrfo2V2442LTvdfgtvkYc9QqsvqJ8McE3PvXb_ijORix_rAmwjRb5bzEoxISVs7M_5vyYNn3we73AaS4D_VbVjrg6zyWIMerYyNYXvDZZu7CjqoO76dNIOGdVBJ5rWKM2TEMt4Uz-0ULB55uQqUaJnAjsDSAXIZB_2dHgMoATu2rmAXkcy6SLxz4cYSM9Tl5C_FoWQUkHMCufbqyIkvqJRJQyI0ojJIb4UKajENy6v4VQ_LWyEkUAXxSo9V1FD4i06Hh2A3fjiM5O8a9eqdVCvWN_fAapXgz1X2iR5qom5I3iyWu7g2JXEpAPZLr8qoLbPfJhdjVB1Xjte52jTmMy9TVFh6Qv7_mqNvZxYHJSsr-6UrGFM-ZtYgefTpMMSnUry8GcYe3AQL1fy4WJVtaaVqSg-mvuGR-yeSYwRWLMVYZpc-v0AE6AGcFQP6wQcNDRBvJpMahKhQMe1GSNMiqCMvwzFE5_C8F1TIv5R_BwL3dFaJPSSxFSoKyRqBYLJsP2K-vd4JDXNucWavLKrtd27ao99cuOVWzj9usAEuhn69D4Xm6zGUppcFWgqR-feenG67vF1e805YepB0wxbwcIuFPioppGfzhkeEuZDsp1SDxWFWvu1fFIA-W7HATeSasskrx2Jendfn2kwMmZ9opycGHkswToadvmfUGnMp_SP7-bKgDJchnV2bZ3qHd77Gwsvtuhzl5TMkRzqsneyUak0ZSwnwRBlB1-oB8Sud8_e_GA0MEKkl3bF3YwEwSLYBpHQ8ZtXZTRvo8r_8kZxhzdkdQ-q1gm10msw0ULCPhX3JPkoDHiQ69r8VOYsC9f8b25M9EJm7RWUYZ3zV66c3AxcbgtWFET7SEKgSBsxqbkaJr86iobmUNILF86I39j3U4V6RSbODVJCb_H_mE-E1ifc9tjFrSFRuT3fUzv9v5SMsR_w3F_mC25CT9xw0kKOukB8Fkc3vwVgrgEtoAXstFaSYm2Gk3N3pTL91A9fFvwzVBPK2-FDW8IgQFWk-qsdIvCtglnFhRnuGXsxtz3petIuIcsB4pGTTArSuw6nCz1pn0xb75EXnZnw2Da3dbgXN_WQ63pQ66KefCaG0ATXw8fC6x1FA4ImWxwXYZuE3L8P16l87MSKjfaEmbGr-nYKvpkw8m15lzcTnIYdDBi6hPeiA4HYq3E3aDeXBryB7a5sJ_uX4quTz3Fo5zjdF_yBr3bxKMu9_9l6MZNXpWq0Xh5cYxrkQFIYQ0WcklmpqrNroA7hfHdP0Pj2U4Sbzt3dENlw49d0bTm1W8gwcDyo7WAuxfii8YMicj_eA07Cm3VC7JHuHwfUcnhIjFpFCVULghK6q50bYqD3BwX9hC8xUQcNv9KxcNwxx9tHuLbrXTbRqStPqQVuOX54N39Dv6lncWS8HTE8kPVqKG1MOOPr4tH7hgD0Sn1BymK_y0zcD9M70GIlNqi9Ui6R-OJUoW_3tgEgT6sBHuPxMD5UpMgQarwOoKOy_IyrpVCq8P5ExZxp0YT0eVGA2aOWX1HB52i5yQuO6LIm1u7wncBklaibxvdb9S4zmNtwLDcqiizDrxYURpTM0u4tRR_qQvEKssXHqVWPElANn205AAnj9D3X132onfNJGzxvJ_A2I0o7N2UVowJ08Of5maOdaj5ShCA0uwgCxOPhRQqK16GHCDJMSMgynkstJiNLPQpHFg89ShibRS02RDepVWY-xYViKiZXUO2Q0lWYAy_IpXPJfgk66v3Z3LHD7ZTa3Xu0IkIMBadzfql1o9nF6jfn3-QQLleUWUBcnJ2pxFnQ1eTZUReKZbEik4ceMir5dawZCWwr2WBWSUll5Jj7sUGhZ0dg99VMJhHrQ2w6ZA9qK2UfLooyG7D-_ZXVlcL0B0CLB6zD4kHSKUQtTIMkNh5OwzRIC96tOnlIi_4uEKtB7_hn8i5SG4OVqWwelHprP2Z8Q3hWq4lZcgtO4bVH8KVe-x5D7_WdFB5ZGhHcNKFgriGNZuMg_kwbx0dOGQSgJ1JbAqSQ0VLvT4I-P23i4tjZTtgUOP9zd9ehfalBOhfoUqkV40u02ZUx9q2KuziseoUSuLqt9k_Dwgq-bNS_bf6efEJA_1fSskWjmBiHyl4rxNGFXLqNFvw2FhvWDNdnjU-ZvqgB6RwHZF4HU_NFwkp7qXUkzBj00tAIPQAcAn0GiZYQctFJc9yJttJElNSfKBFo-9vks07cQcfZgrCE4Th4OJ5BNkXBqk2Zd8xZOYmjIrQdZnEw-bAFUL6tacLDweBDX-fupzhYqBBcDs9zqoy2ZCTDEWlLrvq59LmojfH1Ku8OoMNDJHj7riE2avwuGywq5XHkivL4efXSd4hxRVlepcqqrVE8EATo7AhTK76paAe-gk8CfddU0OtHx7DCd3dIXlxYqeNaL2R9xc4IfRMAlnYMU0Og2iRLEG-b-tqPlF1nEtArD4CMWNzbstiRiBEFEruPJRKzQJguqNBQif60ocGve3CI_WbqYGSyQ47aSaCNC5JmCwfHdF6SwDWglo9qRKVJlcgHkQu7KLCzSz-UkFCuKuvtTdpHhCBc8eE3p_se5wQ6l-KMll7IdJHE45et6vycXqANMQmZaTV2x6hRtOCmN4YpY5aCGGNM4ibiqq19jQRC8sP50tDkiD2v2_SdJWOTUJ1sAHak6eRlrofobc1tpNetwN2y0LdY36t48ed_aTUF5fV0zyjl4Y1EdzKchhMuHxOwvhSqafaGnfuDwJ_T3lgfV9MyPPeMQfkbimOjgkngXDyxMm0ANuTQ3ehy97rUPv6J0Numwpg6iHOPx7cYOB8aCaRRLtXrLglVYDV3ztbZKlgo6r-hTQ9Dijib4PLaFXb87TjsSAbepMVQOKdWpj1R1146Y2H7L0MjZNbvExMV99y78eMPGUEXTmrOOYciag8YExK_CmwKrpnZA969Dn8oEmm2j6gvf-tis0wX8eRNT_UcfJGawrmZbBP2FwbRwwHZvn6AhFRinwTYE-3jCWDh8rRL4XA6I124wAY5EBxEkDxVdMAzvAwRUZC6CLosBbIziKThX3rk6e8QcMzE0VmpyXx29zFav19cBgDcH3kWQUqAucUgEEMu14knX2plxDc4o8iBYwq0LFcU_uwE7MBqlH9p5vsJlP3845Kw2-6w8KCVn8wS7H669xwXrE8TBjLEkN3d52D71Bs0UyHJS2hohPuZrPXsprVhqPns2ilrTJRKB4P1pOXef9IWfZ4PCJQpA3H5qy56hcBID_5qvYG6wajuYxe_KyqIZGtB4tRvwgH9-U_381kprir5uShubg-ILOWr84ocTHhV4VPH77bCTrmh5973xvtYlNQkf9ObnXSnFZiRPndT9Oc2OSu0POBUpu6TpA2CJJoe0mdZONZE_OjckIAzpt3B_sQjyq9N5gVjzPrVf4qh_lT4aU2K8R6XA0tl64dhogaCIFPC81DyxqSQWbzn2Uc9yf2Zi-Z4hGAnytNsvgcCBGeJM3apaMMsYsawupX8zzx7p-xcTFUY6UZoJEc-BmOBOjzMitU9v98DNjN7AjbQZXMHjh2d7Z02Z-hxk9ARvX24AYpDoXJPjh8NdFZBQa9Y01KwLvd2GaJ9hWlRCD2kRTY_DJa8Bf_7RH6ZqBQ75-Vd02abWNi5bO0Hu_qDrj61F7xI7U0DG9NhAq8YfwKv3GZlcMt3DEJmZVI0v29dwJgFqaMY7JZVYKOXKxk2gQezHZA1LlfGCCinXiQj9gsNoMFwv3APx2d113eyg_9BfqeUdY_mqejViuQ2prVKrlgsx9NG3w__bDkR6-dLFpEgjD5sF440hyNhLmLAB9F2-97VMFsZ3_QKVTTABrNXg4Xx8uLb7AMfNUa5al932aCX7_PHxEKXHRd0O6ae_OuKuGCRle9z6S7Nkk6JXpULviqKxlcS1R6W0bUc6httAIWRYohyyUTqO_g_skZqfts5Hdkgk8_3kvZrMhKSs4LEDb8w75Vg26TOe68J9Lsjjm6sA7pVtVD9TPxZrGdoef75tPIA76Bu_fT62xtmyoe5-DR-HaDOm0eoXuKTpCGCJqCQr8F8SbwMOyxkf7d8GyhnIfotMplgadp8rc6e9XuSwRrrt2BWM80z-2i8HUCasK_dgWfiFy6HrtF745bHsmwiLwI6hI-YzmbXYkLzpGyrlbQvSV5_YbdthTHnNqefoRhY6c6q5ui5OeneuHnQFe8F5nFeR2qY4LJjQ0Bic91TTeeuFzz_DJ0ktON3vpFNp3VKRVTraIWrYxFxDzyO9uh2PENYzOWMu3sxf2__cjD87Pm3tTCVHGPNVSSOgpzQNAGqU_dPFSbDkHWh3Qonfe6M62xj_vtBaaBLYVfUz0aeh3fXyeGkd_kQJ3o6KVNrdwaDdB3Z6b1e-XRzrIxtgLrYBO-zHclWAT0udqU5qREyTlMELu8RjCuFiQ3n05V1KDyI8iYaVT1RvH3A1z9a7Xsbt5bS8MdL0Mu4sAbhCGaeULAAlyQ6noesxTQ36iDYIAknJ1q6tVHfqTrKzixHslrSFUyuD6BGdKn0Vg2pUQYz7UteQS49I8pJHU9AQZRKO2mUxiinXCNBqmKu-pU-MdKYCmOxyY_Ol47QUmLd7k8RCBT0DJbAlWOXeTrxpFHrZ2fLS1nOSXTqD8DGkUMlc6IxeUmQj0_nmD0ErNA_TlxSYpw-_NcKhYin9fiwMFBG5SSeN9dka6OcmUzeFIAPsR-P76O-MKPnX7yp7kG7IFneVtZxg6pvhlQSgMvweQeov33k5PKJIU74vClEEuk20FZKVROVprWuRYRcRo7YrwOxfMK0yUA81kEeh9hqyUC3_5bvvmjzfdO062bskq3CvqhJSfy3DGrYg4em9kUjVw6BPSTYT6SHdJuIsc4DISJD-fL6dJUTx6xyPlTa97s-BPwognTnvu6cbVbi2Q7MgPiBsdRkTzXVhkL-gON3bvOSRsFaaN54iPsRGfi3cTnbPMtkbR1GQhgU168Op3bEIGHjqivaPuCM4mt4juK07FMKZX6LqNAS4zC3gtlzlGI0gcVxke8GIYDhYdSHSJOvJBjdE6d6GnTSz9Cld-2JfmsqXKSutGjfcwJ8avf41YMq_8Smia1dzrK72qViyWCRfhs9Y3MFrI9aQ6E1ese-va3lEyfXmkbIWNPoJmE6z8xAaO4ctLGmgc04OHQVZzKcGZeTO1OPv7CBx5o-mlOVHmFkz8vItlgHhJND88dxOO9x4m3GY-Bf_YP03kFb-iDX4mPKUg3MyAy1hmKn5Gt7-s60d5twPOnXNqIqBXyB7DmGv0fZ3MiHxxxuKlCzwkCssSwJ1A4YLNP7fdl-M_fo0sKzW_LCMpFR0XASmtgMZokd989ocb_5hBCmwUo3fAVADFQjse3P6fGP1dJlK4bnJI_CSc_e9sztEoaGN9rpmSEcTQLpMn1ZsgfJmLYPj9YClxBJrNDiSCzzeQE5_891e1j7yLWXub0Qmc4P0LMjnGT9cYhwsniLPhwm1da93LImBo_he7HtBDwy99hyI-VsokRDdXoS-LLHN4c0gvJTk0Wnvp400YspMuydKQCZR82bgR8isXFbqzJ7cnnmPSkYI6yeLPXgzwKqMjWHFvOKNNRWCypDaxb5g59FFWPOBx7YsiqUMsrHLhObhKycu-lCgNWOugGR2b4_jP6xwv3cbJPoRa1RyLdv_o3W4qiacn17HhlTw7Zjhq1taXWFskYhWJ0z4Alk_zI6NGa358WrheG_eq9Ad33HGcPTj1QBWPBCmDc-v4uQjAOmL5ozxagDOytrwIIfpIaKsgaYZQe_OYoB9drJujAFaLCrstCGsNfY_qPqAiV8Q_E03YCi0DcCmhoUpQ46f59cpLyn4BGCczANsfOag-jgf4yXl9bJrZkBdlwRKLgwtzDO4038lQJ9KpIUOUz4TdfP3CXrJYLndaXqG0dv9GIYTPwMoTMN64TfIJg86i7tpg01MyXjbiH4mM269tldaThCuUVGfSyawe6tn1yVIWUd1so7uyA5zlBNQMpDie6qexLOvG6csvXk2KllCmjYnGE0XTuQr22647KLJE8BKkMpAZJ83YIkYE91VKCTaf1cl7XG2IJA2IDN09k6yIsYjx8Ge3RzggAUgJXXTd_SVjszJbp07aktYDuz_XiQTCb_W3Zdnw4XoYbkq92gkz8Yng5DwKzZsWPts1D9GDlKdLLjaTUrj8n-RYX2MWk8y6Yk1KDAYyDy7146Awf9iIz6UNFEXDnjpom7Fvj3XscbLbCXvTdlxgQFQMgXEoXqf8Xy1twH-TH8mREezlO1qOW3yJHNY2adNuWv2VsVHX4LKpF_diM6jtfM1I1Iw3h-WG5tysntgUFq-htTspEiC9BLIdDkCmhuF5g_vU5fOPA7-cP1ME65doxU8KMqJjfvPkl6X8SJvIPGqQkXOaf3XCmXxQ9SywZiO5tGSdbYtstKk3heq6K0scwv4OqyCDfxlUGsbk3m91-nUUz4mfdA3_0gP-N4TZz1cuIBEFUTkJb5mGuDbj7_zWb4lWQzovk4MH-dioF2jvjL5ZFTUjfdvZ-9Xz5snUOaZtwvE6yWO5yA3hOLRylscahD4UZASRIE5vXPm2viFJvhUE7BUggMIDLpiy_gqQF2eU6xc8MDPGJ9WcRCIRgaOM4oMKOOAS4GKM3-UpLBOOLQFDzGWLLdHeeu5yc3-GULaiB54TGXp3F9a74mPkAZva44qJiTcx3B5c6cKiyZKJN5d7DmHlKCYihan3xTXllGk9J-HeggQfgraDm3ajh3DGnhB7nKFiu1Tdgjfu1ecs0rH_Ji13s3Oqsw6lCrBgon7XRSOZE01-1ZfHJlSxKb1s4Vz-oWm6OmkWnm-6lklVm1mX79PMbUPVFfnJdV4I8DD6VV1ts6abHoK1Ii233DrvoCVX61-l8CGHxql_u8ddV_-jvqTMjCNyEyB4EYgwFwdpVEw1ANbTg-3sOy2aagcsRPEaj9IEztQ6YG2WvSGN6WcieclOIEbmpNcT0KLy3Zto_iiHGE58BcteZVsUsNolgBJncw0HW58LO-rNLk-wrLOeD4Hb-pgN02x8I1Xil4G1jqgMNkJli6JI3gPiJ8RPSI7rHAKjR0ROYVXw5NalYOuAGDjUiC44IaHZksX7vzb_39lk_2TBb-kxxC7SXjEPAo4nMfxWd3vJSSGnUpV7ZFguvvlQUhClwTUZAb_s3GbF5wQ-8EFuaATKCyl3E7NWpoICOXds77YM5RzSfCO1jnj0c7PjOQrpu6BfglHaMEFKk00jCKHiEdrnbUYW0pZWRprY4_6AN8RCEUX6113GPU_qbvjh6TjAHZCBWNH0UnxFcjspL4kApvRx83FShUNrFRpf5AbFfw9fw9iSqOpStxJUoM-jP-YIMPHY_kOKhCJfnFuUIZfH-FeijBdNwnRQHEDtstWP0PChiLlJtaYGBgn3zkcI-3-xpFIVj3RZARe4dSizElKfBQDcktJuBbRBObhZpTeTGZRNswSS6tq4o7iEGSpAbHNJYI98CSQqa9lv_a4DJ0nEceUXmurYgBKfh7D9f1aKP88Duz_Pg9y463Ban0GuBrftWT3QfemaondOug7iZe4DLG4BVOj4uZ8udk1-WLtl6Bex7WJ1uKbx94sqU_sKK3q3D9A0D1KDAVlL49thI7IISsEmd_YsixxrWUklaOCCMvFjnmo49SrmvQEKx2yvw7KpukZtHCqQmn-oBE3DVySnRVejbk_0gT1utDGflUMeBKHfw5ifUU-hzT9Svyuj3223VQsSPqqvQ5cLyaBOp7FarkjmWjFsoj8hLwN0Ap2wKZ8FkLsJrSWY_IkIvdpfHTd5YBhpwBmTvEqkoDb8Q-erR2MbqnWxl9BvIIy4fGkWE3vCUB2efFIHLl6ixNsjfxf_XEgUDBZYx69lh2ks8QW5QJxzw2JJcxdWK5bFrXuQRaJzVy2YQM2KPDEMNi6qIxGEsJeCd91JlinGd4o6SntKmDd-7B3SEG1yZ4HaLg2pt0dedOcH-78CuCi3qDFpGdUNdgcg5zsLdWw-FoxNgx_K35D3w3ArZefhrs4USoUfztnd4E6UJfCXvveeGGNpts8I10Q6Co7JcdaMUP4MTms4MPuZFHMf7R07gZEvpg7EzzbkYa8nsnnQMFws_AbHesVTK6kqP2wLkHjav4dgqyK0uaz2jDgDyyKj6OJvaFYrPwlYyigWk3COJpP2CVpB26x-5xtja2NnbH9XYBFPUZB-Z5SH_-iq3Qub4-feFDWngrDl-JCBdXO-VA2wrCEZGEQ-Xsh_g3VS-sAG14s9HNXhB98P2slCJYdyKF1oYJLWa48YOETe3ZbjXrhLphZiejPaaIjbAZL9vX36i_NOWVZiq0vjGbDgr1y0q7ucSbhXI9AsC5_gToX5nSvA4RsdQPHw5wXdxzLZhkrOOJLv95oaIEDOSsZQegHgkS4RNk-eULqkzE1doeL8NqKUGl-GjMXYHk6OIJjtzpMip42l8D6RojZRLVdh2hm9OPKdhfCJl0jclIudXQAnpKsG7qQzihQW-zXr4J-RV0UtSTPR3_bxYjJwZ6HQtt4ooNY-uFVm4Pzrdg365i_L-BrAF1r1NR4Y0pGx_SgBQSYD22Pc4_CW4BuVMdq9fKtS-Y37gJn9RkDVdvwrfDQEs4TLXO_s-_xMKUTVUKsjZ7bwESjYWmY3EO_vUxby5YCoa-DqrD2Vdb6kaQMHqNq3mSTx-L4Lrt_jYeu2gCzvQJE7DplHGEYqC5-yLgqdP8NxHjJbpaG8ed3eanvPxJReg5W1EKw1F7woPyNzh1KxJPlpcHRoF9zDIOxFHraNTJsI-e92jRiqZNuh3UWpE501g0ePD60iqb-ns5K--T9wbt7vJAk1bKX5Hsd-Bstr3UwCvpKFuCPM_PhCkWy-Wk1MtXa1-N9UBDgkkrrdwmEswNwwfBTZstdfFJ3S1LXDaY0b9n3mtaEVW4abrurwe6gtqixVydTf37_7Wax5CQos_y4VFCwcwinUuvJOywwFhNq_xFEWhek7d5K7_Z2rShPH5HTbFiuBM8iOuzIf_TAv9XViz_pZ3dTyssu84d2bkHBaIIBsprx_RnKF750qHtR5aXuMxAYrpdzGoO3AGSR85XzFcC3Ql51S1EL2D0tshypXzVfIc37cTm-l8C3vxCTcRr_AaWWRNycSaNTknCIPmHSlth5tFNuZLX7YlZO1vEEWkea5HDH-tdhHbV5AWGDP-hALy2bjoLBBLkGSvAw70thcxb4keFjmayhUVw2nqpZlcSVwfhcvxp_kl7bRyA-LDkkZzmAwwJDwiAmUQimLf1lXeiMlbh6ABeEgujt5Tocsc3DwhA5Z-0DyIWqeqOZFziz9X0gYwVZ8DNIj-i07lVuVvhSbT9tnIYi4zKOzK_xFL71C4wq9gTvdHZ1YrHCTSdTb1_C7lQic0705fKhHAPKrJjrl7ieEUCsbedK4zBKRQL587YhNbQHnhPt-VmRpR9GXA8wcSeOsHI5kKBiYs3bt3gagYWKMVVART5IkVO67ThuTpGR12D1m_A93Q4j-hLClByoslr3wgXFnw_fCYQaaVE7ek2eOzkxJkn4pu-0ogjxS3c8g03adoioPCr_zIZ7z0tTf8HKlbrUZTHz1GVS2AYap09htHkHM71AS76yZBlMPgzDohARFQmVe_w7fjRLUmoceJOVw3aJCHAUwOiKwQznVtbFZ-fEWSCuRJHnSt7I5Xzw_8hNleTvel7oCy0bBot2BgLHNPyjaz3whWeDWeUGVss2rlI8xVKWe_LNX-stScQ9F-RBnq4VqNXXlg_58Na45XQ3OwFc5X72qS6R10AYsFLKW6eBPDhgYKLpp7DhWoZ6ZOd3ruG1lBiShqv4ykno-v0X3ut8wawUgHDEwuYQvtJ8uC-cImRz_dZZpyA65ledb0qT1uhTvWLDJ_jGD6cScOk8fPfi9IcZxjuvCVmykWVSJDl4X3yAcUGrdbBnlB9cgWUwDWrjHrEoQNXKcRkuO9G3a3YdJpveNdeTVXZpnkI8kGfTg1UFJyD-2N8FVKtWEE39LA4tmWRr5jhqc2S5SSgEAp3iUFcIWjsdUoTdP429YqKi267QQrr-HGzcBvHm2yC0WMcq5HYyo2n_jhzfBSgzEHzmgGqXrn6GCAaHgJlnBdVHaAeavizE4_42JdTeNfn3IhV4dnzlWvtPtjLKTV2kr1jg9aV1LajBW059THm6INg5SKcVc1kanSz3EDkjP-JC3GveSoZPiv1y3U9cidp4SjdOgYpjNvw99oq4RyoPHzQ9ai_vuf_Bg9hR0erGIS7_D2x7GzImtxqXqfV5YTOn05VXNwvtCQtz9eXhA_EN9DPMQrJQW4Rt9_636ku_Jfu-FkrltLyV1Sa5ZM2HnBcRHtZEf-Ce3wH47xYthIH0lig2ps5Z9Z_8zKEvJwsQ3CbIIp-UmG8l5d6Np1XWLCSn0pYj0xYdRfsBKIZ6Wf7am_bgE1WYzysZZaIldP7g8klPZIv6fg6WY4pRbf9j5l9llCk71OpbLUL78atn3lB4czU49PJcCyhCthPeF2QEN6jPZe_0GW3W-AkyTTflT_eNNvTBALmHzNjIKkPrpmC1CEAuOAGKOhuwGME_2VDUoE6Qx3XHL74Kq2tIZyXX51bATk0igYS5KtXxGp3YJfkQGlj8uLfYk4TC5n6Gbqn4uqWxKhmNoExqBhYxdrJ8cQwMZGOZP1-s-2XJTJmjU2HFRMLY_Lg9_V41qDzS7qplL3lwXOTMRfhm1Z-_WT7ydc_xqDFWaNOi0YvGBqfjVEVHNYD9QIkaox9V7eqCmm72ooe_TQR_K7dZ1DmpzlGFCrdl8swiurFnUAkiwtd2tLK3hO0QhoYLZ0Us5pSKSnBmIa19_OVT5JIb5VtHUXiLV2wM6FNwKti_dP5aRAB2fzg6E8UiqlJYN07FwTGqP_ViDOH1lA4QeBHgqJV3XvZejubUnYxx8zIES_zfAzbWRg1XCk2wSNBNCbOSi8TbuDunxk8KJ9uNSM5kaZZ-WYbt6esLgekmIV9iRmrQPzoWvl44_3t8nBsbAgviDiWFO9aXZ5mIB40pOhs1SZJau4MiwFgDkefGEYaf6oPysyLp8xPHmXGhF_EqDO-zg4-5DOS6xDOS9mVKikCvwRcDTRRyKWKugo2nZ5pshlHuqYLiZJ0z5j51ksK7oJcJuja5N_hahXXcmAxbKyGnfChmuMupwVdCFoqbmG6nngkaQxGGnhxtZVXYTRde9Sz11V_BtkKhmC1TylJpXz8J_EhI9fnjlotBo-h535DlZCANexdnwPtj_A7Ljk_B2fiFFxAHvp41HnZGlhVSUNgmZHpKSqunL9OWmf5jgWmWbK1EgrpqX-tEU_nNJPn1zbPwOFSJe3nBKZkk8QCNu8gi9x5xlkN93DDSOvjQqOh1pRZp_R-nQbVx6mj6DTm7TU4UYo1bEhzvZNhvGeUPOlM_RHcUkR2CxKniWTpzxbvBQrUfH1Qx6VR1c1U86z25py6ZRslA8b4pQLo71FmvW1PmHEBOsZyrg7FM3Oa8bJ5BAnOwh_u7vJN3il2KzRz_RROi2GKjBZuhoz4DkUe-hnu7R7Gidp26NYdZxNUYWoV-jX4bouoM75w4oBeqXQA2ADjNb81RZyKyQrq-RgSbdV0Dc0VqFWDzwy_PV0U9056rp1fRVV9fpVX1-XF9PqJuZazjGlKwAEyvSq3teuS9EvcgTY66ShmzQ1oO0B1YYCp_uRVPG859wShxcAUv5ggwQr0Y3NrAQ_YdrkZOOdS4G22UnEPOREWazEvZGuCq_TTdRKWV6pU83eBEVEXN7wRPyGxj5tXKgOktwjokGhszJ7HTiXL9bA4ZO4yonCvuEdQQmN75zVOIQDPCIyovOA_OzxWrnDQ7fCu1ErhUrGU6SJ9XkWO_VF8zincby0R7M9rK_BihnX5C2YUg74SOcJBWUJ03u6yf8jXomIXcTh-JjKCTCmtGFz1kzfj7-yiYpO8nPfqxRNrniyeOR2t4RKGC-ogf8QB39RARN6miA84kZn0XbJRKHbdzl2kUiS_5R5HBKhNK2DkaNOBig6MGHaEUVaSlUK600NWmmHpTtlFLppIM9qOGMbyo4s9nRXpd9hKLTRUlKz6p9f9eA9O34m1ZcDSgWHe4poRsRr4J0N4uYESk_X0itfKwXcEaZBSMtTq4l44oT6JdUAPWdCfx6PGcr7rypib374dzHlThs88bk56-_IKiBq5COExWptokNrv6V72UkrnCPRJcN4YQjuZSqJ_wHKQt8P6QGIpiB7DvrYL2t-LB-8c0gYJfnitCEwlcyExWVnnT0LZgGBC6OvZKBxGOdbnUWcOi5DY--6CTxaBPwZlgahVeLKwyGFhz0J3iOxcf_SLz8Na9U4bUWKDWPaIg0NHTGZM6wsPyvfMH0ZLQPNQc_oc9-3FRAky0UXswJc28JZu-nOXQSaxWQUkavqSkYEQW6nePTVX3gDsKcqVLVpUHcQWWRycQm2Kkj_M160Oz5k_dFZzO1U77UAKvQYl6mdMvq8eP0FIgo4PT2-9yh6KkrVCggHdboBSPb3i0KB3QZRfzyobhprKtpWd5O64b2TmXaxvazlF8BbDhlfutIeYF6B2oQJ3cVYLAv4iYljheh0fyW8_ikyRVwHpstO_r0X6e7yOhqqn3bTGW6S2csVMzK4ZAsBA8oWUb3nWSVm-apFbWJUFxCkaz4eZMIgjOvt29JMMDyY9ZdBnNzPkwltIXdEvmshCq5l_Lap3oIB4tQGIrDkDRlSPolbbY76vSmwORCI0i5DkYwLeic_j23GMzi4JezJu4rsDmxZQNbio9iMmKSiwt-zaa6Zcbio8IoISwjh6K-4MDqp2RPMs8A1-MQLis";if(!e)return null;if(Rn&&Rn.sealed===e)return Rn;let t=null;try{t=vs.parse(JSON.parse(rr(e,Kg)))}catch{t=null}return Rn={sealed:e,bundle:t},Rn}function Ht(){let e=Il();if(!e?.bundle)return null;if(e.runtime===void 0){let t=Date.now();try{e.runtime=Ts(e.bundle,{signedAt:t,fetchedAt:t})}catch{e.runtime=null}}return e.runtime}function Vg(){let e=Il();return e?.bundle?(e.keys??=new Set(e.bundle.filters.map(t=>le(t.slug))),e.keys):null}function Bt(e,t=!1){if(t||!e||e.length===0){let n=Vg();return n?new Set(n):null}return new Set(e.map(n=>Wg.test(n)?n:le(n)))}var Kg,Wg,Rn,Ut=b(()=>{"use strict";Ss();Ge();_n();Kg="tokmizer-default-rules-v1",Wg=/^[0-9a-f]{16}$/,Rn=null});function to(e){Pl=e}async function Yg(e,t){let n=await ba();if(n.size>0)return Nt(e,n.values(),t,n);let r=Ht();return r?r.selectFor(e,"free",t?[...t]:void 0):null}function ty(e,t,n){let r=dr(e,{...t,keep_failures:!0,fold_passing:!1,mask_abs_paths:!1,transform:void 0,truncate_lines_at:void 0,max_lines:void 0,on_empty:void 0},{verbosity:"normal",smartCode:!1});if(r.trim().length===0)return Re(e);if(n!=="compact"&&n!=="minimal")return r;let s=r.endsWith(`
72
+ `}function Ll(e,t="normal"){let n=Ee(e).split(`
73
+ `).map(r=>{let s=r.endsWith("\r")?r.slice(0,-1):r;return s.includes("\r")?s.slice(s.lastIndexOf("\r")+1):s});for(let r of Xg){let s=r(n);if(!(!s||s.failures.length===0))return s.counted===0||s.reported!==null&&s.counted<s.reported?null:ry(s,t)}return null}var Nl,Dl,Fg,jg,Hg,Bg,Ug,zg,Cl,Yg,Xg,Fl=b(()=>{"use strict";Tn();Us();Nl=/^(?:(?:npx|bunx|pnpm(?:\s+(?:exec|dlx))?|yarn(?:\s+exec)?|uv\s+run|poetry\s+run|pipenv\s+run|hatch\s+run|python3?\s+-m)\s+)?(?:\S*\/)?(?:vitest|jest|mocha|pytest|py\.test|playwright\s+test)(?:\s|$)|^(?:npm|pnpm|yarn|bun)\s+(?:run\s+)?(?:test|t)(?:[:-]\S+)?(?:\s|$)|^cargo\s+test(?:\s|$)|^go\s+test(?:\s|$)/,Dl={normal:{msg:40,diff:60,frames:6,out:20,bulk:50,repeats:10,trimDiff:!1,changedOnly:!1},compact:{msg:12,diff:24,frames:2,out:5,bulk:20,repeats:2,trimDiff:!0,changedOnly:!1},minimal:{msg:6,diff:8,frames:0,out:0,bulk:10,repeats:1,trimDiff:!0,changedOnly:!0}},Fg=/node_modules|^node:|^internal\/|site-packages|dist-packages|\/lib\/python\d|\/rustc\/|\.cargo\/registry|\.rustup\/|\/go\/src\/|\/go\/pkg\/mod\/|\/libexec\/src\/|<anonymous>/,jg=/^\s*at\s+(?:.*?\()?((?:file:\/\/)?[^\s()]+?):(\d+)(?::(\d+))?\)?\s*$/,Hg=/^\s*❯\s+(?:\S+\s+)?([^\s]+?):(\d+)(?::(\d+))?\s*$/,Bg=/^\s*(>)?\s*(\d+)\s*\|/,Ug=/^\s*\|\s*[\^~]+\s*$/,zg=/^(?:- Expected|\+ Received|- Snapshot|\+ expected - actual|\+ actual - expected|- expected \+ actual)(?:\s+[-+]\s*\d+)?$/;Cl=/^(FAILED|ERROR) (\S+?\.py(?:::\S+)?)(?: - (.*))?$/;Yg=12,Xg=[Wg,Vg,qg,Zg,Jg,Gg,Kg]});function jl(){let e="WwzLj4SPCICDDaNrqDHXMni2-lMzqw5tdO-XhlfivBeQP1h5tzD8gJa9c2r6HYxzmXz_unqC0iUETsXFKLYneZJIq1NMZyQgsGpBZ9PXWssGxOOqzZjSQjv6dRl4G6Oh3U-gSLRgDNdvw-0I1e9zJGpC5B__EjNS7JKCoKDIWnh1diqmVXWi46MOkkJo115XYk56nUKZDA9_LyUvKAKq4yuJgZm-6K6URq2H6k5PihIwOodJnRviREUuK9NLivdjEdEmZ5B0Wn530ntKJ8ogFRzvwg-1s9n8yTod4P-YcZqRtMUWT0_RIW0fO5VgWbO-a_bM339DfHGhhE8PNMghiwSEVrCGoZ69SfvY1h2hPcmeiQOiqlStS7ms5213F4WS4SwRabEZQfBEyB4Aoy34Mo4oP9-y01actjXKjGZwRT4fGnoDYnjRXgDrklI3kty_cVQxyNFsKfqnSr2K4XTApMy85GeiEAbxDoljd21JPoV2HZZAZPlmHqwSeEp2Q002fMpJxGLn1FlyME0P3PZpjzGFLLZsYg9ujUfFr91GBv4xmK3uNAUAef7UGXzf_gzFXNw4O_7-iVtOR-7bTSRXwyleV-t28x66X_s1wuJ3d_yudbDQhsNOmlTfoYBWA1VNBANBXZAmVTbWwkDZqpY3N1Ep-3po1wyBnU0jTdiyr7nwAX7l7-LuhkryslrcedKcoaQQL94d4-P8OG_zmXBkxrzzeqVkunBtBJ89Bu4BO05dKvRA6S5Bs9xoL3KBrAG82US1-DS_QKSoY_wdFeeJgwJcGsDZgj9osgsRb0rkLlua5_tlyKnTlmoZKfQEs2TgfuEkm48Z4thYBnU8bnvyQRATLt_329UlfzrsuGUiP8QWtcP9S-GlymC-2uhAQ8JhJxteQ91n1S9i8nIfqvQTeZc7g4obLLhGs6G7rSwEMS7QVJh-8-VcTejUszTNcgFaGPe-BrkWH9Xx0fLTqMTci3ViOrrJT_65M5z8yQjzKQGwnr6Be7CyW2aB7ic4ynl0l6tKa38M4668KYTNqqGiLYNDcuyU4YcuDNRU5nrOixPEc8uyGULJPR4oO44PiHxVTsjWE3wiC3XDjP_RYuZissKw1DrMDr7PqXAK7f44a9wECmgKLthI_7fjyOSqkywFyrUNkr6jO8u8YXzwbkzFUOa9BiJpmAbHAzngjIftZE5xd3tZRAp1JbP02v6qpKPpZaTp6-D57Fwi9lG67bQoe-woKADkD-iSKokQlB3uU6P92bEMtIxwiEj1LGDypVs6CU5XRryVX0bm49VPVyLpCmibdHA1HoN6Q9KEbRe02SzN6DT5phv13jlec5agYG_ULmXyUdQnKZoj17L3EkIDUgTl8ygcmorC8KREv4w0c9Lm8jaoPdN5vWgKVpm27fmQtr0IgQP2Xc8egLnj-tf_R3QAmKd8-wX8Gc4rauJ-xmWRPAhnlxccZ55_hhVdjonJqX4k6VHaSd1-uRPG9JNUTh1To90QvmLlP-nhs6L60eWipez1DFWx3AQKDN-ScsV1yRLnxwoC8PJSWRLs5PG3CBsgW-hGQcwVeWCoRJSFw0fhA0Z4j4mfayOYq-eiqBo4Ye8fLqot4l5MYUsBltAXqlSRnhRX3MPzOFEaW3xwcUgfI_S3B4_OVZ8Rp-Hdn7N2n1nKxYxpxUpB3CHRQMg4IYD8y0cTjgF4h4deijNaexhwCUleqV4QDE5zgM-XAN1gIXpuP79fq1qRvoZX1en0UB4zNJa68Wlxn0Q1GD28Mg76mLD7FuDHuS4-77kiDEnr2BXUn_chk7lxaX0rdzBQpjRSMpuR4sH_ma28SYn5gxtkldxyFiFmmWFSYGsHbHVjXRM_ZWZjSOoESZ6YsyKMrCOfg1CVFgrqTOH5v56BHpsW0vs3BD_SI4y3dH135i_6wHsIKIQ9MGymI2Qdc-zGr-E1a7c6w_6hNStDI7zU0_XQaxyUef7N9xDXFvyxO43OGTU6SaNycTpVl0VBVuEP6y3wP_iJtcuKOmomJ0pi0nVfftLROVaEFvXcHyaKIaIva-z36KxK4QR4nHNEr70lRz07bkH_tO8qfmruBSRGDm9CyOQowpMctV6QqNWgg0w7KF7C2Ku1H6gcJEtd6Fee9MQmty3nIP2liwFhIY9DTno-mGFyQyERs7Ug_Tx2XF6hBxHZzkdX1THJmkMJaQETflqBAC1jCEQT25c7Hoo3V3To7bB1Fx_1wqghZJAz_vKYzlLgpxSOpmF0RA11w8EcPm5VZd5aTZa4H3dbXWVAUq-Q84ysC22Mqu3rdvNz3uC8sT5m-7fwFWrCTD-qCw6SQUv4rId4RUNdJGlruXvWRrzegxunQHy2AvxwJk0Exn6VMJSa2fu8dir3REPQRaGASdgPupHL72tEos6NIRqm-gemUTeDYAHfieo9h5t28RW0mdGGGHXwloaDf1332OXW0NKbI9K7UCOr1n93GzJCX1gWQdSic4rNWjiW9bBmJ8rwfmy6_uz1c4J4GaeHuTWt_xscSWddwuYTu8W0j0sQoUhXkRfEtwhI7zGPAMQHkd4MSMVSJ96Gdb6b6RO5alcaTPuWt_V48cacl2e1O9kg0uftY-vdTSsT_CCZHuPClcJ4ikrNGJjvRv85cPG1JKeKoGGRXy3Pq9amJQM5mGCGZIkmO88IuID1EoYcTMVg1eoxxIQAvnK8m7OH8R6aKkZSw8QbQDL694gV3AgTsweMrAjY-jUErxCKwD6hb777Rl14MLQRdQGpIl0LOy_KxMPXQub8HlNlRZTwVb9GGU95ThVTuv24c_ZL5C-DRT2za5P11hMRcKhAvDUB24_epn1a8YAO3ipeXADLjIPk_C_D0pygKyewPwFZ9eSNX57AbudAVxyiQBj4u0eF8QLcupTYjVcg-n92ZMT_F3c49WnM3ClmvoTFVC1uvHb_fS--rnUIacUfcWpdklOcg7u5ZParxMmTSm1ZsN3GPCThxio1OC5TZamW7hs5sUo299oWwCQn_7GmtV0jvl4tqkMcNEn3V8Xcc2I6vdkEf3pt9QiV7viiDaAMNPQpCPK_qnH3LmkDLJijnJSfo8-Q63-VtLsoqjIR7FLuFuE63HVwgg3D99CEtkw3YP6ylmWOp71dcUgdy9VolNm4WO2wcAd7GNEBdpPna0CpVNlpSeToYSgQIIe9sIXdPOj2a1MnpDMU3npblOaNVi2XSzJubO4m1GeFSosMYDL5RC5ikIJik400kCutGoaXLkI4wrsV6i-LCeijfbWnTnRFHwJdKp7LS6azt88tpHUunCvFAUSGF7beP2UcFhAbUO-UHAa7RsC5rbq5yyOHGw2rUbBPLuT1KFbKDazsd9nuuqxV2GwwPR5cIuf75NkGuPow4ztBzHAgN2yCWlCKcW7VGssq-8BfErIdQxp9fBwiHp7eRxKoUEFcz9oQoJyVg1wkpcWShgFBEFFnPvjUxcf8P7mhkxshcwciGH82nmiVFcanL7R3VfzTgtgbqv3sYIr-y3TIU_nRZk00KPcG3bnwSDZikp2MjEnUHqvwCnmqR4cdoxzlsOSmhUShShHYMBdLS3NOSmGwBSQqnVTWOj4hXURtTwqDpAlgsOHdlgAd1Hm5z8Xav_bPaazIDjKepuMaONSZGYbiLnMzPXwgPER3GI6bN_gkc7iDexBd7l2k8OAD57uIAbh62sA-adqd1AgSJK6rt9qxb4tob1OL5uRt1toOO46wnyMyErfoltGG6UTGCFri7tP1KH8Ucqo4Pr3FVRE01lRJLipGCKVWBApJJyQnf2ZvOA5TOnWW788HA0LJOrbEMVZ9vg6MKYA2JD2NAzwLH_2pVd3o-VPZ5a7-PIAxN37d8wUIjN0xQEtBa00Daq9R0-YuAf45gheFbukjpV4x3ACcHMXBshwXDhzGgLOgF_INCKLHtLVU5t6gH-B_Nc6vS1S43EjJf9Aav55qLLD0FdFVISeVOUZpx26jJh1Y9MT19C2ZrBGDtRSC2IMbZVDI9zPoAVGYKxUn5Ex-ATdyAA0LaSnuR0ZgOD5vF34sj623bwQ48864JjqrqqlvVtBONCvpmLsVWWo31TYRCht5XcIyz1tKgIVmaiGei3V4OkG5kaJxp1VFkodj10rsuo_194KuT2026p507zkKxfQQGBwCkbwyS1kPXXq6B3tt5GXWrhMbzBVwlJdTVFCg-JHSO3aMrv5ScsnC8OdWW9T4qK0K2ru-V_e_IDD20fMWGckHM1Buj2gXn0HMJCtLxajte_Ic3af4YzsZlwczXF1ad3xA8BQMToSId4BEe0sNjW2LUhW8J_zBv06Ui4g_9VsJ4I6SI9myxZqKCuKfTUkm796A0TzGTlD4Q9WV4QlG56uvkL80iOcJ1U94rb7W6xzON70sw7dbqkGCBl9Gj7TYa-Mnvvb0CW9o0hES0MVNPdHRpVHsbfq13HKrxrk-KuFp945yqra21kNE6JJrHZU39pNRrXNdswxDMg-wqCz3XWuKowT-Uqzj0M4R_Nk6GZXWB9nPPi_Er7NwlVcuY8lXrohu_zKbYFNzeSB4LWadi0cggSTv0GRJ02ZzkwwUmOx7jgqyrVNCG4VWOmpA5EO1tK6oY72Hewv5JzjhMGT6_KWvIVT_BkggZgfGbPScP6ADnd1SF8vmKtE5LCV7llkTOxPRWO1MpjLupGs8q6zTIPid0YhpHlWjs_hla1PTi3b3iH-yL30QY5lN-dTYU_miXCBjsSGPwkrF9O41sIKhe4I_6f6XyqEHeAlYqA0APR28RSVfOw197Dd8vqAhqR8ViIIjsG_MGX9DE23u_ntHOmSnIgKiXDizIp_0llUhgUxAmdU5jsZfIf9RJTdPdi4dVGK5bh2al1JE9rCzzXABXPbMzAFVmOspLwWgl7Vh7HdnwRtDp1lHkwTNLtLOHFhX615fqVUhRtOWqnPDS2AL50IssHU9-8FRAB6lQ117GWV0VS38G6hhIJO45m0txo16JeMpGLkrSWHHKRfGx1QBn6FMhcgojgb62KEbIPLiP4_im4D_YnY0nl5Ku5_t2dwHM099e-SyhWZsDmMKMwS2QzWuUT3pgYdow-NPOvt0g4Ad0MCCa86IiW-B5bAzY8UGk8h2a959FDOqB64dfo_aAi-mF7kMW_Vz4B9VPnvoMWq94oGI1AMKOcUX9UE8_VuW4rAkf5hnaK_I671I6jDsY_uKYGFW0ZftOZr30FFfe1_U8BnRmBkHMaljHYrtd30efiNtxh6FszGfPegWyVoNKKDaPplot6i1pUI8q8RtkfR_XyYUE9_Tp89A2dQZ6finWfghkjCRt0jyLCQMieC2rPdzJ_H7Vzxs2o0RXoS0vC77rAakJ8yo2e8Z46apPsbMvZHlob-xXUlxKL-c2iyTxTo_MJ--u544MwRpz29uOtcHh0Qh8jw_AwKlzgKyPrY3Sf8xf8zvyjrb3SqwfX3XQYi6TIfZF5gIWUjgv0hDt2yqim8CUnS7_wdd9CnAKUnTuEDL1hxk-B9atNRk26FgmL8hjsNqmUPh09EUQtk7eyZ89S4aoQLl6bqBGxVNOw4Pe48JHympO43KY2sGThxtTjp4E5bWrb7uj5ersE0qxpOC8WRcdX1yFjrDE8Gz_av2u96ifxj95h9x1BMeMvXtwvErRVlLS91p48FwLlLvS-BtfHsVxFet80QDnpflgfIYoW1BLPtazpK9mP_lPGUxAw9zfE8KxC3ZuWS21u1kX7bjPHcBIJsowVy5e6WTJYAN4W1D2A7IX-r-Z6wLibNPQ1oKfInXdQpz1axE0C7fA2CPec8fQpp9GKInhM_gg0SkIT_vGVd0cBoxFKb4vjVlP8hfcrxFn9qRRZLbtghmJAlRRBnlWlfDbI_dT-hdULA1uu5QXiiDgIMp1Gu0iCUd6oZ_mSiDFTg6MA2hiUtuqxnSe88iOzP6JZMrGxzG5HUlMSC5N5cwktu4on1Q8SupfbV_li02UGjnSfA-o9B_1phrJkgO-VmWPUixQh3a_8Tf2sNPhol6e1jnaylBGUuMKjlbfrFL2tY7H00JVmgIj7qQfxgZNIUKrCE4KXUQRChHosP4WdRahm2wVmIfnj_T6gOg_ybp6jrxZP49L5VfSV7aIxiJgJUkWExAE45YLPgnP7YGMxCtghJZY1xyMR6TESud43XlVMxDjl28BHU1qf5qkR6J3-GcgnbQAJe92lc8eFkxhkNbe2x1kkBd3q9cRrWrb44-60X6jlCGKX8-7eG4Q8i0eKmBHDDmY4j0MU0wCIDDmm73G4JbI2WcJwCqsQ6l-dNNH_EUy0Wq38ta7yeRxE-1bMEuzNCTXgpHTUzHjB9W84eSQbMoikJmG7PKTt8_IZXXP1zQUA-iWs9rchJndTPKG_HTeAj7q4t90Csk2Lld2X7DslJrR1Qz-mE-Gkj-KjxP8T0BBrXDv1myWm-RGiuL9rVtcxA4HQ_e8OFWvSW4JVirrucURCX0GE3pMeCmpSOpS8V8M4_mXJG7cCCv63QFEBQ4dI96y_9PbiXjWnLI7DuLCPF5eJW1v4HV-cHGV9vKlN9SRQOgkLhkTuTMGl-W9fBd5ekKfOQsIN4bNojET4_AdykhTsmZi1IYdzw88yhXLA4xot4piAT2tAbNXknDa9vXkhhBLhT6vjSkabFtop1diTBUddtyBkbAC7uAz-WnVIEG0IvVDbicUQH4OypMboEqRoEh7fN7TXZUhbQHlxGr-E0jSz6NRpn103MneKBC7vILdu0mzONoyTCphGX_wvQWyosdYaWCEu_lNBuCn8RmAKumhcm-STykCeq4d5w9rVzpsFWnbngzEiSqkxqVFEokKO0kWIr6O0wqGqe-xfgnmm6p59gxdugAD67ziYXzroQNZZy7toTZ51qnPDBtr1mZ9HHT0DbDa0PJPZtfD48EC13LpUgsv80ZhCbnMsvHR26eMmLJvVnAOJgwUy4IY46XJGI9qqOPUENiup_mtj7G_XX8Oc26vd9II9XNyUu0vyyOiUvL1kYmxDZL2VvNzWysMORTosZvBTJ0mjkJ1ijJ4mCbV0OpLDJIIQcikCarjvYcoXDR0jbu3BGDr1KIZHVBRLoC3CyIOV0dIQhGvpAAgfx1AwmeuZr1RJX9LsX3XYOL-kKT8n9njZiqAuZ8xgio1LD7cw83h0iBFmktBs_4CJjA7l6426ZK6OgWOBfsFagENRCPBMh6PTKa4Qbv7cWf7GPNxnWcBqovaPcULoU4tAnzXFIBjLePEcExaNVlEfcfRw1BVdoM64ziYk_K2iXWheSqRgsX3wBGPmYW9Mwa1LmiUr-TRfvGpsdyTBaJryrSn_ng5-xavR579e-J6Tf32kFXgNz2VDZYCeVZfrinlynkpjYx9YAD90lvsMyZT9adEFPenD8Y-7cH-z9yDRO9HKy0pl6RY-f3Lml1FA-BdKSff9xfrSjqL7t3lW9qbglhykrPweNMLMItkcPTH86r2ZyIw0U30VmBm6PcmBgCwHb3Kd2ek_yoYyH6Pn1Z_tFeJ04-57bENBgv8c66br-ENP9pGQj8NwNhhZT8rqyG_CQDjOxccaEQLR14EPfePrt79Ddenyoi71l3-b-rql2oIosbjlIFhDWRKamozbrDo-Of0RXerlTUnMOM1-N72X8VOtouTHyC7rRvzMpmdGtmHO3EbWNxa9ax1maTcMpIU4Rh6lIcEFd8XOk4RxEKr3JOUtZIY8PNCMlmHJ_YkzWK8Hekxz-JWWep1xedXfQD5sOvA22HBNAvyx2MkFNID5jHCD2-5pWIASpUxDriKzf15zHWFMmrWPBavkUEeO_yyV7iqEgp3P6-XWlJ05pJqEkl-r-TbyYTzz52jo2C6XGP_SJgEOqbFzejAovZVk87ABihLRnysW5Kdh-HmilNjhbXc_EjLAWDADU-mEv3TGwL9WIBeh_6lP0Tp4HqbQVWpSCjixxFf3TRDdz5bohK-A05JgTJAtHgzdYxsqXP8yubdYgz0YtGA04ayXJ-lL8BnO5CYLFQ7gkQRzaioCYPjnHl_XPV1awW9GU4dgACxD6rkGpz53HbD5SpuYUchBxgg3lSYCZUFkQoj61kJaamfZ12n4aVwUalOEOBjCnhU-etaWozyJtV0iVLqvLskRglZc4w2jvYisvVl7jSubkJN30DVjiKYf14dRDY93M7Jw74VNFqjqcZpxozcET_c12mQ_itQAR_hi5i53WB4aDIG3YbGSMnjZBKpDBRc-8TKBUnoR6a3Hqr9LFdQMm_ivTqnysyQ8AXQB13mm-F56aJTD0MK8rfYBJ615zqXjniG2D7jOjYyc7OpPWXrj7Ep0nytD6AdNPPhCzVYtPBohFWIyCjjKxCjjU0PMZ7FD8QgX38B08ot_11R0F3wdOmU2PZaU8i1nq0TwbUyUdl2lgLJyRzrVzDnGulIL3bIRMhpKzdPWWRUcsPh_rRHcdhqiq9k32FBatng9fvlif-A4mfHZf4Vcvl8lRpltiz_lp8PLBhhPkZeB7YXzxTyDxY1nSoQOMQmSUAiZsDWie2naGgywIw9CV0Z1-VRhZugqgICJAEoh5FAhk65l_E5Izt-mSyEkkMhchZoJVSfjwxsv8Ibp5RxjB708TEKHRtvH7_dIOyKZqaXQHE7_sh27AbaPxE7dPXN9HD6UtX5zYVs8SX-tNLOYa5lZeIB2dSVEHvr_rQgFqQnyS7Q-IwNKA_nTi_89hUQgqKSk9ve7k9TnPdNiQwaLc4OtyIhKHUHY60uPmH9uNkYILNiwCE_X8P7aSvP9N6UGZZ1eTxPohlTVJ9D3TtCT5h_PRtCacCv_reHcL8jX3Lk48hQEeQj-AlxQDUsaaQsv3KT3MK16USJB-NC1QqzTBUVfsoi1tmDkAx8jUfiUIuSn32ySdwd4XJPZNjBpcXPInLpo28Sao_1HdPq51C0PAuJSaZvyzwoZUsW5ua2A1Wuc0xX3uw9gOyWJWcxwbGM9yF6pP6P8BL8ZgAY2wNYtqNfWIPmNDxQPfzPVTD-KBT_ojKjlweF4hllpM_YxN4LEmZ620FjAnnHIEzYQAhSRGEjxSIMZQ1zcKDhxXEgo1wJ41xQOHAGYE7agQ9xrhFRuBwZyp_HnPC8hyne3Yd5shez_jDC7B4Ar27xKkMSKZvVcdQjuFt7H_-vdpwkyXWUQSKmE_RZD3PJFe4x6DC6BTU7cxFxeHHFNT3-h2NHYwMfwMb6gS0sqShuRG_9sCE1Gj0DQ4UHLh1Lmehp_uVJmPxGrMlglu1cQVA6OlH9r8vHP_muPshPWDi9-jMVFCiU5VY7mwm5KSJy19r63rp_YYCEAqVsDQ0crnEdAVyW8wi1y8eNnYgjJUL3mVCLdkjJZhcU3vpm7HUOogvJ9UrX4isyv8iodX0GOQCQBEE9RCDQu_vh31FPAOGdEc29KnYnX5uArDPpJD9icg-t9fu2OTv-jfpU24n4fkJAmZ4nLPsSQ7BYQIFlJI_T3-2qamqXcgVjeocXAEuiJuVmg6yYwe0edEDFwS5r-6Bt0kqx375F996GEg_azY49VEhSaS0eW0bom5GjDIH0YNOwwSYEObLVgu7YfUW30WHKwSFfbJinYSopz1vgY2k5q9--p-ykz-vJJPsxz4DU1CrW5WpOG2SQPB5Du2B4v0VvBfcrTvV1VQMTirQlRqGqexP7tR09EjI25nBeDes3G-9f8prVo61xIkVnQzH4AhxFwoddiLuxZoskmnMP5BxBLehJJD-klC05oy6gh_ma25tuwSGc64dq41G_BDJQUMKY0TQVMOA-ZPmjN8sZmdjDfcZRdaia_UgBz0IL1fhqK_RNr1RC0n0oV62Bp0n0QPdENN5DZu5lGf7XgZQfB7OOes6J_Ilu3r_N-vw0LZL1ZuAv9doMvrYBmDnxRYOFa381b_bI1bG1lWZynFXBBoSlEwkP_BhE2qLhAs7UB1yBBTU2WVuHsNGhhAwD6vJdrj8hRU0tS8sGyYqtVbwMhu8oNZnlxIA4uzYW6zv2TyPjzbX0n5ve4N0PQWQCTT5y16V3jLrJ3y9Ur4PJerw8ihGHvphh2sTBR_ZIjOgEtj7Qc77tJuJ2TIChAaMBhGVF7__vFuC_2sx42W7xWibRaiNgSN8u5I3GclFDfipVVLsRNO3jZEk3WOmABaNpRbXvQ9C-VijnY4aL0LODxZjKZNfFsYpO1AFEq0FLRxMrnGrVR-mRiifRlrSSSEVzA0GsijX7x1_PtBHI6AwnJDcyTDGu-Z2UrCrERHlHK1hSfLm9cyiD3Q5c_BBlWNz7BZW78dA97cjd8BX-LasjbQwYwTbjBgZcNgnW_MkC_Yql2OcMqivXUktrJJPgL1soFjDAb6gNFHj342Xixiwv8KZsWa3vx_aktdazONh3WEHXRdQUjGupPaVBgjmvTjmQ1rbin8M2-g3nh2hLXW0E4j7_UFaH8tsvk7FIO0w0y4BHvd6D4S-DdSbCU3L1fGH_gNXx434N6VCTSj2BW9zEF7znB5zYTc754IXB0tKgBtqtk3QuLkV2-tk7w0HRy2EivZv-nDcNaK_8eqWmAYgoGtcKn1FwypKct85ddaESTrwv_J9-1dV6-Ppy8jkIFy7ZT5X2Zdbnc7crmjgJVlY1iGhsnkwHierJN4_wdgIWwjQXH2ABrfI4SrNd7_BzNly0qXNQKX-XGJ5BMSzo88SznQDHs7yht0hhfipLANCHOlLnmlMVuysRTX_owObX0Eu6PsJyobCb81eNuYl6Tk6bxZ5R4cxVxlth0gdkxuS7GRXpBe5YwdBhtE___bI2_o25iTOxEZf9yjzHQDYLSCtJRf9bCTUnxweZQXl1k63HtaRhn6Qcnl1-ibOlGJ82JK1axjgnMAWHnMGaPgQvaE513r7uEQf9aYLhJL6w1KENSCSME72P7c9EDsYzVEYCKRzIJPsJpU7qkNc0OgGaxTNmGzh2hb3D_NTKtnU6dvjuZpoTc_W-3C72_qRw3gXa5AqxBjiDJzQlz2N1_BBUyVg2KvMMTg96VtuXLi7IpRK37kU8YIr23Z1IB-Tyv8vTA8AerbnKe3Sk3GDEfThSa3fiLIUUNGjePeKVG4NKKomp9O_lGlSdQB-nagyGgbfvU6hbzO7Pd6IraDkGUPOJF3xawjcSGTP3D1Hu7q0SezuL_ref-EDKZLzGEDtcqTGXl9h0dfOE8I1Asf5jWkDfvkxptXP8TvhILLJofyAnlf1tzpZXlHR6df7IlUB_hw-XVY01cSWxJb61SI2G6qKcJylf8wRtGZ-BJdsH2Way5bAf2IVB5alxkZhckTMBNEgOi2WGKCHZq4mtmnBYW0_7RCy48rG-i8XoPj23apQL_CRbc3i6ec5vPWxjNUzpGTB5yMD0v_oD8UY4xZyuhvNvwybzPRaO0O9DnRtPnVg4xg2bzTRP33MrjI0-CMxILZHhpdVXVDl4qy4U4v62iQYTu6-r1HnmgG_mN5PrqKxY8lnWN2dy_d1U-NmhsSiYys5IrCEsGDnBkAkhN-zVZ0oLx2RRb6qm_mYOMXmOXgdaByz9pAWrcbLUoZrVtZNC4RatxjZVZ5ivR4ZzCuBe24kyqE-Y9wbe2LlcBYGRwZjqaKlh168Q83gWWW3dH2ZdV58S1zWL6SDw74FUdofINAQVdU7Gn4IVvmsAtt8UmqQ4YLVjVtnATI_t7cvxnfJJy7z_1INAF0Tbogg6pqIUvaMzxP7plpNWyxMDdKaFljhAqKjS03C696Z-z93kGZpApaoFs6oTl9mOJJIrSedvAesWDpspb-SFTLjx2OvTVaBYkKPhniG74VBXumemds5M8n8PDx_xKzQdPYZl_pfl0Bj9rpDxQ7LQwBp482wzVlEg6Vj2kmiZVpl1wQA3eWINJnqPYLko5W1_pZnT7-4Qtz0tX3BDB6G0qlxLsODySwLUW6gFfGy6j3m92opNebM3spFTnQO5Ma_63HpGzXIqkjbbzkNkOAYqeVQfR2qSLmo-uxl5066Sp10Xv9UBCnmWDPsa_h74FMpCyXsttS25VHPYqgkBCH-GEM-T0l_hKb1iujBIPwlL2vuzOAnB8A4TbkOzyawDvl2nlnx72pA9qb8swMtzL0BfPpaaMAMFu8rbkJOz_7ipvJfFVFd7MU6FpmwDiNcd_Yx6cIddqhS5lGHHFZm7HAXxct9P3aKuC_vxN3lFTK-fhbacwDDn4zMF27CShp7CmmVtEM9GoeN4S63MyEgfLDuEJTyujeoCQGQaACIz9LQpMgL0ZKtX___TyhR8OBmFOiGO-Ce267IE6QkN4abTD2aIqDs89OJBxKDVWfCSR-Jr-i8o4DY9ug1N4PHcNMKdQps9LP7J-zYY47_wRqaMj8PzhxAo78Y6pPb-0AT5AUZy7CTkluhvrRDf61VYPPmU3Rnl6HatLgXFieA3MvWw2HelayQfgtbNch7uYZjw76PLXf9BuBVwHMJu2sKGeXVJgUwUI_bqoev9xLsTK94XpAcyLrdsTE00cPwvIf_GnRyWpux3W0uz6qCxkpeEhkSyxF-X9JDf-ybh1O8NP1lX79qZHeXpKUbflJBK1CqmhSjoMyvfqayUrkk4KuoXOEdjZcH40vtzCwRemsIuIyufxU6hlHnHTMHxXYVXFP_nO-7Cs8gkB0OIpi44JewhydqKY082XvT0pzxJx8H2Jy8M9wUq-Mz3YVHJ9CUWad0baFpOcYippy_h_tzn85VI5ak00BikvmadSEdnvsBKkD2zO-BsAqj4RQZzs5dEz0AbAiECJJo3JjWVCk-C96oGT2P6jIflHzJIENlpC3i0H81kH0g_qYpid6SAKADnJ-7N-h4lcB64fa-7AxMt2CFQFTF1_7j0hm8p_c19zbDnIQdfA6kyRoH1CufdKoMAbO4titNlfkx6Yx2TJ8gImoPJDHAvxTOEBqIoFsHMY6MbjpSdegm-nUjG2xJ6fX-LyWxafK4ZHP3yxMu2p5zv-aG-t60Sw5aO243e8oG9uuPApG9pbbhX-ECjcQyuoqgsoTlA4mS8reJriC6fwTle8mjIkP6AFw_t6icYSoB7rPJ4Q7QMePbLW70FTZ9zoNbXkPlt_GKQqMoTVZeeFYUf8ms4aoM1rBTeGTitVR3yiPBORdKG4UQnXzv4aVTW0uU5prKXkntv5zSqoIHPVUFmBgJw_clH21QC1XYnzl1xmeTu0wHMInNshiq_xoVkqVU9jJWEsIEIHuMge-afUlXl7JiAJwVXkWkify-ryRYZW2vy1ZT2CS2RFuA1EY8qP8AE05NRuicVALhtROzFMeynpWwTQAKY5igWouo3fMjwn206RAznk3lVYJKmDnt1YvabrrK5mpT_mSBWhqjeFR3MOgHQnByW3kdMAkjvw2L8x3rEz5kb-YaO-YZ0JkjdJJjR1H2HYVramf6LanYrCLw9EpN75rCHkuKCZsqPSt_D9GCc2Id6tHktBRzkThdYyxs6fTUaUDlHOUcOxcQEqNwZnM1GhEskVdDktXgJRmW8L2txItBobZUMRFlBh12Mtgawd1WAsTfmQjeW84xYD5otkKQLS-zWknDmf_Rnbc8q7KcIEHcHoFESiJ7Ey81sCl5aAt_G0VcSAdWaEcQBXRv8fioRHF-YqpogNlDfiSdUVONQrPpMnuw_dHDej-G4NefjelzXapoKMzid_9bNom8nGEe5WeB2NmFBnuR_NDfR7XYOwlpLQcNubtJ5IVCciZLhWvRlOfq5C2GWgxTqATLZny16Ct3lElZfAjoH1UPt2U0wgHXYZHFMAwG9Y22B4yNDL5r3dm4VEbIATThFWJIVd_JvAThvdxShYhJ-XHj5Bk2krezunrMF2TWNvkXVaE8mCroj7pIA-zeZI4laVwK0EOwEamR_ObOnNSusW9rhbNoQsRY48KBzgrvxmbuxWCSKnpP9zUxHvCTcx8rze1cHxksQBsmgx9lzbEbHE7j0L-IYpLaD_Qj_8ruPLzGdTzeBM0ph_vKTc0Bwr9tF1EhuM9BBlDv7_eaHPmp3e9zWMS9RYhF1vWTKqtKJR-ebJY6xexITiRxcCQPVFmUOEvnxASbU5kibWp_NQGEiP5ma31K-fzAox-brh9yGb9vyJKe1FgDSYwbfHQR7-IW476mjTYmi0Jbs74VdN9ok47gPNIzA61r_qxvdxceeB1Tr94FtFN445HkYJohx3tG6vIWAuOgxmtwmAskRTdiO3HuKDM2n7xyB9-ywdkV0uGMSh98dM9rlz3Df-yVZCEwloEj3hkBTrzS_Ipp9D0KEEFTvAp6FQP3zH6r0Z-pDFBf7GHpR3zCG_u1lro5Ee9R3r1Z3ZBjZ5t8Gbbs46eBeIbBpeygeosHV6gNt-69fy6nlc89aF_lNVd-BwsgAS95Qi4jjhUWVvfago5HlpcTMwJOb1XeKrcevhoqboUgdLKcwCHr2l6L4qFg3EHfVrK5G9g97eMkcumRrsgz2HIHrjdILzN4ARFN5IZwQYAWUE7F1QkQUzs_nIKNKO_JVwvsBua55erATDHHLawcKjrBB9t3WlB0WGBmw2btnMxcqsxXYbWM_c-byJ1Cs8bgvzhprV_hgvGoaSGWYT5ZSc0s0YV2dVix_lf_TVYWBC-TDF_pDrI9-Nkv09v8tM5fL9_fp4CjIoIILArBHDfRXRYzdKu1k0cFGRuGdzBjC81dmt1ZU1sX4IKUEuC45xVr9MwOHavBHWOB7WssI78dy2xhbmttT39UyJkIMNUDwRPGhmk_HfGZju19wCeW9YPtgZnnZJ0dhRESj6XAgnVZb-FYx9Y0lVK7iA6tlQgHAB-yrrTCnfLtVwT6yjSRFxDDx8uroJZWC8tASVsM8JNXr4DeomkgIUysgaMEEZdNsA_0lUMmEgeWkQsDH2w446DlUcidR5svL-Q0wMIL6KQuHzVbXSdtDTQX1NgYJwQzkrkhMorAxHjaRmjPUZiUQ1FgN9iqD87goWgK7SGU-NYfb9e2K1D6p6Ia-LRglPnkgDoMxzCOQcnF9dfrj3hbb2vl-VIKq7-_q4wf3VJ0GTGVb-kjKOa5o45bLCdbLtaOWdCSS1LZu9Sb454Anf0wqAaUGgYklRDKaUvhPV_b2vYeBlxMjqk61WDbPF4m43pSSoiu3b6blPmafKPUuOgj98r6YByWMKfz8zlLvH_Cd5s3NA8zZqgF6E56RkW5Ly-x4xHvg6CaSunBZuB2U0lUA7wJLdEN4ShauFwUXKgiSO06j2ygZG_w5aWasG86yJL29Kp8WeBiE-x1DttNzUFw4E3AwCEbHcWitd77svm5MdeHNWzrOg_C3N88NK6xXbUe1nti3uuEMlEDzsyO8K0HqukQPsH8fMjpeG5ucsX68mcyczikNJp38sEyfsDRDO4B9RzUQtkeo1kDoTx0Bfp4SzZTvMQqKDakg6HURf8A08T5CFgwLzyOfJU4mr-rrsmX7BMaVIn4tdX7C2u-8j9Wg7E6xtLSP7j_01k7L1PxO3Nnftcbe0DHmBdW-7kOnkfjrlcGfpcP5q0Hg1LK8vSp4c2TIjvzSAYbOm8Art-7eR9mWVTZF1wiYqzF_J4Ml_WENLCw3ZQZDiTG61q3pdd7i5Qfhl1bl0e8V7-oKMsUQL0r0YkQgn4QAuRnCsKCiMArE1TvAbNaK_2O-nLO5niPX0EtGPguRLFa2qPC5u6kcBbRvRluep5GRMjdiuW1OcZFaSur3J4_p-CN9moXBu8aq5tE4nJ6jggY14_woebcBTle7J7jEhh-7hPMDqL3dd3dQZCARxd5TBN28Yn1JrOZjLiE1qrsuvO5lHD2KoiP2a6394Q42aEONcI3CBBBCXdJ8IqlfoIuPvPDL36Xl11ExpM0uJtLf7jCP_6o46s_TfDXv-8s58eYNEGbGqWMKh2xhobHMMp1stwvWkE7dN-ip9al4-iD-z4FrafwYDY1APV7GlcK9eOJoHjuF6AfoCm1FOFYQixfUJkam6jC9MyTJIZG4TYhWZiwOAWFXWZTGM3Ph-dtv-wumKwo_3WxpJiuI8nAcHdzqkbSWTX6LM7js86-bgqnKT2jR2b2Hzx4DpT062s6LzI3RFuVfGwgnd15okgz5OdIb-Bj6pNE55r6OzvYaH5GWb0wtj3k07TGmKlpuUltEwySlwf1xA0N4nhngNc9PAJpMp2A6-E-9zzuBjkdjRGkHrM0TuvKpU7LqY-3LNZ-9KGPEy_ibJvSvZcyNJjVvICibCXNT9J0R8MpQTbRwlsiHjQZhjRvYobcsygVFnVdsRBBEKkU7E071pZLEI9RQ7Athn_3ZZq78LoR71Tj9X8OHkfxziQ1y8E6hTe1_gLPcVinvVoNGfOPHF9MbY5fi1YNCyKEXVtZQ3tqNwvvGc3UcCDhwClXZd8Xct5HyjB0IjM_4m0q2Rt3lxBBLDZQPVojwZ-Phi0wYzY7U3Kjav0i8cJoxb2Me7SDPFsE7eYaN_4zzItzSIko0Ve9JAf-CxwFMeJE8z3KCE8hWC8YI0B1-O-2K0-ktO0nw_WCfDBk4BbL79SuWxfxt5OtbDpayI81Yc-HM1A9u8HZc6u4NT3NNDnwTi5r89mSziFAtQjJELsNyvF_y9ZchkjyCiJ4DnKI8KhyRJ9NAAXROTekcpQ2G2LIRVc6Q6Ss-_TbLllAg1R0fDed4knfPHAVjN05Tt7Vuu8CRMm08a-bO2-BmtE3PvMRsoOf0aqJ038pd6-eLmoIIF2sQKWpL80NyryFA4KbWBi4Nl_Oc9BU2Iz1oGMtyitC5ag0NBC2BHwjs1qqNgIr4Ph0k1g9-bif9kMLOtYEtdWGrHElNHigkKsp4BztN0BnxTy3f2JZHvHma_e4y6grhnMifapwYLCLlFo-qIdifL_VpsLN_HYl58pgnmZRRrxOwFeflQ4U8RWKDfqIVTB5wErrHMJ2Kralws1ipv4nOnBWDEg97ht3ex_BR2zA-cDFqg0YTZINDgLdzl-xFKasP_Y4tpUFY9GlkdPyDT9KGYPcqF6I41oCLTiSHZ6i1g7dHwHH1IvMPIPiCs03eQaMcgzcQ4s7ZWTcR6zoaxMOdX6jN7FVw620T9-S6Pld3YgVVOaUq0kFA03x_CyzazbLsmPY07nGML9UiVJfd9pSWh1AXjpIqTVA0w6Uw1tztLVBOCDEcq3CtDs4CmRyrLKJ2w8YQpTNAT3DrXPnWLGJKrkADj3D0JGD87fJZ5NQS3mz-yYP-DrxTrE3CJA28vh1_VoGjsYg7AsKMK3snLR_9UrbMHhNB-Nn3zTM0MHPnRj3LWZ9YkWxHmvgBm72ny_FzgQH1vwvsqaBWM65uD9JbMGpP_BtIAP4n-9g-NC-BXQOJM3oBk58l35cd-6ZNdbbA-TNuqGwsw73eKddIu6w3h1MzlqnKzqlmImPw4qkqqbTDuvDde2JdnRMKNowpCMJSHDsgpWJNiGVyvX_4rT5uMvo2UwMKCqcdF8pL-HIQiyUcmjzqSRnECyfie1YGq7wawSRWV2uPdvpH4AnvLBi-rFUafhkbfvpqNwhDVk6NCooDk8cUCBEL6LC6EbDgcXqlsWo2tvRPr_AwszODGinKxMht71jd6YW5h3TKwQNvgGmQ94qVdQlYV_9KQzP5z9IsK8VnhbueqWNjJVzzPyveVSFgV2FyLQpTCY3-CYjqwU_h_qOwcorKsf_WMjua1HgoYS5oqbJpTZJhTfbiD_HzP2_ML5easjSMw4fOPjlCJ7X4D9jn-5QxN44xYDP4orqCizlR1FAnL1slPpqN1n18l1qY5LCmeEJtFIxzTQFv8dasZso5GAHFQK9dHPhV8VGCJYd709kpl-Ytf4cwmQ3bwvK-u_DcMWtRl3KWzFXzPJI8B4JWYI83zLk13AIBI2y_CeQCD58IjZdxeUs59VI3_0zum-cPV_-bJSqfmYp3Ip4xpbD1zTamzTOIbhAAHGAdt5vRslgL7qpAWIAwGA7uHDRjb4eeNaqy2XbNJTYjRn9LwLMa2G92AT9xvXysmZlvfBSCemVuLil0zgUAwOEosHGA-vmiK6ocWdRqaHgpY81THnB7zurrqxSw-K66pDP4OTbWkRTRqpYUElhMkHIkmZBUyKE9_K-H4sfAx72VoAZVHfimICw1XSKszjPZYgKuSGyPLPxxo67f04f2BIy9s7FiLaw8I3yR6O9r0MpllNcbNy41gFfjIharZ-uzdLozBuhDAyoNGPC_Hno-gj8We7et4RIsetQafUvJBNOau6_3vSnJTUHjGe5OhbrMz4qwUD_d7hqnS6C4r7SzuqkTrD4_UI0Iej77lBeqwCLN422b23APHdrt1TqmG5yDkoOmefQTOQv1du4Qxfwb78pziAmc5osDNYZewFBbw59pTjnxonr3r8ur15bNUL18Zbdmd59KDhPYeQhstzcLz-AeYQ5kP2VYy29TyP61MGAyUof_7sHOOID9nnFlVtVEzS4RzECBK_nEmBA8FFDMkZwfNjFGkXAa-SDB1mXqKJq0IXwr-STKsdCmU021zIF1VSO80Szq91P7ZpT_w6bUX_j_5rgoEy_FzdyurmPBQsUZmdQEdU6mK4x0UlUDC8IjMWp_ugBdQm3MlE9KWT67ygJGyysJ-GAPNxJDC_hq_kZYzNzcDcnS4sFuVJLlGBdCYhOM6E4tztmJGzl-gx4dFgKfuLDbQCQ6ZERCZy2s4V77q5S7qy8jLXiniBnGHgb1Vrn4_xF69lbpXTXI2UrHO5p_rS08Z5Hnaqa1VIzOb29M9g6aaSonenL0eoDhUEJNEkhT7z5dmdfmJCxETlY7ZHoEK856VpqN45D8yaGtmo70uQDoKZyLLmFFh01oS3tDgEcqBJEwGnucIoEMw5C03VY6pU6w3XSJdX8EC-6E-jPsaGqOmH4mm1tUrH6moQJhoI0eCs9mckt5KEuf97uXIzNXNzJpH0QqSTrnzlOIVYEt39Z7o0i9DSNn1d0eB4-yShrIr9vD5efGP-JXGLgfT238K9mfcyP4ko9MBSIHgGL4BbMfbYHKeohHDXfLs5t32-cVlUaRXTKpM4pWovQtE8xio4d8EOmQOGa1UOmrBCXjcAPAJev-oDzcryb3o1D36_bhz-16azD8EHsdy3YyK1TUdy5MTNe3piyuprDS50SI0NnE0_moAMKMTxKrLyFtHJP5hHtfF825wa2UR7CsDxrGzMiKlinrOybiKfIZ_aFKnT3HzUzau_Oq4FM8Jrfl-c9M_3X1ACYipJnUuu615e-hPfbLp5ZxmDXgLXBVLGa72mT_dePuGS-6wW8qDZ6X9EAu0_T00zExeQVTByGTRiKLHr2gGGClsvetsO3xVuW4GqkWD9Ok7pTmr785-oNHsUbqXEOa-x1hBf-6xD2mp7tnWNjmwPWTXSHr4NMTZU18OFw-2g8qXebWs4ZdxfhgnidFUWNJpC3LBZOQrq_nYLW6UBOsmZMz0KjJcJWwi1RJSY77JC_pe2pnWpHhbvCadPVdPVm1kLtm0YMkcPzYCyBmGBbxEmPVoMGoFnT-qvI08AU0Fnk7Y2aGxyQWxY7U5WCI5a0zrGTbrZI3ggxlq5upxKGFv1B-nN2THKhUjZeBJtjccgbXoSTLuVxgKhypFpnnqmu1XJlnbHAXR2wDoeYb2uMysU0Ig6wvrAa2f_ER9H-GQKYx4FDC-OGIRsF_Pd0pCqRvlm8pm9PCpl-2_mfjxU3m5VTb8ryS15FfAveGpGwmVfzmgMgnRhbbxz-Hy1moTy5aq5euxKjTT-6ULDBmDo7pJJko3oF0NkpTUJ9mpelWaVjUIZFEqQvu5QNYA17YQRt95P2xJ1Y9c_Xh8ynYeYGLuQcm7UQprzhY8_eM9J0St-ZYsjgpqoDPFhMvI9qajfQxDx7W2i5lz-dDefDfMrJB1PyMeg5fHC9qmIFBHoFEzgbG5sjjkpPTLeGa0H7IDUynEW-Xkj27O3QcMoUywrEZP4tKqdaS2zSm09TdRNUYfsjqJ40zGUvaFjHPxQI5agpDWmEeW60vZSnsYZXyVCh1p5LwQT8CdoxjogBXvmzApTQm0aE8OVZrVu0qpnCaeTfZawUjgVVMPllPrCUx7l_g8qSM3SCi_DTtq4LZXinGHiZng7waTndCvZ8Tai6YR6z5KBPT3g21dQ1W6wZ8Tvn_xONxpY5_KC2lIbWepFz0gn_qgTjRzoZjFa6IFJsnHwgLnw_XE-VRJ-umNzbS9NswJs3tcbqRid737lb4AR7x0ilwWn9wA37ZVt4GquwspviWiOaigwIQNlx0jPL8iEjb-dqb4vsJLAue9747LRZxxsaDtLRt9uknS9AXicoV-cTw_p1O34e4bykAeVFz6TfFuuEoE9O0O9yvQPsE_qUz2aKHhJ-IACwXPxpgEV1s71vmrQRSOaYesYyB_ZO0m9BfQRPnjrFO1JEjjC4LzjfzGUX0GJCV324mAYKe1wb3YI1fuQOan04IlBI5H0D2Be4u6e7E3u2Dk1VaSmOcVnvDsU6h6YKpl9AOd9Hyoyci-baNuO8-HWAfDSZOTeOJSm_bzalF-LgsJkRhbLN55Y7YotzKWLd3Ziu4z9UUJF-5dzPILuvwxvLGbfMjVxL0QVL6EuEpup14BkrTN-6W2QVmdpOHz3DnCHpR28bVfRcgrWpRraaOPoJEURObi1jNgNfA1KsLeOIp5qAdfAfiKPTaiYszflf4c63Y8N_0wrH-LJCK1X7trCxhjsLPNUe5lt9WNlSzjoIl5fIRl2E-Zj-5pAoZR4RrwBHotCvCI-Qsb3UyPtZzahArji6df6iaSTPCcw0kY0fDZ5-QBHRssrB6fwQERJ0Hn20XsdWgSowllLj89d47pLF9TaPfhlD5gGXNY-sHA7e7_-nq91L1vzgoT926EHIbpZQq2xlchSrcdKI3xnzKHRAcgrkyDovUC58LlZCc9ULhw35YNWA8QRZeNck5saYG-eyWq2c1_VzAg8ms4ZgCW4QK_UXoGuqWv940eBF48p2oy6gRJ-xhRNE-4AHJ7Xm9DiSOMRjy9EBM49AaDE1q-WhfH-cDhGV-GvxOLpZ4jWjqQqcL5WtEFT7jU84SAJrD5Ti1xjSXlE2UXtjuf8XOONXNo5APYRRQNl9F86-6-c0Q27ZY1O7mObC8PlT2EDR2UBhuBfdKEmhZ85MakosIKia2aUCc0-NfW0Az0EdbC604Mz5-iGL4N_MMHwj8dzufhg-PQEJoUq5RCuOIZkzEG1QzNbWr0ieUqCTyQnGPS20vhXKfSn25aapzfhq9VcOyfzHlhVVgsTQzHnUCfvgIKrF5j6hjas3geHJIqX6MrUI1PIUqF9r3MrkeZWTEol06uOofXgtIqgdOLxD5W76MIMn0cz7Ernv1XgrsMbJQq4tA3nPhK2YLXsDb3c_56KwDPaEC5NitSx1HDtTG0pph6G0MexTq8APgRM2b_5nWFyFQFJFPmSPtGs6lnUpfHAWOMZhbHFaUAeyeiWYN1jpc_GwhcGjmdq4Ffa0rxXC55kSIaoYKAayk0Urw1kpKu2GwCnTiLImLDMwzq_Hno3mH4Yrs_f2iK7BaLqD59juMWzBFv_5uu276XUxNfylRH4i_5AukNvwkszC19Bkh8DYfygyUaFZGk6wV-TD4kcalP3IoJ7MNap7tUEFX_V5a--gTvh5MbC2M0ypy74C55WWEQbLqd445RlDZQX0YmqUnC9Ms9YH2lBsVtIWO-bxHiVs6WgQeHpi9L5MCnMoWhP_bd8CxXwJZIlRCog2Pn3PE9FiLyTpYKNEin-Mz83Q93yS3PqKecZ5IwxHC_btSBYlaShX64G_1_z1dUmxlU8z1ua2VQSRds-UAlBkWL5GinMuUTd2Ek6DopURYV9y1fhs21V-BlBsqRB0Rzh7B0Rz36_ScexGXK-yjDrdMh5JY-Vovq-hZIKsDTD7JGNM7pmNI1pgelzsaMk_BtUAlrCKomy-PHg_JCjACOEz5r9IeIHMUeWOyEajDQ1jTN-ZkfZs1z12fpIdZ1-cC4tQKBvEmk2aZ7Ab8NiVB0yUdmJuR0O_aUBFoQvAGh0uxI7ljuuCDzbQygYjDwY1hSpm7tUq6tYx9i77Rh8o1PG27cS-Of0CmxhEDNK1loauKw2Toy4mU6KRJEDk7UF0xLJXnMVBxNHClEz2b9VH8nS1hyFHfPpc_9ypL3MAJJkFDrVrvHi4DS5Hce1tbO0yM9UtEvk4nmNRFzjEtaexPtyOflKnB36_inVWFaDQLY_0AXK7FUyZmHp7pAjzalql6amy42dxUhhM0Z8wTLOT1NmAngiHDO0Z30nYQFJNzQ_ObHXKoVb2GOH6YziF2oUB-igpC8zRzOngH5iwXrmsG3cgjkk6-a4drwHOYYn3k4oObVWsDWB2uwyUY1L_YgKmucqDjnwdOq9x0ATvvVGnLTcsKWnAfuzeCCMU2u2Z9rvSxze86iNYB5_l_1Lh40o2A4cxD9-YlB_6H-ebJ8fxOoTP_E_lssgrWL3pqe3-bivAu2xQpfz6Jy8F7ljtJfHGUbxD9Ycp8g7OY37lHDEcLmnJ2_muOxQmFj6f9Ao5yrd7913ym5oAEib8w--YIninON5CT4XiSJ7EuAHEnYd7dfYS5N7XTNzftgSk08lJ2Mc1iGkssGxDrwD3P0GGMyo9ReHBw281uLye580QLhlN9PV_fOJfn5lYogufY9hNLuXwiz-bhbAh2N-hbBTGrQSCFEWNM-rycFZHaKAHvkm7CVZ51bszAQQc2DfCvY2t6mNfqu3yER9KPCn2CWw9knfOLh84Ff6k-slOcDBWv9RgbCj4I3XHN5jRFl5pI84-A2rE7-2ijSWk3ee2QfizAn6sIdlqB6ClgryG9Wc-nOh9eRE9FGvKm8Wa89zXOMQCVJdxeUgMjXRVmjsvz-D-5BUIBj-dqU2DpCPQ9LqJXoWjMYAV9I7cGkGubJp9NKK1R3f2YTETiTFmWdLWOHWMDp_0nPcAtKNtkjEkEmYL_YBPHzcIO2eCdHD_UKHXYTLjXaKshLM2arNVfPaeCR1Q8_Fpu1JiH4ckCP6phAsCS0UKJRUb6rOe2AB42GVz4x-sBs5lZAw-IDbQk5oAHs-9LUix7JH66h0jxsBQNpa1TTF5AeXFSk9DoXMS9IEQDthezrQcpaHVbKsf7NRtPaw4Bz6GKYmE9NfoLkthUDocwI4_1COZjMz0tnb32Moye_wGVssiPaIDZZXeU5jlZo0Vq_RUXAcTBtoq_XyrZAZtiyBvJ4hnQD4wIHB-NL7veLGs7jKmX4P11JelSTsh6eI8kOlM5A3dEXHZcPLr2Zhr0d2ReQ5xXlk0UvM-YSMVjKcyT0un9S9jIk2paFT57yRuHpFywLOo7ugHc5YEW1vIPsTRCRZv20n6lgBKMMJsD1io48f9mZ68okS0EDL2mD_NjcQFpfMbWEk5Hg6UzbegDimqxKQBiBa3KFRZjJSbzuc27VMP4ICrf8og9vCPR4vqDCvJSTWaB_yCc4GWzux162wNYm-l9_oaUBNQ026KTgSt0UYodf9Po1fnhcm-oJbko61rbomv2quKYqvvSlKY7V4ZcO1iJb3F6mFjQxZMEEiMcVYVI1W4mLmPHNbcTLzgi1RQ16bH9--2gdJzkPqHW9jEuQsmqZR6gXmw4p-R-W_JoChO6J5P5Rj900_4LPsfGDDbI1jeqRZE7rqJab0wwq2xP709eMi813sVppHjv98Hg-3jjko7RMSRrZoRLZjcoOTHka9BcVMs6IA2ityGK_QuXMPW9Wdv4FBnY9ajybiYK5GDgvt5_zXwndbOamfn9ceGqZATNJLhcQOvxqXEXSmOUcFQSkho_QN1oKdu1YXyL1PXCXU0KlD1Szj0Ia3BQdRELFNscuiyf8vzKWi6822hXVpY4zpLVb_CcmXOv_RDaR5MyMjwjRINWwtVsfyZyoSReNOsJijkqhbp3R0PuC2ixv0tTmqRXbzmlGOv4ilBi1WQPhKbvfXGMSeOBQHg--x8KD9nhAPisyavMZZjjSAafteuAdnFzBhBWedqqpX_qazAIJuSASAIUGVIpoyVi_7HJ1rdLnGkGFbQ8A2xaRX4klar18KWpG4tbbzVGHRuEtt5WYMVBOwNx2ocYxIX15lwrsO7hjR3kLZRQKQ3rll6Y-RheEgzXA5iX1zeAvHyblPZLJqHhF7s4Zsmzg6dBu69Zp5gfswa8lKJew3LuuOm8T4cRCHmXfUNjPeZFWM7XgIeozNuKTVlP8HbUb6ml7xqSXIBT3qLm9o-VuxOUUbSGtIsNeBYYq1yafygYJ7i-ukCNWQf9QwF9oUifaE14NWRbf2dO7jH0uw2tVrWgFDkBsmZJCmZ-fWACG9STS22SuEN1bRBTQIPJP7XSmD1pwE0ggBEmErkbcPygax2pf8xIYGImYnlOygRgLT_lhZNU0P4G3Lz1YJLgz2lFbwKZiFdju72AQw3Ye8OcJEVMLbhPv0hLwGox6D9FG3UNB4BWb-ilnDxeTGjtQkN5pSt0hHhsILs9xYifeC1EJVwyCjSlGUKdPqFYuHZgBfcT1uXC5nCV_E5Hltjem9ccZXy_OF8FMD5pOi7gzyvTQLdoPFqfJNbevSOp27oDZktS2GRO4OL8PobPqoO2nUybTnvunBH-uTc1j2rffHgnsVjxNWLs832VU4P65trRGTsMBzKGAqSZk9dkHZyQAeu39pIFgME2jnV6TKiNnWCW4Z9nnTuy6pKsDZFPD4OG6zLM1pSCHkHZBc-up9tPcBQL9Bj5TV3RTTBKJQG68ZLDYy1ORKPh0xK34r6IxnJP3OmotZ2XhZ9bitfBCt-Lsu1eigMuPFAdPob1IeI8v2UX6dZ_70ULrFJntIpdoZ4bzsMoBUjOJ8Ti7heRFUbCKPz0VAm8_KLwTkwz4I6VBy6i8yjgPnZqpak8_4l93y4NvVDJEcddu0rM4X6agLspLWiguRhHcncGgnlVGps0TERT1TKCxvm6blxpRGu4Ot35wbiARsghb-fHcM0bHdAd5u1hMdo93B1omvTtX_wRGvjWkAZRLfnwVE7DVQ-u-c5_qUzuqWdiB8-0_OmBHHy36Hw-rtfG9lFbHcG0NZOyPKcHP-5QQXzrL-kowz_oJ69zyKXcgRCPD2TuJHNhk0XejRg3lAEsMZ2WGd2CWU5IyvURjjbpKV7t9Vfga9LXdpM9utf_f0AFp16GvOFaZxcYVm3vtT79I6ymN9TondhvIF9961rQYSUgCoJpO0iYPFPwd7DGzjZ5647tgbK_c7GrzYOQNZMkNUuQNYB29hck4t2kKJNRvwSwHAXx6XAZKdC9Q4OqtrWVJQDJaU53Irx0-WGdbtpQFN0nu6QB2L9vm08qHOV_N5nKxt60Q-FAJvIpQoxc5CyjcLUoq96nOzD79j_Sn6qUvBnmyKQNqPIdNCNKV9lHLwoRNTfbfjW_IGWndLa1uSwvpaEWSsvZ2m0AsuCBiOEMANrIJY6vc0TgxkGI_L6Gsst47EMQ8Jp0vONSJvzPiDzrKMEVFEDCeLtQc13FCGvV9iru1JgU_ptLa7IPSPLQ7gg9TLuGBznQflmdqA1Ogl6du7q7b8WE7TYidmXu_KneKp4nXPIHg5NL_r8SsDf3FZbyoC8RliIvYyi1XDAcDDnpQsleb8275CsDqCPHeepKXZVbCcgtBANUOl2TAtbrQQ803vkfbuZUV_tcD8SAlkzL-OT5mLxvNNWiwwq8avxUGbl-HYlwqm16T4Tky9AETfGe4Qq1UtuTztXTc3SKoWFLdt1AyElS4GiB_lGGXbO6AoHn5T-VF-XnzNMGCqG1_bhsJQtvbfWfgXX4D106k1kcE7tLp7zeXgPOm1zWJ4T264gAaFIJuGE3yhQjBK0mcrWNqkW9HX6PgDJSBGDjPI8YS6V4yInLPj3KAOQiWwrOUS0x2onjFANN2ALZeF_bgfxFcjJXE8IquSpiOITNlIlOV25IHe9_5T3wP3W_7TRCBcZ-ARS8sOU2rTrel9PNIEtM4dGPpnFbzw9CyStHrFYDZyyMeqHDmWIAwiD7USD0hXypKgYrpxGZsyNuvsJvxwEbgKC0GLpqewzgXiZto_cdguNwVDMAlWkUIluiMkmUXCVklywZqfk2G7D1X26mbksySx4Z8wLmxWcgYPvzX-j8cybbXKwH1vNDs7XmpI_pCJc02dttcqoQF30t36fvY7OS75sC-R2eX2afGb79-uR8K3tLBB2COP4zSQ_yEXSUVjCtDBhZqgYGzSRKMog7zUScFoyoMbsG9OlB3nXOit_Y_1-z2y1id1aKHRZrGR5uOQSy313xvFjVNVDmsR7nV12_plA7n2FGqS75reDl1a_YoDwEDzZOEqZj8fC1M4N0JW6JdpuK9qv0zq41ynRxJEadRdrsvgrlkbR-zUSKZjeLRg2rHUR7XjQquckz3Ec7yGm6nSYtlI0ELHK3R_Mdp-UpRdembosBVCVhI7sHchOjTmLmcgPuWJe9IZDgj85RhVMxOo1dyQp6Av4TQyfmI2wXVRXjkLiQ7tEWMbq_OxMIC6iChpSCmjP00_7qFa2KahHMvNYWByHMOyMY4KXISPqRdZQER_uALR-ArAh8lHMFIwDJENGuF_BVknC7wGKM27-6ZaortZs_y_qeCYGgTDVWjcj4TRQVW_gp45nmr183bLgEXjOqCP3p94sDa03mjiZlk6KmaJijjNGTUVh1pRSOsU5NjY94ScDSG_V2K7UNNF9nYkZhiKo40G-uq6CpJc9qQnOriXBNa__eBJob5NW15V-SYoz-lzpRw51-PhcWQL6aAOB9qUesZf2iCsa7ltSZVhFasei9mef3cFmqet2ev9ihRVzPjK2SxH7QnW7VfL9TcJb1YeXrwAAMb_7eeBAqvlPNOEok0QPg1I5DrDWjztR9n3gfqR4_XX7ymkTE4fGwhbPyTV_d0rsoMzTkJBZxn6pySA94SFW_yEMpbTlNyBPUXTZmMqiqW5GbbzyFOsteekTguddwePJfxh0asFDeYLpNMtdumln6qWf6YJLt2UwVoR1rs3gokJyc5khCwIJuCwwuCxBpA1JEbfR9NV25D8RDm12wqqwrMhO8nx6rr8l2_aEn6-X4PT61v9036lMcIDYNtxUk8bk3SrjgbGxgryV0MXOjH0XwoFrCnG3AHT63FCcdbgvBbpWeH8eEG0oaqS72qQE_XgRgWVShGgVWcLC1Wpq5NH3VkE7wAVgvdOxuxKFQjT0CGS-2rfOLTMxu6Tu4fo0Fs5z7BqQu1HNhHye2LLhRcVBOnXL1ef_DgdWBEaziU4phjaPn8Ui7obNK7vvqRUsxjjdPzfKQoNFXmeyELjaW_MFRI5Bu_J-KOJ-mgQfu3wg17qX3mXYB2s2l2-RpowxhNx5NzlviZ_kZ-7LfyU_HTNUYR4R-sKXWdTMvfAavQYYLaoHYwthZVoY8udvVcLDUcCdTI65i9-B2clnztS3A-EC4BNQSbLZmd_rf9yxYBpFTy1sngUFhkl8-LgghWXeJeH2IQPuljdDgMb8-J_jvH-WMkhWICkir8KSQKnebBhSC0hBSBwINIb-jgHCBcoMY191JxToz9y4GhOh2eOFC4MWL_hgzgsOt8IcP-g3ctYJqWa09Zl9Xzz2rAF0BTzIIlYiyI7Ftt1irljZqILuikcjXp-MOq1hTQZj-7kIV_ox32eyER_LtjwrrsesGXIAQ3kW8-5taZqp5lSCqrL5LAPqQ43PZKpN4BTG3XC56hilv6J8UeFPBIcj0R-joEFLKxILPrDbVwqxqJ5nuNWd70m7nkQbgrXN3gz78u_PU7sdCYPpHXenzecdf5mAXEenIC3sJrzUmCMIU3-_LmYzHkSsp-mXDHEnhixdULlSgGdEYIzduDXE4NiFb0acWxOGK7daOhmryvzs56nrZyiTavbCdLdygxk4s4ELEDwcj3qwjEfRQJ50VBJcq1oOokRkCWGvcDwSvsN_Cke-1EM-TCMXscMPU_99qPrkGSXeVkDCtaplEoIUmo59GCP_0mtPTVif_hWSylmRj7fZc8azaQH32QLAGtp3irb3DSHrSDQWXxx2pGWCLT8XjFJDmlE6114zCjM2qOgD7wPQaeSspAHhjgDF-QM7y0LPS-erdQSL25AD8GGU9UYRJSmrqZYOJ_Ey-HgLZ_8qSaFcLJh1LId8mwhGy_GH4adfm1MCotAMFxu2WpS3P69Gzy_AtIxDyifjSVnDN4or_gbMa84tYvOLowx8URl7ydsLcT7gfEaSUkInmQvOJSSnRgb_qblspVNgvpHk82DTbKWYQVhvAuugcJHHgDd5laIp9eI9R5CAZNuHlqGLhD4XcKKklcVievW4lCU5ruOvyr6eUw9GeiTmCtJ3zqTUEBRYGriJou4W3dVdKDeD2-6R6axLYAw7Q54X1_6pfn5Z2kmGbyG_JDtIqExgOrKMMucY-MYQagZfft5Dc8m-wnTNawtuwKWZviN2mt0L0Zaq6N_c5Lgw5lqvCTNr74bqVUlNzMaAXGZoG6hrbU2m9HkfC9yDlDLzJ4j7aglRdrFPyTcDfffS6_powG-z6bxPGIpwNa3LpKMksySXgvxgl9Oa8rSECYv_PuNczFWOljK-tMM8reF9PojAEZxua-WNRhIvFCW9z1x7gSNN8ScpUF8C0UXV0dcjYVV6qyz1gbIc20uYyJdCzQ2MG3lbzI-o6oVB8hWL15jUhg4kIpbgEIrb24dTCRDH1v5y8Nc6fNH9P2gqea__rLCU7a6mhiwbyZu8t2SB1eeR1ydvtPWePCuCr7iK6s4NlQmAQTFc7_5F3PRFVAeP7O2cERblR1LaTuq2yU3-_DGU_SB4U1A8hguhXztFDp1mPBm3_nRIMntN4MbBAfwmWDvWf7LUAY6w5G34bbU0UAIe1sYEUU-HlI1FlswA8H4kozVQYlTqbDOOF_nrX6eqfKNc_qUvlKwGsfm1HUzV4blVZ9DhSSwvO2-ukLjwIgMmGYkcBGeot1QPRQ7ElrlPB3VLPUaxZl3lpMXG3Eo1KbUchZZzlA31hFkkvU_Rb8r0ixXUmyVL3ORFoeFY3qQt52Wtyji3NBf4omTvsVJNqvVyy_MQ7Zy_A5K_Zwi7HtU0DhJHJ7r1EscQdTLGlOWwK-Yw2pn-iBlW-clBbIP-UcFOsAqFeBJyVNIXNQfYXUTPYEQUFNBOwyMBHAPvEY0zzHuroBxVU6zsyev3W6r1M3OfDGSNXLMafufXm7Y_j0LFZ-glK23S0VtQPYrq9D3P5wVDjpZ64FylRHelnhMG0LvcTTk-X8XFy506L68OoJMjH2GPd8cY4SOtgYM4l2KOl3sOduQu1dwLuiDd8CC3LTgr1CKsmGG4YrQvjb4J-xA3fqEjKABty0fOb_kUW_iiIqWENFFNKR3f4Q6v-m6M3sX2-HZI5o5bazCwLwL3p2J6uJYRmGiEHJ9TdJ53TUqYguLvI8pcGzTgol5e6ufO535HtzxOYJElp_oD9lICV0ayFLJz7ePtA9RdRX0ijkskQBvOD8uxo1YAl77L_AYwZsaV0bqSlo6i_SXnvIqAv2IJiFpMtzLFK5iN0DtzpuWCoSpP0NX4gMtNimEKpqHwWPi_eZU0u0KfrpHKu5Rtsc2nBkugnUMgEG2aEeiEUJ44HApce6LMHSdWV-2H91zS-ZTydxj6K6MQ-cygO5Hi35hyYidl94EiaK82AzoTEOX56M8IXcaiXNH5p0TTN-KrfIWyiUcx0HMaRU4xlsiXhRi41fyRY5PoltD9D3vVDpUO0zTbh8-BPxFgMJCjuN7ISxwDUuQMXLIn3D2ThYWcopTY2jPQCuo3Qv7kFOdjmpoboZquaYjglggg3Qbe3uuW2_QjeUC8rVnGhhGpSg3wOiJ6coXFcC4E0fWGRWdb_fhqgYk4sYv74cZQGenWago_DQViMScgqTyCGRhoN37D5HhKTtMpq6WwPLjQ-OZBCJICOGSzQ7JVZKPF00f9VDx9CR9jTCLYR2cBIut4Fw1rxARdPcnNpxSCO8mQKIdNQ2DKxZx7NpzucWBB4IqC2QLa6mH2J9LV74_lFYrP8mFwptnz8T32Uff0_-S2UyIKwrxEO_8hykz723NYnvaMmv4JkZDayJTqInC7ceP2-9n5Rom4Mu40_2racVQ726gG-dGkTh5AQtt5UFqW_-DUTEpG5YP0tVsWg-gZwhJFvxeBR4SK5OBgh4_VDaC9Vawtec8VRzeYRrFbSm4B4n0s97s0mrMQ7Dzx4U2EXcWiuceydGHCR6L_WB8OebbI2s08sTFudlJ7rEJ906SK5bLffigZDizfcfadXRl8t2SMN5aRGfWmQGbB6e2zTi4Ld9bbg02q0tu5McEfTZ6Ft0n0UJIR0mZR2qK5kZA-Dnvb71rK48wJd4iMqf2VMSSsR9DRse9vDpU_bAnoWX9S43xfyMq-OQ2urReyNCDiSEE4uJtWcAzGUwP19bqk9fQdigKoAyMJKvRiz-Qzx-jKrdnmWopm-renND8CRymYioPNClBjnWxc8jekAwn3w0TpEkGy6gyAMD0fr8Fr_b24phOTHrO7svkq56l96TUwf2aTXv49xb3TLn9NqpHOJiNZU089qR912AsF2Fc7Z6ChOTDBSLmhL2HQGNzcDJYfd47T8P1h62hoqWyMGHp-oBDO-N1XmueLBDHvG7X-bltV54vxcZaFqjcdx3f_VhDU2_jL_MM8j94qQBzsbRoDCGwyMkjyXm0SWJvo9IlP12PuHOzjw-c2ev4wkEuAbmFIiaYY0DhjKfUVdtzrpsdQA5_t8flPXoVyv_8WfqMDhlZB9NqvXdZBEvlZ32qlmc-AfqUNAlORzcY274GT4pfQAyk2FjxzQFqXsy4P8mPNpOFWwK4rbgT4SCUD0RVmTONKzu7zd0IQhalYkYG9oAP_mxinttjqpZ0EzwUqaenFYuCWApKOikto7LhvzBDehiyvzuteT4NZT1Q-NWfmqx1OD8UYxI-kjsp12RJezJegWg8Zh3J3oi7A5KUy6bAzG1-9RbtpIxGkC6I8w9fc5EMtO0YgZx5SYZ8rlHUNURhfcH2DRv9ahFZIK8Mi9WI1O4z1zHzWwwTrpuwLbZvi-X-iPgW-PCgA_jYIvKb0PRear4DzqSrXNliEn29ChTd5lZqIcMwEwyuxhWCJkVdqu2JYcwaOMo0AnG7kLGz51S4-tRdNg8D51FY-5-YFJKDRXmLbhnYlcpPxnJdSN4z_H2ZZoHMgewfU5jAhAk3vYenBU9vMNA8ezRP7emAEKuEhrohaEEc9nftsh40-_-zRnlOfNBz9pTKY31OCh2ytym0SDGOuZeA_RC051wDhKJaiEFUWlssbZvyfKVSLLd1miopVjB-4-kA9Bqlk_yxasmcBeqcbWjzTZdMcrF3luJD8fFycJ2yE_NIWFkAxq-kTbr8DtXZLCqpXSqxKaKCkKdwAIV_vrKpdNpLV6ovydBEGNgXRtCe4DpjklHKC1HocqcwN2N6r4oGxyVs7sT8-3dHlU9BMsL4V3GmcdQppgV3kDQqa4bOonwDqvEabV7lxDHeivFYfKKOIhu8f0hkjpKvy-24UweRkM9Squz3aMVRsBgVNlPxSaMcJyDbB5vViItxXAwFXr0ZgomXrSejd045ooZvbuytzKqygKneu4m-B1FQ18C_1Qp5oJCV71YcuMXSVQC7-ubLG6Eo5kR4mEsZFn6wJtspxYI_cqQmBVS8_csXC-5Se4YL5thKb4Mya_TjgA8h7g1x3e8W4CPsYgd-Rw2oAyCav0ny2ok9N0ppSTrHVL6lVC8ZIq6l2F1t6sy9PtPvBmqMyzj0I4c-KBbruaGf7dmQ6QEx2F6tzen8LyfA4-ozwJb3JKYQIyk7jCJHNQQtENVLDAO35w-KDvDRJlwrSpcGADu4cXO28GEsV5m2d8FIMtmrnwF3j5TiTiVjh2FMsfoMN_eyC2c143n1Hq1VozU58wYWlH1YZVfXHZ1BCScP7-1BIc7lPG8FwVG4TkHD1HBSpy1atnugnk-L1DvJhry7bQPAKeBCBqDVGgE7rnN51T-EtEVkhg12TW5EMwEmlnGrbRhmRe2aeXSERZuZhRy2G89FHXKj6M32nY-bzFyKc0KHs8hlEkuo9sRly01BbYLxJPDeEEH2i9i_AKexoIRQZoiKM3KH9xAZ2zJUxewo7mpJfsMTnd9XAiQlOhHwQdC_mKiU9xWCP_AUNkhKqxfEuIuCqJijfT15DuCHT4LLFXlEqgS5AbZF4aCeubbBe8s-yf9YEMwj4jOCHGppFzumDxO1sCVqSD3yTw7pTeeqHVLmYQQhZb9V2_jDgl9oPmiBJN91XZoccmaohgspIZ5tXaWwmM6vDiJwdJVHzWWoelHE7GdfoJZXsxMr3PdQv-UoBUsksRwdjwj9OhzIJZZhG3tPz_QY-NYby4C12FIm7w9Cla-SmWN1vUDt7qbx98N_StjthkwiAofK-U4UNbAvwMGddUnJ_stZZIcELX-_9pYmD-lbGU-fnz996_a9zsSsAmWnWQhjpBbEJAVB9lmAq5UsAQntH5USGxLbyWkyqTQ0kLFjtEBCgSeUom_jk-xLwY2CHmDr_TUnQBLM_BhjOo349Lm1TIGpRf6zy48k3O_zZpGBlbFvqGoS3O2LbQoKQ2wgcxuD5nqzrsW4xZl93NfS7mLz39Vm_r3GkWgwnM3KRNbNiSs4zO0v6znROdV9Ju9GpM6Z3puZfUNj8LWdBEoTvPxh7Zwy3ErEMOeJJ_b-AGXmUkN9MDjGM5qk79ME1ZJLRUc5qcIeO77nNdxfQEJPoI_nGz_1yymzmb9qbte0g-KiTqNAXHnMvTMZGe8NGorwEx8siQKAi14BE606JGmMAZbbO0rYc7uBbhjbAs5YSFayJT-I3LtOpReQ0x3rO6WyRP8BqAFWqqdG4sZPxe74RS08acNSsxtHlnqbpkcS9xyIwbnp-cQJ23k6FY2J_w1ruCeSxzm_rl_J0OxbRI3XC8Ncxhq3Jleuuq6WU7XNBw-G9WKA38DnRXaf642cAyk8xL5I8Gpiq0hvJkZsAVEaVZxoqKnAwEv8xqWxsrJ_iFTbXuCy4b6Vj0vpJ0qm2Zb3sL_yrIIeAE6lAPiKlrTVdLXudxXEvXeSrW1zvl0rvyEkvuphHBmqcHGmmpw1Nx5f4TBQyBbP3IBfNDbR-E4MNhSgycuNx52PtBH4T-l5BSVddZmAYPHheexUcNc-aAekM3OMRKYyMQ5IBnax23ccJ1ksnb2nSxjIT_RqHRdQihhgEiDfD76AL_KObKpHv7Oo3uOGjEEN-xqMRAAmF3Ad1o_P_JTAiGgjQC_3XfZ3Kgepo7akRs4EwmVVev0lGuGGYz4G9UVXz5-Yq_0XxHxsbZU2wYkk_KtrtOcnaAVHTn6MPbkQ5z0eP9BKdLI_N4WsqtBbqBBVr5gnKXPY1QkrG9w2RnZIgdfho3FOGAHwHKGRnSf7AueUJ0J2NCbO6AVa4LR-_KPB6u34acJCZV13F2fKcjTerK4LgVw6aYQzd1PRTzw881KdYBQbT3iCATTWwatn-ayHFoeI8PUnVr5PgDm3gTb7kUu2DkuDovknazek3Fr18B1uS1rabqj5UkVWj9SlvNC-nQ5F6PaS1Ev5kOCr1Mmfe9NEIxDa0Mh5bLMJabeDnXqMbcnaK6T2C3Y1h3xYLxTbI81q5kPZu4t16_jptT_GnR7PIttF5uI6brcxtH5pCFqWewAOi3VhKPEpo_KqzvxcJ04UcnBYPu04_m2cj4xqd9AhIgeMe0AbuP3L9QIoWRRSX0uodlSTTNU0zF3u-jMvA5HIMyS4LGGrmtylW2OYG7UdqhD8QO5N1jsZOoTM1tN8JyN0Pae-uTVk2Ydv95mTU_Lf6LXQ4_wH-EHNQ3s3AnUZPrRYnL-TR7Lc8cOCtwpbkghKKCHukjk3AIPvxnoxxHDUFpYoNHIsw9wuA3V_llEIWuZihk96PblVGt4tSYm6CFkU0AmhCKYEa5NaNfQkktPUNfJhKmJ0GiK6sAhNhrUs89OrNQUlqf10pEVPomOI0G4mCvr01-5V7QmBZjmWTxIOSdQxdRparFInhkkdRSeFrR0KTkSe0yj7DYbuNZSeF65BjX_qb7b_2u-_JbYVyoaBxirZvWj_qRY1di45zyhrT0q0PG1eit5nrKhVk9WgZY1nsNOZnzqaGYNKf6dZn7UeUo2r3Q2bZatwYgPhy1NavjGSGSdNXPYSWjD6-Ibq_YxGW8HpqpxYxKIahGLSKDPTtWQ9PNuv77YifDg8tLF1B9HTbwvBKtWZThH26w9uBAI_FOCh_MXRiuQcawxct_5kvlwRmYMlgJVyPVF69uam0vTLyRMW4elE80jrCMt4E7etBKQV_EvKI1nt7bL-ZPQgF1YWFjMPdzZXaMdNM__XiMi7dFVT1-ZxGMdc-eJC6g4WPyZjflk6Fvyomp_rlD-iOE5efvXOjttqyk3LNqeB8-QUZbZZLvIKA5uQ5C0y8zlpH-P0Mv9Xj6d3GZhpEIpCgH9M0Sm5bMakxf6BZmMG2Q_R1_hJvKBmZh5UzuXhfJCxR69SyRrmlm3QjmG8NLSBR4DOqCdJj3NjQBwtaMQJYbs6VNR2Xx7qEMconaCAcuLhP6Vmr_tbj8Fm5dgGE3g-ExOIJUQeVHB7wdUiZTW3sMvyGEXeN857CR_L4h_mBgKgHOAiyrMZDZ7FGgf9w9hwpLyaKgrSiZMW8v0bh8sImzyKDrWav-vQ3SfM0IYHeHI6UJjhGM9YNbNElQ2JOzIIU5hn0npGRJ0Lw84Ja2fpZ-B0kqL4trNoPOncwRsuG1dybtNSPeY99k3Uwq_EW0cmylf9t65BmlEWmjIXHPiPyvR4Vg2ZhFsaB602R1656UbNhe9OJ7Bmm8s6PgaDCXokaRYnhmvBGPgVsOKqBHOB_aOchCim3ZMmf18Wrmk39UppOMtGaLiJhyWwkXUAaQN_TPkWx3riK80EY4zZubL20wJrNGAPFQqFSC__4r370_g7qQ9VBwAo6GEsAkpZvLJPNGyDnauex4D7q69qnx4UEF3A6p4bF7pXGfIMf9J7FFa4kxH6Ib27g3zoV2VKWeGUkjxxg7zb0y8mVDFreX2lI428UtY6bickguc2JSttUh3VMTMa6wAKhxNZ0n_OHakGI0nYxQWAI5syhFqAAirKkHWDlmO6gx5JMeTaG_kbtuUy1cRQwcg6OjDpyo-oDJAae-5FA-BIChYayOE9_sBaFZ9IxAwHD90wKmAm1Ds3hNG5Dj05XcKXf9ajIYZckeAe_iK64BVJZU8ElfhSMnG3LIcLGben6Ib0P_ogaMjMCS43r7GChUskvjVotxnZmX0sxKjwzHT-rSJDL0TGFNMd969g_dCzuDaYM0S_nXPCNA3lYA7qGCpZyXX5txVdqhbgXA_ynaqR3zyfFTR_w0KOia2GDW6eAmd2TJ5-wOrUqFN9lSOImV8y5oz4WN9V_kGaHtUOiEQjAuUPXcTpJTlNIRwyyE7sbnLfp3m3wUPFhpw5Rsf6GYlYgbuAv2U6mxV-JH2b1b99h-lNR-t1zkyHK1vRv3DjUGqwn2XXXQamPXcQAOeleSyWqOlFKxMVLBsgyNF5cqxdiVA-PW4BIiWQJLIqugJdJHqext0biPHYHI0uWcUT_SBGh3G_8npMzrQ9Wf6DhjXtBFbnp7wvN-bjndCmCI8aX_a_mcybxgwbP3IfmNm4jmZ-D9xf8q_g4QgCz8NLesdmx9VN5UGAluwqfUEEz0zJj2z8uVwUK3sNZH_vZS_YqTxnBQfe9ta86poD-uLIsnkdnWKD2fcVW9WmTml0m23K_IwIfgL8r70n_7pV4bWIeLEcTh9XjS2xFBbXW75FGl-91YXvzluh0-ARfXNO8jd8446COVPrtpybCrad8vwYxfNN2bwu8mFGDS-V1CoSWYHR5fSNm5H4uyGsj7NEbPe-IKhCT-BkWFkWudyuZ1SohmcNPSecEXl2lFU0EYK22Q8qdUN0aQESKWy8FmY6c1xxALLl26U7tAZ1tYFviHDKq3P8CMri6RZAZgdHA_80GYNUOellw032eVqH3lq7kG6NxcYGslwEWa46GvKqJkTKp2BlCvgT1gCIIBYKcg31krUXc58h5R1MUakSXBT5RrWhal1aDehmdx6hgkm8rglDNhgYhnoHd90EEiFgM0SZUDWOjoH_k4OBtG5V8ebCs6mr6iM__Mr6SxcZUz9woMs3CC5noYNNGEffrhJ_xHR8x962PIOV3kw7tRU0By7-o-Dq8MFy-ERWz-eK4OIZQqFIoAoK4zVpHIoEWI1ZCf48nDedt7PPfQ4aPZQ_LQY4OULBEO5Gvty-U_zz2WeioUos5V4jkKWIpHCHSoC-TzNwBKr_ODavzOVyyeecyZ0tpmi2vmlm71r0DhCwg4ndOyJIQ9POp3yvwZYBZvZnGFGFMV4ygf1KtxXygNlX6UwbHUjeiV5lZbKHb248k5SDX4St0ZhtQQqyxmr3HqgdhLEnfBJn7efFDGD7g-_zcaKkA9Z7HXF9Iss3Rh-s5VIszdrWtAvht05xzi0SsS5em6HKm29daORDX0_604FprC_xacLaMZ2U8qyjUhxHzy9eWT--zNAyMVCzG20ARvaDMS1tSNncABPtcN9ibSd3GeOr5g-I_5mYEZSNQqYAiDxBBHD8oi6H3900Ad4UALs91WoiXCfBOcI6Nqf66q9yMvmdN9U5tg28jZVCQ_lRL6fFzyue4WMwEXL918x6AB9mCJO-AHzh521zNw3jwHEPYWlMzVUqXQCXAbbUrJDrzl_Drd-8_xrpiiCeJ_zR1Luv4lw0Ue2P279W8Plv4DsEd8vcrfFxiS0N3q_FKOGkH9zKVPBbGn2y9-I8ExZYk7vOHuoorKDRB3G35D67Tloa9rDEA6VkiGEUjoIAZelV6WAkZhEio-UGV2VlURkUiLnQflvT4NcNcX3GZoy_iobWXlocUvyCVjv3eGszTKer0-PWeYb_eKd1oVp9ErJb0nl5BtMSEsct9EuulxZTmwTPPd47KTGptHEjkPQPzRvipi2j06KP4khNpP2A5SV3E0x4L9dCs87_OrNbHo9eDOLEwB0awf6hYpDTllNiuEhFu9E3YWplouuJ1mTeFd7QUw_WlFTCzm3DPoBBhFhdOL-6U3tJuKh8hg_BIKR2eRo-SvBUICgABhLXF6SsCHpRUKEbLX3W4dcNcou6rIFgS4DyTwJ2uSQQ3iyyBhnywq-5jtKxU-VTW8PMnhMbhPigr5Vfm1ZgyxLomxIM_gB_qnrpAOkr8RBNCPj3S_Fsa0WxhF8mgGhuELL7FETljmGKXD-9m7puM5roxpZhtbptMkFXrgXBPO9o1kOLWrOIlC0Vr_hs5GGI8_7wm6YfDquM60sTUxDBRpVpFA9Jp00KPLSeU-OOHgq0DCJ_APW8QL6342siKQPaSLWIPsecUm_0fBdJBeCDcP9liG_05xltVoXd2NYOsWYc6OsTJBeuUe44Y6VRHqZ4SE8cvisXFlsNXETjLc1dRgI5qG3a_WHakcM99eYJRdLi0z3HDMe_YbVaBwRQ_kmCSFcvU2MyYDh9AN6gMJg2yKXdO8hY_zNCNO0V2kFaDJU7c1dxIPIYNiwWeSvoYggKb7ffTDITi03b8jY949iBEltKyJtBVKtrZfVmsw_6Kclx_vZckqSAgadRPS7PfCDlM_qrM2iMUkHQ5prI3oPsmnHhhf_rHVj0KakjuM_lAiP0j2rAmMhthhaBNvUOTRRpsrvK5SC9rFzjfyMFbO9IXSnizGLLf-plTd80dE2-pcrOEKTNrkRmrtPyz2x9IGHLMqXJYWcmwuvC51dXs4j_UFElDoJmHGzyyca9scr-cx9LP3xKXuuQ50wixRG3buoAaOXCPnWXM4_lT0VXVBGxV7-IBrV1VBLwvRRsBmuJoZnReFyaUiWKF-4l_6N7OWhly0-sBPQp40L4IV22AMTuyzhE17OQ2oWteYNQltUPFQSkb3YgfYwaj-KxwvrlVsuG1pF_2DEJ4euwhUBiyNcLRjNr_kDyU9jw30eLB1Tw9O8Qjn3KOVlwX2K-M3WDwl6CTWhz8LK06NpI7AsuuJeC9uLVI5oQELO2j8Rwf19pcVJ-cAAvwZ09CANWOXFRM3s1sYCWzGiEnBaQEd3UY5xnGV3UqnHvIgRnXqtnFcEtaqr7CEY_aAuKt6ICG7nMShH12xlmeSa85P8g3D_sf07tLIKs3xHfJJf4In_vvuSZCgB9ZktpTQzdLjZehiwDfCb38To_kkOuVnffJ0x2mzR_rk7kE8-hjZRQoAoWVfXfkBxKPlvw82JzXq6dfckgv4Bt9x5HazgH3bqP-Ay_J7W8zGYvBewg2QaqmBMY0S7oRfsoyYghbWhwdqyhrdm0wCeYR5kEu7FRhaT0gr6X2FQCmUS3yms0viJQxdXYSFytCXNMd2f8I7wf7ZklZyV_u2vIkgOS4IMkGj6aYFtwsgkRU_m0nZiR33WcXuvZiogRyfSdVs9GqGLGrnLvgrQxNnk8bvixcIkJyNMx61VWY9vVYdY5ull9hKG2hhKtC2fBOdf1oc0G8ql0c09DXNRUR3TyfugVK4yTCXBcbt9BwixkI7TkrluUGHiSiKAx-BsqIJ-Avob4UnbSw2vE4z-syFeM3bBSce4ZWf74OFiP_disDLqwuXiKRm7g6cSuRLUcjbVmDS7lti1kIisxERX8nvd8KAqkunSyDIpT1K6kGh9hXGyEGqA_NncBM3dkcg2Xv1JDKJRX1sWexBSy1grvUmsf2cP9Rom7vvmE8g0zyQoCzcdSJT-drCVnPRam0-gs9fbGEzKOfyfjS_Wj8nXFabTGigcUv0qY9C-YNiQ1C8_6irwIOHWkSKGrUuPY31cOtB1fCejxztbs9YmEzqLbjmlaAZwZK7j_rZ_VfD2dPY4QVp2QRdCg812UgUXZHUUEIPR9bOrViGq1mNh5aH6EvZmHUQI7h3OJX7t7sn5UW9RWW3DDZI5N4uyMoHCG3-41VpYjUsIA_QJoVXvS57vL03zOQJDkp9W6MoWPnJSsPf6Oa1B4Q4mzvbJWqjvuV9fexDDVeg0XLzV2s3cj7Su3LyTYremhzr6uFU1L6EaQn_0vrSaBegkQa2MVP8q7Y88Yc0MZKXJoKlWbCciF4kivOnlDzABJd7jD7q5o7IW7VUh-3UIbgCtLhx7O-Z7kGwY-WRFURbm9dYOb4mYVPgHy8E10ZETam1xKYnz4f3RpI9iqiAnKegfQgB_9Zxr08B6VqwO1tc9fOc02KEr9GFLZKRWVoJvqX-OJV9pmadau1SawWxdMif7SXdX9gPuQmRp_C-dM7Lg9krzwWOpGkaLhUaP18zK8RFc3IHHrZccD-YWzJSm3-CDKGewC2nMz8WAFUXNnshgiuXH5-BkJeL4RWCIkP9d9jMN7YMpogSLvaZsQj2nVVow9oQOd527aZIkTgImnHINpNPyc2xw2J9WJSwzt0vwcp9g3LvkW5k095iTt1GQa4ryT1-nfnbEYZ6ONvWNjpKC6LTOwfaePr16m2YOYvbhu1pzqTyFqveovQUL_V-dqCXy4mj-s1cOUx5xjcmg0ampSoqszo-Kl2YzE6uz7j_MK5G56HW6H2gdLpqFvakEW0H07phvL8PW6AwXJ0D-ZRsFQYc0zVMrypWaI5FiE2GVdxAjzNKgvx6g7jSYT8mHIT-GdzU6zRl-a0c8tM5N1kQGWPEaVeAhjd6k3s0gIuwOOZta7bDCDZQ5yrp7oXZq6mz4MOYv1H0ilUtzc72hx88AVmWp01VEALQjiugpio_Ev50Yy785E1L3ZeaMMkfxCglSq8laZFU_2PV-gds9nJyhJ2R3YZrfSSxX4JRLoKiJAnHnjKEq7NgfsiWAWTELWeNFRe4F8_CowaFl0CDD7oevZ4BPvZLZ7KWFBjwfc2c-_0hFgEJkQZ2U4z7LMpnpzMP-R5_Itl_USSXrbbmNsmDAhis1CToTI3UsX_7gAsKNbZmSHApGLaFEhUyWsfL-j5tn9ZZTqn8HQEIWf8ts2hz4c_5zxa7qmt0rVt22Q65H2Bav24P2keQ4jpS4gIuqo0UtRRUtnmmXZGkaPO8jWiQ9or0ZK6IBg0qH0WfFjHeGeFHXpR9uYznLIZW7h0wiMeVgEO9hrmCRtszqy38Wiu3Ub_OvWzrG5jJi681-s1b0_s0ugRQU-V05dd1B7P9lANVQgMQq-B5WMv7yhJjh-UDeoRAPTcNjakfXTddA8XZ1WBgz5P35Jj7iD7Hiew_TuSC7ZbXMNWUNS6VuUafeFcRhM2dqH874VzImjOlz0YU-s69IZIfyVv7brTXqOuCORJLrqnlI7NHLcwq_f7oe0djVwVE7YYO0eFerMYt8B1zVZw-bqO0KPZBxZs3OiPDAeV1ntUOarHvPL-CwG576-8gmj5LBl4TIS3KI3-DHYf_LYNmGJ4O44jrJscML8odmhfa8B43kxtEYcJXkpeRxSzoV6_DPAvb9NZlaC6CENQca-ycaIYtJqXQAtze-7OvnQQmHbFUnfpSwS6nmytpyAiDEu48ionOtZECek8aCyjkmn8C9oRWhIiueVohFw5pzlSPWlupp6GQBJb9oHL8uhPR0isSn4ydpn30OPp7OW6cWz6IDIirD_6zTkAjt7Pqdg9HNHwevM3N7zQx1p73kML7hC5fi0aQh2u77rIKu1FUjs32SC1RhcIIlRjT4fB1E5VFGrl3q-98hKq07bPFmm51EuoDl1zZeRVO6narB7kBnlDPtdWpKcfuo_7rx-HH2GMSjgiZPeEKgs_ejpLRVxHWGfyaMBHXNwNcemRts5GftKZi-BTpV89PQzIvc2CL0f_1jVZPvFv6Hqz-pIOTOmIOYW2Rj-TVgJJ_B1l5vY8olJXxmUiuepN-Rn8Ua9QduEUNfvtRGaN_HpAvdXZw2y94Q9aVWjQ4YPN94EKsT58QI2O4dIZ3zTIHDfQMO5rKObQHLNaufFKsGZL8eovWpL5-fWIW02fbeaqP52F6NduEgtS5no2PhYJwrjCd5dXSMK27siCcwTF5QvZMaTaBza9Budpg1ZOcMxtQbgdfhY5cJ7XvSVPNGAwh6QwY0P9HCiUK669sFzMvZ3r9nczhRqEsIQlHqBfmRMTwZcVxJtxpWZ4GP9hAP5VsQxIGUc9VB1iULAt8pqyaqD_vSTYqi4CYyIPAmmE_LNAu_F6YBAG6PihhVbtzXJLx3LrvUwylEwdySvKZXcb8mAdDPyYti0jq3ZPI7aHskje_PFU4J_Ks-CDD3Yb7lPZIGa7FhPtvSEH9sIpuhsfxWiPEBDwAQsP6YCe4aDRQD_G6AB1jNG7nzorAhxxnqPEBGHl9s-9wH3nYyt-0w4SUXyvpxs8jmeamX4pq-oHzynn2ZkuefywY6QtO3qQJeQY1WZ9hbDBtmrc7CfbKXEw1iavr05y5Oi90IbXBEARl1vo-A3Qv8P1JGNaoEX6OtKZ9bv7Zg5wDziLkVZlQ0RAkOaBWy--RtPwQzKwPV3DPF8bl31DtQbSIkEmZpfWpv9_RqndqjIqrYuUdBZXuKXbk-7Km9UJ0h8e3Fwhpm9N_jm8o-4nq82o0BZ6We3PmxwQb79qB8ROxZssc0Pb7-UCyuLxh7qBQSRg808Smx1T8YkDLjNGxhnao8t6PMjlC3YhpdbdXjXmsGlumyWAajxV28COKhoWf1Qbh_x5DeirL0eYODIk-3B6HngNsbqlFISjzi5oPWtNfwN4SJaSjPd4awlI-M18O495QNmT-wuq1-CDqtO0mFm9mE5eaO4vSgObNA3hiNFh9Nrf4qcKYzeDNR-xj8p5-q6-pZtci3dktzQSGD4jWFr2oevdmdvwrxWN6l5QcAi8C-kvxOTu1IF8qQcVwWbgqFyfzATrDVrnBszisAzcuSIfZ5zqOWLjUVigwXqRcKyWffuXMmFuxnj55vRywddOA7Squd6i9S577jkWienq1ukGaQT2ZlLRQBEbNHiRYKDG7W93qnVwIELvW1Jd4lbgGl6cWcycXeK-zQjD4PtKJMFRMs6LpVj1I_wmmnGRtUIGNW8e2Xwl5b-ZXossxh7NYMK9kuxxMcblTdY3nlbLETDbA-JldKnFhWK7STkJ2z8aOOoAspzQVP_KU4W3KYzMFPmUPWMQu6d9143ytQMCQ09hnWhFnvriV9QteoBGHuoai4y0QNKJkj6IZRdPA2fNSw3ITuQ8RUrzcwe7ClER4UFXf0LJtRsDMq5Y7gIrasFXRFwrlIhWZMMkqta629lrEfHGZyP9Q62Rv51clPUKvOOjND0rIy1fe5i-mBvrBcJeX9fQKs5P44sOACPHFoFx0bEk8o8ElcWNrr08hEiZWQdEiLc9nM2rIjyJ5pfCqbWoB_QFoO4DI8LNSzLCJcHwoM7YE0d49GJlSoeneX77WXaop-qsqYuMkzKbPX2TFan4KT1-cPEb0HrZQPErysg50BjxVCZLDmyj04tMxbC5zB5DY0B_oFHHq_pLJ1ky2WdCGizqt2GST2vkdmT5XPLOMpgr0c_qEGsnrmq8keMIjWPLsGy20jh36NaQ_gcr2yZdA-PR_TYCRxdGTORorXM8rBfumfhuhTEEJMvEOmPJgIl6MPfOeAnBGkj9I5GBmQaEGta86mAvfw0pFIv4vS7tgLGpSKYE5JM9nW7HCTVNkrVZ9AWthm8lrlnu30CC5Z6c6ah-ETjlX_GhWsJxfx3MIvCfGo-UJ8NSmDd1bQ_J2Uu1sgQM-8IALiBT2B91bftz0WquxIHR497fDFnbtHjThusQl27MigXQYgVFxNyvZRsi1521AN2cdE9j3Oa7jYCwxXYNY5KWaw3Cc-yQ8B1zMBRhhEXrFK6bZtu4AsvX9u2ZrjhxWxnwOkpnS2rO26rvyGGmkR70yphoTT-3UE_tW_u0hQjgBu9j2rO9psII9qwwirgciW3OXDo3qCEOmHFYmL5Bi-o-xvg7kR3jaSFwENyQvGBtdQnbEB2rYWCVASaO2XtXIbN8VPTNTDQcIa9gvJjxwxccJFUcfWrDUXVXHjL6AS_opwNq5_LN5ThouqaKCZ0FDPH-a4M2T4KrARcpDpriUrCHrrsTE6nEiiDeYpFnigdjugd4cKwGxvVBepykwYNE8W6E9wZhtiLzhsuYXsa9bUa6uwtUsPYdmpp9Ru8ajH3l9NIaGbj5gcpHaV7Mt1VQCAhvxhWa-mAlFkMdFm_3XmuQ1MO_-GLkqOBCHBWU8LRiKo8D30P70rObBFG0drjm5pnmHQxKhnWOm4hJ_O8WwDSUtv63QSl8acH1NFiXLKkKqyuXKW9zgtJtZRxK1VkwZsqPTDCRH5SRWku6h5vLu4DYcue8s-VDKyaUNNY3p22Xi6evyPO1KHoBF_m7TkJB7fUEeIbuwn_AKH7dC5RzgQVZwcx4uTgKdnNDelsFc2pkWSBz-hz1_stfOGqHUdAIc4D3zdoW4ENoS8gTWFxsxIyYeQSeqLszG5rIa9uDMu1PKOtwvyq7LZBAGtTZKbJYvjebTpM7FUVjeM9HuoZIP-qJVuPFe2JuR9bWUgbUGWLozq_U2mbhoY0cP_8cLBd9LHTv2-3qJbnCZ1nsPCdLw5NAep5vgU6bUaXUFG3QPhc48tvTUIepkE9pbzHxvHByOAmjEWHrvytIJ7ZbxFav84pz_AwNTPIwuA54Mtv_0jtjfxz_8875564HGylznyiqYxgYpoKxVpXFTOs041mvY5vhixy589hQdVivavkZGYuNNZy0xFqvwIOJeVHQOk4_ZZ4NM5I-bp57Qx3kjmEX98ryJfAHrHaRW-17ifFdmJ7Nj3OQ9AhjR28yY3SuzDpHIxzVb1JHcbWxZnfW5zaosQeRmazbMNPTKIIyt5Ilk_P0QPMlK4Ep40IjK4Icq9aZNBTBrXFc04yfanMH5522IN54B12Q-bmZY2NRVkbZl7ZCedrfFX3_BB0y-g-nmNCfbUYoDjN8tknt4RwGoiTm89lTR3-Ze3U6P-Uxp1g4FXlJ2PsSwyJ3XrMt4rOXxfm3qwNW3aOO-txgmpQM93o1Ey-uhHa8ISiK_BuKew5ospn129zU5NWY3Dq-PTtubwdS5M4kEgwk-DuGBJwGl_tIEsuCQJ_kUfrKUIe-4CKrRR6qAEi8NZzCDwSRRPfzP1CCJuarmkmaYrPY2T2Zk3Dc9mBCYL2W11iACKVVmdYAICi_6kD2ZfhwKFd23CLbOyp-MRYPGftT4j9rJjGigoHU4AFrF_4IWPAUA4p-xpmcOkQ3xoxTd3tIn63f8G-Rp8GnPRfWu_8K5Zv1Afjp0KqBTEZtO3NKEiEr4tS-lBPOdeQ5vwG1BIYwg_m8wpEBTNsxGUFvuPussArx-nUFOiBZSeoc9_wsqINz4JTyHfWYIZgjrnBudwnEqx2J7N-tFZJByO9BKfdz5tDrI4uTyU8rbQskTumEHx5xUZoMGfBjjbV2yubcUAmPC8fDaIHDO3ZKF4ru5YTTOL_hZBEL9x-ljkbhv76Y8G_1SSk8kt1HaGhC7d8wa8eh-1u46MIuXJEwF_zyrU-5YiBR88QYIKEUZ7D-KvdGaC7pKnSpPIC1Jls5iw8emml2hn464CN1cN89uIpD9nUN3UyLRY1Q_t7dTzsz-hQHP7J5A263jM9RZKSm3nEMpzTOOQ-3iKTFcuNIoRpNVLXR1cWWxMiD0F_78IWLXZmhYGeLZZCIxojfz67DOIEBidJM1rYTeRE1QCjLr50cb7h7UsEHqSARMPftoraLetd55yVBqeRk3FWpPpwrkQhv-aCFX0U_zKwDlobB8zj2Gqrnt1pvXvqTTCnYGB7MJPUfv8TFhHdeJ-E2Qhp6za_vDINIuPrqvvdf-SGbSxYfbFk_qR_tiEvQMYPeeskCz4GBUdFrfcj4vIJhoDi0MYTTLYcAaLqC5h-2LjlCzsIzpro76XuLxMoTqWL0y-jbJEZpUgDBQJI0QEUAn--X30OYuuF86heU1Z316dspIEwDIT3vRIwTza1jdCX2OXaR8oqUwWop0glRWSWh6_M-9rSB7xUDHIFIqkO0fSZaXhyYrCzshadXldsgT0Yfdp8hx9EwTC26a4UPAIISTH4gXbnT3QYK7Djywi9pQMw0aMeBvzL2V2dt8cUt-_9Mrhr6lTZBK49sTVZm-LSZF7GAONlyq9DA205nyXFzY2BWMWqfR85fDFbhZtvy9qVCBSPC8MsLL0h8E6Y2byjmbVYmmoWhS26sW0fleO9jHF4WP3jSOzCPi3Xx3ApEnakVdezhdkB4yx2FjJld5dFXMs8L2wDgy7M8zmcPyQAoPVLBZFzF5WQkRyThpVYisZs4NsUOIl9oTM7MVI2yEbXyrMTyDyDEyAXkZxQhGxJefo52mFOwraH9chn5F9uErY9xCLV87n0eP84_uNnngE4HClDF_XdpMh2l26UZkmH0OkBPMR7HCivpGyEj7ZZRe9M0wTGLM8Vsa4YcVLcYmGrHWtNGeTGuX5EvEyp_mUEBuMjdz1BJgLXlgieHEALjhdWY_eoo-M9guOJpir222PhcUyqtqpjK6Ry2BG0HcXFPY7wcKNpIcbunH2rMjyC_bPjTdU4GpGfXyWH65yG6vWt-fAF-6ELSk4uRbbXIeRCkjbu2-HSugd8fRNZaej1HjE3K7y0ZWy0x5mIk_FrWKKMoSCLxgCXjNgyAmcOK1WRgBnHgVEdPRN8LV9N1e-L4b-1WyhKMf1Pgq_sT3VugciZySdsFZP_R6m8GS0-qL-iLzW58BayIbAE8TsEHJe4nhN-acmo_biWizv1Br990kFl2ATS5g40QqiJLQrX7G22vYQTaHQv1dr1C4LfBNkcq2QRacYZIRw6miaURHcBqkDQROY-M0KUqJ6mr5nUAp2bibV3qLumqGoyS5PgCO43oe60YsTWGdlM33Rm95DcmHAFLThQlaod03OeLDd_VD-HHlByG3DbqKDQPqbXcnZUeCol3WYjEDiRy75f6cz7eMqnGkjJjvS_mycYXj33BjNJRwU-W7EYAOe_Q40X3MpHaPpftHHSKo9O_RN_xnT0JbUa6ljANSfZp1DT-wGCRXyKQt-RHcPFNAucvwWb4kczWPHeKJOxwemqKQBFx8ubpViD6xFOMSa5FDcYe3d4cecb86kdF8y6iGDN_isv12xvXXKMpE2zw3XTy1vS4i1X6IAQtul-9uqvJ61DOHcHyxGrjTSczWjAOnxqPHfddjksY5ZJ00nPCQb6LCwFXRSWNsKCdT87sjeG1OzS-5xG-k5CnltsnmFDUGBqK_o1QikLiU6s5Ld-Ted7kGfHk3AUXC1C47awxTpAVDpyMPDPDP2tR2KiZ-_muB08jCeAB5f5vdosZEjcOsm0Ps1X9HMmspMsrVUTeZsaB9MsLR6KMetpZ5VEICxkbjeV3kuoPy2PiZ7_C0tyRsi5d2VELmh9mQjkxIgoq78KRI5e3pMK7Gju1KfDkTR_f32_m0wyzERMDEOk2W7WQg1JCpzuTfN-OqEQFc5nKMoVKXuSLEef8PkrVXsv3o4hWNbmn-nWdClvTq1mzQMgbLEY-PQLE8iNaQYkAOylgMYz89dUcdxSLH2HYu2RQy4HRBU70wY6OMuT3q43vS0upsNKoWxyFB-bsr4iA9vDnHdoUeV7DbS_UtMnB1n6YguskmOIeYdLTazDgerwjwscd2zIlpSmlQY2CODvLMtl8GpJmTLAQyAcUVCTUMyriVCIY2sEKUcmK1_G8o4SbRBcC9sAGD8Ab13dIlwy06ONN-4zClqDM_5RFnz478-Ic-_J9VkcY8tSHKNt2fUoz-bI0wKOwedqDCI9qbQyeqtid3ZIiDbRvGl1HSv7HXpOfgs6fw8WpVe9fnHXutntGAXqdElRszlZvG_YKRBt4j-lVCM27RX24QxbHO-RhgkIUzvV08znvozSiBKGZSBPjAnlpsLtKHi-dura7zFOQoAfFbb0flMmqFXeAb6mijyiKYeMnQ3MvVKgQtubUDT43L04Y_MxWfCwBd_lRBs1hgBOhZgfRakPi7rNvROPg5kQULzKd0HMe07acleWQC83aJHpS-vUiE55pRqEBiy40W1qrlwjPvaGUQX0k2ZBE2r4MBZyaTxZC0vSIe3OrhjwjKCZyQBjKC5brhowu88SscIu88TW3sGY3GCdYvZGBhaMaKGPjjfEJBeqplOZzRHLlYmyYXrpIqE-9GSXHF_h_eLLhLvHigJhE3LlEHx69GW_2aVxHWx99LiiWFtfb2ar8FHW-F0H5GgPofmwZR2YjR70w6thm2j3UZpQDe1GUrt7iWvhUBi20fRjlboPNxDRaCMr9rGWstcF3DpAiUBWJ4kspb1IcaOD0fU8d-7HEvW7dTfESvcb8_PomuCb-fj_bl5LXvzjaW7JsY2qz0yO-C4D0CiZrdEhzMlmPKSB3ruwC6Pbm9IVFGOdmYaEehTCMwV01kLvd--S1BByjA36ZE2RhrXL8fZtE2qlm-52gbTUQmjB61VFsJuSLBe0i68E0AZJ9Jr-7x4RBvu_jCYF0TD2kNUvPVd4y2tEsQExYVZEfmkDqjOaQWMrWlPt8Oc1SirANLWJr3CwQXm98JXlgUOHuRa9e1ILNIO-wsJK84mz8xHAEgM8Zbx6G_E6sSNPq3cvC37zYJJHZj54d98WP1t6hu26GFgCZhYSeNQYZjTxH-1wZ3C8RzxLyr3ASwMGCKMd1e3ADWlSGp6o6fFFhqHFnqOTt6dp_ZhEEnP_JVShjuDdrsYYmkPN3qCbsnTCpRuTKGCCNt1B6N16qPtxHYaLU5QlapJC4mdCPth8UW6btAIJmFcc62-IXePFNpeUosoQfuD8UaNZWGtgoe98UBUi6NqLPQhujsCX1XqbQOFIrwsu-zjXqpeIIe7imV0ZABF6VsG7Rj_EiknqPF_ggZC9W_m2JJdoiCurGpipwfAInvz_hIBXrwgylCjdys7BRevprDhdwR44ltmwD2NePeWr6Xy8YeuL5wzxFlM1UuqnVpvHyqdBbJSn09AkE98UXPXV17vOYaZisBPbMX-gOl48VrHstdzRTP72L_2vDj67Pk04MyHbY06Wuue7XdfNDAnnnUpXPqpXbFew9hi2Wq9mNwNTs3wsujk_zDJhZxHIOkdDKP8lEjDT1iTf8JMKmVnctgK3pad-Jp1oMeLJ_N1N1ltRR-HepoRvubBXMswMdMlMFl0NoJA3p7Kr4r4MsmaOzVGvwGteU6RlVc3QWhzXi_LbJonjoOhHMvA3HwyFbyw6R2CkN6-wbF4Dt9bvj4DbHbkWIk_bHfcc2TFJLzt0g8GdwZTGlHxfbSF18CxPX3TkRnWNxj0nGcMx73KRykGBIDQCkfsvk6I-6TORq4yS8VKDQnvnsTScfqfaR_hH3eB1tP0t41HTgRmrkco002BxoErKxjoGwCUGOcSFk9tz5X3tb2kbDOB856txt2tp1hGDtJjlJeRuDkugMCPMyu6U-STKnSO5plL8A6jnMiBEppZnfNBSTR-_-aWvnwuZQMR9oCPuZrw21_tSJMkcOkO1EbPsOFl0lPYla5x5ZoGuiMndm0GXsbCaKLc_DrpyuWISRl-TCARH127v-59NGHujJV-NuUZpRO6ygaP6Pavb-1J5Tgz98NKNrqzP7y3IgOWj23j_VG5n0Sk3GYvrA_2BU1VRNrIwdWUc77gxV_kCBJCGYhdS16c_TKPDOXLyxXfwTsRyYTrGexbDoGcf7XNauISlp-VJyPmMjxMpKqpMXuQtgnzamhQWtUwAjOr6BXSPp-Cnp65g3sIi5wa-Um3pIl0jufOkVj6yeax50PwbPfiTn4ETvAi3CzVB_YKofIjcnnJtqEIPoOvoS1ptojmDfhwF7VCZJhbnoOkNmxKdOHjnXYZ0Vmen6hJVkjbE2bw4FX_uXa235AkiqlCx-mwGlUa6AIKp2h_17stgUGJOBHvFEPqUDHdIpAP1MLaQmuIq8pMU8NNRicCaHl-Fs2QSYdGOLMrKe_n8Sx-H507ArIutr6KWj3wpuk0z7EAx4RDoLRtmvpkZrEEgjahPZfVJbNErwcm5rVLkC15CpbOf3lhqT5v52d-0FGM47rtSGp20F1a_OGRcnY-wa9yzO7TPcZfd9qYPFu0QWQbedW5ypN9BTG_2yONiSt84sIC2257bg-FuyiwmdfKpI2KWi67Vonpv3QsVQMolddKeLQbUwKZ019VCp0MaAATttXJhMlUyy4dYUAnDfWIeeFjh5vlJFolZji2ZOMbXdqrR0Oe2DTQLu0rEg5oqEmFX4FWZKpX4KTI560do3HNuLKs5-Izqj_s3bPoOZIafqEKlZwRuzA5nnUkAHSv8ritu3Q272sha4VZWkjjqZTz4IF-jZrLQYRDxyGmqb-b2wSGJpEGZH3QNO_xfiQgTKBwgED7Bqdf41GeyDJZpeMeoS0Fo7Cq92AVnU17qiEr_kLk1OJZFT1RVnmwgIWf7V24Wrib6xoRMdOcw7TICLmWqJqjsR8qnN9neza9KXNZPRJrvxiDH2U_H0MSSg0SY3miAcWsQ0e7y7XGOVHRP5rMEJDr0n0b9tkm-BcvOLwBi4jWophoHt_7ORB2rRQf58iz44NaEDjwXsZ9RtdnB31t6pFnCs0K8Dg_6bYSOc9Xt1iGx5JYy-xxu4weX5SeoKucP08aGSiMpBgolG81r12fbgnSC_Ai1mlTnSGUdofnyqi-jC_o-r4e5Ou4LWJ8HPriY3MMY4cy1GAW3pdsAnMCfylcm4JAWap_IISlznsEW68dzIZdhLtal88vw-qcWqi43UVIZta4GCAqNiZcE_75D5_ISW577HuqovzwAcjOzHgPXJ2iME4VpsrISpYPtkbSgyez4TARpbnNfbBGk-lq8y94u03q0LHLI29Z-zejSlOpbumKCgGkfLWgx32-zjRYREhot0uraeUHFXLTk5F18OxIUrGFWu_LFIIo-YVpEGFC2z1kb8EMd6jL2rIBA-lfqIUxVZkTLdCa7Amj4zEKc7ZIohi4XhCM4HTZYSLq7q4iXdrQHosE5lpfJVifRi-LvVciwQJK04zHbMW4EJWtQHY0MKIjw_qhjJM0SPr2ixbKnGrK0rmPSgrsdWHxu0NGCkRHiJR9PT_0FcDJ05BhH_nIEFAIgeDOMOKa93-GAz42Zcy1vxskowSXNAUzm0QTF_lOOfeno-T0VfwnaUlwuDgn04omoV6OdU6vLerv8bDbsQ7cI4T3_xRhqDxBfwzKkRasRg2r5fJGPaIAH2h6bPm-jSj48ORm0s7p6pyqOOVZ8Iz7_uQofbI1nSjyiIEpw3fh4M1lPWz5nbtyy4tphwbJxDKX8gAjITxBZx_7J4D9dIBHh2cHnhad9IT3-HLDH-V8SzJytmwgjh212sbEEdigwpSjfewwv2VeQMQOoBstzShGqWeKjTorWI-HCAoEr4Gj4d71BOGIVVxlcA3DdZ-JRj76AZ_girB5zpdnXAaHMGuqu3EdbPv22UCOlH_AT9_JyOmOpJ4sk1vK0qq6UYN2sjzu-6DAXbemr77kabeb8avK_cr3V_Rv2VVMxtzPo3P34YPw6aGCrYFth3bHx8oFBTrwlCk_Y_iBgMG--FBxvCOTGF6el3OFp5-E2gtg28ZAcFOYT1h0EZZKych171J7kzzXo5QbIU8T9voq2cFA7TN567lcn-s5m6G4QXs9GAVsM2fF8iwS9eZNCzSMn_M1Dnnhit-P1xr8ryQKJRSs_8RwAeDKmnw0uK_Reqv9gG80Gn-yGaRMSUraOcnUk2GevTbZ4gCJ0Ia-P8EjpZ8fG8tPkxcPrnSmA98i7s30XWYcWnSir4tQJysLhFzv_Etc1biEwzu_OtJxs0J5rpVWhMCocEyq7HAYEv_LyoOvN6PhkJ7OU1Of38HZh1itre5AOH0B7OZ0b6aMuRyy1aCla3ONXNhzWwZ3wejq2E-DjxP913XFrvEJwuI8NLa8Ygg-TeNIYdruqLuo79D2h1eQofHZ9t10OGnZaGtGQy3o0gb02snxA25Bb6WohMgKCWR0j0GRESlMWZZDiwb_i9WqlvB9JudIHHl9DA7Ems-isKma7uFJ9GMLRkDTaiK2KfE7RQdbwjbgnRP4UQOWUssud_LKMPPQw95oZ2LIlhp3HJggURJ7IQXrc2N37fcSRxPdsPp4mT3BrXPUK_omwvQPkeBXZDCV_gi8LAUbZ2a-4G0WJG0cTqlYVSB_BiE2YcYPJj2oRviJTyp-mUDlMNckxC1V54aNgx1QidRpbiHKi8XTHWhwEZCqnetfNBO5F5_5y1RDM2OjkETm4C15vfL2Fh43K5VJ_MZ627kwX9VfF872IIvnps2qgX2j2pFNJ0lauOxWPPweMp8J4Beu4Rt1IrXccFfQM3NhJiL2xdUec1o0sBcTPqit-_J8FzYa2VuMF_n4_pejasrKpCcR_BzCbs8wAupKUDKd3tvAvLhhMOjRrCipmieNsLQ0ljlSQF5dABcNi_fDJx563rAZEfEaFFamxnA6l4BMKhC_T6bPaMficuoiMr4n0ldKhaJeqeDBRf_vxzbcZxM-8K4P_sVXJx7F7V7M0JhiVP-jfgKsbJIicgtR_QqTqlsuYCiOxX2sKl-GG_oOdQ3amdif0w_RbJA2PVzRsVxu8xq6Uj-M8zDHS32OnztRC-ZimWQ5fS3RWRzpNLWI3-ys_XkWTCZj8IRra9If0f02Ob4o8j-y13GQKm9c-x-WGPP2PA0mTRpp9zbIfc85-O6CRfXLCeijHH_YRCfXOp2mduWJs1ZROnflxgSi1HkqisJOPKXqlX_F5ggJlZSgGn8f_datSHQoJUve-h5jMk_krsDDLCBAVbcaKvfPz9QyiFVzTdBp8gbZOo_WW7vm5yPnEsGVkNE9Kh1hD-KRp7LaHGOT7_j0kGgyUMk67-b6Y8yVV64mE_cl1T-Y1duaKOkvW5nQ4ckfFtYL6LiJ1r2LZdzgqq70Eez0HL8KNU50SYExycr4kW3jxrthcoXD2BBuO6hBgO7LwRK9P6fy_l01v63T8V5SXBkJqpen6MSQeSsv7F8SXpj7sCuyXpTuRXDKSIuWTRmQ6k-3ZmScWuUc4aST4kjswUuxEHwDXTMgKigwD4nGCI1IYnveaW8Of6sYWNyH1qrzfd-X7D6u9UiJ33AzdK_kLSRhMDnT6wazMKSX3IQU3XMSPSdOWyYCk15wo8YHTXKSe-p_FENZnWhR8zY5y2dFDinU-T-AMtPTzQEHfxDgj4HWcOuLelv0_YCYTvptIxlGXadWcLj4gxrXpvBcrCwKxaF8pHWDWi2vuBRFLCaCNAGEVlPMZq3-LwZqwIapLvb-acOEWpn90l2lnNL_WJxmt0pseGV8lHHk5V_yiQUuxEv2BAhxbq17GmUV6JHBPSqZdZPydIgcUOC22hsugjxXYxfiOPi74eeeRFHnBeXkffZXsYyCm9S_OKlr5mm-ekMdu2Yaxc_w-XmOYP6XOzLLXJHlHTAd4e8p7DWFVJ1jfXI139VWnEa_Hhp_IlrhRn4zDIgGt9Sk-v8gib0X5tTrapdKk8jJc9_VFGLSqgPy8dn8hhg4uLWq53jHPHsFZy2Qc61ezhMQk98DPytOQ79fSErMIsXtjVx3FUke_oboi7b0Hk7YyWxZyWOD4TQPqvfE5VzwGTlyXUsgk3gZQhKfrVcRIkLgNlXi6GwKpqu4dnoU47XoKxWEUB-Yv9sgmYnAYUPoGSMDNu96OIcBE1ql4dhQp4ReNFUmvS251xYfLZjrmOXTYWRTjwMgZ1fadJdVBv-TgU88jQwsUwwstLHdfms8wDJ5Ri9dk6BRVXe4XgG6QWI-LDNrapfADxYSl18R8k0cAJM5T98Gp6rjRJuiwxCsKEP90GIhFRNnyup0DgFa0emusO10y1z85P9CuZFhseT_MdUjKF7R_G25mBbz9aRLc3bcvnXRczdYfSvHvY0ZtP9NkvgI4fxKx9DQ8Q6fP4i5oaP_RZQWSSOl-OROX_9mzy8YYiipOo7A20RtczG4EbrCisOpXnnD-NxES-AkTKCx7WDvFvVogwXRM6b54MkOHuzOD0SEldnPC11sFOeXDiXwfEZ58Pa7AnJTxag83DzrCC0dqRG_0T0L_t89sfPYXspU2fgLHpTEAGQiMFanyjk0L7c435aV5ocNtaBkaAEJp44ZiTLhUdMZeX9PwVEn7bGKwIPVXoy3bmGzhfq9EGwodyel0PiHwGUdVLBBfVhEG1bsF1Q4i3lD-o-Jbrt1ZBa2qkuzXn_bYfIeUVFmjxq4IN7okGxaA1kJqmjzsIjUMxE1GkpGqBTHhFhik39fwykHmSmVmnxSAUFPIOZ-_2J3mBISmGh8A2jKKX7Zu3uzKlck3WJXlH80XSFKaapzfWGeR3Eei77DFI3OrmR8t3HhCONoLJLQkLGUBiW19NRwmaQNILx6mIfzwGuY7SceEI3T3dAvxw3eNT8ySGtr3lYUmhvgh29YRI7Odds_WbzyYrt-lWFbAhNR-g8uprRig2eV3aZb3IX1fNi7qiZhE3zwJaNFzIutq2loa1p9Yzwti9nD36fXCudASkWrNzxFZlT-3Ug_lxYSkjlrW-bbp9vqFWZK8LNSpZibA-TIs7OItCeP9X36LU5n1vUdy7d1ewmxupfpUTev5PavxsmPF_503rhRwMfi7sGo3YXdSVEfJr2StypdnsJsQq6IKQ7VACcSXxsvLC5YjiFjKWdA3r61IfeIUEGb0ZLIambocVT2tfI4oMaeVCj9CPxtw_UAG_w4ZX4jXZul995rAl8PwRPgv5A_-nH8l_Ut5kFKTwNJYTJvw6Ve_RpSybmqhA8napmF6cv0kvQkapAdF5igY_AYLJFjFDPPl_81R1xWS7EeZ8CaLZYhYcoX29LbXA3ZAAylH9ItzvYnVPtQLWHzv6vT-NEXEnawFLb-blZQyDS3COV6gp0GkT1DNMw8rKLQyT97ISyoCHRdQKMAzQukW0YuZodUR4WG4CX_WEnp0aQMwXsw2lobDp6AUlIp-BQOYs0UETACJdFYMv93B78DQ0zdu9jHwjAs8-EZybeM9VbvidiFSsNJhznuqXPOm1cAxFJHMXgreSFxo0Jm5yy9Zw3XNNxHsbJ1KIZ4Pgjt-m5qtuihB9qfKSA0xPhYwfiA2TPJKLQmOWOvTV2TWMnNCtEtvQLINI4jX2qjNx_IPqeC5_RajcV0oaKCpBAP7wtp3195-jV0hN45Bw5ibdM-ODqwDcOVf3-iKoebhifNtCYfvBEfDsB7PbUpC6f2g7mdHk66G3jpTH_rg6D26Rt5jO8xhdwI4S6K1K9CokBbV4850URSTKhzB-zgCwfy1vUYIHzzP2wB91wEOItIha8aPZY1Aagoe6agj4Pr64POLl_d-2lfCAvcB8Mi1XHZ03u71jPfGskKfrgn6ZkAtXlb0u4g7Jtq3TKH3jXtG_xAim6Mt_mKR_6YP4jkAdyIGUaZq3OubK0kdOUmcmwLoc3N3wwemO-WU1iRyNik5SdKQYQAeYDEW9ZiVSz73XBjsNos-qHMOrWHkNYhMNmeViDn-aQw-3-TZL6RRYb3Rf_xPSMpkORp0Wyjk82NIkM_AfLNexotDrutKyDRpcF3PTt-DDeWvFhHPopyqi1DItqeQ0yH-ucI8PYJzFyWg89RgvGRRJm0Tr3nlFFZFfA6O5El4GuPCcX6RgeaLyTlOumzdMtTbtkrjhzv_k8__qWk813tiSfHljOAiJREBBOD7i1eQyApsH5h1Hq0rRRmU2ZjaJzloPTNEH_LDe7qcNEOWJKN6H8lFD6O9cUETi4fnEIcMFA_Xi8zxZNjoQTTrRCAPbRVFHCIn3_eQL3kueGTrwShPkya9-6Pv0avSf5uo416fyz6HReNx20BNTd3-8km04XlD1MG1gYuINVZOnqFPbSuqOhYx3ztRKkmGYpf69kOL6fzbUWxzJNs6vjo8UWNYjNmJvfX7cARyA6ZpJ4ROw2V4-f5CGQZdl-WfovRwPZa2BVxrZtFGuCFlNcgijbZha4upe1VeFLFsvQzR1HyqzkDPZptJStE7Em7onJANdf97rEHf8BcrKlkW3_w9JFWdEJY4nqlaX1TTwaFf5VkKTvZ6yFra4Iq9QfrLSEVpp2SIIaZxTjz3lRhi_5wq4mwaaCKNiBrIo3APQVjU8Hdd2X-f8r_wIUx1Yrqhv7fXmn6t5Mq_X-YCFpH39ov_F4Mr_u8iP177gAxeyCZ6Ivpyf_Tpvgj2ZyZKuUxX6tc87fWr5oTGcfI9o-sz0M1ZOU5nc7jRebaELeI9HNThLr65VfAvD7Pg_tpfrsglsU7im-mjOU_-4EzeoIIarq08NVdJrMzCbpFNcx3wmvGsWIvqQHFvyWRAOYv5DwbIfdSHmAcZmNkff2lKBJGFHoYi0M8I3euSnh6vxC31OBaIfTp1d7JlQ_i3RYvVzVaoccBmZI4mDncijOxQUhNeYOZVFAlyLozTyr2zZD3WRr4X6BR_rjRvJc-Fnp2ITLSMuOFx5ZzF-GHsFMgnZn9RFO2CwKmR3Etz8x2gHVj4ag20Zb9-MUT_fEUBEdzomP9IKiwid25wbp3Yc6o6hQt-EA40ureisecGCzwKf-9zbNOyaOtkV8JYjU2hFaa5ml3eP-HMToBjAzERSn6Y9334QXNk8B-KvTS28a4FbJ2k8u0w0E1T3z6kBAN4kF6x5vsZDpbfrRglGDplfD6GKdb3-_UBxUELpen1mTru-JTl9f8tym5hNOZ275UvELGbpgjzCqxzwX-lZebpFf00gUmJKEAxJQeGrmjqiUZe0CVrhx9mBF0FlvNGv4j87xm76BMUOY_reDrMI9q3GdSfONeszFdWCG6q83IABtnO8uqRu0RzaI-GOeOrnJuCRqcwdTW9seMzoIcERLXSnUc12cw8bOCou4-5bUjTzgUPuw37zMlGXn2_21FDtcLf3H7PU2oW9pZAQg1IiV8l2NHaxCitj6e6eZM7n0Kz6kczJlczBA2RitSFDRbJ4O_JGtcelEflT42KKyFW7fyHCn2Bt1Mt3OAGJb1MMOUISFsqekegBPmhSsx4tbfnXClCTyu6SOzws-9mfDuY9wq3CRcl-1DPvUPCEck1Uan-Qwo_LsIwW9UY0yqGaXAzmEtFfh14paCYQZh_PEDUgiiV3iVifTmw1ABUtIgevPKX_fpVPf1JPmh6MjCGmf10uvziqEZm0Gajfw_BF5zJ2BSg1smjduZRBvEzzoADE6bL-KzJa0JUCy8wK0z8ClakTubeXBhDJmnzXkG2Rhg-icdrUOm-9LtgEEhqAaU5TV5HmJZZvjcXvH5JXJx22XEbs3F7tjMWg2vTNod0k3Hvus3v51HhtkJcAumG-UUw6s2SKUbsqPTErpalR7xKLt6Agfvgc2ffy8HlbJHUjXwkbrXD8biUkikSuLiJ0d5jrGSDMAEfLnV7_Nw-oqt5RJar50Hs8oBibAxSCoWiTHfQyxyJnWLNHdtEVx8Coh4Y6FgiC5cjJtJqtd6_9GXr2zLkj-vLXfFHDdIck47ATiTK0Gm7TQXwku5_EZC9E6pDpWKh7ReRTQTjw__MskJh7k6wmCmj9yDanM4o0AZk4aVIN4epDV81YmcfVGxgNRFyBpUv4xbeHaeg91TwHw5s_GuEdnPVxrI8M5TP3BQgznwdZil6rU_Ob0M2Pa-s1V-gAJZoBeWrF0gdFd-IDaRxFkMctOVVpLVyxgyUak2VKMhWWbc5W04jf10o8qxVbIlsSFcqrBVJJH047A5d-ua8xzxsqjUuRYCEg72-Q70wJ5apZMei1Ew9XZNRpp7bWqMCzLgCK_qT2S8Np3mBFwgENXAr1dOV48dvXz-mMo1BMlLxBT1sNjH9Hb-owxm6xoLqwIaWXOZu9_IVgeaKeUS6yRomNFK-sWL62DgK2OcgcokcbIAsQax345b6R9W26lPgR83pZjKjhT7pU7VZMGDILny-N6BvmoEc-4y7eGfgKVd0BVrN10eRZ9dZ3-j8nRFeUFNn-s2n00QWLQw-fUHX-T5Efs4IRyxq5zBzPU3jHBqEdGAVTeCL_UUIChnFeVzn5XsNHtKZgf9OODH1Z_w4YGEoT0mMrsFHwS8aFMsBrOSYuEEbQKPwgx9CbntbR-09ra9facJ6QOKQ0U1HMXHEgfDNX1x9uN24OGepQBjIqN4HMYOndPom9ArqnPK9Nyi0-RHJCaFZwyMpcE0hyqfrWjKudS6N30x4ZpdiqArfy8CBAcO5peWIFD9GsEoQIM-M3wfw6lnAdlagnlxCxzLc_BZYNSJx6V7uYiiE2NcRBpIUSdBf_veTKg6GHzR6pSeNowa1qGrWGCBSHiwbUtwxDtPAObuLMHnjh3EKypmmOMnQ21AClC1CM3QdiXDPu35u1eCS5s-MxtK0ZA86j03u0HCHY4FzTzl-b8dvwKzvx1py_ykrMnEvY_Qkzlm6P1jcDx2EFh-zuxzq3qqDm4LMUJ-4hbzBTxj3sRIcS5PvVxA6VajRviwfyIMWWN90BPEo0OXczAGAmJOAbJAR41uIeQTBdseeWGPVr9_t20bwdDsr-lkVrMHdmp-wewcDaoMdCmdMmwlkTCpivgFhZlvsE4mHfDYZSLJxTZRSUaq2diDEXV0rNEEVTyPff41Ddk5TxvyswQpyxuB5d_g7nxO7SnvoY_D_59CQ2C_cTvaLMLbQv5n7-6pKCpgnWrKg_GqTxk_wKLWxKwHEU5RXu7K6cVAV0VeWEWbBwyL0oFVvoeGdjSa2C_E10FcamV9oJs7GERP99MXiI-MY349trNKoTnZXSKwLxWC7b0GcgHNH4s5a9ySSleitN4N5QSOv3u9IJY0x1fo4exMfVG3KnPkRFUVdAoJNOjXqFuBaXk5kBzHoQxOiue33457RZTABf4l1c3wGqjWIKQSzgAcvUiwCJ3HEqVBS5sR9973HGyT-cK-Jsm-hbas_eo_iOSni12-c3nRCJ9XJPUyPtwnOLOlrQbuVZKCKUnopIRri14hCTXqVYzOmAXFGhwxA-2p-x5mDzCB3RMmMv5UkQnnAq3XjVmInAMFSn5KspNpoOq0or22VQu2ojpexhuOK7CNRWiZWXk1RpFnejf06LMvJFuhYZxIgDMAD7zJ_fOxgk4x_4_VTDukDm_oCUH84dr4pcTESIvO6j56Nv6uiG0IAa00PBuYSvDDGj3QvamfKkHPbCcFAVblNfaVMZuvgy_Bk-ctEfbIlK6us5hkaa_Zt-i0tl-nFGLw44UJ2QsD5MfqVzVjDY9vrgyyreXSYbcf0PnUHL_78Lq2DhuzB1Qw_LTsQN_xsOF_G_38ckL4cgzWM-CwWAIE9z3dTbr3uBl_32jnntgjAMPG4KT8SV6-zySHgRum4ijEgZxugKxQPrdeHXmzSXrSesdPn6vf2tye3lFHE1yGBzmbFFtVKfK3BlGuVV8c_3iPh0V1z3H8WZhrKO3EAW0i0VJqU3x46gxroYceGBe0Ti_lv3yUa9AFxl8PjwHjk68GVuHqmWlTjkvBQni5wcbHFY8DfUS_cAPSyBF9dEsNoSnAni22aERbwQ9oazP9_wXKfJAqNmyEtXHg_Xbs9NT8bMIJWQoIQ5YLeY-1IX0bX7xmtxIowXkb20lzZHfOWhRMFdcQZKnaJQfi6lTi7VrIpXve5zEnTE6LXaMyczEtMRtxwclVh7Rl_L3lp4_SNkzfcPzeyJ8rD9-HaPwonf0SmbxTvMH7sQLhrqNwcQa6Kkfm-gpCPRGuxoDjv1MEYV0Sj3WmYEH023enBmrEtNlvPODwPe4b0povwrXC-os_WgGTjfENP1OpI0hl1ELkGktkH_5WW14MI1F_NH5YcWyv6Xg2xI6snTkSxQJxpU4fN3AEApwdy5Zg89QgYvlUEooorJoh73-WrgRj7V_CbjnFXUYvMgSWoy8m1BytGpb8Ac1tdQ1ZkHgIqfYDSu5uWwElEWafLqeHmyW7F6c0XsOakzK_4xRgtFmhaAakLwCJ4Dz3AjG0OKV7la7ZDEu4jvyH0J6jjy2Vn0Ytjy2A7-CazKw_EpVEgp2RnLzsVoy8cRDGWZb9CHgFYZFRjZ1O7t87_K2ll9jOlSj-DNw5z7xjR9rTvX27RMjLtJi3EL0yVCFR6JpY3gbs3t0QDivIlzawtdCCS3bHUda2OZwa6KSu7Qs6Exlc_1X4BdObUYI2BT5b6QBCOtoGn1lvsqMLOpS5m3K3BopBzrLsI4Ikwshr_6n_9j71bLB4nm6gfYSS74PfHuCjMea9CarId2LV4s2JQ4gZ9spE5L4zvCBtk9M4WcPV0wbltQMMsLbN7YSHnW4mlxnei1AR3TQK_5HCbYbUhwDJIQ5xpACCvutQRW0m3IqvYtfLE2Q8uIPbArMpaqSHX3BgiQX8yJyUfXqTIhr0OJqvN9YK5-K-erixIKjz--E-X1jvKkNY1K5um-JVS4WQwCmgom_O6p1x-QIRFpXSff-7_AiiZ3Klw1OMGApBl-dpOoQHEGWVfFIPmJcFweMAbJT85RSsLAV9pf4IQj3-q1HwvybJ8XkUw_WzjOVlE5HnGPGoXZnY8QL2W8frG6Ex82lnveWlCNIYcAK42OXqbIJlh5F-qq1pwtKYl00Ci1P9dY18xGiL6yZMzOj52u9GF9Ywd3cTIVcPOohxagh0YocZ4ygmXEh2_RJRGGMf4pI8zOoKbTL5eac-QvCPHHepupv2txVx01g0YjKhyWr0tckdUSAvZYfU9fJl6yueT35xbY44zAnaUp5bGFm7k616p4Sh6EFsFJI53nxy_TXbUnFkilFvMib0pMIRMoeRi1U8Puq4EH2YHfHI7PBYpNjY9gO1I5qWOYHqDvnZyg_hztVCqduCW4NTwVx1V_96y43lVeuLM1F89bpyLNzHQQNJg4QhYJYrOrjT5pgtRy39xIz-IpdVZr16rNjtOwi1m4Owl_kOKdPWFK-r5mJCWGkAM0TYr5vPb7A0B4kwZNH7LfjHUjDOYsr4RJ2U_Ryehk6CNwHglb46_1zLyIoB3BzHnwzp-YL9oNlMM6KkrThwOFSdvWXeeLKIAc508wmWEw1BwOlAhjtf0Me5P3p4CAQzxA0H0t6KNLyBrsGBn82AOYNpF-iagsmwbbC2EIY2VvKxekkeyK7Fvih_rFk9IYdDNt-q2PySgzAdLtaSuIiuksE5sCBSisgXqOUMos48Ou7D6GGJryn-32dcSyV8T6Ctc_l59mvStAIIBKCJoNMGUof-F3I2elxssd5sgdGHwc4xG-6CMg7C_qH7kmRzojvmA_WtHdRXUCqS2u-ekU135TqW__npvH0Xjt4W35vJRzHqhJldrQVNinh1v6WeMIaJP5FU7lpdKY5wYBLRoD4n8Z3ADjYRdgAEhNaVOLZAlbjsyZ8DsRMHDerdENlGFMia3hdtfjzVvPuPqnbfePisUrjBag88W9ZVodD94-CcaSz2PbrsbgSeV93asj59kApMFeHgO8XV9jeW6YNaNzGDPpPpS2Lt5s82SMLAGpvRmA3-EzvIdTh9gv_G9cPhQ_B7xB-1sMae5sB1a8tCIAATH2O4Ckp2AyDiGPOJ-KsY2-IG4XBKhCHN6kZPMUbiaE8qRU1mNksy8jLZHLSPaBgI0Z1UsAsyZD3Z8DJ78h8f9xb6PQ6LPux8UlXIFDFzfMOlStCEcKgVB8jglzsOFKeMzsG6qDvymmb9E9_QfqwHdCO3q2NwGJMb2V1xg-hquQr6f-ubwA_niESJhs2S35F7nc3brgEKB-pX30t0LiaYbhlZ96Qys7s1fh8J5RqbtUzQtPHziYczOupKYXCfJ0PwK5tX3zyVC7e8--UTqhKnIMJskBlOMC6aB5SFfBFveJv0pUHWx7QU2UysDiJDh_Nb6urkcxipmq9VqUCnvMg53HIGwHVwi_F-Wq-3znKqfDV22O6ZD5XtpXUk1c_KxLXjTS3_C6adJPt0dh_CY1SkIixvaNe5ZksE5AOuof4Xc2mVMDrkj3dvJ35HVdjHHzBRz9Q-EfWti10NEbP-ScT3s418-A08sqQPRR-4BZO1dz4rND8Fc9vwF-WfT4gmpDZf0iFwsBVHW_yYW3cELHW0lxtTO2zIFUMEpFk-q61XST9zK7BFZdfQYrdr0zuOaiZTJfs8SRRq0jmLTqTHwzekhp7ugoIFNgH_4nrT5GiFrecgeXXDz-f-ZJkkirMQSgAyJCBgITvVRwP5pPjjdqs23AcDv0XtHT7-z8VNb0Z_OWq1r7YS11tXb6kCZhmiGKBxYayQcX7lpuGt6SK9r_eVFVBzk17LIxsUUKjMIJEQCLfV_82Bm83bSE0aMiG9Y7FsvxBsLIGPzIjLseW11G8ULmV4XlgEUEd5soamqE5k3N3Lr8mijz8QGPkoZoF0rDvr4oEYEDLPyrpJj0pKbLcVQ-1cm_HYDNuawk750ZzLlv_3Q5BnyQQ1FMnDrNhMg5e5da2yccHvlTmAPt3qzWUHFVAEDfk4kLIsvHT_Y2bnMhqx2loSIIIYIxEZMB2_Sv_hZwPn1WBGJKNVsaKZeqrLppNx8F50NpIC3L6kxPj29xmgZC7dyMiuK-opEOdQ6ftjXPOpANme48iS0RluEWO2tm10MUy1GcE25iJPnh9ZMLD64NLVXKVRR-RzRZD4ZRskq84z08MmnLwZFT52mfQH3oWAFbeiZbXpg_9QRrqB04sOvmAZUU6udQL6Pz7GkMnns3RMM1ArrdxtisuPB5-0LzQzWYyytRU1ftD2uraGY0zXWahzqArW06mSzAEsMY0EhXsCH9mx_vWg_tFbBYzibV4WeIyWFjdlXSf-hDh3yQHjEHzGwzCQVdlzBHz-plKIeX-PqzUsl-ErfyZfVtT9FlVALylR7Zy-lFhvH16jnyEisFKJrCnI77ik0hxDgAU7H_8acJ48_494Jk5zWJg3Pno3XxbfEPS9ZTjiQb9qD6jNLeWz_BpYO49ilzrwzJykcJdFHvRILG4KrUnE-Eb9KzXhfqvud6D0BKy_BDoHJ8y6js2vkEuWWnnqs7eOr4oL1OjcZ-SAZNRtEKfbQg0hWtxIHM0G3PotPNY1h1bNfmDC87B7Y0x04om5nYUoZKEAVH6QOpdUy_JzvHnWOYRIwXRm0e3cGKKeuny4lvNLWCMWHkFLAoHoutgGBsly1l0ychLQjMT6jxTBgPbRakgs9zMk2jAcmFJ2H8Tz0hkuciTwrU6VyYMnf5dfez1lQEKX68nDVE3D6juKPfhAhxckqiQ1ouFylBB-8viewSrmB3xcm0-A28frgE0-4btcrlSNoYM3vkqJLzcO6Vvn8tWUEStr5mb1AtUUT7ocQ2Too0coqZthi4SPQrNuA97JSATMXIe3SVDw7EGh4duMZ7HcUHI0-AtrsYeGs5MPeDH41u61h2-9LJc3VNvBFRaQ_eet4hFPPA9u4JQqy19o7jixRTAkF8yP2RUOIgWY_50Lc0_O7Ww8vzvdMV0MmVtUOKoA59Ms9DeLCDrj4_FgHyHK_CtH9P1r1iN4JfqvK8FsJcWHJ6OLz7FEj2Fb2KK1BjN0pF8g-3n-qpozifCoX1aHbSNNYLPydqEpq7jIYEiuQlOtgwUQzJ0BZIdLnsDkR1n2aFQIlejhYb-8_zTU0dvmWGu99-3568qP_X1fuh37UupTGHhqWl904A2EAB0PuFs9Y6X0nFj7tb8fLD9b8MNUCYgsXoE6r5guF7e5Z9LzqPBR7Pu0zzA1qRC9r28Ez5sAg8nk7PPTy2maZeAen3cEo8i7OGLIlRfTCKFUXshjT5V5ITBvAsohA3tbbya_LU7ar_XkPGoCPOBT9S1_GMVwzI6iho6u1N3RRMmmWlUs7VhXjqjyiRqYA4EY5yTnlP1JyDke2r3_65U9FuJ279sCh4sVqg8O8hTtiwJ2cNl6RdswJZ5PltDc1DEyBqbk82AUm6BNEMeO5Nh0P4ElOHB_FMERFs6MQt14_2bZ2sYuPpFlQCAGIHvL27xICIut9Al8YYsO3IWcXAVESMZU0NrXBdB8YxR4dRh5P6s9WuxNi7ZJEHclsZVgQw0Y_CrocJp4nK3G9EMzmJOnS5iB51IO103cx6TSN3UyLjO73pc6ZTEXtBQJfWieNMjiU4SE_Q1UxQ4OKh8pPV0S5q8hZgJ9jDXcvahWqDpWOWY0XG9_OVGmKNjCkFKmZQK3USor_DxaovBESRd7E4df5WhCMqlsItmnBPauM3KJrJtuLrXHAziIIHHg9SaQdO9k7V760X6TUBtyNQNGXq6UitN0vjEvT5-QAbkz-ujQJsANrcQGIltb88GXY64zIUnWqLA0j00GRgEWtpCqMc4-bvhCr0VBlzcKO0Ana4ItPpq9NcxfQ_vAoIycaCq8aOWk7uxvFYr2Um7SqJXPFDU7mJA76oPc_yiJSmg0dGBIdK15mskQ64AYHu6RSRxWfd3wc-Z8bM2fRUVEWYBpuES0onsf_01ojAeCfhg3VsgFr55caYFagrQDvWOIW9x94G3RsSXuhgbIDpaLDFT7QMsywkFhnTiPHFTYOpoAiiY2PIHvOTGkPwI8k7J9qvZZazhTOq5oRfPuuAO-gbCeNIFyAhMEa2nN8qJQ6U5iDjYZ8JKusD4h1Ly7Kpf_UKePx8T7FyU5B_gJ3fdwh3JJbs2ya13WuAsmkCcXRYL8Keiz3AbEC7r6eMrYdNKLUqnnJjax7zDTAxK_rBIvjATYER3Z0HLIDTga0CUBFvK2yZ9oSxw3y2vvCSMVb0SwAGbcDFlJ0wzUH-Y-yvNNH1tzbzBJfTpv78LnxH2VaSGM_gZEPY6VKU8LoR4pucCQBeEOaLbiBasVgGffnDJqHnibWpDy6YhcOe_Nk89Md9sFi59fCDWWuOe-IOgvvz0rmazTez9j6AZjcVSC52tzNSyok0xQoFzshE5b62BqJkeT7cJeEEkb9DsGOrpCVCvfPoO4P3GDljuSJiFxPRig1-5q0bTeygAcFVmdVzAQ9cEacinxRry5vQJRx8YGdmTfOHkbBCyy2ehEto0wCwq1CeNBGsMQlcIPJgxJInnPigA8vYJ9m6OJN-QSozpg3xMfHZ1Aoo_pPS4R269_Z6I4fgwPR2sWKHUyNYNJ1F6-sRjWNl1Yy4GJqWAqLt1--52UpaSB02WxVFFnnQouxJzzeAHg5LbWzru_pJhHrMae1qjg9OTxGT2TCX_bFVIN0FOVv4cBTVyMzo9WmMCtsN20LWHxreScplt8BD_BBaikZMDc8IjZylZhRCuk6IeBWq5TgZuaKDCW7eVRTgXtBeV2GZgtXVuv-59qPP-eYcnpfw1VFRAmSjiPCtcFLLQLkHJZU9lmhu2DeET71veiQskwUO8qoOb8nUKJ9O8D-NnhvR-5-FA2vL2i22EUx61Saexp_8G_v9-49rXou15M3PBwOcyhHs2XJfJVaLLxKdh-zv1nH4tl6GS8jh1vej8_yWN8md-gOzobfI4cKoSxTy8tTbBDCq_JXAFTxUo2-VbMZAbDoDF3vd-r08FbejjUPyT9z_XQkjF2Xu6V9vF_mBqOfBtj41g2M-JfNokdGmG0BeMLtmLudYm0GRf9kkTbpTtW_khuYN1re4jrfeRJjetvQQylXrdR67mHAVHzmgo9ZvlpU8SN6kho1vwxVSEVsq6wx8cgtk9tMN75HjT2KCQxjctNYYArmeCIJU-ThKTE0SPuZBqMfcKI1B1tLz4at9-9QwQoEXw5HxsroeZujq5OpC4Hk9c1RxipYVmLqN65Ig9OqlrXF2yW5uD-t57JykDYMpqy9KBdsGXgyaPA7Hv0pvBhJCDcN6wOECO2bVn1Y7VIz6jI-t1KTC5Zrih8fWThi-XPEG0UoskO_Z3ELveiODZZru8hSdk8Scqyj15lY6NIfSu4623U0zEPclNdVVJ64X5ZBatgwOMqQ9_3pOp-Rcam3zBbsQi17bZtplrqRzQTOoWltczjcuY84fuVQ8gkLIRRkwHW3pFBo2MMJZkn_ljBHFH4LFgKQZTApHPDNVO0cU2vi8J2XcLOE4mUbA36qPb06QjxT5VYs0RILfE_8AGfC8YP2_3gfheaO-TfUE_WITR42iQ0EQze6MvpwtBhUlyxxVEH9eEJGGflg4V_ea2EtE507zVGIpSa_4rYqjhmJ5efZIy12gJhOR6LQPReK9lmDMkuPMxZUfly2-TzQkAVxMICHnJHtUS8WbA3Kr7Y6_56YkezUOdGZz1TgfOuTzK01fshBHMDJVJgqkK6q6jnbyVIKof8jAdEQZElYc6bAoiC-r0DAGMfT2RO-yTy3rOYs2vjEa-Wxs7II4Aq1ycKNPBzCFCdJVcaSlaWrs0_PoCmYdtwP5MNC8vBKlD5SSUVI6cQwPIUmVqtoJdJj_-0Ge3oTBzBJmY3NbppeoCgoIhZVUIs_3oHiBFKdb-wd11RSDSpynplHSRXlaiMTSfy2DEZqhMryBmM6yDjvmwiu2PxpzM1lKP-sdYz2Drj-tzKbZcP6JTLuYmPARoT8X71XWeWIw-wF_7kK0Mm58PeN7gie3qehBcaaK7u0QTCALmjcBT3MKS2p4keIkyuej10ppKVyVY7WtiZdOkEPz2kRuRPQU_G_rAgx_UspNJvITT8gInxeUuZbBotsNaM7OsBdCJNHAr5055lEYJ2121nvsgPrpKuJKWIsRH_kmIqnvL_D2b_Tcm1t6-NGkJAOY19npa89GfmSen4zDjjNB6pCBbSLKOo5VdT3H9HgZZhVVl_sRGmsLUciopdQeKQgrE4naTEgS5JC0oVgB77MA0tGMFbKIroD_pWq4D9-grU5zlV6zvucuSD8uQvnoU5OboiQlZ3jCNUMvjDP1PIGqun01OAi3UbxdDjTB_Aw8fgPh-bHAhgRw57V3gM4-MooNpoVIT5GtzWWdU7eNcn6-X3y29umY0kjIC40pO6ABZdFYtvnWC3a4EAD_IGhR5zKghTXxJgj6RRhaYEZ3GviEwZWCwqGZyBLmxuV96tczEzXeF9UvAxnhYJWbCpeHx5MAbbDnNNIHXfnijisS3KvnE5EtGahk5Hu2BUEhHcrVCtfdlAIf7_dUQWjx_8IgiuXKsGo9V9eoCEskzDVOi-3oQYgMyBZh2R49_mbhvKTu0BXSHyCyyJ12sbNcp4uzc3363N-7ueNx7K_Xqkxa2mFQ0WjJi6XtKxT2HNp37pPw8cdd8oscbPuwfLsTddUtsdzjcYhZp_KIcFmOGpMg6aYjhplxOXhG7nOHhPXBObWeWeNdLULg9LfdqCKea1vDCmdjzSkrbbhqnUdyFbAeFSUs3_3hJhpS_PsO_AbJRGqDzrLQmqda1E_IbCBwVCB6an240i0tckTODuPe0uxTf_yDijtPAgfphEfSQLiuJZUKV3hY__d5r_Wauz6R2zcrkAW8BmU2MqnGmKmquvb-7P5lBUYUwg7pcY0QmmXq_Idts7yk5WGhiLsPfzgIRGxetjzQz1LnWzJtPkPQXzgrAz5hDQ0Exnxovx1w43GVBFLJ9ke016N-hHlrCSDOoq5ekAbZKC-B7bIludPZBnCb7PxwgpO3HtneCh7vhcz9jBV7ZcR9NTks14w_M0BCEPeflqbGRfvc1O7nPhAq86ur3tYdKDjNOWXYe_ucR5mZq7mCLi55jOfpbhXo5UekHp8RnzlstBCHQ7P4mc1lofvYGWx7LseuGZVvXTslC8zNYbuR4S1E-g1XLmgEqTt5lc-jntzg05CFeqaE3vgzUgdsIy0HKPlLNxS-B0EZ_hpddNtwz0p2gcmdZds91khZy74qlove_mRvlin15_hasuXQQTtLAs_7nnP-VdFqQolhv-6WneqFOXIvA9KJxJqYNPTGMezSSgcBZ7F-z6v96MoOgYMtJepLHQapuE7vgx0UKVrsjx307gTjNOGQQXOUwsjuBHD-00tsl9hIm9w1MSx6Kus1jAVcFvyH4SI9uQo6hqOYdaBW_Vyzg_GtQyGQu7nz6Qk8RSHKNaNzxW4RD7luinSIaNbzFw4UZMmCxMRslhCQQK2hIah5q8kS9rl-VNevjhlPDp63zSabaVPusYwSb66VE8W28yXwX9BAE4rRAamC0T2Cm6io58w8l50d31JishMNR_Y0TiTMm2WmV8Vb6WPg5dRaV3BiOmJh_CwUjRHonlzB6jopObhOo2hWPLL23fiDIaAca4hyOAwjasdp1GwvqnvrdWypUKuhvL7H9CjS__3KzotzO1Uy7smQGSMVJahLXzo_qfW2yPF8sSr5UgouBTwH2h0yrR5Aau5Pc8ZTpn1ydQj7aN-cGzVh6IL7xyaHFlctsdD-kVbsr1XAYBkzxeh2cRofKaUM06ACE2KPbTgdBZPd23dYh8Ah2Dg0_zRjLpQfAPXHNEzakxtO3DRbcbdVPsuZ-S4YqfWUHsv3UAOvBjXSX0FEzgr6nNkmmPga2LZtAE7yk6JIs1RijpfzlJT2Fyw6h-H4h--Vjct9BkjKgjxH8XsrY-FRfRlZI4j1pecJfpOdjrmfhVMwBL6jSkPDWTpQAKnKwDYoBYCVRX2MBQbpkPHvbwS9ZNZYM2ipKxdCmhRWNL7ah-QMv3p4t61T_c4X63W8pwRTw-fhQTVER4MbwTWv-3_9siQ_nHvg7Yh9Pw2xjmvLQ1xSRYWUtQifGjcLGGp0V5VU1XpFoZ04qCc6tApZSwKiwvgMhapd-xBsU9QZfbk9wDulPdmq9E5OyN41CjHTM_kYm54pnhMIcALGfyCuQOnw26diU_2wD3nsNQzX1Vm_PhKPZFs7N1LouGaV6UczaAmziTfDV8fmr5pWWWyzuAOa0ij60gEdIOduDQcsAdkhmpN3opP5GTV6Wv069riR0CXMxEpfAjnqmRpuYV40lnSjy30HrRg7ukoq1_VQZt47cM3-UeSBPMxHRcNH81p2UZqzUSoRLI-tzoeKhmKi1atafYX9wlTYqcVaFYiRrVabdTkUt4lwM4FEI9F0_6Isw_7yQBN_AFFOJwmEt0ERmEosGmrjR7p2lsQTjLHvT4-fxq_Sc3faHRRCqvzYU2U9Op_jskyylE3y2Jk1_XK7ltjf3Se_JfwEdxCstnH6gdxlmzfIC4xU4oZZAot9fon1QmbqaD27R404ImNLU4oMTQEVckV8N7Bzm9YNJDLTKSLF-ZCyAm3G-FXecNsrcrnHRIJKcLIPG4w6Nl2tpveOLSQRwRiRfuTueCqvoL_MPHRznNBf83DxOXgUOzygLUm4HK1gSkucvTHRUrCqOv7p4lFgWr2x4oHJLcnCJDYe5EW0aV-SR_CgEOxv_v6uj-Qn0n9bHMY5YDAlSbTdOHLtB7dg5hpkLFby7JE0K3uMiw8GYq0Md775gZrJHRvwF3jOMafrQdOK0GOZKuU4dAYzL6m8nVNk9cJaxSuSLwWwvfbgsIibT7awW5dCRAb8_WTNrnADVrGRxIKX4YheEyqXVdzJokz2clIpFTFyvQKFi8RtIwPDrQ_p2nW0bDdfmlis5bB-0NbRqADYd-akWIYzo21AsgZg8tqgoWMzkPz_LZcZSPB94zA2ePL87aWSSGTJYt-N-CUTF305xazgnzm44_AN-YexOQj0NdtiILjlnlhcWUvtiuJEAnztzzIrK8lhNS-e3BALNssal7smd1jewUY4E44GDhO3cOFFufh06A1jhP3i8NGgm_3wL_wIZi1QB3d5RjaTaYdzbHHrfVnaRNCYzEwMhpeQbpV2x32rVdIbv6UhtTaoAzGzuwuTAbw02DbjgkDl10pklSoEBWoy_2OQ80vgaLNRJExzUDRrr01GsrRIqXKp39g8zDlX7FR1GAYIlD3hE79XyeSt2h7s_qeOKZlfRnAbb1FSFr7hat0zdNDjG70Fr2oIUEN9NK4GGvRzXWQcOc9e6mazI3rkZ65hGQxncy18Cb4wTeSJjk4DgvDFZZGY3reYuq4iqrlI78dROgsbQkFBJ1_pp3p_nqOHtl3zHaJo-epiQhBRgyUls4TpEeDv5Y11lPpWzNuwSRoGHQztzQ5UNHdLKgwAcJNJWvWZRP1tDqm7TjSLqIxTB11D-Sf4ZduSUfNJx3J-wwIlxKTyWtAEGdWJ6KJ9sRnG7niHzmosPr_WXerQh_ar6L83LZp0E8dGHr6iE5X49shCNaxPL7jry1upfK3cHou_noM4cJXtIyowYUJIK24mA0JDpJDCd7vvFiBrY0P_P3iGjrgEZl9B7IUPURjEqIo-kioyyJ9Yj-Po2ktZItniF2gwRhkJIQvPaW3hMSAdwOeLMiDwpfLxbrAIH6KM4tO3Whup5ZEqF6Tr3WEjEHYXPAfyXru3VhsiZ8bV8Iq_s-nPCzYS5iZCBVYt5YIQpsBXVmVuLCO8VNTSx4VOjMc7GZOYq8LZP_58yHEh1GGHwg1_Cq_UESMHE3-4nAmb-MAtC2OyEG6x97Hf3C1WuldlJ4SkaZGZipt87uPninr1qW9Aejr0AByk0mEBG4PYRsrfP_ZLs4OiLVmGX54fJe-Axc9Fw3JPQhLJZls9776zKc6XGKOgCz1LZR0i6V_PBNpREhg4Gf-6tboBqW-VNdIiM8UUr1YkgRYSdnGjASI9Iq1YHytPGjrQMaQ0Uu8Lxo-pfRAHJgaxGNSUaxQVxMJb5CAvAR8iQTbrbwmy7vp--7ioI3oozpQ_E_fEmApH3fxqPsU2-oNnA63HIyv3vEaLqqXi5VfUSlz8qAHIfJlcLFtxkbl_qwddDy83Lg7RxxOoqHDb8f25yf8h2uaK2Fkc-b3GxlrcL4ZFUgFvz1xHelkCUEcFJjLla6OJcHNy634xbbSrRqZDYmKZJg6xnGsaFn3cFM9vZ8k0hCTuT2T_dq2bknqaquqTU6_MN34TmeczJljO-eEGoaUSLTjfjd79y3_j4urEtIf3PM9aTrkyeIQE12bYIP1JkyeZ-4obYkcEVbL4X96DKPBGi6D_F8HL6_fQ82GX-PV4-HLD5pM4c-GBhZHjwe8H690qi3FLPpdD8mr3LMAwbk5gUe0TmJdDyI4MqeRrUNLWFgFqUgeV7ZbAjbPxaFsXg3kg3Oq1o9aA3EABDSHEoy-8EPTgZeGZvlclWazj2WSX_nVBJYylqqUnWaE2t4m_na7e0tn8xG4U4lJ4ExCNCHdXTtYelOA7JZhFgWNAwALzhTTjLjBDk18kmUOFXy9wyXkJwx_RK76RFz8gRsuEyTd5cVcrsapMAxtYPeXnbQi3KOF7ELjSmx-tPkQ4NRe339P94auadUhKIvu6HBSUokVO3xy8E4_scbsrDhw25A9Ebu0Ts25vkoxE4YLVXZaqTvKtb0qKju7ro_ur7hg3lcxurp5rKNpS5FpgIIToclG5_EZIvlymkrttdNUqWmrEeS5uis_6en3gio6aDl93Xcr-yjZiXX7xr3rimSVLmjbgD2whY1-z7THxRIbZ9zUytenMgChX_E1PS0aIWWBxxK1PePhL_HTgA1txthR_oDKclB1aw6NGmJrHBptnHzQprP1W809i1moHqp687PNlv0vJAqmR69D_2d0hj7ECXqltXgUIbcxOVcAPC9ux-JU1sJBDJnmX_-crvKxOtwAFY_z3YMByYIxtZkwoJajVbMS3_C-oL1U19zQVRkzSMJVLpMikbEIDobOGnBvpqO8Vb_-xz6lGHASVfy4N_oYlOojowUZkLU0APpSO6ZLz2o6XhznnAXeNfoABsCVibq2JGuInXvL6RT_0VTz61vfEmfmaWaGpw6i-vHy-MUFpavjaX4hS5kqL_BgkOFRvIdzdLU4RoTWGwToZaLhmrcP86yJ_VaLMY4Z1I3zquCD7ayK7yKTzKXa8dfnwypRnUMFy8obq1kpeWHRqRoND1tHNpls4d5L5SWfaI_2KKKYgdgTrpmU8Fj3ZT349gG9UE0ci7jRSJ9dVxLMm9kO1Gu5PzEoZWFBsE9QMHV3flxdFm0EXVGV3ZmUx0A8eR4Wd4BtGeA_v7auWfQlFSv-W8-437lAQqc0Kmv1q8JFsSbuSdOLhP4EoCGyxtoAcU53tWay0yyDR-bwGkt2rqpZnHzJGHdbimkg7PnhR6GDzD5h_2D3QqmXVhoL1bGL0XRvVAWNTQfCRmlPljIrkR396z9Tbfuay9Kc7mRG7TPtXazr42YckcyMYJxBCGnfdVhNNB3HVoJnoilYXiPvQNz62JOXQ6ScNzchFKpJqy5BCOBvB7EIHzjFCki5x9KvJk6wQL1OIAY0QWylSoTkdWZKsL4qz7BGzpnnYxfk4vQf5UMJbmR7YHBszR4EiBcJyYY_4TGP-Ul_2Kp91WfoVShDWLRsAegvJCNkwGRqYsB5YXpDJ9FwK7DhpAtqQrAZ5VKGo08AFx6zZziod5UhqvfRw7t5f61N6zMV3n2mT-e7LjJebBEGS15hzOR-p-tDsIQpQAwLzfwxRnzd01MrWRD2v0scbckGdeHgBxu3cdY6ee2oACQ6yuPph9GcOPBvbmWfPsU9CCwVub0VW1RrROAlkx1eTSVfHYQD5xmPv7qle34Df2XEdaL7v2kVk4luuEQsYxT5mv73GxXlbs15xEStdf3w7DMLoUjtjI8LXJaAjCdY8ZocJT4YbGF__VK11XOwqk6XlN8IvEQOmtBWNtl8HrtCTJM0qQpU-T9eCOjgkhuo-zQKrVfQko6mVpv-42nGb-crxUdCJbqTC_-MSNZ7Au_43cfcBOx14qtlexMtz0CM4zafias79DvD4OqEb5Khd2Jh3f8orBBM8_ZgHR1brTKweVFX72VyhJ7l8OX3svBL4VRTg8UyV7MH6dM_6PRHynMGJOxiN83Dk0nsfEhhXGeLphhxwpHY4otbRG3eVTp_wMUFzILC3_sm54nX68E2-esdVUoqemXr5ugxh57CoqNy4Qus20pvd1VPTJI3napfvXVEoKZut8AQwj9EhWMuDhJfoiHthJTbFKvubGpdguyEyBTTEiRj-WifTFsDDQK0N_Sho8Jziq-MCz1BAqQGW4d3JVVZwR4Aeo7YO1l6v5sJs0x0ykRHO-pweudlh1e37VejsuFeQPmq3EuD4dsaZOZxjheLrFoHebSRJH2zDBfCYUj3Cj6NaSc4RzfD2cyVhTvT7JZayFKOtP1knhKH0DSs-49Dg_0BN1v8WwMCHjI1f-3y1ooq0DTaUx8kTQwe1aCyAdkYOotAriLj53J-LEY7BbsbsWUEPMN8GgTAupDj_fBPUWiFF8myjrtXzIQmxK4KxpdUOz5hFVWD1vZRKIT4rjBpde74HOSXQSH1JqmTazE5TNcregt83naaiGvXkrQcqe-ZdfOAMvM51PIQ9fB1IH3DC9AZImNyYzEwf0aRhMAw4LF8CO8nQsLf4f_btKuMXdeOCiiFUuHFe2RmHrg5CZoD2du6EUD-P55x7HyKI29w-5js3zagjURdO7MDojYQUxFv5ntA74h3BrRY7fBPL77EmMr3ggfqOpxGBTr898o8lB5GM5Y7SVHovS-8GQ63vIob2JkylLJn38C-SrVxhZPMumVzEUOOjqnL4P_-u1zLFcpQmqcBjGoMDVaNN4ikWkksWp8Qz40NfP-h7fz0ABqczS0Ftxd3oihk_X5oZ-a2Q9xdqFIAp_lNHBsomba5dZjO4MEAjaJlmsELjnvlvEjhhLKenTJ6sqqKulB-tk_B9nXi68JjgKscVdLTXWKyv1IQ9A4bOjvj3jFo00ya5BjzKr97Lki08q_zE_KDDCPzj28ZI6LEMrKZHJsQ3vGefLYnuSBH-vevjNAXUrjeyL4broeuiw810Phaf9SmVzIMzTrml0xB8Ook79N0PKxoPVTbSL-2VmYczLoIWwKwOkJPrBuuicXYgNJrqb-4R5F779W94YoKnf41s8N_uHy6HIcD0BpvtHcotqfMeuCLBTF-aHIKZn8hoXP53JfV1nh94RzbPAdNW7-XzeT9SnJW1SpBxju14AVZlhPv8sQOpeGOZaU_T9AQ6NM6Cwk8Xhejo0H6fHGU97xkFz0AWMuznVSd5T-ll-lDnB8Pcb0Hckwwu2mWxGCxar67P-OqA6-mbSi-lnIhigyG0DRdYu-i22YwdxzKVGhjnWdbtxNil2qpYYsOX15vAZU-h-ych0UhBcpmb3Pmoe63ifUK5gP8EcY7BykmsM1HBxL1WGFuwX4A52BmNMu3iw0vhpXOXLrbDeiJtlRBrA787y8jE2cprHkV-iHeSPkSHKKceTajVY7-VrsdQw_W5BRRyfHM1ryY9mLHsQjVmoWQidhN01VGmZfGwJ0UAYx4BHGoGDxd6bJjHfiK77fFizL0NLPLjiO1w8s-ubF21A3i4kEJiqXNW5NpJQCNU0pwKArfR67GjYvQJIesd6DKRX-MGb_-yQ9ohIcvg0j2taskYxb4fa0BMZSBK6LPeVcwb7ja3vG3VhYistci9p6MDPabYbqiR6_1hM3Ip9RFygVTgrSgGG0Y_nAe9UzbPMNrJLV3oIpRNMfFTgvaPwgDSMju0wsgkpK8qK6afZdyzQiyoqFxEm5fL7XZJ3WKjoS7ihGcYiD18VaIhKuajjZDUmG8dbMAmz2NYBuSiy-xLB70yKg4oanpayTQnI4elR81e-cZjkiQZ0oEVTfPHjWNctmu-UqUE56jgRGyHs8kWI-yhUCnODL8-BFkR9uDnqo9qG7UC7KLHebV7lBBLzdPFj2JYH_YU65vJDb2DAUZfGm4tEpngeRQ3HIw-q6mI7wB5P2GOiUmji30i1Gura1CkaxbWa7zR5iaX05Kx0YymWrKtmEf9X0PsaJ5HdLPPVZROikG3FBeGZ3-IhQfWofl46aZb_rlOaRR0-G4whornuq3dY9BQW6lp6kZgryNMwb_m0OyVyMo_N5sOfn-f8JMQ7nusaBDYzz7SXapM6Uiob7EwE34n-s0Riqg0gsXRCa_cyNE86BN3O49n-1NnKmJ86HrUgb96lhq92xJZrHlpHSVnTayV8dgFB4aFOtvf4eFKEAiAKltZ0qcFZK3DnqM6lzWqdp3oHCfYw1IBA6w7CpxHid3fZAdNMIGXMlnbSN3LYah5lcNzgJ_B9v705LP_kHktorqWPkqi_t5gVAe5IQllg7oun8N7fnJJ7_1_DQVbTBuKVvykga_8TxQ3rHeMVTQ2v0n0dosn45kaiR-5ZK1dHRfh4Zj69rbdCOSUDpcxsGT3iN4PyyIpeNIlTfWgp_p6UQa6hnUHrE3-s2CcIWdfcjonYiz0LjTPSKEPu7rqvcKJgH5o3Kx51sh1-Bx7olNxvn5c_8jsKB_Mbo8oU4gs9FxGZ1PktzgVZnDmYCduZ51HHnm7OeKlh9iOpP9Bx77c2JsdCxsSGqwaC0Xd92nNM1HXQu4x0peDbYg_UJdRaT4OfIL4TcBeIyN_EjSKCfUk761kB7u40YTyVUUVibG5eEcuLV-pcBo1SAj_XofkJ6dNLiZ0KQJQLKO-hxH8wgjJ5TIn3ME8IMNC3V9jKtgNyYGQ9NzmOpBsInErFPJ26WJsmLRfLfaV_uQllBqQDn-ZCtHTUPgCJHbzDej9F1MtKwZFlNgqhg3ed5rF1tT1CK5oKcOFyCU_AmADyro2yKps6-Gafh4LhxRkLt4RVNWTg1bTDCO3Om9P98iYppos1jpnydPbvfJ7SyzgjZQcUUoSgeOOLKebWLo6kB1QjO16elXmVvaP3AAyLsr7KsTYLO69WLBeHWZvylbOkHIqruomrpsf5D-WNF2smZ-GvBQ00p6tlmWOSqq6aXppv3w5pwVqS_mcS45TJGmd7tUSbjEXrDEqgI7iL9zPRQATqvjTKE_bifcCDzi09VvXqPAWHh59LbgohevjoKqmGaq2uPxhAsxoN7k4_QTOz0YPa927-dG0WU4aDOuYo5m36QhDHQ1HryXkAAneyC8wZvE4tfubHWDdiyCpsQACfd8Qw1VBSYwU8L8XXWU88pG8m1skiAS3KFleh6LiSeiH8RnNiKu5nmtmzDdQKc0CyRni9itS40KaZSL5Gt3Cj4mO46P9WJYGwZH2WmtA0TMBq2M1iGYAE50M1GM_5l5gNOU3-dpzQ8XM-1LQZXobESRdRt8uGw2cjFEK_j3NHrnam-XuR61SX_DOgbd36EJh858L1mJ0dM5f_7f_rL6f62wkH8pahjHMs_Jalq13XK5MMK2X_pTVa6ZN9dYAQM1cuRiWCfZFeqWf9pC1CcbWFuOBm0_evFzufTSx0eJhqhYF9mvuLXSk0Gb55lNELJMx1IxEBeqQDbF_AMB6dYnN5IjVnE7l-HEwKbqzm-d4IVjS8Z7x19nIp9zcathe_nc-FTFQAmrBE-wEqLSqwppFLj3l9Mjq33owjPQjQZqwgWXbWtZEaz5lRxgFOzcbB_5oHCcnTR5I5SvmoE-rCVkGoWcREuz2K2GLK4re9E6Yd1eBwEUj_XFXfdLVs-M1KEt3B27IiArCMORSaaoSlNmFtNj9kMmtYq4idM2CFoULLBUtV0r7YYLPHSEzhxGnKIptmtA7Sb__qsx8Le5rGqgsw2-as0eVZvfAhaHcaQu_zu7WybFig0oc0BRXdlr3aToPksRBHbO8QBhlqwCdxqNx6o-PrJK401UAC1A7mqV2LSjaXZn700eOVZmT9q9hOGo-BquV7iqXnH7Pf8xsYRRwRuu2w0lGNdp881BSSJO8JV4ynZtaVIp8C3WUIQjo9keSgXrXrk2LZiftXlBdhTRS2N_cnzBHMlD7MDBHBmnfjE1ssk10L4vdIfOJGwvTa9Fdgh_2qfYCRwSAX5QwKl8gJE7rvcwdCBnKvdLONoZQ5hO9aXW7cE4nonybt0gYv9VFWecjDbtjcTzzF_GD9HtVQdgpJw8wF8zOOwNOnXL2wS-0VYh6dtq12vw7TMbMP1YBf6UdXO9AmmvpuMVcuTmFOiVEmu86qSxiGeglFEzNsjz4a7wePRR115qeXH5G_H2n7nFyV7uKURguDTj-IIweAjv_Lh1A8kbqksdF7Tb8fSQS14DbWyzKCOUUO_x_nsaNvttXAwjC2g-4cgZl25nqLvIFdys2sXi1FyWUXtRy3vxXa_qdLrKLtW31ZFlC-wWVD_Qw0WPe_CUgCHc_Cn7K8MW95NeqgFs51A76Ejz4I3A-0IeVxeml8OVWjD8k72N8dw5mPD5FcPyzOm9ZusQH6af4c2lnB_ad0f5KKVxGH6OUcpREEORtQ7WbpGDjeE7KDBteAG3G5tG8Q2STylUNpfhrJoxoPfrilWTnEhBuREPU9n0FI_n7DVYN_pkPqEhW3aDiBtMndSCY09v1r-zJojuMgOIzIsUFEAKITH2mBEPA9uKG0Iz21W172DgsyYAHnDbm6InXbarkC4h_X7cwDsOeBWDpqy6HIbunE2prmfpZxdeMaO-IhsfPAv8A4UYUN09vzkY5jC1oKGGSBqIt_6DPQ3XSkp_vL-77QCGtT8Izy9De0ms6VvhawUgDrQdP4Q-FuPe4iFD9fh9ttt2X8-nFkVix-gzfuo3AHN5SHnHnxJh3pqCPRuedlbMntWnzvH56eAEji2hL4DBjophWYcJZE6t2knZJ9qRyBnY7_p8jOTy9OrtmHgT_O1atEw-LO1yGQewv2ELe-aK-5LTfLLCYKc8jOiuy15o2vXn7aFAD6Z6PlEkUkGYhMBT63Bmx_CzYkwK444e3l2JeuopMHvNTG0UyuZA8cjY_EkSBB-UcXWMgmNgpxJIs4V3blwNYmtM40RSS-gaNEtWZM2DP4_R-PeMjFkuGbNiOXQFOlNLtAluyrbzSUIP4njVDSydu2KMSyfjk6gN_ic8PzAoaBSVKkmSG9T8uvuvvgwm6_uZSO75vgn7ojYuYLj_aXfBCwkMblIqPCF5hBiXoj_Uu4uI7ocisbJi8Q187Ok770CqhdpRMTvxFhLhCBM3QFI9whGBVhLY_7mENL1px1nKBy2flndWCfsHq9I_zDrP9tjXz6byfQd66ZZoYchJnf2NUvlXrigAJ8PHXGno5ZbfWfKyJYqOzo7IGBHOApYj9UHEO4-kGBh5aQgHAvpVL6LO8kxOZna3kgQ6PkhBIsEugPV5NdFKfeJHj0SRjT7nrlISee5HjEBNwqvQLiaGyIo6Ge4QAE3mv8I4X2eKpXrEDguYvkFGXKVmU9S53w7coRnUU8Z8u93aFZtfWQh5kS857RrmyrWhcC1nGDAkzK2rpYVQOBJdM8GK4VGMCExm3q8cg1zz8J4plLFw5ZpCeuhGjP2wwWxasS2jvfopziEEn-jPvfJAHqP8zZRqr2awntCpGXtdD4bCt9rVzwBFLTcWVItqrsWrRntYH-93mSoFr0vrgo1CtYUyNMJlakWcHB_38ded_31c3vbyhOTlP0CeY_dMfgdngfCmHfZXviPyuNm4Kjug1OO8A_vQFNXpql4PRx_TJjwHFtFV6pUfszLTS6WxRI5lR0kk9rzgk2u4KbFF8jPuaUH-EBjLi_kc7qOCRpMYqsCcfDQ6Z8zz-wnE-_POskBIvQWGiK27ofQPdEHxGMxBXGCJTtw0IWfSYj0vK9ahlhX2a8zrSfzLTrgrNgZXDzy6MFy84v-C8dZWdwrBTlgpXfI2wuSEpOaU7l4Kp7cjHRB23RUlbOWgQKi64qFnhyf2PrqGa6sL-EyH9aDqAbz51kKTIqPdkJG-HjVUIrE6owKSJy3hK0hcZa0X7OlBK2hvBdmPVJE0Nz_kbfMFnRnR-A0rQrEfmcn_7p-RINHeqjC3ByIRq1g0WqmMet28xyBIlgGy2r-G4JFMfQHSZsngFy04s61tjF0dEWU-SRlKrVY_1VGHHcvD-URiUZnMlwf1cDOfztY2Lj2Ja9n-O72N5_iE0xhqtuJKwQ3uPAa1DCvfLhBPpjj9WtXt9rewhuMafmLI2U0bmCZleuPVdxXIw8Ntyeu20e_HyGogD0OSqnizh_RfmVt61ubbgYSt4TZdnr69S9-dYp0JBTG4HnTv-OkQBzPtNAAvF5gSt3n6MRiq0QHAl1BWk_CCdLv2eOVRu_t4It6uvlFA0MW7vjy42PdzNWa9yldLR1PR8UOIVIF0H13szN81AQU6zDUPs3UgJmC4fWSKEylX-c0tjzIjMkHNhb1kqWk8lV7gQaEuUwI2OBUcBAenkuwhfVOdCfADsHJGUIvAFM-sQo6FqH_fWpmq8wgX25U9Uym-OXTT127r9WybhSc-S-gw0Jcs2nSojkRXx7ntPBvELFWr0NzkoTAU7x61iiQeMCyt24oaKaIZxIJrTIUZgkFVTl_Zx7UdYcxa8UBIAH2WSUAu5NTgRGlSTEpwRkLO0_uKtPDudLDDEahUtYeZe_pk-GrQNk3Z3LyBDV-0LBrUaXqD8B0awUk7gThgpY0rWa3DEK9jvNEL9APRE8_5etHQuGdSNbPPN7Vwp_mUJrxz3fWz-qkReKsj9HNp0DKtwYEkYIoRdR_SF9rJN4dT59lXR_jlJcA-jxLbsqdUE8siFw5x7ftTHn3q8wQ0G-LyZdSZrL1GimkquSPNchEUThbVPLB5PdISLvrS1LqBmKIfnbDbCWw7L_qZwo9Kc2Af_4NVbSqTVo2WKZvoSFUqmlbQ0RKjGD2ojlUnT-S4zZGHkGe51Oqr8eb1BFoISAEiQrKnDx2z4YsATJoppaI6NpaiSmXUY2u5Dmtk-wsd1-iRzMgkumPTDAxr5l3dWYocLQHfbMSp7IKmapZOLLTZDb3hRMinjCbK-V5V4t70vYSK2YkSPPOg-u_taPpI1Pgm4zhoog9chkAjYWb3dGzntPKE18c7GWcBMn-Na2xh-iF2EXRcvNmwDGF0R89LomiRHcNeXSltzKpM7neuhqUtcVLW1UR2y6Hw0WyZr4jlzX3olJEXfX0TduoQv5XrZNsd5Eo7f7VOt9Jk6fo9sT0b1vhTjdBSR7NEt-5EDAOBmXCs_jBhaSyvAwjklhJKPObpROvqhyc6uEqIIHUNwxBzPTYHMFA8S8IC_ehDyKwLFJWSdZDdv9Nmtc2Z78angvg2qHn5IYM0qD7un_grE1g43FvBM2ARoVCJXk3fZDO7bi9p5cBjWbUSDanLyDgTqtqPbRGazehRxbfQiSeEfPnVUESRUdH8hWI_LEaWzgoKV5OWwxR5Pnku0rQTC0Rh0GjOYCJWF4IIehYrhNFQhVdGsy15FvxUApzrWCmdn66i6dukzcxrE3pqQTJBnlzmlmIcV05AQx5Op3CA8eTZaAeUYOJuyIZ7ux8BQb6QyO8WDrHnZ6iMMB5KU5vo92H0lg-yXLGoFh_q-OlXmJ2xz7QdfZ6gvOsI3XiqtwvQJZ8PPQ1UJt6Zv_fGXc5BIsRQjGm8v0wZuU_r06XpJpwOjc6AVJrknqWP8S78WVWR1HADxJC7zQ5_JYOCmwGHksXT1EH2-VpcATEiu83_ypPMECtoQmDaHcsVNNf3MOSasEfH2CTEjjpg0LP3to3NmhIYwGM9J7FVJSAE476Sw9MYSIruC7jtl3puHTze9igXxX6K1hvg3L9JCR5kDQQBcwlyU5lmBwlWo3U-IJQ7WphvZIh8JpMz3r7XtTFWttYaaOFWDSphM20XW12Q-j4sDfKEznAonGBy6W08cZAoeTSt4eOqIP1LQBXbUCmKcwj1h56UPwMyoMIhgi-m-TLVGltDGmNXQiSruQ_LAkLqinbT75XqvAgWU2Czt7uShTpz48NPHFZtU9zr34KUZMArZkqj89Em-l1httD1aOyUrsz7DaHRG_DMNU4c5qMkTDJ96EAMqP_kBOFKUCve_MulxpufimJVR3U_r7-CUnzV3fVgsIeMKhkpD3M4xXZNnoM6DQs6Pc4isJjpIutExPe1NeIqqdcBWkmiqIFJ_MO-thPw9KtxrAWhT5G16CcC_PdQnLTzbZLJwKoLAECJ5B3ceq-stFmd1n2d26-bggvAjXtpc9a0OFFV4yjzRkYyyFmPxrTr7kiLscGC5qr9v2jE2sJnjZLEUgwZWDgAfNfqFFMnTuF2n0jWeGECLVTSOkSB9Sb--6SX9lVoJ53I_VaRdUoGOHBXocMypZg-1BLAuCZwT25ds5uhW1rCzcJN0NgBllGklRbGe2bB5493e9y4BBOOgRcovNfGFLCGwJB8XO94Bh0HkLAlB2GZHRwxHdIzhwRXEfxfz6lj0KOmvtcKEQ7TSFsoo_anehLGjcmEHTrJ1CU2h4HE0pf-WfrFPb1hOAGc832L-51ZNiXAdhFivR0vGrVrzWWk1KzD4bboG_IYgZPaNojl2CP1QwJb7ilS9OBG1LHZ1OV16hB2ejcL7gTRbbaJtZDhp0U9YIoKP1Fh5P_9B9CLFLwRm6oDNdRNFnL2JpgUoGosl8szM0f85SCS5rCwgFPZZ_VDjH6lTT7uu6mRlj0tUHOhbP2qy-6zWNHiJuSDyhKgOW4cLRCkr5-mTOlr8BypNGe6gpB1lBlGwQ91G0RyRhXHGhFe74O5a4cfVH-6CnpGe712TuPBIQZ8c_AKgivfUHL_mdFJClKclIM3BgTQR0hkJwIUQulLTR-zsGnRutbHTWFBn0stOVEXXxuwpEKxx4tFfKteD2t_tkpBMdPtQxCMT1g2TyALFgVSmciY-WHcGirQna_sC1kKLI9ux-eKLXyem_OSOPsse-FVykr1xKUqBkErAaCvpzXqMkHDPnd-vwAPAY_Ymp71rNENerROFBnXLvLMwWWh6U6bOV8vaAGW9oAYolyk7xWgr6Qq0X8zfxITWtn3FOt1MukvhgSuZ9wWbypBaJ1TiGNi__f_gvJ6rDqcK5OCHBmmFwSmGbsrvgs7MZWpdq30sYYvTwBqiAJf09ZJD2DFtbaDAN4HZ1Eq7MxTr_R_c0h3_H2cKKdo_LfqU3RCtzBa8y3KlD7HaD6thyGxkIvJ_1u0Hmiern0ZDy1vrBa87qUF0GnogR4uw4BYWCkWJKg8dfDLIELK8MV6ZPLoOCCVNF4Z4gspi7gyRa0Prg4mi9GHyGyBY4sldcrg8SeGmiveTyTC7yTDHkZnrG-1OhLDW0S3eMc-pRPVCKxO15MoFa_iXOC0-shS5BIFRoYcw601RQ3liMfX3ZYToPhi7UtxK0HmjcDAySFD0V5GlVypRkpydgU_UwnfegnjI0odpAxHaDBcGou9jHxqRbQ1pEych0QqfXgXGh2zgGEVmNWdLnepYURUwIqDNXThblk5l6OY12i9MzPIo25QL7LRjjCiBgV0fjASmF769xQyh6RdWF7VITPz-xxahjidKP36Fs4PDXbG-zCr2vAVaVHmnbrIRSHNOG9gXsUo4x0rkJGyfGAQkuR7q1wj4Srr8xgYwdmUY0NUKdL5N5LEzZFw0w1rkWj86AxJ81eoBftfJ4xnRe325fw-x9f0Yp0EIAzHW6whfuo4Mmi8nESDGcF_0n_xes-g73myXWqwOL3Ja0SU77Llo4b0d6niU_iLzLY1B_yhcwB8BcuEfo__0jaA0eAsv6xN2mhV6f1JC2gma7b6q5avcCVMlxDDFLmVNoTXa4XCHYmlleOalhqlMkpY-33m3izBX7CraS39-H5Q0vhJNP9PSy-A1goAB5B8E0YHk9yutXq8fgtv1Pi6kNTgXRAOa_ZMCdron1SFVP-eNc8s8o7rrmOYAcTFWQF6bOxSJOTFdVpoe6VkQBbjEqdwjDhIovCddKL8QXweDWl_pvr_9Tbq_wvKgpbiXlIWoTAjEngGmFImaqRJmeTeAgnC7LFkyiyxMRhNfOOkot-fk7qJDQWFgTi2yHUkpb9QaxxtY7oXCxdY";if(!e)return null;if($n&&$n.sealed===e)return $n;let t=null;try{t=As.parse(JSON.parse(ir(e,sy)))}catch{t=null}return $n={sealed:e,bundle:t},$n}function Ut(){let e=jl();if(!e?.bundle)return null;if(e.runtime===void 0){let t=Date.now();try{e.runtime=Os(e.bundle,{signedAt:t,fetchedAt:t})}catch{e.runtime=null}}return e.runtime}function iy(){let e=jl();return e?.bundle?(e.keys??=new Set(e.bundle.filters.map(t=>le(t.slug))),e.keys):null}function zt(e,t=!1){if(t||!e||e.length===0){let n=iy();return n?new Set(n):null}return new Set(e.map(n=>oy.test(n)?n:le(n)))}var sy,oy,$n,Jt=b(()=>{"use strict";Rs();Ge();wn();sy="tokmizer-default-rules-v1",oy=/^[0-9a-f]{16}$/,$n=null});function ro(e){Hl=e}async function ay(e,t){let n=await xa();if(n.size>0)return Mt(e,n.values(),t,n);let r=Ut();return r?r.selectFor(e,"free",t?[...t]:void 0):null}function dy(e,t,n){let r=gr(e,{...t,keep_failures:!0,fold_passing:!1,mask_abs_paths:!1,transform:void 0,truncate_lines_at:void 0,max_lines:void 0,on_empty:void 0},{verbosity:"normal",smartCode:!1});if(r.trim().length===0)return Ee(e);if(n!=="compact"&&n!=="minimal")return r;let s=r.endsWith(`
72
74
  `)?`
73
- `:"";return cr((s?r.slice(0,-1):r).split(`
75
+ `:"";return mr((s?r.slice(0,-1):r).split(`
74
76
  `)).join(`
75
- `)+s}async function We(e,t,n,r={}){let s=Buffer.byteLength(t,"utf8"),{exitCode:o,yolo:i=!1,resolver:a,...l}=r,u=Fe(cl(e.startsWith("bash-tool: ")?e.slice(11):e)),c=o!=null&&o!==0&&!(o===1&&qg.test(Vs(u)??u)),f=il(a??Pl??Yg),d=null;for(let D of fl(e))if(d=await f(D,n),d)break;!d&&s>=Xg&&!Ws.test(e)&&(d=await f(`bash-tool: ${e}`,n));let p=Tn(e.startsWith("bash-tool: ")?e.slice(11):e),m=d?.slug==="git-log"&&p!=null&&/^git\s+log(?:\s|$)/.test(Fe(p)),k=o==null&&(m?/^(?:fatal|error):/im.test(Re(t)):al(t)),g=d?.transform==="smart-read"&&s<=2048&&(t.endsWith(`
77
+ `)+s}async function We(e,t,n,r={}){let s=Buffer.byteLength(t,"utf8"),{exitCode:o,yolo:i=!1,resolver:a,...l}=r,u=Me(yl(e.startsWith("bash-tool: ")?e.slice(11):e)),c=o!=null&&o!==0&&!(o===1&&ly.test(Ys(u)??u)),f=pl(a??Hl??ay),d=null;for(let M of bl(e))if(d=await f(M,n),d)break;!d&&s>=uy&&!qs.test(e)&&(d=await f(`bash-tool: ${e}`,n));let p=An(e.startsWith("bash-tool: ")?e.slice(11):e),m=d?.slug==="git-log"&&p!=null&&/^git\s+log(?:\s|$)/.test(Me(p)),k=o==null&&(m?/^(?:fatal|error):/im.test(Ee(t)):ml(t)),g=d?.transform==="smart-read"&&s<=2048&&(t.endsWith(`
76
78
  `)?t.slice(0,-1):t).split(`
77
- `).length<=60,T=s<=16384&&p!=null&&/^(?:head|tail)(?:\s|$)|^sed\s+(?:(?:-[Eru]+|--(?:regexp-extended|unbuffered|sandbox))\s+)*(?:-[Enruse]*n[Enruse]*(?:\s|$)|--(?:quiet|silent)(?:\s|$))/.test(Fe(p)),S=d?.transform==="smart-read"&&s<=16384&&(l.verbosity??"normal")==="normal"&&l.smartCode!==!0,O=d?.slug==="read-tool"&&s<ey;if(!i&&(S||O||T||g&&l.smartCode!==!0))return{output:t,filterId:d?.slug??null,rawBytes:s,filteredBytes:s,debugBypass:c||k,droppedTail:null};if(!i&&d&&!d.preserve_exact&&(c||k)&&Rl.test(u)){let D=Ol(t,l.verbosity??"normal"),G=D===null?s:Buffer.byteLength(D,"utf8");if(D!==null&&G<s)return{output:D,filterId:d.slug,rawBytes:s,filteredBytes:G,debugBypass:!0,droppedTail:t,failureSummary:!0}}if(!d||(c||k)&&d.preserve_exact&&!i)return{output:t,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:c||k,...i?{droppedTail:null}:{}};let E=D=>{if(!i)return D.output!==t&&!D.droppedTail?{...D,droppedTail:t}:D;let G=D.filteredBytes>s||s>0&&D.output.length===0?t:D.output,X=!D.debugBypass&&!d?.preserve_exact?Qs(G,"minimal",D.filterId??""):G,ce=qs(X)===X?X:qs(G);return{...D,output:ce,filteredBytes:Buffer.byteLength(ce,"utf8"),droppedTail:null}};if(d.slug==="tsc"&&!c&&!k&&!wl(e)){let D=xl(t);if(D!==null)return E({output:D,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(D,"utf8"),debugBypass:!1,droppedTail:null})}if(c||k){let D=i?dr(t,{...d,keep_failures:!0,transform:void 0,max_lines:void 0,truncate_lines_at:void 0,on_empty:void 0},{verbosity:"minimal",smartCode:!1}):d.strip_on_failure&&!d.preserve_exact?ty(t,d,l.verbosity):d.strip_ansi&&!d.preserve_exact?Re(t):t;!i&&l.verbosity==="minimal"&&d.transform!=="smart-read"&&(D=kl(D)),!i&&d.slug==="pytest"&&(l.verbosity==="compact"||l.verbosity==="minimal")&&/^={3,} test session starts ={3,}\r?$/m.test(D)&&/^={3,} FAILURES ={3,}\r?$/m.test(D)&&(D=D.replace(/^([=_])\1{2,} (.+?) \1{3,}(\r?)$/gm,"$2$3"));let G=!i&&!d.preserve_exact&&s>=Qg?Ma(D.split(`
79
+ `).length<=60,T=s<=16384&&p!=null&&/^(?:head|tail)(?:\s|$)|^sed\s+(?:(?:-[Eru]+|--(?:regexp-extended|unbuffered|sandbox))\s+)*(?:-[Enruse]*n[Enruse]*(?:\s|$)|--(?:quiet|silent)(?:\s|$))/.test(Me(p)),S=d?.transform==="smart-read"&&s<=16384&&(l.verbosity??"normal")==="normal"&&l.smartCode!==!0,O=d?.slug==="read-tool"&&s<fy;if(!i&&(S||O||T||g&&l.smartCode!==!0))return{output:t,filterId:d?.slug??null,rawBytes:s,filteredBytes:s,debugBypass:c||k,droppedTail:null};if(!i&&d&&!d.preserve_exact&&(c||k)&&Nl.test(u)){let M=Ll(t,l.verbosity??"normal"),K=M===null?s:Buffer.byteLength(M,"utf8");if(M!==null&&K<s)return{output:M,filterId:d.slug,rawBytes:s,filteredBytes:K,debugBypass:!0,droppedTail:t,failureSummary:!0}}if(!d||(c||k)&&d.preserve_exact&&!i)return{output:t,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:c||k,...i?{droppedTail:null}:{}};let E=M=>{if(!i)return M.output!==t&&!M.droppedTail?{...M,droppedTail:t}:M;let K=M.filteredBytes>s||s>0&&M.output.length===0?t:M.output,W=!M.debugBypass&&!d?.preserve_exact?to(K,"minimal",M.filterId??""):K,ce=Qs(W)===W?W:Qs(K);return{...M,output:ce,filteredBytes:Buffer.byteLength(ce,"utf8"),droppedTail:null}};if(d.slug==="tsc"&&!c&&!k&&!Al(e)){let M=$l(t);if(M!==null)return E({output:M,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(M,"utf8"),debugBypass:!1,droppedTail:null})}if(c||k){let M=i?gr(t,{...d,keep_failures:!0,transform:void 0,max_lines:void 0,truncate_lines_at:void 0,on_empty:void 0},{verbosity:"minimal",smartCode:!1}):d.strip_on_failure&&!d.preserve_exact?dy(t,d,l.verbosity):d.strip_ansi&&!d.preserve_exact?Ee(t):t;!i&&l.verbosity==="minimal"&&d.transform!=="smart-read"&&(M=Tl(M)),!i&&d.slug==="pytest"&&(l.verbosity==="compact"||l.verbosity==="minimal")&&/^={3,} test session starts ={3,}\r?$/m.test(M)&&/^={3,} FAILURES ={3,}\r?$/m.test(M)&&(M=M.replace(/^([=_])\1{2,} (.+?) \1{3,}(\r?)$/gm,"$2$3"));let K=!i&&!d.preserve_exact&&s>=cy?Ha(M.split(`
78
80
  `)).join(`
79
- `):D,X=G.length<D.length;return E({output:G,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(G,"utf8"),debugBypass:!0,...X?{droppedTail:t}:{}})}let{text:C,droppedTail:P}=Zs(t,d,i?{...l,verbosity:"minimal",...d.transform==="smart-read"?{smartCode:!0}:{}}:l),L=!i&&!d.preserve_exact?Qs(C,l.verbosity,d.slug):C,J=Buffer.byteLength(L,"utf8");return t.trim().length>0&&J>=s?E({output:t,filterId:d.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):E({output:L,filterId:d.slug,rawBytes:s,filteredBytes:J,debugBypass:!1,droppedTail:P})}var Pl,qg,Xg,Qg,ey,An=b(()=>{"use strict";ka();nr();Ks();Gs();ll();Ys();pl();vn();fr();bl();_l();fr();Sl();Cl();Ut();Pl=null;qg=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,Xg=2048,Qg=8192,ey=32*1024});import ny from"node:os";import{join as $n}from"node:path";import{existsSync as ry,statSync as sy,lstatSync as Nl,unlinkSync as oy,mkdirSync as iy,chmodSync as ay}from"node:fs";import{createHash as ly}from"node:crypto";function uy(e){let t=ly("sha256").update(x()).digest("hex").slice(0,8),n=$n(ny.tmpdir(),`tkr-${e}-${t}`),r=$n(n,"d.sock");if(Buffer.byteLength(r)>no)throw new Error("Temporary directory path is too long for IPC");return Dl(n,e),r}function cy(e,t){try{let n=Nl(e);return n.isDirectory()&&n.uid===t&&(n.mode&63)===0}catch{return!1}}function Dl(e,t){iy(e,{recursive:!0,mode:448});let n=Nl(e);if(!n.isDirectory()||n.uid!==t)throw new Error("Unsafe IPC directory");ay(e,448)}function _t(){if(process.platform==="win32")return{path:`\\\\.\\pipe\\tokmizer-${process.env.USERNAME??"tokmizer"}`,isPipe:!0};let e=typeof process.getuid=="function"?process.getuid():0,t=process.env.XDG_RUNTIME_DIR;if(t&&cy(t,e)){let s=$n(t,`tokmizer-${e}.sock`);if(Buffer.byteLength(s)<=no)return{path:s,isPipe:!1}}let n=$n(x(),"run"),r=$n(n,"daemon.sock");return Buffer.byteLength(r)>no?{path:uy(e),isPipe:!1}:(Dl(n,e),{path:r,isPipe:!1})}async function ro(){let{path:e,isPipe:t}=_t();if(t||!ry(e))return;try{if(!sy(e).isSocket())return}catch{return}let n=await import("node:net");if(!await new Promise(s=>{let o=n.createConnection(e),i=a=>{o.removeAllListeners();try{o.destroy()}catch{}s(a)};o.once("connect",()=>i(!0)),o.once("error",a=>{let l=a.code;i(l!=="ECONNREFUSED"&&l!=="ENOENT")}),setTimeout(()=>i(!0),250)}))try{oy(e)}catch{}}var no,rA,so=b(()=>{"use strict";B();no=100;rA=5*6e4});import{readFileSync as fy}from"node:fs";import{join as dy}from"node:path";function we(){try{return fy(dy(x(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var On=b(()=>{"use strict";B()});var Hl=ae((uA,jl)=>{jl.exports=Ll;Ll.sync=my;var Ml=He("fs");function py(e,t){var n=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!n||(n=n.split(";"),n.indexOf("")!==-1))return!0;for(var r=0;r<n.length;r++){var s=n[r].toLowerCase();if(s&&e.substr(-s.length).toLowerCase()===s)return!0}return!1}function Fl(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:py(t,n)}function Ll(e,t,n){Ml.stat(e,function(r,s){n(r,r?!1:Fl(s,e,t))})}function my(e,t){return Fl(Ml.statSync(e),e,t)}});var Zl=ae((cA,Jl)=>{Jl.exports=Ul;Ul.sync=hy;var Bl=He("fs");function Ul(e,t,n){Bl.stat(e,function(r,s){n(r,r?!1:zl(s,t))})}function hy(e,t){return zl(Bl.statSync(e),t)}function zl(e,t){return e.isFile()&&gy(e,t)}function gy(e,t){var n=e.mode,r=e.uid,s=e.gid,o=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),i=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),u=parseInt("001",8),c=a|l,f=n&u||n&l&&s===i||n&a&&r===o||n&c&&o===0;return f}});var Kl=ae((dA,Gl)=>{var fA=He("fs"),kr;process.platform==="win32"||global.TESTING_WINDOWS?kr=Hl():kr=Zl();Gl.exports=oo;oo.sync=yy;function oo(e,t,n){if(typeof t=="function"&&(n=t,t={}),!n){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(r,s){oo(e,t||{},function(o,i){o?s(o):r(i)})})}kr(e,t||{},function(r,s){r&&(r.code==="EACCES"||t&&t.ignoreErrors)&&(r=null,s=!1),n(r,s)})}function yy(e,t){try{return kr.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var eu=ae((pA,Ql)=>{var zt=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Wl=He("path"),by=zt?";":":",Vl=Kl(),Yl=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),ql=(e,t)=>{let n=t.colon||by,r=e.match(/\//)||zt&&e.match(/\\/)?[""]:[...zt?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],s=zt?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=zt?s.split(n):[""];return zt&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:r,pathExt:o,pathExtExe:s}},Xl=(e,t,n)=>{typeof t=="function"&&(n=t,t={}),t||(t={});let{pathEnv:r,pathExt:s,pathExtExe:o}=ql(e,t),i=[],a=u=>new Promise((c,f)=>{if(u===r.length)return t.all&&i.length?c(i):f(Yl(e));let d=r[u],p=/^".*"$/.test(d)?d.slice(1,-1):d,m=Wl.join(p,e),k=!p&&/^\.[\\\/]/.test(e)?e.slice(0,2)+m:m;c(l(k,u,0))}),l=(u,c,f)=>new Promise((d,p)=>{if(f===s.length)return d(a(c+1));let m=s[f];Vl(u+m,{pathExt:o},(k,g)=>{if(!k&&g)if(t.all)i.push(u+m);else return d(u+m);return d(l(u,c,f+1))})});return n?a(0).then(u=>n(null,u),n):a(0)},ky=(e,t)=>{t=t||{};let{pathEnv:n,pathExt:r,pathExtExe:s}=ql(e,t),o=[];for(let i=0;i<n.length;i++){let a=n[i],l=/^".*"$/.test(a)?a.slice(1,-1):a,u=Wl.join(l,e),c=!l&&/^\.[\\\/]/.test(e)?e.slice(0,2)+u:u;for(let f=0;f<r.length;f++){let d=c+r[f];try{if(Vl.sync(d,{pathExt:s}))if(t.all)o.push(d);else return d}catch{}}}if(t.all&&o.length)return o;if(t.nothrow)return null;throw Yl(e)};Ql.exports=Xl;Xl.sync=ky});var nu=ae((mA,io)=>{"use strict";var tu=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};io.exports=tu;io.exports.default=tu});var iu=ae((hA,ou)=>{"use strict";var ru=He("path"),_y=eu(),wy=nu();function su(e,t){let n=e.options.env||process.env,r=process.cwd(),s=e.options.cwd!=null,o=s&&process.chdir!==void 0&&!process.chdir.disabled;if(o)try{process.chdir(e.options.cwd)}catch{}let i;try{i=_y.sync(e.command,{path:n[wy({env:n})],pathExt:t?ru.delimiter:void 0})}catch{}finally{o&&process.chdir(r)}return i&&(i=ru.resolve(s?e.options.cwd:"",i)),i}function xy(e){return su(e)||su(e,!0)}ou.exports=xy});var au=ae((gA,lo)=>{"use strict";var ao=/([()\][%!^"`<>&|;, *?])/g;function Sy(e){return e=e.replace(ao,"^$1"),e}function vy(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(ao,"^$1"),t&&(e=e.replace(ao,"^$1")),e}lo.exports.command=Sy;lo.exports.argument=vy});var uu=ae((yA,lu)=>{"use strict";lu.exports=/^#!(.*)/});var fu=ae((bA,cu)=>{"use strict";var Ey=uu();cu.exports=(e="")=>{let t=e.match(Ey);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),s=n.split("/").pop();return s==="env"?r:r?`${s} ${r}`:s}});var pu=ae((kA,du)=>{"use strict";var uo=He("fs"),Ty=fu();function Ry(e){let n=Buffer.alloc(150),r;try{r=uo.openSync(e,"r"),uo.readSync(r,n,0,150,0),uo.closeSync(r)}catch{}return Ty(n.toString())}du.exports=Ry});var yu=ae((_A,gu)=>{"use strict";var Ay=He("path"),mu=iu(),hu=au(),$y=pu(),Oy=process.platform==="win32",Cy=/\.(?:com|exe)$/i,Iy=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Py(e){e.file=mu(e);let t=e.file&&$y(e.file);return t?(e.args.unshift(e.file),e.command=t,mu(e)):e.file}function Ny(e){if(!Oy)return e;let t=Py(e),n=!Cy.test(t);if(e.options.forceShell||n){let r=Iy.test(t);e.command=Ay.normalize(e.command),e.command=hu.command(e.command),e.args=e.args.map(o=>hu.argument(o,r));let s=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${s}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}function Dy(e,t,n){t&&!Array.isArray(t)&&(n=t,t=null),t=t?t.slice(0):[],n=Object.assign({},n);let r={command:e,args:t,options:n,file:void 0,original:{command:e,args:t}};return n.shell?r:Ny(r)}gu.exports=Dy});var _u=ae((wA,ku)=>{"use strict";var co=process.platform==="win32";function fo(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function My(e,t){if(!co)return;let n=e.emit;e.emit=function(r,s){if(r==="exit"){let o=bu(s,t);if(o)return n.call(e,"error",o)}return n.apply(e,arguments)}}function bu(e,t){return co&&e===1&&!t.file?fo(t.original,"spawn"):null}function Fy(e,t){return co&&e===1&&!t.file?fo(t.original,"spawnSync"):null}ku.exports={hookChildProcess:My,verifyENOENT:bu,verifyENOENTSync:Fy,notFoundError:fo}});var Su=ae((xA,Jt)=>{"use strict";var wu=He("child_process"),po=yu(),mo=_u();function xu(e,t,n){let r=po(e,t,n),s=wu.spawn(r.command,r.args,r.options);return mo.hookChildProcess(s,r),s}function Ly(e,t,n){let r=po(e,t,n),s=wu.spawnSync(r.command,r.args,r.options);return s.error=s.error||mo.verifyENOENTSync(s.status,r),s}Jt.exports=xu;Jt.exports.spawn=xu;Jt.exports.sync=Ly;Jt.exports._parse=po;Jt.exports._enoent=mo});function jy(){let e=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(e)&&e>0?e:6048e5}function _r(e,t=Date.now()){let n=e.lastHeartbeatOkAt;if(typeof n=="number"&&t-n>jy())return!0;if(e.subEndsAt){let r=Date.parse(e.subEndsAt);if(Number.isFinite(r)&&t>r)return!0}return!1}function wr(e,t=Date.now()){return e.plan}var ho=b(()=>{"use strict"});function Cn(e){let t=e;for(let[n,r]of Hy)t=t.replace(n,r);return t}function Jy(e){if(!e.includes("PRIVATE KEY-----"))return e;let t=e.split(`
80
- `),n=[];for(let r of t){if(Uy.test(r)){let s=n.length;for(;s>0&&zy.test(n[s-1]);)s-=1;if(s<n.length){n.length=s,n.push(`${Ae}${r}`);continue}}n.push(r)}return n.join(`
81
- `)}function vu(e){let t=e;for(let[n,r]of By)t=t.replace(n,r);return Jy(t)}var Hy,Ae,By,Uy,zy,xr=b(()=>{"use strict";Hy=[[/(authorization\s*:\s*)([A-Za-z][A-Za-z0-9._-]*)\s+[^\s'"]+/gi,"$1$2 [REDACTED]"],[/(authorization\s*:\s*)[A-Za-z0-9._\-+/=]{8,}/gi,"$1[REDACTED]"],[/(bearer\s+)[A-Za-z0-9._\-+/=]{8,}/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-b|--cookie)[=\s]+['"]?)[^\s'";=]+=[^\s'";]+(?:\s*;\s*[^\s'";=]+=[^\s'";]+)*/gi,"$1[REDACTED]"],[/((?:^|[\s'"])(?:Set-)?Cookie\s*:\s*)[^\s'";=]+=[^\s'";]+(?:\s*;\s*[^\s'";=]+=[^\s'";]+)*/gi,"$1[REDACTED]"],[/(--?(?:password|passwd|passphrase|apipass|pass|pwd|token|api[-_]?key|secret|bearer|cookie|jwt)(?:-[a-z0-9]+)*[=\s]+)\S+/gi,"$1[REDACTED]"],[/((?:^|\s)-b[=\s]?['"]?)[^\s'"=]+=[^\s'"]+/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?[^\s:/'"]*:)(\/[^/\s'"][^\s'"]*|[^\s/'"0-9][^\s'"]*|[0-9][^\s'"]*[^\s'"0-9][^\s'"]*)/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?[^\s:/'"]*[^\s:/'"0-9][^\s:/'"]*:)(?:\/[^/\s'"]|[^\s/'"])[^\s'"]*/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?:)(?:\/[^/\s'"]|[^\s/'"])[^\s'"]*/gi,"$1[REDACTED]"],[/((?:[A-Za-z0-9]+-){0,8}(?:X-Api-Key|Private-Token|[A-Za-z0-9]+-(?:Token|Key|Auth|Secret))\s*:\s*)[^\s'"]+/gi,"$1[REDACTED]"],[/((?:^|[\s'"])(?:Set-)?Cookie\s*:\s*)[^\s'"]+/gi,"$1[REDACTED]"],[/(-i\s+)(\/[^\s]+|~\/[^\s]+|[A-Z]:\\[^\s]+)/g,"$1[REDACTED]"],[/([a-zA-Z][a-zA-Z0-9+.-]{0,31}:\/\/[^:/\s@]*:)[^\s@]+(@[^@/\s]+)/g,"$1[REDACTED]$2"],[/(AWS_(?:ACCESS_KEY_ID|SECRET_ACCESS_KEY|SESSION_TOKEN)\s*=\s*)\S+/g,"$1[REDACTED]"],[/(GOOGLE_APPLICATION_CREDENTIALS\s*=\s*)\S+/g,"$1[REDACTED]"],[/(AZURE_(?:CLIENT_SECRET|TENANT_ID|CLIENT_ID)\s*=\s*)\S+/g,"$1[REDACTED]"],[/(sk-(?:proj-)?[A-Za-z0-9_-]{20,})/g,"sk-[REDACTED]"],[/\b(OPENAI_API_KEY\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(ANTHROPIC_API_KEY\s*=\s*)\S+/g,"$1[REDACTED]"],[/(sk-ant-[A-Za-z0-9_-]{20,})/g,"sk-ant-[REDACTED]"],[/\b(GH(?:_|ITHUB_)?TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(GITLAB_TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(SLACK_(?:BOT_)?TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/(xox[bpsoa]-[A-Za-z0-9-]{10,})/g,"xox[REDACTED]"],[/(xapp-[A-Za-z0-9-]{10,})/g,"[REDACTED]"],[/(sk_(?:test|live)_[A-Za-z0-9]{16,})/g,"sk_[REDACTED]"],[/(gh[a-z])_[A-Za-z0-9]{20,}/g,"$1_[REDACTED]"],[/(github_pat)_[A-Za-z0-9_]{20,}/g,"$1_[REDACTED]"],[/(gl(?:pat|rt|soat|imt|dt|ft|agent|oas|cbt|ptt))-[A-Za-z0-9_-]{16,}/g,"$1-[REDACTED]"],[/(npm_[A-Za-z0-9_-]{20,})/g,"npm_[REDACTED]"],[/(?:AKIA|ASIA|AGPA|AIDA|AROA|ANPA)[0-9A-Z]{16,}/g,"[REDACTED_AWS_KEY]"],[/AIza[A-Za-z0-9_-]{35}/g,"[REDACTED_GOOGLE_KEY]"],[/hv[sb]\.[A-Za-z0-9_-]{20,}/g,"[REDACTED_VAULT_TOKEN]"],[/dop_v1_[A-Za-z0-9]{40,}/g,"[REDACTED]"],[/dckr_pat_[A-Za-z0-9_-]{20,}/g,"[REDACTED]"],[/pypi-[A-Za-z0-9_-]{16,}/g,"[REDACTED]"],[/rk_(?:live|test)_[A-Za-z0-9]{16,}/g,"[REDACTED]"],[/whsec_[A-Za-z0-9]{16,}/g,"[REDACTED]"],[/SG\.[A-Za-z0-9_-]{20,}\.[A-Za-z0-9_-]{20,}/g,"[REDACTED]"],[/(eyJ[A-Za-z0-9_-]{6,}(?:\.[A-Za-z0-9_-]{4,}){1,2})/g,"[REDACTED_JWT]"],[/-----BEGIN [A-Z ]*PRIVATE KEY-----(?:[\s\S]*?-----END[^\n]*-----|\r?\n[A-Za-z0-9+/=][A-Za-z0-9+/=\r\n]*)?/g,"[REDACTED_PEM]"],[/\b((?:--?)?[A-Za-z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|PASS|APIKEY|KEY|CRED|CREDS|CREDENTIAL|CREDENTIALS|AUTH|_PWD)[A-Za-z0-9_]*['"]?\s*=\s*)(?:"[^"]*"|'[^']*'|[^"'\s]\S*)/gi,"$1[REDACTED]"],[/\b([A-Za-z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|PASS|APIKEY|KEY|CRED|CREDS|CREDENTIAL|CREDENTIALS|_PWD)[A-Za-z0-9_]*['"]?\s*:\s*)(?:"[^"]*"|'[^']*'|[^\s'",}]+)/gi,"$1[REDACTED]"],[/((?:^|[\s'"{,])['"]?(?:[A-Za-z0-9_]+_)?auth['"]?\s*:\s*)(?:"[^"]*"|'[^']*'|[^\s'",}]+)/gi,"$1[REDACTED]"],[/(\bpwd\s*[=:]\s*)(?:"[^"]*"|'[^']*'|[^/~\s][^\s;'"]*)/gi,"$1[REDACTED]"],[/([=:]\s*["']?)[A-Za-z0-9_\-+/=]{40,}/g,"$1[REDACTED]"]];Ae="[tkr: secret masked]",By=[[/(-----BEGIN [A-Z0-9 ]*PRIVATE KEY-----)(?:\r?\n(?:[A-Za-z0-9+/=]{16,}|[A-Za-z-]+: [^\r\n]*|\r?(?=\n)))*(?:(?:\r?\n[A-Za-z0-9+/=]{1,15})?\r?\n-----END [A-Z0-9 ]*PRIVATE KEY-----)?/g,`$1${Ae}`],[/(?<![A-Za-z0-9_])(gh[pousr])_[A-Za-z0-9]{36,255}(?![A-Za-z0-9])/g,`$1_${Ae}`],[/(?<![A-Za-z0-9_])github_pat_[A-Za-z0-9_]{22,255}/g,`github_pat_${Ae}`],[/(?<![A-Za-z0-9_])npm_[A-Za-z0-9]{36}(?![A-Za-z0-9])/g,`npm_${Ae}`],[/(?<![A-Z0-9])(AKIA|ASIA)[A-Z0-9]{16}(?![A-Z0-9])/g,`$1${Ae}`],[/(?<![A-Za-z0-9])(xox[abpors]-)[A-Za-z0-9-]{10,}/g,`$1${Ae}`],[/(?<![A-Za-z0-9])((?:sk|rk)_live_)[A-Za-z0-9]{16,}/g,`$1${Ae}`],[/(authorization["']?\s*[:=]\s*["']?bearer\s+)[A-Za-z0-9._~+/=-]{8,}/gi,`$1${Ae}`],[/(?<![A-Za-z0-9+.-])([a-zA-Z][a-zA-Z0-9+.-]{0,31}:\/\/[^\s:/@]*:)[^\s@/]+(@[^\s@/]+)/g,`$1${Ae}$2`]],Uy=/^-----END [A-Z0-9 ]*PRIVATE KEY-----/,zy=/^[A-Za-z0-9+/=]{16,}\r?$/});var Eu=b(()=>{"use strict"});import{createHash as RA,randomUUID as Zy}from"node:crypto";import{readFile as Tu,writeFile as Ru,mkdir as Gy}from"node:fs/promises";async function go(){try{let n=(await Tu(gn(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(n))return n}catch{}await Gy(x(),{recursive:!0});let e=Zy();try{return await Ru(gn(),e,{mode:384,flag:"wx"}),e}catch{try{let t=(await Tu(gn(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(t))return t}catch{}return await Ru(gn(),e,{mode:384}),e}}var yo=b(()=>{"use strict";B()});import{readFile as Ky,writeFile as IA,mkdir as PA,chmod as NA,rm as DA,rename as MA,readdir as FA}from"node:fs/promises";import{join as Wy}from"node:path";async function Le(){let e=null;try{let t=JSON.parse(await Ky(Wy(x(),Vy),"utf8"));typeof t=="object"&&t!==null&&!Array.isArray(t)&&(e=t)}catch{}return e?Pt.parse({...Au,...e}):Au}var Vy,Au,BA,Zt=b(()=>{"use strict";Ge();B();Vy="settings-cache.json",Au=Pt.parse({}),BA=Pt.partial().extend({filters:Pt.shape.filters.removeDefault().partial().optional()})});var $u=b(()=>{"use strict";B();Zt();kn();Dt()});import{join as Ou}from"node:path";import{appendFileSync as Yy,chmodSync as qy,existsSync as Xy,mkdirSync as Qy,readFileSync as e$,renameSync as t$,rmdirSync as n$,statSync as eb,unlinkSync as r$,utimesSync as s$,writeFileSync as o$}from"node:fs";function Cu(){return Ou(x(),"spool")}function nb(e){return Ou(Cu(),`${e}.jsonl`)}function Sr(e,t){if(bn())try{Qy(Cu(),{recursive:!0,mode:448});let n=nb(e);if(Xy(n)&&eb(n).size>=tb)return;Yy(n,JSON.stringify(t)+`
82
- `,{mode:384}),qy(n,384)}catch{return}}var tb,bo=b(()=>{"use strict";Eu();B();yn();yo();xs();Zt();kn();$u();tb=512*1024});function pb(e){if(!/[\\/]/.test(e))return e;let t=e.split(/[\\/]/).filter(r=>r.length>0).pop()??"",n=t.toLowerCase().endsWith(".exe")?t.slice(0,-4):t;return Nu.has(n.toLowerCase())?n:""}function mb(e,t,n){let r=0;for(;e==="git"&&r<n.length&&n[r].startsWith("-");)r+=db.has(n[r])?2:1;let s=(n[r]??"").toLowerCase();return t.has(s)?`${e} ${s}`:e}function Iu(e){let t=e.toLowerCase();return t.startsWith("git")||ab.has(t)}function ko(e){let t=e.trim().split(/\s+/).filter(l=>l.length>0),n=0;for(;n<t.length&&ib.test(t[n]??"");)n+=1;let r=pb(t[n]??"");if(!r||!sb.test(r)||r.length>ub)return"";let s=fb.get(r.toLowerCase());if(s)return mb(r.toLowerCase(),s,t.slice(n+1));if(Iu(r)||lb.test(r)||Cn(r)!==r)return"";let o=t[n+1];return o&&Iu(o)?"":(o&&Pu.has(r.toLowerCase())&&ob.test(o)?`${r} ${o}`:r).slice(0,64)}function hb(e){return cb.has((e.split(" ")[0]??"").toLowerCase())}async function vr(e){if(!e.telemetryOptIn)return;let t=ko(e.cmd),n=t&&Cn(t)===t&&hb(t)?t:"other",r=e.sessionId?e.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";Sr("telemetry",{cmd:n,tokensSaved:Math.max(0,Math.round(e.tokensSaved)),...e.tokensRestored?{tokensRestored:Math.max(0,Math.round(e.tokensRestored))}:{},...e.rawTokens!=null?{rawTokens:Math.max(0,Math.round(e.rawTokens))}:{},optimized:e.optimized,...r?{sessionId:r}:{},...e.host?{host:e.host}:{}})}var sb,ob,ib,ab,lb,ub,Pu,Nu,cb,fb,db,Er=b(()=>{"use strict";xr();bo();sb=/^[a-z0-9][a-z0-9._-]*$/i,ob=/^[a-z][a-z-]+$/,ib=/^[A-Za-z_][A-Za-z0-9_]*=/,ab=new Set(["gh","glab","gup","hub","gist"]),lb=/^(gh[a-z]_|github_pat_|gl(?:pat|rt|soat|imt|dt|ft|agent|oas)-|npm_|xox|sk-|sk_|eyj|a(?:kia|sia|gpa|ida|roa|npa)|aiza|hv[sb]\.)/i,ub=24,Pu=new Set(["docker","podman","npm","pnpm","yarn","npx","bun","deno","cargo","rustup","go","pip","pip3","uv","poetry","brew","apt","apt-get","dnf","yum","pacman","kubectl","helm","terraform","aws","gcloud","az","systemctl","composer","bundle","gem","dotnet","prisma","tkr","rtk","token"]),Nu=new Set([...Pu,"git","gh","node","python","python3","bash","sh","zsh","psql","mysql","sqlite3","java","ruby","perl","rg","fd","jq","make","gradle","mvn","vitest","jest","tsc","esbuild","vite","webpack","playwright","rails","rake"]),cb=new Set([...Nu,"cd","cat","head","tail","ls","tree","find","grep","wc","nl","sort","cut","uniq","tr","diff","stat","file","du","df","ps","yq","pwd","which","echo","printf","seq","sed","awk","gawk","xargs","sleep","tar","zip","unzip","rsync","scp","ssh","curl","wget","dig","host","nslookup","ping","lsof","journalctl","iptables","ip6tables","open","md5","md5sum","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shasum","sudo","env","command","time","nodejs","bunx","pytest","mypy","dmypy","pyright","basedpyright","ruff","black","ty","gradlew","mvnw","mvnd","ninja","cmake","bazel","bazelisk","sbt","gcc","clang","gmake","swift","xcodebuild","pod","flutter","nx","turbo","next","eslint","prettier","biome","oxlint","golangci-lint","shellcheck","hadolint","yamllint","markdownlint","mdl","sqlfluff","rubocop","rspec","bundler","php","artisan","composer","phpunit","phpstan","pest","paratest","pint","mix","javap","jar","docker-compose","skopeo","oc","ecs","nomad","consul","packer","pulumi","tofu","ansible","ansible-playbook","vault","sops","vercel","netlify","wrangler","firebase","supabase","stripe","shopify","theme-check","redis-cli","liquibase","ollama","ast-grep","just","task","mise","trunk","pre-commit","jj","yadm","gt","quarto","act","jira","fail2ban-client","ctest","pio","platformio","reducer","restore","read-tool","grep-tool","glob-tool","bash-tool"]),fb=new Map([["git",new Set(["status","diff","log","show","blame","ls-files","rev-parse","branch","fetch","pull","push","commit","checkout","switch","merge","rebase","stash","tag","remote","add","reset","restore","clean","grep"])],["gh",new Set(["pr","issue","run","repo","api"])]]),db=new Set(["-C","-c"])});async function Tr(e){if(e.plan!=="pro"||ol(e.filterId)||!(await Le()).telemetryOptIn)return;let t=ko(e.cmd);!t||Cn(t)!==t||Sr("learn",{cmd:t,filterId:e.filterId==null?null:le(e.filterId),rawBytes:e.rawBytes,filteredBytes:e.filteredBytes})}var _o=b(()=>{"use strict";Er();xr();bo();Ge();Ks();Zt()});function Du(e){return e?gb[e]??"anthropic":"anthropic"}var gb,Mu=b(()=>{"use strict";gb={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"}});import{appendFileSync as yb,chmodSync as bb,mkdirSync as kb,readFileSync as Bu,realpathSync as _b,renameSync as Uu,rmSync as zu,statSync as Ju,writeFileSync as wo}from"node:fs";import{basename as Fu,dirname as Zu,join as Rr,resolve as wb,sep as R$}from"node:path";function Gu(){return{n:0,nc:0,r:0,f:0,or:0,of:0,x:0,sn:0,sr:0,sf:0,mr:0,mf:0,rn:0,rb:0,tn:0,tr:0,tf:0,ox:0,t0:null,t1:null,cmds:{},prov:{},rl:{},fb:{}}}function Ab(e){let t=e.trim();if(!t)return null;try{let n=JSON.parse(t);return typeof n.t!="number"||!Number.isFinite(n.t)||n.t<0||n.t>864e10||typeof n.r!="number"||!Number.isSafeInteger(n.r)||n.r<0||typeof n.f!="number"||!Number.isSafeInteger(n.f)||n.f<0||n.r+n.f===0?null:{t:n.t,r:n.r,f:n.f,m:n.m===1,...typeof n.h=="string"?{h:n.h}:{},...typeof n.k=="string"?{k:n.k}:{},...typeof n.c=="string"&&n.c?{c:n.c}:{},...typeof n.p=="string"&&n.p?{p:n.p}:{},...typeof n.s=="string"&&n.s?{s:n.s}:{},...typeof n.o=="string"&&Tb.has(n.o)?{o:n.o}:{}}}catch{return null}}function $b(e,t){if(!t.c)return;let n=e.cmds[t.c]??{n:0,nc:0,r:0,f:0,sh:!1};n.n+=1,t.f<t.r&&(n.nc+=1,n.rr=(n.rr??0)+t.r,n.rf=(n.rf??0)+t.f),(t.k==="sh"||t.k==="restore")&&(n.sh=!0),t.h==="shell"&&t.k!=="restore"&&(n.tn=(n.tn??0)+1,n.tr=(n.tr??0)+t.r,n.tf=(n.tf??0)+t.f),n.r+=t.r,n.f+=t.f,e.cmds[t.c]=n}function Ob(e){return e.s==="b"?`b:${(e.c??"").split(" ")[0]||"other"}`:e.s?.startsWith("u:")?e.s:e.o==="n"?"n":"?"}function Cb(e,t){let n=Ob(t),r=e.rl[n]??{n:0,nc:0,r:0,f:0};if(r.n+=1,r.r+=t.r,r.f+=t.f,t.f<t.r&&(r.nc+=1),e.rl[n]=r,t.f>=t.r&&t.o){let s=`${t.o} ${t.c??""}`,o=e.fb[s]??{n:0,r:0};o.n+=1,o.r+=t.r,e.fb[s]=o}}function Ib(e,t){if(t.m){e.mr+=t.r,e.mf+=t.f;return}if(e.t0=e.t0==null?t.t:Math.min(e.t0,t.t),e.t1=e.t1==null?t.t:Math.max(e.t1,t.t),t.k==="sh"&&t.r>Eb){e.ox+=1;return}if($b(e,t),t.k==="restore"?(e.rn+=1,e.rb+=t.f):Cb(e,t),e.n+=1,e.or+=t.r,e.of+=t.f,t.f>t.r&&(e.x+=1),t.h==="shell"&&t.k!=="restore"&&(e.tn+=1,e.tr+=t.r,e.tf+=t.f),t.f<t.r){e.nc+=1,e.r+=t.r,e.f+=t.f,t.k==="sh"&&(e.sn+=1,e.sr+=t.r,e.sf+=t.f);let n=Du(t.h),r=e.prov[n]??{r:0,f:0};r.r+=t.r,r.f+=t.f,e.prov[n]=r}}function Pb(e){let t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function Ku(e){return Rr(Zu(e),Sb)}function Nb(e){let t=Ku(e),n;try{n=Bu(t,"utf8")}catch{return{}}try{let r=JSON.parse(n);if(!r.days||typeof r.days!="object")throw new Error("invalid ledger");let s={};for(let[o,i]of Object.entries(r.days))!/^\d{4}-\d{2}-\d{2}$/.test(o)||!i||typeof i!="object"||(s[o]={...Gu(),...i});return s}catch{try{Uu(t,`${t}.corrupt-${Date.now()}`)}catch{}return{}}}function ju(e,t){let n=`${e}.tmp-${process.pid}`;wo(n,t,{mode:384}),Uu(n,e)}function Db(e){try{return wo(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-Ju(e).mtimeMs<vb?!1:(zu(e,{force:!0}),wo(e,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function Mb(e,t=Lu,n=Lu/2){try{if(Ju(e).size<=t)return}catch{return}let r=`${e}.lock`;if(Db(r))try{let s=Bu(e,"utf8").split(`
83
- `).filter(u=>u.trim()!==""),o=s.length,i=0;for(;o>0;){let u=Buffer.byteLength(s[o-1])+1;if(i+u>n)break;i+=u,o-=1}let a=Nb(e);for(let u of s.slice(0,o)){let c=Ab(u);if(!c)continue;let f=Pb(c.t),d=a[f]??Gu();Ib(d,c),a[f]=d}let l=s.slice(o);ju(e,l.length?`${l.join(`
81
+ `):M,W=K.length<M.length;return E({output:K,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(K,"utf8"),debugBypass:!0,...W?{droppedTail:t}:{}})}let{text:I,droppedTail:N}=Ks(t,d,i?{...l,verbosity:"minimal",...d.transform==="smart-read"?{smartCode:!0}:{}}:l),j=!i&&!d.preserve_exact?to(I,l.verbosity,d.slug):I,z=Buffer.byteLength(j,"utf8");return t.trim().length>0&&z>=s?E({output:t,filterId:d.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):E({output:j,filterId:d.slug,rawBytes:s,filteredBytes:z,debugBypass:!1,droppedTail:N})}var Hl,ly,uy,cy,fy,On=b(()=>{"use strict";Sa();or();Vs();Ws();hl();Xs();_l();Tn();hr();El();Rl();hr();Ol();Fl();Jt();Hl=null;ly=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,uy=2048,cy=8192,fy=32*1024});import py from"node:os";import{join as Cn}from"node:path";import{existsSync as my,statSync as hy,lstatSync as Bl,unlinkSync as gy,mkdirSync as yy,chmodSync as by}from"node:fs";import{createHash as ky}from"node:crypto";function _y(e){let t=ky("sha256").update(x()).digest("hex").slice(0,8),n=Cn(py.tmpdir(),`tkr-${e}-${t}`),r=Cn(n,"d.sock");if(Buffer.byteLength(r)>so)throw new Error("Temporary directory path is too long for IPC");return Ul(n,e),r}function wy(e,t){try{let n=Bl(e);return n.isDirectory()&&n.uid===t&&(n.mode&63)===0}catch{return!1}}function Ul(e,t){yy(e,{recursive:!0,mode:448});let n=Bl(e);if(!n.isDirectory()||n.uid!==t)throw new Error("Unsafe IPC directory");by(e,448)}function xt(){if(process.platform==="win32")return{path:`\\\\.\\pipe\\tokmizer-${process.env.USERNAME??"tokmizer"}`,isPipe:!0};let e=typeof process.getuid=="function"?process.getuid():0,t=process.env.XDG_RUNTIME_DIR;if(t&&wy(t,e)){let s=Cn(t,`tokmizer-${e}.sock`);if(Buffer.byteLength(s)<=so)return{path:s,isPipe:!1}}let n=Cn(x(),"run"),r=Cn(n,"daemon.sock");return Buffer.byteLength(r)>so?{path:_y(e),isPipe:!1}:(Ul(n,e),{path:r,isPipe:!1})}async function oo(){let{path:e,isPipe:t}=xt();if(t||!my(e))return;try{if(!hy(e).isSocket())return}catch{return}let n=await import("node:net");if(!await new Promise(s=>{let o=n.createConnection(e),i=a=>{o.removeAllListeners();try{o.destroy()}catch{}s(a)};o.once("connect",()=>i(!0)),o.once("error",a=>{let l=a.code;i(l!=="ECONNREFUSED"&&l!=="ENOENT")}),setTimeout(()=>i(!0),250)}))try{gy(e)}catch{}}var so,hA,io=b(()=>{"use strict";B();so=100;hA=5*6e4});import{readFileSync as xy}from"node:fs";import{join as Sy}from"node:path";function ke(){try{return xy(Sy(x(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var In=b(()=>{"use strict";B()});var Kl=ae((wA,Gl)=>{Gl.exports=Zl;Zl.sync=Ey;var zl=He("fs");function vy(e,t){var n=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!n||(n=n.split(";"),n.indexOf("")!==-1))return!0;for(var r=0;r<n.length;r++){var s=n[r].toLowerCase();if(s&&e.substr(-s.length).toLowerCase()===s)return!0}return!1}function Jl(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:vy(t,n)}function Zl(e,t,n){zl.stat(e,function(r,s){n(r,r?!1:Jl(s,e,t))})}function Ey(e,t){return Jl(zl.statSync(e),e,t)}});var Xl=ae((xA,Yl)=>{Yl.exports=Vl;Vl.sync=Ty;var Wl=He("fs");function Vl(e,t,n){Wl.stat(e,function(r,s){n(r,r?!1:ql(s,t))})}function Ty(e,t){return ql(Wl.statSync(e),t)}function ql(e,t){return e.isFile()&&Ry(e,t)}function Ry(e,t){var n=e.mode,r=e.uid,s=e.gid,o=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),i=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),u=parseInt("001",8),c=a|l,f=n&u||n&l&&s===i||n&a&&r===o||n&c&&o===0;return f}});var eu=ae((vA,Ql)=>{var SA=He("fs"),Sr;process.platform==="win32"||global.TESTING_WINDOWS?Sr=Kl():Sr=Xl();Ql.exports=ao;ao.sync=Ay;function ao(e,t,n){if(typeof t=="function"&&(n=t,t={}),!n){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(r,s){ao(e,t||{},function(o,i){o?s(o):r(i)})})}Sr(e,t||{},function(r,s){r&&(r.code==="EACCES"||t&&t.ignoreErrors)&&(r=null,s=!1),n(r,s)})}function Ay(e,t){try{return Sr.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var au=ae((EA,iu)=>{var Zt=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",tu=He("path"),$y=Zt?";":":",nu=eu(),ru=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),su=(e,t)=>{let n=t.colon||$y,r=e.match(/\//)||Zt&&e.match(/\\/)?[""]:[...Zt?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],s=Zt?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=Zt?s.split(n):[""];return Zt&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:r,pathExt:o,pathExtExe:s}},ou=(e,t,n)=>{typeof t=="function"&&(n=t,t={}),t||(t={});let{pathEnv:r,pathExt:s,pathExtExe:o}=su(e,t),i=[],a=u=>new Promise((c,f)=>{if(u===r.length)return t.all&&i.length?c(i):f(ru(e));let d=r[u],p=/^".*"$/.test(d)?d.slice(1,-1):d,m=tu.join(p,e),k=!p&&/^\.[\\\/]/.test(e)?e.slice(0,2)+m:m;c(l(k,u,0))}),l=(u,c,f)=>new Promise((d,p)=>{if(f===s.length)return d(a(c+1));let m=s[f];nu(u+m,{pathExt:o},(k,g)=>{if(!k&&g)if(t.all)i.push(u+m);else return d(u+m);return d(l(u,c,f+1))})});return n?a(0).then(u=>n(null,u),n):a(0)},Oy=(e,t)=>{t=t||{};let{pathEnv:n,pathExt:r,pathExtExe:s}=su(e,t),o=[];for(let i=0;i<n.length;i++){let a=n[i],l=/^".*"$/.test(a)?a.slice(1,-1):a,u=tu.join(l,e),c=!l&&/^\.[\\\/]/.test(e)?e.slice(0,2)+u:u;for(let f=0;f<r.length;f++){let d=c+r[f];try{if(nu.sync(d,{pathExt:s}))if(t.all)o.push(d);else return d}catch{}}}if(t.all&&o.length)return o;if(t.nothrow)return null;throw ru(e)};iu.exports=ou;ou.sync=Oy});var uu=ae((TA,lo)=>{"use strict";var lu=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};lo.exports=lu;lo.exports.default=lu});var pu=ae((RA,du)=>{"use strict";var cu=He("path"),Cy=au(),Iy=uu();function fu(e,t){let n=e.options.env||process.env,r=process.cwd(),s=e.options.cwd!=null,o=s&&process.chdir!==void 0&&!process.chdir.disabled;if(o)try{process.chdir(e.options.cwd)}catch{}let i;try{i=Cy.sync(e.command,{path:n[Iy({env:n})],pathExt:t?cu.delimiter:void 0})}catch{}finally{o&&process.chdir(r)}return i&&(i=cu.resolve(s?e.options.cwd:"",i)),i}function Py(e){return fu(e)||fu(e,!0)}du.exports=Py});var mu=ae((AA,co)=>{"use strict";var uo=/([()\][%!^"`<>&|;, *?])/g;function Ny(e){return e=e.replace(uo,"^$1"),e}function Dy(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(uo,"^$1"),t&&(e=e.replace(uo,"^$1")),e}co.exports.command=Ny;co.exports.argument=Dy});var gu=ae(($A,hu)=>{"use strict";hu.exports=/^#!(.*)/});var bu=ae((OA,yu)=>{"use strict";var My=gu();yu.exports=(e="")=>{let t=e.match(My);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),s=n.split("/").pop();return s==="env"?r:r?`${s} ${r}`:s}});var _u=ae((CA,ku)=>{"use strict";var fo=He("fs"),Ly=bu();function Fy(e){let n=Buffer.alloc(150),r;try{r=fo.openSync(e,"r"),fo.readSync(r,n,0,150,0),fo.closeSync(r)}catch{}return Ly(n.toString())}ku.exports=Fy});var vu=ae((IA,Su)=>{"use strict";var jy=He("path"),wu=pu(),xu=mu(),Hy=_u(),By=process.platform==="win32",Uy=/\.(?:com|exe)$/i,zy=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Jy(e){e.file=wu(e);let t=e.file&&Hy(e.file);return t?(e.args.unshift(e.file),e.command=t,wu(e)):e.file}function Zy(e){if(!By)return e;let t=Jy(e),n=!Uy.test(t);if(e.options.forceShell||n){let r=zy.test(t);e.command=jy.normalize(e.command),e.command=xu.command(e.command),e.args=e.args.map(o=>xu.argument(o,r));let s=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${s}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}function Gy(e,t,n){t&&!Array.isArray(t)&&(n=t,t=null),t=t?t.slice(0):[],n=Object.assign({},n);let r={command:e,args:t,options:n,file:void 0,original:{command:e,args:t}};return n.shell?r:Zy(r)}Su.exports=Gy});var Ru=ae((PA,Tu)=>{"use strict";var po=process.platform==="win32";function mo(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function Ky(e,t){if(!po)return;let n=e.emit;e.emit=function(r,s){if(r==="exit"){let o=Eu(s,t);if(o)return n.call(e,"error",o)}return n.apply(e,arguments)}}function Eu(e,t){return po&&e===1&&!t.file?mo(t.original,"spawn"):null}function Wy(e,t){return po&&e===1&&!t.file?mo(t.original,"spawnSync"):null}Tu.exports={hookChildProcess:Ky,verifyENOENT:Eu,verifyENOENTSync:Wy,notFoundError:mo}});var Ou=ae((NA,Gt)=>{"use strict";var Au=He("child_process"),ho=vu(),go=Ru();function $u(e,t,n){let r=ho(e,t,n),s=Au.spawn(r.command,r.args,r.options);return go.hookChildProcess(s,r),s}function Vy(e,t,n){let r=ho(e,t,n),s=Au.spawnSync(r.command,r.args,r.options);return s.error=s.error||go.verifyENOENTSync(s.status,r),s}Gt.exports=$u;Gt.exports.spawn=$u;Gt.exports.sync=Vy;Gt.exports._parse=ho;Gt.exports._enoent=go});function qy(){let e=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(e)&&e>0?e:6048e5}function vr(e,t=Date.now()){let n=e.lastHeartbeatOkAt;if(typeof n=="number"&&t-n>qy())return!0;if(e.subEndsAt){let r=Date.parse(e.subEndsAt);if(Number.isFinite(r)&&t>r)return!0}return!1}function Er(e,t=Date.now()){return e.plan}var yo=b(()=>{"use strict"});function Pn(e){let t=e;for(let[n,r]of Yy)t=t.replace(n,r);return t}function tb(e){if(!e.includes("PRIVATE KEY-----"))return e;let t=e.split(`
82
+ `),n=[];for(let r of t){if(Qy.test(r)){let s=n.length;for(;s>0&&eb.test(n[s-1]);)s-=1;if(s<n.length){n.length=s,n.push(`${Te}${r}`);continue}}n.push(r)}return n.join(`
83
+ `)}function Cu(e){let t=e;for(let[n,r]of Xy)t=t.replace(n,r);return tb(t)}var Yy,Te,Xy,Qy,eb,Tr=b(()=>{"use strict";Yy=[[/(authorization\s*:\s*)([A-Za-z][A-Za-z0-9._-]*)\s+[^\s'"]+/gi,"$1$2 [REDACTED]"],[/(authorization\s*:\s*)[A-Za-z0-9._\-+/=]{8,}/gi,"$1[REDACTED]"],[/(bearer\s+)[A-Za-z0-9._\-+/=]{8,}/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-b|--cookie)[=\s]+['"]?)[^\s'";=]+=[^\s'";]+(?:\s*;\s*[^\s'";=]+=[^\s'";]+)*/gi,"$1[REDACTED]"],[/((?:^|[\s'"])(?:Set-)?Cookie\s*:\s*)[^\s'";=]+=[^\s'";]+(?:\s*;\s*[^\s'";=]+=[^\s'";]+)*/gi,"$1[REDACTED]"],[/(--?(?:password|passwd|passphrase|apipass|pass|pwd|token|api[-_]?key|secret|bearer|cookie|jwt)(?:-[a-z0-9]+)*[=\s]+)\S+/gi,"$1[REDACTED]"],[/((?:^|\s)-b[=\s]?['"]?)[^\s'"=]+=[^\s'"]+/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?[^\s:/'"]*:)(\/[^/\s'"][^\s'"]*|[^\s/'"0-9][^\s'"]*|[0-9][^\s'"]*[^\s'"0-9][^\s'"]*)/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?[^\s:/'"]*[^\s:/'"0-9][^\s:/'"]*:)(?:\/[^/\s'"]|[^\s/'"])[^\s'"]*/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?:)(?:\/[^/\s'"]|[^\s/'"])[^\s'"]*/gi,"$1[REDACTED]"],[/((?:[A-Za-z0-9]+-){0,8}(?:X-Api-Key|Private-Token|[A-Za-z0-9]+-(?:Token|Key|Auth|Secret))\s*:\s*)[^\s'"]+/gi,"$1[REDACTED]"],[/((?:^|[\s'"])(?:Set-)?Cookie\s*:\s*)[^\s'"]+/gi,"$1[REDACTED]"],[/(-i\s+)(\/[^\s]+|~\/[^\s]+|[A-Z]:\\[^\s]+)/g,"$1[REDACTED]"],[/([a-zA-Z][a-zA-Z0-9+.-]{0,31}:\/\/[^:/\s@]*:)[^\s@]+(@[^@/\s]+)/g,"$1[REDACTED]$2"],[/(AWS_(?:ACCESS_KEY_ID|SECRET_ACCESS_KEY|SESSION_TOKEN)\s*=\s*)\S+/g,"$1[REDACTED]"],[/(GOOGLE_APPLICATION_CREDENTIALS\s*=\s*)\S+/g,"$1[REDACTED]"],[/(AZURE_(?:CLIENT_SECRET|TENANT_ID|CLIENT_ID)\s*=\s*)\S+/g,"$1[REDACTED]"],[/(sk-(?:proj-)?[A-Za-z0-9_-]{20,})/g,"sk-[REDACTED]"],[/\b(OPENAI_API_KEY\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(ANTHROPIC_API_KEY\s*=\s*)\S+/g,"$1[REDACTED]"],[/(sk-ant-[A-Za-z0-9_-]{20,})/g,"sk-ant-[REDACTED]"],[/\b(GH(?:_|ITHUB_)?TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(GITLAB_TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(SLACK_(?:BOT_)?TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/(xox[bpsoa]-[A-Za-z0-9-]{10,})/g,"xox[REDACTED]"],[/(xapp-[A-Za-z0-9-]{10,})/g,"[REDACTED]"],[/(sk_(?:test|live)_[A-Za-z0-9]{16,})/g,"sk_[REDACTED]"],[/(gh[a-z])_[A-Za-z0-9]{20,}/g,"$1_[REDACTED]"],[/(github_pat)_[A-Za-z0-9_]{20,}/g,"$1_[REDACTED]"],[/(gl(?:pat|rt|soat|imt|dt|ft|agent|oas|cbt|ptt))-[A-Za-z0-9_-]{16,}/g,"$1-[REDACTED]"],[/(npm_[A-Za-z0-9_-]{20,})/g,"npm_[REDACTED]"],[/(?:AKIA|ASIA|AGPA|AIDA|AROA|ANPA)[0-9A-Z]{16,}/g,"[REDACTED_AWS_KEY]"],[/AIza[A-Za-z0-9_-]{35}/g,"[REDACTED_GOOGLE_KEY]"],[/hv[sb]\.[A-Za-z0-9_-]{20,}/g,"[REDACTED_VAULT_TOKEN]"],[/dop_v1_[A-Za-z0-9]{40,}/g,"[REDACTED]"],[/dckr_pat_[A-Za-z0-9_-]{20,}/g,"[REDACTED]"],[/pypi-[A-Za-z0-9_-]{16,}/g,"[REDACTED]"],[/rk_(?:live|test)_[A-Za-z0-9]{16,}/g,"[REDACTED]"],[/whsec_[A-Za-z0-9]{16,}/g,"[REDACTED]"],[/SG\.[A-Za-z0-9_-]{20,}\.[A-Za-z0-9_-]{20,}/g,"[REDACTED]"],[/(eyJ[A-Za-z0-9_-]{6,}(?:\.[A-Za-z0-9_-]{4,}){1,2})/g,"[REDACTED_JWT]"],[/-----BEGIN [A-Z ]*PRIVATE KEY-----(?:[\s\S]*?-----END[^\n]*-----|\r?\n[A-Za-z0-9+/=][A-Za-z0-9+/=\r\n]*)?/g,"[REDACTED_PEM]"],[/\b((?:--?)?[A-Za-z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|PASS|APIKEY|KEY|CRED|CREDS|CREDENTIAL|CREDENTIALS|AUTH|_PWD)[A-Za-z0-9_]*['"]?\s*=\s*)(?:"[^"]*"|'[^']*'|[^"'\s]\S*)/gi,"$1[REDACTED]"],[/\b([A-Za-z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|PASS|APIKEY|KEY|CRED|CREDS|CREDENTIAL|CREDENTIALS|_PWD)[A-Za-z0-9_]*['"]?\s*:\s*)(?:"[^"]*"|'[^']*'|[^\s'",}]+)/gi,"$1[REDACTED]"],[/((?:^|[\s'"{,])['"]?(?:[A-Za-z0-9_]+_)?auth['"]?\s*:\s*)(?:"[^"]*"|'[^']*'|[^\s'",}]+)/gi,"$1[REDACTED]"],[/(\bpwd\s*[=:]\s*)(?:"[^"]*"|'[^']*'|[^/~\s][^\s;'"]*)/gi,"$1[REDACTED]"],[/([=:]\s*["']?)[A-Za-z0-9_\-+/=]{40,}/g,"$1[REDACTED]"]];Te="[tkr: secret masked]",Xy=[[/(-----BEGIN [A-Z0-9 ]*PRIVATE KEY-----)(?:\r?\n(?:[A-Za-z0-9+/=]{16,}|[A-Za-z-]+: [^\r\n]*|\r?(?=\n)))*(?:(?:\r?\n[A-Za-z0-9+/=]{1,15})?\r?\n-----END [A-Z0-9 ]*PRIVATE KEY-----)?/g,`$1${Te}`],[/(?<![A-Za-z0-9_])(gh[pousr])_[A-Za-z0-9]{36,255}(?![A-Za-z0-9])/g,`$1_${Te}`],[/(?<![A-Za-z0-9_])github_pat_[A-Za-z0-9_]{22,255}/g,`github_pat_${Te}`],[/(?<![A-Za-z0-9_])npm_[A-Za-z0-9]{36}(?![A-Za-z0-9])/g,`npm_${Te}`],[/(?<![A-Z0-9])(AKIA|ASIA)[A-Z0-9]{16}(?![A-Z0-9])/g,`$1${Te}`],[/(?<![A-Za-z0-9])(xox[abpors]-)[A-Za-z0-9-]{10,}/g,`$1${Te}`],[/(?<![A-Za-z0-9])((?:sk|rk)_live_)[A-Za-z0-9]{16,}/g,`$1${Te}`],[/(authorization["']?\s*[:=]\s*["']?bearer\s+)[A-Za-z0-9._~+/=-]{8,}/gi,`$1${Te}`],[/(?<![A-Za-z0-9+.-])([a-zA-Z][a-zA-Z0-9+.-]{0,31}:\/\/[^\s:/@]*:)[^\s@/]+(@[^\s@/]+)/g,`$1${Te}$2`]],Qy=/^-----END [A-Z0-9 ]*PRIVATE KEY-----/,eb=/^[A-Za-z0-9+/=]{16,}\r?$/});var Iu=b(()=>{"use strict"});import{createHash as jA,createHmac as HA,randomUUID as nb}from"node:crypto";import{readFile as Pu,writeFile as Nu,mkdir as rb}from"node:fs/promises";async function bo(){try{let n=(await Pu(yn(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(n))return n}catch{}await rb(x(),{recursive:!0});let e=nb();try{return await Nu(yn(),e,{mode:384,flag:"wx"}),e}catch{try{let t=(await Pu(yn(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(t))return t}catch{}return await Nu(yn(),e,{mode:384}),e}}var ko=b(()=>{"use strict";B()});import{readFile as sb,writeFile as ZA,mkdir as GA,chmod as KA,rm as WA,rename as VA,readdir as qA}from"node:fs/promises";import{join as ob}from"node:path";async function Le(){let e=null;try{let t=JSON.parse(await sb(ob(x(),ib),"utf8"));typeof t=="object"&&t!==null&&!Array.isArray(t)&&(e=t)}catch{}return e?Dt.parse({...Du,...e}):Du}var ib,Du,e$,Kt=b(()=>{"use strict";Ge();B();ib="settings-cache.json",Du=Dt.parse({}),e$=Dt.partial().extend({filters:Dt.shape.filters.removeDefault().partial().optional()})});var Mu=b(()=>{"use strict";B();Kt();_n();Lt()});import{join as Lu}from"node:path";import{appendFileSync as ab,chmodSync as lb,existsSync as ub,mkdirSync as cb,readFileSync as p$,renameSync as m$,rmdirSync as h$,statSync as fb,unlinkSync as g$,utimesSync as y$,writeFileSync as b$}from"node:fs";function Fu(){return Lu(x(),"spool")}function pb(e){return Lu(Fu(),`${e}.jsonl`)}function Rr(e,t){if(kn())try{cb(Fu(),{recursive:!0,mode:448});let n=pb(e);if(ub(n)&&fb(n).size>=db)return;ab(n,JSON.stringify(t)+`
84
+ `,{mode:384}),lb(n,384)}catch{return}}var db,_o=b(()=>{"use strict";Iu();B();bn();ko();Ts();Kt();_n();Mu();db=512*1024});function vb(e){if(!/[\\/]/.test(e))return e;let t=e.split(/[\\/]/).filter(r=>r.length>0).pop()??"",n=t.toLowerCase().endsWith(".exe")?t.slice(0,-4):t;return Bu.has(n.toLowerCase())?n:""}function Eb(e,t,n){let r=0;for(;e==="git"&&r<n.length&&n[r].startsWith("-");)r+=Sb.has(n[r])?2:1;let s=(n[r]??"").toLowerCase();return t.has(s)?`${e} ${s}`:e}function ju(e){let t=e.toLowerCase();return t.startsWith("git")||bb.has(t)}function wo(e){let t=e.trim().split(/\s+/).filter(l=>l.length>0),n=0;for(;n<t.length&&yb.test(t[n]??"");)n+=1;let r=vb(t[n]??"");if(!r||!hb.test(r)||r.length>_b)return"";let s=xb.get(r.toLowerCase());if(s)return Eb(r.toLowerCase(),s,t.slice(n+1));if(ju(r)||kb.test(r)||Pn(r)!==r)return"";let o=t[n+1];return o&&ju(o)?"":(o&&Hu.has(r.toLowerCase())&&gb.test(o)?`${r} ${o}`:r).slice(0,64)}function Tb(e){return wb.has((e.split(" ")[0]??"").toLowerCase())}async function Ar(e){if(!e.telemetryOptIn)return;let t=wo(e.cmd),n=t&&Pn(t)===t&&Tb(t)?t:"other",r=e.sessionId?e.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";Rr("telemetry",{cmd:n,tokensSaved:Math.max(0,Math.round(e.tokensSaved)),...e.tokensRestored?{tokensRestored:Math.max(0,Math.round(e.tokensRestored))}:{},...e.rawTokens!=null?{rawTokens:Math.max(0,Math.round(e.rawTokens))}:{},optimized:e.optimized,...r?{sessionId:r}:{},...e.host?{host:e.host}:{}})}var hb,gb,yb,bb,kb,_b,Hu,Bu,wb,xb,Sb,$r=b(()=>{"use strict";Tr();_o();hb=/^[a-z0-9][a-z0-9._-]*$/i,gb=/^[a-z][a-z-]+$/,yb=/^[A-Za-z_][A-Za-z0-9_]*=/,bb=new Set(["gh","glab","gup","hub","gist"]),kb=/^(gh[a-z]_|github_pat_|gl(?:pat|rt|soat|imt|dt|ft|agent|oas)-|npm_|xox|sk-|sk_|eyj|a(?:kia|sia|gpa|ida|roa|npa)|aiza|hv[sb]\.)/i,_b=24,Hu=new Set(["docker","podman","npm","pnpm","yarn","npx","bun","deno","cargo","rustup","go","pip","pip3","uv","poetry","brew","apt","apt-get","dnf","yum","pacman","kubectl","helm","terraform","aws","gcloud","az","systemctl","composer","bundle","gem","dotnet","prisma","tkr","rtk","token"]),Bu=new Set([...Hu,"git","gh","node","python","python3","bash","sh","zsh","psql","mysql","sqlite3","java","ruby","perl","rg","fd","jq","make","gradle","mvn","vitest","jest","tsc","esbuild","vite","webpack","playwright","rails","rake"]),wb=new Set([...Bu,"cd","cat","head","tail","ls","tree","find","grep","wc","nl","sort","cut","uniq","tr","diff","stat","file","du","df","ps","yq","pwd","which","echo","printf","seq","sed","awk","gawk","xargs","sleep","tar","zip","unzip","rsync","scp","ssh","curl","wget","dig","host","nslookup","ping","lsof","journalctl","iptables","ip6tables","open","md5","md5sum","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shasum","sudo","env","command","time","nodejs","bunx","pytest","mypy","dmypy","pyright","basedpyright","ruff","black","ty","gradlew","mvnw","mvnd","ninja","cmake","bazel","bazelisk","sbt","gcc","clang","gmake","swift","xcodebuild","pod","flutter","nx","turbo","next","eslint","prettier","biome","oxlint","golangci-lint","shellcheck","hadolint","yamllint","markdownlint","mdl","sqlfluff","rubocop","rspec","bundler","php","artisan","composer","phpunit","phpstan","pest","paratest","pint","mix","javap","jar","docker-compose","skopeo","oc","ecs","nomad","consul","packer","pulumi","tofu","ansible","ansible-playbook","vault","sops","vercel","netlify","wrangler","firebase","supabase","stripe","shopify","theme-check","redis-cli","liquibase","ollama","ast-grep","just","task","mise","trunk","pre-commit","jj","yadm","gt","quarto","act","jira","fail2ban-client","ctest","pio","platformio","reducer","restore","read-tool","grep-tool","glob-tool","bash-tool"]),xb=new Map([["git",new Set(["status","diff","log","show","blame","ls-files","rev-parse","branch","fetch","pull","push","commit","checkout","switch","merge","rebase","stash","tag","remote","add","reset","restore","clean","grep"])],["gh",new Set(["pr","issue","run","repo","api"])]]),Sb=new Set(["-C","-c"])});async function Or(e){if(e.plan!=="pro"||dl(e.filterId)||!(await Le()).telemetryOptIn)return;let t=wo(e.cmd);!t||Pn(t)!==t||Rr("learn",{cmd:t,filterId:e.filterId==null?null:le(e.filterId),rawBytes:e.rawBytes,filteredBytes:e.filteredBytes})}var xo=b(()=>{"use strict";$r();Tr();_o();Ge();Vs();Kt()});function Uu(e){return e?Rb[e]??"anthropic":"anthropic"}var Rb,zu=b(()=>{"use strict";Rb={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"}});import{appendFileSync as Ab,chmodSync as $b,mkdirSync as Ob,readFileSync as Wu,realpathSync as Cb,renameSync as Vu,rmSync as qu,statSync as Yu,writeFileSync as So}from"node:fs";import{basename as Ju,dirname as Xu,join as Cr,resolve as Ib,sep as H$}from"node:path";function Qu(){return{n:0,nc:0,r:0,f:0,or:0,of:0,x:0,sn:0,sr:0,sf:0,mr:0,mf:0,rn:0,rb:0,tn:0,tr:0,tf:0,ox:0,t0:null,t1:null,cmds:{},prov:{},rl:{},fb:{}}}function jb(e){let t=e.trim();if(!t)return null;try{let n=JSON.parse(t);return typeof n.t!="number"||!Number.isFinite(n.t)||n.t<0||n.t>864e10||typeof n.r!="number"||!Number.isSafeInteger(n.r)||n.r<0||typeof n.f!="number"||!Number.isSafeInteger(n.f)||n.f<0||n.r+n.f===0?null:{t:n.t,r:n.r,f:n.f,m:n.m===1,...typeof n.h=="string"?{h:n.h}:{},...typeof n.k=="string"?{k:n.k}:{},...typeof n.c=="string"&&n.c?{c:n.c}:{},...typeof n.p=="string"&&n.p?{p:n.p}:{},...typeof n.s=="string"&&n.s?{s:n.s}:{},...typeof n.o=="string"&&Lb.has(n.o)?{o:n.o}:{}}}catch{return null}}function Hb(e,t){if(!t.c)return;let n=e.cmds[t.c]??{n:0,nc:0,r:0,f:0,sh:!1};n.n+=1,t.f<t.r&&(n.nc+=1,n.rr=(n.rr??0)+t.r,n.rf=(n.rf??0)+t.f),(t.k==="sh"||t.k==="restore")&&(n.sh=!0),t.h==="shell"&&t.k!=="restore"&&(n.tn=(n.tn??0)+1,n.tr=(n.tr??0)+t.r,n.tf=(n.tf??0)+t.f),n.r+=t.r,n.f+=t.f,e.cmds[t.c]=n}function Bb(e){return e.s==="b"?`b:${(e.c??"").split(" ")[0]||"other"}`:e.s?.startsWith("u:")?e.s:e.o==="n"?"n":"?"}function Ub(e,t){let n=Bb(t),r=e.rl[n]??{n:0,nc:0,r:0,f:0};if(r.n+=1,r.r+=t.r,r.f+=t.f,t.f<t.r&&(r.nc+=1),e.rl[n]=r,t.f>=t.r&&t.o){let s=`${t.o} ${t.c??""}`,o=e.fb[s]??{n:0,r:0};o.n+=1,o.r+=t.r,e.fb[s]=o}}function zb(e,t){if(t.m){e.mr+=t.r,e.mf+=t.f;return}if(e.t0=e.t0==null?t.t:Math.min(e.t0,t.t),e.t1=e.t1==null?t.t:Math.max(e.t1,t.t),t.k==="sh"&&t.r>Mb){e.ox+=1;return}if(Hb(e,t),t.k==="restore"?(e.rn+=1,e.rb+=t.f):Ub(e,t),e.n+=1,e.or+=t.r,e.of+=t.f,t.f>t.r&&(e.x+=1),t.h==="shell"&&t.k!=="restore"&&(e.tn+=1,e.tr+=t.r,e.tf+=t.f),t.f<t.r){e.nc+=1,e.r+=t.r,e.f+=t.f,t.k==="sh"&&(e.sn+=1,e.sr+=t.r,e.sf+=t.f);let n=Uu(t.h),r=e.prov[n]??{r:0,f:0};r.r+=t.r,r.f+=t.f,e.prov[n]=r}}function Jb(e){let t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function ec(e){return Cr(Xu(e),Nb)}function Zb(e){let t=ec(e),n;try{n=Wu(t,"utf8")}catch{return{}}try{let r=JSON.parse(n);if(!r.days||typeof r.days!="object")throw new Error("invalid ledger");let s={};for(let[o,i]of Object.entries(r.days))!/^\d{4}-\d{2}-\d{2}$/.test(o)||!i||typeof i!="object"||(s[o]={...Qu(),...i});return s}catch{try{Vu(t,`${t}.corrupt-${Date.now()}`)}catch{}return{}}}function Gu(e,t){let n=`${e}.tmp-${process.pid}`;So(n,t,{mode:384}),Vu(n,e)}function Gb(e){try{return So(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-Yu(e).mtimeMs<Db?!1:(qu(e,{force:!0}),So(e,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function Kb(e,t=Zu,n=Zu/2){try{if(Yu(e).size<=t)return}catch{return}let r=`${e}.lock`;if(Gb(r))try{let s=Wu(e,"utf8").split(`
85
+ `).filter(u=>u.trim()!==""),o=s.length,i=0;for(;o>0;){let u=Buffer.byteLength(s[o-1])+1;if(i+u>n)break;i+=u,o-=1}let a=Zb(e);for(let u of s.slice(0,o)){let c=jb(u);if(!c)continue;let f=Jb(c.t),d=a[f]??Qu();zb(d,c),a[f]=d}let l=s.slice(o);Gu(e,l.length?`${l.join(`
84
86
  `)}
85
- `:""),ju(Ku(e),JSON.stringify({v:1,days:a}))}catch{return}finally{zu(r,{force:!0})}}function Fb(e){let t=wb(e),n=t,r="";for(;;){try{return Rr(_b(n),r)}catch{}let s=Zu(n);if(s===n)return t;r=r?Rr(Fu(n),r):Fu(n),n=s}}function Hu(e){return e.length===0||e[0]==="cd"||e.every(t=>Wu.test(t))}function Ub(e){let t=[],n="",r=!1,s=null,o=()=>{r&&t.push(n),n="",r=!1};for(let i of e){if(s){i===s?s=null:n+=i;continue}if(i==="'"||i==='"'){s=i,r=!0;continue}if(i===" "||i===" "){o();continue}if(`|;&<>
86
- `.includes(i)){if(o(),Hu(t)){t=[];continue}return t}n+=i,r=!0}return o(),Hu(t)?[]:t}function wt(e){let t=Ub(e).map(a=>a.replace(/^[({]+/,"")).filter(Boolean),n=0;for(;n<t.length;){let a=t[n];if(Wu.test(a)){n+=1;continue}if(Lb.has(a)){for(n+=1;n<t.length;){let l=t[n];if(l.startsWith("-")){n+=jb.has(l)?2:1;continue}if(/^\d+(?:\.\d+)?[smhd]?$/.test(l)){n+=1;continue}break}continue}break}if(n>=t.length)return"";let r=t[n],s=r.includes("/")?r.slice(r.lastIndexOf("/")+1):r,o=t[n+1];return(o&&!o.startsWith("-")&&Hb.test(o)&&Bb.has(s.toLowerCase())?`${s} ${o}`:s).slice(0,24)}function zb(){return Rr(x(),xb)}function Ar(e,t,n=zb(),r=!1,s,o,i,a,l={}){if(!Number.isSafeInteger(e)||!Number.isSafeInteger(t)||e<0||t<0||e+t===0)return;let u=s?`,"h":${JSON.stringify(s)}`:"",c=o?`,"k":${JSON.stringify(o)}`:"",f=i?`,"c":${JSON.stringify(i.slice(0,24))}`:"",d=a?Fb(a):"",p=d&&d.length<=Rb?`,"p":${JSON.stringify(d)}`:"",m=l.s?`,"s":${JSON.stringify(l.s.slice(0,66))}`:"",k=l.o?`,"o":${JSON.stringify(l.o)}`:"",g=`{"t":${Math.floor(Date.now()/1e3)},"r":${e},"f":${t}${r?',"m":1':""}${u}${c}${f}${p}${m}${k}}
87
- `;try{kb(x(),{recursive:!0,mode:448}),yb(n,g,{mode:384}),bb(n,384),Mb(n)}catch{return}}function $r(e){let t=e.filterId==null?void 0:e.filterId.startsWith("user/")?`u:${e.filterId.slice(5)}`:"b",n=e.filteredBytes<e.rawBytes?void 0:e.filterId==null?"n":e.debugBypass?"e":"g";return{...t?{s:t}:{},...n?{o:n}:{}}}function Or(e,t,n){let r=n!=null?Math.min(e,n):e,s=n!=null?Math.min(t,n):t;return{raw:r,filtered:s}}var xb,Sb,Lu,vb,Eb,Tb,Rb,Lb,jb,Hb,Bb,Wu,xo=b(()=>{"use strict";B();Mu();xb="stats.jsonl",Sb="stats-ledger.json",Lu=2*1024*1024,vb=3e4,Eb=3e4,Tb=new Set(["n","g","e"]),Rb=256;Lb=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),jb=new Set(["-u","-g","-n","-s","-k"]),Hb=/^[a-z0-9][a-z0-9._-]*$/i,Bb=new Set(["git","npm","pnpm","yarn","npx","docker","kubectl","helm","cargo","go","brew","gh","pip","pip3","apt","apt-get","systemctl","terraform","aws","gcloud","az","bundle","rake","rails","prisma","poetry","uv","gem","composer"]),Wu=/^[A-Za-z_][A-Za-z0-9_]*=/});import{appendFileSync as Jb,mkdirSync as Zb,readFileSync as Gb,writeFileSync as Kb,renameSync as Wb,statSync as Vb,readdirSync as I$,rmSync as P$,chmodSync as Yb}from"node:fs";import{join as Vu}from"node:path";function Yu(){return Vu(x(),"sessions")}function ek(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Vu(Yu(),`${t}.jsonl`)}function Cr(e,t){try{let n=ek(e);Zb(Yu(),{recursive:!0,mode:448});let r=JSON.stringify({t:t.t??Math.floor(Date.now()/1e3),tool:t.tool,target:t.target.slice(0,Qb),...t.fail?{fail:1}:{}});if(Jb(n,`${r}
88
- `,{mode:384}),Yb(n,384),Vb(n).size>qb){let s=Gb(n,"utf8").split(`
89
- `).filter(a=>a.trim()!==""),o=s.slice(s.length-Xb),i=`${n}.tmp-${process.pid}`;Kb(i,`${o.join(`
87
+ `:""),Gu(ec(e),JSON.stringify({v:1,days:a}))}catch{return}finally{qu(r,{force:!0})}}function Wb(e){let t=Ib(e),n=t,r="";for(;;){try{return Cr(Cb(n),r)}catch{}let s=Xu(n);if(s===n)return t;r=r?Cr(Ju(n),r):Ju(n),n=s}}function Ku(e){return e.length===0||e[0]==="cd"||e.every(t=>tc.test(t))}function Qb(e){let t=[],n="",r=!1,s=null,o=()=>{r&&t.push(n),n="",r=!1};for(let i of e){if(s){i===s?s=null:n+=i;continue}if(i==="'"||i==='"'){s=i,r=!0;continue}if(i===" "||i===" "){o();continue}if(`|;&<>
88
+ `.includes(i)){if(o(),Ku(t)){t=[];continue}return t}n+=i,r=!0}return o(),Ku(t)?[]:t}function St(e){let t=Qb(e).map(a=>a.replace(/^[({]+/,"")).filter(Boolean),n=0;for(;n<t.length;){let a=t[n];if(tc.test(a)){n+=1;continue}if(Vb.has(a)){for(n+=1;n<t.length;){let l=t[n];if(l.startsWith("-")){n+=qb.has(l)?2:1;continue}if(/^\d+(?:\.\d+)?[smhd]?$/.test(l)){n+=1;continue}break}continue}break}if(n>=t.length)return"";let r=t[n],s=r.includes("/")?r.slice(r.lastIndexOf("/")+1):r,o=t[n+1];return(o&&!o.startsWith("-")&&Yb.test(o)&&Xb.has(s.toLowerCase())?`${s} ${o}`:s).slice(0,24)}function ek(){return Cr(x(),Pb)}function Ir(e,t,n=ek(),r=!1,s,o,i,a,l={}){if(!Number.isSafeInteger(e)||!Number.isSafeInteger(t)||e<0||t<0||e+t===0)return;let u=s?`,"h":${JSON.stringify(s)}`:"",c=o?`,"k":${JSON.stringify(o)}`:"",f=i?`,"c":${JSON.stringify(i.slice(0,24))}`:"",d=a?Wb(a):"",p=d&&d.length<=Fb?`,"p":${JSON.stringify(d)}`:"",m=l.s?`,"s":${JSON.stringify(l.s.slice(0,66))}`:"",k=l.o?`,"o":${JSON.stringify(l.o)}`:"",g=`{"t":${Math.floor(Date.now()/1e3)},"r":${e},"f":${t}${r?',"m":1':""}${u}${c}${f}${p}${m}${k}}
89
+ `;try{Ob(x(),{recursive:!0,mode:448}),Ab(n,g,{mode:384}),$b(n,384),Kb(n)}catch{return}}function Pr(e){let t=e.filterId==null?void 0:e.filterId.startsWith("user/")?`u:${e.filterId.slice(5)}`:"b",n=e.filteredBytes<e.rawBytes?void 0:e.filterId==null?"n":e.debugBypass?"e":"g";return{...t?{s:t}:{},...n?{o:n}:{}}}function Nr(e,t,n){let r=n!=null?Math.min(e,n):e,s=n!=null?Math.min(t,n):t;return{raw:r,filtered:s}}var Pb,Nb,Zu,Db,Mb,Lb,Fb,Vb,qb,Yb,Xb,tc,vo=b(()=>{"use strict";B();zu();Pb="stats.jsonl",Nb="stats-ledger.json",Zu=2*1024*1024,Db=3e4,Mb=3e4,Lb=new Set(["n","g","e"]),Fb=256;Vb=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),qb=new Set(["-u","-g","-n","-s","-k"]),Yb=/^[a-z0-9][a-z0-9._-]*$/i,Xb=new Set(["git","npm","pnpm","yarn","npx","docker","kubectl","helm","cargo","go","brew","gh","pip","pip3","apt","apt-get","systemctl","terraform","aws","gcloud","az","bundle","rake","rails","prisma","poetry","uv","gem","composer"]),tc=/^[A-Za-z_][A-Za-z0-9_]*=/});import{appendFileSync as tk,mkdirSync as nk,readFileSync as rk,writeFileSync as sk,renameSync as ok,statSync as ik,readdirSync as Z$,rmSync as G$,chmodSync as ak}from"node:fs";import{join as nc}from"node:path";function rc(){return nc(x(),"sessions")}function fk(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return nc(rc(),`${t}.jsonl`)}function Dr(e,t){try{let n=fk(e);nk(rc(),{recursive:!0,mode:448});let r=JSON.stringify({t:t.t??Math.floor(Date.now()/1e3),tool:t.tool,target:t.target.slice(0,ck),...t.fail?{fail:1}:{}});if(tk(n,`${r}
90
+ `,{mode:384}),ak(n,384),ik(n).size>lk){let s=rk(n,"utf8").split(`
91
+ `).filter(a=>a.trim()!==""),o=s.slice(s.length-uk),i=`${n}.tmp-${process.pid}`;sk(i,`${o.join(`
90
92
  `)}
91
- `,{mode:384}),Wb(i,n)}}catch{}}var qb,Xb,M$,Qb,So=b(()=>{"use strict";B();qb=96*1024,Xb=500,M$=168*3600*1e3,Qb=120});import{basename as tk}from"node:path";function Gt(e){let t=tk(e).replace(/\.(m?js|ts)$/,"");if(t==="tkr")return[];for(let[n,r]of Object.entries(nk))if(r===t)return[n];for(let[n,r]of Object.entries(rk))if(r===t)return["hook",n];return null}var nk,rk,In=b(()=>{"use strict";nk={exec:"tkr-exec",processor:"tkr-processor",daemon:"tkr-daemon","shim-run":"tkr-shim"},rk={codex:"tkr-codex-hook",cursor:"tkr-cursor-hook",gemini:"tkr-gemini-hook",agent:"tkr-agent-hook",copilot:"tkr-copilot-hook",droid:"tkr-droid-hook",trae:"tkr-trae-hook",qwen:"tkr-qwen-hook",crush:"tkr-crush-hook",junie:"tkr-junie-hook",zcode:"tkr-zcode-hook",grok:"tkr-grok-hook",context:"tkr-context-hook","pre-tool-use":"pre-tool-use","post-tool-use":"post-tool-use","session-recap":"session-recap","session-start":"on-session-start","reducer-session-start":"reducer-session-start","reducer-prompt-submit":"reducer-prompt-submit","reducer-stop":"reducer-stop","command-expansion":"command-expansion"}});function $e(){return!1}function Pn(e,t=process.execPath){let n=$e()?Gt(e):null;return n?[process.execPath,...n]:[t,e]}var Ve=b(()=>{"use strict";In()});import{rmSync as sk,statSync as ok}from"node:fs";import{join as qu}from"node:path";function Ir(){return qu(x(),"shims")}function vo(){return qu(x(),"fail-open")}function ge(e=Date.now()){try{if(e-ok(vo()).mtimeMs<ik)return!0;sk(vo(),{force:!0})}catch{}return!1}var ik,xe=b(()=>{"use strict";B();ik=24*36e5});var Eo=b(()=>{"use strict";B();Ve();In();xe()});import{chmod as fk,lstat as Qu,mkdir as dk,readFile as Ro,rename as pk,rm as e1,unlink as ec,writeFile as mk}from"node:fs/promises";import{createHash as tc}from"node:crypto";import{basename as hk,join as nc}from"node:path";function rc(){return nc(x(),"backup","config")}function To(e){let t=$o(e),n=tc("sha256").update(t).digest("hex").slice(0,16),r=hk(t).replace(/[^A-Za-z0-9._-]/g,"_").slice(0,80);return nc(rc(),`${n}-${r}`)}function sc(e){return`${To(e)}.written`}function oc(e){return tc("sha256").update(e).digest("hex")}async function yk(e){try{return await Qu(e),!0}catch{return!1}}async function Ao(e,t){let n=`${e}.tmp-${process.pid}`;try{return await dk(rc(),{recursive:!0,mode:448}),await mk(n,t,{mode:384}),await fk(n,384),await pk(n,e),!0}catch{return await ec(n).catch(()=>{}),!1}}async function bk(e,t){let n=`${e}${gk}`;try{if(!(await Qu(n)).isFile())return!1}catch{return!1}let r=!await yk(t);if(r&&!await Ao(t,await Ro(n,"utf8")))throw new Error("backup");return await ec(n).catch(()=>{}),r}async function kk(e,t){try{return(await Ro(sc(e),"utf8")).trim()===oc(t)}catch{return!1}}async function ic(e,t){let n=t;try{n===void 0&&(n=await Ro(e,"utf8"))}catch(r){return r.code==="ENOENT"}try{if(await bk(e,To(e)))return!0}catch{return!1}return await kk(e,n)?!0:Ao(To(e),n)}async function Pr(e,t,n){return!await ic(e,n)||!await Dr(e,t)?!1:(await Ao(sc(e),`${oc(t)}
92
- `),!0)}var gk,Nr=b(()=>{"use strict";B();Oe();gk=".tkr-bak"});import{readFile as _k,writeFile as wk,rename as xk,mkdir as uc,chmod as Sk,stat as vk,unlink as Ek}from"node:fs/promises";import{existsSync as Tk,lstatSync as Rk,readlinkSync as Ak,realpathSync as ac}from"node:fs";import{basename as $k,dirname as Mr,join as Ok,resolve as lc}from"node:path";function H(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}async function Ye(e){if(!Tk(e))return{};try{let t=JSON.parse(await _k(e,"utf8"));return H(t)?t:null}catch{return null}}function $o(e){let t=lc(e);for(let n=0;n<32;n++){try{return ac(t)}catch{}try{if(!Rk(t).isSymbolicLink())break;t=lc(Mr(t),Ak(t))}catch{break}}try{return Ok(ac(Mr(t)),$k(t))}catch{return t}}async function Dr(e,t){let n=$o(e),r=`${n}.tmp-${process.pid}`;try{await uc(Mr(n),{recursive:!0});let s=384;try{s=(await vk(n)).mode&511}catch{}return await wk(r,t,{mode:s}),await Sk(r,s),await xk(r,n),!0}catch{try{await Ek(r)}catch{}return!1}}async function qe(e,t){try{await uc(Mr(e),{recursive:!0})}catch{return!1}return Pr(e,`${JSON.stringify(t,null,2)}
93
- `)}function Kt(e,t){if(typeof e!="string")return!1;if(e.includes(t))return!0;let n=Gt(t);return n?.length?new RegExp(`^\\s*${Ck}\\s+${n.join("\\s+")}(?:\\s|$)`,"i").test(e):!1}function Fr(e,t,n,r){let s=i=>i!==n&&t(i),o=!1;for(let i=e.length-1;i>=0;i--){let a=e[i];if(!r){s(a)&&(e.splice(i,1),o=!0);continue}if(!H(a)||!Array.isArray(a.hooks))continue;let l=a.hooks.filter(u=>!s(u));l.length!==a.hooks.length&&(o=!0,l.length?a.hooks=l:e.splice(i,1))}return o}var Ck,Oe=b(()=>{"use strict";In();Ve();Eo();Nr();Ck=String.raw`(?:'(?:(?:[^']|'\\'')*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?'|"(?:[^"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?"|(?:[^\s'"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?)`});import{existsSync as y1,readFileSync as Ik}from"node:fs";import{join as Pk}from"node:path";import Nk from"node:os";function Mk(){return Pk(Nk.homedir(),".cursor","hooks.json")}function Fk(e){return H(e)&&Kt(e.command,Dk)}function Lk(e){let t=H(e.hooks)?e.hooks:{},n=Array.isArray(t[cc])?t[cc]:[];return{hooks:t,entries:n}}function fc(){try{let e=JSON.parse(Ik(Mk(),"utf8"));return Lk(e).entries.some(Fk)}catch{return!1}}var Dk,cc,dc=b(()=>{"use strict";Oe();Dk="tkr-cursor-hook",cc="preToolUse"});import{existsSync as S1,readFileSync as jk}from"node:fs";import{join as Hk}from"node:path";import Bk from"node:os";function zk(){return Hk(process.env.GEMINI_CLI_HOME||Bk.homedir(),".gemini","settings.json")}function Jk(e){return H(e)&&Kt(e.command,Uk)}function Zk(e){return(Array.isArray(e.hooks)?e.hooks:[]).find(Jk)}function Gk(e){let t=H(e.hooks)?e.hooks:{},n=Array.isArray(t[pc])?t[pc]:[];return{hooks:t,groups:n}}function mc(){try{let e=JSON.parse(jk(zk(),"utf8"));return Gk(e).groups.some(t=>Zk(t)!=null)}catch{return!1}}var Uk,pc,hc=b(()=>{"use strict";Oe();Uk="tkr-gemini-hook",pc="BeforeTool"});import{existsSync as O1,accessSync as C1,constants as I1,readFileSync as Kk}from"node:fs";function Vk(e){return e.includes(Wk)}function gc(e){try{return Vk(Kk(e,"utf8"))}catch{return!1}}var Wk,yc=b(()=>{"use strict";Oe();Ve();Nr();B();Wk='"rewrite", "--host"'});import{readFile as kc,mkdir as Yk}from"node:fs/promises";import{existsSync as Io,readFileSync as _c}from"node:fs";import{dirname as qk,join as Co}from"node:path";import wc from"node:os";function Mn(){return Co(process.env.VIBE_HOME||Co(wc.homedir(),".vibe"),"hooks.toml")}function bc(e){return JSON.stringify(e)}function Xk(e){return["[[hooks]]",`name = ${bc(xc)}`,'type = "pre_tool"','match = "bash"',`command = ${bc(e)}`,"timeout = 10.0","strict = false",'description = "Route shell commands through tokmizer."',""].join(`
94
- `)}function Po(e){let t=[],n=[];for(let r of e.split(/(?<=\n)/))/^\s*\[\[?\s*[A-Za-z0-9_-]/.test(r)&&n.length&&(t.push(n.join("")),n=[]),n.push(r);return n.length&&t.push(n.join("")),t}function Dn(e){return/^\s*\[\[hooks\]\]/.test(e)&&new RegExp(`^\\s*name\\s*=\\s*"${xc}"\\s*$`,"m").test(e)}async function Sc(e,t){try{await Yk(qk(e),{recursive:!0})}catch{return!1}return Pr(e,t)}function vc(){try{return Po(_c(Mn(),"utf8")).some(Dn)}catch{return!1}}async function Ec(e){let t=Mn(),n="";try{Io(t)&&(n=await kc(t,"utf8"))}catch{return"error"}let r=Xk(e),s=Po(n),o=s.filter(Dn);if(o.length===1&&o[0].trimEnd()===r.trimEnd())return"present";let i=s.filter(l=>!Dn(l)).join("").trimEnd(),a=i?`${i}
93
+ `,{mode:384}),ok(i,n)}}catch{}}var lk,uk,V$,ck,Eo=b(()=>{"use strict";B();lk=96*1024,uk=500,V$=168*3600*1e3,ck=120});import{basename as dk}from"node:path";function Wt(e){let t=dk(e).replace(/\.(m?js|ts)$/,"");if(t==="tkr")return[];for(let[n,r]of Object.entries(pk))if(r===t)return[n];for(let[n,r]of Object.entries(mk))if(r===t)return["hook",n];return null}var pk,mk,Nn=b(()=>{"use strict";pk={exec:"tkr-exec",processor:"tkr-processor",daemon:"tkr-daemon","shim-run":"tkr-shim"},mk={codex:"tkr-codex-hook",cursor:"tkr-cursor-hook",gemini:"tkr-gemini-hook",agent:"tkr-agent-hook",copilot:"tkr-copilot-hook",droid:"tkr-droid-hook",trae:"tkr-trae-hook",qwen:"tkr-qwen-hook",crush:"tkr-crush-hook",junie:"tkr-junie-hook",zcode:"tkr-zcode-hook",grok:"tkr-grok-hook",context:"tkr-context-hook","pre-tool-use":"pre-tool-use","post-tool-use":"post-tool-use","session-recap":"session-recap","session-start":"on-session-start","reducer-session-start":"reducer-session-start","reducer-prompt-submit":"reducer-prompt-submit","reducer-stop":"reducer-stop","command-expansion":"command-expansion"}});function Re(){return!1}function Dn(e,t=process.execPath){let n=Re()?Wt(e):null;return n?[process.execPath,...n]:[t,e]}var Ve=b(()=>{"use strict";Nn()});import{rmSync as hk,statSync as gk}from"node:fs";import{join as sc}from"node:path";function Mr(){return sc(x(),"shims")}function To(){return sc(x(),"fail-open")}function he(e=Date.now()){try{if(e-gk(To()).mtimeMs<yk)return!0;hk(To(),{force:!0})}catch{}return!1}var yk,_e=b(()=>{"use strict";B();yk=24*36e5});var Ro=b(()=>{"use strict";B();Ve();Nn();_e()});import{chmod as xk,lstat as ic,mkdir as Sk,readFile as $o,rename as vk,rm as p1,unlink as ac,writeFile as Ek}from"node:fs/promises";import{createHash as lc}from"node:crypto";import{basename as Tk,join as uc}from"node:path";function cc(){return uc(x(),"backup","config")}function Ao(e){let t=Co(e),n=lc("sha256").update(t).digest("hex").slice(0,16),r=Tk(t).replace(/[^A-Za-z0-9._-]/g,"_").slice(0,80);return uc(cc(),`${n}-${r}`)}function fc(e){return`${Ao(e)}.written`}function dc(e){return lc("sha256").update(e).digest("hex")}async function Ak(e){try{return await ic(e),!0}catch{return!1}}async function Oo(e,t){let n=`${e}.tmp-${process.pid}`;try{return await Sk(cc(),{recursive:!0,mode:448}),await Ek(n,t,{mode:384}),await xk(n,384),await vk(n,e),!0}catch{return await ac(n).catch(()=>{}),!1}}async function $k(e,t){let n=`${e}${Rk}`;try{if(!(await ic(n)).isFile())return!1}catch{return!1}let r=!await Ak(t);if(r&&!await Oo(t,await $o(n,"utf8")))throw new Error("backup");return await ac(n).catch(()=>{}),r}async function Ok(e,t){try{return(await $o(fc(e),"utf8")).trim()===dc(t)}catch{return!1}}async function pc(e,t){let n=t;try{n===void 0&&(n=await $o(e,"utf8"))}catch(r){return r.code==="ENOENT"}try{if(await $k(e,Ao(e)))return!0}catch{return!1}return await Ok(e,n)?!0:Oo(Ao(e),n)}async function Lr(e,t,n){return!await pc(e,n)||!await jr(e,t)?!1:(await Oo(fc(e),`${dc(t)}
94
+ `),!0)}var Rk,Fr=b(()=>{"use strict";B();Ae();Rk=".tkr-bak"});import{readFile as Ck,writeFile as Ik,rename as Pk,mkdir as gc,chmod as Nk,stat as Dk,unlink as Mk}from"node:fs/promises";import{existsSync as Lk,lstatSync as Fk,readlinkSync as jk,realpathSync as mc}from"node:fs";import{basename as Hk,dirname as Hr,join as Bk,resolve as hc}from"node:path";function H(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}async function qe(e){if(!Lk(e))return{};try{let t=JSON.parse(await Ck(e,"utf8"));return H(t)?t:null}catch{return null}}function Co(e){let t=hc(e);for(let n=0;n<32;n++){try{return mc(t)}catch{}try{if(!Fk(t).isSymbolicLink())break;t=hc(Hr(t),jk(t))}catch{break}}try{return Bk(mc(Hr(t)),Hk(t))}catch{return t}}async function jr(e,t){let n=Co(e),r=`${n}.tmp-${process.pid}`;try{await gc(Hr(n),{recursive:!0});let s=384;try{s=(await Dk(n)).mode&511}catch{}return await Ik(r,t,{mode:s}),await Nk(r,s),await Pk(r,n),!0}catch{try{await Mk(r)}catch{}return!1}}async function Ye(e,t){try{await gc(Hr(e),{recursive:!0})}catch{return!1}return Lr(e,`${JSON.stringify(t,null,2)}
95
+ `)}function Vt(e,t){if(typeof e!="string")return!1;if(e.includes(t))return!0;let n=Wt(t);return n?.length?new RegExp(`^\\s*${Uk}\\s+${n.join("\\s+")}(?:\\s|$)`,"i").test(e):!1}function Br(e,t,n,r){let s=i=>i!==n&&t(i),o=!1;for(let i=e.length-1;i>=0;i--){let a=e[i];if(!r){s(a)&&(e.splice(i,1),o=!0);continue}if(!H(a)||!Array.isArray(a.hooks))continue;let l=a.hooks.filter(u=>!s(u));l.length!==a.hooks.length&&(o=!0,l.length?a.hooks=l:e.splice(i,1))}return o}var Uk,Ae=b(()=>{"use strict";Nn();Ve();Ro();Fr();Uk=String.raw`(?:'(?:(?:[^']|'\\'')*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?'|"(?:[^"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?"|(?:[^\s'"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?)`});import{existsSync as O1,readFileSync as zk}from"node:fs";import{join as Jk}from"node:path";import Zk from"node:os";function Kk(){return Jk(Zk.homedir(),".cursor","hooks.json")}function Wk(e){return H(e)&&Vt(e.command,Gk)}function Vk(e){let t=H(e.hooks)?e.hooks:{},n=Array.isArray(t[yc])?t[yc]:[];return{hooks:t,entries:n}}function bc(){try{let e=JSON.parse(zk(Kk(),"utf8"));return Vk(e).entries.some(Wk)}catch{return!1}}var Gk,yc,kc=b(()=>{"use strict";Ae();Gk="tkr-cursor-hook",yc="preToolUse"});import{existsSync as M1,readFileSync as qk}from"node:fs";import{join as Yk}from"node:path";import Xk from"node:os";function e0(){return Yk(process.env.GEMINI_CLI_HOME||Xk.homedir(),".gemini","settings.json")}function t0(e){return H(e)&&Vt(e.command,Qk)}function n0(e){return(Array.isArray(e.hooks)?e.hooks:[]).find(t0)}function r0(e){let t=H(e.hooks)?e.hooks:{},n=Array.isArray(t[_c])?t[_c]:[];return{hooks:t,groups:n}}function wc(){try{let e=JSON.parse(qk(e0(),"utf8"));return r0(e).groups.some(t=>n0(t)!=null)}catch{return!1}}var Qk,_c,xc=b(()=>{"use strict";Ae();Qk="tkr-gemini-hook",_c="BeforeTool"});import{existsSync as z1,accessSync as J1,constants as Z1,readFileSync as s0}from"node:fs";function i0(e){return e.includes(o0)}function Sc(e){try{return i0(s0(e,"utf8"))}catch{return!1}}var o0,vc=b(()=>{"use strict";Ae();Ve();Fr();B();o0='"rewrite", "--host"'});import{readFile as Tc,mkdir as a0}from"node:fs/promises";import{existsSync as No,readFileSync as Rc}from"node:fs";import{dirname as l0,join as Po}from"node:path";import Ac from"node:os";function Fn(){return Po(process.env.VIBE_HOME||Po(Ac.homedir(),".vibe"),"hooks.toml")}function Ec(e){return JSON.stringify(e)}function u0(e){return["[[hooks]]",`name = ${Ec($c)}`,'type = "pre_tool"','match = "bash"',`command = ${Ec(e)}`,"timeout = 10.0","strict = false",'description = "Route shell commands through tokmizer."',""].join(`
96
+ `)}function Do(e){let t=[],n=[];for(let r of e.split(/(?<=\n)/))/^\s*\[\[?\s*[A-Za-z0-9_-]/.test(r)&&n.length&&(t.push(n.join("")),n=[]),n.push(r);return n.length&&t.push(n.join("")),t}function Ln(e){return/^\s*\[\[hooks\]\]/.test(e)&&new RegExp(`^\\s*name\\s*=\\s*"${$c}"\\s*$`,"m").test(e)}async function Oc(e,t){try{await a0(l0(e),{recursive:!0})}catch{return!1}return Lr(e,t)}function Cc(){try{return Do(Rc(Fn(),"utf8")).some(Ln)}catch{return!1}}async function Ic(e){let t=Fn(),n="";try{No(t)&&(n=await Tc(t,"utf8"))}catch{return"error"}let r=u0(e),s=Do(n),o=s.filter(Ln);if(o.length===1&&o[0].trimEnd()===r.trimEnd())return"present";let i=s.filter(l=>!Ln(l)).join("").trimEnd(),a=i?`${i}
95
97
 
96
- ${r}`:r;return await Sc(t,a)?o.length?"updated":"added":"error"}async function Tc(){let e=Mn();if(!Io(e))return"absent";let t;try{t=await kc(e,"utf8")}catch{return"error"}let n=Po(t);if(!n.some(Dn))return"absent";let r=n.filter(o=>!Dn(o)).join("").trimEnd(),s=r?`${r}
97
- `:"";return await Sc(e,s)?"removed":"error"}function Fn(){return Co(wc.homedir(),".gemini","config","hooks.json")}function Qk(e){return{enabled:!0,PreToolUse:[{matcher:"run_command",hooks:[{type:"command",command:e,timeout:10}]}]}}function Rc(){try{let e=JSON.parse(_c(Fn(),"utf8"));return H(e)&&H(e[Nn])}catch{return!1}}async function Ac(e){let t=Fn(),n=await Ye(t);if(!n)return"error";let r=Qk(e),s=n[Nn];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[Nn]=r,await qe(t,n)?s===void 0?"added":"updated":"error")}async function $c(){let e=Fn();if(!Io(e))return"absent";let t=await Ye(e);return t?Nn in t?(delete t[Nn],await qe(e,t)?"removed":"error"):"absent":"error"}var xc,Nn,Oc=b(()=>{"use strict";Oe();Nr();xc="tokmizer-rewrite",Nn="tokmizer-rewrite"});import{dirname as Y1,join as ye}from"node:path";import e0 from"node:os";function Ic(e){return e.kind==="hook"?e.installed():gc(e.files()[0].target)}var Ln,No,Cc,Pc=b(()=>{"use strict";Oe();yc();Oc();Ln=()=>e0.homedir(),No=()=>process.env.XDG_CONFIG_HOME||ye(Ln(),".config"),Cc=[{host:"opencode",label:"OpenCode",command:"setup-opencode",kind:"shim",files:()=>[{template:"opencode.js",target:ye(No(),"opencode","plugins","tokmizer.js")}],next:"Restart OpenCode so it loads the plugin."},{host:"kilo",label:"Kilo Code",command:"setup-kilo",kind:"shim",files:()=>[{template:"kilo.js",target:ye(No(),"kilo","plugin","tokmizer.js")}],next:"Restart Kilo Code (CLI or VS Code extension) so it loads the plugin."},{host:"amp",label:"Amp",command:"setup-amp",kind:"shim",files:()=>[{template:"amp.js",target:ye(No(),"amp","plugins","tokmizer.js")}],next:"Reload plugins in Amp (or restart it), then check it with: amp plugins list"},{host:"vibe",label:"Mistral Vibe",command:"setup-vibe",kind:"hook",file:Mn,installed:vc,ensure:Ec,remove:Tc,next:"Restart Vibe so it reads hooks.toml."},{host:"antigravity",label:"Antigravity",command:"setup-antigravity",kind:"hook",file:Fn,installed:Rc,ensure:Ac,remove:$c,next:"Restart Antigravity, then check it with /hooks."},{host:"openclaw",label:"OpenClaw",command:"setup-openclaw",kind:"shim",files:()=>{let e=ye(Ln(),".openclaw","extensions","tokmizer");return["index.js","openclaw.plugin.json","package.json"].map(t=>({template:`openclaw/${t}`,target:ye(e,t)}))},next:"Run: openclaw plugins enable tokmizer && openclaw gateway restart"},{host:"pi",label:"Pi",command:"setup-pi",kind:"shim",files:()=>[{template:"pi.js",target:ye(process.env.PI_CODING_AGENT_DIR||ye(Ln(),".pi","agent"),"extensions","tokmizer.js")}],next:"Restart Pi (or run /reload) so it loads the extension."},{host:"omp",label:"Oh My Pi",command:"setup-omp",kind:"shim",files:()=>[{template:"omp.js",target:ye(Ln(),".omp","agent","extensions","tokmizer.js")}],next:"Restart omp so it loads the extension."},{host:"hermes",label:"Hermes",command:"setup-hermes",kind:"shim",files:()=>{let e=ye(process.env.HERMES_HOME||ye(Ln(),".hermes"),"plugins","tokmizer");return["__init__.py","plugin.yaml"].map(t=>({template:`hermes/${t}`,target:ye(e,t)}))},next:"Run: hermes plugins enable tokmizer, then restart Hermes (needs Hermes v2026.8.16 or newer)."}]});import{existsSync as t0,readFileSync as n0}from"node:fs";function Lr(e,t){return H(e)&&Kt(e.command,t)}function Nc(e){return e.path??(e.nested?["hooks"]:[])}function Dc(e,t){let n=e;for(let r of Nc(t))H(n[r])||(n[r]={}),n=n[r];return n}function Mc(e,t){let n=e;for(let s of Nc(t))n=H(n)?n[s]:void 0;if(!H(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function r0(e){return H(e)&&Array.isArray(e.hooks)?e.hooks:[]}function Fc(e,t){return(t.matcher===void 0?e:e.flatMap(r0)).filter(r=>Lr(r,t.mark))}function Lc(e,t){return Fc(Mc(e,t),t).length>0}function Do(e,t){try{let n=JSON.parse(n0(e,"utf8"));return H(n)&&Lc(n,t)}catch{return!1}}function s0(e,t,n){let r=Dc(e,t),s=Array.isArray(r[t.event])?r[t.event]:[];r[t.event]=s;let o=Fc(s,t)[0],i=t.entry(n);if(o){let a=Fr(s,u=>Lr(u,t.mark),o,t.matcher!==void 0),l=Object.entries(i).filter(([u,c])=>JSON.stringify(o[u])!==JSON.stringify(c));if(!l.length&&!a)return"present";for(let[u,c]of l)o[u]=c;return"updated"}return s.push(t.matcher===void 0?i:{matcher:t.matcher,hooks:[i]}),"added"}function o0(e,t){if(!Lc(e,t))return!1;let n=Dc(e,t),r=Mc(e,t),s=t.matcher===void 0?r.filter(o=>!Lr(o,t.mark)):r.map(o=>H(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!Lr(i,t.mark))}:o).filter(o=>!H(o)||!Array.isArray(o.hooks)||o.hooks.length>0);return s.length?n[t.event]=s:delete n[t.event],!0}async function Mo(e,t,n){let r=await Ye(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=s0(r,t,n);return s==="present"||await qe(e,r)?s:"error"}async function jr(e,t){if(!t0(e))return"absent";let n=await Ye(e);return n?o0(n,t)?await qe(e,n)?"removed":"error":"absent":"error"}var jc=b(()=>{"use strict";Oe()});import{existsSync as Lo,readFileSync as i0}from"node:fs";import{join as q}from"node:path";import a0 from"node:os";function Ce(){return a0.homedir()}function zc(e){return e.version===void 0&&(e.version=1),e.version===1}function l0(e,t,n){return Promise.all(e.map(r=>Mo(r,t,n))).then(r=>r.includes("error")?"error":r.includes("updated")?"updated":r.includes("added")?"added":"present")}function u0(e,t){return Promise.all(e.map(n=>jr(n,t))).then(n=>n.includes("error")?"error":n.includes("removed")?"removed":"absent")}function xt(e,t){return{...e,installed:()=>e.files().some(n=>Do(n,t)),ensure:n=>l0(e.files(),t,n),remove:()=>u0(e.files(),t)}}function f0(){return q(process.env.COPILOT_HOME||q(Ce(),".copilot"),"hooks","tokmizer.json")}function p0(){let e=[q(Ce(),".trae","hooks.json")];return Lo(q(Ce(),".trae-cn"))&&e.push(q(Ce(),".trae-cn","hooks.json")),e}function h0(){return q(process.env.QWEN_HOME||q(Ce(),".qwen"),"settings.json")}function y0(){return q(process.env.XDG_CONFIG_HOME||q(Ce(),".config"),"crush","crush.json")}function k0(){return q(Ce(),".junie","config.json")}function _0(e){return e.hooks===void 0&&(e.hooks={}),H(e.hooks)?(e.hooks.enabled===void 0&&(e.hooks.enabled=!0),e.hooks.events===void 0||H(e.hooks.events)):!1}function x0(){return q(Ce(),".zcode","cli","config.json")}function v0(){return q(Ce(),".grok","hooks","tokmizer.json")}function Fo(){return q(Ce(),".factory")}function Hr(){return[{file:q(Fo(),"hooks.json"),spec:jo},{file:q(Fo(),"hooks","hooks.json"),spec:jo},{file:q(Fo(),"settings.json"),spec:T0}]}function Hc(e){try{let t=JSON.parse(i0(e,"utf8"));return H(t)?t:null}catch{return null}}function Bc(e,t){let n=t?e?.hooks:e;return H(n)&&Array.isArray(n.PreToolUse)&&n.PreToolUse.length>0}function Uc(){let[e,t,n]=Hr(),r=Lo(e.file)?e:Lo(t.file)?t:null;return r&&Bc(Hc(r.file),!1)?r:Bc(Hc(n.file),!0)?n:r??e}var c0,d0,m0,g0,b0,w0,S0,E0,jo,T0,R0,Jc,Zc=b(()=>{"use strict";Oe();jc();c0={mark:"tkr-copilot-hook",event:"PreToolUse",nested:!0,entry:e=>({type:"command",command:e,bash:e,powershell:e,timeout:10,timeoutSec:10}),prepare:zc};d0={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:zc};m0={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};g0={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};b0={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};w0={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:_0};S0={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};E0="tkr-droid-hook",jo={mark:E0,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},T0={...jo,nested:!0};R0={id:"droid",label:"Factory Droid",setup:"tkr setup-droid",bin:"tkr-droid-hook",restart:"Restart Droid, then check it with /hooks.",files:()=>[Uc().file],installed:()=>Hr().some(e=>Do(e.file,e.spec)),ensure:async e=>{let t=Uc(),n=await Mo(t.file,t.spec,e);return n==="error"||await Promise.all(Hr().filter(r=>r.file!==t.file).map(r=>jr(r.file,r.spec))),n},remove:async()=>{let e=await Promise.all(Hr().map(t=>jr(t.file,t.spec)));return e.includes("error")?"error":e.includes("removed")?"removed":"absent"}},Jc=[xt({id:"copilot",label:"GitHub Copilot",setup:"tkr setup-copilot",bin:"tkr-copilot-hook",restart:"Restart VS Code or Copilot CLI so they load the new hook.",files:()=>[f0()]},c0),R0,xt({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:p0},d0),xt({id:"qwen-code",label:"Qwen Code",setup:"tkr setup-qwen",bin:"tkr-qwen-hook",restart:"Restart Qwen Code, then check it with /hooks.",files:()=>[h0()]},m0),xt({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[y0()]},g0),xt({id:"junie",label:"Junie CLI",setup:"tkr setup-junie",bin:"tkr-junie-hook",restart:"Restart Junie CLI so it loads the new hook.",files:()=>[k0()]},b0),xt({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[x0()]},w0),xt({id:"grok",label:"Grok Build",setup:"tkr setup-grok",bin:"tkr-grok-hook",restart:"Restart Grok Build (1.0.4 or newer) so it loads the new hook.",files:()=>[v0()]},S0)]});function Gc(e){return A0.has(e)||($0[e]?.installed()??!1)}function Br(e){return null}function Ur(e=process.env){let t=process.platform,n=t==="darwin"||t==="linux"||t==="win32"?t:"other",r=process.arch,s=e.TOKMIZER_HOST;if(s&&Ho.includes(s)){let o=s;return{host:o,source:"env",os:n,arch:r,shimRecommended:!Gc(o)}}for(let o of Kc)if(o.vars.some(i=>e[i]))return{host:o.host,source:"env",os:n,arch:r,shimRecommended:!Gc(o.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}var Kc,Ho,A0,$0,jn=b(()=>{"use strict";dc();hc();Pc();Zc();Kc=[{host:"claude-code",vars:["CLAUDECODE","CLAUDE_CODE_ENTRYPOINT","CLAUDE_CODE","CLAUDE_CODE_VERSION","ANTHROPIC_CLAUDE_CODE"]},{host:"codex",vars:["CODEX_VERSION","CODEX_CLI","OPENAI_CODEX","CODEX_THREAD_ID","CODEX_SESSION_ID"]},{host:"cursor",vars:["CURSOR_AGENT","CURSOR_VERSION","CURSOR_TRACE_ID"]},{host:"cline",vars:["CLINE_VERSION","CLINE_API_KEY"]},{host:"aider",vars:["AIDER_VERSION","AIDER_MODEL"]},{host:"qwen-code",vars:["QWEN_CODE"]},{host:"gemini-cli",vars:["GEMINI_CLI","GEMINI_CLI_VERSION","GEMINI_API_KEY"]},{host:"windsurf",vars:["WINDSURF_VERSION","WINDSURF_USER"]},{host:"copilot",vars:["GITHUB_COPILOT_VERSION","COPILOT_INTEGRATION_ID"]},{host:"opencode",vars:[]},{host:"amp",vars:[]},{host:"vibe",vars:[]},{host:"antigravity",vars:[]},{host:"openclaw",vars:[]},{host:"pi",vars:[]},{host:"omp",vars:[]},{host:"hermes",vars:[]},{host:"crush",vars:["CRUSH"]},{host:"droid",vars:[]},{host:"trae",vars:[]},{host:"junie",vars:[]},{host:"zcode",vars:[]},{host:"grok",vars:[]},{host:"kilo",vars:[]}],Ho=[...Kc.map(e=>e.host),"shell"],A0=new Set(["claude-code","codex"]),$0={cursor:{installed:fc,setup:"tkr setup-cursor"},"gemini-cli":{installed:mc,setup:"tkr setup-gemini"},...Object.fromEntries(Cc.map(e=>[e.host,{installed:()=>Ic(e),setup:`tkr ${e.command}`}])),...Object.fromEntries(Jc.map(e=>[e.id,{installed:e.installed,setup:e.setup}]))}});import{existsSync as xO,realpathSync as O0}from"node:fs";import{basename as vO,delimiter as Wc,join as EO,dirname as TO}from"node:path";function Vc(e){try{return O0(e)}catch{return e}}function Yc(){let e=Ir(),t={...process.env},n=process.platform==="win32"?"Path":"PATH",r=t[n]??t.PATH??"",s=Vc(e),o=r.split(Wc).filter(i=>i&&i!==e&&Vc(i)!==s);return t[n]=o.join(Wc),n==="Path"&&(t.PATH=t[n]),t}var qc=b(()=>{"use strict";In();Ve();B();jn();xe();Eo();xe()});function Bo(e){return JSON.stringify(e)+zr}function*Qc(e){let t=0;for(;;){let n=e.indexOf(zr,t);if(n<0)return;yield e.slice(t,n),t=n+1}}function Hn(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}var C0,I0,P0,N0,FO,LO,jO,Xc,zr,HO,ef=b(()=>{"use strict";gt();mn();C0=h.object({id:h.string().min(1).max(64),op:h.literal("filter"),cmd:h.string().min(1).max(2048),plan:h.enum(["trial","smart","pro"]),allowed:h.array(h.string().min(1).max(64)).max(512).optional(),installId:h.string().min(1).max(64).optional()}),I0=h.object({id:h.string().min(1).max(64),op:h.literal("ping")}),P0=h.object({id:h.string().min(1).max(64),op:h.literal("shutdown"),installId:h.string().min(1).max(64)}),N0=h.object({id:h.string().min(1).max(64),op:h.literal("reload"),installId:h.string().min(1).max(64).optional()}),FO=h.discriminatedUnion("op",[C0,I0,P0,N0]),LO=h.object({id:h.string(),ok:h.literal(!0),data:h.unknown()}),jO=h.object({id:h.string(),ok:h.literal(!1),err:h.string(),retryAfterMs:h.number().int().nonnegative().optional()}),Xc=h.object({filter:Ze.nullable(),cacheHit:h.boolean().optional()}),zr=`
98
- `,HO=64*1024});import{createConnection as D0}from"node:net";import{spawn as M0}from"node:child_process";import{existsSync as rf,openSync as Uo,closeSync as tf,unlinkSync as Jo,writeFileSync as Zo,mkdirSync as Go,readFileSync as F0,appendFileSync as L0,rmSync as j0,statSync as H0}from"node:fs";import{dirname as B0,join as Ko}from"node:path";import{fileURLToPath as U0}from"node:url";function Wo(){return Ko(x(),"daemon.spawn.fail")}function Vo(){return Ko(x(),"daemon.log")}function G0(){try{let e=Number(F0(Wo(),"utf8"));return Number.isFinite(e)&&Date.now()-e<J0}catch{return!1}}function K0(e){try{Go(x(),{recursive:!0});let t=Vo();try{H0(t).size>Z0&&Jo(t)}catch{}L0(t,`${new Date().toISOString()} ${e}
99
- `)}catch{}}function W0(e){try{Go(x(),{recursive:!0}),Zo(Wo(),String(Date.now()))}catch{}K0(`spawn failed: ${e.message}`)}function V0(){try{j0(Wo(),{force:!0})}catch{}}async function Jr(e,t){return new Promise((n,r)=>{let s=D0(e),o=a=>{if(s.removeAllListeners("connect"),s.removeAllListeners("error"),clearTimeout(i),a){try{s.destroy()}catch{}r(a)}else n(s)},i=setTimeout(()=>o(new Error("connect timeout")),t);s.once("connect",()=>o(null)),s.once("error",a=>o(a))})}function Y0(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:U0(new URL("../bin/tkr-daemon.js",import.meta.url))}async function zo(e,t=3e3){let n=Math.ceil(t/75),r=process.platform==="win32";for(let s=0;s<n;s++){if(r)try{return(await Jr(e,75)).destroy(),!0}catch{}else if(rf(e))return!0;await new Promise(o=>setTimeout(o,75))}return!1}async function q0(e){let t=Y0();if(!$e()&&!rf(t))throw new Error(`tkr-daemon binary not found at ${t}`);let{path:n}=_t(),r=process.platform==="win32"?x():B0(n);try{Go(r,{recursive:!0})}catch{}let s=Ko(r,"daemon.spawn.lock"),o=null;try{o=Uo(s,"wx"),Zo(o,String(process.pid))}catch(i){if(i.code==="EEXIST"){if(await zo(n,5e3))return;try{Jo(s)}catch{}try{o=Uo(s,"wx"),Zo(o,String(process.pid))}catch(l){if(l.code==="EEXIST"){await zo(n,5e3);return}throw l}}else throw i}try{let i=null;try{i=Uo(Vo(),"a")}catch{}let[a,...l]=Pn(t);if(M0(a,l,{detached:!0,stdio:["ignore","ignore",i??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:e}}).unref(),i!==null)try{tf(i)}catch{}if(!await zo(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(o!==null){try{tf(o)}catch{}try{Jo(s)}catch{}}}}async function X0(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:_t(),n=await go();try{let r=await Jr(t,sf);r.write(Bo({id:Hn(),op:"shutdown",installId:n})),await new Promise(s=>setTimeout(s,150));try{r.destroy()}catch{}return!0}catch{return!1}}async function Q0(e,t){let n=Date.now()+t;for(;Date.now()<n;){try{(await Jr(e,250)).destroy()}catch{return!0}await new Promise(r=>setTimeout(r,100))}return!1}async function Yo(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:_t(),n=await go(),r=null,s=0,o=!1;for(;s<=nf;)try{r=await Jr(t,sf),V0();break}catch{if(s+=1,s>nf)throw new Error(`tkr-daemon unreachable at ${t}`);if(G0())throw new Error(`tkr-daemon spawn on cooldown (see ${Vo()})`);await ro();try{await q0(n),o=!0}catch(c){throw W0(c),c}}if(!r)throw new Error("tkr-daemon: socket setup failed");let i=new Map,a="";r.setEncoding("utf8"),r.on("data",c=>{a+=c;let f=-1;for(let p=0;p<a.length;p++)a[p]===zr&&(f=p);if(f<0)return;let d=[];for(let p of Qc(a.slice(0,f+1)))d.push(p);a=a.slice(f+1);for(let p of d)if(p)try{let m=JSON.parse(p),k=i.get(m.id);if(!k)continue;clearTimeout(k.timer),i.delete(m.id),k.resolve(m)}catch{}}),r.on("close",()=>{for(let c of i.values())clearTimeout(c.timer),c.reject(new Error("daemon socket closed"));i.clear()}),r.on("error",()=>{});function l(c){return new Promise((f,d)=>{if(r.destroyed||!r.writable){d(new Error("daemon socket closed"));return}let p=setTimeout(()=>{i.delete(c.id),d(new Error(`daemon request timeout (${c.op})`))},z0);i.set(c.id,{resolve:f,reject:d,timer:p}),r.write(Bo(c))})}let u={filter:async(c,f,d)=>{let p=await l({id:Hn(),op:"filter",cmd:c.slice(0,2048),plan:f,...d&&d.length>0?{allowed:d.slice(0,512)}:{},installId:n});if(!p.ok)return null;let m=Xc.safeParse(p.data);return m.success?m.data.filter:null},ping:async()=>{let c=await l({id:Hn(),op:"ping"});if(!c.ok)throw new Error(c.err);return c.data},reload:async()=>{let c=await l({id:Hn(),op:"reload",installId:n});if(!c.ok)throw new Error(c.err);return c.data},close:()=>{try{r.destroy()}catch{}}};if(!e.skipVersionCheck&&!o){let c=!1;try{let f=await u.ping();if(f.version&&ea(he,f.version))throw new Error(`newer daemon ${f.version} already running`);c=f.version!==he}catch(f){throw u.close(),f}if(c){try{await X0(e.socketPath?{socketPath:e.socketPath}:{})}catch{}u.close();let f=await Q0(t,2e3);if(await ro(),!f)throw new Error("stale daemon still running after shutdown request");return Yo({...e,skipVersionCheck:!0})}}return u}var sf,z0,nf,J0,Z0,of=b(()=>{"use strict";ef();so();B();Ve();yo();Dt();sf=500,z0=3e3,nf=1,J0=6e4,Z0=256*1024});async function e_(){if(Wt)return Wt;if(Bn)return Bn;let e=Yo().then(t=>{if(Bn===e)return Wt=t,t;try{t.close()}catch{}return null}).catch(()=>null);return Bn=e,e}async function t_(){return Xo||(Xo=!0,qo=await sr()??Ht()),qo}async function af(e,t,n){let r=await t_();if(!r)return null;let s=r.selectFor(e,t,n?[...n]:void 0);return!s||n&&!n.has(le(s.slug))?null:s}function n_(e){return e?{...e,matchRegex:new RegExp(e.match_command)}:null}function Zr(e){to(async(t,n)=>{let r=e==="free"?"trial":e,s=n??Bt(void 0),o=await e_();if(!o)return af(t,r,s);try{let i=await o.filter(t,r,s?[...s]:void 0);return!i||s&&!s.has(le(i.slug))?null:n_(i)}catch{return af(t,r,s)}})}function Gr(){if(to(null),Wt)try{Wt.close()}catch{}Wt=null,Bn=null,qo=null,Xo=!1}var Wt,Bn,qo,Xo,Qo=b(()=>{"use strict";of();An();Ge();_n();Ut();Wt=null,Bn=null;qo=null,Xo=!1});var Vt,Kr=b(()=>{"use strict";Vt="[tkr: partial view; folded or omitted lines are not file text. Read with offset/limit for the exact lines before Edit or Write]"});import{chmod as mf,mkdir as r_,readFile as uC,writeFile as lf,stat as cC,readdir as fC,rm as uf,rename as s_}from"node:fs/promises";import{existsSync as o_,readFileSync as i_,realpathSync as a_}from"node:fs";import{createHash as l_}from"node:crypto";import{dirname as cf,join as u_,resolve as ff}from"node:path";function m_(){try{let e=JSON.parse(i_(Qi(),"utf8")),t=e.maxAgeDays;return{...typeof t=="number"&&Number.isFinite(t)&&t>0?{maxAgeDays:Math.min(t,365)}:{},...e.disabled===!0?{disabled:!0}:{}}}catch{return{}}}function h_(e,t,n=process.env){let r=Number(n[e]);return Number.isFinite(r)&&r>0?r:t}function g_(e){return`${ws(e)}${p_}`}async function df(e){await r_(e,{recursive:!0,mode:448});try{await mf(e,448)}catch{}}function y_(e=process.cwd()){let t;try{t=a_(ff(e))}catch{t=ff(e)}for(let n=t;;n=cf(n)){if(o_(u_(n,".git")))return n;if(cf(n)===n)return t}}function b_(e){return e===""?[]:(e.endsWith(`
98
+ ${r}`:r;return await Oc(t,a)?o.length?"updated":"added":"error"}async function Pc(){let e=Fn();if(!No(e))return"absent";let t;try{t=await Tc(e,"utf8")}catch{return"error"}let n=Do(t);if(!n.some(Ln))return"absent";let r=n.filter(o=>!Ln(o)).join("").trimEnd(),s=r?`${r}
99
+ `:"";return await Oc(e,s)?"removed":"error"}function jn(){return Po(Ac.homedir(),".gemini","config","hooks.json")}function c0(e){return{enabled:!0,PreToolUse:[{matcher:"run_command",hooks:[{type:"command",command:e,timeout:10}]}]}}function Nc(){try{let e=JSON.parse(Rc(jn(),"utf8"));return H(e)&&H(e[Mn])}catch{return!1}}async function Dc(e){let t=jn(),n=await qe(t);if(!n)return"error";let r=c0(e),s=n[Mn];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[Mn]=r,await Ye(t,n)?s===void 0?"added":"updated":"error")}async function Mc(){let e=jn();if(!No(e))return"absent";let t=await qe(e);return t?Mn in t?(delete t[Mn],await Ye(e,t)?"removed":"error"):"absent":"error"}var $c,Mn,Lc=b(()=>{"use strict";Ae();Fr();$c="tokmizer-rewrite",Mn="tokmizer-rewrite"});import{dirname as uO,join as ge}from"node:path";import f0 from"node:os";function jc(e){return e.kind==="hook"?e.installed():Sc(e.files()[0].target)}var Hn,Mo,Fc,Hc=b(()=>{"use strict";Ae();vc();Lc();Hn=()=>f0.homedir(),Mo=()=>process.env.XDG_CONFIG_HOME||ge(Hn(),".config"),Fc=[{host:"opencode",label:"OpenCode",command:"setup-opencode",kind:"shim",files:()=>[{template:"opencode.js",target:ge(Mo(),"opencode","plugins","tokmizer.js")}],next:"Restart OpenCode so it loads the plugin."},{host:"kilo",label:"Kilo Code",command:"setup-kilo",kind:"shim",files:()=>[{template:"kilo.js",target:ge(Mo(),"kilo","plugin","tokmizer.js")}],next:"Restart Kilo Code (CLI or VS Code extension) so it loads the plugin."},{host:"amp",label:"Amp",command:"setup-amp",kind:"shim",files:()=>[{template:"amp.js",target:ge(Mo(),"amp","plugins","tokmizer.js")}],next:"Reload plugins in Amp (or restart it), then check it with: amp plugins list"},{host:"vibe",label:"Mistral Vibe",command:"setup-vibe",kind:"hook",file:Fn,installed:Cc,ensure:Ic,remove:Pc,next:"Restart Vibe so it reads hooks.toml."},{host:"antigravity",label:"Antigravity",command:"setup-antigravity",kind:"hook",file:jn,installed:Nc,ensure:Dc,remove:Mc,next:"Restart Antigravity, then check it with /hooks."},{host:"openclaw",label:"OpenClaw",command:"setup-openclaw",kind:"shim",files:()=>{let e=ge(Hn(),".openclaw","extensions","tokmizer");return["index.js","openclaw.plugin.json","package.json"].map(t=>({template:`openclaw/${t}`,target:ge(e,t)}))},next:"Run: openclaw plugins enable tokmizer && openclaw gateway restart"},{host:"pi",label:"Pi",command:"setup-pi",kind:"shim",files:()=>[{template:"pi.js",target:ge(process.env.PI_CODING_AGENT_DIR||ge(Hn(),".pi","agent"),"extensions","tokmizer.js")}],next:"Restart Pi (or run /reload) so it loads the extension."},{host:"omp",label:"Oh My Pi",command:"setup-omp",kind:"shim",files:()=>[{template:"omp.js",target:ge(Hn(),".omp","agent","extensions","tokmizer.js")}],next:"Restart omp so it loads the extension."},{host:"hermes",label:"Hermes",command:"setup-hermes",kind:"shim",files:()=>{let e=ge(process.env.HERMES_HOME||ge(Hn(),".hermes"),"plugins","tokmizer");return["__init__.py","plugin.yaml"].map(t=>({template:`hermes/${t}`,target:ge(e,t)}))},next:"Run: hermes plugins enable tokmizer, then restart Hermes (needs Hermes v2026.8.16 or newer)."}]});import{existsSync as d0,readFileSync as p0}from"node:fs";function Ur(e,t){return H(e)&&Vt(e.command,t)}function Bc(e){return e.path??(e.nested?["hooks"]:[])}function Uc(e,t){let n=e;for(let r of Bc(t))H(n[r])||(n[r]={}),n=n[r];return n}function zc(e,t){let n=e;for(let s of Bc(t))n=H(n)?n[s]:void 0;if(!H(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function m0(e){return H(e)&&Array.isArray(e.hooks)?e.hooks:[]}function Jc(e,t){return(t.matcher===void 0?e:e.flatMap(m0)).filter(r=>Ur(r,t.mark))}function Zc(e,t){return Jc(zc(e,t),t).length>0}function Lo(e,t){try{let n=JSON.parse(p0(e,"utf8"));return H(n)&&Zc(n,t)}catch{return!1}}function h0(e,t,n){let r=Uc(e,t),s=Array.isArray(r[t.event])?r[t.event]:[];r[t.event]=s;let o=Jc(s,t)[0],i=t.entry(n);if(o){let a=Br(s,u=>Ur(u,t.mark),o,t.matcher!==void 0),l=Object.entries(i).filter(([u,c])=>JSON.stringify(o[u])!==JSON.stringify(c));if(!l.length&&!a)return"present";for(let[u,c]of l)o[u]=c;return"updated"}return s.push(t.matcher===void 0?i:{matcher:t.matcher,hooks:[i]}),"added"}function g0(e,t){if(!Zc(e,t))return!1;let n=Uc(e,t),r=zc(e,t),s=t.matcher===void 0?r.filter(o=>!Ur(o,t.mark)):r.map(o=>H(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!Ur(i,t.mark))}:o).filter(o=>!H(o)||!Array.isArray(o.hooks)||o.hooks.length>0);return s.length?n[t.event]=s:delete n[t.event],!0}async function Fo(e,t,n){let r=await qe(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=h0(r,t,n);return s==="present"||await Ye(e,r)?s:"error"}async function zr(e,t){if(!d0(e))return"absent";let n=await qe(e);return n?g0(n,t)?await Ye(e,n)?"removed":"error":"absent":"error"}var Gc=b(()=>{"use strict";Ae()});import{existsSync as Ho,readFileSync as y0}from"node:fs";import{join as X}from"node:path";import b0 from"node:os";function $e(){return b0.homedir()}function qc(e){return e.version===void 0&&(e.version=1),e.version===1}function k0(e,t,n){return Promise.all(e.map(r=>Fo(r,t,n))).then(r=>r.includes("error")?"error":r.includes("updated")?"updated":r.includes("added")?"added":"present")}function _0(e,t){return Promise.all(e.map(n=>zr(n,t))).then(n=>n.includes("error")?"error":n.includes("removed")?"removed":"absent")}function vt(e,t){return{...e,installed:()=>e.files().some(n=>Lo(n,t)),ensure:n=>k0(e.files(),t,n),remove:()=>_0(e.files(),t)}}function x0(){return X(process.env.COPILOT_HOME||X($e(),".copilot"),"hooks","tokmizer.json")}function v0(){let e=[X($e(),".trae","hooks.json")];return Ho(X($e(),".trae-cn"))&&e.push(X($e(),".trae-cn","hooks.json")),e}function T0(){return X(process.env.QWEN_HOME||X($e(),".qwen"),"settings.json")}function A0(){return X(process.env.XDG_CONFIG_HOME||X($e(),".config"),"crush","crush.json")}function O0(){return X($e(),".junie","config.json")}function C0(e){return e.hooks===void 0&&(e.hooks={}),H(e.hooks)?(e.hooks.enabled===void 0&&(e.hooks.enabled=!0),e.hooks.events===void 0||H(e.hooks.events)):!1}function P0(){return X($e(),".zcode","cli","config.json")}function D0(){return X($e(),".grok","hooks","tokmizer.json")}function jo(){return X($e(),".factory")}function Jr(){return[{file:X(jo(),"hooks.json"),spec:Bo},{file:X(jo(),"hooks","hooks.json"),spec:Bo},{file:X(jo(),"settings.json"),spec:L0}]}function Kc(e){try{let t=JSON.parse(y0(e,"utf8"));return H(t)?t:null}catch{return null}}function Wc(e,t){let n=t?e?.hooks:e;return H(n)&&Array.isArray(n.PreToolUse)&&n.PreToolUse.length>0}function Vc(){let[e,t,n]=Jr(),r=Ho(e.file)?e:Ho(t.file)?t:null;return r&&Wc(Kc(r.file),!1)?r:Wc(Kc(n.file),!0)?n:r??e}var w0,S0,E0,R0,$0,I0,N0,M0,Bo,L0,F0,Yc,Xc=b(()=>{"use strict";Ae();Gc();w0={mark:"tkr-copilot-hook",event:"PreToolUse",nested:!0,entry:e=>({type:"command",command:e,bash:e,powershell:e,timeout:10,timeoutSec:10}),prepare:qc};S0={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:qc};E0={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};R0={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};$0={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};I0={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:C0};N0={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};M0="tkr-droid-hook",Bo={mark:M0,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},L0={...Bo,nested:!0};F0={id:"droid",label:"Factory Droid",setup:"tkr setup-droid",bin:"tkr-droid-hook",restart:"Restart Droid, then check it with /hooks.",files:()=>[Vc().file],installed:()=>Jr().some(e=>Lo(e.file,e.spec)),ensure:async e=>{let t=Vc(),n=await Fo(t.file,t.spec,e);return n==="error"||await Promise.all(Jr().filter(r=>r.file!==t.file).map(r=>zr(r.file,r.spec))),n},remove:async()=>{let e=await Promise.all(Jr().map(t=>zr(t.file,t.spec)));return e.includes("error")?"error":e.includes("removed")?"removed":"absent"}},Yc=[vt({id:"copilot",label:"GitHub Copilot",setup:"tkr setup-copilot",bin:"tkr-copilot-hook",restart:"Restart VS Code or Copilot CLI so they load the new hook.",files:()=>[x0()]},w0),F0,vt({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:v0},S0),vt({id:"qwen-code",label:"Qwen Code",setup:"tkr setup-qwen",bin:"tkr-qwen-hook",restart:"Restart Qwen Code, then check it with /hooks.",files:()=>[T0()]},E0),vt({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[A0()]},R0),vt({id:"junie",label:"Junie CLI",setup:"tkr setup-junie",bin:"tkr-junie-hook",restart:"Restart Junie CLI so it loads the new hook.",files:()=>[O0()]},$0),vt({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[P0()]},I0),vt({id:"grok",label:"Grok Build",setup:"tkr setup-grok",bin:"tkr-grok-hook",restart:"Restart Grok Build (1.0.4 or newer) so it loads the new hook.",files:()=>[D0()]},N0)]});function Qc(e){return j0.has(e)||(H0[e]?.installed()??!1)}function Zr(e){return null}function Gr(e=process.env){let t=process.platform,n=t==="darwin"||t==="linux"||t==="win32"?t:"other",r=process.arch,s=e.TOKMIZER_HOST;if(s&&Uo.includes(s)){let o=s;return{host:o,source:"env",os:n,arch:r,shimRecommended:!Qc(o)}}for(let o of ef)if(o.vars.some(i=>e[i]))return{host:o.host,source:"env",os:n,arch:r,shimRecommended:!Qc(o.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}var ef,Uo,j0,H0,Bn=b(()=>{"use strict";kc();xc();Hc();Xc();ef=[{host:"claude-code",vars:["CLAUDECODE","CLAUDE_CODE_ENTRYPOINT","CLAUDE_CODE","CLAUDE_CODE_VERSION","ANTHROPIC_CLAUDE_CODE"]},{host:"codex",vars:["CODEX_VERSION","CODEX_CLI","OPENAI_CODEX","CODEX_THREAD_ID","CODEX_SESSION_ID"]},{host:"cursor",vars:["CURSOR_AGENT","CURSOR_VERSION","CURSOR_TRACE_ID"]},{host:"cline",vars:["CLINE_VERSION","CLINE_API_KEY"]},{host:"aider",vars:["AIDER_VERSION","AIDER_MODEL"]},{host:"qwen-code",vars:["QWEN_CODE"]},{host:"gemini-cli",vars:["GEMINI_CLI","GEMINI_CLI_VERSION","GEMINI_API_KEY"]},{host:"windsurf",vars:["WINDSURF_VERSION","WINDSURF_USER"]},{host:"copilot",vars:["GITHUB_COPILOT_VERSION","COPILOT_INTEGRATION_ID"]},{host:"opencode",vars:[]},{host:"amp",vars:[]},{host:"vibe",vars:[]},{host:"antigravity",vars:[]},{host:"openclaw",vars:[]},{host:"pi",vars:[]},{host:"omp",vars:[]},{host:"hermes",vars:[]},{host:"crush",vars:["CRUSH"]},{host:"droid",vars:[]},{host:"trae",vars:[]},{host:"junie",vars:[]},{host:"zcode",vars:[]},{host:"grok",vars:[]},{host:"kilo",vars:[]}],Uo=[...ef.map(e=>e.host),"shell"],j0=new Set(["claude-code","codex"]),H0={cursor:{installed:bc,setup:"tkr setup-cursor"},"gemini-cli":{installed:wc,setup:"tkr setup-gemini"},...Object.fromEntries(Fc.map(e=>[e.host,{installed:()=>jc(e),setup:`tkr ${e.command}`}])),...Object.fromEntries(Yc.map(e=>[e.id,{installed:e.installed,setup:e.setup}]))}});import{existsSync as DO,realpathSync as B0}from"node:fs";import{basename as LO,delimiter as tf,join as FO,dirname as jO}from"node:path";function nf(e){try{return B0(e)}catch{return e}}function rf(){let e=Mr(),t={...process.env},n=process.platform==="win32"?"Path":"PATH",r=t[n]??t.PATH??"",s=nf(e),o=r.split(tf).filter(i=>i&&i!==e&&nf(i)!==s);return t[n]=o.join(tf),n==="Path"&&(t.PATH=t[n]),t}var sf=b(()=>{"use strict";Nn();Ve();B();Bn();_e();Ro();_e()});function zo(e){return JSON.stringify(e)+Kr}function*af(e){let t=0;for(;;){let n=e.indexOf(Kr,t);if(n<0)return;yield e.slice(t,n),t=n+1}}function Un(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}var U0,z0,J0,Z0,qO,YO,XO,of,Kr,QO,lf=b(()=>{"use strict";bt();hn();U0=h.object({id:h.string().min(1).max(64),op:h.literal("filter"),cmd:h.string().min(1).max(2048),plan:h.enum(["trial","smart","pro"]),allowed:h.array(h.string().min(1).max(64)).max(512).optional(),installId:h.string().min(1).max(64).optional()}),z0=h.object({id:h.string().min(1).max(64),op:h.literal("ping")}),J0=h.object({id:h.string().min(1).max(64),op:h.literal("shutdown"),installId:h.string().min(1).max(64)}),Z0=h.object({id:h.string().min(1).max(64),op:h.literal("reload"),installId:h.string().min(1).max(64).optional()}),qO=h.discriminatedUnion("op",[U0,z0,J0,Z0]),YO=h.object({id:h.string(),ok:h.literal(!0),data:h.unknown()}),XO=h.object({id:h.string(),ok:h.literal(!1),err:h.string(),retryAfterMs:h.number().int().nonnegative().optional()}),of=h.object({filter:Ze.nullable(),cacheHit:h.boolean().optional()}),Kr=`
100
+ `,QO=64*1024});import{createConnection as G0}from"node:net";import{spawn as K0}from"node:child_process";import{existsSync as ff,openSync as Jo,closeSync as uf,unlinkSync as Go,writeFileSync as Ko,mkdirSync as Wo,readFileSync as W0,appendFileSync as V0,rmSync as q0,statSync as Y0}from"node:fs";import{dirname as X0,join as Vo}from"node:path";import{fileURLToPath as Q0}from"node:url";function qo(){return Vo(x(),"daemon.spawn.fail")}function Yo(){return Vo(x(),"daemon.log")}function r_(){try{let e=Number(W0(qo(),"utf8"));return Number.isFinite(e)&&Date.now()-e<t_}catch{return!1}}function s_(e){try{Wo(x(),{recursive:!0});let t=Yo();try{Y0(t).size>n_&&Go(t)}catch{}V0(t,`${new Date().toISOString()} ${e}
101
+ `)}catch{}}function o_(e){try{Wo(x(),{recursive:!0}),Ko(qo(),String(Date.now()))}catch{}s_(`spawn failed: ${e.message}`)}function i_(){try{q0(qo(),{force:!0})}catch{}}async function Wr(e,t){return new Promise((n,r)=>{let s=G0(e),o=a=>{if(s.removeAllListeners("connect"),s.removeAllListeners("error"),clearTimeout(i),a){try{s.destroy()}catch{}r(a)}else n(s)},i=setTimeout(()=>o(new Error("connect timeout")),t);s.once("connect",()=>o(null)),s.once("error",a=>o(a))})}function a_(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:Q0(new URL("../bin/tkr-daemon.js",import.meta.url))}async function Zo(e,t=3e3){let n=Math.ceil(t/75),r=process.platform==="win32";for(let s=0;s<n;s++){if(r)try{return(await Wr(e,75)).destroy(),!0}catch{}else if(ff(e))return!0;await new Promise(o=>setTimeout(o,75))}return!1}async function l_(e){let t=a_();if(!Re()&&!ff(t))throw new Error(`tkr-daemon binary not found at ${t}`);let{path:n}=xt(),r=process.platform==="win32"?x():X0(n);try{Wo(r,{recursive:!0})}catch{}let s=Vo(r,"daemon.spawn.lock"),o=null;try{o=Jo(s,"wx"),Ko(o,String(process.pid))}catch(i){if(i.code==="EEXIST"){if(await Zo(n,5e3))return;try{Go(s)}catch{}try{o=Jo(s,"wx"),Ko(o,String(process.pid))}catch(l){if(l.code==="EEXIST"){await Zo(n,5e3);return}throw l}}else throw i}try{let i=null;try{i=Jo(Yo(),"a")}catch{}let[a,...l]=Dn(t);if(K0(a,l,{detached:!0,stdio:["ignore","ignore",i??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:e}}).unref(),i!==null)try{uf(i)}catch{}if(!await Zo(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(o!==null){try{uf(o)}catch{}try{Go(s)}catch{}}}}async function u_(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:xt(),n=await bo();try{let r=await Wr(t,df);r.write(zo({id:Un(),op:"shutdown",installId:n})),await new Promise(s=>setTimeout(s,150));try{r.destroy()}catch{}return!0}catch{return!1}}async function c_(e,t){let n=Date.now()+t;for(;Date.now()<n;){try{(await Wr(e,250)).destroy()}catch{return!0}await new Promise(r=>setTimeout(r,100))}return!1}async function Xo(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:xt(),n=await bo(),r=null,s=0,o=!1;for(;s<=cf;)try{r=await Wr(t,df),i_();break}catch{if(s+=1,s>cf)throw new Error(`tkr-daemon unreachable at ${t}`);if(r_())throw new Error(`tkr-daemon spawn on cooldown (see ${Yo()})`);await oo();try{await l_(n),o=!0}catch(c){throw o_(c),c}}if(!r)throw new Error("tkr-daemon: socket setup failed");let i=new Map,a="";r.setEncoding("utf8"),r.on("data",c=>{a+=c;let f=-1;for(let p=0;p<a.length;p++)a[p]===Kr&&(f=p);if(f<0)return;let d=[];for(let p of af(a.slice(0,f+1)))d.push(p);a=a.slice(f+1);for(let p of d)if(p)try{let m=JSON.parse(p),k=i.get(m.id);if(!k)continue;clearTimeout(k.timer),i.delete(m.id),k.resolve(m)}catch{}}),r.on("close",()=>{for(let c of i.values())clearTimeout(c.timer),c.reject(new Error("daemon socket closed"));i.clear()}),r.on("error",()=>{});function l(c){return new Promise((f,d)=>{if(r.destroyed||!r.writable){d(new Error("daemon socket closed"));return}let p=setTimeout(()=>{i.delete(c.id),d(new Error(`daemon request timeout (${c.op})`))},e_);i.set(c.id,{resolve:f,reject:d,timer:p}),r.write(zo(c))})}let u={filter:async(c,f,d)=>{let p=await l({id:Un(),op:"filter",cmd:c.slice(0,2048),plan:f,...d&&d.length>0?{allowed:d.slice(0,512)}:{},installId:n});if(!p.ok)return null;let m=of.safeParse(p.data);return m.success?m.data.filter:null},ping:async()=>{let c=await l({id:Un(),op:"ping"});if(!c.ok)throw new Error(c.err);return c.data},reload:async()=>{let c=await l({id:Un(),op:"reload",installId:n});if(!c.ok)throw new Error(c.err);return c.data},close:()=>{try{r.destroy()}catch{}}};if(!e.skipVersionCheck&&!o){let c=!1;try{let f=await u.ping();if(f.version&&na(me,f.version))throw new Error(`newer daemon ${f.version} already running`);c=f.version!==me}catch(f){throw u.close(),f}if(c){try{await u_(e.socketPath?{socketPath:e.socketPath}:{})}catch{}u.close();let f=await c_(t,2e3);if(await oo(),!f)throw new Error("stale daemon still running after shutdown request");return Xo({...e,skipVersionCheck:!0})}}return u}var df,e_,cf,t_,n_,pf=b(()=>{"use strict";lf();io();B();Ve();ko();Lt();df=500,e_=3e3,cf=1,t_=6e4,n_=256*1024});async function f_(){if(qt)return qt;if(zn)return zn;let e=Xo().then(t=>{if(zn===e)return qt=t,t;try{t.close()}catch{}return null}).catch(()=>null);return zn=e,e}async function d_(){return ei||(ei=!0,Qo=await ar()??Ut()),Qo}async function mf(e,t,n){let r=await d_();if(!r)return null;let s=r.selectFor(e,t,n?[...n]:void 0);return!s||n&&!n.has(le(s.slug))?null:s}function p_(e){return e?{...e,matchRegex:new RegExp(e.match_command)}:null}function Vr(e){ro(async(t,n)=>{let r=e==="free"?"trial":e,s=n??zt(void 0),o=await f_();if(!o)return mf(t,r,s);try{let i=await o.filter(t,r,s?[...s]:void 0);return!i||s&&!s.has(le(i.slug))?null:p_(i)}catch{return mf(t,r,s)}})}function qr(){if(ro(null),qt)try{qt.close()}catch{}qt=null,zn=null,Qo=null,ei=!1}var qt,zn,Qo,ei,ti=b(()=>{"use strict";pf();On();Ge();wn();Jt();qt=null,zn=null;Qo=null,ei=!1});var Yt,Yr=b(()=>{"use strict";Yt="[tkr: partial view; folded or omitted lines are not file text. Read with offset/limit for the exact lines before Edit or Write]"});import{chmod as wf,mkdir as m_,readFile as xC,writeFile as hf,stat as SC,readdir as vC,rm as gf,rename as h_}from"node:fs/promises";import{existsSync as g_,readFileSync as y_,realpathSync as b_}from"node:fs";import{createHash as k_}from"node:crypto";import{dirname as yf,join as __,resolve as bf}from"node:path";function E_(){try{let e=JSON.parse(y_(ta(),"utf8")),t=e.maxAgeDays;return{...typeof t=="number"&&Number.isFinite(t)&&t>0?{maxAgeDays:Math.min(t,365)}:{},...e.disabled===!0?{disabled:!0}:{}}}catch{return{}}}function T_(e,t,n=process.env){let r=Number(n[e]);return Number.isFinite(r)&&r>0?r:t}function R_(e){return`${Es(e)}${v_}`}async function kf(e){await m_(e,{recursive:!0,mode:448});try{await wf(e,448)}catch{}}function A_(e=process.cwd()){let t;try{t=b_(bf(e))}catch{t=bf(e)}for(let n=t;;n=yf(n)){if(g_(__(n,".git")))return n;if(yf(n)===n)return t}}function $_(e){return e===""?[]:(e.endsWith(`
100
102
  `)?e.slice(0,-1):e).split(`
101
- `)}async function k_(e,t,n=process.env,r={}){if(we()||!d_.test(e))return!1;t=vu(t);let s=Buffer.byteLength(t,"utf8");if(s>h_("TOKMIZER_CCR_ENTRY_MAX_BYTES",f_,n))return!1;let o=ws(e),i=`${o}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{if(await df(x()),await df(_s()),we())return!1;if(await lf(i,t,{mode:384}),await mf(i,384),we())return await uf(i,{force:!0}),!1;await s_(i,o)}catch{try{await uf(i)}catch{}return!1}let a={at:Date.now(),bytes:s,lines:b_(t).length,partial:r.partial===!0,...r.label?{label:r.label.slice(0,40)}:{},project:y_(r.cwd)};try{await lf(g_(e),JSON.stringify(a),{mode:384})}catch{}return!0}function hf(e){let t=e.TOKMIZER_CCR_DISABLED;return t==="1"||t==="true"||we()||m_().disabled===!0}function gf(e,t){let n=e.replace(__,"> ");if(!n.includes("[tkr:"))return n;let r=t==null?null:t.split(`
102
- `).map(o=>o.replace(/\r$/,"")).filter(o=>pf.test(o)),s=o=>{if(r==null)return!1;let i=w_.find(a=>a(o));return i!=null&&!r.some(i)};return n.split(`
103
- `).map(o=>pf.test(o)&&!s(o)?`> ${o}`:o).join(`
104
- `)}async function ei(e,t,n,r){let s=l_("sha256").update(e).digest("hex").slice(0,16);return await k_(s,e,r,{partial:t,label:n})?s:null}async function Yt(e,t,n=process.env,r={}){if(t=gf(t,r.raw),hf(n)||!e)return t;let s=i=>`
105
- [tkr restore ${i}]`;if(Buffer.byteLength(e,"utf8")<=Buffer.byteLength(s("0".repeat(16)),"utf8"))return t;if(r.raw){let i=await ei(r.raw,!1,r.label,n);if(i)return`${t}${s(i)}`}let o=await ei(e,!0,r.label,n);return o?`${t}${s(o)}`:t}async function Wr(e,t,n=process.env,r={}){if(t=gf(t,e),hf(n)||!e)return t;let s=await ei(e,!1,r.label,n);return s?`${t}
106
- [tkr restore ${s}]`:t}var c_,kC,_C,f_,d_,p_,wC,__,pf,w_,ti=b(()=>{"use strict";xr();Kr();B();On();c_=1440*60*1e3,kC=30*c_,_C=200*1024*1024,f_=8*1024*1024,d_=/^[0-9a-f]{8,64}$/i,p_=".meta",wC=["usage: tkr restore <hash> [--lines a:b] [--grep pattern]"," tkr restore --list [--all-projects]"," tkr restore --grep <pattern> [--all-projects]",""].join(`
107
- `);__=/^(?=\[tkr |\[tokmizer\])/gm,pf=/^\[tkr:/,w_=[e=>e===Vt,e=>/^\[tkr: previous log line repeated \d+ additional times\]$/.test(e)]});var wf={};un(wf,{CAPTURING_ENV:()=>ri,kickBackgroundEnroll:()=>Vr,processCapturedOutput:()=>Yr,resolveExecTimeoutMs:()=>kf,runWrapped:()=>N_,signalNumber:()=>_f,underCapturingExec:()=>O_});import{existsSync as x_,readFileSync as S_,writeFileSync as v_,mkdirSync as E_}from"node:fs";import{join as T_}from"node:path";import{fileURLToPath as R_}from"node:url";import{StringDecoder as A_}from"node:string_decoder";function O_(e=process.env){return e[ri]==="1"}function bf(e,t){let n=new A_("utf8"),r=n.write(Buffer.concat(e));return t?r:r+n.end()}function Vr(){try{if(!bn())return;let e=process.env.TOKMIZER_TKR_BIN||R_(new URL("../bin/tkr.js",import.meta.url));if(!$e()&&!x_(e))return;let t=T_(x(),"enroll-kick");try{let o=Number(S_(t,"utf8"));if(Number.isFinite(o)&&Date.now()-o<$_)return}catch{}E_(x(),{recursive:!0}),v_(t,String(Date.now()));let[n,...r]=Pn(e);(0,ni.default)(n,[...r,"heartbeat"],{detached:!0,stdio:"ignore"}).unref()}catch{}}function kf(e){let t=Number(e.TOKMIZER_EXEC_TIMEOUT_MS);if(Number.isFinite(t)&&t>0)return t;let n=Number(e.BASH_MAX_TIMEOUT_MS);return Number.isFinite(n)&&n>6e5?n:6e5}function _f(e){return I_[e]??15}function P_(e){let t=Tn(e);if(t===null)return!1;let[n,...r]=Fe(t).split(/\s+/);return/^(?:cat|head|nl)(?:\.exe)?$/i.test(n?.split(/[\\/]/).pop()??"")&&r.some(s=>s!==""&&!s.startsWith("-"))}async function N_(e){let[t,...n]=e;if(!t)throw new Error("tkr-exec: missing command");let r=we(),s=(0,ni.default)(t,n,{stdio:["inherit","pipe","pipe"],env:{...Yc(),[ri]:"1"}}),o=!1;s.on("spawn",()=>{o=!0});let i=E=>{try{s.kill(E)}catch{}},a=()=>i("SIGINT"),l=()=>i("SIGTERM");process.on("SIGINT",a),process.on("SIGTERM",l);let u=[],c=[],f=0,d=0,p=!1,m=!1;s.stdout?.on("data",E=>{if(f>=qt){p=!0;return}let C=qt-f,P=E.length>C?E.subarray(0,C):E;u.push(P),f+=P.length,E.length>C&&(p=!0)}),s.stderr?.on("data",E=>{if(d>=qt){m=!0;return}let C=qt-d,P=E.length>C?E.subarray(0,C):E;c.push(P),d+=P.length,E.length>C&&(m=!0)});let k,g,T;try{T=await new Promise((E,C)=>{s.on("error",P=>{k&&clearTimeout(k),o?E(1):C(P)}),s.on("close",(P,L)=>{k&&clearTimeout(k),E(P??(L?128+_f(L):0))}),k=setTimeout(()=>{s.kill("SIGTERM"),g=setTimeout(()=>s.kill("SIGKILL"),2e3)},C_),k.unref?.()})}finally{k&&clearTimeout(k),g&&clearTimeout(g),process.off("SIGINT",a),process.off("SIGTERM",l)}let S=bf(u,p),O=bf(c,m);return Yr({argv:e,stdout:S,stderr:O,exitCode:T,truncated:p,stderrTruncated:m},{yolo:r,env:process.env,onMissingState:Vr})}async function Yr({argv:e,stdout:t,stderr:n,exitCode:r,truncated:s,stderrTruncated:o},{yolo:i,env:a,resolver:l,onMissingState:u,deferAccounting:c,...f}){let d=s?`
108
- \u2026 (output truncated at ${qt/1048576}MB)`:"",p=o?`
109
- \u2026 (stderr truncated at ${qt/(1024*1024)}MB)`:"",m=()=>{let k=t+d,g=Buffer.byteLength(k,"utf8");return{stdout:k,stderr:n+p,code:r,filterId:null,rawBytes:g,filteredBytes:g,truncated:s}};try{let k=await yt();k||u?.();let g=await Le();if(!g.enabled)return m();let T=a.CLAUDE_CODE_SESSION_ID;T&&k?.token&&Cr(T,{tool:"Bash",target:e.join(" "),...r!==0?{fail:1}:{}});let S=k?wr(k):null,O=k?Bt(k.allowedFilters,_r(k)):null,E=new Set(g.filters.disabled.map(le)),C=O&&E.size>0?new Set([...O].filter(z=>!E.has(z))):O,P=e.join(" ");k&&!l&&Zr(S);let L=await We(P,t,C,{verbosity:g.outputVerbosity,resolver:l,yolo:i,exitCode:r}),J=n,D=0,G=0;if((i||r===0)&&Buffer.byteLength(n,"utf8")>=(i?1:yf)){let z=await We(P,n,C,{verbosity:g.outputVerbosity,resolver:l,yolo:i,exitCode:r});if(J=z.output,!i&&z.output!==n)try{J=await Yt(z.droppedTail??null,z.output,a,{raw:o?null:n,label:wt(P)})}catch{}D=z.rawBytes,G=z.filteredBytes}else if(!i&&r!==0&&Buffer.byteLength(n,"utf8")>=yf){let z=await We(P,n,C,{verbosity:g.outputVerbosity,resolver:l,exitCode:r});if(z.failureSummary){try{J=await Yt(z.droppedTail??null,z.output,a)}catch{J=z.output}D=z.rawBytes,G=z.filteredBytes}}let be=!i&&L.output!==t&&P_(P)?`${L.output}${L.output.endsWith(`
103
+ `)}async function O_(e,t,n=process.env,r={}){if(ke()||!S_.test(e))return!1;t=Cu(t);let s=Buffer.byteLength(t,"utf8");if(s>T_("TOKMIZER_CCR_ENTRY_MAX_BYTES",x_,n))return!1;let o=Es(e),i=`${o}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{if(await kf(x()),await kf(vs()),ke())return!1;if(await hf(i,t,{mode:384}),await wf(i,384),ke())return await gf(i,{force:!0}),!1;await h_(i,o)}catch{try{await gf(i)}catch{}return!1}let a={at:Date.now(),bytes:s,lines:$_(t).length,partial:r.partial===!0,...r.label?{label:r.label.slice(0,40)}:{},project:A_(r.cwd)};try{await hf(R_(e),JSON.stringify(a),{mode:384})}catch{}return!0}function xf(e){let t=e.TOKMIZER_CCR_DISABLED;return t==="1"||t==="true"||ke()||E_().disabled===!0}function Fe(e,t){let n=e.replace(C_,"> ");if(!n.includes("[tkr:")&&!n.includes("[same output as "))return n;let r=t==null?null:t.split(`
104
+ `).map(o=>o.replace(/\r$/,"")).filter(o=>_f.test(o)),s=o=>{if(r==null)return!1;let i=I_.find(a=>a(o));return i!=null&&!r.some(i)};return n.split(`
105
+ `).map(o=>_f.test(o)&&!s(o)?`> ${o}`:o).join(`
106
+ `)}async function ni(e,t,n,r){let s=k_("sha256").update(e).digest("hex").slice(0,16);return await O_(s,e,r,{partial:t,label:n})?s:null}async function Xt(e,t,n=process.env,r={}){if(t=Fe(t,r.raw),xf(n)||!e)return t;let s=i=>`
107
+ [tkr restore ${i}]`;if(Buffer.byteLength(e,"utf8")<=Buffer.byteLength(s("0".repeat(16)),"utf8"))return t;if(r.raw){let i=await ni(r.raw,!1,r.label,n);if(i)return`${t}${s(i)}`}let o=await ni(e,!0,r.label,n);return o?`${t}${s(o)}`:t}async function Xr(e,t,n=process.env,r={}){if(t=Fe(t,e),xf(n)||!e)return t;let s=await ni(e,!1,r.label,n);return s?`${t}
108
+ [tkr restore ${s}]`:t}var w_,IC,PC,x_,S_,v_,NC,C_,_f,I_,ri=b(()=>{"use strict";Tr();Yr();B();In();w_=1440*60*1e3,IC=30*w_,PC=200*1024*1024,x_=8*1024*1024,S_=/^[0-9a-f]{8,64}$/i,v_=".meta",NC=["usage: tkr restore <hash> [--lines a:b] [--grep pattern]"," tkr restore --list [--all-projects]"," tkr restore --grep <pattern> [--all-projects]",""].join(`
109
+ `);C_=/^(?=\[tkr |\[tokmizer\])/gm,_f=/^\[(?:tkr:|same output as )/,I_=[e=>e===Yt,e=>/^\[tkr: previous log line repeated \d+ additional times\]$/.test(e),e=>/^\[same output as `.*` earlier in this session, unchanged, ~\d+ tokens\]$/.test(e)]});var Af={};cn(Af,{CAPTURING_ENV:()=>oi,kickBackgroundEnroll:()=>Qr,processCapturedOutput:()=>es,resolveExecTimeoutMs:()=>Tf,runWrapped:()=>J_,signalNumber:()=>Rf,underCapturingExec:()=>H_});import{existsSync as Sf,readFileSync as P_,writeFileSync as N_,mkdirSync as D_}from"node:fs";import{join as M_}from"node:path";import{fileURLToPath as L_}from"node:url";import{StringDecoder as F_}from"node:string_decoder";function H_(e=process.env){return e[oi]==="1"}function Ef(e,t){let n=new F_("utf8"),r=n.write(Buffer.concat(e));return t?r:r+n.end()}function Qr(){try{if(!kn()||!Sf(ia()))return;let e=process.env.TOKMIZER_TKR_BIN||L_(new URL("../bin/tkr.js",import.meta.url));if(!Re()&&!Sf(e))return;let t=M_(x(),"enroll-kick");try{let o=Number(P_(t,"utf8"));if(Number.isFinite(o)&&Date.now()-o<j_)return}catch{}D_(x(),{recursive:!0}),N_(t,String(Date.now()));let[n,...r]=Dn(e);(0,si.default)(n,[...r,"heartbeat"],{detached:!0,stdio:"ignore"}).unref()}catch{}}function Tf(e){let t=Number(e.TOKMIZER_EXEC_TIMEOUT_MS);if(Number.isFinite(t)&&t>0)return t;let n=Number(e.BASH_MAX_TIMEOUT_MS);return Number.isFinite(n)&&n>6e5?n:6e5}function Rf(e){return U_[e]??15}function z_(e){let t=An(e);if(t===null)return!1;let[n,...r]=Me(t).split(/\s+/);return/^(?:cat|head|nl)(?:\.exe)?$/i.test(n?.split(/[\\/]/).pop()??"")&&r.some(s=>s!==""&&!s.startsWith("-"))}async function J_(e){let[t,...n]=e;if(!t)throw new Error("tkr-exec: missing command");let r=ke(),s=(0,si.default)(t,n,{stdio:["inherit","pipe","pipe"],env:{...rf(),[oi]:"1"}}),o=!1;s.on("spawn",()=>{o=!0});let i=E=>{try{s.kill(E)}catch{}},a=()=>i("SIGINT"),l=()=>i("SIGTERM");process.on("SIGINT",a),process.on("SIGTERM",l);let u=[],c=[],f=0,d=0,p=!1,m=!1;s.stdout?.on("data",E=>{if(f>=Qt){p=!0;return}let I=Qt-f,N=E.length>I?E.subarray(0,I):E;u.push(N),f+=N.length,E.length>I&&(p=!0)}),s.stderr?.on("data",E=>{if(d>=Qt){m=!0;return}let I=Qt-d,N=E.length>I?E.subarray(0,I):E;c.push(N),d+=N.length,E.length>I&&(m=!0)});let k,g,T;try{T=await new Promise((E,I)=>{s.on("error",N=>{k&&clearTimeout(k),o?E(1):I(N)}),s.on("close",(N,j)=>{k&&clearTimeout(k),E(N??(j?128+Rf(j):0))}),k=setTimeout(()=>{s.kill("SIGTERM"),g=setTimeout(()=>s.kill("SIGKILL"),2e3)},B_),k.unref?.()})}finally{k&&clearTimeout(k),g&&clearTimeout(g),process.off("SIGINT",a),process.off("SIGTERM",l)}let S=Ef(u,p),O=Ef(c,m);return es({argv:e,stdout:S,stderr:O,exitCode:T,truncated:p,stderrTruncated:m},{yolo:r,env:process.env,onMissingState:Qr})}async function es({argv:e,stdout:t,stderr:n,exitCode:r,truncated:s,stderrTruncated:o},{yolo:i,env:a,resolver:l,onMissingState:u,deferAccounting:c,...f}){let d=s?`
110
+ \u2026 (output truncated at ${Qt/1048576}MB)`:"",p=o?`
111
+ \u2026 (stderr truncated at ${Qt/(1024*1024)}MB)`:"",m=()=>{let k=t+d,g=Buffer.byteLength(k,"utf8");return{stdout:k,stderr:n+p,code:r,filterId:null,rawBytes:g,filteredBytes:g,truncated:s}};try{let k=await kt();k||u?.();let g=await Le();if(!g.enabled)return m();let T=a.CLAUDE_CODE_SESSION_ID;T&&k?.token&&Dr(T,{tool:"Bash",target:e.join(" "),...r!==0?{fail:1}:{}});let S=k?Er(k):null,O=k?zt(k.allowedFilters,vr(k)):null,E=new Set(g.filters.disabled.map(le)),I=O&&E.size>0?new Set([...O].filter(C=>!E.has(C))):O,N=e.join(" ");k&&!l&&Vr(S);let j=await We(N,t,I,{verbosity:g.outputVerbosity,resolver:l,yolo:i,exitCode:r}),z=Fe(n,n),M=0,K=0;if((i||r===0)&&Buffer.byteLength(n,"utf8")>=(i?1:vf)){let C=await We(N,n,I,{verbosity:g.outputVerbosity,resolver:l,yolo:i,exitCode:r});if(z=Fe(C.output,n),!i&&C.output!==n)try{z=await Xt(C.droppedTail??null,C.output,a,{raw:o?null:n,label:St(N)})}catch{}M=C.rawBytes,K=C.filteredBytes}else if(!i&&r!==0&&Buffer.byteLength(n,"utf8")>=vf){let C=await We(N,n,I,{verbosity:g.outputVerbosity,resolver:l,exitCode:r});if(C.failureSummary){try{z=await Xt(C.droppedTail??null,C.output,a)}catch{z=Fe(C.output,n)}M=C.rawBytes,K=C.filteredBytes}}let Oe=!i&&j.output!==t&&z_(N)?`${j.output}${j.output.endsWith(`
110
112
  `)?"":`
111
- `}${Vt}`:L.output,ce=be;if(!i&&L.filteredBytes<L.rawBytes)try{ce=new RegExp(lr.source,"m").test(L.output)?await Wr(t,be,a,{label:wt(P)}):await Yt(L.droppedTail??null,be,a,{raw:s?null:t,label:wt(P)})}catch{}let Z=ce+d,W=J+p,U=Ur(a).host,K=Or(L.rawBytes+Buffer.byteLength(n,"utf8"),Buffer.byteLength(Z,"utf8")+Buffer.byteLength(W,"utf8"),Br(U)),fe=!1,j=async()=>{if(!fe){fe=!0;try{Ar(K.raw,K.filtered,void 0,!1,U,"sh",wt(P),"cwd"in f?f.cwd:process.cwd(),$r(L)),await Tr({cmd:P,filterId:L.filterId,rawBytes:L.rawBytes,filteredBytes:L.filteredBytes,plan:S}),await vr({cmd:P,tokensSaved:Math.max(0,Math.round((K.raw-K.filtered)/4)),rawTokens:Math.round(K.raw/4),optimized:L.filterId!=null,telemetryOptIn:g.telemetryOptIn&&(!c||(await Le()).telemetryOptIn),sessionId:T,host:U})}catch{}}};return c?c(j):await j(),{stdout:Z,stderr:W,code:r,filterId:L.filterId,rawBytes:L.rawBytes+D,filteredBytes:L.filteredBytes+G,truncated:s}}catch{return m()}finally{l||Gr()}}var ni,qt,yf,$_,ri,C_,I_,si=b(()=>{"use strict";ni=Nd(Su(),1);An();Ge();Ut();yn();B();ho();_o();Er();xo();So();Zt();jn();qc();Qo();ti();Lt();Kr();Ys();On();Ve();kn();qt=10*1024*1024,yf=1024,$_=6e4,ri="TOKMIZER_EXEC_CAPTURING";C_=kf(process.env),I_={SIGHUP:1,SIGINT:2,SIGQUIT:3,SIGILL:4,SIGTRAP:5,SIGABRT:6,SIGBUS:7,SIGFPE:8,SIGKILL:9,SIGUSR1:10,SIGSEGV:11,SIGUSR2:12,SIGPIPE:13,SIGALRM:14,SIGTERM:15}});var gi={};un(gi,{FOLD_MARKER_RE:()=>lr,captureForRestore:()=>Yt,captureOriginalForRestore:()=>Wr,closeDaemonResolver:()=>Gr,countedSaving:()=>Or,gatingPlan:()=>wr,graceExceeded:()=>_r,installDaemonResolver:()=>Zr,loadSettingsCache:()=>Le,processOutput:()=>We,recordEvent:()=>Tr,recordStat:()=>Ar,recordTelemetry:()=>vr,resolveAllowedFilters:()=>Bt,statCmdLabel:()=>wt,statOutcome:()=>$r});var yi=b(()=>{"use strict";An();ti();Lt();Ut();ho();_o();Er();xo();Qo();Zt()});_n();An();Ut();import{mkdirSync as nv,readFileSync as Ai,realpathSync as rv,rmSync as cs,writeFileSync as sv}from"node:fs";import{join as Ti}from"node:path";so();B();Dt();import{randomBytes as KS,randomUUID as wd}from"node:crypto";import{lstatSync as WS,mkdirSync as VS,realpathSync as YS,renameSync as qS,rmSync as XS,writeFileSync as QS}from"node:fs";import{dirname as ev,join as us}from"node:path";gt();_n();B();On();si();import{timingSafeEqual as Si}from"node:crypto";import{chmodSync as LS,lstatSync as jS,realpathSync as HS}from"node:fs";import{dirname as BS}from"node:path";import{createServer as US}from"node:net";import{spawnSync as Tw}from"node:child_process";import{existsSync as zn,readFileSync as Qr,readdirSync as es}from"node:fs";import{homedir as St}from"node:os";import{fileURLToPath as Rw}from"node:url";import{dirname as Ff,join as F,resolve as Aw}from"node:path";B();import{appendFileSync as j_,chmodSync as H_,mkdirSync as B_,existsSync as U_,readFileSync as qC,rmSync as XC}from"node:fs";import{dirname as z_,join as J_}from"node:path";import{readFileSync as D_,renameSync as M_,statSync as F_,writeFileSync as L_}from"node:fs";function xf(e,t,n){try{if(F_(e).size<=t)return;let r=D_(e,"utf8").split(`
112
- `).filter(a=>a.trim()!==""),s=[],o=0;for(let a=r.length-1;a>=0;a-=1){let l=r[a],u=Buffer.byteLength(l)+1;if(o+u>n)break;s.push(l),o+=u}s.reverse();let i=`${e}.tmp-${process.pid}`;L_(i,s.length?`${s.join(`
113
+ `}${Yt}`:j.output,ce=Fe(Oe,t);if(!i&&j.filteredBytes<j.rawBytes)try{ce=new RegExp(dr.source,"m").test(j.output)?await Xr(t,Oe,a,{label:St(N)}):await Xt(j.droppedTail??null,Oe,a,{raw:s?null:t,label:St(N)})}catch{}let J=ce+d,Z=z+p,U=Gr(a).host,G=Nr(j.rawBytes+Buffer.byteLength(n,"utf8"),Buffer.byteLength(J,"utf8")+Buffer.byteLength(Z,"utf8"),Zr(U)),ee=!1,Qe=async()=>{if(!ee){ee=!0;try{Ir(G.raw,G.filtered,void 0,!1,U,"sh",St(N),"cwd"in f?f.cwd:process.cwd(),Pr(j)),await Or({cmd:N,filterId:j.filterId,rawBytes:j.rawBytes,filteredBytes:j.filteredBytes,plan:S}),await Ar({cmd:N,tokensSaved:Math.max(0,Math.round((G.raw-G.filtered)/4)),rawTokens:Math.round(G.raw/4),optimized:j.filterId!=null,telemetryOptIn:g.telemetryOptIn&&(!c||(await Le()).telemetryOptIn),sessionId:T,host:U})}catch{}}};return c?c(Qe):await Qe(),{stdout:J,stderr:Z,code:r,filterId:j.filterId,rawBytes:j.rawBytes+M,filteredBytes:j.filteredBytes+K,truncated:s}}catch{return m()}finally{l||qr()}}var si,Qt,vf,j_,oi,B_,U_,ii=b(()=>{"use strict";si=Ud(Ou(),1);On();Ge();Jt();bn();B();yo();xo();$r();vo();Eo();Kt();Bn();sf();ti();ri();Ht();Yr();Xs();In();Ve();_n();Qt=10*1024*1024,vf=1024,j_=6e4,oi="TOKMIZER_EXEC_CAPTURING";B_=Tf(process.env),U_={SIGHUP:1,SIGINT:2,SIGQUIT:3,SIGILL:4,SIGTRAP:5,SIGABRT:6,SIGBUS:7,SIGFPE:8,SIGKILL:9,SIGUSR1:10,SIGSEGV:11,SIGUSR2:12,SIGPIPE:13,SIGALRM:14,SIGTERM:15}});var bi={};cn(bi,{FOLD_MARKER_RE:()=>dr,captureForRestore:()=>Xt,captureOriginalForRestore:()=>Xr,closeDaemonResolver:()=>qr,countedSaving:()=>Nr,gatingPlan:()=>Er,graceExceeded:()=>vr,installDaemonResolver:()=>Vr,loadSettingsCache:()=>Le,neutralizeMarkers:()=>Fe,processOutput:()=>We,recordEvent:()=>Or,recordStat:()=>Ir,recordTelemetry:()=>Ar,resolveAllowedFilters:()=>zt,statCmdLabel:()=>St,statOutcome:()=>Pr});var ki=b(()=>{"use strict";On();ri();Ht();Jt();yo();xo();$r();vo();ti();Kt()});wn();On();Jt();import{mkdirSync as mv,readFileSync as Oi,realpathSync as hv,rmSync as ps,writeFileSync as gv}from"node:fs";import{join as Ai}from"node:path";io();B();Lt();import{randomBytes as ov,randomUUID as $d}from"node:crypto";import{lstatSync as iv,mkdirSync as av,realpathSync as lv,renameSync as uv,rmSync as cv,writeFileSync as fv}from"node:fs";import{dirname as dv,join as ds}from"node:path";bt();wn();B();In();ii();import{timingSafeEqual as Ei}from"node:crypto";import{chmodSync as qS,lstatSync as YS,realpathSync as XS}from"node:fs";import{dirname as QS}from"node:path";import{createServer as ev}from"node:net";fr();import{spawnSync as Mw}from"node:child_process";import{existsSync as Zn,readFileSync as Gn,readdirSync as rs}from"node:fs";import{homedir as Et}from"node:os";import{fileURLToPath as Lw}from"node:url";import{dirname as Jf,join as F,resolve as Fw}from"node:path";B();import{appendFileSync as V_,chmodSync as q_,mkdirSync as Y_,existsSync as X_,readFileSync as cI,rmSync as fI}from"node:fs";import{dirname as Q_,join as ew}from"node:path";import{readFileSync as Z_,renameSync as G_,statSync as K_,writeFileSync as W_}from"node:fs";function $f(e,t,n){try{if(K_(e).size<=t)return;let r=Z_(e,"utf8").split(`
114
+ `).filter(a=>a.trim()!==""),s=[],o=0;for(let a=r.length-1;a>=0;a-=1){let l=r[a],u=Buffer.byteLength(l)+1;if(o+u>n)break;s.push(l),o+=u}s.reverse();let i=`${e}.tmp-${process.pid}`;W_(i,s.length?`${s.join(`
113
115
  `)}
114
- `:"",{mode:384}),M_(i,e)}catch{}}var Z_="usage.jsonl";var Sf=2*1024*1024;function G_(){return J_(x(),Z_)}function se(e,t,n=G_()){try{let r=z_(n);U_(r)||B_(r,{recursive:!0,mode:448});let s=e.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64)||"unknown";j_(n,`{"t":${Math.floor(Date.now()/1e3)},"s":"${s}","o":${t?1:0}}
115
- `,{mode:384}),H_(n,384),xf(n,Sf,Sf/2)}catch{}}Ve();B();import{execFileSync as pw}from"node:child_process";import{mkdirSync as mw,readFileSync as Af,renameSync as hw,statSync as gw,writeFileSync as yw}from"node:fs";import{join as $f}from"node:path";import{closeSync as K_,openSync as W_,readSync as V_,readdirSync as Y_,readFileSync as q_,statSync as Ef}from"node:fs";import{homedir as X_}from"node:os";import{isAbsolute as Q_,join as qr,resolve as ew}from"node:path";var tw=/^[A-Za-z0-9._+@%:,/-]+$/,nw=new Set(["7f454c46","feedface","feedfacf","cefaedfe","cffaedfe","cafebabe","bebafeca"]),rw=32,sw=4*1024*1024;function ii(e){let t;try{t=W_(e,"r");let n=Buffer.alloc(4),r=V_(t,n,0,4,0);return r>=2&&n[0]===35&&n[1]===33?"#!":r===4?n.toString("hex"):null}catch{return null}finally{t!==void 0&&K_(t)}}function Un(e,t=process.platform){try{let n=Ef(e);if(!n.isFile())return!1;if(t==="win32")return!0;if((n.mode&73)===0)return!1;let r=ii(e);return r==="#!"||r!==null&&nw.has(r)}catch{return!1}}function ow(e){if(/\.[A-Za-z0-9]+$/.test(e))return[e];let t=(process.env.PATHEXT??".COM;.EXE;.BAT;.CMD").split(";").filter(Boolean);return[e,...t.map(n=>e+n.toLowerCase())]}function Xt(e,t,n,r=process.platform){if(!tw.test(e))return!1;let s=r==="win32";if(e.includes("/"))return Un(ew(t??process.cwd(),e),r);if(!n)return!1;let o=s?ow(e):[e];for(let i of n.split(s?";":":"))if(!(!i||!Q_(i))){for(let a of o)if(Un(qr(i,a),r))return!0}return!1}var iw=/^eval \$'([^\s'()=]+) \(\) /,aw=/^([^\s'"()=]+) \(\) \{$/,lw=/^alias -- ([^\s=]+)=(.*)$/,uw=/^# (?:Shell Options|Aliases|Shopt|Check for |Shadow )/,cw=/^export PATH=(.*)$/,fw=/^(?:--colou?r(?:=\S+)?|-G)$/;function vf(e){return e.length>=2&&e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1).replace(/'\\''/g,"'"):e.length>=2&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e}function dw(e,t){let n="";for(let r of e.split(`
116
- `)){let s=cw.exec(r);if(s&&n!=="# Functions"){let o=vf(s[1].trim());/[$`\\]/.test(o)||t.paths.push(o);continue}if(r.startsWith("# ")&&(n!=="# Functions"||uw.test(r))){n=r;continue}if(n==="# Functions"){let o=iw.exec(r)??aw.exec(r);o&&t.functions.add(o[1])}else if(n==="# Aliases"){let o=lw.exec(r);o&&t.aliases.set(o[1],vf(o[2].trim()))}}}function oi(e){return e?.code==="ENOENT"}function Tf(e){let t={functions:new Set,aliases:new Map,paths:[],uncertain:!1},n=qr(e||qr(X_(),".claude"),"shell-snapshots"),r=[];try{for(let s of Y_(n)){if(!s.startsWith("snapshot-")||!s.endsWith(".sh"))continue;let o=qr(n,s);try{let i=Ef(o);i.isFile()&&r.push({path:o,mtime:i.mtimeMs,size:i.size})}catch(i){oi(i)||(t.uncertain=!0)}}}catch(s){return oi(s)||(t.uncertain=!0),t}r=r.sort((s,o)=>o.mtime-s.mtime).slice(0,rw);for(let s of r)try{if(s.size>sw)throw new Error("snapshot too large");dw(q_(s.path,"utf8"),t)}catch(o){oi(o)||(t.uncertain=!0)}return t}function Rf(e,t){if(t.uncertain||t.functions.has(e))return!0;let n=t.aliases.get(e);if(n===void 0)return!1;let r=n.trim().split(/\s+/);return r[0]!==e||!r.slice(1).every(s=>fw.test(s))}var bw="exec-probe.json",kw=6e4;function _w(){return $f(x(),bw)}function ww(e){try{let t=JSON.parse(Af(e,"utf8"));if(t==null||typeof t!="object")return null;let n=t;return typeof n.key!="string"||typeof n.ok!="boolean"?null:{key:n.key,ok:n.ok,at:typeof n.at=="number"?n.at:0,skipped:typeof n.skipped=="number"&&n.skipped>=0?n.skipped:0}}catch{return null}}function xw(e,t){try{mw($f(e,".."),{recursive:!0,mode:448});let n=`${e}.${process.pid}.tmp`;yw(n,JSON.stringify(t),{mode:384}),hw(n,e)}catch{}}function Sw(e){try{return pw(e,["--native-check"],{encoding:"utf8",timeout:2e3,maxBuffer:1024,stdio:["ignore","pipe","ignore"],windowsHide:!0}).startsWith("tokmizer-native ")}catch{return!1}}function vw(e,t){try{let r=Af(e,"utf8").split(`
117
- `,1)[0].slice(2).trim().split(/\s+/),s=r[0]??"";return s==="/usr/bin/env"?Xt(r[1]??"",void 0,t):Un(s)}catch{return!1}}function Ew(e,t,n){try{let r=gw(e);return[e,r.size,r.mtimeMs,r.ino,r.mode,t?n??"":""].join("|")}catch{return`${e}|missing`}}function ai(e,t=process.platform,n=process.env.PATH,r=_w(),s=Date.now()){let o=t!=="win32"&&ii(e)==="#!",i=Ew(e,o,n),a=ww(r);if(a?.key===i&&(a.ok||s-a.at<kw))return a.ok;let l=Un(e,t)&&(o?vw(e,n):Sw(e));return xw(r,{key:i,ok:l,at:s,skipped:(a?.skipped??0)+(l?0:1)}),l}var $w=new Set(["tkr","tkr-exec","token","claude","cd","export","source","echo","mkdir","rm","mv","cp","chmod","ln","true","false",":","test","[","exit","return","nohup","sudo","doas","env"]),Ow=new Set(["for","while","until","if","then","else","elif","fi","do","done","case","esac","select","function","time","coproc","in","!","[[","]]","{","}",".","declare","typeset","local","readonly","unset","set","shift","trap","wait","read","eval","exec","break","continue","pushd","popd","dirs","alias","unalias","hash","ulimit","umask","getopts","let","shopt","builtin","command","compgen","complete","disown","suspend","jobs","fg","bg","kill","history","fc","bind","enable","caller","type","printf","pwd","times","logout","mapfile","readarray","help","which","print","whence","where","autoload","zmodload","setopt","unsetopt","emulate","noglob","rehash","functions","bindkey","zle","vared","sched","limit","unlimit","zstyle","zparseopts","ttyctl"]),Of=new Set(["sh","bash","zsh","dash","ksh","fish","python","python3","python2","node","ruby","perl","php","awk","sed","deno","bun"]),Cf="(?:dev|start|serve|watch|preview)",Cw=new RegExp(`^(?:\\S*/)?(?:bun\\s+(?:install|i|add|remove|rm|update|outdated|audit|test|build|pm|x)(?:\\s|$)|bun\\s+run\\s+(?!${Cf}(?:\\s|$))[A-Za-z0-9:_-]+(?:\\s|$)|deno\\s+(?:test|lint|fmt|check|compile|install|info|doc|bench|outdated)(?:\\s|$)|deno\\s+task\\s+(?!${Cf}(?:\\s|$))[A-Za-z0-9:_-]+(?:\\s|$)|php\\s+-l(?:\\s|$)|php\\s+(?:\\S*/)?(?:phpunit|pest|paratest|phpstan|pint|ecs|php-cs-fixer|psalm|rector|run-tests\\.php)(?:\\s|$)|php\\s+artisan\\s+(?!(?:serve|tinker|queue:work|queue:listen|horizon|octane:start|reverb:start|schedule:work|pail|dev)(?:\\s|$))\\S)`),Iw=/(?:^|\s)--watch(?:\s|=|$)/;function Pw(e){return Cw.test(e)&&!Iw.test(e)}var Nw=/^((?:\S*\/)?(sh|bash|zsh|dash|ksh|fish)\s+(-[elux]*c[elux]*)\s+)(['"])/,Dw=/[()$]|(?:^|[;&|\n]\s*)(?:and|or|not|begin|end|if|else|switch|case|while|for|function|return)(?:\s|;|$)/,Lf=3;function jf(e){let t=Nw.exec(e);if(!t)return null;let n=t[2]==="fish";if(n&&t[3]!=="-c")return null;let r=t[4],s=t[1].length+1,o=e.indexOf(r,s);if(o<=s)return null;let i=e.slice(o+1);if(i&&!/^\s/.test(i))return null;let a=e.slice(s,o);return r==='"'&&/[$`\\!]/.test(a)||n&&Dw.test(a)?null:{script:a,start:s,end:o,quote:r}}var Mw=new Set(["cd","export","set","unset","source",".","true",":","pushd","popd"]);function Fw(e){return Qt(e).filter(n=>{if(n.kind!=="cmd"||n.unsafe)return!1;let r=Bf(n.text);return r!==""&&!Mw.has(r)&&!ui.test(r)}).length>1}function Lw(e,t,n,r,s){if(n>=Lf)return null;let o=jf(e);if(!o)return null;let{script:i,start:a,end:l,quote:u}=o,c=[],f=Uf(i,t,n+1,r,k=>c.push(k));if(f===i||u==='"'&&/["$`]/.test(f))return null;let d=u==="'"?f.replace(/'/g,"'\\''"):f,p=`${e.slice(0,a)}${d}${e.slice(l)}`,m=Fw(i);if(s)for(let k of m?[e,...c]:c)s(k);return m?`${t} ${p}`:p}var If=/(?:^|\s)(?:--follow|-[0-9a-zA-Z]*f[a-zA-Z]*)(?:\s|=|$)/,jw=new Set(["docker","podman","kubectl","nerdctl","docker-compose","stern","flyctl"]);function Hw(e,t){let n=ts(t);return n==="tail"||n==="journalctl"?If.test(e):n==="stern"?!0:jw.has(n)?/\blogs?\b/.test(e)&&If.test(e):!1}var ui=/^[A-Za-z_][A-Za-z0-9_]*\+?=/,Bw=/^[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/,Uw=/(?:^|[;&|\n({])\s*[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/;function ts(e){let t=e.lastIndexOf("/");return t===-1?e:e.slice(t+1)}function Hf(e){let t=new Array(e.length).fill(!1),n=[],r=0;for(;r<e.length;){let s=e[r],o=e[r+1],i=n[n.length-1];if(i==="'"){s==="'"&&n.pop(),r+=1;continue}if(s==="\\"){if(o===void 0)return null;r+=2;continue}if(i==="$'"){s==="'"&&n.pop(),r+=1;continue}if(s==="$"&&(o==="("||o==="{")){n.push(o==="("?")":"}"),r+=2;continue}if(s==="`"){i==="`"?n.pop():n.push("`"),r+=1;continue}if(i==='"'){s==='"'&&n.pop(),r+=1;continue}if(s==="$"&&o==="'"){n.push("$'"),r+=2;continue}if(s==="'"||s==='"'){n.push(s),r+=1;continue}if(s==="("||s==="{"&&i==="}"){n.push(s==="("?")":"}"),r+=1;continue}if(s===i){n.pop(),r+=1;continue}if(s===")"&&i===void 0)return null;t[r]=i===void 0,r+=1}return n.length===0?t:null}function Pf(e){let t=Hf(e);if(!t)return!0;for(let n=0;n<e.length;n++)if(t[n]&&e[n]===">")return!0;return!1}function Qt(e){let t=Hf(e);if(!t)return[{kind:"cmd",text:e,unsafe:!0}];let n=[],r="",s=0,o=()=>{r.length>0&&(n.push({kind:"cmd",text:r}),r="")},i=(a,l)=>{o(),n.push({kind:"sep",text:a}),s+=l};for(;s<e.length;){let a=e[s],l=e[s+1];if(t[s]){if(a===">"&&l==="|"){r+=">|",s+=2;continue}if(a==="&"&&l==="&"){i("&&",2);continue}if(a==="&"&&l!==">"){let u=r.replace(/\s+$/,""),c=u[u.length-1];if(c!==">"&&c!=="<"&&c!=="&"){i("&",1);continue}}if(a==="|"&&l==="|"){i("||",2);continue}if(a==="|"&&l==="&"){i("|&",2);continue}if(a===";"&&l===";"){let u=e[s+2]==="&";i(u?";;&":";;",u?3:2);continue}if(a===";"||a===`
118
- `||a==="|"){i(a,1);continue}}r+=a,s+=1}return o(),n}function Bf(e){return e.trim().split(/\s+/)[0]??""}function Se(e,t=process.platform){try{let n=Ff(Rw(import.meta.url)),r=t==="win32",s=e&&e!=="claude-code"&&e!=="codex"&&!r?`TOKMIZER_HOST=${e} `:"";if(r&&(!e||e==="claude-code")){let a=F(n,"..","bin","tkr-exec.exe");if(zn(a))return ai(a,t)?`'${a.replace(/\\/g,"/").replace(/'/g,"'\\''")}'`:null}let o=F(n,"..","bin","tkr-exec");if(!r&&zn(o))return ai(o,t)?`${s}'${o.replace(/'/g,"'\\''")}'`:null;if($e()){let a=r?process.execPath.replace(/\\/g,"/"):process.execPath;return`${s}'${a.replace(/'/g,"'\\''")}' exec`}let i=F(n,"..","bin","tkr-exec.js");return zn(i)?`${s}node '${i.replace(/'/g,"'\\''")}'`:null}catch{return null}}function ci(e,t="tkr-exec",n=()=>!0,r){return Uf(e,t,0,n,r)}function Uf(e,t,n,r,s){if(e.includes("<<")||Uw.test(e))return e;let o=Qt(e),i=[];for(let a=0;a<o.length;a++){let l=o[a];if(l.kind==="sep"||l.unsafe){i.push(l.text);continue}let u=l.text.trim();if(!u){i.push(l.text);continue}let c=Bf(u),f=o[a+1],d=f?.kind==="sep"&&(f.text==="|"||f.text==="|&"),p=f?.kind==="sep"&&f.text==="&",m=!d&&!p&&!Pf(l.text)&&!l.text.includes("<(")&&!l.text.includes(">(")?Lw(u,t,n,r,s):null;if(m!==null){i.push(`${l.text.match(/^\s*/)?.[0]??""}${m}${l.text.match(/\s*$/)?.[0]??""}`);continue}if(u===t||u.startsWith(t)&&/^\s/.test(u.slice(t.length))||$w.has(c)||Ow.has(c)||(Of.has(c)||Of.has(ts(c)))&&!Pw(u)||ui.test(c)||c.startsWith("(")||c.startsWith("#")||c.startsWith("<")||c.startsWith(">")||Bw.test(u)||Hw(u,c)||c.endsWith(")")||d||p||Pf(l.text)||l.text.includes("<(")||l.text.includes(">(")||c==="node"&&u.includes("tkr-exec.js")||!r(c)){i.push(l.text);continue}let k=l.text.match(/^\s*/)?.[0]??"",g=l.text.match(/\s*$/)?.[0]??"";s?.(u),i.push(`${k}${t} ${u}${g}`)}return i.join("")}var zw=new Set(["command","workdir","timeout_ms","yield_time_ms","max_output_tokens","shell","login","tty","description"]),Jw=new Set(["cd","cat","head","tail","ls","tree","find","grep","rg","wc","nl","sort","cut","diff","stat","file","du","df","ps","jq","yq","pwd","which"]),Zw=new Set(["log","diff","show","status","blame","ls-files","rev-parse","describe","shortlog"]),Gw={find:/^-(?:delete|exec|execdir|ok|okdir|fprint|fls)/,sort:/^(?:-[^-]*o|--output|--compress-program)/,rg:/^(?:--pre|--hostname-bin|-[^-]*z|--search-zip)/,yq:/^(?:-[^-]*[is]|--inplace|--split-exp)/,file:/^(?:-C|--compile)/,tree:/^(?:-o|--output|-R$|-H$)/,git:/^(?:--output|--ext-diff|--textconv|-c$|--exec-path|--git-dir|--work-tree)/,eslint:/^--fix/},Xr=["test","run test","run build","run lint","run typecheck"],Kw={npm:new Set(Xr),pnpm:new Set([...Xr,"build","lint","typecheck"]),yarn:new Set([...Xr,"build","lint","typecheck"]),bun:new Set(Xr),cargo:new Set(["test","build","check","clippy"]),go:new Set(["test","build","vet"]),mvn:new Set(["test","compile","verify"]),gradle:new Set(["test","build","check"]),dotnet:new Set(["test","build"])},Ww=new Set(["pytest","tsc","vitest","jest","eslint","mypy"]);function zf(e,t,n=0){if(/\$|`|<\(|>\(|\\\r?\n/.test(e)||/>/.test(e.replace(/2>&1|[12]?>\s*\/dev\/null/g,"")))return!1;for(let r of Qt(e)){if(r.kind==="sep")continue;if(r.unsafe)return!1;let s=n<Lf?jf(r.text.trim()):null;if(s){if(!zf(s.script,t,n+1))return!1;continue}let o=r.text.trim().split(/\s+/).filter(Boolean).map(u=>u.replace(/['"\\]/g,""));if(o.length===0)continue;if(o.some(u=>ui.test(u)))return!1;let i=ts(o[0]);if(i!==o[0])return!1;let a=Gw[i];if(a&&o.slice(1).some(u=>a.test(u)))return!1;if((i==="git"?Zw.has(o[1]??""):Jw.has(i))||t&&Ww.has(i))continue;let l=t?Kw[i]:void 0;if(!(l&&(l.has(o[1]??"")||o[1]==="run"&&l.has(`run ${o[2]??""}`))))return!1}return!0}function Jf(e,t,n=Se(t),r=se,s=ns(),o=process.env.PATH,i=Zn){if(!oe(e)||e.tool_name!=="Bash"||t==="claude-code"&&Yw(i()))return null;let a=e.tool_input;if(!oe(a)||a.run_in_background)return null;let l=a.command;if(typeof l!="string"||!l||t==="codex"&&Object.keys(a).some(k=>!zw.has(k)))return null;let u=typeof e.cwd=="string"&&e.cwd?e.cwd:a.workdir,c=typeof u=="string"&&u?u:void 0,f=typeof e.session_id=="string"&&e.session_id?e.session_id:"unknown",d=typeof e.permission_mode=="string"?e.permission_mode:void 0,p=qf(l,{host:t,sessionId:f,cwd:c,claudeDirs:s,pathEnv:o,permissionMode:d},n,r);if(!p)return null;let m={...a,command:p.command};return JSON.stringify({hookSpecificOutput:t==="codex"?{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:m}:p.allowedBy?{hookEventName:"PreToolUse",permissionDecision:"allow",permissionDecisionReason:`Tokmizer: allowed by your rule ${p.allowedBy}`,updatedInput:m}:{hookEventName:"PreToolUse",updatedInput:m}})}var Vw=/(?:^|\s)--(?:disallowedTools|disallowed-tools|settings|setting-sources)(?:[=\s]|$)/;function Zn(e=process.env,t=process.platform){let n=Number(e.CLAUDE_PID)||process.ppid;if(t==="win32"||!Number.isInteger(n)||n<=1)return null;try{let r=Tw("ps",["-ww","-o","args=","-p",String(n)],{encoding:"utf8",timeout:2e3});return r.status===0&&r.stdout.trim()?r.stdout:null}catch{return null}}function Yw(e){return e===null||Vw.test(e)}function qw(e,t){if(!zn(e))return"missing";try{let n=Qr(e,"utf8");return JSON.parse(t?Zf(n):n)}catch{return"unreadable"}}function Zf(e){let t="",n=!1;for(let r=0;r<e.length;r++){let s=e[r];if(n){t+=s,s==="\\"?t+=e[++r]??"":s==='"'&&(n=!1);continue}if(s==='"')n=!0,t+=s;else if(s==="/"&&e[r+1]==="/"){for(;r<e.length&&e[r]!==`
116
+ `:"",{mode:384}),G_(i,e)}catch{}}var tw="usage.jsonl";var Of=2*1024*1024;function nw(){return ew(x(),tw)}function oe(e,t,n=nw()){try{let r=Q_(n);X_(r)||Y_(r,{recursive:!0,mode:448});let s=e.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64)||"unknown";V_(n,`{"t":${Math.floor(Date.now()/1e3)},"s":"${s}","o":${t?1:0}}
117
+ `,{mode:384}),q_(n,384),$f(n,Of,Of/2)}catch{}}Ve();B();import{execFileSync as Sw}from"node:child_process";import{mkdirSync as vw,readFileSync as Df,renameSync as Ew,statSync as Tw,writeFileSync as Rw}from"node:fs";import{join as Mf}from"node:path";import{closeSync as rw,openSync as sw,readSync as ow,readdirSync as iw,readFileSync as aw,statSync as If}from"node:fs";import{homedir as lw}from"node:os";import{isAbsolute as uw,join as ts,resolve as cw}from"node:path";var fw=/^[A-Za-z0-9._+@%:,/-]+$/,dw=new Set(["7f454c46","feedface","feedfacf","cefaedfe","cffaedfe","cafebabe","bebafeca"]),pw=32,mw=4*1024*1024;function li(e){let t;try{t=sw(e,"r");let n=Buffer.alloc(4),r=ow(t,n,0,4,0);return r>=2&&n[0]===35&&n[1]===33?"#!":r===4?n.toString("hex"):null}catch{return null}finally{t!==void 0&&rw(t)}}function Jn(e,t=process.platform){try{let n=If(e);if(!n.isFile())return!1;if(t==="win32")return!0;if((n.mode&73)===0)return!1;let r=li(e);return r==="#!"||r!==null&&dw.has(r)}catch{return!1}}function hw(e){if(/\.[A-Za-z0-9]+$/.test(e))return[e];let t=(process.env.PATHEXT??".COM;.EXE;.BAT;.CMD").split(";").filter(Boolean);return[e,...t.map(n=>e+n.toLowerCase())]}function en(e,t,n,r=process.platform){if(!fw.test(e))return!1;let s=r==="win32";if(e.includes("/"))return Jn(cw(t??process.cwd(),e),r);if(!n)return!1;let o=s?hw(e):[e];for(let i of n.split(s?";":":"))if(!(!i||!uw(i))){for(let a of o)if(Jn(ts(i,a),r))return!0}return!1}var gw=/^eval \$'([^\s'()=]+) \(\) /,yw=/^([^\s'"()=]+) \(\) \{$/,bw=/^alias -- ([^\s=]+)=(.*)$/,kw=/^# (?:Shell Options|Aliases|Shopt|Check for |Shadow )/,_w=/^export PATH=(.*)$/,ww=/^(?:--colou?r(?:=\S+)?|-G)$/;function Cf(e){return e.length>=2&&e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1).replace(/'\\''/g,"'"):e.length>=2&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e}function xw(e,t){let n="";for(let r of e.split(`
118
+ `)){let s=_w.exec(r);if(s&&n!=="# Functions"){let o=Cf(s[1].trim());/[$`\\]/.test(o)||t.paths.push(o);continue}if(r.startsWith("# ")&&(n!=="# Functions"||kw.test(r))){n=r;continue}if(n==="# Functions"){let o=gw.exec(r)??yw.exec(r);o&&t.functions.add(o[1])}else if(n==="# Aliases"){let o=bw.exec(r);o&&t.aliases.set(o[1],Cf(o[2].trim()))}}}function ai(e){return e?.code==="ENOENT"}function Pf(e){let t={functions:new Set,aliases:new Map,paths:[],uncertain:!1},n=ts(e||ts(lw(),".claude"),"shell-snapshots"),r=[];try{for(let s of iw(n)){if(!s.startsWith("snapshot-")||!s.endsWith(".sh"))continue;let o=ts(n,s);try{let i=If(o);i.isFile()&&r.push({path:o,mtime:i.mtimeMs,size:i.size})}catch(i){ai(i)||(t.uncertain=!0)}}}catch(s){return ai(s)||(t.uncertain=!0),t}r=r.sort((s,o)=>o.mtime-s.mtime).slice(0,pw);for(let s of r)try{if(s.size>mw)throw new Error("snapshot too large");xw(aw(s.path,"utf8"),t)}catch(o){ai(o)||(t.uncertain=!0)}return t}function Nf(e,t){if(t.uncertain||t.functions.has(e))return!0;let n=t.aliases.get(e);if(n===void 0)return!1;let r=n.trim().split(/\s+/);return r[0]!==e||!r.slice(1).every(s=>ww.test(s))}var Aw="exec-probe.json",$w=6e4;function Ow(){return Mf(x(),Aw)}function Cw(e){try{let t=JSON.parse(Df(e,"utf8"));if(t==null||typeof t!="object")return null;let n=t;return typeof n.key!="string"||typeof n.ok!="boolean"?null:{key:n.key,ok:n.ok,at:typeof n.at=="number"?n.at:0,skipped:typeof n.skipped=="number"&&n.skipped>=0?n.skipped:0}}catch{return null}}function Iw(e,t){try{vw(Mf(e,".."),{recursive:!0,mode:448});let n=`${e}.${process.pid}.tmp`;Rw(n,JSON.stringify(t),{mode:384}),Ew(n,e)}catch{}}function Pw(e){try{return Sw(e,["--native-check"],{encoding:"utf8",timeout:2e3,maxBuffer:1024,stdio:["ignore","pipe","ignore"],windowsHide:!0}).startsWith("tokmizer-native ")}catch{return!1}}function Nw(e,t){try{let r=Df(e,"utf8").split(`
119
+ `,1)[0].slice(2).trim().split(/\s+/),s=r[0]??"";return s==="/usr/bin/env"?en(r[1]??"",void 0,t):Jn(s)}catch{return!1}}function Dw(e,t,n){try{let r=Tw(e);return[e,r.size,r.mtimeMs,r.ino,r.mode,t?n??"":""].join("|")}catch{return`${e}|missing`}}function ui(e,t=process.platform,n=process.env.PATH,r=Ow(),s=Date.now()){let o=t!=="win32"&&li(e)==="#!",i=Dw(e,o,n),a=Cw(r);if(a?.key===i&&(a.ok||s-a.at<$w))return a.ok;let l=Jn(e,t)&&(o?Nw(e,n):Pw(e));return Iw(r,{key:i,ok:l,at:s,skipped:(a?.skipped??0)+(l?0:1)}),l}var jw=new Set(["tkr","tkr-exec","token","claude","cd","export","source","echo","mkdir","rm","mv","cp","chmod","ln","true","false",":","test","[","exit","return","nohup","sudo","doas","env"]),Hw=new Set(["for","while","until","if","then","else","elif","fi","do","done","case","esac","select","function","time","coproc","in","!","[[","]]","{","}",".","declare","typeset","local","readonly","unset","set","shift","trap","wait","read","eval","exec","break","continue","pushd","popd","dirs","alias","unalias","hash","ulimit","umask","getopts","let","shopt","builtin","command","compgen","complete","disown","suspend","jobs","fg","bg","kill","history","fc","bind","enable","caller","type","printf","pwd","times","logout","mapfile","readarray","help","which","print","whence","where","autoload","zmodload","setopt","unsetopt","emulate","noglob","rehash","functions","bindkey","zle","vared","sched","limit","unlimit","zstyle","zparseopts","ttyctl"]),Lf=new Set(["sh","bash","zsh","dash","ksh","fish","python","python3","python2","node","ruby","perl","php","awk","sed","deno","bun"]),Ff="(?:dev|start|serve|watch|preview)",Bw=new RegExp(`^(?:\\S*/)?(?:bun\\s+(?:install|i|add|remove|rm|update|outdated|audit|test|build|pm|x)(?:\\s|$)|bun\\s+run\\s+(?!${Ff}(?:\\s|$))[A-Za-z0-9:_-]+(?:\\s|$)|deno\\s+(?:test|lint|fmt|check|compile|install|info|doc|bench|outdated)(?:\\s|$)|deno\\s+task\\s+(?!${Ff}(?:\\s|$))[A-Za-z0-9:_-]+(?:\\s|$)|php\\s+-l(?:\\s|$)|php\\s+(?:\\S*/)?(?:phpunit|pest|paratest|phpstan|pint|ecs|php-cs-fixer|psalm|rector|run-tests\\.php)(?:\\s|$)|php\\s+artisan\\s+(?!(?:serve|tinker|queue:work|queue:listen|horizon|octane:start|reverb:start|schedule:work|pail|dev)(?:\\s|$))\\S)`),Uw=/(?:^|\s)--watch(?:\s|=|$)/;function zw(e){return Bw.test(e)&&!Uw.test(e)}var Jw=/^((?:\S*\/)?(sh|bash|zsh|dash|ksh|fish)\s+(-[elux]*c[elux]*)\s+)(['"])/,Zw=/[()$]|(?:^|[;&|\n]\s*)(?:and|or|not|begin|end|if|else|switch|case|while|for|function|return)(?:\s|;|$)/,Zf=3;function Gf(e){let t=Jw.exec(e);if(!t)return null;let n=t[2]==="fish";if(n&&t[3]!=="-c")return null;let r=t[4],s=t[1].length+1,o=e.indexOf(r,s);if(o<=s)return null;let i=e.slice(o+1);if(i&&!/^\s/.test(i))return null;let a=e.slice(s,o);return r==='"'&&/[$`\\!]/.test(a)||n&&Zw.test(a)?null:{script:a,start:s,end:o,quote:r}}var Gw=new Set(["cd","export","set","unset","source",".","true",":","pushd","popd"]);function Kw(e){return tn(e).filter(n=>{if(n.kind!=="cmd"||n.unsafe)return!1;let r=Wf(n.text);return r!==""&&!Gw.has(r)&&!fi.test(r)}).length>1}function Ww(e,t,n,r,s){if(n>=Zf)return null;let o=Gf(e);if(!o)return null;let{script:i,start:a,end:l,quote:u}=o,c=[],f=Vf(i,t,n+1,r,k=>c.push(k));if(f===i||u==='"'&&/["$`]/.test(f))return null;let d=u==="'"?f.replace(/'/g,"'\\''"):f,p=`${e.slice(0,a)}${d}${e.slice(l)}`,m=Kw(i);if(s)for(let k of m?[e,...c]:c)s(k);return m?`${t} ${p}`:p}var jf=/(?:^|\s)(?:--follow|-[0-9a-zA-Z]*f[a-zA-Z]*)(?:\s|=|$)/,Vw=new Set(["docker","podman","kubectl","nerdctl","docker-compose","stern","flyctl"]);function qw(e,t){let n=ss(t);return n==="tail"||n==="journalctl"?jf.test(e):n==="stern"?!0:Vw.has(n)?/\blogs?\b/.test(e)&&jf.test(e):!1}var fi=/^[A-Za-z_][A-Za-z0-9_]*\+?=/,Yw=/^[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/,Xw=/(?:^|[;&|\n({])\s*[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/;function ss(e){let t=e.lastIndexOf("/");return t===-1?e:e.slice(t+1)}function Kf(e){let t=new Array(e.length).fill(!1),n=[],r=0;for(;r<e.length;){let s=e[r],o=e[r+1],i=n[n.length-1];if(i==="'"){s==="'"&&n.pop(),r+=1;continue}if(s==="\\"){if(o===void 0)return null;r+=2;continue}if(i==="$'"){s==="'"&&n.pop(),r+=1;continue}if(s==="$"&&(o==="("||o==="{")){n.push(o==="("?")":"}"),r+=2;continue}if(s==="`"){i==="`"?n.pop():n.push("`"),r+=1;continue}if(i==='"'){s==='"'&&n.pop(),r+=1;continue}if(s==="$"&&o==="'"){n.push("$'"),r+=2;continue}if(s==="'"||s==='"'){n.push(s),r+=1;continue}if(s==="("||s==="{"&&i==="}"){n.push(s==="("?")":"}"),r+=1;continue}if(s===i){n.pop(),r+=1;continue}if(s===")"&&i===void 0)return null;t[r]=i===void 0,r+=1}return n.length===0?t:null}function Hf(e){let t=Kf(e);if(!t)return!0;for(let n=0;n<e.length;n++)if(t[n]&&e[n]===">")return!0;return!1}function tn(e){let t=Kf(e);if(!t)return[{kind:"cmd",text:e,unsafe:!0}];let n=[],r="",s=0,o=()=>{r.length>0&&(n.push({kind:"cmd",text:r}),r="")},i=(a,l)=>{o(),n.push({kind:"sep",text:a}),s+=l};for(;s<e.length;){let a=e[s],l=e[s+1];if(t[s]){if(a===">"&&l==="|"){r+=">|",s+=2;continue}if(a==="&"&&l==="&"){i("&&",2);continue}if(a==="&"&&l!==">"){let u=r.replace(/\s+$/,""),c=u[u.length-1];if(c!==">"&&c!=="<"&&c!=="&"){i("&",1);continue}}if(a==="|"&&l==="|"){i("||",2);continue}if(a==="|"&&l==="&"){i("|&",2);continue}if(a===";"&&l===";"){let u=e[s+2]==="&";i(u?";;&":";;",u?3:2);continue}if(a===";"||a===`
120
+ `||a==="|"){i(a,1);continue}}r+=a,s+=1}return o(),n}function Wf(e){return e.trim().split(/\s+/)[0]??""}function we(e,t=process.platform){try{let n=Jf(Lw(import.meta.url)),r=t==="win32",s=e&&e!=="claude-code"&&e!=="codex"&&!r?`TOKMIZER_HOST=${e} `:"";if(r&&(!e||e==="claude-code")){let a=F(n,"..","bin","tkr-exec.exe");if(Zn(a))return ui(a,t)?`'${a.replace(/\\/g,"/").replace(/'/g,"'\\''")}'`:null}let o=F(n,"..","bin","tkr-exec");if(!r&&Zn(o))return ui(o,t)?`${s}'${o.replace(/'/g,"'\\''")}'`:null;if(Re()){let a=r?process.execPath.replace(/\\/g,"/"):process.execPath;return`${s}'${a.replace(/'/g,"'\\''")}' exec`}let i=F(n,"..","bin","tkr-exec.js");return Zn(i)?`${s}node '${i.replace(/'/g,"'\\''")}'`:null}catch{return null}}function di(e,t="tkr-exec",n=()=>!0,r){return Vf(e,t,0,n,r)}function Vf(e,t,n,r,s){if(e.includes("<<")||Xw.test(e))return e;let o=tn(e),i=[];for(let a=0;a<o.length;a++){let l=o[a];if(l.kind==="sep"||l.unsafe){i.push(l.text);continue}let u=l.text.trim();if(!u){i.push(l.text);continue}let c=Wf(u),f=o[a+1],d=f?.kind==="sep"&&(f.text==="|"||f.text==="|&"),p=f?.kind==="sep"&&f.text==="&",m=!d&&!p&&!Hf(l.text)&&!l.text.includes("<(")&&!l.text.includes(">(")?Ww(u,t,n,r,s):null;if(m!==null){i.push(`${l.text.match(/^\s*/)?.[0]??""}${m}${l.text.match(/\s*$/)?.[0]??""}`);continue}if(u===t||u.startsWith(t)&&/^\s/.test(u.slice(t.length))||jw.has(c)||Hw.has(c)||(Lf.has(c)||Lf.has(ss(c)))&&!zw(u)||fi.test(c)||c.startsWith("(")||c.startsWith("#")||c.startsWith("<")||c.startsWith(">")||Yw.test(u)||qw(u,c)||c.endsWith(")")||d||p||Hf(l.text)||l.text.includes("<(")||l.text.includes(">(")||c==="node"&&u.includes("tkr-exec.js")||!r(c)){i.push(l.text);continue}let k=l.text.match(/^\s*/)?.[0]??"",g=l.text.match(/\s*$/)?.[0]??"";s?.(u),i.push(`${k}${t} ${u}${g}`)}return i.join("")}var Qw=new Set(["command","workdir","timeout_ms","yield_time_ms","max_output_tokens","shell","login","tty","description"]),ex=new Set(["cd","cat","head","tail","ls","tree","find","grep","rg","wc","nl","sort","cut","diff","stat","file","du","df","ps","jq","yq","pwd","which"]),tx=new Set(["log","diff","show","status","blame","ls-files","rev-parse","describe","shortlog"]),nx={find:/^-(?:delete|exec|execdir|ok|okdir|fprint|fls)/,sort:/^(?:-[^-]*o|--output|--compress-program)/,rg:/^(?:--pre|--hostname-bin|-[^-]*z|--search-zip)/,yq:/^(?:-[^-]*[is]|--inplace|--split-exp)/,file:/^(?:-C|--compile)/,tree:/^(?:-o|--output|-R$|-H$)/,git:/^(?:--output|--ext-diff|--textconv|-c$|--exec-path|--git-dir|--work-tree)/,eslint:/^--fix/},ns=["test","run test","run build","run lint","run typecheck"],rx={npm:new Set(ns),pnpm:new Set([...ns,"build","lint","typecheck"]),yarn:new Set([...ns,"build","lint","typecheck"]),bun:new Set(ns),cargo:new Set(["test","build","check","clippy"]),go:new Set(["test","build","vet"]),mvn:new Set(["test","compile","verify"]),gradle:new Set(["test","build","check"]),dotnet:new Set(["test","build"])},sx=new Set(["pytest","tsc","vitest","jest","eslint","mypy"]);function qf(e,t,n=0){if(/\$|`|<\(|>\(|\\\r?\n/.test(e)||/>/.test(e.replace(/2>&1|[12]?>\s*\/dev\/null/g,"")))return!1;for(let r of tn(e)){if(r.kind==="sep")continue;if(r.unsafe)return!1;let s=n<Zf?Gf(r.text.trim()):null;if(s){if(!qf(s.script,t,n+1))return!1;continue}let o=r.text.trim().split(/\s+/).filter(Boolean).map(u=>u.replace(/['"\\]/g,""));if(o.length===0)continue;if(o.some(u=>fi.test(u)))return!1;let i=ss(o[0]);if(i!==o[0])return!1;let a=nx[i];if(a&&o.slice(1).some(u=>a.test(u)))return!1;if((i==="git"?tx.has(o[1]??""):ex.has(i))||t&&sx.has(i))continue;let l=t?rx[i]:void 0;if(!(l&&(l.has(o[1]??"")||o[1]==="run"&&l.has(`run ${o[2]??""}`))))return!1}return!0}function Yf(e,t,n=we(t),r=oe,s=os(),o=process.env.PATH,i=Wn){if(!q(e)||e.tool_name!=="Bash"||t==="claude-code"&&ix(i()))return null;let a=e.tool_input;if(!q(a)||a.run_in_background)return null;let l=a.command;if(typeof l!="string"||!l||t==="codex"&&Object.keys(a).some(k=>!Qw.has(k)))return null;let u=typeof e.cwd=="string"&&e.cwd?e.cwd:a.workdir,c=typeof u=="string"&&u?u:void 0,f=typeof e.session_id=="string"&&e.session_id?e.session_id:"unknown",d=typeof e.permission_mode=="string"?e.permission_mode:void 0,p=od(l,{host:t,sessionId:f,cwd:c,claudeDirs:s,pathEnv:o,permissionMode:d},n,r);if(!p)return null;let m={...a,command:p.command};return JSON.stringify({hookSpecificOutput:t==="codex"?{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:m}:p.allowedBy?{hookEventName:"PreToolUse",permissionDecision:"allow",permissionDecisionReason:`Tokmizer: allowed by your rule ${p.allowedBy}`,updatedInput:m}:{hookEventName:"PreToolUse",updatedInput:m}})}var ox=/(?:^|\s)--(?:disallowedTools|disallowed-tools|settings|setting-sources)(?:[=\s]|$)/;function Wn(e=process.env,t=process.platform){let n=Number(e.CLAUDE_PID)||process.ppid;if(t==="win32"||!Number.isInteger(n)||n<=1)return null;try{let r=Mw("ps",["-ww","-o","args=","-p",String(n)],{encoding:"utf8",timeout:2e3});return r.status===0&&r.stdout.trim()?r.stdout:null}catch{return null}}function ix(e){return e===null||ox.test(e)}function ax(e,t){if(!Zn(e))return"missing";try{let n=Gn(e,"utf8");return JSON.parse(t?Xf(n):n)}catch{return"unreadable"}}function Xf(e){let t="",n=!1;for(let r=0;r<e.length;r++){let s=e[r];if(n){t+=s,s==="\\"?t+=e[++r]??"":s==='"'&&(n=!1);continue}if(s==='"')n=!0,t+=s;else if(s==="/"&&e[r+1]==="/"){for(;r<e.length&&e[r]!==`
119
121
  `;)r++;t+=`
120
- `}else if(s==="/"&&e[r+1]==="*"){if(r=e.indexOf("*/",r+2),r===-1)return"";r+=1}else t+=s}return t.replace(/,(\s*[}\]])/g,"$1")}function Gn(e){let t=[],n=Aw(e);for(;;){t.push(n);let r=Ff(n);if(r===n)return t;n=r}}function Xw(){let e=process.platform==="darwin"?"/Library/Application Support/ClaudeCode":process.platform==="win32"?"C:\\Program Files\\ClaudeCode":"/etc/claude-code",t=[F(e,"managed-settings.json")];try{for(let n of es(F(e,"managed-settings.d")))n.endsWith(".json")&&t.push(F(e,"managed-settings.d",n))}catch{return t}return t}function Kn(e,t,n,r){let s=[];for(let o of e){let i=qw(o,t);if(i!=="missing"&&(i==="unreadable"||!oe(i)||!n(i,s)))return"unreadable"}return{matchers:s,complete:r}}function Jn(e){return e===void 0?[]:Array.isArray(e)?e.filter(t=>typeof t=="string"):null}function ns(){return{projectDir:process.env.CLAUDE_PROJECT_DIR,configDir:process.env.CLAUDE_CONFIG_DIR}}function Qw(e,t){let n=g=>[F(g,"settings.json"),F(g,"settings.local.json")],r=g=>n(F(g,".claude")),s=F(St(),".claude"),o=t.configDir||s,i=[[Xw(),"managed"],[[F(o,"settings.json")],"loaded"],[[F(o,"settings.local.json")],"loadedLocal"],[t.configDir?n(s):[],"extra"],[t.projectDir?r(t.projectDir):[],"project"],[Gn(e).flatMap(r),"extra"]],a=[],l={managed:[],loaded:[],loadedLocal:[],project:[],extra:[]},u={managed:!1,loaded:!1,loadedLocal:!1,project:!1,extra:!1},c=!1,f="managed",d=(g,T)=>{let S=g.permissions;if(f==="managed"&&(g.allowManagedPermissionRulesOnly===!0||oe(S)&&S.allowManagedPermissionRulesOnly===!0)&&(c=!0),S===void 0)return!0;if(!oe(S))return!1;for(let O of["deny","ask","allow"]){let E=Jn(S[O]);if(!E)return!1;for(let C of E){let P=/^\s*Bash\s*(?:\(([\s\S]*)\))?\s*$/.exec(C);if(P)if(O!=="allow")T.push(vt((P[1]??"*").replace(/:\*$/," *")));else if(P[1]===void 0||P[1].trim()==="*")u[f]=!0;else{a.push(vt(P[1].replace(/:\*$/," *")));let L=yx(P[1]);L&&l[f].push({rule:C.trim(),matches:L})}}}return!0},p=[];for(let[g,T]of i){f=T;let S=Kn(g,!1,d,!0);if(S==="unreadable")return"unreadable";p.push(...S.matchers)}let m=u.managed||(u.loaded||u.loadedLocal)&&!c,k=[...l.managed,...c?[]:l.loaded];return{matchers:[...p,...m?[]:a],complete:!0,allow:a,allowsEverything:m,guards:p,trustedAllow:k}}function ex(e){let t=[F(St(),".cursor","cli-config.json"),...Gn(e).map(n=>F(n,".cursor","cli.json"))];return Kn(t,!0,(n,r)=>{let s=n.permissions;if(s===void 0)return!0;if(!oe(s))return!1;let o=Jn(s.deny);if(!o)return!1;for(let i of o){let a=/^\s*Shell\s*(?:\(([\s\S]*)\))?\s*$/.exec(i);if(!a)continue;let l=a[1]??"*",u=l.indexOf(":");r.push(vt(u===-1?`${l} *`:`${l.slice(0,u)} ${l.slice(u+1)}`))}return!0},!1)}function tx(){return process.platform==="darwin"?"/Library/Application Support/GeminiCli":process.platform==="win32"?"C:\\ProgramData\\gemini-cli":"/etc/gemini-cli"}var Gf=/^\s*(?:run_shell_command|ShellTool)\s*(?:\(([\s\S]*)\))?\s*$/;function nx(e,t){let n=e.tools;if(n!==void 0&&!oe(n))return!1;let r=[Jn(e.excludeTools),Jn(oe(n)?n.exclude:void 0)];for(let s of r){if(!s)return!1;for(let o of s){let i=Gf.exec(o);i&&t.push(vt(i[1]===void 0?"*":`${i[1]}*`))}}return!0}function Nf(e){try{return JSON.parse(e)}catch{return null}}function rx(e){let t=e.trim();if(t.startsWith('"""')||t.startsWith("'''"))return null;if(t.startsWith("[")){if(!/\]\s*(?:#.*)?$/.test(t))return null;let n=[];for(let r of t.matchAll(/"((?:\\.|[^"\\])*)"|'([^']*)'/g)){let s=r[2]??Nf(`"${r[1]}"`);if(s===null)return null;n.push(s)}return n}if(t.startsWith('"')){let n=/^"((?:\\.|[^"\\])*)"/.exec(t);return n?Nf(`"${n[1]}"`):null}if(t.startsWith("'")){let n=/^'([^']*)'/.exec(t);return n?n[1]:null}return t.replace(/\s*#.*$/,"")}function sx(e,t){for(let n of e.split(/^\s*\[\[\s*rule\s*\]\]\s*$/m).slice(1)){let r={};for(let l of n.split(/\r?\n/)){if(/^\s*\[/.test(l))break;let u=/^\s*([A-Za-z_]+)\s*=\s*(.*)$/.exec(l);if(!u)continue;let c=rx(u[2]);if(c===null)return!1;r[u[1]]=c}let s=r.decision;if(s!=="deny"&&s!=="ask_user"||!(r.toolName===void 0?["*"]:[r.toolName].flat()).some(l=>l==="*"||Gf.test(l)))continue;let i=r.commandPrefix===void 0?[]:[r.commandPrefix].flat(),a=[r.commandRegex,r.argsPattern].flat().filter(l=>typeof l=="string");if(i.length===0&&a.length===0){t.push(()=>!0);continue}for(let l of i)t.push(vt(`${l}*`));for(let l of a){let u;try{u=new RegExp(l)}catch{return!1}t.push(c=>u.test(JSON.stringify({command:c}))||rs(u,c))}}return!0}function Df(e){try{return es(e).filter(t=>t.endsWith(".toml")).map(t=>F(e,t))}catch{return[]}}function ox(e){let t=tx(),n=[F(t,"system-defaults.json"),F(t,"settings.json"),process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH,process.env.GEMINI_CLI_SYSTEM_DEFAULTS_PATH,F(St(),".gemini","settings.json"),...Gn(e).map(s=>F(s,".gemini","settings.json"))].filter(s=>!!s),r=Kn(n,!0,nx,!1);if(r==="unreadable")return r;for(let s of[...Df(F(St(),".gemini","policies")),...Df(F(t,"policies"))]){let o;try{o=Qr(s,"utf8")}catch{return"unreadable"}if(!sx(o,r.matchers))return"unreadable"}return r}function li(e,t){if(e===void 0)return!0;if(typeof e=="string")return e!=="allow"&&t.push(()=>!0),!0;if(!oe(e))return!1;for(let n of["bash","shell","*"]){let r=e[n];if(r!==void 0){if(typeof r=="string"){r!=="allow"&&t.push(()=>!0);continue}if(!oe(r))return!1;for(let[s,o]of Object.entries(r))o!=="allow"&&t.push(vt(s.replace(/\?/g,"*")))}}return!0}function Mf(e,t){if(e.permissions!==void 0||!li(e.permission,t))return!1;for(let n of["agent","agents","mode"]){let r=e[n];if(r!==void 0){if(!oe(r))return!1;for(let s of Object.values(r))if(oe(s)&&(s.permissions!==void 0||!li(s.permission,t)))return!1}}return!0}function ix(e){for(let t of e)for(let n of["agent","agents","mode","modes"]){let r;try{r=es(F(t,n))}catch{continue}for(let s of r)try{if(s.endsWith(".md")&&/permission/i.test(Qr(F(t,n,s),"utf8")))return!0}catch{return!0}}return!1}function ax(e){let t=F(process.env.XDG_CONFIG_HOME||F(St(),".config"),"opencode"),n=Gn(e),r=[t,...n.map(a=>F(a,".opencode"))];if(ix(r))return"unreadable";let s=["opencode.json","opencode.jsonc","config.json"],o=[...s.map(a=>F(t,a)),process.env.OPENCODE_CONFIG,...n.flatMap(a=>[...s.slice(0,2).map(l=>F(a,l)),...s.slice(0,2).map(l=>F(a,".opencode",l))])].filter(a=>!!a),i=Kn(o,!0,Mf,!0);if(i==="unreadable")return i;for(let a of[process.env.OPENCODE_CONFIG_CONTENT,process.env.OPENCODE_PERMISSION]){if(!a)continue;let l;try{l=JSON.parse(Zf(a))}catch{return"unreadable"}if(!(a===process.env.OPENCODE_PERMISSION?li(l,i.matchers):oe(l)&&Mf(l,i.matchers)))return"unreadable"}return i}function lx(){return Kn([F(St(),".gemini","antigravity-cli","settings.json")],!0,(e,t)=>{let n=e.permissions;if(n===void 0)return!0;if(!oe(n))return!1;for(let r of["deny","ask"]){let s=Jn(n[r]);if(!s)return!1;for(let o of s){let i=/^\s*command\s*\(([\s\S]*)\)\s*$/.exec(o);if(!i)continue;let a=i[1].trim();if(!a.startsWith("regex:")){t.push(vt(a==="*"?"*":`${a} *`));continue}let l;try{l=new RegExp(a.slice(6))}catch{return!1}t.push(u=>rs(l,u))}}return!0},!1)}function ux(e){let t=[],n=/\s+|#[^\n]*|("(?:[^"\\\n]|\\.)*"|'(?:[^'\\\n]|\\.)*')|([A-Za-z_][A-Za-z0-9_]*|[()[\],=])|(.)/gy;for(let r=n.exec(e);r&&r[0];r=n.exec(e)){if(r[3]!==void 0)return null;(r[1]!==void 0||r[2]!==void 0)&&t.push(r[1]??r[2])}return t}function Kf(e,t){let n=e[t.i++];if(n===void 0)return;if(/^["']/.test(n))try{return n.startsWith('"')?JSON.parse(n):JSON.parse(`"${n.slice(1,-1).replace(/\\'/g,"'").replace(/"/g,'\\"')}"`)}catch{return}if(n!=="[")return/^[A-Za-z_]/.test(n)?null:void 0;let r=[];for(;e[t.i]!=="]";){let s=Kf(e,t);if(s===void 0)return;if(r.push(s),e[t.i]===",")t.i++;else if(e[t.i]!=="]")return}return t.i++,r}function cx(e){if(!Array.isArray(e)||e.length===0)return null;let t=[];for(let r of e){let s=typeof r=="string"?[r]:Array.isArray(r)?r:null;if(!s||s.length===0||!s.every(o=>typeof o=="string"&&o!==""))return null;t.push(`(?:${s.map(fi).join("|")})`)}let n=new RegExp(`^${t.join(" ")}(?= |$)`);return r=>rs(n,r)}function fx(e,t){let n=ux(e);if(!n)return!1;for(let r=0;r<n.length;r++){if(n[r]!=="prefix_rule"||n[r+1]!=="(")continue;let s={i:r+2},o={};for(;n[s.i]!==")";){let l=n[s.i];if(!l||!/^[A-Za-z_]/.test(l)||n[s.i+1]!=="="||(s.i+=2,o[l]=Kf(n,s),o[l]===void 0&&(l==="pattern"||l==="decision")))return!1;if(n[s.i]===",")s.i++;else if(n[s.i]!==")")return!1}r=s.i;let i="decision"in o?o.decision:"allow";if(i!=="allow"&&i!=="prompt"&&i!=="forbidden")return!1;let a=cx(o.pattern);if(!a)return!1;i!=="allow"&&t.push(a)}return!0}function dx(e){if(!zn(e))return[];try{return es(e).filter(t=>t.endsWith(".rules")).sort().map(t=>F(e,t))}catch{return"unreadable"}}function px(e){let t=process.env.CODEX_HOME||F(St(),".codex"),n=[F(t,"rules"),...Gn(e).map(s=>F(s,".codex","rules"))],r=[];for(let s of[...new Set(n)]){let o=dx(s);if(o==="unreadable")return"unreadable";for(let i of o){let a;try{a=Qr(i,"utf8")}catch{return"unreadable"}if(!fx(a,r))return"unreadable"}}return{matchers:r,complete:!1}}function oe(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function fi(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function mx(e){let t=e.trim().replace(/\s+/g," "),n=t.endsWith(" *")&&t.length>2,r=(n?t.slice(0,-2):t).split("*").map(fi).join("[\\s\\S]*");return new RegExp(`^${r}${n?"(?: [\\s\\S]*)?":""}(?= |$)`)}var hx=512;function gx(e){let t=e.replace(/['"\\]/g,"").split(/[\s;&|(){}<>`$]+/).filter(Boolean);return[t,t.map(ts)]}function rs(e,t){if(e.test(t)||e.test(t.trim().replace(/\s+/g," ")))return!0;for(let n of gx(t)){if(n.length>hx)return!0;for(let r=0;r<n.length;r++)if(e.test(n.slice(r).join(" ")))return!0}return!1}function vt(e){let t=mx(e);return n=>rs(t,n)}function yx(e){let t=e.trim().replace(/:\*$/," *"),n=t.endsWith(" *"),r=n?t.slice(0,-2):t;if(!r||r.includes("*")||/\s\s|[^\S ]|^ | $/.test(r))return null;let s=new RegExp(`^${fi(r)}${n?"(?: [\\s\\S]*)?":""}$`);return o=>s.test(o)}var bx={"claude-code":Qw,cursor:ex,"gemini-cli":ox,opencode:ax,antigravity:lx,codex:px},kx=new Set(["codex"]),Wf=/(?:^|[\s=:/~])\.(?:git|claude|vscode|idea|husky)(?=[/\s;|&)]|$)|(?:^|[\s=:/~])\.(?:bashrc|bash_profile|bash_login|bash_logout|profile|zshrc|zprofile|zshenv|zlogin|zlogout|gitconfig|gitmodules|ripgreprc|mcp\.json)(?![A-Za-z0-9_])/;function _x(e,t,n){let r=bx[e];return r?r(t??process.cwd(),n):{matchers:[],complete:!1}}function wx(e,t,n){return e==="unreadable"||Wf.test(t.replace(/['"\\]/g,""))||e.matchers.some(r=>r(t))?!1:e.complete||zf(t,!kx.has(n))}var Vf=new Set(["default","acceptEdits","dontAsk"]);function Yf(e,t){return t.host!=="claude-code"||t.permissionMode==="bypassPermissions"?!0:e!=="unreadable"&&e.allowsEverything===!0&&Vf.has(t.permissionMode??"")}function xx(e,t){let n="pathEnv"in e?e.pathEnv:process.env.PATH,r;return s=>e.host!=="claude-code"?Xt(s,e.cwd,n):(r??=Tf(t.configDir),!Xt(s,e.cwd,n)&&!r.paths.some(o=>Xt(s,e.cwd,o))?!1:s.includes("/")||!Rf(s,r))}var Sx=/^[^\s;&|<>()$`\\{}*?[\]~#!]+(?: [^\s;&|<>()$`\\{}*?[\]~#!]+)*$/;function vx(e,t,n){return n.host!=="claude-code"||e==="unreadable"||Yf(e,n)||!Vf.has(n.permissionMode??"")||!Sx.test(t)||Wf.test(t.replace(/['"]/g,""))||(e.guards??[]).some(r=>r(t))?null:(e.trustedAllow??[]).find(r=>r.matches(t))?.rule??null}function qf(e,t,n,r){if(!n||/["\\$`;&|<>(){}]|'\\''/.test(n))return null;let s=t.claudeDirs??ns(),o=_x(t.host,t.cwd,s),i=vx(o,e,t),a=i||wx(o,e,t.host)?ci(e,n,xx(t,s)):e;return a!==e&&o!=="unreadable"&&(i?(o.guards??[]).some(l=>l(a)):o.matchers.some(l=>l(a))||(o.allow??[]).some(l=>l(a)&&!l(e)))&&(a=e),r(t.sessionId,a!==e),a===e?null:i?{command:a,allowedBy:i}:Yf(o,t)?{command:a}:null}function Xe(e,t,n,r){return qf(e,t,n,r)?.command??null}B();yn();jn();So();import{existsSync as Kx,writeFileSync as Wx,appendFileSync as Vx,statSync as Yx,constants as td}from"node:fs";import{lstat as qx,open as Xx}from"node:fs/promises";import{basename as Qx,dirname as eS,isAbsolute as tS,join as id}from"node:path";B();xe();import{readFileSync as Ex}from"node:fs";import{join as Tx}from"node:path";function Xf(){if(ge())return!1;try{return JSON.parse(Ex(Tx(x(),"settings-cache.json"),"utf8")).enabled!==!1}catch{return!0}}B();import{createHash as Rx}from"node:crypto";import{appendFileSync as Ax,chmodSync as $x,mkdirSync as Ox,readFileSync as Cx,rmSync as Ix,statSync as Px}from"node:fs";import{join as Qf}from"node:path";var Nx=256*1024,Dx=80;function Mx(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Qf(x(),"sessions",`${t}.seen`)}function di(e){return e.replace(/[\t\r\n]+/g," ").trim().slice(0,Dx)}function pi(e,t,n,r){try{let s=Mx(e),o=di(t),i=Rx("sha256").update(n).digest("hex").slice(0,32),a="";try{a=Cx(s,"utf8")}catch{}for(let l of a.split(`
121
- `)){let[u,c,f]=l.split(" ");if(u===o&&c===i)return{cmd:f??""}}Ox(Qf(x(),"sessions"),{recursive:!0,mode:448}),Ax(s,`${o} ${i} ${di(r)}
122
- `,{mode:384}),$x(s,384),Px(s).size>Nx&&Ix(s,{force:!0})}catch{}return null}function mi(e,t){return`[same output as \`${di(e)}\` earlier in this session, unchanged, ~${Math.round(t/4)} tokens]`}On();Kr();function Q(e,t){let n=e[t];return typeof n=="string"&&n?n:null}function Wn(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function Fx(e){return Q(e,"prompt_id")||Q(e,"scratchpad_dir")?!0:Wn(e.effort)}function Lx(e){return Q(e,"tool_use_id")?.startsWith("toolu_")===!0||/^claude/i.test(Q(e,"model")??"")}var jx=new Set(["BeforeTool","AfterTool","BeforeAgent","AfterAgent","BeforeModel","AfterModel","BeforeToolSelection"]),Hx=new Set(["preToolUse","postToolUse","beforeShellExecution","afterShellExecution","beforeSubmitPrompt","sessionStart","sessionEnd","stop"]),Bx=new Set(["pre_tool","post_tool"]),Ux=new Set(["before_tool_call","after_tool_call"]),zx=new Set(["runTerminalCommand","run_in_terminal"]),Jx=[["codex",e=>Q(e,"turn_id")!==null],["claude-code",Fx],["cursor",e=>Q(e,"cursor_version")!==null||Q(e,"generation_id")!==null||Q(e,"conversation_id")!==null||Array.isArray(e.workspace_roots)||Hx.has(Q(e,"hook_event_name")??"")],["gemini-cli",e=>jx.has(Q(e,"hook_event_name")??"")],["qwen-code",e=>e.hook_event_name==="PreToolUse"&&e.tool_name==="run_shell_command"],["vibe",e=>Bx.has(Q(e,"hook_event_name")??"")],["antigravity",e=>Wn(e.toolCall)],["copilot",e=>Q(e,"toolName")!==null&&"toolArgs"in e||zx.has(Q(e,"tool_name")??"")],["grok",e=>e.toolName==="run_terminal_command"||e.tool_name==="run_terminal_command"||Wn(e.toolInput)&&!("toolArgs"in e)],["droid",e=>e.tool_name==="Execute"],["trae",e=>e.tool_name==="RunCommand"],["crush",e=>e.hook_event_name===void 0&&Q(e,"event")!==null&&!Ux.has(Q(e,"event"))]],Zx=new Set(["codex","antigravity"]);function Gx(e){return Wn(e)?Jx.filter(([,t])=>t(e)).map(([t])=>t):[]}function hi(e,t){if(!Wn(e))return null;let n=Gx(e);return n.length>1?null:n.length===1?n[0]:Lx(e)&&Zx.has(t)?"claude-code":t==="codex"?null:t}function ed(e,t){let n=hi(e,t);return n==="claude-code"||n==="codex"?n:null}var nS=new Set(["Read","Grep","Glob","Bash"]),ss=10*1024*1024,ad=1024,rS=40,sS=25e3,oS=/^… \(?\d+ more lines omitted\)?$/,iS=/^\[tkr restore [0-9a-f]{8,64}\]$/,aS=/^\d+F \d+D(?: in .+\/)?:$|^\S.*\/ \(\d+(?:, \*\.[^)]+)?\): \S/,lS=/^… \(\d+ more lines omitted\)$/m;function uS(e){return oS.test(e)||iS.test(e)||e==="[YOLO: omitted]"}function ld(e,t,n){if(!e||typeof e=="string")return t;if(e.file?.content!=null)return{...e,file:{...e.file,content:t}};if(e.content!=null)return{...e,content:t};if(e.output!=null)return{...e,output:t};if(e.stdout!=null||e.stderr!=null){let{persistedOutputPath:r,persistedOutputSize:s,...o}=e;return{...o,stdout:t,stderr:""}}if(Array.isArray(e.filenames)){let r=new Set(e.filenames),s=n==="Glob",o=t.split(`
123
- `).filter(i=>r.has(i)||uS(i)||s&&aS.test(i));return{...e,filenames:o}}return t}function cS(e,t,n){return JSON.stringify({...n?{systemMessage:n}:{},hookSpecificOutput:{hookEventName:"PostToolUse",updatedToolOutput:ld(e.tool_response,t,e.tool_name)}})}var fS=100,bi=null;function dS(){let e=bi;return bi=null,e}function nd(e){let t=Math.round(e/4);return t>=1e3?`${(t/1e3).toFixed(1)}K`:String(t)}function ud(e,t){try{if(Math.round((e-t)/4)<fS)return;let n=id(x(),"first-save");if(Kx(n))return;Wx(n,String(Date.now())),bi=`Tokmizer just optimized its first command output here: ~${nd(e)} tokens down to ~${nd(t)}. Watch it add up: /tkr-gain`}catch{}}function rd(e){return e?typeof e=="string"?e:e.file?.content!=null?e.file.content:e.content!=null?e.content:e.output!=null?e.output:e.stdout!=null||e.stderr!=null?[e.stdout??"",e.stderr??""].filter(Boolean).join(`
122
+ `}else if(s==="/"&&e[r+1]==="*"){if(r=e.indexOf("*/",r+2),r===-1)return"";r+=1}else t+=s}return t.replace(/,(\s*[}\]])/g,"$1")}function Vn(e){let t=[],n=Fw(e);for(;;){t.push(n);let r=Jf(n);if(r===n)return t;n=r}}function lx(){let e=process.platform==="darwin"?"/Library/Application Support/ClaudeCode":process.platform==="win32"?"C:\\Program Files\\ClaudeCode":"/etc/claude-code",t=[F(e,"managed-settings.json")];try{for(let n of rs(F(e,"managed-settings.d")))n.endsWith(".json")&&t.push(F(e,"managed-settings.d",n))}catch{return t}return t}function qn(e,t,n,r){let s=[];for(let o of e){let i=ax(o,t);if(i!=="missing"&&(i==="unreadable"||!q(i)||!n(i,s)))return"unreadable"}return{matchers:s,complete:r}}function Kn(e){return e===void 0?[]:Array.isArray(e)?e.filter(t=>typeof t=="string"):null}function os(){return{projectDir:process.env.CLAUDE_PROJECT_DIR,configDir:process.env.CLAUDE_CONFIG_DIR}}function ux(e,t){let n=g=>[F(g,"settings.json"),F(g,"settings.local.json")],r=g=>n(F(g,".claude")),s=F(Et(),".claude"),o=t.configDir||s,i=[[lx(),"managed"],[[F(o,"settings.json")],"loaded"],[[F(o,"settings.local.json")],"loadedLocal"],[t.configDir?n(s):[],"extra"],[t.projectDir?r(t.projectDir):[],"project"],[Vn(e).flatMap(r),"extra"]],a=[],l={managed:[],loaded:[],loadedLocal:[],project:[],extra:[]},u={managed:!1,loaded:!1,loadedLocal:!1,project:!1,extra:!1},c=!1,f="managed",d=(g,T)=>{let S=g.permissions;if(f==="managed"&&(g.allowManagedPermissionRulesOnly===!0||q(S)&&S.allowManagedPermissionRulesOnly===!0)&&(c=!0),S===void 0)return!0;if(!q(S))return!1;for(let O of["deny","ask","allow"]){let E=Kn(S[O]);if(!E)return!1;for(let I of E){let N=/^\s*Bash\s*(?:\(([\s\S]*)\))?\s*$/.exec(I);if(N)if(O!=="allow")T.push(Tt((N[1]??"*").replace(/:\*$/," *")));else if(N[1]===void 0||N[1].trim()==="*")u[f]=!0;else{a.push(Tt(N[1].replace(/:\*$/," *")));let j=$x(N[1]);j&&l[f].push({rule:I.trim(),matches:j})}}}return!0},p=[];for(let[g,T]of i){f=T;let S=qn(g,!1,d,!0);if(S==="unreadable")return"unreadable";p.push(...S.matchers)}let m=u.managed||(u.loaded||u.loadedLocal)&&!c,k=[...l.managed,...c?[]:l.loaded];return{matchers:[...p,...m?[]:a],complete:!0,allow:a,allowsEverything:m,guards:p,trustedAllow:k}}function cx(e){let t=[F(Et(),".cursor","cli-config.json"),...Vn(e).map(n=>F(n,".cursor","cli.json"))];return qn(t,!0,(n,r)=>{let s=n.permissions;if(s===void 0)return!0;if(!q(s))return!1;let o=Kn(s.deny);if(!o)return!1;for(let i of o){let a=/^\s*Shell\s*(?:\(([\s\S]*)\))?\s*$/.exec(i);if(!a)continue;let l=a[1]??"*",u=l.indexOf(":");r.push(Tt(u===-1?`${l} *`:`${l.slice(0,u)} ${l.slice(u+1)}`))}return!0},!1)}function fx(){return process.platform==="darwin"?"/Library/Application Support/GeminiCli":process.platform==="win32"?"C:\\ProgramData\\gemini-cli":"/etc/gemini-cli"}var Qf=/^\s*(?:run_shell_command|ShellTool)\s*(?:\(([\s\S]*)\))?\s*$/;function dx(e,t){let n=e.tools;if(n!==void 0&&!q(n))return!1;let r=[Kn(e.excludeTools),Kn(q(n)?n.exclude:void 0)];for(let s of r){if(!s)return!1;for(let o of s){let i=Qf.exec(o);i&&t.push(Tt(i[1]===void 0?"*":`${i[1]}*`))}}return!0}function Bf(e){try{return JSON.parse(e)}catch{return null}}function px(e){let t=e.trim();if(t.startsWith('"""')||t.startsWith("'''"))return null;if(t.startsWith("[")){if(!/\]\s*(?:#.*)?$/.test(t))return null;let n=[];for(let r of t.matchAll(/"((?:\\.|[^"\\])*)"|'([^']*)'/g)){let s=r[2]??Bf(`"${r[1]}"`);if(s===null)return null;n.push(s)}return n}if(t.startsWith('"')){let n=/^"((?:\\.|[^"\\])*)"/.exec(t);return n?Bf(`"${n[1]}"`):null}if(t.startsWith("'")){let n=/^'([^']*)'/.exec(t);return n?n[1]:null}return t.replace(/\s*#.*$/,"")}function mx(e,t){for(let n of e.split(/^\s*\[\[\s*rule\s*\]\]\s*$/m).slice(1)){let r={};for(let l of n.split(/\r?\n/)){if(/^\s*\[/.test(l))break;let u=/^\s*([A-Za-z_]+)\s*=\s*(.*)$/.exec(l);if(!u)continue;let c=px(u[2]);if(c===null)return!1;r[u[1]]=c}let s=r.decision;if(s!=="deny"&&s!=="ask_user"||!(r.toolName===void 0?["*"]:[r.toolName].flat()).some(l=>l==="*"||Qf.test(l)))continue;let i=r.commandPrefix===void 0?[]:[r.commandPrefix].flat(),a=[r.commandRegex,r.argsPattern].flat().filter(l=>typeof l=="string");if(i.length===0&&a.length===0){t.push(()=>!0);continue}for(let l of i)t.push(Tt(`${l}*`));for(let l of a){let u;try{u=new RegExp(l)}catch{return!1}t.push(c=>u.test(JSON.stringify({command:c}))||is(u,c))}}return!0}function Uf(e){try{return rs(e).filter(t=>t.endsWith(".toml")).map(t=>F(e,t))}catch{return[]}}function hx(e){let t=fx(),n=[F(t,"system-defaults.json"),F(t,"settings.json"),process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH,process.env.GEMINI_CLI_SYSTEM_DEFAULTS_PATH,F(Et(),".gemini","settings.json"),...Vn(e).map(s=>F(s,".gemini","settings.json"))].filter(s=>!!s),r=qn(n,!0,dx,!1);if(r==="unreadable")return r;for(let s of[...Uf(F(Et(),".gemini","policies")),...Uf(F(t,"policies"))]){let o;try{o=Gn(s,"utf8")}catch{return"unreadable"}if(!mx(o,r.matchers))return"unreadable"}return r}function ci(e,t){if(e===void 0)return!0;if(typeof e=="string")return e!=="allow"&&t.push(()=>!0),!0;if(!q(e))return!1;for(let n of["bash","shell","*"]){let r=e[n];if(r!==void 0){if(typeof r=="string"){r!=="allow"&&t.push(()=>!0);continue}if(!q(r))return!1;for(let[s,o]of Object.entries(r))o!=="allow"&&t.push(Tt(s.replace(/\?/g,"*")))}}return!0}function zf(e,t){if(e.permissions!==void 0||!ci(e.permission,t))return!1;for(let n of["agent","agents","mode"]){let r=e[n];if(r!==void 0){if(!q(r))return!1;for(let s of Object.values(r))if(q(s)&&(s.permissions!==void 0||!ci(s.permission,t)))return!1}}return!0}function gx(e){for(let t of e)for(let n of["agent","agents","mode","modes"]){let r;try{r=rs(F(t,n))}catch{continue}for(let s of r)try{if(s.endsWith(".md")&&/permission/i.test(Gn(F(t,n,s),"utf8")))return!0}catch{return!0}}return!1}function yx(e){let t=F(process.env.XDG_CONFIG_HOME||F(Et(),".config"),"opencode"),n=Vn(e),r=[t,...n.map(a=>F(a,".opencode"))];if(gx(r))return"unreadable";let s=["opencode.json","opencode.jsonc","config.json"],o=[...s.map(a=>F(t,a)),process.env.OPENCODE_CONFIG,...n.flatMap(a=>[...s.slice(0,2).map(l=>F(a,l)),...s.slice(0,2).map(l=>F(a,".opencode",l))])].filter(a=>!!a),i=qn(o,!0,zf,!0);if(i==="unreadable")return i;for(let a of[process.env.OPENCODE_CONFIG_CONTENT,process.env.OPENCODE_PERMISSION]){if(!a)continue;let l;try{l=JSON.parse(Xf(a))}catch{return"unreadable"}if(!(a===process.env.OPENCODE_PERMISSION?ci(l,i.matchers):q(l)&&zf(l,i.matchers)))return"unreadable"}return i}function bx(){return qn([F(Et(),".gemini","antigravity-cli","settings.json")],!0,(e,t)=>{let n=e.permissions;if(n===void 0)return!0;if(!q(n))return!1;for(let r of["deny","ask"]){let s=Kn(n[r]);if(!s)return!1;for(let o of s){let i=/^\s*command\s*\(([\s\S]*)\)\s*$/.exec(o);if(!i)continue;let a=i[1].trim();if(!a.startsWith("regex:")){t.push(Tt(a==="*"?"*":`${a} *`));continue}let l;try{l=new RegExp(a.slice(6))}catch{return!1}t.push(u=>is(l,u))}}return!0},!1)}function kx(e){let t=[],n=/\s+|#[^\n]*|("(?:[^"\\\n]|\\.)*"|'(?:[^'\\\n]|\\.)*')|([A-Za-z_][A-Za-z0-9_]*|[()[\],=])|(.)/gy;for(let r=n.exec(e);r&&r[0];r=n.exec(e)){if(r[3]!==void 0)return null;(r[1]!==void 0||r[2]!==void 0)&&t.push(r[1]??r[2])}return t}function ed(e,t){let n=e[t.i++];if(n===void 0)return;if(/^["']/.test(n))try{return n.startsWith('"')?JSON.parse(n):JSON.parse(`"${n.slice(1,-1).replace(/\\'/g,"'").replace(/"/g,'\\"')}"`)}catch{return}if(n!=="[")return/^[A-Za-z_]/.test(n)?null:void 0;let r=[];for(;e[t.i]!=="]";){let s=ed(e,t);if(s===void 0)return;if(r.push(s),e[t.i]===",")t.i++;else if(e[t.i]!=="]")return}return t.i++,r}function td(e){if(!Array.isArray(e)||e.length===0)return null;let t=[];for(let r of e){let s=typeof r=="string"?[r]:Array.isArray(r)?r:null;if(!s||s.length===0||!s.every(o=>typeof o=="string"&&o!==""))return null;t.push(`(?:${s.map(pi).join("|")})`)}let n=new RegExp(`^${t.join(" ")}(?= |$)`);return r=>is(n,r)}function _x(e,t){let n=kx(e);if(!n)return!1;for(let r=0;r<n.length;r++){if(n[r]!=="prefix_rule"||n[r+1]!=="(")continue;let s={i:r+2},o={};for(;n[s.i]!==")";){let l=n[s.i];if(!l||!/^[A-Za-z_]/.test(l)||n[s.i+1]!=="="||(s.i+=2,o[l]=ed(n,s),o[l]===void 0&&(l==="pattern"||l==="decision")))return!1;if(n[s.i]===",")s.i++;else if(n[s.i]!==")")return!1}r=s.i;let i="decision"in o?o.decision:"allow";if(i!=="allow"&&i!=="prompt"&&i!=="forbidden")return!1;let a=td(o.pattern);if(!a)return!1;i!=="allow"&&t.push(a)}return!0}function wx(e){if(!Zn(e))return[];try{return rs(e).filter(t=>t.endsWith(".rules")).sort().map(t=>F(e,t))}catch{return"unreadable"}}function xx(){return process.platform==="win32"?F(process.env.ProgramData||"C:\\ProgramData","OpenAI","Codex","requirements.toml"):"/etc/codex/requirements.toml"}function Sx(e){if(!(!q(e)||Object.keys(e).length!==1)){if(typeof e.token=="string")return e.token;if(Array.isArray(e.any_of)&&e.any_of.every(t=>typeof t=="string"))return e.any_of}}function vx(e,t){let n;try{n=vn(e)}catch{return!1}if(n.rules===void 0)return!0;if(!q(n.rules))return!1;let r=n.rules.prefix_rules;if(r===void 0)return!0;if(!Array.isArray(r))return!1;for(let s of r){if(!q(s)||!Array.isArray(s.pattern)||s.decision!=="prompt"&&s.decision!=="forbidden")return!1;let o=s.pattern.map(Sx);if(o.some(a=>a===void 0))return!1;let i=td(o);if(!i)return!1;t.push(i)}return!0}function Ex(e){let t=process.env.CODEX_HOME||F(Et(),".codex"),n=[F(t,"rules"),...Vn(e).map(o=>F(o,".codex","rules"))],r=[],s=null;try{s=Gn(xx(),"utf8")}catch(o){let i=o.code;if(i!=="ENOENT"&&i!=="ENOTDIR")return"unreadable"}if(s!==null&&!vx(s,r))return"unreadable";for(let o of[...new Set(n)]){let i=wx(o);if(i==="unreadable")return"unreadable";for(let a of i){let l;try{l=Gn(a,"utf8")}catch{return"unreadable"}if(!_x(l,r))return"unreadable"}}return{matchers:r,complete:!1}}function q(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function pi(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Tx(e){let t=e.trim().replace(/\s+/g," "),n=t.endsWith(" *")&&t.length>2,r=(n?t.slice(0,-2):t).split("*").map(pi).join("[\\s\\S]*");return new RegExp(`^${r}${n?"(?: [\\s\\S]*)?":""}(?= |$)`)}var Rx=512;function Ax(e){let t=e.replace(/['"\\]/g,"").split(/[\s;&|(){}<>`$]+/).filter(Boolean);return[t,t.map(ss)]}function is(e,t){if(e.test(t)||e.test(t.trim().replace(/\s+/g," ")))return!0;for(let n of Ax(t)){if(n.length>Rx)return!0;for(let r=0;r<n.length;r++)if(e.test(n.slice(r).join(" ")))return!0}return!1}function Tt(e){let t=Tx(e);return n=>is(t,n)}function $x(e){let t=e.trim().replace(/:\*$/," *"),n=t.endsWith(" *"),r=n?t.slice(0,-2):t;if(!r||r.includes("*")||/\s\s|[^\S ]|^ | $/.test(r))return null;let s=new RegExp(`^${pi(r)}${n?"(?: [\\s\\S]*)?":""}$`);return o=>s.test(o)}var Ox={"claude-code":ux,cursor:cx,"gemini-cli":hx,opencode:yx,antigravity:bx,codex:Ex},Cx=new Set(["codex"]),nd=/(?:^|[\s=:/~])\.(?:git|claude|vscode|idea|husky)(?=[/\s;|&)]|$)|(?:^|[\s=:/~])\.(?:bashrc|bash_profile|bash_login|bash_logout|profile|zshrc|zprofile|zshenv|zlogin|zlogout|gitconfig|gitmodules|ripgreprc|mcp\.json)(?![A-Za-z0-9_])/;function Ix(e,t,n){let r=Ox[e];return r?r(t??process.cwd(),n):{matchers:[],complete:!1}}function Px(e,t,n){return e==="unreadable"||nd.test(t.replace(/['"\\]/g,""))||e.matchers.some(r=>r(t))?!1:e.complete||qf(t,!Cx.has(n))}var rd=new Set(["default","acceptEdits","dontAsk"]);function sd(e,t){return t.host!=="claude-code"||t.permissionMode==="bypassPermissions"?!0:e!=="unreadable"&&e.allowsEverything===!0&&rd.has(t.permissionMode??"")}function Nx(e,t){let n="pathEnv"in e?e.pathEnv:process.env.PATH,r;return s=>e.host!=="claude-code"?en(s,e.cwd,n):(r??=Pf(t.configDir),!en(s,e.cwd,n)&&!r.paths.some(o=>en(s,e.cwd,o))?!1:s.includes("/")||!Nf(s,r))}var Dx=/^[^\s;&|<>()$`\\{}*?[\]~#!]+(?: [^\s;&|<>()$`\\{}*?[\]~#!]+)*$/;function Mx(e,t,n){return n.host!=="claude-code"||e==="unreadable"||sd(e,n)||!rd.has(n.permissionMode??"")||!Dx.test(t)||nd.test(t.replace(/['"]/g,""))||(e.guards??[]).some(r=>r(t))?null:(e.trustedAllow??[]).find(r=>r.matches(t))?.rule??null}function od(e,t,n,r){if(!n||/["\\$`;&|<>(){}]|'\\''/.test(n))return null;let s=t.claudeDirs??os(),o=Ix(t.host,t.cwd,s),i=Mx(o,e,t),a=i||Px(o,e,t.host)?di(e,n,Nx(t,s)):e;return a!==e&&o!=="unreadable"&&(i?(o.guards??[]).some(l=>l(a)):o.matchers.some(l=>l(a))||(o.allow??[]).some(l=>l(a)&&!l(e)))&&(a=e),r(t.sessionId,a!==e),a===e?null:i?{command:a,allowedBy:i}:sd(o,t)?{command:a}:null}function Xe(e,t,n,r){return od(e,t,n,r)?.command??null}B();bn();Bn();Eo();import{existsSync as oS,writeFileSync as iS,appendFileSync as aS,statSync as lS,constants as ud}from"node:fs";import{lstat as uS,open as cS}from"node:fs/promises";import{basename as fS,dirname as dS,isAbsolute as pS,join as md}from"node:path";B();_e();import{readFileSync as Lx}from"node:fs";import{join as Fx}from"node:path";function id(){if(he())return!1;try{return JSON.parse(Lx(Fx(x(),"settings-cache.json"),"utf8")).enabled!==!1}catch{return!0}}B();import{createHash as jx}from"node:crypto";import{appendFileSync as Hx,chmodSync as Bx,mkdirSync as Ux,readFileSync as zx,rmSync as Jx,statSync as Zx}from"node:fs";import{join as ad}from"node:path";var Gx=256*1024,Kx=80;function Wx(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return ad(x(),"sessions",`${t}.seen`)}function mi(e){return e.replace(/[\t\r\n]+/g," ").trim().slice(0,Kx)}function hi(e,t,n,r){try{let s=Wx(e),o=mi(t),i=jx("sha256").update(n).digest("hex").slice(0,32),a="";try{a=zx(s,"utf8")}catch{}for(let l of a.split(`
123
+ `)){let[u,c,f]=l.split(" ");if(u===o&&c===i)return{cmd:f??""}}Ux(ad(x(),"sessions"),{recursive:!0,mode:448}),Hx(s,`${o} ${i} ${mi(r)}
124
+ `,{mode:384}),Bx(s,384),Zx(s).size>Gx&&Jx(s,{force:!0})}catch{}return null}function gi(e,t){return`[same output as \`${mi(e)}\` earlier in this session, unchanged, ~${Math.round(t/4)} tokens]`}In();Yr();function Q(e,t){let n=e[t];return typeof n=="string"&&n?n:null}function Yn(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function Vx(e){return Q(e,"prompt_id")||Q(e,"scratchpad_dir")?!0:Yn(e.effort)}function qx(e){return Q(e,"tool_use_id")?.startsWith("toolu_")===!0||/^claude/i.test(Q(e,"model")??"")}var Yx=new Set(["BeforeTool","AfterTool","BeforeAgent","AfterAgent","BeforeModel","AfterModel","BeforeToolSelection"]),Xx=new Set(["preToolUse","postToolUse","beforeShellExecution","afterShellExecution","beforeSubmitPrompt","sessionStart","sessionEnd","stop"]),Qx=new Set(["pre_tool","post_tool"]),eS=new Set(["before_tool_call","after_tool_call"]),tS=new Set(["runTerminalCommand","run_in_terminal"]),nS=[["codex",e=>Q(e,"turn_id")!==null],["claude-code",Vx],["cursor",e=>Q(e,"cursor_version")!==null||Q(e,"generation_id")!==null||Q(e,"conversation_id")!==null||Array.isArray(e.workspace_roots)||Xx.has(Q(e,"hook_event_name")??"")],["gemini-cli",e=>Yx.has(Q(e,"hook_event_name")??"")],["qwen-code",e=>e.hook_event_name==="PreToolUse"&&e.tool_name==="run_shell_command"],["vibe",e=>Qx.has(Q(e,"hook_event_name")??"")],["antigravity",e=>Yn(e.toolCall)],["copilot",e=>Q(e,"toolName")!==null&&"toolArgs"in e||tS.has(Q(e,"tool_name")??"")],["grok",e=>e.toolName==="run_terminal_command"||e.tool_name==="run_terminal_command"||Yn(e.toolInput)&&!("toolArgs"in e)],["droid",e=>e.tool_name==="Execute"],["trae",e=>e.tool_name==="RunCommand"],["crush",e=>e.hook_event_name===void 0&&Q(e,"event")!==null&&!eS.has(Q(e,"event"))]],rS=new Set(["codex","antigravity"]);function sS(e){return Yn(e)?nS.filter(([,t])=>t(e)).map(([t])=>t):[]}function yi(e,t){if(!Yn(e))return null;let n=sS(e);return n.length>1?null:n.length===1?n[0]:qx(e)&&rS.has(t)?"claude-code":t==="codex"?null:t}function ld(e,t){let n=yi(e,t);return n==="claude-code"||n==="codex"?n:null}var mS=new Set(["Read","Grep","Glob","Bash"]),as=10*1024*1024,hd=1024,hS=10,gS=25e3,yS=/^… \(?\d+ more lines omitted\)?$/,bS=/^\[tkr restore [0-9a-f]{8,64}\]$/,kS=/^\d+F \d+D(?: in .+\/)?:$|^\S.*\/ \(\d+(?:, \*\.[^)]+)?\): \S/,_S=/^… \(\d+ more lines omitted\)$/m;function wS(e){return yS.test(e)||bS.test(e)||e==="[YOLO: omitted]"}function gd(e,t,n){if(!e||typeof e=="string")return t;if(e.file?.content!=null)return{...e,file:{...e.file,content:t}};if(e.content!=null)return{...e,content:t};if(e.output!=null)return{...e,output:t};if(e.stdout!=null||e.stderr!=null){let{persistedOutputPath:r,persistedOutputSize:s,...o}=e;return{...o,stdout:t,stderr:""}}if(Array.isArray(e.filenames)){let r=new Set(e.filenames),s=n==="Glob",o=t.split(`
125
+ `).filter(i=>r.has(i)||wS(i)||s&&kS.test(i));return{...e,filenames:o}}return t}function xS(e,t,n){return JSON.stringify({...n?{systemMessage:n}:{},hookSpecificOutput:{hookEventName:"PostToolUse",updatedToolOutput:gd(e.tool_response,t,e.tool_name)}})}var SS=100,_i=null;function vS(){let e=_i;return _i=null,e}function cd(e){let t=Math.round(e/4);return t>=1e3?`${(t/1e3).toFixed(1)}K`:String(t)}function yd(e,t){try{if(Math.round((e-t)/4)<SS)return;let n=md(x(),"first-save");if(oS(n))return;iS(n,String(Date.now())),_i=`Tokmizer just optimized its first command output here: ~${cd(e)} tokens down to ~${cd(t)}. Watch it add up: /tkr-gain`}catch{}}function fd(e){return e?typeof e=="string"?e:e.file?.content!=null?e.file.content:e.content!=null?e.content:e.output!=null?e.output:e.stdout!=null||e.stderr!=null?[e.stdout??"",e.stderr??""].filter(Boolean).join(`
124
126
  `):Array.isArray(e.filenames)?e.filenames.join(`
125
- `):null:""}var pS=64*1024;function mS(e,t){try{if(!t||typeof t!="object")return;let n=id(x(),"drift.jsonl");try{if(Yx(n).size>pS)return}catch{}let r=Object.keys(t).slice(0,12);Vx(n,`${JSON.stringify({t:Math.floor(Date.now()/1e3),tool:e,keys:r})}
126
- `)}catch{}}function hS(e){let t=e.tool_name??"tool",n=e.tool_input??{};return n.command?n.command.split(`
127
- `)[0].trim().slice(0,200):n.file_path?`${t.toLowerCase()} ${n.file_path}`:n.pattern?`${t.toLowerCase()} ${n.pattern}`:n.path?`${t.toLowerCase()} ${n.path}`:t.toLowerCase()}var gS=/'(?:[A-Za-z]:)?\/[^']*\/(?:tkr-exec(?:\.exe|\.js)?'|tkr(?:\.exe)?' exec)(?:\\'')?(?:\s|$)/,yS=/;|\|\||\n|(?<![>&|])&(?![&>])/,bS=new Set(["cd","export","set","unset","true",":"]),kS=/^(?:\S*\/)?(?:sh|bash|zsh|dash|ksh)\s+-[elux]*c[elux]*\s+'([^']*)'$/,_S=/(?:^|[\s;&|(])(?:[A-Za-z]:)?\/\S*\/tkr-exec(?:\.exe|\.js)?\s|(?:^|[;&|(\n])\s*(?:\S*\/)?tkr-exec(?:\.exe|\.js)?\s/;function cd(e){return gS.test(e)||_S.test(e)}function fd(e,t,n=0){let r=Qt(e);for(let s=0;s<r.length;s++){let o=r[s];if(o.kind==="sep")continue;let i=o.text.trim();if(!i||i===t)continue;let a=r[s+1];if(a?.kind==="sep"&&(a.text==="|"||a.text==="|&")||bS.has(i.split(/\s+/)[0]))continue;let l=n<3?kS.exec(i):null;if(!(l&&fd(l[1],t,n+1)))return!1}return!0}function wS(e){let t=[],n="",r=!1;for(let s=0;s<e.length;s++){let o=e[s];if(o==="'"){let i=e.indexOf("'",s+1);if(i===-1)return null;n+=e.slice(s+1,i),r=!0,s=i}else if(o==='"'){let i=s+1;for(;i<e.length&&e[i]!=='"';i++)e[i]==="\\"&&/["\\$`]/.test(e[i+1]??"")&&i++,n+=e[i];if(i>=e.length)return null;r=!0,s=i}else if(o==="\\"){if(s+1>=e.length)return null;n+=e[++s],r=!0}else/\s/.test(o)?(r&&t.push(n),n="",r=!1):(n+=o,r=!0)}return r&&t.push(n),t.length>0?t:null}function sd(e){let t="";for(let n=0;n<e.length;n++){let r=e[n];if(t==="'"){r==="'"&&(t="");continue}if(r==="\\"){n++;continue}if(r==="$"||r==="`")return!0;r==='"'?t=t?"":'"':r==="'"&&!t&&(t="'")}return!1}async function xS(e){if(!e||typeof e!="object"||e.persistedOutputPath==null)return;let{stdout:t,persistedOutputPath:n,persistedOutputSize:r}=e;if(typeof t!="string"||typeof n!="string"||typeof r!="number"||!Number.isFinite(r))return null;if(!(Buffer.byteLength(t,"utf8")>=r||t.length>=r)){if(!t||e.stderr!=null&&e.stderr!==""||e.interrupted===!0||e.isImage===!0||!tS(n)||Qx(eS(n))!=="tool-results")return null;try{let s=await qx(n);if(!s.isFile()||s.size>ss)return null;let o=await Xx(n,td.O_RDONLY|(td.O_NOFOLLOW??0));try{let i=await o.stat();if(!i.isFile()||i.size>ss||i.size!==s.size)return null;let a=Buffer.alloc(i.size),{bytesRead:l}=await o.read(a,0,i.size,0);if(l!==i.size)return null;let u=a.toString("utf8");return a.length!==r&&u.length!==r?null:u.startsWith(t)?u:null}finally{await o.close()}}catch{return null}}}function SS(e,t){if(!t||typeof t!="object"||typeof t.stdout!="string"||t.stderr!=null&&typeof t.stderr!="string"||t.interrupted===!0||t.isImage===!0||t.backgroundTaskId!=null||yS.test(e)||sd(e))return null;let n=[];if(ci(e,"tkr-exec",()=>!0,s=>n.push(s)),n.length!==1||sd(n[0])||!fd(e,n[0])||Qt(e).some(s=>s.kind==="sep"&&s.text!=="&&"&&s.text!=="|"&&s.text!=="|&"))return null;let r=wS(n[0]);return r?{argv:r,stdout:t.stdout,stderr:t.stderr??"",exitCode:t.returnCodeInterpretation!=null?1:0}:null}async function vS(e,t,n,r,s){let{processCapturedOutput:o}=await Promise.resolve().then(()=>(si(),wf)),i=null,a=k=>{i=k},l={...process.env};t.session_id?l.CLAUDE_CODE_SESSION_ID=t.session_id:delete l.CLAUDE_CODE_SESSION_ID;let u=await o({argv:e.argv,stdout:e.stdout,stderr:e.stderr,exitCode:e.exitCode,truncated:!1,stderrTruncated:!1},{yolo:n,env:l,...r.resolver?{resolver:r.resolver}:{},deferAccounting:a,cwd:t.cwd||(r.inferCwd===!1?void 0:process.cwd())}),c=i,f=[e.stdout,e.stderr].filter(Boolean).join(`
128
- `),d=Buffer.byteLength(f,"utf8");if(s==null&&u.filterId!=null&&t.session_id&&d>=ad){let k=pi(t.session_id,t.agent_id??"main",f,(t.tool_input?.command??"").split(`
129
- `)[0]??"");if(k){let g=mi(k.cmd,d);if(n)return g;let{captureOriginalForRestore:T}=await Promise.resolve().then(()=>(yi(),gi));return T(f,g)}}let p=[u.stdout,u.stderr].filter(Boolean).join(`
130
- `),m=u.stdout===e.stdout&&u.stderr===e.stderr;return s!=null&&(m||p.length>s)||(c&&(r.deferAccounting?r.deferAccounting(c):await c()),m)?null:(ud(d,Buffer.byteLength(p,"utf8")),p)}function ES(e){if(e==null||typeof e!="object"||Array.isArray(e))return!1;let t=e;if(t.session_id!=null&&typeof t.session_id!="string"||t.tool_name!=null&&typeof t.tool_name!="string")return!1;let n=t.tool_input;if(n==null)return!0;if(typeof n!="object"||Array.isArray(n))return!1;let r=n;return["command","file_path","pattern","path"].every(s=>r[s]==null||typeof r[s]=="string")}async function TS(e,t={}){if(!ES(e))return null;let n=e.tool_name==="Bash"&&!cd(e.tool_input?.command??"")?await xS(e.tool_response):void 0;return n===null?null:n===void 0?od(e,t):od({...e,tool_response:{...e.tool_response,stdout:n}},t,sS)}async function od(e,t,n){let r=we();if(!e.tool_name||!nS.has(e.tool_name))return null;let s=e.tool_name==="Bash"?e.tool_input?.command??"":"",o=cd(s);if(/\btkr(?:\.js)?\s+restore\b/.test(s))return null;let i=await yt();if(!Xf())return null;let a=e.tool_name==="Bash"&&!o?SS(s,e.tool_response):null;if(a)return Buffer.byteLength(a.stdout,"utf8")+Buffer.byteLength(a.stderr,"utf8")>ss?null:vS(a,e,r,t,n);if(e.session_id&&!o&&i?.token){let j=e.tool_input??{},z=j.command??j.file_path??j.pattern??j.path??"";z&&Cr(e.session_id,{tool:e.tool_name,target:z.split(`
131
- `)[0].trim()})}if(e.tool_name==="Read"&&(e.tool_input?.offset!=null||e.tool_input?.limit!=null))return null;let l=rd(e.tool_response);if(l==null)return mS(e.tool_name,e.tool_response),null;if(!l)return null;let u=Buffer.byteLength(l,"utf8");if(u>ss||e.tool_name==="Bash"&&u<ad||e.tool_name==="Glob"&&l.split(`
132
- `).length<rS||o)return null;let{loadSettingsCache:c,processOutput:f,captureForRestore:d,captureOriginalForRestore:p,FOLD_MARKER_RE:m,resolveAllowedFilters:k,gatingPlan:g,graceExceeded:T,recordEvent:S,recordTelemetry:O,recordStat:E,countedSaving:C,statCmdLabel:P,statOutcome:L,installDaemonResolver:J,closeDaemonResolver:D}=await Promise.resolve().then(()=>(yi(),gi)),G=await c();if(!G.enabled)return null;let{slugKey:X}=await Promise.resolve().then(()=>(Ge(),qi)),be=i?.token?g(i):null;!t.resolver&&be&&J(be);let ce=i?.token?k(i.allowedFilters,T(i)):null,Z=new Set(G.filters.disabled.map(X)),W=ce&&Z.size>0?new Set([...ce].filter(j=>!Z.has(j))):ce,U=hS(e),K=`${e.tool_name.toLowerCase()}-tool`,fe=`${K}: ${U}`;try{let j=await f(fe,l,W,{verbosity:G.outputVerbosity,resolver:t.resolver,yolo:r,exitCode:e.tool_name==="Bash"?void 0:0});if(j.filterId!=null&&e.tool_name==="Bash"&&e.session_id){let Ii=pi(e.session_id,e.agent_id??"main",l,s.split(`
133
- `)[0]??"");if(Ii){let Pi=mi(Ii.cmd,u);return r?Pi:await p(l,Pi)}}let z=new RegExp(m.source,"m"),ln=e.tool_name==="Bash"?P(e.tool_input?.command??""):e.tool_name,$i=e.tool_name==="Read"&&!r&&(z.test(j.output)||lS.test(j.output))?`${j.output}${j.output.endsWith(`
127
+ `):null:""}var ES=64*1024;function TS(e,t){try{if(!t||typeof t!="object")return;let n=md(x(),"drift.jsonl");try{if(lS(n).size>ES)return}catch{}let r=Object.keys(t).slice(0,12);aS(n,`${JSON.stringify({t:Math.floor(Date.now()/1e3),tool:e,keys:r})}
128
+ `)}catch{}}function RS(e){let t=e.tool_name??"tool",n=e.tool_input??{};return n.command?n.command.split(`
129
+ `)[0].trim().slice(0,200):n.file_path?`${t.toLowerCase()} ${n.file_path}`:n.pattern?`${t.toLowerCase()} ${n.pattern}`:n.path?`${t.toLowerCase()} ${n.path}`:t.toLowerCase()}var AS=/'(?:[A-Za-z]:)?\/[^']*\/(?:tkr-exec(?:\.exe|\.js)?'|tkr(?:\.exe)?' exec)(?:\\'')?(?:\s|$)/,$S=/;|\|\||\n|(?<![>&|])&(?![&>])/,OS=new Set(["cd","export","set","unset","true",":"]),CS=/^(?:\S*\/)?(?:sh|bash|zsh|dash|ksh)\s+-[elux]*c[elux]*\s+'([^']*)'$/,IS=/(?:^|[\s;&|(])(?:[A-Za-z]:)?\/\S*\/tkr-exec(?:\.exe|\.js)?\s|(?:^|[;&|(\n])\s*(?:\S*\/)?tkr-exec(?:\.exe|\.js)?\s/;function bd(e){return AS.test(e)||IS.test(e)}function kd(e,t,n=0){let r=tn(e);for(let s=0;s<r.length;s++){let o=r[s];if(o.kind==="sep")continue;let i=o.text.trim();if(!i||i===t)continue;let a=r[s+1];if(a?.kind==="sep"&&(a.text==="|"||a.text==="|&")||OS.has(i.split(/\s+/)[0]))continue;let l=n<3?CS.exec(i):null;if(!(l&&kd(l[1],t,n+1)))return!1}return!0}function PS(e){let t=[],n="",r=!1;for(let s=0;s<e.length;s++){let o=e[s];if(o==="'"){let i=e.indexOf("'",s+1);if(i===-1)return null;n+=e.slice(s+1,i),r=!0,s=i}else if(o==='"'){let i=s+1;for(;i<e.length&&e[i]!=='"';i++)e[i]==="\\"&&/["\\$`]/.test(e[i+1]??"")&&i++,n+=e[i];if(i>=e.length)return null;r=!0,s=i}else if(o==="\\"){if(s+1>=e.length)return null;n+=e[++s],r=!0}else/\s/.test(o)?(r&&t.push(n),n="",r=!1):(n+=o,r=!0)}return r&&t.push(n),t.length>0?t:null}function dd(e){let t="";for(let n=0;n<e.length;n++){let r=e[n];if(t==="'"){r==="'"&&(t="");continue}if(r==="\\"){n++;continue}if(r==="$"||r==="`")return!0;r==='"'?t=t?"":'"':r==="'"&&!t&&(t="'")}return!1}async function NS(e){if(!e||typeof e!="object"||e.persistedOutputPath==null)return;let{stdout:t,persistedOutputPath:n,persistedOutputSize:r}=e;if(typeof t!="string"||typeof n!="string"||typeof r!="number"||!Number.isFinite(r))return null;if(!(Buffer.byteLength(t,"utf8")>=r||t.length>=r)){if(!t||e.stderr!=null&&e.stderr!==""||e.interrupted===!0||e.isImage===!0||!pS(n)||fS(dS(n))!=="tool-results")return null;try{let s=await uS(n);if(!s.isFile()||s.size>as)return null;let o=await cS(n,ud.O_RDONLY|(ud.O_NOFOLLOW??0));try{let i=await o.stat();if(!i.isFile()||i.size>as||i.size!==s.size)return null;let a=Buffer.alloc(i.size),{bytesRead:l}=await o.read(a,0,i.size,0);if(l!==i.size)return null;let u=a.toString("utf8");return a.length!==r&&u.length!==r?null:u.startsWith(t)?u:null}finally{await o.close()}}catch{return null}}}function DS(e,t){if(!t||typeof t!="object"||typeof t.stdout!="string"||t.stderr!=null&&typeof t.stderr!="string"||t.interrupted===!0||t.isImage===!0||t.backgroundTaskId!=null||$S.test(e)||dd(e))return null;let n=[];if(di(e,"tkr-exec",()=>!0,s=>n.push(s)),n.length!==1||dd(n[0])||!kd(e,n[0])||tn(e).some(s=>s.kind==="sep"&&s.text!=="&&"&&s.text!=="|"&&s.text!=="|&"))return null;let r=PS(n[0]);return r?{argv:r,stdout:t.stdout,stderr:t.stderr??"",exitCode:t.returnCodeInterpretation!=null?1:0}:null}async function MS(e,t,n,r,s){let{processCapturedOutput:o}=await Promise.resolve().then(()=>(ii(),Af)),i=null,a=k=>{i=k},l={...process.env};t.session_id?l.CLAUDE_CODE_SESSION_ID=t.session_id:delete l.CLAUDE_CODE_SESSION_ID;let u=await o({argv:e.argv,stdout:e.stdout,stderr:e.stderr,exitCode:e.exitCode,truncated:!1,stderrTruncated:!1},{yolo:n,env:l,...r.resolver?{resolver:r.resolver}:{},deferAccounting:a,cwd:t.cwd||(r.inferCwd===!1?void 0:process.cwd())}),c=i,f=[e.stdout,e.stderr].filter(Boolean).join(`
130
+ `),d=Buffer.byteLength(f,"utf8");if(s==null&&u.filterId!=null&&t.session_id&&d>=hd){let k=hi(t.session_id,t.agent_id??"main",f,(t.tool_input?.command??"").split(`
131
+ `)[0]??"");if(k){let g=gi(k.cmd,d);if(n)return g;let{captureOriginalForRestore:T}=await Promise.resolve().then(()=>(ki(),bi));return T(f,g)}}let p=[u.stdout,u.stderr].filter(Boolean).join(`
132
+ `),m=u.stdout===e.stdout&&u.stderr===e.stderr;return s!=null&&(m||p.length>s)||(c&&(r.deferAccounting?r.deferAccounting(c):await c()),m)?null:(yd(d,Buffer.byteLength(p,"utf8")),p)}function LS(e){if(e==null||typeof e!="object"||Array.isArray(e))return!1;let t=e;if(t.session_id!=null&&typeof t.session_id!="string"||t.tool_name!=null&&typeof t.tool_name!="string")return!1;let n=t.tool_input;if(n==null)return!0;if(typeof n!="object"||Array.isArray(n))return!1;let r=n;return["command","file_path","pattern","path"].every(s=>r[s]==null||typeof r[s]=="string")}async function FS(e,t={}){if(!LS(e))return null;let n=e.tool_name==="Bash"&&!bd(e.tool_input?.command??"")?await NS(e.tool_response):void 0;return n===null?null:n===void 0?pd(e,t):pd({...e,tool_response:{...e.tool_response,stdout:n}},t,gS)}async function pd(e,t,n){let r=ke();if(!e.tool_name||!mS.has(e.tool_name))return null;let s=e.tool_name==="Bash"?e.tool_input?.command??"":"",o=bd(s);if(/\btkr(?:\.js)?\s+restore\b/.test(s))return null;let i=await kt();if(!id())return null;let a=e.tool_name==="Bash"&&!o?DS(s,e.tool_response):null;if(a)return Buffer.byteLength(a.stdout,"utf8")+Buffer.byteLength(a.stderr,"utf8")>as?null:MS(a,e,r,t,n);if(e.session_id&&!o&&i?.token){let C=e.tool_input??{},et=C.command??C.file_path??C.pattern??C.path??"";et&&Dr(e.session_id,{tool:e.tool_name,target:et.split(`
133
+ `)[0].trim()})}if(e.tool_name==="Read"&&(e.tool_input?.offset!=null||e.tool_input?.limit!=null))return null;let l=fd(e.tool_response);if(l==null)return TS(e.tool_name,e.tool_response),null;if(!l)return null;let u=Buffer.byteLength(l,"utf8");if(u>as||e.tool_name==="Bash"&&u<hd||e.tool_name==="Glob"&&l.split(`
134
+ `).length<hS||o)return null;let{loadSettingsCache:c,processOutput:f,captureForRestore:d,captureOriginalForRestore:p,neutralizeMarkers:m,FOLD_MARKER_RE:k,resolveAllowedFilters:g,gatingPlan:T,graceExceeded:S,recordEvent:O,recordTelemetry:E,recordStat:I,countedSaving:N,statCmdLabel:j,statOutcome:z,installDaemonResolver:M,closeDaemonResolver:K}=await Promise.resolve().then(()=>(ki(),bi)),W=await c();if(!W.enabled)return null;let{slugKey:Oe}=await Promise.resolve().then(()=>(Ge(),Qi)),ce=i?.token?T(i):null;!t.resolver&&ce&&M(ce);let J=i?.token?g(i.allowedFilters,S(i)):null,Z=new Set(W.filters.disabled.map(Oe)),U=J&&Z.size>0?new Set([...J].filter(C=>!Z.has(C))):J,G=RS(e),ee=`${e.tool_name.toLowerCase()}-tool`,Qe=`${ee}: ${G}`;try{let C=await f(Qe,l,U,{verbosity:W.outputVerbosity,resolver:t.resolver,yolo:r,exitCode:e.tool_name==="Bash"?void 0:0});if(C.filterId!=null&&e.tool_name==="Bash"&&e.session_id){let Ni=hi(e.session_id,e.agent_id??"main",l,s.split(`
135
+ `)[0]??"");if(Ni){let Di=gi(Ni.cmd,u);return r?Di:await p(l,Di)}}let et=new RegExp(k.source,"m"),ms=e.tool_name==="Bash"?j(e.tool_input?.command??""):e.tool_name,Ci=e.tool_name==="Read"&&!r&&(et.test(C.output)||_S.test(C.output))?`${C.output}${C.output.endsWith(`
134
136
  `)?"":`
135
- `}${Vt}`:j.output,ie;if(j.filteredBytes>=j.rawBytes?ie=null:r?ie=j.output:e.tool_name==="Glob"||z.test(j.output)?ie=await p(l,$i,void 0,{label:ln}):ie=await d(j.droppedTail??null,$i,void 0,{raw:l,label:ln}),r&&ie!=null&&(ie=rd(ld(e.tool_response,ie,e.tool_name))),n!=null&&(ie==null||ie.length>n))return null;let Ed=ie==null?j.rawBytes:Buffer.byteLength(ie,"utf8"),fs=Ur().host,Qe=C(j.rawBytes,Ed,Br(fs));ie!=null&&ud(Qe.raw,Qe.filtered);let Td=e.cwd||(t.inferCwd===!1?void 0:process.cwd()),Rd=e.tool_name==="Bash"?"sh":void 0,ds=t.deferAccounting,Oi=!1,Ci=async()=>{Oi||(Oi=!0,await S({cmd:K,filterId:j.filterId,rawBytes:j.rawBytes,filteredBytes:j.filteredBytes,plan:be}),E(Qe.raw,Qe.filtered,void 0,!1,fs,Rd,ln,Td,L(j)),await O({cmd:K,tokensSaved:Math.round((Qe.raw-Qe.filtered)/4),rawTokens:Math.round(Qe.raw/4),optimized:j.filterId!=null,telemetryOptIn:G.telemetryOptIn&&(!ds||(await c()).telemetryOptIn),host:fs}))};return ds?ds(Ci):await Ci(),ie}finally{t.resolver||D()}}async function dd(e,t={}){if(ed(e,"claude-code")!=="claude-code")return"";let n=await TS(e,t);return n?cS(e,n,dS()??void 0):""}xe();xe();var ki=JSON.stringify({permission:"allow"});function pd(e,t=Se("cursor"),n=se){if(e.tool_name!=="Shell")return ki;let r=e.tool_input??{},s=r.command;if(typeof s!="string"||!s)return ki;let o=typeof r.working_directory=="string"?r.working_directory:void 0,i=Xe(s,{host:"cursor",sessionId:e.conversation_id??"unknown",cwd:o},ge()?null:t,n);return i?JSON.stringify({permission:"allow",updated_input:{...r,command:i}}):ki}xe();var os="{}";function md(e,t=Se("gemini-cli"),n=se){if(e.hook_event_name!=="BeforeTool"||e.tool_name!=="run_shell_command")return os;let r=e.tool_input??{};if(r.is_background)return os;let s=r.command;if(typeof s!="string"||!s)return os;let o=typeof e.cwd=="string"?e.cwd:void 0,i=Xe(s,{host:"gemini-cli",sessionId:e.session_id??"unknown",cwd:o},ge()?null:t,n);return i?JSON.stringify({hookSpecificOutput:{tool_input:{command:i}}}):os}Oe();xe();function tn(e,t,n="unknown",r=Se(t),s=se){return e?Xe(e,{host:t,sessionId:n},ge()?null:r,s):null}var RS=new Set(["bash","file_system.bash"]),wi=JSON.stringify({decision:"allow"});function hd(e,t=(n,r)=>tn(n,"vibe",r)){if(!H(e)||e.hook_event_name!=="pre_tool"||typeof e.tool_name!="string"||!RS.has(e.tool_name))return"";let n=e.tool_input;if(!H(n)||typeof n.command!="string"||!n.command)return"";let r=t(n.command,typeof e.session_id=="string"?e.session_id:"unknown");return r?JSON.stringify({hook_specific_output:{tool_input:{...n,command:r}}}):""}function gd(e,t=(n,r)=>tn(n,"antigravity",r)){if(!H(e)||!H(e.toolCall)||e.toolCall.name!=="run_command")return wi;let n=e.toolCall.args;if(!H(n)||typeof n.CommandLine!="string"||!n.CommandLine)return wi;let r=t(n.CommandLine,typeof e.conversationId=="string"?e.conversationId:"unknown");return r?JSON.stringify({decision:"allow",overwrite:{CommandLine:r}}):wi}xe();var je="{}",AS=new Set(["runTerminalCommand","run_in_terminal","Bash","bash"]),$S=["run_in_background","is_background","isBackground"];function is(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function OS(e){let t=e.session_id??e.sessionId;return typeof t=="string"&&t?t:"unknown"}function CS(e,t){let n=e.cwd??t.cwd??t.workdir??t.working_directory;return typeof n=="string"&&n?n:void 0}function as(e,t,n,r,s){if(!is(t)||$S.some(i=>t[i]===!0))return null;let o=t.command;return typeof o!="string"||!o?null:Xe(o,{host:e,sessionId:OS(n),cwd:CS(n,t)},ge()?null:r,s)}function rn(e,t){return JSON.stringify({hookSpecificOutput:{hookEventName:"PreToolUse",updatedInput:{...e,command:t}}})}function IS(e){if(is(e))return e;if(typeof e!="string")return null;try{let t=JSON.parse(e);return is(t)?t:null}catch{return null}}function PS(e,t,n){if(typeof e.tool_name=="string"){if(!AS.has(e.tool_name))return je;let o=e.tool_input,i=as("copilot",o,e,t,n);return i?rn(o,i):je}if(e.toolName!=="bash")return je;let r=IS(e.toolArgs),s=as("copilot",r,e,t,n);return s?JSON.stringify({modifiedArgs:{...r,command:s}}):je}function nn(e,t,n){return(r,s,o)=>{if(r.tool_name!==t)return je;let i=r.tool_input,a=as(e,i,r,s,o);return a?n(i,a):je}}var NS=new Set(["run_terminal_command","Bash","bash"]);function DS(e,t,n){let r=e.toolName??e.tool_name;if(typeof r!="string"||!NS.has(r))return je;let s=e.toolInput??e.tool_input,o=as("grok",s,e,t,n);return o?rn(s,o):je}var MS={copilot:PS,droid:nn("droid","Execute",rn),trae:nn("trae","RunCommand",rn),"qwen-code":nn("qwen-code","run_shell_command",rn),crush:nn("crush","bash",(e,t)=>JSON.stringify({updated_input:{command:t}})),junie:nn("junie","Bash",(e,t)=>JSON.stringify({updatedInput:{...e,command:t}})),zcode:nn("zcode","Bash",rn),grok:DS};function yd(e,t,n=Se(e),r=se){return is(t)?MS[e](t,n,r):je}function sn(e){return ge()?null:Se(e)}function FS(e,t,n={}){let r=n.recordUsage??se;switch(e){case"claude-code":case"codex":return t.hook_event_name!==void 0&&t.hook_event_name!=="PreToolUse"?"":Jf(t,e,sn(e),r,n.claudeDirs??ns(),n.pathEnv??process.env.PATH,n.launchArgs??Zn)??"";case"cursor":return pd(t,sn(e),r);case"gemini-cli":return md(t,sn(e),r);case"vibe":return hd(t,(s,o)=>tn(s,"vibe",o,sn(e),r));case"antigravity":return gd(t,(s,o)=>tn(s,"antigravity",o,sn(e),r));default:return yd(e,t,sn(e),r)}}function en(e,t,n={}){let r=hi(e,t);return r?FS(r,e,n):n.fallback??""}jn();var ls=class{constructor(t,n,r=()=>{}){this.limit=t;this.receive=n;this.reserve=r}limit;receive;reserve;header=Buffer.alloc(4);headerBytes=0;body=null;bodyBytes=0;closed=!1;push(t){if(this.closed)throw new Error("reader closed");let n=0;try{for(;n<t.length&&!this.closed;){if(!this.body){let s=Math.min(4-this.headerBytes,t.length-n);if(t.copy(this.header,this.headerBytes,n,n+s),this.headerBytes+=s,n+=s,this.headerBytes!==4)continue;let o=this.header.readUInt32BE(0);if(o>this.limit())throw new Error("frame limit exceeded");this.reserve(o),this.body=Buffer.allocUnsafe(o),this.bodyBytes=0}let r=Math.min(this.body.length-this.bodyBytes,t.length-n);if(t.copy(this.body,this.bodyBytes,n,n+r),this.bodyBytes+=r,n+=r,this.bodyBytes===this.body.length){let s=this.body;this.body=null,this.headerBytes=0,this.bodyBytes=0,this.receive(s)}}}catch(r){throw this.close(),r}}close(){this.closed=!0,this.body=null,this.headerBytes=0,this.bodyBytes=0}};function on(e){let t=Buffer.allocUnsafe(4);return t.writeUInt32BE(e.length),Buffer.concat([t,e])}function bd(e){if(e.length<16)throw new Error("incomplete captured header");let t=e.readUInt32BE(0),n=e.readUInt32BE(4),r=e.readUInt32BE(8),s=e.readUInt32BE(12);if(t>255||n>3||r>10485760||s>10485760||e.length!==16+r+s)throw new Error("invalid captured output");return{stdout:e.subarray(16,16+r).toString("utf8"),stderr:e.subarray(16+r).toString("utf8"),exitCode:t,truncated:(n&1)!==0,stderrTruncated:(n&2)!==0}}xe();var zS={"claude-code":"CLAUDECODE",codex:"CODEX_CLI",cursor:"CURSOR_VERSION",cline:"CLINE_VERSION",aider:"AIDER_VERSION","gemini-cli":"GEMINI_CLI_VERSION",windsurf:"WINDSURF_VERSION",copilot:"GITHUB_COPILOT_VERSION","qwen-code":"QWEN_CODE",crush:"CRUSH",droid:"",trae:"",junie:"",zcode:"",grok:"",kilo:"",shell:""},JS=h.object({protocol:h.literal(2),version:h.string().min(1).max(64),token:h.string().regex(/^[0-9a-f]{64}$/),home:h.string().min(1).max(4096),argv:h.array(h.string().max(32768).refine(e=>!e.includes("\0"))).min(1).max(4096),host:h.enum(Ho),sessionId:h.string().max(256).optional(),restoreDisabled:h.boolean(),restoreMaxBytes:h.number().int().positive().max(10485760).optional(),timeoutMs:h.number().int().positive().max(864e5)}).strict(),ZS=h.object({kind:h.literal("pre-tool-use"),protocol:h.literal(2),version:h.string().min(1).max(64),token:h.string().regex(/^[0-9a-f]{64}$/),home:h.string().min(1).max(4096),host:h.enum(["claude-code","codex"]),payload:h.record(h.string(),h.unknown()),claudeProjectDir:h.string().min(1).max(4096).optional(),claudeConfigDir:h.string().min(1).max(4096).optional(),path:h.string().min(1).max(32768).optional(),claudePid:h.string().regex(/^[1-9]\d{0,9}$/).optional()}).strict(),GS=h.object({kind:h.literal("post-tool-use"),protocol:h.literal(2),version:h.string().min(1).max(64),token:h.string().regex(/^[0-9a-f]{64}$/),home:h.string().min(1).max(4096),host:h.enum(["claude-code"])}).strict();function an(e){if(!e)return!1;let t=Date.now()-e.signedAt;return t>=0&&t<=Es()}async function _d(e){if(!/^[0-9a-f]{64}$/.test(e.token))throw new Error("invalid processing authentication");let t=process.platform==="win32";if(t){if(!/^\\\\\.\\pipe\\tokmizer-[A-Za-z0-9._-]+$/.test(e.path))throw new Error("unsafe processing pipe")}else{let f=jS(BS(e.path));if(!f.isDirectory()||f.uid!==process.getuid?.()||(f.mode&63)!==0)throw new Error("unsafe processing directory")}let n=HS(x()),r=Buffer.from(e.token,"hex"),s=new Set,o=new Set,i=0,a=!1,l=e.maxConnections??4,u=e.maxBufferedBytes??48*1024*1024,c=US(f=>{if(a||s.size>=l){f.destroy();return}s.add(f);let d="prepare",p=null,m=!1,k=0,g=!1,T,S,O=()=>{i-=k,k=0},E=()=>{clearTimeout(S),L.close(),g||O(),d="closed",f.destroy()},C=J=>{clearTimeout(S),S=setTimeout(E,J),S.unref()},P=J=>{f.write(on(Buffer.from(JSON.stringify(J))))},L=new ls(()=>d==="prepare"?65536:d==="capture"||d==="hook-payload"?20971536:d==="delivery"?1:-1,J=>{if(d==="delivery"){if(J.length!==1||J[0]!==1)throw new Error("invalid delivery receipt");d="accounting",e.onActivity?.(),g=!0;let Z=(T?.()??Promise.resolve()).then(()=>{f.destroyed||f.end(on(Buffer.from([1])))}).catch(()=>E()).finally(()=>{g=!1,f.destroyed&&(O(),s.delete(f)),o.delete(Z)});o.add(Z);return}if(d==="hook-payload"){let Z=e.getRuntime();if(!an(Z)){E();return}let W=JSON.parse(J.toString("utf8"));if(!W||typeof W!="object"||Array.isArray(W))throw new Error("invalid hook payload");e.onActivity?.(),d="processing",g=!0,C(e.processingTimeoutMs??5e3);let U=dd(W,{inferCwd:!1,deferAccounting:K=>{T=K},resolver:async(K,fe)=>{if(!an(Z))throw new Error("expired processing rules");return Z.selectFor(K,"pro",fe?[...fe]:void 0)}}).then(K=>{if(f.destroyed)return;let fe=Buffer.from(JSON.stringify({ok:!0,protocol:2,output:K}));if(fe.length>20971536)throw new Error("hook response limit");O(),d="delivery",C(e.processingTimeoutMs??5e3),f.write(on(fe))}).catch(()=>E()).finally(()=>{g=!1,f.destroyed&&(O(),s.delete(f)),o.delete(U)});o.add(U);return}if(d==="prepare"){let Z=JSON.parse(J.toString("utf8"));if(Z?.kind==="post-tool-use"){let U=GS.parse(Z);if(!Si(r,Buffer.from(U.token,"hex"))||U.version!==e.version||U.home!==n||!an(e.getRuntime())){E();return}e.onActivity?.(),O(),d="hook-payload",C(e.prepareTimeoutMs??1e3),P({ok:!0,protocol:2});return}if(Z?.kind==="pre-tool-use"){let U=ZS.parse(Z);if(!Si(r,Buffer.from(U.token,"hex"))||U.version!==e.version||U.home!==n){E();return}e.onActivity?.();let K,fe=en(U.payload,U.host,{recordUsage:(z,ln)=>{K={sessionId:z,routed:ln}},claudeDirs:{projectDir:U.claudeProjectDir,configDir:U.claudeConfigDir},pathEnv:U.path??"",launchArgs:()=>U.claudePid?Zn({CLAUDE_PID:U.claudePid}):null}),j=Buffer.from(JSON.stringify({ok:!0,protocol:2,output:fe}));if(j.length>1024*1024)throw new Error("hook response limit");T=async()=>{let z=K;K=void 0,z&&se(z.sessionId,z.routed)},O(),d="delivery",C(e.processingTimeoutMs??5e3),f.write(on(j));return}let W=JS.parse(Z);if(!Si(r,Buffer.from(W.token,"hex"))||W.version!==e.version||W.home!==n||!an(e.getRuntime())){E();return}p=W,e.onActivity?.(),m=we(),O(),d="capture",C(W.timeoutMs+5e3),P({ok:!0,protocol:2,yolo:m});return}if(d!=="capture"||!p)throw new Error("unexpected processing frame");let D=bd(J);e.onActivity?.();let G=e.getRuntime();if(!an(G)){E();return}d="processing",g=!0,C(e.processingTimeoutMs??5e3);let X={},be=zS[p.host];be?X[be]="1":p.host!=="shell"&&(X.TOKMIZER_HOST=p.host),p.sessionId!==void 0&&(X.CLAUDE_CODE_SESSION_ID=p.sessionId),X.TOKMIZER_CCR_DISABLED=p.restoreDisabled?"1":"0",p.restoreMaxBytes!==void 0&&(X.TOKMIZER_CCR_ENTRY_MAX_BYTES=String(p.restoreMaxBytes));let ce=Yr({...D,argv:p.argv},{env:X,yolo:m,onMissingState:Vr,deferAccounting:Z=>{T=Z},resolver:async(Z,W)=>{if(!an(G))throw new Error("expired processing rules");return G.selectFor(Z,"pro",W?[...W]:void 0)}}).then(Z=>{if(f.destroyed)return;let W=Buffer.from(Z.stdout),U=Buffer.from(Z.stderr);if(W.length>10551296||U.length>10551296)throw new Error("processing response limit");let K=Buffer.allocUnsafe(8);K.writeUInt32BE(W.length,0),K.writeUInt32BE(U.length,4),d="delivery",C(e.processingTimeoutMs??5e3),f.write(on(Buffer.concat([K,W,U])))}).catch(()=>E()).finally(()=>{g=!1,f.destroyed&&(O(),s.delete(f)),o.delete(ce)});o.add(ce)},J=>{if(i+J>u)throw new Error("processing capacity exceeded");i+=J,k+=J});C(e.prepareTimeoutMs??1e3),f.on("data",J=>{try{L.push(J)}catch{E()}}),f.on("error",E),f.on("close",()=>{g||s.delete(f),E()})});try{await new Promise((f,d)=>{c.once("error",d),c.listen(e.path,()=>{c.off("error",d),f()})}),t||LS(e.path,384)}catch(f){throw c.close(),f}return{activeConnections:()=>s.size,close:async()=>{a=!0;for(let f of s)f.destroy();await new Promise(f=>c.close(()=>f())),await Promise.allSettled(o)}}}function Ei(e=he){return`processing-${e}.json`}function tv(e,t,n){return`\\\\.\\pipe\\tokmizer-p-${e.replace(/[^A-Za-z0-9._-]/g,"_").slice(0,64)||"user"}-${t.replace(/[^A-Za-z0-9._-]/g,"_")}-${n}`}async function xd(e,t,n="processing.json"){let r=process.platform==="win32",s=YS(x()),o=us(s,"run");VS(o,{recursive:!0,mode:448});let i=WS(o);if(!i.isDirectory()||!r&&(i.uid!==process.getuid?.()||(i.mode&63)!==0))throw new Error("unsafe processing descriptor directory");let a=wd().slice(0,8),l=r?tv(process.env.USERNAME??"user",he,a):us(ev(_t().path),`p${a}`);if(!r&&Buffer.byteLength(l)>100)throw new Error("processing socket path too long");let u=KS(32).toString("hex"),c=await _d({path:l,token:u,version:he,getRuntime:e,...t?{onActivity:t}:{}}),f=us(o,`${n}.${wd()}.tmp`);try{return QS(f,JSON.stringify({protocol:2,version:he,home:s,path:l,token:u}),{mode:384,flag:"wx"}),qS(f,us(o,n)),c}catch(d){throw await c.close(),d}finally{XS(f,{force:!0})}}function Sd(e,t,n){let r=null,s=!1,o=0,i=null,a=()=>i||(o=Date.now(),i=e().catch(()=>null).then(l=>{if(l){s=!1,r=l;return}let u=t();if(!u)return;let c=Date.now();s=!0,r={...u,signedAt:c,fetchedAt:c}}).finally(()=>{i=null}),i);return{current:()=>((!r||s&&Date.now()-o>n)&&a(),r),reload:a}}B();Dt();var ov=6e4,iv=5e3,av=30*6e4;function vd(){let e=Number(process.env.TOKMIZER_PROCESSOR_IDLE_MS);return Number.isFinite(e)&&e>0?e:av}async function lv(e){if(!e)return;let t=Array.from({length:200},(r,s)=>`-rw-r--r-- 1 user staff ${s*97} Jan 1 00:00 file-${s}.txt`).join(`
136
- `),n=async(r,s)=>e.selectFor(r,"pro",s?[...s]:void 0);for(let r of["ls -la","git status","grep -rn x ."])await We(r,t,null,{resolver:n}).catch(()=>null)}function uv(e){try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}function cv(e){for(let t=0;t<2;t+=1)try{return sv(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{let n=Number.NaN;try{n=Number(Ai(e,"utf8"))}catch{}if(Number.isInteger(n)&&n>0&&uv(n))return!1;cs(e,{force:!0})}return!1}function Ri(e,t){try{return t(Ai(e,"utf8"))}catch{return!1}}async function fv(){let e=Ti(rv(x()),"run");nv(e,{recursive:!0,mode:448});let t=Ti(e,`processor-${he}.pid`);if(!cv(t))return;let n=Sd(sr,Ht,iv),r=Date.now(),s=()=>{r=Date.now()},o=Ti(e,Ei()),i=null,a=null,l=!1,u=()=>{l||(l=!0,(a?.close()??Promise.resolve()).finally(()=>{i&&Ri(o,d=>JSON.parse(d).path===i)&&cs(o,{force:!0}),Ri(t,d=>Number(d)===process.pid)&&cs(t,{force:!0}),process.exit(0)}))};await n.reload();try{a=await xd(n.current,s,Ei())}catch{cs(t,{force:!0});return}i=Ri(o,()=>!0)?JSON.parse(Ai(o,"utf8")).path:null,setInterval(()=>{n.reload()},ov).unref(),setInterval(()=>{(a?.activeConnections()??0)===0&&Date.now()-r>vd()&&u()},Math.min(6e4,vd())).unref(),process.on("SIGINT",u),process.on("SIGTERM",u),setImmediate(()=>{lv(n.current())}),setTimeout(()=>{process.title="tkr-processor"},1e3).unref()}fv().catch(()=>process.exit(0));
137
+ `}${Yt}`:C.output,ie;if(C.filteredBytes>=C.rawBytes?ie=null:r?ie=m(C.output,l):e.tool_name==="Glob"||et.test(C.output)?ie=await p(l,Ci,void 0,{label:ms}):ie=await d(C.droppedTail??null,Ci,void 0,{raw:l,label:ms}),r&&ie!=null&&(ie=fd(gd(e.tool_response,ie,e.tool_name))),n!=null&&(ie==null||ie.length>n))return null;let Pd=ie==null?C.rawBytes:Buffer.byteLength(ie,"utf8"),hs=Gr().host,tt=N(C.rawBytes,Pd,Zr(hs));ie!=null&&yd(tt.raw,tt.filtered);let Nd=e.cwd||(t.inferCwd===!1?void 0:process.cwd()),Dd=e.tool_name==="Bash"?"sh":void 0,gs=t.deferAccounting,Ii=!1,Pi=async()=>{Ii||(Ii=!0,await O({cmd:ee,filterId:C.filterId,rawBytes:C.rawBytes,filteredBytes:C.filteredBytes,plan:ce}),I(tt.raw,tt.filtered,void 0,!1,hs,Dd,ms,Nd,z(C)),await E({cmd:ee,tokensSaved:Math.round((tt.raw-tt.filtered)/4),rawTokens:Math.round(tt.raw/4),optimized:C.filterId!=null,telemetryOptIn:W.telemetryOptIn&&(!gs||(await c()).telemetryOptIn),host:hs}))};return gs?gs(Pi):await Pi(),ie}finally{t.resolver||K()}}async function _d(e,t={}){if(ld(e,"claude-code")!=="claude-code")return"";let n=await FS(e,t);return n?xS(e,n,vS()??void 0):""}_e();_e();var wi=JSON.stringify({permission:"allow"});function wd(e,t=we("cursor"),n=oe){if(e.tool_name!=="Shell")return wi;let r=e.tool_input??{},s=r.command;if(typeof s!="string"||!s)return wi;let o=typeof r.working_directory=="string"?r.working_directory:void 0,i=Xe(s,{host:"cursor",sessionId:e.conversation_id??"unknown",cwd:o},he()?null:t,n);return i?JSON.stringify({permission:"allow",updated_input:{...r,command:i}}):wi}_e();var ls="{}";function xd(e,t=we("gemini-cli"),n=oe){if(e.hook_event_name!=="BeforeTool"||e.tool_name!=="run_shell_command")return ls;let r=e.tool_input??{};if(r.is_background)return ls;let s=r.command;if(typeof s!="string"||!s)return ls;let o=typeof e.cwd=="string"?e.cwd:void 0,i=Xe(s,{host:"gemini-cli",sessionId:e.session_id??"unknown",cwd:o},he()?null:t,n);return i?JSON.stringify({hookSpecificOutput:{tool_input:{command:i}}}):ls}Ae();_e();function rn(e,t,n="unknown",r=we(t),s=oe){return e?Xe(e,{host:t,sessionId:n},he()?null:r,s):null}var jS=new Set(["bash","file_system.bash"]),Si=JSON.stringify({decision:"allow"});function Sd(e,t=(n,r)=>rn(n,"vibe",r)){if(!H(e)||e.hook_event_name!=="pre_tool"||typeof e.tool_name!="string"||!jS.has(e.tool_name))return"";let n=e.tool_input;if(!H(n)||typeof n.command!="string"||!n.command)return"";let r=t(n.command,typeof e.session_id=="string"?e.session_id:"unknown");return r?JSON.stringify({hook_specific_output:{tool_input:{...n,command:r}}}):""}function vd(e,t=(n,r)=>rn(n,"antigravity",r)){if(!H(e)||!H(e.toolCall)||e.toolCall.name!=="run_command")return Si;let n=e.toolCall.args;if(!H(n)||typeof n.CommandLine!="string"||!n.CommandLine)return Si;let r=t(n.CommandLine,typeof e.conversationId=="string"?e.conversationId:"unknown");return r?JSON.stringify({decision:"allow",overwrite:{CommandLine:r}}):Si}_e();var je="{}",HS=new Set(["runTerminalCommand","run_in_terminal","Bash","bash"]),BS=["run_in_background","is_background","isBackground"];function us(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function US(e){let t=e.session_id??e.sessionId;return typeof t=="string"&&t?t:"unknown"}function zS(e,t){let n=e.cwd??t.cwd??t.workdir??t.working_directory;return typeof n=="string"&&n?n:void 0}function cs(e,t,n,r,s){if(!us(t)||BS.some(i=>t[i]===!0))return null;let o=t.command;return typeof o!="string"||!o?null:Xe(o,{host:e,sessionId:US(n),cwd:zS(n,t)},he()?null:r,s)}function on(e,t){return JSON.stringify({hookSpecificOutput:{hookEventName:"PreToolUse",updatedInput:{...e,command:t}}})}function JS(e){if(us(e))return e;if(typeof e!="string")return null;try{let t=JSON.parse(e);return us(t)?t:null}catch{return null}}function ZS(e,t,n){if(typeof e.tool_name=="string"){if(!HS.has(e.tool_name))return je;let o=e.tool_input,i=cs("copilot",o,e,t,n);return i?on(o,i):je}if(e.toolName!=="bash")return je;let r=JS(e.toolArgs),s=cs("copilot",r,e,t,n);return s?JSON.stringify({modifiedArgs:{...r,command:s}}):je}function sn(e,t,n){return(r,s,o)=>{if(r.tool_name!==t)return je;let i=r.tool_input,a=cs(e,i,r,s,o);return a?n(i,a):je}}var GS=new Set(["run_terminal_command","Bash","bash"]);function KS(e,t,n){let r=e.toolName??e.tool_name;if(typeof r!="string"||!GS.has(r))return je;let s=e.toolInput??e.tool_input,o=cs("grok",s,e,t,n);return o?on(s,o):je}var WS={copilot:ZS,droid:sn("droid","Execute",on),trae:sn("trae","RunCommand",on),"qwen-code":sn("qwen-code","run_shell_command",on),crush:sn("crush","bash",(e,t)=>JSON.stringify({updated_input:{command:t}})),junie:sn("junie","Bash",(e,t)=>JSON.stringify({updatedInput:{...e,command:t}})),zcode:sn("zcode","Bash",on),grok:KS};function Ed(e,t,n=we(e),r=oe){return us(t)?WS[e](t,n,r):je}function an(e){return he()?null:we(e)}function VS(e,t,n={}){let r=n.recordUsage??oe;switch(e){case"claude-code":case"codex":return t.hook_event_name!==void 0&&t.hook_event_name!=="PreToolUse"?"":Yf(t,e,an(e),r,n.claudeDirs??os(),n.pathEnv??process.env.PATH,n.launchArgs??Wn)??"";case"cursor":return wd(t,an(e),r);case"gemini-cli":return xd(t,an(e),r);case"vibe":return Sd(t,(s,o)=>rn(s,"vibe",o,an(e),r));case"antigravity":return vd(t,(s,o)=>rn(s,"antigravity",o,an(e),r));default:return Ed(e,t,an(e),r)}}function nn(e,t,n={}){let r=yi(e,t);return r?VS(r,e,n):n.fallback??""}Bn();var fs=class{constructor(t,n,r=()=>{}){this.limit=t;this.receive=n;this.reserve=r}limit;receive;reserve;header=Buffer.alloc(4);headerBytes=0;body=null;bodyBytes=0;closed=!1;push(t){if(this.closed)throw new Error("reader closed");let n=0;try{for(;n<t.length&&!this.closed;){if(!this.body){let s=Math.min(4-this.headerBytes,t.length-n);if(t.copy(this.header,this.headerBytes,n,n+s),this.headerBytes+=s,n+=s,this.headerBytes!==4)continue;let o=this.header.readUInt32BE(0);if(o>this.limit())throw new Error("frame limit exceeded");this.reserve(o),this.body=Buffer.allocUnsafe(o),this.bodyBytes=0}let r=Math.min(this.body.length-this.bodyBytes,t.length-n);if(t.copy(this.body,this.bodyBytes,n,n+r),this.bodyBytes+=r,n+=r,this.bodyBytes===this.body.length){let s=this.body;this.body=null,this.headerBytes=0,this.bodyBytes=0,this.receive(s)}}}catch(r){throw this.close(),r}}close(){this.closed=!0,this.body=null,this.headerBytes=0,this.bodyBytes=0}};function ln(e){let t=Buffer.allocUnsafe(4);return t.writeUInt32BE(e.length),Buffer.concat([t,e])}function Td(e){if(e.length<16)throw new Error("incomplete captured header");let t=e.readUInt32BE(0),n=e.readUInt32BE(4),r=e.readUInt32BE(8),s=e.readUInt32BE(12);if(t>255||n>3||r>10485760||s>10485760||e.length!==16+r+s)throw new Error("invalid captured output");return{stdout:e.subarray(16,16+r).toString("utf8"),stderr:e.subarray(16+r).toString("utf8"),exitCode:t,truncated:(n&1)!==0,stderrTruncated:(n&2)!==0}}_e();var tv={"claude-code":"CLAUDECODE",codex:"CODEX_CLI",cursor:"CURSOR_VERSION",cline:"CLINE_VERSION",aider:"AIDER_VERSION","gemini-cli":"GEMINI_CLI_VERSION",windsurf:"WINDSURF_VERSION",copilot:"GITHUB_COPILOT_VERSION","qwen-code":"QWEN_CODE",crush:"CRUSH",droid:"",trae:"",junie:"",zcode:"",grok:"",kilo:"",shell:""},nv=h.object({protocol:h.literal(2),version:h.string().min(1).max(64),token:h.string().regex(/^[0-9a-f]{64}$/),home:h.string().min(1).max(4096),argv:h.array(h.string().max(32768).refine(e=>!e.includes("\0"))).min(1).max(4096),host:h.enum(Uo),sessionId:h.string().max(256).optional(),restoreDisabled:h.boolean(),restoreMaxBytes:h.number().int().positive().max(10485760).optional(),timeoutMs:h.number().int().positive().max(864e5)}).strict(),rv=h.object({kind:h.literal("pre-tool-use"),protocol:h.literal(2),version:h.string().min(1).max(64),token:h.string().regex(/^[0-9a-f]{64}$/),home:h.string().min(1).max(4096),host:h.enum(["claude-code","codex"]),payload:h.record(h.string(),h.unknown()),claudeProjectDir:h.string().min(1).max(4096).optional(),claudeConfigDir:h.string().min(1).max(4096).optional(),path:h.string().min(1).max(32768).optional(),claudePid:h.string().regex(/^[1-9]\d{0,9}$/).optional()}).strict(),sv=h.object({kind:h.literal("post-tool-use"),protocol:h.literal(2),version:h.string().min(1).max(64),token:h.string().regex(/^[0-9a-f]{64}$/),home:h.string().min(1).max(4096),host:h.enum(["claude-code"])}).strict();function un(e){if(!e)return!1;let t=Date.now()-e.signedAt;return t>=0&&t<=$s()}async function Ad(e){if(!/^[0-9a-f]{64}$/.test(e.token))throw new Error("invalid processing authentication");let t=process.platform==="win32";if(t){if(!/^\\\\\.\\pipe\\tokmizer-[A-Za-z0-9._-]+$/.test(e.path))throw new Error("unsafe processing pipe")}else{let f=YS(QS(e.path));if(!f.isDirectory()||f.uid!==process.getuid?.()||(f.mode&63)!==0)throw new Error("unsafe processing directory")}let n=XS(x()),r=Buffer.from(e.token,"hex"),s=new Set,o=new Set,i=0,a=!1,l=e.maxConnections??4,u=e.maxBufferedBytes??48*1024*1024,c=ev(f=>{if(a||s.size>=l){f.destroy();return}s.add(f);let d="prepare",p=null,m=!1,k=0,g=!1,T,S,O=()=>{i-=k,k=0},E=()=>{clearTimeout(S),j.close(),g||O(),d="closed",f.destroy()},I=z=>{clearTimeout(S),S=setTimeout(E,z),S.unref()},N=z=>{f.write(ln(Buffer.from(JSON.stringify(z))))},j=new fs(()=>d==="prepare"?65536:d==="capture"||d==="hook-payload"?20971536:d==="delivery"?1:-1,z=>{if(d==="delivery"){if(z.length!==1||z[0]!==1)throw new Error("invalid delivery receipt");d="accounting",e.onActivity?.(),g=!0;let J=(T?.()??Promise.resolve()).then(()=>{f.destroyed||f.end(ln(Buffer.from([1])))}).catch(()=>E()).finally(()=>{g=!1,f.destroyed&&(O(),s.delete(f)),o.delete(J)});o.add(J);return}if(d==="hook-payload"){let J=e.getRuntime();if(!un(J)){E();return}let Z=JSON.parse(z.toString("utf8"));if(!Z||typeof Z!="object"||Array.isArray(Z))throw new Error("invalid hook payload");e.onActivity?.(),d="processing",g=!0,I(e.processingTimeoutMs??5e3);let U=_d(Z,{inferCwd:!1,deferAccounting:G=>{T=G},resolver:async(G,ee)=>{if(!un(J))throw new Error("expired processing rules");return J.selectFor(G,"pro",ee?[...ee]:void 0)}}).then(G=>{if(f.destroyed)return;let ee=Buffer.from(JSON.stringify({ok:!0,protocol:2,output:G}));if(ee.length>20971536)throw new Error("hook response limit");O(),d="delivery",I(e.processingTimeoutMs??5e3),f.write(ln(ee))}).catch(()=>E()).finally(()=>{g=!1,f.destroyed&&(O(),s.delete(f)),o.delete(U)});o.add(U);return}if(d==="prepare"){let J=JSON.parse(z.toString("utf8"));if(J?.kind==="post-tool-use"){let U=sv.parse(J);if(!Ei(r,Buffer.from(U.token,"hex"))||U.version!==e.version||U.home!==n||!un(e.getRuntime())){E();return}e.onActivity?.(),O(),d="hook-payload",I(e.prepareTimeoutMs??1e3),N({ok:!0,protocol:2});return}if(J?.kind==="pre-tool-use"){let U=rv.parse(J);if(!Ei(r,Buffer.from(U.token,"hex"))||U.version!==e.version||U.home!==n){E();return}e.onActivity?.();let G,ee=nn(U.payload,U.host,{recordUsage:(C,et)=>{G={sessionId:C,routed:et}},claudeDirs:{projectDir:U.claudeProjectDir,configDir:U.claudeConfigDir},pathEnv:U.path??"",launchArgs:()=>U.claudePid?Wn({CLAUDE_PID:U.claudePid}):null}),Qe=Buffer.from(JSON.stringify({ok:!0,protocol:2,output:ee}));if(Qe.length>1024*1024)throw new Error("hook response limit");T=async()=>{let C=G;G=void 0,C&&oe(C.sessionId,C.routed)},O(),d="delivery",I(e.processingTimeoutMs??5e3),f.write(ln(Qe));return}let Z=nv.parse(J);if(!Ei(r,Buffer.from(Z.token,"hex"))||Z.version!==e.version||Z.home!==n||!un(e.getRuntime())){E();return}p=Z,e.onActivity?.(),m=ke(),O(),d="capture",I(Z.timeoutMs+5e3),N({ok:!0,protocol:2,yolo:m});return}if(d!=="capture"||!p)throw new Error("unexpected processing frame");let M=Td(z);e.onActivity?.();let K=e.getRuntime();if(!un(K)){E();return}d="processing",g=!0,I(e.processingTimeoutMs??5e3);let W={},Oe=tv[p.host];Oe?W[Oe]="1":p.host!=="shell"&&(W.TOKMIZER_HOST=p.host),p.sessionId!==void 0&&(W.CLAUDE_CODE_SESSION_ID=p.sessionId),W.TOKMIZER_CCR_DISABLED=p.restoreDisabled?"1":"0",p.restoreMaxBytes!==void 0&&(W.TOKMIZER_CCR_ENTRY_MAX_BYTES=String(p.restoreMaxBytes));let ce=es({...M,argv:p.argv},{env:W,yolo:m,onMissingState:Qr,deferAccounting:J=>{T=J},resolver:async(J,Z)=>{if(!un(K))throw new Error("expired processing rules");return K.selectFor(J,"pro",Z?[...Z]:void 0)}}).then(J=>{if(f.destroyed)return;let Z=Buffer.from(J.stdout),U=Buffer.from(J.stderr);if(Z.length>10551296||U.length>10551296)throw new Error("processing response limit");let G=Buffer.allocUnsafe(8);G.writeUInt32BE(Z.length,0),G.writeUInt32BE(U.length,4),d="delivery",I(e.processingTimeoutMs??5e3),f.write(ln(Buffer.concat([G,Z,U])))}).catch(()=>E()).finally(()=>{g=!1,f.destroyed&&(O(),s.delete(f)),o.delete(ce)});o.add(ce)},z=>{if(i+z>u)throw new Error("processing capacity exceeded");i+=z,k+=z});I(e.prepareTimeoutMs??1e3),f.on("data",z=>{try{j.push(z)}catch{E()}}),f.on("error",E),f.on("close",()=>{g||s.delete(f),E()})});try{await new Promise((f,d)=>{c.once("error",d),c.listen(e.path,()=>{c.off("error",d),f()})}),t||qS(e.path,384)}catch(f){throw c.close(),f}return{activeConnections:()=>s.size,close:async()=>{a=!0;for(let f of s)f.destroy();await new Promise(f=>c.close(()=>f())),await Promise.allSettled(o)}}}function Ri(e=me){return`processing-${e}.json`}function pv(e,t,n){return`\\\\.\\pipe\\tokmizer-p-${e.replace(/[^A-Za-z0-9._-]/g,"_").slice(0,64)||"user"}-${t.replace(/[^A-Za-z0-9._-]/g,"_")}-${n}`}async function Od(e,t,n="processing.json"){let r=process.platform==="win32",s=lv(x()),o=ds(s,"run");av(o,{recursive:!0,mode:448});let i=iv(o);if(!i.isDirectory()||!r&&(i.uid!==process.getuid?.()||(i.mode&63)!==0))throw new Error("unsafe processing descriptor directory");let a=$d().slice(0,8),l=r?pv(process.env.USERNAME??"user",me,a):ds(dv(xt().path),`p${a}`);if(!r&&Buffer.byteLength(l)>100)throw new Error("processing socket path too long");let u=ov(32).toString("hex"),c=await Ad({path:l,token:u,version:me,getRuntime:e,...t?{onActivity:t}:{}}),f=ds(o,`${n}.${$d()}.tmp`);try{return fv(f,JSON.stringify({protocol:2,version:me,home:s,path:l,token:u}),{mode:384,flag:"wx"}),uv(f,ds(o,n)),c}catch(d){throw await c.close(),d}finally{cv(f,{force:!0})}}function Cd(e,t,n){let r=null,s=!1,o=0,i=null,a=()=>i||(o=Date.now(),i=e().catch(()=>null).then(l=>{if(l){s=!1,r=l;return}let u=t();if(!u)return;let c=Date.now();s=!0,r={...u,signedAt:c,fetchedAt:c}}).finally(()=>{i=null}),i);return{current:()=>((!r||s&&Date.now()-o>n)&&a(),r),reload:a}}B();Lt();var yv=6e4,bv=5e3,kv=30*6e4;function Id(){let e=Number(process.env.TOKMIZER_PROCESSOR_IDLE_MS);return Number.isFinite(e)&&e>0?e:kv}async function _v(e){if(!e)return;let t=Array.from({length:200},(r,s)=>`-rw-r--r-- 1 user staff ${s*97} Jan 1 00:00 file-${s}.txt`).join(`
138
+ `),n=async(r,s)=>e.selectFor(r,"pro",s?[...s]:void 0);for(let r of["ls -la","git status","grep -rn x ."])await We(r,t,null,{resolver:n}).catch(()=>null)}function wv(e){try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}function xv(e){for(let t=0;t<2;t+=1)try{return gv(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{let n=Number.NaN;try{n=Number(Oi(e,"utf8"))}catch{}if(Number.isInteger(n)&&n>0&&wv(n))return!1;ps(e,{force:!0})}return!1}function $i(e,t){try{return t(Oi(e,"utf8"))}catch{return!1}}async function Sv(){let e=Ai(hv(x()),"run");mv(e,{recursive:!0,mode:448});let t=Ai(e,`processor-${me}.pid`);if(!xv(t))return;let n=Cd(ar,Ut,bv),r=Date.now(),s=()=>{r=Date.now()},o=Ai(e,Ri()),i=null,a=null,l=!1,u=()=>{l||(l=!0,(a?.close()??Promise.resolve()).finally(()=>{i&&$i(o,d=>JSON.parse(d).path===i)&&ps(o,{force:!0}),$i(t,d=>Number(d)===process.pid)&&ps(t,{force:!0}),process.exit(0)}))};await n.reload();try{a=await Od(n.current,s,Ri())}catch{ps(t,{force:!0});return}i=$i(o,()=>!0)?JSON.parse(Oi(o,"utf8")).path:null,setInterval(()=>{n.reload()},yv).unref(),setInterval(()=>{(a?.activeConnections()??0)===0&&Date.now()-r>Id()&&u()},Math.min(6e4,Id())).unref(),process.on("SIGINT",u),process.on("SIGTERM",u),setImmediate(()=>{_v(n.current())}),setTimeout(()=>{process.title="tkr-processor"},1e3).unref()}Sv().catch(()=>process.exit(0));
137
139
  /*! Bundled license information:
138
140
 
139
141
  smol-toml/dist/error.js: