@tokmizer/plugin 0.9.70 → 0.9.71

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,152 +1,155 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire as __tkrCreateRequire } from "node:module"; const require = __tkrCreateRequire(import.meta.url);
3
- var Lp=Object.create;var Os=Object.defineProperty;var Fp=Object.getOwnPropertyDescriptor;var jp=Object.getOwnPropertyNames;var Hp=Object.getPrototypeOf,Bp=Object.prototype.hasOwnProperty;var Ze=(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 ce=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},kn=(e,t)=>{for(var n in t)Os(e,n,{get:t[n],enumerable:!0})},zp=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of jp(t))!Bp.call(e,s)&&s!==n&&Os(e,s,{get:()=>t[s],enumerable:!(r=Fp(t,s))||r.enumerable});return e};var Up=(e,t,n)=>(n=e!=null?Lp(Hp(e)):{},zp(t||!e||!e.__esModule?Os(n,"default",{value:e,enumerable:!0}):n,e));var j,Cs,S,Re,_n=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})(j||(j={}));(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Cs||(Cs={}));S=j.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Re=e=>{switch(typeof e){case"undefined":return S.undefined;case"string":return S.string;case"number":return Number.isNaN(e)?S.nan:S.number;case"boolean":return S.boolean;case"function":return S.function;case"bigint":return S.bigint;case"symbol":return S.symbol;case"object":return Array.isArray(e)?S.array:e===null?S.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?S.promise:typeof Map<"u"&&e instanceof Map?S.map:typeof Set<"u"&&e instanceof Set?S.set:typeof Date<"u"&&e instanceof Date?S.date:S.object;default:return S.unknown}}});var k,Zp,ie,ur=b(()=>{_n();k=j.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"]),Zp=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ie=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,j.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()}};ie.create=e=>new ie(e)});var Jp,Le,Is=b(()=>{ur();_n();Jp=(e,t)=>{let n;switch(e.code){case k.invalid_type:e.received===S.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case k.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,j.jsonStringifyReplacer)}`;break;case k.unrecognized_keys:n=`Unrecognized key(s) in object: ${j.joinValues(e.keys,", ")}`;break;case k.invalid_union:n="Invalid input";break;case k.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${j.joinValues(e.options)}`;break;case k.invalid_enum_value:n=`Invalid enum value. Expected ${j.joinValues(e.options)}, received '${e.received}'`;break;case k.invalid_arguments:n="Invalid function arguments";break;case k.invalid_return_type:n="Invalid function return type";break;case k.invalid_date:n="Invalid date";break;case k.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}"`:j.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case k.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 k.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 k.custom:n="Invalid input";break;case k.invalid_intersection_types:n="Intersection results could not be merged";break;case k.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case k.not_finite:n="Number must be finite";break;default:n=t.defaultError,j.assertNever(e)}return{message:n}},Le=Jp});function Gp(e){aa=e}function Pt(){return aa}var aa,cr=b(()=>{Is();aa=Le});function x(e,t){let n=Pt(),r=wn({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Le?void 0:Le].filter(s=>!!s)});e.common.issues.push(r)}var wn,Wp,q,$,it,Q,fr,dr,Je,Nt,Ps=b(()=>{cr();Is();wn=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}},Wp=[];q=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 $;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 $;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}}},$=Object.freeze({status:"aborted"}),it=e=>({status:"dirty",value:e}),Q=e=>({status:"valid",value:e}),fr=e=>e.status==="aborted",dr=e=>e.status==="dirty",Je=e=>e.status==="valid",Nt=e=>typeof Promise<"u"&&e instanceof Promise});var la=b(()=>{});var v,ua=b(()=>{(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(v||(v={}))});function L(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 pa(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 cm(e){return new RegExp(`^${pa(e)}$`)}function ma(e){let t=`${da}T${pa(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 fm(e,t){return!!((t==="v4"||!t)&&rm.test(e)||(t==="v6"||!t)&&om.test(e))}function dm(e,t){if(!Qp.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 pm(e,t){return!!((t==="v4"||!t)&&sm.test(e)||(t==="v6"||!t)&&im.test(e))}function mm(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 Dt(e){if(e instanceof ae){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=pe.create(Dt(r))}return new ae({...e._def,shape:()=>t})}else return e instanceof He?new He({...e._def,type:Dt(e.element)}):e instanceof pe?pe.create(Dt(e.unwrap())):e instanceof $e?$e.create(Dt(e.unwrap())):e instanceof Ae?Ae.create(e.items.map(t=>Dt(t))):e}function Ds(e,t){let n=Re(e),r=Re(t);if(e===t)return{valid:!0,data:e};if(n===S.object&&r===S.object){let s=j.objectKeys(t),o=j.objectKeys(e).filter(a=>s.indexOf(a)!==-1),i={...e,...t};for(let a of o){let l=Ds(e[a],t[a]);if(!l.valid)return{valid:!1};i[a]=l.data}return{valid:!0,data:i}}else if(n===S.array&&r===S.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=Ds(i,a);if(!l.valid)return{valid:!1};s.push(l.data)}return{valid:!0,data:s}}else return n===S.date&&r===S.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}function ha(e,t){return new yt({values:e,typeName:I.ZodEnum,...L(t)})}function fa(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function ga(e,t={},n){return e?We.create().superRefine((r,s)=>{let o=e(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=fa(t,r),l=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:l})}});if(!o){let i=fa(t,r),a=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:a})}}):We.create()}var me,ca,F,Kp,Vp,qp,Yp,Xp,Qp,em,tm,nm,Ns,rm,sm,om,im,am,lm,da,um,Ge,at,lt,ut,ct,Mt,ft,dt,We,je,xe,Lt,He,ae,pt,Fe,pr,mt,Ae,mr,Ft,jt,hr,ht,gt,yt,bt,Ke,he,pe,$e,kt,_t,Ht,hm,xn,Sn,wt,gm,I,ym,ya,ba,bm,km,ka,_m,wm,xm,Sm,Em,vm,Tm,Rm,Am,$m,Om,Cm,Im,Pm,Nm,Dm,Mm,Lm,Fm,jm,Hm,Bm,zm,Um,Zm,Jm,Gm,Wm,Km,Vm,qm,Ym,Xm,Qm,_a=b(()=>{ur();cr();ua();Ps();_n();me=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}},ca=(e,t)=>{if(Je(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 ie(e.common.issues);return this._error=n,this._error}}};F=class{get description(){return this._def.description}_getType(t){return Re(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:Re(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new q,ctx:{common:t.parent.common,data:t.data,parsedType:Re(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(Nt(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:Re(t)},s=this._parseSync({data:t,path:r.path,parent:r});return ca(r,s)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Re(t)};if(!this["~standard"].async)try{let r=this._parseSync({data:t,path:[],parent:n});return Je(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=>Je(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:Re(t)},s=this._parse({data:t,path:r.path,parent:r}),o=await(Nt(s)?s:Promise.resolve(s));return ca(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:k.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 he({schema:this,typeName:I.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 pe.create(this,this._def)}nullable(){return $e.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return He.create(this)}promise(){return Ke.create(this,this._def)}or(t){return pt.create([this,t],this._def)}and(t){return mt.create(this,t,this._def)}transform(t){return new he({...L(this._def),schema:this,typeName:I.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new kt({...L(this._def),innerType:this,defaultValue:n,typeName:I.ZodDefault})}brand(){return new xn({typeName:I.ZodBranded,type:this,...L(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new _t({...L(this._def),innerType:this,catchValue:n,typeName:I.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return Sn.create(this,t)}readonly(){return wt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Kp=/^c[^\s-]{8,}$/i,Vp=/^[0-9a-z]+$/,qp=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Yp=/^[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,Xp=/^[a-z0-9_-]{21}$/i,Qp=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,em=/^[-+]?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)?)??$/,tm=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,nm="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",rm=/^(?:(?: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])$/,sm=/^(?:(?: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])$/,om=/^(([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]))$/,im=/^(([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])$/,am=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,lm=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,da="((\\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])))",um=new RegExp(`^${da}$`);Ge=class e extends F{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==S.string){let o=this._getOrReturnCtx(t);return x(o,{code:k.invalid_type,expected:S.string,received:o.parsedType}),$}let r=new q,s;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(s=this._getOrReturnCtx(t,s),x(s,{code:k.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),x(s,{code:k.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?x(s,{code:k.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&x(s,{code:k.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),r.dirty())}else if(o.kind==="email")tm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"email",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="emoji")Ns||(Ns=new RegExp(nm,"u")),Ns.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"emoji",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="uuid")Yp.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"uuid",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="nanoid")Xp.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"nanoid",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid")Kp.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"cuid",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid2")Vp.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"cuid2",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="ulid")qp.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"ulid",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{s=this._getOrReturnCtx(t,s),x(s,{validation:"url",code:k.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),x(s,{validation:"regex",code:k.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),x(s,{code:k.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),x(s,{code:k.invalid_string,validation:{startsWith:o.value},message:o.message}),r.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(s=this._getOrReturnCtx(t,s),x(s,{code:k.invalid_string,validation:{endsWith:o.value},message:o.message}),r.dirty()):o.kind==="datetime"?ma(o).test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{code:k.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?um.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{code:k.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?cm(o).test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{code:k.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?em.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"duration",code:k.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?fm(t.data,o.version)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"ip",code:k.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?dm(t.data,o.alg)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"jwt",code:k.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?pm(t.data,o.version)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"cidr",code:k.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?am.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"base64",code:k.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?lm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"base64url",code:k.invalid_string,message:o.message}),r.dirty()):j.assertNever(o);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:k.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}};Ge.create=e=>new Ge({checks:[],typeName:I.ZodString,coerce:e?.coerce??!1,...L(e)});at=class e extends F{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)!==S.number){let o=this._getOrReturnCtx(t);return x(o,{code:k.invalid_type,expected:S.number,received:o.parsedType}),$}let r,s=new q;for(let o of this._def.checks)o.kind==="int"?j.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),x(r,{code:k.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),x(r,{code:k.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),x(r,{code:k.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?mm(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),x(r,{code:k.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),x(r,{code:k.not_finite,message:o.message}),s.dirty()):j.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"&&j.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)}};at.create=e=>new at({checks:[],typeName:I.ZodNumber,coerce:e?.coerce||!1,...L(e)});lt=class e extends F{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)!==S.bigint)return this._getInvalidInput(t);let r,s=new q;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),x(r,{code:k.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),x(r,{code:k.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),x(r,{code:k.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):j.assertNever(o);return{status:s.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return x(n,{code:k.invalid_type,expected:S.bigint,received:n.parsedType}),$}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}};lt.create=e=>new lt({checks:[],typeName:I.ZodBigInt,coerce:e?.coerce??!1,...L(e)});ut=class extends F{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==S.boolean){let r=this._getOrReturnCtx(t);return x(r,{code:k.invalid_type,expected:S.boolean,received:r.parsedType}),$}return Q(t.data)}};ut.create=e=>new ut({typeName:I.ZodBoolean,coerce:e?.coerce||!1,...L(e)});ct=class e extends F{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==S.date){let o=this._getOrReturnCtx(t);return x(o,{code:k.invalid_type,expected:S.date,received:o.parsedType}),$}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return x(o,{code:k.invalid_date}),$}let r=new q,s;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(s=this._getOrReturnCtx(t,s),x(s,{code:k.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),x(s,{code:k.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):j.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}};ct.create=e=>new ct({checks:[],coerce:e?.coerce||!1,typeName:I.ZodDate,...L(e)});Mt=class extends F{_parse(t){if(this._getType(t)!==S.symbol){let r=this._getOrReturnCtx(t);return x(r,{code:k.invalid_type,expected:S.symbol,received:r.parsedType}),$}return Q(t.data)}};Mt.create=e=>new Mt({typeName:I.ZodSymbol,...L(e)});ft=class extends F{_parse(t){if(this._getType(t)!==S.undefined){let r=this._getOrReturnCtx(t);return x(r,{code:k.invalid_type,expected:S.undefined,received:r.parsedType}),$}return Q(t.data)}};ft.create=e=>new ft({typeName:I.ZodUndefined,...L(e)});dt=class extends F{_parse(t){if(this._getType(t)!==S.null){let r=this._getOrReturnCtx(t);return x(r,{code:k.invalid_type,expected:S.null,received:r.parsedType}),$}return Q(t.data)}};dt.create=e=>new dt({typeName:I.ZodNull,...L(e)});We=class extends F{constructor(){super(...arguments),this._any=!0}_parse(t){return Q(t.data)}};We.create=e=>new We({typeName:I.ZodAny,...L(e)});je=class extends F{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Q(t.data)}};je.create=e=>new je({typeName:I.ZodUnknown,...L(e)});xe=class extends F{_parse(t){let n=this._getOrReturnCtx(t);return x(n,{code:k.invalid_type,expected:S.never,received:n.parsedType}),$}};xe.create=e=>new xe({typeName:I.ZodNever,...L(e)});Lt=class extends F{_parse(t){if(this._getType(t)!==S.undefined){let r=this._getOrReturnCtx(t);return x(r,{code:k.invalid_type,expected:S.void,received:r.parsedType}),$}return Q(t.data)}};Lt.create=e=>new Lt({typeName:I.ZodVoid,...L(e)});He=class e extends F{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==S.array)return x(n,{code:k.invalid_type,expected:S.array,received:n.parsedType}),$;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(i||a)&&(x(n,{code:i?k.too_big:k.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&&(x(n,{code:k.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&&(x(n,{code:k.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 me(n,i,n.path,a)))).then(i=>q.mergeArray(r,i));let o=[...n.data].map((i,a)=>s.type._parseSync(new me(n,i,n.path,a)));return q.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)}};He.create=(e,t)=>new He({type:e,minLength:null,maxLength:null,exactLength:null,typeName:I.ZodArray,...L(t)});ae=class e extends F{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=j.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==S.object){let u=this._getOrReturnCtx(t);return x(u,{code:k.invalid_type,expected:S.object,received:u.parsedType}),$}let{status:r,ctx:s}=this._processInputParams(t),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof xe&&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 me(s,f,s.path,u)),alwaysSet:u in s.data})}if(this._def.catchall instanceof xe){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&&(x(s,{code:k.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 me(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=>q.mergeObjectSync(r,u)):q.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:I.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 j.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 j.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return Dt(this)}partial(t){let n={};for(let r of j.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 j.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof pe;)o=o._def.innerType;n[r]=o}return new e({...this._def,shape:()=>n})}keyof(){return ha(j.objectKeys(this.shape))}};ae.create=(e,t)=>new ae({shape:()=>e,unknownKeys:"strip",catchall:xe.create(),typeName:I.ZodObject,...L(t)});ae.strictCreate=(e,t)=>new ae({shape:()=>e,unknownKeys:"strict",catchall:xe.create(),typeName:I.ZodObject,...L(t)});ae.lazycreate=(e,t)=>new ae({shape:e,unknownKeys:"strip",catchall:xe.create(),typeName:I.ZodObject,...L(t)});pt=class extends F{_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 ie(a.ctx.common.issues));return x(n,{code:k.invalid_union,unionErrors:i}),$}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 ie(l));return x(n,{code:k.invalid_union,unionErrors:a}),$}}get options(){return this._def.options}};pt.create=(e,t)=>new pt({options:e,typeName:I.ZodUnion,...L(t)});Fe=e=>e instanceof ht?Fe(e.schema):e instanceof he?Fe(e.innerType()):e instanceof gt?[e.value]:e instanceof yt?e.options:e instanceof bt?j.objectValues(e.enum):e instanceof kt?Fe(e._def.innerType):e instanceof ft?[void 0]:e instanceof dt?[null]:e instanceof pe?[void 0,...Fe(e.unwrap())]:e instanceof $e?[null,...Fe(e.unwrap())]:e instanceof xn||e instanceof wt?Fe(e.unwrap()):e instanceof _t?Fe(e._def.innerType):[],pr=class e extends F{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==S.object)return x(n,{code:k.invalid_type,expected:S.object,received:n.parsedType}),$;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}):(x(n,{code:k.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[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=Fe(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:I.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...L(r)})}};mt=class extends F{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(o,i)=>{if(fr(o)||fr(i))return $;let a=Ds(o.value,i.value);return a.valid?((dr(o)||dr(i))&&n.dirty(),{status:n.value,value:a.data}):(x(r,{code:k.invalid_intersection_types}),$)};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}))}};mt.create=(e,t,n)=>new mt({left:e,right:t,typeName:I.ZodIntersection,...L(n)});Ae=class e extends F{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==S.array)return x(r,{code:k.invalid_type,expected:S.array,received:r.parsedType}),$;if(r.data.length<this._def.items.length)return x(r,{code:k.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),$;!this._def.rest&&r.data.length>this._def.items.length&&(x(r,{code:k.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 me(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(o).then(i=>q.mergeArray(n,i)):q.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};Ae.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ae({items:e,typeName:I.ZodTuple,rest:null,...L(t)})};mr=class e extends F{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!==S.object)return x(r,{code:k.invalid_type,expected:S.object,received:r.parsedType}),$;let s=[],o=this._def.keyType,i=this._def.valueType;for(let a in r.data)s.push({key:o._parse(new me(r,a,r.path,a)),value:i._parse(new me(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?q.mergeObjectAsync(n,s):q.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof F?new e({keyType:t,valueType:n,typeName:I.ZodRecord,...L(r)}):new e({keyType:Ge.create(),valueType:t,typeName:I.ZodRecord,...L(n)})}},Ft=class extends F{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!==S.map)return x(r,{code:k.invalid_type,expected:S.map,received:r.parsedType}),$;let s=this._def.keyType,o=this._def.valueType,i=[...r.data.entries()].map(([a,l],u)=>({key:s._parse(new me(r,a,r.path,[u,"key"])),value:o._parse(new me(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 $;(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 $;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}}}};Ft.create=(e,t,n)=>new Ft({valueType:t,keyType:e,typeName:I.ZodMap,...L(n)});jt=class e extends F{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==S.set)return x(r,{code:k.invalid_type,expected:S.set,received:r.parsedType}),$;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(x(r,{code:k.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&&(x(r,{code:k.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 $;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 me(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)}};jt.create=(e,t)=>new jt({valueType:e,minSize:null,maxSize:null,typeName:I.ZodSet,...L(t)});hr=class e extends F{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==S.function)return x(n,{code:k.invalid_type,expected:S.function,received:n.parsedType}),$;function r(a,l){return wn({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Pt(),Le].filter(u=>!!u),issueData:{code:k.invalid_arguments,argumentsError:l}})}function s(a,l){return wn({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Pt(),Le].filter(u=>!!u),issueData:{code:k.invalid_return_type,returnTypeError:l}})}let o={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof Ke){let a=this;return Q(async function(...l){let u=new ie([]),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 Q(function(...l){let u=a._def.args.safeParse(l,o);if(!u.success)throw new ie([r(l,u.error)]);let c=Reflect.apply(i,this,u.data),f=a._def.returns.safeParse(c,o);if(!f.success)throw new ie([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:Ae.create(t).rest(je.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||Ae.create([]).rest(je.create()),returns:n||je.create(),typeName:I.ZodFunction,...L(r)})}},ht=class extends F{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})}};ht.create=(e,t)=>new ht({getter:e,typeName:I.ZodLazy,...L(t)});gt=class extends F{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return x(n,{received:n.data,code:k.invalid_literal,expected:this._def.value}),$}return{status:"valid",value:t.data}}get value(){return this._def.value}};gt.create=(e,t)=>new gt({value:e,typeName:I.ZodLiteral,...L(t)});yt=class e extends F{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return x(n,{expected:j.joinValues(r),received:n.parsedType,code:k.invalid_type}),$}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 x(n,{received:n.data,code:k.invalid_enum_value,options:r}),$}return Q(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})}};yt.create=ha;bt=class extends F{_parse(t){let n=j.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==S.string&&r.parsedType!==S.number){let s=j.objectValues(n);return x(r,{expected:j.joinValues(s),received:r.parsedType,code:k.invalid_type}),$}if(this._cache||(this._cache=new Set(j.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=j.objectValues(n);return x(r,{received:r.data,code:k.invalid_enum_value,options:s}),$}return Q(t.data)}get enum(){return this._def.values}};bt.create=(e,t)=>new bt({values:e,typeName:I.ZodNativeEnum,...L(t)});Ke=class extends F{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==S.promise&&n.common.async===!1)return x(n,{code:k.invalid_type,expected:S.promise,received:n.parsedType}),$;let r=n.parsedType===S.promise?n.data:Promise.resolve(n.data);return Q(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};Ke.create=(e,t)=>new Ke({type:e,typeName:I.ZodPromise,...L(t)});he=class extends F{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===I.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=>{x(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 $;let l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?$:l.status==="dirty"?it(l.value):n.value==="dirty"?it(l.value):l});{if(n.value==="aborted")return $;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?$:a.status==="dirty"?it(a.value):n.value==="dirty"?it(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"?$:(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"?$:(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(!Je(i))return $;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=>Je(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:n.value,value:a})):$);j.assertNever(s)}};he.create=(e,t,n)=>new he({schema:e,typeName:I.ZodEffects,effect:t,...L(n)});he.createWithPreprocess=(e,t,n)=>new he({schema:t,effect:{type:"preprocess",transform:e},typeName:I.ZodEffects,...L(n)});pe=class extends F{_parse(t){return this._getType(t)===S.undefined?Q(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};pe.create=(e,t)=>new pe({innerType:e,typeName:I.ZodOptional,...L(t)});$e=class extends F{_parse(t){return this._getType(t)===S.null?Q(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};$e.create=(e,t)=>new $e({innerType:e,typeName:I.ZodNullable,...L(t)});kt=class extends F{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===S.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};kt.create=(e,t)=>new kt({innerType:e,typeName:I.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...L(t)});_t=class extends F{_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 Nt(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new ie(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new ie(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};_t.create=(e,t)=>new _t({innerType:e,typeName:I.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...L(t)});Ht=class extends F{_parse(t){if(this._getType(t)!==S.nan){let r=this._getOrReturnCtx(t);return x(r,{code:k.invalid_type,expected:S.nan,received:r.parsedType}),$}return{status:"valid",value:t.data}}};Ht.create=e=>new Ht({typeName:I.ZodNaN,...L(e)});hm=Symbol("zod_brand"),xn=class extends F{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},Sn=class e extends F{_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"?$:o.status==="dirty"?(n.dirty(),it(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"?$: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:I.ZodPipeline})}},wt=class extends F{_parse(t){let n=this._def.innerType._parse(t),r=s=>(Je(s)&&(s.value=Object.freeze(s.value)),s);return Nt(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};wt.create=(e,t)=>new wt({innerType:e,typeName:I.ZodReadonly,...L(t)});gm={object:ae.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"})(I||(I={}));ym=(e,t={message:`Input not instance of ${e.name}`})=>ga(n=>n instanceof e,t),ya=Ge.create,ba=at.create,bm=Ht.create,km=lt.create,ka=ut.create,_m=ct.create,wm=Mt.create,xm=ft.create,Sm=dt.create,Em=We.create,vm=je.create,Tm=xe.create,Rm=Lt.create,Am=He.create,$m=ae.create,Om=ae.strictCreate,Cm=pt.create,Im=pr.create,Pm=mt.create,Nm=Ae.create,Dm=mr.create,Mm=Ft.create,Lm=jt.create,Fm=hr.create,jm=ht.create,Hm=gt.create,Bm=yt.create,zm=bt.create,Um=Ke.create,Zm=he.create,Jm=pe.create,Gm=$e.create,Wm=he.createWithPreprocess,Km=Sn.create,Vm=()=>ya().optional(),qm=()=>ba().optional(),Ym=()=>ka().optional(),Xm={string:(e=>Ge.create({...e,coerce:!0})),number:(e=>at.create({...e,coerce:!0})),boolean:(e=>ut.create({...e,coerce:!0})),bigint:(e=>lt.create({...e,coerce:!0})),date:(e=>ct.create({...e,coerce:!0}))},Qm=$});var y={};kn(y,{BRAND:()=>hm,DIRTY:()=>it,EMPTY_PATH:()=>Wp,INVALID:()=>$,NEVER:()=>Qm,OK:()=>Q,ParseStatus:()=>q,Schema:()=>F,ZodAny:()=>We,ZodArray:()=>He,ZodBigInt:()=>lt,ZodBoolean:()=>ut,ZodBranded:()=>xn,ZodCatch:()=>_t,ZodDate:()=>ct,ZodDefault:()=>kt,ZodDiscriminatedUnion:()=>pr,ZodEffects:()=>he,ZodEnum:()=>yt,ZodError:()=>ie,ZodFirstPartyTypeKind:()=>I,ZodFunction:()=>hr,ZodIntersection:()=>mt,ZodIssueCode:()=>k,ZodLazy:()=>ht,ZodLiteral:()=>gt,ZodMap:()=>Ft,ZodNaN:()=>Ht,ZodNativeEnum:()=>bt,ZodNever:()=>xe,ZodNull:()=>dt,ZodNullable:()=>$e,ZodNumber:()=>at,ZodObject:()=>ae,ZodOptional:()=>pe,ZodParsedType:()=>S,ZodPipeline:()=>Sn,ZodPromise:()=>Ke,ZodReadonly:()=>wt,ZodRecord:()=>mr,ZodSchema:()=>F,ZodSet:()=>jt,ZodString:()=>Ge,ZodSymbol:()=>Mt,ZodTransformer:()=>he,ZodTuple:()=>Ae,ZodType:()=>F,ZodUndefined:()=>ft,ZodUnion:()=>pt,ZodUnknown:()=>je,ZodVoid:()=>Lt,addIssueToContext:()=>x,any:()=>Em,array:()=>Am,bigint:()=>km,boolean:()=>ka,coerce:()=>Xm,custom:()=>ga,date:()=>_m,datetimeRegex:()=>ma,defaultErrorMap:()=>Le,discriminatedUnion:()=>Im,effect:()=>Zm,enum:()=>Bm,function:()=>Fm,getErrorMap:()=>Pt,getParsedType:()=>Re,instanceof:()=>ym,intersection:()=>Pm,isAborted:()=>fr,isAsync:()=>Nt,isDirty:()=>dr,isValid:()=>Je,late:()=>gm,lazy:()=>jm,literal:()=>Hm,makeIssue:()=>wn,map:()=>Mm,nan:()=>bm,nativeEnum:()=>zm,never:()=>Tm,null:()=>Sm,nullable:()=>Gm,number:()=>ba,object:()=>$m,objectUtil:()=>Cs,oboolean:()=>Ym,onumber:()=>qm,optional:()=>Jm,ostring:()=>Vm,pipeline:()=>Km,preprocess:()=>Wm,promise:()=>Um,quotelessJson:()=>Zp,record:()=>Dm,set:()=>Lm,setErrorMap:()=>Gp,strictObject:()=>Om,string:()=>ya,symbol:()=>wm,transformer:()=>Zm,tuple:()=>Nm,undefined:()=>xm,union:()=>Cm,unknown:()=>vm,util:()=>j,void:()=>Rm});var Ms=b(()=>{cr();Ps();la();_n();_a();ur()});var xt=b(()=>{Ms();Ms()});var Ve,En=b(()=>{"use strict";xt();Ve=y.object({slug:y.string().min(1).max(64),description:y.string().max(255).optional(),match_command:y.string().min(1),priority:y.number().int().default(50),strip_ansi:y.boolean().default(!1),strip_lines_matching:y.array(y.string()).default([]),drop_lines_matching:y.array(y.string()).default([]),keep_failures:y.boolean().default(!1),strip_on_failure:y.boolean().default(!1),fold_passing:y.boolean().default(!1),fold_passing_threshold:y.number().int().positive().max(1e3).optional(),mask_abs_paths:y.boolean().default(!1),preserve_exact:y.boolean().default(!1),truncate_lines_at:y.number().int().positive().max(1e4).optional(),max_lines:y.number().int().positive().max(1e5).optional(),scale_with_level:y.boolean().default(!0),transform:y.string().max(64).optional(),transform_on_failure:y.boolean().default(!1),on_empty:y.string().max(255).optional()})});var Ea={};kn(Ea,{OutputVerbosity:()=>xa,ReducerLevel:()=>Sa,Settings:()=>Bt,slugKey:()=>fe});import{createHash as eh}from"node:crypto";function fe(e){let t=wa.get(e);return t||(t=eh("sha256").update(`tkr:${e}`).digest("hex").slice(0,16),wa.set(e,t)),t}var xa,Sa,Bt,wa,qe=b(()=>{"use strict";xt();xa=y.enum(["normal","compact","minimal"]),Sa=y.enum(["off","light","balanced","max"]),Bt=y.object({enabled:y.boolean().default(!0),telemetryOptIn:y.boolean().default(!0),outputVerbosity:xa.default("compact"),reducer:Sa.default("off"),filters:y.object({enableAll:y.boolean().default(!0),disabled:y.array(y.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),wa=new Map});function zt(e,t,n,r=t){let s=va.get(r);s||(s=new Map,va.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(fe(l.slug))||l.matchRegex.test(e)&&(!a||l.priority>a.priority)&&(a=l);if(s.size>=th){let l=s.keys().next().value;l&&s.delete(l)}return s.set(o,a),a}var va,th,gr=b(()=>{"use strict";qe();va=new WeakMap,th=256});import nh from"node:os";import{join as vn}from"node:path";function E(){return process.env.TOKMIZER_HOME||vn(nh.homedir(),".tokmizer")}function Tn(){return vn(E(),"install-id")}function Ls(){return vn(E(),"content-cache")}function Ta(){return vn(E(),"restore.json")}function Fs(e){return vn(Ls(),e)}var Z=b(()=>{"use strict"});import{join as rh}from"node:path";import{mkdir as vR,readFile as sh,writeFile as TR,unlink as RR,rename as AR}from"node:fs/promises";function ih(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e&&e.length>0?e:"Etc/UTC"}catch{return"Etc/UTC"}}function ah(e){return e?.dir??E()}async function St(e){let t=ah(e);try{let n=await sh(rh(t,oh),"utf8"),r=JSON.parse(n),s=r.timeZone;return{...r,lastSettingsRevision:r.lastSettingsRevision??0,get timeZone(){return s??=ih()},bonusActive:r.bonusActive??!1,...r.bonusResetAt!==void 0?{bonusResetAt:r.bonusResetAt}:{}}}catch{return null}}var oh,Rn=b(()=>{"use strict";Z();oh="state.json"});import{createRequire as lh}from"node:module";function ch(){let e="0.9.70";if(e)return e;for(let t of["../package.json","../../package.json"])try{let n=uh(t).version;if(typeof n=="string"&&n)return n}catch{}return"0.0.0"}function Ra(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 uh,ge,Ut=b(()=>{"use strict";uh=lh(import.meta.url);ge=ch()});var Aa,$a=b(()=>{"use strict";Aa=`-----BEGIN PUBLIC KEY-----
3
+ var Yp=Object.create;var Ns=Object.defineProperty;var Xp=Object.getOwnPropertyDescriptor;var Qp=Object.getOwnPropertyNames;var em=Object.getPrototypeOf,tm=Object.prototype.hasOwnProperty;var Je=(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 ce=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},wn=(e,t)=>{for(var n in t)Ns(e,n,{get:t[n],enumerable:!0})},nm=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Qp(t))!tm.call(e,s)&&s!==n&&Ns(e,s,{get:()=>t[s],enumerable:!(r=Xp(t,s))||r.enumerable});return e};var rm=(e,t,n)=>(n=e!=null?Yp(em(e)):{},nm(t||!e||!e.__esModule?Ns(n,"default",{value:e,enumerable:!0}):n,e));var H,Ds,S,Re,xn=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})(H||(H={}));(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Ds||(Ds={}));S=H.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Re=e=>{switch(typeof e){case"undefined":return S.undefined;case"string":return S.string;case"number":return Number.isNaN(e)?S.nan:S.number;case"boolean":return S.boolean;case"function":return S.function;case"bigint":return S.bigint;case"symbol":return S.symbol;case"object":return Array.isArray(e)?S.array:e===null?S.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?S.promise:typeof Map<"u"&&e instanceof Map?S.map:typeof Set<"u"&&e instanceof Set?S.set:typeof Date<"u"&&e instanceof Date?S.date:S.object;default:return S.unknown}}});var k,sm,ie,cr=b(()=>{xn();k=H.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"]),sm=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ie=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,H.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()}};ie.create=e=>new ie(e)});var om,Me,Ms=b(()=>{cr();xn();om=(e,t)=>{let n;switch(e.code){case k.invalid_type:e.received===S.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case k.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,H.jsonStringifyReplacer)}`;break;case k.unrecognized_keys:n=`Unrecognized key(s) in object: ${H.joinValues(e.keys,", ")}`;break;case k.invalid_union:n="Invalid input";break;case k.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${H.joinValues(e.options)}`;break;case k.invalid_enum_value:n=`Invalid enum value. Expected ${H.joinValues(e.options)}, received '${e.received}'`;break;case k.invalid_arguments:n="Invalid function arguments";break;case k.invalid_return_type:n="Invalid function return type";break;case k.invalid_date:n="Invalid date";break;case k.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}"`:H.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case k.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 k.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 k.custom:n="Invalid input";break;case k.invalid_intersection_types:n="Intersection results could not be merged";break;case k.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case k.not_finite:n="Number must be finite";break;default:n=t.defaultError,H.assertNever(e)}return{message:n}},Me=om});function im(e){pa=e}function Dt(){return pa}var pa,fr=b(()=>{Ms();pa=Me});function x(e,t){let n=Dt(),r=Sn({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Me?void 0:Me].filter(s=>!!s)});e.common.issues.push(r)}var Sn,am,q,$,it,Q,dr,pr,Ze,Mt,Ls=b(()=>{fr();Ms();Sn=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}},am=[];q=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 $;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 $;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}}},$=Object.freeze({status:"aborted"}),it=e=>({status:"dirty",value:e}),Q=e=>({status:"valid",value:e}),dr=e=>e.status==="aborted",pr=e=>e.status==="dirty",Ze=e=>e.status==="valid",Mt=e=>typeof Promise<"u"&&e instanceof Promise});var ma=b(()=>{});var v,ha=b(()=>{(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(v||(v={}))});function L(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 ka(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function Em(e){return new RegExp(`^${ka(e)}$`)}function _a(e){let t=`${ba}T${ka(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 vm(e,t){return!!((t==="v4"||!t)&&ym.test(e)||(t==="v6"||!t)&&km.test(e))}function Tm(e,t){if(!pm.test(e))return!1;try{let[n]=e.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),s=JSON.parse(atob(r));return!(typeof s!="object"||s===null||"typ"in s&&s?.typ!=="JWT"||!s.alg||t&&s.alg!==t)}catch{return!1}}function Rm(e,t){return!!((t==="v4"||!t)&&bm.test(e)||(t==="v6"||!t)&&_m.test(e))}function Am(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,s=n>r?n:r,o=Number.parseInt(e.toFixed(s).replace(".","")),i=Number.parseInt(t.toFixed(s).replace(".",""));return o%i/10**s}function Lt(e){if(e instanceof ae){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=me.create(Lt(r))}return new ae({...e._def,shape:()=>t})}else return e instanceof je?new je({...e._def,type:Lt(e.element)}):e instanceof me?me.create(Lt(e.unwrap())):e instanceof $e?$e.create(Lt(e.unwrap())):e instanceof Ae?Ae.create(e.items.map(t=>Lt(t))):e}function js(e,t){let n=Re(e),r=Re(t);if(e===t)return{valid:!0,data:e};if(n===S.object&&r===S.object){let s=H.objectKeys(t),o=H.objectKeys(e).filter(a=>s.indexOf(a)!==-1),i={...e,...t};for(let a of o){let l=js(e[a],t[a]);if(!l.valid)return{valid:!1};i[a]=l.data}return{valid:!0,data:i}}else if(n===S.array&&r===S.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=js(i,a);if(!l.valid)return{valid:!1};s.push(l.data)}return{valid:!0,data:s}}else return n===S.date&&r===S.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}function wa(e,t){return new yt({values:e,typeName:I.ZodEnum,...L(t)})}function ya(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function xa(e,t={},n){return e?We.create().superRefine((r,s)=>{let o=e(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=ya(t,r),l=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:l})}});if(!o){let i=ya(t,r),a=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:a})}}):We.create()}var he,ga,F,lm,um,cm,fm,dm,pm,mm,hm,gm,Fs,ym,bm,km,_m,wm,xm,ba,Sm,Ge,at,lt,ut,ct,Ft,ft,dt,We,Fe,Se,jt,je,ae,pt,Le,mr,mt,Ae,hr,Ht,Bt,gr,ht,gt,yt,bt,Ke,ge,me,$e,kt,_t,zt,$m,En,vn,wt,Om,I,Cm,Sa,Ea,Im,Pm,va,Nm,Dm,Mm,Lm,Fm,jm,Hm,Bm,zm,Um,Jm,Zm,Gm,Wm,Km,Vm,qm,Ym,Xm,Qm,eh,th,nh,rh,sh,oh,ih,ah,lh,uh,ch,fh,dh,ph,Ta=b(()=>{cr();fr();ha();Ls();xn();he=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}},ga=(e,t)=>{if(Ze(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 ie(e.common.issues);return this._error=n,this._error}}};F=class{get description(){return this._def.description}_getType(t){return Re(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:Re(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new q,ctx:{common:t.parent.common,data:t.data,parsedType:Re(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(Mt(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:Re(t)},s=this._parseSync({data:t,path:r.path,parent:r});return ga(r,s)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Re(t)};if(!this["~standard"].async)try{let r=this._parseSync({data:t,path:[],parent:n});return Ze(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=>Ze(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:Re(t)},s=this._parse({data:t,path:r.path,parent:r}),o=await(Mt(s)?s:Promise.resolve(s));return ga(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:k.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 ge({schema:this,typeName:I.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 me.create(this,this._def)}nullable(){return $e.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return je.create(this)}promise(){return Ke.create(this,this._def)}or(t){return pt.create([this,t],this._def)}and(t){return mt.create(this,t,this._def)}transform(t){return new ge({...L(this._def),schema:this,typeName:I.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new kt({...L(this._def),innerType:this,defaultValue:n,typeName:I.ZodDefault})}brand(){return new En({typeName:I.ZodBranded,type:this,...L(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new _t({...L(this._def),innerType:this,catchValue:n,typeName:I.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return vn.create(this,t)}readonly(){return wt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},lm=/^c[^\s-]{8,}$/i,um=/^[0-9a-z]+$/,cm=/^[0-9A-HJKMNP-TV-Z]{26}$/i,fm=/^[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,dm=/^[a-z0-9_-]{21}$/i,pm=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,mm=/^[-+]?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)?)??$/,hm=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,gm="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",ym=/^(?:(?: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])$/,bm=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,km=/^(([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]))$/,_m=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,wm=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,xm=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,ba="((\\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])))",Sm=new RegExp(`^${ba}$`);Ge=class e extends F{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==S.string){let o=this._getOrReturnCtx(t);return x(o,{code:k.invalid_type,expected:S.string,received:o.parsedType}),$}let r=new q,s;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(s=this._getOrReturnCtx(t,s),x(s,{code:k.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),x(s,{code:k.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?x(s,{code:k.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&x(s,{code:k.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),r.dirty())}else if(o.kind==="email")hm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"email",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="emoji")Fs||(Fs=new RegExp(gm,"u")),Fs.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"emoji",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="uuid")fm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"uuid",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="nanoid")dm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"nanoid",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid")lm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"cuid",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid2")um.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"cuid2",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="ulid")cm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"ulid",code:k.invalid_string,message:o.message}),r.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{s=this._getOrReturnCtx(t,s),x(s,{validation:"url",code:k.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),x(s,{validation:"regex",code:k.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),x(s,{code:k.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),x(s,{code:k.invalid_string,validation:{startsWith:o.value},message:o.message}),r.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(s=this._getOrReturnCtx(t,s),x(s,{code:k.invalid_string,validation:{endsWith:o.value},message:o.message}),r.dirty()):o.kind==="datetime"?_a(o).test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{code:k.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?Sm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{code:k.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?Em(o).test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{code:k.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?mm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"duration",code:k.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?vm(t.data,o.version)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"ip",code:k.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?Tm(t.data,o.alg)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"jwt",code:k.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?Rm(t.data,o.version)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"cidr",code:k.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?wm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"base64",code:k.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?xm.test(t.data)||(s=this._getOrReturnCtx(t,s),x(s,{validation:"base64url",code:k.invalid_string,message:o.message}),r.dirty()):H.assertNever(o);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:k.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}};Ge.create=e=>new Ge({checks:[],typeName:I.ZodString,coerce:e?.coerce??!1,...L(e)});at=class e extends F{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)!==S.number){let o=this._getOrReturnCtx(t);return x(o,{code:k.invalid_type,expected:S.number,received:o.parsedType}),$}let r,s=new q;for(let o of this._def.checks)o.kind==="int"?H.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),x(r,{code:k.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),x(r,{code:k.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),x(r,{code:k.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?Am(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),x(r,{code:k.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),x(r,{code:k.not_finite,message:o.message}),s.dirty()):H.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"&&H.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)}};at.create=e=>new at({checks:[],typeName:I.ZodNumber,coerce:e?.coerce||!1,...L(e)});lt=class e extends F{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)!==S.bigint)return this._getInvalidInput(t);let r,s=new q;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),x(r,{code:k.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),x(r,{code:k.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),x(r,{code:k.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):H.assertNever(o);return{status:s.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return x(n,{code:k.invalid_type,expected:S.bigint,received:n.parsedType}),$}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}};lt.create=e=>new lt({checks:[],typeName:I.ZodBigInt,coerce:e?.coerce??!1,...L(e)});ut=class extends F{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==S.boolean){let r=this._getOrReturnCtx(t);return x(r,{code:k.invalid_type,expected:S.boolean,received:r.parsedType}),$}return Q(t.data)}};ut.create=e=>new ut({typeName:I.ZodBoolean,coerce:e?.coerce||!1,...L(e)});ct=class e extends F{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==S.date){let o=this._getOrReturnCtx(t);return x(o,{code:k.invalid_type,expected:S.date,received:o.parsedType}),$}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return x(o,{code:k.invalid_date}),$}let r=new q,s;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(s=this._getOrReturnCtx(t,s),x(s,{code:k.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),x(s,{code:k.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):H.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}};ct.create=e=>new ct({checks:[],coerce:e?.coerce||!1,typeName:I.ZodDate,...L(e)});Ft=class extends F{_parse(t){if(this._getType(t)!==S.symbol){let r=this._getOrReturnCtx(t);return x(r,{code:k.invalid_type,expected:S.symbol,received:r.parsedType}),$}return Q(t.data)}};Ft.create=e=>new Ft({typeName:I.ZodSymbol,...L(e)});ft=class extends F{_parse(t){if(this._getType(t)!==S.undefined){let r=this._getOrReturnCtx(t);return x(r,{code:k.invalid_type,expected:S.undefined,received:r.parsedType}),$}return Q(t.data)}};ft.create=e=>new ft({typeName:I.ZodUndefined,...L(e)});dt=class extends F{_parse(t){if(this._getType(t)!==S.null){let r=this._getOrReturnCtx(t);return x(r,{code:k.invalid_type,expected:S.null,received:r.parsedType}),$}return Q(t.data)}};dt.create=e=>new dt({typeName:I.ZodNull,...L(e)});We=class extends F{constructor(){super(...arguments),this._any=!0}_parse(t){return Q(t.data)}};We.create=e=>new We({typeName:I.ZodAny,...L(e)});Fe=class extends F{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Q(t.data)}};Fe.create=e=>new Fe({typeName:I.ZodUnknown,...L(e)});Se=class extends F{_parse(t){let n=this._getOrReturnCtx(t);return x(n,{code:k.invalid_type,expected:S.never,received:n.parsedType}),$}};Se.create=e=>new Se({typeName:I.ZodNever,...L(e)});jt=class extends F{_parse(t){if(this._getType(t)!==S.undefined){let r=this._getOrReturnCtx(t);return x(r,{code:k.invalid_type,expected:S.void,received:r.parsedType}),$}return Q(t.data)}};jt.create=e=>new jt({typeName:I.ZodVoid,...L(e)});je=class e extends F{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==S.array)return x(n,{code:k.invalid_type,expected:S.array,received:n.parsedType}),$;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(i||a)&&(x(n,{code:i?k.too_big:k.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&&(x(n,{code:k.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&&(x(n,{code:k.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 he(n,i,n.path,a)))).then(i=>q.mergeArray(r,i));let o=[...n.data].map((i,a)=>s.type._parseSync(new he(n,i,n.path,a)));return q.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)}};je.create=(e,t)=>new je({type:e,minLength:null,maxLength:null,exactLength:null,typeName:I.ZodArray,...L(t)});ae=class e extends F{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=H.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==S.object){let u=this._getOrReturnCtx(t);return x(u,{code:k.invalid_type,expected:S.object,received:u.parsedType}),$}let{status:r,ctx:s}=this._processInputParams(t),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof Se&&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 he(s,f,s.path,u)),alwaysSet:u in s.data})}if(this._def.catchall instanceof Se){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&&(x(s,{code:k.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 he(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=>q.mergeObjectSync(r,u)):q.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:I.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 H.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 H.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return Lt(this)}partial(t){let n={};for(let r of H.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 H.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof me;)o=o._def.innerType;n[r]=o}return new e({...this._def,shape:()=>n})}keyof(){return wa(H.objectKeys(this.shape))}};ae.create=(e,t)=>new ae({shape:()=>e,unknownKeys:"strip",catchall:Se.create(),typeName:I.ZodObject,...L(t)});ae.strictCreate=(e,t)=>new ae({shape:()=>e,unknownKeys:"strict",catchall:Se.create(),typeName:I.ZodObject,...L(t)});ae.lazycreate=(e,t)=>new ae({shape:e,unknownKeys:"strip",catchall:Se.create(),typeName:I.ZodObject,...L(t)});pt=class extends F{_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 ie(a.ctx.common.issues));return x(n,{code:k.invalid_union,unionErrors:i}),$}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 ie(l));return x(n,{code:k.invalid_union,unionErrors:a}),$}}get options(){return this._def.options}};pt.create=(e,t)=>new pt({options:e,typeName:I.ZodUnion,...L(t)});Le=e=>e instanceof ht?Le(e.schema):e instanceof ge?Le(e.innerType()):e instanceof gt?[e.value]:e instanceof yt?e.options:e instanceof bt?H.objectValues(e.enum):e instanceof kt?Le(e._def.innerType):e instanceof ft?[void 0]:e instanceof dt?[null]:e instanceof me?[void 0,...Le(e.unwrap())]:e instanceof $e?[null,...Le(e.unwrap())]:e instanceof En||e instanceof wt?Le(e.unwrap()):e instanceof _t?Le(e._def.innerType):[],mr=class e extends F{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==S.object)return x(n,{code:k.invalid_type,expected:S.object,received:n.parsedType}),$;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}):(x(n,{code:k.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[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=Le(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:I.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...L(r)})}};mt=class extends F{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(o,i)=>{if(dr(o)||dr(i))return $;let a=js(o.value,i.value);return a.valid?((pr(o)||pr(i))&&n.dirty(),{status:n.value,value:a.data}):(x(r,{code:k.invalid_intersection_types}),$)};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}))}};mt.create=(e,t,n)=>new mt({left:e,right:t,typeName:I.ZodIntersection,...L(n)});Ae=class e extends F{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==S.array)return x(r,{code:k.invalid_type,expected:S.array,received:r.parsedType}),$;if(r.data.length<this._def.items.length)return x(r,{code:k.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),$;!this._def.rest&&r.data.length>this._def.items.length&&(x(r,{code:k.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 he(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(o).then(i=>q.mergeArray(n,i)):q.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};Ae.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ae({items:e,typeName:I.ZodTuple,rest:null,...L(t)})};hr=class e extends F{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!==S.object)return x(r,{code:k.invalid_type,expected:S.object,received:r.parsedType}),$;let s=[],o=this._def.keyType,i=this._def.valueType;for(let a in r.data)s.push({key:o._parse(new he(r,a,r.path,a)),value:i._parse(new he(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?q.mergeObjectAsync(n,s):q.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof F?new e({keyType:t,valueType:n,typeName:I.ZodRecord,...L(r)}):new e({keyType:Ge.create(),valueType:t,typeName:I.ZodRecord,...L(n)})}},Ht=class extends F{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!==S.map)return x(r,{code:k.invalid_type,expected:S.map,received:r.parsedType}),$;let s=this._def.keyType,o=this._def.valueType,i=[...r.data.entries()].map(([a,l],u)=>({key:s._parse(new he(r,a,r.path,[u,"key"])),value:o._parse(new he(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 $;(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 $;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}}}};Ht.create=(e,t,n)=>new Ht({valueType:t,keyType:e,typeName:I.ZodMap,...L(n)});Bt=class e extends F{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==S.set)return x(r,{code:k.invalid_type,expected:S.set,received:r.parsedType}),$;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(x(r,{code:k.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&&(x(r,{code:k.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 $;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 he(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)}};Bt.create=(e,t)=>new Bt({valueType:e,minSize:null,maxSize:null,typeName:I.ZodSet,...L(t)});gr=class e extends F{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==S.function)return x(n,{code:k.invalid_type,expected:S.function,received:n.parsedType}),$;function r(a,l){return Sn({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Dt(),Me].filter(u=>!!u),issueData:{code:k.invalid_arguments,argumentsError:l}})}function s(a,l){return Sn({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Dt(),Me].filter(u=>!!u),issueData:{code:k.invalid_return_type,returnTypeError:l}})}let o={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof Ke){let a=this;return Q(async function(...l){let u=new ie([]),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 Q(function(...l){let u=a._def.args.safeParse(l,o);if(!u.success)throw new ie([r(l,u.error)]);let c=Reflect.apply(i,this,u.data),f=a._def.returns.safeParse(c,o);if(!f.success)throw new ie([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:Ae.create(t).rest(Fe.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||Ae.create([]).rest(Fe.create()),returns:n||Fe.create(),typeName:I.ZodFunction,...L(r)})}},ht=class extends F{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})}};ht.create=(e,t)=>new ht({getter:e,typeName:I.ZodLazy,...L(t)});gt=class extends F{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return x(n,{received:n.data,code:k.invalid_literal,expected:this._def.value}),$}return{status:"valid",value:t.data}}get value(){return this._def.value}};gt.create=(e,t)=>new gt({value:e,typeName:I.ZodLiteral,...L(t)});yt=class e extends F{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return x(n,{expected:H.joinValues(r),received:n.parsedType,code:k.invalid_type}),$}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 x(n,{received:n.data,code:k.invalid_enum_value,options:r}),$}return Q(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})}};yt.create=wa;bt=class extends F{_parse(t){let n=H.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==S.string&&r.parsedType!==S.number){let s=H.objectValues(n);return x(r,{expected:H.joinValues(s),received:r.parsedType,code:k.invalid_type}),$}if(this._cache||(this._cache=new Set(H.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=H.objectValues(n);return x(r,{received:r.data,code:k.invalid_enum_value,options:s}),$}return Q(t.data)}get enum(){return this._def.values}};bt.create=(e,t)=>new bt({values:e,typeName:I.ZodNativeEnum,...L(t)});Ke=class extends F{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==S.promise&&n.common.async===!1)return x(n,{code:k.invalid_type,expected:S.promise,received:n.parsedType}),$;let r=n.parsedType===S.promise?n.data:Promise.resolve(n.data);return Q(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};Ke.create=(e,t)=>new Ke({type:e,typeName:I.ZodPromise,...L(t)});ge=class extends F{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===I.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=>{x(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 $;let l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?$:l.status==="dirty"?it(l.value):n.value==="dirty"?it(l.value):l});{if(n.value==="aborted")return $;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?$:a.status==="dirty"?it(a.value):n.value==="dirty"?it(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"?$:(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"?$:(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(!Ze(i))return $;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=>Ze(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:n.value,value:a})):$);H.assertNever(s)}};ge.create=(e,t,n)=>new ge({schema:e,typeName:I.ZodEffects,effect:t,...L(n)});ge.createWithPreprocess=(e,t,n)=>new ge({schema:t,effect:{type:"preprocess",transform:e},typeName:I.ZodEffects,...L(n)});me=class extends F{_parse(t){return this._getType(t)===S.undefined?Q(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};me.create=(e,t)=>new me({innerType:e,typeName:I.ZodOptional,...L(t)});$e=class extends F{_parse(t){return this._getType(t)===S.null?Q(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};$e.create=(e,t)=>new $e({innerType:e,typeName:I.ZodNullable,...L(t)});kt=class extends F{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===S.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};kt.create=(e,t)=>new kt({innerType:e,typeName:I.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...L(t)});_t=class extends F{_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 Mt(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new ie(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new ie(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};_t.create=(e,t)=>new _t({innerType:e,typeName:I.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...L(t)});zt=class extends F{_parse(t){if(this._getType(t)!==S.nan){let r=this._getOrReturnCtx(t);return x(r,{code:k.invalid_type,expected:S.nan,received:r.parsedType}),$}return{status:"valid",value:t.data}}};zt.create=e=>new zt({typeName:I.ZodNaN,...L(e)});$m=Symbol("zod_brand"),En=class extends F{_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}},vn=class e extends F{_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"?$:o.status==="dirty"?(n.dirty(),it(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"?$: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:I.ZodPipeline})}},wt=class extends F{_parse(t){let n=this._def.innerType._parse(t),r=s=>(Ze(s)&&(s.value=Object.freeze(s.value)),s);return Mt(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};wt.create=(e,t)=>new wt({innerType:e,typeName:I.ZodReadonly,...L(t)});Om={object:ae.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"})(I||(I={}));Cm=(e,t={message:`Input not instance of ${e.name}`})=>xa(n=>n instanceof e,t),Sa=Ge.create,Ea=at.create,Im=zt.create,Pm=lt.create,va=ut.create,Nm=ct.create,Dm=Ft.create,Mm=ft.create,Lm=dt.create,Fm=We.create,jm=Fe.create,Hm=Se.create,Bm=jt.create,zm=je.create,Um=ae.create,Jm=ae.strictCreate,Zm=pt.create,Gm=mr.create,Wm=mt.create,Km=Ae.create,Vm=hr.create,qm=Ht.create,Ym=Bt.create,Xm=gr.create,Qm=ht.create,eh=gt.create,th=yt.create,nh=bt.create,rh=Ke.create,sh=ge.create,oh=me.create,ih=$e.create,ah=ge.createWithPreprocess,lh=vn.create,uh=()=>Sa().optional(),ch=()=>Ea().optional(),fh=()=>va().optional(),dh={string:(e=>Ge.create({...e,coerce:!0})),number:(e=>at.create({...e,coerce:!0})),boolean:(e=>ut.create({...e,coerce:!0})),bigint:(e=>lt.create({...e,coerce:!0})),date:(e=>ct.create({...e,coerce:!0}))},ph=$});var y={};wn(y,{BRAND:()=>$m,DIRTY:()=>it,EMPTY_PATH:()=>am,INVALID:()=>$,NEVER:()=>ph,OK:()=>Q,ParseStatus:()=>q,Schema:()=>F,ZodAny:()=>We,ZodArray:()=>je,ZodBigInt:()=>lt,ZodBoolean:()=>ut,ZodBranded:()=>En,ZodCatch:()=>_t,ZodDate:()=>ct,ZodDefault:()=>kt,ZodDiscriminatedUnion:()=>mr,ZodEffects:()=>ge,ZodEnum:()=>yt,ZodError:()=>ie,ZodFirstPartyTypeKind:()=>I,ZodFunction:()=>gr,ZodIntersection:()=>mt,ZodIssueCode:()=>k,ZodLazy:()=>ht,ZodLiteral:()=>gt,ZodMap:()=>Ht,ZodNaN:()=>zt,ZodNativeEnum:()=>bt,ZodNever:()=>Se,ZodNull:()=>dt,ZodNullable:()=>$e,ZodNumber:()=>at,ZodObject:()=>ae,ZodOptional:()=>me,ZodParsedType:()=>S,ZodPipeline:()=>vn,ZodPromise:()=>Ke,ZodReadonly:()=>wt,ZodRecord:()=>hr,ZodSchema:()=>F,ZodSet:()=>Bt,ZodString:()=>Ge,ZodSymbol:()=>Ft,ZodTransformer:()=>ge,ZodTuple:()=>Ae,ZodType:()=>F,ZodUndefined:()=>ft,ZodUnion:()=>pt,ZodUnknown:()=>Fe,ZodVoid:()=>jt,addIssueToContext:()=>x,any:()=>Fm,array:()=>zm,bigint:()=>Pm,boolean:()=>va,coerce:()=>dh,custom:()=>xa,date:()=>Nm,datetimeRegex:()=>_a,defaultErrorMap:()=>Me,discriminatedUnion:()=>Gm,effect:()=>sh,enum:()=>th,function:()=>Xm,getErrorMap:()=>Dt,getParsedType:()=>Re,instanceof:()=>Cm,intersection:()=>Wm,isAborted:()=>dr,isAsync:()=>Mt,isDirty:()=>pr,isValid:()=>Ze,late:()=>Om,lazy:()=>Qm,literal:()=>eh,makeIssue:()=>Sn,map:()=>qm,nan:()=>Im,nativeEnum:()=>nh,never:()=>Hm,null:()=>Lm,nullable:()=>ih,number:()=>Ea,object:()=>Um,objectUtil:()=>Ds,oboolean:()=>fh,onumber:()=>ch,optional:()=>oh,ostring:()=>uh,pipeline:()=>lh,preprocess:()=>ah,promise:()=>rh,quotelessJson:()=>sm,record:()=>Vm,set:()=>Ym,setErrorMap:()=>im,strictObject:()=>Jm,string:()=>Sa,symbol:()=>Dm,transformer:()=>sh,tuple:()=>Km,undefined:()=>Mm,union:()=>Zm,unknown:()=>jm,util:()=>H,void:()=>Bm});var Hs=b(()=>{fr();Ls();ma();xn();Ta();cr()});var xt=b(()=>{Hs();Hs()});var Ve,Tn=b(()=>{"use strict";xt();Ve=y.object({slug:y.string().min(1).max(64),description:y.string().max(255).optional(),match_command:y.string().min(1),priority:y.number().int().default(50),strip_ansi:y.boolean().default(!1),strip_lines_matching:y.array(y.string()).default([]),drop_lines_matching:y.array(y.string()).default([]),keep_failures:y.boolean().default(!1),strip_on_failure:y.boolean().default(!1),fold_passing:y.boolean().default(!1),fold_passing_threshold:y.number().int().positive().max(1e3).optional(),mask_abs_paths:y.boolean().default(!1),preserve_exact:y.boolean().default(!1),truncate_lines_at:y.number().int().positive().max(1e4).optional(),max_lines:y.number().int().positive().max(1e5).optional(),scale_with_level:y.boolean().default(!0),transform:y.string().max(64).optional(),transform_on_failure:y.boolean().default(!1),on_empty:y.string().max(255).optional()})});var Oa={};wn(Oa,{OutputVerbosity:()=>Aa,ReducerLevel:()=>$a,Settings:()=>Ut,slugKey:()=>fe});import{createHash as mh}from"node:crypto";function fe(e){let t=Ra.get(e);return t||(t=mh("sha256").update(`tkr:${e}`).digest("hex").slice(0,16),Ra.set(e,t)),t}var Aa,$a,Ut,Ra,qe=b(()=>{"use strict";xt();Aa=y.enum(["normal","compact","minimal"]),$a=y.enum(["off","light","balanced","max"]),Ut=y.object({enabled:y.boolean().default(!0),telemetryOptIn:y.boolean().default(!0),outputVerbosity:Aa.default("compact"),reducer:$a.default("off"),filters:y.object({enableAll:y.boolean().default(!0),disabled:y.array(y.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),Ra=new Map});function Jt(e,t,n,r=t){let s=Ca.get(r);s||(s=new Map,Ca.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(fe(l.slug))||l.matchRegex.test(e)&&(!a||l.priority>a.priority)&&(a=l);if(s.size>=hh){let l=s.keys().next().value;l&&s.delete(l)}return s.set(o,a),a}var Ca,hh,yr=b(()=>{"use strict";qe();Ca=new WeakMap,hh=256});import gh from"node:os";import{join as Rn}from"node:path";function E(){return process.env.TOKMIZER_HOME||Rn(gh.homedir(),".tokmizer")}function An(){return Rn(E(),"install-id")}function Bs(){return Rn(E(),"content-cache")}function Ia(){return Rn(E(),"restore.json")}function zs(e){return Rn(Bs(),e)}var J=b(()=>{"use strict"});import{join as yh}from"node:path";import{mkdir as UR,readFile as bh,writeFile as JR,unlink as ZR,rename as GR}from"node:fs/promises";function _h(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e&&e.length>0?e:"Etc/UTC"}catch{return"Etc/UTC"}}function wh(e){return e?.dir??E()}async function St(e){let t=wh(e);try{let n=await bh(yh(t,kh),"utf8"),r=JSON.parse(n),s=r.timeZone;return{...r,lastSettingsRevision:r.lastSettingsRevision??0,get timeZone(){return s??=_h()},bonusActive:r.bonusActive??!1,...r.bonusResetAt!==void 0?{bonusResetAt:r.bonusResetAt}:{}}}catch{return null}}var kh,$n=b(()=>{"use strict";J();kh="state.json"});import{createRequire as xh}from"node:module";function Eh(){let e="0.9.71";if(e)return e;for(let t of["../package.json","../../package.json"])try{let n=Sh(t).version;if(typeof n=="string"&&n)return n}catch{}return"0.0.0"}function Pa(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 Sh,ye,Zt=b(()=>{"use strict";Sh=xh(import.meta.url);ye=Eh()});var Na,Da=b(()=>{"use strict";Na=`-----BEGIN PUBLIC KEY-----
4
4
  MCowBQYDK2VwAyEAj/kMlXlhTIGHRKxOKMuGFa1S1ybxxwgdYcAE0YM9fgU=
5
5
  -----END PUBLIC KEY-----
6
- `});import{existsSync as fh,mkdirSync as DR,rmSync as MR,writeFileSync as LR}from"node:fs";import{join as Oa}from"node:path";function mh(){return Oa(E(),"network-off")}function hh(){let e=process.env.TOKMIZER_NETWORK;return e!==void 0&&dh.has(e.trim().toLowerCase())}function An(){return hh()?!1:!fh(mh())}function Ca(){return Oa(E(),ph)}var dh,ph,HR,$n=b(()=>{"use strict";Z();dh=new Set(["0","off","false","no"]),ph="network-notice-shown",HR=["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 Ia(){return Aa.replace(/\\n/g,`
8
- `)}var GR,WR,js=b(()=>{"use strict";Ut();$a();$n();GR=300*1e3,WR=120*1e3});import{createCipheriv as qR,createDecipheriv as gh,hkdfSync as yh,randomBytes as YR}from"node:crypto";function _h(e){return Buffer.from(yh("sha256",Buffer.from(e,"utf8"),bh,kh,32))}function yr(e,t){let n=_h(t),r=Buffer.from(e,"base64url"),s=r.subarray(0,12),o=r.subarray(12,28),i=r.subarray(28),a=gh("aes-256-gcm",n,s);return a.setAuthTag(o),Buffer.concat([a.update(i),a.final()]).toString("utf8")}var bh,kh,Hs=b(()=>{"use strict";bh=Buffer.from("tokmizer-bundle-enc-v1"),kh=Buffer.from("rules-bundle")});import{chmodSync as eA,readFileSync as wh,writeFileSync as tA,mkdirSync as nA,renameSync as rA}from"node:fs";import{join as xh}from"node:path";function Eh(){return xh(E(),"bundle-cache.json")}function Pa(){try{let e=wh(Eh(),"utf8"),t=Sh.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}var Sh,Na=b(()=>{"use strict";xt();Z();Sh=y.object({payload:y.string().min(1),signature:y.string().min(1),enc:y.literal("v1"),fetchedAt:y.number().int().nonnegative()})});import{createPublicKey as Th,verify as Rh}from"node:crypto";function zs(){let e=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(e)&&e>0?e:Ah}function $h(e,t){let n=Ia();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=Th({key:n,format:"pem"});if(!Rh(null,Buffer.from(e.payload,"utf8"),r,Buffer.from(e.signature,"base64url")))throw new Error("tkr-daemon: rules bundle signature invalid");return JSON.parse(yr(e.payload,t))}function Oh(e,t){let n=$h(e,t),r=Bs.parse(n);if(Date.now()-r.signedAt>zs())throw new Error("tkr-daemon: rules bundle is stale");return Us(r,{signedAt:r.signedAt,fetchedAt:Date.now()})}function Us(e,t){let n=new Map;for(let r of e.filters)n.set(r.slug,{...r,matchRegex:new RegExp(r.match_command)});return{bundleVersion:e.bundleVersion,signedAt:t.signedAt,ruleCount:n.size,startedAt:Date.now(),fetchedAt:t.fetchedAt,selectFor:(r,s,o)=>zt(r,n.values(),o?new Set(o):null,n)}}async function br(){try{let e=Pa();if(!e)return null;let t=await St();return t?.signingSecret?Oh(e,t.signingSecret):null}catch{return null}}var Bs,yA,Ah,On=b(()=>{"use strict";xt();En();gr();Rn();js();Hs();Na();Bs=y.object({bundleVersion:y.number().int().nonnegative(),signedAt:y.number().int(),filters:y.array(Ve)}),yA=y.object({payload:y.string().min(1),signature:y.string().min(1),enc:y.literal("v1")}),Ah=10080*60*1e3});function Ch(e,t){let n=e.slice(0,t).split(/\r?\n/);return[n.length,n.pop().length+1]}function Ih(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 vh,mkdirSync as QR,rmSync as eA,writeFileSync as tA}from"node:fs";import{join as Ma}from"node:path";function Ah(){return Ma(E(),"network-off")}function $h(){let e=process.env.TOKMIZER_NETWORK;return e!==void 0&&Th.has(e.trim().toLowerCase())}function On(){return $h()?!1:!vh(Ah())}function La(){return Ma(E(),Rh)}var Th,Rh,sA,Cn=b(()=>{"use strict";J();Th=new Set(["0","off","false","no"]),Rh="network-notice-shown",sA=["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 Fa(){return Na.replace(/\\n/g,`
8
+ `)}var cA,fA,Us=b(()=>{"use strict";Zt();Da();Cn();cA=300*1e3,fA=120*1e3});import{createCipheriv as mA,createDecipheriv as Oh,hkdfSync as Ch,randomBytes as hA}from"node:crypto";function Nh(e){return Buffer.from(Ch("sha256",Buffer.from(e,"utf8"),Ih,Ph,32))}function br(e,t){let n=Nh(t),r=Buffer.from(e,"base64url"),s=r.subarray(0,12),o=r.subarray(12,28),i=r.subarray(28),a=Oh("aes-256-gcm",n,s);return a.setAuthTag(o),Buffer.concat([a.update(i),a.final()]).toString("utf8")}var Ih,Ph,Js=b(()=>{"use strict";Ih=Buffer.from("tokmizer-bundle-enc-v1"),Ph=Buffer.from("rules-bundle")});import{chmodSync as bA,readFileSync as Dh,writeFileSync as kA,mkdirSync as _A,renameSync as wA}from"node:fs";import{join as Mh}from"node:path";function Fh(){return Mh(E(),"bundle-cache.json")}function ja(){try{let e=Dh(Fh(),"utf8"),t=Lh.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}var Lh,Ha=b(()=>{"use strict";xt();J();Lh=y.object({payload:y.string().min(1),signature:y.string().min(1),enc:y.literal("v1"),fetchedAt:y.number().int().nonnegative()})});import{createPublicKey as Hh,verify as Bh}from"node:crypto";function Gs(){let e=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(e)&&e>0?e:zh}function Uh(e,t){let n=Fa();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=Hh({key:n,format:"pem"});if(!Bh(null,Buffer.from(e.payload,"utf8"),r,Buffer.from(e.signature,"base64url")))throw new Error("tkr-daemon: rules bundle signature invalid");return JSON.parse(br(e.payload,t))}function Jh(e,t){let n=Uh(e,t),r=Zs.parse(n);if(Date.now()-r.signedAt>Gs())throw new Error("tkr-daemon: rules bundle is stale");return Ws(r,{signedAt:r.signedAt,fetchedAt:Date.now()})}function Ws(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)=>Jt(r,n.values(),o?new Set(o):null,n)}}async function kr(){try{let e=ja();if(!e)return null;let t=await St();return t?.signingSecret?Jh(e,t.signingSecret):null}catch{return null}}var Zs,DA,zh,In=b(()=>{"use strict";xt();Tn();yr();$n();Us();Js();Ha();Zs=y.object({bundleVersion:y.number().int().nonnegative(),signedAt:y.number().int(),filters:y.array(Ve)}),DA=y.object({payload:y.string().min(1),signature:y.string().min(1),enc:y.literal("v1")}),zh=10080*60*1e3});function Zh(e,t){let n=e.slice(0,t).split(/\r?\n/);return[n.length,n.pop().length+1]}function Gh(e,t,n){let r=e.split(/\r?\n/),s="",o=(Math.log10(t+1)|0)+1;for(let i=t-1;i<=t+1;i++){let a=r[i-1];a&&(s+=i.toString().padEnd(o," "),s+=": ",s+=a,s+=`
9
9
  `,i===t&&(s+=" ".repeat(o+n+2),s+=`^
10
- `))}return s}var C,Et=b(()=>{C=class e extends Error{line;column;codeblock;constructor(t,n){let[r,s]=Ch(n.toml,n.ptr),o=Ih(n.toml,r,s);super(`Invalid TOML document: ${t}
10
+ `))}return s}var C,Et=b(()=>{C=class e extends Error{line;column;codeblock;constructor(t,n){let[r,s]=Zh(n.toml,n.ptr),o=Gh(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 kr(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)C.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),g=p>=48&&p<=57?p-48:p>=65&&p<=70?p-65+10:p>=97&&p<=102?p-97+10:-1;g<0&&C.x("invalid non-hex character in unicode escape",e),c=c<<4|g}(c<0||c>1114111||c>=55296&&c<=57343)&&C.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+="\\":C.x("unrecognised escape sequence",e),a=e.p+1,l=0);else n!==32&&n!==9&&(l===2&&C.x("invalid escape: only line-ending whitespace may be escaped",e,a),l=!s&&n===92?1:0,a=e.p);C.x("unfinished string",e,t)}var Zs=b(()=>{Et();});var Ph,vt,Js=b(()=>{Ph=/^(\d{4}-\d{2}-\d{2})?[Tt ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|z|[-+]\d{2}:\d{2})?$/i,vt=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(Ph);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 de(e,t=10){return t===16?e>47&&e<58||e>64&&e<71||e>96&&e<103:e>47&&e<48+t}function Ws(e,t){return e===32||e===9||e===10||e===13||t&&(e===t||e===44)||e===35}function In(e,t){let n=e.p,r=e.s.charCodeAt(e.p);if(r===91||r===123){e.d--||C.x("document contains excessively nested structures. aborting.",e);let s=r===91?La(e):Ma(e);return e.d++,s}return r===34||r===39?kr(e):r===116?((e.s.charCodeAt(++e.p)!==114||e.s.charCodeAt(++e.p)!==117||e.s.charCodeAt(++e.p)!==101)&&C.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)&&C.x("invalid value",e,n),e.p++,!1):r===43||r===45?_r(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?Nh(e,r,t):e.s.charCodeAt(e.p+2)===58?Dh(e,r,t):_r(e,e.p,r,0,t)}function _r(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)&&C.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)&&C.x("invalid value",e,t),e.p++,NaN;if(o===48){if(++e.p>=e.s.length||Ws(o=e.s.charCodeAt(e.p),s))return e.bi===!0?0n:0;if(!r){if(o===120)return Gs(e,t,16,s);if(o===98)return Gs(e,t,2,s);if(o===111)return Gs(e,t,8,s)}o===46?i=2:o===101||o===69?i=4:C.x("illegal leading zero",e,t)}else de(o)||C.x("invalid value",e,t);for(;++e.p<e.s.length&&(o=e.s.charCodeAt(e.p),!Ws(o,s));)i||(i=1),o===95?(i&1||C.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)||(de(o)?i>9?i-=11:i&1||i++:C.x("illegal character in numeric literal",e));if(!i){let u=(n-48)*(r||1);return e.bi===!0?BigInt(u):u}i&1||C.x("unfinished numeric value",e,t);let l=e.s.slice(t,e.p);return a&&(l=l.replaceAll("_","")),i>1?parseFloat(l):Da(e,l,10,t)}function Gs(e,t,n,r){let s,o=1;for(;++e.p<e.s.length&&(s=e.s.charCodeAt(e.p),!Ws(s,r));)s===95?(o&1&&C.x("illegal underscore",e),o=3):de(s,n)?o&1&&o--:C.x("illegal character in numeric literal",e);o&1&&C.x("unfinished numeric value",e);let i=e.s.slice(t+2,e.p);return o&&(i=i.replaceAll("_","")),Da(e,i,n,t)}function Da(e,t,n,r){if(e.bi!==!0)e:{let s=parseInt(t,n);if(!Number.isSafeInteger(s)){if(e.bi)break e;C.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 Nh(e,t,n){let r=e.p++,s;if(!de(t)||!de(e.s.charCodeAt(e.p++))||!de(e.s.charCodeAt(e.p++))||!de(e.s.charCodeAt(e.p++)))return _r(e,e.p=r,t,0,n);if(e.p+=5,de(e.s.charCodeAt(e.p++))||C.x("invalid date-time: date part is malformed",e,r),e.p>=e.s.length||((t=e.s.charCodeAt(e.p))!==32||(s=!0,!de(e.s.charCodeAt(e.p+1))))&&t!==84&&t!==116){let i=e.s.slice(r,e.p);return Cn(e,i,3,!1,r)}if(e.s.charCodeAt(e.p+=3)!==58&&C.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(;de(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 Cn(e,i,1,s,r,"[+00:00]")}if(t===43||t===45){let i=e.s.slice(r,e.p+=6);return Cn(e,i,1,s,r,!e.ld&&"["+e.s.slice(e.p-6,e.p)+"]")}}let o=e.s.slice(r,e.p);return Cn(e,o,2,s,r)}function Dh(e,t,n){let r=e.p;if(!de(t)||!de(e.s.charCodeAt(++e.p)))return _r(e,--e.p,t,0,n);if(e.s.charCodeAt(e.p+=4)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;de(e.s.charCodeAt(++e.p)););let s=e.s.slice(r,e.p);return Cn(e,s,4,!1,r)}function Cn(e,t,n,r,s,o){if(e.ld){let i=new vt(t,n,r);return i.isValid()||C.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){C.x(i instanceof Error?i.message:""+i,e,s)}}var Ks=b(()=>{Zs();Vs();Et();Js();});function Mh(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)&&C.x("control characters are not allowed in comments",e)}}function Se(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;Mh(e)}}var qs=b(()=>{Et();});function wr(e,t=61){let n,r=0,s=[],o,i=e.s.charCodeAt(n=e.p);do{if(i===t)return r||C.x("unexpected end of key",e),r===1&&s.push(e.s.slice(o,e.p)),e.p++,s;i===46?(r||C.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)&&C.x("illegal quoted key: multiline strings are not allowed",e),s.push(kr(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?C.x("illegal character in key",e):r||(r=1,o=e.p)}while(i=e.s.charCodeAt(++e.p));C.x("incomplete key-value: cannot find end of key",e,n)}function Ma(e){let t=e.p++,n=Object.create(null),r=new Set,s;for(;e.p<e.s.length;){if(Se(e),(s=e.s.charCodeAt(e.p))===125)return e.p++,n;let o,i=n,a=!1,l=e.p,u=wr(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]))&&C.x("trying to redefine an already defined value",e,l);let d=o==="__proto__";if(e.uk&&(d||o==="constructor")){i=e.uk!==1&&C.x("document contains an unsafe property",e,l);break}!a&&d&&Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0})}a&&C.x("trying to redefine an already defined value",e,l),Se(e,!0,!0);let c=In(e,125);if(i&&typeof(i[o]=c)=="object"&&r.add(c),Se(e),(s=e.s.charCodeAt(e.p++))===125)return n;s!==44&&C.x("expected comma or end of structure",e,e.p-1)}C.x("unfinished table",e,t)}function La(e){let t=e.p++,n=[],r;for(;e.p<e.s.length;){if(Se(e),(r=e.s.charCodeAt(e.p))===93)return e.p++,n;if(n.push(In(e,93)),Se(e),(r=e.s.charCodeAt(e.p++))===93)return n;r!==44&&C.x("expected comma or end of structure",e,e.p-1)}C.x("unfinished array",e,t)}var Vs=b(()=>{Zs();Ks();qs();Et();});function Fa(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 ja(e,t,n){(t===null||e.uk===2)&&C.x(t===null?"trying to redefine an already defined table or value":"document contains an unsafe property",e,n)}function Pn(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++,Se(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=wr(n,93);u&&(e.charCodeAt(n.p)!==93&&C.x("expected end of table array declaration",n),n.p++);let f=Fa(n,c,r,s,u?2:1);f?(l=f[2],a=f[1]):(ja(n,f,o),i=!0)}else{o=n.p;let u=wr(n),c=Fa(n,u,a,l,0);!c&&!i&&ja(n,c,o),Se(n,!0,!0);let f=In(n,void 0);c&&!i&&(c[1][c[0]]=f)}Se(n,!0),n.p<e.length&&(o=e.charCodeAt(n.p))!==10&&(o!==13||e.charCodeAt(n.p+1)!==10)&&C.x("each key-value declaration must be followed by an end-of-line",n),Se(n)}return r}var Ha=b(()=>{Vs();Ks();qs();Et();});function Nn(e){let t=typeof e;if(t==="object"){if(Array.isArray(e))return"array";if(typeof e.getUTCDate=="function"&&e instanceof Date)return"date";if(globalThis.Temporal){if(e.until){if(e instanceof Temporal.ZonedDateTime)return"temporal/tz+uc";if(e instanceof Temporal.PlainDateTime||e instanceof Temporal.PlainDate)return"temporal/uc";if(e instanceof Temporal.PlainTime||e instanceof Temporal.Instant)return"temporal";if(e instanceof Temporal.PlainYearMonth)return"temporal/x"}else if(e.toPlainDate&&e instanceof Temporal.PlainMonthDay||e.negated&&e instanceof Temporal.Duration)return"temporal/x"}}return t}function Fh(e){for(let t=0;t<e.length;t++)if(Nn(e[t])!=="object")return!1;return e.length!=0}function za(e){return JSON.stringify(e).replaceAll("\x7F","\\u007f")}function jh(e){return za(Ba?e.toWellFormed():e)}function Ua(e){if(Lh.test(e))return e;if(Ba&&!e.isWellFormed())throw new RangeError("key contains illegal lone surrogates");return za(e)}function Ys(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 jh(e);case"date":if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString();case"object":return Hh(e,n,r,s);case"array":return Bh(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 Hh(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+=Ua(a)+" = "+Ys(e[a],Nn(e[a]),t-1,n,r)}return o+" }"}function Bh(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+=Ys(e[o],Nn(e[o]),t-1,n,r)}return s+" ]"}function zh(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 _r(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)C.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),g=p>=48&&p<=57?p-48:p>=65&&p<=70?p-65+10:p>=97&&p<=102?p-97+10:-1;g<0&&C.x("invalid non-hex character in unicode escape",e),c=c<<4|g}(c<0||c>1114111||c>=55296&&c<=57343)&&C.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+="\\":C.x("unrecognised escape sequence",e),a=e.p+1,l=0);else n!==32&&n!==9&&(l===2&&C.x("invalid escape: only line-ending whitespace may be escaped",e,a),l=!s&&n===92?1:0,a=e.p);C.x("unfinished string",e,t)}var Ks=b(()=>{Et();});var Wh,vt,Vs=b(()=>{Wh=/^(\d{4}-\d{2}-\d{2})?[Tt ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|z|[-+]\d{2}:\d{2})?$/i,vt=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(Wh);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 de(e,t=10){return t===16?e>47&&e<58||e>64&&e<71||e>96&&e<103:e>47&&e<48+t}function Ys(e,t){return e===32||e===9||e===10||e===13||t&&(e===t||e===44)||e===35}function Nn(e,t){let n=e.p,r=e.s.charCodeAt(e.p);if(r===91||r===123){e.d--||C.x("document contains excessively nested structures. aborting.",e);let s=r===91?Ua(e):za(e);return e.d++,s}return r===34||r===39?_r(e):r===116?((e.s.charCodeAt(++e.p)!==114||e.s.charCodeAt(++e.p)!==117||e.s.charCodeAt(++e.p)!==101)&&C.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)&&C.x("invalid value",e,n),e.p++,!1):r===43||r===45?wr(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?Kh(e,r,t):e.s.charCodeAt(e.p+2)===58?Vh(e,r,t):wr(e,e.p,r,0,t)}function wr(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)&&C.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)&&C.x("invalid value",e,t),e.p++,NaN;if(o===48){if(++e.p>=e.s.length||Ys(o=e.s.charCodeAt(e.p),s))return e.bi===!0?0n:0;if(!r){if(o===120)return qs(e,t,16,s);if(o===98)return qs(e,t,2,s);if(o===111)return qs(e,t,8,s)}o===46?i=2:o===101||o===69?i=4:C.x("illegal leading zero",e,t)}else de(o)||C.x("invalid value",e,t);for(;++e.p<e.s.length&&(o=e.s.charCodeAt(e.p),!Ys(o,s));)i||(i=1),o===95?(i&1||C.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)||(de(o)?i>9?i-=11:i&1||i++:C.x("illegal character in numeric literal",e));if(!i){let u=(n-48)*(r||1);return e.bi===!0?BigInt(u):u}i&1||C.x("unfinished numeric value",e,t);let l=e.s.slice(t,e.p);return a&&(l=l.replaceAll("_","")),i>1?parseFloat(l):Ba(e,l,10,t)}function qs(e,t,n,r){let s,o=1;for(;++e.p<e.s.length&&(s=e.s.charCodeAt(e.p),!Ys(s,r));)s===95?(o&1&&C.x("illegal underscore",e),o=3):de(s,n)?o&1&&o--:C.x("illegal character in numeric literal",e);o&1&&C.x("unfinished numeric value",e);let i=e.s.slice(t+2,e.p);return o&&(i=i.replaceAll("_","")),Ba(e,i,n,t)}function Ba(e,t,n,r){if(e.bi!==!0)e:{let s=parseInt(t,n);if(!Number.isSafeInteger(s)){if(e.bi)break e;C.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 Kh(e,t,n){let r=e.p++,s;if(!de(t)||!de(e.s.charCodeAt(e.p++))||!de(e.s.charCodeAt(e.p++))||!de(e.s.charCodeAt(e.p++)))return wr(e,e.p=r,t,0,n);if(e.p+=5,de(e.s.charCodeAt(e.p++))||C.x("invalid date-time: date part is malformed",e,r),e.p>=e.s.length||((t=e.s.charCodeAt(e.p))!==32||(s=!0,!de(e.s.charCodeAt(e.p+1))))&&t!==84&&t!==116){let i=e.s.slice(r,e.p);return Pn(e,i,3,!1,r)}if(e.s.charCodeAt(e.p+=3)!==58&&C.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(;de(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 Pn(e,i,1,s,r,"[+00:00]")}if(t===43||t===45){let i=e.s.slice(r,e.p+=6);return Pn(e,i,1,s,r,!e.ld&&"["+e.s.slice(e.p-6,e.p)+"]")}}let o=e.s.slice(r,e.p);return Pn(e,o,2,s,r)}function Vh(e,t,n){let r=e.p;if(!de(t)||!de(e.s.charCodeAt(++e.p)))return wr(e,--e.p,t,0,n);if(e.s.charCodeAt(e.p+=4)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;de(e.s.charCodeAt(++e.p)););let s=e.s.slice(r,e.p);return Pn(e,s,4,!1,r)}function Pn(e,t,n,r,s,o){if(e.ld){let i=new vt(t,n,r);return i.isValid()||C.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){C.x(i instanceof Error?i.message:""+i,e,s)}}var Xs=b(()=>{Ks();Qs();Et();Vs();});function qh(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)&&C.x("control characters are not allowed in comments",e)}}function Ee(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;qh(e)}}var eo=b(()=>{Et();});function xr(e,t=61){let n,r=0,s=[],o,i=e.s.charCodeAt(n=e.p);do{if(i===t)return r||C.x("unexpected end of key",e),r===1&&s.push(e.s.slice(o,e.p)),e.p++,s;i===46?(r||C.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)&&C.x("illegal quoted key: multiline strings are not allowed",e),s.push(_r(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?C.x("illegal character in key",e):r||(r=1,o=e.p)}while(i=e.s.charCodeAt(++e.p));C.x("incomplete key-value: cannot find end of key",e,n)}function za(e){let t=e.p++,n=Object.create(null),r=new Set,s;for(;e.p<e.s.length;){if(Ee(e),(s=e.s.charCodeAt(e.p))===125)return e.p++,n;let o,i=n,a=!1,l=e.p,u=xr(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]))&&C.x("trying to redefine an already defined value",e,l);let d=o==="__proto__";if(e.uk&&(d||o==="constructor")){i=e.uk!==1&&C.x("document contains an unsafe property",e,l);break}!a&&d&&Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0})}a&&C.x("trying to redefine an already defined value",e,l),Ee(e,!0,!0);let c=Nn(e,125);if(i&&typeof(i[o]=c)=="object"&&r.add(c),Ee(e),(s=e.s.charCodeAt(e.p++))===125)return n;s!==44&&C.x("expected comma or end of structure",e,e.p-1)}C.x("unfinished table",e,t)}function Ua(e){let t=e.p++,n=[],r;for(;e.p<e.s.length;){if(Ee(e),(r=e.s.charCodeAt(e.p))===93)return e.p++,n;if(n.push(Nn(e,93)),Ee(e),(r=e.s.charCodeAt(e.p++))===93)return n;r!==44&&C.x("expected comma or end of structure",e,e.p-1)}C.x("unfinished array",e,t)}var Qs=b(()=>{Ks();Xs();eo();Et();});function Ja(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 Za(e,t,n){(t===null||e.uk===2)&&C.x(t===null?"trying to redefine an already defined table or value":"document contains an unsafe property",e,n)}function Dn(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++,Ee(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=xr(n,93);u&&(e.charCodeAt(n.p)!==93&&C.x("expected end of table array declaration",n),n.p++);let f=Ja(n,c,r,s,u?2:1);f?(l=f[2],a=f[1]):(Za(n,f,o),i=!0)}else{o=n.p;let u=xr(n),c=Ja(n,u,a,l,0);!c&&!i&&Za(n,c,o),Ee(n,!0,!0);let f=Nn(n,void 0);c&&!i&&(c[1][c[0]]=f)}Ee(n,!0),n.p<e.length&&(o=e.charCodeAt(n.p))!==10&&(o!==13||e.charCodeAt(n.p+1)!==10)&&C.x("each key-value declaration must be followed by an end-of-line",n),Ee(n)}return r}var Ga=b(()=>{Qs();Xs();eo();Et();});function Mn(e){let t=typeof e;if(t==="object"){if(Array.isArray(e))return"array";if(typeof e.getUTCDate=="function"&&e instanceof Date)return"date";if(globalThis.Temporal){if(e.until){if(e instanceof Temporal.ZonedDateTime)return"temporal/tz+uc";if(e instanceof Temporal.PlainDateTime||e instanceof Temporal.PlainDate)return"temporal/uc";if(e instanceof Temporal.PlainTime||e instanceof Temporal.Instant)return"temporal";if(e instanceof Temporal.PlainYearMonth)return"temporal/x"}else if(e.toPlainDate&&e instanceof Temporal.PlainMonthDay||e.negated&&e instanceof Temporal.Duration)return"temporal/x"}}return t}function Xh(e){for(let t=0;t<e.length;t++)if(Mn(e[t])!=="object")return!1;return e.length!=0}function Ka(e){return JSON.stringify(e).replaceAll("\x7F","\\u007f")}function Qh(e){return Ka(Wa?e.toWellFormed():e)}function Va(e){if(Yh.test(e))return e;if(Wa&&!e.isWellFormed())throw new RangeError("key contains illegal lone surrogates");return Ka(e)}function to(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 Qh(e);case"date":if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString();case"object":return eg(e,n,r,s);case"array":return tg(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 eg(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+=Va(a)+" = "+to(e[a],Mn(e[a]),t-1,n,r)}return o+" }"}function tg(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+=to(e[o],Mn(e[o]),t-1,n,r)}return s+" ]"}function ng(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+=Xs(0,e[i],t,n,r,s);return o}function Xs(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=Nn(t[c]);if(f==="symbol"||f==="function")throw new TypeError(`cannot serialize values of type '${f}'`);let d=Ua(c);if(f==="array"&&Fh(t[c]))a+=(a&&`
16
- `)+zh(t[c],n?`${n}.${d}`:d,r-1,s,o);else if(f==="object"){let p=n?`${n}.${d}`:d;a+=(a&&`
17
- `)+Xs(p,t[c],p,r-1,s,o)}else i+=d,i+=" = ",i+=Ys(t[c],f,r,s,o),i+=`
15
+ `,o+=no(0,e[i],t,n,r,s);return o}function no(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=Mn(t[c]);if(f==="symbol"||f==="function")throw new TypeError(`cannot serialize values of type '${f}'`);let d=Va(c);if(f==="array"&&Xh(t[c]))a+=(a&&`
16
+ `)+ng(t[c],n?`${n}.${d}`:d,r-1,s,o);else if(f==="object"){let p=n?`${n}.${d}`:d;a+=(a&&`
17
+ `)+no(p,t[c],p,r-1,s,o)}else i+=d,i+=" = ",i+=to(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 Qs(e,{maxDepth:t=1e3,numbersAsFloat:n=!1,strictTemporal:r=!1}={}){if(Nn(e)!=="object")throw new TypeError("stringify can only be called with an object");let s=Xs(0,e,"",t,n,r);return s[s.length-1]!==`
20
+ ${a}`:i||a}function ro(e,{maxDepth:t=1e3,numbersAsFloat:n=!1,strictTemporal:r=!1}={}){if(Mn(e)!=="object")throw new TypeError("stringify can only be called with an object");let s=no(0,e,"",t,n,r);return s[s.length-1]!==`
21
21
  `?s+`
22
- `:s}var Lh,Ba,Za=b(()=>{Lh=/^[a-z0-9-_]+$/i,Ba=!!"".isWellFormed});var eo={};kn(eo,{TomlDate:()=>vt,TomlError:()=>C,default:()=>Uh,parse:()=>Pn,stringify:()=>Qs});var Uh,xr=b(()=>{Ha();Za();Js();Et();Uh={parse:Pn,stringify:Qs,TomlDate:vt,TomlError:C}});import{readdir as Zh,readFile as Jh}from"node:fs/promises";import{join as Ga,dirname as Gh}from"node:path";import{fileURLToPath as Wh}from"node:url";function qh(){return!1}async function Wa(){return Zt||(qh()?(Zt=await Yh(Vh),Zt):(!Ja&&process.env.TOKMIZER_DEBUG==="1"&&(process.stderr.write(`tokmizer: disk loader disabled (set TOKMIZER_DEV=1 to re-enable for local dev).
23
- `),Ja=!0),Zt=new Map,Zt))}async function Yh(e){let t=new Map,n,r;try{n=(await Promise.resolve().then(()=>(xr(),eo))).parse,r=(await Zh(e)).filter(s=>s.endsWith(".toml"))}catch{return t}for(let s of r){let o=await Jh(Ga(e,s),"utf8"),a=n(o).filters;if(a)for(let[l,u]of Object.entries(a)){let c=Ve.parse({slug:l,...u});t.set(l,{...c,matchRegex:new RegExp(c.match_command)})}}return t}var Kh,Vh,Zt,Ja,Ka=b(()=>{"use strict";En();Kh=Gh(Wh(import.meta.url)),Vh=process.env.TOKMIZER_FILTERS_DIR||Ga(Kh,"..","..","filters"),Zt=null,Ja=!1});function Oe(e){return e.replace(Xh,"").replace(Qh,"")}var Xh,Qh,Dn=b(()=>{"use strict";Xh=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,Qh=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g});function to(e,t){return t.length===0?e:e.filter(n=>!t.some(r=>r.test(n)))}var Va=b(()=>{"use strict"});function qa(e){let t=e.trim();if(t.length>4096||!(t.startsWith("{")&&t.endsWith("}")||t.startsWith("[")&&t.endsWith("]")))return!1;try{return JSON.parse(t),!0}catch{return!1}}function Ya(e,t){return e.some(n=>n.length>t)&&qa(e.join(`
24
- `))?e:e.map(n=>{if(n.length<=t||qa(n))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 Xa=b(()=>{"use strict"});function Jt(e){return`\u2026 (${e} more lines omitted)`}function Qa(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 no=b(()=>{"use strict"});function el(e,t){let n=t>0?t:5,r=[],s=0,o=a=>{s>=n?r.push(`\u2026 ${s} passing checks folded \u2026`):r.push(...a)},i=[];for(let a of e)eg.test(a)&&!ye.test(a)?(i.push(a),s+=1):(o(i),i=[],s=0,r.push(a));return o(i),r}var eg,ye,Mn=b(()=>{"use strict";eg=/^\s*(?:[✓✔√]|ok )/,ye=/✕|✗|×|\bFAIL\b|\bERROR\b|\bFATAL\b|\bError|\berror|Expected|Received|\bfailed\b|^\s*Tests?:|^\s*Test Suites?:/});function tl(e){return e.map(t=>t.replace(tg,n=>{let r=n.split("/").filter(Boolean);return r.length<=2?n:`\u2026/${r.slice(-2).join("/")}`}))}var tg,nl=b(()=>{"use strict";tg=/(?:\/[\w.@+-]+){3,}/g});function ig(e){let t=sg.exec(e);return!t||og.has(t[1])?!1:!/=>|\bfunction\b/.test(t[2])}function lg(e,t,n){let r=t;for(;r<e.length;){if(e[r]==="\\"){r+=2;continue}if(e[r]===n)return!0;r+=1}return!1}function ug(e,t){let n=0,r=null,s=0;for(;s<e.length;){let o=e[s];if(t.inBlockComment){if(o==="*"&&e[s+1]==="/"){t.inBlockComment=!1,s+=2;continue}s+=1;continue}if(t.inTemplate){if(o==="\\"){s+=2;continue}o==="`"&&(t.inTemplate=!1),s+=1;continue}if(r){if(o==="\\"){s+=2;continue}o===r&&(r=null),s+=1;continue}if(o==="/"&&e[s+1]==="/")break;if(o==="/"&&e[s+1]==="*"){t.inBlockComment=!0,s+=2;continue}if(o==="`"){t.inTemplate=!0,s+=1;continue}if(o==="'"||o==='"'){let i=s>0?e[s-1]:"";!(o==="'"&&(i==="<"||i==="&"))&&lg(e,s+1,o)&&(r=o),s+=1;continue}o==="{"||o==="("||o==="["?n+=1:(o==="}"||o===")"||o==="]")&&(n-=1),s+=1}return n}function fg(e,t,n){let r=n==null?"":` (${n}-${n+t-1}): Read offset=${n} limit=${t} before editing`;return`${e}\u2026 ${t} ${t===1?"line":"lines"} folded${r} \u2026`}function ro(e){let t=new Array(e.length).fill(!1);for(let n=0;n<e.length;n+=1){let r=cg.exec(e[n]);if(!r)continue;let s=Number(r[1])-1,o=n+1;for(;s>0&&o<e.length&&e[o]==="";)t[o]=!0,s-=1,o+=1;n=o-1}return t}function Ln(e,t=3,n=!1){let r=[],s=0;for(;s<e.length;){let o=e[s];if(ng.test(o)&&rg.test(o)||ig(o)||ag.test(o)){let i={inBlockComment:!1,inTemplate:!1},a=0,l=s,u=!1;for(;l<e.length&&l-s<200;)if(a+=ug(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(fg(d,f,n?s+2:null));for(let p=0;p<f-1;p++)r.push("");r.push(e[l-1]),s=l;continue}}r.push(o),s+=1}return r}function Er(e){let t=e.slice(0,4096);return!(!dg.test(t)||t.split(`
25
- `).length<6)}var ng,rg,sg,og,ag,Sr,cg,dg,Gt=b(()=>{"use strict";ng=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,rg=/\{\s*$/,sg=/^\s*(?:(?:public|private|protected|static|async|get|set|readonly|override)\s+)*([\w$]+)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\{\s*$/,og=new Set(["if","for","while","switch","catch","do","with","return","else","function","await","yield"]);ag=/^\s*(?:if|for|while|switch|try|do)\b[^{}]*\{\s*$/;Sr=/^\s*… \d+ lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/,cg=/^\s*… (\d+) lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/;dg=/\b(?:function|class|interface|import\s+|export\s+|def\s+|fn\s+|impl\s+|package\s+|namespace\s+|using\s+|#include|=>\s*\{|=\s*function)/});function cl(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(al.test(s.replace(il,""))&&!ll.test(s)&&!ul.test(s)){n+=1;continue}r(),t.push(s)}return r(),t}function ol(e){if(e.trim()===""||/^\s/.test(e)||ll.test(e)||ul.test(e)||mg.test(e))return null;let t=e.replace(il,"");return al.test(t)||pg.test(t)?"\0verbose":e.replace(/\d+/g,"#")}function fl(e){let t=[],n=0;for(;n<e.length;){let r=ol(e[n]),s=n+1;if(r!==null)for(;s<e.length&&ol(e[s])===r;)s+=1;let o=s-n;r===null||o<hg?t.push(...e.slice(n,s)):(t.push(...e.slice(n,n+rl)),t.push(`\u2026 ${o-rl-sl} similar log lines dropped \u2026`),t.push(...e.slice(s-sl,s))),n=s}return t}function dl(e){return e.some(t=>gg.test(t))}function vr(e){if(e.length===0||dl(e))return e;let t=[],n=1,r=e[0];for(let s=1;s<e.length;s++){if(e[s]===r){n+=1;continue}t.push(n>1&&r.trim()?`${r} \xD7${n}`:r),r=e[s],n=1}return t.push(n>1&&r.trim()?`${r} \xD7${n}`:r),t}function pl(e){if(dl(e))return 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 il,al,ll,ul,pg,mg,hg,rl,sl,gg,Tr=b(()=>{"use strict";Mn();il=/^\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*/,al=/^\s*(?:\[(?:DEBUG|TRACE|INFO|VERBOSE)\]|(?:DEBUG|TRACE|INFO|VERBOSE)(?!\s*:))(?=\s|:|$)(?!\s*[+\-*\/%&|^?]*=)/,ll=new RegExp(ye.source,"i"),ul=/\bWARN(?:ING)?\b/i;pg=/^(?:DEBUG|INFO):[\w.-]+:/,mg=/Error|Exception|Traceback|panic|fail|FAIL|Fail|SEVERE|CRITICAL/,hg=8,rl=1,sl=2;gg=/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@/});function G(e,t){ml.set(e,t)}function hl(e){return ml.get(e)}var ml,le=b(()=>{"use strict";ml=new Map});function _g(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 wg(e){let t=/^(\d+(?:[.,]\d+)?)([KMGTPkmgtp])?/.exec(e),n=t[2]?kg[t[2].toLowerCase()]:0;return Number(t[1].replace(",","."))*1024**n}function xg(e){let t=bg.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)?_g(Number(r)):r,o=e.charCodeAt(0)===100;return{name:n,size:s,sizeKey:wg(r),isDir:o,mode:t[1],owner:t[2].replace(/\s+/g," ")}}function Sg(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 gl(e,t){let n=[],r=e;for(let s of t)r.length+1+s.length>Tg&&r!==e&&r!==" "&&(n.push(r),r=" "),r+=r===" "?s:` ${s}`;return n.push(r),n}function Rg(e){let t=e.endsWith("/")?"":e,n=t.indexOf(".",1);return n>0?t.slice(n):""}function Ag(e){let t=e.filter(l=>l.trim()!=="");if(t.length<Eg)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(":")||bl.test(l.trim())||yl.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=Rg(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>=vg&&u.every(c=>!/\s|"/.test(c))?i.push(...gl(`*${l} (${u.length}):`,u.map(c=>c.slice(0,-l.length)))):a.push(...u);return a.length&&i.push(...gl(`other (${a.length}):`,a.map(s))),i.join(`
22
+ `:s}var Yh,Wa,qa=b(()=>{Yh=/^[a-z0-9-_]+$/i,Wa=!!"".isWellFormed});var so={};wn(so,{TomlDate:()=>vt,TomlError:()=>C,default:()=>rg,parse:()=>Dn,stringify:()=>ro});var rg,Sr=b(()=>{Ga();qa();Vs();Et();rg={parse:Dn,stringify:ro,TomlDate:vt,TomlError:C}});import{readdir as sg,readFile as og}from"node:fs/promises";import{join as Xa,dirname as ig}from"node:path";import{fileURLToPath as ag}from"node:url";function cg(){return!1}async function Qa(){return Gt||(cg()?(Gt=await fg(ug),Gt):(!Ya&&process.env.TOKMIZER_DEBUG==="1"&&(process.stderr.write(`tokmizer: disk loader disabled (set TOKMIZER_DEV=1 to re-enable for local dev).
23
+ `),Ya=!0),Gt=new Map,Gt))}async function fg(e){let t=new Map,n,r;try{n=(await Promise.resolve().then(()=>(Sr(),so))).parse,r=(await sg(e)).filter(s=>s.endsWith(".toml"))}catch{return t}for(let s of r){let o=await og(Xa(e,s),"utf8"),a=n(o).filters;if(a)for(let[l,u]of Object.entries(a)){let c=Ve.parse({slug:l,...u});t.set(l,{...c,matchRegex:new RegExp(c.match_command)})}}return t}var lg,ug,Gt,Ya,el=b(()=>{"use strict";Tn();lg=ig(ag(import.meta.url)),ug=process.env.TOKMIZER_FILTERS_DIR||Xa(lg,"..","..","filters"),Gt=null,Ya=!1});function Oe(e){return e.replace(dg,"").replace(pg,"")}var dg,pg,Ln=b(()=>{"use strict";dg=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,pg=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g});function oo(e,t){return t.length===0?e:e.filter(n=>!t.some(r=>r.test(n)))}var tl=b(()=>{"use strict"});function nl(e){let t=e.trim();if(t.length>4096||!(t.startsWith("{")&&t.endsWith("}")||t.startsWith("[")&&t.endsWith("]")))return!1;try{return JSON.parse(t),!0}catch{return!1}}function rl(e,t){return e.some(n=>n.length>t)&&nl(e.join(`
24
+ `))?e:e.map(n=>{if(n.length<=t||nl(n))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 sl=b(()=>{"use strict"});function Wt(e){return`\u2026 (${e} more lines omitted)`}function ol(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),Wt(s.length),...e.slice(e.length-r)],dropped:s}}var io=b(()=>{"use strict"});function il(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)mg.test(a)&&!be.test(a)?(i.push(a),s+=1):(o(i),i=[],s=0,r.push(a));return o(i),r}var mg,be,Fn=b(()=>{"use strict";mg=/^\s*(?:[✓✔√]|ok )/,be=/✕|✗|×|\bFAIL\b|\bERROR\b|\bFATAL\b|\bError|\berror|Expected|Received|\bfailed\b|^\s*Tests?:|^\s*Test Suites?:/});function al(e){return e.map(t=>t.replace(hg,n=>{let r=n.split("/").filter(Boolean);return r.length<=2?n:`\u2026/${r.slice(-2).join("/")}`}))}var hg,ll=b(()=>{"use strict";hg=/(?:\/[\w.@+-]+){3,}/g});function _g(e){let t=bg.exec(e);return!t||kg.has(t[1])?!1:!/=>|\bfunction\b/.test(t[2])}function xg(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 Sg(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==="&"))&&xg(e,s+1,o)&&(r=o),s+=1;continue}o==="{"||o==="("||o==="["?n+=1:(o==="}"||o===")"||o==="]")&&(n-=1),s+=1}return n}function vg(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 ao(e){let t=new Array(e.length).fill(!1);for(let n=0;n<e.length;n+=1){let r=Eg.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 jn(e,t=3,n=!1){let r=[],s=0;for(;s<e.length;){let o=e[s];if(gg.test(o)&&yg.test(o)||_g(o)||wg.test(o)){let i={inBlockComment:!1,inTemplate:!1},a=0,l=s,u=!1;for(;l<e.length&&l-s<200;)if(a+=Sg(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(vg(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 vr(e){let t=e.slice(0,4096);return!(!Tg.test(t)||t.split(`
25
+ `).length<6)}var gg,yg,bg,kg,wg,Er,Eg,Tg,Kt=b(()=>{"use strict";gg=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,yg=/\{\s*$/,bg=/^\s*(?:(?:public|private|protected|static|async|get|set|readonly|override)\s+)*([\w$]+)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\{\s*$/,kg=new Set(["if","for","while","switch","catch","do","with","return","else","function","await","yield"]);wg=/^\s*(?:if|for|while|switch|try|do)\b[^{}]*\{\s*$/;Er=/^\s*… \d+ lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/,Eg=/^\s*… (\d+) lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/;Tg=/\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 gl(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(pl.test(s.replace(dl,""))&&!ml.test(s)&&!hl.test(s)){n+=1;continue}r(),t.push(s)}return r(),t}function fl(e){if(e.trim()===""||/^\s/.test(e)||ml.test(e)||hl.test(e)||Ag.test(e))return null;let t=e.replace(dl,"");return pl.test(t)||Rg.test(t)?"\0verbose":e.replace(/\d+/g,"#")}function yl(e){let t=[],n=0;for(;n<e.length;){let r=fl(e[n]),s=n+1;if(r!==null)for(;s<e.length&&fl(e[s])===r;)s+=1;let o=s-n;r===null||o<$g?t.push(...e.slice(n,s)):(t.push(...e.slice(n,n+ul)),t.push(`\u2026 ${o-ul-cl} similar log lines dropped \u2026`),t.push(...e.slice(s-cl,s))),n=s}return t}function bl(e){return e.some(t=>Og.test(t))}function Tr(e){if(e.length===0||bl(e))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 kl(e){if(bl(e))return 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 dl,pl,ml,hl,Rg,Ag,$g,ul,cl,Og,Rr=b(()=>{"use strict";Fn();dl=/^\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*/,pl=/^\s*(?:\[(?:DEBUG|TRACE|INFO|VERBOSE)\]|(?:DEBUG|TRACE|INFO|VERBOSE)(?!\s*:))(?=\s|:|$)(?!\s*[+\-*\/%&|^?]*=)/,ml=new RegExp(be.source,"i"),hl=/\bWARN(?:ING)?\b/i;Rg=/^(?:DEBUG|INFO):[\w.-]+:/,Ag=/Error|Exception|Traceback|panic|fail|FAIL|Fail|SEVERE|CRITICAL/,$g=8,ul=1,cl=2;Og=/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@/});function G(e,t){_l.set(e,t)}function wl(e){return _l.get(e)}var _l,le=b(()=>{"use strict";_l=new Map});function Ng(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 Dg(e){let t=/^(\d+(?:[.,]\d+)?)([KMGTPkmgtp])?/.exec(e),n=t[2]?Pg[t[2].toLowerCase()]:0;return Number(t[1].replace(",","."))*1024**n}function Mg(e){let t=Ig.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)?Ng(Number(r)):r,o=e.charCodeAt(0)===100;return{name:n,size:s,sizeKey:Dg(r),isDir:o,mode:t[1],owner:t[2].replace(/\s+/g," ")}}function Lg(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 xl(e,t){let n=[],r=e;for(let s of t)r.length+1+s.length>Hg&&r!==e&&r!==" "&&(n.push(r),r=" "),r+=r===" "?s:` ${s}`;return n.push(r),n}function Bg(e){let t=e.endsWith("/")?"":e,n=t.indexOf(".",1);return n>0?t.slice(n):""}function zg(e){let t=e.filter(l=>l.trim()!=="");if(t.length<Fg)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(":")||El.test(l.trim())||Sl.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=Bg(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>=jg&&u.every(c=>!/\s|"/.test(c))?i.push(...xl(`*${l} (${u.length}):`,u.map(c=>c.slice(0,-l.length)))):a.push(...u);return a.length&&i.push(...xl(`other (${a.length}):`,a.map(s))),i.join(`
26
26
  `).length<t.join(`
27
- `).length?i:null}function $g(e){if(!e)return!1;let t=/(?:^|[\s;&|(])ls(?=\s|$)([^|;&]*)/.exec(e);if(!t)return!1;for(let n of t[1].trim().split(/\s+/)){if(n==="--")break;if(/^--(?:sort|reverse|time)(?:=|$)/.test(n)||/^-[A-Za-z0-9]+$/.test(n)&&/[tSUfrvX]/.test(n))return!0}return!1}function oo(e,t){if($g(t))return e;let n=Ag(e);if(n)return n;let r=[],s=[],o=!1;for(let g of e){if(g.trim()===""||/^total\s+\d+/.test(g))continue;if(bl.test(g.trim())||!yl.test(g))return e;let h=xg(g);if(!h){if(/\s\.\.?$/.test(g))continue;return e}o=!0,(h.isDir?r:s).push(h)}if(!o)return e;let i=(g,h)=>g.name.localeCompare(h.name);r.sort(i),s.sort((g,h)=>h.sizeKey-g.sizeKey||i(g,h));let a=[...r,...s],l=a.every(g=>g.owner===a[0].owner)?a[0].owner:null,u=[];for(let g of a){let h=`${g.mode} ${l===null?`${g.owner} `:""}${g.isDir?`${g.name}/`:g.name}`;u.push(g.isDir?h:`${h} ${g.size}`)}if(u.length>so){let g=u.length-so;u=[...u.slice(0,so),`\u2026 ${g} more lines omitted`]}let c=s.length===1?"file":"files",f=r.length===1?"dir":"dirs",d=Sg(s),p=`${s.length} ${c}, ${r.length} ${f}`+(d?` (${d})`:"")+(l===null?"":`, owner ${l.replace(" ",":")}`);return u.push(p),u}var yl,bl,yg,bg,kg,so,Eg,vg,Tg,kl=b(()=>{"use strict";le();yl=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/,bl=/^[./~][^\s]*:$/,yg=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})?`,bg=new RegExp(String.raw`^(\S+)\s+\d+\s+(\S+(?:\s+\S+)??)\s+(\d+(?:[.,]\d+)?[KMGTPkmgtp]?i?B?)\s+(?:${yg})\s+(.+)$`),kg={k:1,m:2,g:3,t:4,p:5},so=1e3;Eg=12,vg=3,Tg=180;G("smart-ls",oo)});var _l=b(()=>{"use strict";Gt();le();G("smart-read",e=>Ln(e))});function Og(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 Cg(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 Ig(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):d===0?"/":"",g=d>=0?f.slice(d+1):f;if(!g)continue;let h=r.get(p)??[];h.push(/\s/.test(g)?`"${g}"`:g),r.set(p,h),o+=1}if(o===0)return e;let i=[...r.keys()].sort(),a=i.every(u=>u!=="")&&!i.includes("/")?Og(i):"",l=[`${o}F ${i.length}D${a?` in ${a}/`:""}:`];for(let u of i){let c=u==="/"?"/":a?u.slice(a.length).replace(/^\//,""):u,f=r.get(u),d=Cg(f),p=d?f.map(g=>g.slice(0,-d.length)):f;l.push(`${c==="/"?"/":c?`${c}/`:"./"} (${f.length}${d?`, *${d}`:""}): ${p.join(" ")}`)}if(l.length+s.length>wl){let u=Math.max(0,wl-s.length),c=l.length-u;return[...l.slice(0,u),`\u2026 ${c} more lines omitted`,...s]}return[...l,...s]}var wl,xl=b(()=>{"use strict";le();wl=1e3;G("smart-find",Ig)});function Ng(e){let t=[];for(let i of e){if(i.trim()==="")continue;let a=Pg.exec(i);if(!a)return e;t.push({counts:a[1].replace(/\s+/g," "),path:a[2]})}let n=t.filter(i=>i.path!=="total");if(n.length<2)return t.length?t.map(i=>`${i.counts} ${i.path}`):e;let r=n.map(i=>i.path.includes("/")?i.path.slice(0,i.path.lastIndexOf("/")+1):""),s=r[0];for(let i of r)for(;s&&!i.startsWith(s);)s=s.slice(0,s.slice(0,-1).lastIndexOf("/")+1);let o=s?[`in ${s}:`]:[];for(let i of t)o.push(`${i.counts} ${i.path!=="total"&&s?i.path.slice(s.length):i.path}`);return o}var Pg,Sl=b(()=>{"use strict";le();Pg=/^\s*(\d+(?:\s+\d+){0,3})\s+(\S.*)$/;G("smart-wc",Ng)});function Lg(e){let t=[];for(let n=0;n<e.length;n+=1){let r=1;for(;n+r<e.length&&e[n+r]===e[n];)r+=1;t.push(r>1?`${e[n]} \xD7${r}`:e[n]),n+=r-1}return t}function Fg(e){if(e.length<=io+ao+1)return e;let t=e.slice(io,-ao),n=t.filter(s=>Mg.test(s)),r=t.length-n.length;return r===0?e:[...e.slice(0,io),...n,`\u2026 ${r} more lines omitted`,...e.slice(-ao)]}function jg(e){if(!e.some(s=>El.test(s)))return e;let t=[],n=[],r=()=>{t.push(...Fg(Lg(n))),n=[]};for(let s=0;s<e.length;s+=1){let o=e[s];if(Dg.test(o))return r(),t.push(...e.slice(s)),t;if(El.test(o)){r(),t.push(o);continue}n.push(o)}return r(),t}var El,Dg,Mg,io,ao,vl=b(()=>{"use strict";le();Mn();El=/^\s*\d+\/\d+ Test\s+#\s*\d+: \S+ \.{2,}/,Dg=/^\d+% tests passed, \d+ tests? failed out of \d+$/,Mg=new RegExp(`${ye.source}|\\*\\*\\*|Exception|FAIL|ERROR`),io=3,ao=8;G("smart-ctest",jg)});function Hg(e){if(e.length<2)return"";let t=e[0].slice(0,e[0].lastIndexOf("/")+1);for(let n of e)for(;t&&!n.startsWith(t);)t=t.slice(0,t.slice(0,-1).lastIndexOf("/")+1);return t}function Bg(e){let t=e.join(`
28
- `).trim();if(!t.startsWith("{"))return e;let n;try{n=JSON.parse(t)}catch{return e}if(!n||typeof n!="object"||!n.files||typeof n.files!="object")return e;let r=Object.keys(n.files),s=Hg(r),o=r.reduce((a,l)=>a+(n.files[l].messages?.length??0),0),i=[`phpstan: ${o} error${o===1?"":"s"} in ${r.length} file${r.length===1?"":"s"}${s?` under ${s}`:""}`];for(let a of r){let l=n.files[a].messages??[];i.push(`${a.slice(s.length)} (${l.length})`);for(let u of l){let c=typeof u.line=="number"?`:${u.line}`:":?",f=typeof u.tip=="string"&&u.tip?` \u2014 ${u.tip}`:"";i.push(` ${c} ${String(u.message??"")}${f}`)}}for(let a of Array.isArray(n.errors)?n.errors:[])i.push(`error: ${String(a)}`);return i}var Tl=b(()=>{"use strict";le();G("smart-phpstan",Bg)});function Zg(e){if(!e.some(n=>lo.test(n)))return e;let t=[];for(let n=0;n<e.length;n+=1){let r=e[n];lo.test(r)||zg.test(r)&&!lo.test(e[n+1]??"")&&!Ug.test(r)||t.push(r)}return t}var zg,lo,Ug,Rl=b(()=>{"use strict";le();Mn();zg=/^\d+ \| /,lo=/^\s+\^\s*$/,Ug=new RegExp(`${ye.source}|\\*\\*\\*|Exception|FAIL|ERROR`);G("bun-frames",Zg)});function qg(e){let t=e.split("\r").filter(n=>n.trim()!=="");return t.length>0&&t.every(n=>Wg.test(n))}function Yg(e){let t=e.some(r=>Kg.test(r)),n=[];for(let r=0;r<e.length;r+=1){let s=e[r];if(Jg.test(s)){let o=r+1;for(Gg.test(e[o]??"")&&(o+=1);qg(e[o]??"");)o+=1;r=o-1;continue}t&&Vg.test(s)||n.push(s)}return n}var Jg,Gg,Wg,Kg,Vg,Al=b(()=>{"use strict";le();Jg=/^\s*% Total\s+% Received\s+% Xferd\s+Average Speed/,Gg=/^\s+Dload\s+Upload\s+Total\s+Spent\s+Left\s+Speed/,Wg=/^\s*\d+\s+[\d.]+[kMGTP]?\s+\d+\s+[\d.]+[kMGTP]?\s+\d+\s+[\d.]+[kMGTP]?\s+[\d.]+[kMGTP]?\s+[\d.]+[kMGTP]?\s+[-\d:]+\s+[-\d:]+\s+[-\d:]+\s+[\d.]+[kMGTP]?\s*$/,Kg=/^\* (?:Trying |Connected to |Host .* was resolved|Connection #\d+|IPv[46]:|Uses proxy)|^> [A-Z]+ \S+ HTTP\/[\d.]+\s*$|^< HTTP\/[\d.]+ \d{3}/,Vg=/^(?:\* |[<>] (?:[A-Za-z][\w-]*: .*|[A-Z]+ \S+ HTTP\/[\d.]+|HTTP\/[\d.]+ .*)$|[<>]\s?$|[{}] \[\d+ bytes data\])/;G("curl-progress",Yg)});function Cl(e,t=!1){let n=t?e.trimEnd():e.trim();return n.length>$l?`${n.slice(0,$l)}\u2026`:n}function ey(e){let t=[],n="";for(let r of e){let s=n?`${n}, ${r}`:r;s.length>=Qg&&n?(t.push(`${n},`),n=r):n=s}return n&&t.push(n),t}function ty(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 Dl(e){return e.includes("/")||e.includes("\\")||/\.[A-Za-z][\w-]*$/.test(e)}function ny(e,t,n){return/^\d+$/.test(e)?!1:Dl(e)?!0:(t||n)&&/^[\w.-]+$/.test(e)}function ry(e){let t=0,n=0;for(let r of e){let s=(Il.exec(r)??Pl.exec(r)??Nl.exec(r))?.[1];s&&(n+=1,Dl(s)&&(t+=1))}return t>=2&&t*2>n}function Ml(e,t={}){let n=e.filter(m=>m.trim()!=="");if(n.length===0)return e;let r=ry(n),s=new Map,o=new Map,i=null,a=0,l=0,u=null;for(let m of n){if(m==="--"){i&&s.get(i).push({separator:!0});continue}if(/^[A-Za-z]:[\\/]/.test(m))return e;let w=Il.exec(m),_=Pl.exec(m);if(w&&_)return e;let T=w||_?null:Nl.exec(m),R=(w??_??T)?.[1];if(!R||!ny(R,!!w,r))return e;let D=w?{line:w[2],content:w[3],context:!1}:_?{line:_[2],content:_[3],context:!0}:{line:"",content:T[2],context:!1},A=s.get(R)??[];A.push(D),s.set(R,A);let N=D.line?Number(D.line):NaN,M=t.astGrep&&R===i&&u!==null&&N===u+1;(t.astGrep?!M:!D.context)&&(a+=1,o.set(R,(o.get(R)??0)+1)),u=t.astGrep&&Number.isFinite(N)?N:null,l+=1,i=R}if(s.size===l)return e;let c=[...s.keys()].sort((m,w)=>{let _=Ol.test(m)?1:0,T=Ol.test(w)?1:0;return _-T||(m<w?-1:m>w?1:0)}),f=c.length>1?ty(c):"",d=m=>f?m.slice(f.length+1):m,p=[];for(let m of c){p.push(`${d(m)} (${o.get(m)??0}):`);for(let w of s.get(m))"separator"in w?p.push(" --"):w.line?p.push(` ${w.line}${w.context?"-":":"} ${Cl(w.content,t.astGrep)}`):p.push(` ${Cl(w.content,t.astGrep)}`)}let g=c.length>1&&p.length>Xg?ey(c.map(m=>`${d(m)} (${o.get(m)??0})`)):[],h=[`${a}m ${c.length}f${f?` in ${f}/`:""}:`,...g,"",...p];if(h.length>uo){let m=h.length-uo;return[...h.slice(0,uo),`\u2026 ${m} more lines omitted`]}return h}var uo,$l,Xg,Qg,Il,Pl,Nl,Ol,Ll=b(()=>{"use strict";le();Al();uo=1e3,$l=200,Xg=60,Qg=190,Il=/^([^\s:]+):(\d+):(.*)$/,Pl=/^([^:]+?)-(\d+)-(.*)$/,Nl=/^([^\s:]+):(.*)$/,Ol=/(?:^|\/)(?:__tests__|tests?|spec|fixtures?|__mocks__|__snapshots__)\/|\.(?:test|spec)\.[^/]+$/i;G("smart-grep",Ml);G("smart-grep-ast",e=>Ml(e,{astGrep:!0}))});function my(e){let t=[];for(let l=0;l<e.length;l+=1){let u=jl.exec(e[l]);if(!u)continue;let c=l+1,f=null;e[c]?.startsWith("Merge: ")&&(f=e[c].slice(7),c+=1);let d=uy.exec(e[c]??""),p=cy.exec(e[c+1]??"");if(!d||!p)return null;let g=fy.indexOf(p[1])+1;if(g===0)return null;t.push({at:l,hash:u[1].slice(0,dy),refs:u[2]??"",merge:f,author:d[1],date:`${p[4]}-${String(g).padStart(2,"0")}-${p[2].padStart(2,"0")} ${p[3]}`,zone:p[5],end:c+2})}if(t.length===0)return null;let n=[...new Set(t.map(l=>l.author))],r=n.length===1&&t.length>1?n[0]:null,s=n.length>1&&n.length<=py&&t.length>n.length,o=t.length>1&&t.every(l=>l.zone===t[0].zone)?t[0].zone:null,i=r?[`author: ${r}`]:s?[`authors: ${n.map((l,u)=>`[${u+1}] ${l}`).join("; ")}`]:[];o&&i.push(`dates: UTC${o}`);let a=0;for(let l of t){i.push(...e.slice(a,l.at));let u=r?"":s?` [${n.indexOf(l.author)+1}]`:` ${l.author}`;i.push(`${l.hash} ${l.date}${o?"":` ${l.zone}`}${u}${l.merge?` merge ${l.merge}`:""}${l.refs}`),a=l.end}return i.push(...e.slice(a)),i}function hy(e){if(!e.some(r=>Fl.test(r)))return e;let t=e.some(r=>jl.test(r))&&!e.some(r=>/^[|\\/*]/.test(r)),n=gy(e,t?ly:ay);return my(n)??n}function gy(e,t){let n=[],r=0,s=0,o=0,i="",a=!1,l=!1,u=()=>{s>0&&n.push(`${i} \u2026 ${s} ${s===1?"line":"lines"} folded \u2026`),s=0};for(let c of e){let f=c.slice(0,o),d=sy.test(f),p=d?c.slice(o):c,g=oy.test(p),h=a&&g?null:Fl.exec(c);if(h){u(),r=0,o=h[1]?.length??0,a=!0,l=!1,n.push(c);continue}if(/^diff --(?:git|cc|combined) /.test(p)&&(l=!0),g&&!l&&!(o>0&&p.trim().length===0)){if(iy.test(p)){n.push(c);continue}r+=1,r<=t?n.push(c):(s+=1,i=d?f:"");continue}u(),n.push(c)}return u(),n}var Fl,sy,oy,iy,ay,ly,jl,uy,cy,fy,dy,py,Hl=b(()=>{"use strict";le();Fl=/^(?:([|\\/ ._-]*\*[|\\/* ._-]* ))?commit [0-9a-f]{7,40}\b/,sy=/^[|\\/* ._-]*$/,oy=/^ {4}/,iy=/^ {4}(?:Co-[Aa]uthored-[Bb]y|Signed-off-by|Reviewed-by|Acked-by|Tested-by|Reported-by|Fixes|Closes):/,ay=2,ly=1,jl=/^commit ([0-9a-f]{40})(\s.*)?$/,uy=/^Author:\s+(.+)$/,cy=/^Date:\s+(?:[A-Z][a-z]{2} )?([A-Z][a-z]{2}) +(\d{1,2}) (\d{2}:\d{2}):\d{2} (\d{4}) ([+-]\d{4})$/,fy=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dy=12,py=5;G("smart-log",hy)});var yy,by,ky,Bl=b(()=>{"use strict";le();yy=/^[\s=]+$/,by=/^\s*=+\s+(.*?)\s+=+\s*$/,ky=512;G("strip-banners",e=>{let t=[];for(let n of e){if(yy.test(n))continue;let r=n.length<=ky?by.exec(n):null;t.push(r?r[1]:n)}return t})});function _y(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 zl=b(()=>{"use strict";le();G("squeeze-output",_y)});function wy(e){return e==="compact"?.6:e==="minimal"?.3:1}function Sy(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 Ey(e){let t=Ul.get(e);if(t)return t;let n=e.strip_lines_matching.map(o=>new RegExp(o)),r=(e.drop_lines_matching??[]).map(o=>new RegExp(o)),s={def:e,stripRegexes:n,dropRegexes:r};return Ul.set(e,s),s}function co(e){return!!e&&vy.test(e)}function fo(e,t,n){if(e==="smart-ls")return oo(t,n);let r=hl(e);return r?r(t):t}function Rr(e,t,n={}){return po(e,t,n).text}function po(e,t,n={}){let r=n.verbosity??"normal";if(!t.strip_ansi&&t.strip_lines_matching.length===0&&(t.drop_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=Ey(t),o=!t.preserve_exact&&e.includes(`\r
27
+ `).length?i:null}function Ug(e){if(!e)return!1;let t=/(?:^|[\s;&|(])ls(?=\s|$)([^|;&]*)/.exec(e);if(!t)return!1;for(let n of t[1].trim().split(/\s+/)){if(n==="--")break;if(/^--(?:sort|reverse|time)(?:=|$)/.test(n)||/^-[A-Za-z0-9]+$/.test(n)&&/[tSUfrvX]/.test(n))return!0}return!1}function uo(e,t){if(Ug(t))return e;let n=zg(e);if(n)return n;let r=[],s=[],o=!1;for(let g of e){if(g.trim()===""||/^total\s+\d+/.test(g))continue;if(El.test(g.trim())||!Sl.test(g))return e;let h=Mg(g);if(!h){if(/\s\.\.?$/.test(g))continue;return e}o=!0,(h.isDir?r:s).push(h)}if(!o)return e;let i=(g,h)=>g.name.localeCompare(h.name);r.sort(i),s.sort((g,h)=>h.sizeKey-g.sizeKey||i(g,h));let a=[...r,...s],l=a.every(g=>g.owner===a[0].owner)?a[0].owner:null,u=[];for(let g of a){let h=`${g.mode} ${l===null?`${g.owner} `:""}${g.isDir?`${g.name}/`:g.name}`;u.push(g.isDir?h:`${h} ${g.size}`)}if(u.length>lo){let g=u.length-lo;u=[...u.slice(0,lo),`\u2026 ${g} more lines omitted`]}let c=s.length===1?"file":"files",f=r.length===1?"dir":"dirs",d=Lg(s),p=`${s.length} ${c}, ${r.length} ${f}`+(d?` (${d})`:"")+(l===null?"":`, owner ${l.replace(" ",":")}`);return u.push(p),u}var Sl,El,Cg,Ig,Pg,lo,Fg,jg,Hg,vl=b(()=>{"use strict";le();Sl=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/,El=/^[./~][^\s]*:$/,Cg=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})?`,Ig=new RegExp(String.raw`^(\S+)\s+\d+\s+(\S+(?:\s+\S+)??)\s+(\d+(?:[.,]\d+)?[KMGTPkmgtp]?i?B?)\s+(?:${Cg})\s+(.+)$`),Pg={k:1,m:2,g:3,t:4,p:5},lo=1e3;Fg=12,jg=3,Hg=180;G("smart-ls",uo)});var Tl=b(()=>{"use strict";Kt();le();G("smart-read",e=>jn(e))});function Jg(e){let t=e[0].split("/");for(let n of e.slice(1)){let r=n.split("/"),s=0;for(;s<t.length&&s<r.length&&t[s]===r[s];)s+=1;if(t=t.slice(0,s),t.length===0)break}return t.join("/")}function Zg(e){if(e.length<2||e.some(s=>s.startsWith('"')))return"";let t=e[0];for(let s of e.slice(1)){let o=0;for(;o<t.length&&o<s.length&&t[t.length-1-o]===s[s.length-1-o];)o+=1;if(t=t.slice(t.length-o),!t)return""}let n=t.indexOf("."),r=n<0?"":t.slice(n);return r.length>=3&&e.every(s=>s.length>r.length)?r:""}function Gg(e){let t=e.filter(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):d===0?"/":"",g=d>=0?f.slice(d+1):f;if(!g)continue;let h=r.get(p)??[];h.push(/\s/.test(g)?`"${g}"`:g),r.set(p,h),o+=1}if(o===0)return e;let i=[...r.keys()].sort(),a=i.every(u=>u!=="")&&!i.includes("/")?Jg(i):"",l=[`${o}F ${i.length}D${a?` in ${a}/`:""}:`];for(let u of i){let c=u==="/"?"/":a?u.slice(a.length).replace(/^\//,""):u,f=r.get(u),d=Zg(f),p=d?f.map(g=>g.slice(0,-d.length)):f;l.push(`${c==="/"?"/":c?`${c}/`:"./"} (${f.length}${d?`, *${d}`:""}): ${p.join(" ")}`)}if(l.length+s.length>Rl){let u=Math.max(0,Rl-s.length),c=l.length-u;return[...l.slice(0,u),`\u2026 ${c} more lines omitted`,...s]}return[...l,...s]}var Rl,Al=b(()=>{"use strict";le();Rl=1e3;G("smart-find",Gg)});function Kg(e){let t=[];for(let i of e){if(i.trim()==="")continue;let a=Wg.exec(i);if(!a)return e;t.push({counts:a[1].replace(/\s+/g," "),path:a[2]})}let n=t.filter(i=>i.path!=="total");if(n.length<2)return t.length?t.map(i=>`${i.counts} ${i.path}`):e;let r=n.map(i=>i.path.includes("/")?i.path.slice(0,i.path.lastIndexOf("/")+1):""),s=r[0];for(let i of r)for(;s&&!i.startsWith(s);)s=s.slice(0,s.slice(0,-1).lastIndexOf("/")+1);let o=s?[`in ${s}:`]:[];for(let i of t)o.push(`${i.counts} ${i.path!=="total"&&s?i.path.slice(s.length):i.path}`);return o}var Wg,$l=b(()=>{"use strict";le();Wg=/^\s*(\d+(?:\s+\d+){0,3})\s+(\S.*)$/;G("smart-wc",Kg)});function Yg(e){let t=[];for(let n=0;n<e.length;n+=1){let r=1;for(;n+r<e.length&&e[n+r]===e[n];)r+=1;t.push(r>1?`${e[n]} \xD7${r}`:e[n]),n+=r-1}return t}function Xg(e){if(e.length<=co+fo+1)return e;let t=e.slice(co,-fo),n=t.filter(s=>qg.test(s)),r=t.length-n.length;return r===0?e:[...e.slice(0,co),...n,`\u2026 ${r} more lines omitted`,...e.slice(-fo)]}function Qg(e){if(!e.some(s=>Ol.test(s)))return e;let t=[],n=[],r=()=>{t.push(...Xg(Yg(n))),n=[]};for(let s=0;s<e.length;s+=1){let o=e[s];if(Vg.test(o))return r(),t.push(...e.slice(s)),t;if(Ol.test(o)){r(),t.push(o);continue}n.push(o)}return r(),t}var Ol,Vg,qg,co,fo,Cl=b(()=>{"use strict";le();Fn();Ol=/^\s*\d+\/\d+ Test\s+#\s*\d+: \S+ \.{2,}/,Vg=/^\d+% tests passed, \d+ tests? failed out of \d+$/,qg=new RegExp(`${be.source}|\\*\\*\\*|Exception|FAIL|ERROR`),co=3,fo=8;G("smart-ctest",Qg)});function ey(e){if(e.length<2)return"";let t=e[0].slice(0,e[0].lastIndexOf("/")+1);for(let n of e)for(;t&&!n.startsWith(t);)t=t.slice(0,t.slice(0,-1).lastIndexOf("/")+1);return t}function ty(e){let t=e.join(`
28
+ `).trim();if(!t.startsWith("{"))return e;let n;try{n=JSON.parse(t)}catch{return e}if(!n||typeof n!="object"||!n.files||typeof n.files!="object")return e;let r=Object.keys(n.files),s=ey(r),o=r.reduce((a,l)=>a+(n.files[l].messages?.length??0),0),i=[`phpstan: ${o} error${o===1?"":"s"} in ${r.length} file${r.length===1?"":"s"}${s?` under ${s}`:""}`];for(let a of r){let l=n.files[a].messages??[];i.push(`${a.slice(s.length)} (${l.length})`);for(let u of l){let c=typeof u.line=="number"?`:${u.line}`:":?",f=typeof u.tip=="string"&&u.tip?` \u2014 ${u.tip}`:"";i.push(` ${c} ${String(u.message??"")}${f}`)}}for(let a of Array.isArray(n.errors)?n.errors:[])i.push(`error: ${String(a)}`);return i}var Il=b(()=>{"use strict";le();G("smart-phpstan",ty)});function sy(e){if(!e.some(n=>po.test(n)))return e;let t=[];for(let n=0;n<e.length;n+=1){let r=e[n];po.test(r)||ny.test(r)&&!po.test(e[n+1]??"")&&!ry.test(r)||t.push(r)}return t}var ny,po,ry,Pl=b(()=>{"use strict";le();Fn();ny=/^\d+ \| /,po=/^\s+\^\s*$/,ry=new RegExp(`${be.source}|\\*\\*\\*|Exception|FAIL|ERROR`);G("bun-frames",sy)});function cy(e){let t=e.split("\r").filter(n=>n.trim()!=="");return t.length>0&&t.every(n=>ay.test(n))}function fy(e){let t=e.some(r=>ly.test(r)),n=[];for(let r=0;r<e.length;r+=1){let s=e[r];if(oy.test(s)){let o=r+1;for(iy.test(e[o]??"")&&(o+=1);cy(e[o]??"");)o+=1;r=o-1;continue}t&&uy.test(s)||n.push(s)}return n}var oy,iy,ay,ly,uy,Nl=b(()=>{"use strict";le();oy=/^\s*% Total\s+% Received\s+% Xferd\s+Average Speed/,iy=/^\s+Dload\s+Upload\s+Total\s+Spent\s+Left\s+Speed/,ay=/^\s*\d+\s+[\d.]+[kMGTP]?\s+\d+\s+[\d.]+[kMGTP]?\s+\d+\s+[\d.]+[kMGTP]?\s+[\d.]+[kMGTP]?\s+[\d.]+[kMGTP]?\s+[-\d:]+\s+[-\d:]+\s+[-\d:]+\s+[\d.]+[kMGTP]?\s*$/,ly=/^\* (?:Trying |Connected to |Host .* was resolved|Connection #\d+|IPv[46]:|Uses proxy)|^> [A-Z]+ \S+ HTTP\/[\d.]+\s*$|^< HTTP\/[\d.]+ \d{3}/,uy=/^(?:\* |[<>] (?:[A-Za-z][\w-]*: .*|[A-Z]+ \S+ HTTP\/[\d.]+|HTTP\/[\d.]+ .*)$|[<>]\s?$|[{}] \[\d+ bytes data\])/;G("curl-progress",fy)});function Ll(e,t=!1){let n=t?e.trimEnd():e.trim();return n.length>Dl?`${n.slice(0,Dl)}\u2026`:n}function my(e){let t=[],n="";for(let r of e){let s=n?`${n}, ${r}`:r;s.length>=py&&n?(t.push(`${n},`),n=r):n=s}return n&&t.push(n),t}function hy(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 Bl(e){return e.includes("/")||e.includes("\\")||/\.[A-Za-z][\w-]*$/.test(e)}function gy(e,t,n){return/^\d+$/.test(e)?!1:Bl(e)?!0:(t||n)&&/^[\w.-]+$/.test(e)}function yy(e){let t=0,n=0;for(let r of e){let s=(Fl.exec(r)??jl.exec(r)??Hl.exec(r))?.[1];s&&(n+=1,Bl(s)&&(t+=1))}return t>=2&&t*2>n}function zl(e,t={}){let n=e.filter(m=>m.trim()!=="");if(n.length===0)return e;let r=yy(n),s=new Map,o=new Map,i=null,a=0,l=0,u=null;for(let m of n){if(m==="--"){i&&s.get(i).push({separator:!0});continue}if(/^[A-Za-z]:[\\/]/.test(m))return e;let w=Fl.exec(m),_=jl.exec(m);if(w&&_)return e;let T=w||_?null:Hl.exec(m),R=(w??_??T)?.[1];if(!R||!gy(R,!!w,r))return e;let D=w?{line:w[2],content:w[3],context:!1}:_?{line:_[2],content:_[3],context:!0}:{line:"",content:T[2],context:!1},A=s.get(R)??[];A.push(D),s.set(R,A);let N=D.line?Number(D.line):NaN,M=t.astGrep&&R===i&&u!==null&&N===u+1;(t.astGrep?!M:!D.context)&&(a+=1,o.set(R,(o.get(R)??0)+1)),u=t.astGrep&&Number.isFinite(N)?N:null,l+=1,i=R}if(s.size===l)return e;let c=[...s.keys()].sort((m,w)=>{let _=Ml.test(m)?1:0,T=Ml.test(w)?1:0;return _-T||(m<w?-1:m>w?1:0)}),f=c.length>1?hy(c):"",d=m=>f?m.slice(f.length+1):m,p=[];for(let m of c){p.push(`${d(m)} (${o.get(m)??0}):`);for(let w of s.get(m))"separator"in w?p.push(" --"):w.line?p.push(` ${w.line}${w.context?"-":":"} ${Ll(w.content,t.astGrep)}`):p.push(` ${Ll(w.content,t.astGrep)}`)}let g=c.length>1&&p.length>dy?my(c.map(m=>`${d(m)} (${o.get(m)??0})`)):[],h=[`${a}m ${c.length}f${f?` in ${f}/`:""}:`,...g,"",...p];if(h.length>mo){let m=h.length-mo;return[...h.slice(0,mo),`\u2026 ${m} more lines omitted`]}return h}var mo,Dl,dy,py,Fl,jl,Hl,Ml,Ul=b(()=>{"use strict";le();Nl();mo=1e3,Dl=200,dy=60,py=190,Fl=/^([^\s:]+):(\d+):(.*)$/,jl=/^([^:]+?)-(\d+)-(.*)$/,Hl=/^([^\s:]+):(.*)$/,Ml=/(?:^|\/)(?:__tests__|tests?|spec|fixtures?|__mocks__|__snapshots__)\/|\.(?:test|spec)\.[^/]+$/i;G("smart-grep",zl);G("smart-grep-ast",e=>zl(e,{astGrep:!0}))});function Ay(e){let t=[];for(let l=0;l<e.length;l+=1){let u=Zl.exec(e[l]);if(!u)continue;let c=l+1,f=null;e[c]?.startsWith("Merge: ")&&(f=e[c].slice(7),c+=1);let d=Sy.exec(e[c]??""),p=Ey.exec(e[c+1]??"");if(!d||!p)return null;let g=vy.indexOf(p[1])+1;if(g===0)return null;t.push({at:l,hash:u[1].slice(0,Ty),refs:u[2]??"",merge:f,author:d[1],date:`${p[4]}-${String(g).padStart(2,"0")}-${p[2].padStart(2,"0")} ${p[3]}`,zone:p[5],end:c+2})}if(t.length===0)return null;let n=[...new Set(t.map(l=>l.author))],r=n.length===1&&t.length>1?n[0]:null,s=n.length>1&&n.length<=Ry&&t.length>n.length,o=t.length>1&&t.every(l=>l.zone===t[0].zone)?t[0].zone:null,i=r?[`author: ${r}`]:s?[`authors: ${n.map((l,u)=>`[${u+1}] ${l}`).join("; ")}`]:[];o&&i.push(`dates: UTC${o}`);let a=0;for(let l of t){i.push(...e.slice(a,l.at));let u=r?"":s?` [${n.indexOf(l.author)+1}]`:` ${l.author}`;i.push(`${l.hash} ${l.date}${o?"":` ${l.zone}`}${u}${l.merge?` merge ${l.merge}`:""}${l.refs}`),a=l.end}return i.push(...e.slice(a)),i}function $y(e){if(!e.some(r=>Jl.test(r)))return e;let t=e.some(r=>Zl.test(r))&&!e.some(r=>/^[|\\/*]/.test(r)),n=Oy(e,t?xy:wy);return Ay(n)??n}function Oy(e,t){let n=[],r=0,s=0,o=0,i="",a=!1,l=!1,u=()=>{s>0&&n.push(`${i} \u2026 ${s} ${s===1?"line":"lines"} folded \u2026`),s=0};for(let c of e){let f=c.slice(0,o),d=by.test(f),p=d?c.slice(o):c,g=ky.test(p),h=a&&g?null:Jl.exec(c);if(h){u(),r=0,o=h[1]?.length??0,a=!0,l=!1,n.push(c);continue}if(/^diff --(?:git|cc|combined) /.test(p)&&(l=!0),g&&!l&&!(o>0&&p.trim().length===0)){if(_y.test(p)){n.push(c);continue}r+=1,r<=t?n.push(c):(s+=1,i=d?f:"");continue}u(),n.push(c)}return u(),n}var Jl,by,ky,_y,wy,xy,Zl,Sy,Ey,vy,Ty,Ry,Gl=b(()=>{"use strict";le();Jl=/^(?:([|\\/ ._-]*\*[|\\/* ._-]* ))?commit [0-9a-f]{7,40}\b/,by=/^[|\\/* ._-]*$/,ky=/^ {4}/,_y=/^ {4}(?:Co-[Aa]uthored-[Bb]y|Signed-off-by|Reviewed-by|Acked-by|Tested-by|Reported-by|Fixes|Closes):/,wy=2,xy=1,Zl=/^commit ([0-9a-f]{40})(\s.*)?$/,Sy=/^Author:\s+(.+)$/,Ey=/^Date:\s+(?:[A-Z][a-z]{2} )?([A-Z][a-z]{2}) +(\d{1,2}) (\d{2}:\d{2}):\d{2} (\d{4}) ([+-]\d{4})$/,vy=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Ty=12,Ry=5;G("smart-log",$y)});var Cy,Iy,Py,Wl=b(()=>{"use strict";le();Cy=/^[\s=]+$/,Iy=/^\s*=+\s+(.*?)\s+=+\s*$/,Py=512;G("strip-banners",e=>{let t=[];for(let n of e){if(Cy.test(n))continue;let r=n.length<=Py?Iy.exec(n):null;t.push(r?r[1]:n)}return t})});function Ny(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 Kl=b(()=>{"use strict";le();G("squeeze-output",Ny)});function Dy(e){return e==="compact"?.6:e==="minimal"?.3:1}function Ly(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 Fy(e){let t=Vl.get(e);if(t)return t;let n=e.strip_lines_matching.map(o=>new RegExp(o)),r=(e.drop_lines_matching??[]).map(o=>new RegExp(o)),s={def:e,stripRegexes:n,dropRegexes:r};return Vl.set(e,s),s}function ho(e){return!!e&&jy.test(e)}function go(e,t,n){if(e==="smart-ls")return uo(t,n);let r=wl(e);return r?r(t):t}function Ar(e,t,n={}){return yo(e,t,n).text}function yo(e,t,n={}){let r=n.verbosity??"normal";if(!t.strip_ansi&&t.strip_lines_matching.length===0&&(t.drop_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=Fy(t),o=!t.preserve_exact&&e.includes(`\r
29
29
  `)?e.replace(/\r\n/g,`
30
30
  `):e;t.strip_ansi&&(o=Oe(o));let i=o.endsWith(`
31
31
  `),a=(i?o.slice(0,-1):o).split(`
32
- `);s.stripRegexes.length&&(a=t.keep_failures?a.filter(d=>ye.test(d)||!s.stripRegexes.some(p=>p.test(d))):to(a,s.stripRegexes)),s.dropRegexes.length&&(a=to(a,s.dropRegexes)),r!=="normal"&&!t.preserve_exact&&(a=vr(a),a=pl(a)),r==="minimal"&&!t.preserve_exact&&(a=cl(a),(t.slug==="vitest"||t.slug==="npm-test")&&(a=Sy(a)));let l=t.transform==="smart-read"&&n.smartCode!==!0?r==="compact"?8:r==="minimal"?6:3:3;!t.preserve_exact&&(n.smartCode||n.smartCode===void 0&&r!=="normal"&&Er(o))&&(a=Ln(a,l)),t.transform&&(t.transform==="smart-read"?a=Ln(a,l,t.slug==="read-tool"):a=fo(t.transform,a,n.cmd));let u=t.slug==="read-tool";if(!u){let d=ro(a);d.some(Boolean)&&(a=a.filter((p,g)=>!d[g]))}t.mask_abs_paths&&(a=tl(a)),t.fold_passing&&(a=el(a,t.fold_passing_threshold??5)),t.truncate_lines_at&&(a=Ya(a,t.truncate_lines_at));let c=null;if(t.max_lines){let d=t.scale_with_level?wy(n.verbosity):1,p=Math.min(t.max_lines,Math.max(xy,Math.round(t.max_lines*d))),g=u?ro(a):null,h=g?g.filter(m=>!m).length:a.length;if(h>p){let m=p;if(g){let _=0;for(m=0;m<a.length&&_<p;)g[m]||(_+=1),m+=1}let w=h-p;if(t.keep_failures){let _=a.slice(m),T=_.filter(D=>!ye.test(D)),R=_.reduce((D,A,N)=>D+(!ye.test(A)&&!g?.[m+N]?1:0),0);c=T.length>0?T.join(`
33
- `):null,a=[...a.slice(0,m),...R>0?[Jt(R)]:[],..._.filter(D=>ye.test(D))]}else if(u)c=a.slice(m).join(`
34
- `),a=[...a.slice(0,m),Jt(w)];else{let{kept:_,dropped:T}=Qa(a,p);c=T.length>0?T.join(`
32
+ `);s.stripRegexes.length&&(a=t.keep_failures?a.filter(d=>be.test(d)||!s.stripRegexes.some(p=>p.test(d))):oo(a,s.stripRegexes)),s.dropRegexes.length&&(a=oo(a,s.dropRegexes)),r!=="normal"&&!t.preserve_exact&&(a=Tr(a),a=kl(a)),r==="minimal"&&!t.preserve_exact&&(a=gl(a),(t.slug==="vitest"||t.slug==="npm-test")&&(a=Ly(a)));let l=t.transform==="smart-read"&&n.smartCode!==!0?r==="compact"?8:r==="minimal"?6:3:3;!t.preserve_exact&&(n.smartCode||n.smartCode===void 0&&r!=="normal"&&vr(o))&&(a=jn(a,l)),t.transform&&(t.transform==="smart-read"?a=jn(a,l,t.slug==="read-tool"):a=go(t.transform,a,n.cmd));let u=t.slug==="read-tool";if(!u){let d=ao(a);d.some(Boolean)&&(a=a.filter((p,g)=>!d[g]))}t.mask_abs_paths&&(a=al(a)),t.fold_passing&&(a=il(a,t.fold_passing_threshold??5)),t.truncate_lines_at&&(a=rl(a,t.truncate_lines_at));let c=null;if(t.max_lines){let d=t.scale_with_level?Dy(n.verbosity):1,p=Math.min(t.max_lines,Math.max(My,Math.round(t.max_lines*d))),g=u?ao(a):null,h=g?g.filter(m=>!m).length:a.length;if(h>p){let m=p;if(g){let _=0;for(m=0;m<a.length&&_<p;)g[m]||(_+=1),m+=1}let w=h-p;if(t.keep_failures){let _=a.slice(m),T=_.filter(D=>!be.test(D)),R=_.reduce((D,A,N)=>D+(!be.test(A)&&!g?.[m+N]?1:0),0);c=T.length>0?T.join(`
33
+ `):null,a=[...a.slice(0,m),...R>0?[Wt(R)]:[],..._.filter(D=>be.test(D))]}else if(u)c=a.slice(m).join(`
34
+ `),a=[...a.slice(0,m),Wt(w)];else{let{kept:_,dropped:T}=ol(a,p);c=T.length>0?T.join(`
35
35
  `):null,a=_}}}let f=a.join(`
36
36
  `);return i&&f.length>0&&(f+=`
37
- `),f.trim().length===0&&t.on_empty&&(e.length===0||e.trim().length>0)&&(n.exitCode==null||n.exitCode===0||n.exitCode===1&&Ty.has(t.slug))&&!co(n.cmd)&&(f=t.on_empty),{text:f,droppedTail:c}}var xy,Ul,vy,Ty,mo=b(()=>{"use strict";Dn();Va();Xa();no();Mn();nl();Gt();Tr();le();kl();_l();xl();Sl();vl();Tl();Rl();Ll();Hl();Bl();zl();xy=20;Ul=new WeakMap;vy=new RegExp([String.raw`(?:^|[\s;&|(])grep(?=\s)[^|;&]*?\s(?:-[A-Za-z]*q[A-Za-z]*|--quiet|--silent)(?=\s|$)`,String.raw`(?:^|[\s;&|(])find(?=\s)[^|;&]*?\s-(?:delete|quit|exec|execdir|ok|okdir|fprint0?|fprintf|fls|prune)(?=\s|$)`,String.raw`(?:^|[\s;&|(])(?:ruff|black|flake8)(?=\s)[^|;&]*?\s(?:-q+|--quiet)(?=\s|$)`,String.raw`(?:^|[\s;&|(])eslint(?=\s)[^|;&]*?\s(?:-o|--output-file)(?=[\s=]|$)`,String.raw`(?:^|[\s;&|(])prettier(?=\s)[^|;&]*?\s(?:-l|--list-different)(?=\s|$)`].join("|")),Ty=new Set(["grep","ast-grep"])});import{readdir as Ry,readFile as Wl,writeFile as e1,mkdir as t1,rename as n1}from"node:fs/promises";import{readdirSync as Ay,statSync as Zl}from"node:fs";import{createHash as $y}from"node:crypto";import{basename as i1,join as Cr}from"node:path";function Or(){return Cr(E(),"filters")}function Vl(){return Cr(E(),"filters-trust.json")}function ql(e){return typeof e=="string"&&e.startsWith(Kl)}function Cy(e){return $y("sha256").update(e).digest("hex")}async function Iy(){try{let e=JSON.parse(await Wl(Vl(),"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 Py(e,t){if(t===void 0)return{tests:[]};let n={message:`${e}: tests: each [[filters.${e}.tests]] needs input and expected strings`};if(!Array.isArray(t))return n;let r=[];for(let s of t){if(typeof s!="object"||s===null)return n;let{input:o,expected:i,name:a}=s;if(typeof o!="string"||typeof i!="string")return n;r.push({...typeof a=="string"&&a?{name:a}:{},input:o,expected:i})}return{tests:r}}function Ny(e,t){let n=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},{tests:r,...s}=n,o=Py(e,r);if("message"in o)return o;let i=Ve.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:`${Kl}${i.data.slug}`,matchRegex:a},tests:o.tests}}function Dy(e){return e===void 0||e===Ar?null:typeof e=="number"&&Number.isInteger(e)?`schema_version ${e} is not supported: this tkr reads schema_version = ${Ar}. Update tkr, or write the file for version ${Ar}`:`schema_version must be the number ${Ar}`}async function My(e){try{return(await Ry(e)).filter(t=>t.endsWith(".toml")).sort()}catch{return[]}}async function Ly(e={}){let t=e.requireTrust!==!1,n=Or(),r=new Map,s=new Map,o=[],i=await My(n);if(i.length===0)return{dir:n,filters:r,tests:s,issues:o};let a=t?await Iy():null;for(let l of i){let u;try{u=await Wl(Cr(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!==Cy(u)){o.push({file:l,message:`changed since it was trusted. Review it, then run: tkr filters trust ${l}`});continue}}let c=await Fy(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 Fy(e,t){let n=new Map,r=new Map,s=[],{parse:o}=await Promise.resolve().then(()=>(xr(),eo)),i;try{i=o(e)}catch(u){return s.push({file:t,message:`not valid TOML (${String(u.message).split(`
38
- `)[0]})`}),{filters:n,tests:r,issues:s}}let a=Dy(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=Ny(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 jy(){let e=[];for(let t of[Vl(),Or()])try{let n=Zl(t);e.push(`${n.mtimeMs}:${n.size}`)}catch{e.push("-")}try{for(let t of Ay(Or()).filter(n=>n.endsWith(".toml")).sort()){let n=Zl(Cr(Or(),t));e.push(`${t}:${n.mtimeMs}:${n.size}`)}}catch{}return e.join("|")}function Hy(){let e=Date.now();if(!$r||e-Gl>=Oy){Gl=e;let t=jy();(!$r||t!==Jl)&&(Jl=t,$r=Ly())}return $r}async function By(e){let{filters:t}=await Hy();return t.size===0?null:zt(e,t.values(),null,t)}function Yl(e){return async(t,n)=>await By(t)??e(t,n)}var Kl,Ar,$r,Jl,Gl,Oy,ho=b(()=>{"use strict";En();gr();mo();Z();Kl="user/",Ar=1,$r=null,Jl="",Gl=0,Oy=1e3});function Xl(e){if(!e)return!1;for(let t of Oe(e).split(`
39
- `))if(!/^\s*[✓✔√]\s/.test(t)&&zy.some(n=>n.test(t)))return!0;return!1}var zy,Ql=b(()=>{"use strict";Dn();zy=[/\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 Wy(e){let t=0;for(;t<e.length;){let n=e[t];if(Jy.has(n))t+=2;else if(Gy.has(n))t+=1;else if(/^--(?:git-dir|work-tree|namespace|exec-path|super-prefix|config-env)=/.test(n))t+=1;else if(/^-[Cc]\S/.test(n))t+=1;else break}return e.slice(t)}function Be(e){let t=e.trim(),n=t.split(/\s+/),r=0;for(;r<n.length;){let a=n[r];if(Zy.test(a)){r++;continue}if(Uy.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=o==="git"?Wy(n.slice(r+1)):n.slice(r+1);return i.length?`${o} ${i.join(" ")}`:o}function eu(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 Vy(e){let t=eu(e,!1);for(let n=t.length-1;n>=0;n--){let r=t[n].trim();if(r)return r}return e.trim()}function Fn(e){let t=eu(e,!0).map(n=>n.trim()).filter(Boolean);if(t.length===0)return null;for(let n of t.slice(0,-1)){let r=Be(n).split(/\s+/)[0]??"";if(!Ky.has(r))return null}return Vy(t[t.length-1])}function tu(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 yo(e){let t=qy.exec(e);return t?Be(e.slice(t[0].length)):null}function nu(e){let t=go.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=Fn(n),s=r?Be(r):null,i=[s?yo(s):null,s,e].filter(a=>!!a);return[...new Set(i)]}var Uy,Zy,go,Jy,Gy,Ky,qy,bo=b(()=>{"use strict";Uy=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),Zy=/^[A-Za-z_][A-Za-z0-9_]*=/,go=/^([a-z]+)-tool(?::\s|$)/,Jy=new Set(["-C","-c","--git-dir","--work-tree","--namespace","--exec-path","--super-prefix","--config-env"]),Gy=new Set(["-p","--paginate","-P","--no-pager","--bare","--no-replace-objects","--literal-pathspecs","--glob-pathspecs","--noglob-pathspecs","--icase-pathspecs","--no-optional-locks","--no-lazy-fetch","--no-advice"]);Ky=new Set(["cd","export","source","set","unset","mkdir","true",":","pushd","popd","alias","ulimit","umask","echo","printf","sleep","touch","rm","cp","mv","chmod","ln"]);qy=/^(?: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 ko(e){let t=Buffer.from(e,"utf8");if(t.length<=256)return e;let n=256-Buffer.byteLength(ru,"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")+ru+t.subarray(s).toString("utf8")}var ru,su=b(()=>{"use strict";ru=`
37
+ `),f.trim().length===0&&t.on_empty&&(e.length===0||e.trim().length>0)&&(n.exitCode==null||n.exitCode===0||n.exitCode===1&&Hy.has(t.slug))&&!ho(n.cmd)&&(f=t.on_empty),{text:f,droppedTail:c}}var My,Vl,jy,Hy,bo=b(()=>{"use strict";Ln();tl();sl();io();Fn();ll();Kt();Rr();le();vl();Tl();Al();$l();Cl();Il();Pl();Ul();Gl();Wl();Kl();My=20;Vl=new WeakMap;jy=new RegExp([String.raw`(?:^|[\s;&|(])grep(?=\s)[^|;&]*?\s(?:-[A-Za-z]*q[A-Za-z]*|--quiet|--silent)(?=\s|$)`,String.raw`(?:^|[\s;&|(])find(?=\s)[^|;&]*?\s-(?:delete|quit|exec|execdir|ok|okdir|fprint0?|fprintf|fls|prune)(?=\s|$)`,String.raw`(?:^|[\s;&|(])(?:ruff|black|flake8)(?=\s)[^|;&]*?\s(?:-q+|--quiet)(?=\s|$)`,String.raw`(?:^|[\s;&|(])eslint(?=\s)[^|;&]*?\s(?:-o|--output-file)(?=[\s=]|$)`,String.raw`(?:^|[\s;&|(])prettier(?=\s)[^|;&]*?\s(?:-l|--list-different)(?=\s|$)`].join("|")),Hy=new Set(["grep","ast-grep"])});import{readdir as By,readFile as Ql,writeFile as b1,mkdir as k1,rename as _1}from"node:fs/promises";import{readdirSync as zy,statSync as ql}from"node:fs";import{createHash as Uy}from"node:crypto";import{basename as E1,join as Ir}from"node:path";function Cr(){return Ir(E(),"filters")}function tu(){return Ir(E(),"filters-trust.json")}function nu(e){return typeof e=="string"&&e.startsWith(eu)}function Zy(e){return Uy("sha256").update(e).digest("hex")}async function Gy(){try{let e=JSON.parse(await Ql(tu(),"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 Wy(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 Ky(e,t){let n=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},{tests:r,...s}=n,o=Wy(e,r);if("message"in o)return o;let i=Ve.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:`${eu}${i.data.slug}`,matchRegex:a},tests:o.tests}}function Vy(e){return e===void 0||e===$r?null:typeof e=="number"&&Number.isInteger(e)?`schema_version ${e} is not supported: this tkr reads schema_version = ${$r}. Update tkr, or write the file for version ${$r}`:`schema_version must be the number ${$r}`}async function qy(e){try{return(await By(e)).filter(t=>t.endsWith(".toml")).sort()}catch{return[]}}async function Yy(e={}){let t=e.requireTrust!==!1,n=Cr(),r=new Map,s=new Map,o=[],i=await qy(n);if(i.length===0)return{dir:n,filters:r,tests:s,issues:o};let a=t?await Gy():null;for(let l of i){let u;try{u=await Ql(Ir(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!==Zy(u)){o.push({file:l,message:`changed since it was trusted. Review it, then run: tkr filters trust ${l}`});continue}}let c=await Xy(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 Xy(e,t){let n=new Map,r=new Map,s=[],{parse:o}=await Promise.resolve().then(()=>(Sr(),so)),i;try{i=o(e)}catch(u){return s.push({file:t,message:`not valid TOML (${String(u.message).split(`
38
+ `)[0]})`}),{filters:n,tests:r,issues:s}}let a=Vy(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=Ky(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 Qy(){let e=[];for(let t of[tu(),Cr()])try{let n=ql(t);e.push(`${n.mtimeMs}:${n.size}`)}catch{e.push("-")}try{for(let t of zy(Cr()).filter(n=>n.endsWith(".toml")).sort()){let n=ql(Ir(Cr(),t));e.push(`${t}:${n.mtimeMs}:${n.size}`)}}catch{}return e.join("|")}function eb(){let e=Date.now();if(!Or||e-Xl>=Jy){Xl=e;let t=Qy();(!Or||t!==Yl)&&(Yl=t,Or=Yy())}return Or}async function tb(e){let{filters:t}=await eb();return t.size===0?null:Jt(e,t.values(),null,t)}function ru(e){return async(t,n)=>await tb(t)??e(t,n)}var eu,$r,Or,Yl,Xl,Jy,ko=b(()=>{"use strict";Tn();yr();bo();J();eu="user/",$r=1,Or=null,Yl="",Xl=0,Jy=1e3});function su(e){if(!e)return!1;for(let t of Oe(e).split(`
39
+ `))if(!/^\s*[✓✔√]\s/.test(t)&&nb.some(n=>n.test(t)))return!0;return!1}var nb,ou=b(()=>{"use strict";Ln();nb=[/\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 ab(e){let t=0;for(;t<e.length;){let n=e[t];if(ob.has(n))t+=2;else if(ib.has(n))t+=1;else if(/^--(?:git-dir|work-tree|namespace|exec-path|super-prefix|config-env)=/.test(n))t+=1;else if(/^-[Cc]\S/.test(n))t+=1;else break}return e.slice(t)}function He(e){let t=e.trim(),n=t.split(/\s+/),r=0;for(;r<n.length;){let l=n[r];if(sb.test(l)){r++;continue}if(rb.has(l)){for(r++,l==="timeout"&&r<n.length&&/^\d+(?:\.\d+)?[smhd]?$/.test(n[r])&&r++;(l==="stdbuf"||l==="nice")&&r<n.length&&n[r].startsWith("-");)r++;continue}break}if(r>=n.length)return t;let s=n[r],o=s.slice(Math.max(s.lastIndexOf("/"),s.lastIndexOf("\\"))+1)||s;o=o.replace(/\.(?:exe|cmd|bat|ps1)$/i,"")||o;let i=n.slice(r+1);o.toLowerCase()==="py"&&(o="python",i.length&&/^-\d(?:\.\d+)?(?:-\d+)?$/.test(i[0])&&(i=i.slice(1)));let a=o==="git"?ab(i):i;return a.length?`${o} ${a.join(" ")}`:o}function iu(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 ub(e){let t=iu(e,!1);for(let n=t.length-1;n>=0;n--){let r=t[n].trim();if(r)return r}return e.trim()}function Hn(e){let t=iu(e,!0).map(n=>n.trim()).filter(Boolean);if(t.length===0)return null;for(let n of t.slice(0,-1)){let r=He(n).split(/\s+/)[0]??"";if(!lb.has(r))return null}return ub(t[t.length-1])}function au(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 wo(e){let t=cb.exec(e);return t?He(e.slice(t[0].length)):null}function lu(e){let t=_o.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=Hn(n),s=r?He(r):null,i=[s?wo(s):null,s,e].filter(a=>!!a);return[...new Set(i)]}var rb,sb,_o,ob,ib,lb,cb,xo=b(()=>{"use strict";rb=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),sb=/^[A-Za-z_][A-Za-z0-9_]*=/,_o=/^([a-z]+)-tool(?::\s|$)/,ob=new Set(["-C","-c","--git-dir","--work-tree","--namespace","--exec-path","--super-prefix","--config-env"]),ib=new Set(["-p","--paginate","-P","--no-pager","--bare","--no-replace-objects","--literal-pathspecs","--glob-pathspecs","--noglob-pathspecs","--icase-pathspecs","--no-optional-locks","--no-lazy-fetch","--no-advice"]);lb=new Set(["cd","export","source","set","unset","mkdir","true",":","pushd","popd","alias","ulimit","umask","echo","printf","sleep","touch","rm","cp","mv","chmod","ln"]);cb=/^(?: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 So(e){let t=Buffer.from(e,"utf8");if(t.length<=256)return e;let n=256-Buffer.byteLength(uu,"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")+uu+t.subarray(s).toString("utf8")}var uu,cu=b(()=>{"use strict";uu=`
40
40
  [YOLO: omitted]
41
- `});function Qy(e,t){if(!t)return e.split(`
41
+ `});function pb(e,t){if(!t)return e.split(`
42
42
  `).map(o=>o.replace(/^[ \t]+|[ \t]+(?=\r?$)/g,"")).join(`
43
43
  `);let n="",r=!1,s=!1;for(let o of e)r?(n+=o,s?s=!1:o==="\\"?s=!0:o==='"'&&(r=!1)):o==='"'?(r=!0,n+=o):o!==" "&&o!==" "&&o!=="\r"&&o!==`
44
44
  `&&(n+=o);return n+(e.endsWith(`
45
45
  `)?`
46
- `:"")}function eb(e,t){if(/@(?:p)?\d|\r/.test(e))return e;let n=e.endsWith(`
46
+ `:"")}function mb(e,t){if(/@(?:p)?\d|\r/.test(e))return e;let n=e.endsWith(`
47
47
  `)?`
48
48
  `:"",r=(n?e.slice(0,-1):e).split(`
49
- `),s=r.findIndex(m=>Yy.test(m));if(s>=0&&r.slice(0,s).some(m=>m!==""&&!/^Showing \d+ of \d+ (?:open|closed|all) pull requests in \S+$/.test(m)))return e;let o=s>=0?[...r[s].matchAll(/\S+/g)].map(m=>m.index):[],i=[];for(let m=s+1;m<r.length;m+=1){let w=r[m];if(Xy.test(w))continue;if(/…|\.\.\./.test(w))return e;let _;if(s>=0){if(/[^\x20-\x7e]/.test(w))return e;let T=o.map((R,D)=>w.slice(R,o[D+1]));if(T.slice(0,-1).some(R=>R[0]===" "||!R.endsWith(" "))||(_=T.map(R=>R.replace(/ +$/,"")),!/^#\d+$/.test(_[0])||!/^\S+$/.test(_[2])||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(_[3])||!/^\d+(?:s|m|h|d|w|mo|y)$/.test(_[4])))return e}else if(_=w.split(" "),_.length!==5||!/^\d+$/.test(_[0])||!_[1]||!_[2]||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(_[3])||!_o.test(_[4])||!Number.isFinite(Date.parse(_[4])))return e;if(_.some(T=>/[\u0000-\u001f\u007f]/.test(T)))return e;i.push({index:m,cells:_})}if(i.length===0)return e;s>=0&&(r[s]="ID TITLE BRANCH STATE CREATED");for(let m of i)r[m.index]=m.cells.join(" ");let a=r.join(`
50
- `)+n;if(!t)return a;let l=new Map;for(let{cells:m}of i)l.set(m[1],(l.get(m[1])??0)+1);let u=new Map,c=[];for(let[m,w]of l){if(m.length<40||w<3||m.trim().split(/\s+/).length<8)continue;let _=`@${u.size+1}`,T=JSON.stringify(m).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),R=`TITLE ${_} = ${T}`;w*(Buffer.byteLength(m)-Buffer.byteLength(_))<=Buffer.byteLength(R)+1||(u.set(m,_),c.push(R))}let f=new Map;for(let{cells:m}of i){if(u.has(m[1]))continue;let w=/^((?:\S+\s+){4})\S/.exec(m[1])?.[1];w&&w.length>=24&&f.set(w,(f.get(w)??0)+1)}let d=new Map;for(let[m,w]of f){if(w<3)continue;let _=`@p${d.size+1}`,T=`TITLE prefix ${_} = ${JSON.stringify(m).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}`;w*(Buffer.byteLength(m)-Buffer.byteLength(_)-1)<=Buffer.byteLength(T)+1||(d.set(m,_),c.push(T))}let p=i[0].cells[4].slice(10),g=i.length>=3&&_o.test(i[0].cells[4])&&i.every(({cells:m})=>_o.test(m[4])&&m[4].slice(10)===p)&&i.length*p.length>`CREATED suffix = ${JSON.stringify(p)}`.length+1;if(g&&c.push(`CREATED suffix = ${JSON.stringify(p)}`),c.length===0)return a;for(let{index:m,cells:w}of i){let _=u.get(w[1]),T=/^((?:\S+\s+){4})\S/.exec(w[1])?.[1],R=T?d.get(T):void 0;r[m]=w.map((D,A)=>A===1?_??(R?`${R}:${D.slice(T.length)}`:D):A===4&&g?D.slice(0,10):D).join(" ")}let h=[...r,"",...c].join(`
51
- `)+n;return Buffer.byteLength(h)<Buffer.byteLength(a)?h:a}function ob(e){let t=rb.exec(e[0]??"");if(!t)return e;let n=sb.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 iu(e){let t=e.endsWith(`
49
+ `),s=r.findIndex(m=>fb.test(m));if(s>=0&&r.slice(0,s).some(m=>m!==""&&!/^Showing \d+ of \d+ (?:open|closed|all) pull requests in \S+$/.test(m)))return e;let o=s>=0?[...r[s].matchAll(/\S+/g)].map(m=>m.index):[],i=[];for(let m=s+1;m<r.length;m+=1){let w=r[m];if(db.test(w))continue;if(/…|\.\.\./.test(w))return e;let _;if(s>=0){if(/[^\x20-\x7e]/.test(w))return e;let T=o.map((R,D)=>w.slice(R,o[D+1]));if(T.slice(0,-1).some(R=>R[0]===" "||!R.endsWith(" "))||(_=T.map(R=>R.replace(/ +$/,"")),!/^#\d+$/.test(_[0])||!/^\S+$/.test(_[2])||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(_[3])||!/^\d+(?:s|m|h|d|w|mo|y)$/.test(_[4])))return e}else if(_=w.split(" "),_.length!==5||!/^\d+$/.test(_[0])||!_[1]||!_[2]||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(_[3])||!Eo.test(_[4])||!Number.isFinite(Date.parse(_[4])))return e;if(_.some(T=>/[\u0000-\u001f\u007f]/.test(T)))return e;i.push({index:m,cells:_})}if(i.length===0)return e;s>=0&&(r[s]="ID TITLE BRANCH STATE CREATED");for(let m of i)r[m.index]=m.cells.join(" ");let a=r.join(`
50
+ `)+n;if(!t)return a;let l=new Map;for(let{cells:m}of i)l.set(m[1],(l.get(m[1])??0)+1);let u=new Map,c=[];for(let[m,w]of l){if(m.length<40||w<3||m.trim().split(/\s+/).length<8)continue;let _=`@${u.size+1}`,T=JSON.stringify(m).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),R=`TITLE ${_} = ${T}`;w*(Buffer.byteLength(m)-Buffer.byteLength(_))<=Buffer.byteLength(R)+1||(u.set(m,_),c.push(R))}let f=new Map;for(let{cells:m}of i){if(u.has(m[1]))continue;let w=/^((?:\S+\s+){4})\S/.exec(m[1])?.[1];w&&w.length>=24&&f.set(w,(f.get(w)??0)+1)}let d=new Map;for(let[m,w]of f){if(w<3)continue;let _=`@p${d.size+1}`,T=`TITLE prefix ${_} = ${JSON.stringify(m).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}`;w*(Buffer.byteLength(m)-Buffer.byteLength(_)-1)<=Buffer.byteLength(T)+1||(d.set(m,_),c.push(T))}let p=i[0].cells[4].slice(10),g=i.length>=3&&Eo.test(i[0].cells[4])&&i.every(({cells:m})=>Eo.test(m[4])&&m[4].slice(10)===p)&&i.length*p.length>`CREATED suffix = ${JSON.stringify(p)}`.length+1;if(g&&c.push(`CREATED suffix = ${JSON.stringify(p)}`),c.length===0)return a;for(let{index:m,cells:w}of i){let _=u.get(w[1]),T=/^((?:\S+\s+){4})\S/.exec(w[1])?.[1],R=T?d.get(T):void 0;r[m]=w.map((D,A)=>A===1?_??(R?`${R}:${D.slice(T.length)}`:D):A===4&&g?D.slice(0,10):D).join(" ")}let h=[...r,"",...c].join(`
51
+ `)+n;return Buffer.byteLength(h)<Buffer.byteLength(a)?h:a}function kb(e){let t=yb.exec(e[0]??"");if(!t)return e;let n=bb.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 du(e){let t=e.endsWith(`
52
52
  `)?`
53
- `:"",n=ob((t?e.slice(0,-1):e).split(`
54
- `)),r=null,s=[];for(let o of n){if(Object.hasOwn(ou,o)){r=ou[o];continue}if(!o.startsWith(" ")){r=null,s.push(o);continue}if(r==="untracked"){s.push(`?? ${o.slice(1)}`);continue}let i=r?nb.exec(o):null;if(!i)return e;let a=tb[i[1]];s.push(r==="staged"?`${a} ${i[2]}`:` ${a} ${i[2]}`)}return s.join(`
55
- `)+t}function ab(e){let t=e.split(`
56
- `);for(let n=0;n<t.length;n+=1){if(!ib.test(t[n]))continue;let r=n;for(;r>0&&au.test(t[r-1]);)r-=1;for(let s=r;s<n;s+=1)t[s]=t[s].replace(au," $1 | $2")}return t.join(`
57
- `)}function ub(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 cb(e){let t=e.endsWith(`
53
+ `:"",n=kb((t?e.slice(0,-1):e).split(`
54
+ `)),r=null,s=[];for(let o of n){if(Object.hasOwn(fu,o)){r=fu[o];continue}if(!o.startsWith(" ")){r=null,s.push(o);continue}if(r==="untracked"){s.push(`?? ${o.slice(1)}`);continue}let i=r?gb.exec(o):null;if(!i)return e;let a=hb[i[1]];s.push(r==="staged"?`${a} ${i[2]}`:` ${a} ${i[2]}`)}return s.join(`
55
+ `)+t}function wb(e){let t=e.split(`
56
+ `);for(let n=0;n<t.length;n+=1){if(!_b.test(t[n]))continue;let r=n;for(;r>0&&pu.test(t[r-1]);)r-=1;for(let s=r;s<n;s+=1)t[s]=t[s].replace(pu," $1 | $2")}return t.join(`
57
+ `)}function Sb(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 Eb(e){let t=e.endsWith(`
58
58
  `)?`
59
59
  `:"",n=(t?e.slice(0,-1):e).split(`
60
- `),r=[],s=[];for(let u of n)u.startsWith("WARNING:")?r.includes(u)||r.push(u):s.push(u);let o=s.findIndex(u=>lu.test(u));if(o<0)return[...r,...s].join(`
61
- `)+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(uu.test(u)){l.push(u);continue}let c=u.startsWith(" ")||/[^\x20-\x7e]/.test(u)?null:ub(u,a);if(!c)return[...r,...s].join(`
60
+ `),r=[],s=[];for(let u of n)u.startsWith("WARNING:")?r.includes(u)||r.push(u):s.push(u);let o=s.findIndex(u=>mu.test(u));if(o<0)return[...r,...s].join(`
61
+ `)+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(hu.test(u)){l.push(u);continue}let c=u.startsWith(" ")||/[^\x20-\x7e]/.test(u)?null:Sb(u,a);if(!c)return[...r,...s].join(`
62
62
  `)+t;l.push(c.join(" "))}return l.join(`
63
- `)+t}function fb(e){let t=e.endsWith(`
63
+ `)+t}function vb(e){let t=e.endsWith(`
64
64
  `)?`
65
65
  `:"",n=(t?e.slice(0,-1):e).split(`
66
- `),r=n.findIndex(i=>lu.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(uu.test(i)){o.push(i);continue}if(i.startsWith(" ")||i.includes(" ")||/[^\x20-\x7e]/.test(i))return e;let a=i.trimEnd().split(/ {2,}/);if(a.length===s-1){let l=a[0].indexOf(" ");if(l<0||a[0].indexOf(" ",l+1)>=0)return e;a=[a[0].slice(0,l),a[0].slice(l+1),...a.slice(1)]}if(a.length!==s)return e;o.push(a.join(" "))}return o.join(`
67
- `)+t}function wo(e,t,n){if(t!=="compact"&&t!=="minimal"){if(n!=="git-status")return e;let s=iu(e);return Buffer.byteLength(s)<Buffer.byteLength(e)?s:e}let r=e;if(/^[ \t\r\n]*[\[{]/.test(e)){try{JSON.parse(e)}catch{return e}r=Qy(e,t==="minimal")}else n==="gh"?r=eb(e,t==="minimal"):n==="git-status"?r=iu(e):n==="gcloud"?r=cb(e):n==="oc"?r=fb(e):n==="git-diff"?r=ab(e):n==="tofu-plan"&&(r=e.replace(lb,"$1 = "));return Buffer.byteLength(r)<Buffer.byteLength(e)?r:e}var Yy,Xy,_o,ou,tb,nb,rb,sb,au,ib,lb,lu,uu,cu=b(()=>{"use strict";Yy=/^ID {2,}TITLE {2,}BRANCH {2,}STATE {2,}CREATED *$/,Xy=/^… \([1-9]\d* more lines omitted\)$/,_o=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/;ou={"Changes to be committed:":"staged","Changes not staged for commit:":"unstaged","Untracked files:":"untracked"},tb={modified:"M",deleted:"D","new file":"A",renamed:"R",copied:"C",typechange:"T"},nb=/^\t(modified|deleted|new file|renamed|copied|typechange):\s+(.+)$/,rb=/^On branch (\S+)$/,sb=/^Your branch is (?:up to date with '([^']+)'|(ahead|behind)(?: of)? '([^']+)' by (\d+) commits?(?:, and can be fast-forwarded)?)\.$/;au=/^ (\S.*?) +\| +(\d+(?: [+-]+)?|Bin .*)$/,ib=/^ \d+ files? changed(?:, \d+ insertions?\(\+\))?(?:, \d+ deletions?\(-\))?$/;lb=/^( *(?:[~+-] +)?(?:[\w.-]+|"[^"\n]*")) {2,}= /gm,lu=/^[A-Z][A-Z0-9_]*(?: +[A-Z][A-Z0-9_]*)+$/,uu=/^… \(\d+ more lines omitted\)$/});function fu(e){if(Buffer.byteLength(e)<2048||Er(e)||pb.test(e))return e;let t=e.split(`
68
- `),n=[];for(let r=0;r<t.length;){let s=t[r],o=r+1;if(db.test(s))for(;o<t.length&&t[o]===s;)o+=1;let i=o-r,a=`[tkr: previous log line repeated ${i-1} additional times]`;if(i>=3&&Buffer.byteLength(a)+1<(i-1)*(Buffer.byteLength(s)+1))n.push(s,a);else for(let l=r;l<o;l+=1)n.push(s);r=o}return n.join(`
69
- `)}var db,pb,du=b(()=>{"use strict";Gt();db=/^(?:\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|$)/,pb=/^\[tkr: previous log line repeated \d+ additional times\]$/m});function pu(e){return hb.test(e)}function mu(e){let t=e.endsWith(`
66
+ `),r=n.findIndex(i=>mu.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(hu.test(i)){o.push(i);continue}if(i.startsWith(" ")||i.includes(" ")||/[^\x20-\x7e]/.test(i))return e;let a=i.trimEnd().split(/ {2,}/);if(a.length===s-1){let l=a[0].indexOf(" ");if(l<0||a[0].indexOf(" ",l+1)>=0)return e;a=[a[0].slice(0,l),a[0].slice(l+1),...a.slice(1)]}if(a.length!==s)return e;o.push(a.join(" "))}return o.join(`
67
+ `)+t}function vo(e,t,n){if(t!=="compact"&&t!=="minimal"){if(n!=="git-status")return e;let s=du(e);return Buffer.byteLength(s)<Buffer.byteLength(e)?s:e}let r=e;if(/^[ \t\r\n]*[\[{]/.test(e)){try{JSON.parse(e)}catch{return e}r=pb(e,t==="minimal")}else n==="gh"?r=mb(e,t==="minimal"):n==="git-status"?r=du(e):n==="gcloud"?r=Eb(e):n==="oc"?r=vb(e):n==="git-diff"?r=wb(e):n==="tofu-plan"&&(r=e.replace(xb,"$1 = "));return Buffer.byteLength(r)<Buffer.byteLength(e)?r:e}var fb,db,Eo,fu,hb,gb,yb,bb,pu,_b,xb,mu,hu,gu=b(()=>{"use strict";fb=/^ID {2,}TITLE {2,}BRANCH {2,}STATE {2,}CREATED *$/,db=/^… \([1-9]\d* more lines omitted\)$/,Eo=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/;fu={"Changes to be committed:":"staged","Changes not staged for commit:":"unstaged","Untracked files:":"untracked"},hb={modified:"M",deleted:"D","new file":"A",renamed:"R",copied:"C",typechange:"T"},gb=/^\t(modified|deleted|new file|renamed|copied|typechange):\s+(.+)$/,yb=/^On branch (\S+)$/,bb=/^Your branch is (?:up to date with '([^']+)'|(ahead|behind)(?: of)? '([^']+)' by (\d+) commits?(?:, and can be fast-forwarded)?)\.$/;pu=/^ (\S.*?) +\| +(\d+(?: [+-]+)?|Bin .*)$/,_b=/^ \d+ files? changed(?:, \d+ insertions?\(\+\))?(?:, \d+ deletions?\(-\))?$/;xb=/^( *(?:[~+-] +)?(?:[\w.-]+|"[^"\n]*")) {2,}= /gm,mu=/^[A-Z][A-Z0-9_]*(?: +[A-Z][A-Z0-9_]*)+$/,hu=/^… \(\d+ more lines omitted\)$/});function yu(e){if(Buffer.byteLength(e)<2048||vr(e)||Rb.test(e))return e;let t=e.split(`
68
+ `),n=[];for(let r=0;r<t.length;){let s=t[r],o=r+1;if(Tb.test(s))for(;o<t.length&&t[o]===s;)o+=1;let i=o-r,a=`[tkr: previous log line repeated ${i-1} additional times]`;if(i>=3&&Buffer.byteLength(a)+1<(i-1)*(Buffer.byteLength(s)+1))n.push(s,a);else for(let l=r;l<o;l+=1)n.push(s);r=o}return n.join(`
69
+ `)}var Tb,Rb,bu=b(()=>{"use strict";Kt();Tb=/^(?:\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|$)/,Rb=/^\[tkr: previous log line repeated \d+ additional times\]$/m});function ku(e){return $b.test(e)}function _u(e){let t=e.endsWith(`
70
70
  `),n=(t?e.slice(0,-1):e).split(`
71
- `),r=0;for(let s of n)if(s.trim()!==""){if(!mb.test(s))return null;r+=1}return r<2?null:`tsc: 0 errors, ${r} files${t?`
72
- `:""}`}var mb,hb,hu=b(()=>{"use strict";mb=/^(?:[A-Za-z]:)?[^\s"'<>|]+\.(?:[cm]?[jt]sx?|json)$/,hb=/--(?:listFiles|listFilesOnly|listEmittedFiles|showConfig|explainFiles|traceResolution)(?:\s|=|$)/});function Wt(e,t){let n=null;for(let r of e){let s=t.exec(r);s&&(n=(n??0)+Number(s[1]))}return n}function Ir(e){return gb.test(e)}function xb(e){if(!/^file:\/\//i.test(e))return e;let t=e.replace(/^file:\/\/(?:localhost)?/i,"");try{t=decodeURIComponent(t)}catch{}return t.replace(/^\/([A-Za-z]:[\\/])/,"$1")}function Pr(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 xo(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||_b.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 g=yb.exec(d)??bb.exec(d);if(g){s=-1;let m=xb(g[1]);Ir(m)||(r=Pr(n,`${m}:${g[2]}${g[3]?`:${g[3]}`:""}`,r));continue}let h=kb.exec(d);if(h){s=-1,n.push({kind:"code",text:p,num:Number(h[2]),pointed:h[1]===">"});continue}if(wb.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 ne(e,t=!1){return{text:e.trim().replace(/\s{2,}/g," "),minor:t}}function Sb(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=Wt(e,/^\s*Tests\s+(\d+) failed/),n=[];for(let l of e)/^\s*Test Files\s{2,}\S/.test(l)?n.push(ne(l,!0)):(/^\s*(?:Tests|Errors|Type Errors)\s{2,}\S/.test(l)||/^\s*ERROR: Coverage for \S.*threshold/.test(l))&&n.push(ne(l));let r=[],s=0,o=[],i=[],a=()=>{if(o.length){let{body:l,loc:u}=xo(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(m=>m.trim())&&a();let d=c[1],p=/^(\S+) \[ \S+ \]$/.exec(d),g=d.split(" > "),h=p?{file:p[1],name:"(suite)",loc:null,body:[]}:g.length>1?{file:g[0],name:g.slice(1).join(" > "),loc:null,body:[]}:{file:null,name:d,loc:null,body:[]};p||(s+=1),r.push(h),o.push(h);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 Eb(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=Wt(e,/^Tests:\s+(\d+) failed/),n=[];for(let c of e)/^Test Suites:\s/.test(c)?n.push(ne(c,!0)):(/^Tests:\s/.test(c)||/^Snapshots:\s/.test(c)&&/failed|obsolete/.test(c))&&n.push(ne(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}=xo(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 wu(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}=xo(i.get(l.name),s);l.body=u,l.loc=c}return o}function vb(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=>ne(o.replace(/ \(\S+\)\s*$/,""))),s=wu(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 Tb(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=Wt(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=>ne(a.replace(/ \([\d.]+m?s\)\s*$/,""))),i=wu(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 Rb(e){if(!e.some(i=>/^test result: /.test(i))||!e.some(i=>/^---- .+ stdout ----$/.test(i)))return null;let t=Wt(e,/^test result: FAILED\. \d+ passed; (\d+) failed/),n=[];for(let i of e)/^test result: FAILED/.test(i)?n.push(ne(i.replace(/; finished in [\d.]+m?s\s*$/,""))):/^test result: ok/.test(i)?n.push(ne(i.replace(/; finished in [\d.]+m?s\s*$/,""),!0)):/^error(?:\[\w+\])?: /.test(i)&&n.push(ne(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 g=/^at\s+(\S+?):(\d+):(\d+)$/.exec(d);g&&!Ir(g[1])&&(i.loc=Pr(i.body,`${g[1]}:${g[2]}:${g[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 Ab(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(ne(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(ne(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(ne(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){Ir(c[1])||(a.loc=Pr(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 yu(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(Ir(f[1]))o>=0&&n.splice(o,1);else{let d=f[3]?.startsWith("in ")?` ${f[3]}`:"";r=Pr(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 bu(e,t){return t.push(ne(e.replace(/ in [\d.]+s(?: \([\d:]+\))?$/,""))),(Wt([e],/(\d+) failed/)??0)+(Wt([e],/(\d+) errors?\b/)??0)}function $b(e){if(!e.some(h=>/^={3,} (?:FAILURES|ERRORS|short test summary info) ={3,}$/.test(h)||gu.test(h)))return null;let t=new Map,n=[],r=[],s="",o=null,i=null,a=null,l=/^(?:\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)(?:, |\s|$))+(?:in [\d.]+s(?: \([\d:]+\))?)?$/,u=/\b\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)\b|no tests ran/,c=/^(?:FAILURES|ERRORS|short test summary info|warnings summary|test session starts|PASSES)$/,f=-1;for(let h=e.length-1;h>=0&&f<0;h--){let m=/^={3,} (.+?) ={3,}$/.exec(e[h]);m&&!c.test(m[1])&&u.test(m[1])&&(f=h)}if(f<0){for(let h=e.length-1;h>=0;h--)if(e[h].trim()){l.test(e[h].trim())&&(f=h);break}}for(let[h,m]of e.entries()){let w=/^={3,} (.+?) ={3,}$/.exec(m);if(w){s=w[1],o=null,i=null,h===f&&(a=bu(s,r));continue}if(h===f&&l.test(m.trim())){a=bu(m.trim(),r);continue}if(/^!{3,} .+ !{3,}$/.test(m)){r.push(ne(m.replace(/^!+ | !+$/g,"")));continue}let _=/^_{3,} (.+?) _{3,}$/.exec(m);if(_&&(s==="FAILURES"||s==="ERRORS")){o=[],t.set(_[1],o);continue}let T=gu.exec(m);if(T&&s!=="FAILURES"&&s!=="ERRORS"){o=null;let R={kind:T[1],id:T[2],msg:T[3]??null,inline:[]};n.push(R),i=R;continue}if(o){o.push(m);continue}i&&/^E(?:\s|$)/.test(m)?i.inline.push(m):i&&m.trim()&&(i=null)}let d=new Set,p=[],g=new Set;for(let h of n){if(g.has(h.id))continue;g.add(h.id);let[m,...w]=h.id.split("::"),_=w.join("."),T=[_,`ERROR collecting ${h.id}`,`ERROR at setup of ${_}`,`ERROR at teardown of ${_}`].find(N=>N&&t.has(N)&&!d.has(N));T&&d.add(T);let{body:R,loc:D}=yu(T?t.get(T):h.inline,h.msg),A=w.length?w.join("::"):"(collection)";p.push({file:m,name:h.kind==="ERROR"?`${A} [error]`:A,loc:D,body:R,exact:!0})}for(let[h,m]of t){if(d.has(h))continue;let{body:w,loc:_}=yu(m,null);p.push({file:_?_.replace(/:\d+$/,""):null,name:h,loc:_,body:w,exact:!0})}if(p.length===0)for(let h of e){let m=/^(\S+?)::(\S+) (FAILED|ERROR)\b/.exec(h);m&&p.push({file:m[1],name:m[3]==="ERROR"?`${m[2]} [error]`:m[2],loc:null,body:[]})}return{failures:p,summary:r,reported:a,counted:p.length}}function Ib(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 Pb(e,t,n){let r=_u[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&&Ib(o,s.map(p=>p.text).join(`
73
- `)),a={msg:0,legend:0,diff:0,frame:0,code:0,source:0,out:0},l={msg:0,legend:0,diff:0,frame:0,code:0,source:0,out:0},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>Ob,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 g=p.kind==="legend"?"diff":p.kind;if(a[g]>=u[g]&&p.kind!=="legend"){l[g]+=1;continue}p.kind!=="legend"&&(a[g]+=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 Nb(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 Db(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 Mb(e,t){let n=_u[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:Pb(u,d,t).join(`
74
- `)}}),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 ${Nb(o.slice(u,f+1).map(p=>p.f.name))}`:Db(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(`
71
+ `),r=0;for(let s of n)if(s.trim()!==""){if(!Ab.test(s))return null;r+=1}return r<2?null:`tsc: 0 errors, ${r} files${t?`
72
+ `:""}`}var Ab,$b,wu=b(()=>{"use strict";Ab=/^(?:[A-Za-z]:)?[^\s"'<>|]+\.(?:[cm]?[jt]sx?|json)$/,$b=/--(?:listFiles|listFilesOnly|listEmittedFiles|showConfig|explainFiles|traceResolution)(?:\s|=|$)/});function Vt(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 Pr(e){return Ob.test(e)}function Mb(e){if(!/^file:\/\//i.test(e))return e;let t=e.replace(/^file:\/\/(?:localhost)?/i,"");try{t=decodeURIComponent(t)}catch{}return t.replace(/^\/([A-Za-z]:[\\/])/,"$1")}function Nr(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 To(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||Nb.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 g=Cb.exec(d)??Ib.exec(d);if(g){s=-1;let m=Mb(g[1]);Pr(m)||(r=Nr(n,`${m}:${g[2]}${g[3]?`:${g[3]}`:""}`,r));continue}let h=Pb.exec(d);if(h){s=-1,n.push({kind:"code",text:p,num:Number(h[2]),pointed:h[1]===">"});continue}if(Db.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 ne(e,t=!1){return{text:e.trim().replace(/\s{2,}/g," "),minor:t}}function Lb(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=Vt(e,/^\s*Tests\s+(\d+) failed/),n=[];for(let l of e)/^\s*Test Files\s{2,}\S/.test(l)?n.push(ne(l,!0)):(/^\s*(?:Tests|Errors|Type Errors)\s{2,}\S/.test(l)||/^\s*ERROR: Coverage for \S.*threshold/.test(l))&&n.push(ne(l));let r=[],s=0,o=[],i=[],a=()=>{if(o.length){let{body:l,loc:u}=To(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(m=>m.trim())&&a();let d=c[1],p=/^(\S+) \[ \S+ \]$/.exec(d),g=d.split(" > "),h=p?{file:p[1],name:"(suite)",loc:null,body:[]}:g.length>1?{file:g[0],name:g.slice(1).join(" > "),loc:null,body:[]}:{file:null,name:d,loc:null,body:[]};p||(s+=1),r.push(h),o.push(h);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 Fb(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=Vt(e,/^Tests:\s+(\d+) failed/),n=[];for(let c of e)/^Test Suites:\s/.test(c)?n.push(ne(c,!0)):(/^Tests:\s/.test(c)||/^Snapshots:\s/.test(c)&&/failed|obsolete/.test(c))&&n.push(ne(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}=To(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 Ru(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}=To(i.get(l.name),s);l.body=u,l.loc=c}return o}function jb(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=>ne(o.replace(/ \(\S+\)\s*$/,""))),s=Ru(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 Hb(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=Vt(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=>ne(a.replace(/ \([\d.]+m?s\)\s*$/,""))),i=Ru(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 Bb(e){if(!e.some(i=>/^test result: /.test(i))||!e.some(i=>/^---- .+ stdout ----$/.test(i)))return null;let t=Vt(e,/^test result: FAILED\. \d+ passed; (\d+) failed/),n=[];for(let i of e)/^test result: FAILED/.test(i)?n.push(ne(i.replace(/; finished in [\d.]+m?s\s*$/,""))):/^test result: ok/.test(i)?n.push(ne(i.replace(/; finished in [\d.]+m?s\s*$/,""),!0)):/^error(?:\[\w+\])?: /.test(i)&&n.push(ne(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 g=/^at\s+(\S+?):(\d+):(\d+)$/.exec(d);g&&!Pr(g[1])&&(i.loc=Nr(i.body,`${g[1]}:${g[2]}:${g[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 zb(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(ne(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(ne(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(ne(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){Pr(c[1])||(a.loc=Nr(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 Su(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(Pr(f[1]))o>=0&&n.splice(o,1);else{let d=f[3]?.startsWith("in ")?` ${f[3]}`:"";r=Nr(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 Eu(e,t){return t.push(ne(e.replace(/ in [\d.]+s(?: \([\d:]+\))?$/,""))),(Vt([e],/(\d+) failed/)??0)+(Vt([e],/(\d+) errors?\b/)??0)}function Ub(e){if(!e.some(h=>/^={3,} (?:FAILURES|ERRORS|short test summary info) ={3,}$/.test(h)||xu.test(h)))return null;let t=new Map,n=[],r=[],s="",o=null,i=null,a=null,l=/^(?:\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)(?:, |\s|$))+(?:in [\d.]+s(?: \([\d:]+\))?)?$/,u=/\b\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)\b|no tests ran/,c=/^(?:FAILURES|ERRORS|short test summary info|warnings summary|test session starts|PASSES)$/,f=-1;for(let h=e.length-1;h>=0&&f<0;h--){let m=/^={3,} (.+?) ={3,}$/.exec(e[h]);m&&!c.test(m[1])&&u.test(m[1])&&(f=h)}if(f<0){for(let h=e.length-1;h>=0;h--)if(e[h].trim()){l.test(e[h].trim())&&(f=h);break}}for(let[h,m]of e.entries()){let w=/^={3,} (.+?) ={3,}$/.exec(m);if(w){s=w[1],o=null,i=null,h===f&&(a=Eu(s,r));continue}if(h===f&&l.test(m.trim())){a=Eu(m.trim(),r);continue}if(/^!{3,} .+ !{3,}$/.test(m)){r.push(ne(m.replace(/^!+ | !+$/g,"")));continue}let _=/^_{3,} (.+?) _{3,}$/.exec(m);if(_&&(s==="FAILURES"||s==="ERRORS")){o=[],t.set(_[1],o);continue}let T=xu.exec(m);if(T&&s!=="FAILURES"&&s!=="ERRORS"){o=null;let R={kind:T[1],id:T[2],msg:T[3]??null,inline:[]};n.push(R),i=R;continue}if(o){o.push(m);continue}i&&/^E(?:\s|$)/.test(m)?i.inline.push(m):i&&m.trim()&&(i=null)}let d=new Set,p=[],g=new Set;for(let h of n){if(g.has(h.id))continue;g.add(h.id);let[m,...w]=h.id.split("::"),_=w.join("."),T=[_,`ERROR collecting ${h.id}`,`ERROR at setup of ${_}`,`ERROR at teardown of ${_}`].find(N=>N&&t.has(N)&&!d.has(N));T&&d.add(T);let{body:R,loc:D}=Su(T?t.get(T):h.inline,h.msg),A=w.length?w.join("::"):"(collection)";p.push({file:m,name:h.kind==="ERROR"?`${A} [error]`:A,loc:D,body:R,exact:!0})}for(let[h,m]of t){if(d.has(h))continue;let{body:w,loc:_}=Su(m,null);p.push({file:_?_.replace(/:\d+$/,""):null,name:h,loc:_,body:w,exact:!0})}if(p.length===0)for(let h of e){let m=/^(\S+?)::(\S+) (FAILED|ERROR)\b/.exec(h);m&&p.push({file:m[1],name:m[3]==="ERROR"?`${m[2]} [error]`:m[2],loc:null,body:[]})}return{failures:p,summary:r,reported:a,counted:p.length}}function Gb(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 Wb(e,t,n){let r=Tu[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&&Gb(o,s.map(p=>p.text).join(`
73
+ `)),a={msg:0,legend:0,diff:0,frame:0,code:0,source:0,out:0},l={msg:0,legend:0,diff:0,frame:0,code:0,source:0,out:0},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>Jb,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 g=p.kind==="legend"?"diff":p.kind;if(a[g]>=u[g]&&p.kind!=="legend"){l[g]+=1;continue}p.kind!=="legend"&&(a[g]+=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(` ${Wt(d)}`),f}function Kb(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 Vb(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 qb(e,t){let n=Tu[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:Wb(u,d,t).join(`
74
+ `)}}),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 ${Kb(o.slice(u,f+1).map(p=>p.f.name))}`:Vb(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(`
75
75
  `)}
76
- `}function xu(e,t="normal"){let n=Oe(e).split(`
77
- `).map(r=>{let s=r.endsWith("\r")?r.slice(0,-1):r;return s.includes("\r")?s.slice(s.lastIndexOf("\r")+1):s});for(let r of Cb){let s=r(n);if(!(!s||s.failures.length===0))return s.counted===0||s.reported!==null&&s.counted<s.reported?null:Mb(s,t)}return null}var ku,_u,gb,yb,bb,kb,_b,wb,gu,Ob,Cb,Su=b(()=>{"use strict";Dn();no();ku=/^(?:(?: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|$)/,_u={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}},gb=/node_modules|^node:|^internal\/|site-packages|dist-packages|\/lib\/python\d|\/rustc\/|\.cargo\/registry|\.rustup\/|\/go\/src\/|\/go\/pkg\/mod\/|\/libexec\/src\/|<anonymous>/,yb=/^\s*at\s+(?:.*?\()?((?:file:\/\/)?[^\s()]+?):(\d+)(?::(\d+))?\)?\s*$/,bb=/^\s*❯\s+(?:\S+\s+)?([^\s]+?):(\d+)(?::(\d+))?\s*$/,kb=/^\s*(>)?\s*(\d+)\s*\|/,_b=/^\s*\|\s*[\^~]+\s*$/,wb=/^(?:- Expected|\+ Received|- Snapshot|\+ expected - actual|\+ actual - expected|- expected \+ actual)(?:\s+[-+]\s*\d+)?$/;gu=/^(FAILED|ERROR) (\S+?\.py(?:::\S+)?)(?: - (.*))?$/;Ob=12,Cb=[Rb,Ab,$b,Eb,Sb,vb,Tb]});function Eu(){let e="z3vwUrVQysEDFIi_uD6z3M8WxJL_HaeiNSQ6jlX-Aw9fePxU3wjCWhRon3KbhKdlcHkV3umWjxZdNjtxIUG5RmO3t9i6ywdFTSCMJLYSkvZUxyNzO9DDqTBQwU9EzAIPiwjlz0bWdbGcy9PKFH9UOdDU5cX9KM87ljb82LlsyFlvne0n1fae4ZrvpZfdJa0HXGTABHQIbmgVDbuf1AbP90VWspY9tekL8uHo4Tl7-772ZeqW5iY4npn1qA06l5HqDWrhtAFjKBWFKtULF5NIxtLwDMD_iSBGR2ed9ZPI44f6NT0EeB1oiKk3R3fWXHPzUwHgwdaOiHM2nEapZygGMYBO2TGl4CoCSe85z1RAU_s09h-R9wjH_TQYx4k9yfqfkEzkS-W5b0uKJ4AyBGBqil4XSWDeTGVrrvQiWzd7WdXl8lbDwiyBheNEWcCOGbbB92y9D9tF0Gspdp5TetsJCqDL0lzxEhjAbpUnODboNZTrKMVWgVSZ4Xzr9qzxd7r_VFeahRTSqP9WpZ8spNo_yQhJTdcRRaCPhhCFeBHTNc0gGkntMI9O9p5kB456GX2A5y1hbKbaZ7kVZubrN_qxzn1NQnLbULxNDhyiRGtBzU7Uiqk58fXL92H8n-TbOY3OKFFlSSJlhtuy6i6uscCiruCR9GEQFvIgaraH5Yrsxetp_VJ_bAr20wOafPC9CLFvi_MzfclGeTKssJg4X1f2qewO-q-l1nXbuPjvWjA5dLvxA_3bmzGsTJzSOP-287MOjD4HymaGbIWALIKHmggwXXvzpF51K7ekBxn85qi2m2zw5kDpv6flDn2FhNEcwrFcpma3_m1P_5TIHEJuAjvZ2-8K3Sb_AnZefI70eDCwR4pzY-ARIbLkj3swnJt7STAkElgg7ZlHHaBVLAXhzVhX1pKzhQTY7aOZxIzflDnPZdrJq1zDPLnSeJoDQjeTjHnQkSfkJYZhJBlqdYMDg_gfWwlKUBb4F0N2M6h7cBtwEzlgAS_86kVFrIwcg1Om8NiUxb4SkZ7FaCmBQdQGJfg1qk-ZM8OYTqIQhCl5mTgRJQJ_4u_cTd1TOdZ8jMd5ajadbY3zzHiHuTQVpzWYnP6HHZfsaBfc623jCA-nkSvUqlkYFQ-r-ijlifo70LSPs9IWixFnzqj6A4EcnUbHZfalMYvIv3i1bUcSEP4Z5WuO3h0y-_-xVpoIMRB54sDWe19MJYScVQywyV23okv2sIoFeNE1B-C7z7NkPPragZNN1295NxLmxzxdgZlnsAHZ_QA-Y1MNd-WTEUoB6QOq6Py5mL895x7Mhp-VJzdl37wPXHIyqOzDIjJGcZiKZd2zYD5y10fi1iVvXWmgg1OwD2VqZ5zzU7_uyJHQi8gGMoycA3Aaat2ruGSPLXBKUYWFAL4YTgArJb40amttOkGZy76P9ngfdTkvyApUalkQk6KL2Q8tEAksqBylaQeioSNsRZ3OjpvWE9VcIh2lNeBuxz7hXoqkjzljMHUTMkwwEZw4KAwAOIRnoC2KR1muDfGVF7hGj7Cp2PezBZED-WHwONU2cpVedRlGjZJ_9_fQdQ6gb52aDei1Alf3aACBUfWgT2LmbkdteqEkhAV06BcoeWyIqAvrUVm-KU-Y9cZPgo-r1xJaT4dJgnafOc89JHS5CDEApHqjx5OT27Q74Zl6O6aB2zVwcmS5DEiDK6PjBlMgzsDi_pNuPzGBvhqf2mKSMqV0R3fJdUgT5lnMDgtoRJ6_IirKqlnQz35zlH0LZFRsrKNZZLSFCQuKFR4Y47U034-HN9jbgjnoVa7Fm5s2G4NCT-ZqYhiOc9AC8GAQ3hmTSoga4s2mOzlxLxwHi85twsIzNWE-mY_IfAC4PZHThZQEkeTzAFGSVEyvR_Vt1xTMDUemuLcr_u8GKmnys5Xoglgg_ZdQ3lzM9mwdivgYjae6II-vhZJ-AZNHNgvi83lLZGKgE09BQQD1Wnso1lH0SEAQSI81oOtNd5iNrWMm9R57OAvwuYFnotctTjiD7y6TVdjPQDjGEgqBcsFWwRgJWeGkA10XyjFQP6Zx17GQqg-LjbKPZbKpKd8Ow15KiQhz5eYLdPu1T4EmLxqNxlEC5tQz203W90HCCnVvugosnDavLIBXpbFgfwdLkUIQ00m6Hl39QQXTGwKwomJbx6W_iYIBNLHD54-X3XUaSfQX9v_uvupV8Xy77bfJHi09xrgIlU52T_7xZWc8sqN1l2DEo1VuL8RLeBQ3reG67d9Drsv12wL5fwzet3m_07i9TAqa2sQW63Awsj2NRYgykD3CaHIyA2zHSNfAb0AXfbFnfDHzmxcnJuEz_MRcYTjmkvs97BGHqnmqA1VtjCm49F_7C6QtYzB05N3nIj-aZrYHhmjt8jlyHFYfsVaCKGQJ2SVN9bl6_Cp1Jm4CuXjYEn-ekjAbl2aaXUXPpQ6TKInMNgI3YTDAOjWAU9CWEBlTXZlp9aXpS8OIW2p1WGSyiP2DKE8pT8R_tvhlEoT-Ul04bgBg7pSTkr7tTy7R6LGk0pYkSwo-YxQCyzPGBMmbJGVyI84cAZCAh5JjNiad5YVj1-9kAJItXIs8X_s0c-TT7dU55uvy6qTP-Pl4AD_Try8BdR0zAubcDz3jgL9kMDt8rYmcIMh-i7aU_c1oiaRf1cgTWCMkIzy49oxEXNPrIwuQJVMIZVV4S9MUtgLItrW0-2YK6RU6r8pE7mu2wVT5OxmFZfNUqd1sG61qX02IjYfBHOBPnSycMzR0f170tb1exURGPClAI579MIqv_UdprWdmXCSNyok9NuAwsViukgNAJVQb72s5UwrrWckJA42Mdz0JKT43n47PvC51TW2pK7-iFQp4d_Ps4btgu5WvVWWUWLzWFJ0inegmMB79IqRI6f43prAyfwcwRL8v6DwwFmW2HqvVBdGQOZoSzZI775TPPuxvgzKZ-O29CSCGA7BSWell9kTESj51Tk1HaWdDUeYvDgAh5YmvtJHki7ygI3Ey35QjLMq36H3mJ0hGz4CpIXD7so9Sfnr862o4qv3Y1TCA_RTWKhZbzigZLEjZqrwGjl5Al-X9qF-QfLFa6TekzITTKvX2BM4ZdZS95SZyZX9SNj-NfvpJ1dEsEEAWg5l8qmeoMs5QpJOPRukvPMEvMR_afIGDuEkz9BwV1DVHfrg8BZiiMe8Iux2co4DneDF-pHVCCx63XnAcJ4THXkNm7KGSKXAp0-deg0A5RCGUePuJwtkB4xPqBFglgHeZIMUrZQDvviCYhU4KNQOKxYU3_GlQBs2AgSvSkLcR5iNVMZYjRNOgl-9O8UGDLxRZWIkPYPNNDhGHhIgvwSTP9M9qbdRo_c-7rcu97L96vNXZNGoylxWuWRqX6B2fcMj1-QaHFtMC35Tnrq4BOIL5wDj_GwLLPUKf3TZOkAJkCxkCXyxH5UjP1lvATBxURe_NO3Aiuvi0ZsJll6NuNgYjNbpe8I9s2u90QzJRCB-mxxgoGgZPY8QNQZBedY792INuRU5DuBis2cYvmwD9dcgMtnebCZyPnR6yuEsXNzxWz2RW8Y_mL-JZBefUx8EguoO4u235VZmCEBUWSU1YOh5AsLjkM9jBED5SfDcyl7Shq0AaJ-YwBzR0d65Y7dc_Xj54kxCkoqXoRXAE6v75H-BCrCnQi4gBk1QVP3m0DLte5K8g6OUEr7JD-T-tQgw7SYDLafohSz3D5wtzsynEe5_WQZ4e3tXv9pV3CmxT_ouTEz1cyzDnlPccn66bT8lMhWPVhZQke4hcU7LqC1c0K6QSAa3yjRGKSHiSIoCAOgvgo2r02VQiEbiDff4u1zt_Zqf1g1Eq7Yc9muqCYdFfFoxMpx0RIyQVSCgMpmfYqwEhEXcuVVMJnY6QpHfgxixE5Mqn_hWM0LZMDFgC36d7m3MZakhRt_ugoPF6522W0kv_z8_9WPZ98pbGqW6gad6hMWkKXBfnPjK_cmA2BNoSd0puFm88XNSDtJ9086X9TxjNGO-Tk0IoL0t12Z0Q8hjeA1ecJzkL5vngXVymzMqRd4wkLM5zYZqJSKXLYu4vmTV5uE2VF1U-DSYais7RUx67xAm6A__J-ZOqfS4F81YEBL-SVzyfv-Nd__HiiuX6u04jhPg9SXGjuOH9Nel68lkE2x8uuJRHb_ZIfqw-rL-DyjR79OP9Adf72KudPEbWdMOR0F4dJmYDhRUv-SWzHSL75u9b-gfZTEHtP_atiWTjNjKwMfcQgiKuaaxReB379PCb3a-cVCCw64vErxqCVAN5uOHi-zhchmlf00dVoIZoPt1Fo5ifMTQLTrsx_TKEXHRU4PCLW8b6NrMa0z2Yg7Se5niYr-LpBLoXCyb7nMHHf1eur9XjLyBSvKUq66n-Jtj7Q-k6IHC1qp3EueZXgByAXB9Jarc250gulhQuZ9NtbBq-jHgEwHexdCR_vQOktxYpLDGUm6ZLLdIY4Uky-hI38hcxkyFbMwBtTD1JJnIKN_i8YLy9ELXHlliyf34p4zqTltzjwu5MavlwdeZ2hTNjP7nNeTDwpCSAuy_PeSK0WSva0Yz9eJ6GWt89qS7TDHVNTwHLwvyVIRX97UpGPQJIRtLjeEffoddbhO8hojAbJF7wddKMqaHkzWFsd6adm8w0ZMhr-LWf8TJl1vPaAUjmuMK0-Egye5v0lwSqVexXxmbh08kehwfucixUpwMqk6_mCDEuj5KIJIfY2xQ6Uv82_QbBIlOWr7Vem6beLg5oRRfMqge3uL6zdwlQ-vLgYj6XDql71qA1jmfCl6wTIZ3eZby021GAhCgA6-UJ_FjrSg0HTofNglD6LsNmzBJ3HZSM37ma3b5rjwW061lQ2NA9JaP0-q76toWYGhG2yHtsblrAqMhZZr_T_VHEl0YU9QbswMmMwbJocL51plIgds_hjydD_472Eh8aAF8gVHzSuxjRti9okxBl8X_xV5QQdq5I5eMy77mRv0Rf4jawfz8WUObq9smmHVORLMgYBeu-ycBbdFw3HJI-i3mtPfPSgJqS_nDlmqNQTmVzv5t65xJkU4fivvrZJeGKLzdgaqrSQh826UZRRbmPVnJWU1DgauSOuAlO_7or-IGYRq5LCaPhSK8lcylWUeUUvjCrboUc5AceCdr8emFHl7j6x-G2Db6_wQfAVveJVNq-Drye199cPN8fqUic3A5zCZg-6uSKSTqZJXdyh8kViSXMRhSaz4YR1tT9xYKERTWQT_tn4WVMxqM612QDBVsfmisyj12mgERr8In3RqLU50-p-9mDBQ46fExas_Af8LMrSJ4xyhQOSRjFySIwS-E3HuhUed8zIC5JtiiqdEkvnKWMQPWPvoAcd_lscguzrx6gaqMxIZHneU3PlWgozcTYSVmk9nzoVE7YBNgK97qWfwGro1QFXjViG3Oonz6FVfQyxs_0TkppUP1lkTN4kf1F1bzVNexeH8bNomTmrgB5QumsJx60HhaWIM5FM9gxkO-_sTUfa6vMRKB4Io8N3jU8YzVxb7DboR75wTKyBIzCjW2rKIYbHWPOGDDvT0dM6SnnOiEuyzFscGa70kg_ahu4TZAsPMR9fMPcseoK48YDQM1v3gfZucLivwlmr9IOQXV5mnxzB0a82SYxHqnohZE-oAkcZTiFwCVdnZVhNHTemPyr0kWEGpmMLQ7o1S-LdT_x6TWq8T8zXeCTq_xHWIx5CtyUgILVqLRZ3O3Gw0UYxC9RXOu2byGWw0yrEongZunKt5uyW_GCd42FLSxnnzAHXJEKKYEWSbsEp-QgCiMuyXPLo6YS2Gz2WyxNDxEWZtnoRX8VFmBo7UfYhDwoBGkVppBnDfj2l67eTlpfTtvZlo5_rkf7hCbv10qwHuECuDYxM9_-b3FpIufGvJL_os-cPKbO06ND2d3_udVvI2Q7TzlLnsKOEWAtDO1UpFKWcX6F3F4lyStHD-Vius4iWSk742jb_Bl19rJwS5H0O4YoxDqFisSwo13VAamgY_gzlyOWFsirnDNt8sclv-9vkaqh73pJV82T6dAYGm0mhbdILf5CFVj4fUagdz8TG2KO8dndr7dVrSLgfRESs3gDinufnRA_xm7TVoZPlIkbdkFscJvR29xqmPDWVJXAC0UsUSQSATjjkouJZExsnAonKELoDx_XNGTC7ujJgNxs_cpKPN9GHZ3eaUl5WUXAtdwYxNP5qgz0oQ52H91ssqmY1mPMavSQpwNe5dOgED63PhztGUDFt2MGV11sOKNn3aCwSuaBSVYznmGFX9fIl2-7XQqnGKOAka5J5wZzVi5VtlaO018Uni__0sGK6t5vr4BL2qXlzgcI9brmXbMPZ4ll_JuLH6KFPAl0AGzqEzeSAI_f7DEedzFVwddaXqq7-mmbexhkwSXjQLndC_80_RjaFwVMdeMwkEQIRywqH39EJGprvU8vxv_1OHGllfvNcnZZlhm8_gpexktTruyFGqtsspP_Jqz5zQvzYaqCWI08Wm8j9VbLlBevQtDKZX1ORr7Vi7Zo_aeXDnuEH7M0XaperXwRz2Af6uTklPKrmPlyrBBz7AhvSZvBIQrl_ARFzNFV1fEswR8KNAOeUytt1HwCSYF0TTjwmalYFZwA_AXghl79ekhLwIv-64xaKAWIpgSMryabS-79A9svLTq-cGlu-wZb766fWPKUtGz7fT8uJL2D468S5j2fMlakoswvvy7Rx0997aanq3oW6UWuA0nkQNz17Wg9Q3pX4zZ-pZzMJ0qumKyKXOZwbwdQQQ8iPF7_lo6u5llHNY5W8oVVOls4jtiEBs4mtKt7dkbzXFwAEZSQTmWveCvxvNw7ali47pSZFYnWSa1CIRnrAJaGIPuWvxXEW4q9jhXaYU909GaIeupBNvd3wtHrAX53IEZ5uBYXfkhNPNKh9uVA_-UFbg7_oWbL3ppWdSOlVCoxbjT7nFnvSWnQLGv027kfp-BRDNbChqjOQPLHJ2FRWaSQby6ibJX2yG_Iaaxg4_M_Z7H4jqsEriJYgo7PJh17cxbhVB6HkPhzUskbE-J40eLmFzQX5cocRbajCjpLjWG9nK6mP-eDpNV2JE1bfujnYB5qY4_JzRAx2B_TXANsGFGY2630HknVVD-OIpeSLLqHfi3xoBc8qlNpBenU-rkBuQInD0FYBW-Lhw6HElX7hk3-KAkWg8a1_TQuzWbDCmcPocUy9VQK9lNW4tsWooK5mzT7tJa46OWStRD3OEDaTdoosOeN1V7bfJ78x48ZbVvD4xs4g73Kw_mLFJStao-7Qsy_l-1F-rKqCoxcAYQrjx0nSxlXwj1V1YJ4f13Wb2E6hLebZow1B8R-R0UZdcTAaCErWnwCvU5RjDnMzrP6B5ZnFh22InsX6F_GtPdJMNxwgdfTvWrNoQPTkm1wrjP1H9H5e-066dfl4bFecWxM8o6etPWCF3cGDpfIsnxVsnMEmFDyx8t5nVFBrmZK8-WrVEUQRqeYec_rbwkMa9ZlmHk5sqjh1hWH9Rib1CloT9EU9ttjFmdDkvTJJ_vXmkt6kIF7R2eu8H7z976w2zDpfdhKt9j4BuAmMs8lrJvor9l23XwCUaFM5qS6qkEh_5Mpu6sEDFofm2GhiBm5JvX5dVO8fXNPH3NvlbqnErwqhXb_si6E-EBIYdGZxViYaaGaG0doXTwsFVRus9DYdKddNrzZnGetVZDlpLD-dJYffzQ0k_dsggJYjpTP7474ascZ0phL9XmPZjUeNGFl8kg3jWLuy6hRxDIk8vN2lZuCsifPs840l4Pmt9NSDicL1wtinZvKaXMXnJLvzXFk3tRb_K9GA6esuT_HEkvQKwlXYIBQTK9MVl9DdOFccVIEzzLhSNuLZZeOhPpbdxhEO0VJwnUQ70mNz3gtAtd5a1iYpr73BmStdjbaaiuVGkFx0qAKiYHlTENKoP92wWmHmO__qfBWBxJtpy7ECOglPxGIxGJO1ZtH6f7Y1RTfIYF7Glq_cN5oDj1qbo4d2yHz2cnDdFZu4rWPtrgUFtHuSApFWqqxqVjUGuxvFT4bRJ4GI4ssnTzah0aA46eW80V9jZYyyF5K0GWcZzjwwFnEfWokNnK2XCPcCUWCwZtFsHlgfcGpm4wY2I3TxexgRk_F67A0A5G0Q09VvXoK0YRQqD6o25JtlhV_A6rMMQ0ujF6fPZLtyaLj3PjRB4j5dIU8vuFW1F030O36zOqawMj3s0i57aRLNH7BsX1YWZA_Jg0Nti9Le7nxwMrM7lJBK1wEBQ763DAuimDlwgpLearMUwW2R6fs_cdLEv4rmEpclGSzeMdqnXZFGW9PsEVMRSbrtXpvXiJVfzNAxG3p2JMv_sSZNOLxJaBGdDkrXBonrJ1rM_jinuj__eHND36UaYJnhfLwEnGcrCSHujOaA2wCNi1GFgvqO4jB_kAgtNWRFheSQwrnB0QtYhvco1qbH78WWg2Ve3Z3vifYl8quM9m30sqi-5CwLHEDtSGGy0A6g7HSWubI8S7oqYMvSjdo4Jibh_WOPPhhDTLHXOFjINzdlhRrDxJYRF6MRRRDSKiAuABtxkyW7JkXA308bqoLFutlZhYeLPeolTvNndpPJYl70uICqPDqlTG97WxoZetTlRDJlXDImvwbpuky8JtSaUZJwN1EUN2p7H4V31akr-fvSKqxbUTBIA-MZ4xzrDTTQyBG6ZVjJJbuk0DA_RWXH1YqheIRyyKlAcQp-SUeHwdt1AHgw2be0VJVbYnl5_WzHVP-95UdFG4fe_EhKB5ddQ6oUb4JSxXAPytDx_UT4I_YDpNNZbR7kz2i8kHbT79uMfiINWDf6odoPVtVhsAk8H_JQfdXNzJFDlqDlr4XR8mI5ZDnqblf1FiwPOARkETUq_hZKWLWMVTmNjyOeNg6_fFOm8Hb_wTbAwgh5D0WuUxd5w2TyeBuqiZzt2NotJuTzGbVoF5OX4dMmr_y87WpVU6KhosEgJNy87bfTzDDEHyd58RZdLER_MKIDT5EwR_NxedXDg6Inw64omupaf-xA0lOvnvJtwWQKtZQhfj2tQLeuSmHuQtRt4J0LWYlmXMxhTqob3l_gS8MVh3wdP2Xo26hHSDdHLj6L2v2Gz0NTYBVrtQAu-3MLB-bnc_Ql0A4AZk9cGMAA0nQy465z_UeGtUPIU4lYD0949vRl775R44A0F8KWnrZwmX0Sc1xXZ2w7i2AgiTlkliZ2JmF2a9EbpA7IoYkWD5hIfz2cSVsK7AHLIIYUZrV069yUBB_3LYIT7as3zqxj71WffQpg8R6Zl7MnQzgzasq7e_1OlfDMibb3NG6UZzadSht1eeWvqm5G_bUzg0JDjbz008_IvCJJif1wWf9YG3P8CPS1iSBpu16JO0GkGH8z1rWOrBDFSlFbxfajs7fLDRLVTC3Cf4YmEjHbf8cP5nrtgygsjXtKEwxR_fwKtZeAj7VExrJh6XKrivL0BB3Fd1OQcHHdGztHRGxVs9CxsdO68bgNf8bpNERuqgTmgG0h-NxG5HNcn7nrF-FqaxTbgZlKxiAFT0AxS9cqstzuSydBgPg3lxA6pJbXFzLPupv1pvsDfZ9-3dwv_ITJBCOEwq6AIGQ9I4iQyITSsDc05FL67tiW55_E4OMFO3eqpYy830di-79CQuqey6w46wRTfQTX4oPtn34fydM2GwUNh8OHQEAy_o7kYyQrHgrAy10cep2c957GzWQ8_rIbN4Xt8y7LZLLMe1z9kTJTz0EYPhjcS53GasqnGjWRMyv9rHAVHWBh411KKdTQv9bDsotgPPnG71E9MS_phhKeFRVk6d84pU-4SGqwCmPoOt2IZTi2-nMQj49q7HOhcHOwOu8INAPBQOcCbJHyNTZRFEKRelsyyTkzTlbQCqiQhilfNI4HnKsnz6B_6g0g__aEOkvJdZ75JaTmJmkHXUgfhk4IGkcbZETwpv7FXBGQ2xuCLE5yCRfhYq1Myxqxc94Qj6SRdZKJaWfWRS4J-G3m0N7zUBHuSnAClE9NzQsqdON4RJmNjLpKpkBiKY5PRqB9nV9AT4h2glVRI7NUvJrsxC1k1gjZkMKaQjEWtYSW_yWar5V9XZmyt-5snPin-yWk5PP-J1deR2Jeb7mFwWrSn2o_bTPxB7lwh2ngjP2oTzCrG47tzY3D-GBkLoIO_sOSZ43Wkmb-WSnAFHKESpEdXSJnYj7Tf9Im5f3tvr5leooZAyaVH0HT1XUduaz6vrJ-D6epqd290MTS4Mw2zCUW5td7ATTaMKRxBY3svxlVllcs3Nl7lTSiNOmU7WZxMnSSjJrBFQzZrC0OZEtvMk7jfO4aJCwQKzM5wdfTTpOB54rsuwcrqASoeO8A1DAt_xehVOweHvZsgda1TVdr8MSBEd8emVTRqTv_TP0F3RtpKAVhm-wAm5JqrUMxsMcj7ohcVrL0u_PSCMIML3Cs_to2JowiPwbZDyn8l3PhkbpIlmPTySNuFpPL-dFUBVpaQsYJlc_vasYJ0l0BWNTrps_7pz-376gR78hT6cSqgEGX1zLTm1B3xTuBMBvvsAy69ogatoxRT4rsmk5LdlUbHbtuVNsz-CljeaYU3byxhuL_R9tXUtbuGFDSbZr4teiWDu0Um8SIQ8x900A5DjybEc3eQ6KAGWa0CK6Y1EMYaA21kmqnLioCtC1zjS1lkYizXXmZaSUs3CaexCCsQ7aaM9cKynWbD6ebHPj2oZ9t2IhsN0DlcP2YZGKasSiY6zokut0HN-VuxTWUNAwjGZxJ4q7pHzAigvDWwhhO5r1ApPraRJuF3C_1xh44AYo436SK0y_7l0-Ynq107Kz6MYQlaSiPO3fyAIPoPPXDQShq-bg3Ke-srr_SFoFJEMpT4cMcEMjcl6ZDtoleIXpF1gOzS25iCgFSp0_KtydH9IwCAQKasOTqr3jpLRFHGWBcnW2ZRvWUmVo9M84D3Ik58oWeb72ha_mVtshXj3TYQJd-qaiiCSQIvN7b45d-NOdxfyS1fx7hRhQQObhqdWpxH8iOG6DOQ9Nn3rfN-piaG_CsA2gt6aeNkLdlQbTzM6X11Uk3DRw-uVBESXHOW8FPvbpdvWrWBsCtK-92h1X32ErirR2yH9ECAhdhUUmXjCN2O3BovVphrGN-77zii4MDnDtwhuGA1xjjQanem1FRpoZTexUw3pBl7Tf9fbssEVU_a17ToRgi_veS_-lvD_xPfh6I3u0rnetNKYgQ3N0CKfb8sB6z1kZ_T-K2ty_h8uvp12EPLWRUYb5AOXcroH68DOv0rg6ZMdh1w1KELc55tjZ-o_159aV931a0KEBs0ln-kM_vLv-BQp7d6H2i91OZN1gSyFDpMOEQWA53bUpCX7s9gC3m_2qBordgD3Dm_2yZIw_YJymWDLWaKTgZ7GcutYe8USDMr5mHVcNVDtHFeNbj1HnvsTyBN7NN893cOt7255YAPWjl5YqkJc349wGGCyNP-8tAIlwYKo3iUM2dTpHwb69AmUEhc50eYoaIdW8Tg8IyGB81ZL8t3tCOIW1i0PDcKndn-JK-SJa_ZU7d4QormJ1Ezo9ctBhhAYtXD1c3veBU_zlwOcYETLq4flCkuFQAiUZcMIVbFgvrSQyorZ-rn2GqDFLifIumVYUX1gPiqupTkK1pSkWLfHuc0dBPNdR0aSxsM-hW_D3FlvAK8AtJ5eMT-HowxvyCvh6vVNYdgJbh1Cu53-FYbXcQesXHVbhRfSyZx9G5Q_eTjZv6gbRIoIIQhEaX2nUnRjojySZWS5YaQlzB-GuAj2CfacZac4BSXNCqvmHklFT60UMe8UmYHPPlsFQIvNeYrB2st11DXP0eRYNBjjt1iRzLG0FVhYQJi-kpqSE5Ty0tPSVpS_rL55yVC3N4BoWY3YO536iUEWRezBcKuXXsU8kH7K0GSqeIwNMZhXfS1khP9rlDVCFP_ydFZnti6FT_bt7qnpuneqwdeXlC9MUv7odo8he4RAlCMHr0Ff2l46G0f7TiXqNAFHQOLh4-Th-VtTRrlfmnLKLQ9FACusgs05WIZN64l7bdFJrO7Yrsp_OYh_oAXzAzrY09cYdUMxgkrsVvFEU2xjhirjyonbcG8EgBBG8PJfZJLk2BhnvAFmC78VN75FrHot5xRclRyda7bJM4J0f5N5cIN9Mx9NwW1CpgAWmmikG_sktm0DaBvvLkVrr574RxVUEMAK7OyuUTDX0fZhUoFyNG24d1BFQLmb6chL_5xQLe0vD_7f4LA8h6RsuClySzvGLqKkaGzrzm-43ZjptFWXsawsWESmoCps2Q8Bq_tskeO2XipA5yO6zyXkYPa9K1UCx3mLp6ecq8TsNQeNQwLcAxRSBtRaitJdkorNqX2y3SBUZ4LPRYu_j9hICFHuWXYawhMDFmnslvOGfHbGt5R5ClhNsu8WPq6bV4crc4RpYj7mejXy1HwNyOKAxVZzyxsr0TTrhRKzchPdrlDpwGslSrqRBvq1ivS29nGoa6FiCmJfd5oBLg0wvxDymaFrHSdIhw4hb9gkeJLN8xkGLlBI_cafhJYzY9ZspYMvnY1N9N8lvg_81vGCkztmcwQR7ZklizTS3qdFOJyaXUwAR9ONuY1upd24nawFk2ETdY_HjBRLix8D5hLE5jyjRQlHGACt9eMoVh8x7yVGbrnUhtIXE4TwIR-4yFu4HX6qUwa06nqVV_TznP7e5Q2QfPFkA31V6h-1hbH6LPNnTPMLoYJIsMiZVJHgNG9waxTaOaF8uZd5eh4mPqtNixp3u5flLoJl9gFGPw_HPk4JjTxdqrduhOG5Gt98V-MJtRgV_Fb-mLXAAze4Y2NBjznDjuTmbYU_Qx8jzrSeM-_gthHsJQVmuWdOTRSAukMLqkG8WlQsww9CJSffHDvRTSf0ObZPUIWo0AcH9Uy0T5rD7S0BdydJ5hZMIPdBTz-zqWBZV30--xlEgDGJzjIKeQi-1yOHeQbHPhbuLVuUdHSfhGeV1YEZjAT2bss8M083dK6eK2IVgEcivpN4ppf1COSrJBkz99tvygkWEoost3QHd5jNXsB7rjnt3hBUg5w_I6ZeDyca62oQhNGL3UwuA3XQrSlNe1nCDcsylJrqudq7VSVgLRcv1HCHR1qv0Yoo59cYDZQxuxPPlWjrpqhHrS_ibQ2xwiK5DjZnBnu_iD3sVjjMTqe3FWI6-iBBZAadUpgQ5ZJmuOfVQ49WwCgXgH4kOXQzY2jJGFNLOKm9DpxNnulQ3jKLWwoG9KlJJw1VINq1aW--U2ebOMUK01u4BHu12gkgYvxmbqv-MPSwpvsB4mqxhhsdMW4fUHIyEt2b5MbRTms-DtC1F90jLNh393_kXDGTl2-yngOK5CO7rO280sEYAL5zaTwGFhWWe5dnPh_T9PQ3tYtjatHG4Fu7msTeodkIDLFA20S5a8wHifEzoZwWeeQmFedGKrsuZ46MCJYitX2tWZYHMFX77yFpfbXsG_jFQ6Wa9GNqK0gPRueKF-ayINg9j4YmnZj8r6vMeXnv4k3GIMzA9JstCY_OO6GFROtu2dcAyAo4A1dcLr5NPafcRG6kvs6O5pKgleB8qgnP91rPOQYuNhSz06Gb8geb69U4srQ6W65dVsRFMJ01TfWqK8jBSwv5jM2sdG4HMhwtw638zsjgl_N_1onYv_JQDFJOCt7QD_uBfHtOo96dcYfKN1jnmF4HsL4b3VprJtGm0aM3a7BV1wXsUsHEuSilNCUJnBq8ZIKpQ9i2cOK3bL7TcYNPal3NkxsZ-27MZwq62HRUw9aE1zkUbYiMMzpP126Al7ecNPBa9ERbGzazYMhcFw9fKpY-ewgyHlnpLMunHxjDSLnyjPOwi9j0J_iSupiD7l0YMeh46Gy4zh5pwFrsD6C-t573mMRzWOi3QHQjyS8kStIVeP52WT4gPsP8d3yyInYRlZvbIXHP5B2au2WEQFGuLju4TNov02-H0c84AzRMFhGxeoVdYdPXjMR2nvULokSx11L5S_AzicuJb6J-qg9kAoUqhqD3QJw5Na_n5pf-HNEEYy9Ax7uuID_2n51DVEWy84K9xk9Z-j12iqr-F4CYJxvgRz68vSwEzvxpIt_AzECyoEj3E935dHdMs3GreSdnAZonWmJZKCLpfzs-stH9bX1KdprIxsYGwSEcDRAKf63D4NoCK2jrYcCgFv_tett4rFVFukTe5rjR8b8sphZGRB9lJ3yuKAxIOskDMWonPPGovmUMSsn3EoK4FBl-G6C-qrUjPipj8_m7c3NO5UJ7xmcXUtRXCy8DaSXtEG65hB-ww0Nsg_Fw8u5MOtCuAkyJ9ROpzQDxWHFon1VHiJhhlSsdJmSy4PqxqBPrpLuG70nlgWIlekVICbl1izq5DVhX3vKNHCuGsRKfk1WFrx9g4VyP1PcoNGVe3vzk91giHShjeYURhCkKsOnN3e1UEpGbDmPuPy1N5cuyg4vwwCK5L5yxeyRhcukBD9YQ4Bm_uvhRdIDDrSLERwlP0ARAbo0X76E_zDM6wzC4kWOQyRDFkw5lghWZ0RRSxQWly1VAz3GtqOoQBjkhgX1ew5zHaAQmmaUl9FcNEo9xHiOMmbC4iR-b1CFG91kL_hHKl6FPIllOkKuEqbOcisxTWv0p2yJYWYqmiYqUvHQjuGdCRXXWYsF0OumfTTMR84t5IqLzgG2Qz9Y8mkv1-OXnZVzvQYsBuvVOZm2JaXW3W26ZnAOC35jryy1WQfCq-aLjF452S8jI4NizsfSGDmqzJlutFc5lHqTCVABxVHN3NwQpPCmmeswDRzk79Nn1SDIfGxa7sMWqEi_GS3HYjtpvTnWfUoS62CBYsAk69Xng9kQCP_Fz_--uEQmmg1sgKK4Q4bPVcqipyjvupJY95dwQojNN1iarZGmx7ZxyuA631QOKp2hXuG8mjwVX56cyj4iL-xf2tT168D7tp26hWUCG8q4JDmZeJlKqMYjcAqXh9vctueoIraCmZL6rYgZQvP6Q_5ScJcEjpqaMUl3t6cBL8tBAp80z4lV8x-VrUKkD6vWwtvQkF0l9y5fikpLbPWIuUZmMSjSwHqxfmt47ac9fxa_RGtiJNpIroGNJrUEcfHWhnGGeztt_9--_SJf78gnxcASsKYTYvpEiHSTxcC60B8AUHB5aimk0tVywjl_fjIC-wm-MbBvDOA0Ymj1OgGgIHYFGsadR-9mV7h0EhwwI0M1nTeHxTHDG57Y1wn1drtR53ovrgj51fW_oM9SE7vDQ74Lp_5TrC0zFFw_5eTCK6xpIhWwnQxnyD54jW_8JOJDBRZPMCs4NndLSKqcrariUmxTZsFXK_C7ER5_n_w8m13fDZi2H0_TmbLhKK6iB-R5kn6UJg-9xtD0nfEI8FC3biZFh9Q-Q_0D6-JI-fbf3buT0tGyVGITrFfPFNvXyzdjb_7Y98KSzRZK9UAhWs9Iv99s_isI0NpdKAP9jfMfjTot-rUHpxCsgAHK5f5Yu9BP7cpiN12zaOq30A_Pch9aKOBoLAjJFrZHSriAl4h6rS28pypbbCYIj3pv5Ni4LBILzRDAdNGjo9PoiUKn_LMdRolyiDCEWNJ9GrhNpwmDtcM2NbCVSZC-_R-wb4S1uOhJuHue4wWEZFdl963UT_GU6iguT-O0-GjlUKExEM6itN_2hFAj_Rta5oyJ9rfBtgqVb2UKn-KGJ0MSWJQwYiihwwfb7k3T_vO99--GWgZoGJEZv-5_KhAlr8KYBNbi7GN7yRnRjREmKc0Hr0JK7MZQrOtZZI0ZGIIsQeBDpz1OAb70vlS6uqHrPVx7baZUn6mKqprun5o0xmZbbCinJa-cKZw6ClYicdnoi7gr_9c27lrewQHLEPWeUaWviTNmgo1L57IadHaIgStJm8_vY31J81XIUfGVmqB7P5Ar_zFwMGQDnCGp1RbkH_FxiGKc5aKQNu6m8pOvdNIjX_Y9BA4I98a0XuExBsPJbe1SmU0VRzF8wvLQtq7SneJcHg1IOnx2EHv0sy1WO_eYGtSgMHsnXoAAf4sgDM_So5Nhqw5Xf9THNQs45tTcxQ6TYwiNehjOazR8KAOmYJw4F571wI3kUDPn1L7NlB0_4KeGlaItMIPkL22yYWLkIZBeoU5i0mhjhj_etzWL2oLGZMHhNl_7ijtVj7NuUWvp06hyn6Rj98JLo79NCUEe3m9jtNZVKb6yITE7Y02CKV4-vApqJw77GAeYiTRNH2u_2RJSw6JuPIdrI-z1QXWyxNuBcPJnZW8bUkYfPcO5zqQuWa2nYqm_bsTEmU2Yl8TM2G3Zn29Pq4vy3kC6OzujgVis0LTeBj_JgqjHnMaVnkgOq_wJoT2f-vo5_yw59ZlAlRNj_BQyuQPl-s0q-1N7bZsU5HiISz9guUlmYZKhZKjWjZyW3sBXRXQXa518lN3WojgXUB8GJUT7yTMTSUqyljcF9Qf9H_Wq8yznRrEY2rfRCEulkVrtB45JXZz_l4YWOfd5Kro6yBKSe1q59gjxcCtFiuZb_rIxQU00V5ZcClWQ7S6qccJOZ0lY0-vSIr4Xo-YDI4fYqNh5GjsDNBZY0vePX5MskOysp_qRptzJSf9jQzvT1PV8nKpRiZr23Jtn0tCvrmeTmROS3Twp4XWz8lOLQboBzGGTEXhv91sof5hSdQGHNgb3WiDx0dAy1gNgyZFpId8HkbQx6GCjvSYfy_9Uyy5CF7SAq_4j4sTOb0Q_bsV7yC0OEWvGumm6hg4Mm9XVB0FV_7DWUZsAWRgo64iuGZRIDIFjMKNGTkXxcmX9SmMs8T87AHot-1lmz-XWnka2r-nsBwYAPBawvb8g5OBxNs79R07SUHBv31s8UC45I3MjrSkowykKEe-beca1DlWM9pY2WTz6qvHIyz7DNGw0kCNda75HolTP0-6b5Tg6hq47CJ9Nsy-mdWeZgOtbFHzFnYacpUfpvvMOKsnmjKZMXyOyXhMDXV90WS0GlvBWdvF03BhTqKRe9cE9dhrtmmtEcNEn8JJbnyEBSp30VQglFlkiDmagELCBFSFA9BIVilSyP9NntHchIQq7s3sMLWMNGluDTOek1A4qS_BuLB3B4NTJ33vnpNjbEj7rCPgdpLha0Q49iaBqnt9EsJmuUXrnW3cT2wLJVQad84hnDN-Iq1-zn-73teEzZiI5_RkPayIBBe01ljNcSEVr9kiop4B8PNeZsb0jkiiIVAUZ7LHEAuWHFKFQVqKuivhrgkWZ9-_l0jH0HsXmW17RQ9zm9ICBQs-TxtCRdabgYJEATc4tMi9IQVAwWCmIKbzakP7sNgL7nn-i-Ompfzq88IvUkKgDd_2oAZRlF9VxUgZfvKPLC2m3rBBju--w45TSbjiS4ZqINBvkuujxt4gRlPZN8-OrNCRnLrA7eNphTl4sdPPcNiym_GOPb2kGSoVYbLUoeOaF6TNr1xOwKnXAIm-KcdIwNb8JC2TcklYOR0jUrZt_kFi90D1P9dXuhCoxr2VK-zsMmRzVhKWfU298EMHU8nKQ9ESqx28HTZtiC0eMNandALPAKEebpnxKeuKKL6sCOgZ7WWHGe1WDrPS-kG9CVzE1vuM4R95XhSEV_DwEK5nHupA2egRK1aGYdgZ7-gGhU2jaK8JFu70LORq_EciMjsi3iU3GZICOHbyuYwUNjlkwVjPfqMWCRy-FhVE-PNvHbLImRU8s_QIhZ5msqGHcZrMqvixCR0Rbw4UouzwKIsLo3hQJKEO_h1ebJDQSKr5klgt7w7S-Qel7Is5yWNOoRoSJYtpvW5Lg6gIHigelOcKRQIaTFTf5GoqDUh-v63xzBHMZYuVDnoPalg3L40AxgnDodPNvBV6SKlAlYdHrEHndHRW5xUhxXbr3zc2BvcS-0t6FCl2ZRKU-WM6Eboslu8RPUehiJqSPNYDLK0iLshx4wIQcikiz47RtwxkK8uKrEa84rAlqACsMUh6dF99G0UXjbDhA6mhUCbTRWoSCmnEbXv_LkSERi-RhqH70nLeI1_GSH9kbk-O1kU0Ccl8ptUeXsrDgvj_MVS4Tbbc9CVrsIzMRtnG4i0dkdYkqrrWjQiIBGyPzT-jtNAVK4qCl-LwFEEnRnMxdZ6MTv8cXuNdUwpmQl37rN2nt-i_lXuZMaLNHqrADmZ2qHw67m1FvZWJzGS5einK-_o3-iSwaIJy4hQIfhs-YmdHf2Wr4BHRm98W-CGk7jro7zH-xSEx-9oA2BGePUvz_O6EI_k-hjG69h6x34cdSSFAKRQ008Q4Ygq5wafuihKOmQfSAz6aI44v6GPQYWzqzRmcR9R7NByl_1MDRtq09cd1E-DBKOcqhXzH4ijGGUhivD2hWhQQC1ZXw99nQ84Ae1EQFQSi3GNjNjz4JKg6UAlIISthNzkXGLjkzItJyRDqxPIlj1sH8UZoiyl0qFzjvySl0beFOuVSz3pcDCMtNduTubIzkz-6Hwniqq6Sp3RVfEJdpUwCz0FSCSXULtELd-C3tqAp01xVPIpzaowLxbA2VJez9JVpVeVmpUiGKJ5PXW_Bv5Dl3m0wkJcTxHo4A1V-hmZzzpjYeiX6Yn3Y0cTJjioAVoGJNhuGqyRHTG9VrZYWmsc0PNdDmBIclVl_LVSnBjan6ncwizvRnC87YcxFVbVUt0pj0TBEbtdMnYv4f710Re7he1itrcICiyk5OWi5W0I28eEGetlGHd3G90CM9lQavrLtGKRcxRvTzsvhM36SwsZGicu9tbhtgEHP8imJlr41hz2FbFzxddAs-cs0MS_EcFsMzDZLN3b7jBGXN8VA9EBwL2OpiLuMLsGn9-w19bWMImNI7OgTmyQljYsZYzIXsHlGTkE1-3i-NrbcKcm2tQj8l3degs7Ap3ZL6PjAwnsB74zHhPGzso-yKipSwy4ycXDOOHgAxY1Jn2zziH3iUyLuVTXf65LQ6c_NmUoMoakjksNhNU1ZWyQyw--lkVOiNeRHLn5nmjK5t0WLe9CF57tAf2Q9M61pJicTj9w-xjWcJfwCI5rzYMlWkOVMJsFGia4bg9tkVHmukjdA1ACAwHGuoKYekNdUcF7h2ikpaAYzgU28YR4dE5oW9x9F7kIvoN2vsvLMu0cE5JY4szBkYVryXyXxMnVfUEp-InWb9cltnzFlkPJ46jYFsIBBEWGxHmIFOAGB9C0RzDBU_MtvOK5DuJqUME4KUU0xUwipRAaK5fP3M60wJULQg_BwzDkjtFpt-KkTD_IvAEVu6iJGry198RZCU4pwhi7HC7AbzzbHMFuypZys2-ygodYhIHE6ypv0jMZlvALuL6h12JjFJHOuWfsjz7NWgsz5wMI-mzvcssmS8em4hG2dnMY2JLjOsnv9omUdpT9HQuE3XHc1ooX4U8gzJ2OVZoDfAz2WnK_SAPSGnjYwBhqUdu9H29G9Sc0eHDsKbu63wS249O5JAVJSHPZiFv5xw-AM_wGWif23ONmkdRmZwuk_PiwoPy6BcvODmMYxGIr7Zq68f5Qkoxm_dHrOGUd55Az8ziOsp2F_CZ1kAqbqJiBqTSEpzVDenwma39oe0rMc9Q--3jzsgjoSbll9eWbuDBbdsZMbunpBoPsI9t2zmk4EheCoou6koi-CzJA2HkqZlnYpQ55AUh3ZsXTQfWH4AWrJRDe07oXv-VVciwR_Pl3TOr3Ju9O3x0qkDRLjSLvLPmXjzxRqHm52n3_CmRLJ8oc6ISXHijPIR5kSuJ79yxjBDbSm6anLHhOiaAXL7pfCPsUocQS3_3bFyGkobpm2VN_kRgv5B1lhfN4PKlVYhccR1NSMXJ7KlO8rN-fsl_8L_lCawh9PSgu9gI0NsaBcZxiHMJxGLo0auChFwWSNw09m7lhrYst35PXLtkA1MP6sdKTMwpqngg6CWq2r22A8v32zYGd_tPD3dLT-k96x15rXbYqnIa9RlOvWrCf9mb8FrKWJDfUapHlEo4CcwrPWS7KJ9KFFmVLte1nwwmsFW6qrycfvUb6Gd5MAklMmYeGVpEecEZo-caXPtUVv8EsitkymVhIsyCVH-m7vRgV626IVZXOovNH_F8ZbuWAtYQ8JwOXVktCYkMBHqLFbG3OVmXuhRuJYx1skJgiDFgftdwJ_qROhHNYgiYBO5n9piG9XWsgvHI7js8hZbCh3ouY5rOI2_XvRp-NNEQ9prbIKJztIk6AcDYlWe_J04DoRuRoZRn_Sdfe22af9t2t0pyrECxEFu9YO00zxjWHn5JmSF4IBYsnCt-P57v_bVuBzBau956Hryw7EuDRtHDmp29kCB1IgjmaeLkAcXb7kPoLfv-bWHd9soQq1vjRAJKNq4SHe9QQhkqZNMFHfIb2p7Cq0mC5ASR2M6Q1HT7ayptfQW16zXGDrXM_IWBa3SneVvJpEzKzTFU_8Yut6r69-FA3Bc-TY1BPW_qAoeyXlbPJdXwN0L08GRMbGiA9UOAIZBHVHKdK5-dZ8OKAV8SP7qgRYphwwuu0qaTufamTK1Jp-JRYvoyiP42sBtrSCWWq22oc90KwuDZJsgWf3uqgmx49PsEs0yS21NNMdTxeEpuhCUH_yUvHxOYNunpAOP46MuORDzaxZPfqvudNIJ4WqoHOGES5ODWMmNtV-UGTLy-3VGocupALS92kJApOwHNDFGbv8yyTTDKWPKOSBhzcQiYDqLCmMINespVq_wgMZpHkQVeBoeFvrOYk3G0F8fKKPJaO2rMs2YA-3Hf6XN7pbfRyF1F7gIEtybWumIxtzC6fY0rppWFps-yPB7sU7D8JJIEU_kE4EtRWdNyfo9ZZgIVOjRE1Y4-0NygMLAnBICgBjy1xGS22tlzLwJ-pcxrLV2AMBnHu9mp2JgypQ0tfUVcIdm6_luQ-vTV_61uHW0hBmTA9vJosCems4vuNEuC6eL_km3hvCGEsGqaTJbE5PQYzxBsj-b2QW8lHKuJKtSA7hBh0KqYxDh3WbI1gXnHXEfVGNfYIc0FwOxm5dxx_jySpE1Q4wVA6h8-Vj5rPR7U4ZX-LrzKl4OxDb8t3f2IHO_GQjojAiJVoE3Ar5c_KMYh85lmaNcOcP9WsbXJsXip3dnVvDlHNCEXgYR4b4Mp7t9KR4xjj8io96yjvJwpQcv084c5luoFFC_Hp-7LVPiAiMbqaEf0Q2fOJhnGPEA2TF2Cxy-u225ehvGTpO3xmsMjxDRvj1YOhEOZV4Uu5TbS5MtFkpAk2I7L-yd7DJmEYDB37smM0Ah0g9zWIEbBLe_KoQQ7WD_xILKyllE8i5eN5sJXcf7LtiXE7tZam4NB9FyjWuYx9f1ErPteLh29K3tv-E4Foz7a84_p9DF1UXJJrnzhbt7LCoa0-SFsG6KXPjQ0iHcqrnTzMBbm484ANZC8TzJs0OJ3feADxjzIdp74AkQ10VHZvpQjkcNJ3PwXq15RU2RBTqTUn-ROv-6GqS20Mw5vhDoUx9RGQbuo_bohNxaWHXCI_po_0MTDCKVEQmsbShZWMxQfg7Rbqk-GZAqubsvPtTeeymvk47iptWOxUZ6aMVkBnKlDDmyXPNuC0gFLGSMEJVbg-5HVOWUiwvm5JhU-aqTLysYX6e6Rm0-ynXszGkrzNKuDzweF3tp9L_aHcYSgFX5Qu4mR-vHt0-dVIDVBt8fQMmRkDNWLJ3v_y57rEJ9j64ZeOWnK1rdRu9D-i1F6lVH-_rR-6718CeUDvCZe5adz1Fe4GHEz5My783CNXlwD_6VubqgBYIMYC7WEHBaO9XqamKPd2JAkNVT0K4q__G0xZT0Domeqny6CndhZyX19AaOtlzpgXyU2g9nOPDP8_jE36i6h_IihisoMwJeI9sIsHwcal1KsasicnNeuw5KLaq7rkXv5kyvIa8MoaZ-YnBra0gk8cAuU3DyyjPQpUkgEzlOBp3VhV4Eeil8pzOISsb0sQ4NUYIEzDJzQRSsiQ2X_asc5I3TW5flmq61qLqGdnk35EN45_3TgPzV6l9tYVnrdqum0jlYh-xHVH6VsZJN-R2YBkgBZ8wXYUcni-w0pj6A9fGKELCWqZFVJVPjdEvOsdRVqNAKYfs23358SlyWqVlAQHagC8L_fIFpAKm1OsYVOHdLXh1MuQ-beupU3oTHCpH8m1kyIugLqJZ4PPMt-aS3zupDs0X5nVYBEUE_1SvD8DU-NDyAFaPP__Riqgc1q5Pmcs7KywP5Mi6gtOBhatqHqN_nqdPili1xo0pLhPBRY-WuZC0w8JUdYJsPQ4b3-LLERMquxkGd0vTONLZ5eIYpZujfhUcyhmHNo-cfx1xPFNBj6k36Mi8iEGAh5A7HIw5yAr5Y2LYWxlCAeB8Xpx5qGwvMOlju14kcWZGCWXalN79t6OM_MP9Q5noETdvAVWlaFnCrrSPQ8APd4de6sr3BL91eo-mKwlQ2ju4FZwzaxhUi158bRoVCqw__f4WQAoTh_YTx9H39FTzvuDfKYPGNxCLo4q6lTEZXhCpkHBUcbDP7Uu3yuSyM5WRiPbp1ik8cM9l7rIHZdWQSlfDwWI_yB4gd4PfVwVyIojzcgVkRt4q5XufvmpJYHupsbohAWjrrGTuPGS7NkDlHGIZSk140Fj0ECpWGWF79C3_oDtQK6IT_Dth4TnfHzpXthF-ZqSOASfiCjJhP9DVZJ1JKIIxkWNQfRun1IkEnCzxGRt5pIPFrck8HexRS53RUGiBk-wyAkcb0K8EsldFiorsGbPsJjogsBGDIufcBaDjgBchHrLb8ZT3QqT37SuKuH21y-vsepaH1wGGrXJcdKL2O5deMFjFLBPmJFJMi50ep0Hc-8CBThu4vjSfnCcMNSe8CHgz7SapEKKEmz_Z76PaaJIXr3VR3WAnMWy2wzEI6z8JLzaMcfrbZ8KTD2VheruhQH8QF2ZoGidOttfvloe4SQCSi16Kahkcn5w0Mp7dtlULdx1FIEf5R2m8GOxM4QkCpmVZKCcRXH72RsM5jh7IcLOKFFXuw2p55iJLm-pjQgLqzQnUCsAQeuzMJthx_10qOqemurCnmOgtV3pgnn8r6jpYKUvlRPcovr4qZbM78vPVQirHcAoqEt82BVH5i0NpOl853gaydIwuWaMtQqdVBJqkgvwLIU2YRVbfGUrD2R1kpPhcCoKeGLgJX_BTowgx75nrDNpAlQGHFrfdj5WjmiWBC7pjR6_NBSY05cjpenv5eWkX--zCrtzoUuXbbNXizw1ocu57UsUOCDeWrosm_bJDHjYdzjwPKjyaf5jWnrK54uwDeIQSq0UByTNli_GX-1STbEgktFQdzvfaH8eTINi6LYLglIGAHm48OfhDQFHyvw3gUJf8ICNoQQSOSuDAd7CnXZBt4vimnMA96-lSvVoxkW1TIHB2WtLZH9w4EElK1xRZleai9ikMe9AbeEC7n_ifpZIhtb_HXY3oiBoH6cBPIr9t9TamGpRlzy-1JGr4htTUhNfMPEyMc5FFhg9qLKQRFvDm0ITVngMCDHR3XBuUZjfjKLqFtQGGdUnrxbi68Y_PR1vNtA3hBAzsNPCaX2VlBu9EWBv54RI6civLf30nLuquP0IFD1Hl547ZFCFyrBIPMH3cRTrDiDvG9qx1cdnqrnxnMFciBzkL_xrxB0lHrrhM1pMlDhjCcZph6N1wSD-UCFekiaVxcJJQRF5XJmea4JpFIhAVJLsWaksg-_QNzYf6Az2rv_V31xku9X2G3kxAt11CwblxMwfXTR1On3ZMGPFhGBwS_ffCMkyg4IoayDaTLFdsyx52buiifnt9GhN6ZnTGXPWcbRRPltsRKXIaEl3N8Mc8mCNfK08MmzLsx9l6MVLZckJZ8lWx-EBIb6byI6byMVlDYRwhvr0NRXnPNfiTaE4yJdblb8u8CLIbsunYL388KySv16Wf8RpGGVtnrCJ6QGqP1iBCZJDmvR777lo1veCUxiBwxLYqYtL-gk1ADN83YXCNxlB09BJ8EUW5PCBlSZtI01KTJBNufNTknFRK3L6IQdDFJ73vkzmsrEZgCLVEKdhtsNT-VwW1A2jcehtdc6joduw64jiexyXuoLZezmYS2uhwGCizHFOa39GLMeEDdbATDq_cDNHFS4T-cvpOSvonHbNNdgcSGtxuhAKEl5561Ic9Qf0JDG7CEWZKkVgWiBaXuWDuQg2HkmXxngFRsnbtKP6nwN7c8MyN0DPKP2oRLbjiRuMrNqmkzdKV47qsCtE1lB-OW3gsSnqYGwBCWl-v53XpZDGfkIbN4nNezGbQWKV-ZB3TwnTu6YdSlBvfefgSV4HNJ-aucBsK2ZspjMBifynLNBaCtlO_AFj9_EwGEWVrqdSygpoXJg48xPblJhfaulJ7uANvG51UI6c8A-XGn1Mwgoun3lQH9_Kz3UQmtpO6F9CfwnzDGiB-ipG9_x3cZop8eYKpujR9esMBX-8ISug7jdJy5p0iuup_4MBvRYvdfpEgCKJAf80DCVw8G6ACPJ05L8AzFoJ6y7txpMxjE2JV4DX7yrlYxl5ZWXGkCPHR1La9a_p0mOIs5OvP9r0cGrVHpGIVtxxPS4pFaZ0P93XFz7-jb5G1GUcFIcJJQhIkwNs270hW37ogcbrEY7xKAxXH1RD2sjVDJb0r9oeqlb0NvVKPoDD1fNZE_iZheoHdCJetWZ7kG0nv2Fw5WnxEEX7dblp3PDMG91Qr2g6oRlVQ30TDxqXbJ48m_3Vw3yke77PuCLIMQTKcn4rSBHgNMfJVUWx8LrNLcY-9Yw6Fsnuiz1Xh4bxPeISTw3xYX0gJ8MKuzsWX8wdwMd5HUx2xvvsqFBfy3ty2LIPyvbQxxOSZ6B5xipBI3F_uVgG14QnNzpRH5UIkulo7VKfIs9bfNOKZXMRet_CRAgfPxFrAM_PoVfaCFz4t_vQguBzLiniUU0_7YlBBGFEkbs5UPOg65_SICJ7oPfeqJhhGgcKv5LeuGrtAbOu-99YPVewuK5GFwIXVTMUScqpo6cl2QdLmC0_rIw_Yg1rOOTj8hbshXRHF-2A77d7eXegNNAAkjXVmvMQOH2ubIgRTWMqm6a235_Sd3oYibNyuExSsBzEBImjZqaOBj0SaeKCB7tjyO8IYcld3JeB2eXGyZFJ0XRihtiYRXDKRCjpAEAsWoFCCqFaVfMGx4SCS6cbnNYlxiHZDnxeA-M5Bp2KYXo1sWSWONcpl8PLhDNFGpHg8AefhLVbIVVCKjXmQMEAvpNfyqQT794shRAPcSqUSdAy98thsTbjgNDCOcjHdJCIhaHGDb8FU4O2qnk5jQ3jsAw-WY5wFQfJsJz3wBuzJkt71YRaZzo9KSenBbbuWyS7J9JF3oduHXfnnqf_k4fSFLdk8lj-It0bm4vb3nVMwNOhMRda_YhWXXxc1sMPfSRZatWhohVdXojpmBlJh1bX2S3oZvKFBPitQVHw0OBPnvc0n-w9WVNLCTaglJFRQPqo5J14_GCKOx0k0zKs5jgj2CjKZAlmxZMH0gK_qddLEldJJJKYpXgrbKM3nWiFVY3YggfqpBk9w_sHdYaEgcvFS43txOc69QG0_aSz6qO3-lvs26aexzO18-D-xwbUTUa4VZf1STU1Jt_VH0st0z5Z_wNwVfLCtYbmZnYPcGlpH5y1wvXRG4B-hp6qKSYBPUgtvyaVGsOjU8HFc2K04dmHbwR6xTi5_d_vNkQKpfSpPj9a6SuLMZzLcDDO1X5FI8sjYuzy4vDyDEzORb6zxykA6MP5OCygHgWO-3Hyu1KDVQ0GrYBsDhQxBptS1-KqmwkjXmzJq3AYjOprxkQKBuok5iO8-Hhbjfa1vJhm6sTPMALJEVFTlvIVPMg542LOaE6n4Ksy7J0DtbicKqMsmG9lOgGR9fV5qAB2no38nlaej2x6Yrrq_ek9Pc7s1_y1zGLvcX1zglEH1OAb_QPhomnejNWnQI7F4LBK-8GLKOj0q8gZEf8jCwgp5idZ2ZhfXBh2awO6ILqbgsT4pmlD9vBZHiXD0w_864VZD1ZuNjo_5wZMjOCdVmLLpQBvGgfnxTjTmqVZzS6S-2r6tnvgOCAl4ZMbt5D4VqmHq__cDAaNnkhql83hFuypQdzfS_SQt0YM0g_6_osNaGMZHMNTRKMGef4SoZ2leQEnZgs3d5fT1-RkqTrQJJsXJ767Pey_313_cjRfuEtQE-Gl41RwOqflLtD8r6Z9y3jIgZXZWoxt37eNqULFxEZgMZvHNJRYoeWaUT4PRa0-L1z3PNZm-3w96VI4fpdmGKpRsyPTaxR202Gav3KR4xy2mVQPEoqifmvxpiAHbv9RAouzJPiBagD3Nwwbpzsggj1lmzJ3p7Pb_WNTcOz3uWUNWi_uKwdQiaRfg_FWiNERTGEylhke4ZIKs7mCgW_MweRsloW-H-xRs1aKAUAX6uE6PTY5tfHdPld8Y5G7G3lxaf6X2Y99TzDEOsID4p9jx_nwQDwmdC3eUCeGFCG0v-JlwGEStMdA6ix7cirjaeTkvJMXCvQIVNENdS55wUSbBOBg0bfKO7lS-CC7CXxoNqTUfh0d_iERwzbuhAhy2yKn1IhBT3TbKDlgKa8vM7cOpzPcsUFYHMZ30G_BmRH3RdFMC_jIwiD_HjBT-h83oAS_-H5NzVBDKewXJPITceIEMDVUwWA2pbcf49pKv-PddyjSd-T-xLHa9F6qr-wsumItSCNrjaB-DSegew64tk-q86Tgc79UQwwiVPiGKCnZOn4HsVHiqW1XaAXLOAP3pQHBp1ybaRfZ5Wyt_imoo_G45YUq04NT3UA2_gjfqMh_rmb8jk3GFDWfX_Fuqet1l_RRj_C5cE4NFYuSS60WCrZI8uukovcxemnowC_5HY00QzZ8XXtpYnwIWC7m-YEBZX08Z1FTR1pG0LaqMVvj91-qKTQCeGtOvBrBJb_pe0vKzkFg6iGsuTBG7z0kfPs5_8xRPNaW-zOiE0_Cz6fYcUnc_HXuadOfvriaOAJzeHJGfu2Kebi0YCYi41RXyhrlkydmb9Fk0LO7IcFqTEKbE3LStxZycRdgApPFpreDuk3E-qcITCQIPQhO7ayOg0rSx8NdxW8Vqa98CvkbpyeyXqhxn4m3MPWRjchj_ibXsEfofIgWi4SQboz-cI7HA_Sj021Z6cSGp6C2v-bTPHXTru-6KZRQgvf2ySfuMDQSpGIh9zXV348Rftpv2Q76spm8xRHBzFJDXJG56HSwrkoBrqeIzWbDXr-gY0dPh9cCrmt5mbPQ9QXhaqUnQoSTGaMD6XKuntATTT-gNQmTD5LfggAezIR7oCVdapnqYX-FUkOpkgYnS2XqrzL4pFYhYGkB4HJQI-h5TExis4dBnW0Cf9n_8iY-XdQuim5qnXUlbBOPHMVxf8J2ie8YaWqaNjUO7sc-YEc8G1-7Qgd0FBH4a_EDrNYm9ybz9gmu3YO0TawIVrsyMEAg6gJXhxUdT_RpKhuOGLmf8CtgDJVDpo6DUQYOdg0J3_uCB3B0ZLJhIxb1B1bqr5xjQPvGaymotvdmTxvp4SVTYtn4HotQwIKruJplvfhd10e6ymtKd1aUq2On2A2ITrdBL-1N2sW9w9aGgVnDKpj2sF85HriXbtQ3Ku5brdwb-IhwrXD65Hf6-Sn7JJaCQC11x3Cdkq9Xn0QScsf5Sg2LMJe48lIGEldggqcXkk8jiL3hcK4A9nNZVLfguqG62LP5yUJT37k0s-T2pm1MX5FEZLcUYZWEXzWqzhwT6mk6068AzhcWzZkUGTkkcL6C1kA1KaPSOsl_z8NFYKdi9IFSge6R26eXGlTbYoUeh3_VXBpvkBXmMRfYd0cy85N1ayaBf1Yf9Lx5Okjo7LKycuT-BzwWjeQQZ7WHCivf22o9Eg1GNjcS_0KXtx6eVdgIkaU4bXmppVCVQQOYAEgM1EDPsQBEd20yunlm9i7RUXVeXbpw3ANga_K5I2xQkrhwwGcmUMLdEgx9SrC06L3fTdNMG6TeeaygMk4YGIdKQx-kJN5vrOfbo0APUei2t42fTG7JFcnMucrYRxyXw5GS4b0H-UFJehO9YKcAjM5TF0Guoqwb4I6T3UqoFg6flB5qF8f-7F8xuuXKUuOOaNq-EAZ8iVZHhfdiYF6xsqPCj91cyKZtvw0i8rloM1G3AgPMVxbkjhAd-c3-O4RxwBq4X9UPPntSjN5fN5FzyQhytuIW-ikFdn_v5e4jhSstQujuGsrcTOlY2rCLA-HGcxDtzSL37d3ChARH4EJR0QPJIyGA2nMXslf4RfkyljNsNNx_FteSyznmZ-VBMGgXhIl6j0wnKH_qCWHDeoeH8eNGr_1MoGW-EgAZxF_Z_q19Bi38BjbNieSSpy062kZEeY5oa4K0cavxW3a6_gikxD56xEVVg9UJdWBtlkueqeKv7YYAvkysJKPwe1nCEAMzmd7fuwTYr3PzQVRo8kwkLBXVfK9vCdYxz9XDwiapeqodunRsLF8Ee2Sq-lEBgmJtApWTYbLLjL1LkhAqsY_eYQIKJeZXr-5gknts8Rt9mgn5VIgmcvE2a8b8AQMYqjmnV4jPHwPwLf0LtcvN9fGEDIHridRpGdMMSozMjXo4ooA6tNfiMLdEDwUdx8l5vVgfGfzucFBRxww5dpUUdhb-gLR228aV6-nOs6XUUmDZ02A4YMC3M8Gof61Ye6uPOXK1InUub6F3zwVxQPStVlUwTtBpjjl1p2hj7UpQvQ-lXVM8I7As52Z5VjW7GQZxIgwQeH2MX5ts2DBewRSHDOSzx3Fm178jlnr5axayPL2cDEuya81YdDChvBfN6mjVZWwg3ODl9Bg_lbRycs1-3bqFYBG34iZoWGHuPMjM-2tjWhBookQsK6RuzQDnKKVxoK6rz0vyVT2Letg7ybyQvRVegNmuJl6DWi0WPfZy6d5ZDJ8k2PSKoPpv1UOtF1MDvd2B44jYJd2U5KoN_XByjsdQn5o3Xy0cJBuK27JxvoITX9jqgyfD247_EHZDfOiGRY_powO6M2s9WJFFwufF_R8_VdJiS6rT1MZQYTqfdM7uk6-lpOxp8FtOMD3zpxqZChM5FcPCSr8MRjiSmOsrrUlcNVhIEQXH_73SNt8p8ODOMc_O2cFqpLBXD3Q9eWk4VNdErKG8433C_ydEvP4aB3yKMfjaU1AHIecgovLclPKEPVwmOD7La1mrTi53mlcX9ifawNI_nbBnVxhZlo4HletGWBF3KaHcHwTxkm-ag28GB6TvYQ8EiWLT8_lEtIEjsYYctqzlfBjTRjRu9mEquescQ0k3SPqL6n8mQ5SqraOvbQrTHB9yMR2M1twTHjd4-NfRI_eSkTksoKhCtLx_zAj--BLiAhrZq-cYnGqMYOCbOiXU0ZqrZbAprdhwGWSL6z1R0uCBXRk3YCElcvCjhTTBmI8kNnyiWgo-KVXSsou9nMH5dSa6jlo3-3XJZYoivg7p_VgszhT3pQt8CtFhBh-onKetLJ78FfHr2XHuBLYoTXK1-NwjgBsWeLaSVxtb2LPxYYmujvOcK3ffyTDthwTCXwRVPuIAsqZfAYzbLpufythnM8HLoa957JsAtJMzkzJjqLdIaB6fdTWoLZsawGhwqPciPpZ2Yp2qnIiu9MRbXrRu2q5rT9Av1vvpyN963K1TIklmpZJUq2Mqfr2cqEuFE4nMFGPlTlJ2mHKCQ2m4Ld5aBMqlvadVhbiyieGMEtoZ8f38KtIIfGibIYL8QdyAZbbGhK6E_TraHtigX9rzg0upuS28r8x1uOXyESHE5mcghHXk0I86VsYeGTcuS9L7Gd7F4ThRFvlE6j3z25bwyJTsTF4m-HIY3eYKZNXpUqurkPlg_uX7hLl3Ccr3uV24vVX7BWX62fGcmBOsXDfPlccK4_wDFKqsMvRdmb81cZ-l6DpF3lCHebk7QUOeW86L9MrJfUft6wMo6SiOfG8EvNmlKucut3fMsuMLQK1s7h3XIMdm3F6lp6rdIRO_VJhWAKp1JT2WgXJrEBwIKzz_B35YiQaDTOAhZ0wwH3t4GUJk-JxoNBJHh_xSp83cE1ahiVF5dC9cNua48IdM-NSt7rL0CTcBzdTK-MgH7mZN2sLRmF2bjHB9SZimQoAAHtcCQTo3McXvYwcmR1N0OZiCcHsqjNXTKtJ1IsnOE-lgVWUr_64mkiFP4s1LRWmbZ1gnP0GMH1FIFFxVgxg62vQNQc8yP5GmhfZYLiB6yPO1MMkbCAqvxoDX6TKF2M6N6gyHIo4UQgEbc0dtLAmkX28-uz1yoi7oh5-b0WR8U9flBWcxH0IOb2XCoUZ43xS2Fw6tZIT5DAVi8rL3A1mI4jKYquuPj7eWK-TK9Bz-rBEhpfqITgvffos_8O7NsBbtMfI4JTTxM61NkZ_u3G37umOUWm4NCgszVmLbbkCoIvTAJUHz6b_n8Z0MzvoT7DHrP1OFFyXYlhUpFaFmT6wusETkbYp5DyB3sumX9WZZX7cnS0ms1cbR__HmvlTxvSgUxd117v_FnorWCUVUyOZFFBsBngCzJXKNUT0owKVfqioti66zf7jVfp9IDJD99-xg5zctunB4gOBJQyBzKqiRgThfM4a79qNYkeavZmPIzlxBEP3ynzADA_tVdDvsECjrv3YH8T4WKN9Y2JcEIgmkbysGV5desWJpbjrRSAESXTgf6_rhevrebJBQ-wZlJKj_IRZNcThnA397dunCaqKVX5VgabTui1zMxBB1vu4mpSHKVPODvZxWAEgdjNcN7YY6AAIYnKv-9tv8oe2vk8d6wjFC2Fazx-ahvxmidu19AzEfOCJIbN1RaD37Cv2l6Y38aSY5e0EFpnZ85cCfh9TKEp-U40vxySwLGExKQhoyXNvr3SFbY27IspmVjM0CixjgaNUysK1zAXR-RBRWU7GjRm8rOqEWvpht2DAzQwd73TuWJtlkqq4wzOOysqEUI1JhzVzPf3M5lW3vEcXq55KYyVR38kU50xXuBWdthA90hZqct3ogYdI79mydjLOFyXC8Co40iAX5TDa3ApiG-kS__I_74peP1mO2cON_vVE47YI-P38Z36yYvyJxj4l9CA2hCcfHf3x-eybUDH1f9-gCHdjOUoiq2HCVqGab_XYux_Kr_5UoFsPdVmQwjQuslpNrHt61jAmb1HajCwJVn368MI_Dpgi-z3crSId9b6GMHRFhAWv4Q_lkV-sXVmWItxvslOsRLpGe2-3PY4l-jJYPJQ0Wo749Lu9_F7BjufLlflkwUIeaAbkoBXN4PMlwDAo7KDZsKsl06e8EW2J2X5I2qKV6y6mj_YwK3FwvxhJx_C7vNV1I5XCGcYxhF2N0rvFHd4NBVl09Wv57hfw4DvsNFS0bH22zM9k17am_dIQUo5x92yURo8MuAYboLjTktLrI0rdPie-NbkD_n99fjnP3AWEEIydA_5s_l4UAFwdoBdavxvwbxnNPZp6YIAtwVQ1LSpmklRYf2tI7sF03tz9gN85WCjCioMDOnjatHfo89VhRWwooan6Zo9r2es-w71cxwbqkBZAP3KXijWV9AJbiKDtzt1z6XqIBGbnYSOPeAeSxLTyZId8hVzcH4Ipt771hl24SWyZfiwFiIf_QcUNvOTtyxzcR6r1z5n_AdF0Rud-LmYobk3PsnWHiQlRe9r88FKFZawD0FvB9JrSOSz20Mx-QX9C5zI4ulNQJJuE_rOh10278U01iUu9fsdN4tWQgu00L1767BIBNZA66X9QL3q1AatUaLEmpXxffOVtz6iCpHKO-GRi8-36g8JkmUL5tDxAYwitLOaS3vuYrQYqhbw85cSywnD4UwuA2fIvCknB6tywSj3NMR7EW88mHy6aAeC3r48hzuerG79GvvAat_U0qPEZVGiuNy1T43D_YzHmfz6v3CmLZZGvM6Pnpx1IlJSac7nq8LH1KwAa83gTxiJJBHJLWtamTfUiOqXsSUQ5JlWUZBkvRcRTKOukdo4bZze4ssFmMgSdl9Xm-3TASsCwrmeKky56HHc31CPNnuCTVNn7kMJQd8z0gyPz6CNDGAjpzobFhxYdW22F3a3Y49ao6hbDnpgxI1H-2Jo0YW7df8HzKqVoVcBhZPAxO5CpwqapMJq8OX-pKzcsWLTb6uVZE2IALPlWv8vX4QMqnTzINEIaZ993UkJ_dr5I9sF5oPpY2azGNy9KuHgpEzwHzHwnqNEhcFHGzLJlgA5V_xY-OtpzhZ1sk3KXkVcbww94LFMQph6_yDXjkgIYdatWJSJysOCCYpRVGAqSyHtZdOLWmjN3QSi3Mv2SDHXKkb7__3N4bjenmJxabXQ8y8t1FwiHeYkNEt3AuWhb5f2eNHF7z67_tfNDPQePc3kZtiq0LAP_2g3_D6nB3KCXxWSeKXqOTwL45tNwKy4_745h1s76hDJkzYEi4WMQD1Geb9bHinJakX9IOV3Q0scvpHInc698bLCEG-BSMZtVSjxHJ2wmO29O7SMbZdVaaWQT54KFQja8JBOFpf2b203kw4MDu648a2kdO1rQIVHVGbLjlXYolgj3ZNWlyt4CiMzbdV_ALw2I8ievrcg3up8x9I-bEsjfagGnOvw1TyzG9_2YCV8hcxK76Z8nH5xCIDHxpfI9WCu9qNUxelX6-WG_BmAJK4zhYk4zQ3mcuznP7IS4NfSNYUQSOlKTBLNlBwbXDnTtXpXVDqTs5O0WFBldKTltC-0LAZD35qacaFmN9eDWGaaV7nK3nKvjU9_fgsgC4KsMHg19sBH791ioMHtPL5EHESO9mZ4HyyfnQ5zNSNy7F8w7XDBTnZFjO9ogQHLt1xpjk5BykZ1Bc72Zq_T3NVG5YPtNycmlfmIaAgvJo_SGwK2Wnf-pXlpLbujQNRMOOezJCIyvxVI60vOh0Elqj-8OEtR3no4GWzKrIVRF4C5oEp8ZjOgQ64DI6nwOQKs0QmbHnMlbo_ZU3YIeUfub6mGOozfuqkySAxgS6aIZrteh6hgKlHvYVbyT_WEor3XNOjEJ3vMg9DySHkFc6GIRpzz819ZQj525sxGi1IstmDmXj37MZdYYtxqJFFTuC3xc0MNsOhxecRfx3mz7fk4XBWfVLhYnIJA9zKuHLK9ujKuzcqNiNvCwIKY0TVRNwh_Jh3sk9ng85V7wbEyFd_vwl1HUR4lhtEudE2fr7fg-NNwGC_gw-lbZ18RI3DlNO1J5OzVkZ9PgTEmHfiAhGXrkzGquc7K8Kbs5Gul42QJ6tn6pJLQmqNXul5APQqKSU4Pp4LvU-zIwsC3-aWLlpZTSlIuK-6pmgRfyyQN2abhPBNEuooxH7GH_qXd35D7DWfAAG1vNKr1-HJwUdary6cOLZ8L3pq0c-1hAfPy_WGMPq_MsaU4ppGoFd0dCSPpUIra6AFVkCWXg66DTtv_RS3NjsJlK8xSjOXu_r6WOLG0DdjsfaK-YCpTXaabxZhKE9bXd3ZPR6F3vvhwP_qwsy2tlMz8keLyjzXkMuBC6oeTgYYFsvDdGSKdpIinoHrm63t7_AW8OUKVNHuB97_G0NKV9YXSLX1AAMP5ID6yDe-ORQ4tF7Jh8owLlfoZerbaA01rH-J8q0jGUfu9KKd8FQeVjBjV98F8XAHcDuD05rzsGS4SXxcZpgRs_XXuGhCSjJl-lacQflTuUPh07-qKIfN5NQUROilSqTxxnCi2lmqkCbrZl6phSftPi_1n8vIKIbpwAxkS_L74iz2PLPc1xFzIll5xIsD1sIB3qk3TnFseSkfrlJuLKC3Xi9J0bs2LCzS9a9z_dJOmXRGVC5NjzgOEJtvk0tUsEPu2BM9IcU5SLbFWjlVn0hz_f_dikSV_V9np8dNEkBygtJmfPTYlIF0VMSwMJjF9ULMtiJMVnGRW7dK0InFechokhzNwzeS_1L1bmGOTTBrPHHEc111RTFexgGYZjxNg7N2Rz8IacrKDJ7unFbalS6rbnuczLgldRzPYvKcxg2tzhPlq4JwSti53X8VMfmytjBX3-RgeVlKFoku5WwHlOFPnQNmt1LCjhOX6BZmBmZVXb7es9Kv-Rg3jEKB2f1us7j_avq8onwUR3GdrnCtDslpuqVpfc4ZNlY2YBF17o9604DdliXFNeOheQWVhA-sLtvPbvakF0dYZ1NplnoEGqUOAl-FijbxWshqLTvDNNC57EqKXzhFGUKsXqdrXZn6ffoZICNQnYFdDjvRoMzRjvwBnIF9U6VuD6VCrrRmFjGnIUX5ui3vJYkFLpD2MWRmQA-lk8z2L_qbLuFQ4SEBC4aqCaLwj3KE6ZPPNMX1mQlx_PpBcAq-H2WVTDACvoe9MxVHUyyi3XDQ89P3wlm5OW_5-o0Yr-h0bLmpVLGiI66LhPZk7S91uX1ocyzu7rg9gQRdxH2I_M3eLCTRVVfiHJwCcA-11ORpkdrYRcEnvsLsmgSp_deHxikW7FsQz0JXckkwEbVwTon_454crDAavn7MvGBq4zdhHCSD6yvBRXGttOyF3_D0jLBUuIEEmXvz8iJTDHoU1nIsMQ099wHmDh-vLrHjIvUEt_lXuhZqSniM7txdLfWaM4BDnHW8NGV0wmZ0UoU1eHHufz98WxRC5IKx1s5zCrwl4gxhFpvYHt2oHE9OE6KwUrTnQEnVEOZgoJq0G5VbI-Cw3RuHjZIMC3RFERZ6ErK-qQD7r1TXNLh7rLrCvMDQRB8NF96LaPmKuuMk58fAG0KVIDi55ZVGai7X2CrZz76NAlERxn52Y4eUSq2ZvOMRYfZ2ImnXUutFdTQfxLWgqZ9-0eaNf-60fuR1Dluo8v2hSD-U6rd1JyAliceVrfucLlA1Vf9OzitvXmC8AHEB-p-jjLTW0q75Koni56p4WFx-DI3I9hM8HnEhRmFEE8-8sO8n1yjiKEJQDRBgauZn0nT8zFz_8vBKlOM2bq0UksQKQLAhGPnI3WhbCFev4J6TPY84wIkjCrl7B-ynpaiFzPNl42kn3DWUStWAfZLD9ed_00xLZvihFfJWGO1EpnL3q4K5gBXC9TZPLB0vKUCFQ9ZVVvEiOEg6wGNnIGP-yESdZt1JDAjd6JVwnATPewHPQjbb58UDfMPudlGI_638UA_ETUfnlAZkBejaJzgXSI7yz3toQsXVJSpvsU9VVGyj_SzDsSvpZJL7KiEt_Rcsh45AH1yDz5iDZFTXCxBFwWBMxJc69wHDnCgWuejlK4zyVnfqLeWb23SlduDUrm-Tz6J-XvMOa1j85t_ZfGHxJa9SU9iPDpXYD8RvQ29-joYJemlAQwEKN6bMAYS-8StOOQ8G-NRJ57thVPFMgk_ZFOEb67m-Yab6hFMTIGRrmlu__yHynkh9AZVgUFQYkntMEtsQ0qpKOJwhXTLmA9Rw_u2bmj528LGcEnVNuQgu45MDozC21Z6aR8WO7TljnMTzZK-AIsTI_6abrL5-RRzvar_ew6Gqcydctiu2QizLWqnVVljZqR89uBBJEruNCxSpW-N6ilF5658VvKOnRpjpyUPnHh0YG7YfxZLlBGPZ4XpOCCyAni9CJCJIGJMoqDt1KayKEzdAch-grAWapM6pQ7KUXhMwIZxNYX5iH_ClubjpGoh1bB0BhWh-BdDKWAYmWCgpS7UR2bchcNjlmevf9tNX9c3-zV6qDmNsokat26CMha6sLwLCErzvW8cYgi_tTpjQzcpbDAs1ahR-fHeQGhYtNEj4DhMQDMFOOfgMc-PF60nyswyUZlVZ55QMv-fnP9359uvdr_9OYEdcDskF0bt_i2HlIw5ENHu82u78MIcADuW38LnLfEhnwVwnuTBhwYb6fgmT9-ebAYPYg9TgAcJLc5umYzXmciGyftOWyBaoQXjrS0Daq382u0mXYW1bn0THDCT5jpTuAGxyA3nJVLkJUwXldyAAL29gqeJsl54tCfH-SB6OF5EEVJq1bvZjOMuCQVZDcbLVdFpsSRQlDQKj80TEWZjhRxuJkhWSgdylkN8KTlzOD1HIb_l8aZn-TgOf2dwdo2yjNUis3L8gbIFvcp-VbEQr4W1MfRNsqubtzXv8VXkyYRd299oE92OCVGo5rDwPeADZAU2PLSJhdoILaSrtl7kxXUgE2B65tQYIler38k4zvTpSNVQZCEmRbHzjpKXuIVVZewxR8ZyNGZPEtN2TzmhXWfm8E_nozIEy4bFIUMgKuAOMulX2uOI-5ye-htXUZFdhqeiGlN37RR8K8N85KWkFDIb0i0G-hw9AnopuGhr8fPR9PkRgnpQgDg0NJdjYLqcdpawE0zaM-fuMKY9cYO5eTU-NltZosKaQEkWPqu6up2IgQLA93UnzHl4t_3O9_vXOZT6YjnIaM1Lk_of9JyX1uA_TvQiG4tnFsblfrcchL1h79WvbBPlGPChZiU5hGa7qCKvj6qEKb4_D4SY28HqSpjiziWNUbeubqd8vCVw8Jb1jD5aHHAEurafaVOOaR8s1GeqQsA6TFfrZknZ8XerdXSP38_6XyH8zbsHw0S_vZIxMf2ceALR8VQEiO5dFRYsZn2bxspqnFDsV--ZoMwHVa3jOm8DHhuRzR7F5g4ZwSHiCWcKST1CQuukEYAFQY7-Na0Ry74JUznEvS9fA1QhRGwFYF9mdfE2Y0XWOcaeh4Fj0Ru2tpTALa8UK4nI5au73P6abqo-CYzazbra_8aJxVTv75kdcAxO0bp1sOlxh6iL0V4oYuDisNF5ImaICqHXYgt1kljlfWUHOYLwIrq7LfLwessBNpmjFIpT7vm-aNY5GzBs4wbILjh7TUECpLXxQU-yBLxE8Aup1blacsH8YiSp1N-Q-a8pc1oAppz3_36YnF8VCnpeJWPXmt2OMKW-RlJ_L2NM7eh3s6rP_aTHoavMbGn41L-ZCXUy8tBTBxLfcXA-rQg4TpXYe-Yfkm-FD7On745RWLtmMHKqraA7Q6b1QJ24KUpV8U3FHgwzb7gRWcoMqovcfMFvczUxatJFn9X9XnwlZqZ5n-e6MvKcy-yI356nlwgjxM6-fi6161yd8OeCmzuDg1SfAzBvW6XRNsRyMyjO0PuVRthXt6_A9Xsk9H58x5Zdgd8HMtd5aDAaghPWqL7FiR1jO4-sypfixvBgOnVuL370lIRtMED0dpUVUjXY_GEDPVmSyFFC-W9FCJiNH_Oi7uSyLKx3Q_oRTOAfXUgPp3EvHWUys_LLW6yMzKj3z1f3sH1MLBB3HEyTwmwL0lh11nnQgkn8tJwrh1J_jvTQy2wc-0gF2F_ELzFrYPu0AQZ1-uQwr1dUhBZ_xnQqZkAr0A1MC4sx7Ifl4ekFTamt-j8LSTO3gLB3XnSzJNPh1dcmDs6EynNbC0-pnOBVaTUwx3U4hY1EcCFm7M7SfxStf69IrfjuSuYuu7rrEydcpEEU6vlzeeXMuSoe3NLoY4FjAs-L1ORDV6qFxjnRa49nqSHiX6YjrwvlPlviS2GoYk1Ruv4M5e6X-e1tBJiR-V2E9KtKVh-HUVQgt_NosuSjcVlSp475hhsCOL5pJgZneRlV2LbcpkEYqssLFDh47u3hn8PAobd_X7tvd_1Hh6EexggZPbenGbWlc3IJRhDxjf2x1M2E12k0tvQZTqhGcc6E-ZODS-sQDnw1cjw0nE6EEYE13wz79g_4ZmCug77XZ6AV4Ae3AkYBu3TNQZK0vBDe1LDAKdB0SzivPJ_pE6GMEhM6CagREFtRLzeWbb6ixsFmrmQD_-u8I12_bIpIUPEsI2VWDX3qPLwo-L_JX8Y_lnOhwAFdJNMgihXFshqucJLWNzlRMbARecb8pxKZkuoYWQZnIzKQFTYew1NY8X0f0Jo2BOQTxlxDvYTxwBDiiXfU2Ra_aVsDCm-Vgufa0RpQ_DyluIwpC18XSjbijttF5vsPISlc157uzSg0khgKmX47iZj_1pQAwVVKB2H18xcu2MuRm6u0yLQTIDgAgJLTOzO5khE_5ItcvgpPc9wv6wky8m2pjU6QrnuLgMQdIf-thZwkEMPUOwuU6QcPcGew3Hf9LA1c4oRZnPz5pHEPkagEWRFZG0BTTIPhpGv1PpZkaD624dfs6oq4siuyI3OC9mks50Trf_f71FtZr_xqIxGEnPl_jH_PhsLU-lRSkDRYynKHf6y5lQTm-oMmuXwa-6yV8mT7RXE0f0dlzV6JNX7C2uo2Gpq6yeZEPQUsCPlALl9m-TsMEiz23PTgQ2gTC4f0GSl32CMMi2XFootSkCPd4DQvRYREWD--6SAcG82pCk5gGSgQZXYCT0_YrfGeDCszCvVzFTDb-Am98bAwyfVusKJTdd2pRBQ1gJ3auRwYrkKcJ_N6UEfvCzvcGawgEvkWiSBe84HfRZpYT50d5u-jByxA4v6wb5CL6XR6Rna3DnXatQfzvZmuW5f3JK4jXdXwzPcmx61Aj1pGXfibcHkjVgPUc-7fOMD2uy9LIR2Wzloli8V-jQCHNCMIPokRiXbDwlH-f-DAo7a8CRQgnUNQW0RgZIYB_YO0pqQbwPlNVXCNaGnuqyQyiihjR00TYnCoLtlOO0PEW_0_5MMTWKwTyxMemcOG0hYdqSkMRO9c9Xj9BOe3sfI7SeOhXuJKlt_F3EdJ5xarnM5xcNfrRdN9al-hqJw0rEbgu_rXK1O_6NZxNTCa5eHLVMMs2CMOkXuwKhXaCPjBbTs_S7_GnM9n0W56MQsdm49lASvyNCa5opjwsESENF4xPUxb_7cB52H2dqFKSxTmHY5iYtPCGNSO0mJzpbFWosob8bQTOVlSidWCJhXfW1v3HiN5a8otet6H9XIaxGlMXBsrc6oEaqZOEVyBsTVVT63gTtMtWL-ZYtaA89NxmXIjcx-8ccSmr1aGbGWBgeghEOuQfWFGMmLgryYHbjotmBw2jyPs_W2XaLHO7cMINP01JrvZ1nXFtDN8Mokx9tq6sYIscX7nn-7gT86aDJhL8Lhmlicn0XE5NNg_01CnYDZWjUUtfD5mZWzIkpUB5xzT7oBwMQQj0XqYXl3vKRogqnXPX8tVNURljwqMys4zUyBhiFXxoEObt8YKuHYDcA4LVNODHie0P9ufaZDYKIA1KeKLsXDbiAkiCeKqOY8l-o70_BCwiDDi5UjnHqyTBte9pENKmQ5APqe4CmLGDbw3y8FUcSTZkHp9JbTzzwVq_wnkXjA8Out9i_Od_kbbEgefuMFJczwgBIiDzETz0kaXIcpXBIq1RNeMw2ZY3aBeVphqsK-BusOBAkAxsEf8K0fmJ8TW_sakR8GRRwDWL-4NNgwrbpjznUP-v9NIDwd0cJpQhq_R0RYC93TilgmjN-LOqawyLoNTJ1F0YK-_uPsyc2wWbYxeVJWR0ECZM-MC2MeJ37cSEgGDdEYhRXLIufVpVV4wz1yXs-4Oay2x7HcyopgLEHpAIjyRE012eB6kqiTYlgG_tGzktHS4A28SCHD2QtSdaGRkcEKzPwLUi740rCosxrMI4R7kHoQD4x9YE2iL7x4XZSRtf4y9q7CC7r3-ekHZ3kjC0mo3xEubzCz3YFX6XgpKtUVrLex4IScBmmwTeg8HIBkb-VrzzV9nRKZ1kozNhO5QfInAnXbVdVAPTRyHpMisiHDJItTw0kLiiIUrqluFV4O9deLZdDzhltbIR1rvi-MfH5Tu-9tcNwt1LVx66vCN4BPlEaxx0UFXHta7iw974K17IkgiQDWgrnxr1-bZmjHW99RoXHVIQqHUHiIM0DjkS4VTsFFwDFN1soyU8eWhLU4wJDmAQ6QcuofgTJd4LASD21Aunhsc_Z81jGWAhzZ6EQ_CSHlt-5cwNkkWe79sLJ8zxIjVqtS0_GdI0MOYJR3NDw_r885CyzFZsxTmbk11184Qij3RSZ8g0TJPexOSj2DwhfxAZw5uEtz-sEDj0jEuFPXoaFYhu2nJHZ1w8esaG-ZYh595iLYK6deaxahygY-1PdKWxmVbYNJP1c3KnQYLz2BGfJAwNsdpUKllEClhcoegUUSY2HbFiiTioQVcIvMX6l1CsD7Yp-X-3id3y6IUzT4OIgzSF7Wj3NEZNPhj3D68giFBKKQ8DdfyQUhaOpv4itj0HSX8u2iDCl87ZgPpj2HtS3L_NeJHC0FCmYllQJCpbpYy9fyDr72DAEj12kyWyPYevWfsRLCyQtn9DSJ1bTWVbefSWpTjLE_vU7gck4H0Gdb335lG1VqemJALsKD8Td1KpmYohawcik_RsMpw_easxAa35PFTznHg8kCxmLMOXkReiAILEW7mZ2R2N_yX488MA5g8r-_qQAhwb9-yg9dH-a-6KF8AVQrBKcZGF9mFJRwRyKM-7XlYB2jCIDBb7jCPvMh1wnjktbegdZ7MlkvsPdudkB2NFVQQLVnvY-J7BWRFX4Kr9fpbUxX03e69PBEofvkqRlzc0fRiwwKk9L29YZyNKAAtkTuuaHXPUcRlVxaESRaMeb1gU-ChOVQ3_0vuYD2NiAiQj39fDku8Vd4oyH35oYqiKQAIydm1LPut9Wo6lrahZkZiJ8778FPCV9nZyoMEmQkKYKLC6xRg4plzdU5M0G8ecPTi66LLJoZPsDbPhVCqMOdI8yClcLLEs5-DTLeFNZ45JMRtl2H4brF6S_a9rZ5imZG2B3mL_JklHXe5iHbkcqCDWIgJL0Y7A4vmFeZeccGgAwsEle23gTV6BtKDFO26qeIgsP3gkSbeVzTSoZBBmjvhe_EZvzgY2fSEHEMcZezJmLOgAlZ2tLrSNbsoSBr5-07BQxHaLEt-30JBeFxDs9d4Tl4M-V4qKcTxtnMF3A-l98Q02HDgmRek-QxsfnuQB9ipWqPQPyPMRdVvfW9xcPVf4gnlmga4wLdYN-L4vIfbnEFqEdgPOKGiPZRWTYezTtWQhOBRcaQiYOPW59yvdPJIc4EZosfiAlbhu3Ogo5gBJTHVXbaPIUMmBpOe8oOllCQkcsJhszvmO4kcgXt5GQbhzngWMQOorUBFXdwLQe1jh-1aeeLnAE2Jnn-rl-fjwSWFFEgKZiSbwKTHim_1O5Wf77f9FuF-RT-uatQbha_ce76mnp9kY30FsJZ_38HrpCRZxQdRp2CE9LPhYvNKcNWOdkcHOJpCIJDrWYLk8cLbJpJCQiWMeTDEW7AJ5TQRAYZHZjxp2PgrbznTYtltzFlItg7Ya2dlb4UJZAXA6AFLxFXvuqkF6EDJEbOqjAehctYUdvV_VenmGpfA8bvfRN8RliacM-LYaw160fMgmUV_Kzp8DreYXBuROgfIKwxNUkNs10JIgAKSv2DdqZa51P1VvWeveP7zX3BBYl68TdMRy7mtYI9t1s8qtW1OObkDseLrP83IV09hYp2GIGIuiyF-PxBZVq4GiH5cpUCU6GTyKvgK-2EwTY8dkdDrv89zjOJLEFHE7kcuIMNazum6-ZkJWgZOG6pIO89NcYjU2qDn3YYTVCN3Iw_PX_XwP7HTyMXSgplkl5Zw-HFTKnqXALELJUxpZR9auFtskAyY5ClRS6MX36nGZhiDu4lOVMFXA2BrZO_arnaJAuHeKYlaFSkcpo-EhtVQie7Crv62U2vSrOkbvTyAeIeMcJodkD4fkXDRg1OzJDg1oQfmLhkZllp94EKKqbzcjPkrmlRkamsMsk8pnQiCj0FXSrhNh06lKbyVQHGjDMr2zzWGYF-SaduPuFVxONMdXb-vZZq1VniVTESpNE3gzKWfsYSmWwyXakTHpP8K4GbILnJ3OQieDlVeuBtnHr38KXD2sgRbhIlN7ZeCssB23g6fURI6gMmznDFo0Rbhyt9Q2PheZ8anABudIf3aVKzBl2fGm6XBhSfT4ThdQ9fBzpMBILV5Ldv4bKFHB30yBpabGeEYq2GAMP8kvPlG-zMllonRSSAubySBXrlwcOXTUe_OBeZJAh5MQz_Oua-Lo7bLY0-QLenDk9GQfydj9w-PFEik1M7urtalmpmygvN8CuuKOXCHmWGxbvAb7NMZhA-jW7hqCTMmOWl2Jtpv5Sweemc3mj-ta44NhA5blROkRO3rzvpR6ob54ytfEbsooF7apErEcwnpwY35rwTYNtloraUIXraIGY86YOxvVj7SLSz8wVLpjGX-6FruTtWyZ2ijM_Ak7R6IOFL4z5ezG_Q0FF4OKftoWEfkMdF1R2Lsw_qnzJ9bbK7dCqrggIYa1PISb8tGAHpCC9Na-fT38dYFMYY6njqN1ElJ5yer3cW7r1P2-NE9uk_QVoSDS_BN175A3UT8OG37pMs3g4uoJZ6_MIEqWoAWOhCuNxKHtmgsxC53MRVK4qhGYHe8ms0dKn7TigQmpWDbzc9nTSGYEtS-d-VQAodPOHdv74gf7kGMYwjfYPBmqcbYBw65nJph3obTQPoGzSXfhUHBelaWA9eo5hbmGYq9cqPr0UDyBiZvmXicO_RY1F9qdPiD4nMhdHcifvToefUgwvfRlFQA4119IalTdFUx2RwUc5CAo6hh6yD66oMareEypdP5k8vlV7xZ5Sl5h9M9tztCsuyhkrYSjX8FMaIC3n_Lphw2IAtnHAEBZqGt2-SY_EOBYa55JSlMfk-wiSptiXoUKsnH0vlnDT1d5gLPgDkUfVj1IkMLWeWW1XZwowhRHrgxzXdaswjrSe0F2P2TBpyiK1yVuiKOXnhvDgBAR26o8yd-aMT9oHxvPPBUam5GbT23KPYOtVPbA1Q30H2YC92bsIjttmN0LgIQCHDNpBgq-kcOvINn5K3A_ZzqqoRnXrbDVesCmwkb3lyHRk5pmq2mtXxUspTaLVoPSqzBaIm3w1W7il-45ou6UMhVr01qnNALKrbPoGbvVcye0MlYWA_7ovgdwnv6Hbv7LKSQ734HQTYVtdLkI-Cnibb1dbwTglsZfhRp-vVjdeCjMHCOVHMhem4Nh0TjM7u1tdtAwUYCCeOYkNRvBlCz1DU19w4qEz9_zt0CS0zxs7MzwKxM7Pp2bLGjVIJFdRU54D71uOcHqdNpvzKly2x_hjEN57yfk45GL2VE3ubMfuYRy7bHg2nyfIyc3edSfeY_4qVN3Ah-6SrJm4qBapmYHKNQKe4GI2RK6ltcgCZC2_F7FoHsx1PP2m5KwwogahBXgt6JPz7csyZ7lL0wrU6X1qKI27Js13c9Oh89jOOhnHhKIdRFREs5pRoZf23v7f5UlRK5z4t3W677rdgLqP73qL07FjTMXXHujEa6wmLhJxNREiwrQnZYOPTRbsJd5zBQKEl4pCx-hzPYw4ZxgfwcZlLIxNGMEPSl-VgIUwgvW6mq06JwHR-CiJjl-5SEboNruGj7f2jGaZhkGfpoIlFVHQfTu-ZfQDH_149sDt8rjzYXPsd2eMkod-15E0pNLEEiWMJu4ou9Er4CSLOy08b85dDzLoVToHpp8oL4k1IHcK4eXhICMRzhbAhDr5iBczHy7oJBuK41XICDyOO1mcjQF2vV6D4e8J32nIGjYI78cex8MvwE9jcoj8c9eTfcPRTxI9DCrn57ETL57jmAeH0WtDiOlS4EN_0fYpgLkyYKHwvurG8XNpDP4AfN6GD1Qk3Oroh-A6p6mCfGSXqvw74rD-Rpig_-7gcM6fB9d9HAo-TkbBgkVfWadDXikRbozpad-JwfNQhKgb0fQ0uEfElABrmnB6iusoyMGHTnsTc-gUTV8MWi1qyNk_fgTfgImGesLxIvNz5pkbpQG1G-FdOR4mWnz6ylgwBxlDvhHnAGXVMQPD3rUL-pKA-Sj6Bk-1yv7Q29ZjklzBlTla8rCGqB9KIylaEQRbpePEWGINf5fJx92sR3TaF-fpP8zHdOPZCNG3tpC46YffaiW_j5pKepgXtZ52YS_ud8Oxsv3IBnKnnd48_KKE-tiC8GXNxJCnjfullrOsUVDm5sELeYv8bjIEl_MT4WMPV57IZ_sG2a8HMaVoqMTIzOpTWzlVc0MpijKYEhd7fHIgnxTDc_p-1Qc-YFX48mLIk5kHLsjMwWSmBaPxrPnHjqxDUkMyl-qSbz3IPAXIBmj6sKqqAMtdUQXcVgLtWLAZJf94Rw3E3EhEhcuM6pMs2ZxuCxmR_ZiAGOfCL2WujE5nYFE8Axw0D3mSG-maMQABRzIgL0FyHi_bGT-JTperynycrn6ulIysDxIZvuZg99vPM5WJsZjSSQP5mqREyq7VdPd2PXNIj40hjse18S1QLBr-Y7r6wgVA172dHGX3V5FoBWnRaMKb9-dvHF8Ry1l4KuTYiBpO5duWw1vugV2WjYa7av20QY-ZdFUy6ZUtmSdy-X3fj0W2Uc9sACoAXR67W6eO0qNpZD2hODvafvwXSKyLj0GAghGABm_TvjgwJlN3IoO9fRIlshErl0TmrKZs0zEbEJE8PnWgIip2PjQNylf43pupv64E_nmLAG6hWa_EsoCUylmZIc1oN5Tc2WD1PX5BiYZExNteHsmppw-D5wWWmuLEyHxi8_63Z1xNrdR5pP-KYr0BD8dabIp6P3YqtjhwKcp9v-1fOI_-hYXZOHj11N-PVppgQk1EKe-2ntck9RGqBumNJIuHtsPNQ1TmXZXDOFT9s-9TOexsAmQWFUxp0DgR1rOqtgGoQ4Mdi6CHhBUyp0UendaLYRzoPJ50zeVsJW6Ezg-9nG897bXZ4Iswr_500KBs5XCziN8YXrHAVFbPcxuT-TVM6ifB0RLYf82gwhFeM6B17hiP3A3E0yQynH9dwQWkwkWlyfj8zChArXxFl6mU5adSJ6XxRjfyXTZVb0G4htPaZ0BfKLh-zdQ9xE2RCJ8kLxagxKHwDYRqMpWkZLkkAAkfpQMbIxalzfjzs6iBcpNOxKpmirfOtiubFK8vkFKD6GvTxQ8l_ccYL-St4Rhk7HRGUbhiLdkeZvhi3gSJS-Qok6Z-kao4V_j84xNgCkqZYNhhzPrjdH1Upd5-59VjZ2EysR2Ai9vC7IDrP6tUrBNwti_WrEQY25u7wD9ZXxkpOHy1Q7p47tZb6bHwbhfwZFN1zf0elO1k06otSGyr60qHeKff5y5BRZAP2pikOn8dOeCkGFC5bcfp45eqWiyDWFo7ELdu3YsgnIeOfSeEshKEeeY30sunF63QS271X6z8VNL8b0e4uLrcPF8ZcgWdVThZ0ADukY0d9aOjZbxzEzlBabxNRe6qL7FTCHZ6kGa4JBASnvcIvvZonBNMgKZHlr-7YMzZqk7hrfaZZzJjUdl7V3BrdAbB4CW75PCPHcmxrTn7wjlDaFLX9WizbE-T5GyV6Nk4dIFYZ1aZQyPPIohdEMKGW3VgtQErwlycIMubvK0wNXjk8BEvvtn1kwg9mVI6fPsTQ8dNcVTzIxkRHPvq6N-D64q61RtUbIcpNAX732-pc6k0x2WCagNXnJa15QhrNmy0d5znioVqn2wqI3SjRP1uBzXWMOuqKJkfX0yY_DnZOgdKUrjvk0vK7hM27Jjf1nI3_0SQdNSDrqoMxCtpLvwqbFP-O6X2Ek2vuSmfWC-aitMOmJU4tJRfo77qUIDA1irWl2DayHGbfyNdQ5VvT0WUDQe7T4qjeZbP3wqnOdL4oozvY4oPDSfQ2jKRkxWeJGoP1FyBq7sEn6eumKKuXiV4PfNVyUvNwBzkRsxgLevkU3dBjomeT7K2Offhs1fdV7XhO0EXGiaWdClMNkYP_Sjh7_hXPIZnizz3ihYF8wDEbwjsiwnhcxZ9r41nRlnVW7zgf8zwyNN-oAnVP5NZxy6YQLjIi99HIjWmcp7GY9js-Y1syOUexuJrEb79jUZeyNpMTzgGgpkRyP3u7jI8lnU5ZJK19lIKTM2w4D38g-CNwcvUu5kzmhuG550bxj0NUwxrNVMtZMm27c3dsOR5jMLQxjHCs6-tbs0vOLnRbRsxNVQtcxs42itkCezKDkfkH14iSLgTNisV1C9beAPN-UIKtG_a6jdEARRmBotdwC8_QJF6yZmYHxYnK1FDlqZt3rX-AwNa10N1pNi0DNPKnGkMnsj4pXWUPQ5GQbf0xEKdordMAj4y0SSH_HTlFmDeXyhjBG6xek99hRzN99YDmNGlUnu56sYWMYBcCG6ou2QhlXJK9Kn-lcdlOuQPVHGlo7IXsph6Ami1Zq4cyGY-mXSAzzuwWFit3nWNkHrkj4J2hz_WUuy19ihr5l0sTe7WL-YKg2u3msm8glb9cVEQyXILk94z4BBTj5DOe5zTj9XTJEWCzrSQeUgRwHEsSWrWWX_6ow35ylvnStL44Boknwi4-7pcmUvFwQcx_uyrlE6fV4U7M1AbGrXAJyTZXQIpcEJau4kNKpfVuRHCb39z-ql4Z4LZ54o5TvMH5dFASUTfDPsH_bet3sMFe_BIiZYHCP28-x8iMrGlCeag1F3OkYrW2P1zPCcbGZdpMgdMKOJjRYrIsiKsmzx7Khbc_C7cqnzGmGyCRXHLHbGDFD3I88HG9AnW0PNjPjQ950VHkws0vLvxbsfpIbp6ZpYwHAwK7n7WERMHI8h2_i6Sqe5WVLXmfVea-opielC6k9i15XTWkYFDFKEoDSoo7OF8oz_2NTCjHQlYygIAMzzH-Qx7993iywts64NJ3MS5VpQyr6VlFCS28jJP-_53-rYHTcGlJ3aHJu7RGu27LrlhF_hHTJcJrNFx4gRBXzHNjhz3MATE_lMScQvr1q7pkQo0RjlICDWNomkEIvxxYBr8SkSwo_EhmswG9ed5604p3KQ-0R_mnvs7yHFGODT9WaA0tDGcbO2QMHGtI9FTiL46Z4C4X9rIgL5m5ifc6DE9H2Ct5VbwKTe78EusNaodiUIjq1Gd3_7N-9jDIrlgoyGBFt5WgtIGw7gQdxKH05BXmI4vzWXUGG334NPCpUb70ej-XMywhl9HKboekQBQwMg5TRHzL0au2o8KVh63ZPaJZdKuheGuYq1fQPJiMMUV0AXP7fspYpLTsi5BdiVaBwMWssSYhM_KX-iARCybRy1Ugqaief7C_akdAonSQtnkX_NAlFx2XtvgZRfbSWtDi9rjeW2aHvQ7IWcifeGXF5kXqC01Xa0HzRKsE8Y6tswEBd76j7rpn7zbbB6-kCqtdsmvq48ct5AoyNscb-vaMffAZu48tbP_doQZ2b2iefD0f3FKz1q_GGj68pAZvjXqZQhY_FK8r-Q9aB8eyI8Yt9Z8DHFNjqMI8aPjrONSe3FPBhFLonbjif_zNrnyUr8kxXclaLemlP5dLLVFmsEAHy5f0Yy9hd0vIxBlJrFv44d0SEa70tO4LYGozpkfJzwXS8b9MQXnlvhxmUiW3sU5Wm_NOjCdd3YsqCcKu-BHf27X3iMYGRExGVsKzPPeiLkFUi2OHKT8N9HRPCjSpMCFRhhRvq9CzDtVNtQdZfAbjj92oNwpHEFhNFyC8NTLxKlsWVZZZ9lfrDW3HtTIpTYgirp4Iw23IxUyxCODc5fEroD9D0adxLgJepEL923zirkTYZlPrk70daONL7bFXL70ZV7iNLSMJVzq9HklcElV6VWzv1DZ9_2AIzRFRZQc1l_rCv0BEmMKWMVQTjwQk1HZAabWLELw6fgoiemUkZB1kBkVrANNJNTD6zQufOwOiaAWPmuTET2ogfeOl90PPeqOkicuch207ohUYh7oeHdiJ4o4M3b82SW-sGwukyeoMo-85cRJe9FTs4AAOqFudA49Q-FqIpPx-De_NEQqwJQ0Gu3YJRgXM9FFSwqUaTiM_pwSVJCEw0y2glNXMmKjsEZO2Np33NYFxTlW5on5kYpQzgkmJJgB8bAYDdYdYVf8Pio1Pd2N3eicIu-LpTCOWipvKoJcdrQPZTlEB5rq7o3H1pdkm-Jx48TwHZ7YtXa4l332hnSrgTotsTRmWcgpWN2mJ6KAmXOBg2Jj7F-lGSWuKCNl4Pn66l9WW4h82S3UrAPr9bdkeuSjLixuqcEUraiaGKDKkfgIcULoiQTPHVDeAiSMxLTY1_1KLT095SK0pZNkvlmdidj4YAyeKg-q9CM1yOCShSD894-JcS1yoSnBab3A8yK5cSX04n4GVjrr4Vo0Z7yW0BTxTdN4xtWxsuWde7vdkO9SwEZDzktt0bmaXO2VB8IPWPSKnD15YO2Q4HMFHUJSMfw7xEMOhn9Nxmwi6_Chic5iO-JSXeRuG9qpKoLcdR8wvdtLgCzliU4Om6LZPjCmu3Banu3t9OT6l9baPfNi6Po-NVCXjZn0KuyPG_bZIPmqwbWaqFdR1OqgleTSx5B3Hfz5GnDevCrvewG8Gcehr2L7bl-9yhcC-Cy1NgvhlXpgbTXnlE5vQr9bw7kU9RpXyVf1od5AGGnOxNQbBxKpPXV5qQABeqgEIotIcekng6a-sJEul_hEHRAd2TFCZ2Rz4H8l_dACr-CsBye8SQaQuv2TU7zhDtDtsbUXj5GBfvXWPZWdVFuwpYakm4xfG30dvgAoPJTUJCfP7ohAXSNfNzu0KNeZrpKD32UnIf4phy0KkDJbODDjZx4cqzLTF4rgyTglghs8lOq1WLd7yaXqY1S25q90cgZqACGT9f0NbBC2xMreABijZ8uQMTLedjQOpMWxsW4QmhSJoHj8_WNLpLEERzTPgXjxkBASTekf0vLqUlIHEO_nRpcPjXv7J8Woy9Hb9uxwnSpW4oXCGWTgbL7a-REJrkf1lgKLiZETd2L9DuMBfn860OJKLW6ubUnC73Ml9knIndrt9ntzIrMt8RlCQXGOuzC_BmF9uZxT6juOQW7mYdyHEVDTqkK5jR6koyNT2h4jLTMrcmId9U198wQX74jInOm7swBE8WiuDgSGop7EOy-ejVxYOXe3QsY3abX86dmRGfDWHzSyWFyGgY85pl0SYB8R81gRSyijaJhpMtiNNl-3dHSvhaj9wdGwSXbgjaN_DziYg2h2B9V9dn7KTJlS_KZSMOmS7Gm6Rl3AWfQYSXvyNHwOiaCFthy-1pCTuzxOkCljfeGJEAYq36nFR3zeyvzFutiPwxcT-eUdWLKZabGLaIgpjg7gJuBH0CwKBkn5FH02oshd4WHvhCAZdCCwNaOvkSm5tBNJ_HIMF9CeW7vObadR5Sp0dgrGghn3-91L20CbKNk0fE62T4OD5I7nUv85mFPdFbaoKLESMBrFkJCr0sOQRC8SBwtKIfylpDAWREERuc6um5EeubiRWo-95jaX_g8y4xWtusknhD_3XWwC6l1p0yn-ZAHQACi1ar3vaU_JZcnWJGMHDrwuvCLbCPJryL3NVPrMhLGRLZHv8uNicb1-R3WjeCbkSrEXJ1sIb5o-Ilwrm6pKEX0-Msp0JbXfleCdyMq3x_1lmfCGPuiwF2pqj8m7da9i5wET5RyAZ9dghBAOqe3hrvSExBcAgEMXSDAGhJpF70JGAWbd9F__maGrP21t2eKSm_YUzfswGhnSZ-e0rn8jhs-83PzSfJIcWxCzWI0b7kLjnt5PcVfiIwOqSK-d46S6bXms05LWV-uk8PNyfF_m4IW3sWbj2Ax9LUViCYk5Zg1tdwnekq4K1H-N8wM2F-DQiVGZMZFx7f8lovgNMyQROFN2Ov3bY3JTFTrCJqDYLCfSDysSgmN6QrL1-8HCFSh5Y_okuqDLRBP9iGZWdC6qSZ7hJEABj9B9xsQLh90s3sGXYI5XgjFQFDHtTpYh1qpR1bdQB4AuquttdmWklWvJJWHlQCM4Kxh21SlEVgczqNGlZJuh1wojMMyLRyTd2wA4RLiYtgd1S72Tt5Lg_H1mf9hIIY4hs4A2XasGW4Mch7GuarDAE1eFEmZpaObuDGWeyUqjNQdF2eqGYvjrwkeFPdt3wcb4nhv9sxxxbK3oFgiDparOF81zv_XWGnjCAWJyfkjF4L0H33giUdmlTQhwmcF7h0UidzBUPHVH4IChdsr-cpQqGnF_hynBe-y6sQ16ETTmaVCziec9hpy56nXDxOtNFgyhV1cUkcjFdRBZ-qpvpehARftWiVEn66_Ko4E5iBpGTZ_xQ5EBK0DQRyCHHUs1d13dGF4_X3Ng8VoEpSMPe93lKcsHCcpXgeTPlWZdr0wJvD4izkcKcvA7L8Tj_B029WjBc_JSuZ1I-2oJsXnBEenWWn4n_hOFp-5TxvNP7B0w-2o2zZsA4kRbX5OO2c2SIe8gxrZSNZaUyZMvuek8SKxzRSBUsiFJS0J5tFxYBUilVuG1s7ioFG6ekrcHpnWMc9L_0XmxEsTUIYNPfc0rTaSk0_th61QR_26QcTVmB1nCWB1Nm27SM6QARx6SH2Q0jqpoDcCasJTTB_7VAxEjmsWqNF8b1Lq39AK3iuneHfHUBmpGMyXM3iYrxeO7cXcZ6VvdfZjQunQIFlG6QzcZQrbH9zJxIGs7lwFVOU41vftGnkM6jfOAX7z5FU_XfP80GrArpSFHzvDGpCYDqEU9ogsWXrgPNIzGl-tQUDTEBzw7GXqZz817pcpu6dvG_MAd5C15_eQEJ_bvekUBrUdnKmt4F7Aykn5OOGMvNM7CFBRF3GqDoMiEUPTSWDCNLk_vylqPLkshGrq6RSr-6CuRxv8tR9yzHTzib0rjjKp0_6HJIVxtbvmpCaVpo4aTFlOfXC3qyJdVrK7RvFOQAF2u14V-S7Oyx0ANHzdIMZfo9UirK_0i1zB1lil70TKTir2LMqHeI_fmtVj-zLO14VA1UVJLrsLpmeZeTAwDMEdZQclMxSRqkLJ9mjUOJt8UG0yb5y-GVKtkvx3gnqCNAPquBSzQtv2ZCP5JmrP2ab8qqLE1Flzj5W5Jry27MSQQAvJ8zY865eBDXikoMnVT_--B5fqyhvzHZo6kZnpcMeOmA9etX8nJifuPlUeGuF1u3zT1eu49wFwa1vjARHYu-6HD3tRbCy8KbtFMbB247VSV0ITEv-MSYFfAlwvxmbO1XifN4mD2jUYf7jiHqWyQQuLt-VD6dW-Hk-Eecoc_SwUAgkg_DYBBEftzT286P1cYVIxeGQ8Gcae11yoEyVV5umqZsFXjWreYkJ8Mz5zLXGwMDKatPDxUnqDzJ3qG_-Ch5rVq2oQ-lYqsXGTIbGpA95YESd8tDA4qCmcYQ3ANok-tvKB4uWmqn-Zo_QOpiAUKJvMsgkIawWyVk4ijuIO02p1bkHd4F5A1zLCEsKFTnb8qoUhRW-_290CmwN-P2JKMlhDklvry-rBnhgYSm0TmdF4mm8Cb3iquTIvYwvgV4oGQAoH3nK5rcZUQuq7mc3Sklp5ScedpVRhVzEVhz5EqnOpAzCKGGB1TT9i1OckAvZw9b0KNRk-QVKGswsLBUldc1IRFfXDtCwAH_TddsrzMcKACnfymmu7nLhDUhLjzIskdkKDhyEs9NcXGh6BeS7wvo9cV4DXkLECPCbOBpXIwaUPh4m9FpW9VEBeEgT6j3wUIwLUgUWrTkqe2cwdV5kbIinHHMGQdb9S44ixq460IhDMgb4Wuyj1YIgUOnid2Ve46ALGWBaboVp3kV03Av9SbvnYyB2caBJIoC9TOp9DPG7l_XbPFk9FfgvXTZaHUiQgrNSQM_sItTKJg2XTuUZ9a9smCVCjLh8Zo5_F7rHlFIS-FOZwsmrQ0yedi6mXHSRywm2FOedXjZFpBzZUlHMVmuUmqScaPnfwzcOT02YhoM--aMbrIgjgvTUBOAhHlcIkLZwSDoejquh_xgHDOba6J1h7fTZ6GsZ1i6rg7KbDzsTdLy_B_-XOwCNigLHFAKge5VeAa_cAMVAcPsie4Y3HJR0dYqLxrDxMb9dmfBZbCYkjIvG3IQLHD-hgoexvHfnRpxs44NT42kf0lmgra9JMxqvG7GRFbzm3pDBa4CvZZL9hAhHjAbNyebjmkmZ1WuFgeZqewRTn-mvIWvUH3Gh9MAXRxHsDuppCC0Y9DSLL_n9lOFd3twd2oK3TsHhJpjGPL_AGdGIGlBREidlg65fz5ZahUi9ZZ9hrntWIWV5stGEKtGcuKgp-Tex6_2xapfPinnPpHRhn5WTqacFpJ1BA0zGKqhh1ejjaqiGTzlPWxrYmlyuq5laqFcFkfLhRt96JMTVZJtZXtViuzDisfkuUy1ezpSxV5NaeDTuxgYemapaQhQdw3BQJO1y615h8ASjl38eqIU0iTBRUJBn_ljAItXJwvGP1O5jWPKiDkWv19kimIDtM5N6KG_K2sYKkZKaJiBPUxXIiXBFJOcWCUqLCLvxipfFZEKUpqKftefc6wgO70KL-g5quBQtgxilTGNffUCZNLYgGwpNejbpE2n9K6rEzuC-9OtDzBsAhDZ7YNT14FpQm68oWzrit3AnLfBw-LahjRv15huwcOlEE8s2l4rElUmxtMQMS30iANGXSVTw9JMFxau1RwAf7k9YfaXqWi3T7TBqv-kJYS1Zf3hHyBuRqlYMZX4vDiKIjRrBhUvtfcU12IUMcVW3hCC2VFU0ztoklDG-yvd_qx20TfmWDkdvpgvvcdV9hy4T6YE7EJvdG2kAcegPkRC73ae-W3bxLr1iqZF0FhqXIarSTgBowZvofzAqLaczqjvSqhDnjFjGsz81f3dVmEdDEj53fVJmys7e93HotD_i_0qoj3M3Mqakhjt6Dytak7DHrPzCi88_Kw2MqI3Y9gJ4zjnQ_nY9uAP8LJKi8cU-Tu3HbQ0WpnuJgOn3y-gOYdKPZHy0nbiNgr_aDpyVhG_LIcmELBZwWjXg93nn7qbB-HUGJz8xSRxDPa-KvOAgofec4aj5Tf9b0fjxobU1Kfyo4UcKBhHCuhTosjy-uLQbQZbLD6GwI70HLU-oy59U77_PDVHrdrDjBVAHyPKFJshLzqJz1i3L31wuUd7mcDxCqNR5UgkHyiYFxd5yHd0qUhLcsZxDZt7DGUhSO1tZ_UcXhQL5J7Cc_vgi-VGt5l3tMMOdL09_s0NGbXs_tZq0qHtLXSqsPe2EeLnE06rBg88J7KiKhsshEN2Jf_PaxclhUBzpqYZffCGd4ExF-ZPtifr14G1tJE879ORZAVOrRgMN6wVF1Aa72TQwyMNTHbBFw8sr4SfKqNGFfEYVvejfr9qej_YQ5LxYwCabAdEaTQ09htYpSeG1Wt5M-oAgKbuybNtuaE0M0OG3XoToqO_t2U-Z-A4MfKQHCl_u0K9RcyFa4S4b7cfW1Ki7SoydMx8w_2v3MJLoP_WavcJaf6efwTRxk9P4OxEUIEjo3XveFW6GFdlqVRIuZXjbm523_qTvAZcssQFtp7F88b41jQUPS6DiVc4GE-iH4aZyhm2XjR281rxqg9uoEM2U_XF3QxJfu0EkqXUGhlBiw3NhJTcW5gpUFEmTjR9Mv7Ok4sUnI64Id1aC-E9CklGE6WlCEwmtmYgPHPwHR8PUqQ_hR2Px1nYlGgsUjv9sfcoNyHUbd7Af7LkRZZTIQ8qrcQJPR4-uS_XtGHgMW4aBr7aclG8yvQRheC3krbvSqHuoyP8_D_a5eqbYhUgfG_4P7f-5Qym9jMrlY3-KsKZlw-sBXEREZ_uRd9Ur2_FwmUykl61GQVzYFl8t2domCqbHoa-uzURLN6mi9ymQZ3ysBJ1URF6Wu5vE98T5CERWWGMoC1KhwlddBsVsENfioro67znWfS8pK-NNNVGpDAgSk9dTmLXX7qEx_tTr5DCRk6r_jpVX9KCldkrt08XFb8f08o3hDM98-xyVYf_TF0PF1ZKdAO4iaO2xFhM3NDRpqO5mifdK59Cq8nBTy9-FmMgH6zoqEhtlZzSFNNNaEaiBZ9hR1hgcNTjPaKE77izi4-WP7vRifD9z-cFSqA-xe1Cfzx0U0yAeC8Baa00lfC6L51jtU8iHgHObVFj2nsLxVxa76Od0GtbPJcQ0v6MLEcDHfKeFUDVnIOH7PrM6fxJ_GzkyfAP89filOuYkA_NamdNCUVRqxndTf_7pjsYdbF1chelnvTkc1DrTa5VNs4tU-_vM64tzGSrgd1ugVM4IgOldaYRybsbLS1RrCfYGPoGg0jcSvgP8aVcWJq5SDkcD8JbzM-XlTcWKjDm8LtnIhXkgIqTSKmhwBK7pHs0rRZYt5Zvct1lm_zNP4vx-ofpZpdnhDK0DjAAlCFDdQSI6Mb58e7RF29QQje57NDolMaletMy5nh4S_iW6d66qOJyua3tBwhQhJgYEHm4aC9t1DitunKeLtJfyo23fLAf7tSqzAZElX0VWtWNgI8lzUG65odmyBdHHN6fivvd5G-h0-XPA1Ek-MInmNiDjxQUCBPCTDj-S7wEZK5ca3mHKti0wlrkXXMHLRbvPuwRgUkfS0TmFmHhWJwxZze5Gd6lkLAY_uu9gcyRElQnPqtzK69mceKhXpKvoxI8F1UEl3xBAyaLWxLX2bDAijrCRdlNxEP9N_4o3O6NvbBG2QxgYL-8Qu6waC-QatT7fuXd1TKnUDSunz-Cb_nnIprpn84IKC2r9AyeZJJ3AcikPaRvnSqcn2Bf2eVpgtI_Iv0LnGXrB-3elMlkfCrMX4Euhc8tOzcxMiN-F6a0y2smge9Gny57L81iGCiZKkyRr5xwnrGGDbfo_kG0e-0cFCtAZmy80FHQmhI5sLnbEib2ypSMMhlE8Vv_KKTqcrebS9if8dXbv7kBToGUkE6PurXapyAw4rjzDKEDrqcOuNTgWv3vJkSOH6rnrNpe6uyO2lhxO4a4Poy1DAh4EsIX5OcFv1DRbWj1rB6LHqaFFDCRvES7z4--Ub1soloff6qCK13pprhxKTQAio8iWhRfoTc4FelYrbXvbOuoyKsPMDCu1CNm_kqBmTRa6AGEad6ox1QmBQJ0GkgK9CSrp2IStLYFzQFpUTdkp8VX1NADWkmBIqIFoE45NK_H3W-1-EsRibYQYtl-cnopcc75lHDrWLbDGrQy0-OlSULY-pLJr8GnVDSECHbpo1HgQWGSqzRdNQlxR-cw5JDNDsqYmBx4JpnuCobo9g62V8ACu5zoVKMNNCebFSgki1pFFwNyZ7hQETs80MI7_DftUbdX1s9CV0O-qQUfNyz6KcfpYjErsdIGWMVgIMVXUrZukkVmUwJcmA-Xi3HUF0HI59XUokNLg97iUl38EXRoGVotQ70H6-xFt6_SdUguU2VypjGjU_GeW9g6UjiztIMVk8NnWS6nEOJMT7t-9JewEk1gaNitaYHSyjjapT4hhUDGczWqlnwG9YREswGL9tPLnrb1PnjpvaZ_sgXyX8lb2NjMMIOrulJ4rgcx1J5Ba6dKNNpbd6ffbEY8vGvueod3UlhFu-HESiqNYahu-KfIsyPKbHbzAbSjfirfrdOI-TWiPukgSKoiL9TcxzOnw57iBIjMd2Q82yU7ZDZzIvCLQr0Ol-RcKE4uAvvPytmaMM2h-Q9zfssb1SNr8Cg3_WV8hO4D8TzTk3wBdNf3SNiypcgip7N0n7HzWvj1qPIMD48JPPFs7r8f5BvKMtBDSVVl9cLCzI8npfGYo8Ndqj3e_OkPEYoDvMkjkX1JGpm1QI3f1diWQSlHNULBvdzq39vLVrJ5cuG_U0i0K4owxbFcJCfdCO6MRp5zuk2WvtA8h8ffmUn3dc0qpQ9knb9MlBkHxob3WQBqSEZWUSg8NED6HwIUv7Fh1QiFWpce0EbKoOvd7ECGEgMKvuF9Qy943ifrswjEy9ag4gJrOzSqKNeKLDVyDqkoeuTxbVqovZ833Z3OLLKpr3Di1_wojiFILa6navRx5tTzNWz13HyA4qqKM8trD9dh0IIAkyxx5QfkWTH7XkQYmOlEvF_IwKen2e--3C5bXkvRX8aytcGNy_gPneuWOlbruDUvQWOubYgc2jxdGjl9hACJuaHQ9nqS-8xrTPCSkBcyYj--yS3xa51oN6rZWTuivAsr0TETWCvnTKq4meF0Fsb-899-86wsMQWUadH9TBe-69D5Zm6tybpYWyMidaxyI_F0kPPkyLyLLleyRuhE2ohOt6fMA2C4skmWYnKB0TLcWHk_qgHQE4TrbKihSPg20f7S1q_0SxfqNTbcRXCqZgyUgTzn5eaQonupSCWLbCgpr0xPpjG2lOCTrrgZuFnv5974hRrAvqyWLWwgAfKIRd4j7EkDKRTiWxBYyVvFTepOwUXcSTWEAr-xfnEWCM_GR0lsOEIjSSgZ0DlyqzfiKoKzDsvpSs3Fmai3yHDEWN0P_OA4eWknXNknVBqm2KoJ5nSnTH36i1fiTXeMtaeOqx60HP2QGS2VXKTKngdSkmVKZuGGItqlLYNF9hlMeTSFrgctjJNpmJ4A7Vs_FWd0QKZf40EnUB6umE5CMuhuP1eSNFs5M6jVT6tuDimVSJFYWQvUfHyxXLOanKrSTKiLudjH_wd97JIA9dCn7DFvHaUIEQeM9C57k0KzRMh3XdmQ51CdEJEU3zVaR0ndVaX7jdz6DPB-riF4Ki5sq2bTOGjIimuC9wBX9i5K2lawMk6CCxgaF95oMAbA2Effy0WqEx_hO3DjvYLfDt9dAIY3oUPVYAMyevBcV_FR4FekG1cUrls6Nsmt8aX9FyrEAf5PqR3h-6UBJ2AmDSLTrp0Y0rEQgo2oENsuKtwGlrKGAILuHZIa_uwlCKPZpUaqi3KDs-z9geDG3NVjjSoj_TegE3a0ZrZQuBM2-baP_lWZgYA7gQAs6VgDhKML36-3jJOx7Xg2XWvwi_tos2bRilbVeaDGsBEQjtFxEZli5m_fykETRStd3sm9H6eemn5nHWapaNUKMzgG6MmoacGAtG70ObxqM7IJV8_X-6I-VaAJK_qLoNzS4t0o0WjD7gd9PkAkXBrEXqJ5p84i_44uWkvo6NUXq01u60iV9qi9zxIq_WK3ihPubgRR9PwSprfA7wat5J1S8jV6hRPU6Hq29Jc89oPIjqPSuz7nSEjTGx33R1ckMDYa1tgcLjy8mwUHs3aXuX8IKmZg2okd62tjgxh5tkJod3ryqp6oBuH82-V6xV-N9_YkKP8VBCvfIHk1M1fovugLDcL_gUmQP_kp16L2sEm30SUkurVRGhPfMHnA_CFJrC9-qORmUaBHUiPhU3xG5zcKztEriM7OM_hMwF53XYgNh01mN93kmPL6XnfA1bvBija_LmdxsacONY6PdlZMiJkiaiLDLWAP_2-ixECo9idxh1Caqz9dUM4LI6VRAXmEvcxu7_cgifnUX47n_RbaSdj8nT_iFZK-0o29FKMfi8j3dNGtsCVkpfJ91_Lb0Zj742uXJcnl7BJL8xcH__afHHzU97Eb2NeUbvS5gxChothGd0w-tbGEzywrBUDcIF0yYR6NpbJLztOS7Uel1JsPizhHEzFa-UdSkanngpC38umzZXaw3giFe7pUGKcIAj0yhojAW03viBTWpFLW11tOCnUcCn_gp3yerQY5WDsGw7k4KjDraEmV9RVnKtVRzJe2NTPKnQqHd1NgJz40XJVfQeJVnjnflaTY1yZ6UGticAN-1Z6yn3iR2-Xn6v8sprkccqh_-8pq-SREZvbnG2xe2dwzvZ-1lTOfvb9caJXv-ADjivdFAjsgejLaz1A24MWCN4318W1NJaXVrFRO7yB5tqLl6IR3oxjxoWcKp5kQFBDECZsU8TKw8Esqz7gcaWEsZ7R4CelIO_xTFfYExwRc7jlFiHdUMYBkIkiHb7epb-mzwaI_vY8fHv017CofwO7b-ARYSidnVw0kzJxZ5l4k7OT2XM1V-dI-9Q_zK_PjkFt2MxAFWCQZeWOk0yR1Bbklc96fP--yyZmXfWMrfQAZBhHe-Ag2tYXX_ysRhkIwxvPjFTAONrbRdl3Kd7KxXgKB84vMEPeoLUcZxlgZMehfu20lVAL32bki13rGx5L0i2yCr6B29lFACXxJbcvJYDwKtSWSPDCCWpw_zq26xikpKyZmDMR38ZOHdmj0q6Wn6N32fhdO_XQzIpbgHSsxUugnkYmAmV8fIUd72wbL4qMQDlTnEMfEmtZR_LTXV94rpjJ9w0V8_1--1GRffxOJxbHdp7X2Uhhwrbn3RK2gDaIxwZPf8DrHo8_0obef5xmEq0Q79oATaPMrpTwwFM-E2vQDdBP70sg06fQU0aGoWdx-Rlb7rkImphAjTP0b3t1JC_jtPn7K5q_RJXxd2j1Vd4hu0veTZP-mFsy9cKvKn8SKXzeyzSB1mS_Kd6ZgPAeS-SZl-ZxSpskdHxzYLvwagT2uJ0JH24Snv0FDXHgGLujK9qbMgRdwv8BCx98bPq094eY4k9jywntMcX5XibrcCBfMOnfI-R1Gq5i-4T0g_zwGCCB9k2SvwGiUAwlDChwolKSomF7zMPokbXv4fGV6c9JzpylhWEgiuzBjNz5zt-072r8T0-y_-e0e_NY2Ai115IUMbwDhWtAdbh80Kc8hFC8nB3GpbEpvtc95xkfjPMm8HYtU2VkowgDG3xwZuM3y1dupSJgvrgluk0r96Q68ZM4yzqoWuBt7j3nBu5aEc58_xAeCIpJCM65CbuPNlW8ixrFGWbtG6WtngDW2pckRlk87KzeJXWsVss7vUSwD9DWuizYA012Ve3wgrPFNleCsdmUj-BO1H-udQ2DxPXKg1MkRl1v0HlyFFiANaJsYFk-jLYKsjRJy00DREtXZStLrWp_iINLh3_m7b_dIAXUYuyoBdZqQZONHbVwHgR7N9PPfr-glMkAoMjWcU5oIUiRWCBbMK2GWLk6iEizF69J8viUGleRrjK_KExvDalBNcpPvm7chF79EYzug5MXRKvAzh1uM87vHD8Lo5iiW-dwd8_Gzajj1m4VlD_ylAzZTb9OajD-BcqSrmf6QmwfhWb0IumGH0caH-Q3hywOJPNHGwguPqfLS2b9lQ5CwZ7ldzCH6bh5hEqTwR6n4OtXMzmsfleynciLwlZ6XZVn_TYhmMtI8CRtbJUmwjyFYXS2Px9s4alqqGhWHUeR_HDr6NERUT9tLSZFGxH2Cy7MYx3Jt0GpWGpHXIp8Ia1mfJ-d_TRTBqH5HAmCMFof39DkGmLzXrZ6qfkIDNh39GpkJtItUrZYKqUTMFvypkPcLOB6HIkyUv-_-993RQvpdXr2FU4XAl7J4NHLQ2cnBvXKeU59jz1ripHqI2JCFjXRfLR7RBld5CsujlKHAju97tcNCUzfBvLYRbfTcImubyF_Sgvmszb6rMlsQ2StnhSESdlAsUHthnTB-HpmmqWis7syGWUzDT1G5waiJM8N9wHNXshtwo7Pp3K_0-JODqn98c9jVlnTUQQxUgzmNtgqkWn4LyUMVlegMnyaAnUGBkF61AXpyL5RWHOjt9nXW_h7n5xl63yfcrCRjZ1TiYdMSPEDjh-TZNWlbp4kQkhryTKWRXgUFb7_1cNRnGCrkwVxB0-iitKBbZ5NRbLh9m4DgNMKlEpS7OEw2hLUmPyRdzHqy32WzDC6AhWaqTs8vtjGUtKh1QYPvEYsUGB0Y45DlfhgRolAEOKAxO6kTb5b1jT1u-sZto76iQUxoE0dBNdcw-tJvPANkArxSSqTBHymvElfU-0WRYOEGBmeVTuZyYNXY40jBeJ03OxwJeYKSf5a38qF3kmQtTDkvc_HqDOhiJMk_LIH0bhQOMth-xcd-3IlkCgLZ5XxW0t4zc3ecuz4ZskK-EF3dcmmxZsruGyJCSbf45IHuYOl8sqimH1gf75IwqteOnw5zdl96WJ4_VuajlgLTxsHatP8tNBKIVYh5101eDdndxWwHOhsAZRLiLW8HQa5adKXE6TRw-G3PGA4gnXtfDMdYwUOV5JVd53YaTbESf_ftVAa8u7m_GtX0QDBo6kdzvgw34TLYBhBqnGGCFIZZiBF0SDui2bSokf0G81kLFNxCc_av1PTbJinhdIVglY7oSf6b-I-cDYk9AzxA7auZMNN3ax_aPyMrmxf68Mb39VDldKX_qY8qtaABIdLiJpY1jtU4d_0TEgtc35lUWJXaVynwBEQfWjvqFCLN9pKXcggGvi-ZxZqKxIeSMNx85st4ulqDvny-9oeE2jlpGsmaxWdJGynpY95OEOPGyeJKc6krnT4vYZm6JVo-mK4gkFwVh6Ap5GDV8BPTnmBG8lG3szt-xx5km-SgsGolKjwr3hnR6jwQkKpRvhOUaaOBGwSWgCzL8XN07tqDpttsdaiUIVkiHu11Wen_9yth8mYJ0jOZekAtLrAS-vsww_ninXJOH-tMsz6kxaa6g9JWDeEINk13vyrbcQbJNZJ7gZCmPx00Es8SM37VwmcmQUML4FgAo1nXgRM5Qr0Xp0AmBBsqjSjeioa6VVItA4v2FHI_WgLrEcadmK0G4EsKcNFkSq5JfXZm9QZ1tAnwOpbAmVjcMlwc7RWVnydPinCIBhF0KevN59fjaCYUAntwG-Bk_CHUgiHudHyc9l_O-nme3cXj6vu7h6wGPvjxkqCwtEeK08nvl9Z6lBDNkLHeArDWIavWZ7eBFu5Bqxeip7tZj_EFSF7ItxRq2YEhn6XFlMCztJoGKrWh9KJJobdnLQkgc5qBwsZamNqFtqNbiCBpayXW6OBR4v1inPfHNDLPzUYSN_JVFfzHHJUnR9ytlQBRLiFBo09q9s_4nj9BYuzgOdUmehgicK6XxgiycHLR_M-c9R6Dww8ABS2cYFIuuTbqNvQra178hzdVca_Fm6_-AU6GQIh-kk5b0oJ0fHqVLsRjHtbPsYMHoyPCGfd0xwTCKnvRAlFSqFUyCmVXNrnoTODHUEcseNC-gchpVBTviYWCU6IwXWgh9FVU4S82dSG4pnUFGsq3OY7gn08XJRjX-hdZZODgN0GBuU28Sld96-vPdyfFYvc2uCTn4xULyoo5X78UEOOZ7FTEF2q6JTWnauo7cAimm0IlxqD2g1aGO3fOlJIDkot9nDedFJogDEI5h8obuqClWsQHoUBQdu8qj7rkhUFS-YhkftntPNp0afrub71ESo8_To64glq7JdTqFcl6EwpUBD5wc3i2DejqJLeuC1aB800Cx7DrlgousJxYdJSGU3eAs102m6-nyWmyx4yPIuFrcr73Ketv3nXzJ86AZp0TJ3cWZVyAosrEZC8vZrH6sVMsYhQd9ZaslpJlE2dn6PKMhg3IOqsh2zOpimuS5gCMHChb1tDLUHimAmxxesVbLLadB47RLTA96GjthwvRyk-TlkZPzWfhL_61HyF8LaVkm0MKPNB7QMcnAkBqclSA3Ka4x0JUjw-CjUUrvaXF800eKu3i9DfyRVUwZlctZ4zZWCradMvP20_9Qw7oC4h_13gayc2rYCqW4fv03CQ3U4fMwgg1GMJYdJ9bpkoWa_yDzm5K8T5TKoU5SwuKGlZnKvY92cl8padHMNpJF2D2ElW9PLE4blhB6kdDJWkusqBcb-1SwVOgfZ6v-XJHYaKstswYv1ivwU341ottrR9xoQRmVEhWF49HlFy7_Vc6mgPurp-dgyDramR4Y7YQYGmKsGP_ILu4LxtNgbelvTj7rRrTEYl5RrVtjpQZp6gasqMK6GD1s2RA36PamdrxyLfbE0U6GYvUDCr2Yv82tjPLxVOVStA7vJo0P-6yoJOrkuqvZz2b2OwUGXer5ZFzueX4cg7rvHZ-vVGS7QHaUqIc4-4Vso5QLsEKk_nWD6x5JlvyWCTfCCiyd8KCd8gdIKeKT5fpDJOid1Xpd-aMf_tlhSlfdbM_PQL5wSR1zg2sc8vtMUyMknhVgWA8NRkVLxC_wzgtHeSX1gCn2_gZodbK7E7q0JFckVRQ5-LNkcAevpTBK-SgR_P46R5QhtgudaVn_okpGBTs08obrQAh6FiHVi9AKvYdJ30u_YXvug9XwUF34eyIpMfSQtulp0jDHCWZXBfkOh9vungJioQuiyYqd_rCtCzQpNHwFc8U5kohkf4FbI3_iDpoOJZYyRmXSkz5F796l6HsjK0ePpdeOQINKT-ThmHtJLDW4wL5mH3lG4_WGjMCb_idY6cbUf8mxm4t5_1UIGk3Ga6cSt2fcrzRd_oufIu3UROqLyLbYvlerHtkdhLLhqL2dVpB0gE8kkjikGtXA1cyBC6DW1J0Cxz7v7X7QNPwEcxvOsIUdn9tuq9uGO6VhikbDeh1aolKoMBUYbfn2jLVx3Y_PLPXzqiR7n6Bl3GBCB5kCwotO21GQ4jiuUhiY49TAvPk7wnUzP0PRPNHbgQnJf2hEpsFoQMxrkRnGbnWsmPRK_khSOwD0CojgJ9AyxnWo0er4dW-stY8sPHTbIVKVsuRpV9tVYvuIixiaTOrFH1-V2k_MHDqrv54ufSlarve2apBY2L9Iir8RVx5jY-kKwU4xtooDcpXNATd9O_-bXOGbpBnVkh8umh4cfyDmkwq22_oULo5yuI6Ag9xI-TNnOGMJbLw_2XGH0MAevCPie7sjrh368mSN7sY4HqDd_PXWwPKB1o2NRzhrEss_6MZDkcA7_ygaEVNf2SeJ5VlApfniKzPtuQEKr02aNlIp_g06HzIeubS11MX2kE6EEoxGOjOlgii-rgQpJspD5j_WHq92SxQyPae7bV0LRhOX7DJWa5SpYfQEti9N9AiG6e7T1oyUesDs6TXavO_j_eQI9fATqpDYEcHT0gViiOyMYuvIUOciWl_rTLaRWNspWPeF3yvxCdDR76K50u6jBKpi7uxtIncT57zChQyn3gBkTO2Dv3FriOSxMnrloXkDhay1SDtHdsW9uAeXLDdGxfB9tsJInpngUNRBBVeY1TOG42xznCTayqc0ruExk1qDf4jXmVxIN-XmhARilowpnym0skuGSH2vxEdXhIcO_8e7f_HMRuptTlOi-0YE8xYNgt5iJLp8lhAiNGVx79jfFf_Pp9Vi3HcVbp0saUMpj_1-0WWd4FWTDQfwDfWUFOXG-85v64tn4WPfG4v93e1ZixdNiDFVcAkoMkmDgVCGpbJk1hPppTDO41Q1679F3f7wLy3ZZxJlzkl7gSGhivOgyGeJGWf0VS7N5duu0xcB0oYnkVCHSaE2JQUmkrk0MuZOGB2vYSe7tJpF-rjS1MkDh9wAwjSjfvMCyrkSc4a2eaKLzg-AdHK8RIRaAjK331_ojxB0Rd2d_e1P3d5z95wwrVUBY3wOkrOQuFZYSO0Aw4567RnK61ic7bWcRMxx9y7ziEOhNdcwB2REw4IlbHsAwfr4WmofjxRpOIevdvGG2GbS7vnoETSJli4Ewfek24hb_n6znwV3gMAq3ESpKJSMQbOO6lW9cn9ggbNn5SoW29qhby_46wbOKtDjs7WpcySZbNEqMX6YIJiGW77lXGsmyx0x-BlRm0QwkHfQC4oFghR9XyCaSHKZfPy-9xX0DtPYe1qrKL4cZX8GRVwYkEFxbknHHEGEq0s54-drz3JYzGwgA7GypNNb8U2cHpnhSGjmE27W75p2S44L1RI-pTzvKAMU2BpOX3Xy37lwH9XfTYBG0sblSyB4P2uJRzS5mnsKIrfp0KGlBcwXtaPoqIjN6QvJh-m0ZiIhjpkOIbVqovRXpdXga_vfrWX584_emmw7MDZOkHaeHMKlS_Twf3-zh2wUgUmaS0otcnOmqLUna93iWt9RMaHuAZ5S49a_sJ_Vyfl4JSM-WVjxH1w8_dNxKsYI2Mb1hOSLPtxZLkdvWNL2bm-rWBN8RhRzO-8RzUiMd9tYuORpgmGZTzHxnSWs2-VRFBwm6SQAs0MJQdFBpeuiEhommYbkSTu82CmDFiGXtWV-GxN9YDN1QtlDuxtymg7BKELOAdLw5pjw4wS9P-Wg6906bRrE4DTLE2yrEaoLH1PlBLjlKQODdY8_oq_M4t3UaORzSfxBRjWojpuLiK2CJ-Hp-1o0Y4jGk-_t9WAb1-TzlBEmYxIaNmxsxi9Hzecqd6L593toGLf_USfFOAHzBQmtDuhU6-xT9m-y-l2oF8YpJgGM2zE_SyVoBWDZtQR3UbGdMu-B_jDMRpIu4nGawjwhA95QxInqoisHS8xrcfVHDgWioXWbAfWveCeKynIXmTFJgJ3cLago64xKzB1qDgU7Nx8rhHZqv-xKf-wsVCX5RWPWNB2MliEJ4k_pNPMaeBCcjyc_rPYttJYEHPwgNrEiZKY4dJ_nkkVHh87gjlEUBWsvSU3vwLpnA6B-9-eEFZ4ZygYOBC48oFYlL_XY7LMHAnzZqP7gmDDcyeNiJADHAfPmvPDJtXXS1AIK1pucyXleH8h073c5Mp75rqlsZnTSN_Ad85pOBFzh39Y3yIDAGmz1-L5mnv23DbA2T9HotFg605ogtD9L54RG2CuIQG7nYnzP5YZQyJNo1P_b1a7PzTo2Nh7njKYOHNnfNcPnuvRDEg2Spmi6r1GA4Xyg5ogn0CAHQpDhi3A22BNuUHZ4fw4QgAnGWgEli0NespbWcZVuPpDbIz7iPrFvhCJd8XxwTcPRqOWUPxMnAAfwtKRJImgeHjz5D9dRj94ITNY84CEqkPVUy_spcl-vMtQfXNgLj40qDliwuiq78VfUcF01vo2dta1jKiFJ4-a6DHrzO8lkrBrtEToYLwtKBl-KrPkxfNTShZsOedHCZ3TISyAd6otdqjMV0rdoNv6AlpNcBi9EZ0v6TFqkk3hfT6Jw4RRsWTDhFYenFz3rvIIArCQiJ46QZy9wH0XcxhFJuUFelF5im33OhTDEpDOWYxcRkuA5JX8ZAdLcVjFEsoGXPXg3CucBI4CZvgjHtNqko_zUA8Ki8XWtkZAAT3HtP1cKlGn9QfzeoLj5AydCCrsrqY1_ztjwEnNw6Yz6Mre6oTUysuIKsyvSAwmawHQFJguOoPfl1NmFgqB7Av8UVhl-iiwPTpZyukIooDasVo_nw_ewxnjWcxguOgoYHhaOLrrMVfFqr6nX5N9Y5ly8LeLMdQGtnFYzQGvkKr8h_ciWdBOyBJfchvC5KtigYRAiRg2CZLubvYYwtbhPL3pDy1g0uF7o-tQbM2sUVU_6h3EQLzzQdpPwAsGPxA4HsTX7ikMSbKNZV6bHXLnZZMJGt3gzhESQkja3wjs2oZUPQ-WYTB8xQH3ooHqI0QSoOnZGU5C94peZBdVc9aYRumV6q3cMhCxHRZg1WDuUYvHti_R477leR6Fn3eazDUOkRBQavg7vEkwUkc9PTkESGz-KePfcQDwM3BYffbTGwzCA4c-b1ySodCNlVgYzxMb9Zy1QBT5wA7f4y9xWoSHh8qfjxRiDYGkB6E0eUIwbOxNgwjgvDwR5yh5qve0G3xpzdkbZc88TaURU7WncZpLEyKnMKICvoOtK91U2HXkkk_ZauLntb-n0I-2arJkDEFpk-ehCvqdPvgLUhO_Y7g2joX1KDJ82Ii7SFzeO3KHiGTrXc0_kpECcGxBZMlrFJeLf6xgJ8Ol3U9jrAm0dnYdUGgCoBGV-L3hZ1pquW4L3d12HaBXP--EhQVrLE15aLnArr7ZycHLITkXa5OO2PKgDTSTpssKcTkAihF2DRNPad5aaFmHXzUxVNEeLfUSw8wqLPMiu5U7BZngJ-p5E7rRmcHps7cOnU61HlIQ_MKkNtNf5GGFqYLefRFIv_R6u2UAxFAWgLW-56-zkQbT2xErSOzRnL__FGPJ-Zr6mfPMiFrbIoYhtkbXuNOzes2LgRlfD5P58mkFTd44-n2HKQMF_6xcS7F5EwhX5TTKsioFafXi_VgiVtSvGKV33Vw4kchsUa0ivV4Ymp5C99IYr6XO8-xsN88kzWips00u2Dy7eEgaBpIC3v32yGX6nquyHfFYrnpXs4sFdieY3YiBWnZDjAC20JmSZS1Ql5BH3NPEV-Lwu_5B9B46G10e1PvIkJIiV5UOAISnEqHGf5N3BwtQHlkeWELWEEmHkCswtlhPA0s7lM3JNTAYaQDO-RpuIaU8CZdgej1VZE3noNioqI62yVDJa5cVCPnEASGzfRv083fbrZhuDTnHCWMabMIoxpmg0m4p-tVydsJf-2fj2DUv1ILpwn2jsOBzo5vULGXn2xNJZ5ozgKuyEsOZ5Bvb2xKuNLpCGxK61A9qskNNmq67zJ3Ri39wrdPEQ8UzFEaNGuXptQOyuevpjqPduO1RV2vW7tWvKUSh2cZza9gFVEcqobge-k4B44vF4tmjSco_fLYp0q3tJMVkPhZnt4jGe8MYe4LWnr_7jP9j3-HdP-LWQZ0syiWfZdi_XmGGhvMeCZmtWqfo01tVrXPoGYEZegFQUwdcq_BoeV_Dd--PfFXds4WAy_t8l7FdgXXRcDp8QvBK9FlKx_QECix5ml13newnkM7xOjJcLrF6CpR_HjsVsvnrvK1Bo21kVMi4THwUcBC_t9l-JQgOMvmHZPdyKcTMi-7EEGKK9e3dKgwAWeILc1I-L4Rs_Io44Pq2UU8ekXdzF6c2QdDPVp9QEiArXuG7JzkNPMxYRn15RDGNB2NbC9KwZBer2NjW3kVMSfrhswMCVTMkYt4iO2TcqaI_kw1pgqcYPkaiK5-plY8Jc0BvjsvkDfn1wgwyvgZNT2IpvDi6c7hy4CcioVvUGnvrRayRyBxyYKW8u1M_SSLGr8I5tFspDTm1nk2dprhnKSZV39Aq76MgLKnfw4lPb-aCBrQDhSKnXzs7DPaq_1F5rt-lvgC8r8pVvv6Ja4Kv-kFvAgWULLAZ_I8l7NHQeiiUOAD0yMEkUewxi330Myhu6Nc101CcIDHAkL_A2GwoT7G0oyAxnZ05JhCb8u2Gpe7gV5R_6ihA3alCYnA7voysrqyZbMrTicZUls4G2QP3YjdayXce3utiKrRG4QfJSqiAZPhvoIqO61C3kOAyjSbmAl0xTfM-RMOSJ2bf745L_uF9QlruG1kipnWjVdNsjodMH-_6McFHR-YqXd1DFy6kIsfYiRTXDo_2LsgItE6jgKKXtZQOLKFTvSlEcJy8hCjvMZOdjVxxRmrLRQB88fklncCzH4x_0b_-Z7IZRIF0IfEQHaeol_drXxEsGCTVGGCAOpQueavmcMnJVXyxFGGXlJkf27eEk9EquKoXba2nvh4rIcYIISACEOeANWuTP444FC90xY2LmiBl7Hk86rt8krheNhoRRISyLjxbewEJkJZuNmKNCm_7682Yp6jImALfbb2pFxzfTay8NhqkjxpVcUdWGdumrUpsfcJABNP85IGNUx9dFhebuwaWEQBk1iIC4mUEuJBgdyBbbZSgGw4o5A9zqivbR_k1HNyjSPNUAeu8Ta7p9Ey7N3_B8wz55KynTd8CFdGTa_A7VmhAa1Sn9F-YahBrPueTFp0RDmVH_54GMaLv39Y5fWj6F8UKeREL5OKRKvCx8pSThJl0yqxgTVNybu9A0-zD63A8J9I9Ev1LbeZZng7W-mMxrGi1rB0kroikKS3QtcgHohvlL_ESgGBQkSbDoaPkreuWmcbI19KxmJUDK3K7d-tJP9QuzR0aIR6CmaDw6LBpQKp-us7bsiEY9U3OsvA72gOAdvjnEI66iiHxpLfiPdMR3H7jSuoDwj3rR5mf_bJ6D_UKRKWZ_JhMfES81UxWSaY48swElpbcP6xA7GDvvvRJD1apEJo7PIOwqUO334foIQ-Par_ExqYS5EzQ3wdMXdN1fdqiMXmPTy5f8cAvQYf_SQGeRxS0TZZMFRDQVVdDa5uDz63ne3ivcMadWJKRBmuIxVox_cJ4S7Qfv1c6epiDa12o4sPCHMdq3m4-n2TLpGEsPcWvSy1L_4z3i5BRvWPG_dM7yb28hwuhztdsukNh_FTfFXuSe7UiejtrAi0NbxlT_5jHcmpE7saali80dLEV-tbBGHrM_9oXehra3amEeh2eFy6zDpSugThgRFF4AhQ4O5XDn4sHOy8v3aLLNg30MP56YoJShXHzUX1BhnjNF1kI5B6PJoH4xRX_GRszxp0csXcUXTFkNKUI5ne4Omri7WH9CEjSIiFpzC1UifzaAbUQ2_-YZxD6j_35y8RrODVz0MzzqQRh8MVlhGd0s42rBIkk7lfrDB4R0VaeGr3HICcyiT0EiwZEFIleoiZWWS9S07rPS0msBjRBEIG4j9D3fvx-eydsAaxI4kyvEsqSOTgf8egEYcpvfLZa6aYNZoVWcG4HcmYAwUC9D3MT7NPl72c8lU12ff2i2EjWJ3UKG2mCjRyQ_orgR7zbI_ErMSbjT-OMfSlsADpOXfjBAwrQIG9tj470ccpxj_xCN_OEzU4xBF4CZ9sv6YTIrhpeGtjENubhmhQ1f8hK3df3oXQ4NbvUXdz2LdQkmtCi_uKKMYXks3McycoP_coeJ8sLQV40cqJ307clG2WJIx53FZxPkV-L5YyMMKczxo7gC3pGjBN_D3D1bYZzkjHwpD-L2izQ__7xVlIXOsu-Tgtl2CZyqyOFE8op_7_hCo0jdMTh-jgX5l1apNkcUn0a2wuk8frf2-3Yave-RvIpQiUIeknQrUBnbNxsCpPtmk4N9aCATD6PgM0Lt7Y_IV4yUPCnxWRpnQBa1T5kAYjmk2dVfUG7vXfCet0v78aR3gj_GfXwsMyQUhrNq7ASiQd2HDAEGUW-LkoEi4Yg5tbA3_L8T13xuePAGUfTglBx_0_vJtWnt4-vfBqRg78wdlpS4V8AmpgK3f4oRipzk1bfyPyuTuI7TzikQAF4OL9HJOYxMDp1JqtD5SMWt6133eDvJvwaHo5wJIvJM2vUSHLidN2t9Pz962FDIbAMoWJ51ksIAvlE2C0e-wBKqHUz4TArkTNbNJsXgPT6RKw3IJZpCX8U-rDEuPo8qqbv2TkaGzhyy-Ha-XDhkofYEwJxPuy0DepsXPuPDjVe1zW2q1DspQBH2NQ1NgUtGNON8ErRXA5zVU-PLYRIZrldTePve_Ughh0YOENy5F-eAgdhLaZt6b9cPk1PfgOH-r351z6cIR8KYDjKMZnebQpPqr4BIWWX2JVJgmkFRJziO_h7pjSeRIUujhoGFqAJWy2jXkVbP-g5MWb-05-qwqv8YrpGyXgDRh8PZTtW6Ui4kN0DiBG00n9tYyUCBKgMN317OC5yHuR04hGNpreyBU8eefWnppqfbgpTvSLzdVl_9-ewEcT9TmUu_UyWt6PNseiOO1qOPOQ-Bqlz4k2e3cgoTZH_lbPzKjajeeIlPgWogiLpOS7vy64A9z2hmBbUJcIDBoVFiszzmfzJwgDhSwzogqBq92P4t9KRS8h4jLQgN6QIjo3sAE6HVPbV3H8OLtte4v0cvUM14yWZ8dyqY7HWs0CydhEHy_UDJ9ZeCK8_A5SgY_U4Ww_ppQ0y-KMi3sNlBqoouYo5mDNRd8ZI8yXfsOZmu0GwTpJoS9QvhecXr27EFSfsTS1joMZQZIGmbemYVY_wb0FrTdLrqG2RrnkD1YpNoqTRiu19_CnptzBfkNLsMS4TzadybYFjDE_-W_en417UyltvAOTHAoc01e3vrc5zXHa7K1ORq4I4HtooTnZvyaHNIUjZxHKe8saXrZFYOo5DQyE1wSlPCxTqKvNgYoSGEztYvAemI5sRJa1PDh2NkiaNe9e6aeUQ9SjlSKNPPfsiArCCMejPMpzTcUQ1ZzdYUUBdTRRSariJdnp9DwHqBY8lhw-9y6efdcqyhtU2E4AIIkk3XSE0ZWIp_MPkZUQxSpbTfvNra-6VYqhYh5rn6J7ZptVeNvXmTVYcnVoHreY7ZfChSUGPMOnoIPu4A6BSQxVIscPpk1DZ0eLTn-9wW9WvSwwzRuOzQfS7FkEK205N_lnn98pC-H2ai5ahiKLGNaW_e5gfBANP2zbnmCkz0Y3vwyxQLbGwwahb54U-mUg08KRiGw_IHMGvxaVTyJfHTPPejlPUvw2tg1fKSoT8O10PgYo6Jbv0j9pItqU31t35SbSHe5f-BeGXZ6-7sBjt-KZlAo3kpAspkFIYN1cFEk6C0BiqGEeF6NqktZensDD2SfuFraigRr_EpdsvTix3LWEygP00moKLCDL4Qf29b3dtQmzNr3dz5aP3eMCO7SI-LZhVYHfyNz4v85cNOpb7jhUmCEUtASRoO7ZpiAEUqm0i37-0mpRtazxt9xE4l5KCEAmu8nxfr2NthbtRAQ34PDZeed2D6KsMhVnCz7KtZtRAB9SRFyzHwKCdQNI39LFM2FRqAAeiXsqQmMTBMuvBaojSxFhnXSnDZY5gmQyHLZKVNaO6_GZ7wWQdh8CH0PdxBDcvGE--OIG-Pz8hIjUyxS4yUYwuBHgTkpnaOVpohmE-uiwaRX5U-JSGXJ6tZ-7eRJEzDbixDucPLxakW81EoBcRzF33VAXcEZacuXuUkLMVRsOylexPQVZOAyfKR2UfVLu4ZMiV5bzrkHtBvAToLsCTSDnQ1C6iDQzu6KnPGyQSu5AwJxREdlhwCsY9fdd4cDcRi3xOreUwqrT6VpWH3os0CRipaj8ypj3a8hZUR3d7BpdqasBMeEzvMnWJ6JBWBDjE8EQiEQ_9aqS48GKpzlRDr0xjFXRWHyGcrXZ0cZ2eGXeTtpO-9RU-EbVJVJNuyUVzPhktta6VpjWMbrZZpXwxX8hGfIJ7ZlZu2sr-09aeLrMr5r0dKjsCWK3O8FdOFddSyKWZRYS6MVvAsUjQX0VA0kpYgpYt4IKlsP67wWRI15a31sJrfYSmcJ0f_2e5slYQ_aJQdVf-_OwAJhHf4l6cyEbSQ87kT9OiCUe59hh-kbXfF7HhITg8Pl17jvroEl_oMhMFxbq7F0_f5GwFSgBniHI876hSkfdsSalh1kU5dG6AD8gAuUeZmCRYK0VO-OFJhqpXFyx7lcwkf9snUs0VzGk3ScY9No6IC20eANov9hoB6FOCOELE-eB6T0-MdaRMokHKwdUTv_H3LpUR5FdnWfq5iWTmp_IckaQeSRnTaTraJhUzUPOCOm2-44yDk-ocHO3ZiYsQKg8bzWsWExbJRId14HLvX1AJF9ixjkQz3M1qoTKFhe2he45hCvnUlArF6jWlmpuIjBCit21TNNA_h4opbpTjIBCxuxjAW5iGxiYSCr5i0eZ8G5Vf9jkLHDhPeghFF88--3qiPUBYcOeZ7G0iwgKFZS_q7M0U8htdZKBx-tMsqex7tfPjhapsBJ8mF3gQr3gYIx-rAij1CI6c6mZdKlMJYDUKqTyqogbbZ2JTnOeMEUGTS6NmTfn3V2ljcZYppGJ_58S4R60CrE5x-1eBfBHxjr3FAFAKMD9xT66R1S92BwJOsIO9y74-7eTifHSYZoxtoj7EVS4A1z2qi6oi00Hq-eXweeqZxmoWqPJGXBVo9n53GtHojIK-REyG3twOXqzuLGgBPb_NH9Dyjz7jIlq1j_GVk7Kzl10EQX-0PnpOOyHxycAFdncLWI2vumppRscTeUKckCwxH4bQcF42BcLigsonKSWLQAz71WYw6r6-jorfIJjm46Hu1RASfnAXxmlLXA609NgTfIihCxcOZJtelahDw3Uhk28snhxklPOHR8mURwLaVWCxVLZ5KeZIApj8QBrus8B8IjHbUm8vYztFFCuhyHKJuIJRMu6onU2gMKzurylfhzj3VcLX00SRa4MmF3iYnhrnLDlRdorDMlktPoAZ2BiXWXo1dQ8m5S5sOlsQVX5rBmccJFcRfASKGqe9c1Im4cTeIz2bna4ATBWfHyArdo4q8IS21-m0H-2yj02qXmDcU5_pgWcHy8zNiAIX2hDqohaTN6oDvR3zuaO3Df_5ctXZ7Owld0ra6A26S-ykLA3tfQSxRN7oCXO3c3VknOQhCF6IlZQ99DTpNb40S1MWebVIKlu8B7-WXEDHuCLLoHqlmioZoVFPBeyf1aWEVLSoi5_r_TX3vr81I7bnPV5GZ7f8A7i0YojjrNTfzF0Hhxdgb_XYbOoSkcB8br50ohvIVuxetlwJYoCp_fANJEFmx6xBQLqs79uVle5yc7R_cBCtDB3KM3E_ZbA6xWhwbwBWd9VS0oPEKVvgY1t2dY7YoWaaUCjRg54KNM-xOCygaCTi7HhBBPZNvmM6PqnG0qD6IDb9G_QzQvb4qfv6ZMYhr429CCnadd7xMJ1KjVZikH9vMtbM6i8FKRTGcbExYl_qkrL-p0dzFP59krb4b0GdUYPof312H5nTM0nxaZJaFEdqrJL5DrN1GL5_cRd6ZjWBZKIz0MT3CBMNuVLPK0fMKrfzldty_a4Sm7wcNwDGZiwK2EbfNEpdmOeiiwq0H4tc5oKtNUj5Mxp8IQJvY9PSmgUoFhmwrjuV7J81pzSwJOuf6i-1fTmlJ2nNKu-hFLX0370cKC7Wbf5SremF-rG14wt7rsI4rIhXVU6h_3FDu3dTR1WR73XvxFIkmQiVQcIq7Yy2BC8DDUa_zUTIP-IDNlQgLuj-cSfbrSERb_t52KGQIkwGM0Iql0caoR-QRRAJ7990HkcNED2rhQFGsew5oIjSZM5vmL384N1XxaXXtwB8rYgpz6x9fIAlAK_zmDWLCS67cawFVaJFp2FWmplOpd2Bdzpzr_W1Rr87xEUGz0W9AH5D-iiYE_xR4G-I0T-nxJ62nFp2PpRUWzyt4bSdV6TyUO52hk8zA03HfVLX-CeYP7H0aW853T6f4k2iuuCmOBKL6Dqq8fEa-M9mvPoHSeQILkTuT7orOQKh1RFrE7qhe0moB4qCA-03cA5gTpSTz4bCGbvix7YU_Y3THlJygaJ6ECFc6ZRap880OtlSv2m7lvVGH10RuwYvISgNM0yyiqpP2vzDx4Sgo67BITmrdiwCQAUe4v-JxbE9HwcLzgQLR_HPD-_CdBjrPTjDXH4JDHrUnsvHKR8mdHid93jLIic82ZEFKTNy73uzGnzjDY_wUKiFBFUh3o_8ybU3OFbq0rAcRntiN3nSlbEjoQs3av_b3EqVBzqZAcEPPTCSQuJRe9_tsHzi5XMiF4iIYEojE_kQ3vdaEZN9EjwHT_zTJoRPnl2ypQ2FBtLrQQgSAHkQRomPTDj5qAtutUCYBiuN8ZhSrv5EhcjvHXNNi6K0Bd5zmAAdN79TzfT68J2YUTCn8hFIJ86z0H-qJPmJG78OsWoRjfMZNCAfe1qK_zBe4hZ2aRbpKTdMufYRgaNPEAwJjEY4_Z5JfFIFE-RUtC7mHj2eLZt9NAFu9opdMcGPdgUk7qCDRBGlj8W_wskchgszHmBiQUYHvPEXAI4aW1WJxLzyGx-YGyoMJ8UnTB4rN66beSIq65UGhYE3oYqsik0WB7AFc4YQBUocqsU6DxUAS6doPYjnFY56lGfVmO4ZkLk3i9c_vAXexTXkNA4JyxuqVcwk18SupCjnEEBssGMK8CVu362STo3LmUyWc6LN2-7gyD1HRAQNyEIkMlh0bAGhD1sjKvQ3LgFejjhdPBtyFA9O_8qOf7n73MW8OcYw7H6LQkbUeTTWb8fnAG7-GXi21h57DVfJQw8sy0RsLD5yjwKEAVRDdKLaYgeuZbDdMyrn7PkS5n8ReRmof8Ik0ezS9ogyfsHndpej4a_-het3EHP6HtAy5LotAgG2Dl__urcRvDyGuUpm9iV5DTG8XnGRMFIDZ2Ny3Cq3enm3TUCavd-RPvXg7VQSxu7B0PwG7YXu1K5DnEe7Dj64tkwN3SuKeHnZE_7dcrLH-mYreSfmGznp24Iz1YZde6Pmw_6iiCK9Y-dQJyqf8u4ixN7bibHjj1pP1lsop_biPZgJRptBiR1gl5WwI8f1PPRWMgrqa0CY4nm9tdoKnllEhjCVx-DMqUyrX5_KibWSgfJGP6qSjxhHXn3tz3zWjatdNthWNkIsobMZbExK25heMMfXRS57quyVsnP-FgBFXrMtTYGZzoE3sIFv87nn1dw8swstRaPgn5WZolIYWko33avUaAfX3bXHANMz9067LjqsLBn38HT6af42BNwNZ_bb9iisZf_uegkh4KSjme2l8Z_SShbtszBzvmXI1xMuKTUna3gazMyIm5Du2TjmTTNINvnKiwYKzOLmwYAT68i7r2yfFfJIf-_S_fpooNfh38e1ZqR583SZ5gBONIvqQX34tw1WWvV4QPoKDDZhLXwWT5ftgrbqVS8UBmTo_sbRXZb5et-4cq8iRSV8BkWOKRDyE2FSClxpp-FWPrNMktnSsP3ylFV3NOLsUOXTOX481Pp6XiyMMeS_HmGNUiEsCYp2a0DTIVKN_3_-7ZeYfNXLzRWzXVYRHFWSesQ7l9nAECuH1uDREaxV5rCupEoW9ZtZ2WsVSMsL_aGsagS4LxjadnnfOrR1gU4ZNs_v3ja11WZ3fAxOZcv8RZ3V8O9BnVidZpYKRxshDYMoXzLYIpFfi1Ud6nE2qhgipWMcwl91P6ooByH8mDhCNodg0WTB6Iskg5ohMU0yRNKiRpZD8n0D1D2NTVdn1T2fAmbXzM2jq8R06c0HmJUv_y4r0dqeRg4N82wkpyRl6GgU8X4sTtiCTeyv5cnY_OOUmWJc7beldFRQBCpR7enU-RqqwCCB_WjBCU7VBFe5YxLun9jGWITWO_GMAkbNvBPZ8ZCvWpZum-LwRBVHWL9mtgcwJv95mNJtmrU9SCe1zna-PQ2Uo0ePtLnrLiCCV6PnLbwgIDt11x6CzLU9Ip3SZdJ4JplQ9MtnOyCC6aTK-MKib422H7aehOGAg98WyNqbfvsXICNwBzy3Mm5n8HtKXTYKdSiFWsg_z6dAkckp_48Kb2sRGmlk2LO4ibKGMr55oVrZd3Nnm2ZjWoqRLvxFqxLTyWGDsxqLT_JrYG7G5UYVQXbUheSDk5ulWB7F_HgCDxzDJm7xgt6g-Usf8_mVqPYZZppeqJC0NwqKfN0ZJwTT4AZlIyzXw6rEFAMp9aJzrgs02LsViIW2TS4DofbA6bqr8Rp3yvUn-pjJs2W8v7lQDASvlpkbGnnrDxsHuATSCcNOCklKPXmQrxXF1G-kC8JeGufuuZMNv1fZWQO1o3eZ1_LZVStBvKByIOtqxpSIVoB7R6sRKkBS30C1DFAFbQ9BIZ6sTkc9RZcrUIcKrCF2aanDUNVTnbr9_waThxakdu0XBrzR6f_YxqPPNrvxhr51j5RD5K1nzP24YG2JlMoERJzsuVoLjLCrkL3ShJYZbVOd6xqaINz1nJS1ywFjHHrtv9P0QAhWhWW-hJUFc7ZvDFE05SvffIhxecNr99LAQKX-x1y0rz7qIL0lIk-iRdycnr3govUrjMV5N4J6ST62VCC6r52j4IlxT2IH9zI4y7m_QOydWlA0GXmnApl5-Yf9C09iJLP1r6s-6jKThg0SCO1A7AAsMOQEwuckOPkQ_t2OlTrRsjTIZIEJbucPiaJFLaSK23bzDs-1yLHjUXGfxd0FGkradTQAT4ZHGkM8YMVQdrcoo1O5cR1d7cFq21Tp1pdej9iCgVAcmj4SszSe70NCPjMb5nN1whdMhZQklhjaV2swpgI5TmDVA3ATG9Tb01IVxSdRq2WD7supoWCC-rdNkgcgyKUKg9HzrzJWBk2766cXB1CWSrBsDF6nn6S-22sHIqxmA_Tv-2Q7XKQZxcERIE-t0qoT5p6LFPDSbta0YxPq-BICJNHqDqt1M7AuNfC1CfnQ59rwRmYcRIQ3pxuQBUSYPihRmKtLlprWP2dSlY8Py1QBm1jKR0ZdqI99QxKleZRHQix5_oaJhKaJww-In8S2nlhrjpyev4PKHkdkkKErv9D1S3k5TUqTr_12avOCi6xhsulw4VVw1j3sm-xTn3R1sjdpqMP8bGJsmZ6SVjnb-clhn3FkpovheFqpEFqDuEB-xdKPygzMrBrnp2WzH9yXxbn4Gwlyxxwxo3UcvUJxtP7vwOMON0CfE68u8ZhqtyX7NXKE48HrrrEZL6eT6N10sFA3mhf2PtS7gQ6Qo0gt7Qbci_3rj5Dgvt2p5VK64e0I_304KehAClCcMCTRedglvzQJhgwK6UyZu529TFT3_PHZGDkWmqUGqyN1v6omJhtvgJiBmm6iaZtQL58zwG_heEd262oM6VRRJaVmYO7B7QmOypn1sU5pNFz-_c5NzGYwMXVxj2n6EF0XXhhkwlLQB_lgwb7XmFzyZGenChWK_9DerNipSyZW-3QOt9zNhAr3zqTiV2_eHi-rTQ_dVgzK4oYuAy578xuDNV0dmYJrJQ0WqWHqSfUk8RjnPCrUwHmBlTIrmKDpeWXTAMCh86s19RnOFEfx_BGEu7cc7lwhFeKMAQPDfCMqClZbL6eMaledii9uMcw7kIFraIzRv6FLNBQ2Yji3PVRbZYz42BV0zR-mPtVlJnjqZB6QjfAQ-YZM7mNbQiSB5t1EPfhrLjmfK1uX5-i0UGBMZX7sOI-GkJfhHUJfgL8PCKMcudM7RID0OZQXtWQ-GRWLdkWaBZsmtNxVrMM9rd7ahTESc6-7OutPyOF-AjEODotsgIKY6hoVYotw_uVVxFHi0OkXbQ2W0IfH5o2PFW9qHT-qlJHJ9cuUzfj09Tdxz_BDNsPaCSDRKhegOGLRxvdZ1lASBWDVFNA80Cm0kvwKPW8Fi8YgLpOMXbnZc-RgCTiA7PjlqnZrexXBAjWjY8C4NTry0p5L_gi15Vtb8ey0BwmjTzaXMlj26_vXdn550ON68wqR_XpypHPS8anyxq5_BqTWgmtwPR_rUD1vqs3AV1RMxiDo74DIN_nFHxheiw5PvmXAkiVFeYcQe1fOBEiYANcO76TeXYSR7iXhR2sAs6b1UC_XWoDHCAdxki2oiL6bMlJWrEw_0ct7wEz2gUfKwQUU6v-hexJzsbQDn922kDICEBiS9sqH-Y9YGB8ZBDy--u4BeLGGCNR8_4ChVCVHGLUzb98p9RB_MppGTq8INsL0ezbSPoqq9bq0H2Yz2gX_RJ4yI9fUkvtmpsN7rlJQ1cP8rCJVtQjvvOAa44GaLIwdmQG-AHFK6GbgKmoWZ7jJ4m_B-qX69fBAIT2q51ItEnHcOZkux6umY7A_uxOFB_qr3emY5FMiMyKhjywwej_aPlfL9TpvM1V-zqsTWz93F_p8IbzbGFsiEQGkcm3DEHII5X5fUcwXbGnyv0lIAsdF5Be1XZjRLYsUPb_ulEkme1YwjT2CjnSGC34umhImw46fs36d0dhP0zTxGSBtrkziNA_oJyEi8H2MADHrHYxCbQMd0lhHJU29wAB_MS3op1bC0_WoqJy3SETZ6YZ5JxCDYoEuEMnESn_Ntn2w9XYLBN0pZGr5zArcN3BEGUoAt-HDT7Emy4NVq5jONLT-dAC4FNEpnHvl416HWQNQucRQZzgiybjQidc2rthqiDiHfGHeL3vnFfq3ZysNZNE2Y6FEaczwjN7fyA_ZkMo8mfFLcs4xXWs92ZYZMYJw_A6I4yh829Py9tmTVteq3HqLk5TcZGRfjy2iuikdOmHdueFd7KYOFTY3_h5i_fLNZi1Do0NN8C21dG_oUwP9uSFK-dur4VdIlaumN6rmKSfpj3PLerKf6K7lmEFjMbBLuK7QhFY_a4h1hz5ObJ6pQ_pdX-67IcNy-m5wxLN9Rq2mwF1LGhOjPQRc12x8lEpRuiEiT8bdPc7dxXOizv89T8qlwIVzejOU2I2VBk_NW_9nroGKW0BhNomlYaH60X-oAq5MtpJQ4pkq8OS_8qa6BKY5GL1LrtUOzsR2W5S_tJJPBTEeS8K4ihR-_2RFHDFOWDMjNEEoQ2cX9lI9ZYEyae2sgZrsceb6A__Zw4r4IfxaV8UPHdW6GgqzD_VJKUM5EhlA-vedavVheWLEB3MA-q413TTzna1JrMd7GSg1-oWTlCT1tM1RYw7UPYDcmXYKow8p76cDKiZyN8F3cE9gmd-KdDYo4FYaGUxmmRuT2ZzZzlgLCZY49wHk80-exYJ3uPFEk9vE6urQTzR1Nh7e15gsJq806D6f7h9AyySyU0qRnalW601YHVpnfxOnA87wqIIM-xA0HywH-HTsGDUT7lE6fXV37oH9angJuBwSqv0nXP3ydjWYk6OuhfOp5VEDz-ysu9dZ2vdD1wxGhh8aDKIpmWEGt1k5UphVj7zMEuhyzn0DG74UygHM7B2EhLfJn5mvk8nWeRIWzbLQNAr6IoJfFk4PsJx5ikkr_rxAUWhOSgacX1hYhl5vkX6PYSdO9EY1d_VGWKe_WODuiPa9FiZTWrWxV2tzMzF6zxtV3OecGt2mobAMCCItYcqM5IaxhMR2q2OCmsMEUJk7JKpHOlZDKYjXeRdx20X6BxYTGS20-xqER04fBSoP0qMll5YGw-cmCVlAEGSAC6yUuZUVDZdS_vxFdZpP_Z0gNeI_2MkRJhIxSdkeRHbvk_4VLVYDXZzVpssXC7CBYbmlmQYiBHnRDC7eSplza6ib9125TuqDjSIUzHCp3-f0p84bngxDBCrlBFLnxxGFiOSW-xJP3LtzONvzQ4dg6b64lKtnjRahqxOSG4MFOzhuFkYuLlVBp7KmvjHIGlhDLbcwRJnc9bFYPWVLbUEDAu1D7UIdZvE1heq8juJBiL4kR3LxDzemXmfTign0rgoQ4Sa1wu9_dbAp2N0LKXFxvdqpqHogOFaPNGDRyEFqZzcxjcLGK9sSuXHq48Fz0LZA1vIwWzbVnmb4dd6QiB6AVgeT3yiHCOoKXtuIdDDqSSbamEyKkgQtyXsYazVx3RgSd_cgAmyOzAJTk8E67S3qadMhYrWLIFrXoSROE6_DD1k6Mg-j_0O5n4KTFbjlUjvACESD6P2diVK6q7UIZYuj7J1m9BP11hnaQh_JZwLssAKFfJT2YPU0p1i3VNKVLEa_9ICSJROTDWs-C-QDirGQqpvPoqf3vmO5YTygVfhKio1y7wQBHcoc53ZbXt186YBJ0UHgV5EGtaztsjMJBwB1Q6sA3vQm8RIpxxRwTFdcH2SAfAUUpwRiGFJNn67BRSUBqjDk6wcEuq--RxDnuH8ZzXutWhar9_ICjMHnvktZCzybnVgbEMFhGQlWBaDGc3kQsXKT1uU55A_KuaHjYAoyZd66yG342Y52DJ9AnkeKYtLTnEsi80P85l26Kf_Oa3O1DR69OOTO7YD-h87OsGRnL56R869Q3F9Xh3tKkkzoMR_oGKQ3ANufjSkpFasp3BgWq1U8VpcLFiIrAQdFexrLlViWfOr4WwPoSszbb4KEGjnzSmbeDDlWACacYnHNtOj6lZ-Qo4v5RKBtZu_GYzXoAaCs4Bpj0qQp3mNcJObYq_2dVm8y1sDBO0C7neMmZqS5lEqkF5srMSQXmCs2k1qhZYMganrtpy_Qno78lfMCB_txdL_E3-YmadkFWNtymm1uGr-x5Ef4WTYBImYia6kaSty70y-78Hr0XGlUn0X5G3mJ15539JxOKeQdrRq_Cqy23WFvvvARY2kckVqnYyjPABKSkd3pmbXzpTPhwms5eCuc06LUiu0M-viMhimeBBUPeCsG-JXiWz9gmCaMcBc2RfNXhiNAFujHjc1ExWrwoIzjqN5lFDnF-mI5kC7gyIx-TjbKh4A1hSzH-zCpnuku9qI4Y-FsWZ5A49eHigp24et-cui0Tb68muRA3YBkxd83jl-tF1nd5IooHnB9Im3odFPSXGJvaivBTLR1h7W7ST4f2k2iJfObIbEzZV0GNcRs8Wz3mj3tA96yEiKlvmp1W07DAwDqaZsKCdV-oirtzvcGOA96eBHtj1CLg3JmKgF3unNOtrexgAXtW9TYadKZSmKhwEljfwjy-72t4LC49hMNn5zhJs50M8PgNUEcAslHj1J_s6rvdmTwxYjvwy97RJrdiNlujF6WXnosJEc4Nuw6Rd5SFbpcMo9Fg0V4FTiR1TqZ7hFdvHzbyT_yGO52NwOQEfV3fyLnB0fw49TWu5nXS7uTcUwovHJLjAcC90SNN_CCw3RaI2aPt4DKSGIhwHUWECjuTus2ywLeRBXeDR_Ra9YnfFTDTdXcdOCjQHHIDVb-QmF2TE2yxZn5D3ICvXYN1HCwPorVHI_WD9egBqqFkNpkuLpPefarzthh6e72UJijTP5UOPv1tr4JcpnxNiljO8dkZ1Y_730Q6DpG4GwilNYQuw4Wm5M9Q-TC88Med3xFpSVPwKXK7OPF-jvhT_qIaqx1k70vOjtT6S1PnIqn8Ubi0lZrVsiOJaCVvS0ks9NdPbDj1IRqr9QJ4wNJTemP5BqoHbIEZ-ZRQuxh1VSYS9-FHeelOkeyh9cjnJsBBk8LHL1BmDeA0KDbqmZhGuYxD-jWtNM0EwjLIhu2I6EhZQLyaaEdrliLPmCdQrFyfp9YavaSzExM4MObMWwxjay7j9MbXzOiSE1x1QfT2zEuYj1ZNeYpFGPWX9c7qSgkg-yxRgdx9PR3tE0PnEzXgLJtiz4Qj6RJqwEZ_XqU5OcevMAjSJN_fC8BTt0CQup2_sTQCdMC-gNw_PSovFlblzBzclRlMdrPFh66nOWsDAeIfTRxdlBvhJALXSbWzrllBQFZK0g64gulrC9tMAoCZBoQKveJe4lCg8BqDylYBLjRaYyr3G7YBjzN98s7dIaYCC0PWu2f9gpxs_5VD8oWPNp0uOEfe2fhQ45mDlyTk6kyQmOXOCKD4nkN0Sob74cFWbh5yEkVXVu1G90omKHIIty71Ifni0IXlBO74Bda1G7VunA9OUwmHQrCS7SSmhsKqWyvuQAeCdZP9Hp6J8mAyiIRmh0fjAZVz6wW2cBT3fotiZjbrockzIlCltWzKssILq1Bf3OTQLi2CfHTpw5lJA6Mh77QrakW9YcqhjCGOv-JVTgfUGAXtL-NeHPorDXlMK-KHxHoeYz8lleuHn-O91rpyGjqhIoTr2qyMM-QJ2YEbHzEhTdlyFi0JeLmhnwbWnkyw7974LuYPrz8lEbWW472z68rVsIEhLbzdBw09JNjrFsDcenB4tAFlLgFexJ-gklHEOPrKQjglhqL6z-PValM8YXgXILXjOUHRTQRweoTev97LUk6ND5XuUk84sfl9-2FOciX4cJpeEHHkDi58Wao9RKBlieDVUFkncgOEzxzZ0RRbhqmM0YBu6FbfxWaYofwoW6iEG_vA76ZpCm5LcLEI1sdoX3XWej5rnaY51oH8vD87cV6gOj3J6MGFbsciJwueh0JVGH5NYdeROcm5GR0GS1wZcUXG_vtlLNnAHsL73yKZS7S1qSUwiRoMYkHwEEAxwx2VsBBzaWkd52ns55tx_c4XluOrWw_p7qu0WlkEVDuTqoWre4moOZdQQZg7sQZFq68nAu-9VlJNEVd69fgdpJemBcZ_n9nlB4MNcSCCApT4VTUcyFO48j210HsvXw76Avk08PR2eNQTNcM5Ngdf8a1PB72sKwtKfFh1oOIPT9GtQ0j5c2Or831J8xtlHnH-dCx_lCo6WrI0xvAcx1jEcDakfOd2sJQwxidNy5D-HadVguX-vzYw6W7fJhCdriLOY56WBfBSz4hYlN_g4Bdj0lbgUMH-7G6QPj2skHYOXsul4x4Bvt5qUWVsmzz8oZCBgicVLZPMZaoirk5O7bGsdfxr-hOB7pkqRLx10ZdHq_UArkZ3wShilk1hiAcDNFsxTIubau2Kr-DOp_72VfvItaB6UmBnTN59dsajAeDu1O8iIqbeIDRgIQrXY8kY2G4q7Jurpdvwr9uBFsCHoIAct09LIZJAAQokLWaqbnQzc1AO05frVixnsi4o_tSqaCEZbF5To2v59cCJ2w72vw6gpA70o_LoCX6kkupOuL1h_MML70hmd56ThkYzeJbGuyXD7_RK24oX06YbfCz2u6ed8uA0tmORldU3BKbQJ57uukTherQh3sXYvfF_ptqetF3J3Bo0a1ej-XVognvD4P226lz3LaJHAxKTDIj-g2MQEufl5uv01thTL--78pAdRAoyclUE0zafQnzo1n_L4VIqiERgncmafpe4Qio17F-ZPn5GsgopY6eLN0myKtjMSeJdaEeMR2FDVdQRAFTNWOVpL864v1UnP048fhzvG9iIU-F4VIt_yx1r3T24K_uNkYD4tkLhDzV8vjusNt-INCKAHYqCglfSQBHVo1g5VEjm0IWRA9E2b85_o-Ghuopm6HrN_YxlfCHzoFOwYnyfeELqD9J9szcuzygWDAtvnmOf5HPs0P2PXyFA3qvcK8z7FcKhYAuwDbLg-cNHzHJE9t7UCVbZgvz_703DvanhjWbgDn2aEitHvIEd46B87L21k1QH2JJqahT56xv6KmNsbM2YMcMVQjgw2fuVV6kyDuaTNqb0wEK8fZTXJAJau0fQOECo_UwWUMwXrZ6dHNX2gollYFoW_Lsdue9xIbpOKqLNpb1Vl81XVrgsO3LBRpb2ZbLYcbohoneGzKTcfJXpEAUg1HTT-dhR5k-xo6B3T2HNCkbC7c68GpviE51j3zV7pyraWgX6bh78BTAjg_lTLeqUPod9RfkCgBK4FBAE5P3a7_DRBOBkQp9Y2HG9klguxoCzvfwe7QiXpUvQxcCiiU_e-VcZyIx7ysbTojIgnKYJuqOPpN2cf_Ud3ZdHdFnOT8lcPVhNySYE4d5x5jvxlWYo8uxlBtbaXAqjjAnTjPTHSbeLPaRmFnlcrvHonoehUZqBbTaCQpMwEOg59fnHvrjtNdeTM32n3ROooLoA_qmQR1bdPeCX08-QHnhzlk3a1QraBJnNGdor_OGt18c_q74OJt8VaEITPuLbhx2FsjZbCtP3PgqqVVzzVtUeUFkVPKOGhFkvmmbWE_L88SpuazfK6Xq1l2drXoz0D8FtXtC-C_0RZfW_w5aoZIIIKOYbJnXaFmmEFQV44PKZY_wMB1laNlqEkLJupzIQotng9BnxQHbkgwknsS1jtL1I8yTtTKfOczoIUVBBaVWQXhqHmqd2E6GHvElGdmJMj7ZipLNFrWWfzLW8Hc4TcliOGf_n-h4A_PUI-jRnHDil2w7xkvefsp7UkqVtSOPLE85X7MJ797_lGsX7LcMwI7jQIwPqpOMTeFTZEZ0m5ZvSpnze9Vftm1kzh17RnynUiCyQsPhgQ2pavwA7JMvcqQQStFvXuFua_amnjHsuAmm5iJM78X1IaKOLbP-1wKxYt9r_vJjhAS0rKkaudlNvzII7cBZ6_QCZpsqSzi5tansu6PDnrKXx7rb-YnbZIQuysPWUVEYLiuxwNj6UfjYDUCzvjXnBV60C5vTWqciMTv0zjodsIFBcz1Nd979nBa1_JavXsRBsDKG3lnygghq1zQvUXevPhsnnK9S7vP7V4n4XeDCmhdCxcMXfQUsO8zqCx55lILQjfuicx6i5q5UR5QE54NX3nfLvvjE-CJ5CSK3BVymqiVXBkOVRwFZbbJh2FSoVwo2uNVSy3aECUcPc4CoCwCAzyoHNTrwSvIBLBlN2M5RpBZ0orHhXqfy1kvGkss9CKbYOMvhcSvPinnbl3PpM_y6Yfq71OqP_KqpJSVyXjDD6S6SiSJKeFVzYM9uIXngOsxh6IndTjG9Z5wNKgUHdMiKFZ7xrSrGU28k-Ny5a0IzGSogxTlKkH8A4F9ErFaIEUZyi7HmL3oxo-nkiim2aKhen3G8rhYRAf9-JnI-O4FEHBTAmTKl1sLk3Y0-dUlFDyMGIrHgpzntXVUH89qnad_J7NB4_y6YOt2wpsJNiqdWMNWdm7EYqyHErIDnhl-DsKeT1TMcNAdfk-ckBnhajSWT1t_7q-tbEX2Jz3S7GULAxi2shwqQtYkGNki3L7TmlBAWiLIPlMXLcbjQGcjygplXBdUEwjIfSIDsyBgu6EAhGCvKi9C_FuwJ2bPcUduOzoGB7gor98LKHSxn0aV_gGfSOzMm_Fpaf3SpvxiLDBCFLxrzlHBawp9wHDyd2cqtq8zYjB6Xal9aYZGb89LdNyFm0QKUg3Sj9KbfFm84uEqcrIUqqkUegFSS7iQnulqN2jgSSd97zj7wJSTofO8nB6F_VQpWaDFKq_J2gyfNcJTn6kqUrmRPK16BlYp7xvk0nd4d23gr-Tty2s8yWYm6i3viW6mAJPCpKSFgUbyYVJ_qidjT3JCEIGrl19ZGW5kqtzgeIsRnDuxc6s47GU73UI96j0TLokH5_JOed5rZ8C323jqk0CJX6TCnbvy7GK8wgJh7W2ZVfk7qPIWWgLMD0hLkdJztNOuTSGn6mMbakEvf9ponlV2YItjOQG7QWFTa2L21vuP5mP2uadiczRQIVw_c2JuhetubPd0wCOrDK24lA_X60J9B7iKwEJ-68CxGSqc5zBe9zLV6lbRwZUSePwzMVi8btLz5Y-_Y0R5fPRoF8KyT21OMamxS1JVAPrKKvRcrKq70lUDHf1L_ga3oi4An7q9U-1Y_BtgIx3CO_X37FIyCBSEBNM5llzf0Bbf3TJmZGI6gt1cT2kM5cdHp0HFVugkNj1N6TuTrioqlqOfzzxxLPYU9hihW9qeFGUvZBDJWJO-UwM3ORzOgmTBYv04zr59662BuL_DpBosgqM_q-Y1wCp-8-KUmHpwvlVPz8mIUER_Mz1jUv4VDQERqSPYcHfdKmPrONUY6WrPnUMNIvqDNR5swcKV9Zodn2DZlEOfvYt1Za3MBsb_jAk0nWa7EyutN_sxLHp0ixXyXTFhkFjoj41NfC2iFmmNXbDV6LJAWgBiGbKHT6lYoMv-ja9GQbahLhK_jrTIIF-q4W3janC8aV-o9pOQfcaEIdBIjqut1B-b1Oc0f1C8U6S7BmuQj8JMd_lfmCSr3p6hYy5GLqpq1veumsH-52XWadE9SFBl8eNhs6XHB_Pe_1cEtFM1RlIZjW8awqCEVf0drZDxJhp0FWl47Vbn04jwwq5gt1VACK3bUSOrcsO93k3vqOevidr-DJJm1vDzOKYDeXiPf8uMV8gfEAsevAW1mkq8b0y8b9J8yEjds0CHUKvnGdh9ubUm3Kbc81Oz0Xjcg6XcpY9OmSQ0ZChWfGUUrcOh6R-leXtegMn0vV-jys4hp6JlMij2RQzE95ZkGlRQrET02dMLhLhIArl1I2tB5yqWT9MD-GwEfH-WLkgSe4ZDmCJO7xLUJGuy8gqYSULbfZPtybx3Pc6R_4rBZYqnvcKQp-G9lxFPEDnBb1BsefzYjtlsqBLdN-RHjsKbrKOiaiR9GNVxvTF01QB1sNl5JKt-bkN2WVp12SA8zSwkH7qbckMGus4em7eV_1kHG7tkxBhRLsos1lBsr6jq2Jq3YKj1bvInvyUAg_eaXYzmXA_gjAjPb9NMTShUecPEM0PpOWu1Gf4oTPuNinixESdRxTRMq2N2xtA6xzziQa8Tf3SJtu3Ru1jBoIlh0RLMlXdq04Dlr7n815zCW7655wFBOpjWNKRdf9pG9ifM9v5_bhJybgx2BaHOXBwfH_NHGWbwO7w5jt8LAcdNsBiOPlQk9OpOA-GJZbIbP3MmIGpAtYmg1kZjlHpel5MlTLjErAcPxYurKGivf_4quNjLy5VmlpEz6xh6PtVz3EiaEM00wRuWXqUaIIKqiOKcIEWoB_lNBhejzigqheO92CRKcfwpbPR07LU1DNnmD5V0Lmov-TGrQ7my519B266v_lDAjbIIDYsJ-AClQqDZYPGwUOwAm-LzUIJB39nVCU2kWUgo4rofRKK5bPezeil0asrvRIVNuEiUOzjo0a_9-20LVBrQnfz7i4qKbpWoDHhpVqjc5Js8OyihIm32MaHTNiUKe0IaYs6AZnyiC7Abev-QvL1_tZjQr5fMxInjXnvlPsMwqKs8d28fp5V5dB20qxPwPqzpzFunZ_77V3zZ1exz1z-jnKZMT6U-6OH80u8QgYboAfgHguzburaLcZ4EmRMb9ikKvXx_KrJndjrgZc_D29sYm0YGbkFrenEJD7LiCvtpz4s-RXPHpMy2JrCxhpic91dbVaZt6HB0gtGH4hhdkz8rxBuMnyNsmW5KYNp3KWLu2JqEfiDtI3uFFuIIa0UncrmZrBQgjoXpchOqSDEi7mSfmXMU4ZxdD24M6-qJvIqfXuVluET8I2RRutAMBafjzSdsf1ycoj95bTckjT-bndsfv1IprqPKlAV2x6ln1gcSToofixyI8v2vIuPhVa-9dStleGmWbCmzMUZnl89btzmzzhczIBETMpxPHoE4_L4jSe-S2UyIejkvQHhvEIqWEXp5bIrxQ6HyqEvVpy8uC_Ex27pciq8bUznvUeNz0tGKqz8g53xouGQLg9WHM1HsK6tRnhrZhSWO3u8Oa7OugIMWjA3dqGcnXKHsRMSHXAAYly6N8gGt07he25lJJI9AGyFj6uNAczxWtL6ZKpMKCt8iugvIgf6v8MpEd35SZmmOfJnltI4mKFzYhSXa4ISeKayNRyTDVYFs7pxoBv6KXeipJRp-q14P7rr7IRwVFdoTIjwAdb5unKYRVuYQdRg6aa7CjhW3LAXfCqcMj0oY8uKXV0gksIIfjgWwP76vasI25FOrNnz-0PTSDp4pFHkCKYe5hBZsTzX-xasulHohzYpVw_W-RiwIIMb_ZTB1EA4xZa12la00GnFeAfVUtpaa7Ds6NYUuQKUGF-1UfLmbPOdVs6btqgXN3fajm3s5DlLVOvjbhbp6yXvbcMDg3qSm0m2VmDKEuZbhP90E3IUe1AyjPptIHlhDM7QdY7AENPL1XBqLYK6ZBFEMS52-eYGS8tKKOu8LvEvJjpJgNBkuD4noUYy5cxVgkv-LEzbb5KREnAZN7rTEo_-Ck4n3pyCd4q2Zz9qTPSKSjEh_gGDJaBGcD0897ramTM_JYoXD-9Gf6QQ6Nnn7bdjdJZNsjepT-_qlgKxafsTkpz0SiytCtMV8XAuLI1DW7z2l8VNE4AVZgwvTF_E61srIW3aTIhxplTPl2bJC4BGMg0Mp8JygavSf-hPmus_a-a6ztRT9Ite4jYx2oSeO6a4L7-F6lNefWvU49Heml96Qdx1ueSNs_RVKo8L5Xm3jeCwgDoYge7IGCf8pbufQaIP1M62k47eC_PFsZ2xW1r6qwE3w7MooLTk9GHucxvSgCewudr7HWMVNqbJpCujhU1zYYXzZQWpXJZjkYr7UfeTQs_ihvAlhnNMuxdPWgRNdjjIKwQ79qqUwMBK8-0_rBbvcW4NVwvo2F6m7JqhEmPXS96ekmFjwqP8U0EWtUlTU0nHholQd2kBWx-aXXU4O9gA_bdfQ-G5_IU2K8adkdyrppe_ilOT7jex5djobYghId0Uw8Iu9EW-IoGFUfaGPPTjs85hNOPuFtBeHoxc608HInVBuMm1j4IvbkCj-1iUdTMwFFldPusHUzjrhEn9HklDHDXRYo89c6CNb5P60VvxSTftPJ5kP7XdtIzt-qdoTwGunalLdpV1G_W9X6SDim9uAHLvjeWLTDtisXKkrFFm2q8ShVjtnIRDIQBKdHA77pVOlmrTDgN2kIxTe6RBlFCBQ1zdiNGk1wFeCHngAMXNnxlWCajZT5mHAwDZB2PmcLAblxpz-is2k6LtiE_N7BMeLhjkAckt30OQXlWcb3QjhP1Ep3JLA0huc6t3LVzDPR_-lB8-sTkJQ9q6LYvfmjWrtmef7vWEC9G_08oyt8L-3e-gVkOCzKaO9SYqBi_Ij5TINPjsZ6_KiZfsu0Xts69nP4ctzHQ6svI3_HFQdn8-BOrJDTgGLa8TZpc319hDQxcXlJkGYjIJJd_lt7mM6SsnzXrs84Mmd9PDRe18sXbRZNXN7188e4zHCAZP3l1Zn3KCKLMv5ErD9sOSkkhk38CM4si3L0X6qqyZmNuIs5C-ynYNg6MXF7t6jTePHcBo7YO4kHfCbUWDxEUqsnMWQ4-zznk3wLjOoKYpp09G3ToHwvpWvF4biBrWQG1peKaCMCYOHY6W_pJpopoRykMkqR9T64mMpmefHsAEZaGS_VjZ0c1HlVSv2MJXsm3zLQVYNySuA-sTX79wa1Z2wIPc1_g87q4-xED2wDazbm0vMHFd9f8ThGJY6VGQmOO4GOkbuNg7ukLXj7oTh78H4ZyW-1DLvtdPaRIuuCZTG9EbpRMNZ7SfiqngI5Tjw0kbeEen3SRJh30smc_jOKanri_8-nLRXjV02v_mzFP4eO9ryYtPinUtAsT3kPj6M5bxXMt4J0zYLg030kJCxmMjKOone2InM3xFH9AqHyf9ZOAzmz_ccFHOwtnbkM8MzlAQ1_H5Nm4KSaYpbwhSCezWkkne0t9GUAYNmNnikk_ujzHoyeT3l6rBqx22bIcPtGdGZ5-OlvXXMPxpEhr-Lpb-90hd40LECAU7UDcgrZbfrnLgSK4anCN7tX1OUg1von99xXJ_YUs64aM9H0mo5waeHxtyFkLkuBBIGp-EVxK1iwSTCJyURzM1cPgZ77oIRLOprwDF0HHJlp9nGsmkqehNIlPe1BBlwErguE8HkEHEIIArrRzSMqIvWIVy3ci9vNlRIU6N1Mmi51kFLyfcwXEuGhqcRJ2dTmSqDaNtDkGmoFOinUDTvY6_46bFo3jeZBymz5YSnuiaYB2MtA3Y6dL-qoD6vZm5GIHDlYk9es4TkATJnGu9eCkDkLHFAxqwn-oV7R4c4E6Je35AmvEObG0Fa1QF60RxvdUvUzUtwQy6Wi9BXtojvw-UINg3TNl0GPQpyp6JaFXRrB2spnVUZ5mWMxGz4VsD_kooqbGO_Cc2EXUFS_z4DAybfetB6ZnI_ZpZO_R4sk5FpBNIxQRbYZ3zfpcswFtLWZK1YIi64vYKyp0eSbN16iLVsA9_SueicgugQvT2I4xZCep11NZGjthnPhnsngP6rkEp_D5P0pQvmlr20gNl0CDy3AUua4cdlCxG1VHTHk8VF3rH2Lds-AhauCF4qyjQqYk9NN7KweA2dyJOemaH4gRG30rySNmB7eRfUyGuqbLa-6V9EoqFRIZc1uDcXn5LiuOImfoFxdhGadCl09ybQhUDB8FdG_G9lPAuG9m0B77akrOUysMC84s6pX04GXEmODHAzHz2iiJyJSHs8McgXjwGHCjhPU1hBzgY1IsCESw2tV2yDhw3br6yCJHyd81-SwupHlwDQ2HMsxo_TjRd7SL6JbLjuC34l_w6SWXHrBeyT417Nw-1vpJrQr83W8JVuVZB54zVvTSHC59UOMZQz3lmUFRvRkmBdbX2qBImwqjtFU9gNHh1bGvDN2q4tbG75WnvfDojPniO_yXbFZX9TF59j3p-wLB5bwzr5nxqfn9UGezuZEwVI4w55YZhp42bvIdyQAssxIgf7HkNa1SI8SrcPvUYOKzap0UA3_ntXZT2fLyZuNSCyhIK7VWVx__zJnJDw2cmBQ5nWWE6zyB5hhfBud8Itwc37ltCJtxZUKXeGE4u1LSRgQPd2Y7z8M_X1rBLaIH0kXVqgyCfhlvIWGskIsx9xuQ28qdK93Kxrg99dB_r7OUvFa3lK584ZizjwYGQoYUFwwy_PIhTvzIlSZlwvUFPvucvtEF1ncBPEVJfFp2q7EFij9AW_qkzx8BQnn-85biqIkWvfW2H02RCKa-TWxKqPhNtDziwNlrH22H7AdwXjwIJL8aJPiBxUhwOyv6JP6sI7IUCm0kvXbIYoGh8lwyzoCU3qgsrLZFsE08ubr23_C5Qf_RbQcQS8fnoEMUUkcVqi8K0a1BmXquW08Oom3L-zaCYAgXWpC7qUXFrJifZiX7lG1vZOKZeFFnZezVP1p9IX4az2ysoM0TB7tO6wkrttKoflEHAlvB0iFYe9mtcRKSBGwUNNPk9PA_AimL4X3YVBQduYyaqxYMyMPjXeVuuwGMDoVHiEDfbx1XQsUG22Nk-bmClp6oROV9oDkxyBOsCflmIH3saHjfxPthtX7gZVXoqTyzVnHNjdQpO4TqQkVYEDtT8fqqaksVEXrn5ayePdLjTiBfj3w2TW_zDstQxcR8PsOxKRZTzoficUzde3PLM3SDBmfryG1YzanUH2-F9JOi-zpnFVGhSwzcK7lp9nPNqA0itiX-GHO-M26WWTCFDTgL-X_H6VBNBZ3o2Km3htuU25HeDCW4cDwQvr8MK4xDNPWX0g89-PWpkPTAhpetWBBFry_ePDXoapmKpb2GMuYcyTPJEG8LW7VcxIFGlP2vMSpEKUo8HBNfnSVKqxqRJmKQwxdbJUwzwFg8SBP3DvowQpoiggcV2XStADiKOfUjY3w4PFqycoh0jpLCeeiRQ7wmZrc-y3dOOsnJfHo1jHkZDydhyXK4KVuooNiC6duiu_oqGNHRZxBDoAt__PlB8SnLzB1zTkoRcnQyMZhNgi-0lbMsKj3FbxXBfCUYbU3cCSptLymifSPYV2TR4LxyW65Ev74o4uFiq0fFxpzpSZYbarA_1dT6cgbI7LzZvRHhTZVNC8FDOqcWyPW2o8vWFLXuVTmg8JPdCNBZezv7i3wEeYvdHjC9umw6Arz8_RHjJVvVpeBhLRocaTIjBC7qmB1istCFs_N8jBV561ueg7kvegh_TInWmRU6iimf3VegHQ1JFEVrNXHe76tsfmQ5NU3n8cy1plMLMvAxjmzbAnRGEg6rV8EInFjugc2kY4B4b6MVG7-iUMwXok6eoWJoAjZ7cl6tYSvgYl4QddEt_jY9v17c_DbsJYhuh4Fs0lwDRqgXlCx94hos9Jx8eIiHG9FPLl3XVyliIlyBi9FKYctHLVL6e7rc_TFpfgVYSSZwsN1oh17rVDSpxhtWdVzOyunN-MCEmeI9fc3fWOv5ApBS8LbPP5LnZPsfmcJykCC7c0d0Fo8ajilED7e9S3VZCZeVRiByf6PK07Oq34S6K5oR09tU4Yx6Ce11qW3-DYAxk6RzbZqcd3vi854JE2n85ROgsmuBG08zlDgpoZlZ43PZpX8FpaGTp78KCjKXa4vMaLB15DrmpZvmViSXb5NxSP5QqSCBQBksVGJ0E8KGYJMzHkbzC_1ZZkEtHHo5h1P-ez0V0TD04VtbG5G_WdPCzaatGWj3SGnw_SnV2AWue0lhlCmMYRElA6zn8koAS6KB3Ooks4suNvfEpXdVNQqXJ44BPXIvbk5OpLGzGKUDb3wBNV9WWRVY_1LApkg06sBeVrb0pVjBD5zSeEIE_BpipPYyEonVH1bHPLMrSm6homD-ryDdxk4633yyCsBYUdI2Xu5bd4qzv3_N01UJWy5Eg7UtLW1o2bn3mQifWD5MTBVcPuyDMLjws6vFDmop2vEun53Ifr5HwNlflFx1qAty0COSoixfclpPv821v9SGmsEHIf680Cp7FIAD-6icUx2qr6vRTTjQ96GcAFRI0yFwKFM2N5CUQmDdqFQo8uKc1imUmmAxtPTxNLFuA2c5H2t4Wg6dT5HpI6Xf9AYn9lnhTc4SYWPw1xYuAKidG6GtjmhIibOeau97UTbtWIem65RNxQLD4jSq0TSGc7xgGuVC5AUhftRJpPI2_5tGRwdGvuIK42BibXwQESzZNlJKE5IwJSh9AsURGMEOCAjGOijbWSD6R-tEVDbKCxgKySVw54kg3JFKJYry75Lklcvr2Q0-e2eM_zfhCyvZBKIRh4VTlywf3YkH-frgEzqK_8P_YMmHHzmCClFiGb8gYlM5GZ04cZnxBuzd8vnZk4sUo4NO5_zanSKjbZE0IZ4puCtY3KoKanM8-x_jn1hKoOYmnhOWIz7SWOaJ2a7fJYJ-mylnpb6pzL4G5LMGnoz2BTg3-yRaK-GaC1n20pQvBEydqle8lRnqv_BPjuU0C-2XxBrqIZxAGLnc8T6l33HNCwBXLz8EhajihwxF-U3yH5ZZV0VMiU6QqQQiYGNJBI2t9jiPBPf-pe6EuJt4w6Z-PrAYQJieIPO2M58qJqsjeQQbQw_wGD6Gfgw2Lrq2IWowXrvDROLfaC78rYRrDUQmRgGZIWOJjeB_KSRFmcUIUxgrSRnpVFFt7mh1ENkufCrf5OEcjE0o4FHtbsBXRsWEInz7ww52VgRFETMKyFvrNElzP2xZGlOBqdHlKhUBVa0yLIgk2WKoxNhvS7iOj_2DFwHt4qp7bXYseIYcLk8ngoqreCgKeTfvExv-rW_HcNS9dvTZ8a7HAjDS_HcZTfjR_hYypHB99Leo2jbTxtWmsboq6Pg6UhP32ei0BU2fja3SJHs592stt9HwNW1dxXrVR2FDq_-VHvYA651z4MYsnxt1x-4iRs0c9CT_MXmNu4b0ZFSbfilQ4ElTtKwyEABLhJggz4GvlK2svKpgN5k81nm0SoybDZrmfIS40jtCNV2bfRDPrW0Y3Yboxka0I6a-fQ_PXr5vEKQhgnsZisP1RrWCP5W72s0UO1cK0vJRv7WXCF1fmvnr9Rp2gFsL3UKCEI2Uw6Dj3S5zyCj5GAIjUFCQNZIYi5wom0ZaBZYrA2yuCpa4nAwebGG5S3NEG5STgEiJYf3ZoLDqKF6PUVl6ohBm0ByyyMd34lfTsBBCjqv1-NPZ8rT8RI047EwcKdWZZxaM0MfAl4jv-SeSygRm-REm3asLd2NdcNYvX1ZPPP02l9LL8cjFf1_Arv0o0ii5B7Q5c_9iMa6bwrKwpVE9rjYyLGVqDwueo7piuoUSMRA_4x2Rb-HG60V_8pldsH_6nGNPXYrGARqsDfEs02rrD4nCpOe1sk9TILBitYrBdpP7Y0EaLoYdIxQ52eTXWqpiwatJ_vw6X00NV6qKEeXkI0Dg-8OF2aQAm-T4PNfTmv_eu9PchdGV2IgPLQcO4q81iodrONwHCfVsjg0dsdrcB1mVhiTOd4C05htneI43wf1cxr71F-baP116_G9kYB5Jbkf7MoNCnA-SrFKtA64Du9BNnJOzuH6PcmaaSnI4DlJn3wzKn2H2Rkz8pOtmQtGAPYG-WA935Mx0iN_knmHqwxfCe8KY6RxpEvcghcTy2-mFmO6CHewbML6IJpWD87UqKfY2rL8_R1vUsLDwuL1zfn4uZNis8sXdPrhkkGLQShPU5d5ePsDZhz18a9Z6tb1XW5P0g3HTqt5w2d_s9Yfv2rliDO6U01haRCqbkBAIBq9rjia9C19CQ5kVSCs7Zj9tcnghkBWT4tFNU9lo_YA2D91UhEU-YQyfGnvzo9TNGZNUqjGkiAMa52OS9Uv7fOUp8gBdXdgm9p4II3Fk8X_dSFGsKwg5Fe539wTKo7WuKjjIVDx7y2Lk4WVN4ycLUKD6zn8LBQeixCGpbS76k22iYiPCHhxanOvZX5jsC9UcbYQZuADiX62MPI4bYlMNtIndmFK1HgLtK0_LoPPI7HI4YCpGaD_ETvP5YE-kXlcZfeL6jm3r-UI83EFZMVH8wu6aOOhDAN2bK3oQKHOu-yr1jW_6y0WK7LQuBp8xgFnfEv2SL811NrBG63ebnbYd1F9E6e0LLT-hXtyo24cp3hSPrGa4dTIJ9yZdEE8_Qx6J1Oidx2Xeaderz6vUYRQG7BACAzDnA_Si3u8CKQrfs1CpXJ5NqQ8RSosq61pL91aQjXKBr9TVR89TVWCRkPYb0jzQMizy3HHbBkpuRSCFpHLrH17qeFaTJ02Cp9VX1_zHXuK-Ugp6U8vn8_3626gy9Y2FQNXbjEnTWnmeoH0rtQ8SvycseW-IVn5N6FPKQe0oWcDyZ0p_8Z8LNmMVbSmNjGDNiO-VksVgmOxqd9T1CM3nGclCs286zMen3IwD7I_FAw-lYd8xb-LpKUrUDKalKaORk2qhn-VZs9wql2EXBVmkqu67vE188s_j3bw-HSwlzh4StW3Q6rbqaX8ABgKSTzqMJGLjTCQVzV21m-GFOhuW_0YimQYx8cDHLcO_kHHAvntvLTtMDjoPUK50PAnlOS8Mr2tOS4vl-DGbR-1x6QccjNtkuNBL9YpOo7u6YDIulC16TSOCEtai7JbRSiYOXF0XZ_DZVVmwFz47tljILsq8pftetLtlP26D7iqjsUCfkeVq_QNc1RrVVqM_WPGwmXf5ENaFOAvn4IID-T7JasIuK_tHOOQuwRkRF8kKTSvbih3YhaNlKITYuVZKbwe5lEgxaL6O5wzopWuKgtWN3k0UYka-TQTmrzalM4ZrvJGEWhEqMkKfTBjMZBvxoavpfGyXvW0HpPk2oB4sMVt24zPansyka78QAlqdz19SiPPnxtOMp7xsfwEEhWnGw4LykJGBIVuMGPWENNFeY5S9xt1RCfFAzVM4s8J2w7uxDTQvYkPJtKrk3Vyi51E6eoJELd2h_Q4dP1gUz4votz--N_8lthVzvY8uREkKNoRgnRjXv8Fsjd4Yq7TxYtLi9IzRMB9ebg54G9-E0jtHikGXjEM9Dm1KPodlc9OvpDtC7LS5vIuApE1sVo-EZnbm4TGbZxhQo7OzK8yNsUO1qwIwO8Qovfg-hLUsh0ddQubSASq3aFOmyHu_8P-SNJcUgCA_zmA4tmfpgqBinekyK3NAoNaynCpqYIqBtVKjJXCwsvDhI51vPG9qLpA6FAYhHGE-bqlUXuaoooYOwA4b9pcT0UsMfngKjYYvmRHu7kdlVp3KQUJ1BTUlAMCagg_kssVQVL1rvN8DRX0guSH0FZgNpUhj4zAJzU-gLXvZkZgpVCq5eAdrrfGT7e5IVu0xBNSHo8BFm4W0XSPfmJ-WLl1LPLFljrIeDLBSMuqoisTyfv0s4JFFUPztl9faxfujBAl8ngl2C3odS3C6M1Zoqo1Cxp4mER43t9DxG-8ttP5lYnMU1gkWVcHXVXzD1kwmH--DHJpfHqskps7DD8rMeTR_yvwPKw9kXdok8LLyAdRo6-_RL-QvGC0348Qu3fV3dUTZfojfHqJ2kNmTTQAi3lk7lQqUAu5I_i3aVC9HD4HqoOrqSYte10-TWEG5LvyEJZVlWh0abNoQchYqcmCqNePtTRopK8h2oP8BgsJ4thtZiDaZmtLudHbr5pNZcqf2CHnfn9pcVeGg436lrigiR3GEDYGs_r5vh_pekU_QWlfOSpWSZecOxYyUgBnO_4QcDPv88RZmfOiyvy-91gX71PJmzvY7JPkfuHiUTTuTWKoXhzlsqcLupKAkqdRl5sixFPoYnSJKHnR6Pa-JFdMUaobLDlaJFbyZFHpWFOkg2UhwsaXZPBVRInTtxVH_tH5YqFrN4aeKQJ-2PiTccxYxAKQf_MbMzlV-u7zGtrPczK1nbcxTWwslWlWYcb7N8fb7bGxbs5SNCTw7b1LYtnepUOS_FLHQmco2wpeBrP3ghCX45yqji07wlVUOaTWuQkpr-m7id5qtk4Yg4JwUME4kc-Z3_EaZI6gAtOeFJ2nxQec6WMLWMwdwZqxYcDW3XiGZ2T79pVdMUcV4wHhNyDIlHzBYgGu85y_taSBzai_aPn60t-xxlFHOBZkMpkUCVOeVcv87Nk8SKEGS7Nc_8Gzk826cMnSk4z3erM8u92UgVzYlKUrRGgxI3xt3aKcH6YftkHbNLTFfi-e8ZqLmywioKqRI8RBI2VnqZ2k8i-wLtmdvvYj1VhHV7NrlexaMLzkMaLt8iqEgUpkbItlMGUyHkssY0BAv56SFeGDBdUCUaodhRKLkVSGJKRFIbwJg7lXo3TRSvTsEFq6P49_oxVbQL2aWqwPytYLUePuG9sMKuoQJ7BX3wG07kdyKkzLSQGKqxmf0oiY9vXK_aN6-DiFUOJYTYH6glZ-3tYUXKWL5OU0WiIKksUQUH6Zqm5bCNbPT36vtfO6uepLOu43yTT0TpMzCP-z3gOPHBB9YicVblI0uCLjrOmQ-9hLh1jLLiMS3oAXpDY3uLKHB0BladCraTWp1GBrJEpNvK72roCuyVDSB0hAC-0XWtUCBSz2UgCAQBsegFFyB7Pc0ZLJjFwIOFu1DRMhu-K-l2TY2BS8th-wAOqpp7KU3vgIY4I4LbaC8PfqsHoZF9zIS_55NzcXjNOrPTpZBRaHEcNLcumlcV1XdZZMumz2mv33Zb_voY7i8FQ0rtlVRVVsg-RVYJy6fyCd-whxJdHonZlSyhfWyQteLWbLXmsuxfQatVbMjWF5XayUqkTrxGWnbgBMBuySMy8AYqxVFd_u9ESsQgFi6_25F-Vd0_VZ9bUlsDN4IQ9bpDpNvs-oe25U1oKwk9WpWqiT3ujU3HwFmZvhMYClXXnPkcOtRfKICj0pnLWP59QXTqx2SUbOB_CH9OGkZrT7O93bjxCbwz7W03luUnB1Gc5lPezFIptxHqQ2NMCvlYmH2rGkeihVw_GNTuUCkkb3W5c99S155Qe9mJjG2WaXp6EJc7Jyii7NZ6lk623IlGxlSexR7xOgtTHmftT2089Tuc4KCoVcIyAsTF2K3txxdlDFd4mlQUortH_wSRqPL1AOaxhgjIesKTXdqbEzfyuIV35cPjIWwrM_vMzlzG_y9kcLpTbgieSvy80e3K3EO7fh3PhPJFsA8jziMvs5MmnqvTpWwNj3OfL1Pi17wMXE_WtgQ7I--t98_8yeztNEu8OvuUAu_qkLAXj4aSEUCQG95FZWNr3iQJY_K4APb8cfk0AYyK5_6pTovfcobFCFTNyTpyKYLnT7lOO2K0Xw_6C6M7h9YMCXLdsRDLH1qoU7P7wTRED-EH82hY2tjPeTQZ0WzonwU5Dsz_897ZXEEM-ZxjhXMwmQWDIqdOlLK9GgLq6PBzuPln0YjwKpcmjXFyn71KYU_9RSOtVr1gJRreoTC-zUiAabmbpKUs5c-9x8BPB-r50jayehCr78PSkwvWxs27IJAUAdhKxbg5pE4SQb5SGvcqJDpuPp_vuO6rsfw1hseeO4dHEdj1DH7cwvaszCiO4EH91sAUDoWF-uyqGh1-fvKeN3Hiz_fBd7IecS4F8QGr-SxH765EetUahvm3_OIJqSqaEN_g2XIlcTEvIWcYWRl6ELcOOCsqwgozgJwUH_03RnzFnDUStikGiQkCMhN1dheIvKVh_cA9CrpHc_jpGjupK7RR04UnCrp6JYehbv2m6qOv0981NIbchANBiy26Bnkvpn3oanHt1IJ4xacwMqXM6c2Ry4MWqr-rIOM_5WhJ9kAKFZr9GzZz4ivslHf4PBbvtN_EtmXhB-oqRWFGNzpFNrAwWjy0wG8puHDnFtSqqIx7DgjKL-FUNrAm2qASSOCNI9izBrjdpnbJHIrjKs73smsLMDDpUWm7N9dn8XfGFTg0T_Tyu4wZQkRmLOTJirsuEHSIEoLtlAMbo4ZgSwt8ZhP5TInBCgkAcbmSU38nAiha9DppiLdtK0QCstJ7NH4KcckG4lmaZ1-K2Dq0aY4txr8N9CM5a7EVNu_7nptDykRPMD46fd7jg_wqnfMTwut5cPPdbeGEvEfcpQzYWvPmKt_-PfxCWiLFK4q8CbqBFik4KQt5WUU9b8U7v-gcA5BBlzwyyAg_YE8u9AWJ2Pd079mSfZqPra-Gq10eXXjVsU8u75qdrONW56Z-Ma3f4V1pBVRfxCmRNCThjyjhEfIUndbRW5pbbtj0gIEe_UlerKIAR865xZcfV5YDmNPGxRC5WxjkPKR9H5KkPHZKNKAdFR_sHJFIMAwRgnUyeTh3v15f0S1dn8OZvSzMb-mImP572X_Dc0wnvUb7bLB9UfFFqk";if(!e)return null;if(jn&&jn.sealed===e)return jn;let t=null;try{t=Bs.parse(JSON.parse(yr(e,Lb)))}catch{t=null}return jn={sealed:e,bundle:t},jn}function Kt(){let e=Eu();if(!e?.bundle)return null;if(e.runtime===void 0){let t=Date.now();try{e.runtime=Us(e.bundle,{signedAt:t,fetchedAt:t})}catch{e.runtime=null}}return e.runtime}function jb(){let e=Eu();return e?.bundle?(e.keys??=new Set(e.bundle.filters.map(t=>fe(t.slug))),e.keys):null}function Vt(e,t=!1){if(t||!e||e.length===0){let n=jb();return n?new Set(n):null}return new Set(e.map(n=>Fb.test(n)?n:fe(n)))}var Lb,Fb,jn,qt=b(()=>{"use strict";Hs();qe();On();Lb="tokmizer-default-rules-v1",Fb=/^[0-9a-f]{16}$/,jn=null});function So(e){vu=e}async function Hb(e,t){let n=await Wa();if(n.size>0)return zt(e,n.values(),t,n);let r=Kt();return r?r.selectFor(e,"free",t?[...t]:void 0):null}function Jb(e,t,n){let r=Rr(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 Oe(e);if(n!=="compact"&&n!=="minimal")return r;let s=r.endsWith(`
76
+ `}function Au(e,t="normal"){let n=Oe(e).split(`
77
+ `).map(r=>{let s=r.endsWith("\r")?r.slice(0,-1):r;return s.includes("\r")?s.slice(s.lastIndexOf("\r")+1):s});for(let r of Zb){let s=r(n);if(!(!s||s.failures.length===0))return s.counted===0||s.reported!==null&&s.counted<s.reported?null:qb(s,t)}return null}var vu,Tu,Ob,Cb,Ib,Pb,Nb,Db,xu,Jb,Zb,$u=b(()=>{"use strict";Ln();io();vu=/^(?:(?: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|$)/,Tu={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}},Ob=/node_modules|^node:|^internal\/|site-packages|dist-packages|\/lib\/python\d|\/rustc\/|\.cargo\/registry|\.rustup\/|\/go\/src\/|\/go\/pkg\/mod\/|\/libexec\/src\/|<anonymous>/,Cb=/^\s*at\s+(?:.*?\()?((?:file:\/\/)?[^\s()]+?):(\d+)(?::(\d+))?\)?\s*$/,Ib=/^\s*❯\s+(?:\S+\s+)?([^\s]+?):(\d+)(?::(\d+))?\s*$/,Pb=/^\s*(>)?\s*(\d+)\s*\|/,Nb=/^\s*\|\s*[\^~]+\s*$/,Db=/^(?:- Expected|\+ Received|- Snapshot|\+ expected - actual|\+ actual - expected|- expected \+ actual)(?:\s+[-+]\s*\d+)?$/;xu=/^(FAILED|ERROR) (\S+?\.py(?:::\S+)?)(?: - (.*))?$/;Jb=12,Zb=[Bb,zb,Ub,Fb,Lb,jb,Hb]});function Ou(){let e="qYBGsfHO175L8bEJXr085DKegk6epV3_PuzRunzT22TVGzM1nonFbXxazw9z8T4zGO25koitCgeOgR51vxcG9y69sB_sod6-Vi_VgyD0uD8O77JMI2r3gz65AJ5ZoGbJ9bAiwK_yF66RABZDO2EzXnntTp_p7xltlw92CMw1-phB0yfuRpOI4wUHIbpk1217Mjq2rjt8Fi6a6I8zqC73s691BNnTI1IKptoWtUUzysyRfGC7w1OyMD-DkviHvFzQsIF8fmneDHv6sseI0ZbrZx3ZXdiIhdkJBhocZfemi6G6HfyYZiq-u9i_gFLn7wW7mQvY9Sb5g6r98Ux-6JDqhZPM8xJw1sMsuBW9il9K5gvUfH1jIjTq3IXfkgG9PGK191b3ti9IsMN_Ep-GDnQdWPcmrcKXkJ2vdyHeRF7fFajOjxLEE61cj6raJeeUND1D2NZylX0D7TWJes_ZnT7O58j8lvfotqC90eyG-M8NlExi-k10nL0eqt_8j_joKMi1xjVOb4puEl48OFxD8HZ07mJlx0n8jEzxYa5Uxb2yvRHHTmIHf6IDC8pjZyz35CWDvpgv_YaHDDoYP4rXIaODJlLBVA-RTl9Ztli_XxjiemltiDixNYvZqeOSbPiRYhGBGUf0C1rcTdYLN40QemH5QxHOxT0vSiiXJMLBHwSPh2_zhbyTxIDK26PWZ1rknAfQJ_SN4SqO-xjyHt6YDojAxWsiRY6_A_mvFrQygRc0fSAJb0-pwXgxOINrMceyrpoUFNMKe2ZMMPaETtfsRce3Dug5yWoSCyGS-wpagZdgCZLzq7sAfYGhJbCwAJEf7rhJMIX5Y3KgaWKthK_ONEvQRTovH7B5Y5D_7fz3eMEglfEQpI_qXLn3-EmYeTnzFJ4raznZEh2jpjSofSRX-Wajs2KzwO4eEAK9g88bccR08ulehMYOMZGG0vkn6cpw-QYigSnBroTKtrWgSvfVJifF07y8MrejAx8xHO-wk6ubYUecJQ0mzRGS31SzZ4jU3a5OV77iwE13Imjt9qMqlbXk2q1umndjRkGu7UJDvtzPhBtX8AK1UVOdVpaNol8TRgGGt5PMinN7__uOYkFv8n95ET5y4JAmYVviwWhrcLfzx8ntvuyqWX-R4YPOPG6dJDj-2JAJ9oaER78iN-VTWD8ISc6CSyuC_UrQ6mAhb-m0fNvdRRIfYGyy3jxfFxFA8Qc2X1CuNAr6Dk3ulW8-XLYALV9KewR1h8i4hZEoiAYzzxvaHNGaJPT6cls7PDSVY1YQz36hRmf8pRI1yjaCMF9mYeCrB4D4b-zVDX_h29uIGLjwXzSj0phVRVMCRLHyKya2BdjsQGIT5nsZkUUdZZ0JaKMz_2HE88y5gYvsSx-Af7kNL0A-RHg4JWSMpWLh7WDBDBphme2U9ueOihxH48GgMqxqJ6A9KberYKe0WMAii8T-Z0BwSb4oQPxT7OnNrCcFxtcLgOhki3g8Q6d7jJieV_PyvRbMxSSEIwD_wlyGX0RUwIr1g9zvEtlEyCU8q81vW3XRAzRKbtATh7p3o_9MQyI6XjUhpmarO1F84yg6mhZqo1zalSsVi_5lA4uBOVhr3ylJaN2iCli-fTNQqvNWYiYVV_OyQ2dfoLgUptK2Xnb-oTNQee2RVbLFYaeAtxWEj1kPDgqX3_WTsf9hr8mheM_EmdZl-AaoRvwie4WhtuDWOUh_qKK0CIpv030ajBIXlN4WP1VYZb8yKHiYw0kgTcHjFBehH_paWNa4a5Zwtdc18JdQMbPGMwX1MHVwQFENzsfKT1kgSC9MNXTzorEywhsg8XUkHh-QlsxXwIRYvfHA9en7tuoFym1oSZ9rvI73piih3w44QuCdhHpCR8EUGe4XYh4CA6HrHPNbvblPomYLqsxPh210jnMPfkQsDamrJarAW332cb9fiWZQvHAV7R3RBSj-MNt1IGcI2I3DbPPeaIurhXw1i0nh2y9LxaMHCSFoQppyb54ni-6f94uAfOv2z6p-c5jW99VDHkKgFPsLxJgm2_CxS3fGj2Hx-TGsDpaVmJLz2GGw8rQpxtf4b2-mqvaTZ6043zVvJ-UL834uz0dUffUhknHSedvLFUfvHohLU0L6qAa_n7rBX8usn8PSVFaKgOfsOzr-V9St2S31DDMgyQrbf0mJnw0LbrOnQ7PnLWPQgtbyf0ayH3uYdidR0MSYHfFuxtgOIBgH2NxX4un-c4rcjxYRivtQs2KYIGRisUjJI2jF5kfnUGCcBzSV-p7Zw4aEIzq-J75NvycGXBoRQUc2l8M6Qk3DNOozy-wumBlJE_rViW7719RIeiYwXksvS7WnT14mfltLo5dJawW9eetP1Mx3Et2Llvbv6oIIJOXOAkVjmER3Z4BshCAxjTVdh9bVXJ-up2C-VPS-Cj9CovZ72zrzCf7mj6gi6ddTcp1ILTJkuG82Tmuw7u7iLOz93muxCCluTQUP7thLMTtJgRI4YraqU3uSqqeTBN7bSDl3Mc_QFvyoT209TKjr_kDK9ViSWdXBWg-LcXzJY6BaMH31SxCf50h1J5g8P3YNdvTRPZ4lsAo5b_tmQKOElu1EW9Te5o38LXOBA64e9cMCi-ec9wuyN-C99sMJmcMYrhzuZ8Blr6WyrhRzu15RvUTIopcInd_MXYOFuIVIK1oGp-shXz-geNLsLqauSw-vp4LJu04g5mV2x22KxVgyz6Tv68l21pdA2BezimZ0jcIOELwU8g0zi5XWj7nBQEXa8gXCFtaT4EpG4ocf-Fow5VRY8ssJ7pkKn8iDPTiRxkgHRnYP3DkVsOvpTs92irHHkPk2DYnlY32hI39NU_9yS9wmiChiCIrY3FQjvQ2yVUothbZFqY_XnCPH1HdUYl_Qv8SoswOv4g4UiQUvDO2HuPiaYuY0xfI_r-m6jmMKjKZFTdRI8KaTT-fKfjHSvKzKZjUWFlyYjf98G9NYSxYfvwERVAMtKKX4x3sDYSd7ht1731ZAsxtnz33LtWYD-Ya5wHX3V13uISgrhsYykKSaWdbVwKFy5nOtIFDp8Cjb402BKTYTYGMArpQJe0_Byn8UAOgl7Isqs0QcBMyciq4D4bOxb6d2083RI5xJqwMqcy_yuvNOyRtMUuNYeKMiKV9y_FgWR-vHZys0eOiceiw6Rv0umXTzB_lVxH98kGtA1mq1CQwj3QNQ6mSKz2YKdINm3P0sGnc_6VJ-eYsra5O3X8wlgZZ7GoaqShphSY1rG74WTIrak6Euxde6q9P6IUTt_Za-xDj_Nau5urCcNMujyzjY9X9SJPrKrZvmKrpeBycdLB-zu6AsAMprbwqF2frrK2ml_Mngo86GWHKQVNqjaM9Tjh6HV3brrTx0wUgcPmcTostwMv70bZmsuW1JW5lJaIhhnctD8Jck5wV7uI2zXOBEJsd_cG2HYQEvBKcClq4wWkM_Wjl1AtN85qvyw0gXuSFd44dpBS_7i3kDcy8FrESS0lpdpZorc8BJ-PpwDSS4Ki_tSv5XT-IAGPdsiUFCKzytAup4xFjDNbgaCE3ARnXZqhitaSn_E5T-I5D2FYc_2aB09m69Is8auGvCc3HDw-1rXDmMynTKrba98UkLhy1i-F7gqyT2g1Yv1WB3iQk8-HsxJEz7W-dnZN57kZpJdq0_I7VC9xHQ4TcWXm8B1TSdlzs1REJvLlWX33l6DDCxaNe3GI8FKgxs9pyXODj5pX5K1sUt-cxW-fUom0bMZoOhQnXNUnRJ19gXVmze8KwoSSW0T8ggALwrtjlie1Gdb5AFNIhcRsIpZmkuCmz9kNLrpoJRWki_SxzMxrUH5omK7IQjKghAwCr7INM0DwqeIuHAUgAxpZ7OTl_rRc0-KFW8A1UKmy2kw86rZA0IA4OYU9j8DOXqJrvCzT90-CtOJFfl1fxatXxm31s63C047i_i2S7GyfI12eZXOphMkBJ0fehI9RDcDjdNALPZYvu3d5OVEk4GhL1swBWBmZd3gPMMoOvhKysmNGK2cRZ0ijiaEyMFY-MTwNK8ZwOcCgJaDLwTOYOXR_C6sF1C62ZbM1KLGuLgg_ZO__3FYS8_E16UC-a6hjSG3CDTZGiCMPgnlsOo1o0QWmmJ-MsYKmrdGE9WzeiH5nNYeRwPchaXWrXpzQ7bNAbfDq0V8AcYlQDUFLCvdwsNzOIsNWjUTo6GLDHoDj4K5TaA7OkgUAmqhbR34iHkx4afM7ADSXrVgNEQxrerkr-5Wlupivpct1DF9cpsSRINyJ-JFwpcDKKnRRIeYuhqOo3AcCCjvLJj0iBjmbjC88Tw4VsGN97_pdNvUpjJPbBk4glUsXcs80YSBzvJBmWdncu8kZpZUHpEJifnr2jBKuKFn_ngs0uTqbvoU28ZxPafVfL1rsT5Z2PEOgC4hUASdMq3kztORIhH1W2V2GMGDngwYsSx6SXhwDq1_S7K6tyZLYVQjeLpDRuXoQQv1PnL34T7OHKfHSiGbr6wSbZolZA47dtmzv080eudAl7O1zsQy0XUmO_1ydkxJk6GHVk8Vmwl7u1eWySCz8PQGxdFS9QX97flJVfRp9o7NdcFMi9e9BjHZ-7aMtopIX6ZihDK46yZsNuxpgExQFBZP1wcaVchCz3NoQWkMz4q0BOK83-s4xxqeIF45nTbMZ3yVfjhArPNmITEydT-GJj8-oZb2HgdSbzvulLQ6BwRTRzLclCIFDPzAkY8nxPqs9YzWqR0OtQE5bzlnjmK1omvS5FrlsIuiYdnE2T1exnBUrxf_VE-gP4U6b_XCNxtGe8d1vxoA5tCfpe71ymcg9thW6AokAcZUhzflhMubrcDLzcA3L2yvJ-O2QRbXLce3yh0VjWsUrqCfX5VyyUOItcwnE5qWDfg541kbLiD11zDzB54qJCLLr4XLK9pTELm4xh2D1FaI0tqf95B6MqdrOMddPstLIkAK7-6zWX_H9njFKVOnsvmUnjIjDPzJ5-N5OHkVq8jcBx9Hs3o8PdhwPG5ChxVw4KL4FWVBopLn3pVIAKYKl32ALXXwVb3auSEeVyNRZUfBgGpfo43O7q-jeyu8Ip9teOpJETeGEQLq2oeHBKQrB64u9Wpe4jnVxTV2BCvijCJPTGcZA4jvN2_Y68Icd2UxTwJzeFyjjGWPOkDe6O7ado2ee89m0R44fMzZv91waSaLoqmx0dkOt3ZgA9wX7snPQ9G64HM5D6kqiqMX4TSB-BnI5sApklIte_qbQ1ZNt7jXqwWWamfDJgtLDJB1JAvyJKt5EVeGnMZr62PJRix-3SL9PlL_d_ysEJ7w5zg8wamqt4juyuflzv37_nvXHw9y43lXAbz3yjcTSJN-uZVft6Wj3Yfs0klh0-B-P-Mw7WAaLjLFSYaP87mKoUDI1h5eGj-aUcHsmOhjN8Wy9L4aoH3Z2ovs1VNlDwi1Ilfl0hTJxJoT5tj1pqYraCML_2RArDP4skiPl5c8zQjz3rirowvmZXFbzslJuxBYug_4xPlG59T0n5SOn43Bz7p1xA3P2itWy0M35vJ2jFbPpn7wqo3hevpN0v-2rp9v-6Ky03uDcv3biU50TlkJZmw6pmgicNO_Gg_uIN8VqEbgjDKOqDFGVXhTU5mfRm3oWVdbA1LlCXjN4ax5bq5U-mrtQ26sIi20XwmiKzEYp8dZpEyqpo2P8Off84jeIUqeSiQCcY2ouH-o3WrrpB05CU1lRx7PO6ZyHjZaHsez2qXqZqdMVvKWZm6usRKbOGbKDPk_DfEY2ri_20fS_t0Wwde2CcpGQTwPWGqMxwt7Jmd8LA7yNthTkyGnRvh-Hal7dI8mcGtcSG1pEEMF-xBR7qYa3rpICcc1Jhv7o8XDcEYNRGQsGI4TjxYXvisUrCNX4Sms4xq06H5AUC-sWlDLikLuhCA3xMofvSwA_seXeY92Gnn-tR43FQvoyAbbBvWDkqASUfdeQoqCHvXszCxWQG-3aA0Uzo7cclgstET9og9nSMcCz25l7fRJgGlkg2xHOFk3DxbphcSWPH3vKEZWY3NHqaUiE5rwzFR2sKcK-A6N8_3yRP-CcX7fvGnH7EvochfHyTPb7zSzF597PTc0Jyq-MIxu1-cg5LmhLaaS2L3K80QZ_wGOwg193ibDXwpIGrp6F3OsmG9P6SaJSc_INB8zsxZNQ96ERURjaR9KcZFKBkv0AcFQCZaIcSPYWtHPDkNQki0tqmxsQ7T6Ai2JdlwFgsyL9ss0r5jxwcOpVfYeWHa6Ceu6xmMQ8pVOEOxgGYG5KUYnMFLy7sqbMHHajjjL67Yyp_XVkrIDSoq7SU9ZIVrzg0Jiiv-LpkPJap_GYlJ6VHPaegBC_VkimVcTfkjwaXsU6ShMKzmF-ttbkLCzDZOUJdais_OK5HEcfKE-ydKycQ42vb9utsOfbueHJg3OLKk8RUb5tMaM5txKOP3WBeyBdd2qdA_Sba2jxZvYFHZk0zvpC6CJAf8vXzJaRXfZvXf8-od02RrdKEzjtCHYmbMM18Tng6d29PcDwV3Ke_NLbqYhjBCGtwB4UaUe_UubvwcOK2FagXHG64R9ZvCLWD8eD2sqS7n9xzxERjZth_14Hz39y3KyVbyI-4aU8A9zfTfXDrUOxQt9SgWGs9cQNfvRt3yNrZ7Hm86FV2Sebi4VTZS9zc2nYyRfvKvaxOW5Sd_SKRbXKwQ6WKJmRDg1k0152n8EvPDsBYPvue7Y9hwVVxN8H8fZro9FPUzhCbNGNHBQ1v9ZMMKHPqqCIm_sme_UyzahVbCn4opvA75lfCenT_aCUyrCJDmcJZCTQ_rLt35BeM8Cr4FLlZ1aZksOS0Q2qkWqkmsTjMYG3wxPk1LeBMPKjYngAW9CeCzkKKpDx349A9T2RESHzYZpmMerCLzif4cqX20SvtXuCMUOHNE6l8Xys0poYFJRdJGcxClt0TeivRcS34cHxUJ4k4dL9WbdOrKEjbygY6UU59tVxWsCdRi-eYpL0Cyk9OGVB83p--GagL10v1bLB5fzrshvzvGrVrElTT1cynBRcrBpD00Zrlx43rKDcWihvIkFFeBgT0wtjfgIs86g26aCEzzp77iOVWKhE2ET-G71tzb1vCYnww9S724szBFOUY-oCaE1siL4z5baLW2UI5xlUvS0oUOrEJP6CwLIfOHFh2e6m9_8CKuPyfHn8EkQmw3ZSR8ZCF9opT2YpkMR6jiGvFNYGZadBQ28F6gAJbSPMHp-aYcuLSNXZ5u8KTxvVKQmW6ZAtZnvh0Jipy1Go-THZjbkmtc8Oo-nn9zh_hQQJJcse_ZuSwCM_7louzMLeEbooFNB1QhWeUnu3wbWQcualbDFvcxqTWwug-XYXeExNG0bFoRZezfVJShfdFVx4BST4rk36jhF6luq7ZbNaTUycxFpfXS1AZW00ftyEBJvLzQDUyhobRjd3IDt3rlrKU98o9v1LgWhHr2jt8U0-I65SfuhbUB5GidPuysa6zTq90bEH8iL_vShmfRxZj-yHKGgPk56Wer-JhR37jWfsu-nyHx4q6AxVmQrJDGkCyltJzKN1u1RbVyl1H237EBibWPg2qE_OO3QNIbktjCrX9fWPddxpRRX_eeAg5nylumSszXe80R-WDd93K45Hy6w4h2zTzv5uiVhroIOY1_P8oRVpFjUoRIqisODA_b5wdpN9UxJZ3ISBPCwSkHTWjGiQy4sn11u2vTPv0two2Jypl_9OVtD7l1bBFftvJ6VjKwNpzWuryqNmib6zGfy6lP1FS2ABf1TVWjYt3Bka4xb6bgfYK65_dkjfFbfqtqqHUBXaP7Yb_MUEBxJ815O5KG5E3fiZuL4KhJUl0xYDdIVfjOmev0In8eCZRaywVQmTEjENtX9Tm8qHjwQFFR8dE-Jt3oc4jXg90xdUTZP4lt3fEOhWiYx0uyxOjAazEqYEOSZpCUQycqJCeTkF6b0zvsSCaKmcRp7lRVbEQOcBBDzfdu1Ak7EjI2UH1Z_Ly76yWUnQSGWp1Af94c79T60fuCw6SLbuDpEqVSRbPblVJOTHeJaehpsk4KsULwXUujJ_AG8UVjU3XOzg_9tw8LfSV_prgRMHXwbVKUI5pP6u5n157w-OvgYalOj1SHWpwrgYbq51Z7O57fZtLH0S_PRd7gsiwIsRbAjSc0Qhp4AYcGgb0nvPrAAMUDe1_2Wdnz4g92nS-D5GWRgJ_bSy8W-0RtnTPzOGCWy3R8L2zNzU1ATcrp5DOlS7ztCDrNnnXUU8YQ2iewZREtTdt0PWkKHBkR3ALke0VetbCVCn3uH--MFSgJuaHDgbfeH1DLnjdJPXMoioLshR1ur2pmUEqey1QIusuFFH7TZ6Awsc5RAw6YgQpevT6YQ6l7rO7pzfQxq2o7R29Y_ofAE6_eMA5uO6TpO03Xg65xvp4ocAawaqqEB82Oab3jnbNKO2Iqdq5uFKek1lsc2z3ZCgxR1KG_k-GMH7NzegjUw5UKJAnlyZkImQSLkdlS5qb32xGZ2jS92gPFI6N_UG7q_SkHo1rpGNI5xP4pFMB3z3J66EeaEAny7glnSgHZsC3wWedVaQsDxPrETqeED_EWfsKkDWMKPtCAlkF9yzwcw_t5l_mx2wf5dojFmTIqnLOwZI7Hv0Ievki2Pki8M7qu3kVSzqa6zAc5-mA1HxaOgBA0ZbmV2Du9CRkHj3X83yLsGdkOJLU37sgQYYzC6YBYdJAKUfZ5zfXi9CrfWat8aEqB49_iRV0fmAFQpbBe-jLPSuiwIZF9_1yMQI23mg-x-B8PPbGj5sGCQ_3u51dvSfYPspVm-SkDK-T8RjQeWxnSfLSAYNMunD4IaH0FALsKKqmWIpRBVp_XhZ2rqx37fuUe2IYIlcmb4dr5wjbjZc7Vnp5ekvevtXvkDD00sJ6ZfPpyXDKa3ML5TNlo82t7D9Ffn-yEAgONYcX4lj1-aBd5p4xUyvdcgyEarEw-ptdmPi_-d0k0sQDbANOPD-G99fM8-6vZLJFh6q9UnED6um1Ljlb8FGKemFwsA9FTIGxY1og5Caas7PjH9lfH0a8i0s2Ye9TCLaPBp4sgwe1U91qz0Zfs7W4jkU9gmMnq4K2V4X0J-6WSPAT5VNfTqwXMXCr_oXAK27UQNGu-Hx0XT6eEdMEpSyubL2vCprsUxgicRByMN7Gdufvn4CVAJRKGkFoPcFRKk_GdV5eFcthfLvA3PxYUD-SAjf-fA6QhFN_7xZxXlhYfM9l_9HxGz2RI3ufpv3_q_1g95hK1hR0UHz3UyvASeKXIVmk_xezUhHuVQNqLx72DvdrWZRK2Xlh2YD7OK44uYWgLRq_OT8H_YCGko_M-1xILeuI-LL1laEi0ud9ajbZuiAfXEebAkiZKWLWodf7rFgAog7WPMqW40YC-aQDrTq6Dkec9MP47PtYeJiPbi0qLwXM_gByGXok34ydmA7rwX-vSqInVSb_l2j2GqSzVcTqo-TqonMMUTtz2P4nBKZJqm5Mfw_MfED_Roj81BM0p0rgRK7ViOWk4U61bOQxOrYEsXmEWQhShyOxY2aQAIqDQ3789Gtx0r2Mwy22ezRPmRoTsijPWffhOiRoaQ2jCMdIRr4lRR2qJhzlbjO_8Dxtuo6o-ZRa0Opq1gN2PhaPkYhIDc7lfDrhM6xxnLF-DWSzWEVzQ6huoKCkFhn2-tLy1eeN6cCSb7D5qWNd_CGYTHWMy6IZPMMrGwbc2W0-NV2MSo1jDN1WKsnn5ssEtoISc3eYIo8_gLiOR-nmK45XOlq4WLZXwLy0xx5XKcfBYMcf7D9MDSJiJCkrNpbIHgqKP1D4MVTw3nZJ66qyxNzVi2wBlekLGHPPMzvbfO-yUiEJvOla6tgaTP9wzTrqXe2kT0oZE2uwb40ZNM4QXou2cS09-mjz3HGt59FQRShbphVrhW7kdX59EMSjjKT0zYuARL2eCRCn_IhsIn13huvHv4nr2NX9Pxhd_a1oI14-Fo3WrPBi-2sHnDtsychV2Bji6KPlIxu5SYh73PEcyac12mgTKkFfhPikwXTqTMv8TdkP4Xmsl5ZyWKSsQqUyErnP_XLqp45JNtYCtqHlAOm6z4NqJFMdCfe10-xQUdE5IuX6w4OHyz10FyiAyCAh7-ELkIXscJCvJy2MxU0H2OYvNbUNc4os0QjojBpkw0qgLAQRAQc5jeJoAQFSTu_ESSad63KqRXcZvbWAwblg_d_c3H05_GKeGhStJHZr8HKkoKTiCngt-WhmyydZmXKAsgNE0kyp9-sEQzBWNVE_U2pLPtO5AkHnKKhVoZtTKnz1lGlpZAgu6k5TICHKSpOpnrlS3yNNx9GTcVo_UIktQu0ZfpfM8673VYYFKISPSxrH0vBIzuK7PZIDLHIQEQlsLAK3NJf0kyT84cRHanP-YglYVUkWSob5dPam-bq7g_hQNMKCwI4NUjDFQgld0W9X3C_cpNJMcVRuWxW4uUnNbrJ07ri25hmrmIUa9grsEaYoIn0Y4ARjLd7JqOgBKd0KRaFqB7piK17DYg-VUk-dWdcbnQC2ObOfl39CBEzF0ri9byLVkbuqAK66aC_S8OFIf_rETxIicpFPSYyQZ5sJ90_PZnzU3IbWzmRHGbVM4aBiiudglArzza_R53TStqjS2cMpSjYKEOjaJVuCUph28IqNucvgQF1uqZsXGHza2qqyL95_dZ4wyoOuUUeYloId1VOpGP_QcGsw3uryb1HKiRrA7ibr1Y33OWzrfJ1qk8hTlWLD7tBG4fjidnHHCxmPW5y9pseUNeg9QKPr2jEkVftCrXni59anlzWTXI72vy5tUjZPaTeAqlGkapCFUQF6cKBSXNSDxVxsdt1KU7SiBs5fhtWma0VQjkTSbRTJR8Cv0Idp1nL87Zrzx2G1jCZSfVvV9ssnHJrMCZOuAUDOnHBAcU1uw9mSnAfY5jCU9Afcet_njWEQioeFcNTsDSJGqcpMrrnc2JmsviyNdo4lvqcxJruF83uBAAzQFvUt4VcoWk-w6t2hRlhYIRa6sVoakjjld8gQiN4yiwz4atqs7FAvhmqRRwioMYvbovQ1wC8smbnd3004x-K6ULrdaASB-Ea18lrUAi35HlTjhN0nRZYPZwKFonb6f6eQwFC8IuoIwfR-GdW2Tie2iEogyCXaw_gwsYK5bt5as9DLPheRRnMCwr6rmCBr10D4btwQdH2nwe0KdbdtxYSLycD2w26gJrHdq_ONoO9SosLEmO_Z1niXEAnDsLrpIWxBA66P6bE2aETh59mz-fDRf6o8kjYajDb246_7sE7c1fOzsQmXVs9AwRlIZlU8whqvvlXtgieTbrvz4MuzP1sqNIx0FYvxLxhn_HeJsuB20zJUBoSGBFAeXdbVk1xbDLQwYkhN0Fd5nUu-G4HffyZQxR-7EFiK_U3OFJxNVxyyinJWPM9lGHY1dkFHzb65OaIBpUMDNweJRVmoVLaCaINvuZxhrjK0wNb1aI0J74Deh4KHdybjk0pVyybXwNCYRssK3rbh8rqZXYfEnSaiDv42xjje73UJiPxpSnedm2C1IiSWCFjubDQ_6siuKkjxRVL8mDhqvXPdol6qaTxkKWSejKRRXiFkHMYYLPKJlWkwwTFbWaC8O1YWAclG_RiOKuN37D1OOrChzbZZX2nwxYXrn1Kz5LIdihQsOHVHGSuMbsOWTk_cFLzQ3owVr79zGtg1sFusQFkgBT7s54Usznk3eDt_RdSjkezTc_8O4cVgy54sYBjzvry0g8ykXuTn5N8CYzzBQ0tHJnhDKTBgS918Mpd9gKIsDKYQnb6lboxaTVrZVw7BpNcffUBqUUEJsf9jVATY8AMRREet088nMZ6-SpKW3qR-W6E1gPGW_UFMtZv-ov_5iQKQbPeWktaF5mEQInMviS6U5yLRPnfP9EdzlorILOykIjYDWMxEq-BK_paAj1jnz_QtVhV_Z0q-S_g3EiS88PXWrX4z2BxxbqhgqWP4J9DI3c7w6gyHxO7U5unPN4wFRPTfi2NgpKNHKrpZ-4K3dl6SljF672EWZLEPWohvjtChdze_ET4ShRz02dibXg-ojQUZx4i2AO8W8dQC_hB1Z08ML1qOIQE5NeUcqoRquc9EtySgZmq15baDRK5EUs3GGB0zF5HWfH77g4NARfhNPD_GyQa-lPSaiT8v_Pe3GhO3tq-r6E2-KfGYmrjKN29i8EbBBucHxF4wQ0M0GtfimFVAtLN6kil3pMYXOkdhIcM23z_qNnVJGB3VPp7VjxiZDlLKsRhGINcnFl27wUmnJdDAHTYY1kwRxenoTq4QDg5k3ywZfiz8ZJHG4ZVuvAOIX6_Hb3ZuIgUycQpWsnU4WxDhcuU8XNaJkgph427NefVBky40k_qQezOYa2mS3WUVC3y18QBbYH_qZYY0gnDlkiA2fC2qODL5D_gIIfiZtQrLqmdfj2Qjl-HSqhVNK_hSsXket-4FfWWyWJDFu8HRO94YoH9Z2HFfrTvSEQfyrU5-MSwaKDDPFY4goJW9aorHhnmNvXSEb3xn4Lr2TiF9lP2J80tKfJ5dEXTZcGCYujSn8aati8UluhhMxxdda9leSXQA5kqUsX--DC7TOft2a4-vruQeEMpNNZsmQDgi3940oah0WHFsdo932B5X_VLWX16AdvmISBAk3-jZYVAhEYJK1PHLS9IhDDkYN4Ch_HbrypQ-oVfjms62la3YRxJS4E9vM7UvVPz4DGQSlmKpsJ-HLat9Dt_w5w3xeRGGLT-bnXOyJOMPREm7UCxW4dipGa5uDjw8CWKsayZRkPh7OchtCplFr6Lpv_L8YqOHjT0NoHD5wC75-4IOWLtXFvseYbbuBRJkoBFKnDkoGpiyKq6S7_L1VLcMexhzsLKthK-d5a48Fa5Q6KrNLZKHpJx1_uEYmkdn05x_zDrC2K_sEsrscQZZi33I2OEaSh4HeVGdYUzJ061P3TXEkgOs90ns2c7J-K-bnaVUqyO-2R2YS5ca8Y9bn2LyHMKmrvb9MAZlMFOspET9w8URKq41wBbdMJ0bCNMA3xMP_zoqsSyLq2D8-Qq_EjK9tF2Os7Df4FmtGW8iwMTw1E5r1PvuaNpbfySJ-_x-iKpc0wqy1PnAclI7qSfRX12uz8KTad_7bPE5awhlEf8ZqErd6gyH3MIvrxbovJPIiq9YSFw3-zYCn6UPqqHFSELaZI1kahQOZjBQrkNxvF5zllCDWTG8OXJ5osWabSRLQrv4eUChb-qiI-rPZ-b45juXqX8AhO_tdCnPZqOrCc9Gd7IR09Lw0dfToyp58zgsnv05es-qhJ36WvJmj2oF59bXddMgJqywcKWh-BxMIAuZxPdJfDhkXL88uTl_n4wqrVGShrFt_W2SaMrKguUoulIp0qhK2zltefXoei1BXn1wZiqDol_cHLLvZytwznutaJoYIboLfu4L0mnqA1pOxo6ZeTTiWCfn1nM3S0ObCMQ5My1tHVCxQ2hxRCDbMYTIK7jejhSj5Fl5L39iRWlId7UKnymY6hDw1eO48jKUg8HZAtPoLgGYbzK3W31fLYrTtn9DSO9DDOAZ_uvfErrmXPPl0TWgroOxcbxz_9FXd1bA-CgyflxLsJniP3ELQAK2MV7UFKChg9Lf2_M13B7m2WTBAfHmxiocV5tyWkpGUONXe5gyx8vF0jwK5mkxbhCHMy61tFCD9RH_OY4ws01gNJ2kc4AoozGnOBaPrr9zYTnOZJY7q7OCFZaRjS_8wrOriXGh-g7ACNRreWYGFKvskPYO54Zc6T1A4n3IjtLgC7R3DIj3tfw7SsV6MFlgpi0-6urWS-HsrsQom9HUKcqnYocvhfiXjsBkI976J8a9vHZ-cgn47Uw8Q8NcbUoIEbh6S8ezgvDueqDoEFofHVKaPoxSn1OgqyuQVB4OKuW2s0djAXpCXeIPbhqKueLBGObxnFIas4oh3OhhR63cv2-Tvtojyv3gZUWTfC7H9JRJzrC_Jg3grVdiqHrg0mq6PcojJ3x5MQKxlOYw8DgQcKdk_eLcyPSwmGkRM5NIBpMZ1MUXHxRlpvMGLw9EcDpxKAdxiE9SlhDps_o68kzJa8knEY0caIEJ7MpgzaVYjiH9CD8crTzlKsvBO9lNBxIvmekNajgGW75rPD-9oKGS9i5zSWf0nWCvMnsIG8Oi6Y5jDSocblrICA5V-sT4jhFEadV3TXlM30ifb6RlWrq371pwyeqvLn6IIfQ1U_It1yq7GXP5AmKLN-tEYoZrGGKKkkv1lX1LoSKTCivLUWIsA3CNVbtJCKD00igfzrTe6dEhaaCxOWsdnOgGfdbR7gXh7U_U_7dT5ondOyeSQCqMqw_r_6NdBUn1mssNIIWKFLcHOwfmTq7hOyJfPZ-bu0gEHJ8a6tobe_j9zdKxF18b_4d0HPedbgtJW3WZcH6wHOOYi_olI0xlxyw04kVIPoQTmEMJltXt4HdqZFj_P95qrBiZABNm-B-dmAoTg55AkwTVoEr_FEiO0mAu2s9UOzFC0kzN224Iq2AVSEbxpoPNZoSfD78Oz0dXEICT66ux2GVirYwl9twemfQHGqCBmWy8pH33cFIhzrZqK6S4kfCcB9JaHnXsi68zA2grlS9MOOhqPjRFXJXjodi2WXZpGQFF3LDYyEtocUhNGPArWzabkD-69hSGrdHsSw9AhVZNfnnhf3f-VCCmHzR6kCGq7bfV4N5kRQ06wh6mRwejU5pZ-rU_JFX6JfENloyDXGaAi2cldIJCOB0GnKL_94ycKaem3OptVEAfhDu-h94pDGaGPPu-h-dzzPbn-8oYqkw-7f60rIn_bcD6xSTthGsScya5qM-4-rytxdpFtT5sGhpq10l9-qo3CL61QTzMEe2ZowiUnxpad0jQzltUJZgtn62YHOnXWuHFS1X5eM9HKfmaelZ-1PiJgq-T_EcYxmQgyTgQC0jjeHtFKA_ZVEPYxJvx498kI3feByEbBJiJJzniqEVrUEtzZIeonXmHjBwdJRq4RyqYS9D7w5m3q3QcWevTXTKb_gmj6wYWc3QfuNloXYAh65YENPybRH4W1UpdaIYLQdT17Or1q9ZMGoTO3PfB5jnJ2LKSgXdlNB0CtBkkeXdxp17bJTgT5lOIxDb3QeFuVfLh2q3JTqEOZEIdp3nY4rsnPtkQyQKCCvWDDqlGdBcQKzKD716E1EqoeR8v4jmYpBuSTp3sKV8Xx1oKKKWPzbwVu2voDkviL2PX-hWPG7Jbl0MkvFhmWNAMP2kb96sXfpnXEN3O1m6DJUM0UqSZLkOVFXeDJUgjOo1EskYyMJrlyX_y1Lvxt7fQHkKCNvAFfADiQU1N2xu8qyJhF9PLfrV_0UYMs3BroXeYstlwccNpNb2fJDdNUtLzZMH1kxvRdw0MaBaTU44KxpKyGaGVjAaNDtA5HGDWpyBa_-wFS3CdAAvxUvcr-jdqR318fGZMvaltdPFDLA-zw2CdDDyc--NfVOoXkZVeeN3ekDKeBmNj3Vltz2zzZ9voNFcNWr5fy81f_cHfTJsXd63RbkjvHBqFqMPUWLXr5ZjQkeypc4K4qXw1ECi_4FlQ9dI3zUS93KftZVKm-mRt9EvoUrvmHjsEuRbz15_nnu7tkRSsKzbwMkTi0Dm2SfCH7AmR-ZvpWHUF9--HsMfg5V7qqY2m2YsZX3FohduRVla0KzNXaYV8Hbmvs0aymjrcqegct-QnakI2LNqncurIIgORXYx-1dcjMpwhZEOIi5RHr7rZok7YqH84iP4irF6O8Uo3VAsLQ9t1-t1T8rbp-nzeZpxx_O0x1H9opv-Ua7Me0dal77TPQAvDlx2AX2pvDhyWXbNQVl0rMXBQ9yXDzpyVhJuI8rvnDRcZVY_zqAY8P8BsDKy6Rwg4j_Oe6EJ7jJeb220IPDuA3-BVgQF6iP_BvRJstKH2JNXn8uNcBzfYzXh-d1PeBSLdvMZPpv7TTETiYb4uiU7-JMCZfD95l3G1PdnIOxId5sABICBTN5c4yDO8aWW_67mgbonmDR4GOFdmvl0iUCopBelc1HYWckgImsrGe5gC0PBMP-uN01LEK_7CCNjRt5Ujls-VrRClMbrMQFHWtILatIlEjd2vy5FLjdorNVupQhQYtKWtqitTlD8hgwn3_hGURQi3tbOn__fOaIPR43hWIqK9VvuAhihvCTd125mgdV5jf8plOUUzP6ekya2xqn3ICXVuotxRh29BOs5lq-LHsXTMNHftw4U9d6Z6scBF5lPsNeZnJZ5yQCUlRBTa4XoYb5XMA3nYYv7QWQFwv6w16vI0Gzemv-3IEaL0c4gZ-2WgOfcFUlmu76uMqvuWzbsy4srvIzU4173kdHjeEZrwmOh_yeIGHNwBE26ADG3V3zTKnISLtVPFBg8F4R8_8Z85dMN0ca6xAA0wnqVCdA21NSmALznucRPjksich5_0hPnRSXyYkZYoyvevKiHKTBD0Bg26t4Dm6gVEs9G69qfcSDeOXSGNjak7geFkZvsfj7vBO3SH6XbvgIkjdQYwBmP7Ckk_GON9DlsZ7rZVhJhXptG5XDC1ZoBt_204SqTXShcwRSDdrnWjb5eVnpGlmtgMCFCl8Co6vui5aG2bLEnbQRvnX-Biz-mkX5vMU0QTJlc0Pin0n5Ey2nt8zgk2xPlwPMtL56NNrnjLF2bKWXZgRwJER1ccMNHid-iD4y2L0AFqBDLj-TGajxxv9t_FNn6Pi37LgDRBEefBMHK8UMmmlvFqnrDzEidOIHMkMX_FMqKabbGC4uMwEstiQ1lJ8jAhzXovIkgy26bsra3gd4z2O5MU_8-lOU60GkyX_LvWE72qxv3CyNsdVclW9dpnndYZWdfoNFfxQYeUCtfks_o6-CSoBlLSHiIKKwGaI4S4uTy9Y4kwUdDu0xYPs_kDKEhZ2mvI6e2sIfXstwHxBUnUZaFG2-SeLOx7ylqlHEELDQeSDUJjWtf5-BqrFt9GuEIUr3N2g8gq4YEatWT580cJGiYRdjnWKbPYlJ77bL1ahRuaO4SSG3eO8hSHldB4QqNt6eWEGjBJ7dpy073mkT-Ct5tVs_Olrv61YNQPcKNN5iTQyFgVEWVi1eTubxXik4h_DEfIT9Q4c01H_AQ5dqOCG_i6ugCjZfGvQL2VELMi0LerpZ0mLRSwhwV1HDyp1UTO76Hn8wwTrmazbbbADsaAreqO0iiHaHrR_nvPAgJcIHXMYxUGKBKn2D55PghPltXdXvgg4p_tXjLkW_5uJKnnE4SAwNXXuuA40pMXck76KN14HtHWqh4TAYKj-8J13lLdI-oYYJuG7JUP0JKseBkMYvLpl5ZY5Agg914T9d6ViWyeQ_5s1zgcloCRuPfYp9_o2_pYkIniBm2YfF7asI5younYm9lpYaolLFiXvY8K6ygLu7ngGv3d5wtSBjtG0ZKdFtWjHeT9_i6r1m57wRaUfp_rPf8cldjU49Qko-4WhGUNxj9O2CWE_JvUfxf4ZJoHmX4Ppc7K7KdzXuqAMEZhFsl8r5c4CLSumt82RAPj_4BsIF83AMrEvRZ-jBAQI4z-t6wrQtV6kYjUMEXIhtpJEkj1S9Hh4mXATUtAgng1fU5Z_7nmN-v6fEkgicSvhUpuSjAbICnYTbw7gtj8pY0-MqKZs37rQg8Z9t19Ndpfd19jS8GVBn8fZJb7p08v9Yfekz10Fn0LfJsVHrowiOhOeRy6rVkB-gzZQYDcL1NEpkl8BNim4RD0ZN2trOwStXQXn10pqNjORT3WD3fSIb7c4RS2vPo4fscoUSZFLl-UcJ7T11PjwAdfKnPRASmkAxqDLNZaFxEojNYVG7Wci_mh0KgdvrFSQF3lKBDpM1V_-2pzIjSMmRaApl7lgzJ9wx9238alCTHDmP16BzVFGXCoJULl4lPLgQc1zMclMALzg7o3ryvTnXwBeX1-9y6VDC0Kg-oXokMllxMuII9LdPxRQRHV70yGYxkYhlAIK7O8zL2bqGU8UIjzaIEn_7DS5dY9jqpN_zY64fBcym0_X7e2S548ulUXc8HgeUWg-rc8BGsH_isfCA_Qlkfii9-6xxLcM6dMCPi7pLic-ftJeTTDl44CpM6J19g5uy0lB-vs3qn0OlWrg78VK209DemlMldnMpVKLnr5AwX4dluhtQvupKD29wTEh0RqVQErAOOd1Jgks1YELu37H3dR3AmCjLjETlZ9zeXF8-Nb1KAPR-7R4QDQ9YxHhePXN7Uq4B5WNYOfSv-adGvIMzGcP2oz55xLiVlqZVek-5XDnEDnzY-WrZQUUqmui-Z1fPao1OiCsnGpfNYE6Tisade5QhOBp7pWd3Dhezyy1OG44zWLbJed2Nnz-RmcXRxQG-1_3MFg1QI4Rxn8knvXhvjADZyJCqRwlgC7Lbs_vwmShmn8r26Ytb1TkrHArSBYksvGy6QdHui9bMWMa4g79ouTbtuFI76FkY8V7WAw-Q_ZC6Vkv_BhO2-WJNY4hpUfYcY3PH_ctpm3PwabxyNhTt0eqG98m9aWSSz5O9BlUxcK00uLIDQKR5qZB37CCGu2m1y4QRBKdcm60wDZe6rrjd_vI6VvwblEKFSXX6uVWCwT0qt7Orcuq9WdGwV3hXJvHRKuPw5JpHEiXSLwpMrBh86ieutQvWZln92Ri8NXbURFByJuirHa67-ty8cwqTHLQyMAPYIRzzQU-o1oAil5APzyBc25A8vlyZsqiGXHDZ-cWjnH1CqVuH8yRB9kykh-e_kXnhP-SIEoTBR5oCd1Z8Oj1qibJneH_on18lQHowkJ7qNuVt7Th7vw6TW917GKnPgVluMTSt3uLimZphx_ZQ-zAibT82fu4YjyRzCanfSwepMYq59CO1SksrfGVtEvSXfK_IVtQVqNbH0S_t-LQuNcnkhVZQERqfb_SY2cgx_ZyWSXC7idoBUwUR5PMg2nf5i-zApyGWRotf9uzwSv4ZCn94WeREe4H4EY-6lE8DoMkGe6zxQYQT2Dp5nAqzeNqFiYYLIQwD5Cp4cjd8-ONIOJGxiDzcyxONkaz-0FgSzn1cYamLkkfYrCZMi7mHLqIT-SSF-nS__Q-TzAFmpvuslIrj6ve8DlCVimW1soSidX6lVclSvv2pQ1XOpYNeIKvSx_oqmoEx1wNrp2e3dngJtiZwofsDvj0FZjcbknQa_JCj2uWlzeBQ6IYF0ubxL-cL4wdYvoP92uQZg6c6KUlSXWGmQjSunPKJmehz6XRyIPpNXzpiW8fhh5O_I3RRUP0xcKeKSGcvxvqPAiZ_NM7nnsPG8V1ugzdiDwTjdIiRe7Vajvn39dqy2L7L9PDjaQXwFi_fRdzBpSH9tN_kXZ0__f1P5gsNt90FrJphFrmZHlai33rCFQ07W06mIz1yJQvptvD6oqNt-Ex53i6Sr2y9wDqYRQs7q5geFQpg54FAzyoW7t-wrqyPZvkzUPCJpdVtwLPgNOra1GU-7IN5FuXR_pIhxtmlebJX_BNVxupI5aCw6Gw94JvBWRrHBAAbtPMyNqtGOl9xbz20aqzyrKCecmgiCZuZuE2MjsoL3a3yR3PMeQjehjwYUCTpfyC4t3_PoXUW4nIjCLll6CFizgo4rzvGmAy9dMw6pNQ1_hksrz3x7FvYPZNWvVRCIrfqGPxPmW47H1vUIgU_YIN_YqT8fIToc_40Q11tgOhq4kIxSl-yxJLg6G-Mz9U2qSYuJCJ0HXf8nJo5y4_DvFRPWQJkwyvXTs-5hFRtMU67EQ7ZcWvDJLXK2VQfgCTqiH-kodSp6GU5ztC5O6P1HNQ4VXLyYnGJYZ00HeNj0OridkPt2BrqMOF-nDsCQdSfj6fJOFuhD4YqKW03KCoC7iZ7PZEysyagZAMnspEJnBifcBBq1G4-XlwJMauGKaovSQxuxH0oUvkQdp1vNiJaP7VIVP9DtAf88ge-r560wpx-a0QES7sWQVqmX-ushEsX_FFQecN7AosE0Fjjq5EdCOViM-EG0lQ4M7ToXjSWtIu1wvDElxQAM5mvbTZv9RHtIsiMeODv2auo0viqLhT_ksGc_LfurESXgLRijOCoZEdX3ISsP0ifvu9qbaAxqG8I5QOdcMqdS07acNT0RUBiw9Ca1S-eBxeBGWoiLq4GdLfqH6lpYbR9M-I3X7r1HaHZaxGRZ9_2zODFFngEvVKuv6mNmwohY2En3wUBarIm9Yv5QYHzHJI9wmlRsvyxl6ldqE4V-UkSkGa0fOvBzX_StChM5UMWRswfBeEExjqlWsz-BrrZUj9nK4UQXnA9aQjnBnXNj_qWi5fquKm7KuCoT8qhWx1bOCZzj5T0aWNldSErnrHcVByPWkSPFEpA2trn0ixaP4GI6cH4V9G4eDTvCDDFpZJbLl-mDfgox42gCHDwFrYsLfVhQ9MyLQY0aj9AcRUMvq4oh9iRnvBKkot7YnWMVgPNG66j32w1Wv4bV-anDvRAlFSRnoFviYdGTdSfee1BDjRiB-tpwRtgtD14_duB4vcNpSMa62EZMlQGYbxBL2UKkW3kBvapHxk1sJ3z-LCtrx2vdBPgwpIueIWCZA8B1uQ6M4apZMbm3A6ZAAgIkuFBXKFxZf8Zi4NtCYHuo53-8g3Ei_RPwy10aYPf4OtPZy0P_u6yteLLWRHlindLYDcAjcTCApFJwFb98mR5sifcv-1gS96M0kbepzYa62a7ehoj9GYYX5awGru2lqkUZ0jvMJQA6P1BDtNxL_ERXrdByI6Vd1iBKH947i4mXNAbEO9u7_objlwuJAgw4DvG9jMa8obWfh5d6C0vu5Qd9b9FhenaG-11vh1i8id1XD9aoPpEkswttzsBf7x3FAdwox9lbZ-7q7hgXy54Q6jNYTDwhrTcf9yQQnTm9iTbLg7riMf9JW-2ykP4fnE9vROtstk6iWJTHxi0uGQ9tyKivAFniXoh8wFXv__5S6k_Hb1jEAVCP2OML033yXbaGIp4pwIRPcmKXyQ9_5AqZCd0BnOoKRVE7TwYq0IktPGFdxPNM8sTXDrE7fOxT4uYDMfr3kZUzphzBMyexcD2UVo-9hZlteL642clGrqWpFo286kuywOJz7OGir9puunk3U8DTAa4L6QxeKFF3hwVy6XnmlxAG1GEuG1bRpZ52CJMA6xCCbmfQe9Y4mfohd3thbO-2gHkBAora5xaiJE17NiBX7aaao31hGNWQO5omkivQWHUitoMbA0XwXiXLQXKXi47O8_RfOYIx6onmrKlgraMEb97t7Gx2D2H-q1E1cRbnw3DNCgsiPdmPrq8wu79FmnnEDG4gXFpd9Rq-wiQdKhCZFUajK4V-hxukBLvlILtzwJK27Pa6JmyLdEUqg-HIycIXHIkDSWRnddYQNPFIECDm7UZdbQI_h9ipqFv6Kgq0ausRX8JBFYtlo3EMygI-B07UhFqG_Zqf0_gg7z-pAo448bspHH4VDyg5VQJySLo7YjIFdTqkAFIq6F5XQ07-a-1bGoBXfRMCt4oM5Mvs8BMOcz4QQ8Vxez8KnFlqg-Zj9dVfq-r_PTOXT7uZE72toJSWvD56LhTIPAN-kYWNsC5hJaPcETcj5aoP-HVQf7gdicINfhZPleunoXQRN-0xfzEBRCyxide5JfTi7Ngzhhk9b7eZnCf7jNwHR7_reHc9ik9Lk1T8oAzKPvS07y7WfXH0F0g9LDumUwR3Jd1OuTFezlZYPLZfbo0LBgQ_OJvjja37OpuagPaWkx7o0NKZkcENoLsTsUWp3cPX5zWnazb8FD2TR8-u1NnDYi6BNsPZz0trVIhsnQK0ZAld5i8ZwiFQGf0cRNDU9DXH6iCtAGaOFColLwr2EwhhDM4bVyeKMG1tmbopL6tO0tKl3YOMbu_itw2rMJITjtIMW-tlYKucXQpPpnyiiZ5ueQgoYPnLBdYULmf_RjJSggmK8HRCG-EBkUrtjrd1-E9wC-O1ZCs2DPz1eIbewcCAJQn-I7Md28lpGkcfIcaU0inS8yckGr4gIdDGjFa0G4vacsfh_cPX5u3yjuOxUnK-VCPvI4gGHqTlT5Fwy9yCX18AhVsfnfeRedIHx3gTS-xM8GQu0T-2uojybwr5uGLRR-ffehI-Htcb3ay97mXcKzYnaxutzsQ8XnkAdSubucGIyu6egLqlvhOkTasbqgS6NM5Tm9hsZJxnD17SiKKv3MVtL0-T0894j0BQcol3Z70dZVS-39aCoCE5W7BEZ41v4kCEBfgxaTBWmE3jfijvVwferUjI5ZHL5w3XRpodzH0oTZTLv08grRyTAiLiO1xUa0QS05FIuQcqWer_TZuL_YkG5VpVorzbr-l3rTjVGODcLm-DRWwE1OCzTspZ2uKLsH5YSw23-ANQRFYWt6dD9ybxVDbk6uJdMUMOFNULMBGxOQeuwffekK5BnoemdWH4dNQTlllRVWXkQ8HiUMVWK0k4sfOPxkLDt_SICJ862Va7jrmW7B8KhGle3EA9YPEVTUwc5Y5bA6QyunzUCRBehDnh8KJMK4JNXPs21ziCH0S_dyGCbleUwRo5P057DBvnx_gGIKsyZ8nzOqBySptsspECY6wgTpG-LzEIJ9rkimOXTsI4Fa66HCcK7dN0te12CNh_E3nzOTeULQGTfbY3iIAq05hYkRk5m4muL9hCM34L6LdPt59d_hUfgt4dZn2cFfa-TTfNcHY1POK7D3w8FG95OA0rBpBYVZlmaizfsQr8Q5akDoYCXkFA060qcpPrLRpOH_jDaNAGiFi5RS0A-hgz2nN3ZMsc3eVaqDBtMtmFcAhoV5lcA_zWDrsOA8TyDLNB1kr8G-1e1RtuCorfeGRxPRFYeW-XyIhTIliL-zHaAytSeMr-ogLWnBuoZCY6YB-s-8--ShhWeGuclIZeukAD9RELYCoIqODByvcLNxqdvrnxy3PQSvMDLHr3jHPm9PdFsREEHdoh3dKFQ-mCZvDYSjor5-0zKAPzuD2cAERd9Swi9AryxVRX_ElVsXHN45yslsscoXYBUwaBfR02PsG94zKbo6-UdHQxo1e71dSlwJ89mq2OMGVTXS0QQqRRJvhaFaI0KkU7-UQcw97G-xBmtIe5B_GuQqwvDqwEjbGG3puejeWTNdkFNlQLnNFYOzS5y4yPEohKBFUs1mRxBHOGmqHdd6wwAkpnhjieyWUU1Fydc2jM0MSYFx1dgXNDursQj3XC50HQ0vkudz5t8ZDlNFCdaOI2zZoqDaTnknPlC3qRiBxlrXeGHGuRmKsAAPgl2wt7Um7Xn4TjTqCwoQEbW72814Q2u7H_OlaZIIrTJN3ncEXOk5XItfD0SSISVdxumQSAcxvVI_q_JmApslwQ03Rf2frma8E9T9Ti6C8jq0WUF8cucBpiJKahE2X4kVXnN4xuMNkozi3Fb1Zbs4tEgVxDW21AVuLiyw4rlXk4w2fSACE6Kgce4AGNcMJKhpgSw6X8tQ-bubF2UGVOL0CDsM-tPyUzatvk9-Pqv_Vy_AbCzzr8mkodVjd_oENJgTgJ1eoAyhSVbsTu0me9OAVYmC5tGExiHGHaI8Cubbq-ZI_2YWs0MXnDL9EF12lkRg26ztubThjJo3eZ3FKX1MFVFyIwVmWEv6EfQot9cP1G4YZeBvjDH-xI1Mti8-Ra6hKvvPTsoC22hDaIXCrHAokJhEky-foPXpdJl8sheDZdhjY4bU75GhuUHUJgxqLKUrlUBLkBVShQnCPd4KfdkQumnCM05UdeA8vyc_9KL-nqHSUoEfJUYO-ygM2sUUZJ0xtEK9kG1P9OtulSuc4c7TTuswxVbCeAN2Dh4Un2By8bcUMYWyLA03ADDoSLjG-_KGjWe1Pvr5XPGVPVLGFIeYwAqS8M-9WtqRpxoRbmBrulekykeYlg6ZIhKXI_HSJMHCHNffGoAUgDMT772ySvlE3xJe3MKF5XEnIwrYJzsXwmK1MUWJDT9y9gDThnA9jzUasUskiFhYQP7odspNesud3c0an3psJyk6n4vGL9nayfEF4QtUkg7kFAKB7BhavZo7G6J8eVTBVKkK1-fpulprn6A27j_vteEzdk48W3co5Le3YRd2Ekyf8YeQZIEap30702Yi86hYDtxDde5wtMdxlHZccczP_QHPoYP3gba_BhKxUMjGtX6zxaxYW8O8b9Qc50Oemlj1zMcrqEeWnaZQ1Ig9ZZgzQ8WgOgj-l7k0B9Nb2O7edks0vs9822JLc8qTp8cYWu6RrznEH4fZss9u4jakmXf-D5URPRO9mdmEoWAAeGS8wbcBj4AXYhRkf20-a7x72cFCdm5mk7mVURjt8F5kFdPkLvqjvOOtTI8B2xEs1kl4jIFTQxlwDkS4Q3ENmVVWXgGSTrKHWe6RHgphTwvZCXTLSr-ySb7dCUpP-FaLYGpziCwUTQD8oK7boB2iGp3tvRii8NecKtIwPpzvewsmC49vYUABtEyfUpNVKFEf9WmQaEzqMMoI9yiaaPwawNSc1bEzWqa0D8PgUpRtMqzhnURJULaAgOaeOATg7GAhiq7Lwg5KvEDBWpZZtG0_NymHODEib0QmHMSVaNpkAypruJUXBjXD870rlKw7BxFU_J028EQRo1vOmjgvPmAqOYnNXMZ2H_LFyfSMMmpna0ml1wqagi0aD4v5wxvbNXK5PoE0pTDby7GN_58qE1cvxtO3uYwGJFtqhh5f74YWnRDfK1w07d5q1jFPZ27tBy-JLR0ereWwybIx9m7ZqhbXL9dF3AkCx5VjN22KMteCvD6AcUMKJr_Ij7c9rSmrP7aHVZnIUypH8nFes3-cNCle-PJZQU3HqRhNWcPLPajARUBFDt9xkXz7Fp3Cfe1W4DyT6wj450GBGNW8hMtiHHyAQekNUkksmRgKAMwY3C3FHaASJOXRoM4POj2vmcX9VuOMsHIV7M2Aoam052eKOuqZ85z7NLhI2ev_vzaBnddtGWZ2Vw17STlC2DuMQ0NTO5k-vB95lF0ub5gfz3PV9VeZnjwibFm1VSPt0fVrT_Bviq6MnpU97yPTHYL2W4s3Pb68O7do3VhkDNUxATO1lecCI4ah1eGqoqGcTDP4vJtR7ZlzZe5dJvb6KMBScMpYFX85qZjl02xh2nlV68937RsyxIsws527tFv_NExCxPsQJMd7tcOIkw6_m3SHQ3RxIj2RPitMyLqYb3jXmX_DbFN5Ib6XlgOaqRaxJyHBDKCTf3Crlar7oP_t4NPAnQ-geDOUWEcr3IwBL0bfpQEDgw18CFv0T1rU4rgbCGeE9lQvz576xqeqcIPBIw3qM4GqT6Bv-mzu_vgdFqWAlqZ7l11cbpiZFKjS0UgsmZNiFs3Xh8T333NZWG-WU5ShgBDzpKeT87ksz6QgPW3C1_q3fekN1LndVYawl5wLpfqfNBa162rGc_-DDFS-HWQd0UoWftdP7Mg1f8pnIZl2YfWDLRd3oCgijUBywA_d9xa2Hrfs25WZUx22DbcRRRdDrf7PzGKD9zvX61o2xhmBkSpGj1s3I6HP0AaBukqtcrP1B26cXroGzHM9iE9u48EQ2jCUfEquLi2SeiRh4U2AlICsACT_D9MW36GLMHnB518nYgOUeqApduI3duXYB9q7Fwg-vekhS6U7yrZp1JYpT_DAH9p2vQAAGU3P_diG1tnIvxIDfmJa1o0cyVpdfXgYc0CEb8SiUUeqPCeeC9qgWozHd0X7ukvrLT4HGGr5yXt4wn4G4TnTFYkY0no00Te-vFy1S6JxNhVFw2GKQPcnBXDrLEXger5G5fMBoYo-lzccvBO9qfgiYbSDDVAw4YtlK71ySoA19idEeYmXt6vvDBDQ-7RQA_uoOED4tIAKPYti37_fGlmsb-_VjX2ey_x152Ud0U0wz8sVoEt01YFWmHGfKI5_xRAuFzWra_qtvo6_DqyOwDwmLra6GuGrnHyse6tfrSd6sfEnyWECJ_NCRDK6Ch6Fyc-52UqN7tn92O--056YjahzkKZbkZ9V32SChlyZ3MfonslJCFMfZa7HKu0KWzzwy_fGKa6qzA1e2XYH2YXPb3bmupAk8WsRu9nwIVmPQejB9MNuShUbK-UvBACkCzSLLYfYA8a7th_B6jD3kXzY-25pYm5OnkJ6mgDWEh2cKdy1eVfsYMsAJbazgrzbdqOzTmq0NEY5hpFAL1jqIKuF0DyDsfQ_iPCTUcNEGMitWOUhBbR6pHiAOcgLe9e_4vln9wp8NS2i5r17eNWQWtW2BytRWxJczZu9eENTAHssRpvck3vaJH-WRwj43ONHoJdMrtqjAnex6Hr3m6ppROWVUGD9WWmqwFtzi7WyoOtfwxzhhvI3VIDKJA3jEOjaGi44bcKlvNc1Jx8DNZgyk0jOny1F5LG-fsmNx3lDFbzpI871P6FyvUDCeZzjGdR4H_U5dJAfN3BqYFK2ov2DuwDEr5NAY2LwjBUFGyoAwZwIj-oqacapmckyakqVRFlqT8Nesbq-ABGLlzDNqVYB_UaeZBzwbU13BdyM1VcblQqOuCp4njptNeWZji77U92zF26cRfzImBMqz-1j5SmwESnttyKwm9EuWH2h1Bz2yQEj4M44ekoBPCIw1vI7INjskOsP7nJtoOQEjG12icIHraagQvTv3lhg2TZQWXFrV3OeQENbyQ_PZd37p8vqzzqkn0D7qL9M8716JjIwBaHxMZUiJXzfjE9PuVIGdqTSbMoK--vB8mQJR7Q4mnivLUXNAj_MrqNlmrLii_uilj_fDDqrO7N7sHs0lvN6g6_kvDak6M_u269tLoYV0iIl-k-0ZQKhWN9BXZPffd1FuFlUGyMzoIVfrlwJnI2VlbpffLjyqVM1vCoA96qO5RqFcFBDxBBj0KsXiW3nBGMFP_BxKEVxi4OceG1kDNV_CtsbHkaSzHQxaMHOm_Vjg18BnKDj-nWEVE23EUTPP4C-1uClJicPiwxvutRezNSjFulYBVqtyH0yQVLZF5fQMRgZjyzxnwikr7sfX3j1QzjCDO021irrAbHEo1uZoJ_6PyeNT3Rjcqlhaa-z0vr8OO5k_tyJ5jCGdhKEyok7nhJBDZChhSONMP6_4GsPGCdTA-Y_z4FzzEB82q9fBbrZUBvhuTLy3TykiOBsZHZb34-plBlonHK0yLTJbsVw_WQBLBi_V0T7bzaVdTfEuju9VrRTjzix7UP2l4rvRLKtKZnqbT5wG-Lrl3lwoRavvM959PXzjPSI1xyDVx0pepn0EJQN9Oawv99zvZ2y-VEJoyyi6O8KNEyQ7yLr-S-4hcJaI-LNI-N-yIGnWjGpCxBpn8KWY8V6VaAJf7OT3EAUzG-mMikYDbBzx_ZsSTe7zDCbGocyEOW8n92_KTXxWqbNOR6aWeLo8R5Ci8H3uBCRcaENBQwzTTwpYZDrqJwXbT2tgo7KI8RstCbgMgNxhzOLFLbiouULRT9wI9s5lt_cRZjX9-WSvIXA5lFRguBg9Eyw8BO3E-G2JxV5CKQX3bAevvALh6OrlJzPdGZ252L-UK5wchaVRMSbihL7TzYe5QWQu-lx7RY_QECBZVf5wEz0vWtUy6RaXN_o7MbAKfOVrJEeXw-U4z9D-kq_SdjWsBNBfmfelz8N5uX5hVQFNcDeMvrp8ZEkbMQClxg8UclBqyAEjKjLoYdgCBTbYVQxgQESFXLgk_diAKsQCEIt50gVR6EEKFTsk81wWJ30KvzWgCcQC-LPWsLmB36nDqqqhe_Aa8FugnQp8OPkhdSyxlgbNvaFKo6xOI24QhY2x5L9K1-jHJMa0WTpeYiGH5SsYspv2kLuO1bDCqgko0_5L71lHKOk30Zr8LER1zKxgymC89LC7kc8ovdoagMYfUX9ORva1xilK-Icl-XlUNjYk4tjo1Dkx8-yvXb3ljWb_Yy_P-YqQA69iiTEMb-TJpjJG5_UT0a2Y6tIwtTsP0FDLETerrniyjKaInxgVWQ3R0_XRxPi7TfszCI26mJZZsIbSFf1lVE3RGu3qhuiqgxDPu6UJIhF1y8geybezKkYOE4vnUiV65Kdx69Vt3PyBGarZColLe-a8K6RgEO9zF6tNTBBcieaBEEbq0deWeLgBbnzgr1d438ELRRkPg0Bt86cI_yEBlbd2IEd1vBUAqbl-hw5ye9M5GPzVEznSedpovq8ZnefPtgHtya9wwHZWCEqWmJ_9b0y4Zqhqu2Zg_iZbggz9IDZf67cf4nds8U2K7_yGoBZwlIFRfgdJ8oUMYtyXfkh2LR3PnpzkxiB1jNrdZRNRMqBxQxQ5w1ycEQEZLZ7QHxaueTrFgs_u6Bfouk_PNcqzF2rVHrbR0M4TzQwpPD4JByQODegl_Bcmz8CMfA_lcVZEGWjuAP9h70WNW9AN36Oi1aMq0viRXCHUIJxJp16jsU_a5dRC8BPd4ii1_fE-SjNNJ5vJqRPP06UvfBaN3tZlpG7v38lLqItXG5HLXiP29Q9H9zGd_20zy2C3SP5pzbiuHH8uxvzmDJGRXBT1Qt_F2xlm0DEsmNCWZYbDP_mYkRoYqJHESpMh7AqI1l2jihW8GiokHYyOVDrYG_ynJNbqyWc9kBJKzD3BmhKEnCA7KZgCwQj85S1ZqR2BapPdfsXiJIJfgfl6SCMmRjPg4iXcg7jlFrnGwUMKlj02lqBGhliXJsOGmDiez_qVy0FNDPZEt2J_D-6UdZs1ThBQsCWGsQlfQCzY0W5-xfYaH77BAO2q2NUr-DhfPm-OW2o3bLo8V9u1ZqydmFfgwEWZlMskRI4DvQW9bIa8Ta_tNgGuJtsClw63Nmy8AG7j4ZuzlomXNdUNI-8MQ-ztRT-IB9p0ePUGqVWcB6zfbZSkzT3Nkgwuo6TII62nNGwRweVzKuYFuOoGWeZ3WbzD9F3VfYFNQ84vaMmcgMO9IrnpknXqSCIaRDqVOIQSKkAoq48RZSoQ4GNdfLkGCvrfssLcPrT8IieCm-qCdgK0FUtZdIOX2Uzc9SuzDcordk3AwzVqO-9u9BVgsX4EmaCNNxCVewFqhS2mnyG8HAxx53_m4bPFPHWGVYVdEkzIBE4YwHzWvmU_BMOVaD2MbDLmN_VIjVr-P7YAwdnv9edx-Xb3pqDLI-zYV6mxn-jRtF13TioMBmF6u9YdMOEQ92x2htIKgju0JxwCPNW5Lbk-u4PyWX3Dvt5NVfBXtjd7PlK132Rx8d5sdYs0Igiomw3CSa7T3dtXXGgVKz1aqOvRL-82U54dfi8LHhLnsDJhWpHL0xRZJraJ5BNUO8zGGlD-loMe49GeX8ls0_CcVgtxFAniCtKENOhKEB85N5T8YZW8Xyvaqbqi5zPm1SEzFz7yZwrM1Bg1_W0ipbx82aaspI3uCzkXs8XG-iPSTbZkzlgZqhpy30ZPJfnjb3Qduhu8yMKojvtDtBd0dKLuilCaJwSI9DbBQfpTVxvrWeNMXGfP6bi_SiNFYp76tiF8lNdU3hffce-5XCnsZKhKN8mJkBRXjI1gZ4hLDxB4GTXWV1K6XkJZT5t0h24W4zOgHEpz7RFuNEtfw6uj2CoOZ3suMbJWKopoVy-ogikXL00vBS1OMTe-gwOv3XXmaXXHn0DbGWr-A2XbL6rB1tr3QYzGS_tgZSv8PG-x3LMyW7L9WYVDGPtMIUKcVNgLiTf496ztqVRxeqVga1TVk81bYjtX_ZweVLVFLA4NuvG55jeJ5ZxEnkvTABm9nTOlDhVdCK-wmtOq-rNQPgIjmWlWzquMHPr6NqgNYf1UaRe9a0hpnprklQ65q8IVuKUrSj7UfNpLF-d8DOSijyyCrhUhXs6rfCCXGuawOY3VYmFBnCTfkEtqX7IvQ9RkOsAFEvuM2B7ryoM5-4SszPlPtHyGPrEeoOk6zX-4Rokbvc78Fwo2AGF0ycfTvyVL3wVbLCghbFQS3d22zsItKAsF2FnAV0VJnp3AXB9tiiLtnRTBmx2WZ2jQLiiejqC3aBdMwW7pgtpxd4okjql3zE4VbDkrRV5Lo3fRhXvTPB_ExikgpyW6mISWz5JRdLxec8fYtp_1aHLeEDsDdfLNetuWBF6G0FHCjfoicZKPVwpPGpj1Rkonku3cJxCn7NWLNHk_AtWfRwGKEDG7wKl7hNpBG4OiepHYGjnRJ3uThFma3eQhXegdbNxf6gKQfkHCsScRLNyWLJnE7N6flOUWosz4A0jlXiDaw33U8hGSr5zSf8BtRqwp6b2-QhTK5R5CHWOw5DgCGt4mmK7S_za5vWfRTphxO1kw61GJ_XrgU9Y3c2NgUIRIfiWFRWmxVOYxxCSp9vFXovlknzvtE6x0yU-_iPOX2Q_p5THgUrvnxy-A9Ig_l1MVmzCkMXgE21XAXpFJU-iZS7Knvqlah1rfiN2zQJh5b9Dy1rU95cgxapLoEv0xkh7k5PlwG35sDa_CZFVuvqhwYsCOlXYb9CFu0eWgCzBEZY37hTopNKnOaqLmHVaHOS_xUA5_qlLF2QSNlby7yezJuFXEZUS1VCe9OdymEL_mc7uYFJY-0bTz_TaWA_m25EDwLm-7eJasZVzXCN0Fs3LNQW-6R7Eqoy-OfKWDr3tBFgLe7zGsgsthY2aGEjK3jVyh0YbUsnx7pTDoz2Ptqr57qrqbmTnPJoxWTUE87x-XAfPlOXR9zJh3sQw80_OUOR49QJyu2DmFuX53Hh9J0fxMdTugQSdHONm0ZdgQo27DM7h7nd2U4Deg_S7cF2Mh8cn7BuaEY-WWrN1gfYx2XM0c4ran8UuURC-Id_N_JI2IkvrPS1n7N0uEvUfCu0b1TvKdymgM_SnCbb5qlQ1atAH-kDR4cZfKXbMtkMUmuFBaDrAqXqgXIdieYTZ015JBnEYKkSmfHnvlvL0JkkU8MnyOoD6C0PHBtfkvz0xZ-kAqNKqV5LbGMyRpPtbwxqZlHOojGHLYKgsMklzsuDYeDYVBIVoWA17Me8iZTK3IsJSmtFXopESuFHe4__puYfz1Jyum-_GQkF0vFtFLBS_6kOqKYvIixajzc9iFKpS2yVMAgoysXyVa_lPET2XIkRqvdTt2UM2GvbSazeCPHb7gB552Ha0Ovt27VeBDFYOulNpAaU6V9qZOhpQsD3Sva43ibE5kjICj0z2LkrwB60wU8ZWDJhnqTHdTcLDFcChcoMGXtLRxaZQUf2dnu0XZdVvxNqAKqJcywu1hioekR2xjhLssVsudFM35CKZy2K9RDeOQSGPQTkpLjyn-TxpHvr3GwxpIm_qmooFfchqPWDSxSHec1eYLpkpemQw4PVwrxYC4RDuFGFyDQCuRikcOkKi4jYZMIpfKCkLkkIetoqZq8YLaKubt6yTb18BOw9Ot-YIV8dEgHR_riPxZBw_6b5iC_hvVir29PDjlKsraLDODj4H4wjnPPNh4IhPGhiJHERhx87gsFLTZcVYXTHLRXIP7ut2RNnivRJkX0bBaSxD_1sWVkJlBcI5ZujAVLlMb4NepKo3_Qci1xyjMD0CtM9wZrvyUTjsEIlbVvrH7v6wXn1PUQg0W768WKFRuDP55RIkg2GtGrgIFJpLW8jdtbfLHzmad1TqHaDA6jRXiv2ptYXYdemoEqeAfM9W2Qdw5epqDgX_qTbMFwdP_zoVYy27cLemp3j4HwSFDb86zYM8wx4Xk7l7SZP6ej0qcLK6D72d1bAXWiyUw_RYbom24sb75I0PgJhggnIBy_brdn-_8Fwxdmy4tQ8NVAaR7yjnIfIXilh-v1K_lIPTQ911k5-bFxlChF3Ue2dsdmsSTSwHeMH35O8R8ZmjXupe9yfKGuLH-SRcfRMVFl_WcAH5mI_nG4pMrm0AIguN54zIwLX1Vl9Vz0Cso9VLvWLzWXeXwhtcnrfnXGkyXTbz-suMg70-7nvIJ__ExDeZesM98OqQQHKpD9IBCCWn1O-DWaszVvFB3hXYoZK7x2Jk1FrL8p-nR736j0oUJzYTsI7f7gwg1qIEGYbzj2iCM0E4wZb5wRVxxEdMW8yCwTZ_Q9GoEd1in8huq6MSAZk8k6dEvKKojVlpnk9Tcz4dxwz15hMRkRHsgbnS5Om_5vKc2JO3KLSf6THRAwDmSa0RrAfr83f7SfHpLWkwkaappIPW3v1Rd32Pg0DuxD6WO5xQuYcmbr9cQM8H0wL0KXQ5hUK-e3VxdG3HdYcYatjdjuZZ-R8G_vT5BkFcaVdQgI3bmbn70YkyzI24djXwfbgRkCboFSCFdhr1Odd2Ivtd9sbBtjOLmIIagXRuU3WdLGJ1JAG13VuwopQABx5oe5dmtYC-RUhz4fYDjmGay_Hz8GHwjaEMxmqbfqpyhyIWR8xlLgVXbwRdKZxBQu8UrndnZObNZIIN0gGkbixCJk-TTwZdOaQmazdnzkDRWpxzqHLfCzGNm97rair0cfp1d6nYe8xnEm17RmL9IlMkHdfImxpWr1XjcO0bgjsUfuxFcrr0cTIW8vrh3H9HxBYnnBht7_oj_oSOLouqNrwmACDyXXlIHl8pqSRlzLsIRUMTFlmes75SyfwDTk0cu6uZYv2NWNRO01TFdWqzrH6ZTW8zn1FGDqu6jnDcoPP_uyfpy1sKS6CJpeMi0U5-PAaOpNIB7miSWH11JOVPohBMEGL5fF-qwMacPjeKLdc0x99zS_jvQ3rlBMr8D0i4TPE5pFQN7LXLqGrIiGZ7LG5_01AADhEBcBxZONSHAgMOMp622m3YIAX6ruWWkw0vKrkNcreAzlHCQ45aSMc1muF2xkUVFMb_fk2OmJYbedNrMlasvkHRF3R-QVjvu4koTUOXFLdZyrUSr2ujuFlkVktrXfo_i4Jo3LO74X6jep47T1zL0GrxTpp4hSPFCIjafkmZnF2tM-rJsYvOrc6sNd1ik-rHJFdsjLQzAV5BUgR0djJ6TK1mBBjs3FAPDQVW4L-ZxkgDyCDQIuPYi3EkLRioCManJp5wFAgD46Xq_d6cIrLQAzIYmc6JenlirwrpgEa4IjH7yn-IgPyr9lsH9S6P63hrMiYsUXhA7R8V4GH23FSNh8_60IvLNEru4SLH15VftDyXVMKvGcwzZiB3jPORUYb5qJlndAw_1c2RXqAjLyikyqokZjpcfWXJTcjENYRhqGhPFLd3QIhCw7yvpNLiAaR0g9aK2AM2Z5de_9zHG_igkW1J8sXTEF0DV68hHj9Bghdz84IQ12HbDNGG4ykI5yLp6jVZSqspSVMVpQp-tn7vo5hIFIKkRMBD33fq-E9eFRZs2PAnw5znQJNaeETYySVm0z-eRqj1_C7HZvbkwSUrlvqWD9NTZXF-fBcIRCADysYEFP4OZX9QdCQIlxYrwDU9XFgKfd37uzjdoZYHXKsOdB7sqMtabWXqz3te2BLjsJcvAOsHH6jLacfKB3SSSUkK89xQ-y2x56y0NMTr7BymjdrgEQYm_yHsk1p8WPrdCFgqVfHzgXIVzaCMd2YqH91FphVVw58mw-k78vCO_utBr7zSkPgbWCZU2jkBB_8_0sfdn7gvrhTxEuBgyV1X5Ucm_nBWiUfLYAfjf4Tqf00p6-UJ2axscy1aAuURxjUBfYxV4ZySWBY0ZsrTJpgLF0NrENY0VS0SqSVwqa_dKv2YN-M_oE_i5Q-tFXIZhPcqFjNo6epzyCa8IweBev40CKQZdGTKRpXiQXwDJAB6nahsDA2SyqXRS6NubPXgWPJ-1BPo2-db7-5tIwl9lTwUc4xeDAjqcvyJgpjjDOBUpOtne7lLh_V36TR2RH7MG4rkiJFXzMTvrwIKBjzHk3m6NFxwLII3qx__1kaEIpPTxkzSNHESQamRCcMfD_lsyEDSNiqZT3FVWSXlHiA2rzeRTtYm47T-gfrUY7Se_RMPBYqp2lw-971Ei43tpPc_A8Ki3WK_6Llz1MdcGRu9cu-KL3n374rRhRcMxAW7uapQXF3HUgmbW5kCVDYR2HNsCpEyKSDH6Q7znLS9RUpklWtagmYh4z1Bf08o0Kes2Y1Q-g8o4qqw6bh_4XcQ5atpZr3bHDeRj_A0TclPfWbUH9osFtSmNP5e9Rqg26VcDXTsK4HKZEsJCBgrgC2k1UtbItz6pz-Zpd8Umc34SfZ2LPnloGoQnsgLiB579Q4YEFXNJWhhRgp1K4uSSOlcuxF6MMB3ENV2-ALSBjUliwxUBmyrcuDM4sjiskFRMBCIcF7KgtTFnKXXd4clr6MOcstTJR3KjZOl_PUUjckGni0lS4S3lJJgedLZU41S_80K1yjCO7yiACn5_25B1pSUbACWGSnJHZN_9tbRhZuSkZfPYtoBgqg_eTLnWdz-KzvgHOKYmPf6Q_U63quXDkXKaPO3jDZ_6x_xWtzNND3Ro-l3-2IbAzMrmOv4yH9mIXv1ILJbKqb9ARdyvxzhZqPfVOrwTemvxG8QXPqLdvu3PAiEWzso1SrVQEaz1FL2En5mPbjHSng1GKSyqFgDY4PsxgNr-Y7Lz3Z-0S-bcMQAkOgZrDThqDRPcWqUskjpQyqO7ghrlkkIP3JaeHuxmmB5R8QkXSYwPYnUm6ESosk5-y3JJJFjo7VoPRIwo6SgOnk7sZEi_flWLGRqMpP56ydxeLMPZwGRFqGdrpxCIq_uvHNM1zBK2ogwN8rr_8cg_yo8ycc9u1X-W8Rz1AFiMgjtDIlUbbaEoMDyedlu0hzK3Qc3dIcBSN2ZijB_J4Lw39KtoTWI9_6-6ceWIysWsPuyN-5xy1H0A0TgNVpFCvH2AdCT5UDGceglPFx5u4hC_IwPyJxxWnzGcsT8iBPOXoCZUwLAeYKm-FNcf0vkkXtBLtX4iwoADX8IGcAFQCn1pBnJUlNwK2Qpk6ojvnyiRIYA3Z4iX_cbP5Yb-SFbRIa8qu59uo2lllcKz_cpXvVdC5vxLA1PgVKy_F7pbb_Y-MZ0ttcTcUVSqU9K_j4eIlexjnMaEZCQKl6X5cXzVZejL09bHruPbnL7e30xWaBsKrdKeB7vSGcWHW_T2QVjbBaDmgOQXPe34QkWeqWQlDl1T91oPqfHdNBdx-oVe9Xq07TfLUj4pt-wQt-G0alm5ET289P90ctC0FcAkrFSOoE9LiLhi8fisOyDz1vBHM6BlSa_ukh1yAjKl-UUnD264OeNamuKO1cQlOTqSIbXvRelAKuWCZcdtCs6AEuKVDr68gLzyGLTFOW1xXijQUZNXPLYs8jkueNyxob8nAvShP4cAeG2l9OgxM1ODqyGqZ-H4v3ub8zgjKhANngl3dWiT6nkWr_9boQI-er0_Msgrn6pxZSIH40cCWyHG9OcW8JnnfgTtFm0f9BOEtJ8RO24iW89puKK0lVE6QdoF6rrFJFalvavA8mOV-prA91vX556MR1swnNCdgRKeZaPgFSuLjtMRs5CY2dudDjYvbSfPRkVJraQSO-KMnSdJX5I3xNbmjXFfImrtYKUecPcOzFoJqBnqoG_8p-D5Sjrh1KQwfxLWodNFeh2cMEAO2OuUwWb8HQ1VJHjI61Di-xZT_MpI2yNge4Fv4uhTgQ0KW_LoMoQSx41OR8iCFcCjI5uALhbvnVCtePazH-A3d9v5vJXqlCU0EQlLNRD-gP2Wrv3wCWTd2HEczl_s_aOW1TZKhgORZrE7K-arybIQkhHmtK5vEewMDX0WOxxBXiD_Xwb3g6IPhgstjtrNeKtTd_Db-m-nXOqfRRpG23hyyNMdEOtLOyVmGI-oXg-NIgsZdsMCud9ILd6CWBJzmHcSnXjbJAA0pXbX-4l1enXvXyBf76hOw1PbahaS4QKb4WUvZdaJrXowm3OFofHypUAP4HL39bYnAoFeRLznKpmJETWYKmdFbvcvLskPVsnDFzvvJ0eJR3K7_e9Qs3NFeHsbsLGp6bC-tSShC9lzsOSX5qtjmjhFKV82zCsUg_PuihkSkkCwFqzFLvFL-0B5HVe07upq8HMQ3LUChYbYJpw_Aog_LqECEw_HhCeIGckncmvb4jW7ilKXpF8MHA7Cfl_FDTmXbkaECVGHU-WG5pbiw0eTd7gqVMBNCJhdQeupFP4Sk81ZFX-gKu390AJtFEkw0VXqdG1MCvosNQOs9AYGJO28-68bwDWWG8kCDrwQOGU5ICLo3D-T1OEhP49DRrSlHVV1hQAlviMNR_wvpb1EZHJTxUjpn7ZPBFIxmh3Q24qbUWcToiMEpUe_6SsCL4Y8XHGQ7wXsfeEmfgKQE18LR32K5imGhXL0qZiZqfm6owmsLxMiWqCsGLD6gLDmN3nhN_zP6_WzBzQcbktOVHp6Jn2LNnNUU3V1wGjVHNpm8dqG8xUYbAFH-PIM-ImDYyqoGgTwJhru6XwE4ITyQP4kHtkDvtb1SFPDAQRnSp-oW9_eUuUTBdTn9IxB7LhB0gdacAqd1q_hnYtSjeXlRFjNClKlYCBIkhncd05Jmvod5HWwhNkBhdnru08xbps_XanXioGxZobWRJTHq4IPnm2-oEEWBSIRpjBbG-K0aS00PvyBcR8GqUNwSwHXCKHroZaQS30utkKl1EFLMLgu5GVUfeKgwqwP0enuIsPjusUXIslNnbu-f08hXGb8lwhtck6SUUAwslAnVg3-nS2KGuN9qMwxi2TVi31El_PGwMgAVFe3bCTBZR4K2SxqZzeAszEjxN_monTQuIdpIeF4XZn24spduplgu7Y4nJ9WXSJN2clnCenq66aQ-TD42BWnBYQbsjws8CzGzrY5m2s6EWMRM_Mq8o-qzPNptNM-i0-40ksJfMy1mU18CFUBzKHyjQbLdo77jkLcubajpbCGo9FstDJBadL1Afo5AIIViwr5BN13KgkDHgb3XzHORrlfDCoPugvsjsoP6bt0xIStMSmLzcIp2juz5aTmyDJ_ojymoEUWyNLDjSVOzz4vlQ4K_y2A1D9lgDscN_6aplOvstKpZaU0qWqhKc8YWhwwd3ZFpZN1ft4ynG7J-qw6T8Gd6X5w_S5WttOJXxVXWfBV_xF10wNBHOwA1g1-do6T5y1CP2GRcBt-q3dHEasPUeNKImDWGiv2auGDYpxByoyRmkSXmxkv9ieek3VQKGSpkUbbGHJ0MjaFilnMSlVWNvKdnuoNn7j7MBR_htDp2EgginE_IuwaAe5Vr_MnweD2IseFp_jdWEpCWRAHU6KUSreQaA5CVpOSy9cuG2sptahYAJ4IDSybH2ElRbwPteZK86w5EzIx3rjsxUwFMDIkfsdulTuqS4raIATRuydhVINP433jttL5HkoNpnGmOyL55gG6kfBwSxw-3eB1RTh1sCUzG_MkVBbox0tveBKpIQoYEe8tDaoTK8ppY1jvvT4L3iknOa71iPWnnI78k-gGE4X3UgojJx6UUFN-CLW3iGTEGOXKVBWWIaZ5TFrCMEvNejI_-r66qqqf4fOCNO-NpZjViCQGeEnAOsuswsnMqi3gGk7A26IF5FgVVq19nSUSS4NCBRti5BpbdQSjhYFDdO_KtZLcnOZ5pElqAEjZQaSKC3WiuVjX3Hdq1kle_E4XxzvsJYgA9_wUzkenTEm5MNs-5JSBGJKderoEC-XFz1VUmUwESdcW11zHkwE3lBkyl-JjBAtVidIDbdl3GEYvvWv-aj6RBxcR889MdD_He9u0ZjT_NUPaBOIo9hfpyZNIlWBtuvokvQi3Vaa_qqOJt66Gfs6JNxGh7nrLJ9aRid_3sS55TlGbkdXVGBiBLkdFnxbnLGAWM2nqEadDF4auhG3sgibRy55Am3NwSvAV0WR07JhLE6jV8sy7uVY991vrJ1IfFmtSj3U7cLQl-77pMIUu8anWkVcpGHE5n7CSX0Jt5FnEhD0RUjxha6wyujJH2dK1z-oNfW0fcNqajme1BLWF_CWykvD3zmhx8YZ5n2r0Aih89BgBs7mUYilB7YB4QOO4hhDEitgKxI31Jg935JYAghp8qCDShkPJLw9wacOwKdhDd9k1h_JywY1z-6Wp-MLZ0NkIqBl2QDj6H8ELoUOPV_c5GAa3KZAsTO_85ajQEBzFcoUpyyAbbhuhIZKqghqU6SV4cPuwWcZ0s0GEMFhgXQYiXCcSmbu6Q8ZrapY1KDu7iwMzEj3hKDvqXO30WDnJNCKYVhI2SuyOHfAhtKZFtHHWnepFtqFVtIw2jft_4MHnEju2-cmIzC9k8WirOVF1KUI8mvbeF4uHU-59iJ3j-2p0Rp-agjoJB_rIBHm6MZkvUAZQWONX_UY4BG9xmojmLunuH31EzNSt4wodKgnvRxlP91AvL2lzNGvIaSfVMVn9JkLBLAFWo5_EfOqxv0Mny2mpOMrqEC67YmAhHNm-6QVcpf_TwqWRc_QEta1luiWBQdZ6AboGTXwg4G19uFT_u-DQ6XHXssv0InO0QpaQDITTneUg0SOg_2coU0rPWsOsKvJlRkmHNzQKKcVl-TywI49gAfI6nUnbMrwCgColc6gsxgBupJmrfDRfF7tHbYDXJngVbyADsFL-DopJoBM51_HHzWDsjOCG45ORcutS0eGqiTTaq370ZI5Gxc3tqvIBvRMg4WNLyOz_r7IWHU8Ht1QKk4bahJcq_Oa9jF_q9DAYeixZOnC2J13xBSnF71778ptSDFSreB4Lb1JNT_F8GrMId_msaepanfkaB1uaG9rtz_hs0dJ55SYtlBrawEnHhqIs8SKuOg21s5y3RJqj2GzIoOJJ35zSIiuOiZllBrQ2nKfn_pynmpo1bgEW-1b-ybu8VeL4AROquTyUWS6j5EsCnlDz_htIOUl7Rhqwj_Rv1wgddgFAiADnixQGLKSr3At6welTWn9o3BD3EeD5k-9jc4vtIgr18p6BAfuTyoBUawRfAmO3fSCMLQOVV890FclFdX6792IvXfWguSL-KWNBhksRYtkPRYeJ0OsS-nKmv9BPxtXnGL_tePdswDHHqXN775EJLXJn4RNEOeiOjE1Q5uPSL6iXby4J7Hzol_350Mc5VN4wYiglEAKOm1Y-HmYg-HoCOfeDEiJbOV4NtVSglkXraIZ3urBdyzLuDKuW9MibQgRZiyj4OuRYuKHim_yCtbDKw5jKK8B3bZNaAuKkAXHqkuQUiKrj-MUS1FoUsA2rsQ21lPDRiqj7w09d0_1PHe2OBDxVb9D0m2DkEpJT9Kgg7P-4ZM5iykf-2vHODU6o7HHI-bA1oD8rck6fRJ8qjzBKrKnWJRttzsdRj8r9EhO5M7XD0E2fFGZfDli3YQwsmHSze0hhtWilhvr9N-5vC65Z-_7pf4RzddRdLLtnFDb9DDNZQpFs4DvXYVfjoThWgvG8xxsOPrRKGr658XCYwhZKaQV_2WiaPcMQFKqyA4cSVODh36_RVFFPRABT3mymMuzbWmq-6CGH7ro5JGFCtptsr6rhAbs8qZzLUhBE2rdlyTmIGpMIPVUQjW1O7wXVhjKiyYohHkucOPJiku3NLjGWPCyyAEQzOzvF5YzRFum-oeWyanBo5Zh1W0jQ86xZkh8Lc2PJbvLMH1ebvn8voK9o5sjTxHSlwtVpgOxAhiOEi52krEWaDTy34DayjHSUVg2H_ermO2SyCwndM-0mYcZsyTwqDgmmFZoDI5kbCccMkcv_ZApI4JqdCjzuJFzFp9ijkErQvpFMe2fHrde0rlUQ8967r36a8-fikCYZl5jiqphfLB_vFykyjj3a-i_G_OjtabzQ-55f_SkdTZoqNCUJgtYvF-K-5zLKZpOpNPrdKa0WA3x08G_hf8fLoW-GYB_TH5xYLyr-cbPGwh84L3B2cu6nvJQUXWKzC4Kw4mHbKxGpxgem90C4CY_vTN-QzIqMDrdcZAKYYPfioOUfKW_G32LAyXW3iScnJSmcXAOlxJ6YCw9GpCXzwy-gULQ47aDrauxY6I_DKy-y0pAitZXGIyiFSeCrsLG1JAkFeHTBrTElxazjr-bA0amZF0y9X7IJhdQEa2RyOaUGGVKpWbdBdB9yAwjqA50mBR99HP0K-4ZkiZbo2M_jQjmH2eikdhliRzD-fu9tKnyn7QLC-f3_ezBUZho956IDq4fckGcnpRft9ZvNwRVjEs8iqttK-HURU05l-qCq_2gMnhWlg3LhcYaOpI-oBqtVJjuaUgRQBA3B6JyYj-YYSqJ1YI8j8XUCeuxpxJE2QmKeBCKjb5qgDYGuoUjqOMOEUB178K1NqwkiAzygJbav7gIKI9RfzdLbMNMBer69fh5uETtN_bzDqGJwH_GZK41Z3KHvAfKOZq4aTsFXZ1Cj96cVYCBgdQyhtSPaxzUw9JryhNl9HUtwdBgQMX8o4820Y0CYchti6hmc3_1kLEuRSXxevEkiczT2j3xvWBvfddYaFy0paH5LA9Ok4MLjjwX3ifeXZ4IlnWzyVWkx4M3LSi0bzD0G31j-prdgMy1BKBFsTZI851wAFyB7UDQUGXzVRBmm86_Sey2m21wHyiiq7akC1CNWnP2tTnUt46GAvmK60mYGghsYxogKWA-e1YHi-WwSzvuoXFgN0agvXJU2v1aIUCnyz15Qer29KL738bkLUHIaEewfg4SlJ-PSuIlxfuApmeLVbJvOzval8GnXYUZ5EwB5AppwHNw-210DLjxEew8BOIuA8mOn-tWE7EDfNE_1fPE4aoDsp_RGxGGMkXCylH7oOBzz2SMjuWPCYLdjKSNXz3BesW5fzT50rT5EbZiWUq4SkgcYbiYV-jRR1yVb3gO2FVgcMmEHN_HWlAZzhDoCQzR_27T0HUKUnRFTRtAypygYIRM-BAjz5xWum1VEv0v2uAyYjLT-XtAwU8NWn30K-E7lVQdcXq5BGOIx0Sfgf4G90AzXuKBPxnPPDETxdRVbhOpQRKbyuiAhWvIkl0ZxVmEUz_OhHQ_1JJ5bqfzkwq47zAjpyOI8fzoEj0RpShkr9njZq_aPGDfAiqhlSEivH4_Q_OApzkpoVOyLMMF0SUhnF5sed9o1Ehdl309vpcVioEautERBgYEL8gGip0mzzy_sqPetE31h5_4soKiWUY5qNpepovL5UY88QAzInfUJx9pAZUT_ufTiYOEYxnMfdSMPkldT5ZmZo4dTULOfu8aiCjhhMmm7zgSFWBjf-J09ve_2NhR6dhqj3h8K_NLrjOYvR2nsetIR21QBz3nyuWOUZm8UHOpqWOpZU_4R3khv3GtU-NA9cd3qU8CqZzNTSX4K6lHTAkCISez0JEbiMzn5YX1zCC9kWNQjYVSKKSosfev4I-a7ladLtYaOZLEJIQvV-s3oEuBYwBJiBBtOUuZC9qEv5dAjH6IdS0w6r_UWUSC_2cpvuMcyp4pgIEwejT3-1Xk3xI_bZHRCjnGLlwEkCii6qtQFaYHk0ZBbl6KYHJryN-NQrClRjcwY6kkujrRz8aY0d2YAyxt45c5fPUkPETc412WxzE90wVccJu-Q8epTizPBDrarMh5Rqw06lF34Ps2tle9PKM9nrxo2Tbn_MrZufY5wWW-NozFHJS2R2krol92OLmLIFI1ZgqUX3kcUVaiaY4GddsTdOH6ib_jMHmLRvjL0kgwr0saDssHSz3a9mdZVgRIKjZAAnf_r0b10FKp3fIY73k7lBFfMqYieqggZ7fQxTuIN9MEsxVh5hnv_b5yP13QDpQrj6TosD5BBsZ3yyGB9mso47TWCTdEFLlONBh9o8WPXTI7oBK8tFGkY4ldoU3CVZepA2ELiwaNcBkH_eO4-CFZujliElKL3mhpNoNqeCLM5N_ia97ELTO5h36q2nZgyGghGgIQIVoGT6pdhlGhGtXi__qIPI4wtqbEmaU14ZTdHbSod7rHYh1FBNPa83hgtJTIvXlx-Y01AvMZiqLjd9y5CdMmdD4RgphXlluY6r54NC8BEbwYEP8H2kt0fVYJfKLJXw-2qSnT-9PS3buGoCfYcla5ePZ7Agz_2zkenZbH6FK8_rEt1ONRpznP1fPxAKxsobQYCw_nk8XvV6pvy_9DopuQi1EYsSh6aJZX3mKFjcXvPBK9HbLG4hMsM2aU-Pvd6c26t7aRvkgmypjuNwpzEPzRokpOuMHT2pekktmDHc1p1j9zc92Due92SkWVRVxTEHhT935hK9GlFyDiMzDJRYaqIAhwaJomOeGlM0LLxgMTsL6gE1z2_5POseRJybLK-GgvBFnEAJp4r7tavfj4ymPvqbZfyzI7TG-fGjSUIx5CoAAuSrQVZQw0k2n7FHXC_MNRpNXp_voQJNpZCyaLeSk3E99RNDhSGgzNYiAZCQn98srZ-IolPG4vbfsw1A7rECqpDcsh5ShSQ66MtNcQS20l4VA9DcDbnFKXZNh_0BoKIHHjuRSiQ3fWr4_nIa-TUUcCMZ5bwWRhdLKvM9L5lk9PR3TNo2LA_pLCtj6DuBr0s1c1SHMTC6Zsa79Uuvcp1g-UVdw53ltoNM6iJEKxzhYCG6BZRQS5yuhYQzPpHBN3lpe8I9zH3nKycM_lIDoqwG5S4cYph5sIM3HO49gNAWWs8bp29zWHeVfel01SnPwZNDHUKyU7t_zr-mFTmIdw_mMCu16VHrRoXHQcqqTAzA8xudf_zJq3P6e9I01rL3SPODOnF-FNWaiorwa9c4KjvqU417X9nL1u57Wq8ZIaiYHJbd_xgBc1jfCrCEbycxI54uubVS9BjQ0GkqHMzChn8GEU-aN2VeqIwQ4Dbm8BDNP33gvF1LHsuUZWJBbkLvWlMW570G3aa4Eq2-3UGtW-wIi3UnxIn5tZgo7_T9tY2Ma-7LvPC9LPq8FZLlrQ81PNNezgH9IPe9lzIzRG3GlP9DcL51_Vn1y7HjWHkn_EOSeJE9vwboqD0hXrMfqdNzOwbbCShVBPmlV-k12tcmGjKgC73PcpjwVLf3WGGzvA2_NabhmDV7u2OEhtPxQwI-2MG69ptYPeMbSz18Dg0SGM6s1PQz7-xeAWsd5Evo-GzxLiOZbrdf4qBBZcAXFIzByd-Eem-KXTc5zPcirmdjhlZrX4fURA20j03211LbS8czk1epnqhjF0UC8GeCcF0hU9HOuO-Yxl5DoU6VileFisIzA-dcoZ6Fje4zUWrYNztA1SstsZ3_6V1u4y9oTBAEuSikupUEKt5jv511M4BL-b-Khc8grzLxNj2NLz9TKz9WR_A9OPnCbGBRb1sGmF0c2TZpBVHa6DkIMu7BAqD-0q-QaxjSchQyHq2UGaiKiUSnVmVXxkfHabtZ41wDYFdZyVhbwDKxeJaaPBos_Iu1V3g_TGdS96Wdn9hXmstcdxeGkfdlsNKZyI-Qxxz40xePxGZ3qFwd3wuk8-ECLYw847_iaTGzTkHGSpWkas5AGo1zRTR7w7Qy-r1A9Ran5J6J4JTKj2eaEwWQ_vgWggDBqPgCGRU5texf_9n4GeeWMUhJUtfl3zOe3iMiA4jlICqOAnz1fVr0e-LX6lMHLaEiatUcktSeNu-zrApFyyFLg9fdYDTWiwcXyNdTObuQ5DjiyKKQ65xVP09xHYpp0tVpH-sBOCjyTRtL8AsEl5hLebWRl3_ROKPduqbKygBtdjQad4CcE8tcQRTfouQv-MzyhCRuS9hxq4OW0psrf9xtRrr1dwgqKnD7nXQ529anos_Id8gVQ1Yoouto6Tji_GiyR2dxDhUH_ovdY-sl_ZI0k83P0uYP8RWdRtNybLKSBAxPhnEcCjjQQyiPKqoSOoR1umF55MJRqamci2XtLpra9zZ4uZLz0c5WVkPL6dxMG-d-u3HAAAYFKbjK4I6nj3wClq0gFX-fgs4LMLvjBtMzI5AeGYPaU2Nidlt3H5M2xkAD6SvUYKkNdoDmd33FO_EMUF59elpwT7UeeK3K_AkTYQ-bt0QF2GOjYyDwu81Bl-YWBUxIKlpaC7tN2WIijFvyIqMnbjxwAtOydVkj8UZbVRNNzNOFV990c-KfVqI-rw3_718lgBWRsU2PedglXL2v32_gqjV62fcOmW_N-Ua_jmqrWlkHnQjxsO27ltdfVYqYn7AM7Zb_b4GlQim4BBJ2dn7Tosfk9OTM6mG5YpgHGiZqSzDsHwdMO7dPHLvTD3Ycys9wNhK28Nv6C5JAG5IEKF_f5TPqoVyP7R9BCFmWtsvIHJzCNQPDhAKczhoyeRLDeK0VGRzjhVWTyN7WHvXGtr1xOlfN5iDDEX29L80GTWPyXktIzIPf9AZlCszgS6as3ZrVnED-vzhLF8NVUQlHoNGWrVIkIJ-7jW2ennuMWPz2CtK9PLOwPnF7POC_i92fPXmjThMSPkRxUDUVMhVOqcR7tjm1LMtTCwk7ePR3wbURi5a1MnjJgGJpdJlkGw96m5SC2SXcdX7krrNeQTfzUn6il7a-mc8EAYiE-2YNVg7H9xFQ9bkq4oqV4A-757kXa3JuHsesre-iQv6Adj754P1pFVbTs8vnZq9yE3RcPEKfh2kYM72Psz_G2Hjj6inO1K-kPOat3q-IP12r-C8pVYY-zufSntcAeINr0NrLK1Umud0QypWXC4hBzZOwv0CG8q7xzXFgsBJI6VNn07OrLidUnQgS-Pf94eu-6TkEwtwQD-2YigFwaq-jD6EgnaOBseWn_KhCet9a36nwBiU8Am9AcNuK-hOM0bQ3tIAYp_y8kBOsvISiKuBexl-7BwGNz3e7Ts8g79sSQyr7gSWjwaTUzqS_xeUUZ0Q234YO1Lp6XFbj5ScZO7JMvJuFB4CMCamFXzPT0vGFfrLCmllKKfjwJ6LGBec4eEwovMr0IeuVJNDDMKf8D_Df-qKpdago-tQDqh8DgXom6vYxhj8dd-8Sq4bzqZ8kvl4VB1UHz68R2n1INs_HA5JIVmcDL_zXzrhK7Wc4kqDuJJTB5CuFl8D5qWaMJtus8cF1LtXmDQEXI7pzrKe54l1IcR6bV1wiIk73ulZ9lm7zydSXwDZSYBEMIV4-u0_QQwiTwDz8Xc42QN4XHZdE-2MeU7TpRXq0Aw1E80xea3CrDNZoG3hlm217MEnOiPTPTsrhzJzoTRMa4D9xmKHkQEi9AXPO19Mzmf2e2V-Ne4RS7HHKqNHlF1Lnzhr_v0ymAM2AIVpn_HUvxv3hStbB8bTeauchPHGkwYK16ZzgKEPzQlKtaqkuEt7SDiq6TLOGTE6S6ZGtlzuD27XrCW23RNm3d0Fx9GLtRp4I5YkpeMezn1jdDZyvtu8gvZRm5g52eHpqA0DfFlbYrC1HBzjCY9_kE-O1uZkNio8EH9-yPpgxvjpyrc0Nt6JDDVdZ9wfcUyfqrtNMcP5BC8jVvxcgJh_Wbw1RTHH_JRewSj-mls7R5_FYWszGeLPvMqP8bo4YF7_ifqpBxNtHjGvoRsWPEs2OddI-YlXsMzC2i9JruC7BFVsIKbhc-sVeaI0V1rVdW01mIqDDlAtV-NlrlYi8bzG47DWUQ4BuyzXkb3DPFYVNDlWSGTPVdQffsJmkKwBeK3LJJHR_bk1sdrm-sO9sLXNZAiQZqN0gSbMIDESAzbtazsjrTS9omdiTIDbvprC2GsFiI93tlCa4lLUIhPli0PXs_9cPfNUkoGRVuKGWK4jvqInRKh4F5NrJZFOet8Kjwxmvst9v72Ql_kf6lPIV65zwuJrodHIJ7wzOlb4VqzZQ-hStg6eM6DjwReuMMQ6cN3W5cSKK1wvbcLbtXggbPpE20Qx3iT3kI2UBNbB97gJ9LD6VApRMoLz6X-X8IrLGTgJBf98xQcFc1ujdSXeWiTUu-pOvH_haPFRhATCBGzfkly7d2NKLNl_CnZm4_lHo4T2x5f_2TxI66qeKcwd2gWwssQY5zFZFjmkQJRF33Z58CYTuFDFuTNjlsVxNiHK7cuUKyhJdVEYo-DKnm-AgbOW-7sii60damxa1BD8kDocy0JgKG9--H3uuK2QOSa-lG6duM8XDIvRzZtptxAyQ9kI6FEN22rLf0gACW12ZnyDJvqXQa7qIal-ejwPVqY3Yb2TkoPiIj3toTX5YboWMrSSWUlYCB5SZJzscYeCa1YheQDRQSy0Hqcu5nMq9ejulA8OBJbhFPS2JSODD59eV_zoulW1kOdZ4NZUFiHEEP2dzfjDBrPnmr21k-PsjDyojCJNEvIwoITB_w8PodHiG2yNFfZvbP9FPcng78T2NlGb3c4cR0I6CdqT-ypVDOqUHssrEZ_D7OPu1GlOvZ8XHoOdIdws_XWYtKpjb-LlBMHq97nETxzDRAKZ3hNAa8op3ufbCi1UsBQZSptGwRjvw2abt3-wsEhiaqvDhf5o8u12CFsWQQ2vIuiSpCPwhHFvBAbCvIN4NiBq7PrBX456efYygxClv-FyBxwkM-PkpNtrNnmKNq1hTmgkSAlly_VJPMgcEJ7shiYGHvMW4hm1n1BvPL3TU3psLGAk7SNc5VIYkMHXJd8J6eQ67gHExOfWE3AqjQrwej3O7qzwypHwpA2h1xR-HxDYHLmhhhD5sAqjwygwoKtd9-hgvRz4-mB1_645ShlXzI4FKnrFfNzBSdoJWREdZnzKzJexeROQLdo88Qri9vTh2f5cvmSSjVVtk1aWJFsoAt2ipLVExzhnJdhVxyZOy9beIuyTxY-RrmQj4HO1vbA7_hr9trrDh5AEoU_X5yMBAWmnEMluubN6zTLa-rXrcB99ukSqRME6PiuZxkuhGmhbzTkW7kRsTUMdiuwV4mM0uVXn56HzP4KUJijQF0skDYNSQIZeMqJZVSzxgAwBwpio0uOWJocQiEPzz5E7eRodeppsyMbnMneK47Yr9K2QBk35xcyzB2j9ZALLDDenZUk0UqsiPHMRp334kxsSIgRjt1XY-ury0nzXA_cDt9VZNihtlDtwLt6nPWCqm_sTMtcUBZIL1UcuaamiugFxk1RwsnkHEn6t_1Zl8eeRmnphYWz_JMNyxgXzx5qLvpi9x9cK5w_ytV9z1ieiBIl6ieYKRGvkt99cmYYf_t0jtULp7sNrlQpXkuXU83jyWwwS1J3d05wDNuLdiBxYFu3SYRaegsBgQOXUyhluYc9p3Orxl78pMjRG_u4n_Co_uvoyFQJkxDV9eBA3S6bU6UOmsUvc29HDVMPXGE_-czC7AgGhEvfpg6JVeppen04FT147EziyNHJCtPWtjluzRux2DNWNQh2mLQd9OzYBL70PfXwRBnspzm3kUR5nZlTY9TAK_yBfmSKZJC-t61pVxodITcuTg4MmGW3IFcb5rxYLn6vwifJCvZT8He4BIcx2mTv8HzjpNZmRBwHcMghe_TUh-vv2d6RnPcJHXd764McmN75RjfvDWJR4tcep3wLwzTP6M5_TsOEd_d5VX5-bVaqnnJl_uBACxBugLRTwrp18sOX-WPKvedXbHrRi8xacJFB8lc5w3bzLbo-icV553TjGjnf8iIUKBMgjakC_x5w9bIhYEcWfHCS2-CMaG43xqbuI0PoTwaPVY4RZ3aBMHSCT15nwxTx6FoTTK6hOmIVE_RVHBdWloh1fwi_3NwPycLUNzD7NPd4WSg2KoLrrlq3pSIhPMaDx2Zb_3flX9LM-7BC2kImIYGKL8hPkIIXRTseddcPjWIcVVLnkebu_VwXGAju4lv4gIugUrGlzKwepaJQD66AgWK-gU1TXSbxmY6sQO_p_MaimuK-GfFg0B5JMYkdlTQ4LOXgzzusIjW9aBL1HJWr8hq0s5Q5zfjaaJNTBJBbI7O7mtQt9CSrAxshlWnNWMxkAm642PueO5icQHTS74LwTC07FMtnNwAd7WmUz5-Ij7x-C2bD39WQufTzqtQ_f2TSxH8tB7CTcyZ2LkmlwW5CyRWikOammdwFGIf245W_KZIVmusF4zOTuQzRqJrvkHe6SJdoeLhr8r0g511o49zEoPt-knmuJTBc4R7kKetJFMGGlt4cvmFota8gLAeoJjNYi-xZQW-Rvguh1JxHk5Xty9FGSqRxd_yHWohEVllEQUaXqhIMqp8AFTth6AXP41J6KPmif0wi5JJMiVT8AQA3bPgjZBgCB9sZofX-BTUk8-9Mr6Ma49vSr5uPs9n3S5j-iWBfNnujSZgoT5qePZ_4pG6b5qjZufQRGOmi-B7ZSdYrR0WjsKDTxsqVff9HfJn2Z9jLFHBBQbEVc3iZmsuCe24StkAYfzs2f5DVmG-9CrZAonN98xXCryV7rqnvWf4iF08phSBDzh_zWCVISSxQdU35psDe7zd6PCMW7mUUo3GK00sI0yC71A6j0P0q2lEjb-4mQh-vqq5JdjvO-kAbJ97h9rqc7bqEnOWvU-pTRg2HJeHwUn13Lw4BTCPTVetJd0YZWjRvIEhpFkawjDAuFr17ef_UHpAejv9bR0hif87uFBN_I9L9x65Tl5wBXr1lYohtCpJxPd1igh8uu6X4ZLiW3G4WyhhuQQVOGy4PS1lTnfX4qOszqBm14izei9GjORqR1AO40DY-T37HF3gX9WdDLfTGujl7Hr_s6tdcYLczDmXFET8griV3qyHqLvauWAuCbA4e85wD0TdrjI6A-p6DT-1SUvVw2CMpX3p4KQaeTXefYGcDB8UyUeBWkfecBrxxl5WEwqn4KYZIWdQ1G-ezRj5ZV_vmX3lakMyBZvitL1cEISgrtCAs4gtu01RbHYXZUuUwwk30sqIcWhiWhJHXzD4kBrBxT0byCxnXga4CV1of84Uoq8raZQj4vdHVqFubIDx_q6GJfrTuvTnE6r0CL6rMShJ5cucfDRJckIUWh5o-qTFHIQT5kZ80addmt8uNGoUsp63ncTHSSoxWUeHt3VDSug2iW2aEFs4-XSha85FPabaRrHDobcAvs-QsCO8vKDnJ2uIICDGYupOy7QeLevsfMYxT3_Kl-ha3XX-1-bW4fX6HzYjiaDI8aImisnd7-06nQvxZZSUJZNboMhdaakPvZ4MwvUkH0cIXI3dQYiTAmQpFlSTvRiF5XLJDOQM9R7kbB0fwWz4mQioGvHbOYPDEau6vppZizyLL9MVMI1LaExd6ghcyBHMWeOAS6ZxFAi8tYPaQyHBUadoLKv9hiJcLCtddTXOFRTXnV64jqyTe3mzGTT1pbqIpsGNKCHd8gTaBTIIBJ59JxvbzpILmek3GOSvRaAcgByNY1EcfPhkvwqjpxnkTWyK3Ke8X8jTVQUlG49gAyHfyk6ksN48tBdbVow_UxkXJDhxhJ8sx9wAIqAI4J-cj1xBlTJdGfKfQJW_2nAWKvyISA7jJaW81VDsYwqyulUV3ChEs6NgfPWd5R1ZosI4cagqNqQZmncd9Yd43flnoSIwbPwruYEXSP_tOdBKfiqVK5jm1GBIxtj30r0Zhf1ckqZhW9HxQjWYuEhW8EPKN0GRFPRQC0SZ1NkKFcxAwref4c2tUvAvRDKrtU1_gbvCOFadNphS-eEy_VGnrI2Zt2--FvIYqU11mtN8yc4N1rcFSG0EwHxP6RT3r9pbFgcIp8v2-BCNdyPdq-IfKhK-S19k4t5H22cEZEzWGjw98OFPMaJ2YVQW4zzVtrZzEr4JKSR2_YlsLo1c83RmDdB6YM8nBE7jmC046o0dYWYzQgqnyyxjsdaiAHDNDepRW2BkJSiZDhjbObmmkg-OUjpcyJRbrWZiIiZftyo_SHZZo_RxBsv2ABrv8dBnvX_QVKjOAQKiluMR70cvqDEF7lcYdKsMS5dwIoxzoxlK9iKRE-d4KudhkagiMEFKYnNvPTmCs8LPX0LLBFRqzESPE7pkVHfJlePFpbUyqcyleqiJkccWLRF58OhVaq6xeImsgrxk-59BME56cn1CdFsT-JKnzKMvmCLsE91glXvzzSpX7eFav27KhSQu_Bv7eFelqswtuxE-_uTVuB_NEqf3xw3tBPo4t68HvmirBDHl37QB2udiyME8SDwTqvGAjK090l6hJZ1o3ALwRjUHSOvIpG9QUKAko4MqwF6kGjiLk_D3zdenJDQaR_lTa3_rF5b0OHcyViHFruQnP9OMwAWLrEmu-9IZSpCK0IbH9joUTxlWD97HqmLfGdFrDtWJunPCEeo4wf16Y2n4WXlD3fEevKFCaSci6T90D9-homunz0OAkLBcpAQtF616V7dfVfRIjIWfGHB1yg5L_xcsy6tUYM0HO0vrhXuRG4NbvlfDvo3Vk3QVuyYq_39-apXrTvT2NWuIuBt0PR9MRmbRwb0WNUP9AM7uyD8BfOaHhjPSXyCkhxFtSB7OyVa_1eV7S_Q88rr-n32tLWuUpF9H0yYZOnwX1tw-pDWwFBxqfZGIsUu4J4fqwtavmfyGRANde0wMVsczlRoJF9OUAiah69nSzMR5dfmb-kouEhAzY6-otScjM6kBj2tkZA_hrffu1GcA89YzlEaNpNOUYZo1JUQ6dXi67vfGeSwwb-nHBCwdnJlulhhfQFSBufCMb6jv8CqUpyaKqbKAL5FHp7i60NixM0uYE_xI5njt_ZNLPMkIyU_BkpygWmC3Mo-eZrJrltmiPx2MtKIolVos557cimqJ4qH6WXFsLocR61ASRd_YLTWKCq6j84uzGtxMtsAweVCqeb8MJpXhwJvV_t0bYmOPf0h0q3I4uuutAvV8OJGkUg9L6xM-gYmJxsx5Mf6CzdP66ieUnvPJIm8L6Lh8dXp3kWNesKXTUKW8zrYIE2sZpyjsnTpcS9c5TuoOU1BjHWjRcO-cvumtNJab0pBlYbULppQXlgHE4UjvnLHEPnAIfCKZWBTu3UvRimW9uzQDWrYelRqitzqldOm_muW5kGdG6-sJJuDn6bGzq1lVFasUthgkvJHiSpvcuuJR-88ZWMDrg889PrIMtyGZ88jQy258JchDQYCUElCv3AxnCaRA8LaujT3FlNbfYlZeL92cbs8Z1syQ87qagdTU0FKqXoqg-X10tsyOpk8VzUfoBffV0nH5K2aJF82ww-pJaXiHrkN7s0vottjEnALiqTAPoMvEVK2agQeZjJ6nXZLWTfwt9fnguxyE308HzJjAParRoYNhDBt_rOehyuwelJoycQmTR2-Q2To7YEPzh5mcpIX-rU1eHSKPBUHn0pvPbdgiN3f3OrEqLKdBSJ_RVTXb25trv2LIfnlVwz28ela6OERKqFladlM5kSqkX4hgHW4sBfOkXl1G01_kzkyoxjWeH_Lj4f7WXFo3iTGdfOt58msLNldk2OaAHhhb6qS5cACHmiRKHluaPQfHbFuAslgD9TfLOY1kLN33cjfVJmRtKXXjNpf3Cp2sTKMw_N_17U68XifOixberxtwSkp8ezt1WBuFNoKTvKw8FQTkzv2gwFIxuk4RcEZKuPT47k1RHdzweXQ5VnaN0FzBUVlMqcvkDLnjhZvvPj96OtluRI0hPkvVSe6SMaW76qvIA2rwTStoSOsvd0yS8EoqeAFu35j8LkXKTTkmDHLYv5Y3UAW294KRGXDkAQGrZqZ7YaiOE0MZtmJwykdrEeLNQMGn7vjyljgn6b5Ur3SCTrNeG-qOXD2hpPmoWcEn9OFSRuFQpNz5ptVvcXsJn4aUGq_xOUgODgVwxYEapV3epxx0-Aq_aO_jCLJGToH2dXmCZ5OsRwNdNXH-9LccKUwuHM7fUmjzJmJdG-frciV1bMLgnbaqZ07fyFv8OC0XKi-20_0m26OnjH8uChCOddrseQ5twwVQnAs3fH0xAIfDamZpe62b_67OblthnPPFgB8VzrWq0Pb2ZMTvwXzaJn_9WijyMykuz-xL7G5n1xnbogKanfEtCPB0RJQS_JXFKNRBTTj035in3BoA3dszdg16KsFTQPROp05BOoA-7FH7KONcw4zFg2WsyeE7UXZQVPQ8tXTII2wBEwaq3-POGbejRqBMs9-FWusQ5FI_8pX8VSjxwob75yO6-G4WiN681g5qGBgLp_Kq8GllQ-Sxb_62m6xqykoqTA8Px5PRpXt6lPtwjUshnSzEN-rFc6mWMhQ5iXHmdJSxZW0O0bYtV0gewGgsw5NboeHnR57hZlAJ3vFkToRiuLpGYHTjw1O56SMM1QCPpMrn9Ohl5ZjIwfrZSJvzkZNnANirZYgk2lXmSo_iApYaIbBZS2s0E_TgTZIMngpo5BuPehdVfZ1lQmePuvbeCJDmnEnbbzaz4JGnwT8wgYT9g-nnegHxDpHusH8faQgClLly5goNBvCEEgA4iWNutNfoMGbih_RfH-bQzUOGCM-VyE4W5_Zuz9nWKmBu52tRiak29d9j0IFQiNFUqtpesEktUgDYXrKCxSQZIyN3Eak96HQRvBCpzxjoaBXWAikWQb9AGVdNgI17T_lSRLCp8ShuNrONbcpwdgHw_7KJgTJ4LfDE2dh2sGKaD5ksM9L87PIAD-azVv3SvZpSEtmcUW2FtKMM41NeCPGGxo1Yrk6Lglsgg0MlNH4Pmsl1bppgjhS5JDSLEtYegFv2hgzyQ7sxTwadN4UZm_1G7l3JbW11eRx5SzkgZfgpb2ChMGgzjBOhtmHm_3zrc061vHSqN31BREAFErz_LcnncCwWTJf-0Zx0D7PRIJW0YlnRNLrLL-I4VZZ18IY3-D7XnZXws9Tc_l0xiz57z97JtJusvL4qwo8DRlHvaaJQc5lTLU1xm42l2n1bNE7sJQaWriLePqSI1jqmCQGzC4wpJV243Bmsk5sGSAG2UmgHIWkg768OqUASgwwSpeUPHCmY4-ROhHeMkxed67qnF4CqCjNCR-JILf3p0YxYipLrh-9NP6uvEBJU5GR_29Ni_37kKJJEtgRxCmof10ktUc3Hu4IB5evy-nx1VDrG2WSp3hxWh-EUF5J5DlpuCZepvKEfucpNuRS1II0qaSk5t9Ko0wFECUbtZ-HI0kC6IavOYxvx4mLK5mqUFMe_1zFcJDoNCLeSU6TCl1pal2WybPy2lauPphjxJFxpGgMypoSK_3U8EVMu5LXg-8YWlRujzuiY37204IQGzZZq7hdoyLUr038xG-Pbt9N6PfVHLxaR_4KP9Woe1fc453xKSXdoTVvusO3BpGDO0gDH82hRE6_BHjUD7y4zsm3qm2P8Tn_y0eo8LS7C894sh3flSdrmyBKMUioxYsfgqjGS3P_gbzkeq7sxuYofxTg7dMWPa24fYzHwrgnpvOhqZ0Xcjo_s7HUzTbJHiaNkzL_WhEQgFMYFZlypAFlUa9gViQ4UJ21dMkBI2dUqzZUq_Jy59QwrAXQnVdRudiSICsf6lM3jN28ngLsTQ5UAWgkg23R5SDoHOh6daPegPTTNVADz0qMG5QAgFbdqrY8erWdpsWDlV8hGtWgsKsQoGZQ82Rd9QIdRKz6KwyNuD8Y_3rn_n4_XfGLfRIBCk4BLNxUMFHh5SypmqlaPArf03E0y60GL4J83nEZbNIXwOz4jdCvej85z5FqO9J6ESeQ9dvMRi7y8vo5ibmrBajcIQu3FMH7PqzUl1ZPkIhewEuGODNcTgP2cDJskWwd1zyM6785IgSeTnroa5EEwi5S75O1DEf-EL94-RG0pU1Ul53JlZnRSWnSW-rkvYU6wGb4wn2wpohQ3mjfFusUfMb6NW_YSz4lz31BlT1A_TjFAuR5MaFfeF58Tpu034ncW_3S3uenXEzfKwmnNdmEBW-Cf8cYrn4nMSHPMqR_uEWSuy2v-lzjLB9Gz3lNxD7Ov1SINVBikLKzQGOW0g3FeiB4RIDckj6XDLnSCME0xI5wPF2gYvX26VoPTD-LjnCydDFNqpNml8J14JlGV14erEOSQSbGsAOAY6sucippbeydMrW3XSYvvAdswLxF4_ztmC_h61TgL5GlPLGRsp7BkxwUPALLVgPLT4orfJGuoPxPAq5LKcIYeBh0BAq2a5GcyHIkhrZ8F2qzsVgr31j51mhZamsSjF8EikirE4_F4xQeNP6ivrK5idW_KsMiZ_XSjahBPegrHF15_a1M05cFvZgdmBiOpJhsRvEIW7MecEeUgnzHanzTs49jjlCh2pk_ZFYDludXBa3_lVUG1IHNR3gUfnydnmShNIGxdUSxf5VIvDEUc0ahiu8N9B0a3SZlfQgKPAGaoOyZhZdU9C6-PZRq8ACGjoaY2ek-ysj7QMQBBSpzMaA1vh4XkolT8JVOZH-xkMta1Mn7B-q0ZVObJ7o1V_xd61etKv9RDfisKYkhh0DDd1Uqo9RvIJQmLFV3uQp3ZlwumxPtDZJhUoHzpdkRlmi822sgwi4RoSeVnnEhmpM3ZUl9d-k3zbkoJDYBUFbs9VxnKodpKrWpFnEQS1Bsw1S94Chd8hXoS6p_gJ1n5PoqD4HYkNRnMitgjJux37sH8FkiIqWufd_Mf_fDreZltNFy2YcQqKTpeI6pEMGXt9MZPlFTCSGkamIBzztVEyWIOZriKYdGfMiUbNQ9JcNz7m8lc5aTLZJWZQO87wjg8Oiv4DgkBOYUlQX_cdc9R-wYSuEizP0uibhMC9FHNN3gUIdHkvhWfPDlYLK_TESUCZ1NimkWZYabkf2vc5CI4LEY_zJfHOOPLzs8jeYRrm5zvXAC1nFsmOsFf-gAeAcAwQpct1CYO2cruYM9vhEdCV9OE1sQwMM3lkNLm-phlwYsuyRFmQw49K3a0f6tUYSxYNNe4VezxU8p5UiRLMZrdyZ7kMWddZKeqogpWZRdEHae3Olx7MLCGQ3docw09cJCaKJJ6n_S6SHKt2wZJA4lo7Xmodg_vKhsd2A0uUN8majlAhhdeyUAk9sf5vHiHo2JcyzqKppuNgEJxqhhhMPpGtmkxS_5UrMHtwGR2Tviqw5QSIab8rTMqUU4kna5RQFaClrUuEkk5THxOur0cmayH1luQztW9KIM5XsXJ1MIomMAvAw2xo7JZhLSj2PWSBjS1cJ3Xt_ILniI_gDm0yLyS3NWWhNROvc0hp__5a5UHpMUt2CKeN-K20wCgn7mrnfTXOYnfJlO54XXXZSCqMmeqkQTipdqOjfata8YGE9STOhyX7Smr0bWwp_uPfP0w79o-61f4KQkYSW5hGJHpFfouxJKRVXsF2z2HGnGhzlJzqTDJeTPsxj-YdohZRZUyHjIhrkSm8s7m8xulqolSq--xJP2RT6Vw_GReUtQQvAjFVZcwrWhiOfo-5Urnj2F844jvNJmPyevNksZgmWudqFS5PBY7w1gKr5r2vX6JFw3laaBj453a_QAg3YyK9TGBJWHlpLf1S4y6nsiQAQnQhFeJMKj_C7n9uoR95_Etja2hSP3QsG48k0-YUFCh2bO7Jwu2Wq7YZgJlRYZjdKk7n4C_5-TRvUU_MUCZFNzsq3UmAnZ-r-uS_t2ZPo63Y_dnKtsC5yIaJF0y-ZcTDIqfSRdSCd9rA25A2xwCDAmvJEdtRqfqUaMU2WAakatbOWhxvmPjeWVN9RU_I3JbXiHifUFoe2_QlXlOo8RZhrg6FZtXKocF8nb49N10-qDk0JxtHqO6ZJf8xeYZlTWemDmf311R2b-WMkcbHvNNbiJjD6KNeiQbhTM9QjYzMu5iXwAzp-sxwlrkqnbfgwHURGQVG7D_4bUQcO1tQhW9fEa17Wvfy39VnqooCQuch35KPmeu7jOyuydVVVzleY9gDvC0ridpv14chaD83EjwcntjAg7yfXD4FU79yOoFu1DB6Wk6oJTQrRkFR2WtG3GsWBmVNe5fveq22RJ-n24XY-Qa0c6UY-5TMj4YvucLiuiLJ9exdmpMkKxyEVJ0wRCA5IVomxpSMCWfikzd5OehCDnlnSR3xf1h6qZQKWH9MNfdfjZjKsTWMvckIDrBJJnREeQn7b5BV_dfykXALoVX5XQzmAXCLEU_DaHqozzdzaj1N2TcAfxACX5HLQ9QlKiw0_6jRHrNZnTXuV7nJpJUk-Jv1KCNOiLKL26VGlRi-ZVKxzJSt7G8JAx2qJJtBt7pJ2HB_lXVKxM9BJgncVtufeMmcBygcYkVUWjRV-4tcCiOgwPjtonUkwTrhicNNhs0xlEG2pmXafaQJA0D1FRLynCEvzTJLxJfzikPrWcrwAC4lvEGcdjolZYJyvOeDWlWLj_Qz40Y6n0VzXwId6CP6X4GZsRxuUJZdxGnMJa39oIVT8V9JxXehIAJcy4nxBJvxVwc16GKHer2Mq0rDJEMoOKqdUtxURW1kXzZOdoqB8SqbcKNnHLU1c_Y1mtqjgCOj5zrfLCXO1QyVjWpwvUaC5KfGM5E47ipgvjh82zX0RQrUxAry9_7ltykB6qlhsC1_W_3JIpS_1x58QRdMTzIsva3u70fHdK9Z4nN8czWm8nSU5Z6Ess5BJvlHLGoerwJnRi4AHRJrs66TFgao2EZ6XnhqGAQBifdUFvix9R6knY7DkzIExM8Jvyf4Zuz8TxjJ1_edWOWJJgfHVS1MwybrKbK7OQ-zO3ACpWoOLWl8sDJ79yzbSYsuJKBrsB7_OpHR8SjrlfeASRZ21q31pzvP0caMfn6X6uihYa7EvftW5lT9h4lOGA5HNrjMAvC6PNK9fkYPRaqoT1wcIqIG5riEcV8-08196jvir1yw2VItn0DRBsBsvGO2GxtqKxRzPwVOrzZHe70D_zAW4ieI2q5TSjV5SKOxM3wugmigGpjWUpmsIfC6_W_ozAqFB9n8GG4_UmZfj0J1-QG5_3Wv1pemAgPEUlYe9qHbJEYLlGWcxDNUOXEWkFw6LNt3_FpYjtADHYTszQN0rhvHhGiaqX9s8X0S1WvRFF33_0sUQsY8iPsVtmj9y7sqoaaaJvNCMEciWNw7Z5B347rzEkFSg12CGbUS-KovIlgBhWmu6lAUhd7TnZ10UBzLnAinAcYFN3RkXC3vSgb9Hs_GnqLJmz6heTTXjNpuJm7kQKS3Gdsv9aAZNzKxwRcg2-fJUkVhISUL_WI2UCEvZo6VR9K5i0RHx4I_RV0Eu8MoPW7VHz9c6HqjL6f73Zh304bBweWSr4A6x4Diq-VYcXsU4Ut08itheDuooxo7468hLZo3duAsPLzn4zWIVCqpNX3kq-ZC_8AcxkI80UgEzZISChBisfM-Xhv7EBVvnNofNiECefKPFHRwXpbirsN65pB0mXe4NZj1EcObkwfV_dVCLqAlyJkWuezbuxqPEqkdre6LqIjJJFjPCbyLwNIPdGkDEx7x7YFLsmp1HtttP7cPNJvR60mpmmxNt49Ugtpe6_4YrWwuby4ZN1xlHXn1jLVxCT5muTMp9WVc3nYZ62hOtGB_4eNME2WC1xH76-r8LMmdooEo8B8Lg0nLu8rO-JucwqcO58DR24IBYaQaaYr1cdn-YuS6MZUy5ypaUNV3TqObbnH05FOQdCD8Z1ybcKLsJ4N4YSpAHhdGzGzgKhDwkYiGk2k-EkQbsHxiuK9npxANNswQA7knNTr5o8ZFezNZ1Gv0ks9xAvtA9iSwx4D4_J__iOFX58NeXOoQJmC6Nl8VrHZygEf60PPdw8Go9jAPkBsJsHB4R8gIeJAii70HgL0Yh7AFoc8XWW4HUvjjNhzbv1z-1_GHhsVW7hpMeP7B-aVplbV3PagNiDVR0PF7-28vLy1QjOluahRbeOlaL3QtjzjKACUJn87PcJ7I7jQ8a93k54YbCMntG9vjSLeRwJmaLB4eIHpNQq1xe5QKAymkotjRgkgvhqb6QZE5YIMMbARCsnjGh9vuAAKEqEVz1Hbt1HvLvIvj2xNgX_yYOMGyHeRXY2Ud95iFjT-aUUpEA_VhXC5TTopEIU1eaKMl72N4fP4l-IjEdEp-LkpcHXuDqZ5ZNWARKScG0SMI9LbgVMN9rgQ5yI05hpcH0FHWkEJW0FK_sYWcJAnMBtLOO3z4Cik5ijWDjZA70pScCNWptRgoG8wTrnF9lwpiJvHgLnZM0dILScd026Dp11VH_ShCbjf-LvjSkXhYJYQW4dEMfXGTUNhWAmX5Gy6DZ2y8Xfq7uQGCOv9Oc4iQzMn2v6ryIxcbxx37a-E_uriSTPG7e8yesS-w4S3jddhBqCnADB98JJOvz8znIB4BOD8Zo6oFM_AYOiwCOVMUH3_G0WwJkeJGRcGMXw4BqNnNndoXLQH7SFqX4o8VCjy7MSh-n4KzcTU7B9-8ChPYZur9KQq6D37r7x1hc6GCf4M4ovgW-7PjTiSXc5NoLlxMLxosKYf6JP5gqdnp46UE3ZN1vmJThRubdfsV0MEZa8zLw4l1-BMYPbCBpkJv9m8NoPWuwB-JhOd0BWUXr-fVTK5J41vK6OrXgzlRFiJ1-Sz5FPlEMuBe7-ByicPkG6mEBFqroum1UcycteaHj9DuTk-8Xe-r1iliN9SL76qNLfD0JsUzNvHwPZFchm0yXZxUw6HPzkIw3M-ak9cxslG8TMhq_zKfUFVkeUhqLY7fo5gXZBlzjxDwI1li0gjOkyMXjQOzKgTTI1arOce36Eq51pbvo0WLAQkQ7aLTRPBK3K2O_BLWu3LVHLAr4PcUgdwjsNCEaZPQtNztpbMhMzarUqWyBvgf-_ls6RTurG2ni1Z2F0_z_6HKmwog8_hrWvVNVQfMQyHYesgxYRg-HvpReSLhCm75122BCuB2VI_kssERXX3RaEJ7CJy6NvXrB_5EzYbQ_kszM79iIuhIQ9Uh-oRFa7HMXHG54jR3viBxMR7yeMJSjWGEddVf59M0jNE2n4mt-morA0xs4ZwWqQ4PM7d9knvJbmo5Rgtq6GnY1_5r489mKSAfj2lCT8ax2yJHjF8RG_VXi9t0tDLonMDIRyj-6ckwHHuJmImMlCtNPC82oJ-maCNB4DFZudY2n3yyO0AQan5M7CxSC-98TCDIvSNsUPp3K6j9AqT9rbaWeoRYYaTrLpfJmmY021xM-SGNFNjgTxeFyOqhWtOe33ZXXTOUSkU5phdvtcrZqx7XPvWpMSVtHUIHkW4yqmMQW7RraGr7nYXD3Jr8xKbBtCnfcpz5F0Rt_riFsa7XG3pKfW_r62K5xnv0xRnxeDVRz5QB6oNaJnmyHa_rAJ5KbgzQ8Lm5gL-q7UmacKydZEAGKYe5zjlyR0iLREQUZlCBEajP9Uw50dT9GWJxh5jy98pf85ok69Ov_5QNe4_jExet-eYb0iVVzlSqMKNfd_4dCT3eoZRkobKW5bVLgEI68USGmfr4CYZkM5hNKER6Za2KIX8kYfzl1LiO7UmSqQ2o5-KY8YUeonRrSxOAT4_MMJkplXbQXHfv_dyLMnvLTXTi9ovFZQVRSFMnZXU_KP0X6c4fGI39aOplC8CUpJ4zeNFwbSqFVMK7VPq3lIn1mV7iN3qj_zuL1YHTKlK2S4NRV7_OXkR8mC8MDnw8CnluBOc_LAUhYVdPiCdsM9laDWPRRJNGteOO9IS0cruW-DtYFPM6XFs56-zgV9UZe45wDWg8bGJlXxzmd479LLOKXZDBYpSfoYbS8_hNXUydxgzLHznyTVEA7a29J-ZYWuSC-DXMB6Ia19R2qH_V2VxSksn8fwSu_-ewO5A0E5lf0kOEx7d9sP_57kPwijt4nMlzTIOMzWDJ5k-TjZ_0rRGZjhAphZG7zTohCJZiAzMVzUdRTp3jcTCnq0Ta6fBy4kKlzT-e642SftPwRyw1irI2cBqS7YMnAoh3Ynh_vP9ALFoUjfdxpRetDmlGR1wnAsLuckuH3ka_dfpheM4XhtMK2qEg3SVsCjQGXSR-OhOw7pp1fiQlY83uA8zM0_7tSbw3c8FoIkEPnC3YFNjhBKoQHmXzjq98fV9PjdSsD06fIC0SkUAwnkgAe3S02lqjnBD9xxQFmUv5z08Ukjxkp3Jl4YMbWbLijJ7tbFuBExZMGqV40Qrq9f0uHtIP2v7-aVryUR9isCT89aL1PeyTv1H2E16MEcTeabWP_tIRzxrcIGVIYaKPaqEgXBNR95cEbPBhj6GdRKRprefsJXNZzibWQaEEY7Aq9PH1AF8vxyBkFIX05KGDmS_JmgUh-qm2QJgI3cRBllqXgZsglz02LaM51e1x5xtg80-sUBMqcJzaESjif-QI3qB8Hy8SFS8r9v9oNqkwplbkN63zJNanNIvVeWJKnDeX88QNtNgi747xJA0vKlaTbJs_LfUu1SiDjlz-G35cvDTsNqM63lcqSXNhvihXBfZw0qIa8gj-iu5orTB9vUK29mPM824ualAghnbHCMyTTI8lpp-JZNeiTK83D4hV8UPxfH9zf2ZMVi_xCxbb-SGhytsL0K5YlUrbtCM4LicERLMtFoBdujyMb_6XugF698gyjyO5sU4uDn-iGT8bSAdZDcjm5YpH-G_zYoHkaFnCDirD6ytEHlUCTABI1zlFUJoS8hBXOoEGIoC0HjKF6HCaztur3gI2vy2z6ppqj0b3Cg0qqsKGYJNY-X5BGkAxIVErIE8HM2j2h70dbCzf3XTxCf1i6cghqv94s4-SII1Fs0qFg1BzOHcgZq26tcXIVzce82i0bpXQfsZHtFE3tsPLiE2VQom5LUKUnoXs5Jw2Wl45p-6QjYAAJoXKy_yOfjpHkcnxNC7aOiuvQ9Wffrx-wgvQT5TlyqdXUEN_iddLjheqkrZ_PXGHgiDKIBmKbEXCQMUJcPnZa6ZWx0A6FOPy55bAr7n7cc0pxCcoDXeiT6AXw6yuswCqDvqc0t1lyH2ozcMzMc98pf_HoZi3HydyElfAVJE1orxi2twCl2vebz3lD_F-7pvtOobQ_fzq1NkoW0f5iAdprcb7sm9vCnCE87u9oxDa0up0YAhl_aQDcyVBYpM-xnUMHozJ2VwoSX5_XiUesvKDBEFPlDCOSkPxkNC_KgQDudwaxLTgMdX9VME_wHleyIVFPJ7r7SxSHqILjG20DQCaS-vF-dhplh2D2ChmFyRhwIeKM4BirsF7YMCuehkkP8asQu0llYeIGL85EmqJooRGRpvxjC968tA44qJqcTirBywnRM1OqkCdUVGIr63dMn1MgxM-OtPr0oP7l3hcsYL8uGPKgPa66tNC6iVQ7HoKkE3PHFPDMQf2ljIEd8sxO6yjF0MHr9peJA-Sa7nMbqzDPnnt5LmcMCeUlzaM7RGERMJcNde40cjSgeUSRRxKOdF1DjVfygS1iJ-E6a1WgTGPnmoZyv7S2Iof5Vq8Hnin_6IABhYzK-AGJrMu7x3t0qcX-e1z1Sl3YZr8J8aXjJ4VfyE4jCWNcZ9GXxSAQAE3TWav9K-5l-MnAUyBMvQ9-22XF7_6fKI1nRFYBEwQyP3stZG144uzXWNeatxFz8NhdrFTYXjhwU5xn-VW5CzAMl7R_IOPn9wOcd22NuZG8QFBohihEqlMNYXJdBd3BaV40TpIIFfNcrT8sylcf096VqEXE-mDhMhqSPEwEduzxqGMqJcTiqNjKseBpZKDU_JG60Gw7XLR1HTk868g9XNARp58SQjjfkGBaC3is3i1UuIxB2Nr_lzw8VcURI871tPnctKtbr5j8TKXhfxXz4fd9j0DOIwWmpn0lkKJUQWICmXXnhfPZBRAmWON6NxoLVdYBfuGNP1DyGEHb2I4XVMEo9ZVN7tP31TTZoFOf27Y2JMUvhdVZnZHKciqycMa_o6zPw-nDMXI-FM75pT4_27AYlpjyAEWEss0XZj0wSKplagrY2F7SCcPw_rVu0AikZICYnd6ZUYYyEhORP00up_2_wpXQzrjtZjpupOHHSamryMhIlf-2d-gZLUA02dAoiSwC1Izyw-3rNqGemU0ZJy1vPVYMjqgJUYZMyaOhCf7QZK_Q498aCM4lCqsB6JNJa3J-nD9rPVtZpqiFNrN1qnTKCGXf5QMGyOyAVgoyGKlyyvEEl1Iaggay6Ru2qNhT5FrbSbToWDTT7zTQpekncF-XkedfpnPSBNMxWBedXzAChlVdYTyCHmUo7thFppaqCsSqiujKbJrgR3PjZPb-xmk_LkQ_qHQIUjfe5MlZI_EOE2AEzJ6Gks72xoG6anZnBtvklLpBWTizFW81lsMrD18P6DgFY6LTtmeABYpQHaHt4s3bMDe2hM_eMZ08dHtEjUGoiiVaRkZTo6k7XqDNUkA5qq_a4f6qu2MzS1X24pnFOVzEuhSAUSX3NeMbsuwjubMpbVq6mUWWnVXa3p9ccUUdeS9vQJaIioHDuqPQKwXItlKkxiXTZHJ-NeyKqfMJL419-3jX1zF9dsfvWT7vPHyOOpnyGPDiJjHShcKKIbjUPyAUITd9m8OauBQF3Kegcg2ihDWU-Nvqm7Y5VhM2_z3h34at-_y8JaPikE94t0rHIOxL4s0Q_lCp3H38yTDa9Fdtrozfk3DeMPQbloPDSV60AIkBJedSRulY76V36KU5x5n1FXb3FX2-2vFB6IbbrYfBGUBzxV1eeNWVxrUK4d6tHUWYHTJmPvbsuUmO9NLN4nnbwuTEaM-o1lgQQOJiXwTLQb_z54fr4-AJG22a9FTppE4HjPnvmDmddmPBsYVPNB4dplg3dh77PGbdd33subQCaJzCFHF-J6UiqtHVDlJhn4bX8RqOWRYe_hs_0Z5zYYGgazVwT2jXAniTzT-Jp3yn9nmV3stHfPlSWhbI4fhP2dfvzZr0177MmjN7kbeOCW4NH7aK9lRUdLmNfuOWVIdCWruGgI0AbMtUByI6gris3g0cOv3o1w63x_yuepwBNwuT3QcVagbkLZQ20dfoeAh0VOUorNBryAkST10EyV-NRwB52wOZTX0O3QBXHGvkcaM2AcxmjHVK9SLUCSJjrvmulobP0JgtvxLxVtsZAVIwPvYtdTbOtkkeGi52cG7JQAqVaGGGICh1gYIkJn8rJwnItc14TyPJIVskGuJiJZy8lDR5tve8ofnUt6rD6fasonT5uT_PeXryKeMB7knIv2Bdyn6vxzqF4uRshoLXvGmXZzZWSQifmrPDC124rwZTXRKVWPh9Kg1C_vK48AskJmrUv1o9CbF6k0Pgzeurt0ZWFOGh_uaO0zBrUC2RZXiIlKsDrjP79gzSelD6IATRb3peliHYcYnIU4Se1IaqIc5TQ0ndA8Xc6vASzyQIgdEtdVy3ADri98V33iRejTYv6SYHqOXShUQJTXAEtvIkyL4HiSiGz6NGDaBlOvhPWFzAcmUkXe-CFmzr4cJzu7hbuTZ9teRLhvkDtCcluv0_CjntSqJ0xeHzpayDkdVMYZvAVQfsnX4tPs6seES8sFp6jf5jxrsHX2XEGUU6bZIlcG5L-CQp417Zittn6M5PDt1i2Bt55VQoZBtfj-jqDX8H8fE_h0c5Y8SWlO9kM0ELol21ws-aFIHnBQaYy6cR7Cp6-HOwZ9Q9myaPD6c8Btd2Pe-37sUXuwRJc-eu57vEzK_GFgmIVwcE_ldhJoBeS3UarUHPoCQdpb_EuObt4k_vFCGvon0KeArYwCEav31rGtBOwUXfRApO0cqPHo4SFCOpcXTkVGGtpKzzKm5L52YcWS1K3N9Cln-7WunhHrwYcX7iT3zfO-qjX0ufIzpaWiegYP1FXvm7C4zHaL2Ta4Vq3MXcVP3F9O_N1EBlyil62ElCFNwgZxQ66zY7GKt1X5RuQybDsOBIGVMthPsJMjON610ccETbnnrZnNucmTBhoEe45q2xW4X6wo3oWqU_QQOXKCbmNbLmPozxaPS7f0F0IPLuddmegoOWNxLKRF0dmWI45CYSXxARIFE77B14p1WfMNTD7jWKI8LY-JoMs-59cJjLmdGygvSC5QrekRFpQvUWXNNZEb8WYm21-g2OADpB2aA2vR0R7qc7omTqL3vlzzttJHGxftw576c-7xdkW9-MYeLWufOM3Ge90VTJclk0hzSStFKxNM_8Yf37d-ieRaKTDLTGLAKLiqcW3SSNENdCPKdtKKQhgamGOkClU8Fz87UW1jg75ZH4XIcSg3nw3la8ARmzxqVMc9wVSMASkE4vfvnxEe1rv5R-ned9sxuvBG72Das6hJJHe77Y3RVxf48lExTKufWv74RZbFqLCG2QcwKYK1SiK7GXk0OvLME2a_IddNf-Ja5Wk0N_fBXQls-ZBzeAXfVSbDyL5QLXzCCRtVzKthuIZc2gEH-CPLgcckIxy83W-0x-Z99O2bTULpxFMQviqyhgQBqlABrOL814ept7V949uy2cVKJStOlwDLckhIQjhngUumABJ2TGgGjQaPObddaOwG788M3H-XIZkanHxq_7mAF6ot9NSXMXYfoAnKNcjM4saDtDl2DIrKaFo-HRoOwYv0fp2eAmCsqBQ29KO5nVBCF6x7A7QmEXdTWXr1h_SytDNK1pulru-G8V4TrlOgndIx-nyaarWqLOw2ZKSG-pT9-WRsyZZrw0nogrkU0U-XmupsKvV4v54Vl5aFvkVxlxZp0vUl2WQ64HaufTFZF0fyzw7PAcnLAb331YS1XYDcOK7-vvBVaP2I7nerBBcZzibwz64hstugxDPjAO7ccVrHzja_iLLk--JBkIBGZbEKZ8-3DybbruOMAems8KSffUgnHY22vOaEsAFVGcZ-veqvB7IymR8Pe3UGcWpFc8JDF8oZzt02JoH4ISozOg8vzwNtTjhll5ObjqIirTtjpEZju4XieyCAbSRy3SWEan9lAuP2307cKX0UTIXRKqzsICrB3XzK1LLj_CykDcGyd3Ehhm41IN22BSj0VjhXHARkRyuU9amlJsNnRlJhO4mcbNcYdAhh98I6EKjIF9FLCw4iyOAvSm19mUFS7qBZ3vs4U8hyW7gc6A4ttPZ83q6WrxDqj-GI_WjGgEwUMBhYIsDLztR6evL-i5kHCI9X2oZCe3U6uMyS_kf_GWdmdGpmNeL3USQQktHpnaFHinCbo_L0aRo8yhsw-lmyZmuN8ks6zMjfU2rAjaGbPOeUvqTk_OO3g7Ngm4rtHr1qRcLOnf0YaJWqZpdlvW2LMONCt_K1-AmF9D35ffGqKW04yAhkoTV6ruhqw2RGJq8seX6Vu0RdQl9Y5-5Qiahuq27Nw3vy06KtKcJmiVZVEqGJ3PhlX-bJDkDtcrqW9LOUECWoDCaHOrjz1kFoK6azpo7cQ1fCbYPTd8bxzjyiGc5wFyl1sbCp1oa4Al6DVmTZ_acSENiHRVmV_GRgioh2ZcX6Ypvm_Nm7mqXWRjQQ7IJJSg8EAspaqtPUl2hyGI4evjU4qiMN3qDxn4mZOiMx8kq_EQ-bqr1V0TAcGDT6HFZu8JgPj71z4CohdYfsFE6uN9KPDv2zPblUJhMnso9FOc91wHi5_kHs0Kpqv1LHzoeuISMrHLsPKyApIhnzFgRiwXLT9yLlanyHVP8w1xnGz-6Hrq83js14TyR5K5r8tklIC_HyKNcvo7eX5OB9hxcM_JJcmqfu_MWpfdIXpqGwXtz7MKRFyfzdxtigv5MPUJ8gz_7W6OgOJeOfwZT7wMnYpebjcVn5tbhSzEE-JZEljVeAblrOEtB2ahv8e9_OhbezjTWlhseRg-db7zXAfhY3GJQ-7NLiRVqLgqy7qXna2MsUwKsCnSPhJB84d2qFJWqxDTpyPUCF5Q-NdSa0mwwHafDVm-4rAVicC8KtOiEmf5Jh5Zn6PG2FN2PTeEVWR0NlmFZqAEx8riZeLt8MLX3JnlFlj926M2z44lvmwc9HGAE-lucKm0CUuNZgvTgtTLtDLXpf1kZ7zA1uKUQnDZIKq_jpv1rs5WWNIWB0kyzuKr4aiv8bplF4nEe4Mw7fGcStsw4uSNKvLEJWmhDby4M_0q4gGzaR-uwuFiL4H1i9VUGanNHh63NS081TxaPmDD6rKlX8F0cLGb2aNO7ScLWe4kxUfTdIy2uyqu_65tiDyq9c865VcKLA3Afdv4OJczR9xtx5hj_DMA5GEWdQNP__ohLvoRjGkmkMau96uD70kang6HzvUxkNc066u8rHEmHGeTwjosikkAT4Qh9CWpv4bBA7dXDUpxjkk-VZZcMQHEx1FH3E6dgD8cnc8g0KK1JhhWPc-jcnl8oS-gQpuQPHkiT5erT6RQsucr_xPy98cymqSCLOvDGJ4Xxji-5dK5h0eFfMb_Y9KfiZKgk0ZPCr9pJuYaW4FkHf0Sbgv0H03rlAsHZQ0LM_pb2mApcsXExzLnCanRada2wQCUXjcy99BdPNWEyhivGSP0QGHXBTdXLwsaKIo4wMdAXPupb6f71nYpsRW4vUoo1VwZf_sKF_brhgRRRUN8fovjiISMsCNrBhCfkVDHNrIL1teame8GFv9v9u2ND2t-Tt1LFuyQCGfayx8ZGre5jB4Ca2FI8xyo-11_O2w-CNXoQBy5zASTXWtbapQKWi5TSFAx4fLt8hLo0ijFUc2CPwHJefByElRqb1QQlzGneIh8sBqCa9YDluOzW9dTzm6jWU5ZbCPEgZ9L7FAtsfjqKy7dZWHSKTpYT637Y6UzxCIrICpf5RwJB4FUWJexk5YLcz-L2qp-6jp5yfwimHYyoTSsoDx8Z8x7wWWbRRXqqsjjw5LRYSST8IbcP5sqTF6EjXiLof3med5tssml36UXqKLaegJGqrzTwyI-asEPfkV78ORdkauIbtxOptEB55wjtl35eQ8tPsQXtYml8JTPEj4jUMNHADGy3TV-_edIsJObxEksU6c3Md3PgPlvQyFHcAAHB6eh4g2ylLpgTK6hzUfLjRSyOx3FPfMs2Ug7aLiCc21bIqRD2Nze558VXZkZAof8khMyurhZbv2tGUwBGQpwJrzdwWp6yQgY4BSeccZjR9VzugS0sqT8PbLb6I2oy37pVTqItwke5FNCmxfxefUSdz0W_yyNHPMuf94-xGc5NzQuWV0QkisJYXU6oYg45fwJYWP8roEn_IHHW6vuiVS4KIpHnWrFqx8EkcFMdNxHaw-C2U20TxT6HLmzuqGGYWiXwrfyf0buQeCQ3rwRrGb6opTVOO535_tAIOWLSzi6v69VH9TcBnaTEMJh-cEmzfpkaJNJqxYh4RZsSwNUvfbLMgBBddeML_SHs7qBFV1mGowSVQVWswY8S9j00mcC38syCYgRHD27l2L6_l11T035GDsMZNjc7QDjRBTCHJV-sAvV_bllNPACUyaN3rS4C0bunTVNZ_zkKZyPQHsf3aPzv4yT0JvZZ6uP9lhBf9yDC8QY4m4SRK6XeE2iDgK_iKJCye4v7cC3Gh8_K00ynqSz_7x9fK6epMvgDWPLgjbtfRIcrXeOuwtKPy7w8Gsz1NotF8oFGQfLh3q7OgG3EtCiVXKP-BeH_jWoCMD4wtERizMzx5V1vet9qZ5t2xAd-lVCr5Dtk95I38IHCY6lCMTDe2qqJD_OhboMNt8sD0EzmPcL_YlmLiXLGq0rrn2aHUBY3nckt-rpNPRLTJAtT0csRxC4ZAJHmuTWVcATIyAel8m1xCeFApJg8ESrYKxVAnys0HQ9JZM6yuOKqBPx9pLrXm14IYv-fMOoOVxsJVALYH5LeHayI1XIBvgxJOBr5H1Lq3mLL6VOnQr_QJyfplgJhR3IpxVLxtjQXVYaIt_CjWeTVEz3BxYv_24bAFvLAcujkg0W3JLwiBAuLazJuyadPCdsnvDCmykjFkChKwnMvW5fFWMtwaq2F2x6Vkog3cIDnMpTFBSqbVwTF4sYhKNycF7wFLhZhScx4G3AncAC3NymxwV8I7478CxMthMJ7u9smS2qA3fClKwNeZuj4aiyqOCWmHK1MO0gDJ0cRsXiJIEAoE7OJHb4XvoB3fk-oo4qrR9zv4o9dMT0D4e6Dv6xEiRdmKjPmIn0hCLu6AL1tZeGRl4S5mObcGw8D97I-Oyqr57sEPGXhInhWiBVjEET1rOCPsg_MtUT62J8EXxrhpUV9bzCrHFPjOM6Wd94mc-Ql5dre-s9WDLveH69HyWoytZlUnzaZVRZdGwfHb-oJ9tReUbzX1FKeUxJdNoZIgmGJJ9ONItxBauMOriXfcz8_KjDxtEtkcnjMp2_6X_lN1RfZ8nM_ZJyo50hOq-OsZagdbvlwmcrZywSM7Q2gngMW-J8hnyF7q714-cbrOZKpC44fcXKV9qnJHo4_qJC2e0kQDVxImptaJgk6hjepG7L_zBkOO-PCaAJlxMLH0sBUjI0gpOcJ_T_KvXddo7CMF1QM6HO3GusN57QDeEzZB4f1M2KN8N4wgYhP7JQGBANpuMiV_CFvLHhPnPGIdATXC9n_gs88z7zmLq5c24fluz5oU3oZBcyFBJPZZLBU66KAMnQTXr9do6N0sWGLMRgvQA3HjPvDUWVr-EHWHOCv7tv36Bqf7gndD3dg9jJDinjXVUL087lcrAF3GdNN7omrQ856xTOFCSg7oh6O1YBmEzjnd0RNnzO4UJk265iYMnrboa5YJN51jL5dSLYFdyj9zaM6lkZzRmVwVBK3QrccgvaHBvVDRtJGlCVrD92G4xgo6aorify5LoUedpEd5v1cnApAuFFK9LYKnj-pboVWbXqqjHto5NC6i2KCI_v7B9EKE91E5esAzDLRJ5h1SijYxGuma1iY9fKr2fsuiJWokVl-EfND7RQjg_pcF2QF6jg9SuXEbhQCuCdKG-HI-20xEwZtxIlRiD09ubbsLkU6eDs0Kbe48vX3H4IyvWBS0hjFfXCUi0wiYEdZkUEYONBuL0T5HiAan_i7OR81cQwcarheCvOGrqfkgL1IxcRA05iXx9GeTAY9sBSqnrcDJpvmC6NuXjVf9czLasXXGpEkMCChQNnaGiBEhKzkuwfzUMpHQzOWVqNrHbbpopTrDql7y41_d9eksIF8XPPVolM3ba3h5SL0r2mIb3u4chJftqyeHdD5w-P-hNkmwPfYHaV7-XfrrXN40nsMg5nBhxs8f4csCCHToMZ7r52hzj0GAULNEZvPF3yrtGGlI6Ky41uD5SXfHRFczTYlXwmCfAgyogeeF7xI7bXRWLnJgrZWRyeDk0OEErtzPj68eDKQndFlFXkQinqrg3Y3MUV_qlx6DyrxnCSMDiphmC5ohC2fSly3heSzxSIzs4Nzfb_a7RO7XzfgEqd-InAdX8dkWbRJlleEhV_ja6jn_CDFL6B1o50jxJDpQaCW4niWPJqDcLYCS_2hL4zN5KuN5cpjO0RCRFnxwPrfmxEJRt_f_08X4XcMbJSt0koU2Mv-1SCgCff_jMBU1ZtUh9GyU3HLfoPHynXXwX0CIlNH3tT4fdBdsbXk2IFtvkoXvl1OH0lK16Re_7dts3olcfNqsMd2xhn8_kM1pqnOvj039bdTc76MGwJlYtPpcMBKn6q8inYPxzE8QE4KykHLiwrZTbQ36uiAbYbb81ZWhG26Gq-N9T4c0pVvCbuvrbAboiElPb2EUViA6DExxlSkMDDS2p0k3ULzbSy1aqKphw_5Ljpi0sZXno3tb36mqRPP1aGUD_ZqvmZTMNUS6fXUo-9pDkDKE1DE1wgnz4-Evh4V9dwzu4FzcxPNCY_p7iNkOl0QJpO7yL5IYHZGBSr4s_DQUxLILBizosGiqA1Z4j-hWmrGnBhELPU54ut7sXM1dsLgZlJvTpIMY4wpA1yRi1EjdiJEqTJMGmvwXGmAjq7V07cd-n1_Xc4_00-0CMkVvQxUk5eTAblo71AkYGFgGguILnI1IJkWxNhuDJAArPV3LxGlPfG-pdghnECdSg7n9LgefU8vuJ2uZUW6n9V5tfGQN0v-bFve2qHmfMIkDyML7--eY6hCfP00f2Tlo7fi8pFPBPF7Q8rivVG9Ljnd8-LurzWrNAB0pjVGet9-5tQKSe9uXRtDDpaDf3jYATITd6HP_sgcfkdwQcbtN95RLrqeri22JmcAnWwWNJYhWhs89p4hKxJjHaAUMcVlLzDE3gBKChh51rWZz0dU7GVne_IOhTVCc0SBJXqnUVQabzqDu3Tb1pczIN80OPcl59LCWbxcE4M6gd9sXeGCxyKbnHCvUqL-iObSji9f5Rzrr_ehm4r78zOEU9S3DOJA4NNw6pJ--XbxbUEKFSw-PPYQcfPAawFGn_JSAcl9e9xo19ObolxqfHXFnuNsNvczb4Kni7jRASxZwuFAGhhSisQlCOVdmIUh3FJVGCa7ypvaAzrH39BF8Vh9ObR9wzg6HPwN7Of5bQsVoYGOIB0roDOZruUdpG-dtPWjkJO6LAA54Ljb5d0qWk0k0zdaLLzBIUdCxz6SpN9oHgcbVsz9Hn0QX1Q2ttRrXMCHGPHxk61ndxcly8ZjPJRAZ579Wkj81NYqcu88YVLSWruao4pwcY3tkL6TR5TZi27nTITYdQZXmh0HmnGIf6maj6btZaPBFOMv57TocPGjIY5pTwO1e9x-uinc1Gz5Z23pQjAJTasrX90ydJ5kJBQzI3onC68BO2psVqGTkaHDpHS5ZEpEOJRPEBfUNbJt1J6vLqbYSt7o3esKfwNA2YNziRyse2wjNIqWYhBhviI4kjdSWRVyZWVIsaQHoBZahtxnAlJwn3YjL-IoYRUOjto03UvMIDHL0zyUvbUL4wGwgi8VNcL0D7y_Gz6SH7g01eogAE86zIsj1A7AAt9wmIhVLkTIhRaBcg6QbAsKqzChI-I_p_j9fo0bxdf2hCMCTmohXfD1dpLmU08_SCYRTRyurCdwklMXmk7WZvw369oedm2v9vkSKP27DbEFBA944EXlqWqC06V6HKfFmKMBV3MYpQrIL_WQ3b2LQ94oJ-1N2gUiFJNNlrL-wAQoANMN1i6GdDlz3iDNbC6-5D2DuNvIZNrtDDzKytW3rrcHHeSoY6_bltSIC9YPEequhwM8JC42Dl5MpeFo7G6pl9GOye60swh3lFBT9N1YOSaq5tbsO5UJIbQtX5S2PQ4ICdezNmsL9vfcDkK_ZzEKPkbvYsRJorsPUDd__OlSqDr46WOBLyVdhjsncjIBUACQHJDFYqhd1Y3TRtm1YsM3tc_OCp9p02uKVFFAZ6gSF9FL_psKYCBIfgkVH-UJBr52RK4zMd0YYAaqof2BkqU7CgtBF0ep1Q-OzLIFntJ9_cmp3pDObHyGkkC9my69c13WDwL-X85X0n2f8skRRUImrM-kY8N_6GofVyrO5c5Avdf3dfqUAHgndYy-p4_zDY-8Q93IODag9bnwfGqqT6bqguvN2t_7oNO45Wvg_le08BM3rwOftE6CTfM5FP0WWCIasvqLxd6XXhkdkKATUHQSTLxOqvCcZHViy_7tR8n8bt-yz8j709a1TRJgBa-NR2b7N1UqfRemAK0CBfbeDKxkijV4-Ew5nu_C0UJtcO6_EbC4mSTEcp_xRevxSlXnCbfrLsQ-O2UJtHhbyLSUGG7rhxtIVV_0TxPkc3ZJU9Ehzmjl3mT1fo1NOg8Ubls3E5ynSS3GWAg_5nIfJYCOhH45BSDJza_8u8_7AfB1voBHcrPSZVqrhBYUYDobB8n4qevVSvldk7_D4IR3iv0_IoLvKj8_Akr7hAXMNw-5QIH29E14zjqqdVWMISAJ0HeAjylvpMWQhaEVlxntK8hVWOyFNjxk5zIFbThanLk0zT9nY7BbzMltfRlhYvfxXxwtuqPJ_Vku96W9wv1gF_gtgc2tpJRuR0kzzK1XIj6pDbE_U2_Eripjt7ry6HOfYLXzFZvIpZB5LvDApQx-it88zINdfoLr0LAMqn2ECqEboZTQjqBjrVsp8NgyMfYnp1yn9NTQIO3hxJmZT8SzZAdWJm8aPk-HXI9-tIZ2vQMw5Sc_0m0Jwx3LbjaIqOfT2MI79MP7cS_ZF4f4DHsKagvWZGAyAkCsSHnTCYCzAAv4DN2t2ZPt9wCQ82jwf_h2Um8xXeDdVlQ6kPhc_ucvfBn7JUERnVau0ruYTDnzsUllRztzmO-DN5PPgheJR_HPro6VY79GV_xYLagDO526ln0-qFs58OvoFllQmGd03OilCRGH83UEzU5SCHRalVUodbEAWT8rmewf7ws0K-TNKDDgrM-GD-6wY8Vd32xPeyZkpfiKn6alNkBimn8g2aTA-kAl0Zna7E-9vmROfGY_VEBA_9puLNP7Cg-cxOryAoT-NKeuJQVw3TBcFBM5o1sFNWB4piZ1m6TNU-OysUJrN5qylPZO2YH06C5CFf-rNGV4B7Fem9RYYZkd3cyGz9uPyMIb24wt5tdIHjcbPUdqoHKUv6kGDZDzwxdbvJS7WLTslo2reZWY7FTmdgcyq9HkK07ETP9jZkhqy5U8iCMI1pcLXXJ51FmIOvv7KAdQYj5k0fGMYhcomml_tWlcxAiV3Oml7GXhub9cjmv_yHGyOXV9NKdGmiKSU8qKMocIAiXfrDQGOF_h3BSa97yqr43SNOK9nKKmVwxqIXkEk2TNGi1SQPfeX2xkXHJCHuwkxq25Miaavdw4PSmDE56SSaM59O31W1RhOFj60r0q44UpbCa_VtG5c8wtK2DOnQFI5-rdPBryth5G90T_F90GMfERn2ZGZ5opPNckeW2HvPQbNlJ35PzH-mDfrEWOEMw5mRaX3BPIxmeHFOb6r8hDFCv-qaFBqJUX6yYuJtLupUU17AvnHA94eB400a1Mkeav15-gABxLAlVE0xgueVuaVzjkSQQzprTxHmdzc1MBSnVhZwiGlXLIY6liAS-Am9n3-Q76_cE13R3u6mzlbX1fQuLIgo5RIToTXpBzse3Uupn68SH4p6D6nM0nsaTRSEp8YJvrGBWs0TPgoFycDQU9_xsCaRSINT3phXm5h8y1fPVUYl74iOfqRHS6YB_uw7gPXSMAm1qg0PNRhEIqi_kFZUO_2kmW0mnyO1PXHWmnI3yZFUcJuIlIeXL-SToo6zv-gZFMyAjrr-_nO88anf0-qloXmK97pvCfzciTdeM_g2es9F5998W66k8DK9dZ9uK0r58WU7F8vdPrC958RY-Vd2IZZu9d5py55VHQr152bs2D-HtzGVJ7R0RuY8mvZD9TZycSE1olgSzIjmE1JnAI4GbyUhQZLjs35QfmW4677O1Bk7Xos36hY_RCTpfeNM77zCcFC1vg6GiTEXMoYGHIIqPUJ9BbfmcI1sg7alBwzQSS9OcL-V4lsVrd3i4aiY9aQY81gK6a37l0YCDjMXqK01k4RfWUq1EYnD586y0AxC4FyAkmraplVS_0ZIIad9hA_aVpC0fkGMRCw3hNMV1u3P9z35vUtHmV4nr9b7hlH4yuaKv3x_4-W7XPYPm73OHbyJvEd8rTMcCgXbgEtoVCV2KwnOtZN_O23_3GwEy32PruR-WSfxlWfrz6zZolFHYlizOeQ9RbX8m4PhX-epLfozCHk61QIKHSD1DKWMt7Q-D27NueCfZTghzFmoWikB31oamzytNk1ebfG0w4f4-u0ZgmNRWhpqsZDkoolKCATZd1HP2oZgU3oPu_T6-yxPXieMWia6ixwajJ_qqBl0vDjffkDkKgjTQN0MrHUkYm3KBA7z19b4E3o8lPSlBqBjygXskNdQRhsqpJaHhCq-EKIiCbIpSrgmDUzOyZguaPUTdXOzQ6R6sFKLcgIxC9sQncQJ_Y0tc8Wv3_sjZMRxDPsHC6JCxGWznStO1D_1nOHVIUbJRP8MnOZ_0wFDTK69QFRuQr-QkkBIOy-pWYbSL-duYJhCBCAFVwKsAHzZot_Pmq8v6AxYSXB3u5JwTuXYKGIsu59wJhvX-w63YPA4M_qImji7wRZD4kUd4hf0XjyCMhPKnznOl-M6jOnszRzV_PaX5xhzXUlmkWvyscUzjgPYfw0rfC-Zl6UVjYqw5wNoD7vHbr7dcqP9eTq3PwL0HH35VYpcEu8KFIfIJCQ2hjHZ9t06TPtHfDj5UyzRpgIViOlwJ1YwTp9g0VGRgWth5x3mVDMeJro3Bexe2iA4ituaya2NCV-GDWyvlBCTdtRErWavXSwxyBoTMrBjSSefmo5RpYOeQai373mpVNJgxnE0z1q2fZYfwoXQev_3HjaYJYDd_vebrwjpvtu94AW9n-BHrHkj4EWYzPfo03eL9W2UgtniiucnjrCpw6XXaX12dXjxjNO9HigaPxEUmCa0OlRAmQKfeXCot9TMFmyUUl8IJkzX8FnRqRtK31dwSQlceS7bBcYbhJvhhpAD-QFSEvBRdx1pX-lXz26sfZbNYdVHZhCosdaic0VXonLQiVNCP_Lptx5VSSJ22qlHP7rKPEcW2sQXcv6S7apj0UgxovCkAY5hYvGQ6CbDlEKP0NArDv2RwDx6vDafE1zWs_OsmVsKa82KMuwTTxPXneUwHTs7xuWgnW2X_EuizcE68_zT5L9w22j_xz3KMuvUpGrXW5O4UaAEoWtQc34gQN7ScIEX1VVCxQXGAzEqiFbwt5f8GtpP3LlP-alo8DbKnndmLQVNjPxc20sOCNO73n442AaZyufxlFWrGO8_eFamIkP1JWch3nB_TaKQzPUuVTNUhC62doxEPoiEjquZyWfhaFs_BtiXdfXnX489sa8JX26gNm_3-WVkRG-uRiF-2qRZL9sRWSkpBXAYv0wsb0SQDzwuE9iwZr30PPSce3mnYuXv-8vAssp9HGPCfjpWkfOTHKsDhu0MQ53ezPRIoeCRURxs_lBpnjLgtqo6SoaWsoI2NvP8UgF-yLHZ_JXNnYFNuIJL_0Ak3peT8rROKcuLsiCNpK5P4DEkD63XqPW8fhNutqzYkNmMVOwmmpABkEOCv1AhXQZvlxuhI_HC9EfCgTv9gd-qqj0K1mgg4QteSBzkD6JxF1DYfBVjOiZTBtZmg6HH11LuGWcYwOUaQkLYjgh56BX2wE9f0JJkQuhKypZ-zN4mxw-M_wokV_0HAGYsRbi4dCzS1430vlivIO1Hvrulnh0_8reG3HDHuoXc4R8rtMoffHOk1yURyDmOfrCYc5cFlZFXPRRHshtbdTtBbSU0gym5Lcho3l1eCwAYQ8S4KHh1OpCGfjkmJ0uoO59VrftgnhmYWYVE-fg6882j_SZeuKbRND0gXh1D7rtLh2NKLQbp5hJN3dc1YTaV_xV-5mOBadKeFqlbKbBldNZCZEKzA0u1jwFKPk9PUc10rRE5WJTTMXJT7cjC98P5pGnnOsT2x9HW3JnLNGpgRliqpJEHYcgYZ70o-5f4DCrKKhi4TkDhGejyhT2aiJfRikEZU7ibTQ_KYmVWtDaIkX2InEt27YR4XiB4Hoyfj4knlCERXfthKSRsPs4T9PJLkWizpKOxSo-FU8tvkS8CBe6Tx2wVrylXzdgwi0fHERsyx6pC_dscuQ1cN22LNjmRdV9xV7G_ag4QgPrExRfkkrFM59HzH6H4DXoyWpzQZ_GXnLsANn-KieT3ck1495-LruNaCM6cjYDSEI8HB7p5-2DS5TinYp4MpSAOjrSN_9XezUkcUpj-vAxOstqh1OWvDmo8gGj_rL2UB4eousO9jYvSUgwgGT2thptPMiB6iDRG1ckSH1u-DPN5wZ-u2tTK_3L3K-c1x2PxzIrABo8ITqdtuUwzb2E-UYsCnsbVy86nOjFOmeJX3MLEQvFjpzl_NY5iuVUxDRh7_I51TtKMtSDvoKQk-bURUsqrvqS_JAtDrcWnVtS2aaUB7TpniKWoX-6l_Wc_UIHlSqQF8iedwu4fnyE9u3ldrMKvt91f3mOq5rYyCXJydNcBAZ8-j2HTyjpjzfr0_q-8y_qKUgeeqi2BkTN4LWak5oN7kL1xKaKPDRn5MeJVjvK-pbaVVSW7Hd1pqJqh44SH93x3hc2bKoU4_P0DfqIWUMswStYbKTueDE0XNGIhY2aiJ8d8ZXHXFyvGd4JtkrgqhwAAcsIC_TrlJ8v85u7ujQ51nCpEnVumMtjXfFyGAyI_2LeLBpO2n6QDrAK1dkv53XubKXg7pWEEz5BuUI8AxSoKuJjr6ov00fg7FFFMF8mn_OrxrGOEQSbvw2gd-XtvIQoPG2TNxez2-XxGKXXvRR7UUHTQZ2AF92GaJ0gf9MA_cY6f6MQYykof5Zu7aCbLXoLwg8RqwjgJ33zjpL2GAYaFUzOiWT5EDRslAJtWEacK4t1ccJK0xS-NGLu_aQkUbyqRMM7dB26dh6J98Ch_O0EpjOduUexcB9kC_7jeTbTmMFwIV2A4ZdyPhoBDdOeUXdN44efxy1p5OkeNQQoMZLLuWM3O9rR8HAul0zNLNtW5-SFtQpf50kEEiWyrd22QAZrR9cG3kwJvJgbGVV4tXH5UZc-sDK4RxzrmpQapteHdP0I5P_2WxWFWkPU8rqk7hEfGYvRBPkWdX2nl9TuYztPo5fgan6C364rRGHLf42JUClMc13FuzDdK1h2rjWxAEfQzO0i3ap_FCJzYa3QjDrLtkEkJw5jBMzsnJE2f3F-vnGGb3_woYO4r6WH1Dg27rDkXgddlQ2VRdnrLRGiwGMI5ZVzELUvtijF43F2_5x9tRb_hjdJVQGYS7388yuv02NFi3wcZwyqGRWdgLDBnjDzN1FLmtF_YUdhfmJiVrkeGvzOkvP6XXSeFagLmmB1UVCUHohZvoM_FbVxuhA9s4CfkJXQf1VhmyCjupILbyGxyiPGIwzMwLIc-Vs26-hXictcZSbK3wA9MgbIc3RihEdtfTeCWtFM35bHRkj6JrWDv4i1OpUEMSnEXEJ9tSelnXeXFSr6Y4RU-0dBqTA_o5DYvBqywZ0wlkSK67WhA7uLrSYQByxGi3bcRIOJnRQIKif5o-VSSkdP16PruYxMEBHMsgmd4Fc9J5a87Ain6QM4R3SWFJst5ot2rTV6EfYhys7rS2ASbV0xNAJyZ8HZNLgc5SB58G0uKxfS5qPFAsO4J8b8Ttn0E0L5azfw4isA-P5wTq4sh87eD8F7x9cAEYYHHe4MGe8OscJdrsfR9jwk3fQTACbOzX4-xa9Bup_8a3KVqR-n2I09xjUdpYHrNGlBSvaw_saEMQ6GM1PYJuNWrkSzgRYHQ0TKIk_63ZSYtqcuSCz_YDqKlseiLZVi7880tuJwU7Mkj6mqyf0pBASVmW8lEYlBaFHOn0JEtHvbhwhKGxxof5D763k9MaO2hW2qRzyjMWPlWR7d6MPkErhR26IQrKTMidi_5-hu524tYqMErGTo9hlsU9S8UNCXimiiCwEig5Pa3YoWKLWxyiva3yi9Vwb4Ir3FjOLxGmnCjXBUxbA84dnzcAeRrqoqfLLzHxMpa-WpQAT9KBQZ2NZljFWAt0g1d_0mH157RzL-Sen3g0If0UG0QMfnKDHym5jGCRe4FQhHNCAlGPqDm1wlqUw3cANl0Gfx7266O5j2Rtrfm2ODXpaVF5_EWVCVfqBWwkxnBdBPSaQM8k4TwSoUoc6k4YStnGibRQsNZMi43ZDMwLr-5IhDOyqilFzKtvhcnHx9L9m4hqDt_JncdKUduir0vbblag9pj_GxTv-k-E4QeIBJ5daqY4qvi-LIz8F0nZMCmmqRkRazCuavthDNY8i24zxqGs_Tv640bGdcLBeozBaJ6R3TeSPmgX3sa84SxgrZVPIuOsxtbKaB-hpGbSPIdtywqhxqWtp57XXBXcv6c5FZqyZmZIaIGob7risuRRRvL9K-g2izx9UZ-na5gzcqEhh9t_-sFWG6lu-7HNv1QyXzA_qUUVic1bGf113mtxADPIyKtgkbogjnyLCHU8_SBGRiufkOf3tO0WyKpPJfjGYnn31ciCGUIHz5qvqVT9kwU1rbOCxDD1UmPylzzbVbzRSGlRGgK-cprwEsLQ1PgPLtoNFXNX4Ij9dR6FQLm2ST5gAfKuTYhtfzG-kKe68xj3T8f_ZnrR9k-7Yx8zHkv_sV37K-b_o06k54gXyl6Xk_BgefE8tIYIn5laR9NmNzza-esLky2NerRgZ3AKb0ahXwHuhZN-ZYK8hMqAn8lwKn9M8g29uFQmzZL4kyTmEA3W3Rxy9JUrv1qqjCck_lni7cwPnUMpWcj8qXTKtsew7N6VqFrrboZ1jqWFiGCmpCuTWlN0tgFWSfzKjm6H4laqNxGd7sRUXpAXwjIccA7VW6f8OvRY38y3DLtw6GqLVBSzo0rnHSZm5wASY_-keWyGmxaG8QzrrSrNWsGcYR2SsnAxNiWydTBw6LuripGNiA2Gla-y_jLmgnL-RkqwzG6boDVo7o_7qc7ZP_pHSVQwLzuEtPIZEu-VrQP1dxDpy5QvLTRqgWt4j2DjvRRc2LvmhHmsIsA7eSGaG8lVBbAKke-I2dJDhErLgJWfSMPJi5kkdbYMGOQuhjwfVnOYG9d48eDBnwl1MecJ1PWz1OG_iMr2ZzRq_r9FMAJ9w1wx0r1WhzznfBpHj9FQ33ac1dtafHRafR_2ugiyj4lnvHKmZuFMfj8JbgVsPgnfddWmPztv-V5XaK-fV-EEcJ20TSkSrQlPdfOOCzGMYNyV-7AOnHdzvrbAh-T1kEj1uUrrPNm_DStC75vkCOjoGe_6GeclQhYUeS0zPI66HBGRwhdQZCSjWRw6eWBlgmLAxq1B0VMkmmsgQjnDIsDQWsVQpaPSQYH5KvHu_o_hrWpbSXILhN51tAAyBtGR02Wtm7ms8QbhO6KCMbDXuWE973-PhEVZuxE_ffNL0MqsWuS9GKAAo6I5kkrvEzpb8FLoTX374i4YmQUsB4bxnRz8R3HJ4r9nMZvOysppNz_78BMJh2_XGW_9IohV_mnCg5MyN6-vHtlpDTLWkpPutlnfVJcaBoTUBufVI7mf8aJbT6ctzA3-EasDN3O6kcdfCccp3LLxXIpIL9x0ym9SkND0O5jjXuLPPzWiQKF37koWzaMYJ2C914v6tN4A7_x-XR35B7BAIDddL3eMucBeXzdVRfuIlLq6isSdvrsdBqZCht_x7aeJ_DlTAeEMLW58usuEeet4y3eQ3TGmqMyCw9nnGiMSlKlX8cLwcO7796TsosQ7DIajGitN-7ky94F4ThieR3XUcs8M3XbCevhFIsrHvgqjm6hZLxHEQ3Wl-W9KFBmZrL37wj_QeVX4OgSqi1ZfTZuHjcdQ6hi5JJYdQco_7nsV5Vv78PGv85zzpRQPr2rS0N60XiCikwnYbP7IY474NAb1HpHByB2PXqQXIrcxaBmdCI9QZTW36iMNIZxCdhO08j3koBCauAWkJyC9BGR8ngAHNM4v2ZulJZVB6wNtt3vCPtOFQEehQw1_R0-qMy1mbPgk909p6TPFnj84uf9KutJWg-0ieXsSfVMsW3kMsjir96O2I0pXYjHgsot8HaldZzz_wxL3MDSyoWv57Ml_BCe-nSjYtdl2mrfG8-OP_ViQA6KOUlHPauYmQPe7HwQe7ErW8xTeFUZ5-hxXiC_ZMe7xPH1qbjEJcRvqymuxwtwybblwjTqXCyjpnFpVjsaXxDtK2oyZJDf00UIunvyEddxtHIY9J6FbP7dWgbfxE0lEoeaAkRxZ4B0zyqlvORow27cKlLpQrU32CkQOSwZXWMFqyNm61LdtBhpNRqEph6Re6b2S8hkSI94q6-HV2-YAfcx7sr4zYpo8ZgU3Ex1jZswVH3tL67G9yIfdu4A5xNmgy4Ziw7FFmwhwhwxKVZbDo_7BLtIsit_P38r7lYJMNeXR1wEiWzFrDmt5d429bShgmGDORPl96Ja3pb61je-TeNzIdvGrqD0x5YZ7PmtgZDHysSgURpHsnPQxTfNk6yKzEcODMv99yyAHle9e0t4sI31kYIOLuk-rN-xK6iPjHmCdBfZrLAJT20GVJUfiHMmBPPT68V5hmsXXyWLkE4k1tnJuaQzf_qqsQgKWsjXRm3Ua3Vl7avAV4bm04KYr2tDQqLx5LkLYnQ-njywx8LTnd-dERxRLpCvkftq55jm3AmFSG4pO6Fb5g1Fehf0hZkC_67pGNx34lbC_c4soXJjHdVnrLgCQ_XTmvgul6GXWHoWNougJoYMXCCaGMDxAM_qzctEjXcTirSjaTvPaG2oQisb3ah2Qv5hzVQI1wu4M9_TIXelHF26qVoWZeJ33JhB1llr2tDyvMAN0r1n99WwX1eeb72Gdiay7ANvytLK7DNvzWGhMWMfM_qscyRVjKzGc3ngy9q8ifGSlvKhbVadBAAufFFMoNxaSpQkU0dgcrt65PwTP866zRc7n9bMCbUHvR4uDh0l6RAaqP7z75vzog5zT-aD-ZxEKrWllX63tgArCtrKVRZAOwrWowDi3rtoYg8eU3caTkrxIGfhMTvdrQJbrcvs1ZXwNy42t_4I-GgBu8gSdEuj-cCm4wvM8qAoa_9toBXjxmqT2BQHONMLDzRq4c_v_SctcQmTo_4MLXXAzs8Ptx6N3U__BiALXj0iokzi9ssIh3I-HaUak6aE9IPah2RLXUBCX9u0i6P5V71FcGdXGKVgq83e3bHZvZZpNOXQOd2Oi6H9lnFitl_keCPXz5kN_vBEP8Lx5FWDz9EBv-5hmMFkfxUCOLWuwBaTruQknWKo65T_BC92MUsXatoK6VpDuu8O2GlzCYu_en_Ou4FAR193oGmkMSOpDPDDJfrhQckSS-fGeO3PD7Rml2CKjKFpI88qWKyqr5QiByma6nhHise9gt8qDlmD9iUZVKhEWfHGXJ3A4uV2vnV5lrWE-Vw60TLPjmgI1dRYl9X-sxIWKoj85I4Odp68PogA4idYAJLFqfQvV6cbhQNn6TF_hO-EPH_SmCOtIYRD1725DenMmnviNQrhxeqBdC539wblq8H9LkIuuXqnQnBSYy7U4e_TK_Qnd-ILhX02snlGt_2wRvJNVIs65TTh1GFTK6JDBbZGWfXBIhgOJL2iSuIoOb57QJ85193xrcRgFdN-NwYO3DXaqQzELDnbiVjFaUaU--bEi2XS80TpehNndjCG1HocJN_oA91ZgDDSZVp5rklpSFUzNRK70toDwY5jEGDTNb2Y4yY-Ca4-Q-WKQNXPXvYFFbr4BIxIfcFmCQgYSe_cBz2FGU1Lq2QiSMO8LIEYgmP6DIoFSoA_Zn3XO4AK2EAxsh2P1Bdr-E4Hl61iX7Yi6eNPmP7nH1oiJ_2MS_kQnoJf27OwG97wLqlT-GYX2CWjHImVVhUXpl10M9R83Mw6FoTRSN9-dXEpGZr-eyNPuR0TbUkzgtO04QSV3z1PoKJW4tBtUfWhEffyBBiMsvfZEGvh8BINjaOO_bDVCRg9bCdsKUH0hV3M27cFKD2X4OFDBekeFuHEUcN_NGMknUR8_ss8MWrPJviiQavlDkIFajF92fiNLXVRo0bzeqTJP6r7YQeRKPKfU6wnEDmoKFMHHTu8TItafZr-bKln0Q3E_-Ni-7hQSC7kwmxn5pGSmMoe51q-b1AE89dZ_NTg6l-8SmwvzvZ-PbFwO1vGn-AWwbdZNzNMVpyb4w4nvzq8dg9FPgIgLk0c9fpuSWHkYLp4tW7DviRLtZy7EwS3O_0Jwn8kHx71YBzkYYgJNxMSbv35599LqTZOvRjODzABG3WuhDMki-sJS_VDxPOaHLs4FIqHA0sfLXeSzOM9FeI2Bk3yOuWyPJj37ZLi6VbhZwB0slFB8EkHLiPziePmXXVWQ9Ek5pW9_qUMlM_BSJxTEvn80LO7z5SE5GXdzurQ-Bvlqar1zpnDLYLu-A3ALW_YCt93fwhWLHLc9iS3PkDfMgg_R6BudEeJxdQcR2t5yaXQM9NnFCCgXVxsEGvGFbj06reJSCj_ho76rlCz3jwcaIiTonuMuFJ_ytUZ_jlr4ggbp-MVv6CAgxtuqMxQj98zuiur805aqroMg_VI-pq6z75crsyIzDF0oFSSShKDZRSa1gNrAD9NM2_xbJLayux4jvn5aM1e5e1N6u2bkPKpi6-ZT4N0HkU0zXLjcvNWISVnKbQJ01KtYm9hZp6Kr53_3sgZSL2jhrVMFKD84ORptTWXGoNl3zxVv2Vi25QeIUoLYyKwkV6xvh4Hu3Spntbp-6AjUNPXEJLqatwtueWwJ3Ro66hyMLrDXFBf7i0DHAR7GTaDa9Ii0b4Mc0Uu0LxUKEU5VnqMJifgv58BhvWtUTydNYcCFFM4srRa2KuscDgNEXc6vM-MhiGBMqssE-z3IXnvauhK5I17Gh9zWeZhR-KZcc02BxQn7-j12sYY8lq6SVzBDZ9ECUqa24C0iIHWKEEDsQoR-33oSqsYFPwQsTmU3H3NViQhCtkoBsIdytmhVm04ChjFkdiZBULNw1ZOipR1yCV7wcE_aoh3KKU9iOoYHVwrr1Bz4Ayj85fYCW4PbJRAi7Vvv-DspyZnxg4EhUAyjUrgDRfGbS_omD8TxhaaPbVZ55mY1Fq_MhGMJ5rMYqhiJBZb4nGYf1T-Kv_H-nentoayTPkeF207ZNt1HMMSfXWLmTrhGGRwpLIyzslSy_T4qASQ5eCtqwCukS6b4QSLCEbm4QFo_mxDBEYAIP24Tsruv89KDhC86suRHgcv81PFRwvqB4Udn5dCmWuXd9IbSSAN-8xEVbh0wogJn_pAAmbr0DdDIWRAMou5ekmzRAaZjcfLYIvZ8mAqh5SHGtOXm9Am4x1iadykrJ2oaQxaC6eFVLo7VYDn-10_5Ed9oL4ZHgmQGapG6ewZ-v0M4nm2eF75NgtGoAUm_M1TlTqa44hUvtFy8O-MKllWuYV_Y-ajv7LApAihoisSiCGo0LmUXPZfyVLTPkpfXn0h8mW9ycM5TSnDRBOLWfAd2ObU2U2xmNpw-QoDcfXpzdayLNwSybZfCK02577dGAYRYYubDp_COqAqvO9prf2nGLjETQjJUUspndROnqtuNeSoUgzmkLKXsTDk8sh9KOq96J0hmsU7204TQUf-5d19_N5l7dJbFU1yO5rMVPEsVISAo3woLnR45mbd-3iqWUTacpDWqrehWnaOdeEP_awyR9yuf6-DhTGsQEednEvhi1nAxjIhlYi3mdOv3ziti3wQ34oH7lslTTROIph4Bs7-Ryx8iAZfeYNCWJv1IfNfpk7MEk9caXdWPNvSchHNmyb7ZTbOND2tD1KfWHkZT4C56hL8DloL7-UO7nP8skCaaw9whBZFHwtGjLxAYzrcbETXr84xMX-F0yDgczLnc8ti6ID6hwREzi5zpVNuFucEOXxwlhouZ0czPjkv5vXh8vSr_wrLiWldbAiXNCQGrQfrR4yieyomcsO0nJPySja0thBSMQhgdUrDWSjeVqImgMjy9DRciC4EESDSrYFHFfUU-HcWQ7uNWjsj6BdobyOxop-1P6yR-6ia04e4oepqzUTHkLKOsKPjTrdc8fapfDeL27uV51HPYoegn7m9yvJvd1a8eCv6nUcE63vMhWdPMq8BuWghj9TROkOM0UpUK5MO_HooK5yUQO2KytczXQ1sBu420EJoLqh24zQwalYpYPTfmVvuzvTJJKTY5TtyjYhJ18SndNty0Tky7DMEjRYBMcBkSorf08oS9WYl4BLTe5leNcfW8d3kihmEuocao60fOlGhBRjocoHzAPamhHDfZJ60QqxgVYsPSDrUk0bwqF94UcZu9gnAl3jJNrfrU77xwJfHpPiQd39oEWRAeC3hajNTuFq4u96qDbMAD9GPxW3MXb0CcBau6Mtd3gKEqZdb36kKQeW7QikicplPokCC-_lf2ggLj9SH80n28WZ_XjkLfDQjgQ_FHb8gE2HkNrtEz7oiK8K_1WMxzuIHvd8rr7qwqkwNs8n8zgMwe2SDULMknPq23xTe7EOsgQIKEC6LqZ8NrDnUugGHi-sGVEZxXTionSkRnTKtXtJqzten-AKz-gKGKYlcY5AaYR4i9D3bf6O6IA1EZJqRQmR6HOx7jBvyRRy7QD3Nx-8x_DHDDb0p-wcXB91QEdk5na3-ekDuK6P4ltIWbDP2T4jEDQKOkNWhu5CXQXOu-wNX2rzsRJe92XVOtAuHL5MC7t3cCWdLNhMfk8DFvdlhFVJe8ujBBeC5qKGsl0AAyAf5BleZbrhnlrafbIu7C0j2lQAzhyilzhsnwDUkfTQAE2uRUm-C8sGj7Tk3g6JBlYCvk3ekDZVTA-7wYlJk1zjDcvoZGYP45swF-GI3VsuJkXhr4V288PCjdOvmBNuovmkcOS_fiMaCgIJF45v0hjY-0-oYd4R5sh1L-wdWi20rtxR9lG3lK7hCQf5f9SlGYCNwDS0wpOMGeCYesh2g42BtNnPZDzRUwkurrhHGmKrulG8a_l1OVtZ1nj1mqbDo89jqefUljM4bkiXkD6MNvUxyytTuor-InW8srPlrgK5jjlnjjfcGI86BFNBO_VScaVU3bYXfvjrdk7Yg8e5aSQmku-GL2-3i8cPdBxiKPUz0X6vyz_3ruQ35YCz8zjb4MykWKkMBU04Qt2qrda0ZBQLk1RhgmZ0eyu-SzXnnvphWG2SE4LDN6U3H1c4C1GrTpSaxJWPsL3QrSJImrxUqvxCzzXsGNpdnR_6tbWIVufLWXktL3ZzBmgIMzdkY4Ux1_LwnQ9E1BIUReC_DU2wy0ChCfzsi0MMxB9ewpShx7OgOe7GCjZONj7c38P074g2xAdZ_-wzFvyAQ6Vy4m05C5Ro14TFCIlchAjVJX_bcB2wL4g3wMBJjylUGWIlF0tUXAaku6MTmRUWo-EyNnfnlWPl2W1fQtgD3sgwOOLU7QPTFqV-VTRTi-_Gp7kk1LwsQopv2vDpzwNFIdSVga0dYx7iPgsF5yAmZrH_tBzJD8FUztwFDgX7cqUlEm8w8c2FBetGgUDVsy-7hyOPcYPu31-DDCj2dGs5weRVknpRwytuYaDs5DWcspPxQQ9d2ycQmK3hzzWPGWHi5ByAsK4FGX8XsjiaC1RboGEfnh-DyGejdLFhXztNlKgIipXa3rJQMsx37PkWXcd2qJHybJtrHwffDc_dCCkOIl7gqfuEObmVkMz1EuMMMnxxqjvCuX4Mq8tVioSMr3g_Hh4kcOiXVSDw_1l_R2C78-wT_CP1shfQHmzpfjLcCqziG6dQmjZxUoyNg2mQ6fPATh5EAYKwnU1Kbwpr_vSI6cQSmqa_V_IID8D1Kah6lrbgheb7MbvZgycm4GrdJ_HUIrBel_kRcT06S8TTEZMGQBpQiXgTEoyRF_whJ5PJbj__hpKN6yy_Nb8Ws2cAw5KIehdW9u0LlD3cK_6L1JkD2z48UpmEXaLtJD_XvZuosSMHoQDNzVpvOVCR8pwqtuW5Hlj0_qEHW5tW0cDHjbH1s-R5pQceh3qeiNlGREZpfoNHcQb_P_WzVWilPq4K3noWdgmdD1XoTerIYJy4ArlNLcaBKGVX5wt0z33KczR8CSwRACjgMb3NNIDLDWysNXC0BspdsP7p6QlXbhyDDtvxIHUaGDTb0sPDUA-lnMu9TBWR8PzpB520JDYDpOjYru3zduENGDQdU0yBn96Du95OqyljbXbhp5wj0x0rcRFanBw6JtndJ92XgCeU54zvR34V96wkCM1XMcrjTBkjsG2m8gXPm17Ci8vzkXy0CJwm9Bu8lvgVbJhyoREzrh_hSq1tKYBhYzJvNRxk4e8NfI6cKWGTEMuiGu_SOnv2FPDIDxwj_qOv5aIpVmsdNK2CmhVjQxN0Uyxogd-Q1QVD1oseu9lW2OYhibPQf99rDT54J3EF_i7pfbUEjBPrGvW9aY1gVNj_KZglmPos3hXGCKWYbmsgjSfyLiBwF07LQtDrustjzc4StiC2Wb-m3uMjzzqiE3dBb2rlvUuSzybHUIuw12wfXZI-DWA6JfqfyA4CcamuCI-7nJbQGcDASluy7Bu2qgUuFHKwZ1ougT-YKEYYtqeFhNnHsm2I9BakEM_U4eEuTG295LOGf32BMrHX9JPim7NN-xjnbKaSH8tQFiBeP9oVCBLe8hGO6wuVCp12jnCGqUUokVI-Pk39szyHgwXHHkSTsmgb6YQMbkGKqr7cIEKj_s3GIjOBVzkve6nrgWzRDPi7kMF5zly3ihaEL6TK8pCFgddlsB0qrAMo4FYvxTnm1kpC7p7engknodpVGOuSelG9qFKIn3-tGqwgKM4DOyTCjF7lhSNaqb_PJQJ42q9f7KNaTWNarQIfWZGrRf_cN8RRfQFgzkrsnuyIxpHhHbcXdBOrPLaOfw-PUE92P-T3WfoB0SvXTVHMBX4ySMHb5QPX5KU_sw7ac3aCEXttGqeq5OJI-B7jBGK_6PaCWouzHWcpMteJvaZalsVm4Fw7OcpJhxfgj0kJSw8nzImtv-G1mkqtLEIO3ca5bhiHwq5tyKHTj0sVKp4nM3sfy2Q1M_QgL453za2yGSJcWAjLsnLC-NOqT5COq7k-EfFeF4NWhAbCrVzpitL9xuBdAYURyGIhjCN1bhq7UVvDGVw6d-oCc5r0EIJenXC0yoDYOAwh6bPTX5LSYVBEnOTRIJT-WoHibAAjEi-Pot1X57T9opdcqJ-tMxNA2Gjp26b8iZqXo81SuLFeWAiXpC0eSE-XA3vnkGlPk2xLcK-mGr7zXhaQ612Ncs8zqzqiNO_e7FPCGZfx7mCF6_nVT2ew6eE6hLtoWYbtnKKV7OcRl00AYehfcu0jas9gDoVQyzuwYo1s6r1NS8hJfSe3jx-fB7EVvcR63Y0gymIAMpel9H8FJAiO-ReuNYX1jG1YWxCqGJcal3RAflA2OOnjtodUT1ChzAOfoKTrKdgzab--zGpSvSkNyZOX79jTY8_KzO5FbHZQktlXUr0vm1R14qJ3ZUQXZK1YUE5w1uAToqjBqmI3vh-rhQpE6LMuHta9wtNv9ht5epycdmLFjjjP_yc6E755vBeN3mS7qwJEmH18uxcxzU6Dvsc4ks05FWNg7e-8JaBigze_8mI2x-C7Sn9lw5GVwOBLAd2LeN158BXU0nua3yS3hyfKeQlz-G4dSCy5BdsqI9xeVkf2rImtUrVqLqcL2pcQjMnYxWu_vrELVbvhQ4PPbPGaqegiTXsZIFyk8oYb_eQ3BezyFj6EV0D9KdDq12hmd7Q1tP65lpqYpjyHcyerSp84OmP3cv83kkAmKlqRK_qJ7a-UisevcsLEyZrLeI2krXW9hBrh7S53rJcUFGHXBp4xPMF55Jt7CfxP4v9KGWgN2sTtUADyKq4gGW6bwA_HsrPYXHsxPH2x86K-TZ0G9ijSUjdsGL1JK1th6xOYC8f4pYN7EuAqQn2EVnTDKbFyT26tKvpU45nsE24l3Tr9stbDtvI9zWwQkPokZ-PCEYIci--izZVe3OjQ6kbIOHi12mSiubOBBNyp9vwWhv-zw2EEJeUdsQuSayBpu4q6PHjPj_DOtkotMCmFV14C02z8qW0A06CD1e6RLvXyJClgwloO8LKWXohEvBlJzf0YMdVHcbBpljPINGcmJKvl3TWDPq86zUnmz7JsPQkq_aSCw0ROZMB8DBd2yu10nbLxGFmtfj_JgcK96U2NKsbpVWUWEV7TGZ06wgC2WZHqdX6Nj-jwcUxYK_Jj9HTtVmce08eb4-CAOvdx31N92YkVfdnrRmgWuLTDGviIS5cCIMo4uYuUJL_Xth2dqjm5XrDnw8aZ2I5q8zmWlxuR9jzvfPGDxRuR_9ZW5v4-bJP-ilE1F5gnDXm0s4JboTkNW-nt6FX4I0jbz4GMbZR9gTKvtfF9Cic6mJC4bJoXhUpWnLZ9jfoiaH5M57d9Gu5qjUgg9v2nfEph_E0BshxPFHa1d8QxVbvqRrXKSGxifNNuoPxpihxEaRJFJUkNuXsi1LpoI2cW4RT6eXY5-kqyQOb6zFWVeeBfCgyMaCiljKo4WGCVrD315uGu_cCotCaKLiM5K145y-e4NbB7G5tDE_uTt1IC-cs_yRleegnXCD9RanxtPkm6riXDkGfrEMolh-h96K5FGZ-FaagCzj51ks6i430qodJgYLEieNnJRRzdBqCB1rnd_YUpnbimi4WOIJDFASAiVHDaquipl7Gpa8tf_Zk0GrONZyLCuur_TD-KSPa9TclrRAqQBTpMaGJvRKnhojy7HbzofGKXLWYFjDc8TM6tl6zlsRwp15z0utSMQcutSdn6qd9Nb02mKzcZvu5YaI4qrRfEv7aBFKB3rueQ29fs78UCFhrDIjzAPw1511DkIV3AMf5-dQSyesC5azZAdpOBXEGYxU139YXQZpRtMIovi_7WQcGlCDkytyRTAB-pc6PRtPhZKX-28Xg0oabBTYNwOr_DnLE37gfLw7WF0qpjcFUJEUo9batFkarzPl9rWUjN_jN1R3cBsoeNXFSIe8VHR3qnN05K1qjk0qpKB6gPi63qY8Pj9eu_qj-Qd6mHDL67Q2opifte3lsj6biP7sws_nCvbsJex5ECWUegFM0JM8yozb2v811v_nAXOA-bTLI45OKmjLmbT37jl1kcTHl2tzzwQ9CDiSwmBaJWr-V8_7AJvHPxrhf15WAYh7JsDWRyIC7X3TN6yabm_oqmi8dOY-_sgc14VPd02fh7uzqth42khWWipz6ADaPMkol-ZJD2A9MZByTs2xL6CgqdeWb4PXext4WN3VXbelrLlOnnUxlItZ1XECewzJN-GXeVePqK3Jk9RNOTgK_xjojBKw29XewZ8r5pacedYES_UwWUM-IbYZrxgN1Bl713HTZ0d6abiJZeLqr3PjyJUyuAyI3kJ3RGp_l3JufXC-g3YgHY2-wGRUgRmT77idc5ZTYuSL88eO2Nq439opzvWf8UVdkDUuN2AZaiaEnkescK5mY5HnuKX36nO0gLC8ZOjk-fc2VrsZ62wEgmyUXIiZvaYOsYx6FRTtKC8ub07B14TiHGPJeZzlx69IJ05QVVqab3pZMOre9PBVBHnZ8GV2gteU8K11EHs0eqFibLaIQBJYoK2tBWGABJr9yB5YsVFwlil9vQkctzcr2Fzc6qo_EG7LPEbPmvqZwZJLPr8AzHZEf__FvwjzCGV7pFOgVtx1GGpihEYz8QcaeMSVw96fype1C_pKC2xhPFLPMHXtAnOoNj9-mYsAkAy3rn6WbPVZigGCMq--3Mv-HW0vAOFWDPrS0ex5RDAKVJLbF-qap27He-_onVfzmnxmQxzdca_L7cPU4O_tObuUbRPGDbTwVzAgpkZ53hnxmDncYTLAJGIKRJU5dXVSeMDfFDz2ps9mcTZ5OV5ppJEx-JMNMztip22qBiAgBN-BJdhNFY737MKRWEcRJucUXhPFZfhZ1grAnnqm2NjOMU2zrNklxwwmMlZENe6OFfaHkBRrfXW5hE3XVZUE20RcWM7T4Vk9AZLhE6slvXC0l6jTk5rP4o_EYZHgrTfvJjCMUrdSdN8DAVmDNRQa2swU7RCVYiACNpSLEFu7RvxUL2a6NFjKxbQEO1LrGqb82ng5_cXb45wmh3PxY-EYQqoAX3WEy8KkaXPnfSGEiMnU67v4UQykSgAlmmf93v_SGPK0puxBzj6hWuKivfvOx6klY-MKtBkpPdehyhOcugyfo4N6sKkKkVtg23ri1w-ZtN_PBpHWB7zuv5z6NBlbgbUaLSIi-FOf-yQPkfsy2wrgIqzE665p9S9JUZ_fATdAcNcTFFC0Phuye2DhB1KdKv563SU7N5rxXhl-yreh3mIrWLEcjgzx2t-EpAoTw8unoG3ipEaLJ96cuMS6zywh6lsL-NWYx-obSQEL6ejhm72FhHhX7NmdPZs_Z-UD56o6Y1qpdJRAU3uMIcTlemP9sAAkWDDK82I88JOwW8Tf19QUMhfs005dUC0oNkXaxgcM-RHMHj5XcZA9BQ3B5cLw4HAbJTSqB75-LZmeLcq_pNlwE_wI_Yu1HpnAMawnKJYTtY5V113xaw2l9mHH4VrU2gEoVsXa3Uco2x0ZdLqcD1eky1UINcc6r6zHA9k6zvYU-BQaTNWa3d1QlEUCjZJ9bMo3ikLs9ydHxHN30cN8gcpxlcKSQQDyEI0Ql1uPNg-OrBnvxIjxTW_S-FjS7hVZqVwnKnqHwANGuTeXz2ZMJzAsqjEj6fsZ9OcbhVVNGnN-aSVA5-ah1jBLTdy089TY9CelTw_d0b9HzPwByCDiBCxaJAqT23q43g15Kk63xfhbAfEDvMCyjf2hprG9FhuiUe06l-P1NHfqeaylSMnbfLht7XJdMfEf4ZU1kvd2F4G8JtUq1v2mXUksSChFnv08YfEhhQ2eOEHGK9Bugggo3Xa2BpvOL-XXxGObRwWMzXiuMd5x5GJYS3tq58zW2P5JQevwdCpc8Ejw_zPwkRqmA7EZWxNpiG7oaCP7glsADuk1hcn4ZdQY1gcoSNT8ZTa-d2_b3wev1W0DIBY4WS8YCrLlUg1O3Dgv7WFxvWG7V3TMIRzbPtu1-9q_C7QxRWVZBRNKjl4QPsUYx0H2NrpeHJYQxy5kfRNqP0rvgQbdmCNCAOYwq5BYrQqVJS3uVdJJrjIPZE82kPCJtbvnjQ6Kv0AufC1pf0iim-VhiT-O7_ACBw3Kspx_zbbWL4qn41Gh5__KW5LHt5yDYmxJASwc6ESuIc2-zjhEZxfcCzfvRLyYx4qMXLe4ojbEBGNkxiJ5ru2zcNeujEicX2-TyHcF5CiV9oVlUKGXEZfCchO9LMTvEhi4kwAsIUPwLHnxEWyS3D1T4o0An6yr0iEHZv_sXvwq4XN67Z7b2CY0YySR7x2t_v41N3p1w3kJXLVRoKkNFALFlASMGU1mY4Rlc2UNNK1RJV32NJvPiE9Oo4ybESvyJR5XBcu7LEos23qonL4bxuj7A_HXCD46J-T0MvBgzxap0uWMX3s-nV0ieqiYLdsVFLOCKsazX7P8VTzB_UMVszwnu0hsd7SCD_BHDM_qBP_orfyPenR-2-ePwmRiRvtdt2fgkCv83BMnONvSu2Q2V69x80K_LtR2cMyqGFL313W3Os1nRFzhMzwSTE9bYvsrGrc5Y0dtj67jUzUvRkEg8wG9vsLn7CGSTJs2t5_XXrkURAp2XhNCFx1Owvr4T_Xd_cw71SQgNIkPMPAzGph9X0MemEwQBftbpGRP0iKaCGIjnLPqKNosHSoSiARv-tB2SiASMEUlgjv3nQ_Kk0ai_8MmbO8NGxfcvLVkm8dkoTQD_4j36oRQ-Qp5PhRGwrpYpWxMo1mbcqqBw_sBR2H7bXmfmPE2qJiz2Dt1XP84a-NbRgPI7yodaV0LrPzqIl0I9l2PNlI91FpwUk_yV9HntpMuY7S7_InG8PWkEgBQk5sjUT9UdDOlaY0wcEOIVuDxuTgnVAppgDj541yb06XXk-nA0xwIl428iI5oGEwlOuPxin-t0NbI4S6ZBNWps1nuHazBi4jTYYhuFtGGo5mOHphNg2z22HQtrXId4JsM03UmSLo3NbQM3Xxy8p3XcdoOtmG8myHRMqZ8Pqc2_P0W3d2fUoZBWByP4NLePDaoPT9DoOn3zEVyLWEaGjmkbrK6tY0ATchWZ0WlHEw-Cghmw-83mTQBWOPLQo_HhDUnu0CnGefXM3E3TAzF3_VXjxFHiq2iQOKP8o-gtTQ2BIB3bV3qakNlRv3qfB9TbmMzKD0jQDB7KLRbOdFqdMUopXoeFuZaFyKBVDA5JzxyTgwYkB1rFpbXktlm-BsdxVfypZDujY868xFy81YkKDn1N3kl9VKi_bMvKZK4kX_zWZk_-6F1htPuHBaf1iS3AGO3ZpmqubT2QxBmkKHdo0Xa0Yc7VU6g9G5pXoImo1llkJQ9qLkASp5Qcyp3IGyy9dAocomK-JQDtZIjVvSbfy2fFgwEHvReETSOFVV9oamAZu__NqRWb7QU1tkAiBUgt4UNoP3Hziir6I6FHgvEZub1wZG09zt9wOFddBdX1eGP2Ole5YYyYDVUX8-8FAWxt1QFdhJ9c1CTOO0IswFQdhJTFWA1HQpbuhSTt0WI-V4Pa_fA2nUy4GL-NZ_Zpdl1jdNIcTpdGItRGgGh4yNAHyknIB8JGpTm8zKuwovcdvjBMIz44o7Frs9qK1J6RreTt3Yco7OyaBWo05pxSzNQvcOjxs_kVFXwnhVd_-dqS5MgbSU8BRYTzyzmbSaiTISWfY7e9BqpmyKFpP17Dr4jRajXOnGhvBsUVvm4EqClVJxVspMjIMXJo7xZB5MbRqTCurO_AdQPHE5lv3v6fqwUjOQj4v0qmKwXwXNNs4fMhuTATARycGis2mV9ducGodjmB8QJimuryHPpHnH35Xpz_6FHjf35I89NMiT885knVFgC5HHOV0cNXWcXNTZ32tIlk6Vwe7X09xHN4Qu_8ax8DzvuY3hCfymr-TrvYxVSY8GBJiKtmrnGNRIRO179tTGodhgsj6s_aB94MVgi-g4WfZzzJUPsogfMHJt-y8nsYbWtAP-2l656Tdqg80JB7hS30dQ8hBk488tS9XM7FPaoEjoyoNLtuNeU2uca-lHXAajnMcqaL7tqYFzFVw6MHIoU5L93xkZ24mRu_Gxn2QOCExk8HpXQFI637IBLSYv8s472ZlurNe8ia18reOuH3UUkM6Z6B-KYZNAQpf5AH6M7N84fW3yzM8kmvGk9j5wG0WX2b2BntvuTQjXe7jzHcBGf7tqotmFzDdRm8lsHAX1gvaWAGvgA97oyPj4W1bUVCL7jETnTpeQe_btanuuPIme8fnn6GkXxXdBPfgF0IdQkKlj5E34oJ0SKIvB38DzZRJhHBmQ16e7IuI1YRPklwDC8CC6ZN36LNwzVb4QnIXtbd1EAzKJQYShhbUhbPtD_ZjRlf3Cc5KaFbISya6FxmDz3zoctinhNi5M9dA4W8WrNEEhguk5SkCsNmPU0e-UsJS-oFL1X9eriAKr9MZ7WdyDpzrGwTZqgSVJhiS4mKNLIN1TsPxomcpLUBXdPaua12PRkje7cStppEKMnq2V_soqFYFdqygjA-Z67wo2Z21RRSVI7eDOrifLuCGNSuZXEmIZ1QGcOarYOPyxs0h3KIFP312LNOhlHO9xxIgKI7MSc-vcQl6rN_P7I4Wwnxt9usvL9aKXChBBX2NY6CjpOhVQPUQASg7OHD567o2tvMyp3WpBxODq0ZSINDTX5ULUukc8ZD5Np4B1v99-eQfVYV2wRxHqkk925ErDhwZuNVI20BpH-LCmi3MnNWpJGFAKxNJkCplergIVfn0W87bU00vJY6tFAiur_YpV4XRd2PFoN9Em6pMwFKqKdgcPZJtjyFa4ybAtsHuMYszaFU6kXxGaqErDmqi5rvLZtuehxGGLE1S_wfpQEUjyyXmXYvDcZ3lA1m1bM0tgtSMS07dlTGi4Eqb9GM062F8X4F2lWXBw-kgUalcmzacVfEm1q2h1xqtxxK-pxpIUil3K9Jz4pmWzkQ8CZLOqyBk8sxxKiNqVkt50Sz4DpSDUvdKgKZsB_uPsMv94pafK5ZhJ3FA1k74hcixIHNSkF699TBZxkXihC4D-rWQMWMFh0fCcIs7Pn_hulj2UVFZMK8RlpvtKf7BiWw79jBt3uj1ElPI6f0HskvAUUxI9L-g3BSFjBCe9bDSDSnWhDMjz5L9VMKUOKMOUPmtq9-urC-8U1-UYy3JcS7gkWiOFi-89JCyZWiJM0kszhoICS3xF6P1KGyhdyQHtTfh1LnMi5rzIU3L7vgXXsyzF6UFvwvInPe9So_KUV6eXVa-A4hUkvhzX8Etci78-KlqHtTy-7RtZgEbBWOohqHMPd5ywBsOQTu2KAbUPAVzA8G-jnKaYdbYW77563UdmRe6gtwMY5IO70jdnG_lm9tTdIR9GJCkgINye5G-vf7oTL1OA-Xfd1eu4pUJ-w0K7EAliIhV79nrMUiUG92SH5oVW9jQG-N5sIIyH4SusS8s4hGpQkj1LJz4Wd8-tuQOCGRvDXBR5aICSoIULlQ3CcMCmBtcEI5E5np_FyCls4HLGDIOLEt7UjttovHM6HpfoUWlri10uXyECSzubpntIlzMznECV74ht3BftMHxxPbQ2ZJeylZZhqsCebJpSzT6pFPNyJLOg4yWULbb2Rb6HoqFWi02ZULxaQbehL1Mta1KfYC1yLBwov2K_vGslqKm9QF2AkW7rGOcTFNbG5qE06zCouurJhGoWFDh4WWMhzYgZ5dbrvkJ3qTvjO9cxiZ0OAenLoLkO0rI--K2f17W5OY7AEYhnd-3KerOz4uzQWuKmEVZrVEtg7ZUz2IHhP8a8sK_faMTgCdV3Xt45E5a1TR3N_lqGqKDdIZWEPRyTs6WsMbR0vDa8DovQ72umXPFagv2T79UfeKTqNtmSodDBJmRXQuSe6HZVgHzWxelNNWgRB2tFIlYoTShg3ehUQ9IR8NUswHoxsmEdu1TVX6GQvi9Au1BA-o2fcwM-gVWpyonrlcJQuVYHYrZmwoof470INniD4q2g417_kvYXe0kslbrQYwpEbyzU41Z8DpUdZpon9YE5jWpMs7S-flMDFC5oAa9__-sSaovAU1ykGNyFoabjtD-Vf1yqBswUYPgylr5KUSAJ0uN1-awpC9uUK-qZ6Hy7P05vms4PLmp52Rs2gDgKKt3NzBMFxE4POG4bY2qRNHEjtDgTDoAIiojTRbiKZZ30T9m8JMRs1_fvqEIOgK35bG9fQH4Q7eFIsBrayO0eu-gEG3CcXo8ACpZKsx0J-qFfHWxcRKarc1xWORfZaH3A14gMinUGCe9Su2dJMzF9yjD-Zd67Kq5eARyyxnAdB-5QGw-EG5Qgan4Z1DkdMPqKo830SpbipWWDFuSQkbzriHPFKoBIZCb2bxfnIKdNOoT64lhjUKwamdD_qFDkMaYK8gCCucRE5CFtS2gcV1Nwrr_cHU7d_uA_irn4_WmtgSJlDk1Vz81ca5dOmkJEWVgP16BMlKOXPJSrFDVruoPuq8tA9GMSzQMy87ivb4ZH7hRvU0D37bpQ8GMUBgeDRoSZQb3s-kYiFJ19muu6hcv7G3vKWnx0F5h5Qhy2TxGUopL3vggfpIKbv_b1xf1SBT9EkEpIGTyyNA6GmUIwcrewRoRczCt7glZWp7rfKcFfffdm96O01SF9H_LJBr9QsN3HXoLzILxzve50b2r5qBHxSp1QnpMmtXa2ykCU_UyEwl5syRBz9CTXkNMbXkVotSU5Je2Voj0NTEjimuvNz3P38BXNxFdB-Gx8hCC9QrioQLnzcfn4k4JBbeJxjuSWilHIPtISCC0D2rCJpLYM8BPNx7Hao7c2UQc4lomy9OSryOo3zu6AF9TGCD5rXFkvHeZTwLItUcL94INkTKHDcmLu2ToZVf7d0zlq9qe5Jo-2tHEiCEt6rve7GTDWZDsrpVzNaCdXhYenuUskivcxV8rEmIOav8NTVyk2PBS-aIO4Mt248ClyVozhQ098whh6B_1pOSlXYnz3ZdEyJCaZOPUO_Ps40NJCTfk_oJA7-9biZXkKTAZHdMePfGceFeF16eAvsmRMBwH1-JDOnjRogUw9WlPKgB47rYA1Ofu3Mn2s9wIBmTyPZVm3ceHH0dCwVuiG1EdQsgRLZxcWiGoThxNKgF6JGRnF5nbY7ao3e9U_0e0LYVrMXdVjo2Q45YX0sYA9aKKFBohxTgYXXRP8xVGJa21aQvf9IjQxRR9mDDcUmmElyiNR3F4ZZcFgpGlNfxxAE0hxoBO0YNC6L2cru_wLDtkH24hyIFROKmfblAXS3C955N9_BeAdKx1jD2gKQcI7UIiaWavaZW27vuLgfxZjCbQM7pPqRTpHRG_KMZ1I27bbbKq0x9v98WcKEpe6d98in12xltvx3Kn6w-0_xaYk-CmmOADqPabt0nHj_9794nyJNOAoFutGF1k8WmkhUTCwKp-SxungnVWVRAiv0Wa0ZrsBM3J8Ob3Ej_0NUCfOAZwJ3dC-WXDVIo0AtAYXvopzvhV6mcPezOdWA5wOlEqiFSRSo5MFofrZYIgd6ACAs-4DxvmnDxldI5pPsapFQtXmVsT9s-uAghiEBRoXgi8asXPp7T8YdxWvRj5DRY0XXoyQ8lYGa5m2Sh8TzmB6-nVYBYoU5GNRh1_HM6khVW7F9Ch9oGMmnw684J-MxeL8KSYVnRtVjVuAIaxKTsXw4qlLir_KrH6N1J0zJcgsbTlPKq84jZi7O00W5c2yrSqHI7CJbGsRuNOIXBGUCD6mR_4OgNEf0GqgaBeYbyTtQMRB3SppDRgO_R6tDLYH7KksbLqzisk6RUmKrtxjgz7tEP63-1G-94yPheKb-AFZtGXQwEK6f81EQTAycbFUhXNehSI4EbpJhDunua76aNrsjQc2nnsYexjLGpseATJiaMEuZJfQtPJ-U67HhSOYpEbb9iiQ2emwMls5Ge_-3mv_jTROj4XS6qN69P1Tkc5xrmo53bhiCcyXJdfheMvzmAQGrZ8kMrKLeRbgQcZlFTbvs8vIBfMg0tubxmb0MnoqpB7ceixCxtOWXkXVjh8pPizx-L6jzrWaNlhwnyk0ko6Q4QGszf9bCpG4h67QyhgF3bbHYypwQYo450rfGe4tViYPh0XuXurCoJlvCpWBLlYNOypRa1V-xcsfDaVFBFLo00AGKU_Czpo9VM4WsvnABIbtc05mAL_V71GTUmtMuXSq2qdWq3g-mnlrg39-QX9AttTrsAm1R3mwIQgkXIvL-quwqFS0N3iFSMFl0aJzj0CbSUOJNe5GCTWIPMa3p1YChr8_hn4ulUoAIFC7gNybbIYk9StsbaazxE5sYKIdUjSC86ODFmd59tfXzN_5PZyoriczH14IH4qsbiIbhzLnT9IGmYkJoEt_b2cLBMsu3t3Bgmah9Q53R1i-L9cmLV7veAeu9Qid0lp8igHPlCJa32vM24TYwssRAYuhJue4csPiwXMrly39zX7pcpm4X-KADZwi8yeBKubL0a_E6c4agvL73Sug-Bxs1unQpSQYX7QAwH3lDf3VQQDiQ0YrJYTFHtat_HwtmYxZ9ln6RkO-UhZwugGhdZ6kNqnSw9W86cL-RPZ4_13d17HGe-0FvU4PIQ0rjALIZ6HufrnoW8aU3FYxNEth9Hdi-2dxn1fN-_qoqdzlR2s-M4G9NYJm0hjcZJZ0rHw66XtXNw27XDw-uIAIQ09x0WAeNOmlRANR5axxRlrH7Hl9fkOoiqjBXnnagPTbpiu-N81IxTaSgJT_L7QhcjKtrAIgHXMqVzQNQT2vKP0Ycm23CYgaLDRW7fKPUo64_NvfCdaDrJzm8GwIFmZFtMrXi320vfm_3Jy8XsSzyK-E8RK3wxLedAGtuVmmhDx6HRpx25ZAH6GlwOrcCh_-7ADF5oqaLV-wmXu8mEmlsf86ki0KPvR247a2eNdpZgobirHs1CkSjGvGpEh80djzIccwBCYaepAsSQ5bLVHFDm5jynRUQtbAQKtCb5t-fzWitSytIEJ9egwNtZdNUh-HqEiY4F_-WzEz5AWHDDuyV9a7YWy_hYbqrPdxs8QuUB2fq9SNxLxCQYS6VCU9O6a4o5e0JbAJPqRrkCFaa16ZEwa8F4q9UQKif4MmLUu0yp49zLunrQ18nR9GcG_B1AYzzE4jMGRbWeO_a7fQsJjK9NmEQrBvwXHO_IGQL0rI64OFBhdv5l_KZk5hFx6ITVvO2mS8sgoETOWv9M9MMlsBVA45WX1ZBIpWYIslJJdH1KNNm4_9MwsT4WVXG8J7qkD_tR96hMvPeSotx1x6knN-xRf3SYkcZA";if(!e)return null;if(Bn&&Bn.sealed===e)return Bn;let t=null;try{t=Zs.parse(JSON.parse(br(e,Yb)))}catch{t=null}return Bn={sealed:e,bundle:t},Bn}function qt(){let e=Ou();if(!e?.bundle)return null;if(e.runtime===void 0){let t=Date.now();try{e.runtime=Ws(e.bundle,{signedAt:t,fetchedAt:t})}catch{e.runtime=null}}return e.runtime}function Qb(){let e=Ou();return e?.bundle?(e.keys??=new Set(e.bundle.filters.map(t=>fe(t.slug))),e.keys):null}function Yt(e,t=!1){if(t||!e||e.length===0){let n=Qb();return n?new Set(n):null}return new Set(e.map(n=>Xb.test(n)?n:fe(n)))}var Yb,Xb,Bn,Xt=b(()=>{"use strict";Js();qe();In();Yb="tokmizer-default-rules-v1",Xb=/^[0-9a-f]{16}$/,Bn=null});function Ro(e){Cu=e}async function ek(e,t){let n=await Qa();if(n.size>0)return Jt(e,n.values(),t,n);let r=qt();return r?r.selectFor(e,"free",t?[...t]:void 0):null}function ok(e,t,n){let r=Ar(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 Oe(e);if(n!=="compact"&&n!=="minimal")return r;let s=r.endsWith(`
78
78
  `)?`
79
- `:"";return vr((s?r.slice(0,-1):r).split(`
79
+ `:"";return Tr((s?r.slice(0,-1):r).split(`
80
80
  `)).join(`
81
- `)+s}async function Ye(e,t,n,r={}){let s=Buffer.byteLength(t,"utf8"),{exitCode:o,yolo:i=!1,resolver:a,...l}=r,u=Be(tu(e.startsWith("bash-tool: ")?e.slice(11):e)),c=o!=null&&o!==0&&!(o===1&&Bb.test(yo(u)??u)),f=Yl(a??vu??Hb),d=null;for(let O of nu(e))if(d=await f(O,n),d)break;!d&&s>=zb&&!go.test(e)&&(d=await f(`bash-tool: ${e}`,n));let p=Fn(e.startsWith("bash-tool: ")?e.slice(11):e),g=d?.slug==="git-log"&&p!=null&&/^git\s+log(?:\s|$)/.test(Be(p)),h=o==null&&(g?/^(?:fatal|error):/im.test(Oe(t)):Xl(t)),m=d?.transform==="smart-read"&&s<=2048&&(t.endsWith(`
81
+ `)+s}async function Ye(e,t,n,r={}){let s=Buffer.byteLength(t,"utf8"),{exitCode:o,yolo:i=!1,resolver:a,...l}=r,u=He(au(e.startsWith("bash-tool: ")?e.slice(11):e)),c=o!=null&&o!==0&&!(o===1&&tk.test(wo(u)??u)),f=ru(a??Cu??ek),d=null;for(let O of lu(e))if(d=await f(O,n),d)break;!d&&s>=nk&&!_o.test(e)&&(d=await f(`bash-tool: ${e}`,n));let p=Hn(e.startsWith("bash-tool: ")?e.slice(11):e),g=d?.slug==="git-log"&&p!=null&&/^git\s+log(?:\s|$)/.test(He(p)),h=o==null&&(g?/^(?:fatal|error):/im.test(Oe(t)):su(t)),m=d?.transform==="smart-read"&&s<=2048&&(t.endsWith(`
82
82
  `)?t.slice(0,-1):t).split(`
83
- `).length<=60,w=s<=16384&&p!=null&&/^(?:head|tail)(?:\s|$)|^sed\s+(?:(?:-[Eru]+|--(?:regexp-extended|unbuffered|sandbox))\s+)*(?:-[Enruse]*n[Enruse]*(?:\s|$)|--(?:quiet|silent)(?:\s|$))/.test(Be(p)),_=d?.transform==="smart-read"&&s<=16384&&(l.verbosity??"normal")==="normal"&&l.smartCode!==!0,T=d?.slug==="read-tool"&&s<Zb;if(!i&&(_||T||w||m&&l.smartCode!==!0))return{output:t,filterId:d?.slug??null,rawBytes:s,filteredBytes:s,debugBypass:c||h,droppedTail:null};if(!i&&d&&!d.preserve_exact&&(c||h)&&ku.test(u)){let O=xu(t,l.verbosity??"normal"),J=O===null?s:Buffer.byteLength(O,"utf8");if(O!==null&&J<s)return{output:O,filterId:d.slug,rawBytes:s,filteredBytes:J,debugBypass:!0,droppedTail:t,failureSummary:!0}}if(!d||(c||h)&&d.preserve_exact&&!i)return{output:t,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:c||h,...i?{droppedTail:null}:{}};let R=O=>{if(!i)return O.output!==t&&!O.droppedTail?{...O,droppedTail:t}:O;let J=O.filteredBytes>s||s>0&&O.output.length===0?t:O.output,B=!O.debugBypass&&!d?.preserve_exact?wo(J,"minimal",O.filterId??""):J,U=ko(B)===B?B:ko(J);return{...O,output:U,filteredBytes:Buffer.byteLength(U,"utf8"),droppedTail:null}};if(d.slug==="tsc"&&!c&&!h&&!pu(e)){let O=mu(t);if(O!==null)return R({output:O,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(O,"utf8"),debugBypass:!1,droppedTail:null})}if(c||h){let O=i?Rr(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?Jb(t,d,l.verbosity):d.strip_ansi&&!d.preserve_exact?Oe(t):t;!i&&d.transform&&d.transform_on_failure&&!d.preserve_exact&&(O=fo(d.transform,O.split(`
83
+ `).length<=60,w=s<=16384&&p!=null&&/^(?:head|tail)(?:\s|$)|^sed\s+(?:(?:-[Eru]+|--(?:regexp-extended|unbuffered|sandbox))\s+)*(?:-[Enruse]*n[Enruse]*(?:\s|$)|--(?:quiet|silent)(?:\s|$))/.test(He(p)),_=d?.transform==="smart-read"&&s<=16384&&(l.verbosity??"normal")==="normal"&&l.smartCode!==!0,T=d?.slug==="read-tool"&&s<sk;if(!i&&(_||T||w||m&&l.smartCode!==!0))return{output:t,filterId:d?.slug??null,rawBytes:s,filteredBytes:s,debugBypass:c||h,droppedTail:null};if(!i&&d&&!d.preserve_exact&&(c||h)&&vu.test(u)){let O=Au(t,l.verbosity??"normal"),Z=O===null?s:Buffer.byteLength(O,"utf8");if(O!==null&&Z<s)return{output:O,filterId:d.slug,rawBytes:s,filteredBytes:Z,debugBypass:!0,droppedTail:t,failureSummary:!0}}if(!d||(c||h)&&d.preserve_exact&&!i)return{output:t,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:c||h,...i?{droppedTail:null}:{}};let R=O=>{if(!i)return O.output!==t&&!O.droppedTail?{...O,droppedTail:t}:O;let Z=O.filteredBytes>s||s>0&&O.output.length===0?t:O.output,B=!O.debugBypass&&!d?.preserve_exact?vo(Z,"minimal",O.filterId??""):Z,U=So(B)===B?B:So(Z);return{...O,output:U,filteredBytes:Buffer.byteLength(U,"utf8"),droppedTail:null}};if(d.slug==="tsc"&&!c&&!h&&!ku(e)){let O=_u(t);if(O!==null)return R({output:O,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(O,"utf8"),debugBypass:!1,droppedTail:null})}if(c||h){let O=i?Ar(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?ok(t,d,l.verbosity):d.strip_ansi&&!d.preserve_exact?Oe(t):t;!i&&d.transform&&d.transform_on_failure&&!d.preserve_exact&&(O=go(d.transform,O.split(`
84
84
  `),e).join(`
85
- `)),!i&&l.verbosity==="minimal"&&d.transform!=="smart-read"&&(O=fu(O)),!i&&d.slug==="pytest"&&(l.verbosity==="compact"||l.verbosity==="minimal")&&/^={3,} test session starts ={3,}\r?$/m.test(O)&&/^={3,} FAILURES ={3,}\r?$/m.test(O)&&(O=O.replace(/^([=_])\1{2,} (.+?) \1{3,}(\r?)$/gm,"$2$3"));let J=!i&&!d.preserve_exact&&s>=Ub?fl(O.split(`
85
+ `)),!i&&l.verbosity==="minimal"&&d.transform!=="smart-read"&&(O=yu(O)),!i&&d.slug==="pytest"&&(l.verbosity==="compact"||l.verbosity==="minimal")&&/^={3,} test session starts ={3,}\r?$/m.test(O)&&/^={3,} FAILURES ={3,}\r?$/m.test(O)&&(O=O.replace(/^([=_])\1{2,} (.+?) \1{3,}(\r?)$/gm,"$2$3"));let Z=!i&&!d.preserve_exact&&s>=rk?yl(O.split(`
86
86
  `)).join(`
87
- `):O,B=J.length<O.length;return R({output:J,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(J,"utf8"),debugBypass:!0,...B?{droppedTail:t}:{}})}let D={...l,cmd:e,exitCode:o},{text:A,droppedTail:N}=po(t,d,i?{...D,verbosity:"minimal",...d.transform==="smart-read"?{smartCode:!0}:{}}:D),M=!i&&!d.preserve_exact?wo(A,l.verbosity,d.slug):A,se=d.on_empty&&M===d.on_empty&&!M.endsWith(`
87
+ `):O,B=Z.length<O.length;return R({output:Z,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(Z,"utf8"),debugBypass:!0,...B?{droppedTail:t}:{}})}let D={...l,cmd:e,exitCode:o},{text:A,droppedTail:N}=yo(t,d,i?{...D,verbosity:"minimal",...d.transform==="smart-read"?{smartCode:!0}:{}}:D),M=!i&&!d.preserve_exact?vo(A,l.verbosity,d.slug):A,se=d.on_empty&&M===d.on_empty&&!M.endsWith(`
88
88
  `)?`${M}
89
- `:M,te=Buffer.byteLength(se,"utf8"),V=se.trim().length===0&&t.trim().length>0&&(o!=null&&o!==0||co(e));return t.trim().length>0&&(te>=s||V)?R({output:t,filterId:d.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):R({output:se,filterId:d.slug,rawBytes:s,filteredBytes:te,debugBypass:!1,droppedTail:N})}var vu,Bb,zb,Ub,Zb,Hn=b(()=>{"use strict";Ka();gr();ho();mo();Ql();bo();su();Dn();Tr();cu();du();Tr();hu();Su();qt();vu=null;Bb=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,zb=2048,Ub=8192,Zb=32*1024});import Gb from"node:os";import{join as Bn}from"node:path";import{existsSync as Wb,statSync as Kb,lstatSync as Tu,unlinkSync as Vb,mkdirSync as qb,chmodSync as Yb}from"node:fs";import{createHash as Xb}from"node:crypto";function Qb(e){let t=Xb("sha256").update(E()).digest("hex").slice(0,8),n=Bn(Gb.tmpdir(),`tkr-${e}-${t}`),r=Bn(n,"d.sock");if(Buffer.byteLength(r)>Eo)throw new Error("Temporary directory path is too long for IPC");return Ru(n,e),r}function ek(e,t){try{let n=Tu(e);return n.isDirectory()&&n.uid===t&&(n.mode&63)===0}catch{return!1}}function Ru(e,t){qb(e,{recursive:!0,mode:448});let n=Tu(e);if(!n.isDirectory()||n.uid!==t)throw new Error("Unsafe IPC directory");Yb(e,448)}function Tt(){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&&ek(t,e)){let s=Bn(t,`tokmizer-${e}.sock`);if(Buffer.byteLength(s)<=Eo)return{path:s,isPipe:!1}}let n=Bn(E(),"run"),r=Bn(n,"daemon.sock");return Buffer.byteLength(r)>Eo?{path:Qb(e),isPipe:!1}:(Ru(n,e),{path:r,isPipe:!1})}async function vo(){let{path:e,isPipe:t}=Tt();if(t||!Wb(e))return;try{if(!Kb(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{Vb(e)}catch{}}var Eo,K1,To=b(()=>{"use strict";Z();Eo=100;K1=5*6e4});import{readFileSync as tk}from"node:fs";import{join as nk}from"node:path";function Ee(){try{return tk(nk(E(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var zn=b(()=>{"use strict";Z()});var Iu=ce((eO,Cu)=>{Cu.exports=Ou;Ou.sync=sk;var Au=Ze("fs");function rk(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 $u(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:rk(t,n)}function Ou(e,t,n){Au.stat(e,function(r,s){n(r,r?!1:$u(s,e,t))})}function sk(e,t){return $u(Au.statSync(e),e,t)}});var Lu=ce((tO,Mu)=>{Mu.exports=Nu;Nu.sync=ok;var Pu=Ze("fs");function Nu(e,t,n){Pu.stat(e,function(r,s){n(r,r?!1:Du(s,t))})}function ok(e,t){return Du(Pu.statSync(e),t)}function Du(e,t){return e.isFile()&&ik(e,t)}function ik(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 ju=ce((rO,Fu)=>{var nO=Ze("fs"),Nr;process.platform==="win32"||global.TESTING_WINDOWS?Nr=Iu():Nr=Lu();Fu.exports=Ro;Ro.sync=ak;function Ro(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){Ro(e,t||{},function(o,i){o?s(o):r(i)})})}Nr(e,t||{},function(r,s){r&&(r.code==="EACCES"||t&&t.ignoreErrors)&&(r=null,s=!1),n(r,s)})}function ak(e,t){try{return Nr.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var Gu=ce((sO,Ju)=>{var Yt=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Hu=Ze("path"),lk=Yt?";":":",Bu=ju(),zu=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),Uu=(e,t)=>{let n=t.colon||lk,r=e.match(/\//)||Yt&&e.match(/\\/)?[""]:[...Yt?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],s=Yt?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=Yt?s.split(n):[""];return Yt&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:r,pathExt:o,pathExtExe:s}},Zu=(e,t,n)=>{typeof t=="function"&&(n=t,t={}),t||(t={});let{pathEnv:r,pathExt:s,pathExtExe:o}=Uu(e,t),i=[],a=u=>new Promise((c,f)=>{if(u===r.length)return t.all&&i.length?c(i):f(zu(e));let d=r[u],p=/^".*"$/.test(d)?d.slice(1,-1):d,g=Hu.join(p,e),h=!p&&/^\.[\\\/]/.test(e)?e.slice(0,2)+g:g;c(l(h,u,0))}),l=(u,c,f)=>new Promise((d,p)=>{if(f===s.length)return d(a(c+1));let g=s[f];Bu(u+g,{pathExt:o},(h,m)=>{if(!h&&m)if(t.all)i.push(u+g);else return d(u+g);return d(l(u,c,f+1))})});return n?a(0).then(u=>n(null,u),n):a(0)},uk=(e,t)=>{t=t||{};let{pathEnv:n,pathExt:r,pathExtExe:s}=Uu(e,t),o=[];for(let i=0;i<n.length;i++){let a=n[i],l=/^".*"$/.test(a)?a.slice(1,-1):a,u=Hu.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(Bu.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 zu(e)};Ju.exports=Zu;Zu.sync=uk});var Ku=ce((oO,Ao)=>{"use strict";var Wu=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};Ao.exports=Wu;Ao.exports.default=Wu});var Xu=ce((iO,Yu)=>{"use strict";var Vu=Ze("path"),ck=Gu(),fk=Ku();function qu(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=ck.sync(e.command,{path:n[fk({env:n})],pathExt:t?Vu.delimiter:void 0})}catch{}finally{o&&process.chdir(r)}return i&&(i=Vu.resolve(s?e.options.cwd:"",i)),i}function dk(e){return qu(e)||qu(e,!0)}Yu.exports=dk});var Qu=ce((aO,Oo)=>{"use strict";var $o=/([()\][%!^"`<>&|;, *?])/g;function pk(e){return e=e.replace($o,"^$1"),e}function mk(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace($o,"^$1"),t&&(e=e.replace($o,"^$1")),e}Oo.exports.command=pk;Oo.exports.argument=mk});var tc=ce((lO,ec)=>{"use strict";ec.exports=/^#!(.*)/});var rc=ce((uO,nc)=>{"use strict";var hk=tc();nc.exports=(e="")=>{let t=e.match(hk);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),s=n.split("/").pop();return s==="env"?r:r?`${s} ${r}`:s}});var oc=ce((cO,sc)=>{"use strict";var Co=Ze("fs"),gk=rc();function yk(e){let n=Buffer.alloc(150),r;try{r=Co.openSync(e,"r"),Co.readSync(r,n,0,150,0),Co.closeSync(r)}catch{}return gk(n.toString())}sc.exports=yk});var uc=ce((fO,lc)=>{"use strict";var bk=Ze("path"),ic=Xu(),ac=Qu(),kk=oc(),_k=process.platform==="win32",wk=/\.(?:com|exe)$/i,xk=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Sk(e){e.file=ic(e);let t=e.file&&kk(e.file);return t?(e.args.unshift(e.file),e.command=t,ic(e)):e.file}function Ek(e){if(!_k)return e;let t=Sk(e),n=!wk.test(t);if(e.options.forceShell||n){let r=xk.test(t);e.command=bk.normalize(e.command),e.command=ac.command(e.command),e.args=e.args.map(o=>ac.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 vk(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:Ek(r)}lc.exports=vk});var dc=ce((dO,fc)=>{"use strict";var Io=process.platform==="win32";function Po(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 Tk(e,t){if(!Io)return;let n=e.emit;e.emit=function(r,s){if(r==="exit"){let o=cc(s,t);if(o)return n.call(e,"error",o)}return n.apply(e,arguments)}}function cc(e,t){return Io&&e===1&&!t.file?Po(t.original,"spawn"):null}function Rk(e,t){return Io&&e===1&&!t.file?Po(t.original,"spawnSync"):null}fc.exports={hookChildProcess:Tk,verifyENOENT:cc,verifyENOENTSync:Rk,notFoundError:Po}});var hc=ce((pO,Xt)=>{"use strict";var pc=Ze("child_process"),No=uc(),Do=dc();function mc(e,t,n){let r=No(e,t,n),s=pc.spawn(r.command,r.args,r.options);return Do.hookChildProcess(s,r),s}function Ak(e,t,n){let r=No(e,t,n),s=pc.spawnSync(r.command,r.args,r.options);return s.error=s.error||Do.verifyENOENTSync(s.status,r),s}Xt.exports=mc;Xt.exports.spawn=mc;Xt.exports.sync=Ak;Xt.exports._parse=No;Xt.exports._enoent=Do});function $k(){let e=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(e)&&e>0?e:6048e5}function Dr(e,t=Date.now()){let n=e.lastHeartbeatOkAt;if(typeof n=="number"&&t-n>$k())return!0;if(e.subEndsAt){let r=Date.parse(e.subEndsAt);if(Number.isFinite(r)&&t>r)return!0}return!1}function Mr(e,t=Date.now()){return e.plan}var Mo=b(()=>{"use strict"});function Un(e){let t=e;for(let[n,r]of Ok)t=t.replace(n,r);return t}function Nk(e){if(!e.includes("PRIVATE KEY-----"))return e;let t=e.split(`
90
- `),n=[];for(let r of t){if(Ik.test(r)){let s=n.length;for(;s>0&&Pk.test(n[s-1]);)s-=1;if(s<n.length){n.length=s,n.push(`${Ce}${r}`);continue}}n.push(r)}return n.join(`
91
- `)}function gc(e){let t=e;for(let[n,r]of Ck)t=t.replace(n,r);return Nk(t)}var Ok,Ce,Ck,Ik,Pk,Lr=b(()=>{"use strict";Ok=[[/(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]"]];Ce="[tkr: secret masked]",Ck=[[/(-----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${Ce}`],[/(?<![A-Za-z0-9_])(gh[pousr])_[A-Za-z0-9]{36,255}(?![A-Za-z0-9])/g,`$1_${Ce}`],[/(?<![A-Za-z0-9_])github_pat_[A-Za-z0-9_]{22,255}/g,`github_pat_${Ce}`],[/(?<![A-Za-z0-9_])npm_[A-Za-z0-9]{36}(?![A-Za-z0-9])/g,`npm_${Ce}`],[/(?<![A-Z0-9])(AKIA|ASIA)[A-Z0-9]{16}(?![A-Z0-9])/g,`$1${Ce}`],[/(?<![A-Za-z0-9])(xox[abpors]-)[A-Za-z0-9-]{10,}/g,`$1${Ce}`],[/(?<![A-Za-z0-9])((?:sk|rk)_live_)[A-Za-z0-9]{16,}/g,`$1${Ce}`],[/(authorization["']?\s*[:=]\s*["']?bearer\s+)[A-Za-z0-9._~+/=-]{8,}/gi,`$1${Ce}`],[/(?<![A-Za-z0-9+.-])([a-zA-Z][a-zA-Z0-9+.-]{0,31}:\/\/[^\s:/@]*:)[^\s@/]+(@[^\s@/]+)/g,`$1${Ce}$2`]],Ik=/^-----END [A-Z0-9 ]*PRIVATE KEY-----/,Pk=/^[A-Za-z0-9+/=]{16,}\r?$/});var yc=b(()=>{"use strict"});import{createHash as bO,createHmac as kO,randomUUID as Dk}from"node:crypto";import{readFile as bc,writeFile as kc,mkdir as Mk}from"node:fs/promises";async function Lo(){try{let n=(await bc(Tn(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(n))return n}catch{}await Mk(E(),{recursive:!0});let e=Dk();try{return await kc(Tn(),e,{mode:384,flag:"wx"}),e}catch{try{let t=(await bc(Tn(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(t))return t}catch{}return await kc(Tn(),e,{mode:384}),e}}var Fo=b(()=>{"use strict";Z()});import{readFile as Lk,writeFile as EO,mkdir as vO,chmod as TO,rm as RO,rename as AO,readdir as $O}from"node:fs/promises";import{join as Fk}from"node:path";async function ze(){let e=null;try{let t=JSON.parse(await Lk(Fk(E(),jk),"utf8"));typeof t=="object"&&t!==null&&!Array.isArray(t)&&(e=t)}catch{}return e?Bt.parse({..._c,...e}):_c}var jk,_c,PO,Qt=b(()=>{"use strict";qe();Z();jk="settings-cache.json",_c=Bt.parse({}),PO=Bt.partial().extend({filters:Bt.shape.filters.removeDefault().partial().optional()})});var wc=b(()=>{"use strict";Z();Qt();$n();Ut()});import{join as xc}from"node:path";import{appendFileSync as Hk,chmodSync as Bk,existsSync as zk,mkdirSync as Uk,readFileSync as GO,renameSync as WO,rmdirSync as KO,statSync as Zk,unlinkSync as VO,utimesSync as qO,writeFileSync as YO}from"node:fs";function Sc(){return xc(E(),"spool")}function Gk(e){return xc(Sc(),`${e}.jsonl`)}function Fr(e,t){if(An())try{Uk(Sc(),{recursive:!0,mode:448});let n=Gk(e);if(zk(n)&&Zk(n).size>=Jk)return;Hk(n,JSON.stringify(t)+`
92
- `,{mode:384}),Bk(n,384)}catch{return}}var Jk,jo=b(()=>{"use strict";yc();Z();Rn();Fo();js();Qt();$n();wc();Jk=512*1024});function r0(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 Tc.has(n.toLowerCase())?n:""}function s0(e,t,n){let r=0;for(;e==="git"&&r<n.length&&n[r].startsWith("-");)r+=n0.has(n[r])?2:1;let s=(n[r]??"").toLowerCase();return t.has(s)?`${e} ${s}`:e}function Ec(e){let t=e.toLowerCase();return t.startsWith("git")||Yk.has(t)}function Ho(e){let t=e.trim().split(/\s+/).filter(l=>l.length>0),n=0;for(;n<t.length&&qk.test(t[n]??"");)n+=1;let r=r0(t[n]??"");if(!r||!Kk.test(r)||r.length>Qk)return"";let s=t0.get(r.toLowerCase());if(s)return s0(r.toLowerCase(),s,t.slice(n+1));if(Ec(r)||Xk.test(r)||Un(r)!==r)return"";let o=t[n+1];return o&&Ec(o)?"":(o&&vc.has(r.toLowerCase())&&Vk.test(o)?`${r} ${o}`:r).slice(0,64)}function o0(e){return e0.has((e.split(" ")[0]??"").toLowerCase())}async function jr(e){if(!e.telemetryOptIn)return;let t=Ho(e.cmd),n=t&&Un(t)===t&&o0(t)?t:"other",r=e.sessionId?e.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";Fr("telemetry",{cmd:n,tokensSaved:Math.max(0,Math.round(e.tokensSaved)),...e.tokensRestored?{tokensRestored:Math.max(0,Math.round(e.tokensRestored))}:{},...e.rawTokens!=null?{rawTokens:Math.max(0,Math.round(e.rawTokens))}:{},optimized:e.optimized,...r?{sessionId:r}:{},...e.host?{host:e.host}:{}})}var Kk,Vk,qk,Yk,Xk,Qk,vc,Tc,e0,t0,n0,Hr=b(()=>{"use strict";Lr();jo();Kk=/^[a-z0-9][a-z0-9._-]*$/i,Vk=/^[a-z][a-z-]+$/,qk=/^[A-Za-z_][A-Za-z0-9_]*=/,Yk=new Set(["gh","glab","gup","hub","gist"]),Xk=/^(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,Qk=24,vc=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"]),Tc=new Set([...vc,"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"]),e0=new Set([...Tc,"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"]),t0=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"])]]),n0=new Set(["-C","-c"])});async function Br(e){if(e.plan!=="pro"||ql(e.filterId)||!(await ze()).telemetryOptIn)return;let t=Ho(e.cmd);!t||Un(t)!==t||Fr("learn",{cmd:t,filterId:e.filterId==null?null:fe(e.filterId),rawBytes:e.rawBytes,filteredBytes:e.filteredBytes})}var Bo=b(()=>{"use strict";Hr();Lr();jo();qe();ho();Qt()});function Rc(e){return e?i0[e]??"anthropic":"anthropic"}var i0,Ac=b(()=>{"use strict";i0={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"}});import{appendFileSync as a0,chmodSync as l0,mkdirSync as u0,readFileSync as Pc,realpathSync as c0,renameSync as Nc,rmSync as Dc,statSync as Mc,writeFileSync as zo}from"node:fs";import{basename as $c,dirname as Lc,join as zr,resolve as f0,sep as kC}from"node:path";function Fc(){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 b0(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"&&g0.has(n.o)?{o:n.o}:{}}}catch{return null}}function k0(e,t){if(!t.c)return;let n=e.cmds[t.c]??{n:0,nc:0,r:0,f:0,sh:!1};n.n+=1,t.f<t.r&&(n.nc+=1,n.rr=(n.rr??0)+t.r,n.rf=(n.rf??0)+t.f),(t.k==="sh"||t.k==="restore")&&(n.sh=!0),t.h==="shell"&&t.k!=="restore"&&(n.tn=(n.tn??0)+1,n.tr=(n.tr??0)+t.r,n.tf=(n.tf??0)+t.f,t.f<t.r&&(n.tnc=(n.tnc??0)+1,n.trr=(n.trr??0)+t.r,n.trf=(n.trf??0)+t.f)),n.r+=t.r,n.f+=t.f,e.cmds[t.c]=n}function _0(e){return e.s==="b"?`b:${(e.c??"").split(" ")[0]||"other"}`:e.s?.startsWith("u:")?e.s:e.o==="n"?"n":"?"}function w0(e,t){let n=_0(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 x0(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>h0){e.ox+=1;return}if(k0(e,t),t.k==="restore"?(e.rn+=1,e.rb+=t.f):w0(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=Rc(t.h),r=e.prov[n]??{r:0,f:0};r.r+=t.r,r.f+=t.f,e.prov[n]=r}}function S0(e){let t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function jc(e){return zr(Lc(e),p0)}function E0(e){let t=jc(e),n;try{n=Pc(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]={...Fc(),...i});return s}catch{try{Nc(t,`${t}.corrupt-${Date.now()}`)}catch{}return{}}}function Cc(e,t){let n=`${e}.tmp-${process.pid}`;zo(n,t,{mode:384}),Nc(n,e)}function v0(e){try{return zo(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-Mc(e).mtimeMs<m0?!1:(Dc(e,{force:!0}),zo(e,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function T0(e,t=Oc,n=Oc/2){try{if(Mc(e).size<=t)return}catch{return}let r=`${e}.lock`;if(v0(r))try{let s=Pc(e,"utf8").split(`
93
- `).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=E0(e);for(let u of s.slice(0,o)){let c=b0(u);if(!c)continue;let f=S0(c.t),d=a[f]??Fc();x0(d,c),a[f]=d}let l=s.slice(o);Cc(e,l.length?`${l.join(`
89
+ `:M,te=Buffer.byteLength(se,"utf8"),V=se.trim().length===0&&t.trim().length>0&&(o!=null&&o!==0||ho(e));return t.trim().length>0&&(te>=s||V)?R({output:t,filterId:d.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):R({output:se,filterId:d.slug,rawBytes:s,filteredBytes:te,debugBypass:!1,droppedTail:N})}var Cu,tk,nk,rk,sk,zn=b(()=>{"use strict";el();yr();ko();bo();ou();xo();cu();Ln();Rr();gu();bu();Rr();wu();$u();Xt();Cu=null;tk=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,nk=2048,rk=8192,sk=32*1024});import ik from"node:os";import{join as Un}from"node:path";import{existsSync as ak,statSync as lk,lstatSync as Iu,unlinkSync as uk,mkdirSync as ck,chmodSync as fk}from"node:fs";import{createHash as dk}from"node:crypto";function pk(e){let t=dk("sha256").update(E()).digest("hex").slice(0,8),n=Un(ik.tmpdir(),`tkr-${e}-${t}`),r=Un(n,"d.sock");if(Buffer.byteLength(r)>Ao)throw new Error("Temporary directory path is too long for IPC");return Pu(n,e),r}function mk(e,t){try{let n=Iu(e);return n.isDirectory()&&n.uid===t&&(n.mode&63)===0}catch{return!1}}function Pu(e,t){ck(e,{recursive:!0,mode:448});let n=Iu(e);if(!n.isDirectory()||n.uid!==t)throw new Error("Unsafe IPC directory");fk(e,448)}function Tt(){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&&mk(t,e)){let s=Un(t,`tokmizer-${e}.sock`);if(Buffer.byteLength(s)<=Ao)return{path:s,isPipe:!1}}let n=Un(E(),"run"),r=Un(n,"daemon.sock");return Buffer.byteLength(r)>Ao?{path:pk(e),isPipe:!1}:(Pu(n,e),{path:r,isPipe:!1})}async function $o(){let{path:e,isPipe:t}=Tt();if(t||!ak(e))return;try{if(!lk(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{uk(e)}catch{}}var Ao,dO,Oo=b(()=>{"use strict";J();Ao=100;dO=5*6e4});import{readFileSync as hk}from"node:fs";import{join as gk}from"node:path";function pe(){try{return hk(gk(E(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var Jn=b(()=>{"use strict";J()});var Fu=ce((bO,Lu)=>{Lu.exports=Mu;Mu.sync=bk;var Nu=Je("fs");function yk(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 Du(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:yk(t,n)}function Mu(e,t,n){Nu.stat(e,function(r,s){n(r,r?!1:Du(s,e,t))})}function bk(e,t){return Du(Nu.statSync(e),e,t)}});var Uu=ce((kO,zu)=>{zu.exports=Hu;Hu.sync=kk;var ju=Je("fs");function Hu(e,t,n){ju.stat(e,function(r,s){n(r,r?!1:Bu(s,t))})}function kk(e,t){return Bu(ju.statSync(e),t)}function Bu(e,t){return e.isFile()&&_k(e,t)}function _k(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 Zu=ce((wO,Ju)=>{var _O=Je("fs"),Dr;process.platform==="win32"||global.TESTING_WINDOWS?Dr=Fu():Dr=Uu();Ju.exports=Co;Co.sync=wk;function Co(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){Co(e,t||{},function(o,i){o?s(o):r(i)})})}Dr(e,t||{},function(r,s){r&&(r.code==="EACCES"||t&&t.ignoreErrors)&&(r=null,s=!1),n(r,s)})}function wk(e,t){try{return Dr.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var Xu=ce((xO,Yu)=>{var Qt=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Gu=Je("path"),xk=Qt?";":":",Wu=Zu(),Ku=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),Vu=(e,t)=>{let n=t.colon||xk,r=e.match(/\//)||Qt&&e.match(/\\/)?[""]:[...Qt?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],s=Qt?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=Qt?s.split(n):[""];return Qt&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:r,pathExt:o,pathExtExe:s}},qu=(e,t,n)=>{typeof t=="function"&&(n=t,t={}),t||(t={});let{pathEnv:r,pathExt:s,pathExtExe:o}=Vu(e,t),i=[],a=u=>new Promise((c,f)=>{if(u===r.length)return t.all&&i.length?c(i):f(Ku(e));let d=r[u],p=/^".*"$/.test(d)?d.slice(1,-1):d,g=Gu.join(p,e),h=!p&&/^\.[\\\/]/.test(e)?e.slice(0,2)+g:g;c(l(h,u,0))}),l=(u,c,f)=>new Promise((d,p)=>{if(f===s.length)return d(a(c+1));let g=s[f];Wu(u+g,{pathExt:o},(h,m)=>{if(!h&&m)if(t.all)i.push(u+g);else return d(u+g);return d(l(u,c,f+1))})});return n?a(0).then(u=>n(null,u),n):a(0)},Sk=(e,t)=>{t=t||{};let{pathEnv:n,pathExt:r,pathExtExe:s}=Vu(e,t),o=[];for(let i=0;i<n.length;i++){let a=n[i],l=/^".*"$/.test(a)?a.slice(1,-1):a,u=Gu.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(Wu.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 Ku(e)};Yu.exports=qu;qu.sync=Sk});var ec=ce((SO,Io)=>{"use strict";var Qu=(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=Qu;Io.exports.default=Qu});var sc=ce((EO,rc)=>{"use strict";var tc=Je("path"),Ek=Xu(),vk=ec();function nc(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=Ek.sync(e.command,{path:n[vk({env:n})],pathExt:t?tc.delimiter:void 0})}catch{}finally{o&&process.chdir(r)}return i&&(i=tc.resolve(s?e.options.cwd:"",i)),i}function Tk(e){return nc(e)||nc(e,!0)}rc.exports=Tk});var oc=ce((vO,No)=>{"use strict";var Po=/([()\][%!^"`<>&|;, *?])/g;function Rk(e){return e=e.replace(Po,"^$1"),e}function Ak(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(Po,"^$1"),t&&(e=e.replace(Po,"^$1")),e}No.exports.command=Rk;No.exports.argument=Ak});var ac=ce((TO,ic)=>{"use strict";ic.exports=/^#!(.*)/});var uc=ce((RO,lc)=>{"use strict";var $k=ac();lc.exports=(e="")=>{let t=e.match($k);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),s=n.split("/").pop();return s==="env"?r:r?`${s} ${r}`:s}});var fc=ce((AO,cc)=>{"use strict";var Do=Je("fs"),Ok=uc();function Ck(e){let n=Buffer.alloc(150),r;try{r=Do.openSync(e,"r"),Do.readSync(r,n,0,150,0),Do.closeSync(r)}catch{}return Ok(n.toString())}cc.exports=Ck});var hc=ce(($O,mc)=>{"use strict";var Ik=Je("path"),dc=sc(),pc=oc(),Pk=fc(),Nk=process.platform==="win32",Dk=/\.(?:com|exe)$/i,Mk=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Lk(e){e.file=dc(e);let t=e.file&&Pk(e.file);return t?(e.args.unshift(e.file),e.command=t,dc(e)):e.file}function Fk(e){if(!Nk)return e;let t=Lk(e),n=!Dk.test(t);if(e.options.forceShell||n){let r=Mk.test(t);e.command=Ik.normalize(e.command),e.command=pc.command(e.command),e.args=e.args.map(o=>pc.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 jk(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:Fk(r)}mc.exports=jk});var bc=ce((OO,yc)=>{"use strict";var Mo=process.platform==="win32";function Lo(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 Hk(e,t){if(!Mo)return;let n=e.emit;e.emit=function(r,s){if(r==="exit"){let o=gc(s,t);if(o)return n.call(e,"error",o)}return n.apply(e,arguments)}}function gc(e,t){return Mo&&e===1&&!t.file?Lo(t.original,"spawn"):null}function Bk(e,t){return Mo&&e===1&&!t.file?Lo(t.original,"spawnSync"):null}yc.exports={hookChildProcess:Hk,verifyENOENT:gc,verifyENOENTSync:Bk,notFoundError:Lo}});var wc=ce((CO,en)=>{"use strict";var kc=Je("child_process"),Fo=hc(),jo=bc();function _c(e,t,n){let r=Fo(e,t,n),s=kc.spawn(r.command,r.args,r.options);return jo.hookChildProcess(s,r),s}function zk(e,t,n){let r=Fo(e,t,n),s=kc.spawnSync(r.command,r.args,r.options);return s.error=s.error||jo.verifyENOENTSync(s.status,r),s}en.exports=_c;en.exports.spawn=_c;en.exports.sync=zk;en.exports._parse=Fo;en.exports._enoent=jo});function Uk(){let e=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(e)&&e>0?e:6048e5}function Mr(e,t=Date.now()){let n=e.lastHeartbeatOkAt;if(typeof n=="number"&&t-n>Uk())return!0;if(e.subEndsAt){let r=Date.parse(e.subEndsAt);if(Number.isFinite(r)&&t>r)return!0}return!1}function Lr(e,t=Date.now()){return e.plan}var Ho=b(()=>{"use strict"});function Rt(e){let t=e;for(let[n,r]of Jk)t=t.replace(n,r);return t}function Kk(e){if(!e.includes("PRIVATE KEY-----"))return e;let t=e.split(`
90
+ `),n=[];for(let r of t){if(Gk.test(r)){let s=n.length;for(;s>0&&Wk.test(n[s-1]);)s-=1;if(s<n.length){n.length=s,n.push(`${Ce}${r}`);continue}}n.push(r)}return n.join(`
91
+ `)}function Fr(e){let t=e;for(let[n,r]of Zk)t=t.replace(n,r);return Kk(t)}var Jk,Ce,Zk,Gk,Wk,Zn=b(()=>{"use strict";Jk=[[/(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]"]];Ce="[tkr: secret masked]",Zk=[[/(-----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${Ce}`],[/(?<![A-Za-z0-9_])(gh[pousr])_[A-Za-z0-9]{36,255}(?![A-Za-z0-9])/g,`$1_${Ce}`],[/(?<![A-Za-z0-9_])github_pat_[A-Za-z0-9_]{22,255}/g,`github_pat_${Ce}`],[/(?<![A-Za-z0-9_])npm_[A-Za-z0-9]{36}(?![A-Za-z0-9])/g,`npm_${Ce}`],[/(?<![A-Z0-9])(AKIA|ASIA)[A-Z0-9]{16}(?![A-Z0-9])/g,`$1${Ce}`],[/(?<![A-Za-z0-9])(xox[abpors]-)[A-Za-z0-9-]{10,}/g,`$1${Ce}`],[/(?<![A-Za-z0-9])((?:sk|rk)_live_)[A-Za-z0-9]{16,}/g,`$1${Ce}`],[/(authorization["']?\s*[:=]\s*["']?bearer\s+)[A-Za-z0-9._~+/=-]{8,}/gi,`$1${Ce}`],[/(?<![A-Za-z0-9+.-])([a-zA-Z][a-zA-Z0-9+.-]{0,31}:\/\/[^\s:/@]*:)[^\s@/]+(@[^\s@/]+)/g,`$1${Ce}$2`]],Gk=/^-----END [A-Z0-9 ]*PRIVATE KEY-----/,Wk=/^[A-Za-z0-9+/=]{16,}\r?$/});var xc=b(()=>{"use strict"});import{createHash as MO,createHmac as LO,randomUUID as Vk}from"node:crypto";import{readFile as Sc,writeFile as Ec,mkdir as qk}from"node:fs/promises";async function Bo(){try{let n=(await Sc(An(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(n))return n}catch{}await qk(E(),{recursive:!0});let e=Vk();try{return await Ec(An(),e,{mode:384,flag:"wx"}),e}catch{try{let t=(await Sc(An(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(t))return t}catch{}return await Ec(An(),e,{mode:384}),e}}var zo=b(()=>{"use strict";J()});import{readFile as Yk,writeFile as zO,mkdir as UO,chmod as JO,rm as ZO,rename as GO,readdir as WO}from"node:fs/promises";import{join as Xk}from"node:path";async function Be(){let e=null;try{let t=JSON.parse(await Yk(Xk(E(),Qk),"utf8"));typeof t=="object"&&t!==null&&!Array.isArray(t)&&(e=t)}catch{}return e?Ut.parse({...vc,...e}):vc}var Qk,vc,YO,tn=b(()=>{"use strict";qe();J();Qk="settings-cache.json",vc=Ut.parse({}),YO=Ut.partial().extend({filters:Ut.shape.filters.removeDefault().partial().optional()})});var Tc=b(()=>{"use strict";J();tn();Cn();Zt()});import{join as Uo}from"node:path";import{appendFileSync as Rc,chmodSync as e0,existsSync as Ac,mkdirSync as t0,readFileSync as cC,renameSync as fC,rmdirSync as dC,statSync as $c,unlinkSync as pC,utimesSync as mC,writeFileSync as hC}from"node:fs";function Jo(){return Uo(E(),"spool")}function r0(e){return Uo(Jo(),`${e}.jsonl`)}function o0(e){return Uo(Jo(),`${e}.dropped`)}function i0(e){try{let t=o0(e);if(Ac(t)&&$c(t).size>=s0)return;Rc(t,".",{mode:384})}catch{return}}function jr(e,t){if(On())try{t0(Jo(),{recursive:!0,mode:448});let n=r0(e);if(Ac(n)&&$c(n).size>=n0){i0(e);return}Rc(n,JSON.stringify(t)+`
92
+ `,{mode:384}),e0(n,384)}catch{return}}var n0,s0,Hr=b(()=>{"use strict";xc();J();$n();zo();Us();tn();Cn();Tc();n0=512*1024;s0=1024*1024});function y0(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 Ic.has(n.toLowerCase())?n:""}function b0(e,t,n){let r=0;for(;e==="git"&&r<n.length&&n[r].startsWith("-");)r+=g0.has(n[r])?2:1;let s=(n[r]??"").toLowerCase();return t.has(s)?`${e} ${s}`:e}function Oc(e){let t=e.toLowerCase();return t.startsWith("git")||f0.has(t)}function Zo(e){let t=e.trim().split(/\s+/).filter(l=>l.length>0),n=0;for(;n<t.length&&c0.test(t[n]??"");)n+=1;let r=y0(t[n]??"");if(!r||!l0.test(r)||r.length>p0)return"";let s=h0.get(r.toLowerCase());if(s)return b0(r.toLowerCase(),s,t.slice(n+1));if(Oc(r)||d0.test(r)||Rt(r)!==r)return"";let o=t[n+1];return o&&Oc(o)?"":(o&&Cc.has(r.toLowerCase())&&u0.test(o)?`${r} ${o}`:r).slice(0,64)}function k0(e){return m0.has((e.split(" ")[0]??"").toLowerCase())}async function Br(e){if(!e.telemetryOptIn)return;let t=Zo(e.cmd),n=t&&Rt(t)===t&&k0(t)?t:"other",r=e.sessionId?e.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";jr("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 l0,u0,c0,f0,d0,p0,Cc,Ic,m0,h0,g0,zr=b(()=>{"use strict";Zn();Hr();l0=/^[a-z0-9][a-z0-9._-]*$/i,u0=/^[a-z][a-z-]+$/,c0=/^[A-Za-z_][A-Za-z0-9_]*=/,f0=new Set(["gh","glab","gup","hub","gist"]),d0=/^(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,p0=24,Cc=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"]),Ic=new Set([...Cc,"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"]),m0=new Set([...Ic,"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"]),h0=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"])]]),g0=new Set(["-C","-c"])});async function Ur(e){if(e.plan!=="pro"||nu(e.filterId)||!(await Be()).telemetryOptIn)return;let t=Zo(e.cmd);!t||Rt(t)!==t||jr("learn",{cmd:t,filterId:e.filterId==null?null:fe(e.filterId),rawBytes:e.rawBytes,filteredBytes:e.filteredBytes})}var Go=b(()=>{"use strict";zr();Zn();Hr();qe();ko();tn()});function Pc(e){return e?_0[e]??"anthropic":"anthropic"}var _0,Nc=b(()=>{"use strict";_0={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"}});import{appendFileSync as w0,chmodSync as x0,mkdirSync as S0,readFileSync as jc,realpathSync as E0,renameSync as Hc,rmSync as Bc,statSync as zc,writeFileSync as Wo}from"node:fs";import{basename as Dc,dirname as Uc,join as Jr,resolve as v0,sep as FC}from"node:path";function Jc(){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 I0(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"&&O0.has(n.o)?{o:n.o}:{}}}catch{return null}}function P0(e,t){if(!t.c)return;let n=e.cmds[t.c]??{n:0,nc:0,r:0,f:0,sh:!1};n.n+=1,t.f<t.r&&(n.nc+=1,n.rr=(n.rr??0)+t.r,n.rf=(n.rf??0)+t.f),(t.k==="sh"||t.k==="restore")&&(n.sh=!0),t.h==="shell"&&t.k!=="restore"&&(n.tn=(n.tn??0)+1,n.tr=(n.tr??0)+t.r,n.tf=(n.tf??0)+t.f,t.f<t.r&&(n.tnc=(n.tnc??0)+1,n.trr=(n.trr??0)+t.r,n.trf=(n.trf??0)+t.f)),n.r+=t.r,n.f+=t.f,e.cmds[t.c]=n}function N0(e){return e.s==="b"?`b:${(e.c??"").split(" ")[0]||"other"}`:e.s?.startsWith("u:")?e.s:e.o==="n"?"n":"?"}function D0(e,t){let n=N0(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 M0(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>$0){e.ox+=1;return}if(P0(e,t),t.k==="restore"?(e.rn+=1,e.rb+=t.f):D0(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=Pc(t.h),r=e.prov[n]??{r:0,f:0};r.r+=t.r,r.f+=t.f,e.prov[n]=r}}function L0(e){let t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function Zc(e){return Jr(Uc(e),R0)}function F0(e){let t=Zc(e),n;try{n=jc(t,"utf8")}catch{return{}}try{let r=JSON.parse(n);if(!r.days||typeof r.days!="object")throw new Error("invalid ledger");let s={};for(let[o,i]of Object.entries(r.days))!/^\d{4}-\d{2}-\d{2}$/.test(o)||!i||typeof i!="object"||(s[o]={...Jc(),...i});return s}catch{try{Hc(t,`${t}.corrupt-${Date.now()}`)}catch{}return{}}}function Lc(e,t){let n=`${e}.tmp-${process.pid}`;Wo(n,t,{mode:384}),Hc(n,e)}function j0(e){try{return Wo(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-zc(e).mtimeMs<A0?!1:(Bc(e,{force:!0}),Wo(e,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function H0(e,t=Mc,n=Mc/2){try{if(zc(e).size<=t)return}catch{return}let r=`${e}.lock`;if(j0(r))try{let s=jc(e,"utf8").split(`
93
+ `).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=F0(e);for(let u of s.slice(0,o)){let c=I0(u);if(!c)continue;let f=L0(c.t),d=a[f]??Jc();M0(d,c),a[f]=d}let l=s.slice(o);Lc(e,l.length?`${l.join(`
94
94
  `)}
95
- `:""),Cc(jc(e),JSON.stringify({v:1,days:a}))}catch{return}finally{Dc(r,{force:!0})}}function R0(e){let t=f0(e),n=t,r="";for(;;){try{return zr(c0(n),r)}catch{}let s=Lc(n);if(s===n)return t;r=r?zr($c(n),r):$c(n),n=s}}function Ic(e){return e.length===0||e[0]==="cd"||e.every(t=>Hc.test(t))}function I0(e){let t=[],n="",r=!1,s=null,o=()=>{r&&t.push(n),n="",r=!1};for(let i of e){if(s){i===s?s=null:n+=i;continue}if(i==="'"||i==='"'){s=i,r=!0;continue}if(i===" "||i===" "){o();continue}if(`|;&<>
96
- `.includes(i)){if(o(),Ic(t)){t=[];continue}return t}n+=i,r=!0}return o(),Ic(t)?[]:t}function Rt(e){let t=I0(e).map(a=>a.replace(/^[({]+/,"")).filter(Boolean),n=0;for(;n<t.length;){let a=t[n];if(Hc.test(a)){n+=1;continue}if(A0.has(a)){for(n+=1;n<t.length;){let l=t[n];if(l.startsWith("-")){n+=$0.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("-")&&O0.test(o)&&C0.has(s.toLowerCase())?`${s} ${o}`:s).slice(0,24)}function P0(){return zr(E(),d0)}function Ur(e,t,n=P0(),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?R0(a):"",p=d&&d.length<=y0?`,"p":${JSON.stringify(d)}`:"",g=l.s?`,"s":${JSON.stringify(l.s.slice(0,66))}`:"",h=l.o?`,"o":${JSON.stringify(l.o)}`:"",m=`{"t":${Math.floor(Date.now()/1e3)},"r":${e},"f":${t}${r?',"m":1':""}${u}${c}${f}${p}${g}${h}}
97
- `;try{u0(E(),{recursive:!0,mode:448}),a0(n,m,{mode:384}),l0(n,384),T0(n)}catch{return}}function Zr(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 Jr(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 d0,p0,Oc,m0,h0,g0,y0,A0,$0,O0,C0,Hc,Uo=b(()=>{"use strict";Z();Ac();d0="stats.jsonl",p0="stats-ledger.json",Oc=2*1024*1024,m0=3e4,h0=3e4,g0=new Set(["n","g","e"]),y0=256;A0=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),$0=new Set(["-u","-g","-n","-s","-k"]),O0=/^[a-z0-9][a-z0-9._-]*$/i,C0=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"]),Hc=/^[A-Za-z_][A-Za-z0-9_]*=/});import{appendFileSync as N0,mkdirSync as D0,readFileSync as M0,writeFileSync as L0,renameSync as F0,statSync as j0,readdirSync as EC,rmSync as vC,chmodSync as H0}from"node:fs";import{join as Bc}from"node:path";function zc(){return Bc(E(),"sessions")}function Z0(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Bc(zc(),`${t}.jsonl`)}function Gr(e,t){try{let n=Z0(e);D0(zc(),{recursive:!0,mode:448});let r=JSON.stringify({t:t.t??Math.floor(Date.now()/1e3),tool:t.tool,target:t.target.slice(0,U0),...t.fail?{fail:1}:{}});if(N0(n,`${r}
98
- `,{mode:384}),H0(n,384),j0(n).size>B0){let s=M0(n,"utf8").split(`
99
- `).filter(a=>a.trim()!==""),o=s.slice(s.length-z0),i=`${n}.tmp-${process.pid}`;L0(i,`${o.join(`
95
+ `:""),Lc(Zc(e),JSON.stringify({v:1,days:a}))}catch{return}finally{Bc(r,{force:!0})}}function B0(e){let t=v0(e),n=t,r="";for(;;){try{return Jr(E0(n),r)}catch{}let s=Uc(n);if(s===n)return t;r=r?Jr(Dc(n),r):Dc(n),n=s}}function Fc(e){return e.length===0||e[0]==="cd"||e.every(t=>Gc.test(t))}function G0(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(`|;&<>
96
+ `.includes(i)){if(o(),Fc(t)){t=[];continue}return t}n+=i,r=!0}return o(),Fc(t)?[]:t}function At(e){let t=G0(e).map(a=>a.replace(/^[({]+/,"")).filter(Boolean),n=0;for(;n<t.length;){let a=t[n];if(Gc.test(a)){n+=1;continue}if(z0.has(a)){for(n+=1;n<t.length;){let l=t[n];if(l.startsWith("-")){n+=U0.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("-")&&J0.test(o)&&Z0.has(s.toLowerCase())?`${s} ${o}`:s).slice(0,24)}function W0(){return Jr(E(),T0)}function Zr(e,t,n=W0(),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?B0(a):"",p=d&&d.length<=C0?`,"p":${JSON.stringify(d)}`:"",g=l.s?`,"s":${JSON.stringify(l.s.slice(0,66))}`:"",h=l.o?`,"o":${JSON.stringify(l.o)}`:"",m=`{"t":${Math.floor(Date.now()/1e3)},"r":${e},"f":${t}${r?',"m":1':""}${u}${c}${f}${p}${g}${h}}
97
+ `;try{S0(E(),{recursive:!0,mode:448}),w0(n,m,{mode:384}),x0(n,384),H0(n)}catch{return}}function Gr(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 Wr(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 T0,R0,Mc,A0,$0,O0,C0,z0,U0,J0,Z0,Gc,Ko=b(()=>{"use strict";J();Hr();Nc();T0="stats.jsonl",R0="stats-ledger.json",Mc=2*1024*1024,A0=3e4,$0=3e4,O0=new Set(["n","g","e"]),C0=256;z0=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),U0=new Set(["-u","-g","-n","-s","-k"]),J0=/^[a-z0-9][a-z0-9._-]*$/i,Z0=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"]),Gc=/^[A-Za-z_][A-Za-z0-9_]*=/});import{appendFileSync as K0,mkdirSync as V0,readFileSync as q0,writeFileSync as Y0,renameSync as X0,statSync as Q0,readdirSync as JC,rmSync as ZC,chmodSync as e_}from"node:fs";import{join as Wc}from"node:path";function Kc(){return Wc(E(),"sessions")}function s_(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Wc(Kc(),`${t}.jsonl`)}function o_(e){let t=Rt(e).replace(/(^|\s)(-p)(?=\S)\S+/g,"$1$2[REDACTED]");return Fr(t).slice(0,r_)}function Kr(e,t){try{let n=s_(e);V0(Kc(),{recursive:!0,mode:448});let r=JSON.stringify({t:t.t??Math.floor(Date.now()/1e3),tool:t.tool,target:o_(t.target),...t.fail?{fail:1}:{}});if(K0(n,`${r}
98
+ `,{mode:384}),e_(n,384),Q0(n).size>t_){let s=q0(n,"utf8").split(`
99
+ `).filter(a=>a.trim()!==""),o=s.slice(s.length-n_),i=`${n}.tmp-${process.pid}`;Y0(i,`${o.join(`
100
100
  `)}
101
- `,{mode:384}),F0(i,n)}}catch{}}var B0,z0,AC,U0,Zo=b(()=>{"use strict";Z();B0=96*1024,z0=500,AC=168*3600*1e3,U0=120});function J0(e){return e.charCodeAt(0)===65279?e.slice(1):e}function be(e){return JSON.parse(J0(e))}var At=b(()=>{"use strict"});import{basename as G0}from"node:path";function $t(e){let t=G0(e).replace(/\.(m?js|ts)$/,"");if(t==="tkr")return[];for(let[n,r]of Object.entries(W0))if(r===t)return[n];for(let[n,r]of Object.entries(K0))if(r===t)return["hook",n];return null}var W0,K0,Zn=b(()=>{"use strict";W0={exec:"tkr-exec",processor:"tkr-processor",daemon:"tkr-daemon","shim-run":"tkr-shim"},K0={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"}});import{realpathSync as Uc}from"node:fs";import{delimiter as V0,join as en}from"node:path";import q0 from"node:os";function ve(){return!1}function Jn(e,t=process.execPath){let n=ve()?$t(e):null;return n?[process.execPath,...n]:[t,e]}function Zc(e,t){try{return Uc(e)===Uc(t)}catch{return!1}}function Wr(e=process.env.PATH??"",t=process.platform,n=process.execPath){let r=t==="win32"?"tkr.exe":"tkr";for(let s of e.split(t==="win32"?";":V0)){if(!s||s.includes("node_modules"))continue;let o=en(s,r);if(Zc(o,n))return o}if(t!=="win32"){let s=q0.homedir();for(let o of[en(s,".local","bin",r),en(s,".local","share","tokmizer","current","dist","bin",r),en("/opt/homebrew/bin",r),en("/usr/local/bin",r),en("/home/linuxbrew/.linuxbrew/bin",r)])if(Zc(o,n))return o}return n}var Xe=b(()=>{"use strict";Zn()});import{rmSync as Y0,statSync as X0}from"node:fs";import{join as Jc}from"node:path";function Gn(){return Jc(E(),"shims")}function Kr(){return Jc(E(),"fail-open")}function ke(e=Date.now()){try{if(e-X0(Kr()).mtimeMs<Q0)return!0;Y0(Kr(),{force:!0})}catch{}return!1}function Jo(){return`[ -f ${Ie(Kr())} ]`}function Ie(e){return`'${e.replace(/'/g,"'\\''")}'`}function Gc(e){if(!e.startsWith("'")||!e.endsWith("'")||e.length<2)return null;let n=e.slice(1,-1).split("'\\''");return n.some(r=>r.includes("'"))?null:n.join("'")}var Q0,_e=b(()=>{"use strict";Z();Q0=24*36e5});import{accessSync as n_,chmodSync as r_,constants as s_,existsSync as Vr,mkdirSync as o_,readdirSync as i_,readFileSync as a_,realpathSync as Wc,renameSync as l_,unlinkSync as u_,writeFileSync as c_}from"node:fs";import{basename as Wo,dirname as Qe,join as Pe,sep as tn}from"node:path";import f_ from"node:os";function Yc(){return Pe(E(),"bin","tkr-shim-launch")}function d_(){return Pe(E(),"bin","tkr-run")}function Kc(){return Pe(process.env.CLAUDE_CONFIG_DIR||Pe(f_.homedir(),".claude"),"plugins","cache","tokmizer","tokmizer")}function p_(e){let t=Qe(Qe(Qe(e)));return qc.test(Wo(t))&&Wo(Qe(t))==="tokmizer"?Qe(t):null}function Ko(e){return/[\n\r]/.test(e)||e.includes(`${tn}_npx${tn}`)||e.includes(`${tn}.bun${tn}install${tn}cache${tn}`)}function Vo(e){let t=e.match(/^(.*)[\\/]Cellar[\\/]([^\\/]+)[\\/][^\\/]+[\\/](.*)$/);if(!t)return e;let n=Pe(t[1],"opt",t[2],t[3]);try{return Wc(n)===Wc(e)?n:e}catch{return e}}function m_(e=process.execPath){return Ko(e)?"":Vo(e)}function Xc(e,t=ve()){if(t&&$t(e)){let s=Wr();return{single:Ko(s)?"":Vo(s),js:"",cache:Kc(),node:""}}let n=m_(),r=p_(e);return r?{single:"",js:"",cache:r,node:n}:{single:"",js:Ko(e)?"":Vo(e),cache:Kc(),node:n}}function h_(e){try{return n_(e,s_.X_OK),!0}catch{return!1}}function g_(e){let t=null,n=-1,r;try{r=i_(e)}catch{return null}for(let s of r){if(!qc.test(s))continue;let o=Pe(e,s);if(!Vr(Pe(o,"dist","bin","tkr-shim.js"))||!Vr(Pe(o,"dist","bin",Wn)))continue;let[i,a,l]=s.split(".").map(Number),u=i*1e6+a*1e3+l;u>n&&(n=u,t=o)}return t}function Go(e){return e.single&&h_(e.single)||e.js&&Vr(e.js)&&(Wo(e.js)!=="tkr-shim.js"||Vr(Pe(Qe(e.js),Wn)))?!0:e.cache!==""&&g_(e.cache)!==null}function y_(e,t){return["_tk_t=",`if [ -n "$_tk_j" ] && [ -f "${t}" ] && { [ "\${_tk_j##*/}" != tkr-shim.js ] || [ -f "\${_tk_j%/*}/${Wn}" ]; }; then _tk_t=${t}; fi`,'if [ -z "$_tk_t" ] && [ -n "$_tk_k" ] && [ -d "$_tk_k" ]; then'," _tk_b=-1",' for _tk_r in "$_tk_k"/*/; do'," _tk_v=${_tk_r%/}; _tk_v=${_tk_v##*/}"," case $_tk_v in *[!0-9.]*|.*|*.|*..*|0[0-9]*|*.0[0-9]*|*[0-9][0-9][0-9][0-9][0-9][0-9][0-9]*) continue ;; [0-9]*.[0-9]*.[0-9]*) ;; *) continue ;; esac"," case ${_tk_v#*.*.} in *.*) continue ;; esac",` [ -f "\${_tk_r}dist/bin/${e}" ] && [ -f "\${_tk_r}dist/bin/${Wn}" ] || continue`," _tk_1=${_tk_v%%.*}; _tk_2=${_tk_v#*.}; _tk_3=${_tk_2#*.}; _tk_2=${_tk_2%%.*}"," _tk_v=$((_tk_1 * 1000000 + _tk_2 * 1000 + _tk_3))",` if [ "$_tk_v" -gt "$_tk_b" ]; then _tk_b=$_tk_v; _tk_t=\${_tk_r}dist/bin/${e}; fi`," done","fi",'if [ -z "$_tk_t" ]; then',` _tk_d=${Ie(Gn())}`," set -f; _tk_o=$IFS; IFS=:"," for _tk_e in $PATH; do"," case $_tk_e in /*/node_modules/*|*/node_modules) continue ;; /*) ;; *) continue ;; esac",' [ ! "$_tk_e" -ef "$_tk_d" ] || continue',' for _tk_g in "$_tk_e/../lib/node_modules/@tokmizer/plugin/dist/bin" "$_tk_e/../opt/tokmizer/libexec/lib/node_modules/@tokmizer/plugin/dist/bin"; do',` if [ -f "$_tk_g/${Wn}" ] && [ -f "$_tk_g/${e}" ]; then _tk_t=$_tk_g/${e}; break 2; fi`," done"," done"," IFS=$_tk_o; set +f","fi","_tk_x=",'if [ -n "$_tk_t" ]; then',' for _tk_x in "$_tk_n" "$(command -v node 2>/dev/null)" /opt/homebrew/bin/node /usr/local/bin/node /usr/bin/node ""; do',' [ -n "$_tk_x" ] && [ -x "$_tk_x" ] && break'," done","fi"]}function b_(e){return["#!/bin/sh",`_tk_f=${Vc}`,`_tk_s=${Ie(e.single)}`,`_tk_j=${Ie(e.js)}`,`_tk_k=${Ie(e.cache)}`,`_tk_n=${Ie(e.node)}`,'[ "$#" -gt 0 ] || exit 0',`if ! ${Jo()}; then`,' if [ -n "$_tk_s" ] && [ -x "$_tk_s" ]; then exec "$_tk_s" exec "$@"; fi',...y_("tkr-exec.js","${_tk_j%/*}/tkr-exec.js").map(t=>` ${t}`),' if [ -n "$_tk_t" ]; then'," _tk_r=${_tk_t%/*}",' if [ -f "$_tk_r/tkr-exec" ] && [ -s "$_tk_r/tkr-exec" ] && [ -x "$_tk_r/tkr-exec" ]; then exec "$_tk_r/tkr-exec" "$@"; fi',' if [ -n "$_tk_x" ] && [ -s "$_tk_t" ]; then exec "$_tk_x" "$_tk_t" "$@"; fi'," fi","fi",'exec "$@"',""].join(`
102
- `)}function Qc(e){let t=d_(),n=Xc(Pe(Qe(e),"tkr-shim.js")),r=__(t);if(r&&r.format===Vc&&Go(r.target)&&JSON.stringify(r.target)===JSON.stringify(n))return t;if(!Go(n))return r&&Go(r.target)?t:null;let s=`${t}.${process.pid}.tmp`;try{return o_(Qe(t),{recursive:!0,mode:448}),c_(s,b_(n),{mode:493}),r_(s,493),l_(s,t),t}catch{try{u_(s)}catch{}return null}}function k_(e){let t=a=>{let l=e.match(new RegExp(`^${a}=(.*)$`,"m"));return l?a==="_tk_f"?l[1]:Gc(l[1]):null},n=Number(t("_tk_f")),r=t("_tk_s"),s=t("_tk_j"),o=t("_tk_k"),i=t("_tk_n")??"";return!Number.isInteger(n)||r===null||s===null||o===null?null:{format:n,target:{single:r,js:s,cache:o,node:i}}}function __(e=Yc()){try{return k_(a_(e,"utf8"))}catch{return null}}var Vc,Wn,qc,qr=b(()=>{"use strict";Z();Xe();Zn();_e();Vc=1,Wn="tkr-shim.stable",qc=/^(?:0|[1-9]\d{0,5})\.(?:0|[1-9]\d{0,5})\.(?:0|[1-9]\d{0,5})$/});import{chmod as w_,lstat as ef,mkdir as x_,readFile as Yo,rename as S_,rm as XC,unlink as tf,writeFile as E_}from"node:fs/promises";import{createHash as nf}from"node:crypto";import{basename as v_,join as rf}from"node:path";function sf(){return rf(E(),"backup","config")}function qo(e){let t=Qo(e),n=nf("sha256").update(t).digest("hex").slice(0,16),r=v_(t).replace(/[^A-Za-z0-9._-]/g,"_").slice(0,80);return rf(sf(),`${n}-${r}`)}function of(e){return`${qo(e)}.written`}function af(e){return nf("sha256").update(e).digest("hex")}async function R_(e){try{return await ef(e),!0}catch{return!1}}async function Xo(e,t){let n=`${e}.tmp-${process.pid}`;try{return await x_(sf(),{recursive:!0,mode:448}),await E_(n,t,{mode:384}),await w_(n,384),await S_(n,e),!0}catch{return await tf(n).catch(()=>{}),!1}}async function A_(e,t){let n=`${e}${T_}`;try{if(!(await ef(n)).isFile())return!1}catch{return!1}let r=!await R_(t);if(r&&!await Xo(t,await Yo(n,"utf8")))throw new Error("backup");return await tf(n).catch(()=>{}),r}async function $_(e,t){try{return(await Yo(of(e),"utf8")).trim()===af(t)}catch{return!1}}async function lf(e,t){let n=t;try{n===void 0&&(n=await Yo(e,"utf8"))}catch(r){return r.code==="ENOENT"}try{if(await A_(e,qo(e)))return!0}catch{return!1}return await $_(e,n)?!0:Xo(qo(e),n)}async function Yr(e,t,n){return!await lf(e,n)||!await Qr(e,t)?!1:(await Xo(of(e),`${af(t)}
103
- `),!0)}var T_,Xr=b(()=>{"use strict";Z();Ne();T_=".tkr-bak"});import{readFile as O_,writeFile as C_,rename as I_,mkdir as df,chmod as P_,stat as N_,unlink as D_}from"node:fs/promises";import{existsSync as M_,lstatSync as L_,readlinkSync as F_,realpathSync as uf}from"node:fs";import{basename as j_,dirname as es,join as H_,resolve as cf}from"node:path";function z(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}async function et(e){if(!M_(e))return{};try{let t=be(await O_(e,"utf8"));return z(t)?t:null}catch{return null}}function Qo(e){let t=cf(e);for(let n=0;n<32;n++){try{return uf(t)}catch{}try{if(!L_(t).isSymbolicLink())break;t=cf(es(t),F_(t))}catch{break}}try{return H_(uf(es(t)),j_(t))}catch{return t}}async function Qr(e,t){let n=Qo(e),r=`${n}.tmp-${process.pid}`;try{await df(es(n),{recursive:!0});let s=384;try{s=(await N_(n)).mode&511}catch{}return await C_(r,t,{mode:s}),await P_(r,s),await I_(r,n),!0}catch{try{await D_(r)}catch{}return!1}}async function tt(e,t){try{await df(es(e),{recursive:!0})}catch{return!1}return Yr(e,`${JSON.stringify(t,null,2)}
104
- `)}function B_(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<0)return null;n+=e.slice(s+1,i),r=!0,s=i}else if(o==='"'){let i=e.indexOf('"',s+1);if(i<0)return null;let a=e.slice(s+1,i);if(/`|\$\(/.test(a))return null;n+=a,r=!0,s=i}else if(o==="\\"&&e[s+1]==="'")n+="'",r=!0,s++;else if(o===" "||o===" ")r&&t.push(n),n="",r=!1;else{if(o===";"||o==="&"||o==="|"||o==="`"||o===`
105
- `||o==="\r"||o==="$"&&e[s+1]==="(")return null;n+=o,r=!0}}return r&&t.push(n),t}function ei(e){return(e.split(/[\\/]/).pop()??"").toLowerCase().replace(/\.(?:exe|cmd|bat|ps1|m?js|sh)$/,"")}function U_(e){if(typeof e!="string")return null;let t=e.replace(z_,""),n=B_(t);if(!n)return null;let r=0;for(;r<n.length&&ff.test(n[r]);)r++;if(n[r]==="exec"&&r++,r>=n.length||ff.test(n[r]))return null;let s=ei(n[r]),o=n.slice(r+1);if(s==="sh"||s==="bash"){let i=o[0]!==void 0?ei(o[0]):"";return/^tkr-hook(?:-launch)?$/.test(i)?{program:i,args:o.slice(2),launcherMark:o[1]??""}:{program:s,args:o}}return s==="node"?{program:o[0]!==void 0?ei(o[0]):"node",args:o.slice(1)}:{program:s,args:o}}function nn(e,t){let n=U_(e);if(!n)return!1;if(n.launcherMark!==void 0)return n.launcherMark===t;if(n.program===t)return!0;if(n.program!=="tkr")return!1;let r=$t(t);return r?.length?r.every((s,o)=>n.args[o]===s):!1}function ts(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(!z(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 z_,ff,Ne=b(()=>{"use strict";Zn();Xe();qr();Xr();At();z_=/^\s*\[ ! -[a-z] (?:'(?:[^']|'\\'')*'|"[^"]*") \] \|\| /,ff=/^[A-Za-z_][A-Za-z0-9_]*=/});import{existsSync as gI,readFileSync as Z_}from"node:fs";import{join as J_}from"node:path";import G_ from"node:os";function K_(){return J_(G_.homedir(),".cursor","hooks.json")}function V_(e){return z(e)&&nn(e.command,W_)}function q_(e){let t=z(e.hooks)?e.hooks:{},n=Array.isArray(t[pf])?t[pf]:[];return{hooks:t,entries:n}}function mf(){try{let e=be(Z_(K_(),"utf8"));return q_(e).entries.some(V_)}catch{return!1}}var W_,pf,hf=b(()=>{"use strict";At();Ne();W_="tkr-cursor-hook",pf="preToolUse"});import{existsSync as SI,readFileSync as Y_}from"node:fs";import{join as X_}from"node:path";import Q_ from"node:os";function tw(){return X_(process.env.GEMINI_CLI_HOME||Q_.homedir(),".gemini","settings.json")}function nw(e){return z(e)&&nn(e.command,ew)}function rw(e){return(Array.isArray(e.hooks)?e.hooks:[]).find(nw)}function sw(e){let t=z(e.hooks)?e.hooks:{},n=Array.isArray(t[gf])?t[gf]:[];return{hooks:t,groups:n}}function yf(){try{let e=be(Y_(tw(),"utf8"));return sw(e).groups.some(t=>rw(t)!=null)}catch{return!1}}var ew,gf,bf=b(()=>{"use strict";At();Ne();ew="tkr-gemini-hook",gf="BeforeTool"});import{existsSync as CI,accessSync as II,constants as PI,readFileSync as ow}from"node:fs";function aw(e){return e.includes(iw)}function kf(e){try{return aw(ow(e,"utf8"))}catch{return!1}}var iw,_f=b(()=>{"use strict";Ne();Xe();Xr();Z();iw='"rewrite", "--host"'});import{readFile as xf,mkdir as lw}from"node:fs/promises";import{existsSync as ri,readFileSync as Sf}from"node:fs";import{dirname as uw,join as ni}from"node:path";import Ef from"node:os";function qn(){return ni(process.env.VIBE_HOME||ni(Ef.homedir(),".vibe"),"hooks.toml")}function wf(e){return JSON.stringify(e)}function cw(e){return["[[hooks]]",`name = ${wf(vf)}`,'type = "pre_tool"','match = "bash"',`command = ${wf(e)}`,"timeout = 10.0","strict = false",'description = "Route shell commands through tokmizer."',""].join(`
106
- `)}function si(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 Vn(e){return/^\s*\[\[hooks\]\]/.test(e)&&new RegExp(`^\\s*name\\s*=\\s*"${vf}"\\s*$`,"m").test(e)}async function Tf(e,t){try{await lw(uw(e),{recursive:!0})}catch{return!1}return Yr(e,t)}function Rf(){try{return si(Sf(qn(),"utf8")).some(Vn)}catch{return!1}}async function Af(e){let t=qn(),n="";try{ri(t)&&(n=await xf(t,"utf8"))}catch{return"error"}let r=cw(e),s=si(n),o=s.filter(Vn);if(o.length===1&&o[0].trimEnd()===r.trimEnd())return"present";let i=s.filter(l=>!Vn(l)).join("").trimEnd(),a=i?`${i}
101
+ `,{mode:384}),X0(i,n)}}catch{}}var t_,n_,VC,r_,Vo=b(()=>{"use strict";J();Zn();t_=96*1024,n_=500,VC=168*3600*1e3,r_=120});function i_(e){return e.charCodeAt(0)===65279?e.slice(1):e}function ke(e){return JSON.parse(i_(e))}var $t=b(()=>{"use strict"});import{basename as a_}from"node:path";function Ot(e){let t=a_(e).replace(/\.(m?js|ts)$/,"");if(t==="tkr")return[];for(let[n,r]of Object.entries(l_))if(r===t)return[n];for(let[n,r]of Object.entries(u_))if(r===t)return["hook",n];return null}var l_,u_,Gn=b(()=>{"use strict";l_={exec:"tkr-exec",processor:"tkr-processor",daemon:"tkr-daemon","shim-run":"tkr-shim"},u_={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"}});import{realpathSync as Vc}from"node:fs";import{delimiter as c_,join as nn}from"node:path";import f_ from"node:os";function ve(){return!1}function Wn(e,t=process.execPath){let n=ve()?Ot(e):null;return n?[process.execPath,...n]:[t,e]}function qc(e,t){try{return Vc(e)===Vc(t)}catch{return!1}}function Vr(e=process.env.PATH??"",t=process.platform,n=process.execPath){let r=t==="win32"?"tkr.exe":"tkr";for(let s of e.split(t==="win32"?";":c_)){if(!s||s.includes("node_modules"))continue;let o=nn(s,r);if(qc(o,n))return o}if(t!=="win32"){let s=f_.homedir();for(let o of[nn(s,".local","bin",r),nn(s,".local","share","tokmizer","current","dist","bin",r),nn("/opt/homebrew/bin",r),nn("/usr/local/bin",r),nn("/home/linuxbrew/.linuxbrew/bin",r)])if(qc(o,n))return o}return n}var Xe=b(()=>{"use strict";Gn()});import d_ from"node:os";import{isAbsolute as p_,join as Yc,resolve as Xc}from"node:path";function qr(e=process.env,t=d_.homedir()){let n=e.CLAUDE_CONFIG_DIR?.trim();if(!n)return Yc(t,".claude");let r=n;return r==="~"?r=t:(r.startsWith("~/")||r.startsWith("~\\"))&&(r=Yc(t,r.slice(2))),p_(r)?Xc(r):Xc(r)}var qo=b(()=>{"use strict"});import{rmSync as m_,statSync as h_}from"node:fs";import{join as Qc}from"node:path";function Kn(){return Qc(E(),"shims")}function Yr(){return Qc(E(),"fail-open")}function _e(e=Date.now()){try{if(e-h_(Yr()).mtimeMs<g_)return!0;m_(Yr(),{force:!0})}catch{}return!1}function Yo(){return`[ -f ${Ie(Yr())} ]`}function Ie(e){return`'${e.replace(/'/g,"'\\''")}'`}function ef(e){if(!e.startsWith("'")||!e.endsWith("'")||e.length<2)return null;let n=e.slice(1,-1).split("'\\''");return n.some(r=>r.includes("'"))?null:n.join("'")}var g_,we=b(()=>{"use strict";J();g_=24*36e5});import{accessSync as k_,chmodSync as __,constants as w_,existsSync as Xr,mkdirSync as x_,readdirSync as S_,readFileSync as E_,realpathSync as tf,renameSync as v_,unlinkSync as T_,writeFileSync as R_}from"node:fs";import{basename as Qo,dirname as Qe,join as ze,sep as rn}from"node:path";function of(){return ze(E(),"bin","tkr-shim-launch")}function A_(){return ze(E(),"bin","tkr-run")}function nf(){return ze(qr(),"plugins","cache","tokmizer","tokmizer")}function $_(e){let t=Qe(Qe(Qe(e)));return sf.test(Qo(t))&&Qo(Qe(t))==="tokmizer"?Qe(t):null}function ei(e){return/[\n\r]/.test(e)||e.includes(`${rn}_npx${rn}`)||e.includes(`${rn}.bun${rn}install${rn}cache${rn}`)}function ti(e){let t=e.match(/^(.*)[\\/]Cellar[\\/]([^\\/]+)[\\/][^\\/]+[\\/](.*)$/);if(!t)return e;let n=ze(t[1],"opt",t[2],t[3]);try{return tf(n)===tf(e)?n:e}catch{return e}}function O_(e=process.execPath){return ei(e)?"":ti(e)}function af(e,t=ve()){if(t&&Ot(e)){let s=Vr();return{single:ei(s)?"":ti(s),js:"",cache:nf(),node:""}}let n=O_(),r=$_(e);return r?{single:"",js:"",cache:r,node:n}:{single:"",js:ei(e)?"":ti(e),cache:nf(),node:n}}function C_(e){try{return k_(e,w_.X_OK),!0}catch{return!1}}function I_(e){let t=null,n=-1,r;try{r=S_(e)}catch{return null}for(let s of r){if(!sf.test(s))continue;let o=ze(e,s);if(!Xr(ze(o,"dist","bin","tkr-shim.js"))||!Xr(ze(o,"dist","bin",Vn)))continue;let[i,a,l]=s.split(".").map(Number),u=i*1e6+a*1e3+l;u>n&&(n=u,t=o)}return t}function Xo(e){return e.single&&C_(e.single)||e.js&&Xr(e.js)&&(Qo(e.js)!=="tkr-shim.js"||Xr(ze(Qe(e.js),Vn)))?!0:e.cache!==""&&I_(e.cache)!==null}function P_(e,t){return["_tk_t=",`if [ -n "$_tk_j" ] && [ -f "${t}" ] && { [ "\${_tk_j##*/}" != tkr-shim.js ] || [ -f "\${_tk_j%/*}/${Vn}" ]; }; then _tk_t=${t}; fi`,'if [ -z "$_tk_t" ] && [ -n "$_tk_k" ] && [ -d "$_tk_k" ]; then'," _tk_b=-1",' for _tk_r in "$_tk_k"/*/; do'," _tk_v=${_tk_r%/}; _tk_v=${_tk_v##*/}"," case $_tk_v in *[!0-9.]*|.*|*.|*..*|0[0-9]*|*.0[0-9]*|*[0-9][0-9][0-9][0-9][0-9][0-9][0-9]*) continue ;; [0-9]*.[0-9]*.[0-9]*) ;; *) continue ;; esac"," case ${_tk_v#*.*.} in *.*) continue ;; esac",` [ -f "\${_tk_r}dist/bin/${e}" ] && [ -f "\${_tk_r}dist/bin/${Vn}" ] || continue`," _tk_1=${_tk_v%%.*}; _tk_2=${_tk_v#*.}; _tk_3=${_tk_2#*.}; _tk_2=${_tk_2%%.*}"," _tk_v=$((_tk_1 * 1000000 + _tk_2 * 1000 + _tk_3))",` if [ "$_tk_v" -gt "$_tk_b" ]; then _tk_b=$_tk_v; _tk_t=\${_tk_r}dist/bin/${e}; fi`," done","fi",'if [ -z "$_tk_t" ]; then',` _tk_d=${Ie(Kn())}`," set -f; _tk_o=$IFS; IFS=:"," for _tk_e in $PATH; do"," case $_tk_e in /*/node_modules/*|*/node_modules) continue ;; /*) ;; *) continue ;; esac",' [ ! "$_tk_e" -ef "$_tk_d" ] || continue',' for _tk_g in "$_tk_e/../lib/node_modules/@tokmizer/plugin/dist/bin" "$_tk_e/../opt/tokmizer/libexec/lib/node_modules/@tokmizer/plugin/dist/bin"; do',` if [ -f "$_tk_g/${Vn}" ] && [ -f "$_tk_g/${e}" ]; then _tk_t=$_tk_g/${e}; break 2; fi`," done"," done"," IFS=$_tk_o; set +f","fi","_tk_x=",'if [ -n "$_tk_t" ]; then',' for _tk_x in "$_tk_n" "$(command -v node 2>/dev/null)" /opt/homebrew/bin/node /usr/local/bin/node /usr/bin/node ""; do',' [ -n "$_tk_x" ] && [ -x "$_tk_x" ] && break'," done","fi"]}function N_(e){return["#!/bin/sh",`_tk_f=${rf}`,`_tk_s=${Ie(e.single)}`,`_tk_j=${Ie(e.js)}`,`_tk_k=${Ie(e.cache)}`,`_tk_n=${Ie(e.node)}`,'[ "$#" -gt 0 ] || exit 0',`if ! ${Yo()}; then`,' if [ -n "$_tk_s" ] && [ -x "$_tk_s" ]; then exec "$_tk_s" exec "$@"; fi',...P_("tkr-exec.js","${_tk_j%/*}/tkr-exec.js").map(t=>` ${t}`),' if [ -n "$_tk_t" ]; then'," _tk_r=${_tk_t%/*}",' if [ -f "$_tk_r/tkr-exec" ] && [ -s "$_tk_r/tkr-exec" ] && [ -x "$_tk_r/tkr-exec" ]; then exec "$_tk_r/tkr-exec" "$@"; fi',' if [ -n "$_tk_x" ] && [ -s "$_tk_t" ]; then exec "$_tk_x" "$_tk_t" "$@"; fi'," fi","fi",'exec "$@"',""].join(`
102
+ `)}function lf(e){let t=A_(),n=af(ze(Qe(e),"tkr-shim.js")),r=M_(t);if(r&&r.format===rf&&Xo(r.target)&&JSON.stringify(r.target)===JSON.stringify(n))return t;if(!Xo(n))return r&&Xo(r.target)?t:null;let s=`${t}.${process.pid}.tmp`;try{return x_(Qe(t),{recursive:!0,mode:448}),R_(s,N_(n),{mode:493}),__(s,493),v_(s,t),t}catch{try{T_(s)}catch{}return null}}function D_(e){let t=a=>{let l=e.match(new RegExp(`^${a}=(.*)$`,"m"));return l?a==="_tk_f"?l[1]:ef(l[1]):null},n=Number(t("_tk_f")),r=t("_tk_s"),s=t("_tk_j"),o=t("_tk_k"),i=t("_tk_n")??"";return!Number.isInteger(n)||r===null||s===null||o===null?null:{format:n,target:{single:r,js:s,cache:o,node:i}}}function M_(e=of()){try{return D_(E_(e,"utf8"))}catch{return null}}var rf,Vn,sf,Qr=b(()=>{"use strict";qo();J();Xe();Gn();we();rf=1,Vn="tkr-shim.stable",sf=/^(?:0|[1-9]\d{0,5})\.(?:0|[1-9]\d{0,5})\.(?:0|[1-9]\d{0,5})$/});import{chmod as L_,lstat as uf,mkdir as F_,readFile as ri,rename as j_,rm as xI,unlink as cf,writeFile as H_}from"node:fs/promises";import{createHash as ff}from"node:crypto";import{basename as B_,join as df}from"node:path";function pf(){return df(E(),"backup","config")}function ni(e){let t=oi(e),n=ff("sha256").update(t).digest("hex").slice(0,16),r=B_(t).replace(/[^A-Za-z0-9._-]/g,"_").slice(0,80);return df(pf(),`${n}-${r}`)}function mf(e){return`${ni(e)}.written`}function hf(e){return ff("sha256").update(e).digest("hex")}async function U_(e){try{return await uf(e),!0}catch{return!1}}async function si(e,t){let n=`${e}.tmp-${process.pid}`;try{return await F_(pf(),{recursive:!0,mode:448}),await H_(n,t,{mode:384}),await L_(n,384),await j_(n,e),!0}catch{return await cf(n).catch(()=>{}),!1}}async function J_(e,t){let n=`${e}${z_}`;try{if(!(await uf(n)).isFile())return!1}catch{return!1}let r=!await U_(t);if(r&&!await si(t,await ri(n,"utf8")))throw new Error("backup");return await cf(n).catch(()=>{}),r}async function Z_(e,t){try{return(await ri(mf(e),"utf8")).trim()===hf(t)}catch{return!1}}async function gf(e,t){let n=t;try{n===void 0&&(n=await ri(e,"utf8"))}catch(r){return r.code==="ENOENT"}try{if(await J_(e,ni(e)))return!0}catch{return!1}return await Z_(e,n)?!0:si(ni(e),n)}async function es(e,t,n){return!await gf(e,n)||!await ns(e,t)?!1:(await si(mf(e),`${hf(t)}
103
+ `),!0)}var z_,ts=b(()=>{"use strict";J();Pe();z_=".tkr-bak"});import{readFile as G_,writeFile as W_,rename as K_,mkdir as _f,chmod as V_,stat as q_,unlink as Y_}from"node:fs/promises";import{existsSync as X_,lstatSync as Q_,readlinkSync as ew,realpathSync as yf}from"node:fs";import{basename as tw,dirname as rs,join as nw,resolve as bf}from"node:path";function z(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}async function et(e){if(!X_(e))return{};try{let t=ke(await G_(e,"utf8"));return z(t)?t:null}catch{return null}}function oi(e){let t=bf(e);for(let n=0;n<32;n++){try{return yf(t)}catch{}try{if(!Q_(t).isSymbolicLink())break;t=bf(rs(t),ew(t))}catch{break}}try{return nw(yf(rs(t)),tw(t))}catch{return t}}async function ns(e,t){let n=oi(e),r=`${n}.tmp-${process.pid}`;try{await _f(rs(n),{recursive:!0});let s=384;try{s=(await q_(n)).mode&511}catch{}return await W_(r,t,{mode:s}),await V_(r,s),await K_(r,n),!0}catch{try{await Y_(r)}catch{}return!1}}async function tt(e,t){try{await _f(rs(e),{recursive:!0})}catch{return!1}return es(e,`${JSON.stringify(t,null,2)}
104
+ `)}function rw(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<0)return null;n+=e.slice(s+1,i),r=!0,s=i}else if(o==='"'){let i=e.indexOf('"',s+1);if(i<0)return null;let a=e.slice(s+1,i);if(/`|\$\(/.test(a))return null;n+=a,r=!0,s=i}else if(o==="\\"&&e[s+1]==="'")n+="'",r=!0,s++;else if(o===" "||o===" ")r&&t.push(n),n="",r=!1;else{if(o===";"||o==="&"||o==="|"||o==="`"||o===`
105
+ `||o==="\r"||o==="$"&&e[s+1]==="(")return null;n+=o,r=!0}}return r&&t.push(n),t}function ii(e){return(e.split(/[\\/]/).pop()??"").toLowerCase().replace(/\.(?:exe|cmd|bat|ps1|m?js|sh)$/,"")}function ow(e){if(typeof e!="string")return null;let t=e.replace(sw,""),n=rw(t);if(!n)return null;let r=0;for(;r<n.length&&kf.test(n[r]);)r++;if(n[r]==="exec"&&r++,r>=n.length||kf.test(n[r]))return null;let s=ii(n[r]),o=n.slice(r+1);if(s==="sh"||s==="bash"){let i=o[0]!==void 0?ii(o[0]):"";return/^tkr-hook(?:-launch)?$/.test(i)?{program:i,args:o.slice(2),launcherMark:o[1]??""}:{program:s,args:o}}return s==="node"?{program:o[0]!==void 0?ii(o[0]):"node",args:o.slice(1)}:{program:s,args:o}}function sn(e,t){let n=ow(e);if(!n)return!1;if(n.launcherMark!==void 0)return n.launcherMark===t;if(n.program===t)return!0;if(n.program!=="tkr")return!1;let r=Ot(t);return r?.length?r.every((s,o)=>n.args[o]===s):!1}function ss(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(!z(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 sw,kf,Pe=b(()=>{"use strict";Gn();Xe();Qr();ts();$t();sw=/^\s*\[ ! -[a-z] (?:'(?:[^']|'\\'')*'|"[^"]*") \] \|\| /,kf=/^[A-Za-z_][A-Za-z0-9_]*=/});import{existsSync as HI,readFileSync as iw}from"node:fs";import{join as aw}from"node:path";import lw from"node:os";function cw(){return aw(lw.homedir(),".cursor","hooks.json")}function fw(e){return z(e)&&sn(e.command,uw)}function dw(e){let t=z(e.hooks)?e.hooks:{},n=Array.isArray(t[wf])?t[wf]:[];return{hooks:t,entries:n}}function xf(){try{let e=ke(iw(cw(),"utf8"));return dw(e).entries.some(fw)}catch{return!1}}var uw,wf,Sf=b(()=>{"use strict";$t();Pe();uw="tkr-cursor-hook",wf="preToolUse"});import{existsSync as WI,readFileSync as pw}from"node:fs";import{join as mw}from"node:path";import hw from"node:os";function yw(){return mw(process.env.GEMINI_CLI_HOME||hw.homedir(),".gemini","settings.json")}function bw(e){return z(e)&&sn(e.command,gw)}function kw(e){return(Array.isArray(e.hooks)?e.hooks:[]).find(bw)}function _w(e){let t=z(e.hooks)?e.hooks:{},n=Array.isArray(t[Ef])?t[Ef]:[];return{hooks:t,groups:n}}function vf(){try{let e=ke(pw(yw(),"utf8"));return _w(e).groups.some(t=>kw(t)!=null)}catch{return!1}}var gw,Ef,Tf=b(()=>{"use strict";$t();Pe();gw="tkr-gemini-hook",Ef="BeforeTool"});import{existsSync as tP,accessSync as nP,constants as rP,readFileSync as ww}from"node:fs";function Sw(e){return e.includes(xw)}function Rf(e){try{return Sw(ww(e,"utf8"))}catch{return!1}}var xw,Af=b(()=>{"use strict";Pe();Xe();ts();J();xw='"rewrite", "--host"'});import{readFile as Of,mkdir as Ew}from"node:fs/promises";import{existsSync as ui,readFileSync as Cf}from"node:fs";import{dirname as vw,join as li}from"node:path";import If from"node:os";function Xn(){return li(process.env.VIBE_HOME||li(If.homedir(),".vibe"),"hooks.toml")}function $f(e){return JSON.stringify(e)}function Tw(e){return["[[hooks]]",`name = ${$f(Pf)}`,'type = "pre_tool"','match = "bash"',`command = ${$f(e)}`,"timeout = 10.0","strict = false",'description = "Route shell commands through tokmizer."',""].join(`
106
+ `)}function ci(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 Yn(e){return/^\s*\[\[hooks\]\]/.test(e)&&new RegExp(`^\\s*name\\s*=\\s*"${Pf}"\\s*$`,"m").test(e)}async function Nf(e,t){try{await Ew(vw(e),{recursive:!0})}catch{return!1}return es(e,t)}function Df(){try{return ci(Cf(Xn(),"utf8")).some(Yn)}catch{return!1}}async function Mf(e){let t=Xn(),n="";try{ui(t)&&(n=await Of(t,"utf8"))}catch{return"error"}let r=Tw(e),s=ci(n),o=s.filter(Yn);if(o.length===1&&o[0].trimEnd()===r.trimEnd())return"present";let i=s.filter(l=>!Yn(l)).join("").trimEnd(),a=i?`${i}
107
107
 
108
- ${r}`:r;return await Tf(t,a)?o.length?"updated":"added":"error"}async function $f(){let e=qn();if(!ri(e))return"absent";let t;try{t=await xf(e,"utf8")}catch{return"error"}let n=si(t);if(!n.some(Vn))return"absent";let r=n.filter(o=>!Vn(o)).join("").trimEnd(),s=r?`${r}
109
- `:"";return await Tf(e,s)?"removed":"error"}function Yn(){return ni(Ef.homedir(),".gemini","config","hooks.json")}function fw(e){return{enabled:!0,PreToolUse:[{matcher:"run_command",hooks:[{type:"command",command:e,timeout:10}]}]}}function Of(){try{let e=be(Sf(Yn(),"utf8"));return z(e)&&z(e[Kn])}catch{return!1}}async function Cf(e){let t=Yn(),n=await et(t);if(!n)return"error";let r=fw(e),s=n[Kn];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[Kn]=r,await tt(t,n)?s===void 0?"added":"updated":"error")}async function If(){let e=Yn();if(!ri(e))return"absent";let t=await et(e);return t?Kn in t?(delete t[Kn],await tt(e,t)?"removed":"error"):"absent":"error"}var vf,Kn,Pf=b(()=>{"use strict";At();Ne();Xr();vf="tokmizer-rewrite",Kn="tokmizer-rewrite"});import{dirname as XI,join as we}from"node:path";import dw from"node:os";function Df(e){return e.kind==="hook"?e.installed():kf(e.files()[0].target)}var Xn,oi,Nf,Mf=b(()=>{"use strict";Ne();_f();Pf();Xn=()=>dw.homedir(),oi=()=>process.env.XDG_CONFIG_HOME||we(Xn(),".config"),Nf=[{host:"opencode",label:"OpenCode",command:"setup-opencode",kind:"shim",files:()=>[{template:"opencode.js",target:we(oi(),"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:we(oi(),"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:we(oi(),"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:qn,installed:Rf,ensure:Af,remove:$f,next:"Restart Vibe so it reads hooks.toml."},{host:"antigravity",label:"Antigravity",command:"setup-antigravity",kind:"hook",file:Yn,installed:Of,ensure:Cf,remove:If,next:"Restart Antigravity, then check it with /hooks."},{host:"openclaw",label:"OpenClaw",command:"setup-openclaw",kind:"shim",files:()=>{let e=we(Xn(),".openclaw","extensions","tokmizer");return["index.js","openclaw.plugin.json","package.json"].map(t=>({template:`openclaw/${t}`,target:we(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:we(process.env.PI_CODING_AGENT_DIR||we(Xn(),".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:we(Xn(),".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=we(process.env.HERMES_HOME||we(Xn(),".hermes"),"plugins","tokmizer");return["__init__.py","plugin.yaml"].map(t=>({template:`hermes/${t}`,target:we(e,t)}))},next:"Run: hermes plugins enable tokmizer, then restart Hermes (needs Hermes v2026.8.16 or newer)."}]});import{existsSync as pw,readFileSync as mw}from"node:fs";function ns(e,t){return z(e)&&nn(e.command,t)}function Lf(e){return e.path??(e.nested?["hooks"]:[])}function Ff(e,t){let n=e;for(let r of Lf(t))z(n[r])||(n[r]={}),n=n[r];return n}function jf(e,t){let n=e;for(let s of Lf(t))n=z(n)?n[s]:void 0;if(!z(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function hw(e){return z(e)&&Array.isArray(e.hooks)?e.hooks:[]}function Hf(e,t){return(t.matcher===void 0?e:e.flatMap(hw)).filter(r=>ns(r,t.mark))}function Bf(e,t){return Hf(jf(e,t),t).length>0}function ii(e,t){try{let n=be(mw(e,"utf8"));return z(n)&&Bf(n,t)}catch{return!1}}function gw(e,t,n){let r=Ff(e,t),s=Array.isArray(r[t.event])?r[t.event]:[];r[t.event]=s;let o=Hf(s,t)[0],i=t.entry(n);if(o){let a=ts(s,u=>ns(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 yw(e,t){if(!Bf(e,t))return!1;let n=Ff(e,t),r=jf(e,t),s=t.matcher===void 0?r.filter(o=>!ns(o,t.mark)):r.map(o=>z(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!ns(i,t.mark))}:o).filter(o=>!z(o)||!Array.isArray(o.hooks)||o.hooks.length>0);return s.length?n[t.event]=s:delete n[t.event],!0}async function ai(e,t,n){let r=await et(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=gw(r,t,n);return s==="present"||await tt(e,r)?s:"error"}async function rs(e,t){if(!pw(e))return"absent";let n=await et(e);return n?yw(n,t)?await tt(e,n)?"removed":"error":"absent":"error"}var zf=b(()=>{"use strict";At();Ne()});import{existsSync as ui,readFileSync as bw}from"node:fs";import{join as ee}from"node:path";import kw from"node:os";function De(){return kw.homedir()}function Gf(e){return e.version===void 0&&(e.version=1),e.version===1}function _w(e,t,n){return Promise.all(e.map(r=>ai(r,t,n))).then(r=>r.includes("error")?"error":r.includes("updated")?"updated":r.includes("added")?"added":"present")}function ww(e,t){return Promise.all(e.map(n=>rs(n,t))).then(n=>n.includes("error")?"error":n.includes("removed")?"removed":"absent")}function Ot(e,t){return{...e,installed:()=>e.files().some(n=>ii(n,t)),ensure:n=>_w(e.files(),t,n),remove:()=>ww(e.files(),t)}}function Sw(){return ee(process.env.COPILOT_HOME||ee(De(),".copilot"),"hooks","tokmizer.json")}function vw(){let e=[ee(De(),".trae","hooks.json")];return ui(ee(De(),".trae-cn"))&&e.push(ee(De(),".trae-cn","hooks.json")),e}function Rw(){return ee(process.env.QWEN_HOME||ee(De(),".qwen"),"settings.json")}function $w(){return ee(process.env.XDG_CONFIG_HOME||ee(De(),".config"),"crush","crush.json")}function Cw(){return ee(De(),".junie","config.json")}function Iw(e){return e.hooks===void 0&&(e.hooks={}),z(e.hooks)?(e.hooks.enabled===void 0&&(e.hooks.enabled=!0),e.hooks.events===void 0||z(e.hooks.events)):!1}function Nw(){return ee(De(),".zcode","cli","config.json")}function Mw(){return ee(De(),".grok","hooks","tokmizer.json")}function li(){return ee(De(),".factory")}function ss(){return[{file:ee(li(),"hooks.json"),spec:ci},{file:ee(li(),"hooks","hooks.json"),spec:ci},{file:ee(li(),"settings.json"),spec:Fw}]}function Uf(e){try{let t=JSON.parse(bw(e,"utf8"));return z(t)?t:null}catch{return null}}function Zf(e,t){let n=t?e?.hooks:e;return z(n)&&Array.isArray(n.PreToolUse)&&n.PreToolUse.length>0}function Jf(){let[e,t,n]=ss(),r=ui(e.file)?e:ui(t.file)?t:null;return r&&Zf(Uf(r.file),!1)?r:Zf(Uf(n.file),!0)?n:r??e}var xw,Ew,Tw,Aw,Ow,Pw,Dw,Lw,ci,Fw,jw,Wf,Kf=b(()=>{"use strict";Ne();zf();xw={mark:"tkr-copilot-hook",event:"PreToolUse",nested:!0,entry:e=>({type:"command",command:e,bash:e,powershell:e,timeout:10,timeoutSec:10}),prepare:Gf};Ew={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:Gf};Tw={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};Aw={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};Ow={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};Pw={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:Iw};Dw={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};Lw="tkr-droid-hook",ci={mark:Lw,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},Fw={...ci,nested:!0};jw={id:"droid",label:"Factory Droid",setup:"tkr setup-droid",bin:"tkr-droid-hook",restart:"Restart Droid, then check it with /hooks.",files:()=>[Jf().file],installed:()=>ss().some(e=>ii(e.file,e.spec)),ensure:async e=>{let t=Jf(),n=await ai(t.file,t.spec,e);return n==="error"||await Promise.all(ss().filter(r=>r.file!==t.file).map(r=>rs(r.file,r.spec))),n},remove:async()=>{let e=await Promise.all(ss().map(t=>rs(t.file,t.spec)));return e.includes("error")?"error":e.includes("removed")?"removed":"absent"}},Wf=[Ot({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:()=>[Sw()]},xw),jw,Ot({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:vw},Ew),Ot({id:"qwen-code",label:"Qwen Code",setup:"tkr setup-qwen",bin:"tkr-qwen-hook",restart:"Restart Qwen Code, then check it with /hooks.",files:()=>[Rw()]},Tw),Ot({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[$w()]},Aw),Ot({id:"junie",label:"Junie CLI",setup:"tkr setup-junie",bin:"tkr-junie-hook",restart:"Restart Junie CLI so it loads the new hook.",files:()=>[Cw()]},Ow),Ot({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[Nw()]},Pw),Ot({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:()=>[Mw()]},Dw)]});function Vf(e){return Hw.has(e)||(Bw[e]?.installed()??!1)}function os(e){return null}function is(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&&fi.includes(s)){let o=s;return{host:o,source:"env",os:n,arch:r,shimRecommended:!Vf(o)}}for(let o of qf)if(o.vars.some(i=>e[i]))return{host:o.host,source:"env",os:n,arch:r,shimRecommended:!Vf(o.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}var qf,fi,Hw,Bw,Qn=b(()=>{"use strict";hf();bf();Mf();Kf();qf=[{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:[]}],fi=[...qf.map(e=>e.host),"shell"],Hw=new Set(["claude-code","codex"]),Bw={cursor:{installed:mf,setup:"tkr setup-cursor"},"gemini-cli":{installed:yf,setup:"tkr setup-gemini"},...Object.fromEntries(Nf.map(e=>[e.host,{installed:()=>Df(e),setup:`tkr ${e.command}`}])),...Object.fromEntries(Wf.map(e=>[e.id,{installed:e.installed,setup:e.setup}]))}});import{existsSync as SP,realpathSync as zw}from"node:fs";import{basename as vP,delimiter as Yf,join as TP,dirname as RP}from"node:path";function Xf(e){try{return zw(e)}catch{return e}}function Qf(){let e=Gn(),t={...process.env},n=process.platform==="win32"?"Path":"PATH",r=t[n]??t.PATH??"",s=Xf(e),o=r.split(Yf).filter(i=>i&&i!==e&&Xf(i)!==s);return t[n]=o.join(Yf),n==="Path"&&(t.PATH=t[n]),t}var ed=b(()=>{"use strict";Zn();Xe();Z();Qn();_e();qr();_e()});function di(e){return JSON.stringify(e)+as}function*nd(e){let t=0;for(;;){let n=e.indexOf(as,t);if(n<0)return;yield e.slice(t,n),t=n+1}}function er(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}var Uw,Zw,Jw,Gw,FP,jP,HP,td,as,BP,rd=b(()=>{"use strict";xt();En();Uw=y.object({id:y.string().min(1).max(64),op:y.literal("filter"),cmd:y.string().min(1).max(2048),plan:y.enum(["trial","smart","pro"]),allowed:y.array(y.string().min(1).max(64)).max(512).optional(),installId:y.string().min(1).max(64).optional()}),Zw=y.object({id:y.string().min(1).max(64),op:y.literal("ping")}),Jw=y.object({id:y.string().min(1).max(64),op:y.literal("shutdown"),installId:y.string().min(1).max(64)}),Gw=y.object({id:y.string().min(1).max(64),op:y.literal("reload"),installId:y.string().min(1).max(64).optional()}),FP=y.discriminatedUnion("op",[Uw,Zw,Jw,Gw]),jP=y.object({id:y.string(),ok:y.literal(!0),data:y.unknown()}),HP=y.object({id:y.string(),ok:y.literal(!1),err:y.string(),retryAfterMs:y.number().int().nonnegative().optional()}),td=y.object({filter:Ve.nullable(),cacheHit:y.boolean().optional()}),as=`
110
- `,BP=64*1024});import{createConnection as Ww}from"node:net";import{spawn as Kw}from"node:child_process";import{existsSync as id,openSync as pi,closeSync as sd,unlinkSync as hi,writeFileSync as gi,mkdirSync as yi,readFileSync as Vw,appendFileSync as qw,rmSync as Yw,statSync as Xw}from"node:fs";import{dirname as Qw,join as bi}from"node:path";import{fileURLToPath as ex}from"node:url";function ki(){return bi(E(),"daemon.spawn.fail")}function _i(){return bi(E(),"daemon.log")}function sx(){try{let e=Number(Vw(ki(),"utf8"));return Number.isFinite(e)&&Date.now()-e<nx}catch{return!1}}function ox(e){try{yi(E(),{recursive:!0});let t=_i();try{Xw(t).size>rx&&hi(t)}catch{}qw(t,`${new Date().toISOString()} ${e}
111
- `)}catch{}}function ix(e){try{yi(E(),{recursive:!0}),gi(ki(),String(Date.now()))}catch{}ox(`spawn failed: ${e.message}`)}function ax(){try{Yw(ki(),{force:!0})}catch{}}async function ls(e,t){return new Promise((n,r)=>{let s=Ww(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 lx(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:ex(new URL("../bin/tkr-daemon.js",import.meta.url))}async function mi(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 ls(e,75)).destroy(),!0}catch{}else if(id(e))return!0;await new Promise(o=>setTimeout(o,75))}return!1}async function ux(e){let t=lx();if(!ve()&&!id(t))throw new Error(`tkr-daemon binary not found at ${t}`);let{path:n}=Tt(),r=process.platform==="win32"?E():Qw(n);try{yi(r,{recursive:!0})}catch{}let s=bi(r,"daemon.spawn.lock"),o=null;try{o=pi(s,"wx"),gi(o,String(process.pid))}catch(i){if(i.code==="EEXIST"){if(await mi(n,5e3))return;try{hi(s)}catch{}try{o=pi(s,"wx"),gi(o,String(process.pid))}catch(l){if(l.code==="EEXIST"){await mi(n,5e3);return}throw l}}else throw i}try{let i=null;try{i=pi(_i(),"a")}catch{}let[a,...l]=Jn(t);if(Kw(a,l,{detached:!0,stdio:["ignore","ignore",i??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:e}}).unref(),i!==null)try{sd(i)}catch{}if(!await mi(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(o!==null){try{sd(o)}catch{}try{hi(s)}catch{}}}}async function cx(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:Tt(),n=await Lo();try{let r=await ls(t,ad);r.write(di({id:er(),op:"shutdown",installId:n})),await new Promise(s=>setTimeout(s,150));try{r.destroy()}catch{}return!0}catch{return!1}}async function fx(e,t){let n=Date.now()+t;for(;Date.now()<n;){try{(await ls(e,250)).destroy()}catch{return!0}await new Promise(r=>setTimeout(r,100))}return!1}async function wi(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:Tt(),n=await Lo(),r=null,s=0,o=!1;for(;s<=od;)try{r=await ls(t,ad),ax();break}catch{if(s+=1,s>od)throw new Error(`tkr-daemon unreachable at ${t}`);if(sx())throw new Error(`tkr-daemon spawn on cooldown (see ${_i()})`);await vo();try{await ux(n),o=!0}catch(c){throw ix(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]===as&&(f=p);if(f<0)return;let d=[];for(let p of nd(a.slice(0,f+1)))d.push(p);a=a.slice(f+1);for(let p of d)if(p)try{let g=JSON.parse(p),h=i.get(g.id);if(!h)continue;clearTimeout(h.timer),i.delete(g.id),h.resolve(g)}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})`))},tx);i.set(c.id,{resolve:f,reject:d,timer:p}),r.write(di(c))})}let u={filter:async(c,f,d)=>{let p=await l({id:er(),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 g=td.safeParse(p.data);return g.success?g.data.filter:null},ping:async()=>{let c=await l({id:er(),op:"ping"});if(!c.ok)throw new Error(c.err);return c.data},reload:async()=>{let c=await l({id:er(),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&&Ra(ge,f.version))throw new Error(`newer daemon ${f.version} already running`);c=f.version!==ge}catch(f){throw u.close(),f}if(c){try{await cx(e.socketPath?{socketPath:e.socketPath}:{})}catch{}u.close();let f=await fx(t,2e3);if(await vo(),!f)throw new Error("stale daemon still running after shutdown request");return wi({...e,skipVersionCheck:!0})}}return u}var ad,tx,od,nx,rx,ld=b(()=>{"use strict";rd();To();Z();Xe();Fo();Ut();ad=500,tx=3e3,od=1,nx=6e4,rx=256*1024});async function dx(){if(rn)return rn;if(tr)return tr;let e=wi().then(t=>{if(tr===e)return rn=t,t;try{t.close()}catch{}return null}).catch(()=>null);return tr=e,e}async function px(){return Si||(Si=!0,xi=await br()??Kt()),xi}async function ud(e,t,n){let r=await px();if(!r)return null;let s=r.selectFor(e,t,n?[...n]:void 0);return!s||n&&!n.has(fe(s.slug))?null:s}function mx(e){return e?{...e,matchRegex:new RegExp(e.match_command)}:null}function us(e){So(async(t,n)=>{let r=e==="free"?"trial":e,s=n??Vt(void 0),o=await dx();if(!o)return ud(t,r,s);try{let i=await o.filter(t,r,s?[...s]:void 0);return!i||s&&!s.has(fe(i.slug))?null:mx(i)}catch{return ud(t,r,s)}})}function cs(){if(So(null),rn)try{rn.close()}catch{}rn=null,tr=null,xi=null,Si=!1}var rn,tr,xi,Si,Ei=b(()=>{"use strict";ld();Hn();qe();On();qt();rn=null,tr=null;xi=null,Si=!1});var sn,fs=b(()=>{"use strict";sn="[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 gd,mkdir as hx,readFile as cN,writeFile as cd,stat as fN,readdir as dN,rm as fd,rename as gx}from"node:fs/promises";import{existsSync as yx,readFileSync as bx,realpathSync as kx}from"node:fs";import{createHash as _x}from"node:crypto";import{dirname as dd,join as wx,resolve as pd}from"node:path";function Tx(){try{let e=JSON.parse(bx(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 Rx(e,t,n=process.env){let r=Number(n[e]);return Number.isFinite(r)&&r>0?r:t}function Ax(e){return`${Fs(e)}${vx}`}async function md(e){await hx(e,{recursive:!0,mode:448});try{await gd(e,448)}catch{}}function $x(e=process.cwd()){let t;try{t=kx(pd(e))}catch{t=pd(e)}for(let n=t;;n=dd(n)){if(yx(wx(n,".git")))return n;if(dd(n)===n)return t}}function Ox(e){return e===""?[]:(e.endsWith(`
108
+ ${r}`:r;return await Nf(t,a)?o.length?"updated":"added":"error"}async function Lf(){let e=Xn();if(!ui(e))return"absent";let t;try{t=await Of(e,"utf8")}catch{return"error"}let n=ci(t);if(!n.some(Yn))return"absent";let r=n.filter(o=>!Yn(o)).join("").trimEnd(),s=r?`${r}
109
+ `:"";return await Nf(e,s)?"removed":"error"}function Qn(){return li(If.homedir(),".gemini","config","hooks.json")}function Rw(e){return{enabled:!0,PreToolUse:[{matcher:"run_command",hooks:[{type:"command",command:e,timeout:10}]}]}}function Ff(){try{let e=ke(Cf(Qn(),"utf8"));return z(e)&&z(e[qn])}catch{return!1}}async function jf(e){let t=Qn(),n=await et(t);if(!n)return"error";let r=Rw(e),s=n[qn];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[qn]=r,await tt(t,n)?s===void 0?"added":"updated":"error")}async function Hf(){let e=Qn();if(!ui(e))return"absent";let t=await et(e);return t?qn in t?(delete t[qn],await tt(e,t)?"removed":"error"):"absent":"error"}var Pf,qn,Bf=b(()=>{"use strict";$t();Pe();ts();Pf="tokmizer-rewrite",qn="tokmizer-rewrite"});import{dirname as xP,join as xe}from"node:path";import Aw from"node:os";function Uf(e){return e.kind==="hook"?e.installed():Rf(e.files()[0].target)}var er,fi,zf,Jf=b(()=>{"use strict";Pe();Af();Bf();er=()=>Aw.homedir(),fi=()=>process.env.XDG_CONFIG_HOME||xe(er(),".config"),zf=[{host:"opencode",label:"OpenCode",command:"setup-opencode",kind:"shim",files:()=>[{template:"opencode.js",target:xe(fi(),"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:xe(fi(),"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:xe(fi(),"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:Xn,installed:Df,ensure:Mf,remove:Lf,next:"Restart Vibe so it reads hooks.toml."},{host:"antigravity",label:"Antigravity",command:"setup-antigravity",kind:"hook",file:Qn,installed:Ff,ensure:jf,remove:Hf,next:"Restart Antigravity, then check it with /hooks."},{host:"openclaw",label:"OpenClaw",command:"setup-openclaw",kind:"shim",files:()=>{let e=xe(er(),".openclaw","extensions","tokmizer");return["index.js","openclaw.plugin.json","package.json"].map(t=>({template:`openclaw/${t}`,target:xe(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:xe(process.env.PI_CODING_AGENT_DIR||xe(er(),".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:xe(er(),".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=xe(process.env.HERMES_HOME||xe(er(),".hermes"),"plugins","tokmizer");return["__init__.py","plugin.yaml"].map(t=>({template:`hermes/${t}`,target:xe(e,t)}))},next:"Run: hermes plugins enable tokmizer, then restart Hermes (needs Hermes v2026.8.16 or newer)."}]});import{existsSync as $w,readFileSync as Ow}from"node:fs";function os(e,t){return z(e)&&sn(e.command,t)}function Zf(e){return e.path??(e.nested?["hooks"]:[])}function Gf(e,t){let n=e;for(let r of Zf(t))z(n[r])||(n[r]={}),n=n[r];return n}function Wf(e,t){let n=e;for(let s of Zf(t))n=z(n)?n[s]:void 0;if(!z(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function Cw(e){return z(e)&&Array.isArray(e.hooks)?e.hooks:[]}function Kf(e,t){return(t.matcher===void 0?e:e.flatMap(Cw)).filter(r=>os(r,t.mark))}function Vf(e,t){return Kf(Wf(e,t),t).length>0}function di(e,t){try{let n=ke(Ow(e,"utf8"));return z(n)&&Vf(n,t)}catch{return!1}}function Iw(e,t,n){let r=Gf(e,t),s=Array.isArray(r[t.event])?r[t.event]:[];r[t.event]=s;let o=Kf(s,t)[0],i=t.entry(n);if(o){let a=ss(s,u=>os(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 Pw(e,t){if(!Vf(e,t))return!1;let n=Gf(e,t),r=Wf(e,t),s=t.matcher===void 0?r.filter(o=>!os(o,t.mark)):r.map(o=>z(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!os(i,t.mark))}:o).filter(o=>!z(o)||!Array.isArray(o.hooks)||o.hooks.length>0);return s.length?n[t.event]=s:delete n[t.event],!0}async function pi(e,t,n){let r=await et(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=Iw(r,t,n);return s==="present"||await tt(e,r)?s:"error"}async function is(e,t){if(!$w(e))return"absent";let n=await et(e);return n?Pw(n,t)?await tt(e,n)?"removed":"error":"absent":"error"}var qf=b(()=>{"use strict";$t();Pe()});import{existsSync as hi,readFileSync as Nw}from"node:fs";import{join as ee}from"node:path";import Dw from"node:os";function Ne(){return Dw.homedir()}function ed(e){return e.version===void 0&&(e.version=1),e.version===1}function Mw(e,t,n){return Promise.all(e.map(r=>pi(r,t,n))).then(r=>r.includes("error")?"error":r.includes("updated")?"updated":r.includes("added")?"added":"present")}function Lw(e,t){return Promise.all(e.map(n=>is(n,t))).then(n=>n.includes("error")?"error":n.includes("removed")?"removed":"absent")}function Ct(e,t){return{...e,installed:()=>e.files().some(n=>di(n,t)),ensure:n=>Mw(e.files(),t,n),remove:()=>Lw(e.files(),t)}}function jw(){return ee(process.env.COPILOT_HOME||ee(Ne(),".copilot"),"hooks","tokmizer.json")}function Bw(){let e=[ee(Ne(),".trae","hooks.json")];return hi(ee(Ne(),".trae-cn"))&&e.push(ee(Ne(),".trae-cn","hooks.json")),e}function Uw(){return ee(process.env.QWEN_HOME||ee(Ne(),".qwen"),"settings.json")}function Zw(){return ee(process.env.XDG_CONFIG_HOME||ee(Ne(),".config"),"crush","crush.json")}function Ww(){return ee(Ne(),".junie","config.json")}function Kw(e){return e.hooks===void 0&&(e.hooks={}),z(e.hooks)?(e.hooks.enabled===void 0&&(e.hooks.enabled=!0),e.hooks.events===void 0||z(e.hooks.events)):!1}function qw(){return ee(Ne(),".zcode","cli","config.json")}function Xw(){return ee(Ne(),".grok","hooks","tokmizer.json")}function mi(){return ee(Ne(),".factory")}function as(){return[{file:ee(mi(),"hooks.json"),spec:gi},{file:ee(mi(),"hooks","hooks.json"),spec:gi},{file:ee(mi(),"settings.json"),spec:ex}]}function Yf(e){try{let t=JSON.parse(Nw(e,"utf8"));return z(t)?t:null}catch{return null}}function Xf(e,t){let n=t?e?.hooks:e;return z(n)&&Array.isArray(n.PreToolUse)&&n.PreToolUse.length>0}function Qf(){let[e,t,n]=as(),r=hi(e.file)?e:hi(t.file)?t:null;return r&&Xf(Yf(r.file),!1)?r:Xf(Yf(n.file),!0)?n:r??e}var Fw,Hw,zw,Jw,Gw,Vw,Yw,Qw,gi,ex,tx,td,nd=b(()=>{"use strict";Pe();qf();Fw={mark:"tkr-copilot-hook",event:"PreToolUse",nested:!0,entry:e=>({type:"command",command:e,bash:e,powershell:e,timeout:10,timeoutSec:10}),prepare:ed};Hw={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:ed};zw={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};Jw={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};Gw={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};Vw={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:Kw};Yw={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};Qw="tkr-droid-hook",gi={mark:Qw,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},ex={...gi,nested:!0};tx={id:"droid",label:"Factory Droid",setup:"tkr setup-droid",bin:"tkr-droid-hook",restart:"Restart Droid, then check it with /hooks.",files:()=>[Qf().file],installed:()=>as().some(e=>di(e.file,e.spec)),ensure:async e=>{let t=Qf(),n=await pi(t.file,t.spec,e);return n==="error"||await Promise.all(as().filter(r=>r.file!==t.file).map(r=>is(r.file,r.spec))),n},remove:async()=>{let e=await Promise.all(as().map(t=>is(t.file,t.spec)));return e.includes("error")?"error":e.includes("removed")?"removed":"absent"}},td=[Ct({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:()=>[jw()]},Fw),tx,Ct({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:Bw},Hw),Ct({id:"qwen-code",label:"Qwen Code",setup:"tkr setup-qwen",bin:"tkr-qwen-hook",restart:"Restart Qwen Code, then check it with /hooks.",files:()=>[Uw()]},zw),Ct({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[Zw()]},Jw),Ct({id:"junie",label:"Junie CLI",setup:"tkr setup-junie",bin:"tkr-junie-hook",restart:"Restart Junie CLI so it loads the new hook.",files:()=>[Ww()]},Gw),Ct({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[qw()]},Vw),Ct({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:()=>[Xw()]},Yw)]});function rd(e){return nx.has(e)||(rx[e]?.installed()??!1)}function ls(e){return null}function us(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&&yi.includes(s)){let o=s;return{host:o,source:"env",os:n,arch:r,shimRecommended:!rd(o)}}for(let o of sd)if(o.vars.some(i=>e[i]))return{host:o.host,source:"env",os:n,arch:r,shimRecommended:!rd(o.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}var sd,yi,nx,rx,tr=b(()=>{"use strict";Sf();Tf();Jf();nd();sd=[{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:[]}],yi=[...sd.map(e=>e.host),"shell"],nx=new Set(["claude-code","codex"]),rx={cursor:{installed:xf,setup:"tkr setup-cursor"},"gemini-cli":{installed:vf,setup:"tkr setup-gemini"},...Object.fromEntries(zf.map(e=>[e.host,{installed:()=>Uf(e),setup:`tkr ${e.command}`}])),...Object.fromEntries(td.map(e=>[e.id,{installed:e.installed,setup:e.setup}]))}});import{existsSync as WP,realpathSync as sx}from"node:fs";import{basename as VP,delimiter as od,join as qP,dirname as YP}from"node:path";function id(e){try{return sx(e)}catch{return e}}function ad(){let e=Kn(),t={...process.env},n=process.platform==="win32"?"Path":"PATH",r=t[n]??t.PATH??"",s=id(e),o=r.split(od).filter(i=>i&&i!==e&&id(i)!==s);return t[n]=o.join(od),n==="Path"&&(t.PATH=t[n]),t}var ld=b(()=>{"use strict";Gn();Xe();J();tr();we();Qr();we()});function bi(e){return JSON.stringify(e)+cs}function*cd(e){let t=0;for(;;){let n=e.indexOf(cs,t);if(n<0)return;yield e.slice(t,n),t=n+1}}function nr(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}var ox,ix,ax,lx,lN,uN,cN,ud,cs,fN,fd=b(()=>{"use strict";xt();Tn();ox=y.object({id:y.string().min(1).max(64),op:y.literal("filter"),cmd:y.string().min(1).max(2048),plan:y.enum(["trial","smart","pro"]),allowed:y.array(y.string().min(1).max(64)).max(512).optional(),installId:y.string().min(1).max(64).optional()}),ix=y.object({id:y.string().min(1).max(64),op:y.literal("ping")}),ax=y.object({id:y.string().min(1).max(64),op:y.literal("shutdown"),installId:y.string().min(1).max(64)}),lx=y.object({id:y.string().min(1).max(64),op:y.literal("reload"),installId:y.string().min(1).max(64).optional()}),lN=y.discriminatedUnion("op",[ox,ix,ax,lx]),uN=y.object({id:y.string(),ok:y.literal(!0),data:y.unknown()}),cN=y.object({id:y.string(),ok:y.literal(!1),err:y.string(),retryAfterMs:y.number().int().nonnegative().optional()}),ud=y.object({filter:Ve.nullable(),cacheHit:y.boolean().optional()}),cs=`
110
+ `,fN=64*1024});import{createConnection as ux}from"node:net";import{spawn as cx}from"node:child_process";import{existsSync as md,openSync as ki,closeSync as dd,unlinkSync as wi,writeFileSync as xi,mkdirSync as Si,readFileSync as fx,appendFileSync as dx,rmSync as px,statSync as mx}from"node:fs";import{dirname as hx,join as Ei}from"node:path";import{fileURLToPath as gx}from"node:url";function vi(){return Ei(E(),"daemon.spawn.fail")}function Ti(){return Ei(E(),"daemon.log")}function _x(){try{let e=Number(fx(vi(),"utf8"));return Number.isFinite(e)&&Date.now()-e<bx}catch{return!1}}function wx(e){try{Si(E(),{recursive:!0});let t=Ti();try{mx(t).size>kx&&wi(t)}catch{}dx(t,`${new Date().toISOString()} ${e}
111
+ `)}catch{}}function xx(e){try{Si(E(),{recursive:!0}),xi(vi(),String(Date.now()))}catch{}wx(`spawn failed: ${e.message}`)}function Sx(){try{px(vi(),{force:!0})}catch{}}async function fs(e,t){return new Promise((n,r)=>{let s=ux(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 Ex(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:gx(new URL("../bin/tkr-daemon.js",import.meta.url))}async function _i(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 fs(e,75)).destroy(),!0}catch{}else if(md(e))return!0;await new Promise(o=>setTimeout(o,75))}return!1}async function vx(e){let t=Ex();if(!ve()&&!md(t))throw new Error(`tkr-daemon binary not found at ${t}`);let{path:n}=Tt(),r=process.platform==="win32"?E():hx(n);try{Si(r,{recursive:!0})}catch{}let s=Ei(r,"daemon.spawn.lock"),o=null;try{o=ki(s,"wx"),xi(o,String(process.pid))}catch(i){if(i.code==="EEXIST"){if(await _i(n,5e3))return;try{wi(s)}catch{}try{o=ki(s,"wx"),xi(o,String(process.pid))}catch(l){if(l.code==="EEXIST"){await _i(n,5e3);return}throw l}}else throw i}try{let i=null;try{i=ki(Ti(),"a")}catch{}let[a,...l]=Wn(t);if(cx(a,l,{detached:!0,stdio:["ignore","ignore",i??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:e}}).unref(),i!==null)try{dd(i)}catch{}if(!await _i(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(o!==null){try{dd(o)}catch{}try{wi(s)}catch{}}}}async function Tx(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:Tt(),n=await Bo();try{let r=await fs(t,hd);r.write(bi({id:nr(),op:"shutdown",installId:n})),await new Promise(s=>setTimeout(s,150));try{r.destroy()}catch{}return!0}catch{return!1}}async function Rx(e,t){let n=Date.now()+t;for(;Date.now()<n;){try{(await fs(e,250)).destroy()}catch{return!0}await new Promise(r=>setTimeout(r,100))}return!1}async function Ri(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:Tt(),n=await Bo(),r=null,s=0,o=!1;for(;s<=pd;)try{r=await fs(t,hd),Sx();break}catch{if(s+=1,s>pd)throw new Error(`tkr-daemon unreachable at ${t}`);if(_x())throw new Error(`tkr-daemon spawn on cooldown (see ${Ti()})`);await $o();try{await vx(n),o=!0}catch(c){throw xx(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]===cs&&(f=p);if(f<0)return;let d=[];for(let p of cd(a.slice(0,f+1)))d.push(p);a=a.slice(f+1);for(let p of d)if(p)try{let g=JSON.parse(p),h=i.get(g.id);if(!h)continue;clearTimeout(h.timer),i.delete(g.id),h.resolve(g)}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})`))},yx);i.set(c.id,{resolve:f,reject:d,timer:p}),r.write(bi(c))})}let u={filter:async(c,f,d)=>{let p=await l({id:nr(),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 g=ud.safeParse(p.data);return g.success?g.data.filter:null},ping:async()=>{let c=await l({id:nr(),op:"ping"});if(!c.ok)throw new Error(c.err);return c.data},reload:async()=>{let c=await l({id:nr(),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&&Pa(ye,f.version))throw new Error(`newer daemon ${f.version} already running`);c=f.version!==ye}catch(f){throw u.close(),f}if(c){try{await Tx(e.socketPath?{socketPath:e.socketPath}:{})}catch{}u.close();let f=await Rx(t,2e3);if(await $o(),!f)throw new Error("stale daemon still running after shutdown request");return Ri({...e,skipVersionCheck:!0})}}return u}var hd,yx,pd,bx,kx,gd=b(()=>{"use strict";fd();Oo();J();Xe();zo();Zt();hd=500,yx=3e3,pd=1,bx=6e4,kx=256*1024});async function Ax(){if(on)return on;if(rr)return rr;let e=Ri().then(t=>{if(rr===e)return on=t,t;try{t.close()}catch{}return null}).catch(()=>null);return rr=e,e}async function $x(){return $i||($i=!0,Ai=await kr()??qt()),Ai}async function yd(e,t,n){let r=await $x();if(!r)return null;let s=r.selectFor(e,t,n?[...n]:void 0);return!s||n&&!n.has(fe(s.slug))?null:s}function Ox(e){return e?{...e,matchRegex:new RegExp(e.match_command)}:null}function ds(e){Ro(async(t,n)=>{let r=e==="free"?"trial":e,s=n??Yt(void 0),o=await Ax();if(!o)return yd(t,r,s);try{let i=await o.filter(t,r,s?[...s]:void 0);return!i||s&&!s.has(fe(i.slug))?null:Ox(i)}catch{return yd(t,r,s)}})}function ps(){if(Ro(null),on)try{on.close()}catch{}on=null,rr=null,Ai=null,$i=!1}var on,rr,Ai,$i,Oi=b(()=>{"use strict";gd();zn();qe();In();Xt();on=null,rr=null;Ai=null,$i=!1});var an,ms=b(()=>{"use strict";an="[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 Ed,mkdir as Cx,readFile as NN,writeFile as bd,stat as DN,readdir as MN,rm as kd,rename as Ix}from"node:fs/promises";import{existsSync as Px,readFileSync as Nx,realpathSync as Dx}from"node:fs";import{createHash as Mx}from"node:crypto";import{dirname as _d,join as Lx,resolve as wd}from"node:path";function Rd(){try{let e=JSON.parse(Nx(Ia(),"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 zx(){let e=Rd().maxAgeDays;return e?e*vd:Fx}function hs(e,t,n=process.env){let r=Number(n[e]);return Number.isFinite(r)&&r>0?r:t}function Ad(e=process.env){return{maxAgeMs:hs("TOKMIZER_CCR_MAX_AGE_MS",zx(),e),maxBytes:hs("TOKMIZER_CCR_DIR_CAP_BYTES",jx,e),entryMaxBytes:hs("TOKMIZER_CCR_ENTRY_MAX_BYTES",Td,e)}}function Ux(e){return`${zs(e)}${Bx}`}async function xd(e){await Cx(e,{recursive:!0,mode:448});try{await Ed(e,448)}catch{}}function Jx(e=process.cwd()){let t;try{t=Dx(wd(e))}catch{t=wd(e)}for(let n=t;;n=_d(n)){if(Px(Lx(n,".git")))return n;if(_d(n)===n)return t}}function Zx(e){return e===""?[]:(e.endsWith(`
112
112
  `)?e.slice(0,-1):e).split(`
113
- `)}async function Cx(e,t,n=process.env,r={}){if(Ee()||!Ex.test(e))return!1;t=gc(t);let s=Buffer.byteLength(t,"utf8");if(s>Rx("TOKMIZER_CCR_ENTRY_MAX_BYTES",Sx,n))return!1;let o=Fs(e),i=`${o}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{if(await md(E()),await md(Ls()),Ee())return!1;if(await cd(i,t,{mode:384}),await gd(i,384),Ee())return await fd(i,{force:!0}),!1;await gx(i,o)}catch{try{await fd(i)}catch{}return!1}let a={at:Date.now(),bytes:s,lines:Ox(t).length,partial:r.partial===!0,...r.label?{label:r.label.slice(0,40)}:{},project:$x(r.cwd)};try{await cd(Ax(e),JSON.stringify(a),{mode:384})}catch{}return!0}function yd(e){let t=e.TOKMIZER_CCR_DISABLED;return t==="1"||t==="true"||Ee()||Tx().disabled===!0}function Me(e,t){let n=e.replace(Ix,"> ");if(!n.includes("[tkr:")&&!n.includes("[same output as "))return n;let r=t==null?null:t.split(`
114
- `).map(o=>o.replace(/\r$/,"")).filter(o=>hd.test(o)),s=o=>{if(r==null)return!1;let i=Px.find(a=>a(o));return i!=null&&!r.some(i)};return n.split(`
115
- `).map(o=>hd.test(o)&&!s(o)?`> ${o}`:o).join(`
116
- `)}async function vi(e,t,n,r){let s=_x("sha256").update(e).digest("hex").slice(0,16);return await Cx(s,e,r,{partial:t,label:n})?s:null}function bd(e,t){return`${e===""||e.endsWith(`
113
+ `)}async function Gx(e,t,n=process.env,r={}){if(pe()||!Hx.test(e))return!1;t=Fr(t);let s=Buffer.byteLength(t,"utf8");if(s>hs("TOKMIZER_CCR_ENTRY_MAX_BYTES",Td,n))return!1;let o=zs(e),i=`${o}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{if(await xd(E()),await xd(Bs()),pe())return!1;if(await bd(i,t,{mode:384}),await Ed(i,384),pe())return await kd(i,{force:!0}),!1;await Ix(i,o)}catch{try{await kd(i)}catch{}return!1}let a={at:Date.now(),bytes:s,lines:Zx(t).length,partial:r.partial===!0,...r.label?{label:r.label.slice(0,40)}:{},project:Jx(r.cwd)};try{await bd(Ux(e),JSON.stringify(a),{mode:384})}catch{}return!0}function $d(e){let t=e.TOKMIZER_CCR_DISABLED;return t==="1"||t==="true"||pe()||Rd().disabled===!0}function De(e,t){let n=e.replace(Wx,"> ");if(!n.includes("[tkr:")&&!n.includes("[same output as "))return n;let r=t==null?null:t.split(`
114
+ `).map(o=>o.replace(/\r$/,"")).filter(o=>Sd.test(o)),s=o=>{if(r==null)return!1;let i=Kx.find(a=>a(o));return i!=null&&!r.some(i)};return n.split(`
115
+ `).map(o=>Sd.test(o)&&!s(o)?`> ${o}`:o).join(`
116
+ `)}function Od(e,t,n){let r=Ad(n).entryMaxBytes,s=e===""||e.endsWith(`
117
+ `)?"":`
118
+ `,o=i=>`${Math.ceil(i/(1024*1024))} MB`;return`${s}[tkr: full output too large to keep (${o(t)} > ${o(r)} limit), no restore available]
119
+ `}function Cd(e,t){let n=Buffer.byteLength(e,"utf8");return n>Ad(t).entryMaxBytes?n:null}async function Ci(e,t,n,r){let s=Mx("sha256").update(e).digest("hex").slice(0,16);return await Gx(s,e,r,{partial:t,label:n})?s:null}function Id(e,t){return`${e===""||e.endsWith(`
117
120
  `)?"":`
118
121
  `}[tkr restore ${t}]
119
- `}async function on(e,t,n=process.env,r={}){if(t=Me(t,r.raw),yd(n)||!e)return t;let s=i=>bd(t,i);if(Buffer.byteLength(e,"utf8")<=Buffer.byteLength(s("0".repeat(16)),"utf8"))return t;if(r.raw){let i=await vi(r.raw,!1,r.label,n);if(i)return`${t}${s(i)}`}let o=await vi(e,!0,r.label,n);return o?`${t}${s(o)}`:t}async function ds(e,t,n=process.env,r={}){if(t=Me(t,e),yd(n)||!e)return t;let s=await vi(e,!1,r.label,n);return s?`${t}${bd(t,s)}`:t}var xx,_N,wN,Sx,Ex,vx,xN,Ix,hd,Px,Ti=b(()=>{"use strict";Lr();fs();Z();zn();xx=1440*60*1e3,_N=30*xx,wN=200*1024*1024,Sx=8*1024*1024,Ex=/^[0-9a-f]{8,64}$/i,vx=".meta",xN=["usage: tkr restore <hash> [--lines a:b] [--grep pattern]"," tkr restore --list [--all-projects]"," tkr restore --grep <pattern> [--all-projects]",""].join(`
120
- `);Ix=/^(?=\[tkr |\[tokmizer\])/gm,hd=/^\[(?:tkr:|same output as )/,Px=[e=>e===sn,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 Td={};kn(Td,{CAPTURING_ENV:()=>$i,POST_EXIT_IDLE_MS:()=>xd,POST_EXIT_MAX_MS:()=>Sd,commandLine:()=>vd,kickBackgroundEnroll:()=>ps,processCapturedOutput:()=>ms,resolveExecTimeoutMs:()=>Ed,runWrapped:()=>Wx,signalNumber:()=>Ri,underCapturingExec:()=>zx});import{existsSync as kd,readFileSync as Nx,writeFileSync as Dx,mkdirSync as Mx}from"node:fs";import{join as Lx}from"node:path";import{constants as Fx}from"node:os";import{fileURLToPath as jx}from"node:url";import{StringDecoder as Hx}from"node:string_decoder";function zx(e=process.env){return e[$i]==="1"}function wd(e,t){let n=new Hx("utf8"),r=n.write(Buffer.concat(e));return t?r:r+n.end()}function ps(){try{if(!An()||!kd(Ca()))return;let e=process.env.TOKMIZER_TKR_BIN||jx(new URL("../bin/tkr.js",import.meta.url));if(!ve()&&!kd(e))return;let t=Lx(E(),"enroll-kick");try{let o=Number(Nx(t,"utf8"));if(Number.isFinite(o)&&Date.now()-o<Bx)return}catch{}Mx(E(),{recursive:!0}),Dx(t,String(Date.now()));let[n,...r]=Jn(e);(0,Ai.default)(n,[...r,"heartbeat"],{detached:!0,stdio:"ignore",windowsHide:!0}).unref()}catch{}}function Ed(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 Ri(e){return Fx.signals[e]??Zx[e]??15}function vd(e){return e.map(t=>Jx.test(t)?t:Ie(t)).join(" ")}function Gx(e){let t=Fn(e);if(t===null)return!1;let[n,...r]=Be(t).split(/\s+/);return/^(?:cat|head|nl)(?:\.exe)?$/i.test(n?.split(/[\\/]/).pop()??"")&&r.some(s=>s!==""&&!s.startsWith("-"))}async function Wx(e){let[t,...n]=e;if(!t)throw new Error("tkr-exec: missing command");let r=Ee(),s=(0,Ai.default)(t,n,{stdio:["inherit","pipe","pipe"],env:{...Qf(),[$i]:"1"},windowsHide:!0}),o=!1;s.on("spawn",()=>{o=!0});let i=A=>{try{s.kill(A)}catch{}},a=()=>i("SIGINT"),l=()=>i("SIGTERM");process.on("SIGINT",a),process.on("SIGTERM",l);let u=[],c=[],f=0,d=0,p=!1,g=!1;s.stdout?.on("data",A=>{if(f>=an){p=!0;return}let N=an-f,M=A.length>N?A.subarray(0,N):A;u.push(M),f+=M.length,A.length>N&&(p=!0)}),s.stderr?.on("data",A=>{if(d>=an){g=!0;return}let N=an-d,M=A.length>N?A.subarray(0,N):A;c.push(M),d+=M.length,A.length>N&&(g=!0)});let h,m,w,_,T;try{T=await new Promise((A,N)=>{s.on("error",O=>{h&&clearTimeout(h),o?A(1):N(O)});let M=null,se=()=>{M!=null&&(h&&clearTimeout(h),w&&clearTimeout(w),_&&clearTimeout(_),A(M))},te=()=>{s.stdout?.destroy(),s.stderr?.destroy(),se()},V=()=>{w&&clearTimeout(w),w=setTimeout(te,xd)};s.on("exit",(O,J)=>{h&&clearTimeout(h),m&&clearTimeout(m),M=O??(J?128+Ri(J):0),V(),_=setTimeout(te,Sd),s.stdout?.on("data",V),s.stderr?.on("data",V)}),s.on("close",(O,J)=>{M==null&&(M=O??(J?128+Ri(J):0)),se()}),h=setTimeout(()=>{s.kill("SIGTERM"),m=setTimeout(()=>s.kill("SIGKILL"),2e3)},Ux),h.unref?.()})}finally{h&&clearTimeout(h),m&&clearTimeout(m),w&&clearTimeout(w),_&&clearTimeout(_),process.off("SIGINT",a),process.off("SIGTERM",l)}let R=wd(u,p),D=wd(c,g);return ms({argv:e,stdout:R,stderr:D,exitCode:T,truncated:p,stderrTruncated:g},{yolo:r,env:process.env,onMissingState:ps})}async function ms({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?`
121
- \u2026 (output truncated at ${an/1048576}MB)`:"",p=o?`
122
- \u2026 (stderr truncated at ${an/(1024*1024)}MB)`:"",g=()=>{let h=t+d,m=Buffer.byteLength(h,"utf8");return{stdout:h,stderr:n+p,code:r,filterId:null,rawBytes:m,filteredBytes:m,truncated:s}};try{let h=await St();h||u?.();let m=await ze();if(!m.enabled)return g();let w=a.CLAUDE_CODE_SESSION_ID;w&&h?.token&&Gr(w,{tool:"Bash",target:e.join(" "),...r!==0?{fail:1}:{}});let _=h?Mr(h):null,T=h?Vt(h.allowedFilters,Dr(h)):null,R=new Set(m.filters.disabled.map(fe)),D=T&&R.size>0?new Set([...T].filter(P=>!R.has(P))):T,A=vd(e);h&&!l&&us(_);let N=await Ye(A,t,D,{verbosity:m.outputVerbosity,resolver:l,yolo:i,exitCode:r}),M=Me(n,n),se=0,te=0;if((i||r===0)&&Buffer.byteLength(n,"utf8")>=(i?1:_d)){let P=await Ye(A,n,D,{verbosity:m.outputVerbosity,resolver:l,yolo:i,exitCode:r});if(M=Me(P.output,n),!i&&P.output!==n)try{M=await on(P.droppedTail??null,P.output,a,{raw:o?null:n,label:Rt(A)})}catch{}se=P.rawBytes,te=P.filteredBytes}else if(!i&&r!==0&&Buffer.byteLength(n,"utf8")>=_d){let P=await Ye(A,n,D,{verbosity:m.outputVerbosity,resolver:l,exitCode:r});if(P.failureSummary){try{M=await on(P.droppedTail??null,P.output,a)}catch{M=Me(P.output,n)}se=P.rawBytes,te=P.filteredBytes}}let O=!i&&N.output!==t&&Gx(A)?`${N.output}${N.output.endsWith(`
122
+ `}async function ln(e,t,n=process.env,r={}){if(t=De(t,r.raw),$d(n)||!e)return t;let s=a=>Id(t,a);if(Buffer.byteLength(e,"utf8")<=Buffer.byteLength(s("0".repeat(16)),"utf8"))return t;if(r.raw){let a=await Ci(r.raw,!1,r.label,n);if(a)return`${t}${s(a)}`}let o=await Ci(e,!0,r.label,n);if(o)return`${t}${s(o)}`;let i=Cd(r.raw||e,n);return i&&!pe()?`${t}${Od(t,i,n)}`:t}async function gs(e,t,n=process.env,r={}){if(t=De(t,e),$d(n)||!e)return t;let s=await Ci(e,!1,r.label,n);if(s)return`${t}${Id(t,s)}`;let o=Cd(e,n);return o&&!pe()?`${t}${Od(t,o,n)}`:t}var vd,Fx,jx,Td,Hx,Bx,JN,Wx,Sd,Kx,Ii=b(()=>{"use strict";Zn();ms();J();Jn();vd=1440*60*1e3,Fx=30*vd,jx=200*1024*1024,Td=8*1024*1024,Hx=/^[0-9a-f]{8,64}$/i,Bx=".meta",JN=["usage: tkr restore <hash> [--lines a:b] [--grep pattern]"," tkr restore --list [--all-projects]"," tkr restore --grep <pattern> [--all-projects]",""].join(`
123
+ `);Wx=/^(?=\[tkr |\[tokmizer\])/gm,Sd=/^\[(?:tkr:|same output as )/,Kx=[e=>e===an,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 Hd={};wn(Hd,{CAPTURING_ENV:()=>Di,POST_EXIT_IDLE_MS:()=>Md,POST_EXIT_MAX_MS:()=>Ld,commandLine:()=>jd,kickBackgroundEnroll:()=>ys,processCapturedOutput:()=>bs,resolveExecTimeoutMs:()=>Fd,runWrapped:()=>lS,signalNumber:()=>Pi,underCapturingExec:()=>rS});import{existsSync as Pd,readFileSync as Vx,writeFileSync as qx,mkdirSync as Yx}from"node:fs";import{join as Xx}from"node:path";import{constants as Qx}from"node:os";import{fileURLToPath as eS}from"node:url";import{StringDecoder as tS}from"node:string_decoder";function rS(e=process.env){return e[Di]==="1"}function Dd(e,t){let n=new tS("utf8"),r=n.write(Buffer.concat(e));return t?r:r+n.end()}function ys(){try{if(!On()||!Pd(La()))return;let e=process.env.TOKMIZER_TKR_BIN||eS(new URL("../bin/tkr.js",import.meta.url));if(!ve()&&!Pd(e))return;let t=Xx(E(),"enroll-kick");try{let o=Number(Vx(t,"utf8"));if(Number.isFinite(o)&&Date.now()-o<nS)return}catch{}Yx(E(),{recursive:!0}),qx(t,String(Date.now()));let[n,...r]=Wn(e);(0,Ni.default)(n,[...r,"heartbeat"],{detached:!0,stdio:"ignore",windowsHide:!0}).unref()}catch{}}function Fd(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 Pi(e){return Qx.signals[e]??oS[e]??15}function jd(e){return e.map(t=>iS.test(t)?t:Ie(t)).join(" ")}function aS(e){let t=Hn(e);if(t===null)return!1;let[n,...r]=He(t).split(/\s+/);return/^(?:cat|head|nl)(?:\.exe)?$/i.test(n?.split(/[\\/]/).pop()??"")&&r.some(s=>s!==""&&!s.startsWith("-"))}async function lS(e){let[t,...n]=e;if(!t)throw new Error("tkr-exec: missing command");let r=pe(),s=(0,Ni.default)(t,n,{stdio:["inherit","pipe","pipe"],env:{...ad(),[Di]:"1"},windowsHide:!0}),o=!1;s.on("spawn",()=>{o=!0});let i=A=>{try{s.kill(A)}catch{}},a=()=>i("SIGINT"),l=()=>i("SIGTERM");process.on("SIGINT",a),process.on("SIGTERM",l);let u=[],c=[],f=0,d=0,p=!1,g=!1;s.stdout?.on("data",A=>{if(f>=un){p=!0;return}let N=un-f,M=A.length>N?A.subarray(0,N):A;u.push(M),f+=M.length,A.length>N&&(p=!0)}),s.stderr?.on("data",A=>{if(d>=un){g=!0;return}let N=un-d,M=A.length>N?A.subarray(0,N):A;c.push(M),d+=M.length,A.length>N&&(g=!0)});let h,m,w,_,T;try{T=await new Promise((A,N)=>{s.on("error",O=>{h&&clearTimeout(h),o?A(1):N(O)});let M=null,se=()=>{M!=null&&(h&&clearTimeout(h),w&&clearTimeout(w),_&&clearTimeout(_),A(M))},te=()=>{s.stdout?.destroy(),s.stderr?.destroy(),se()},V=()=>{w&&clearTimeout(w),w=setTimeout(te,Md)};s.on("exit",(O,Z)=>{h&&clearTimeout(h),m&&clearTimeout(m),M=O??(Z?128+Pi(Z):0),V(),_=setTimeout(te,Ld),s.stdout?.on("data",V),s.stderr?.on("data",V)}),s.on("close",(O,Z)=>{M==null&&(M=O??(Z?128+Pi(Z):0)),se()}),h=setTimeout(()=>{s.kill("SIGTERM"),m=setTimeout(()=>s.kill("SIGKILL"),2e3)},sS),h.unref?.()})}finally{h&&clearTimeout(h),m&&clearTimeout(m),w&&clearTimeout(w),_&&clearTimeout(_),process.off("SIGINT",a),process.off("SIGTERM",l)}let R=Dd(u,p),D=Dd(c,g);return bs({argv:e,stdout:R,stderr:D,exitCode:T,truncated:p,stderrTruncated:g},{yolo:r,env:process.env,onMissingState:ys})}async function bs({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?`
124
+ \u2026 (output truncated at ${un/1048576}MB)`:"",p=o?`
125
+ \u2026 (stderr truncated at ${un/(1024*1024)}MB)`:"",g=()=>{let h=t+d,m=Buffer.byteLength(h,"utf8");return{stdout:h,stderr:n+p,code:r,filterId:null,rawBytes:m,filteredBytes:m,truncated:s}};try{let h=await St();h||u?.();let m=await Be();if(!m.enabled)return g();let w=a.CLAUDE_CODE_SESSION_ID;w&&h?.token&&Kr(w,{tool:"Bash",target:e.join(" "),...r!==0?{fail:1}:{}});let _=h?Lr(h):null,T=h?Yt(h.allowedFilters,Mr(h)):null,R=new Set(m.filters.disabled.map(fe)),D=T&&R.size>0?new Set([...T].filter(P=>!R.has(P))):T,A=jd(e);h&&!l&&ds(_);let N=await Ye(A,t,D,{verbosity:m.outputVerbosity,resolver:l,yolo:i,exitCode:r}),M=De(n,n),se=0,te=0;if((i||r===0)&&Buffer.byteLength(n,"utf8")>=(i?1:Nd)){let P=await Ye(A,n,D,{verbosity:m.outputVerbosity,resolver:l,yolo:i,exitCode:r});if(M=De(P.output,n),!i&&P.output!==n)try{M=await ln(P.droppedTail??null,P.output,a,{raw:o?null:n,label:At(A)})}catch{}se=P.rawBytes,te=P.filteredBytes}else if(!i&&r!==0&&Buffer.byteLength(n,"utf8")>=Nd){let P=await Ye(A,n,D,{verbosity:m.outputVerbosity,resolver:l,exitCode:r});if(P.failureSummary){try{M=await ln(P.droppedTail??null,P.output,a)}catch{M=De(P.output,n)}se=P.rawBytes,te=P.filteredBytes}}let O=!i&&N.output!==t&&aS(A)?`${N.output}${N.output.endsWith(`
123
126
  `)?"":`
124
- `}${sn}`:N.output,J=Me(O,t);if(!i&&N.filteredBytes<N.rawBytes)try{J=new RegExp(Sr.source,"m").test(N.output)?await ds(t,O,a,{label:Rt(A)}):await on(N.droppedTail??null,O,a,{raw:s?null:t,label:Rt(A)})}catch{}!s&&t.length>0&&Buffer.byteLength(J,"utf8")>=Buffer.byteLength(t,"utf8")&&(J=Me(t,t));let B=J+d,W=M+p,U=is(a).host,K=Jr(N.rawBytes+Buffer.byteLength(n,"utf8"),Buffer.byteLength(B,"utf8")+Buffer.byteLength(W,"utf8"),os(U)),oe=!1,rt=async()=>{if(!oe){oe=!0;try{Ur(K.raw,K.filtered,void 0,!1,U,"sh",Rt(A),"cwd"in f?f.cwd:process.cwd(),Zr(N)),await Br({cmd:A,filterId:N.filterId,rawBytes:N.rawBytes,filteredBytes:N.filteredBytes,plan:_}),await jr({cmd:A,tokensSaved:Math.max(0,Math.round((K.raw-K.filtered)/4)),rawTokens:Math.round(K.raw/4),optimized:N.filterId!=null,telemetryOptIn:m.telemetryOptIn&&(!c||(await ze()).telemetryOptIn),sessionId:w,host:U})}catch{}}};return c?c(rt):await rt(),{stdout:B,stderr:W,code:r,filterId:N.filterId,rawBytes:N.rawBytes+se,filteredBytes:N.filteredBytes+te,truncated:s}}catch{return g()}finally{l||cs()}}var Ai,an,_d,Bx,xd,Sd,$i,Ux,Zx,Jx,Oi=b(()=>{"use strict";Ai=Up(hc(),1);Hn();qe();qt();Rn();Z();Mo();Bo();Hr();Uo();Zo();Qt();Qn();ed();Ei();Ti();Gt();fs();bo();zn();Xe();$n();_e();an=10*1024*1024,_d=1024,Bx=6e4,xd=200,Sd=1e3,$i="TOKMIZER_EXEC_CAPTURING";Ux=Ed(process.env),Zx={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};Jx=/^[A-Za-z0-9_@%+=:,./-]+$/});var Ui={};kn(Ui,{FOLD_MARKER_RE:()=>Sr,captureForRestore:()=>on,captureOriginalForRestore:()=>ds,closeDaemonResolver:()=>cs,countedSaving:()=>Jr,gatingPlan:()=>Mr,graceExceeded:()=>Dr,installDaemonResolver:()=>us,loadSettingsCache:()=>ze,neutralizeMarkers:()=>Me,processOutput:()=>Ye,recordEvent:()=>Br,recordStat:()=>Ur,recordTelemetry:()=>jr,resolveAllowedFilters:()=>Vt,statCmdLabel:()=>Rt,statOutcome:()=>Zr});var Zi=b(()=>{"use strict";Hn();Ti();Gt();qt();Mo();Bo();Hr();Uo();Ei();Qt()});On();Hn();qt();import{mkdirSync as OT,readFileSync as ta,realpathSync as CT,rmSync as Ts,writeFileSync as IT}from"node:fs";import{join as Qi}from"node:path";To();Z();Ut();import{randomBytes as wT,randomUUID as Op}from"node:crypto";import{lstatSync as xT,mkdirSync as ST,realpathSync as ET,renameSync as vT,rmSync as TT,writeFileSync as RT}from"node:fs";import{dirname as AT,join as vs}from"node:path";xt();On();Z();zn();Oi();import{timingSafeEqual as qi}from"node:crypto";import{chmodSync as dT,lstatSync as pT,realpathSync as mT}from"node:fs";import{dirname as hT}from"node:path";import{createServer as gT}from"node:net";qr();xr();import{spawnSync as jS}from"node:child_process";import{existsSync as un,readFileSync as rr,readdirSync as ys}from"node:fs";import{homedir as Ct}from"node:os";import{fileURLToPath as HS}from"node:url";import{dirname as Jd,join as H,resolve as BS}from"node:path";Z();import{appendFileSync as Xx,chmodSync as Qx,mkdirSync as eS,existsSync as tS,readFileSync as eD,rmSync as tD}from"node:fs";import{dirname as nS,join as rS}from"node:path";import{readFileSync as Kx,renameSync as Vx,statSync as qx,writeFileSync as Yx}from"node:fs";function Rd(e,t,n){try{if(qx(e).size<=t)return;let r=Kx(e,"utf8").split(`
125
- `).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}`;Yx(i,s.length?`${s.join(`
127
+ `}${an}`:N.output,Z=De(O,t);if(!i&&N.filteredBytes<N.rawBytes)try{Z=new RegExp(Er.source,"m").test(N.output)?await gs(t,O,a,{label:At(A)}):await ln(N.droppedTail??null,O,a,{raw:s?null:t,label:At(A)})}catch{}!s&&t.length>0&&Buffer.byteLength(Z,"utf8")>=Buffer.byteLength(t,"utf8")&&(Z=De(t,t));let B=Z+d,W=M+p,U=us(a).host,K=Wr(N.rawBytes+Buffer.byteLength(n,"utf8"),Buffer.byteLength(B,"utf8")+Buffer.byteLength(W,"utf8"),ls(U)),oe=!1,rt=async()=>{if(!oe){oe=!0;try{Zr(K.raw,K.filtered,void 0,!1,U,"sh",At(A),"cwd"in f?f.cwd:process.cwd(),Gr(N)),await Ur({cmd:A,filterId:N.filterId,rawBytes:N.rawBytes,filteredBytes:N.filteredBytes,plan:_}),await Br({cmd:A,tokensSaved:Math.max(0,Math.round((K.raw-K.filtered)/4)),rawTokens:Math.round(K.raw/4),optimized:N.filterId!=null,telemetryOptIn:m.telemetryOptIn&&(!c||(await Be()).telemetryOptIn),sessionId:w,host:U})}catch{}}};return c?c(rt):await rt(),{stdout:B,stderr:W,code:r,filterId:N.filterId,rawBytes:N.rawBytes+se,filteredBytes:N.filteredBytes+te,truncated:s}}catch{return g()}finally{l||ps()}}var Ni,un,Nd,nS,Md,Ld,Di,sS,oS,iS,Mi=b(()=>{"use strict";Ni=rm(wc(),1);zn();qe();Xt();$n();J();Ho();Go();zr();Ko();Vo();tn();tr();ld();Oi();Ii();Kt();ms();xo();Jn();Xe();Cn();we();un=10*1024*1024,Nd=1024,nS=6e4,Md=200,Ld=1e3,Di="TOKMIZER_EXEC_CAPTURING";sS=Fd(process.env),oS={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};iS=/^[A-Za-z0-9_@%+=:,./-]+$/});var Vi={};wn(Vi,{FOLD_MARKER_RE:()=>Er,captureForRestore:()=>ln,captureOriginalForRestore:()=>gs,closeDaemonResolver:()=>ps,countedSaving:()=>Wr,gatingPlan:()=>Lr,graceExceeded:()=>Mr,installDaemonResolver:()=>ds,loadSettingsCache:()=>Be,neutralizeMarkers:()=>De,processOutput:()=>Ye,recordEvent:()=>Ur,recordStat:()=>Zr,recordTelemetry:()=>Br,resolveAllowedFilters:()=>Yt,statCmdLabel:()=>At,statOutcome:()=>Gr});var qi=b(()=>{"use strict";zn();Ii();Kt();Xt();Ho();Go();zr();Ko();Oi();tn()});In();zn();Xt();import{mkdirSync as KT,readFileSync as aa,realpathSync as VT,rmSync as Os,writeFileSync as qT}from"node:fs";import{join as oa}from"node:path";Oo();J();Zt();import{randomBytes as jT,randomUUID as Jp}from"node:crypto";import{lstatSync as HT,mkdirSync as BT,realpathSync as zT,renameSync as UT,rmSync as JT,writeFileSync as ZT}from"node:fs";import{dirname as GT,join as $s}from"node:path";xt();In();J();Jn();Mi();import{timingSafeEqual as na}from"node:crypto";import{chmodSync as OT,lstatSync as CT,realpathSync as IT}from"node:fs";import{dirname as PT}from"node:path";import{createServer as NT}from"node:net";Qr();qo();Sr();import{spawnSync as eE}from"node:child_process";import{existsSync as It,readFileSync as or,readdirSync as ws,statSync as tE}from"node:fs";import{homedir as Pt}from"node:os";import{fileURLToPath as nE}from"node:url";import{dirname as op,join as j,resolve as rE}from"node:path";J();import{appendFileSync as pS,chmodSync as mS,mkdirSync as hS,existsSync as gS,readFileSync as xD,rmSync as SD}from"node:fs";import{dirname as yS,join as bS}from"node:path";import{readFileSync as uS,renameSync as cS,statSync as fS,writeFileSync as dS}from"node:fs";function Bd(e,t,n){try{if(fS(e).size<=t)return;let r=uS(e,"utf8").split(`
128
+ `).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}`;dS(i,s.length?`${s.join(`
126
129
  `)}
127
- `:"",{mode:384}),Vx(i,e)}catch{}}var sS="usage.jsonl";var Ad=2*1024*1024;function oS(){return rS(E(),sS)}function ue(e,t,n=oS()){try{let r=nS(n);tS(r)||eS(r,{recursive:!0,mode:448});let s=e.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64)||"unknown";Xx(n,`{"t":${Math.floor(Date.now()/1e3)},"s":"${s}","o":${t?1:0}}
128
- `,{mode:384}),Qx(n,384),Rd(n,Ad,Ad/2)}catch{}}Xe();At();Z();import{execFileSync as TS}from"node:child_process";import{mkdirSync as RS,readFileSync as Pd,renameSync as AS,statSync as $S,writeFileSync as OS}from"node:fs";import{join as Nd}from"node:path";import{closeSync as iS,openSync as aS,readSync as lS,readdirSync as uS,readFileSync as cS,statSync as Od}from"node:fs";import{homedir as fS}from"node:os";import{isAbsolute as dS,join as hs,resolve as pS}from"node:path";var mS=/^[A-Za-z0-9._+@%:,/-]+$/,hS=new Set(["7f454c46","feedface","feedfacf","cefaedfe","cffaedfe","cafebabe","bebafeca"]),gS=32,yS=4*1024*1024;function Ii(e){let t;try{t=aS(e,"r");let n=Buffer.alloc(4),r=lS(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&&iS(t)}}function nr(e,t=process.platform){try{let n=Od(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&&hS.has(r)}catch{return!1}}function bS(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 ln(e,t,n,r=process.platform){if(!mS.test(e))return!1;let s=r==="win32";if(e.includes("/"))return nr(pS(t??process.cwd(),e),r);if(!n)return!1;let o=s?bS(e):[e];for(let i of n.split(s?";":":"))if(!(!i||!dS(i))){for(let a of o)if(nr(hs(i,a),r))return!0}return!1}var kS=/^eval \$'([^\s'()=]+) \(\) /,_S=/^([^\s'"()=]+) \(\) \{$/,wS=/^alias -- ([^\s=]+)=(.*)$/,xS=/^# (?:Shell Options|Aliases|Shopt|Check for |Shadow )/,SS=/^export PATH=(.*)$/,ES=/^(?:--colou?r(?:=\S+)?|-G)$/;function $d(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 vS(e,t){let n="";for(let r of e.split(`
129
- `)){let s=SS.exec(r);if(s&&n!=="# Functions"){let o=$d(s[1].trim());/[$`\\]/.test(o)||t.paths.push(o);continue}if(r.startsWith("# ")&&(n!=="# Functions"||xS.test(r))){n=r;continue}if(n==="# Functions"){let o=kS.exec(r)??_S.exec(r);o&&t.functions.add(o[1])}else if(n==="# Aliases"){let o=wS.exec(r);o&&t.aliases.set(o[1],$d(o[2].trim()))}}}function Ci(e){return e?.code==="ENOENT"}function Cd(e){let t={functions:new Set,aliases:new Map,paths:[],uncertain:!1},n=hs(e||hs(fS(),".claude"),"shell-snapshots"),r=[];try{for(let s of uS(n)){if(!s.startsWith("snapshot-")||!s.endsWith(".sh"))continue;let o=hs(n,s);try{let i=Od(o);i.isFile()&&r.push({path:o,mtime:i.mtimeMs,size:i.size})}catch(i){Ci(i)||(t.uncertain=!0)}}}catch(s){return Ci(s)||(t.uncertain=!0),t}r=r.sort((s,o)=>o.mtime-s.mtime).slice(0,gS);for(let s of r)try{if(s.size>yS)throw new Error("snapshot too large");vS(cS(s.path,"utf8"),t)}catch(o){Ci(o)||(t.uncertain=!0)}return t}function Id(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=>ES.test(s))}var CS="exec-probe.json",IS=6e4;function PS(){return Nd(E(),CS)}function NS(e){try{let t=be(Pd(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 DS(e,t){try{RS(Nd(e,".."),{recursive:!0,mode:448});let n=`${e}.${process.pid}.tmp`;OS(n,JSON.stringify(t),{mode:384}),AS(n,e)}catch{}}function MS(e){try{return TS(e,["--native-check"],{encoding:"utf8",timeout:2e3,maxBuffer:1024,stdio:["ignore","pipe","ignore"],windowsHide:!0}).startsWith("tokmizer-native ")}catch{return!1}}function LS(e,t){try{let r=Pd(e,"utf8").split(`
130
- `,1)[0].slice(2).trim().split(/\s+/),s=r[0]??"";return s==="/usr/bin/env"?ln(r[1]??"",void 0,t):nr(s)}catch{return!1}}function FS(e,t,n){try{let r=$S(e);return[e,r.size,r.mtimeMs,r.ino,r.mode,t?n??"":""].join("|")}catch{return`${e}|missing`}}function Pi(e,t=process.platform,n=process.env.PATH,r=PS(),s=Date.now()){let o=t!=="win32"&&Ii(e)==="#!",i=FS(e,o,n),a=NS(r);if(a?.key===i&&(a.ok||s-a.at<IS))return a.ok;let l=nr(e,t)&&(o?LS(e,n):MS(e));return DS(r,{key:i,ok:l,at:s,skipped:(a?.skipped??0)+(l?0:1)}),l}var zS=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"]),US=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"]),Dd=new Set(["sh","bash","zsh","dash","ksh","fish","python","python3","python2","node","ruby","perl","php","awk","sed","deno","bun"]),Md="(?:dev|start|serve|watch|preview)",ZS=new RegExp(`^(?:\\S*/)?(?:bun\\s+(?:install|i|add|remove|rm|update|outdated|audit|test|build|pm|x)(?:\\s|$)|bun\\s+run\\s+(?!${Md}(?:\\s|$))[A-Za-z0-9:_-]+(?:\\s|$)|deno\\s+(?:test|lint|fmt|check|compile|install|info|doc|bench|outdated)(?:\\s|$)|deno\\s+task\\s+(?!${Md}(?:\\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)`),JS=/(?:^|\s)--watch(?:\s|=|$)/;function GS(e){return ZS.test(e)&&!JS.test(e)}var WS=/^((?:\S*\/)?(sh|bash|zsh|dash|ksh|fish)\s+(-[elux]*c[elux]*)\s+)(['"])/,KS=/[()$]|(?:^|[;&|\n]\s*)(?:and|or|not|begin|end|if|else|switch|case|while|for|function|return)(?:\s|;|$)/,Gd=3;function Wd(e){let t=WS.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&&KS.test(a)?null:{script:a,start:s,end:o,quote:r}}var VS=new Set(["cd","export","set","unset","source",".","true",":","pushd","popd"]);function qS(e){return fn(e).filter(n=>{if(n.kind!=="cmd"||n.unsafe)return!1;let r=Vd(n.text);return r!==""&&!VS.has(r)&&!Mi.test(r)}).length>1}function YS(e,t,n,r,s){if(n>=Gd)return null;let o=Wd(e);if(!o)return null;let{script:i,start:a,end:l,quote:u}=o,c=[],f=qd(i,t,n+1,r,h=>c.push(h));if(f===i||u==='"'&&/["$`]/.test(f))return null;let d=u==="'"?f.replace(/'/g,"'\\''"):f,p=`${e.slice(0,a)}${d}${e.slice(l)}`,g=qS(i);if(s)for(let h of g?[e,...c]:c)s(h);return g?`${t} ${p}`:p}var Ld=/(?:^|\s)(?:--follow|-[0-9a-zA-Z]*f[a-zA-Z]*)(?:\s|=|$)/,XS=/(?:^|\s)(?:--follow|-[0-9a-zA-Z]*[fF][a-zA-Z]*)(?:\s|=|$)/,QS=new Set(["docker","podman","kubectl","nerdctl","docker-compose","stern","flyctl"]),Fd=new Set(["npm","pnpm","yarn","bun"]),jd=/^(?:dev|start|serve|preview|watch)(?::\S*)?$/,eE=new Set(["--filter","-F","--dir","-C","--prefix","--workspace","-w","--cwd"]),Hd=new Set(["npx","pnpx","bunx"]),tE=new Set(["nodemon","top","htop","btop","watch"]),nE=new Set(["tsc","vitest","jest","webpack","rollup","esbuild","tsup","babel","sass","tailwindcss","mocha","swc","parcel","nest"]),rE=/(?:^|\s)--watch(?:All)?(?:\s|=(?!false(?:\s|$))|$)/,Bd=/(?:^|\s)-w(?:\s|$)/;function sE(e){let t=e.map(i=>i.replace(/['"]/g,""));for(;t.length>1&&(t[0]==="env"||/^[A-Za-z_][A-Za-z0-9_]*=/.test(t[0]));)t=t.slice(1);let n=cn(t[0]??"");if(Hd.has(n)||Fd.has(n)&&(t[1]==="exec"||t[1]==="dlx"))t=t.slice(Hd.has(n)?1:2).filter((i,a,l)=>!(i.startsWith("-")&&l.slice(0,a).every(u=>u.startsWith("-")))),n=cn(t[0]??"");else if(Fd.has(n)){let i=t.slice(1).filter((l,u,c)=>!l.startsWith("-")&&!eE.has(c[u-1]??""));i[0]==="workspace"&&i.splice(0,2);let a=i[0]==="run"||i[0]==="run-script"?i[1]:i[0];return a!==void 0&&jd.test(a)}let r=t.slice(1),s=r.join(" "),o=r.find(i=>!i.startsWith("-"));if(tE.has(n)||rE.test(s)||nE.has(n)&&Bd.test(s))return!0;switch(n){case"next":return o==="dev"||o==="start";case"vite":return!r.includes("build")&&!r.includes("optimize");case"vitest":return o==="watch"||o==="dev";case"cargo":case"dotnet":return o==="watch";case"turbo":{let i=o==="run"?r.filter(a=>!a.startsWith("-"))[1]:o;return i!==void 0&&jd.test(i)}case"nx":{let i=o==="run"?r.filter(a=>!a.startsWith("-"))[1]?.split(":")[1]:o;return i!==void 0&&/^(?:serve|dev|start|watch)$/.test(i)}case"ping":return!r.some(i=>/^-[a-zA-Z]*c/.test(i));case"docker":case"podman":case"nerdctl":case"docker-compose":{let i=n==="docker-compose"?r:o==="compose"?r.slice(r.indexOf("compose")+1):null;return i?i.includes("up")&&!i.some(a=>a==="--detach"||/^-[a-zA-Z]*d[a-zA-Z]*$/.test(a)):o==="stats"&&!r.includes("--no-stream")||o==="events"}case"kubectl":return o==="port-forward"||(o==="get"||o==="rollout")&&Bd.test(s)||/(?:^|\s)--watch-only(?:\s|=|$)/.test(s);default:return!1}}function oE(e,t){let n=cn(t);return n==="tail"?XS.test(e):n==="journalctl"?Ld.test(e):n==="stern"||QS.has(n)&&/\blogs?\b/.test(e)&&Ld.test(e)?!0:sE(e.split(/\s+/))}var Mi=/^[A-Za-z_][A-Za-z0-9_]*\+?=/,iE=/^[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/,aE=/(?:^|[;&|\n({])\s*[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/;function cn(e){let t=e.lastIndexOf("/");return t===-1?e:e.slice(t+1)}function Kd(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 Ni(e){let t=Kd(e);if(!t)return!0;for(let n=0;n<e.length;n++)if(t[n]&&e[n]===">")return!0;return!1}function fn(e){let t=Kd(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===`
131
- `||a==="|"){i(a,1);continue}}r+=a,s+=1}return o(),n}function Vd(e){return e.trim().split(/\s+/)[0]??""}function Te(e,t=process.platform){try{let n=Jd(HS(import.meta.url)),r=t==="win32",s=e&&e!=="claude-code"&&e!=="codex"&&!r?`TOKMIZER_HOST=${e} `:"";if(r&&(!e||e==="claude-code")){let l=H(n,"..","bin","tkr-exec.exe");if(un(l))return Pi(l,t)?`'${l.replace(/\\/g,"/").replace(/'/g,"'\\''")}'`:null}let o=H(n,"..","bin","tkr-exec"),i=!r&&un(o);if(i&&!Pi(o,t))return null;if(!r&&process.env.TOKMIZER_STABLE_RUN!=="0"){let l=Qc(H(n,"..","bin","tkr-exec.js"));if(l&&(i||un(H(n,"..","bin","tkr-exec.js"))))return`${s}'${l.replace(/'/g,"'\\''")}'`}if(i)return`${s}'${o.replace(/'/g,"'\\''")}'`;if(ve()){let l=r?process.execPath.replace(/\\/g,"/"):process.execPath;return`${s}'${l.replace(/'/g,"'\\''")}' exec`}let a=H(n,"..","bin","tkr-exec.js");return un(a)?`${s}node '${a.replace(/'/g,"'\\''")}'`:null}catch{return null}}function Li(e,t="tkr-exec",n=()=>!0,r){return qd(e,t,0,n,r)}var lE=new Set(["{","for","while","until","if","case","select"]),uE=new Set(["}","done","fi","esac"]),cE=new Set(["then","do","else","elif","!","time","{","if","while","until"]);function fE(e,t){let n=e[t+1];return Ni(e[t].text)||n?.kind==="sep"&&(n.text==="|"||n.text==="|&")}function dE(e){let t=new Set,n=[];for(let r=0;r<e.length;r++){let s=e[r];if(!(s.kind!=="cmd"||s.unsafe))for(let o of s.text.trim().split(/\s+/)){if(uE.has(o)){let i=n.pop();if(i!==void 0&&fE(e,r))for(let a=i;a<=r;a++)t.add(a);continue}if(lE.has(o)&&n.push(r),!cE.has(o))break}}return t}function qd(e,t,n,r,s){if(e.includes("<<")||aE.test(e))return e;let o=fn(e),i=dE(o),a=[];for(let l=0;l<o.length;l++){let u=o[l];if(u.kind==="sep"||u.unsafe||i.has(l)){a.push(u.text);continue}let c=u.text.trim();if(!c){a.push(u.text);continue}let f=Vd(c),d=o[l+1],p=d?.kind==="sep"&&(d.text==="|"||d.text==="|&"),g=d?.kind==="sep"&&d.text==="&",h=!p&&!g&&!Ni(u.text)&&!u.text.includes("<(")&&!u.text.includes(">(")?YS(c,t,n,r,s):null;if(h!==null){a.push(`${u.text.match(/^\s*/)?.[0]??""}${h}${u.text.match(/\s*$/)?.[0]??""}`);continue}if(c===t||c.startsWith(t)&&/^\s/.test(c.slice(t.length))||zS.has(f)||US.has(f)||(Dd.has(f)||Dd.has(cn(f)))&&!GS(c)||Mi.test(f)||f.startsWith("(")||f.startsWith("#")||f.startsWith("<")||f.startsWith(">")||iE.test(c)||oE(c,f)||f.endsWith(")")||p||g||Ni(u.text)||u.text.includes("<(")||u.text.includes(">(")||f==="node"&&c.includes("tkr-exec.js")||!r(f)){a.push(u.text);continue}let m=u.text.match(/^\s*/)?.[0]??"",w=u.text.match(/\s*$/)?.[0]??"";s?.(c),a.push(`${m}${t} ${c}${w}`)}return a.join("")}var pE=new Set(["command","workdir","timeout_ms","yield_time_ms","max_output_tokens","shell","login","tty","description"]),mE=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"]),hE=new Set(["log","diff","show","status","blame","ls-files","rev-parse","describe","shortlog"]),gE={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/},gs=["test","run test","run build","run lint","run typecheck"],yE={npm:new Set(gs),pnpm:new Set([...gs,"build","lint","typecheck"]),yarn:new Set([...gs,"build","lint","typecheck"]),bun:new Set(gs),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"])},bE=new Set(["pytest","tsc","vitest","jest","eslint","mypy"]);function Yd(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 fn(e)){if(r.kind==="sep")continue;if(r.unsafe)return!1;let s=n<Gd?Wd(r.text.trim()):null;if(s){if(!Yd(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=>Mi.test(u)))return!1;let i=cn(o[0]);if(i!==o[0])return!1;let a=gE[i];if(a&&o.slice(1).some(u=>a.test(u)))return!1;if((i==="git"?hE.has(o[1]??""):mE.has(i))||t&&bE.has(i))continue;let l=t?yE[i]:void 0;if(!(l&&(l.has(o[1]??"")||o[1]==="run"&&l.has(`run ${o[2]??""}`))))return!1}return!0}function Xd(e,t,n=Te(t),r=ue,s=bs(),o=process.env.PATH,i=or){if(!Y(e)||e.tool_name!=="Bash"||t==="claude-code"&&_E(i()))return null;let a=e.tool_input;if(!Y(a)||a.run_in_background)return null;let l=a.command;if(typeof l!="string"||!l||t==="codex"&&Object.keys(a).some(h=>!pE.has(h)))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=ip(l,{host:t,sessionId:f,cwd:c,claudeDirs:s,pathEnv:o,permissionMode:d},n,r);if(!p)return null;let g={...a,command:p.command};return JSON.stringify({hookSpecificOutput:t==="codex"?{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:g}:p.allowedBy?{hookEventName:"PreToolUse",permissionDecision:"allow",permissionDecisionReason:`Tokmizer: allowed by your rule ${p.allowedBy}`,updatedInput:g}:p.ask?{hookEventName:"PreToolUse",permissionDecision:"ask",permissionDecisionReason:"Tokmizer shortens this command's output; nothing else changes.",updatedInput:g}:{hookEventName:"PreToolUse",updatedInput:g}})}var kE=/(?:^|\s)--(?:disallowedTools|disallowed-tools|settings|setting-sources)(?:[=\s]|$)/;function or(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=jS("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 _E(e){return e===null||kE.test(e)}function wE(e,t){if(!un(e))return"missing";try{let n=rr(e,"utf8").replace(/^\uFEFF/,"");return n.trim()===""?{}:JSON.parse(t?Qd(n):n)}catch{return"unreadable"}}function Qd(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]!==`
130
+ `:"",{mode:384}),cS(i,e)}catch{}}var kS="usage.jsonl";var zd=2*1024*1024;function _S(){return bS(E(),kS)}function ue(e,t,n=_S()){try{let r=yS(n);gS(r)||hS(r,{recursive:!0,mode:448});let s=e.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64)||"unknown";pS(n,`{"t":${Math.floor(Date.now()/1e3)},"s":"${s}","o":${t?1:0}}
131
+ `,{mode:384}),mS(n,384),Bd(n,zd,zd/2)}catch{}}Xe();$t();J();import{execFileSync as BS}from"node:child_process";import{mkdirSync as zS,readFileSync as Wd,renameSync as US,statSync as JS,writeFileSync as ZS}from"node:fs";import{join as Kd}from"node:path";import{closeSync as wS,openSync as xS,readSync as SS,readdirSync as ES,readFileSync as vS,statSync as Jd}from"node:fs";import{homedir as TS}from"node:os";import{isAbsolute as RS,join as ks,resolve as AS}from"node:path";var $S=/^[A-Za-z0-9._+@%:,/-]+$/,OS=new Set(["7f454c46","feedface","feedfacf","cefaedfe","cffaedfe","cafebabe","bebafeca"]),CS=32,IS=4*1024*1024;function Fi(e){let t;try{t=xS(e,"r");let n=Buffer.alloc(4),r=SS(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&&wS(t)}}function sr(e,t=process.platform){try{let n=Jd(e);if(!n.isFile())return!1;if(t==="win32")return!0;if((n.mode&73)===0)return!1;let r=Fi(e);return r==="#!"||r!==null&&OS.has(r)}catch{return!1}}function PS(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 cn(e,t,n,r=process.platform){if(!$S.test(e))return!1;let s=r==="win32";if(e.includes("/"))return sr(AS(t??process.cwd(),e),r);if(!n)return!1;let o=s?PS(e):[e];for(let i of n.split(s?";":":"))if(!(!i||!RS(i))){for(let a of o)if(sr(ks(i,a),r))return!0}return!1}var NS=/^eval \$'([^\s'()=]+) \(\) /,DS=/^([^\s'"()=]+) \(\) \{$/,MS=/^alias -- ([^\s=]+)=(.*)$/,LS=/^# (?:Shell Options|Aliases|Shopt|Check for |Shadow )/,FS=/^export PATH=(.*)$/,jS=/^(?:--colou?r(?:=\S+)?|-G)$/;function Ud(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 HS(e,t){let n="";for(let r of e.split(`
132
+ `)){let s=FS.exec(r);if(s&&n!=="# Functions"){let o=Ud(s[1].trim());/[$`\\]/.test(o)||t.paths.push(o);continue}if(r.startsWith("# ")&&(n!=="# Functions"||LS.test(r))){n=r;continue}if(n==="# Functions"){let o=NS.exec(r)??DS.exec(r);o&&t.functions.add(o[1])}else if(n==="# Aliases"){let o=MS.exec(r);o&&t.aliases.set(o[1],Ud(o[2].trim()))}}}function Li(e){return e?.code==="ENOENT"}function Zd(e){let t={functions:new Set,aliases:new Map,paths:[],uncertain:!1},n=ks(e||ks(TS(),".claude"),"shell-snapshots"),r=[];try{for(let s of ES(n)){if(!s.startsWith("snapshot-")||!s.endsWith(".sh"))continue;let o=ks(n,s);try{let i=Jd(o);i.isFile()&&r.push({path:o,mtime:i.mtimeMs,size:i.size})}catch(i){Li(i)||(t.uncertain=!0)}}}catch(s){return Li(s)||(t.uncertain=!0),t}r=r.sort((s,o)=>o.mtime-s.mtime).slice(0,CS);for(let s of r)try{if(s.size>IS)throw new Error("snapshot too large");HS(vS(s.path,"utf8"),t)}catch(o){Li(o)||(t.uncertain=!0)}return t}function Gd(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=>jS.test(s))}var GS="exec-probe.json",WS=6e4;function KS(){return Kd(E(),GS)}function VS(e){try{let t=ke(Wd(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 qS(e,t){try{zS(Kd(e,".."),{recursive:!0,mode:448});let n=`${e}.${process.pid}.tmp`;ZS(n,JSON.stringify(t),{mode:384}),US(n,e)}catch{}}function YS(e){try{return BS(e,["--native-check"],{encoding:"utf8",timeout:2e3,maxBuffer:1024,stdio:["ignore","pipe","ignore"],windowsHide:!0}).startsWith("tokmizer-native ")}catch{return!1}}function XS(e,t){try{let r=Wd(e,"utf8").split(`
133
+ `,1)[0].slice(2).trim().split(/\s+/),s=r[0]??"";return s==="/usr/bin/env"?cn(r[1]??"",void 0,t):sr(s)}catch{return!1}}function QS(e,t,n){try{let r=JS(e);return[e,r.size,r.mtimeMs,r.ino,r.mode,t?n??"":""].join("|")}catch{return`${e}|missing`}}function ji(e,t=process.platform,n=process.env.PATH,r=KS(),s=Date.now()){let o=t!=="win32"&&Fi(e)==="#!",i=QS(e,o,n),a=VS(r);if(a?.key===i&&(a.ok||s-a.at<WS))return a.ok;let l=sr(e,t)&&(o?XS(e,n):YS(e));return qS(r,{key:i,ok:l,at:s,skipped:(a?.skipped??0)+(l?0:1)}),l}var sE=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"]),oE=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"]),Vd=new Set(["sh","bash","zsh","dash","ksh","fish","python","python3","python2","node","ruby","perl","php","awk","sed","deno","bun"]),qd="(?:dev|start|serve|watch|preview)",iE=new RegExp(`^(?:\\S*/)?(?:bun\\s+(?:install|i|add|remove|rm|update|outdated|audit|test|build|pm|x)(?:\\s|$)|bun\\s+run\\s+(?!${qd}(?:\\s|$))[A-Za-z0-9:_-]+(?:\\s|$)|deno\\s+(?:test|lint|fmt|check|compile|install|info|doc|bench|outdated)(?:\\s|$)|deno\\s+task\\s+(?!${qd}(?:\\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)`),aE=/(?:^|\s)--watch(?:\s|=|$)/;function lE(e){return iE.test(e)&&!aE.test(e)}var uE=/^((?:\S*\/)?(sh|bash|zsh|dash|ksh|fish)\s+(-[elux]*c[elux]*)\s+)(['"])/,cE=/[()$]|(?:^|[;&|\n]\s*)(?:and|or|not|begin|end|if|else|switch|case|while|for|function|return)(?:\s|;|$)/,ip=3;function ap(e){let t=uE.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&&cE.test(a)?null:{script:a,start:s,end:o,quote:r}}var fE=new Set(["cd","export","set","unset","source",".","true",":","pushd","popd"]);function dE(e){return dn(e).filter(n=>{if(n.kind!=="cmd"||n.unsafe)return!1;let r=up(n.text);return r!==""&&!fE.has(r)&&!zi.test(r)}).length>1}function pE(e,t,n,r,s){if(n>=ip)return null;let o=ap(e);if(!o)return null;let{script:i,start:a,end:l,quote:u}=o,c=[],f=cp(i,t,n+1,r,h=>c.push(h));if(f===i||u==='"'&&/["$`]/.test(f))return null;let d=u==="'"?f.replace(/'/g,"'\\''"):f,p=`${e.slice(0,a)}${d}${e.slice(l)}`,g=dE(i);if(s)for(let h of g?[e,...c]:c)s(h);return g?`${t} ${p}`:p}var Yd=/(?:^|\s)(?:--follow|-[0-9a-zA-Z]*f[a-zA-Z]*)(?:\s|=|$)/,mE=/(?:^|\s)(?:--follow|-[0-9a-zA-Z]*[fF][a-zA-Z]*)(?:\s|=|$)/,hE=new Set(["docker","podman","kubectl","nerdctl","docker-compose","stern","flyctl"]),Xd=new Set(["npm","pnpm","yarn","bun"]),Qd=/^(?:dev|start|serve|preview|watch)(?::\S*)?$/,gE=new Set(["--filter","-F","--dir","-C","--prefix","--workspace","-w","--cwd"]),ep=new Set(["npx","pnpx","bunx"]),yE=new Set(["nodemon","top","htop","btop","watch"]),bE=new Set(["tsc","vitest","jest","webpack","rollup","esbuild","tsup","babel","sass","tailwindcss","mocha","swc","parcel","nest"]),kE=/(?:^|\s)--watch(?:All)?(?:\s|=(?!false(?:\s|$))|$)/,tp=/(?:^|\s)-w(?:\s|$)/;function _E(e){let t=e.map(i=>i.replace(/['"]/g,""));for(;t.length>1&&(t[0]==="env"||/^[A-Za-z_][A-Za-z0-9_]*=/.test(t[0]));)t=t.slice(1);let n=fn(t[0]??"");if(ep.has(n)||Xd.has(n)&&(t[1]==="exec"||t[1]==="dlx"))t=t.slice(ep.has(n)?1:2).filter((i,a,l)=>!(i.startsWith("-")&&l.slice(0,a).every(u=>u.startsWith("-")))),n=fn(t[0]??"");else if(Xd.has(n)){let i=t.slice(1).filter((l,u,c)=>!l.startsWith("-")&&!gE.has(c[u-1]??""));i[0]==="workspace"&&i.splice(0,2);let a=i[0]==="run"||i[0]==="run-script"?i[1]:i[0];return a!==void 0&&Qd.test(a)}let r=t.slice(1),s=r.join(" "),o=r.find(i=>!i.startsWith("-"));if(yE.has(n)||kE.test(s)||bE.has(n)&&tp.test(s))return!0;switch(n){case"next":return o==="dev"||o==="start";case"vite":return!r.includes("build")&&!r.includes("optimize");case"vitest":return o==="watch"||o==="dev";case"cargo":case"dotnet":return o==="watch";case"turbo":{let i=o==="run"?r.filter(a=>!a.startsWith("-"))[1]:o;return i!==void 0&&Qd.test(i)}case"nx":{let i=o==="run"?r.filter(a=>!a.startsWith("-"))[1]?.split(":")[1]:o;return i!==void 0&&/^(?:serve|dev|start|watch)$/.test(i)}case"ping":return!r.some(i=>/^-[a-zA-Z]*c/.test(i));case"docker":case"podman":case"nerdctl":case"docker-compose":{let i=n==="docker-compose"?r:o==="compose"?r.slice(r.indexOf("compose")+1):null;return i?i.includes("up")&&!i.some(a=>a==="--detach"||/^-[a-zA-Z]*d[a-zA-Z]*$/.test(a)):o==="stats"&&!r.includes("--no-stream")||o==="events"}case"kubectl":return o==="port-forward"||(o==="get"||o==="rollout")&&tp.test(s)||/(?:^|\s)--watch-only(?:\s|=|$)/.test(s);default:return!1}}function wE(e,t){let n=fn(t);return n==="tail"?mE.test(e):n==="journalctl"?Yd.test(e):n==="stern"||hE.has(n)&&/\blogs?\b/.test(e)&&Yd.test(e)?!0:_E(e.split(/\s+/))}var zi=/^[A-Za-z_][A-Za-z0-9_]*\+?=/,xE=/^[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/,SE=/(?:^|[;&|\n({])\s*[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/;function fn(e){let t=e.lastIndexOf("/");return t===-1?e:e.slice(t+1)}function lp(e){let t=new Array(e.length).fill(!1),n=[],r=0;for(;r<e.length;){let s=e[r],o=e[r+1],i=n[n.length-1];if(i==="'"){s==="'"&&n.pop(),r+=1;continue}if(s==="\\"){if(o===void 0)return null;r+=2;continue}if(i==="$'"){s==="'"&&n.pop(),r+=1;continue}if(s==="$"&&(o==="("||o==="{")){n.push(o==="("?")":"}"),r+=2;continue}if(s==="`"){i==="`"?n.pop():n.push("`"),r+=1;continue}if(i==='"'){s==='"'&&n.pop(),r+=1;continue}if(s==="$"&&o==="'"){n.push("$'"),r+=2;continue}if(s==="'"||s==='"'){n.push(s),r+=1;continue}if(s==="("||s==="{"&&i==="}"){n.push(s==="("?")":"}"),r+=1;continue}if(s===i){n.pop(),r+=1;continue}if(s===")"&&i===void 0)return null;t[r]=i===void 0,r+=1}return n.length===0?t:null}function Hi(e){let t=lp(e);if(!t)return!0;for(let n=0;n<e.length;n++)if(t[n]&&e[n]===">")return!0;return!1}function dn(e){let t=lp(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===`
134
+ `||a==="|"){i(a,1);continue}}r+=a,s+=1}return o(),n}function up(e){return e.trim().split(/\s+/)[0]??""}function Te(e,t=process.platform){try{let n=op(nE(import.meta.url)),r=t==="win32",s=e&&e!=="claude-code"&&e!=="codex"&&!r?`TOKMIZER_HOST=${e} `:"";if(r&&(!e||e==="claude-code")){let l=j(n,"..","bin","tkr-exec.exe");if(It(l))return ji(l,t)?`'${l.replace(/\\/g,"/").replace(/'/g,"'\\''")}'`:null}let o=j(n,"..","bin","tkr-exec"),i=!r&&It(o);if(i&&!ji(o,t))return null;if(!r&&process.env.TOKMIZER_STABLE_RUN!=="0"){let l=lf(j(n,"..","bin","tkr-exec.js"));if(l&&(i||It(j(n,"..","bin","tkr-exec.js"))))return`${s}'${l.replace(/'/g,"'\\''")}'`}if(i)return`${s}'${o.replace(/'/g,"'\\''")}'`;if(ve()){let l=r?process.execPath.replace(/\\/g,"/"):process.execPath;return`${s}'${l.replace(/'/g,"'\\''")}' exec`}let a=j(n,"..","bin","tkr-exec.js");return It(a)?`${s}node '${a.replace(/'/g,"'\\''")}'`:null}catch{return null}}function Ui(e,t="tkr-exec",n=()=>!0,r){return cp(e,t,0,n,r)}var EE=new Set(["{","for","while","until","if","case","select"]),vE=new Set(["}","done","fi","esac"]),TE=new Set(["then","do","else","elif","!","time","{","if","while","until"]);function RE(e,t){let n=e[t+1];return Hi(e[t].text)||n?.kind==="sep"&&(n.text==="|"||n.text==="|&")}function AE(e){let t=new Set,n=[];for(let r=0;r<e.length;r++){let s=e[r];if(!(s.kind!=="cmd"||s.unsafe))for(let o of s.text.trim().split(/\s+/)){if(vE.has(o)){let i=n.pop();if(i!==void 0&&RE(e,r))for(let a=i;a<=r;a++)t.add(a);continue}if(EE.has(o)&&n.push(r),!TE.has(o))break}}return t}function cp(e,t,n,r,s){if(e.includes("<<")||SE.test(e))return e;let o=dn(e),i=AE(o),a=[];for(let l=0;l<o.length;l++){let u=o[l];if(u.kind==="sep"||u.unsafe||i.has(l)){a.push(u.text);continue}let c=u.text.trim();if(!c){a.push(u.text);continue}let f=up(c),d=o[l+1],p=d?.kind==="sep"&&(d.text==="|"||d.text==="|&"),g=d?.kind==="sep"&&d.text==="&",h=!p&&!g&&!Hi(u.text)&&!u.text.includes("<(")&&!u.text.includes(">(")?pE(c,t,n,r,s):null;if(h!==null){a.push(`${u.text.match(/^\s*/)?.[0]??""}${h}${u.text.match(/\s*$/)?.[0]??""}`);continue}if(c===t||c.startsWith(t)&&/^\s/.test(c.slice(t.length))||sE.has(f)||oE.has(f)||(Vd.has(f)||Vd.has(fn(f)))&&!lE(c)||zi.test(f)||f.startsWith("(")||f.startsWith("#")||f.startsWith("<")||f.startsWith(">")||xE.test(c)||wE(c,f)||f.endsWith(")")||p||g||Hi(u.text)||u.text.includes("<(")||u.text.includes(">(")||f==="node"&&c.includes("tkr-exec.js")||!r(f,c)){a.push(u.text);continue}let m=u.text.match(/^\s*/)?.[0]??"",w=u.text.match(/\s*$/)?.[0]??"";s?.(c),a.push(`${m}${t} ${c}${w}`)}return a.join("")}var $E=new Set(["command","workdir","timeout_ms","yield_time_ms","max_output_tokens","shell","login","tty","description"]),OE=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"]),CE=new Set(["log","diff","show","status","blame","ls-files","rev-parse","describe","shortlog"]),IE={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/},_s=["test","run test","run build","run lint","run typecheck"],PE={npm:new Set(_s),pnpm:new Set([..._s,"build","lint","typecheck"]),yarn:new Set([..._s,"build","lint","typecheck"]),bun:new Set(_s),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"])},NE=new Set(["pytest","tsc","vitest","jest","eslint","mypy"]);function fp(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 dn(e)){if(r.kind==="sep")continue;if(r.unsafe)return!1;let s=n<ip?ap(r.text.trim()):null;if(s){if(!fp(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=>zi.test(u)))return!1;let i=fn(o[0]);if(i!==o[0])return!1;let a=IE[i];if(a&&o.slice(1).some(u=>a.test(u)))return!1;if((i==="git"?CE.has(o[1]??""):OE.has(i))||t&&NE.has(i))continue;let l=t?PE[i]:void 0;if(!(l&&(l.has(o[1]??"")||o[1]==="run"&&l.has(`run ${o[2]??""}`))))return!1}return!0}function dp(e,t,n=Te(t),r=ue,s=xs(),o=process.env.PATH,i=ar){if(!Y(e)||e.tool_name!=="Bash"||t==="claude-code"&&ME(i()))return null;let a=e.tool_input;if(!Y(a)||a.run_in_background)return null;let l=a.command;if(typeof l!="string"||!l||t==="codex"&&Object.keys(a).some(h=>!$E.has(h)))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=_p(l,{host:t,sessionId:f,cwd:c,claudeDirs:s,pathEnv:o,permissionMode:d},n,r);if(!p)return null;let g={...a,command:p.command};return JSON.stringify({hookSpecificOutput:t==="codex"?{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:g}:p.allowedBy?{hookEventName:"PreToolUse",permissionDecision:"allow",permissionDecisionReason:`Tokmizer: allowed by your rule ${p.allowedBy}`,updatedInput:g}:p.ask?{hookEventName:"PreToolUse",permissionDecision:"ask",permissionDecisionReason:"Tokmizer shortens this command's output; nothing else changes.",updatedInput:g}:{hookEventName:"PreToolUse",updatedInput:g}})}var DE=/(?:^|\s)--(?:disallowedTools|disallowed-tools|settings|setting-sources)(?:[=\s]|$)/;function ar(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=eE("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 ME(e){return e===null||DE.test(e)}function LE(e,t){if(!It(e))return"missing";try{let n=or(e,"utf8").replace(/^\uFEFF/,"");return n.trim()===""?{}:JSON.parse(t?pp(n):n)}catch{return"unreadable"}}function pp(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]!==`
132
135
  `;)r++;t+=`
133
- `}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 ir(e){let t=[],n=BS(e);for(;;){t.push(n);let r=Jd(n);if(r===n)return t;n=r}}function xE(){let e=process.platform==="darwin"?"/Library/Application Support/ClaudeCode":process.platform==="win32"?"C:\\Program Files\\ClaudeCode":"/etc/claude-code",t=[H(e,"managed-settings.json")];try{for(let n of ys(H(e,"managed-settings.d")))n.endsWith(".json")&&t.push(H(e,"managed-settings.d",n))}catch{return t}return t}function ar(e,t,n,r){let s=[];for(let o of e){let i=wE(o,t);if(i!=="missing"&&(i==="unreadable"||!Y(i)||!n(i,s)))return"unreadable"}return{matchers:s,complete:r}}function sr(e){return e===void 0?[]:Array.isArray(e)?e.filter(t=>typeof t=="string"):null}function bs(){return{projectDir:process.env.CLAUDE_PROJECT_DIR,configDir:process.env.CLAUDE_CONFIG_DIR}}function SE(e,t){let n=m=>[H(m,"settings.json"),H(m,"settings.local.json")],r=m=>n(H(m,".claude")),s=H(Ct(),".claude"),o=t.configDir||s,i=[[xE(),"managed"],[[H(o,"settings.json")],"loaded"],[[H(o,"settings.local.json")],"loadedLocal"],[t.configDir?n(s):[],"extra"],[t.projectDir?r(t.projectDir):[],"project"],[ir(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=(m,w)=>{let _=m.permissions;if(f==="managed"&&(m.allowManagedPermissionRulesOnly===!0||Y(_)&&_.allowManagedPermissionRulesOnly===!0)&&(c=!0),_===void 0)return!0;if(!Y(_))return!1;for(let T of["deny","ask","allow"]){let R=sr(_[T]);if(!R)return!1;for(let D of R){let A=/^\s*Bash\s*(?:\(([\s\S]*)\))?\s*$/.exec(D);if(A)if(T!=="allow")w.push(It((A[1]??"*").replace(/:\*$/," *")));else if(A[1]===void 0||A[1].trim()==="*")u[f]=!0;else{a.push(It(A[1].replace(/:\*$/," *")));let N=UE(A[1]);N&&l[f].push({rule:D.trim(),matches:N})}}}return!0},p=[];for(let[m,w]of i){f=w;let _=ar(m,!1,d,!0);if(_==="unreadable")return"unreadable";p.push(..._.matchers)}let g=u.managed||(u.loaded||u.loadedLocal)&&!c,h=[...l.managed,...c?[]:l.loaded];return{matchers:[...p,...g?[]:a],complete:!0,allow:a,allowsEverything:g,guards:p,trustedAllow:h}}function EE(e){let t=[H(Ct(),".cursor","cli-config.json"),...ir(e).map(n=>H(n,".cursor","cli.json"))];return ar(t,!0,(n,r)=>{let s=n.permissions;if(s===void 0)return!0;if(!Y(s))return!1;let o=sr(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(It(u===-1?`${l} *`:`${l.slice(0,u)} ${l.slice(u+1)}`))}return!0},!1)}function vE(){return process.platform==="darwin"?"/Library/Application Support/GeminiCli":process.platform==="win32"?"C:\\ProgramData\\gemini-cli":"/etc/gemini-cli"}var ep=/^\s*(?:run_shell_command|ShellTool)\s*(?:\(([\s\S]*)\))?\s*$/;function TE(e,t){let n=e.tools;if(n!==void 0&&!Y(n))return!1;let r=[sr(e.excludeTools),sr(Y(n)?n.exclude:void 0)];for(let s of r){if(!s)return!1;for(let o of s){let i=ep.exec(o);i&&t.push(It(i[1]===void 0?"*":`${i[1]}*`))}}return!0}function zd(e){try{return JSON.parse(e)}catch{return null}}function RE(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]??zd(`"${r[1]}"`);if(s===null)return null;n.push(s)}return n}if(t.startsWith('"')){let n=/^"((?:\\.|[^"\\])*)"/.exec(t);return n?zd(`"${n[1]}"`):null}if(t.startsWith("'")){let n=/^'([^']*)'/.exec(t);return n?n[1]:null}return t.replace(/\s*#.*$/,"")}function AE(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=RE(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==="*"||ep.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(It(`${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}))||ks(u,c))}}return!0}function Ud(e){try{return ys(e).filter(t=>t.endsWith(".toml")).map(t=>H(e,t))}catch{return[]}}function $E(e){let t=vE(),n=[H(t,"system-defaults.json"),H(t,"settings.json"),process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH,process.env.GEMINI_CLI_SYSTEM_DEFAULTS_PATH,H(Ct(),".gemini","settings.json"),...ir(e).map(s=>H(s,".gemini","settings.json"))].filter(s=>!!s),r=ar(n,!0,TE,!1);if(r==="unreadable")return r;for(let s of[...Ud(H(Ct(),".gemini","policies")),...Ud(H(t,"policies"))]){let o;try{o=rr(s,"utf8")}catch{return"unreadable"}if(!AE(o,r.matchers))return"unreadable"}return r}function Di(e,t){if(e===void 0)return!0;if(typeof e=="string")return e!=="allow"&&t.push(()=>!0),!0;if(!Y(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(!Y(r))return!1;for(let[s,o]of Object.entries(r))o!=="allow"&&t.push(It(s.replace(/\?/g,"*")))}}return!0}function Zd(e,t){if(e.permissions!==void 0||!Di(e.permission,t))return!1;for(let n of["agent","agents","mode"]){let r=e[n];if(r!==void 0){if(!Y(r))return!1;for(let s of Object.values(r))if(Y(s)&&(s.permissions!==void 0||!Di(s.permission,t)))return!1}}return!0}function OE(e){for(let t of e)for(let n of["agent","agents","mode","modes"]){let r;try{r=ys(H(t,n))}catch{continue}for(let s of r)try{if(s.endsWith(".md")&&/permission/i.test(rr(H(t,n,s),"utf8")))return!0}catch{return!0}}return!1}function CE(e){let t=H(process.env.XDG_CONFIG_HOME||H(Ct(),".config"),"opencode"),n=ir(e),r=[t,...n.map(a=>H(a,".opencode"))];if(OE(r))return"unreadable";let s=["opencode.json","opencode.jsonc","config.json"],o=[...s.map(a=>H(t,a)),process.env.OPENCODE_CONFIG,...n.flatMap(a=>[...s.slice(0,2).map(l=>H(a,l)),...s.slice(0,2).map(l=>H(a,".opencode",l))])].filter(a=>!!a),i=ar(o,!0,Zd,!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(Qd(a))}catch{return"unreadable"}if(!(a===process.env.OPENCODE_PERMISSION?Di(l,i.matchers):Y(l)&&Zd(l,i.matchers)))return"unreadable"}return i}function IE(){return ar([H(Ct(),".gemini","antigravity-cli","settings.json")],!0,(e,t)=>{let n=e.permissions;if(n===void 0)return!0;if(!Y(n))return!1;for(let r of["deny","ask"]){let s=sr(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(It(a==="*"?"*":`${a} *`));continue}let l;try{l=new RegExp(a.slice(6))}catch{return!1}t.push(u=>ks(l,u))}}return!0},!1)}function PE(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 tp(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=tp(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 np(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=>ks(n,r)}function NE(e,t){let n=PE(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]=tp(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=np(o.pattern);if(!a)return!1;i!=="allow"&&t.push(a)}return!0}function DE(e){if(!un(e))return[];try{return ys(e).filter(t=>t.endsWith(".rules")).sort().map(t=>H(e,t))}catch{return"unreadable"}}function ME(){return process.platform==="win32"?H(process.env.ProgramData||"C:\\ProgramData","OpenAI","Codex","requirements.toml"):"/etc/codex/requirements.toml"}function LE(e){if(!(!Y(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 FE(e,t){let n;try{n=Pn(e)}catch{return!1}if(n.rules===void 0)return!0;if(!Y(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(!Y(s)||!Array.isArray(s.pattern)||s.decision!=="prompt"&&s.decision!=="forbidden")return!1;let o=s.pattern.map(LE);if(o.some(a=>a===void 0))return!1;let i=np(o);if(!i)return!1;t.push(i)}return!0}function jE(e){let t=process.env.CODEX_HOME||H(Ct(),".codex"),n=[H(t,"rules"),...ir(e).map(o=>H(o,".codex","rules"))],r=[],s=null;try{s=rr(ME(),"utf8")}catch(o){let i=o.code;if(i!=="ENOENT"&&i!=="ENOTDIR")return"unreadable"}if(s!==null&&!FE(s,r))return"unreadable";for(let o of[...new Set(n)]){let i=DE(o);if(i==="unreadable")return"unreadable";for(let a of i){let l;try{l=rr(a,"utf8")}catch{return"unreadable"}if(!NE(l,r))return"unreadable"}}return{matchers:r,complete:!1}}function Y(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function Fi(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function HE(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 BE=512;function zE(e){let t=e.replace(/['"\\]/g,"").split(/[\s;&|(){}<>`$]+/).filter(Boolean);return[t,t.map(cn)]}function ks(e,t){if(e.test(t)||e.test(t.trim().replace(/\s+/g," ")))return!0;for(let n of zE(t)){if(n.length>BE)return!0;for(let r=0;r<n.length;r++)if(e.test(n.slice(r).join(" ")))return!0}return!1}function It(e){let t=HE(e);return n=>ks(t,n)}function UE(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 ZE={"claude-code":SE,cursor:EE,"gemini-cli":$E,opencode:CE,antigravity:IE,codex:jE},JE=new Set(["codex"]),rp=/(?:^|[\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 GE(e,t,n){let r=ZE[e];return r?r(t??process.cwd(),n):{matchers:[],complete:!1}}function WE(e,t,n){return e==="unreadable"||rp.test(t.replace(/['"\\]/g,""))||e.matchers.some(r=>r(t))?!1:e.complete||Yd(t,!JE.has(n))}var sp=new Set(["default","acceptEdits","dontAsk"]);function op(e,t){return t.host!=="claude-code"||t.permissionMode==="bypassPermissions"?!0:e!=="unreadable"&&e.allowsEverything===!0&&sp.has(t.permissionMode??"")}function KE(e,t){let n="pathEnv"in e?e.pathEnv:process.env.PATH,r;return s=>e.host!=="claude-code"?ln(s,e.cwd,n):(r??=Cd(t.configDir),!ln(s,e.cwd,n)&&!r.paths.some(o=>ln(s,e.cwd,o))?!1:s.includes("/")||!Id(s,r))}var VE=/^[^\s;&|<>()$`\\{}*?[\]~#!]+(?: [^\s;&|<>()$`\\{}*?[\]~#!]+)*$/;function qE(e,t,n){return n.host!=="claude-code"||e==="unreadable"||op(e,n)||!sp.has(n.permissionMode??"")||!VE.test(t)||rp.test(t.replace(/['"]/g,""))||(e.guards??[]).some(r=>r(t))?null:(e.trustedAllow??[]).find(r=>r.matches(t))?.rule??null}var YE=/^(?:\S+=\S*\s+)*(?:(?:npx|bunx|pnpm\s+exec|yarn\s+exec|uv\s+run|poetry\s+run)\s+)?(?:\.\/)?(?:ctest|gradlew|gradle|mvnw|mvnd|mvn|make|cmake|sbt|phpstan|phpunit|pest|pytest|py\.test|tox|nox|vitest|jest|mocha|playwright\s+test|tsc|(?:cargo|go)\s+(?:build|test|check|clippy|vet)|(?:bun|deno)\s+(?:test|check|lint|install)|(?:npm|pnpm|yarn)\s+(?:test|t|ci|install|run\s+\S+)|dotnet\s+(?:build|test)|swift\s+(?:build|test)|composer\s+(?:install|update|test))(?:\s|$)/;function XE(e,t){return t.host==="claude-code"&&t.permissionMode==="default"&&YE.test(e.trim())}function ip(e,t,n,r){if(!n||/["\\$`;&|<>(){}]|'\\''/.test(n))return null;let s=t.claudeDirs??bs(),o=GE(t.host,t.cwd,s),i=qE(o,e,t),a=i||WE(o,e,t.host)?Li(e,n,KE(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}:op(o,t)?{command:a}:o!=="unreadable"&&XE(e,t)&&!(o.allow??[]).some(l=>l(e))&&!(o.trustedAllow??[]).some(l=>l.matches(e))?{command:a,ask:!0}:null}function nt(e,t,n,r){let s=ip(e,t,n,r);return s&&!s.ask?s.command:null}Z();Rn();Qn();Zo();import{existsSync as wv,writeFileSync as xv,appendFileSync as Sv,statSync as Ev,constants as cp}from"node:fs";import{lstat as vv,open as Tv}from"node:fs/promises";import{basename as Rv,dirname as Av,isAbsolute as $v,join as hp}from"node:path";Z();_e();import{readFileSync as QE}from"node:fs";import{join as ev}from"node:path";function ap(){if(ke())return!1;try{return JSON.parse(QE(ev(E(),"settings-cache.json"),"utf8")).enabled!==!1}catch{return!0}}Z();import{createHash as tv}from"node:crypto";import{appendFileSync as nv,chmodSync as rv,mkdirSync as sv,readFileSync as ov,rmSync as iv,statSync as av}from"node:fs";import{join as lp}from"node:path";var lv=256*1024,uv=80;function cv(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return lp(E(),"sessions",`${t}.seen`)}function ji(e){return e.replace(/[\t\r\n]+/g," ").trim().slice(0,uv)}function Hi(e,t,n,r){try{let s=cv(e),o=ji(t),i=tv("sha256").update(n).digest("hex").slice(0,32),a="";try{a=ov(s,"utf8")}catch{}for(let l of a.split(`
134
- `)){let[u,c,f]=l.split(" ");if(u===o&&c===i)return{cmd:f??""}}sv(lp(E(),"sessions"),{recursive:!0,mode:448}),nv(s,`${o} ${i} ${ji(r)}
135
- `,{mode:384}),rv(s,384),av(s).size>lv&&iv(s,{force:!0})}catch{}return null}function Bi(e,t){return`[same output as \`${ji(e)}\` earlier in this session, unchanged, ~${Math.round(t/4)} tokens]`}zn();fs();function re(e,t){let n=e[t];return typeof n=="string"&&n?n:null}function lr(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function fv(e){return re(e,"prompt_id")||re(e,"scratchpad_dir")?!0:lr(e.effort)}function dv(e){return re(e,"tool_use_id")?.startsWith("toolu_")===!0||/^claude/i.test(re(e,"model")??"")}var pv=new Set(["BeforeTool","AfterTool","BeforeAgent","AfterAgent","BeforeModel","AfterModel","BeforeToolSelection"]),mv=new Set(["preToolUse","postToolUse","beforeShellExecution","afterShellExecution","beforeSubmitPrompt","sessionStart","sessionEnd","stop"]),hv=new Set(["pre_tool","post_tool"]),gv=new Set(["before_tool_call","after_tool_call"]),yv=new Set(["runTerminalCommand","run_in_terminal"]),bv=[["codex",e=>re(e,"turn_id")!==null],["claude-code",fv],["cursor",e=>re(e,"cursor_version")!==null||re(e,"generation_id")!==null||re(e,"conversation_id")!==null||Array.isArray(e.workspace_roots)||mv.has(re(e,"hook_event_name")??"")],["gemini-cli",e=>pv.has(re(e,"hook_event_name")??"")],["qwen-code",e=>e.hook_event_name==="PreToolUse"&&e.tool_name==="run_shell_command"],["vibe",e=>hv.has(re(e,"hook_event_name")??"")],["antigravity",e=>lr(e.toolCall)],["copilot",e=>re(e,"toolName")!==null&&"toolArgs"in e||yv.has(re(e,"tool_name")??"")],["grok",e=>e.toolName==="run_terminal_command"||e.tool_name==="run_terminal_command"||lr(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&&re(e,"event")!==null&&!gv.has(re(e,"event"))]],kv=new Set(["codex","antigravity"]);function _v(e){return lr(e)?bv.filter(([,t])=>t(e)).map(([t])=>t):[]}function zi(e,t){if(!lr(e))return null;let n=_v(e);return n.length>1?null:n.length===1?n[0]:dv(e)&&kv.has(t)?"claude-code":t==="codex"?null:t}function up(e,t){let n=zi(e,t);return n==="claude-code"||n==="codex"?n:null}var Ov=new Set(["Read","Grep","Glob","Bash"]),_s=10*1024*1024,gp=1024,Cv=10,Iv=25e3,Pv=/^… \(?\d+ more lines omitted\)?$/,Nv=/^\[tkr restore [0-9a-f]{8,64}\]$/,Dv=/^\d+F \d+D(?: in .+\/)?:$|^\S.*\/ \(\d+(?:, \*\.[^)]+)?\): \S/,Mv=/^… \(\d+ more lines omitted\)$/m;function Lv(e){return Pv.test(e)||Nv.test(e)||e==="[YOLO: omitted]"}function yp(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(`
136
- `).filter(i=>r.has(i)||Lv(i)||s&&Dv.test(i));return{...e,filenames:o}}return t}function Fv(e,t,n){return JSON.stringify({...n?{systemMessage:n}:{},hookSpecificOutput:{hookEventName:"PostToolUse",updatedToolOutput:yp(e.tool_response,t,e.tool_name)}})}var jv=100,Ji=null;function Hv(){let e=Ji;return Ji=null,e}function fp(e){let t=Math.round(e/4);return t>=1e3?`${(t/1e3).toFixed(1)}K`:String(t)}function bp(e,t){try{if(Math.round((e-t)/4)<jv)return;let n=hp(E(),"first-save");if(wv(n))return;xv(n,String(Date.now())),Ji=`Tokmizer just optimized its first command output here: ~${fp(e)} tokens down to ~${fp(t)}. Watch it add up: /tkr-gain`}catch{}}function dp(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(`
136
+ `}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 pn(e){let t=[],n=rE(e);for(;;){t.push(n);let r=op(n);if(r===n)return t;n=r}}function FE(){let e=process.platform==="darwin"?"/Library/Application Support/ClaudeCode":process.platform==="win32"?"C:\\Program Files\\ClaudeCode":"/etc/claude-code",t=[j(e,"managed-settings.json")];try{for(let n of ws(j(e,"managed-settings.d")))n.endsWith(".json")&&t.push(j(e,"managed-settings.d",n))}catch{return t}return t}function lr(e,t,n,r){let s=[];for(let o of e){let i=LE(o,t);if(i!=="missing"&&(i==="unreadable"||!Y(i)||!n(i,s)))return"unreadable"}return{matchers:s,complete:r}}function ir(e){return e===void 0?[]:Array.isArray(e)?e.filter(t=>typeof t=="string"):null}function xs(){return{projectDir:process.env.CLAUDE_PROJECT_DIR,configDir:process.env.CLAUDE_CONFIG_DIR?.trim()?qr():void 0}}function jE(e,t){let n=m=>[j(m,"settings.json"),j(m,"settings.local.json")],r=m=>n(j(m,".claude")),s=j(Pt(),".claude"),o=t.configDir||s,i=[[FE(),"managed"],[[j(o,"settings.json")],"loaded"],[[j(o,"settings.local.json")],"loadedLocal"],[t.configDir?n(s):[],"extra"],[t.projectDir?r(t.projectDir):[],"project"],[pn(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=(m,w)=>{let _=m.permissions;if(f==="managed"&&(m.allowManagedPermissionRulesOnly===!0||Y(_)&&_.allowManagedPermissionRulesOnly===!0)&&(c=!0),_===void 0)return!0;if(!Y(_))return!1;for(let T of["deny","ask","allow"]){let R=ir(_[T]);if(!R)return!1;for(let D of R){let A=/^\s*Bash\s*(?:\(([\s\S]*)\))?\s*$/.exec(D);if(A)if(T!=="allow")w.push(Nt((A[1]??"*").replace(/:\*$/," *")));else if(A[1]===void 0||A[1].trim()==="*")u[f]=!0;else{a.push(Nt(A[1].replace(/:\*$/," *")));let N=ov(A[1]);N&&l[f].push({rule:D.trim(),matches:N})}}}return!0},p=[];for(let[m,w]of i){f=w;let _=lr(m,!1,d,!0);if(_==="unreadable")return"unreadable";p.push(..._.matchers)}let g=u.managed||(u.loaded||u.loadedLocal)&&!c,h=[...l.managed,...c?[]:l.loaded];return{matchers:[...p,...g?[]:a],complete:!0,allow:a,allowsEverything:g,guards:p,trustedAllow:h}}function HE(e){let t=[j(Pt(),".cursor","cli-config.json"),...pn(e).map(n=>j(n,".cursor","cli.json"))];return lr(t,!0,(n,r)=>{let s=n.permissions;if(s===void 0)return!0;if(!Y(s))return!1;let o=ir(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(Nt(u===-1?`${l} *`:`${l.slice(0,u)} ${l.slice(u+1)}`))}return!0},!1)}function BE(){return process.platform==="darwin"?"/Library/Application Support/GeminiCli":process.platform==="win32"?"C:\\ProgramData\\gemini-cli":"/etc/gemini-cli"}var mp=/^\s*(?:run_shell_command|ShellTool)\s*(?:\(([\s\S]*)\))?\s*$/;function zE(e,t){let n=e.tools;if(n!==void 0&&!Y(n))return!1;let r=[ir(e.excludeTools),ir(Y(n)?n.exclude:void 0)];for(let s of r){if(!s)return!1;for(let o of s){let i=mp.exec(o);i&&t.push(Nt(i[1]===void 0?"*":`${i[1]}*`))}}return!0}function np(e){try{return JSON.parse(e)}catch{return null}}function UE(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]??np(`"${r[1]}"`);if(s===null)return null;n.push(s)}return n}if(t.startsWith('"')){let n=/^"((?:\\.|[^"\\])*)"/.exec(t);return n?np(`"${n[1]}"`):null}if(t.startsWith("'")){let n=/^'([^']*)'/.exec(t);return n?n[1]:null}return t.replace(/\s*#.*$/,"")}function JE(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=UE(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==="*"||mp.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(Nt(`${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}))||Ss(u,c))}}return!0}function rp(e){try{return ws(e).filter(t=>t.endsWith(".toml")).map(t=>j(e,t))}catch{return[]}}function ZE(e){let t=BE(),n=[j(t,"system-defaults.json"),j(t,"settings.json"),process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH,process.env.GEMINI_CLI_SYSTEM_DEFAULTS_PATH,j(Pt(),".gemini","settings.json"),...pn(e).map(s=>j(s,".gemini","settings.json"))].filter(s=>!!s),r=lr(n,!0,zE,!1);if(r==="unreadable")return r;for(let s of[...rp(j(Pt(),".gemini","policies")),...rp(j(t,"policies"))]){let o;try{o=or(s,"utf8")}catch{return"unreadable"}if(!JE(o,r.matchers))return"unreadable"}return r}function Bi(e,t){if(e===void 0)return!0;if(typeof e=="string")return e!=="allow"&&t.push(()=>!0),!0;if(!Y(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(!Y(r))return!1;for(let[s,o]of Object.entries(r))o!=="allow"&&t.push(Nt(s.replace(/\?/g,"*")))}}return!0}function sp(e,t){if(e.permissions!==void 0||!Bi(e.permission,t))return!1;for(let n of["agent","agents","mode"]){let r=e[n];if(r!==void 0){if(!Y(r))return!1;for(let s of Object.values(r))if(Y(s)&&(s.permissions!==void 0||!Bi(s.permission,t)))return!1}}return!0}function GE(e){for(let t of e)for(let n of["agent","agents","mode","modes"]){let r;try{r=ws(j(t,n))}catch{continue}for(let s of r)try{if(s.endsWith(".md")&&/permission/i.test(or(j(t,n,s),"utf8")))return!0}catch{return!0}}return!1}function WE(e){let t=j(process.env.XDG_CONFIG_HOME||j(Pt(),".config"),"opencode"),n=pn(e),r=[t,...n.map(a=>j(a,".opencode"))];if(GE(r))return"unreadable";let s=["opencode.json","opencode.jsonc","config.json"],o=[...s.map(a=>j(t,a)),process.env.OPENCODE_CONFIG,...n.flatMap(a=>[...s.slice(0,2).map(l=>j(a,l)),...s.slice(0,2).map(l=>j(a,".opencode",l))])].filter(a=>!!a),i=lr(o,!0,sp,!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(pp(a))}catch{return"unreadable"}if(!(a===process.env.OPENCODE_PERMISSION?Bi(l,i.matchers):Y(l)&&sp(l,i.matchers)))return"unreadable"}return i}function KE(){return lr([j(Pt(),".gemini","antigravity-cli","settings.json")],!0,(e,t)=>{let n=e.permissions;if(n===void 0)return!0;if(!Y(n))return!1;for(let r of["deny","ask"]){let s=ir(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(Nt(a==="*"?"*":`${a} *`));continue}let l;try{l=new RegExp(a.slice(6))}catch{return!1}t.push(u=>Ss(l,u))}}return!0},!1)}function VE(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 hp(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=hp(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 gp(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(Ji).join("|")})`)}let n=new RegExp(`^${t.join(" ")}(?= |$)`);return r=>Ss(n,r)}function qE(e,t){let n=VE(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]=hp(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=gp(o.pattern);if(!a)return!1;i!=="allow"&&t.push(a)}return!0}function YE(e){if(!It(e))return[];try{return ws(e).filter(t=>t.endsWith(".rules")).sort().map(t=>j(e,t))}catch{return"unreadable"}}function XE(){return process.platform==="win32"?j(process.env.ProgramData||"C:\\ProgramData","OpenAI","Codex","requirements.toml"):"/etc/codex/requirements.toml"}function QE(e){if(!(!Y(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 ev(e,t){let n;try{n=Dn(e)}catch{return!1}if(n.rules===void 0)return!0;if(!Y(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(!Y(s)||!Array.isArray(s.pattern)||s.decision!=="prompt"&&s.decision!=="forbidden")return!1;let o=s.pattern.map(QE);if(o.some(a=>a===void 0))return!1;let i=gp(o);if(!i)return!1;t.push(i)}return!0}function tv(e){let t=process.env.CODEX_HOME||j(Pt(),".codex"),n=[j(t,"rules"),...pn(e).map(o=>j(o,".codex","rules"))],r=[],s=null;try{s=or(XE(),"utf8")}catch(o){let i=o.code;if(i!=="ENOENT"&&i!=="ENOTDIR")return"unreadable"}if(s!==null&&!ev(s,r))return"unreadable";for(let o of[...new Set(n)]){let i=YE(o);if(i==="unreadable")return"unreadable";for(let a of i){let l;try{l=or(a,"utf8")}catch{return"unreadable"}if(!qE(l,r))return"unreadable"}}return{matchers:r,complete:!1}}function Y(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function Ji(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function nv(e){let t=e.trim().replace(/\s+/g," "),n=t.endsWith(" *")&&t.length>2,r=(n?t.slice(0,-2):t).split("*").map(Ji).join("[\\s\\S]*");return new RegExp(`^${r}${n?"(?: [\\s\\S]*)?":""}(?= |$)`)}var rv=512;function sv(e){let t=e.replace(/['"\\]/g,"").split(/[\s;&|(){}<>`$]+/).filter(Boolean);return[t,t.map(fn)]}function Ss(e,t){if(e.test(t)||e.test(t.trim().replace(/\s+/g," ")))return!0;for(let n of sv(t)){if(n.length>rv)return!0;for(let r=0;r<n.length;r++)if(e.test(n.slice(r).join(" ")))return!0}return!1}function Nt(e){let t=nv(e);return n=>Ss(t,n)}function ov(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(`^${Ji(r)}${n?"(?: [\\s\\S]*)?":""}$`);return o=>s.test(o)}var iv={"claude-code":jE,cursor:HE,"gemini-cli":ZE,opencode:WE,antigravity:KE,codex:tv},av=new Set(["codex"]),yp=/(?:^|[\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 lv(e,t,n){let r=iv[e];return r?r(t??process.cwd(),n):{matchers:[],complete:!1}}function uv(e,t,n){return e==="unreadable"||yp.test(t.replace(/['"\\]/g,""))||e.matchers.some(r=>r(t))?!1:e.complete||fp(t,!av.has(n))}var bp=new Set(["default","acceptEdits","dontAsk"]);function kp(e,t){return t.host!=="claude-code"||t.permissionMode==="bypassPermissions"?!0:e!=="unreadable"&&e.allowsEverything===!0&&bp.has(t.permissionMode??"")}var cv=/(?:^|[\s/])git(?:\.exe|\.real|-[a-z][\w-]*)?(?=\s|$)/;function fv(e){if(!e)return!1;try{for(let t of pn(e)){let n=j(t,".git");if(It(n))return tE(n).isFile()}}catch{return!0}return!1}function dv(e,t){let n="pathEnv"in e?e.pathEnv:process.env.PATH,r,s;return(o,i)=>e.host!=="claude-code"?cn(o,e.cwd,n):i!==void 0&&cv.test(i)&&(s??=fv(e.cwd))||(r??=Zd(t.configDir),!cn(o,e.cwd,n)&&!r.paths.some(a=>cn(o,e.cwd,a)))?!1:o.includes("/")||!Gd(o,r)}var pv=/^[^\s;&|<>()$`\\{}*?[\]~#!]+(?: [^\s;&|<>()$`\\{}*?[\]~#!]+)*$/;function mv(e,t,n){return n.host!=="claude-code"||e==="unreadable"||kp(e,n)||!bp.has(n.permissionMode??"")||!pv.test(t)||yp.test(t.replace(/['"]/g,""))||(e.guards??[]).some(r=>r(t))?null:(e.trustedAllow??[]).find(r=>r.matches(t))?.rule??null}var hv=/^(?:\S+=\S*\s+)*(?:(?:npx|bunx|pnpm\s+exec|yarn\s+exec|uv\s+run|poetry\s+run)\s+)?(?:\.\/)?(?:ctest|gradlew|gradle|mvnw|mvnd|mvn|make|cmake|sbt|phpstan|phpunit|pest|pytest|py\.test|tox|nox|vitest|jest|mocha|playwright\s+test|tsc|(?:cargo|go)\s+(?:build|test|check|clippy|vet)|(?:bun|deno)\s+(?:test|check|lint|install)|(?:npm|pnpm|yarn)\s+(?:test|t|ci|install|run\s+\S+)|dotnet\s+(?:build|test)|swift\s+(?:build|test)|composer\s+(?:install|update|test))(?:\s|$)/;function gv(e,t){return t.host==="claude-code"&&t.permissionMode==="default"&&hv.test(e.trim())}function _p(e,t,n,r){if(!n||/["\\$`;&|<>(){}]|'\\''/.test(n))return null;let s=t.claudeDirs??xs(),o=lv(t.host,t.cwd,s),i=mv(o,e,t),a=i||uv(o,e,t.host)?Ui(e,n,dv(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}:kp(o,t)?{command:a}:o!=="unreadable"&&gv(e,t)&&!(o.allow??[]).some(l=>l(e))&&!(o.trustedAllow??[]).some(l=>l.matches(e))?{command:a,ask:!0}:null}function nt(e,t,n,r){let s=_p(e,t,n,r);return s&&!s.ask?s.command:null}J();$n();tr();Vo();import{existsSync as jv,writeFileSync as Hv,appendFileSync as Bv,statSync as zv,constants as Ep}from"node:fs";import{lstat as Uv,open as Jv}from"node:fs/promises";import{basename as Zv,dirname as Gv,isAbsolute as Wv,join as $p}from"node:path";J();we();import{readFileSync as yv}from"node:fs";import{join as bv}from"node:path";function wp(){if(_e())return!1;try{return JSON.parse(yv(bv(E(),"settings-cache.json"),"utf8")).enabled!==!1}catch{return!0}}J();import{createHash as kv}from"node:crypto";import{appendFileSync as _v,chmodSync as wv,mkdirSync as xv,readFileSync as Sv,rmSync as Ev,statSync as vv}from"node:fs";import{join as xp}from"node:path";var Tv=256*1024,Rv=80;function Av(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return xp(E(),"sessions",`${t}.seen`)}function Zi(e){return e.replace(/[\t\r\n]+/g," ").trim().slice(0,Rv)}function Gi(e,t,n,r){try{let s=Av(e),o=Zi(t),i=kv("sha256").update(n).digest("hex").slice(0,32),a="";try{a=Sv(s,"utf8")}catch{}for(let l of a.split(`
137
+ `)){let[u,c,f]=l.split(" ");if(u===o&&c===i)return{cmd:f??""}}xv(xp(E(),"sessions"),{recursive:!0,mode:448}),_v(s,`${o} ${i} ${Zi(r)}
138
+ `,{mode:384}),wv(s,384),vv(s).size>Tv&&Ev(s,{force:!0})}catch{}return null}function Wi(e,t){return`[same output as \`${Zi(e)}\` earlier in this session, unchanged, ~${Math.round(t/4)} tokens]`}Jn();ms();function re(e,t){let n=e[t];return typeof n=="string"&&n?n:null}function ur(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function $v(e){return re(e,"prompt_id")||re(e,"scratchpad_dir")?!0:ur(e.effort)}function Ov(e){return re(e,"tool_use_id")?.startsWith("toolu_")===!0||/^claude/i.test(re(e,"model")??"")}var Cv=new Set(["BeforeTool","AfterTool","BeforeAgent","AfterAgent","BeforeModel","AfterModel","BeforeToolSelection"]),Iv=new Set(["preToolUse","postToolUse","beforeShellExecution","afterShellExecution","beforeSubmitPrompt","sessionStart","sessionEnd","stop"]),Pv=new Set(["pre_tool","post_tool"]),Nv=new Set(["before_tool_call","after_tool_call"]),Dv=new Set(["runTerminalCommand","run_in_terminal"]),Mv=[["codex",e=>re(e,"turn_id")!==null],["claude-code",$v],["cursor",e=>re(e,"cursor_version")!==null||re(e,"generation_id")!==null||re(e,"conversation_id")!==null||Array.isArray(e.workspace_roots)||Iv.has(re(e,"hook_event_name")??"")],["gemini-cli",e=>Cv.has(re(e,"hook_event_name")??"")],["qwen-code",e=>e.hook_event_name==="PreToolUse"&&e.tool_name==="run_shell_command"],["vibe",e=>Pv.has(re(e,"hook_event_name")??"")],["antigravity",e=>ur(e.toolCall)],["copilot",e=>re(e,"toolName")!==null&&"toolArgs"in e||Dv.has(re(e,"tool_name")??"")],["grok",e=>e.toolName==="run_terminal_command"||e.tool_name==="run_terminal_command"||ur(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&&re(e,"event")!==null&&!Nv.has(re(e,"event"))]],Lv=new Set(["codex","antigravity"]);function Fv(e){return ur(e)?Mv.filter(([,t])=>t(e)).map(([t])=>t):[]}function Ki(e,t){if(!ur(e))return null;let n=Fv(e);return n.length>1?null:n.length===1?n[0]:Ov(e)&&Lv.has(t)?"claude-code":t==="codex"?null:t}function Sp(e,t){let n=Ki(e,t);return n==="claude-code"||n==="codex"?n:null}var Kv=new Set(["Read","Grep","Glob","Bash"]),Es=10*1024*1024,Op=1024,Vv=10,qv=25e3,Yv=/^… \(?\d+ more lines omitted\)?$/,Xv=/^\[tkr restore [0-9a-f]{8,64}\]$/,Qv=/^\d+F \d+D(?: in .+\/)?:$|^\S.*\/ \(\d+(?:, \*\.[^)]+)?\): \S/,eT=/^… \(\d+ more lines omitted\)$/m;function tT(e){return Yv.test(e)||Xv.test(e)||e==="[YOLO: omitted]"}function Cp(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(`
139
+ `).filter(i=>r.has(i)||tT(i)||s&&Qv.test(i));return{...e,filenames:o}}return t}function nT(e,t,n){return JSON.stringify({...n?{systemMessage:n}:{},hookSpecificOutput:{hookEventName:"PostToolUse",updatedToolOutput:Cp(e.tool_response,t,e.tool_name)}})}var rT=100,Yi=null;function sT(){let e=Yi;return Yi=null,e}function vp(e){let t=Math.round(e/4);return t>=1e3?`${(t/1e3).toFixed(1)}K`:String(t)}function Ip(e,t){try{if(Math.round((e-t)/4)<rT)return;let n=$p(E(),"first-save");if(jv(n))return;Hv(n,String(Date.now())),Yi=`Tokmizer just optimized its first command output here: ~${vp(e)} tokens down to ~${vp(t)}. Watch it add up: /tkr-gain`}catch{}}function Tp(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(`
137
140
  `):Array.isArray(e.filenames)?e.filenames.join(`
138
- `):null:""}var Bv=64*1024;function zv(e,t){try{if(!t||typeof t!="object")return;let n=hp(E(),"drift.jsonl");try{if(Ev(n).size>Bv)return}catch{}let r=Object.keys(t).slice(0,12);Sv(n,`${JSON.stringify({t:Math.floor(Date.now()/1e3),tool:e,keys:r})}
139
- `)}catch{}}function Uv(e){let t=e.tool_name??"tool",n=e.tool_input??{};return n.command?n.command.split(`
140
- `)[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 Zv=/'(?:[A-Za-z]:)?\/[^']*\/(?:tkr-exec(?:\.exe|\.js)?'|tkr(?:\.exe)?' exec)(?:\\'')?(?:\s|$)/,Jv=/;|\|\||\n|(?<![>&|])&(?![&>])/,Gv=new Set(["cd","export","set","unset","true",":"]),Wv=/^(?:\S*\/)?(?:sh|bash|zsh|dash|ksh)\s+-[elux]*c[elux]*\s+'([^']*)'$/,Kv=/(?:^|[\s;&|(])(?:[A-Za-z]:)?\/\S*\/tkr-exec(?:\.exe|\.js)?\s|(?:^|[;&|(\n])\s*(?:\S*\/)?tkr-exec(?:\.exe|\.js)?\s/;function kp(e){return Zv.test(e)||Kv.test(e)}function _p(e,t,n=0){let r=fn(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==="|&")||Gv.has(i.split(/\s+/)[0]))continue;let l=n<3?Wv.exec(i):null;if(!(l&&_p(l[1],t,n+1)))return!1}return!0}function Vv(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 pp(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 qv(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||!$v(n)||Rv(Av(n))!=="tool-results")return null;try{let s=await vv(n);if(!s.isFile()||s.size>_s)return null;let o=await Tv(n,cp.O_RDONLY|(cp.O_NOFOLLOW??0));try{let i=await o.stat();if(!i.isFile()||i.size>_s||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 Yv(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||Jv.test(e)||pp(e))return null;let n=[];if(Li(e,"tkr-exec",()=>!0,s=>n.push(s)),n.length!==1||pp(n[0])||!_p(e,n[0])||fn(e).some(s=>s.kind==="sep"&&s.text!=="&&"&&s.text!=="|"&&s.text!=="|&"))return null;let r=Vv(n[0]);return r?{argv:r,stdout:t.stdout,stderr:t.stderr??"",exitCode:t.returnCodeInterpretation!=null?1:0}:null}async function Xv(e,t,n,r,s){let{processCapturedOutput:o}=await Promise.resolve().then(()=>(Oi(),Td)),i=null,a=h=>{i=h},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(`
141
- `),d=Buffer.byteLength(f,"utf8");if(s==null&&u.filterId!=null&&t.session_id&&d>=gp){let h=Hi(t.session_id,t.agent_id??"main",f,(t.tool_input?.command??"").split(`
142
- `)[0]??"");if(h){let m=Bi(h.cmd,d);if(n)return m;let{captureOriginalForRestore:w}=await Promise.resolve().then(()=>(Zi(),Ui));return w(f,m)}}let p=[u.stdout,u.stderr].filter(Boolean).join(`
143
- `),g=u.stdout===e.stdout&&u.stderr===e.stderr;return s!=null&&(g||p.length>s)||(c&&(r.deferAccounting?r.deferAccounting(c):await c()),g||d>0&&Buffer.byteLength(p,"utf8")>=d)?null:(bp(d,Buffer.byteLength(p,"utf8")),p)}function Qv(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 eT(e,t={}){if(!Qv(e))return null;let n=e.tool_name==="Bash"&&!kp(e.tool_input?.command??"")?await qv(e.tool_response):void 0;return n===null?null:n===void 0?mp(e,t):mp({...e,tool_response:{...e.tool_response,stdout:n}},t,Iv)}async function mp(e,t,n){let r=Ee();if(!e.tool_name||!Ov.has(e.tool_name))return null;let s=e.tool_name==="Bash"?e.tool_input?.command??"":"",o=kp(s);if(/\btkr(?:\.js)?\s+restore\b/.test(s))return null;let i=await St();if(!ap())return null;let a=e.tool_name==="Bash"&&!o?Yv(s,e.tool_response):null;if(a)return Buffer.byteLength(a.stdout,"utf8")+Buffer.byteLength(a.stderr,"utf8")>_s?null:Xv(a,e,r,t,n);if(e.session_id&&!o&&i?.token){let P=e.tool_input??{},st=P.command??P.file_path??P.pattern??P.path??"";st&&Gr(e.session_id,{tool:e.tool_name,target:st.split(`
144
- `)[0].trim()})}if(e.tool_name==="Read"&&(e.tool_input?.offset!=null||e.tool_input?.limit!=null))return null;let l=dp(e.tool_response);if(l==null)return zv(e.tool_name,e.tool_response),null;if(!l)return null;let u=Buffer.byteLength(l,"utf8");if(u>_s||e.tool_name==="Bash"&&u<gp||e.tool_name==="Glob"&&l.split(`
145
- `).length<Cv||o)return null;let{loadSettingsCache:c,processOutput:f,captureForRestore:d,captureOriginalForRestore:p,neutralizeMarkers:g,FOLD_MARKER_RE:h,resolveAllowedFilters:m,gatingPlan:w,graceExceeded:_,recordEvent:T,recordTelemetry:R,recordStat:D,countedSaving:A,statCmdLabel:N,statOutcome:M,installDaemonResolver:se,closeDaemonResolver:te}=await Promise.resolve().then(()=>(Zi(),Ui)),V=await c();if(!V.enabled)return null;let{slugKey:O}=await Promise.resolve().then(()=>(qe(),Ea)),J=i?.token?w(i):null;!t.resolver&&J&&se(J);let B=i?.token?m(i.allowedFilters,_(i)):null,W=new Set(V.filters.disabled.map(O)),U=B&&W.size>0?new Set([...B].filter(P=>!W.has(P))):B,K=Uv(e),oe=`${e.tool_name.toLowerCase()}-tool`,rt=`${oe}: ${K}`;try{let P=await f(rt,l,U,{verbosity:V.outputVerbosity,resolver:t.resolver,yolo:r,exitCode:e.tool_name==="Bash"?void 0:0});if(P.filterId!=null&&e.tool_name==="Bash"&&e.session_id){let oa=Hi(e.session_id,e.agent_id??"main",l,s.split(`
146
- `)[0]??"");if(oa){let ia=Bi(oa.cmd,u);return r?ia:await p(l,ia)}}let st=new RegExp(h.source,"m"),Rs=e.tool_name==="Bash"?N(e.tool_input?.command??""):e.tool_name,na=e.tool_name==="Read"&&!r&&(st.test(P.output)||Mv.test(P.output))?`${P.output}${P.output.endsWith(`
141
+ `):null:""}var oT=64*1024;function iT(e,t){try{if(!t||typeof t!="object")return;let n=$p(E(),"drift.jsonl");try{if(zv(n).size>oT)return}catch{}let r=Object.keys(t).slice(0,12);Bv(n,`${JSON.stringify({t:Math.floor(Date.now()/1e3),tool:e,keys:r})}
142
+ `)}catch{}}function aT(e){let t=e.tool_name??"tool",n=e.tool_input??{};return n.command?n.command.split(`
143
+ `)[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 lT=/'(?:[A-Za-z]:)?\/[^']*\/(?:tkr-exec(?:\.exe|\.js)?'|tkr(?:\.exe)?' exec)(?:\\'')?(?:\s|$)/,uT=/;|\|\||\n|(?<![>&|])&(?![&>])/,cT=new Set(["cd","export","set","unset","true",":"]),fT=/^(?:\S*\/)?(?:sh|bash|zsh|dash|ksh)\s+-[elux]*c[elux]*\s+'([^']*)'$/,dT=/(?:^|[\s;&|(])(?:[A-Za-z]:)?\/\S*\/tkr-exec(?:\.exe|\.js)?\s|(?:^|[;&|(\n])\s*(?:\S*\/)?tkr-exec(?:\.exe|\.js)?\s/;function Pp(e){return lT.test(e)||dT.test(e)}function Np(e,t,n=0){let r=dn(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==="|&")||cT.has(i.split(/\s+/)[0]))continue;let l=n<3?fT.exec(i):null;if(!(l&&Np(l[1],t,n+1)))return!1}return!0}function pT(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 Rp(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 mT(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||!Wv(n)||Zv(Gv(n))!=="tool-results")return null;try{let s=await Uv(n);if(!s.isFile()||s.size>Es)return null;let o=await Jv(n,Ep.O_RDONLY|(Ep.O_NOFOLLOW??0));try{let i=await o.stat();if(!i.isFile()||i.size>Es||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 hT(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||uT.test(e)||Rp(e))return null;let n=[];if(Ui(e,"tkr-exec",()=>!0,s=>n.push(s)),n.length!==1||Rp(n[0])||!Np(e,n[0])||dn(e).some(s=>s.kind==="sep"&&s.text!=="&&"&&s.text!=="|"&&s.text!=="|&"))return null;let r=pT(n[0]);return r?{argv:r,stdout:t.stdout,stderr:t.stderr??"",exitCode:t.returnCodeInterpretation!=null?1:0}:null}async function gT(e,t,n,r,s){let{processCapturedOutput:o}=await Promise.resolve().then(()=>(Mi(),Hd)),i=null,a=h=>{i=h},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(`
144
+ `),d=Buffer.byteLength(f,"utf8");if(s==null&&u.filterId!=null&&t.session_id&&d>=Op){let h=Gi(t.session_id,t.agent_id??"main",f,(t.tool_input?.command??"").split(`
145
+ `)[0]??"");if(h){let m=Wi(h.cmd,d);if(n)return m;let{captureOriginalForRestore:w}=await Promise.resolve().then(()=>(qi(),Vi));return w(f,m)}}let p=[u.stdout,u.stderr].filter(Boolean).join(`
146
+ `),g=u.stdout===e.stdout&&u.stderr===e.stderr;return s!=null&&(g||p.length>s)||(c&&(r.deferAccounting?r.deferAccounting(c):await c()),g||d>0&&Buffer.byteLength(p,"utf8")>=d)?null:(Ip(d,Buffer.byteLength(p,"utf8")),p)}function yT(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 bT(e,t={}){if(!yT(e))return null;let n=e.tool_name==="Bash"&&!Pp(e.tool_input?.command??"")?await mT(e.tool_response):void 0;return n===null?null:n===void 0?Ap(e,t):Ap({...e,tool_response:{...e.tool_response,stdout:n}},t,qv)}async function Ap(e,t,n){let r=pe();if(!e.tool_name||!Kv.has(e.tool_name))return null;let s=e.tool_name==="Bash"?e.tool_input?.command??"":"",o=Pp(s);if(/\btkr(?:\.js)?\s+restore\b/.test(s))return null;let i=await St();if(!wp())return null;let a=e.tool_name==="Bash"&&!o?hT(s,e.tool_response):null;if(a)return Buffer.byteLength(a.stdout,"utf8")+Buffer.byteLength(a.stderr,"utf8")>Es?null:gT(a,e,r,t,n);if(e.session_id&&!o&&i?.token){let P=e.tool_input??{},st=P.command??P.file_path??P.pattern??P.path??"";st&&Kr(e.session_id,{tool:e.tool_name,target:st.split(`
147
+ `)[0].trim()})}if(e.tool_name==="Read"&&(e.tool_input?.offset!=null||e.tool_input?.limit!=null))return null;let l=Tp(e.tool_response);if(l==null)return iT(e.tool_name,e.tool_response),null;if(!l)return null;let u=Buffer.byteLength(l,"utf8");if(u>Es||e.tool_name==="Bash"&&u<Op||e.tool_name==="Glob"&&l.split(`
148
+ `).length<Vv||o)return null;let{loadSettingsCache:c,processOutput:f,captureForRestore:d,captureOriginalForRestore:p,neutralizeMarkers:g,FOLD_MARKER_RE:h,resolveAllowedFilters:m,gatingPlan:w,graceExceeded:_,recordEvent:T,recordTelemetry:R,recordStat:D,countedSaving:A,statCmdLabel:N,statOutcome:M,installDaemonResolver:se,closeDaemonResolver:te}=await Promise.resolve().then(()=>(qi(),Vi)),V=await c();if(!V.enabled)return null;let{slugKey:O}=await Promise.resolve().then(()=>(qe(),Oa)),Z=i?.token?w(i):null;!t.resolver&&Z&&se(Z);let B=i?.token?m(i.allowedFilters,_(i)):null,W=new Set(V.filters.disabled.map(O)),U=B&&W.size>0?new Set([...B].filter(P=>!W.has(P))):B,K=aT(e),oe=`${e.tool_name.toLowerCase()}-tool`,rt=`${oe}: ${K}`;try{let P=await f(rt,l,U,{verbosity:V.outputVerbosity,resolver:t.resolver,yolo:r,exitCode:e.tool_name==="Bash"?void 0:0});if(P.filterId!=null&&e.tool_name==="Bash"&&e.session_id){let fa=Gi(e.session_id,e.agent_id??"main",l,s.split(`
149
+ `)[0]??"");if(fa){let da=Wi(fa.cmd,u);return r?da:await p(l,da)}}let st=new RegExp(h.source,"m"),Cs=e.tool_name==="Bash"?N(e.tool_input?.command??""):e.tool_name,la=e.tool_name==="Read"&&!r&&(st.test(P.output)||eT.test(P.output))?`${P.output}${P.output.endsWith(`
147
150
  `)?"":`
148
- `}${sn}`:P.output,X;if(P.filteredBytes>=P.rawBytes?X=null:r?X=g(P.output,l):e.tool_name==="Glob"||st.test(P.output)?X=await p(l,na,void 0,{label:Rs}):X=await d(P.droppedTail??null,na,void 0,{raw:l,label:Rs}),r&&X!=null&&(X=dp(yp(e.tool_response,X,e.tool_name))),X!=null&&Buffer.byteLength(X,"utf8")>=P.rawBytes&&(X=null),n!=null&&(X==null||X.length>n))return null;let Np=X==null?P.rawBytes:Buffer.byteLength(X,"utf8"),As=is().host,ot=A(P.rawBytes,Np,os(As));X!=null&&bp(ot.raw,ot.filtered);let Dp=e.cwd||(t.inferCwd===!1?void 0:process.cwd()),Mp=e.tool_name==="Bash"?"sh":void 0,$s=t.deferAccounting,ra=!1,sa=async()=>{ra||(ra=!0,await T({cmd:oe,filterId:P.filterId,rawBytes:P.rawBytes,filteredBytes:P.filteredBytes,plan:J}),D(ot.raw,ot.filtered,void 0,!1,As,Mp,Rs,Dp,M(P)),await R({cmd:oe,tokensSaved:Math.round((ot.raw-ot.filtered)/4),rawTokens:Math.round(ot.raw/4),optimized:P.filterId!=null,telemetryOptIn:V.telemetryOptIn&&(!$s||(await c()).telemetryOptIn),host:As}))};return $s?$s(sa):await sa(),X}finally{t.resolver||te()}}async function wp(e,t={}){if(up(e,"claude-code")!=="claude-code")return"";let n=await eT(e,t);return n?Fv(e,n,Hv()??void 0):""}_e();_e();var Gi=JSON.stringify({permission:"allow"});function xp(e,t=Te("cursor"),n=ue){if(e.tool_name!=="Shell")return Gi;let r=e.tool_input??{},s=r.command;if(typeof s!="string"||!s)return Gi;let o=typeof r.working_directory=="string"?r.working_directory:void 0,i=nt(s,{host:"cursor",sessionId:e.conversation_id??"unknown",cwd:o},ke()?null:t,n);return i?JSON.stringify({permission:"allow",updated_input:{...r,command:i}}):Gi}_e();var ws="{}";function Sp(e,t=Te("gemini-cli"),n=ue){if(e.hook_event_name!=="BeforeTool"||e.tool_name!=="run_shell_command")return ws;let r=e.tool_input??{};if(r.is_background)return ws;let s=r.command;if(typeof s!="string"||!s)return ws;let o=typeof e.cwd=="string"?e.cwd:void 0,i=nt(s,{host:"gemini-cli",sessionId:e.session_id??"unknown",cwd:o},ke()?null:t,n);return i?JSON.stringify({hookSpecificOutput:{tool_input:{command:i}}}):ws}Ne();_e();function pn(e,t,n="unknown",r=Te(t),s=ue){return e?nt(e,{host:t,sessionId:n},ke()?null:r,s):null}var tT=new Set(["bash","file_system.bash"]),Ki=JSON.stringify({decision:"allow"});function Ep(e,t=(n,r)=>pn(n,"vibe",r)){if(!z(e)||e.hook_event_name!=="pre_tool"||typeof e.tool_name!="string"||!tT.has(e.tool_name))return"";let n=e.tool_input;if(!z(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 vp(e,t=(n,r)=>pn(n,"antigravity",r)){if(!z(e)||!z(e.toolCall)||e.toolCall.name!=="run_command")return Ki;let n=e.toolCall.args;if(!z(n)||typeof n.CommandLine!="string"||!n.CommandLine)return Ki;let r=t(n.CommandLine,typeof e.conversationId=="string"?e.conversationId:"unknown");return r?JSON.stringify({decision:"allow",overwrite:{CommandLine:r}}):Ki}_e();var Ue="{}",nT=new Set(["runTerminalCommand","run_in_terminal","Bash","bash"]),rT=["run_in_background","is_background","isBackground"];function xs(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function sT(e){let t=e.session_id??e.sessionId;return typeof t=="string"&&t?t:"unknown"}function oT(e,t){let n=e.cwd??t.cwd??t.workdir??t.working_directory;return typeof n=="string"&&n?n:void 0}function Ss(e,t,n,r,s){if(!xs(t)||rT.some(i=>t[i]===!0))return null;let o=t.command;return typeof o!="string"||!o?null:nt(o,{host:e,sessionId:sT(n),cwd:oT(n,t)},ke()?null:r,s)}function hn(e,t){return JSON.stringify({hookSpecificOutput:{hookEventName:"PreToolUse",updatedInput:{...e,command:t}}})}function iT(e){if(xs(e))return e;if(typeof e!="string")return null;try{let t=JSON.parse(e);return xs(t)?t:null}catch{return null}}function aT(e,t,n){if(typeof e.tool_name=="string"){if(!nT.has(e.tool_name))return Ue;let o=e.tool_input,i=Ss("copilot",o,e,t,n);return i?hn(o,i):Ue}if(e.toolName!=="bash")return Ue;let r=iT(e.toolArgs),s=Ss("copilot",r,e,t,n);return s?JSON.stringify({modifiedArgs:{...r,command:s}}):Ue}function mn(e,t,n){return(r,s,o)=>{if(r.tool_name!==t)return Ue;let i=r.tool_input,a=Ss(e,i,r,s,o);return a?n(i,a):Ue}}var lT=new Set(["run_terminal_command","Bash","bash"]);function uT(e,t,n){let r=e.toolName??e.tool_name;if(typeof r!="string"||!lT.has(r))return Ue;let s=e.toolInput??e.tool_input,o=Ss("grok",s,e,t,n);return o?hn(s,o):Ue}var cT={copilot:aT,droid:mn("droid","Execute",hn),trae:mn("trae","RunCommand",hn),"qwen-code":mn("qwen-code","run_shell_command",hn),crush:mn("crush","bash",(e,t)=>JSON.stringify({updated_input:{command:t}})),junie:mn("junie","Bash",(e,t)=>JSON.stringify({updatedInput:{...e,command:t}})),zcode:mn("zcode","Bash",hn),grok:uT};function Tp(e,t,n=Te(e),r=ue){return xs(t)?cT[e](t,n,r):Ue}function gn(e){return ke()?null:Te(e)}function fT(e,t,n={}){let r=n.recordUsage??ue;switch(e){case"claude-code":case"codex":return t.hook_event_name!==void 0&&t.hook_event_name!=="PreToolUse"?"":Xd(t,e,gn(e),r,n.claudeDirs??bs(),n.pathEnv??process.env.PATH,n.launchArgs??or)??"";case"cursor":return xp(t,gn(e),r);case"gemini-cli":return Sp(t,gn(e),r);case"vibe":return Ep(t,(s,o)=>pn(s,"vibe",o,gn(e),r));case"antigravity":return vp(t,(s,o)=>pn(s,"antigravity",o,gn(e),r));default:return Tp(e,t,gn(e),r)}}function dn(e,t,n={}){let r=zi(e,t);return r?fT(r,e,n):n.fallback??""}Qn();var Es=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 yn(e){let t=Buffer.allocUnsafe(4);return t.writeUInt32BE(e.length),Buffer.concat([t,e])}function Rp(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 yT={"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:""},bT=y.object({protocol:y.literal(2),version:y.string().min(1).max(64),token:y.string().regex(/^[0-9a-f]{64}$/),home:y.string().min(1).max(4096),argv:y.array(y.string().max(32768).refine(e=>!e.includes("\0"))).min(1).max(4096),host:y.enum(fi),sessionId:y.string().max(256).optional(),restoreDisabled:y.boolean(),restoreMaxBytes:y.number().int().positive().max(10485760).optional(),timeoutMs:y.number().int().positive().max(864e5)}).strict(),kT=y.object({kind:y.literal("pre-tool-use"),protocol:y.literal(2),version:y.string().min(1).max(64),token:y.string().regex(/^[0-9a-f]{64}$/),home:y.string().min(1).max(4096),host:y.enum(["claude-code","codex"]),payload:y.record(y.string(),y.unknown()),claudeProjectDir:y.string().min(1).max(4096).optional(),claudeConfigDir:y.string().min(1).max(4096).optional(),path:y.string().min(1).max(32768).optional(),claudePid:y.string().regex(/^[1-9]\d{0,9}$/).optional()}).strict(),_T=y.object({kind:y.literal("post-tool-use"),protocol:y.literal(2),version:y.string().min(1).max(64),token:y.string().regex(/^[0-9a-f]{64}$/),home:y.string().min(1).max(4096),host:y.enum(["claude-code"])}).strict();function bn(e){if(!e)return!1;let t=Date.now()-e.signedAt;return t>=0&&t<=zs()}async function $p(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=pT(hT(e.path));if(!f.isDirectory()||f.uid!==process.getuid?.()||(f.mode&63)!==0)throw new Error("unsafe processing directory")}let n=mT(E()),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=gT(f=>{if(a||s.size>=l){f.destroy();return}s.add(f);let d="prepare",p=null,g=!1,h=0,m=!1,w,_,T=()=>{i-=h,h=0},R=()=>{clearTimeout(_),N.close(),m||T(),d="closed",f.destroy()},D=M=>{clearTimeout(_),_=setTimeout(R,M),_.unref()},A=M=>{f.write(yn(Buffer.from(JSON.stringify(M))))},N=new Es(()=>d==="prepare"?65536:d==="capture"||d==="hook-payload"?20971536:d==="delivery"?1:-1,M=>{if(d==="delivery"){if(M.length!==1||M[0]!==1)throw new Error("invalid delivery receipt");d="accounting",e.onActivity?.(),m=!0;let B=(w?.()??Promise.resolve()).then(()=>{f.destroyed||f.end(yn(Buffer.from([1])))}).catch(()=>R()).finally(()=>{m=!1,f.destroyed&&(T(),s.delete(f)),o.delete(B)});o.add(B);return}if(d==="hook-payload"){let B=e.getRuntime();if(!bn(B)){R();return}let W=JSON.parse(M.toString("utf8"));if(!W||typeof W!="object"||Array.isArray(W))throw new Error("invalid hook payload");e.onActivity?.(),d="processing",m=!0,D(e.processingTimeoutMs??5e3);let U=wp(W,{inferCwd:!1,deferAccounting:K=>{w=K},resolver:async(K,oe)=>{if(!bn(B))throw new Error("expired processing rules");return B.selectFor(K,"pro",oe?[...oe]:void 0)}}).then(K=>{if(f.destroyed)return;let oe=Buffer.from(JSON.stringify({ok:!0,protocol:2,output:K}));if(oe.length>20971536)throw new Error("hook response limit");T(),d="delivery",D(e.processingTimeoutMs??5e3),f.write(yn(oe))}).catch(()=>R()).finally(()=>{m=!1,f.destroyed&&(T(),s.delete(f)),o.delete(U)});o.add(U);return}if(d==="prepare"){let B=JSON.parse(M.toString("utf8"));if(B?.kind==="post-tool-use"){let U=_T.parse(B);if(!qi(r,Buffer.from(U.token,"hex"))||U.version!==e.version||U.home!==n||!bn(e.getRuntime())){R();return}e.onActivity?.(),T(),d="hook-payload",D(e.prepareTimeoutMs??1e3),A({ok:!0,protocol:2});return}if(B?.kind==="pre-tool-use"){let U=kT.parse(B);if(!qi(r,Buffer.from(U.token,"hex"))||U.version!==e.version||U.home!==n){R();return}e.onActivity?.();let K,oe=dn(U.payload,U.host,{recordUsage:(P,st)=>{K={sessionId:P,routed:st}},claudeDirs:{projectDir:U.claudeProjectDir,configDir:U.claudeConfigDir},pathEnv:U.path??"",launchArgs:()=>U.claudePid?or({CLAUDE_PID:U.claudePid}):null}),rt=Buffer.from(JSON.stringify({ok:!0,protocol:2,output:oe}));if(rt.length>1024*1024)throw new Error("hook response limit");w=async()=>{let P=K;K=void 0,P&&ue(P.sessionId,P.routed)},T(),d="delivery",D(e.processingTimeoutMs??5e3),f.write(yn(rt));return}let W=bT.parse(B);if(!qi(r,Buffer.from(W.token,"hex"))||W.version!==e.version||W.home!==n||!bn(e.getRuntime())){R();return}p=W,e.onActivity?.(),g=Ee(),T(),d="capture",D(W.timeoutMs+5e3),A({ok:!0,protocol:2,yolo:g});return}if(d!=="capture"||!p)throw new Error("unexpected processing frame");let se=Rp(M);e.onActivity?.();let te=e.getRuntime();if(!bn(te)){R();return}d="processing",m=!0,D(e.processingTimeoutMs??5e3);let V={},O=yT[p.host];O?V[O]="1":p.host!=="shell"&&(V.TOKMIZER_HOST=p.host),p.sessionId!==void 0&&(V.CLAUDE_CODE_SESSION_ID=p.sessionId),V.TOKMIZER_CCR_DISABLED=p.restoreDisabled?"1":"0",p.restoreMaxBytes!==void 0&&(V.TOKMIZER_CCR_ENTRY_MAX_BYTES=String(p.restoreMaxBytes));let J=ms({...se,argv:p.argv},{env:V,yolo:g,onMissingState:ps,deferAccounting:B=>{w=B},resolver:async(B,W)=>{if(!bn(te))throw new Error("expired processing rules");return te.selectFor(B,"pro",W?[...W]:void 0)}}).then(B=>{if(f.destroyed)return;let W=Buffer.from(B.stdout),U=Buffer.from(B.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",D(e.processingTimeoutMs??5e3),f.write(yn(Buffer.concat([K,W,U])))}).catch(()=>R()).finally(()=>{m=!1,f.destroyed&&(T(),s.delete(f)),o.delete(J)});o.add(J)},M=>{if(i+M>u)throw new Error("processing capacity exceeded");i+=M,h+=M});D(e.prepareTimeoutMs??1e3),f.on("data",M=>{try{N.push(M)}catch{R()}}),f.on("error",R),f.on("close",()=>{m||s.delete(f),R()})});try{await new Promise((f,d)=>{c.once("error",d),c.listen(e.path,()=>{c.off("error",d),f()})}),t||dT(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 Xi(e=ge){return`processing-${e}.json`}function $T(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 Cp(e,t,n="processing.json"){let r=process.platform==="win32",s=ET(E()),o=vs(s,"run");ST(o,{recursive:!0,mode:448});let i=xT(o);if(!i.isDirectory()||!r&&(i.uid!==process.getuid?.()||(i.mode&63)!==0))throw new Error("unsafe processing descriptor directory");let a=Op().slice(0,8),l=r?$T(process.env.USERNAME??"user",ge,a):vs(AT(Tt().path),`p${a}`);if(!r&&Buffer.byteLength(l)>100)throw new Error("processing socket path too long");let u=wT(32).toString("hex"),c=await $p({path:l,token:u,version:ge,getRuntime:e,...t?{onActivity:t}:{}}),f=vs(o,`${n}.${Op()}.tmp`);try{return RT(f,JSON.stringify({protocol:2,version:ge,home:s,path:l,token:u}),{mode:384,flag:"wx"}),vT(f,vs(o,n)),c}catch(d){throw await c.close(),d}finally{TT(f,{force:!0})}}function Ip(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}}Z();Ut();var PT=6e4,NT=5e3,DT=30*6e4;function Pp(){let e=Number(process.env.TOKMIZER_PROCESSOR_IDLE_MS);return Number.isFinite(e)&&e>0?e:DT}async function MT(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(`
149
- `),n=async(r,s)=>e.selectFor(r,"pro",s?[...s]:void 0);for(let r of["ls -la","git status","grep -rn x ."])await Ye(r,t,null,{resolver:n}).catch(()=>null)}function LT(e){try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}function FT(e){for(let t=0;t<2;t+=1)try{return IT(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{let n=Number.NaN;try{n=Number(ta(e,"utf8"))}catch{}if(Number.isInteger(n)&&n>0&&LT(n))return!1;Ts(e,{force:!0})}return!1}function ea(e,t){try{return t(ta(e,"utf8"))}catch{return!1}}async function jT(){let e=Qi(CT(E()),"run");OT(e,{recursive:!0,mode:448});let t=Qi(e,`processor-${ge}.pid`);if(!FT(t))return;let n=Ip(br,Kt,NT),r=Date.now(),s=()=>{r=Date.now()},o=Qi(e,Xi()),i=null,a=null,l=!1,u=()=>{l||(l=!0,(a?.close()??Promise.resolve()).finally(()=>{i&&ea(o,d=>JSON.parse(d).path===i)&&Ts(o,{force:!0}),ea(t,d=>Number(d)===process.pid)&&Ts(t,{force:!0}),process.exit(0)}))};await n.reload();try{a=await Cp(n.current,s,Xi())}catch{Ts(t,{force:!0});return}i=ea(o,()=>!0)?JSON.parse(ta(o,"utf8")).path:null,setInterval(()=>{n.reload()},PT).unref(),setInterval(()=>{(a?.activeConnections()??0)===0&&Date.now()-r>Pp()&&u()},Math.min(6e4,Pp())).unref(),process.on("SIGINT",u),process.on("SIGTERM",u),setImmediate(()=>{MT(n.current())}),setTimeout(()=>{process.title="tkr-processor"},1e3).unref()}jT().catch(()=>process.exit(0));
151
+ `}${an}`:P.output,X;if(P.filteredBytes>=P.rawBytes?X=null:r?X=g(P.output,l):e.tool_name==="Glob"||st.test(P.output)?X=await p(l,la,void 0,{label:Cs}):X=await d(P.droppedTail??null,la,void 0,{raw:l,label:Cs}),r&&X!=null&&(X=Tp(Cp(e.tool_response,X,e.tool_name))),X!=null&&Buffer.byteLength(X,"utf8")>=P.rawBytes&&(X=null),n!=null&&(X==null||X.length>n))return null;let Kp=X==null?P.rawBytes:Buffer.byteLength(X,"utf8"),Is=us().host,ot=A(P.rawBytes,Kp,ls(Is));X!=null&&Ip(ot.raw,ot.filtered);let Vp=e.cwd||(t.inferCwd===!1?void 0:process.cwd()),qp=e.tool_name==="Bash"?"sh":void 0,Ps=t.deferAccounting,ua=!1,ca=async()=>{ua||(ua=!0,await T({cmd:oe,filterId:P.filterId,rawBytes:P.rawBytes,filteredBytes:P.filteredBytes,plan:Z}),D(ot.raw,ot.filtered,void 0,!1,Is,qp,Cs,Vp,M(P)),await R({cmd:oe,tokensSaved:Math.round((ot.raw-ot.filtered)/4),rawTokens:Math.round(ot.raw/4),optimized:P.filterId!=null,telemetryOptIn:V.telemetryOptIn&&(!Ps||(await c()).telemetryOptIn),host:Is}))};return Ps?Ps(ca):await ca(),X}finally{t.resolver||te()}}async function Dp(e,t={}){if(Sp(e,"claude-code")!=="claude-code")return"";let n=await bT(e,t);return n?nT(e,n,sT()??void 0):""}we();we();var Xi=JSON.stringify({permission:"allow"});function Mp(e,t=Te("cursor"),n=ue){if(e.tool_name!=="Shell")return Xi;let r=e.tool_input??{},s=r.command;if(typeof s!="string"||!s)return Xi;let o=typeof r.working_directory=="string"?r.working_directory:void 0,i=nt(s,{host:"cursor",sessionId:e.conversation_id??"unknown",cwd:o},_e()?null:t,n);return i?JSON.stringify({permission:"allow",updated_input:{...r,command:i}}):Xi}we();var vs="{}";function Lp(e,t=Te("gemini-cli"),n=ue){if(e.hook_event_name!=="BeforeTool"||e.tool_name!=="run_shell_command")return vs;let r=e.tool_input??{};if(r.is_background)return vs;let s=r.command;if(typeof s!="string"||!s)return vs;let o=typeof e.cwd=="string"?e.cwd:void 0,i=nt(s,{host:"gemini-cli",sessionId:e.session_id??"unknown",cwd:o},_e()?null:t,n);return i?JSON.stringify({hookSpecificOutput:{tool_input:{command:i}}}):vs}Pe();we();function hn(e,t,n="unknown",r=Te(t),s=ue){return e?nt(e,{host:t,sessionId:n},_e()?null:r,s):null}var kT=new Set(["bash","file_system.bash"]),ea=JSON.stringify({decision:"allow"});function Fp(e,t=(n,r)=>hn(n,"vibe",r)){if(!z(e)||e.hook_event_name!=="pre_tool"||typeof e.tool_name!="string"||!kT.has(e.tool_name))return"";let n=e.tool_input;if(!z(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 jp(e,t=(n,r)=>hn(n,"antigravity",r)){if(!z(e)||!z(e.toolCall)||e.toolCall.name!=="run_command")return ea;let n=e.toolCall.args;if(!z(n)||typeof n.CommandLine!="string"||!n.CommandLine)return ea;let r=t(n.CommandLine,typeof e.conversationId=="string"?e.conversationId:"unknown");return r?JSON.stringify({decision:"allow",overwrite:{CommandLine:r}}):ea}we();var Ue="{}",_T=new Set(["runTerminalCommand","run_in_terminal","Bash","bash"]),wT=["run_in_background","is_background","isBackground"];function Ts(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function xT(e){let t=e.session_id??e.sessionId;return typeof t=="string"&&t?t:"unknown"}function ST(e,t){let n=e.cwd??t.cwd??t.workdir??t.working_directory;return typeof n=="string"&&n?n:void 0}function Rs(e,t,n,r,s){if(!Ts(t)||wT.some(i=>t[i]===!0))return null;let o=t.command;return typeof o!="string"||!o?null:nt(o,{host:e,sessionId:xT(n),cwd:ST(n,t)},_e()?null:r,s)}function yn(e,t){return JSON.stringify({hookSpecificOutput:{hookEventName:"PreToolUse",updatedInput:{...e,command:t}}})}function ET(e){if(Ts(e))return e;if(typeof e!="string")return null;try{let t=JSON.parse(e);return Ts(t)?t:null}catch{return null}}function vT(e,t,n){if(typeof e.tool_name=="string"){if(!_T.has(e.tool_name))return Ue;let o=e.tool_input,i=Rs("copilot",o,e,t,n);return i?yn(o,i):Ue}if(e.toolName!=="bash")return Ue;let r=ET(e.toolArgs),s=Rs("copilot",r,e,t,n);return s?JSON.stringify({modifiedArgs:{...r,command:s}}):Ue}function gn(e,t,n){return(r,s,o)=>{if(r.tool_name!==t)return Ue;let i=r.tool_input,a=Rs(e,i,r,s,o);return a?n(i,a):Ue}}var TT=new Set(["run_terminal_command","Bash","bash"]);function RT(e,t,n){let r=e.toolName??e.tool_name;if(typeof r!="string"||!TT.has(r))return Ue;let s=e.toolInput??e.tool_input,o=Rs("grok",s,e,t,n);return o?yn(s,o):Ue}var AT={copilot:vT,droid:gn("droid","Execute",yn),trae:gn("trae","RunCommand",yn),"qwen-code":gn("qwen-code","run_shell_command",yn),crush:gn("crush","bash",(e,t)=>JSON.stringify({updated_input:{command:t}})),junie:gn("junie","Bash",(e,t)=>JSON.stringify({updatedInput:{...e,command:t}})),zcode:gn("zcode","Bash",yn),grok:RT};function Hp(e,t,n=Te(e),r=ue){return Ts(t)?AT[e](t,n,r):Ue}function bn(e){return _e()?null:Te(e)}function $T(e,t,n={}){let r=n.recordUsage??ue;switch(e){case"claude-code":case"codex":return t.hook_event_name!==void 0&&t.hook_event_name!=="PreToolUse"?"":dp(t,e,bn(e),r,n.claudeDirs??xs(),n.pathEnv??process.env.PATH,n.launchArgs??ar)??"";case"cursor":return Mp(t,bn(e),r);case"gemini-cli":return Lp(t,bn(e),r);case"vibe":return Fp(t,(s,o)=>hn(s,"vibe",o,bn(e),r));case"antigravity":return jp(t,(s,o)=>hn(s,"antigravity",o,bn(e),r));default:return Hp(e,t,bn(e),r)}}function mn(e,t,n={}){let r=Ki(e,t);return r?$T(r,e,n):n.fallback??""}tr();var As=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 kn(e){let t=Buffer.allocUnsafe(4);return t.writeUInt32BE(e.length),Buffer.concat([t,e])}function Bp(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}}we();var DT={"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:""},MT=y.object({protocol:y.literal(2),version:y.string().min(1).max(64),token:y.string().regex(/^[0-9a-f]{64}$/),home:y.string().min(1).max(4096),argv:y.array(y.string().max(32768).refine(e=>!e.includes("\0"))).min(1).max(4096),host:y.enum(yi),sessionId:y.string().max(256).optional(),restoreDisabled:y.boolean(),restoreMaxBytes:y.number().int().positive().max(10485760).optional(),timeoutMs:y.number().int().positive().max(864e5)}).strict(),LT=y.object({kind:y.literal("pre-tool-use"),protocol:y.literal(2),version:y.string().min(1).max(64),token:y.string().regex(/^[0-9a-f]{64}$/),home:y.string().min(1).max(4096),host:y.enum(["claude-code","codex"]),payload:y.record(y.string(),y.unknown()),claudeProjectDir:y.string().min(1).max(4096).optional(),claudeConfigDir:y.string().min(1).max(4096).optional(),path:y.string().min(1).max(32768).optional(),claudePid:y.string().regex(/^[1-9]\d{0,9}$/).optional()}).strict(),FT=y.object({kind:y.literal("post-tool-use"),protocol:y.literal(2),version:y.string().min(1).max(64),token:y.string().regex(/^[0-9a-f]{64}$/),home:y.string().min(1).max(4096),host:y.enum(["claude-code"])}).strict();function _n(e){if(!e)return!1;let t=Date.now()-e.signedAt;return t>=0&&t<=Gs()}async function Up(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=CT(PT(e.path));if(!f.isDirectory()||f.uid!==process.getuid?.()||(f.mode&63)!==0)throw new Error("unsafe processing directory")}let n=IT(E()),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=NT(f=>{if(a||s.size>=l){f.destroy();return}s.add(f);let d="prepare",p=null,g=!1,h=0,m=!1,w,_,T=()=>{i-=h,h=0},R=()=>{clearTimeout(_),N.close(),m||T(),d="closed",f.destroy()},D=M=>{clearTimeout(_),_=setTimeout(R,M),_.unref()},A=M=>{f.write(kn(Buffer.from(JSON.stringify(M))))},N=new As(()=>d==="prepare"?65536:d==="capture"||d==="hook-payload"?20971536:d==="delivery"?1:-1,M=>{if(d==="delivery"){if(M.length!==1||M[0]!==1)throw new Error("invalid delivery receipt");d="accounting",e.onActivity?.(),m=!0;let B=(w?.()??Promise.resolve()).then(()=>{f.destroyed||f.end(kn(Buffer.from([1])))}).catch(()=>R()).finally(()=>{m=!1,f.destroyed&&(T(),s.delete(f)),o.delete(B)});o.add(B);return}if(d==="hook-payload"){let B=e.getRuntime();if(!_n(B)){R();return}let W=JSON.parse(M.toString("utf8"));if(!W||typeof W!="object"||Array.isArray(W))throw new Error("invalid hook payload");e.onActivity?.(),d="processing",m=!0,D(e.processingTimeoutMs??5e3);let U=Dp(W,{inferCwd:!1,deferAccounting:K=>{w=K},resolver:async(K,oe)=>{if(!_n(B))throw new Error("expired processing rules");return B.selectFor(K,"pro",oe?[...oe]:void 0)}}).then(K=>{if(f.destroyed)return;let oe=Buffer.from(JSON.stringify({ok:!0,protocol:2,output:K}));if(oe.length>20971536)throw new Error("hook response limit");T(),d="delivery",D(e.processingTimeoutMs??5e3),f.write(kn(oe))}).catch(()=>R()).finally(()=>{m=!1,f.destroyed&&(T(),s.delete(f)),o.delete(U)});o.add(U);return}if(d==="prepare"){let B=JSON.parse(M.toString("utf8"));if(B?.kind==="post-tool-use"){let U=FT.parse(B);if(!na(r,Buffer.from(U.token,"hex"))||U.version!==e.version||U.home!==n||!_n(e.getRuntime())){R();return}e.onActivity?.(),T(),d="hook-payload",D(e.prepareTimeoutMs??1e3),A({ok:!0,protocol:2});return}if(B?.kind==="pre-tool-use"){let U=LT.parse(B);if(!na(r,Buffer.from(U.token,"hex"))||U.version!==e.version||U.home!==n){R();return}e.onActivity?.();let K,oe=mn(U.payload,U.host,{recordUsage:(P,st)=>{K={sessionId:P,routed:st}},claudeDirs:{projectDir:U.claudeProjectDir,configDir:U.claudeConfigDir},pathEnv:U.path??"",launchArgs:()=>U.claudePid?ar({CLAUDE_PID:U.claudePid}):null}),rt=Buffer.from(JSON.stringify({ok:!0,protocol:2,output:oe}));if(rt.length>1024*1024)throw new Error("hook response limit");w=async()=>{let P=K;K=void 0,P&&ue(P.sessionId,P.routed)},T(),d="delivery",D(e.processingTimeoutMs??5e3),f.write(kn(rt));return}let W=MT.parse(B);if(!na(r,Buffer.from(W.token,"hex"))||W.version!==e.version||W.home!==n||!_n(e.getRuntime())){R();return}p=W,e.onActivity?.(),g=pe(),T(),d="capture",D(W.timeoutMs+5e3),A({ok:!0,protocol:2,yolo:g});return}if(d!=="capture"||!p)throw new Error("unexpected processing frame");let se=Bp(M);e.onActivity?.();let te=e.getRuntime();if(!_n(te)){R();return}d="processing",m=!0,D(e.processingTimeoutMs??5e3);let V={},O=DT[p.host];O?V[O]="1":p.host!=="shell"&&(V.TOKMIZER_HOST=p.host),p.sessionId!==void 0&&(V.CLAUDE_CODE_SESSION_ID=p.sessionId),V.TOKMIZER_CCR_DISABLED=p.restoreDisabled?"1":"0",p.restoreMaxBytes!==void 0&&(V.TOKMIZER_CCR_ENTRY_MAX_BYTES=String(p.restoreMaxBytes));let Z=bs({...se,argv:p.argv},{env:V,yolo:g,onMissingState:ys,deferAccounting:B=>{w=B},resolver:async(B,W)=>{if(!_n(te))throw new Error("expired processing rules");return te.selectFor(B,"pro",W?[...W]:void 0)}}).then(B=>{if(f.destroyed)return;let W=Buffer.from(B.stdout),U=Buffer.from(B.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",D(e.processingTimeoutMs??5e3),f.write(kn(Buffer.concat([K,W,U])))}).catch(()=>R()).finally(()=>{m=!1,f.destroyed&&(T(),s.delete(f)),o.delete(Z)});o.add(Z)},M=>{if(i+M>u)throw new Error("processing capacity exceeded");i+=M,h+=M});D(e.prepareTimeoutMs??1e3),f.on("data",M=>{try{N.push(M)}catch{R()}}),f.on("error",R),f.on("close",()=>{m||s.delete(f),R()})});try{await new Promise((f,d)=>{c.once("error",d),c.listen(e.path,()=>{c.off("error",d),f()})}),t||OT(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 sa(e=ye){return`processing-${e}.json`}function WT(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 Zp(e,t,n="processing.json"){let r=process.platform==="win32",s=zT(E()),o=$s(s,"run");BT(o,{recursive:!0,mode:448});let i=HT(o);if(!i.isDirectory()||!r&&(i.uid!==process.getuid?.()||(i.mode&63)!==0))throw new Error("unsafe processing descriptor directory");let a=Jp().slice(0,8),l=r?WT(process.env.USERNAME??"user",ye,a):$s(GT(Tt().path),`p${a}`);if(!r&&Buffer.byteLength(l)>100)throw new Error("processing socket path too long");let u=jT(32).toString("hex"),c=await Up({path:l,token:u,version:ye,getRuntime:e,...t?{onActivity:t}:{}}),f=$s(o,`${n}.${Jp()}.tmp`);try{return ZT(f,JSON.stringify({protocol:2,version:ye,home:s,path:l,token:u}),{mode:384,flag:"wx"}),UT(f,$s(o,n)),c}catch(d){throw await c.close(),d}finally{JT(f,{force:!0})}}function Gp(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}}J();Zt();var YT=6e4,XT=5e3,QT=30*6e4;function Wp(){let e=Number(process.env.TOKMIZER_PROCESSOR_IDLE_MS);return Number.isFinite(e)&&e>0?e:QT}async function eR(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(`
152
+ `),n=async(r,s)=>e.selectFor(r,"pro",s?[...s]:void 0);for(let r of["ls -la","git status","grep -rn x ."])await Ye(r,t,null,{resolver:n}).catch(()=>null)}function tR(e){try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}function nR(e){for(let t=0;t<2;t+=1)try{return qT(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{let n=Number.NaN;try{n=Number(aa(e,"utf8"))}catch{}if(Number.isInteger(n)&&n>0&&tR(n))return!1;Os(e,{force:!0})}return!1}function ia(e,t){try{return t(aa(e,"utf8"))}catch{return!1}}async function rR(){let e=oa(VT(E()),"run");KT(e,{recursive:!0,mode:448});let t=oa(e,`processor-${ye}.pid`);if(!nR(t))return;let n=Gp(kr,qt,XT),r=Date.now(),s=()=>{r=Date.now()},o=oa(e,sa()),i=null,a=null,l=!1,u=()=>{l||(l=!0,(a?.close()??Promise.resolve()).finally(()=>{i&&ia(o,d=>JSON.parse(d).path===i)&&Os(o,{force:!0}),ia(t,d=>Number(d)===process.pid)&&Os(t,{force:!0}),process.exit(0)}))};await n.reload();try{a=await Zp(n.current,s,sa())}catch{Os(t,{force:!0});return}i=ia(o,()=>!0)?JSON.parse(aa(o,"utf8")).path:null,setInterval(()=>{n.reload()},YT).unref(),setInterval(()=>{(a?.activeConnections()??0)===0&&Date.now()-r>Wp()&&u()},Math.min(6e4,Wp())).unref(),process.on("SIGINT",u),process.on("SIGTERM",u),setImmediate(()=>{eR(n.current())}),setTimeout(()=>{process.title="tkr-processor"},1e3).unref()}rR().catch(()=>process.exit(0));
150
153
  /*! Bundled license information:
151
154
 
152
155
  smol-toml/dist/error.js: